From b4b635f32d9420bca3da2126f28171907b49f3de Mon Sep 17 00:00:00 2001 From: Kelenius Date: Wed, 25 Mar 2015 19:09:10 +0300 Subject: [PATCH 001/305] Chemistry commit I messed something in the git --- baystation12.dme | 7 +- code/__HELPERS/game.dm | 28 + code/_defines/chemical_effects.dm | 7 + code/datums/recipe.dm | 4 +- code/game/dna/dna_modifier.dm | 3 +- code/game/machinery/Sleeper.dm | 4 +- code/game/machinery/bots/farmbot.dm | 7 +- code/game/machinery/bots/medbot.dm | 3 +- code/game/machinery/cryo.dm | 3 +- code/game/machinery/iv_drip.dm | 6 +- code/game/machinery/kitchen/gibber.dm | 2 +- .../mecha/equipment/tools/medical_tools.dm | 6 +- code/game/mecha/equipment/tools/tools.dm | 41 +- .../objects/effects/{ => chem}/chemsmoke.dm | 133 +- code/game/objects/effects/chem/foam.dm | 184 + code/game/objects/effects/chem/water.dm | 50 + code/game/objects/effects/decals/misc.dm | 8 +- code/game/objects/effects/effect_system.dm | 245 - code/game/objects/items/toys.dm | 16 +- .../objects/items/weapons/cigs_lighters.dm | 13 +- .../objects/items/weapons/extinguisher.dm | 87 +- .../items/weapons/grenades/chem_grenade.dm | 2 +- .../objects/items/weapons/implants/implant.dm | 2 +- .../items/weapons/implants/implantcase.dm | 2 +- code/game/objects/items/weapons/kitchen.dm | 2 +- code/game/objects/items/weapons/mop.dm | 4 +- code/game/objects/items/weapons/paint.dm | 7 +- .../objects/items/weapons/storage/fancy.dm | 8 +- code/game/objects/items/weapons/tools.dm | 2 +- .../objects/items/weapons/weldbackpack.dm | 4 +- .../crates_lockers/closets/secure/security.dm | 4 +- code/game/objects/structures/janicart.dm | 4 +- code/game/objects/structures/mop_bucket.dm | 2 +- code/modules/customitems/item_defines.dm | 6 +- .../detectivework/footprints_and_rag.dm | 3 +- code/modules/mob/living/carbon/alien/alien.dm | 4 - code/modules/mob/living/carbon/brain/life.dm | 13 +- code/modules/mob/living/carbon/breathe.dm | 10 +- code/modules/mob/living/carbon/carbon.dm | 18 +- .../mob/living/carbon/carbon_defines.dm | 3 + code/modules/mob/living/carbon/human/human.dm | 4 - .../mob/living/carbon/human/human_movement.dm | 5 +- code/modules/mob/living/carbon/human/life.dm | 17 +- .../modules/mob/living/carbon/metroid/life.dm | 12 +- .../mob/living/carbon/metroid/metroid.dm | 10 - code/modules/mob/living/carbon/monkey/life.dm | 13 +- .../mob/living/carbon/monkey/monkey.dm | 4 - code/modules/mob/living/carbon/shock.dm | 17 +- .../mob/living/silicon/robot/robot_modules.dm | 4 +- code/modules/organs/blood.dm | 21 +- code/modules/organs/organ_internal.dm | 20 +- code/modules/organs/organ_objects.dm | 4 +- code/modules/organs/pain.dm | 14 +- code/modules/paperwork/pen.dm | 4 +- .../projectiles/guns/launcher/syringe_gun.dm | 2 +- .../projectiles/guns/projectile/dartgun.dm | 4 +- code/modules/reagents/Chemistry-Colours.dm | 85 +- code/modules/reagents/Chemistry-Holder.dm | 1035 +- code/modules/reagents/Chemistry-Machinery.dm | 6 +- .../Chemistry-Reagents-Antidepressants.dm | 90 - code/modules/reagents/Chemistry-Reagents.dm | 8436 ++++++++--------- code/modules/reagents/Chemistry-Recipes.dm | 4025 ++++---- code/modules/reagents/reagent_containers.dm | 141 +- .../reagents/reagent_containers/borghydro.dm | 35 +- .../reagents/reagent_containers/dropper.dm | 103 +- .../reagents/reagent_containers/food/cans.dm | 83 +- .../reagent_containers/food/condiment.dm | 83 +- .../reagent_containers/food/drinks.dm | 143 +- .../reagent_containers/food/drinks/bottle.dm | 9 +- .../reagent_containers/food/sandwich.dm | 2 +- .../reagent_containers/food/snacks.dm | 21 +- .../reagents/reagent_containers/glass.dm | 135 +- .../reagent_containers/glass/bottle.dm | 2 +- .../reagents/reagent_containers/hypospray.dm | 31 +- .../reagents/reagent_containers/pill.dm | 55 +- .../reagent_containers/robodropper.dm | 98 - .../reagents/reagent_containers/spray.dm | 119 +- .../reagents/reagent_containers/syringes.dm | 344 +- code/modules/research/circuitprinter.dm | 2 +- code/modules/research/protolathe.dm | 2 +- .../research/xenoarchaeology/chemistry.dm | 69 - .../xenoarchaeology/machinery/coolant.dm | 17 - code/modules/surgery/other.dm | 6 +- code/modules/virus2/antibodies.dm | 4 +- code/modules/virus2/dishincubator.dm | 2 +- code/modules/virus2/effect.dm | 2 +- code/setup.dm | 16 +- maps/exodus-1.dmm | 6 +- 88 files changed, 7327 insertions(+), 8992 deletions(-) create mode 100644 code/_defines/chemical_effects.dm rename code/game/objects/effects/{ => chem}/chemsmoke.dm (57%) create mode 100644 code/game/objects/effects/chem/foam.dm create mode 100644 code/game/objects/effects/chem/water.dm delete mode 100644 code/modules/reagents/Chemistry-Reagents-Antidepressants.dm delete mode 100644 code/modules/reagents/reagent_containers/robodropper.dm diff --git a/baystation12.dme b/baystation12.dme index fbe5aba289..c7d7cff09e 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -32,6 +32,7 @@ #include "code\__HELPERS\type2type.dm" #include "code\__HELPERS\unsorted.dm" #include "code\__HELPERS\vector.dm" +#include "code\_defines\chemical_effects.dm" #include "code\_onclick\adjacent.dm" #include "code\_onclick\ai.dm" #include "code\_onclick\click.dm" @@ -504,7 +505,6 @@ #include "code\game\objects\weapons.dm" #include "code\game\objects\effects\aliens.dm" #include "code\game\objects\effects\bump_teleporter.dm" -#include "code\game\objects\effects\chemsmoke.dm" #include "code\game\objects\effects\effect_system.dm" #include "code\game\objects\effects\explosion_particles.dm" #include "code\game\objects\effects\gibs.dm" @@ -517,6 +517,9 @@ #include "code\game\objects\effects\portals.dm" #include "code\game\objects\effects\spiders.dm" #include "code\game\objects\effects\step_triggers.dm" +#include "code\game\objects\effects\chem\chemsmoke.dm" +#include "code\game\objects\effects\chem\foam.dm" +#include "code\game\objects\effects\chem\water.dm" #include "code\game\objects\effects\decals\cleanable.dm" #include "code\game\objects\effects\decals\contraband.dm" #include "code\game\objects\effects\decals\crayon.dm" @@ -1397,7 +1400,6 @@ #include "code\modules\reagents\Chemistry-Holder.dm" #include "code\modules\reagents\Chemistry-Machinery.dm" #include "code\modules\reagents\Chemistry-Readme.dm" -#include "code\modules\reagents\Chemistry-Reagents-Antidepressants.dm" #include "code\modules\reagents\Chemistry-Reagents.dm" #include "code\modules\reagents\Chemistry-Recipes.dm" #include "code\modules\reagents\reagent_containers.dm" @@ -1415,7 +1417,6 @@ #include "code\modules\reagents\reagent_containers\glass.dm" #include "code\modules\reagents\reagent_containers\hypospray.dm" #include "code\modules\reagents\reagent_containers\pill.dm" -#include "code\modules\reagents\reagent_containers\robodropper.dm" #include "code\modules\reagents\reagent_containers\spray.dm" #include "code\modules\reagents\reagent_containers\syringes.dm" #include "code\modules\reagents\reagent_containers\food\cans.dm" diff --git a/code/__HELPERS/game.dm b/code/__HELPERS/game.dm index 45618f2ffc..e185c42230 100644 --- a/code/__HELPERS/game.dm +++ b/code/__HELPERS/game.dm @@ -430,6 +430,34 @@ datum/projectile_data var/b = mixOneColor(weights, blues) return rgb(r,g,b) +/proc/mixOneColor(var/list/weight, var/list/color) + if (!weight || !color || length(weight)!=length(color)) + return 0 + + var/contents = length(weight) + var/i + + //normalize weights + var/listsum = 0 + for(i=1; i<=contents; i++) + listsum += weight[i] + for(i=1; i<=contents; i++) + weight[i] /= listsum + + //mix them + var/mixedcolor = 0 + for(i=1; i<=contents; i++) + mixedcolor += weight[i]*color[i] + mixedcolor = round(mixedcolor) + + //until someone writes a formal proof for this algorithm, let's keep this in +// if(mixedcolor<0x00 || mixedcolor>0xFF) +// return 0 + //that's not the kind of operation we are running here, nerd + mixedcolor=min(max(mixedcolor,0),255) + + return mixedcolor + /** * Gets the highest and lowest pressures from the tiles in cardinal directions * around us, then checks the difference. diff --git a/code/_defines/chemical_effects.dm b/code/_defines/chemical_effects.dm new file mode 100644 index 0000000000..6119d80cb5 --- /dev/null +++ b/code/_defines/chemical_effects.dm @@ -0,0 +1,7 @@ +#define CE_STABLE "stable" // Inaprovaline +#define CE_ANTIBIOTIC "antibiotic" // Spaceacilin +#define CE_BLOODRESTORE "bloodrestore" // Iron/nutriment +#define CE_PAINKILLER "painkiller" +#define CE_ALCOHOL "alcohol" // Liver filtering +#define CE_ALCOHOL_TOXIC "alcotoxic" // Liver damage +#define CE_SPEEDBOOST "gofast" // Hyperzine \ No newline at end of file diff --git a/code/datums/recipe.dm b/code/datums/recipe.dm index 9c72feef39..7e220141f5 100644 --- a/code/datums/recipe.dm +++ b/code/datums/recipe.dm @@ -94,7 +94,7 @@ /datum/recipe/proc/make(var/obj/container as obj) var/obj/result_obj = new result(container) for (var/obj/O in (container.contents-result_obj)) - O.reagents.trans_to(result_obj, O.reagents.total_volume) + O.reagents.trans_to_obj(result_obj, O.reagents.total_volume) del(O) container.reagents.clear_reagents() return result_obj @@ -109,7 +109,7 @@ if (O.reagents) O.reagents.del_reagent("nutriment") O.reagents.update_total() - O.reagents.trans_to(result_obj, O.reagents.total_volume) + O.reagents.trans_to_obj(result_obj, O.reagents.total_volume) del(O) container.reagents.clear_reagents() return result_obj diff --git a/code/game/dna/dna_modifier.dm b/code/game/dna/dna_modifier.dm index 53086de252..c6ca532bbc 100644 --- a/code/game/dna/dna_modifier.dm +++ b/code/game/dna/dna_modifier.dm @@ -598,8 +598,7 @@ inject_amount = 0 if (inject_amount > 50) inject_amount = 50 - connected.beaker.reagents.trans_to(connected.occupant, inject_amount) - connected.beaker.reagents.reaction(connected.occupant) + connected.beaker.reagents.trans_to_mob(connected.occupant, inject_amount, CHEM_BLOOD) return 1 // return 1 forces an update to all Nano uis attached to src //////////////////////////////////////////////////////// diff --git a/code/game/machinery/Sleeper.dm b/code/game/machinery/Sleeper.dm index 91c96fcfc9..5f2fbae56c 100644 --- a/code/game/machinery/Sleeper.dm +++ b/code/game/machinery/Sleeper.dm @@ -191,10 +191,10 @@ if(beaker.reagents.total_volume < beaker.reagents.maximum_volume) var/pumped = 0 for(var/datum/reagent/x in src.occupant.reagents.reagent_list) - src.occupant.reagents.trans_to(beaker, 3) + src.occupant.reagents.trans_to_obj(beaker, 3) pumped++ if (ishuman(src.occupant)) - src.occupant.vessel.trans_to(beaker, pumped + 1) + src.occupant.vessel.trans_to_obj(beaker, pumped + 1) src.updateUsrDialog() return diff --git a/code/game/machinery/bots/farmbot.dm b/code/game/machinery/bots/farmbot.dm index 4db416e7a6..7878b1e7a1 100644 --- a/code/game/machinery/bots/farmbot.dm +++ b/code/game/machinery/bots/farmbot.dm @@ -466,12 +466,7 @@ var splashAmount = min(70,tank.reagents.total_volume) src.visible_message("\red [src] splashes [target] with a bucket of water!") playsound(src.loc, 'sound/effects/slosh.ogg', 25, 1) - if ( prob(50) ) - tank.reagents.reaction(target, TOUCH) //splash the human! - else - tank.reagents.reaction(target.loc, TOUCH) //splash the human's roots! - spawn(5) - tank.reagents.remove_any(splashAmount) + tank.reagents.splash_mob(target, splashAmount) mode = FARMBOT_MODE_WAITING spawn(FARMBOT_EMAG_DELAY) diff --git a/code/game/machinery/bots/medbot.dm b/code/game/machinery/bots/medbot.dm index fbcb7d448e..5083ce6b97 100644 --- a/code/game/machinery/bots/medbot.dm +++ b/code/game/machinery/bots/medbot.dm @@ -428,8 +428,7 @@ spawn(30) if ((get_dist(src, src.patient) <= 1) && (src.on)) if((reagent_id == "internal_beaker") && (src.reagent_glass) && (src.reagent_glass.reagents.total_volume)) - src.reagent_glass.reagents.trans_to(src.patient,src.injection_amount) //Inject from beaker instead. - src.reagent_glass.reagents.reaction(src.patient, 2) + src.reagent_glass.reagents.trans_to_mob(src.patient, src.injection_amount, CHEM_BLOOD) //Inject from beaker instead. else src.patient.reagents.add_reagent(reagent_id,src.injection_amount) visible_message("\red [src] injects [src.patient] with the syringe!") diff --git a/code/game/machinery/cryo.dm b/code/game/machinery/cryo.dm index a9858742c9..803269a449 100644 --- a/code/game/machinery/cryo.dm +++ b/code/game/machinery/cryo.dm @@ -230,8 +230,7 @@ var/has_clonexa = occupant.reagents.get_reagent_amount("clonexadone") >= 1 var/has_cryo_medicine = has_cryo || has_clonexa if(beaker && !has_cryo_medicine) - beaker.reagents.trans_to(occupant, 1, 10) - beaker.reagents.reaction(occupant) + beaker.reagents.trans_to_mob(occupant, 1, CHEM_BLOOD, 10) /obj/machinery/atmospherics/unary/cryo_cell/proc/heat_gas_contents() if(air_contents.total_moles < 1) diff --git a/code/game/machinery/iv_drip.dm b/code/game/machinery/iv_drip.dm index 63ad92f017..99a2dc6607 100644 --- a/code/game/machinery/iv_drip.dm +++ b/code/game/machinery/iv_drip.dm @@ -32,7 +32,7 @@ if(80 to 90) filling.icon_state = "reagent80" if(91 to INFINITY) filling.icon_state = "reagent100" - filling.icon += mix_color_from_reagents(reagents.reagent_list) + filling.icon += reagents.get_color() overlays += filling /obj/machinery/iv_drip/MouseDrop(over_object, src_location, over_location) @@ -82,11 +82,11 @@ // Give blood if(mode) if(src.beaker.volume > 0) - var/transfer_amount = REAGENTS_METABOLISM + var/transfer_amount = REM if(istype(src.beaker, /obj/item/weapon/reagent_containers/blood)) // speed up transfer on blood packs transfer_amount = 4 - src.beaker.reagents.trans_to(src.attached, transfer_amount) + src.beaker.reagents.trans_to_mob(src.attached, transfer_amount, CHEM_BLOOD) update_icon() // Take blood diff --git a/code/game/machinery/kitchen/gibber.dm b/code/game/machinery/kitchen/gibber.dm index 52c1bdc380..657357542b 100644 --- a/code/game/machinery/kitchen/gibber.dm +++ b/code/game/machinery/kitchen/gibber.dm @@ -210,7 +210,7 @@ new_meat.reagents.add_reagent("nutriment",slab_nutrition) if(src.occupant.reagents) - src.occupant.reagents.trans_to(new_meat, round(occupant.reagents.total_volume/slab_count,1)) + src.occupant.reagents.trans_to_obj(new_meat, round(occupant.reagents.total_volume/slab_count,1)) src.occupant.attack_log += "\[[time_stamp()]\] Was gibbed by [user]/[user.ckey]" //One shall not simply gib a mob unnoticed! user.attack_log += "\[[time_stamp()]\] Gibbed [src.occupant]/[src.occupant.ckey]" diff --git a/code/game/mecha/equipment/tools/medical_tools.dm b/code/game/mecha/equipment/tools/medical_tools.dm index 08d6f2cca4..b25baa024d 100644 --- a/code/game/mecha/equipment/tools/medical_tools.dm +++ b/code/game/mecha/equipment/tools/medical_tools.dm @@ -439,7 +439,7 @@ var/turf/trg = get_turf(target) var/obj/item/weapon/reagent_containers/syringe/S = syringes[1] S.forceMove(get_turf(chassis)) - reagents.trans_to(S, min(S.volume, reagents.total_volume)) + reagents.trans_to_obj(S, min(S.volume, reagents.total_volume)) syringes -= S S.icon = 'icons/obj/chemical.dmi' S.icon_state = "syringeproj" @@ -458,7 +458,7 @@ if(M) S.icon_state = initial(S.icon_state) S.icon = initial(S.icon) - S.reagents.trans_to(M, S.reagents.total_volume) + S.reagents.trans_to_mob(M, S.reagents.total_volume, CHEM_BLOOD) M.take_organ_damage(2) S.visible_message(" [M] was hit by the syringe!") break @@ -587,7 +587,7 @@ if(!(D.CanPass(S,src.loc))) occupant_message("Unable to load syringe.") return 0 - S.reagents.trans_to(src, S.reagents.total_volume) + S.reagents.trans_to_obj(src, S.reagents.total_volume) S.forceMove(src) syringes += S occupant_message("Syringe loaded.") diff --git a/code/game/mecha/equipment/tools/tools.dm b/code/game/mecha/equipment/tools/tools.dm index 130d8d89c8..11cec79139 100644 --- a/code/game/mecha/equipment/tools/tools.dm +++ b/code/game/mecha/equipment/tools/tools.dm @@ -194,7 +194,7 @@ if(do_after_cooldown(target)) if( istype(target, /obj/structure/reagent_dispensers/watertank) && get_dist(chassis,target) <= 1) var/obj/o = target - var/amount = o.reagents.trans_to(src, 200) + var/amount = o.reagents.trans_to_obj(src, 200) occupant_message("\blue [amount] units transferred into internal tank.") playsound(chassis, 'sound/effects/refill.ogg', 50, 1, -6) return @@ -213,29 +213,24 @@ var/list/the_targets = list(T,T1,T2) - for(var/a=0, a<5, a++) + for(var/a = 1 to 5) spawn(0) - var/obj/effect/effect/water/W = new /obj/effect/effect/water( get_turf(chassis) ) - var/turf/my_target = pick(the_targets) - var/datum/reagents/R = new/datum/reagents(5) - if(!W) return - W.reagents = R - R.my_atom = W - if(!W || !src) return - src.reagents.trans_to(W,1) - for(var/b=0, b<5, b++) - step_towards(W,my_target) - if(!W || !W.reagents) return - W.reagents.reaction(get_turf(W)) - for(var/atom/atm in get_turf(W)) - if(!W) - return - if(!W.reagents) - break - W.reagents.reaction(atm) - if(W.loc == my_target) break - sleep(2) - W.delete() + var/obj/effect/effect/water/W = new /obj/effect/effect/water(get_turf(chassis)) + var/turf/my_target + if(a == 1) + my_target = T + else if(a == 2) + my_target = T1 + else if(a == 3) + my_target = T2 + else + my_target = pick(the_targets) + W.create_reagents(5) + if(!src) + return + reagents.trans_to_obj(W, spray_amount) + W.set_color() + W.set_up(my_target) return 1 get_equip_info() diff --git a/code/game/objects/effects/chemsmoke.dm b/code/game/objects/effects/chem/chemsmoke.dm similarity index 57% rename from code/game/objects/effects/chemsmoke.dm rename to code/game/objects/effects/chem/chemsmoke.dm index e64a84c47c..04f3b5d23d 100644 --- a/code/game/objects/effects/chemsmoke.dm +++ b/code/game/objects/effects/chem/chemsmoke.dm @@ -5,13 +5,11 @@ icon = 'icons/effects/chemsmoke.dmi' opacity = 0 time_to_live = 300 - pass_flags = PASSTABLE | PASSGRILLE | PASSGLASS //PASSGLASS is fine here, it's just so the visual effect can "flow" around glass + pass_flags = PASSTABLE | PASSGRILLE | PASSGLASS //PASSGLASS is fine here, it's just so the visual effect can "flow" around glass /obj/effect/effect/smoke/chem/New() ..() - var/datum/reagents/R = new/datum/reagents(500) - reagents = R - R.my_atom = src + create_reagents(500) return /datum/effect/effect/system/smoke_spread/chem @@ -37,21 +35,16 @@ /datum/effect/effect/system/smoke_spread/chem/New() ..() chemholder = new/obj() - var/datum/reagents/R = new/datum/reagents(500) - chemholder.reagents = R - R.my_atom = chemholder + chemholder.create_reagents(500) -//------------------------------------------ //Sets up the chem smoke effect -// // Calculates the max range smoke can travel, then gets all turfs in that view range. // Culls the selected turfs to a (roughly) circle shape, then calls smokeFlow() to make // sure the smoke can actually path to the turfs. This culls any turfs it can't reach. -//------------------------------------------ /datum/effect/effect/system/smoke_spread/chem/set_up(var/datum/reagents/carry = null, n = 10, c = 0, loca, direct) range = n * 0.3 cardinals = c - carry.copy_to(chemholder, carry.total_volume) + carry.trans_to_obj(chemholder, carry.total_volume, copy = 1) if(istype(loca, /turf/)) location = loca @@ -62,28 +55,19 @@ targetTurfs = new() - //build affected area list - for(var/turf/T in view(range, location)) - //cull turfs to circle - if(cheap_pythag(T.x - location.x, T.y - location.y) <= range) + for(var/turf/T in view(range, location)) //build affected area list + if(cheap_pythag(T.x - location.x, T.y - location.y) <= range) //cull turfs to circle targetTurfs += T - //make secondary list for reagents that affect walls - if(chemholder.reagents.has_reagent("thermite") || chemholder.reagents.has_reagent("plantbgone")) - wallList = new() + wallList = new() - //pathing check - smokeFlow(location, targetTurfs, wallList) + smokeFlow() //pathing check //set the density of the cloud - for diluting reagents - density = max(1, targetTurfs.len / 4) //clamp the cloud density minimum to 1 so it cant multiply the reagents + density = max(1, targetTurfs.len / 4) //clamp the cloud density minimum to 1 so it cant multiply the reagents //Admin messaging - var/contained = "" - for(var/reagent in carry.reagent_list) - contained += " [reagent] " - if(contained) - contained = "\[[contained]\]" + var/contained = carry.get_reagents() var/area/A = get_area(location) var/where = "[A.name] | [location.x], [location.y]" @@ -101,61 +85,27 @@ message_admins("A chemical smoke reaction has taken place in ([whereLink]). No associated key.", 0, 1) log_game("A chemical smoke reaction has taken place in ([where])[contained]. No associated key.") - -//------------------------------------------ //Runs the chem smoke effect -// // Spawns damage over time loop for each reagent held in the cloud. // Applies reagents to walls that affect walls (only thermite and plant-b-gone at the moment). // Also calculates target locations to spawn the visual smoke effect on, so the whole area // is covered fairly evenly. -//------------------------------------------ /datum/effect/effect/system/smoke_spread/chem/start() - - if(!location) //kill grenade if it somehow ends up in nullspace + if(!location) return - //reagent application - only run if there are extra reagents in the smoke - if(chemholder.reagents.reagent_list.len) - for(var/datum/reagent/R in chemholder.reagents.reagent_list) - var/proba = 100 - var/runs = 5 + if(chemholder.reagents.reagent_list.len) //reagent application - only run if there are extra reagents in the smoke + for(var/turf/T in wallList) + chemholder.reagents.touch_turf(T) + for(var/turf/T in targetTurfs) + chemholder.reagents.touch_turf(T) + for(var/atom/A in T.contents) + if(istype(A, /obj/effect/effect/smoke/chem) || istype(A, /mob)) + continue + else if(isobj(A)) + chemholder.reagents.touch_obj(A) - //dilute the reagents according to cloud density - R.volume /= density - chemholder.reagents.update_total() - - //apply wall affecting reagents to walls - if(R.id in list("thermite", "plantbgone")) - for(var/turf/T in wallList) - R.reaction_turf(T, R.volume) - - //reagents that should be applied to turfs in a random pattern - if(R.id == "carbon") - proba = 75 - else if(R.id in list("blood", "radium", "uranium")) - proba = 25 - - spawn(0) - for(var/i = 0, i < runs, i++) - for(var/turf/T in targetTurfs) - if(prob(proba)) - R.reaction_turf(T, R.volume) - for(var/atom/A in T.contents) - if(istype(A, /obj/effect/effect/smoke/chem)) //skip the item if it is chem smoke - continue - else if(istype(A, /mob)) - var/dist = cheap_pythag(T.x - location.x, T.y - location.y) - if(!dist) - dist = 1 - R.reaction_mob(A, volume = R.volume / dist) - else if(istype(A, /obj)) - R.reaction_obj(A, R.volume) - sleep(30) - - - //build smoke icon - var/color = mix_color_from_reagents(chemholder.reagents.reagent_list) + var/color = chemholder.reagents.get_color() //build smoke icon var/icon/I if(color) I = icon('icons/effects/chemsmoke.dmi') @@ -163,13 +113,9 @@ else I = icon('icons/effects/96x96.dmi', "smoke") + var/const/arcLength = 2.3559 //distance between each smoke cloud - //distance between each smoke cloud - var/const/arcLength = 2.3559 - - - //calculate positions for smoke coverage - then spawn smoke - for(var/i = 0, i < range, i++) + for(var/i = 0, i < range, i++) //calculate positions for smoke coverage - then spawn smoke var/radius = i * 1.5 if(!radius) spawn(0) @@ -194,25 +140,16 @@ spawn(0) spawnSmoke(T, I, range) -//------------------------------------------ -// Randomizes and spawns the smoke effect. -// Also handles deleting the smoke once the effect is finished. -//------------------------------------------ -/datum/effect/effect/system/smoke_spread/chem/proc/spawnSmoke(var/turf/T, var/icon/I, var/dist = 1, var/obj/effect/effect/smoke/chem/passed_smoke) - - var/obj/effect/effect/smoke/chem/smoke - if(passed_smoke) - smoke = passed_smoke - else - smoke = new(location) +/datum/effect/effect/system/smoke_spread/chem/proc/spawnSmoke(var/turf/T, var/icon/I, var/dist = 1) // Randomizes and spawns the smoke effect. Also handles deleting the smoke once the effect is finished. + var/obj/effect/effect/smoke/chem/smoke = new(location) if(chemholder.reagents.reagent_list.len) - chemholder.reagents.copy_to(smoke, chemholder.reagents.total_volume / dist, safety = 1) //copy reagents to the smoke so mob/breathe() can handle inhaling the reagents + chemholder.reagents.trans_to_obj(smoke, chemholder.reagents.total_volume / dist, copy = 1) //copy reagents to the smoke so mob/breathe() can handle inhaling the reagents smoke.icon = I smoke.layer = 6 smoke.set_dir(pick(cardinal)) - smoke.pixel_x = -32 + rand(-8,8) - smoke.pixel_y = -32 + rand(-8,8) + smoke.pixel_x = -32 + rand(-8, 8) + smoke.pixel_y = -32 + rand(-8, 8) walk_to(smoke, T) smoke.opacity = 1 //switching opacity on after the smoke has spawned, and then sleep(150+rand(0,20)) // turning it off before it is deleted results in cleaner @@ -225,21 +162,15 @@ spores.name = "cloud of [seed.seed_name] [seed.seed_noun]" ..(T, I, dist, spores) -//------------------------------------------ -// Fades out the smoke smoothly using it's alpha variable. -//------------------------------------------ -/datum/effect/effect/system/smoke_spread/chem/proc/fadeOut(var/atom/A, var/frames = 16) +/datum/effect/effect/system/smoke_spread/chem/proc/fadeOut(var/atom/A, var/frames = 16) // Fades out the smoke smoothly using it's alpha variable. var/step = A.alpha / frames for(var/i = 0, i < frames, i++) A.alpha -= step sleep(world.tick_lag) return -//------------------------------------------ -// Smoke pathfinder. Uses a flood fill method based on zones to -// quickly check what turfs the smoke (airflow) can actually reach. -//------------------------------------------ -/datum/effect/effect/system/smoke_spread/chem/proc/smokeFlow() + +/datum/effect/effect/system/smoke_spread/chem/proc/smokeFlow() // Smoke pathfinder. Uses a flood fill method based on zones to quickly check what turfs the smoke (airflow) can actually reach. var/list/pending = new() var/list/complete = new() diff --git a/code/game/objects/effects/chem/foam.dm b/code/game/objects/effects/chem/foam.dm new file mode 100644 index 0000000000..7f9a8f741a --- /dev/null +++ b/code/game/objects/effects/chem/foam.dm @@ -0,0 +1,184 @@ +// Foam +// Similar to smoke, but spreads out more +// metal foams leave behind a foamed metal wall + +/obj/effect/effect/foam + name = "foam" + icon_state = "foam" + opacity = 0 + anchored = 1 + density = 0 + layer = OBJ_LAYER + 0.9 + mouse_opacity = 0 + animate_movement = 0 + var/amount = 3 + var/expand = 1 + var/metal = 0 + +/obj/effect/effect/foam/New(var/loc, var/ismetal = 0) + ..(loc) + icon_state = "[ismetal? "m" : ""]foam" + metal = ismetal + playsound(src, 'sound/effects/bubbles2.ogg', 80, 1, -3) + spawn(3 + metal * 3) + process() + checkReagents() + spawn(120) + processing_objects.Remove(src) + sleep(30) + if(metal) + var/obj/structure/foamedmetal/M = new(src.loc) + M.metal = metal + M.updateicon() + flick("[icon_state]-disolve", src) + sleep(5) + delete() + return + +/obj/effect/effect/foam/proc/checkReagents() // transfer any reagents to the floor + if(!metal && reagents) + var/turf/T = get_turf(src) + reagents.touch_turf(T) + +/obj/effect/effect/foam/process() + if(--amount < 0) + return + + for(var/direction in cardinal) + var/turf/T = get_step(src, direction) + if(!T) + continue + + if(!T.Enter(src)) + continue + + var/obj/effect/effect/foam/F = locate() in T + if(F) + continue + + F = new(T, metal) + F.amount = amount + if(!metal) + F.create_reagents(10) + if(reagents) + for(var/datum/reagent/R in reagents.reagent_list) + F.reagents.add_reagent(R.id, 1, safety = 1) //added safety check since reagents in the foam have already had a chance to react + +/obj/effect/effect/foam/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume) // foam disolves when heated, except metal foams + if(!metal && prob(max(0, exposed_temperature - 475))) + flick("[icon_state]-disolve", src) + + spawn(5) + delete() + +/obj/effect/effect/foam/Crossed(var/atom/movable/AM) + if(metal) + return + if(istype(AM, /mob/living)) + var/mob/living/M = AM + M.slip("the foam", 6) + +/datum/effect/effect/system/foam_spread + var/amount = 5 // the size of the foam spread. + var/list/carried_reagents // the IDs of reagents present when the foam was mixed + var/metal = 0 // 0 = foam, 1 = metalfoam, 2 = ironfoam + +/datum/effect/effect/system/foam_spread/set_up(amt=5, loca, var/datum/reagents/carry = null, var/metalfoam = 0) + amount = round(sqrt(amt / 3), 1) + if(istype(loca, /turf/)) + location = loca + else + location = get_turf(loca) + + carried_reagents = list() + metal = metalfoam + + // bit of a hack here. Foam carries along any reagent also present in the glass it is mixed with (defaults to water if none is present). Rather than actually transfer the reagents, this makes a list of the reagent ids and spawns 1 unit of that reagent when the foam disolves. + + if(carry && !metal) + for(var/datum/reagent/R in carry.reagent_list) + carried_reagents += R.id + +/datum/effect/effect/system/foam_spread/start() + spawn(0) + var/obj/effect/effect/foam/F = locate() in location + if(F) + F.amount += amount + return + + F = new(location, metal) + F.amount = amount + + if(!metal) // don't carry other chemicals if a metal foam + F.create_reagents(10) + + if(carried_reagents) + for(var/id in carried_reagents) + F.reagents.add_reagent(id, 1, safety = 1) //makes a safety call because all reagents should have already reacted anyway + else + F.reagents.add_reagent("water", 1, safety = 1) + +// wall formed by metal foams, dense and opaque, but easy to break + +/obj/structure/foamedmetal + icon = 'icons/effects/effects.dmi' + icon_state = "metalfoam" + density = 1 + opacity = 1 // changed in New() + anchored = 1 + name = "foamed metal" + desc = "A lightweight foamed metal wall." + var/metal = 1 // 1 = aluminum, 2 = iron + +/obj/structure/foamedmetal/New() + ..() + update_nearby_tiles(1) + +/obj/structure/foamedmetal/Del() + density = 0 + update_nearby_tiles(1) + ..() + +/obj/structure/foamedmetal/proc/updateicon() + if(metal == 1) + icon_state = "metalfoam" + else + icon_state = "ironfoam" + +/obj/structure/foamedmetal/ex_act(severity) + del(src) + +/obj/structure/foamedmetal/blob_act() + del(src) + +/obj/structure/foamedmetal/bullet_act() + if(metal == 1 || prob(50)) + del(src) + +/obj/structure/foamedmetal/attack_hand(var/mob/user) + if ((HULK in user.mutations) || (prob(75 - metal * 25))) + user.visible_message("[user] smashes through the foamed metal.", "You smash through the metal foam wall.") + del(src) + else + user << "You hit the metal foam but bounce off it." + return + +/obj/structure/foamedmetal/attackby(var/obj/item/I, var/mob/user) + if(istype(I, /obj/item/weapon/grab)) + var/obj/item/weapon/grab/G = I + G.affecting.loc = src.loc + visible_message("[G.assailant] smashes [G.affecting] through the foamed metal wall.") + del(I) + del(src) + return + + if(prob(I.force * 20 - metal * 25)) + user.visible_message("[user] smashes through the foamed metal.", "You smash through the foamed metal with \the [I].") + del(src) + else + user << "You hit the metal foam to no effect." + +/obj/structure/foamedmetal/CanPass(atom/movable/mover, turf/target, height=1.5, air_group = 0) + if(air_group) + return 0 + return !density \ No newline at end of file diff --git a/code/game/objects/effects/chem/water.dm b/code/game/objects/effects/chem/water.dm new file mode 100644 index 0000000000..e164b20b60 --- /dev/null +++ b/code/game/objects/effects/chem/water.dm @@ -0,0 +1,50 @@ +/obj/effect/effect/water + name = "water" + icon = 'icons/effects/effects.dmi' + icon_state = "extinguish" + mouse_opacity = 0 + +/obj/effect/effect/water/New(loc) + ..() + spawn(150) // In case whatever made it forgets to delete it + if(src) + delete() + +/obj/effect/effect/water/proc/set_color() // Call it after you move reagents to it + icon += reagents.get_color() + +/obj/effect/effect/water/proc/set_up(var/turf/target, var/step_count = 5, var/delay = 5) + if(!target) + return + for(var/i = 1 to step_count) + step_towards(src, target) + var/turf/T = get_turf(src) + reagents.touch_turf(T) + var/mob/M = locate() in T + if(M) + reagents.splash_mob(M, reagents.total_volume) + break + for(var/atom/A in T) + reagents.touch(A) + if(T == get_turf(target)) + break + sleep(delay) + sleep(10) + delete() + +/obj/effect/effect/water/Move(turf/newloc) + if(newloc.density) + return 0 + . = ..() + +/obj/effect/effect/water/Bump(atom/A) + if(reagents) + reagents.touch(A) + return ..() + +//Used by spraybottles. +/obj/effect/effect/water/chempuff + name = "chemicals" + icon = 'icons/obj/chempuff.dmi' + icon_state = "" + pass_flags = PASSTABLE | PASSGRILLE \ No newline at end of file diff --git a/code/game/objects/effects/decals/misc.dm b/code/game/objects/effects/decals/misc.dm index 7734989150..964a1301b8 100644 --- a/code/game/objects/effects/decals/misc.dm +++ b/code/game/objects/effects/decals/misc.dm @@ -11,10 +11,4 @@ /obj/effect/decal/spraystill density = 0 anchored = 1 - layer = 50 - -//Used by spraybottles. -/obj/effect/decal/chempuff - name = "chemicals" - icon = 'icons/obj/chempuff.dmi' - pass_flags = PASSTABLE | PASSGRILLE \ No newline at end of file + layer = 50 \ No newline at end of file diff --git a/code/game/objects/effects/effect_system.dm b/code/game/objects/effects/effect_system.dm index ea9af2f70f..9182204fe3 100644 --- a/code/game/objects/effects/effect_system.dm +++ b/code/game/objects/effects/effect_system.dm @@ -13,36 +13,12 @@ would spawn and follow the beaker, even if it is carried or thrown. unacidable = 1//So effect are not targeted by alien acid. pass_flags = PASSTABLE | PASSGRILLE -/obj/effect/effect/water - name = "water" - icon = 'icons/effects/effects.dmi' - icon_state = "extinguish" - var/life = 15.0 - mouse_opacity = 0 - /obj/effect/proc/delete() loc = null if(reagents) reagents.delete() return -/obj/effect/effect/water/Move(turf/newloc) - //var/turf/T = src.loc - //if (istype(T, /turf)) - // T.firelevel = 0 //TODO: FIX - if (--src.life < 1) - //SN src = null - delete() - if(newloc.density) - return 0 - .=..() - -/obj/effect/effect/water/Bump(atom/A) - if(reagents) - reagents.reaction(A) - return ..() - - /datum/effect/effect/system var/number = 3 var/cardinals = 0 @@ -482,227 +458,6 @@ steam.start() -- spawns the effect src.processing = 0 src.on = 0 - - -// Foam -// Similar to smoke, but spreads out more -// metal foams leave behind a foamed metal wall - -/obj/effect/effect/foam - name = "foam" - icon_state = "foam" - opacity = 0 - anchored = 1 - density = 0 - layer = OBJ_LAYER + 0.9 - mouse_opacity = 0 - var/amount = 3 - var/expand = 1 - animate_movement = 0 - var/metal = 0 - - -/obj/effect/effect/foam/New(loc, var/ismetal=0) - ..(loc) - icon_state = "[ismetal ? "m":""]foam" - metal = ismetal - playsound(src, 'sound/effects/bubbles2.ogg', 80, 1, -3) - spawn(3 + metal*3) - process() - checkReagents() - spawn(120) - processing_objects.Remove(src) - sleep(30) - - if(metal) - var/obj/structure/foamedmetal/M = new(src.loc) - M.metal = metal - M.updateicon() - - flick("[icon_state]-disolve", src) - sleep(5) - delete() - return - -// transfer any reagents to the floor -/obj/effect/effect/foam/proc/checkReagents() - if(!metal && reagents) - for(var/atom/A in src.loc.contents) - if(A == src) - continue - reagents.reaction(A, 1, 1) - -/obj/effect/effect/foam/process() - if(--amount < 0) - return - - - for(var/direction in cardinal) - - - var/turf/T = get_step(src,direction) - if(!T) - continue - - if(!T.Enter(src)) - continue - - var/obj/effect/effect/foam/F = locate() in T - if(F) - continue - - F = new(T, metal) - F.amount = amount - if(!metal) - F.create_reagents(10) - if (reagents) - for(var/datum/reagent/R in reagents.reagent_list) - F.reagents.add_reagent(R.id, 1, safety = 1) //added safety check since reagents in the foam have already had a chance to react - -// foam disolves when heated -// except metal foams -/obj/effect/effect/foam/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume) - if(!metal && prob(max(0, exposed_temperature - 475))) - flick("[icon_state]-disolve", src) - - spawn(5) - delete() - - -/obj/effect/effect/foam/Crossed(var/atom/movable/AM) - if(metal) - return - if(istype(AM, /mob/living)) - var/mob/living/M = AM - M.slip("the foam",6) - -/datum/effect/effect/system/foam_spread - var/amount = 5 // the size of the foam spread. - var/list/carried_reagents // the IDs of reagents present when the foam was mixed - var/metal = 0 // 0=foam, 1=metalfoam, 2=ironfoam - - - - - set_up(amt=5, loca, var/datum/reagents/carry = null, var/metalfoam = 0) - amount = round(sqrt(amt / 3), 1) - if(istype(loca, /turf/)) - location = loca - else - location = get_turf(loca) - - carried_reagents = list() - metal = metalfoam - - - // bit of a hack here. Foam carries along any reagent also present in the glass it is mixed - // with (defaults to water if none is present). Rather than actually transfer the reagents, - // this makes a list of the reagent ids and spawns 1 unit of that reagent when the foam disolves. - - - if(carry && !metal) - for(var/datum/reagent/R in carry.reagent_list) - carried_reagents += R.id - - start() - spawn(0) - var/obj/effect/effect/foam/F = locate() in location - if(F) - F.amount += amount - return - - F = new(src.location, metal) - F.amount = amount - - if(!metal) // don't carry other chemicals if a metal foam - F.create_reagents(10) - - if(carried_reagents) - for(var/id in carried_reagents) - F.reagents.add_reagent(id, 1, null, 1) //makes a safety call because all reagents should have already reacted anyway - else - F.reagents.add_reagent("water", 1, safety = 1) - -// wall formed by metal foams -// dense and opaque, but easy to break - -/obj/structure/foamedmetal - icon = 'icons/effects/effects.dmi' - icon_state = "metalfoam" - density = 1 - opacity = 1 // changed in New() - anchored = 1 - name = "foamed metal" - desc = "A lightweight foamed metal wall." - var/metal = 1 // 1=aluminum, 2=iron - - New() - ..() - update_nearby_tiles(1) - - - - Del() - - density = 0 - update_nearby_tiles(1) - ..() - - proc/updateicon() - if(metal == 1) - icon_state = "metalfoam" - else - icon_state = "ironfoam" - - - ex_act(severity) - del(src) - - blob_act() - del(src) - - bullet_act() - if(metal==1 || prob(50)) - del(src) - - attack_hand(var/mob/user) - if ((HULK in user.mutations) || (prob(75 - metal*25))) - user << "\blue You smash through the metal foam wall." - for(var/mob/O in oviewers(user)) - if ((O.client && !( O.blinded ))) - O << "\red [user] smashes through the foamed metal." - - del(src) - else - user << "\blue You hit the metal foam but bounce off it." - return - - - attackby(var/obj/item/I, var/mob/user) - - if (istype(I, /obj/item/weapon/grab)) - var/obj/item/weapon/grab/G = I - G.affecting.loc = src.loc - for(var/mob/O in viewers(src)) - if (O.client) - O << "\red [G.assailant] smashes [G.affecting] through the foamed metal wall." - del(I) - del(src) - return - - if(prob(I.force*20 - metal*25)) - user << "\blue You smash through the foamed metal with \the [I]." - for(var/mob/O in oviewers(user)) - if ((O.client && !( O.blinded ))) - O << "\red [user] smashes through the foamed metal." - del(src) - else - user << "\blue You hit the metal foam to no effect." - - CanPass(atom/movable/mover, turf/target, height=1.5, air_group = 0) - if(air_group) return 0 - return !density - /datum/effect/effect/system/reagents_explosion var/amount // TNT equivalent var/flashing = 0 // does explosion creates flash effect? diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index 0baff58a85..5fbebf9b6b 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -48,7 +48,7 @@ /obj/item/toy/balloon/afterattack(atom/A as mob|obj, mob/user as mob, proximity) if(!proximity) return if (istype(A, /obj/structure/reagent_dispensers/watertank) && get_dist(src,A) <= 1) - A.reagents.trans_to(src, 10) + A.reagents.trans_to_obj(src, 10) user << "\blue You fill the balloon with the contents of [A]." src.desc = "A translucent balloon with some form of liquid sloshing around in it." src.update_icon() @@ -62,21 +62,21 @@ else if(O.reagents.total_volume >= 1) if(O.reagents.has_reagent("pacid", 1)) user << "The acid chews through the balloon!" - O.reagents.reaction(user) + O.reagents.splash_mob(user, reagents.total_volume) del(src) else src.desc = "A translucent balloon with some form of liquid sloshing around in it." user << "\blue You fill the balloon with the contents of [O]." - O.reagents.trans_to(src, 10) + O.reagents.trans_to_obj(src, 10) src.update_icon() return /obj/item/toy/balloon/throw_impact(atom/hit_atom) if(src.reagents.total_volume >= 1) src.visible_message("\red The [src] bursts!","You hear a pop and a splash.") - src.reagents.reaction(get_turf(hit_atom)) + src.reagents.touch_turf(get_turf(hit_atom)) for(var/atom/A in get_turf(hit_atom)) - src.reagents.reaction(A) + src.reagents.touch(A) src.icon_state = "burst" spawn(5) if(src) @@ -482,15 +482,15 @@ D.icon = 'icons/obj/chemical.dmi' D.icon_state = "chempuff" D.create_reagents(5) - src.reagents.trans_to(D, 1) + src.reagents.trans_to_obj(D, 1) playsound(src.loc, 'sound/effects/spray3.ogg', 50, 1, -6) spawn(0) for(var/i=0, i<1, i++) step_towards(D,A) - D.reagents.reaction(get_turf(D)) + D.reagents.touch_turf(get_turf(D)) for(var/atom/T in get_turf(D)) - D.reagents.reaction(T) + D.reagents.touch(T) if(ismob(T) && T:client) T:client << "\red [user] has sprayed you with water!" sleep(4) diff --git a/code/game/objects/items/weapons/cigs_lighters.dm b/code/game/objects/items/weapons/cigs_lighters.dm index 67e322496c..580033e63c 100644 --- a/code/game/objects/items/weapons/cigs_lighters.dm +++ b/code/game/objects/items/weapons/cigs_lighters.dm @@ -114,10 +114,9 @@ CIGARETTE PACKETS ARE IN FANCY.DM if(H.species.flags & IS_SYNTHETIC) return - reagents.trans_to(C, REAGENTS_METABOLISM, 0.2) // Most of it is not inhaled... balance reasons. - reagents.reaction(C) + reagents.trans_to_mob(C, REM, CHEM_INGEST, 0.2) // Most of it is not inhaled... balance reasons. else // else just remove some of the reagents - reagents.remove_any(REAGENTS_METABOLISM) + reagents.remove_any(REM) /obj/item/clothing/mask/smokable/proc/light(var/flavor_text = "[usr] lights the [name].") if(!src.lit) @@ -176,7 +175,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM M.update_inv_l_hand(0) M.update_inv_r_hand(1) processing_objects.Remove(src) - + /obj/item/clothing/mask/smokable/attackby(obj/item/weapon/W as obj, mob/user as mob) ..() if(isflamesource(W)) @@ -221,7 +220,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM if(istype(W, /obj/item/weapon/melee/energy/sword)) var/obj/item/weapon/melee/energy/sword/S = W if(S.active) - light("[user] swings their [W], barely missing their nose. They light their [name] in the process.") + light("[user] swings their [W], barely missing their nose. They light their [name] in the process.") return @@ -230,7 +229,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM if(!proximity) return if(istype(glass)) //you can dip cigarettes into beakers - var/transfered = glass.reagents.trans_to(src, chem_volume) + var/transfered = glass.reagents.trans_to_obj(src, chem_volume) if(transfered) //if reagents were transfered, show the message user << "You dip \the [src] into \the [glass]." else //if not, either the beaker was empty, or the cigarette was full @@ -375,7 +374,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM return smoketime = 1000 if(G.reagents) - G.reagents.trans_to(src, G.reagents.total_volume) + G.reagents.trans_to_obj(src, G.reagents.total_volume) name = "[G.name]-packed [initial(name)]" del(G) diff --git a/code/game/objects/items/weapons/extinguisher.dm b/code/game/objects/items/weapons/extinguisher.dm index 4408e998ce..66b08e73f1 100644 --- a/code/game/objects/items/weapons/extinguisher.dm +++ b/code/game/objects/items/weapons/extinguisher.dm @@ -31,15 +31,11 @@ w_class = 2.0 force = 3.0 max_water = 60 - spray_particles = 6 - spray_amount = 2 sprite_name = "miniFE" /obj/item/weapon/extinguisher/New() - var/datum/reagents/R = new/datum/reagents(max_water) - reagents = R - R.my_atom = src - R.add_reagent("water", max_water) + create_reagents(max_water) + reagents.add_reagent("water", max_water) /obj/item/weapon/extinguisher/examine(mob/user) if(..(user, 0)) @@ -53,19 +49,19 @@ user << "The safety is [safety ? "on" : "off"]." return -/obj/item/weapon/extinguisher/afterattack(atom/target, mob/user , flag) +/obj/item/weapon/extinguisher/afterattack(var/atom/target, var/mob/user, var/flag) //TODO; Add support for reagents in water. - if( istype(target, /obj/structure/reagent_dispensers/watertank) && get_dist(src,target) <= 1) + if( istype(target, /obj/structure/reagent_dispensers/watertank) && flag) var/obj/o = target - var/amount = o.reagents.trans_to(src, 50) - user << "\blue You fill [src] with [amount] units of the contents of [target]." + var/amount = o.reagents.trans_to_obj(src, 50) + user << "You fill [src] with [amount] units of the contents of [target]." playsound(src.loc, 'sound/effects/refill.ogg', 50, 1, -6) return if (!safety) if (src.reagents.total_volume < 1) - usr << "\red \The [src] is empty." + usr << "\The [src] is empty." return if (world.time < src.last_use + 20) @@ -77,35 +73,35 @@ var/direction = get_dir(src,target) - if(usr.buckled && isobj(usr.buckled) && !usr.buckled.anchored ) + if(user.buckled && isobj(user.buckled) && !user.buckled.anchored ) spawn(0) var/obj/structure/bed/chair/C = null - if(istype(usr.buckled, /obj/structure/bed/chair)) - C = usr.buckled - var/obj/B = usr.buckled + if(istype(user.buckled, /obj/structure/bed/chair)) + C = user.buckled + var/obj/B = user.buckled var/movementdirection = turn(direction,180) if(C) C.propelled = 4 - B.Move(get_step(usr,movementdirection), movementdirection) + B.Move(get_step(user,movementdirection), movementdirection) sleep(1) - B.Move(get_step(usr,movementdirection), movementdirection) + B.Move(get_step(user,movementdirection), movementdirection) if(C) C.propelled = 3 sleep(1) - B.Move(get_step(usr,movementdirection), movementdirection) + B.Move(get_step(user,movementdirection), movementdirection) sleep(1) - B.Move(get_step(usr,movementdirection), movementdirection) + B.Move(get_step(user,movementdirection), movementdirection) if(C) C.propelled = 2 sleep(2) - B.Move(get_step(usr,movementdirection), movementdirection) + B.Move(get_step(user,movementdirection), movementdirection) if(C) C.propelled = 1 sleep(2) - B.Move(get_step(usr,movementdirection), movementdirection) + B.Move(get_step(user,movementdirection), movementdirection) if(C) C.propelled = 0 sleep(3) - B.Move(get_step(usr,movementdirection), movementdirection) + B.Move(get_step(user,movementdirection), movementdirection) sleep(3) - B.Move(get_step(usr,movementdirection), movementdirection) + B.Move(get_step(user,movementdirection), movementdirection) sleep(3) - B.Move(get_step(usr,movementdirection), movementdirection) + B.Move(get_step(user,movementdirection), movementdirection) var/turf/T = get_turf(target) var/turf/T1 = get_step(T,turn(direction, 90)) @@ -113,33 +109,24 @@ var/list/the_targets = list(T,T1,T2) - for(var/a=0, a < spray_particles, a++) + for(var/a = 1 to spray_particles) spawn(0) - var/obj/effect/effect/water/W = new /obj/effect/effect/water( get_turf(src) ) - var/turf/my_target = pick(the_targets) - var/datum/reagents/R = new/datum/reagents(spray_amount) - if(!W) return - W.reagents = R - R.my_atom = W - if(!W || !src) return - src.reagents.trans_to(W, spray_amount) - - for(var/b=0, b<5, b++) - step_towards(W,my_target) - if(!W || !W.reagents) return - W.reagents.reaction(get_turf(W)) - for(var/atom/atm in get_turf(W)) - if(!W) - return - if(!W.reagents) - break - W.reagents.reaction(atm) - if(isliving(atm)) //For extinguishing mobs on fire - var/mob/living/M = atm - M.ExtinguishMob() - if(W.loc == my_target) break - sleep(2) - W.delete() + var/obj/effect/effect/water/W = new /obj/effect/effect/water(get_turf(src)) + var/turf/my_target + if(a == 1) + my_target = T + else if(a == 2) + my_target = T1 + else if(a == 3) + my_target = T2 + else + my_target = pick(the_targets) + W.create_reagents(spray_amount) + if(!src) + return + reagents.trans_to_obj(W, spray_amount) + W.set_color() + W.set_up(my_target) if((istype(usr.loc, /turf/space)) || (usr.lastarea.has_gravity == 0)) user.inertia_dir = get_dir(target, user) diff --git a/code/game/objects/items/weapons/grenades/chem_grenade.dm b/code/game/objects/items/weapons/grenades/chem_grenade.dm index bb440d1215..a6bf75ee3a 100644 --- a/code/game/objects/items/weapons/grenades/chem_grenade.dm +++ b/code/game/objects/items/weapons/grenades/chem_grenade.dm @@ -158,7 +158,7 @@ for(var/atom/A in view(affected_area, src.loc)) if( A == src ) continue - src.reagents.reaction(A, 1, 10) + src.reagents.touch(A) if(istype(loc, /mob/living/carbon)) //drop dat grenade if it goes off in your hand var/mob/living/carbon/C = loc diff --git a/code/game/objects/items/weapons/implants/implant.dm b/code/game/objects/items/weapons/implants/implant.dm index c7c7e762ab..a912c17e64 100644 --- a/code/game/objects/items/weapons/implants/implant.dm +++ b/code/game/objects/items/weapons/implants/implant.dm @@ -291,7 +291,7 @@ the implant may become unstable and either pre-maturely inject the subject or si activate(var/cause) if((!cause) || (!src.imp_in)) return 0 var/mob/living/carbon/R = src.imp_in - src.reagents.trans_to(R, cause) + src.reagents.trans_to_mob(R, cause, CHEM_BLOOD) R << "You hear a faint *beep*." if(!src.reagents.total_volume) R << "You hear a faint click from your chest." diff --git a/code/game/objects/items/weapons/implants/implantcase.dm b/code/game/objects/items/weapons/implants/implantcase.dm index 00ce8a7950..2c581fc85e 100644 --- a/code/game/objects/items/weapons/implants/implantcase.dm +++ b/code/game/objects/items/weapons/implants/implantcase.dm @@ -38,7 +38,7 @@ user << "\red [src] is full." else spawn(5) - I.reagents.trans_to(src.imp, 5) + I.reagents.trans_to_mob(src.imp, 5) user << "\blue You inject 5 units of the solution. The syringe now contains [I.reagents.total_volume] units." else if (istype(I, /obj/item/weapon/implanter)) var/obj/item/weapon/implanter/M = I diff --git a/code/game/objects/items/weapons/kitchen.dm b/code/game/objects/items/weapons/kitchen.dm index 66d8c6d01b..637d87d33d 100644 --- a/code/game/objects/items/weapons/kitchen.dm +++ b/code/game/objects/items/weapons/kitchen.dm @@ -49,7 +49,7 @@ return ..() if (reagents.total_volume > 0) - reagents.trans_to_ingest(M, reagents.total_volume) + reagents.trans_to_mob(M, reagents.total_volume, CHEM_INGEST) if(M == user) for(var/mob/O in viewers(M, null)) O.show_message(text("\blue [] eats some [] from \the [].", user, loaded, src), 1) diff --git a/code/game/objects/items/weapons/mop.dm b/code/game/objects/items/weapons/mop.dm index fe9945f8f0..e02fd93089 100644 --- a/code/game/objects/items/weapons/mop.dm +++ b/code/game/objects/items/weapons/mop.dm @@ -25,9 +25,7 @@ for(var/obj/effect/O in src) if(istype(O,/obj/effect/rune) || istype(O,/obj/effect/decal/cleanable) || istype(O,/obj/effect/overlay)) del(O) - source.reagents.reaction(src, TOUCH, 10) //10 is the multiplier for the reaction effect. probably needed to wet the floor properly. - source.reagents.remove_any(1) //reaction() doesn't use up the reagents - + source.reagents.trans_to_turf(src, 1, 10) //10 is the multiplier for the reaction effect. probably needed to wet the floor properly. /obj/item/weapon/mop/afterattack(atom/A, mob/user, proximity) if(!proximity) return diff --git a/code/game/objects/items/weapons/paint.dm b/code/game/objects/items/weapons/paint.dm index 77f8172f8f..602e0e7abc 100644 --- a/code/game/objects/items/weapons/paint.dm +++ b/code/game/objects/items/weapons/paint.dm @@ -20,11 +20,8 @@ var/global/list/cached_icons = list() afterattack(turf/simulated/target, mob/user, proximity) if(!proximity) return if(istype(target) && reagents.total_volume > 5) - for(var/mob/O in viewers(user)) - O.show_message("\red \The [target] has been splashed with something by [user]!", 1) - spawn(5) - reagents.reaction(target, TOUCH) - reagents.remove_any(5) + user.visible_message("\The [target] has been splashed with something by [user]!") + reagents.trans_to_turf(target, 5) else return ..() diff --git a/code/game/objects/items/weapons/storage/fancy.dm b/code/game/objects/items/weapons/storage/fancy.dm index 7af6e3b16e..1a00530932 100644 --- a/code/game/objects/items/weapons/storage/fancy.dm +++ b/code/game/objects/items/weapons/storage/fancy.dm @@ -158,7 +158,7 @@ /obj/item/weapon/storage/fancy/cigarettes/remove_from_storage(obj/item/W as obj, atom/new_location) var/obj/item/clothing/mask/smokable/cigarette/C = W if(!istype(C)) return // what - reagents.trans_to(C, (reagents.total_volume/contents.len)) + reagents.trans_to_obj(C, (reagents.total_volume/contents.len)) ..() /obj/item/weapon/storage/fancy/cigarettes/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob) @@ -167,7 +167,7 @@ if(M == user && user.zone_sel.selecting == "mouth" && contents.len > 0 && !user.wear_mask) var/obj/item/clothing/mask/smokable/cigarette/W = new /obj/item/clothing/mask/smokable/cigarette(user) - reagents.trans_to(W, (reagents.total_volume/contents.len)) + reagents.trans_to_obj(W, (reagents.total_volume/contents.len)) user.equip_to_slot_if_possible(W, slot_wear_mask) reagents.maximum_volume = 15 * contents.len contents.len-- @@ -213,7 +213,7 @@ /obj/item/weapon/storage/fancy/cigar/remove_from_storage(obj/item/W as obj, atom/new_location) var/obj/item/clothing/mask/smokable/cigarette/cigar/C = W if(!istype(C)) return - reagents.trans_to(C, (reagents.total_volume/contents.len)) + reagents.trans_to_obj(C, (reagents.total_volume/contents.len)) ..() /obj/item/weapon/storage/fancy/cigar/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob) @@ -222,7 +222,7 @@ if(M == user && user.zone_sel.selecting == "mouth" && contents.len > 0 && !user.wear_mask) var/obj/item/clothing/mask/smokable/cigarette/cigar/W = new /obj/item/clothing/mask/smokable/cigarette/cigar(user) - reagents.trans_to(W, (reagents.total_volume/contents.len)) + reagents.trans_to_obj(W, (reagents.total_volume/contents.len)) user.equip_to_slot_if_possible(W, slot_wear_mask) reagents.maximum_volume = 15 * contents.len contents.len-- diff --git a/code/game/objects/items/weapons/tools.dm b/code/game/objects/items/weapons/tools.dm index ee56415be7..42d4b4c660 100644 --- a/code/game/objects/items/weapons/tools.dm +++ b/code/game/objects/items/weapons/tools.dm @@ -247,7 +247,7 @@ /obj/item/weapon/weldingtool/afterattack(obj/O as obj, mob/user as mob, proximity) if(!proximity) return if (istype(O, /obj/structure/reagent_dispensers/fueltank) && get_dist(src,O) <= 1 && !src.welding) - O.reagents.trans_to(src, max_fuel) + O.reagents.trans_to_obj(src, max_fuel) user << "\blue Welder refueled" playsound(src.loc, 'sound/effects/refill.ogg', 50, 1, -6) return diff --git a/code/game/objects/items/weapons/weldbackpack.dm b/code/game/objects/items/weapons/weldbackpack.dm index f1c786d3e1..16b23b7880 100644 --- a/code/game/objects/items/weapons/weldbackpack.dm +++ b/code/game/objects/items/weapons/weldbackpack.dm @@ -27,7 +27,7 @@ else if(T.welding) user << "\red That was close!" - src.reagents.trans_to(W, T.max_fuel) + src.reagents.trans_to_obj(W, T.max_fuel) user << "\blue Welder refilled!" playsound(src.loc, 'sound/effects/refill.ogg', 50, 1, -6) return @@ -38,7 +38,7 @@ if(!proximity) // this replaces and improves the get_dist(src,O) <= 1 checks used previously return if (istype(O, /obj/structure/reagent_dispensers/fueltank) && src.reagents.total_volume < max_fuel) - O.reagents.trans_to(src, max_fuel) + O.reagents.trans_to_obj(src, max_fuel) user << "\blue You crack the cap off the top of the pack and fill it back up again from the tank." playsound(src.loc, 'sound/effects/refill.ogg', 50, 1, -6) return diff --git a/code/game/objects/structures/crates_lockers/closets/secure/security.dm b/code/game/objects/structures/crates_lockers/closets/secure/security.dm index 2480fff6da..37eec45239 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/security.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/security.dm @@ -286,8 +286,8 @@ New() ..() - new /obj/item/weapon/reagent_containers/ld50_syringe/choral(src) - new /obj/item/weapon/reagent_containers/ld50_syringe/choral(src) + new /obj/item/weapon/reagent_containers/syringe/ld50_syringe/choral(src) + new /obj/item/weapon/reagent_containers/syringe/ld50_syringe/choral(src) return diff --git a/code/game/objects/structures/janicart.dm b/code/game/objects/structures/janicart.dm index bd253da195..237250e3fd 100644 --- a/code/game/objects/structures/janicart.dm +++ b/code/game/objects/structures/janicart.dm @@ -39,7 +39,7 @@ if(reagents.total_volume < 1) user << "[src] is out of water!" else - reagents.trans_to(I, 5) // + reagents.trans_to_obj(I, 5) // user << "You wet [I] in [src]." playsound(loc, 'sound/effects/slosh.ogg', 25, 1) return @@ -186,7 +186,7 @@ /obj/structure/bed/chair/janicart/attackby(obj/item/I, mob/user) if(istype(I, /obj/item/weapon/mop)) if(reagents.total_volume > 1) - reagents.trans_to(I, 2) + reagents.trans_to_obj(I, 2) user << "You wet [I] in the [callme]." playsound(loc, 'sound/effects/slosh.ogg', 25, 1) else diff --git a/code/game/objects/structures/mop_bucket.dm b/code/game/objects/structures/mop_bucket.dm index ec568b8408..ace1293fc7 100644 --- a/code/game/objects/structures/mop_bucket.dm +++ b/code/game/objects/structures/mop_bucket.dm @@ -22,6 +22,6 @@ if(reagents.total_volume < 1) user << "[src] is out of water!" else - reagents.trans_to(I, 5) + reagents.trans_to_obj(I, 5) user << "You wet [I] in [src]." playsound(loc, 'sound/effects/slosh.ogg', 25, 1) diff --git a/code/modules/customitems/item_defines.dm b/code/modules/customitems/item_defines.dm index 13d1a59d5e..3d393e0967 100644 --- a/code/modules/customitems/item_defines.dm +++ b/code/modules/customitems/item_defines.dm @@ -446,10 +446,8 @@ if (M != user && user.ckey == "nerezza") //Woah now, you better be careful partner user << "\blue You don't want to contaminate the autoinjector." return - src.reagents.reaction(M, INGEST) - if(M.reagents) - var/trans = reagents.trans_to(M, amount_per_transfer_from_this) - user << "\blue [trans] units injected. [reagents.total_volume] units remaining in \the [src]." + var/trans = reagents.trans_to_mob(M, amount_per_transfer_from_this, CHEM_BLOOD) + user << "\blue [trans] units injected. [reagents.total_volume] units remaining in \the [src]." return /obj/item/weapon/reagent_containers/hypospray/fluff/asher_spock_1/examine(mob/user as mob) diff --git a/code/modules/detectivework/footprints_and_rag.dm b/code/modules/detectivework/footprints_and_rag.dm index 59b97ebb7c..aedf6e4c9f 100644 --- a/code/modules/detectivework/footprints_and_rag.dm +++ b/code/modules/detectivework/footprints_and_rag.dm @@ -31,8 +31,7 @@ /obj/item/weapon/reagent_containers/glass/rag/attack(atom/target as obj|turf|area, mob/user as mob , flag) if(ismob(target) && target.reagents && reagents.total_volume) user.visible_message("\red \The [target] has been smothered with \the [src] by \the [user]!", "\red You smother \the [target] with \the [src]!", "You hear some struggling and muffled cries of surprise") - src.reagents.reaction(target, TOUCH) - spawn(5) src.reagents.clear_reagents() + reagents.trans_to_mob(target, reagents.total_volume, CHEM_INGEST) return else ..() diff --git a/code/modules/mob/living/carbon/alien/alien.dm b/code/modules/mob/living/carbon/alien/alien.dm index c9b3175eb8..7bf1842b0f 100644 --- a/code/modules/mob/living/carbon/alien/alien.dm +++ b/code/modules/mob/living/carbon/alien/alien.dm @@ -23,10 +23,6 @@ verbs += /mob/living/proc/ventcrawl verbs += /mob/living/proc/hide - var/datum/reagents/R = new/datum/reagents(100) - reagents = R - R.my_atom = src - name = "[initial(name)] ([rand(1, 1000)])" real_name = name regenerate_icons() diff --git a/code/modules/mob/living/carbon/brain/life.dm b/code/modules/mob/living/carbon/brain/life.dm index 8e8a26d883..189dfd81e7 100644 --- a/code/modules/mob/living/carbon/brain/life.dm +++ b/code/modules/mob/living/carbon/brain/life.dm @@ -105,7 +105,18 @@ proc/handle_chemicals_in_body() - if(reagents) reagents.metabolize(src) + chem_effects.Cut() + analgesic = 0 + + if(touching) + touching.metabolize(0, CHEM_TOUCH) + if(ingested) + ingested.metabolize(0, CHEM_INGEST) + if(reagents) + reagents.metabolize(0, CHEM_BLOOD) + + if(CE_PAINKILLER in chem_effects) + analgesic = chem_effects[CE_PAINKILLER] confused = max(0, confused - 1) // decrement dizziness counter, clamped to 0 diff --git a/code/modules/mob/living/carbon/breathe.dm b/code/modules/mob/living/carbon/breathe.dm index 38e1efa71b..b467b88cd2 100644 --- a/code/modules/mob/living/carbon/breathe.dm +++ b/code/modules/mob/living/carbon/breathe.dm @@ -7,7 +7,7 @@ var/datum/gas_mixture/breath = null //First, check if we can breathe at all - if(health < config.health_threshold_crit && !reagents.has_reagent("inaprovaline")) //crit aka circulatory shock + if(health < config.health_threshold_crit && !(CE_STABLE in chem_effects)) //crit aka circulatory shock losebreath++ if(losebreath>0) //Suffocating so do not take a breath @@ -65,11 +65,9 @@ for(var/obj/effect/effect/smoke/chem/smoke in view(1, src)) if(smoke.reagents.total_volume) - smoke.reagents.reaction(src, INGEST) - spawn(5) - if(smoke) - //maybe check air pressure here or something to see if breathing in smoke is even possible. - smoke.reagents.copy_to(src, 10) // I dunno, maybe the reagents enter the blood stream through the lungs? + smoke.reagents.trans_to_mob(src, 10, CHEM_INGEST, copy = 1) + //maybe check air pressure here or something to see if breathing in smoke is even possible. + // I dunno, maybe the reagents enter the blood stream through the lungs? break // If they breathe in the nasty stuff once, no need to continue checking /mob/living/carbon/proc/handle_breath(datum/gas_mixture/breath) diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index 6e59b4be66..6591cee647 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -1,3 +1,13 @@ +/mob/living/carbon/New() + create_reagents(1000) + var/datum/reagents/R1 = new/datum/reagents(1000) + var/datum/reagents/R2 = new/datum/reagents(1000) + ingested = R1 + touching = R2 + R1.my_atom = src + R2.my_atom = src + ..() + /mob/living/carbon/Life() ..() @@ -550,4 +560,10 @@ playsound(src.loc, 'sound/misc/slip.ogg', 50, 1, -3) Stun(stun_duration) Weaken(Floor(stun_duration/2)) - return 1 \ No newline at end of file + return 1 + +/mob/living/carbon/proc/add_chemical_effect(var/effect, var/magnitude = 1) + if(effect in chem_effects) + chem_effects[effect] += magnitude + else + chem_effects[effect] = magnitude diff --git a/code/modules/mob/living/carbon/carbon_defines.dm b/code/modules/mob/living/carbon/carbon_defines.dm index 55b33324fb..e617506c23 100644 --- a/code/modules/mob/living/carbon/carbon_defines.dm +++ b/code/modules/mob/living/carbon/carbon_defines.dm @@ -17,5 +17,8 @@ var/datum/surgery_status/op_stage = new/datum/surgery_status //Active emote/pose var/pose = null + var/list/chem_effects = list() + var/datum/reagents/ingested = null + var/datum/reagents/touching = null var/pulse = PULSE_NORM //current pulse level diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index fd8be289e9..84a7e720d3 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -20,10 +20,6 @@ else set_species() - var/datum/reagents/R = new/datum/reagents(1000) - reagents = R - R.my_atom = src - hud_list[HEALTH_HUD] = image('icons/mob/hud.dmi', src, "hudhealth100") hud_list[STATUS_HUD] = image('icons/mob/hud.dmi', src, "hudhealthy") hud_list[LIFE_HUD] = image('icons/mob/hud.dmi', src, "hudhealthy") diff --git a/code/modules/mob/living/carbon/human/human_movement.dm b/code/modules/mob/living/carbon/human/human_movement.dm index 155492a36b..a455edb27f 100644 --- a/code/modules/mob/living/carbon/human/human_movement.dm +++ b/code/modules/mob/living/carbon/human/human_movement.dm @@ -10,9 +10,8 @@ if(embedded_flag) handle_embedded_objects() //Moving with objects stuck in you can cause bad times. - if(reagents.has_reagent("hyperzine")) return -1 - - if(reagents.has_reagent("nuka_cola")) return -1 + if(CE_SPEEDBOOST in chem_effects) + return -1 var/health_deficiency = (100 - health) if(health_deficiency >= 40) tally += (health_deficiency / 25) diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 29a1d067cb..5bcd6a178b 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -855,10 +855,16 @@ proc/handle_chemicals_in_body() if(reagents && !(species.flags & IS_SYNTHETIC)) //Synths don't process reagents. + chem_effects.Cut() + analgesic = 0 var/alien = 0 if(species && species.reagent_tag) alien = species.reagent_tag - reagents.metabolize(src,alien) + touching.metabolize(alien, CHEM_TOUCH) + ingested.metabolize(alien, CHEM_INGEST) + reagents.metabolize(alien, CHEM_BLOOD) + if(CE_PAINKILLER in chem_effects) + analgesic = chem_effects[CE_PAINKILLER] var/total_phoronloss = 0 for(var/obj/item/I in src) @@ -945,9 +951,6 @@ silent = 0 return 1 - // the analgesic effect wears off slowly - analgesic = max(0, analgesic - 1) - //UNCONSCIOUS. NO-ONE IS HOME if( (getOxyLoss() > 50) || (config.health_threshold_crit > health) ) Paralyse(3) @@ -1224,7 +1227,7 @@ see_invisible = SEE_INVISIBLE_LIVING if(healths) - if (analgesic) + if (analgesic > 100) healths.icon_state = "health_health_numb" else switch(hal_screwyhud) @@ -1409,7 +1412,7 @@ handle_shock() ..() if(status_flags & GODMODE) return 0 //godmode - if(analgesic || (species && species.flags & NO_PAIN)) return // analgesic avoids all traumatic shock temporarily + if(species && species.flags & NO_PAIN) return if(health < config.health_threshold_softcrit)// health 0 makes you immediately collapse shock_stage = max(shock_stage, 61) @@ -1485,7 +1488,7 @@ if(R.id in heartstopper) //To avoid using fakedeath temp = PULSE_NONE if(R.id in cheartstopper) //Conditional heart-stoppage - if(R.volume >= R.overdose) + if(R.volume >= R.overdose_blood) temp = PULSE_NONE return temp diff --git a/code/modules/mob/living/carbon/metroid/life.dm b/code/modules/mob/living/carbon/metroid/life.dm index 22b61291ef..0d5a0bbef7 100644 --- a/code/modules/mob/living/carbon/metroid/life.dm +++ b/code/modules/mob/living/carbon/metroid/life.dm @@ -82,8 +82,18 @@ return temp_change /mob/living/carbon/slime/proc/handle_chemicals_in_body() + chem_effects.Cut() + analgesic = 0 - if(reagents) reagents.metabolize(src) + if(touching) + touching.metabolize(0, CHEM_TOUCH) + if(ingested) + ingested.metabolize(0, CHEM_INGEST) + if(reagents) + reagents.metabolize(0, CHEM_BLOOD) + + if(CE_PAINKILLER in chem_effects) + analgesic = chem_effects[CE_PAINKILLER] src.updatehealth() diff --git a/code/modules/mob/living/carbon/metroid/metroid.dm b/code/modules/mob/living/carbon/metroid/metroid.dm index d6c8c226c4..8a44903f64 100644 --- a/code/modules/mob/living/carbon/metroid/metroid.dm +++ b/code/modules/mob/living/carbon/metroid/metroid.dm @@ -61,8 +61,6 @@ verbs += /mob/living/proc/ventcrawl - create_reagents(100) - src.colour = colour number = rand(1, 1000) name = "[colour] [is_adult ? "adult" : "baby"] slime ([number])" @@ -412,14 +410,6 @@ adjustToxLoss(-10) nutrition = max(nutrition, get_max_nutrition()) -/mob/living/carbon/slime/proc/apply_water(var/amount) - adjustToxLoss(15 + amount) - if (!client) - if (Target) // Like cats - Target = null - ++Discipline - return - /mob/living/carbon/slime/can_use_vents() if(Victim) return "You cannot ventcrawl while feeding." diff --git a/code/modules/mob/living/carbon/monkey/life.dm b/code/modules/mob/living/carbon/monkey/life.dm index 22a5c7f2fb..b339fc086e 100644 --- a/code/modules/mob/living/carbon/monkey/life.dm +++ b/code/modules/mob/living/carbon/monkey/life.dm @@ -304,9 +304,18 @@ adjustFireLoss(5.0*discomfort) proc/handle_chemicals_in_body() + chem_effects.Cut() + analgesic = 0 - if(reagents && reagents.reagent_list.len) - reagents.metabolize(src) + if(touching) + touching.metabolize(0, CHEM_TOUCH) + if(ingested) + ingested.metabolize(0, CHEM_INGEST) + if(reagents) + reagents.metabolize(0, CHEM_BLOOD) + + if(CE_PAINKILLER in chem_effects) + analgesic = chem_effects[CE_PAINKILLER] if (drowsyness) drowsyness-- diff --git a/code/modules/mob/living/carbon/monkey/monkey.dm b/code/modules/mob/living/carbon/monkey/monkey.dm index 07a64c5513..8cd0558e7c 100644 --- a/code/modules/mob/living/carbon/monkey/monkey.dm +++ b/code/modules/mob/living/carbon/monkey/monkey.dm @@ -47,10 +47,6 @@ verbs += /mob/living/proc/ventcrawl - var/datum/reagents/R = new/datum/reagents(1000) - reagents = R - R.my_atom = src - species = all_species[greaterform] add_language(species.language) diff --git a/code/modules/mob/living/carbon/shock.dm b/code/modules/mob/living/carbon/shock.dm index b76b7a49b7..63c742a690 100644 --- a/code/modules/mob/living/carbon/shock.dm +++ b/code/modules/mob/living/carbon/shock.dm @@ -13,24 +13,11 @@ 1.5 * src.getFireLoss() + \ 1.2 * src.getBruteLoss() + \ 1.7 * src.getCloneLoss() + \ - 2 * src.halloss + 2 * src.halloss + \ + -1 * src.analgesic - if(reagents.has_reagent("alkysine")) - src.traumatic_shock -= 10 - if(reagents.has_reagent("inaprovaline")) - src.traumatic_shock -= 25 - if(reagents.has_reagent("synaptizine")) - src.traumatic_shock -= 40 - if(reagents.has_reagent("paracetamol")) - src.traumatic_shock -= 50 - if(reagents.has_reagent("tramadol")) - src.traumatic_shock -= 80 - if(reagents.has_reagent("oxycodone")) - src.traumatic_shock -= 200 if(src.slurring) src.traumatic_shock -= 20 - if(src.analgesic) - src.traumatic_shock = 0 // broken or ripped off organs will add quite a bit of pain if(istype(src,/mob/living/carbon/human)) diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index 6add592da8..6d6428fc15 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -117,7 +117,7 @@ src.modules += new /obj/item/roller_holder(src) src.modules += new /obj/item/weapon/reagent_containers/borghypo/crisis(src) src.modules += new /obj/item/weapon/reagent_containers/glass/beaker/large(src) - src.modules += new /obj/item/weapon/reagent_containers/robodropper(src) + src.modules += new /obj/item/weapon/reagent_containers/dropper/industrial(src) src.modules += new /obj/item/weapon/reagent_containers/syringe(src) src.modules += new /obj/item/weapon/extinguisher/mini(src) src.emag = new /obj/item/weapon/reagent_containers/spray(src) @@ -321,7 +321,7 @@ M.stored_matter = 30 src.modules += M - src.modules += new /obj/item/weapon/reagent_containers/robodropper(src) + src.modules += new /obj/item/weapon/reagent_containers/dropper/industrial(src) var/obj/item/weapon/flame/lighter/zippo/L = new /obj/item/weapon/flame/lighter/zippo(src) L.lit = 1 diff --git a/code/modules/organs/blood.dm b/code/modules/organs/blood.dm index b04d631046..07fed200d8 100644 --- a/code/modules/organs/blood.dm +++ b/code/modules/organs/blood.dm @@ -55,12 +55,8 @@ var/const/BLOOD_VOLUME_SURVIVE = 122 break B.volume += 0.1 // regenerate blood VERY slowly - if (reagents.has_reagent("nutriment")) //Getting food speeds it up - B.volume += 0.4 - reagents.remove_reagent("nutriment", 0.1) - if (reagents.has_reagent("iron")) //Hematogen candy anyone? - B.volume += 0.8 - reagents.remove_reagent("iron", 0.1) + if(CE_BLOODRESTORE in chem_effects) + B.volume += chem_effects[CE_BLOODRESTORE] // Damaged heart virtually reduces the blood volume, as the blood isn't // being pumped properly anymore. @@ -200,9 +196,8 @@ var/const/BLOOD_VOLUME_SURVIVE = 122 vessel.remove_reagent("blood",amount) // Removes blood if human //Transfers blood from container ot vessels -/mob/living/carbon/proc/inject_blood(obj/item/weapon/reagent_containers/container, var/amount) - var/datum/reagent/blood/injected = get_blood(container.reagents) - if (!injected) +/mob/living/carbon/proc/inject_blood(var/datum/reagent/blood/injected, var/amount) + if (!injected || !istype(injected)) return var/list/sniffles = virus_copylist(injected.data["virus2"]) for(var/ID in sniffles) @@ -216,12 +211,8 @@ var/const/BLOOD_VOLUME_SURVIVE = 122 src.reagents.add_reagent(C, (text2num(chems[C]) / 560) * amount)//adds trace chemicals to owner's blood reagents.update_total() - container.reagents.remove_reagent("blood", amount) - -//Transfers blood from container ot vessels, respecting blood types compatability. -/mob/living/carbon/human/inject_blood(obj/item/weapon/reagent_containers/container, var/amount) - - var/datum/reagent/blood/injected = get_blood(container.reagents) +//Transfers blood from reagents to vessel, respecting blood types compatability. +/mob/living/carbon/human/inject_blood(var/datum/reagent/blood/injected, var/amount) if(species && species.flags & NO_BLOOD) reagents.add_reagent("blood", amount, injected.data) diff --git a/code/modules/organs/organ_internal.dm b/code/modules/organs/organ_internal.dm index b6154242b9..7d0782abed 100644 --- a/code/modules/organs/organ_internal.dm +++ b/code/modules/organs/organ_internal.dm @@ -208,20 +208,12 @@ if(is_broken()) filter_effect -= 2 - // Do some reagent filtering/processing. - for(var/datum/reagent/R in owner.reagents.reagent_list) - // Damaged liver means some chemicals are very dangerous - // The liver is also responsible for clearing out alcohol and toxins. - // Ethanol and all drinks are bad.K - if(istype(R, /datum/reagent/ethanol)) - if(filter_effect < 3) - owner.adjustToxLoss(0.1 * PROCESS_ACCURACY) - owner.reagents.remove_reagent(R.id, R.custom_metabolism*filter_effect) - // Can't cope with toxins at all - else if(istype(R, /datum/reagent/toxin)) - if(filter_effect < 3) - owner.adjustToxLoss(0.3 * PROCESS_ACCURACY) - owner.reagents.remove_reagent(R.id, ALCOHOL_METABOLISM*filter_effect) + // Do some reagent processing. + if(owner.chem_effects[CE_ALCOHOL_TOXIC]) + if(filter_effect < 3) + owner.adjustToxLoss(owner.chem_effects[CE_ALCOHOL_TOXIC] * 0.1 * PROCESS_ACCURACY) + else + take_damage(owner.chem_effects[CE_ALCOHOL_TOXIC] * 0.1 * PROCESS_ACCURACY, prob(1)) // Chance to warn them /datum/organ/internal/kidney name = "kidneys" diff --git a/code/modules/organs/organ_objects.dm b/code/modules/organs/organ_objects.dm index a97f1f28f5..b7c451b883 100644 --- a/code/modules/organs/organ_objects.dm +++ b/code/modules/organs/organ_objects.dm @@ -172,7 +172,7 @@ organ_data.rejecting = null var/datum/reagent/blood/organ_blood = locate(/datum/reagent/blood) in reagents.reagent_list if(!organ_blood || !organ_blood.data["blood_DNA"]) - target.vessel.trans_to(src, 5, 1, 1) + target.vessel.trans_to_obj(src, 5, 1, 1) if(target && user && organ_data.vital) user.attack_log += "\[[time_stamp()]\] removed a vital organ ([src]) from [target.name] ([target.ckey]) (INTENT: [uppertext(user.a_intent)])" @@ -265,7 +265,7 @@ O.icon_state = dead_icon ? dead_icon : icon_state // Pass over the blood. - reagents.trans_to(O, reagents.total_volume) + reagents.trans_to_obj(O, reagents.total_volume) if(fingerprints) O.fingerprints = fingerprints.Copy() if(fingerprintshidden) O.fingerprintshidden = fingerprintshidden.Copy() diff --git a/code/modules/organs/pain.dm b/code/modules/organs/pain.dm index 49cc2073df..16d0394a85 100644 --- a/code/modules/organs/pain.dm +++ b/code/modules/organs/pain.dm @@ -9,13 +9,7 @@ mob/var/next_pain_time = 0 // amount is a num from 1 to 100 mob/living/carbon/proc/pain(var/partname, var/amount, var/force, var/burning = 0) if(stat >= 2) return - if(reagents.has_reagent("paracetamol")) - return - if(reagents.has_reagent("tramadol")) - return - if(reagents.has_reagent("oxycodone")) - return - if(analgesic) + if(analgesic > 40) return if(world.time < next_pain_time && !force) return @@ -80,11 +74,7 @@ mob/living/carbon/human/proc/handle_pain() if(species && species.flags & NO_PAIN) return if(stat >= 2) return - if(reagents.has_reagent("tramadol")) - return - if(reagents.has_reagent("oxycodone")) - return - if(analgesic) + if(analgesic > 70) return var/maxdam = 0 var/datum/organ/external/damaged_organ = null diff --git a/code/modules/paperwork/pen.dm b/code/modules/paperwork/pen.dm index 18ff946cc8..1f81ea2495 100644 --- a/code/modules/paperwork/pen.dm +++ b/code/modules/paperwork/pen.dm @@ -76,7 +76,7 @@ return ..() if(reagents.total_volume) - if(M.reagents) reagents.trans_to(M, 50) //used to be 150 + if(M.reagents) reagents.trans_to_mob(M, 50, CHEM_BLOOD) //used to be 150 return @@ -99,7 +99,7 @@ if(M.can_inject(user,1)) if(reagents.total_volume) - if(M.reagents) reagents.trans_to(M, 50) + if(M.reagents) reagents.trans_to_mob(M, 50, CHEM_BLOOD) return diff --git a/code/modules/projectiles/guns/launcher/syringe_gun.dm b/code/modules/projectiles/guns/launcher/syringe_gun.dm index 75c015d579..0c42c86b05 100644 --- a/code/modules/projectiles/guns/launcher/syringe_gun.dm +++ b/code/modules/projectiles/guns/launcher/syringe_gun.dm @@ -52,7 +52,7 @@ //unfortuately we don't know where the dart will actually hit, since that's done by the parent. if(L.can_inject()) if(syringe.reagents) - syringe.reagents.trans_to(L, 15) + syringe.reagents.trans_to_mob(L, 15, CHEM_BLOOD) syringe.break_syringe(iscarbon(hit_atom)? hit_atom : null) syringe.update_icon() diff --git a/code/modules/projectiles/guns/projectile/dartgun.dm b/code/modules/projectiles/guns/projectile/dartgun.dm index a8f93b8d25..c95fbce180 100644 --- a/code/modules/projectiles/guns/projectile/dartgun.dm +++ b/code/modules/projectiles/guns/projectile/dartgun.dm @@ -17,7 +17,7 @@ if(blocked < 2 && isliving(target)) var/mob/living/L = target if(L.can_inject(target_zone=def_zone)) - reagents.trans_to(L, reagent_amount) + reagents.trans_to_mob(L, reagent_amount, CHEM_BLOOD) /obj/item/ammo_casing/chemdart name = "chemical dart" @@ -124,7 +124,7 @@ if(mixing.len) var/mix_amount = dart.reagent_amount/mixing.len for(var/obj/item/weapon/reagent_containers/glass/beaker/B in mixing) - B.reagents.trans_to(dart, mix_amount) + B.reagents.trans_to_obj(dart, mix_amount) /obj/item/weapon/gun/projectile/dartgun/attack_self(mob/user) user.set_machine(src) diff --git a/code/modules/reagents/Chemistry-Colours.dm b/code/modules/reagents/Chemistry-Colours.dm index a59147e85f..501b1ac475 100644 --- a/code/modules/reagents/Chemistry-Colours.dm +++ b/code/modules/reagents/Chemistry-Colours.dm @@ -1,66 +1,23 @@ -/proc/mix_color_from_reagents(var/list/reagent_list) - if(!reagent_list || !length(reagent_list)) - return 0 +/datum/reagents/proc/get_color() + if(!reagent_list || !reagent_list.len) + return "#ffffffff" + if(reagent_list.len == 1) // It's pretty common and saves a lot of work + var/datum/reagent/R = reagent_list[1] + return R.color - var/contents = length(reagent_list) - var/list/weight = new /list(contents) - var/list/redcolor = new /list(contents) - var/list/greencolor = new /list(contents) - var/list/bluecolor = new /list(contents) - var/i + var/list/colors = list(0, 0, 0, 0) + var/tot_w = 0 + for(var/datum/reagent/R in reagent_list) + var/hex = uppertext(R.color) + if(length(hex) == 7) + hex += "FF" + if(length(hex) != 9) // PANIC PANIC PANIC + warning("Reagent [R.id] has an incorrect color set ([R.color])") + hex = "#FFFFFFFF" + colors[1] += hex2num(copytext(hex, 2, 4)) * R.volume * R.color_weight + colors[2] += hex2num(copytext(hex, 4, 6)) * R.volume * R.color_weight + colors[3] += hex2num(copytext(hex, 6, 8)) * R.volume * R.color_weight + colors[4] += hex2num(copytext(hex, 8, 10)) * R.volume * R.color_weight + tot_w += R.volume * R.color_weight - //fill the list of weights - for(i=1; i<=contents; i++) - var/datum/reagent/re = reagent_list[i] - var/reagentweight = re.volume - if(istype(re, /datum/reagent/paint)) - reagentweight *= 20 //Paint colours a mixture twenty times as much - weight[i] = reagentweight - - - //fill the lists of colours - for(i=1; i<=contents; i++) - var/datum/reagent/re = reagent_list[i] - var/hue = re.color - if(length(hue) != 7) - return 0 - redcolor[i]=hex2num(copytext(hue,2,4)) - greencolor[i]=hex2num(copytext(hue,4,6)) - bluecolor[i]=hex2num(copytext(hue,6,8)) - - //mix all the colors - var/red = mixOneColor(weight,redcolor) - var/green = mixOneColor(weight,greencolor) - var/blue = mixOneColor(weight,bluecolor) - - //assemble all the pieces - var/finalcolor = rgb(red, green, blue) - return finalcolor - -/proc/mixOneColor(var/list/weight, var/list/color) - if (!weight || !color || length(weight)!=length(color)) - return 0 - - var/contents = length(weight) - var/i - - //normalize weights - var/listsum = 0 - for(i=1; i<=contents; i++) - listsum += weight[i] - for(i=1; i<=contents; i++) - weight[i] /= listsum - - //mix them - var/mixedcolor = 0 - for(i=1; i<=contents; i++) - mixedcolor += weight[i]*color[i] - mixedcolor = round(mixedcolor) - - //until someone writes a formal proof for this algorithm, let's keep this in -// if(mixedcolor<0x00 || mixedcolor>0xFF) -// return 0 - //that's not the kind of operation we are running here, nerd - mixedcolor=min(max(mixedcolor,0),255) - - return mixedcolor + return rgb(colors[1] / tot_w, colors[2] / tot_w, colors[3] / tot_w, colors[4] / tot_w) \ No newline at end of file diff --git a/code/modules/reagents/Chemistry-Holder.dm b/code/modules/reagents/Chemistry-Holder.dm index 6c6c194af5..d094dc65ca 100644 --- a/code/modules/reagents/Chemistry-Holder.dm +++ b/code/modules/reagents/Chemistry-Holder.dm @@ -1,659 +1,426 @@ -//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:32 - -var/const/TOUCH = 1 -var/const/INGEST = 2 - -/////////////////////////////////////////////////////////////////////////////////// - -datum - reagents - var/list/datum/reagent/reagent_list = new/list() - var/total_volume = 0 - var/maximum_volume = 100 - var/atom/my_atom = null - - New(maximum=100) - maximum_volume = maximum - - //I dislike having these here but map-objects are initialised before world/New() is called. >_> - if(!chemical_reagents_list) - //Chemical Reagents - Initialises all /datum/reagent into a list indexed by reagent id - var/paths = typesof(/datum/reagent) - /datum/reagent - chemical_reagents_list = list() - for(var/path in paths) - var/datum/reagent/D = new path() - chemical_reagents_list[D.id] = D - if(!chemical_reactions_list) - //Chemical Reactions - Initialises all /datum/chemical_reaction into a list - // It is filtered into multiple lists within a list. - // For example: - // chemical_reaction_list["phoron"] is a list of all reactions relating to phoron - - var/paths = typesof(/datum/chemical_reaction) - /datum/chemical_reaction - chemical_reactions_list = list() - - for(var/path in paths) - - var/datum/chemical_reaction/D = new path() - var/list/reaction_ids = list() - - if(D.required_reagents && D.required_reagents.len) - for(var/reaction in D.required_reagents) - reaction_ids += reaction - - // Create filters based on each reagent id in the required reagents list - for(var/id in reaction_ids) - if(!chemical_reactions_list[id]) - chemical_reactions_list[id] = list() - chemical_reactions_list[id] += D - break // Don't bother adding ourselves to other reagent ids, it is redundant. - - proc - - remove_any(var/amount=1) - var/total_transfered = 0 - var/current_list_element = 1 - - current_list_element = rand(1,reagent_list.len) - - while(total_transfered != amount) - if(total_transfered >= amount) break - if(total_volume <= 0 || !reagent_list.len) break - - if(current_list_element > reagent_list.len) current_list_element = 1 - var/datum/reagent/current_reagent = reagent_list[current_list_element] - - src.remove_reagent(current_reagent.id, 1) - - current_list_element++ - total_transfered++ - src.update_total() - - handle_reactions() - return total_transfered - - get_master_reagent() - var/the_reagent = null - var/the_volume = 0 - for(var/datum/reagent/A in reagent_list) - if(A.volume > the_volume) - the_volume = A.volume - the_reagent = A - - return the_reagent - - get_master_reagent_name() - var/the_name = null - var/the_volume = 0 - for(var/datum/reagent/A in reagent_list) - if(A.volume > the_volume) - the_volume = A.volume - the_name = A.name - - return the_name - - get_master_reagent_id() - var/the_id = null - var/the_volume = 0 - for(var/datum/reagent/A in reagent_list) - if(A.volume > the_volume) - the_volume = A.volume - the_id = A.id - - return the_id - - trans_to(var/obj/target, var/amount=1, var/multiplier=1, var/preserve_data=1)//if preserve_data=0, the reagents data will be lost. Usefull if you use data for some strange stuff and don't want it to be transferred. - if (!target ) - return - if (!target.reagents || src.total_volume<=0) - return - var/datum/reagents/R = target.reagents - amount = min(min(amount, src.total_volume), R.maximum_volume-R.total_volume) - var/part = amount / src.total_volume - var/trans_data = null - for (var/datum/reagent/current_reagent in src.reagent_list) - if (!current_reagent) - continue - if (current_reagent.id == "blood" && ishuman(target)) - var/mob/living/carbon/human/H = target - H.inject_blood(my_atom, amount) - continue - var/current_reagent_transfer = current_reagent.volume * part - if(preserve_data) - trans_data = copy_data(current_reagent) - - R.add_reagent(current_reagent.id, (current_reagent_transfer * multiplier), trans_data, safety = 1) //safety checks on these so all chemicals are transferred - src.remove_reagent(current_reagent.id, current_reagent_transfer, safety = 1) // to the target container before handling reactions - - src.update_total() - R.update_total() - R.handle_reactions() - src.handle_reactions() - return amount - - trans_to_ingest(var/obj/target, var/amount=1, var/multiplier=1, var/preserve_data=1)//For items ingested. A delay is added between ingestion and addition of the reagents - if (!target ) - return - if (!target.reagents || src.total_volume<=0) - return - - /*var/datum/reagents/R = target.reagents - - var/obj/item/weapon/reagent_containers/glass/beaker/noreact/B = new /obj/item/weapon/reagent_containers/glass/beaker/noreact //temporary holder - - amount = min(min(amount, src.total_volume), R.maximum_volume-R.total_volume) - var/part = amount / src.total_volume - var/trans_data = null - for (var/datum/reagent/current_reagent in src.reagent_list) - if (!current_reagent) - continue - //if (current_reagent.id == "blood" && ishuman(target)) - // var/mob/living/carbon/human/H = target - // H.inject_blood(my_atom, amount) - // continue - var/current_reagent_transfer = current_reagent.volume * part - if(preserve_data) - trans_data = current_reagent.data - - B.add_reagent(current_reagent.id, (current_reagent_transfer * multiplier), trans_data, safety = 1) //safety checks on these so all chemicals are transferred - src.remove_reagent(current_reagent.id, current_reagent_transfer, safety = 1) // to the target container before handling reactions - - src.update_total() - B.update_total() - B.handle_reactions() - src.handle_reactions()*/ - - var/obj/item/weapon/reagent_containers/glass/beaker/noreact/B = new /obj/item/weapon/reagent_containers/glass/beaker/noreact //temporary holder - B.volume = 1000 - - var/datum/reagents/BR = B.reagents - var/datum/reagents/R = target.reagents - - amount = min(min(amount, src.total_volume), R.maximum_volume-R.total_volume) - - src.trans_to(B, amount) - - spawn(95) - BR.reaction(target, INGEST) - spawn(5) - BR.trans_to(target, BR.total_volume) - del(B) - - return amount - - copy_to(var/obj/target, var/amount=1, var/multiplier=1, var/preserve_data=1, var/safety = 0) - if(!target) - return - if(!target.reagents || src.total_volume<=0) - return - var/datum/reagents/R = target.reagents - amount = min(min(amount, src.total_volume), R.maximum_volume-R.total_volume) - var/part = amount / src.total_volume - var/trans_data = null - for (var/datum/reagent/current_reagent in src.reagent_list) - var/current_reagent_transfer = current_reagent.volume * part - if(preserve_data) - trans_data = copy_data(current_reagent) - R.add_reagent(current_reagent.id, (current_reagent_transfer * multiplier), trans_data, safety = 1) //safety check so all chemicals are transferred before reacting - - src.update_total() - R.update_total() - if(!safety) - R.handle_reactions() - src.handle_reactions() - return amount - - trans_id_to(var/obj/target, var/reagent, var/amount=1, var/preserve_data=1)//Not sure why this proc didn't exist before. It does now! /N - if (!target) - return - if (!target.reagents || src.total_volume<=0 || !src.get_reagent_amount(reagent)) - return - - var/datum/reagents/R = target.reagents - if(src.get_reagent_amount(reagent) R.maximum_volume) return 0 - - current_list_element = rand(1,reagent_list.len) //Eh, bandaid fix. - - while(total_transfered != amount) - if(total_transfered >= amount) break //Better safe than sorry. - if(total_volume <= 0 || !reagent_list.len) break - if(R.total_volume >= R.maximum_volume) break - - if(current_list_element > reagent_list.len) current_list_element = 1 - var/datum/reagent/current_reagent = reagent_list[current_list_element] - if(preserve_data) - trans_data = current_reagent.data - R.add_reagent(current_reagent.id, (1 * multiplier), trans_data) - src.remove_reagent(current_reagent.id, 1) - - current_list_element++ - total_transfered++ - src.update_total() - R.update_total() - R.handle_reactions() - handle_reactions() - - return total_transfered -*/ - - metabolize(var/mob/M,var/alien) - - for(var/A in reagent_list) - var/datum/reagent/R = A - if(M && R) - R.on_mob_life(M,alien) - update_total() - - conditional_update_move(var/atom/A, var/Running = 0) - for(var/datum/reagent/R in reagent_list) - R.on_move (A, Running) - update_total() - - conditional_update(var/atom/A, ) - for(var/datum/reagent/R in reagent_list) - R.on_update (A) - update_total() - - handle_reactions() - if(my_atom.flags & NOREACT) return //Yup, no reactions here. No siree. - - var/reaction_occured = 0 - do - reaction_occured = 0 - for(var/datum/reagent/R in reagent_list) // Usually a small list - for(var/reaction in chemical_reactions_list[R.id]) // Was a big list but now it should be smaller since we filtered it with our reagent id - - if(!reaction) - continue - - var/datum/chemical_reaction/C = reaction - - //check if this recipe needs to be heated to mix - if(C.requires_heating) - if(istype(my_atom.loc, /obj/machinery/bunsen_burner)) - if(!my_atom.loc:heated) - continue - else - continue - - var/total_required_reagents = C.required_reagents.len - var/total_matching_reagents = 0 - var/total_required_catalysts = C.required_catalysts.len - var/total_matching_catalysts= 0 - var/matching_container = 0 - var/matching_other = 0 - var/list/multipliers = new/list() - - for(var/B in C.required_reagents) - if(!has_reagent(B, C.required_reagents[B])) break - total_matching_reagents++ - multipliers += round(get_reagent_amount(B) / C.required_reagents[B]) - for(var/B in C.required_catalysts) - if(!has_reagent(B, C.required_catalysts[B])) break - total_matching_catalysts++ - - if(!C.required_container) - matching_container = 1 - - else - if(my_atom.type == C.required_container) - matching_container = 1 - - if(!C.required_other) - matching_other = 1 - - else - /*if(istype(my_atom, /obj/item/slime_core)) - var/obj/item/slime_core/M = my_atom - - if(M.POWERFLAG == C.required_other && M.Uses > 0) // added a limit to slime cores -- Muskets requested this - matching_other = 1*/ - if(istype(my_atom, /obj/item/slime_extract)) - var/obj/item/slime_extract/M = my_atom - - if(M.Uses > 0) // added a limit to slime cores -- Muskets requested this - matching_other = 1 - - - - - if(total_matching_reagents == total_required_reagents && total_matching_catalysts == total_required_catalysts && matching_container && matching_other) - var/multiplier = min(multipliers) - var/preserved_data = null - for(var/B in C.required_reagents) - if(!preserved_data) - preserved_data = get_data(B) - remove_reagent(B, (multiplier * C.required_reagents[B]), safety = 1) - - var/created_volume = C.result_amount*multiplier - if(C.result) - feedback_add_details("chemical_reaction","[C.result]|[C.result_amount*multiplier]") - multiplier = max(multiplier, 1) //this shouldnt happen ... - if(!isnull(C.resultcolor)) //paints - add_reagent(C.result, C.result_amount*multiplier, C.resultcolor) - else - add_reagent(C.result, C.result_amount*multiplier) - set_data(C.result, preserved_data) - - //add secondary products - for(var/S in C.secondary_results) - add_reagent(S, C.result_amount * C.secondary_results[S] * multiplier) - - var/list/seen = viewers(4, get_turf(my_atom)) - for(var/mob/M in seen) - M << "\blue \icon[my_atom] The solution begins to bubble." - - /* if(istype(my_atom, /obj/item/slime_core)) - var/obj/item/slime_core/ME = my_atom - ME.Uses-- - if(ME.Uses <= 0) // give the notification that the slime core is dead - for(var/mob/M in viewers(4, get_turf(my_atom)) ) - M << "\blue \icon[my_atom] The innards begin to boil!" - */ - if(istype(my_atom, /obj/item/slime_extract)) - var/obj/item/slime_extract/ME2 = my_atom - ME2.Uses-- - if(ME2.Uses <= 0) // give the notification that the slime core is dead - for(var/mob/M in seen) - M << "\blue \icon[my_atom] The [my_atom]'s power is consumed in the reaction." - ME2.name = "used slime extract" - ME2.desc = "This extract has been used up." - - playsound(get_turf(my_atom), 'sound/effects/bubbles.ogg', 80, 1) - - C.on_reaction(src, created_volume) - reaction_occured = 1 - break - - while(reaction_occured) - update_total() - return 0 - - isolate_reagent(var/reagent) - for(var/A in reagent_list) - var/datum/reagent/R = A - if (R.id != reagent) - del_reagent(R.id) - update_total() - - del_reagent(var/reagent) - for(var/A in reagent_list) - var/datum/reagent/R = A - if (R.id == reagent) - reagent_list -= A - del(A) - update_total() - my_atom.on_reagent_change() - return 0 - - - return 1 - +/datum/reagents + var/list/datum/reagent/reagent_list = list() + var/total_volume = 0 + var/maximum_volume = 100 + var/atom/my_atom = null + var/reacting = 0 // Reacting right now + +/datum/reagents/New(var/max = 100) + maximum_volume = max + //I dislike having these here but map-objects are initialised before world/New() is called. >_> + if(!chemical_reagents_list) + //Chemical Reagents - Initialises all /datum/reagent into a list indexed by reagent id + var/paths = typesof(/datum/reagent) - /datum/reagent + chemical_reagents_list = list() + for(var/path in paths) + var/datum/reagent/D = new path() + if(!D.name) + continue + chemical_reagents_list[D.id] = D + + if(!chemical_reactions_list) + //Chemical Reactions - Initialises all /datum/chemical_reaction into a list + // It is filtered into multiple lists within a list. + // For example: + // chemical_reaction_list["phoron"] is a list of all reactions relating to phoron + + var/paths = typesof(/datum/chemical_reaction) - /datum/chemical_reaction + chemical_reactions_list = list() + + for(var/path in paths) + + var/datum/chemical_reaction/D = new path() + var/list/reaction_ids = list() + + if(D.required_reagents && D.required_reagents.len) + for(var/reaction in D.required_reagents) + reaction_ids += reaction + + // Create filters based on each reagent id in the required reagents list + for(var/id in reaction_ids) + if(!chemical_reactions_list[id]) + chemical_reactions_list[id] = list() + chemical_reactions_list[id] += D + break // Don't bother adding ourselves to other reagent ids, it is redundant. + +/* Internal procs */ + +/datum/reagents/proc/get_free_space() // Returns free space. + return maximum_volume - total_volume + +/datum/reagents/proc/get_master_reagent() // Returns reference to the reagent with the biggest volume. + var/the_reagent = null + var/the_volume = 0 + + for(var/datum/reagent/A in reagent_list) + if(A.volume > the_volume) + the_volume = A.volume + the_reagent = A + + return the_reagent + +/datum/reagents/proc/get_master_reagent_name() // Returns the name of the reagent with the biggest volume. + var/the_name = null + var/the_volume = 0 + for(var/datum/reagent/A in reagent_list) + if(A.volume > the_volume) + the_volume = A.volume + the_name = A.name + + return the_name + +/datum/reagents/proc/get_master_reagent_id() // Returns the id of the reagent with the biggest volume. + var/the_id = null + var/the_volume = 0 + for(var/datum/reagent/A in reagent_list) + if(A.volume > the_volume) + the_volume = A.volume + the_id = A.id + + return the_id + +/datum/reagents/proc/update_total() // Updates volume. + total_volume = 0 + for(var/datum/reagent/R in reagent_list) + if(R.volume < MINIMUM_CHEMICAL_VOLUME) + del_reagent(R.id) + else + total_volume += R.volume + return + +/datum/reagents/proc/delete() + for(var/datum/reagent/R in reagent_list) + R.holder = null + if(my_atom) + my_atom.reagents = null + +/datum/reagents/proc/handle_reactions() + if(!my_atom) // No reactions in temporary holders + return + if(my_atom.flags & NOREACT) // No reactions here + return + + var/reaction_occured = 0 + do + reaction_occured = 0 + for(var/datum/reagent/R in reagent_list) + for(var/datum/chemical_reaction/C in chemical_reactions_list[R.id]) + var/reagents_suitable = 1 + for(var/B in C.required_reagents) + if(!has_reagent(B, C.required_reagents[B])) + reagents_suitable = 0 + for(var/B in C.catalysts) + if(!has_reagent(B, C.catalysts[B])) + reagents_suitable = 0 + for(var/B in C.inhibitors) + if(has_reagent(B, C.inhibitors[B])) + reagents_suitable = 0 + + if(!reagents_suitable || !C.can_happen(src)) + continue + + var/use = -1 + for(var/B in C.required_reagents) + if(use == -1) + use = get_reagent_amount(B) / C.required_reagents[B] + else + use = min(use, get_reagent_amount(B) / C.required_reagents[B]) + + var/newdata = C.send_data(src) // We need to get it before reagents are removed. See blood paint. + for(var/B in C.required_reagents) + remove_reagent(B, use * C.required_reagents[B], safety = 1) + + if(C.result) + add_reagent(C.result, C.result_amount * use, newdata) + + if(!ismob(my_atom) && C.mix_message) + var/list/seen = viewers(4, get_turf(my_atom)) + for(var/mob/M in seen) + M << "\icon[my_atom] [C.mix_message]" + playsound(get_turf(my_atom), 'sound/effects/bubbles.ogg', 80, 1) + + C.on_reaction(src, C.result_amount * use) + reaction_occured = 1 + while(reaction_occured) + update_total() + return + +/* Holder-to-chemical */ + +/datum/reagents/proc/add_reagent(var/id, var/amount, var/data = null, var/safety = 0) + if(!isnum(amount)) + return 0 + update_total() + amount = min(amount, get_free_space()) + + for(var/datum/reagent/current in reagent_list) + if(current.id == id) + current.volume += amount update_total() - total_volume = 0 - for(var/datum/reagent/R in reagent_list) - if(R.volume < 0.1) - del_reagent(R.id) - else - total_volume += R.volume + if(!isnull(data)) // For all we know, it could be zero or empty string and meaningful + current.mix_data(data, amount) + if(!safety) + handle_reactions() + if(my_atom) + my_atom.on_reagent_change() + return 1 + var/datum/reagent/D = chemical_reagents_list[id] + if(D) + var/datum/reagent/R = new D.type() + reagent_list += R + R.holder = src + R.volume = amount + update_total() + R.initialize_data(data) + if(!safety) + handle_reactions() + if(my_atom) + my_atom.on_reagent_change() + return 1 + else + warning("[my_atom] attempted to add a reagent called '[id]' which doesn't exist. ([usr])") + return 0 - return 0 +/datum/reagents/proc/remove_reagent(var/id, var/amount, var/safety = 0) + if(!isnum(amount)) + return 0 + for(var/datum/reagent/current in reagent_list) + if(current.id == id) + current.volume -= amount // It can go negative, but it doesn't matter + update_total() // Because this proc will delete it then + if(!safety) + handle_reactions() + if(my_atom) + my_atom.on_reagent_change() + return 1 + return 0 - clear_reagents() - for(var/datum/reagent/R in reagent_list) - del_reagent(R.id) - return 0 - - reaction(var/atom/A, var/method=TOUCH, var/volume_modifier=0) - - switch(method) - if(TOUCH) - for(var/datum/reagent/R in reagent_list) - if(ismob(A)) - spawn(0) - if(!R) return - else R.reaction_mob(A, TOUCH, R.volume+volume_modifier) - if(isturf(A)) - spawn(0) - if(!R) return - else R.reaction_turf(A, R.volume+volume_modifier) - if(isobj(A)) - spawn(0) - if(!R) return - else R.reaction_obj(A, R.volume+volume_modifier) - if(INGEST) - for(var/datum/reagent/R in reagent_list) - if(ismob(A) && R) - spawn(0) - if(!R) return - else R.reaction_mob(A, INGEST, R.volume+volume_modifier) - if(isturf(A) && R) - spawn(0) - if(!R) return - else R.reaction_turf(A, R.volume+volume_modifier) - if(isobj(A) && R) - spawn(0) - if(!R) return - else R.reaction_obj(A, R.volume+volume_modifier) - return - - add_reagent(var/reagent, var/amount, var/data=null, var/safety = 0) - if(!isnum(amount)) return 1 - update_total() - if(total_volume + amount > maximum_volume) amount = (maximum_volume - total_volume) //Doesnt fit in. Make it disappear. Shouldnt happen. Will happen. - - for(var/A in reagent_list) - - var/datum/reagent/R = A - if (R.id == reagent) - R.volume += amount - update_total() - - // mix dem viruses - if(R.id == "blood" && reagent == "blood") - if(R.data && data) - - if(R.data["viruses"] || data["viruses"]) - - var/list/mix1 = R.data["viruses"] - var/list/mix2 = data["viruses"] - - // Stop issues with the list changing during mixing. - var/list/to_mix = list() - - for(var/datum/disease/advance/AD in mix1) - to_mix += AD - for(var/datum/disease/advance/AD in mix2) - to_mix += AD - - var/datum/disease/advance/AD = Advance_Mix(to_mix) - if(AD) - var/list/preserve = list(AD) - for(var/D in R.data["viruses"]) - if(!istype(D, /datum/disease/advance)) - preserve += D - R.data["viruses"] = preserve - if(R.id == "paint" && reagent == "paint") - if(R.color && data) - var/list/mix = new /list(2) - //fill the list - var/datum/reagent/paint/P = chemical_reagents_list["paint"] - var/datum/reagent/paint/P1 = new P.type() - P1.color = R.color - P1.volume = R.volume - amount //since we just increased that - var/datum/reagent/paint/P2 = new P.type() - P2.color = data - P2.volume = amount - mix[1] = P1 - mix[2] = P2 - R.color = mix_color_from_reagents(mix) - if(!safety) - handle_reactions() - my_atom.on_reagent_change() - return 0 - - var/datum/reagent/D = chemical_reagents_list[reagent] - if(D) - - var/datum/reagent/R = new D.type() - reagent_list += R - R.holder = src - R.volume = amount - if(reagent == "paint") - R.color = data - else - SetViruses(R, data) // Includes setting data for blood - - //debug - //world << "Adding data" - //for(var/D in R.data) - // world << "Container data: [D] = [R.data[D]]" - //debug - update_total() - my_atom.on_reagent_change() - if(!safety) - handle_reactions() - return 0 - else - warning("[my_atom] attempted to add a reagent called '[reagent]' which doesn't exist. ([usr])") - - if(!safety) - handle_reactions() +/datum/reagents/proc/del_reagent(var/id) + for(var/datum/reagent/current in reagent_list) + if (current.id == id) + reagent_list -= current + del(current) + update_total() + if(my_atom) + my_atom.on_reagent_change() + return 0 +/datum/reagents/proc/has_reagent(var/id, var/amount = 0) + for(var/datum/reagent/current in reagent_list) + if(current.id == id) + if(current.volume >= amount) return 1 - - remove_reagent(var/reagent, var/amount, var/safety = 0)//Added a safety check for the trans_id_to - if(!isnum(amount)) return 1 - - for(var/A in reagent_list) - var/datum/reagent/R = A - if (R.id == reagent) - R.volume -= amount - update_total() - if(!safety)//So it does not handle reactions when it need not to - handle_reactions() - my_atom.on_reagent_change() - return 0 - - return 1 - - has_reagent(var/reagent, var/amount = -1) - - for(var/A in reagent_list) - var/datum/reagent/R = A - if (R.id == reagent) - if(!amount) return R - else - if(R.volume >= amount) return R - else return 0 - + else return 0 + return 0 - get_reagent_amount(var/reagent) - for(var/A in reagent_list) - var/datum/reagent/R = A - if (R.id == reagent) - return R.volume +/datum/reagents/proc/clear_reagents() + for(var/datum/reagent/current in reagent_list) + del_reagent(current.id) + return - return 0 +/datum/reagents/proc/get_reagent_amount(var/id) + for(var/datum/reagent/current in reagent_list) + if(current.id == id) + return current.volume + return 0 - get_reagents() - var/res = "" - for(var/datum/reagent/A in reagent_list) - if (res != "") res += "," - res += A.name +/datum/reagents/proc/get_data(var/id) + for(var/datum/reagent/current in reagent_list) + if(current.id == id) + return current.get_data() + return 0 - return res +/datum/reagents/proc/get_reagents() + var/res = "" + for(var/datum/reagent/current in reagent_list) + if (res != "") res += "," + res += "[current.id]([current.volume])" - remove_all_type(var/reagent_type, var/amount, var/strict = 0, var/safety = 1) // Removes all reagent of X type. @strict set to 1 determines whether the childs of the type are included. - if(!isnum(amount)) return 1 + return res - var/has_removed_reagent = 0 +/* Holder-to-holder and similar procs */ - for(var/datum/reagent/R in reagent_list) - var/matches = 0 - // Switch between how we check the reagent type - if(strict) - if(R.type == reagent_type) - matches = 1 - else - if(istype(R, reagent_type)) - matches = 1 - // We found a match, proceed to remove the reagent. Keep looping, we might find other reagents of the same type. - if(matches) - // Have our other proc handle removement - has_removed_reagent = remove_reagent(R.id, amount, safety) +/datum/reagents/proc/remove_any(var/amount = 1) // Removes up to [amount] of reagents from [src]. Returns actual amount removed. + amount = min(amount, total_volume) - return has_removed_reagent + if(!amount) + return - //two helper functions to preserve data across reactions (needed for xenoarch) - get_data(var/reagent_id) - for(var/datum/reagent/D in reagent_list) - if(D.id == reagent_id) - //world << "proffering a data-carrying reagent ([reagent_id])" - return D.data + var/part = amount / total_volume - set_data(var/reagent_id, var/new_data) - for(var/datum/reagent/D in reagent_list) - if(D.id == reagent_id) - //world << "reagent data set ([reagent_id])" - D.data = new_data + for(var/datum/reagent/current in reagent_list) + var/amount_to_remove = current.volume * part + remove_reagent(current.id, amount_to_remove, 1) - delete() - for(var/datum/reagent/R in reagent_list) - R.holder = null - if(my_atom) - my_atom.reagents = null + update_total() + handle_reactions() + return amount - copy_data(var/datum/reagent/current_reagent) - if (current_reagent.id == "paint") return current_reagent.color - if (!current_reagent || !current_reagent.data) return null - if (!istype(current_reagent.data, /list)) return current_reagent.data +/datum/reagents/proc/trans_to_holder(var/datum/reagents/target, var/amount = 1, var/multiplier = 1, var/copy = 0) // Transfers [amount] reagents from [src] to [target], multiplying them by [multiplier]. Returns actual amount removed from [src] (not amount transferred to [target]). + if(!target || !istype(target)) + return - var/list/trans_data = current_reagent.data.Copy() + amount = min(amount, total_volume, target.get_free_space() / multiplier) - // We do this so that introducing a virus to a blood sample - // doesn't automagically infect all other blood samples from - // the same donor. - // - // Technically we should probably copy all data lists, but - // that could possibly eat up a lot of memory needlessly - // if most data lists are read-only. - if (trans_data["virus2"]) - var/list/v = trans_data["virus2"] - trans_data["virus2"] = v.Copy() + if(!amount) + return - return trans_data + var/part = amount / total_volume -/////////////////////////////////////////////////////////////////////////////////// + for(var/datum/reagent/current in reagent_list) + var/amount_to_transfer = current.volume * part + target.add_reagent(current.id, amount_to_transfer * multiplier, current.get_data(), safety = 1) // We don't react until everything is in place + if(!copy) + remove_reagent(current.id, amount_to_transfer, 1) + if(!copy) + handle_reactions() + target.handle_reactions() + return amount -// Convenience proc to create a reagents holder for an atom -// Max vol is maximum volume of holder -atom/proc/create_reagents(var/max_vol) +/* Holder-to-atom and similar procs */ + +/datum/reagents/proc/touch(var/atom/target) // This picks the appropriate reaction. Reagents are not guaranteed to transfer to the target. + if(ismob(target)) + touch_mob(target) + if(isturf(target)) + touch_turf(target) + if(isobj(target)) + touch_obj(target) + return + +/datum/reagents/proc/touch_mob(var/mob/target) + if(!target || !istype(target)) + return + + for(var/datum/reagent/current in reagent_list) + current.touch_mob(target) + + update_total() + +/datum/reagents/proc/touch_turf(var/turf/target) + if(!target || !istype(target)) + return + + for(var/datum/reagent/current in reagent_list) + current.touch_turf(target) + + update_total() + +/datum/reagents/proc/touch_obj(var/obj/target) + if(!target || !istype(target)) + return + + for(var/datum/reagent/current in reagent_list) + current.touch_obj(target) + + update_total() + +/datum/reagents/proc/trans_to(var/atom/target, var/amount = 1, var/multiplier = 1, var/copy = 0) + if(ismob(target)) + //warning("[my_atom] is trying to transfer reagents to [target], which is a mob, using trans_to()") + //return trans_to_mob(target, amount, multiplier, copy) + return splash_mob(target, amount) + if(isturf(target)) + return trans_to_turf(target, amount, multiplier, copy) + if(isobj(target)) + return trans_to_obj(target, amount, multiplier, copy) + return 0 + +/datum/reagents/proc/trans_id_to(var/atom/target, var/id, var/amount = 1) + if (!target || !target.reagents) + return + + amount = min(amount, get_reagent_amount(id)) + + if(!amount) + return + + var/datum/reagents/F = new /datum/reagents(amount) + var/tmpdata = get_data(id) + F.add_reagent(id, amount, tmpdata) + remove_reagent(id, amount) + + return F.trans_to(target, amount) // Let this proc check the atom's type + +/datum/reagents/proc/splash_mob(var/mob/target, var/amount = 1, var/clothes = 1) + var/perm = 0 + var/list/L = list("head" = THERMAL_PROTECTION_HEAD, "upper_torso" = THERMAL_PROTECTION_UPPER_TORSO, "lower_torso" = THERMAL_PROTECTION_LOWER_TORSO, "legs" = THERMAL_PROTECTION_LEG_LEFT + THERMAL_PROTECTION_LEG_RIGHT, "feet" = THERMAL_PROTECTION_FOOT_LEFT + THERMAL_PROTECTION_FOOT_RIGHT, "arms" = THERMAL_PROTECTION_ARM_LEFT + THERMAL_PROTECTION_ARM_RIGHT, "hands" = THERMAL_PROTECTION_HAND_LEFT + THERMAL_PROTECTION_HAND_RIGHT) + if(clothes) + for(var/obj/item/clothing/C in target.get_equipped_items()) + if(C.permeability_coefficient == 1 || C.body_parts_covered == 0) + continue + if(C.body_parts_covered & HEAD) + L["head"] *= C.permeability_coefficient + if(C.body_parts_covered & UPPER_TORSO) + L["upper_torso"] *= C.permeability_coefficient + if(C.body_parts_covered & LOWER_TORSO) + L["lower_torso"] *= C.permeability_coefficient + if(C.body_parts_covered & LEGS) + L["legs"] *= C.permeability_coefficient + if(C.body_parts_covered & FEET) + L["feet"] *= C.permeability_coefficient + if(C.body_parts_covered & ARMS) + L["arms"] *= C.permeability_coefficient + if(C.body_parts_covered & HANDS) + L["hands"] *= C.permeability_coefficient + for(var/t in L) + perm += L[t] + return trans_to_mob(target, amount, CHEM_TOUCH, perm) + +/datum/reagents/proc/trans_to_mob(var/mob/target, var/amount = 1, var/type = CHEM_BLOOD, var/multiplier = 1, var/copy = 0) // Transfer after checking into which holder... + if(!target || !istype(target)) + return + if(iscarbon(target)) + var/mob/living/carbon/C = target + if(type == CHEM_BLOOD) + var/datum/reagents/R = C.reagents + return trans_to_holder(R, amount, multiplier, copy) + if(type == CHEM_INGEST) + var/datum/reagents/R = C.ingested + return trans_to_holder(R, amount, multiplier, copy) + if(type == CHEM_TOUCH) + var/datum/reagents/R = C.touching + return trans_to_holder(R, amount, multiplier, copy) + else + var/datum/reagents/R = new /datum/reagents(amount) + . = trans_to_holder(R, amount, multiplier, copy) + R.touch_mob(target) + +/datum/reagents/proc/trans_to_turf(var/turf/target, var/amount = 1, var/multiplier = 1, var/copy = 0) // Turfs don't have any reagents (at least, for now). Just touch it. + if(!target) + return + + var/datum/reagents/R = new /datum/reagents(maximum_volume) + . = trans_to_holder(R, amount, multiplier, copy) + R.touch_turf(target) + return + +/datum/reagents/proc/trans_to_obj(var/turf/target, var/amount = 1, var/multiplier = 1, var/copy = 0) // Objects may or may not; if they do, it's probably a beaker or something and we need to transfer properly; otherwise, just touch. + if(!target) + return + + if(!target.reagents) + var/datum/reagents/R = new /datum/reagents(maximum_volume) + . = trans_to_holder(R, amount, multiplier, copy) + R.touch_obj(target) + return + + return trans_to_holder(target.reagents, amount, multiplier, copy) + +/datum/reagents/proc/metabolize(var/alien, var/location) + if(!iscarbon(my_atom)) + return + var/mob/living/carbon/C = my_atom + if(!C || !istype(C)) + return + for(var/datum/reagent/current in reagent_list) + current.on_mob_life(C, alien, location) + update_total() + +/* Atom reagent creation - use it all the time */ + +/atom/proc/create_reagents(var/max_vol) reagents = new/datum/reagents(max_vol) - reagents.my_atom = src + reagents.my_atom = src \ No newline at end of file diff --git a/code/modules/reagents/Chemistry-Machinery.dm b/code/modules/reagents/Chemistry-Machinery.dm index 6885f82d5d..547b2ab595 100644 --- a/code/modules/reagents/Chemistry-Machinery.dm +++ b/code/modules/reagents/Chemistry-Machinery.dm @@ -189,7 +189,7 @@ P.pixel_x = rand(-7, 7) //random position P.pixel_y = rand(-7, 7) P.icon_state = "pill"+pillsprite - reagents.trans_to(P,amount_per_pill) + reagents.trans_to_obj(P,amount_per_pill) if(src.loaded_pill_bottle) if(loaded_pill_bottle.contents.len < loaded_pill_bottle.storage_slots) P.loc = loaded_pill_bottle @@ -204,11 +204,11 @@ P.pixel_x = rand(-7, 7) //random position P.pixel_y = rand(-7, 7) P.icon_state = bottlesprite - reagents.trans_to(P,60) + reagents.trans_to_obj(P,60) P.update_icon() else var/obj/item/weapon/reagent_containers/food/condiment/P = new/obj/item/weapon/reagent_containers/food/condiment(src.loc) - reagents.trans_to(P,50) + reagents.trans_to_obj(P,50) else if(href_list["change_pill"]) #define MAX_PILL_SPRITE 20 //max icon state of the pill sprites var/dat = "" diff --git a/code/modules/reagents/Chemistry-Reagents-Antidepressants.dm b/code/modules/reagents/Chemistry-Reagents-Antidepressants.dm deleted file mode 100644 index 12ecf3a817..0000000000 --- a/code/modules/reagents/Chemistry-Reagents-Antidepressants.dm +++ /dev/null @@ -1,90 +0,0 @@ -#define ANTIDEPRESSANT_MESSAGE_DELAY 5*60*10 - -/datum/reagent/antidepressant/methylphenidate - name = "Methylphenidate" - id = "methylphenidate" - description = "Improves the ability to concentrate." - reagent_state = LIQUID - color = "#BF80BF" - custom_metabolism = 0.01 - data = 0 - - on_mob_life(var/mob/living/M as mob) - if(!M) M = holder.my_atom - if(src.volume <= 0.1) if(data != -1) - data = -1 - M << "\red You lose focus.." - else - if(world.time > data + ANTIDEPRESSANT_MESSAGE_DELAY) - data = world.time - M << "\blue Your mind feels focused and undivided." - ..() - return - -/datum/chemical_reaction/methylphenidate - name = "Methylphenidate" - id = "methylphenidate" - result = "methylphenidate" - required_reagents = list("mindbreaker" = 1, "hydrogen" = 1) - result_amount = 3 - -/datum/reagent/antidepressant/citalopram - name = "Citalopram" - id = "citalopram" - description = "Stabilizes the mind a little." - reagent_state = LIQUID - color = "#FF80FF" - custom_metabolism = 0.01 - data = 0 - - on_mob_life(var/mob/living/M as mob) - if(!M) M = holder.my_atom - if(src.volume <= 0.1) if(data != -1) - data = -1 - M << "\red Your mind feels a little less stable.." - else - if(world.time > data + ANTIDEPRESSANT_MESSAGE_DELAY) - data = world.time - M << "\blue Your mind feels stable.. a little stable." - ..() - return - -/datum/chemical_reaction/citalopram - name = "Citalopram" - id = "citalopram" - result = "citalopram" - required_reagents = list("mindbreaker" = 1, "carbon" = 1) - result_amount = 3 - - -/datum/reagent/antidepressant/paroxetine - name = "Paroxetine" - id = "paroxetine" - description = "Stabilizes the mind greatly, but has a chance of adverse effects." - reagent_state = LIQUID - color = "#FF80BF" - custom_metabolism = 0.01 - data = 0 - - on_mob_life(var/mob/living/M as mob) - if(!M) M = holder.my_atom - if(src.volume <= 0.1) if(data != -1) - data = -1 - M << "\red Your mind feels much less stable.." - else - if(world.time > data + ANTIDEPRESSANT_MESSAGE_DELAY) - data = world.time - if(prob(90)) - M << "\blue Your mind feels much more stable." - else - M << "\red Your mind breaks apart.." - M.hallucination += 200 - ..() - return - -/datum/chemical_reaction/paroxetine - name = "Paroxetine" - id = "paroxetine" - result = "paroxetine" - required_reagents = list("mindbreaker" = 1, "oxygen" = 1, "inaprovaline" = 1) - result_amount = 3 diff --git a/code/modules/reagents/Chemistry-Reagents.dm b/code/modules/reagents/Chemistry-Reagents.dm index d5a3095e49..f3c79c7aae 100644 --- a/code/modules/reagents/Chemistry-Reagents.dm +++ b/code/modules/reagents/Chemistry-Reagents.dm @@ -1,4441 +1,4119 @@ -#define SOLID 1 -#define LIQUID 2 -#define GAS 3 -#define REAGENTS_OVERDOSE 30 -#define REM REAGENTS_EFFECT_MULTIPLIER +/datum/reagent + var/name = "Reagent" + var/id = "reagent" + var/description = "A non-descript chemical." + var/datum/reagents/holder = null + var/reagent_state = SOLID + var/list/data = null + var/volume = 0 + var/metabolism = REM // This would be 0.2 normally + var/ingest_met = 0 + var/touch_met = 0 + var/dose = 0 + var/max_dose = 0 + var/overdose_blood = 0 + var/overdose_ingest = 0 + var/scannable = 0 // Shows up on health analyzers. + var/affects_dead = 0 + var/glass_icon_state = null + var/glass_name = null + var/glass_desc = null + var/glass_center_of_mass = null + var/color = "#000000" + var/color_weight = 1 -//The reaction procs must ALWAYS set src = null, this detaches the proc from the object (the reagent) -//so that it can continue working when the reagent is deleted while the proc is still active. +/datum/reagent/proc/remove_self(var/amount) // Shortcut + holder.remove_reagent(id, amount) + +/datum/reagent/proc/touch_mob(var/mob/M) // This doesn't apply to being splashed - this is for, e.g. extinguishers and sprays. The difference is that reagent is not on the mob - it's in another object. + return + +/datum/reagent/proc/touch_obj(var/obj/O) // Acid melting, cleaner cleaning, etc + return + +/datum/reagent/proc/touch_turf(var/turf/T) // Cleaner cleaning, lube lubbing, etc, all go here + return + +/datum/reagent/proc/on_mob_life(var/mob/living/carbon/M, var/alien, var/location) // Currently, on_mob_life is called on carbons. Any interaction with non-carbon mobs (lube) will need to be done in touch_mob. + if(!istype(M)) + return + if(!affects_dead && M.stat == DEAD) + return + if((overdose_blood && (location == CHEM_BLOOD) && dose > overdose_blood) || (overdose_ingest && (location == CHEM_INGEST) && dose > overdose_ingest)) + overdose(M, alien) + var/removed = metabolism + if(ingest_met && (location == CHEM_INGEST)) + removed = ingest_met + if(touch_met && (location == CHEM_TOUCH)) + removed = touch_met + removed = min(removed, volume) + max_dose = max(volume, max_dose) + dose = min(dose + removed, max_dose) + if(removed >= (metabolism * 0.1) || removed >= 0.1) // If there's too little chemical, don't affect the mob, just remove it + affect_mob(M, alien, removed, location) + remove_self(removed) + return + +/datum/reagent/proc/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) // This is the main working proc where the chemical does its magic + return + +/datum/reagent/proc/overdose(var/mob/living/carbon/M, var/alien) // Overdose effect. Doesn't happen instantly. + M.adjustToxLoss(REM) + return + +/datum/reagent/proc/initialize_data(var/newdata) // Called when the reagent is created. + if(!isnull(newdata)) + data = newdata + return + +/datum/reagent/proc/mix_data(var/newdata, var/newamount) // You have a reagent with data, and new reagent with its own data get added, how do you deal with that? + return + +/datum/reagent/proc/get_data() // Just in case you have a reagent that handles data differently. + if(data && istype(data, /list)) + return data.Copy() + else if(data) + return data + return null + +/* DEPRECATED - TODO: REMOVE EVERYWHERE */ + +/datum/reagent/proc/reaction_turf(var/turf/target) + touch_turf(target) + +/datum/reagent/proc/reaction_obj(var/obj/target) + touch_obj(target) + +/datum/reagent/proc/reaction_mob(var/mob/target) + touch_mob(target) -datum - reagent - var/name = "Reagent" - var/id = "reagent" - var/description = "" - var/datum/reagents/holder = null - var/reagent_state = SOLID - var/list/data = null - var/volume = 0 - var/nutriment_factor = 0 - var/custom_metabolism = REAGENTS_METABOLISM - var/overdose = 0 - var/overdose_dam = 1 - var/scannable = 0 //shows up on health analyzers - var/glass_icon_state = null - var/glass_name = null - var/glass_desc = null - var/glass_center_of_mass = null - //var/list/viruses = list() - var/color = "#000000" // rgb: 0, 0, 0 (does not support alpha channels - yet!) +/* REAGENTS START HERE */ - proc - reaction_mob(var/mob/M, var/method=TOUCH, var/volume) //By default we have a chance to transfer some - if(!istype(M, /mob/living)) return 0 - var/datum/reagent/self = src - src = null //of the reagent to the mob on TOUCHING it. +/* Core reagents - the most important ones */ - if(self.holder) //for catching rare runtimes - if(!istype(self.holder.my_atom, /obj/effect/effect/smoke/chem)) - // If the chemicals are in a smoke cloud, do not try to let the chemicals "penetrate" into the mob's system (balance station 13) -- Doohl +/datum/reagent/blood + data = new/list("donor" = null, "viruses" = null, "species" = "Human", "blood_DNA" = null, "blood_type" = null, "blood_colour" = "#A10808", "resistances" = null, "trace_chem" = null, "antibodies" = list()) + name = "Blood" + id = "blood" + reagent_state = LIQUID + metabolism = REM * 5 + color = "#C80000" - if(method == TOUCH) + glass_icon_state = "glass_red" + glass_name = "glass of tomato juice" + glass_desc = "Are you sure this is tomato juice?" - var/chance = 1 - var/block = 0 +/datum/reagent/blood/initialize_data(var/newdata) + ..() + if(data && data["blood_colour"]) + color = data["blood_colour"] + return - for(var/obj/item/clothing/C in M.get_equipped_items()) - if(C.permeability_coefficient < chance) chance = C.permeability_coefficient - if(istype(C, /obj/item/clothing/suit/bio_suit)) - // bio suits are just about completely fool-proof - Doohl - // kind of a hacky way of making bio suits more resistant to chemicals but w/e - if(prob(75)) - block = 1 +/datum/reagent/blood/get_data() // Just in case you have a reagent that handles data differently. + var/t = data.Copy() + if(t["virus2"]) + var/list/v = t["virus2"] + t["virus2"] = v.Copy() + return t - if(istype(C, /obj/item/clothing/head/bio_hood)) - if(prob(75)) - block = 1 +/datum/reagent/blood/mix_data(var/newdata, var/newamount) // You have a reagent with data, and new reagent with its own data get added, how do you deal with that? + if(data["viruses"] || newdata["viruses"]) + var/list/mix1 = data["viruses"] + var/list/mix2 = newdata["viruses"] + var/list/to_mix = list() // Stop issues with the list changing during mixing. + for(var/datum/disease/advance/AD in mix1) + to_mix += AD + for(var/datum/disease/advance/AD in mix2) + to_mix += AD + var/datum/disease/advance/AD = Advance_Mix(to_mix) + if(AD) + var/list/preserve = list(AD) + for(var/D in data["viruses"]) + if(!istype(D, /datum/disease/advance)) + preserve += D + data["viruses"] = preserve - chance = chance * 100 +/datum/reagent/blood/touch_turf(var/turf/simulated/T) + if(!istype(T) || volume < 3) + return + if(!data["donor"] || istype(data["donor"], /mob/living/carbon/human)) + blood_splatter(T, src, 1) + else if(istype(data["donor"], /mob/living/carbon/monkey)) + var/obj/effect/decal/cleanable/blood/B = blood_splatter(T, src, 1) + if(B) + B.blood_DNA["Non-Human DNA"] = "A+" + else if(istype(data["donor"], /mob/living/carbon/alien)) + var/obj/effect/decal/cleanable/blood/B = blood_splatter(T, src, 1) + if(B) + B.blood_DNA["UNKNOWN DNA STRUCTURE"] = "X*" - if(prob(chance) && !block) - if(M.reagents) - M.reagents.add_reagent(self.id,self.volume/2) - return 1 +/datum/reagent/blood/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(location == CHEM_INGEST) + if(dose > 5) + M.adjustToxLoss(removed) + if(dose > 15) + M.adjustToxLoss(removed) + if(location == CHEM_TOUCH) + if(data && data["viruses"]) + for(var/datum/disease/D in data["viruses"]) + if(D.spread_type == SPECIAL || D.spread_type == NON_CONTAGIOUS) + continue + M.contract_disease(D) + if(data && data["virus2"]) + var/list/vlist = data["virus2"] + if(vlist.len) + for(var/ID in vlist) + var/datum/disease2/disease/V = vlist[ID] + infect_virus2(M, V.getcopy()) + if(data && data["antibodies"]) + M.antibodies |= data["antibodies"] + if(location == CHEM_BLOOD) + M.inject_blood(src, volume) + remove_self(volume) - reaction_obj(var/obj/O, var/volume) //By default we transfer a small part of the reagent to the object - src = null //if it can hold reagents. nope! - //if(O.reagents) - // O.reagents.add_reagent(id,volume/3) - return +/datum/reagent/vaccine + name = "Vaccine" + id = "vaccine" + reagent_state = LIQUID + color = "#C81040" - reaction_turf(var/turf/T, var/volume) - src = null - return +/datum/reagent/vaccine/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(data && location == CHEM_BLOOD) + for(var/datum/disease/D in M.viruses) + if(istype(D, /datum/disease/advance)) + var/datum/disease/advance/A = D + if(A.GetDiseaseID() == data) + D.cure() + else + if(D.type == data) + D.cure() - on_mob_life(var/mob/living/M as mob, var/alien) - if(!istype(M, /mob/living)) - return //Noticed runtime errors from pacid trying to damage ghosts, this should fix. --NEO - if( (overdose > 0) && (volume >= overdose))//Overdosing, wooo - M.adjustToxLoss(overdose_dam) - holder.remove_reagent(src.id, custom_metabolism) //By default it slowly disappears. - return + M.resistances += data + return - on_move(var/mob/M) - return +#define WATER_LATENT_HEAT 19000 // How much heat is removed when applied to a hot turf, in J/unit (19000 makes 120 u of water roughly equivalent to 4L) +/datum/reagent/water + name = "Water" + id = "water" + description = "A ubiquitous chemical substance that is composed of hydrogen and oxygen." + reagent_state = LIQUID + color = "#0064C877" + metabolism = REM * 10 - // Called after add_reagents creates a new reagent. - on_new(var/data) - return + glass_icon_state = "glass_clear" + glass_name = "glass of water" + glass_desc = "The father of all refreshments." - // Called when two reagents of the same are mixing. <-- Blatant lies - on_merge(var/data) - return +/datum/reagent/water/touch_turf(var/turf/simulated/T) + if(!istype(T)) + return - on_update(var/atom/A) - return + var/datum/gas_mixture/environment = T.return_air() + var/min_temperature = T0C + 100 // 100C, the boiling point of water + var/hotspot = (locate(/obj/fire) in T) + if(hotspot && !istype(T, /turf/space)) + var/datum/gas_mixture/lowertemp = T.remove_air(T:air:total_moles) + lowertemp.temperature = max(min(lowertemp.temperature-2000, lowertemp.temperature / 2), 0) + lowertemp.react() + T.assume_air(lowertemp) + del(hotspot) + if (environment && environment.temperature > min_temperature) // Abstracted as steam or something + var/removed_heat = between(0, volume * WATER_LATENT_HEAT, -environment.get_thermal_energy_change(min_temperature)) + environment.add_thermal_energy(-removed_heat) + if (prob(5)) + T.visible_message("The water sizzles as it lands on \the [T]!") + else + if(volume >= 3) + if(T.wet >= 1) + return + T.wet = 1 + if(T.wet_overlay) + T.overlays -= T.wet_overlay + T.wet_overlay = null + T.wet_overlay = image('icons/effects/water.dmi',T,"wet_floor") + T.overlays += T.wet_overlay - blood - data = new/list("donor"=null,"viruses"=null,"species"="Human","blood_DNA"=null,"blood_type"=null,"blood_colour"= "#A10808","resistances"=null,"trace_chem"=null, "antibodies" = list()) - name = "Blood" - id = "blood" - reagent_state = LIQUID - color = "#C80000" // rgb: 200, 0, 0 - - glass_icon_state = "glass_red" - glass_name = "glass of tomato juice" - glass_desc = "Are you sure this is tomato juice?" - - reaction_mob(var/mob/M, var/method=TOUCH, var/volume) - var/datum/reagent/blood/self = src - src = null - if(self.data && self.data["viruses"]) - for(var/datum/disease/D in self.data["viruses"]) - //var/datum/disease/virus = new D.type(0, D, 1) - // We don't spread. - if(D.spread_type == SPECIAL || D.spread_type == NON_CONTAGIOUS) continue - - if(method == TOUCH) - M.contract_disease(D) - else //injected - M.contract_disease(D, 1, 0) - if(self.data && self.data["virus2"] && istype(M, /mob/living/carbon))//infecting... - var/list/vlist = self.data["virus2"] - if (vlist.len) - for (var/ID in vlist) - var/datum/disease2/disease/V = vlist[ID] - - if(method == TOUCH) - infect_virus2(M,V.getcopy()) - else - infect_virus2(M,V.getcopy(),1) //injected, force infection! - if(self.data && self.data["antibodies"] && istype(M, /mob/living/carbon))//... and curing - var/mob/living/carbon/C = M - C.antibodies |= self.data["antibodies"] - - on_merge(var/data) - if(data["blood_colour"]) - color = data["blood_colour"] - return ..() - - on_update(var/atom/A) - if(data["blood_colour"]) - color = data["blood_colour"] - return ..() - - reaction_turf(var/turf/simulated/T, var/volume)//splash the blood all over the place - if(!istype(T)) return - var/datum/reagent/blood/self = src - src = null - if(!(volume >= 3)) return - - if(!self.data["donor"] || istype(self.data["donor"], /mob/living/carbon/human)) - blood_splatter(T,self,1) - else if(istype(self.data["donor"], /mob/living/carbon/monkey)) - var/obj/effect/decal/cleanable/blood/B = blood_splatter(T,self,1) - if(B) B.blood_DNA["Non-Human DNA"] = "A+" - else if(istype(self.data["donor"], /mob/living/carbon/alien)) - var/obj/effect/decal/cleanable/blood/B = blood_splatter(T,self,1) - if(B) B.blood_DNA["UNKNOWN DNA STRUCTURE"] = "X*" - return - -/* Must check the transfering of reagents and their data first. They all can point to one disease datum. - - Del() - if(src.data["virus"]) - var/datum/disease/D = src.data["virus"] - D.cure(0) - ..() -*/ - vaccine - //data must contain virus type - name = "Vaccine" - id = "vaccine" - reagent_state = LIQUID - color = "#C81040" // rgb: 200, 16, 64 - - reaction_mob(var/mob/M, var/method=TOUCH, var/volume) - var/datum/reagent/vaccine/self = src - src = null - if(self.data&&method == INGEST) - for(var/datum/disease/D in M.viruses) - if(istype(D, /datum/disease/advance)) - var/datum/disease/advance/A = D - if(A.GetDiseaseID() == self.data) - D.cure() - else - if(D.type == self.data) - D.cure() - - M.resistances += self.data - return - - woodpulp - name = "Wood Pulp" - id = "woodpulp" - description = "A mass of wood fibers." - reagent_state = LIQUID - color = "#B97A57" - - #define WATER_LATENT_HEAT 19000 // How much heat is removed when applied to a hot turf, in J/unit (19000 makes 120 u of water roughly equivalent to 4L) - water - name = "Water" - id = "water" - description = "A ubiquitous chemical substance that is composed of hydrogen and oxygen." - reagent_state = LIQUID - color = "#0064C8" // rgb: 0, 100, 200 - custom_metabolism = 0.01 - - glass_icon_state = "glass_clear" - glass_name = "glass of water" - glass_desc = "The father of all refreshments." - - reaction_turf(var/turf/simulated/T, var/volume) - if (!istype(T)) return - - //If the turf is hot enough, remove some heat - var/datum/gas_mixture/environment = T.return_air() - var/min_temperature = T0C + 100 //100C, the boiling point of water - - if (environment && environment.temperature > min_temperature) //abstracted as steam or something - var/removed_heat = between(0, volume*WATER_LATENT_HEAT, -environment.get_thermal_energy_change(min_temperature)) - environment.add_thermal_energy(-removed_heat) - if (prob(5)) - T.visible_message("\red The water sizzles as it lands on \the [T]!") - - else //otherwise, the turf gets wet - if(volume >= 3) - if(T.wet >= 1) return - T.wet = 1 - if(T.wet_overlay) - T.overlays -= T.wet_overlay - T.wet_overlay = null - T.wet_overlay = image('icons/effects/water.dmi',T,"wet_floor") - T.overlays += T.wet_overlay - - src = null - spawn(800) - if (!istype(T)) return - if(T.wet >= 2) return - T.wet = 0 - if(T.wet_overlay) - T.overlays -= T.wet_overlay - T.wet_overlay = null - - //Put out fires. - var/hotspot = (locate(/obj/fire) in T) - if(hotspot) - del(hotspot) - if(environment) - environment.react() //react at the new temperature - - reaction_obj(var/obj/O, var/volume) - var/turf/T = get_turf(O) - var/hotspot = (locate(/obj/fire) in T) - if(hotspot && !istype(T, /turf/space)) - var/datum/gas_mixture/lowertemp = T.remove_air( T:air:total_moles ) - lowertemp.temperature = max( min(lowertemp.temperature-2000,lowertemp.temperature / 2) ,0) - lowertemp.react() - T.assume_air(lowertemp) - del(hotspot) - if(istype(O,/obj/item/weapon/reagent_containers/food/snacks/monkeycube)) - var/obj/item/weapon/reagent_containers/food/snacks/monkeycube/cube = O - if(!cube.wrapped) - cube.Expand() - - reaction_mob(var/mob/living/M, var/method=TOUCH, var/volume) - if (istype(M, /mob/living/carbon/slime)) - var/mob/living/carbon/slime/S = M - S.apply_water(volume) - if(method == TOUCH && isliving(M)) - M.adjust_fire_stacks(-(volume / 10)) - if(M.fire_stacks <= 0) - M.ExtinguishMob() + spawn(800) // This is terrible and needs to be changed when possible. + if(!T || !istype(T)) return - - water/holywater - name = "Holy Water" - id = "holywater" - description = "An ashen-obsidian-water mix, this solution will alter certain sections of the brain's rationality." - color = "#E0E8EF" // rgb: 224, 232, 239 - - glass_icon_state = "glass_clear" - glass_name = "glass of holy water" - glass_desc = "An ashen-obsidian-water mix, this solution will alter certain sections of the brain's rationality." - - on_mob_life(var/mob/living/M as mob) - if(ishuman(M)) - if(M.mind && cult.is_antagonist(M.mind) && prob(10)) - cult.remove_antagonist(M.mind) - holder.remove_reagent(src.id, 10 * REAGENTS_METABOLISM) //high metabolism to prevent extended uncult rolls. - return - - lube - name = "Space Lube" - id = "lube" - description = "Lubricant is a substance introduced between two moving surfaces to reduce the friction and wear between them. giggity." - reagent_state = LIQUID - color = "#009CA8" // rgb: 0, 156, 168 - overdose = REAGENTS_OVERDOSE - - reaction_turf(var/turf/simulated/T, var/volume) - if (!istype(T)) return - src = null - if(volume >= 1) - if(T.wet >= 2) return - T.wet = 2 - spawn(800) - if (!istype(T)) return - T.wet = 0 - if(T.wet_overlay) - T.overlays -= T.wet_overlay - T.wet_overlay = null - return - - plasticide - name = "Plasticide" - id = "plasticide" - description = "Liquid plastic, do not eat." - reagent_state = LIQUID - color = "#CF3600" // rgb: 207, 54, 0 - custom_metabolism = 0.01 - - on_mob_life(var/mob/living/M as mob) - if(!M) M = holder.my_atom - // Toxins are really weak, but without being treated, last very long. - M.adjustToxLoss(0.2) - ..() - return - - slimetoxin - name = "Mutation Toxin" - id = "mutationtoxin" - description = "A corruptive toxin produced by slimes." - reagent_state = LIQUID - color = "#13BC5E" // rgb: 19, 188, 94 - overdose = REAGENTS_OVERDOSE - - on_mob_life(var/mob/living/M as mob) - if(!M) M = holder.my_atom - if(ishuman(M)) - var/mob/living/carbon/human/human = M - if(human.species.name != "Slime") - M << "Your flesh rapidly mutates!" - human.set_species("Slime") - ..() - return - - aslimetoxin - name = "Advanced Mutation Toxin" - id = "amutationtoxin" - description = "An advanced corruptive toxin produced by slimes." - reagent_state = LIQUID - color = "#13BC5E" // rgb: 19, 188, 94 - overdose = REAGENTS_OVERDOSE - - on_mob_life(var/mob/living/M as mob) - if(!M) M = holder.my_atom - if(istype(M, /mob/living/carbon) && M.stat != DEAD) - M << "\red Your flesh rapidly mutates!" - if(M.monkeyizing) return - M.monkeyizing = 1 - M.canmove = 0 - M.icon = null - M.overlays.Cut() - M.invisibility = 101 - for(var/obj/item/W in M) - if(istype(W, /obj/item/weapon/implant)) //TODO: Carn. give implants a dropped() or something - del(W) - continue - W.layer = initial(W.layer) - W.loc = M.loc - W.dropped(M) - var/mob/living/carbon/slime/new_mob = new /mob/living/carbon/slime(M.loc) - new_mob.a_intent = "hurt" - new_mob.universal_speak = 1 - if(M.mind) - M.mind.transfer_to(new_mob) - else - new_mob.key = M.key - del(M) - ..() - return - - inaprovaline - name = "Inaprovaline" - id = "inaprovaline" - description = "Inaprovaline is a synaptic stimulant and cardiostimulant. Commonly used to stabilize patients." - reagent_state = LIQUID - color = "#00BFFF" // rgb: 200, 165, 220 - overdose = REAGENTS_OVERDOSE*2 - scannable = 1 - - on_mob_life(var/mob/living/M as mob, var/alien) - if(!M) M = holder.my_atom - - if(alien && alien == IS_VOX) - M.adjustToxLoss(REAGENTS_METABOLISM) - else - if(M.losebreath >= 10) - M.losebreath = max(10, M.losebreath-5) - - holder.remove_reagent(src.id, 0.5 * REAGENTS_METABOLISM) - return - - space_drugs - name = "Space drugs" - id = "space_drugs" - description = "An illegal chemical compound used as drug." - reagent_state = LIQUID - color = "#60A584" // rgb: 96, 165, 132 - overdose = REAGENTS_OVERDOSE - - on_mob_life(var/mob/living/M as mob) - if(!M) M = holder.my_atom - M.druggy = max(M.druggy, 15) - if(isturf(M.loc) && !istype(M.loc, /turf/space)) - if(M.canmove && !M.restrained()) - if(prob(10)) step(M, pick(cardinal)) - if(prob(7)) M.emote(pick("twitch","drool","moan","giggle")) - holder.remove_reagent(src.id, 0.5 * REAGENTS_METABOLISM) - return - - serotrotium - name = "Serotrotium" - id = "serotrotium" - description = "A chemical compound that promotes concentrated production of the serotonin neurotransmitter in humans." - reagent_state = LIQUID - color = "#202040" // rgb: 20, 20, 40 - overdose = REAGENTS_OVERDOSE - - on_mob_life(var/mob/living/M as mob) - if(ishuman(M)) - if(prob(7)) M.emote(pick("twitch","drool","moan","gasp")) - holder.remove_reagent(src.id, 0.25 * REAGENTS_METABOLISM) - return - - silicate - name = "Silicate" - id = "silicate" - description = "A compound that can be used to reinforce glass." - reagent_state = LIQUID - color = "#C7FFFF" // rgb: 199, 255, 255 - - reaction_obj(var/obj/O, var/volume) - src = null - if(istype(O,/obj/structure/window)) - var/obj/structure/window/W = O - W.apply_silicate(volume) - return - - oxygen - name = "Oxygen" - id = "oxygen" - description = "A colorless, odorless gas." - reagent_state = GAS - color = "#808080" // rgb: 128, 128, 128 - - custom_metabolism = 0.01 - - on_mob_life(var/mob/living/M as mob, var/alien) - if(M.stat == 2) return - if(alien && alien == IS_VOX) - M.adjustToxLoss(REAGENTS_METABOLISM) - holder.remove_reagent(src.id, REAGENTS_METABOLISM) //By default it slowly disappears. + if(T.wet >= 2) return - ..() - - copper - name = "Copper" - id = "copper" - description = "A highly ductile metal." - color = "#6E3B08" // rgb: 110, 59, 8 - - custom_metabolism = 0.01 - - nitrogen - name = "Nitrogen" - id = "nitrogen" - description = "A colorless, odorless, tasteless gas." - reagent_state = GAS - color = "#808080" // rgb: 128, 128, 128 - - custom_metabolism = 0.01 - - on_mob_life(var/mob/living/M as mob, var/alien) - if(M.stat == 2) return - if(alien && alien == IS_VOX) - M.adjustOxyLoss(-2*REM) - holder.remove_reagent(src.id, REAGENTS_METABOLISM) //By default it slowly disappears. - return - ..() - - hydrogen - name = "Hydrogen" - id = "hydrogen" - description = "A colorless, odorless, nonmetallic, tasteless, highly combustible diatomic gas." - reagent_state = GAS - color = "#808080" // rgb: 128, 128, 128 - - custom_metabolism = 0.01 - - potassium - name = "Potassium" - id = "potassium" - description = "A soft, low-melting solid that can easily be cut with a knife. Reacts violently with water." - reagent_state = SOLID - color = "#A0A0A0" // rgb: 160, 160, 160 - - custom_metabolism = 0.01 - - mercury - name = "Mercury" - id = "mercury" - description = "A chemical element." - reagent_state = LIQUID - color = "#484848" // rgb: 72, 72, 72 - overdose = REAGENTS_OVERDOSE - - on_mob_life(var/mob/living/M as mob) - if(!M) M = holder.my_atom - if(M.canmove && !M.restrained() && istype(M.loc, /turf/space)) - step(M, pick(cardinal)) - if(prob(5)) M.emote(pick("twitch","drool","moan")) - M.adjustBrainLoss(2) - ..() - return - - sulfur - name = "Sulfur" - id = "sulfur" - description = "A chemical element with a pungent smell." - reagent_state = SOLID - color = "#BF8C00" // rgb: 191, 140, 0 - - custom_metabolism = 0.01 - - carbon - name = "Carbon" - id = "carbon" - description = "A chemical element, the builing block of life." - reagent_state = SOLID - color = "#1C1300" // rgb: 30, 20, 0 - - custom_metabolism = 0.01 - - reaction_turf(var/turf/T, var/volume) - src = null - if(!istype(T, /turf/space)) - var/obj/effect/decal/cleanable/dirt/dirtoverlay = locate(/obj/effect/decal/cleanable/dirt, T) - if (!dirtoverlay) - dirtoverlay = new/obj/effect/decal/cleanable/dirt(T) - dirtoverlay.alpha = volume*30 - else - dirtoverlay.alpha = min(dirtoverlay.alpha+volume*30, 255) - - chlorine - name = "Chlorine" - id = "chlorine" - description = "A chemical element with a characteristic odour." - reagent_state = GAS - color = "#808080" // rgb: 128, 128, 128 - overdose = REAGENTS_OVERDOSE - - on_mob_life(var/mob/living/M as mob) - if(!M) M = holder.my_atom - M.take_organ_damage(1*REM, 0) - ..() - return - - fluorine - name = "Fluorine" - id = "fluorine" - description = "A highly-reactive chemical element." - reagent_state = GAS - color = "#808080" // rgb: 128, 128, 128 - overdose = REAGENTS_OVERDOSE - - on_mob_life(var/mob/living/M as mob) - if(!M) M = holder.my_atom - M.adjustToxLoss(1*REM) - ..() - return - - sodium - name = "Sodium" - id = "sodium" - description = "A chemical element, readily reacts with water." - reagent_state = SOLID - color = "#808080" // rgb: 128, 128, 128 - - custom_metabolism = 0.01 - - phosphorus - name = "Phosphorus" - id = "phosphorus" - description = "A chemical element, the backbone of biological energy carriers." - reagent_state = SOLID - color = "#832828" // rgb: 131, 40, 40 - - custom_metabolism = 0.01 - - lithium - name = "Lithium" - id = "lithium" - description = "A chemical element, used as antidepressant." - reagent_state = SOLID - color = "#808080" // rgb: 128, 128, 128 - overdose = REAGENTS_OVERDOSE - - on_mob_life(var/mob/living/M as mob) - if(!M) M = holder.my_atom - if(M.canmove && !M.restrained() && istype(M.loc, /turf/space)) - step(M, pick(cardinal)) - if(prob(5)) M.emote(pick("twitch","drool","moan")) - ..() - return - - sugar - name = "Sugar" - id = "sugar" - description = "The organic compound commonly known as table sugar and sometimes called saccharose. This white, odorless, crystalline powder has a pleasing, sweet taste." - reagent_state = SOLID - color = "#FFFFFF" // rgb: 255, 255, 255 - - glass_icon_state = "iceglass" - glass_name = "glass of sugar" - glass_desc = "The organic compound commonly known as table sugar and sometimes called saccharose. This white, odorless, crystalline powder has a pleasing, sweet taste." - - on_mob_life(var/mob/living/M as mob) - M.nutrition += 1*REM - ..() - return - - - glycerol - name = "Glycerol" - id = "glycerol" - description = "Glycerol is a simple polyol compound. Glycerol is sweet-tasting and of low toxicity." - reagent_state = LIQUID - color = "#808080" // rgb: 128, 128, 128 - - custom_metabolism = 0.01 - - nitroglycerin - name = "Nitroglycerin" - id = "nitroglycerin" - description = "Nitroglycerin is a heavy, colorless, oily, explosive liquid obtained by nitrating glycerol." - reagent_state = LIQUID - color = "#808080" // rgb: 128, 128, 128 - - custom_metabolism = 0.01 - - radium - name = "Radium" - id = "radium" - description = "Radium is an alkaline earth metal. It is extremely radioactive." - reagent_state = SOLID - color = "#C7C7C7" // rgb: 199,199,199 - - on_mob_life(var/mob/living/M as mob) - if(!M) M = holder.my_atom - M.apply_effect(2*REM,IRRADIATE,0) - // radium may increase your chances to cure a disease - if(istype(M,/mob/living/carbon)) // make sure to only use it on carbon mobs - var/mob/living/carbon/C = M - if(C.virus2.len) - for (var/ID in C.virus2) - var/datum/disease2/disease/V = C.virus2[ID] - if(prob(5)) - C.antibodies |= V.antigen - if(prob(50)) - M.radiation += 50 // curing it that way may kill you instead - var/absorbed - var/datum/organ/internal/diona/nutrients/rad_organ = locate() in C.internal_organs - if(rad_organ && !rad_organ.is_broken()) - absorbed = 1 - if(!absorbed) - M.adjustToxLoss(100) - ..() - return - - reaction_turf(var/turf/T, var/volume) - src = null - if(volume >= 3) - if(!istype(T, /turf/space)) - var/obj/effect/decal/cleanable/greenglow/glow = locate(/obj/effect/decal/cleanable/greenglow, T) - if(!glow) - new /obj/effect/decal/cleanable/greenglow(T) - return - - - ryetalyn - name = "Ryetalyn" - id = "ryetalyn" - description = "Ryetalyn can cure all genetic abnomalities via a catalytic process." - reagent_state = SOLID - color = "#004000" // rgb: 200, 165, 220 - overdose = REAGENTS_OVERDOSE - - on_mob_life(var/mob/living/M as mob) - if(!M) M = holder.my_atom - - var/needs_update = M.mutations.len > 0 - - M.mutations = list() - M.disabilities = 0 - M.sdisabilities = 0 - - // Might need to update appearance for hulk etc. - if(needs_update && ishuman(M)) - var/mob/living/carbon/human/H = M - H.update_mutations() - - ..() - return - - thermite - name = "Thermite" - id = "thermite" - description = "Thermite produces an aluminothermic reaction known as a thermite reaction. Can be used to melt walls." - reagent_state = SOLID - color = "#673910" // rgb: 103, 57, 16 - - reaction_turf(var/turf/T, var/volume) - src = null - if(volume >= 5) - if(istype(T, /turf/simulated/wall)) - var/turf/simulated/wall/W = T - W.thermite = 1 - W.overlays += image('icons/effects/effects.dmi',icon_state = "#673910") - return - - on_mob_life(var/mob/living/M as mob) - if(!M) M = holder.my_atom - M.adjustFireLoss(1) - ..() - return - - paracetamol - name = "Paracetamol" - id = "paracetamol" - description = "Most probably know this as Tylenol, but this chemical is a mild, simple painkiller." - reagent_state = LIQUID - color = "#C8A5DC" - overdose = 60 - scannable = 1 - custom_metabolism = 0.025 // Lasts 10 minutes for 15 units - - on_mob_life(var/mob/living/M as mob) - if (volume > overdose) - M.hallucination = max(M.hallucination, 2) - ..() - return - - tramadol - name = "Tramadol" - id = "tramadol" - description = "A simple, yet effective painkiller." - reagent_state = LIQUID - color = "#CB68FC" - overdose = 30 - scannable = 1 - custom_metabolism = 0.025 // Lasts 10 minutes for 15 units - - on_mob_life(var/mob/living/M as mob) - if (volume > overdose) - M.hallucination = max(M.hallucination, 2) - ..() - return - - oxycodone - name = "Oxycodone" - id = "oxycodone" - description = "An effective and very addictive painkiller." - reagent_state = LIQUID - color = "#800080" - overdose = 20 - custom_metabolism = 0.25 // Lasts 10 minutes for 15 units - - on_mob_life(var/mob/living/M as mob) - if (volume > overdose) - M.druggy = max(M.druggy, 10) - M.hallucination = max(M.hallucination, 3) - ..() - return - - - virus_food - name = "Virus Food" - id = "virusfood" - description = "A mixture of water, milk, and oxygen. Virus cells can use this mixture to reproduce." - reagent_state = LIQUID - nutriment_factor = 2 * REAGENTS_METABOLISM - color = "#899613" // rgb: 137, 150, 19 - - on_mob_life(var/mob/living/M as mob) - if(!M) M = holder.my_atom - M.nutrition += nutriment_factor*REM - ..() - return - - sterilizine - name = "Sterilizine" - id = "sterilizine" - description = "Sterilizes wounds in preparation for surgery." - reagent_state = LIQUID - color = "#C8A5DC" // rgb: 200, 165, 220 - - //makes you squeaky clean - reaction_mob(var/mob/living/M, var/method=TOUCH, var/volume) - if (method == TOUCH) - M.germ_level -= min(volume*20, M.germ_level) - - reaction_obj(var/obj/O, var/volume) - O.germ_level -= min(volume*20, O.germ_level) - - reaction_turf(var/turf/T, var/volume) - T.germ_level -= min(volume*20, T.germ_level) - - /* reaction_mob(var/mob/living/M, var/method=TOUCH, var/volume) - src = null - if (method==TOUCH) - if(istype(M, /mob/living/carbon/human)) - if(M.health >= -100 && M.health <= 0) - M.crit_op_stage = 0.0 - if (method==INGEST) - usr << "Well, that was stupid." - M.adjustToxLoss(3) - return - on_mob_life(var/mob/living/M as mob) - if(!M) M = holder.my_atom - M.radiation += 3 - ..() - return - */ - iron - name = "Iron" - id = "iron" - description = "Pure iron is a metal." - reagent_state = SOLID - color = "#353535" - overdose = REAGENTS_OVERDOSE - - gold - name = "Gold" - id = "gold" - description = "Gold is a dense, soft, shiny metal and the most malleable and ductile metal known." - reagent_state = SOLID - color = "#F7C430" // rgb: 247, 196, 48 - - silver - name = "Silver" - id = "silver" - description = "A soft, white, lustrous transition metal, it has the highest electrical conductivity of any element and the highest thermal conductivity of any metal." - reagent_state = SOLID - color = "#D0D0D0" // rgb: 208, 208, 208 - - uranium - name ="Uranium" - id = "uranium" - description = "A silvery-white metallic chemical element in the actinide series, weakly radioactive." - reagent_state = SOLID - color = "#B8B8C0" // rgb: 184, 184, 192 - - on_mob_life(var/mob/living/M as mob) - if(!M) M = holder.my_atom - M.apply_effect(1,IRRADIATE,0) - ..() - return - - reaction_turf(var/turf/T, var/volume) - src = null - if(volume >= 3) - if(!istype(T, /turf/space)) - var/obj/effect/decal/cleanable/greenglow/glow = locate(/obj/effect/decal/cleanable/greenglow, T) - if(!glow) - new /obj/effect/decal/cleanable/greenglow(T) - return - - aluminum - name = "Aluminum" - id = "aluminum" - description = "A silvery white and ductile member of the boron group of chemical elements." - reagent_state = SOLID - color = "#A8A8A8" // rgb: 168, 168, 168 - - silicon - name = "Silicon" - id = "silicon" - description = "A tetravalent metalloid, silicon is less reactive than its chemical analog carbon." - reagent_state = SOLID - color = "#A8A8A8" // rgb: 168, 168, 168 - - fuel - name = "Welding fuel" - id = "fuel" - description = "Required for welders. Flamable." - reagent_state = LIQUID - color = "#660000" // rgb: 102, 0, 0 - overdose = REAGENTS_OVERDOSE - - glass_icon_state = "dr_gibb_glass" - glass_name = "glass of welder fuel" - glass_desc = "Unless you are an industrial tool, this is probably not safe for consumption." - - reaction_obj(var/obj/O, var/volume) - var/turf/the_turf = get_turf(O) - if(!the_turf) - return //No sense trying to start a fire if you don't have a turf to set on fire. --NEO - new /obj/effect/decal/cleanable/liquid_fuel(the_turf, volume) - reaction_turf(var/turf/T, var/volume) - new /obj/effect/decal/cleanable/liquid_fuel(T, volume) - return - on_mob_life(var/mob/living/M as mob) - if(!M) M = holder.my_atom - M.adjustToxLoss(1) - ..() - return - reaction_mob(var/mob/living/M, var/method=TOUCH, var/volume)//Splashing people with welding fuel to make them easy to ignite! - if(!istype(M, /mob/living)) - return - if(method == TOUCH) - M.adjust_fire_stacks(volume / 10) - return - - space_cleaner - name = "Space cleaner" - id = "cleaner" - description = "A compound used to clean things. Now with 50% more sodium hypochlorite!" - reagent_state = LIQUID - color = "#A5F0EE" // rgb: 165, 240, 238 - overdose = REAGENTS_OVERDOSE - - reaction_obj(var/obj/O, var/volume) - if(istype(O,/obj/effect/decal/cleanable)) - del(O) - else - if(O) - O.clean_blood() - - reaction_turf(var/turf/T, var/volume) - if(volume >= 1) - if(istype(T, /turf/simulated)) - var/turf/simulated/S = T - S.dirt = 0 - T.clean_blood() - for(var/obj/effect/decal/cleanable/C in T.contents) - src.reaction_obj(C, volume) - del(C) - - for(var/mob/living/carbon/slime/M in T) - M.adjustToxLoss(rand(5,10)) - - reaction_mob(var/mob/M, var/method=TOUCH, var/volume) - if(iscarbon(M)) - var/mob/living/carbon/C = M - if(C.r_hand) - C.r_hand.clean_blood() - if(C.l_hand) - C.l_hand.clean_blood() - if(C.wear_mask) - if(C.wear_mask.clean_blood()) - C.update_inv_wear_mask(0) - if(ishuman(M)) - var/mob/living/carbon/human/H = C - if(H.head) - if(H.head.clean_blood()) - H.update_inv_head(0) - if(H.wear_suit) - if(H.wear_suit.clean_blood()) - H.update_inv_wear_suit(0) - else if(H.w_uniform) - if(H.w_uniform.clean_blood()) - H.update_inv_w_uniform(0) - if(H.shoes) - if(H.shoes.clean_blood()) - H.update_inv_shoes(0) - else - H.clean_blood(1) - return - M.clean_blood() - - leporazine - name = "Leporazine" - id = "leporazine" - description = "Leporazine can be use to stabilize an individuals body temperature." - reagent_state = LIQUID - color = "#C8A5DC" // rgb: 200, 165, 220 - overdose = REAGENTS_OVERDOSE - scannable = 1 - - on_mob_life(var/mob/living/M as mob) - if(!M) M = holder.my_atom - if(M.bodytemperature > 310) - M.bodytemperature = max(310, M.bodytemperature - (40 * TEMPERATURE_DAMAGE_COEFFICIENT)) - else if(M.bodytemperature < 311) - M.bodytemperature = min(310, M.bodytemperature + (40 * TEMPERATURE_DAMAGE_COEFFICIENT)) - ..() - return - - cryptobiolin - name = "Cryptobiolin" - id = "cryptobiolin" - description = "Cryptobiolin causes confusion and dizzyness." - reagent_state = LIQUID - color = "#000055" // rgb: 200, 165, 220 - overdose = REAGENTS_OVERDOSE - - on_mob_life(var/mob/living/M as mob) - if(!M) M = holder.my_atom - M.make_dizzy(1) - if(!M.confused) M.confused = 1 - M.confused = max(M.confused, 20) - holder.remove_reagent(src.id, 0.5 * REAGENTS_METABOLISM) - ..() - return - - - kelotane - name = "Kelotane" - id = "kelotane" - description = "Kelotane is a drug used to treat burns." - reagent_state = LIQUID - color = "#FFA800" // rgb: 200, 165, 220 - overdose = REAGENTS_OVERDOSE - scannable = 1 - - on_mob_life(var/mob/living/M as mob) - if(M.stat == 2.0) - return - if(!M) M = holder.my_atom - //This needs a diona check but if one is added they won't be able to heal burn damage at all. - M.heal_organ_damage(0,2*REM) - ..() - return - - dermaline - name = "Dermaline" - id = "dermaline" - description = "Dermaline is the next step in burn medication. Works twice as good as kelotane and enables the body to restore even the direst heat-damaged tissue." - reagent_state = LIQUID - color = "#FF8000" // rgb: 200, 165, 220 - overdose = REAGENTS_OVERDOSE/2 - scannable = 1 - - on_mob_life(var/mob/living/M as mob, var/alien) - if(M.stat == 2.0) //THE GUY IS **DEAD**! BEREFT OF ALL LIFE HE RESTS IN PEACE etc etc. He does NOT metabolise shit anymore, god DAMN - return - if(!M) M = holder.my_atom - if(!alien || alien != IS_DIONA) - M.heal_organ_damage(0,3*REM) - ..() - return - - dexalin - name = "Dexalin" - id = "dexalin" - description = "Dexalin is used in the treatment of oxygen deprivation." - reagent_state = LIQUID - color = "#0080FF" // rgb: 200, 165, 220 - overdose = REAGENTS_OVERDOSE - scannable = 1 - - on_mob_life(var/mob/living/M as mob, var/alien) - if(M.stat == 2.0) - return //See above, down and around. --Agouri - if(!M) M = holder.my_atom - - if(alien && alien == IS_VOX) - M.adjustToxLoss(2*REM) - else if(!alien || alien != IS_DIONA) - M.adjustOxyLoss(-2*REM) - - holder.remove_reagent("lexorin", 2*REM) - ..() - return - - dexalinp - name = "Dexalin Plus" - id = "dexalinp" - description = "Dexalin Plus is used in the treatment of oxygen deprivation. It is highly effective." - reagent_state = LIQUID - color = "#0040FF" // rgb: 200, 165, 220 - overdose = REAGENTS_OVERDOSE/2 - scannable = 1 - - on_mob_life(var/mob/living/M as mob, var/alien) - if(M.stat == 2.0) - return - if(!M) M = holder.my_atom - - if(alien && alien == IS_VOX) - M.adjustOxyLoss() - else if(!alien || alien != IS_DIONA) - M.adjustOxyLoss(-M.getOxyLoss()) - - holder.remove_reagent("lexorin", 2*REM) - ..() - return - - tricordrazine - name = "Tricordrazine" - id = "tricordrazine" - description = "Tricordrazine is a highly potent stimulant, originally derived from cordrazine. Can be used to treat a wide range of injuries." - reagent_state = LIQUID - color = "#8040FF" // rgb: 200, 165, 220 - scannable = 1 - - on_mob_life(var/mob/living/M as mob, var/alien) - if(M.stat == 2.0) - return - if(!M) M = holder.my_atom - if(!alien || alien != IS_DIONA) - if(M.getOxyLoss()) M.adjustOxyLoss(-1*REM) - if(M.getBruteLoss() && prob(80)) M.heal_organ_damage(1*REM,0) - if(M.getFireLoss() && prob(80)) M.heal_organ_damage(0,1*REM) - if(M.getToxLoss() && prob(80)) M.adjustToxLoss(-1*REM) - ..() - return - - anti_toxin - name = "Dylovene" - id = "anti_toxin" - description = "Dylovene is a broad-spectrum antitoxin." - reagent_state = LIQUID - color = "#00A000" // rgb: 200, 165, 220 - scannable = 1 - - on_mob_life(var/mob/living/M as mob, var/alien) - if(!M) M = holder.my_atom - if(!alien || alien != IS_DIONA) - M.reagents.remove_all_type(/datum/reagent/toxin, 1*REM, 0, 1) - M.drowsyness = max(M.drowsyness-2*REM, 0) - M.hallucination = max(0, M.hallucination - 5*REM) - M.adjustToxLoss(-2*REM) - ..() - return - - adminordrazine //An OP chemical for admins - name = "Adminordrazine" - id = "adminordrazine" - description = "It's magic. We don't have to explain it." - reagent_state = LIQUID - color = "#C8A5DC" // rgb: 200, 165, 220 - - glass_icon_state = "golden_cup" - glass_name = "golden cup" - glass_desc = "It's magic. We don't have to explain it." - - on_mob_life(var/mob/living/carbon/M as mob) - if(!M) M = holder.my_atom ///This can even heal dead people. - M.reagents.remove_all_type(/datum/reagent/toxin, 5*REM, 0, 1) - M.setCloneLoss(0) - M.setOxyLoss(0) - M.radiation = 0 - M.heal_organ_damage(5,5) - M.adjustToxLoss(-5) - M.hallucination = 0 - M.setBrainLoss(0) - M.disabilities = 0 - M.sdisabilities = 0 - M.eye_blurry = 0 - M.eye_blind = 0 - M.SetWeakened(0) - M.SetStunned(0) - M.SetParalysis(0) - M.silent = 0 - M.dizziness = 0 - M.drowsyness = 0 - M.stuttering = 0 - M.confused = 0 - M.sleeping = 0 - M.jitteriness = 0 - for(var/datum/disease/D in M.viruses) - D.spread = "Remissive" - D.stage-- - if(D.stage < 1) - D.cure() - ..() - return - synaptizine - - name = "Synaptizine" - id = "synaptizine" - description = "Synaptizine is used to treat various diseases." - reagent_state = LIQUID - color = "#99CCFF" // rgb: 200, 165, 220 - custom_metabolism = 0.01 - overdose = REAGENTS_OVERDOSE - scannable = 1 - - on_mob_life(var/mob/living/M as mob) - if(!M) M = holder.my_atom - M.drowsyness = max(M.drowsyness-5, 0) - M.AdjustParalysis(-1) - M.AdjustStunned(-1) - M.AdjustWeakened(-1) - holder.remove_reagent("mindbreaker", 5) - M.hallucination = max(0, M.hallucination - 10) - if(prob(60)) M.adjustToxLoss(1) - ..() - return - - impedrezene - name = "Impedrezene" - id = "impedrezene" - description = "Impedrezene is a narcotic that impedes one's ability by slowing down the higher brain cell functions." - reagent_state = LIQUID - color = "#C8A5DC" // rgb: 200, 165, 220 - overdose = REAGENTS_OVERDOSE - - on_mob_life(var/mob/living/M as mob) - if(!M) M = holder.my_atom - M.jitteriness = max(M.jitteriness-5,0) - if(prob(80)) M.adjustBrainLoss(1*REM) - if(prob(50)) M.drowsyness = max(M.drowsyness, 3) - if(prob(10)) M.emote("drool") - ..() - return - - hyronalin - name = "Hyronalin" - id = "hyronalin" - description = "Hyronalin is a medicinal drug used to counter the effect of radiation poisoning." - reagent_state = LIQUID - color = "#408000" // rgb: 200, 165, 220 - custom_metabolism = 0.05 - overdose = REAGENTS_OVERDOSE - scannable = 1 - - on_mob_life(var/mob/living/M as mob) - if(!M) M = holder.my_atom - M.radiation = max(M.radiation-3*REM,0) - ..() - return - - arithrazine - name = "Arithrazine" - id = "arithrazine" - description = "Arithrazine is an unstable medication used for the most extreme cases of radiation poisoning." - reagent_state = LIQUID - color = "#008000" // rgb: 200, 165, 220 - custom_metabolism = 0.05 - overdose = REAGENTS_OVERDOSE - - on_mob_life(var/mob/living/M as mob) - if(M.stat == 2.0) - return //See above, down and around. --Agouri - if(!M) M = holder.my_atom - M.radiation = max(M.radiation-7*REM,0) - M.adjustToxLoss(-1*REM) - if(prob(15)) - M.take_organ_damage(1, 0) - ..() - return - - alkysine - name = "Alkysine" - id = "alkysine" - description = "Alkysine is a drug used to lessen the damage to neurological tissue after a catastrophic injury. Can heal brain tissue." - reagent_state = LIQUID - color = "#FFFF66" // rgb: 200, 165, 220 - custom_metabolism = 0.05 - overdose = REAGENTS_OVERDOSE - scannable = 1 - - on_mob_life(var/mob/living/M as mob) - if(!M) M = holder.my_atom - M.adjustBrainLoss(-3*REM) - ..() - return - - imidazoline - name = "Imidazoline" - id = "imidazoline" - description = "Heals eye damage" - reagent_state = LIQUID - color = "#C8A5DC" // rgb: 200, 165, 220 - overdose = REAGENTS_OVERDOSE - scannable = 1 - - on_mob_life(var/mob/living/M as mob) - if(!M) M = holder.my_atom - M.eye_blurry = max(M.eye_blurry-5 , 0) - M.eye_blind = max(M.eye_blind-5 , 0) - if(ishuman(M)) - var/mob/living/carbon/human/H = M - var/datum/organ/internal/eyes/E = H.internal_organs_by_name["eyes"] - if(E && istype(E)) - if(E.damage > 0) - E.damage = max(E.damage - 1, 0) - ..() - return - - peridaxon - name = "Peridaxon" - id = "peridaxon" - description = "Used to encourage recovery of internal organs and nervous systems. Medicate cautiously." - reagent_state = LIQUID - color = "#561EC3" // rgb: 200, 165, 220 - overdose = 10 - scannable = 1 - - on_mob_life(var/mob/living/M as mob) - if(!M) M = holder.my_atom - if(ishuman(M)) - var/mob/living/carbon/human/H = M - - //Peridaxon heals only non-robotic organs - for(var/datum/organ/internal/I in H.internal_organs) - if((I.damage > 0) && (I.robotic != 2)) - I.damage = max(I.damage - 0.20, 0) - ..() - return - - bicaridine - name = "Bicaridine" - id = "bicaridine" - description = "Bicaridine is an analgesic medication and can be used to treat blunt trauma." - reagent_state = LIQUID - color = "#BF0000" // rgb: 200, 165, 220 - overdose = REAGENTS_OVERDOSE - scannable = 1 - - on_mob_life(var/mob/living/M as mob, var/alien) - if(M.stat == 2.0) - return - if(!M) M = holder.my_atom - if(alien != IS_DIONA) - M.heal_organ_damage(2*REM,0) - ..() - return - - hyperzine - name = "Hyperzine" - id = "hyperzine" - description = "Hyperzine is a highly effective, long lasting, muscle stimulant." - reagent_state = LIQUID - color = "#FF3300" // rgb: 200, 165, 220 - custom_metabolism = 0.03 - overdose = REAGENTS_OVERDOSE/2 - - on_mob_life(var/mob/living/M as mob) - if(!M) M = holder.my_atom - if(prob(5)) M.emote(pick("twitch","blink_r","shiver")) - ..() - return - - adrenaline - name = "Adrenaline" - id = "adrenaline" - description = "Adrenaline is a hormone used as a drug to treat cardiac arrest and other cardiac dysrhythmias resulting in diminished or absent cardiac output." - reagent_state = LIQUID - color = "#C8A5DC" // rgb: 200, 165, 220 - - on_mob_life(var/mob/living/M as mob) - if(!M) M = holder.my_atom - M.SetParalysis(0) - M.SetWeakened(0) - M.adjustToxLoss(rand(3)) - ..() - return - - cryoxadone - name = "Cryoxadone" - id = "cryoxadone" - description = "A chemical mixture with almost magical healing powers. Its main limitation is that the targets body temperature must be under 170K for it to metabolise correctly." - reagent_state = LIQUID - color = "#8080FF" // rgb: 200, 165, 220 - scannable = 1 - - on_mob_life(var/mob/living/M as mob) - if(!M) M = holder.my_atom - if(M.bodytemperature < 170) - M.adjustCloneLoss(-1) - M.adjustOxyLoss(-1) - M.heal_organ_damage(1,1) - M.adjustToxLoss(-1) - ..() - return - - clonexadone - name = "Clonexadone" - id = "clonexadone" - description = "A liquid compound similar to that used in the cloning process. Can be used to 'finish' the cloning process when used in conjunction with a cryo tube." - reagent_state = LIQUID - color = "#80BFFF" // rgb: 200, 165, 220 - scannable = 1 - - on_mob_life(var/mob/living/M as mob) - if(!M) M = holder.my_atom - if(M.bodytemperature < 170) - M.adjustCloneLoss(-3) - M.adjustOxyLoss(-3) - M.heal_organ_damage(3,3) - M.adjustToxLoss(-3) - ..() - return - - rezadone - name = "Rezadone" - id = "rezadone" - description = "A powder derived from fish toxin, this substance can effectively treat genetic damage in humanoids, though excessive consumption has side effects." - reagent_state = SOLID - color = "#669900" // rgb: 102, 153, 0 - overdose = REAGENTS_OVERDOSE - scannable = 1 - - on_mob_life(var/mob/living/M as mob) - if(!M) M = holder.my_atom - if(!data) data = 1 - data++ - switch(data) - if(1 to 15) - M.adjustCloneLoss(-1) - M.heal_organ_damage(1,1) - if(15 to 35) - M.adjustCloneLoss(-2) - M.heal_organ_damage(2,1) - M.status_flags &= ~DISFIGURED - if(35 to INFINITY) - M.adjustToxLoss(1) - M.make_dizzy(5) - M.make_jittery(5) - - ..() - return - - spaceacillin - name = "Spaceacillin" - id = "spaceacillin" - description = "An all-purpose antiviral agent." - reagent_state = LIQUID - color = "#C1C1C1" // rgb: 200, 165, 220 - custom_metabolism = 0.01 - overdose = REAGENTS_OVERDOSE - scannable = 1 - - on_mob_life(var/mob/living/M as mob) - ..() - return - - -/////////////////////////////////////////////////////////////////////////////////////////////////////////////// - - nanites - name = "Nanomachines" - id = "nanites" - description = "Microscopic construction robots." - reagent_state = LIQUID - color = "#535E66" // rgb: 83, 94, 102 - - reaction_mob(var/mob/M, var/method=TOUCH, var/volume) - src = null - if( (prob(10) && method==TOUCH) || method==INGEST) - M.contract_disease(new /datum/disease/robotic_transformation(0),1) - - xenomicrobes - name = "Xenomicrobes" - id = "xenomicrobes" - description = "Microbes with an entirely alien cellular structure." - reagent_state = LIQUID - color = "#535E66" // rgb: 83, 94, 102 - - reaction_mob(var/mob/M, var/method=TOUCH, var/volume) - src = null - if( (prob(10) && method==TOUCH) || method==INGEST) - M.contract_disease(new /datum/disease/xeno_transformation(0),1) - - fluorosurfactant//foam precursor - name = "Fluorosurfactant" - id = "fluorosurfactant" - description = "A perfluoronated sulfonic acid that forms a foam when mixed with water." - reagent_state = LIQUID - color = "#9E6B38" // rgb: 158, 107, 56 - - foaming_agent// Metal foaming agent. This is lithium hydride. Add other recipes (e.g. LiH + H2O -> LiOH + H2) eventually. - name = "Foaming agent" - id = "foaming_agent" - description = "A agent that yields metallic foam when mixed with light metal and a strong acid." - reagent_state = SOLID - color = "#664B63" // rgb: 102, 75, 99 - - nicotine - name = "Nicotine" - id = "nicotine" - description = "A highly addictive stimulant extracted from the tobacco plant." - reagent_state = LIQUID - color = "#181818" // rgb: 24, 24, 24 - - ammonia - name = "Ammonia" - id = "ammonia" - description = "A caustic substance commonly used in fertilizer or household cleaners." - reagent_state = GAS - color = "#404030" // rgb: 64, 64, 48 - - ultraglue - name = "Ultra Glue" - id = "glue" - description = "An extremely powerful bonding agent." - color = "#FFFFCC" // rgb: 255, 255, 204 - - diethylamine - name = "Diethylamine" - id = "diethylamine" - description = "A secondary amine, mildly corrosive." - reagent_state = LIQUID - color = "#604030" // rgb: 96, 64, 48 - - ethylredoxrazine // FUCK YOU, ALCOHOL - name = "Ethylredoxrazine" - id = "ethylredoxrazine" - description = "A powerful oxidizer that reacts with ethanol." - reagent_state = SOLID - color = "#605048" // rgb: 96, 80, 72 - overdose = REAGENTS_OVERDOSE - - on_mob_life(var/mob/living/M as mob) - if(!M) M = holder.my_atom - M.dizziness = 0 - M.drowsyness = 0 - M.stuttering = 0 - M.confused = 0 - M.reagents.remove_all_type(/datum/reagent/ethanol, 1*REM, 0, 1) - ..() - return - -//////////////////////////Ground crayons///////////////////// - - - crayon_dust - name = "Crayon dust" - id = "crayon_dust" - description = "Intensely coloured powder obtained by grinding crayons." - reagent_state = LIQUID - color = "#888888" - overdose = 5 - - red - name = "Red crayon dust" - id = "crayon_dust_red" - color = "#FE191A" - - orange - name = "Orange crayon dust" - id = "crayon_dust_orange" - color = "#FFBE4F" - - yellow - name = "Yellow crayon dust" - id = "crayon_dust_yellow" - color = "#FDFE7D" - - green - name = "Green crayon dust" - id = "crayon_dust_green" - color = "#18A31A" - - blue - name = "Blue crayon dust" - id = "crayon_dust_blue" - color = "#247CFF" - - purple - name = "Purple crayon dust" - id = "crayon_dust_purple" - color = "#CC0099" - - grey //Mime - name = "Grey crayon dust" - id = "crayon_dust_grey" - color = "#808080" - - brown //Rainbow - name = "Brown crayon dust" - id = "crayon_dust_brown" - color = "#846F35" - -//////////////////////////Paint////////////////////////////// - - paint - name = "Paint" - id = "paint" - description = "This paint will stick to almost any object." - reagent_state = LIQUID - color = "#808080" - overdose = 15 - - reaction_turf(var/turf/T, var/volume) - ..() - if(istype(T) && !istype(T, /turf/space)) - T.color = color - - reaction_obj(var/obj/O, var/volume) - ..() - if(istype(O,/obj)) - O.color = color - - reaction_mob(var/mob/M, var/method=TOUCH, var/volume) - ..() - if(istype(M,/mob) && !istype(M,/mob/dead)) - //painting ghosts: not allowed - M.color = color - - -//////////////////////////Poison stuff/////////////////////// - - toxin - name = "Toxin" - id = "toxin" - description = "A toxic chemical." - reagent_state = LIQUID - color = "#CF3600" // rgb: 207, 54, 0 - var/toxpwr = 0.7 // Toxins are really weak, but without being treated, last very long. - custom_metabolism = 0.1 - - on_mob_life(var/mob/living/M as mob,var/alien) - if(!M) M = holder.my_atom - if(toxpwr) - M.adjustToxLoss(toxpwr*REM) - if(alien) ..() // Kind of a catch-all for aliens without the liver. Because this does not metabolize 'naturally', only removed by the liver. - return - - toxin/amatoxin - name = "Amatoxin" - id = "amatoxin" - description = "A powerful poison derived from certain species of mushroom." - reagent_state = LIQUID - color = "#792300" // rgb: 121, 35, 0 - toxpwr = 1 - - toxin/mutagen - name = "Unstable mutagen" - id = "mutagen" - description = "Might cause unpredictable mutations. Keep away from children." - reagent_state = LIQUID - color = "#13BC5E" // rgb: 19, 188, 94 - toxpwr = 0 - - reaction_mob(var/mob/living/carbon/M, var/method=TOUCH, var/volume) - if(!..()) return - if(!istype(M) || !M.dna) return //No robots, AIs, aliens, Ians or other mobs should be affected by this. - src = null - if((method==TOUCH && prob(33)) || method==INGEST) - randmuti(M) - if(prob(98)) randmutb(M) - else randmutg(M) - domutcheck(M, null) - M.UpdateAppearance() - return - on_mob_life(var/mob/living/carbon/M) - if(!istype(M)) return - if(!M) M = holder.my_atom - M.apply_effect(10,IRRADIATE,0) - ..() - return - - toxin/phoron - name = "Phoron" - id = "phoron" - description = "Phoron in its liquid form." - reagent_state = LIQUID - color = "#9D14DB" - toxpwr = 3 - - on_mob_life(var/mob/living/M as mob) - if(!M) M = holder.my_atom - holder.remove_reagent("inaprovaline", 2*REM) - ..() - return - reaction_obj(var/obj/O, var/volume) - src = null - /*if(istype(O,/obj/item/weapon/reagent_containers/food/snacks/egg/slime)) - var/obj/item/weapon/reagent_containers/food/snacks/egg/slime/egg = O - if (egg.grown) - egg.Hatch()*/ - if((!O) || (!volume)) return 0 - var/turf/the_turf = get_turf(O) - the_turf.assume_gas("volatile_fuel", volume, T20C) - reaction_turf(var/turf/T, var/volume) - src = null - T.assume_gas("volatile_fuel", volume, T20C) - return - reaction_mob(var/mob/living/M, var/method=TOUCH, var/volume)//Splashing people with plasma is stronger than fuel! - if(!istype(M, /mob/living)) - return - if(method == TOUCH) - M.adjust_fire_stacks(volume / 5) - return - - toxin/lexorin - name = "Lexorin" - id = "lexorin" - description = "Lexorin temporarily stops respiration. Causes tissue damage." - reagent_state = LIQUID - color = "#C8A5DC" // rgb: 200, 165, 220 - toxpwr = 0 - overdose = REAGENTS_OVERDOSE - - on_mob_life(var/mob/living/M as mob) - if(M.stat == 2.0) - return - if(!M) M = holder.my_atom - if(prob(33)) - M.take_organ_damage(1*REM, 0) - if(M.losebreath < 15) - M.losebreath++ - ..() - return - - toxin/slimejelly - name = "Slime Jelly" - id = "slimejelly" - description = "A gooey semi-liquid produced from one of the deadliest lifeforms in existence. SO REAL." - reagent_state = LIQUID - color = "#801E28" // rgb: 128, 30, 40 - toxpwr = 0 - - on_mob_life(var/mob/living/M as mob) - if(prob(10)) - M << "\red Your insides are burning!" - M.adjustToxLoss(rand(20,60)*REM) - else if(prob(40)) - M.heal_organ_damage(5*REM,0) - ..() - return - - toxin/cyanide //Fast and Lethal - name = "Cyanide" - id = "cyanide" - description = "A highly toxic chemical." - reagent_state = LIQUID - color = "#CF3600" // rgb: 207, 54, 0 - toxpwr = 4 - custom_metabolism = 0.4 - - on_mob_life(var/mob/living/M as mob) - if(!M) M = holder.my_atom - M.adjustOxyLoss(4*REM) - M.sleeping += 1 - ..() - return - - toxin/minttoxin - name = "Mint Toxin" - id = "minttoxin" - description = "Useful for dealing with undesirable customers." - reagent_state = LIQUID - color = "#CF3600" // rgb: 207, 54, 0 - toxpwr = 0 - - on_mob_life(var/mob/living/M as mob) - if(!M) M = holder.my_atom - if (FAT in M.mutations) - M.gib() - ..() - return - - toxin/carpotoxin - name = "Carpotoxin" - id = "carpotoxin" - description = "A deadly neurotoxin produced by the dreaded space carp." - reagent_state = LIQUID - color = "#003333" // rgb: 0, 51, 51 - toxpwr = 2 - - toxin/zombiepowder - name = "Zombie Powder" - id = "zombiepowder" - description = "A strong neurotoxin that puts the subject into a death-like state." - reagent_state = SOLID - color = "#669900" // rgb: 102, 153, 0 - toxpwr = 0.5 - - on_mob_life(var/mob/living/carbon/M as mob) - if(!M) M = holder.my_atom - M.status_flags |= FAKEDEATH - M.adjustOxyLoss(0.5*REM) - M.Weaken(10) - M.silent = max(M.silent, 10) - M.tod = worldtime2text() - ..() - return - - Del() - if(holder && ismob(holder.my_atom)) - var/mob/M = holder.my_atom - M.status_flags &= ~FAKEDEATH - ..() - - toxin/mindbreaker - name = "Mindbreaker Toxin" - id = "mindbreaker" - description = "A powerful hallucinogen, it can cause fatal effects in users." - reagent_state = LIQUID - color = "#B31008" // rgb: 139, 166, 233 - toxpwr = 0 - custom_metabolism = 0.05 - overdose = REAGENTS_OVERDOSE - - on_mob_life(var/mob/living/M) - if(!M) M = holder.my_atom - M.hallucination += 10 - ..() - return - - //Reagents used for plant fertilizers. - toxin/fertilizer - name = "fertilizer" - id = "fertilizer" - description = "A chemical mix good for growing plants with." - reagent_state = LIQUID - toxpwr = 0.2 //It's not THAT poisonous. - color = "#664330" // rgb: 102, 67, 48 - - toxin/fertilizer/eznutrient - name = "EZ Nutrient" - id = "eznutrient" - - toxin/fertilizer/left4zed - name = "Left-4-Zed" - id = "left4zed" - - toxin/fertilizer/robustharvest - name = "Robust Harvest" - id = "robustharvest" - - toxin/plantbgone - name = "Plant-B-Gone" - id = "plantbgone" - description = "A harmful toxic mixture to kill plantlife. Do not ingest!" - reagent_state = LIQUID - color = "#49002E" // rgb: 73, 0, 46 - toxpwr = 1 - - // Clear off wallrot fungi - reaction_turf(var/turf/T, var/volume) - if(istype(T, /turf/simulated/wall)) - var/turf/simulated/wall/W = T - if(W.rotting) - W.rotting = 0 - for(var/obj/effect/E in W) if(E.name == "Wallrot") del E - - for(var/mob/O in viewers(W, null)) - O.show_message(text("\blue The fungi are completely dissolved by the solution!"), 1) - - reaction_obj(var/obj/O, var/volume) - if(istype(O,/obj/effect/alien/weeds/)) - var/obj/effect/alien/weeds/alien_weeds = O - alien_weeds.health -= rand(15,35) // Kills alien weeds pretty fast - alien_weeds.healthcheck() - else if(istype(O,/obj/effect/plant)) //even a small amount is enough to kill it - del(O) - else if(istype(O,/obj/effect/plant)) + T.wet = 0 + if(T.wet_overlay) + T.overlays -= T.wet_overlay + T.wet_overlay = null + +/datum/reagent/water/touch_obj(var/obj/O) + if(istype(O, /obj/item/weapon/reagent_containers/food/snacks/monkeycube)) + var/obj/item/weapon/reagent_containers/food/snacks/monkeycube/cube = O + if(!cube.wrapped) + cube.Expand() + +/datum/reagent/water/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(istype(M, /mob/living/carbon/slime)) + var/mob/living/carbon/slime/S = M + S.adjustToxLoss(15 * removed) // Babies have 150 health, adults have 200; So, 10 units and 13.5 + if(!S.client) + if(S.Target) // Like cats + S.Target = null + ++S.Discipline + if(dose == removed) + S.visible_message("[S]'s flesh sizzles where the water touches it!", "Your flesh burns in the water!") + if(location == CHEM_TOUCH) + var/needed = M.fire_stacks * 10 + if(volume > needed) + M.fire_stacks = 0 + M.ExtinguishMob() + remove_self(needed) + else + M.adjust_fire_stacks(-(volume / 10)) + remove_self(volume) + return + +/datum/reagent/fuel + name = "Welding fuel" + id = "fuel" + description = "Required for welders. Flamable." + reagent_state = LIQUID + color = "#660000" + + glass_icon_state = "dr_gibb_glass" + glass_name = "glass of welder fuel" + glass_desc = "Unless you are an industrial tool, this is probably not safe for consumption." + +/datum/reagent/fuel/touch_turf(var/turf/T) + new /obj/effect/decal/cleanable/liquid_fuel(T, volume) + remove_self(volume) + return + +/datum/reagent/fuel/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(location == CHEM_INGEST) + M.adjustToxLoss(1 * removed) + return + if(location == CHEM_BLOOD) + M.adjustToxLoss(2 * removed) + return + if(location == CHEM_TOUCH) // Splashing people with welding fuel to make them easy to ignite! + M.adjust_fire_stacks(0.1 * removed) + return + +/* Basic dispenser chemicals */ + +/datum/reagent/aluminum + name = "Aluminum" + id = "aluminum" + description = "A silvery white and ductile member of the boron group of chemical elements." + reagent_state = SOLID + color = "#A8A8A8" + +/datum/reagent/carbon + name = "Carbon" + id = "carbon" + description = "A chemical element, the builing block of life." + reagent_state = SOLID + color = "#1C1300" + +/datum/reagent/carbon/touch_turf(var/turf/T) + if(!istype(T, /turf/space)) + var/obj/effect/decal/cleanable/dirt/dirtoverlay = locate(/obj/effect/decal/cleanable/dirt, T) + if (!dirtoverlay) + dirtoverlay = new/obj/effect/decal/cleanable/dirt(T) + dirtoverlay.alpha = volume * 30 + else + dirtoverlay.alpha = min(dirtoverlay.alpha + volume * 30, 255) + +/datum/reagent/chlorine + name = "Chlorine" + id = "chlorine" + description = "A chemical element with a characteristic odour." + reagent_state = GAS + color = "#808080" + +/datum/reagent/chlorine/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + M.take_organ_damage(1*REM, 0) // State doesn't matter here + +/datum/reagent/copper + name = "Copper" + id = "copper" + description = "A highly ductile metal." + color = "#6E3B08" + +/datum/reagent/ethanol + name = "Ethanol" //Parent class for all alcoholic reagents. + id = "ethanol" + description = "A well-known alcohol with a variety of applications." + reagent_state = LIQUID + color = "#404030" + var/nutriment_factor = 0 + var/strength = 10 // This is, essentially, units between stages - the lower, the stronger. Less fine tuning, more clarity. + var/toxicity = 1 + + var/druggy = 0 + var/adj_temp = 0 + var/targ_temp = 310 + var/halluci = 0 + + glass_icon_state = "glass_clear" + glass_name = "glass of ethanol" + glass_desc = "A well-known alcohol with a variety of applications." + +/datum/reagent/ethanol/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(location == CHEM_TOUCH) + M.adjust_fire_stacks(removed / 15) + return + if(location == CHEM_BLOOD) + M.adjustToxLoss(removed * 2 * toxicity) + return + M.nutrition += nutriment_factor * removed + + var/strength_mod = 1 + if(alien == IS_SKRELL) + strength_mod *= 5 + if(alien == IS_DIONA) + strength_mod = 0 + + M.add_chemical_effect(CE_ALCOHOL, 1) + + if(dose / strength_mod >= strength) // Early warning + M.make_dizzy(6) // It is decreased at the speed of 3 per tick + if(dose / strength_mod >= strength * 2) // Slurring + M.slurring = max(M.slurring, 30) + if(dose / strength_mod >= strength * 3) // Confusion - walking in random directions + M.confused = max(M.confused, 20) + if(dose / strength_mod >= strength * 4) // Blurry vision + M.eye_blurry = max(M.eye_blurry, 10) + if(dose / strength_mod >= strength * 5) // Drowsyness - periodically falling asleep + M.drowsyness = max(M.drowsyness, 20) + if(dose / strength_mod >= strength * 6) // Toxic dose + M.add_chemical_effect(CE_ALCOHOL_TOXIC, toxicity) + if(dose / strength_mod >= strength * 7) // Pass out + M.paralysis = max(M.paralysis, 20) + M.sleeping = max(M.sleeping, 30) + + if(druggy != 0) + M.druggy = max(M.druggy, druggy) + + if(adj_temp > 0 && M.bodytemperature < targ_temp) // 310 is the normal bodytemp. 310.055 + M.bodytemperature = min(targ_temp, M.bodytemperature + (adj_temp * TEMPERATURE_DAMAGE_COEFFICIENT)) + if(adj_temp < 0 && M.bodytemperature > targ_temp) + M.bodytemperature = min(targ_temp, M.bodytemperature - (adj_temp * TEMPERATURE_DAMAGE_COEFFICIENT)) + + if(halluci) + M.hallucination = max(M.hallucination, halluci) + +/datum/reagent/ethanol/touch_obj(var/obj/O) + if(istype(O, /obj/item/weapon/paper)) + var/obj/item/weapon/paper/paperaffected = O + paperaffected.clearpaper() + usr << "The solution dissolves the ink on the paper." + return + if(istype(O, /obj/item/weapon/book)) + if(volume < 5) + return + if(istype(O, /obj/item/weapon/book/tome)) + usr << "The solution does nothing. Whatever this is, it isn't normal ink." + return + var/obj/item/weapon/book/affectedbook = O + affectedbook.dat = null + usr << "The solution dissolves the ink on the book." + return + +/datum/reagent/fluorine + name = "Fluorine" + id = "fluorine" + description = "A highly-reactive chemical element." + reagent_state = GAS + color = "#808080" + +/datum/reagent/fluorine/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + M.adjustToxLoss(removed) + +/datum/reagent/hydrogen + name = "Hydrogen" + id = "hydrogen" + description = "A colorless, odorless, nonmetallic, tasteless, highly combustible diatomic gas." + reagent_state = GAS + color = "#808080" + +/datum/reagent/iron + name = "Iron" + id = "iron" + description = "Pure iron is a metal." + reagent_state = SOLID + color = "#353535" + +/datum/reagent/iron/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(location == CHEM_INGEST && alien != IS_DIONA) + M.add_chemical_effect(CE_BLOODRESTORE, 8 * removed) + +/datum/reagent/lithium + name = "Lithium" + id = "lithium" + description = "A chemical element, used as antidepressant." + reagent_state = SOLID + color = "#808080" + +/datum/reagent/lithium/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(location != CHEM_TOUCH && alien != IS_DIONA) + if(M.canmove && !M.restrained() && istype(M.loc, /turf/space)) + step(M, pick(cardinal)) + if(prob(5)) + M.emote(pick("twitch", "drool", "moan")) + +/datum/reagent/mercury + name = "Mercury" + id = "mercury" + description = "A chemical element." + reagent_state = LIQUID + color = "#484848" + +/datum/reagent/mercury/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(location != CHEM_TOUCH && alien != IS_DIONA) + if(M.canmove && !M.restrained() && istype(M.loc, /turf/space)) + step(M, pick(cardinal)) + if(prob(5)) + M.emote(pick("twitch", "drool", "moan")) + M.adjustBrainLoss(2) + +/datum/reagent/nitrogen + name = "Nitrogen" + id = "nitrogen" + description = "A colorless, odorless, tasteless gas." + reagent_state = GAS + color = "#808080" + +/datum/reagent/nitrogen/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(alien == IS_VOX) + if(location == CHEM_BLOOD) + M.adjustOxyLoss(-removed * 3) + if(location == CHEM_INGEST) + M.reagents.add_reagent(id, removed, CHEM_BLOOD) + +/datum/reagent/oxygen + name = "Oxygen" + id = "oxygen" + description = "A colorless, odorless gas." + reagent_state = GAS + color = "#808080" + +/datum/reagent/oxygen/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(location == CHEM_TOUCH) + return + if(alien == IS_VOX) + var/effect = (location == CHEM_BLOOD ? 1.5 : 1) + M.adjustToxLoss(removed * 2 * effect) + +/datum/reagent/phosphorus + name = "Phosphorus" + id = "phosphorus" + description = "A chemical element, the backbone of biological energy carriers." + reagent_state = SOLID + color = "#832828" + +/datum/reagent/potassium + name = "Potassium" + id = "potassium" + description = "A soft, low-melting solid that can easily be cut with a knife. Reacts violently with water." + reagent_state = SOLID + color = "#A0A0A0" + +/datum/reagent/radium + name = "Radium" + id = "radium" + description = "Radium is an alkaline earth metal. It is extremely radioactive." + reagent_state = SOLID + color = "#C7C7C7" + +/datum/reagent/radium/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + M.apply_effect(10 * removed, IRRADIATE, 0) // Radium may increase your chances to cure a disease + if(location == CHEM_BLOOD) // Make sure to only use it on carbon mobs + if(M.virus2.len) + for(var/ID in M.virus2) + var/datum/disease2/disease/V = M.virus2[ID] + if(prob(5)) + M.antibodies |= V.antigen if(prob(50)) - var/obj/effect/plant/plant = O - plant.die_off() - else if(istype(O,/obj/machinery/portable_atmospherics/hydroponics)) - var/obj/machinery/portable_atmospherics/hydroponics/tray = O + M.radiation += 50 // curing it that way may kill you instead + var/absorbed = 0 + var/datum/organ/internal/diona/nutrients/rad_organ = locate() in M.internal_organs + if(rad_organ && !rad_organ.is_broken()) + absorbed = 1 + if(!absorbed) + M.adjustToxLoss(100) - if(tray.seed) - tray.health -= rand(30,50) - if(tray.pestlevel > 0) - tray.pestlevel -= 2 - if(tray.weedlevel > 0) - tray.weedlevel -= 3 - tray.toxins += 4 - tray.check_level_sanity() - tray.update_icon() +/datum/reagent/radium/touch_turf(var/turf/T) + if(volume >= 3) + if(!istype(T, /turf/space)) + var/obj/effect/decal/cleanable/greenglow/glow = locate(/obj/effect/decal/cleanable/greenglow, T) + if(!glow) + new /obj/effect/decal/cleanable/greenglow(T) + return - reaction_mob(var/mob/living/M, var/method=TOUCH, var/volume) - src = null - if(iscarbon(M)) - var/mob/living/carbon/C = M - if(!C.wear_mask) // If not wearing a mask - C.adjustToxLoss(2) // 4 toxic damage per application, doubled for some reason - if(ishuman(M)) - var/mob/living/carbon/human/H = M - if(H.dna) - if(H.species.flags & IS_PLANT) //plantmen take a LOT of damage - H.adjustToxLoss(50) +/datum/reagent/acid + name = "Sulphuric acid" + id = "sacid" + description = "A very corrosive mineral acid with the molecular formula H2SO4." + reagent_state = LIQUID + color = "#DB5008" + metabolism = REM * 2 + touch_met = 50 // It's acid! + var/power = 5 + var/meltdose = 10 // How much is needed to melt - toxin/stoxin - name = "Soporific" - id = "stoxin" - description = "An effective hypnotic used to treat insomnia." - reagent_state = LIQUID - color = "#009CA8" // rgb: 232, 149, 204 - toxpwr = 0 - custom_metabolism = 0.1 - overdose = REAGENTS_OVERDOSE - - on_mob_life(var/mob/living/M as mob) - if(!M) M = holder.my_atom - if(!data) data = 1 - switch(data) - if(1 to 12) - if(prob(5)) M.emote("yawn") - if(12 to 15) - M.eye_blurry = max(M.eye_blurry, 10) - if(15 to 49) - if(prob(50)) - M.Weaken(2) - M.drowsyness = max(M.drowsyness, 20) - if(50 to INFINITY) - M.sleeping = max(M.sleeping, 20) - M.drowsyness = max(M.drowsyness, 60) - data++ - ..() - return - - toxin/chloralhydrate - name = "Chloral Hydrate" - id = "chloralhydrate" - description = "A powerful sedative." - reagent_state = SOLID - color = "#000067" // rgb: 0, 0, 103 - toxpwr = 1 - custom_metabolism = 0.1 //Default 0.2 - overdose = 15 - overdose_dam = 5 - - on_mob_life(var/mob/living/M as mob) - if(!M) M = holder.my_atom - if(!data) data = 1 - data++ - switch(data) - if(1) - M.confused += 2 - M.drowsyness += 2 - if(2 to 20) - M.Weaken(30) - M.eye_blurry = max(M.eye_blurry, 10) - if(20 to INFINITY) - M.sleeping = max(M.sleeping, 30) - ..() - return - - toxin/potassium_chloride - name = "Potassium Chloride" - id = "potassium_chloride" - description = "A delicious salt that stops the heart when injected into cardiac muscle." - reagent_state = SOLID - color = "#FFFFFF" // rgb: 255,255,255 - toxpwr = 0 - overdose = 30 - - on_mob_life(var/mob/living/carbon/M as mob) - var/mob/living/carbon/human/H = M - if(H.stat != 1) - if (volume >= overdose) - if(H.losebreath >= 10) - H.losebreath = max(10, H.losebreath-10) - H.adjustOxyLoss(2) - H.Weaken(10) - ..() - return - - toxin/potassium_chlorophoride - name = "Potassium Chlorophoride" - id = "potassium_chlorophoride" - description = "A specific chemical based on Potassium Chloride to stop the heart for surgery. Not safe to eat!" - reagent_state = SOLID - color = "#FFFFFF" // rgb: 255,255,255 - toxpwr = 2 - overdose = 20 - - on_mob_life(var/mob/living/carbon/M as mob) - if(ishuman(M)) - var/mob/living/carbon/human/H = M - if(H.stat != 1) - if(H.losebreath >= 10) - H.losebreath = max(10, M.losebreath-10) - H.adjustOxyLoss(2) - H.Weaken(10) - ..() - return - - toxin/beer2 //disguised as normal beer for use by emagged brobots - name = "Beer" - id = "beer2" - description = "An alcoholic beverage made from malted grains, hops, yeast, and water. The fermentation appears to be incomplete." //If the players manage to analyze this, they deserve to know something is wrong. - reagent_state = LIQUID - color = "#664300" // rgb: 102, 67, 0 - custom_metabolism = 0.15 // Sleep toxins should always be consumed pretty fast - overdose = REAGENTS_OVERDOSE/2 - - glass_icon_state = "beerglass" - glass_name = "glass of beer" - glass_desc = "A freezing pint of beer" - glass_center_of_mass = list("x"=16, "y"=8) - - on_mob_life(var/mob/living/M as mob) - if(!M) M = holder.my_atom - if(!data) data = 1 - switch(data) - if(1) - M.confused += 2 - M.drowsyness += 2 - if(2 to 50) - M.sleeping += 1 - if(51 to INFINITY) - M.sleeping += 1 - M.adjustToxLoss((data - 50)*REM) - data++ - ..() - return - - toxin/acid - name = "Sulphuric acid" - id = "sacid" - description = "A very corrosive mineral acid with the molecular formula H2SO4." - reagent_state = LIQUID - color = "#DB5008" // rgb: 219, 80, 8 - toxpwr = 1 - var/meltprob = 10 - - on_mob_life(var/mob/living/M as mob) - if(!M) M = holder.my_atom - M.take_organ_damage(0, 1*REM) - ..() - return - - reaction_mob(var/mob/living/M, var/method=TOUCH, var/volume)//magic numbers everywhere - if(!istype(M, /mob/living)) +/datum/reagent/acid/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(location == CHEM_INGEST) + M.take_organ_damage(0, removed * power) + if(location == CHEM_BLOOD) + M.take_organ_damage(0, removed * power * 2) + if(location == CHEM_TOUCH) // This is the most interesting + if(ishuman(M)) + var/mob/living/carbon/human/H = M + if(H.head) + if(H.head.unacidable) + H << "Your [H.head] protects you from the acid." + remove_self(volume) return - if(method == TOUCH) - if(ishuman(M)) - var/mob/living/carbon/human/H = M + else if(removed > meltdose) + H << "Your [H.head] melts away!" + del(H.head) + H.update_inv_head(1) + H.update_hair(1) + removed -= meltdose + if(removed <= 0) + return - if(H.head) - if(prob(meltprob) && !H.head.unacidable) - H << "Your headgear melts away but protects you from the acid!" - del(H.head) - H.update_inv_head(0) - H.update_hair(0) - else - H << "Your headgear protects you from the acid." - return + if(H.wear_mask) + if(H.wear_mask.unacidable) + H << "Your [H.wear_mask] protects you from the acid." + remove_self(volume) + return + else if(removed > meltdose) + H << "Your [H.wear_mask] melts away!" + del(H.wear_mask) + H.update_inv_wear_mask(1) + H.update_hair(1) + removed -= meltdose + if(removed <= 0) + return - if(H.wear_mask) - if(prob(meltprob) && !H.wear_mask.unacidable) - H << "Your mask melts away but protects you from the acid!" - del (H.wear_mask) - H.update_inv_wear_mask(0) - H.update_hair(0) - else - H << "Your mask protects you from the acid." - return + if(H.glasses) + if(H.glasses.unacidable) + H << "Your [H.glasses] partially protect you from the acid!" + removed /= 2 + else if(removed > meltdose) + H << "Your [H.glasses] melt away!" + del(H.glasses) + H.update_inv_glasses(1) + removed -= meltdose / 2 + if(removed <= 0) + return - if(H.glasses) //Doesn't protect you from the acid but can melt anyways! - if(prob(meltprob) && !H.glasses.unacidable) - H << "Your glasses melts away!" - del (H.glasses) - H.update_inv_glasses(0) - - else if(ismonkey(M)) - var/mob/living/carbon/monkey/MK = M - if(MK.wear_mask) - if(!MK.wear_mask.unacidable) - MK << "Your mask melts away but protects you from the acid!" - del (MK.wear_mask) - MK.update_inv_wear_mask(0) - else - MK << "Your mask protects you from the acid." - return - - if(!M.unacidable) - if(istype(M, /mob/living/carbon/human) && volume >= 10) - var/mob/living/carbon/human/H = M - var/datum/organ/external/affecting = H.get_organ("head") - if(affecting) - if(affecting.take_damage(4*toxpwr, 2*toxpwr)) - H.UpdateDamageIcon() - if(prob(meltprob)) //Applies disfigurement - if (!(H.species && (H.species.flags & NO_PAIN))) - H.emote("scream") - H.status_flags |= DISFIGURED - else - M.take_organ_damage(min(6*toxpwr, volume * toxpwr)) // uses min() and volume to make sure they aren't being sprayed in trace amounts (1 unit != insta rape) -- Doohl + if(ismonkey(M)) + var/mob/living/carbon/monkey/MK = M + if(MK.wear_mask) + if(MK.wear_mask.unacidable) + MK << "Your [MK.wear_mask] protects you from the acid!" + remove_self(volume) + return else - if(!M.unacidable) - M.take_organ_damage(min(6*toxpwr, volume * toxpwr)) - - reaction_obj(var/obj/O, var/volume) - if((istype(O,/obj/item) || istype(O,/obj/effect/plant)) && prob(meltprob * 3)) - if(!O.unacidable) - var/obj/effect/decal/cleanable/molten_item/I = new/obj/effect/decal/cleanable/molten_item(O.loc) - I.desc = "Looks like this was \an [O] some time ago." - for(var/mob/M in viewers(5, O)) - M << "\red \the [O] melts." - del(O) - - toxin/acid/polyacid - name = "Polytrinic acid" - id = "pacid" - description = "Polytrinic acid is a an extremely corrosive chemical substance." - reagent_state = LIQUID - color = "#8E18A9" // rgb: 142, 24, 169 - toxpwr = 2 - meltprob = 30 - -/////////////////////////Food Reagents//////////////////////////// -// Part of the food code. Nutriment is used instead of the old "heal_amt" code. Also is where all the food -// condiments, additives, and such go. - nutriment - name = "Nutriment" - id = "nutriment" - description = "All the vitamins, minerals, and carbohydrates the body needs in pure form." - reagent_state = SOLID - nutriment_factor = 15 * REAGENTS_METABOLISM - color = "#664330" // rgb: 102, 67, 48 - - on_mob_life(var/mob/living/M as mob) - if(!M) M = holder.my_atom - if(prob(50)) M.heal_organ_damage(1,0) - M.nutrition += nutriment_factor // For hunger and fatness - ..() + MK << "Your [MK.wear_mask] melts away!" + del(MK.wear_mask) + MK.update_inv_wear_mask(1) + removed -= meltdose + if(removed <= 0) return - nutriment/protein // Bad for Skrell! - name = "animal protein" - id = "protein" - color = "#440000" + if(volume < meltdose) // Not enough to melt anything + M.take_organ_damage(removed * power * 0.2) + return + if(!M.unacidable && removed > 0) + if(istype(M, /mob/living/carbon/human) && volume >= meltdose) + var/mob/living/carbon/human/H = M + var/datum/organ/external/affecting = H.get_organ("head") + if(affecting) + if(affecting.take_damage(0, removed * power * 0.1)) + H.UpdateDamageIcon() + if(prob(100 * removed / meltdose)) // Applies disfigurement + if (!(H.species && (H.species.flags & NO_PAIN))) + H.emote("scream") + H.status_flags |= DISFIGURED + else + M.take_organ_damage(0, removed * power * 0.1) // Balance. The damage is instant, so it's weaker. 10 units -> 5 damage, double for pacid. 120 units beaker could deal 60, but a) it's burn, which is not as dangerous, b) it's a one-use weapon, c) missing with it will splash it over the ground and d) clothes give some protection, so not everything will hit - on_mob_life(var/mob/living/M, var/alien) - if(alien && alien == IS_SKRELL) - M.adjustToxLoss(0.5) - M.nutrition -= nutriment_factor - ..() +/datum/reagent/acid/touch_obj(var/obj/O) + if(O.unacidable) + return + if((istype(O, /obj/item) || istype(O, /obj/effect/plant)) && (volume > meltdose)) + var/obj/effect/decal/cleanable/molten_item/I = new/obj/effect/decal/cleanable/molten_item(O.loc) + I.desc = "Looks like this was \an [O] some time ago." + for(var/mob/M in viewers(5, O)) + M << "\The [O] melts." + del(O) + remove_self(meltdose) // 10 units of acid will not melt EVERYTHING on the tile - nutriment/egg // Also bad for skrell. Not a child of protein because it might mess up, not sure. - name = "egg yolk" - id = "egg" - color = "#FFFFAA" +/datum/reagent/silicon + name = "Silicon" + id = "silicon" + description = "A tetravalent metalloid, silicon is less reactive than its chemical analog carbon." + reagent_state = SOLID + color = "#A8A8A8" - on_mob_life(var/mob/living/M, var/alien) - if(alien && alien == IS_SKRELL) - M.adjustToxLoss(0.5) - M.nutrition -= nutriment_factor - ..() +/datum/reagent/sodium + name = "Sodium" + id = "sodium" + description = "A chemical element, readily reacts with water." + reagent_state = SOLID + color = "#808080" - lipozine - name = "Lipozine" // The anti-nutriment. - id = "lipozine" - description = "A chemical compound that causes a powerful fat-burning reaction." - reagent_state = LIQUID - nutriment_factor = 10 * REAGENTS_METABOLISM - color = "#BBEDA4" // rgb: 187, 237, 164 - overdose = REAGENTS_OVERDOSE +/datum/reagent/sugar + name = "Sugar" + id = "sugar" + description = "The organic compound commonly known as table sugar and sometimes called saccharose. This white, odorless, crystalline powder has a pleasing, sweet taste." + reagent_state = SOLID + color = "#FFFFFF" + glass_icon_state = "iceglass" + glass_name = "glass of sugar" + glass_desc = "The organic compound commonly known as table sugar and sometimes called saccharose. This white, odorless, crystalline powder has a pleasing, sweet taste." - on_mob_life(var/mob/living/M as mob) - if(!M) M = holder.my_atom - M.nutrition = max(M.nutrition - nutriment_factor, 0) - M.overeatduration = 0 - if(M.nutrition < 0)//Prevent from going into negatives. - M.nutrition = 0 - ..() +/datum/reagent/sugar/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(location != CHEM_TOUCH) + M.nutrition += removed * 3 + +/datum/reagent/sulfur + name = "Sulfur" + id = "sulfur" + description = "A chemical element with a pungent smell." + reagent_state = SOLID + color = "#BF8C00" + +/datum/reagent/tungsten + name = "Tungsten" + id = "tungsten" + description = "A chemical element, and a strong oxidising agent." + reagent_state = SOLID + color = "#DCDCDC" + +/* General medicine */ + +/datum/reagent/inaprovaline + name = "Inaprovaline" + id = "inaprovaline" + description = "Inaprovaline is a synaptic stimulant and cardiostimulant. Commonly used to stabilize patients." + reagent_state = LIQUID + color = "#00BFFF" + overdose_blood = REAGENTS_OVERDOSE * 2 + overdose_ingest = REAGENTS_OVERDOSE * 4 + metabolism = REM * 0.5 + scannable = 1 + +/datum/reagent/inaprovaline/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(location == CHEM_TOUCH) + return + if(alien != IS_DIONA) + M.add_chemical_effect(CE_STABLE) + M.add_chemical_effect(CE_PAINKILLER, 25) + +/datum/reagent/bicaridine + name = "Bicaridine" + id = "bicaridine" + description = "Bicaridine is an analgesic medication and can be used to treat blunt trauma." + reagent_state = LIQUID + color = "#BF0000" + overdose_blood = REAGENTS_OVERDOSE + overdose_ingest = REAGENTS_OVERDOSE * 2 + scannable = 1 + +/datum/reagent/bicaridine/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(location == CHEM_TOUCH) + return + var/effect = (location == CHEM_BLOOD ? 1.5 : 1) + if(alien != IS_DIONA) + M.heal_organ_damage(4 * removed * effect, 0) + +/datum/reagent/kelotane + name = "Kelotane" + id = "kelotane" + description = "Kelotane is a drug used to treat burns." + reagent_state = LIQUID + color = "#FFA800" + overdose_blood = REAGENTS_OVERDOSE + overdose_ingest = REAGENTS_OVERDOSE * 2 + scannable = 1 + +/datum/reagent/kelotane/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(location == CHEM_TOUCH) + return + var/effect = (location == CHEM_BLOOD ? 1.5 : 1) + if(alien != IS_DIONA) + M.heal_organ_damage(0, 4 * removed * effect) + +/datum/reagent/dermaline + name = "Dermaline" + id = "dermaline" + description = "Dermaline is the next step in burn medication. Works twice as good as kelotane and enables the body to restore even the direst heat-damaged tissue." + reagent_state = LIQUID + color = "#FF8000" + overdose_blood = REAGENTS_OVERDOSE * 0.5 + overdose_ingest = REAGENTS_OVERDOSE + scannable = 1 + +/datum/reagent/dermaline/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(location == CHEM_TOUCH) + return + var/effect = (location == CHEM_BLOOD ? 1.5 : 1) + if(alien != IS_DIONA) + M.heal_organ_damage(0, 8 * removed * effect) + +/datum/reagent/dylovene + name = "Dylovene" + id = "anti_toxin" + description = "Dylovene is a broad-spectrum antitoxin." + reagent_state = LIQUID + color = "#00A000" + scannable = 1 + +/datum/reagent/dylovene/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(location == CHEM_TOUCH) + return + var/effect = (location == CHEM_BLOOD ? 1.5 : 1) + if(alien != IS_DIONA) + M.drowsyness = max(0, M.drowsyness - 4 * removed * effect) + M.hallucination = max(0, M.hallucination - 6 * removed * effect) + M.adjustToxLoss(-4 * removed) + +/datum/reagent/dexalin + name = "Dexalin" + id = "dexalin" + description = "Dexalin is used in the treatment of oxygen deprivation." + reagent_state = LIQUID + color = "#0080FF" + overdose_blood = REAGENTS_OVERDOSE + overdose_ingest = REAGENTS_OVERDOSE * 2 + scannable = 1 + +/datum/reagent/dexalin/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(location == CHEM_TOUCH) + return + var/effect = (location == CHEM_BLOOD ? 1.5 : 1) + if(alien == IS_VOX) + M.adjustToxLoss(removed * 4 * effect) + else if(alien != IS_DIONA) + M.adjustOxyLoss(-10 * removed * effect) + + holder.remove_reagent("lexorin", 2 * removed, location) + +/datum/reagent/dexalinp + name = "Dexalin Plus" + id = "dexalinp" + description = "Dexalin Plus is used in the treatment of oxygen deprivation. It is highly effective." + reagent_state = LIQUID + color = "#0040FF" + overdose_blood = REAGENTS_OVERDOSE * 0.5 + overdose_ingest = REAGENTS_OVERDOSE + scannable = 1 + +/datum/reagent/dexalin/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(location == CHEM_TOUCH) + return + var/effect = (location == CHEM_BLOOD ? 1.5 : 1) + if(alien == IS_VOX) + M.adjustToxLoss(removed * 6 * effect) + else if(alien != IS_DIONA) + M.adjustOxyLoss(-200 * removed * effect) // So around 20 per tick under standard settings, should be enough + + holder.remove_reagent("lexorin", 3 * removed, location) + +/datum/reagent/tricordrazine + name = "Tricordrazine" + id = "tricordrazine" + description = "Tricordrazine is a highly potent stimulant, originally derived from cordrazine. Can be used to treat a wide range of injuries." + reagent_state = LIQUID + color = "#8040FF" + scannable = 1 + +/datum/reagent/tricordrazine/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(location == CHEM_TOUCH) + return + var/effect = (location == CHEM_BLOOD ? 1.5 : 1) + if(alien != IS_DIONA) + M.adjustOxyLoss(-4 * removed * effect) + M.heal_organ_damage(2 * removed * effect, 2 * removed * effect) + M.adjustToxLoss(-2 * removed * effect) + +/datum/reagent/cryoxadone + name = "Cryoxadone" + id = "cryoxadone" + description = "A chemical mixture with almost magical healing powers. Its main limitation is that the targets body temperature must be under 170K for it to metabolise correctly." + reagent_state = LIQUID + color = "#8080FF" + metabolism = REM * 0.5 + scannable = 1 + +/datum/reagent/cryoxadone/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(M.bodytemperature < 170) + M.adjustCloneLoss(-10 * removed) + M.adjustOxyLoss(-10 * removed) + M.heal_organ_damage(10 * removed, 10 * removed) + M.adjustToxLoss(-10 * removed) + +/datum/reagent/clonexadone + name = "Clonexadone" + id = "clonexadone" + description = "A liquid compound similar to that used in the cloning process. Can be used to 'finish' the cloning process when used in conjunction with a cryo tube." + reagent_state = LIQUID + color = "#80BFFF" + metabolism = REM * 0.5 + scannable = 1 + +/datum/reagent/cryoxadone/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(M.bodytemperature < 170) + M.adjustCloneLoss(-30 * removed) + M.adjustOxyLoss(-3 * removed) + M.heal_organ_damage(30 * removed, 30 * removed) + M.adjustToxLoss(-30 * removed) + +/* Painkillers */ + +/datum/reagent/paracetamol + name = "Paracetamol" + id = "paracetamol" + description = "Most probably know this as Tylenol, but this chemical is a mild, simple painkiller." + reagent_state = LIQUID + color = "#C8A5DC" + overdose_blood = 60 + overdose_ingest = 60 + scannable = 1 + metabolism = 0.02 + +/datum/reagent/paracetamol/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + M.add_chemical_effect(CE_PAINKILLER, 50) + +/datum/reagent/paracetamol/overdose(var/mob/living/carbon/M, var/alien) + ..() + M.hallucination = max(M.hallucination, 2) + +/datum/reagent/tramadol + name = "Tramadol" + id = "tramadol" + description = "A simple, yet effective painkiller." + reagent_state = LIQUID + color = "#CB68FC" + overdose_blood = 30 + overdose_ingest = 30 + scannable = 1 + metabolism = 0.02 + +/datum/reagent/tramadol/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + M.add_chemical_effect(CE_PAINKILLER, 80) + +/datum/reagent/tramadol/overdose(var/mob/living/carbon/M, var/alien) + ..() + M.hallucination = max(M.hallucination, 2) + +/datum/reagent/oxycodone + name = "Oxycodone" + id = "oxycodone" + description = "An effective and very addictive painkiller." + reagent_state = LIQUID + color = "#800080" + overdose_blood = 20 + overdose_ingest = 20 + metabolism = 0.02 + +/datum/reagent/tramadol/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + M.add_chemical_effect(CE_PAINKILLER, 200) + +/datum/reagent/tramadol/overdose(var/mob/living/carbon/M, var/alien) + ..() + M.druggy = max(M.druggy, 10) + M.hallucination = max(M.hallucination, 3) + +/* Other medicine */ + +/datum/reagent/synaptizine + name = "Synaptizine" + id = "synaptizine" + description = "Synaptizine is used to treat various diseases." + reagent_state = LIQUID + color = "#99CCFF" + metabolism = REM * 0.05 + overdose_blood = REAGENTS_OVERDOSE + overdose_ingest = REAGENTS_OVERDOSE + scannable = 1 + +/datum/reagent/synaptizine/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(location == CHEM_TOUCH || alien == IS_DIONA) + return + M.drowsyness = max(M.drowsyness - 5, 0) + M.AdjustParalysis(-1) + M.AdjustStunned(-1) + M.AdjustWeakened(-1) + holder.remove_reagent("mindbreaker", 5) + M.hallucination = max(0, M.hallucination - 10) + M.adjustToxLoss(5 * removed) // It used to be incredibly deadly due to an oversight. Not anymore! + M.add_chemical_effect(CE_PAINKILLER, 40) + +/datum/reagent/alkysine + name = "Alkysine" + id = "alkysine" + description = "Alkysine is a drug used to lessen the damage to neurological tissue after a catastrophic injury. Can heal brain tissue." + reagent_state = LIQUID + color = "#FFFF66" + metabolism = REM * 0.25 + overdose_blood = REAGENTS_OVERDOSE + overdose_ingest = REAGENTS_OVERDOSE + scannable = 1 + +/datum/reagent/alkysine/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(location == CHEM_TOUCH || alien == IS_DIONA) + return + M.adjustBrainLoss(-30 * removed) + M.add_chemical_effect(CE_PAINKILLER, 10) + +/datum/reagent/imidazoline + name = "Imidazoline" + id = "imidazoline" + description = "Heals eye damage" + reagent_state = LIQUID + color = "#C8A5DC" + overdose_blood = REAGENTS_OVERDOSE + overdose_ingest = REAGENTS_OVERDOSE + scannable = 1 + +/datum/reagent/imidazoline/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(location == CHEM_TOUCH) + return + M.eye_blurry = max(M.eye_blurry-5, 0) + M.eye_blind = max(M.eye_blind-5, 0) + if(ishuman(M)) + var/mob/living/carbon/human/H = M + var/datum/organ/internal/eyes/E = H.internal_organs_by_name["eyes"] + if(E && istype(E)) + if(E.damage > 0) + E.damage = max(E.damage - 5 * removed, 0) + +/datum/reagent/peridaxon + name = "Peridaxon" + id = "peridaxon" + description = "Used to encourage recovery of internal organs and nervous systems. Medicate cautiously." + reagent_state = LIQUID + color = "#561EC3" + overdose_blood = 10 + overdose_ingest = 10 + scannable = 1 + +/datum/reagent/peridaxon/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(location != CHEM_TOUCH && ishuman(M)) + var/mob/living/carbon/human/H = M + + for(var/datum/organ/internal/I in H.internal_organs) + if((I.damage > 0) && (I.robotic != 2)) //Peridaxon heals only non-robotic organs + I.damage = max(I.damage - removed, 0) + +/datum/reagent/ryetalyn + name = "Ryetalyn" + id = "ryetalyn" + description = "Ryetalyn can cure all genetic abnomalities via a catalytic process." + reagent_state = SOLID + color = "#004000" + overdose_blood = REAGENTS_OVERDOSE + overdose_ingest = REAGENTS_OVERDOSE + +/datum/reagent/ryetalyn/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(location == CHEM_TOUCH) + return + var/needs_update = M.mutations.len > 0 + + M.mutations = list() + M.disabilities = 0 + M.sdisabilities = 0 + + // Might need to update appearance for hulk etc. + if(needs_update && ishuman(M)) + var/mob/living/carbon/human/H = M + H.update_mutations() + +/datum/reagent/hyperzine + name = "Hyperzine" + id = "hyperzine" + description = "Hyperzine is a highly effective, long lasting, muscle stimulant." + reagent_state = LIQUID + color = "#FF3300" + metabolism = REM * 0.15 + overdose_blood = REAGENTS_OVERDOSE * 0.5 + overdose_ingest = REAGENTS_OVERDOSE * 0.5 + +/datum/reagent/hyperzine/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(location == CHEM_TOUCH || alien == IS_DIONA) + return + if(prob(5)) + M.emote(pick("twitch", "blink_r", "shiver")) + M.add_chemical_effect(CE_SPEEDBOOST, 1) + +/datum/reagent/ethylredoxrazine + name = "Ethylredoxrazine" + id = "ethylredoxrazine" + description = "A powerful oxidizer that reacts with ethanol." + reagent_state = SOLID + color = "#605048" + overdose_blood = REAGENTS_OVERDOSE + overdose_ingest = REAGENTS_OVERDOSE + +/datum/reagent/ethylredoxrazine/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(location == CHEM_TOUCH || alien == IS_DIONA) + return + M.dizziness = 0 + M.drowsyness = 0 + M.stuttering = 0 + M.confused = 0 + if(M.ingested) + for(var/datum/reagent/R in M.ingested) + if(istype(R, /datum/reagent/ethanol)) + R.dose = max(R.dose - removed * 5, 0) + +/datum/reagent/hyronalin + name = "Hyronalin" + id = "hyronalin" + description = "Hyronalin is a medicinal drug used to counter the effect of radiation poisoning." + reagent_state = LIQUID + color = "#408000" + metabolism = REM * 0.25 + overdose_blood = REAGENTS_OVERDOSE + overdose_ingest = REAGENTS_OVERDOSE + scannable = 1 + +/datum/reagent/hyronalin/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(location == CHEM_TOUCH) + return + M.radiation = max(M.radiation - 30 * removed, 0) + +/datum/reagent/arithrazine + name = "Arithrazine" + id = "arithrazine" + description = "Arithrazine is an unstable medication used for the most extreme cases of radiation poisoning." + reagent_state = LIQUID + color = "#008000" + metabolism = REM * 0.25 + overdose_blood = REAGENTS_OVERDOSE + overdose_ingest = REAGENTS_OVERDOSE + scannable = 1 + +/datum/reagent/arithrazine/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(location == CHEM_TOUCH) + return + M.radiation = max(M.radiation - 70 * removed, 0) + M.adjustToxLoss(-10 * removed) + if(prob(60)) + M.take_organ_damage(4 * removed, 0) + +/datum/reagent/spaceacillin + name = "Spaceacillin" + id = "spaceacillin" + description = "An all-purpose antiviral agent." + reagent_state = LIQUID + color = "#C1C1C1" + metabolism = REM * 0.05 + overdose_blood = REAGENTS_OVERDOSE + overdose_ingest = REAGENTS_OVERDOSE * 2 + scannable = 1 + +/datum/reagent/sterilizine + name = "Sterilizine" + id = "sterilizine" + description = "Sterilizes wounds in preparation for surgery." + reagent_state = LIQUID + color = "#C8A5DC" + touch_met = 5 + +/datum/reagent/sterilizine/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(location == CHEM_TOUCH) + M.germ_level -= min(removed*20, M.germ_level) + +/datum/reagent/sterilizine/touch_obj(var/obj/O) + O.germ_level -= min(volume*20, O.germ_level) + +/datum/reagent/sterilizine/touch_turf(var/turf/T) + T.germ_level -= min(volume*20, T.germ_level) + +/datum/reagent/leporazine + name = "Leporazine" + id = "leporazine" + description = "Leporazine can be use to stabilize an individuals body temperature." + reagent_state = LIQUID + color = "#C8A5DC" + overdose_blood = REAGENTS_OVERDOSE + overdose_ingest = REAGENTS_OVERDOSE + scannable = 1 + +/datum/reagent/leporazine/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(location == CHEM_TOUCH) + return + if(M.bodytemperature > 310) + M.bodytemperature = max(310, M.bodytemperature - (40 * TEMPERATURE_DAMAGE_COEFFICIENT)) + else if(M.bodytemperature < 311) + M.bodytemperature = min(310, M.bodytemperature + (40 * TEMPERATURE_DAMAGE_COEFFICIENT)) + +/* Antidepressants */ + +#define ANTIDEPRESSANT_MESSAGE_DELAY 5*60*10 + +/datum/reagent/methylphenidate + name = "Methylphenidate" + id = "methylphenidate" + description = "Improves the ability to concentrate." + reagent_state = LIQUID + color = "#BF80BF" + metabolism = 0.01 + data = 0 + +/datum/reagent/methylphenidate/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(location == CHEM_TOUCH || alien == IS_DIONA) + return + if(volume <= 0.1 && data != -1) + data = -1 + M << "You lose focus..." + else + if(world.time > data + ANTIDEPRESSANT_MESSAGE_DELAY) + data = world.time + M << "Your mind feels focused and undivided." + +/datum/reagent/citalopram + name = "Citalopram" + id = "citalopram" + description = "Stabilizes the mind a little." + reagent_state = LIQUID + color = "#FF80FF" + metabolism = 0.01 + data = 0 + +/datum/reagent/citalopram/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(location == CHEM_TOUCH || alien == IS_DIONA) + return + if(volume <= 0.1 && data != -1) + data = -1 + M << "Your mind feels a little less stable..." + else + if(world.time > data + ANTIDEPRESSANT_MESSAGE_DELAY) + data = world.time + M << "Your mind feels stable... a little stable." + +/datum/reagent/paroxetine + name = "Paroxetine" + id = "paroxetine" + description = "Stabilizes the mind greatly, but has a chance of adverse effects." + reagent_state = LIQUID + color = "#FF80BF" + metabolism = 0.01 + data = 0 + +/datum/reagent/paroxetine/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(location == CHEM_TOUCH || alien == IS_DIONA) + return + if(volume <= 0.1 && data != -1) + data = -1 + M << "Your mind feels much less stable..." + else + if(world.time > data + ANTIDEPRESSANT_MESSAGE_DELAY) + data = world.time + if(prob(90)) + M << "Your mind feels much more stable." + else + M << "Your mind breaks apart..." + M.hallucination += 200 + +/* Toxins, poisons, venoms */ + +/datum/reagent/toxin + name = "Toxin" + id = "toxin" + description = "A toxic chemical." + reagent_state = LIQUID + color = "#CF3600" + metabolism = REM * 0.05 // 0.01 by default. They last a while and slowly kill you. + var/strength = 4 // How much damage it deals per unit + +/datum/reagent/toxin/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(location == CHEM_TOUCH) + return + var/effect = (location == CHEM_BLOOD ? 1.5 : 1) + if(strength && alien != IS_DIONA) + M.adjustToxLoss(strength * removed * effect) + +/datum/reagent/toxin/plasticide + name = "Plasticide" + id = "plasticide" + description = "Liquid plastic, do not eat." + reagent_state = LIQUID + color = "#CF3600" + strength = 5 + +/datum/reagent/toxin/amatoxin + name = "Amatoxin" + id = "amatoxin" + description = "A powerful poison derived from certain species of mushroom." + reagent_state = LIQUID + color = "#792300" + strength = 10 + +/datum/reagent/toxin/carpotoxin + name = "Carpotoxin" + id = "carpotoxin" + description = "A deadly neurotoxin produced by the dreaded space carp." + reagent_state = LIQUID + color = "#003333" + strength = 10 + +/datum/reagent/toxin/phoron + name = "Phoron" + id = "phoron" + description = "Phoron in its liquid form." + reagent_state = LIQUID + color = "#9D14DB" + strength = 30 + +/datum/reagent/toxin/phoron/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + ..() + if(location == CHEM_TOUCH) + M.adjust_fire_stacks(removed / 5) + +/datum/reagent/toxin/phoron/touch_turf(var/turf/simulated/T) + if(!istype(T)) + return + T.assume_gas("volatile_fuel", volume, T20C) + remove_self(volume) + +/datum/reagent/toxin/cyanide //Fast and Lethal + name = "Cyanide" + id = "cyanide" + description = "A highly toxic chemical." + reagent_state = LIQUID + color = "#CF3600" + strength = 20 + metabolism = REM * 2 + +/datum/reagent/toxin/cyanide/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + ..() + if(location != CHEM_TOUCH) + M.adjustOxyLoss(20 * removed) + M.sleeping += 1 + +/datum/reagent/toxin/potassium_chloride + name = "Potassium Chloride" + id = "potassium_chloride" + description = "A delicious salt that stops the heart when injected into cardiac muscle." + reagent_state = SOLID + color = "#FFFFFF" + strength = 0 + overdose_blood = REAGENTS_OVERDOSE + overdose_ingest = REAGENTS_OVERDOSE + +/datum/reagent/toxin/potassium_chloride/overdose(var/mob/living/carbon/M, var/alien) + ..() + if(ishuman(M)) + var/mob/living/carbon/human/H = M + if(H.stat != 1) + if(H.losebreath >= 10) + H.losebreath = max(10, H.losebreath - 10) + H.adjustOxyLoss(2) + H.Weaken(10) + +/datum/reagent/toxin/potassium_chlorophoride + name = "Potassium Chlorophoride" + id = "potassium_chlorophoride" + description = "A specific chemical based on Potassium Chloride to stop the heart for surgery. Not safe to eat!" + reagent_state = SOLID + color = "#FFFFFF" + strength = 10 + overdose_blood = 20 + overdose_ingest = 20 + +/datum/reagent/toxin/cyanide/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + ..() + if(ishuman(M)) + var/mob/living/carbon/human/H = M + if(H.stat != 1) + if(H.losebreath >= 10) + H.losebreath = max(10, M.losebreath-10) + H.adjustOxyLoss(2) + H.Weaken(10) + +/datum/reagent/toxin/zombiepowder + name = "Zombie Powder" + id = "zombiepowder" + description = "A strong neurotoxin that puts the subject into a death-like state." + reagent_state = SOLID + color = "#669900" + metabolism = REM + strength = 3 + +/datum/reagent/toxin/zombiepowder/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + ..() + if(location == CHEM_TOUCH || alien == IS_DIONA) + return + M.status_flags |= FAKEDEATH + M.adjustOxyLoss(3 * removed) + M.Weaken(10) + M.silent = max(M.silent, 10) + M.tod = worldtime2text() + +/datum/reagent/toxin/zombiepowder/Del() + if(holder && holder.my_atom && ismob(holder.my_atom)) + var/mob/M = holder.my_atom + M.status_flags &= ~FAKEDEATH + ..() + +/datum/reagent/toxin/fertilizer //Reagents used for plant fertilizers. + name = "fertilizer" + id = "fertilizer" + description = "A chemical mix good for growing plants with." + reagent_state = LIQUID + strength = 0.5 // It's not THAT poisonous. + color = "#664330" + +/datum/reagent/toxin/fertilizer/eznutrient + name = "EZ Nutrient" + id = "eznutrient" + +/datum/reagent/toxin/fertilizer/left4zed + name = "Left-4-Zed" + id = "left4zed" + +/datum/reagent/toxin/fertilizer/robustharvest + name = "Robust Harvest" + id = "robustharvest" + +/datum/reagent/toxin/plantbgone + name = "Plant-B-Gone" + id = "plantbgone" + description = "A harmful toxic mixture to kill plantlife. Do not ingest!" + reagent_state = LIQUID + color = "#49002E" + strength = 4 + +/datum/reagent/toxin/plantbgone/touch_turf(var/turf/T) + if(istype(T, /turf/simulated/wall)) + var/turf/simulated/wall/W = T + if(W.rotting) + W.rotting = 0 + for(var/obj/effect/E in W) + if(E.name == "Wallrot") + del(E) + + W.visible_message("The fungi are completely dissolved by the solution!") + +/datum/reagent/toxin/plantbgone/touch_obj(var/obj/O, var/volume) + if(istype(O, /obj/effect/alien/weeds/)) + var/obj/effect/alien/weeds/alien_weeds = O + alien_weeds.health -= rand(15, 35) + alien_weeds.healthcheck() + else if(istype(O, /obj/effect/plant)) + del(O) + +/datum/reagent/toxin/plantbgone/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + ..() + if(alien == IS_DIONA) // Regardless of the state + M.adjustToxLoss(50 * removed) + +/datum/reagent/acid/polyacid + name = "Polytrinic acid" + id = "pacid" + description = "Polytrinic acid is a an extremely corrosive chemical substance." + reagent_state = LIQUID + color = "#8E18A9" + power = 10 + meltdose = 4 + +/datum/reagent/lexorin + name = "Lexorin" + id = "lexorin" + description = "Lexorin temporarily stops respiration. Causes tissue damage." + reagent_state = LIQUID + color = "#C8A5DC" + overdose_blood = REAGENTS_OVERDOSE + overdose_ingest = REAGENTS_OVERDOSE + +/datum/reagent/lexorin/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(location == CHEM_TOUCH || alien == IS_DIONA) + return + M.take_organ_damage(3 * removed, 0) + if(M.losebreath < 15) + M.losebreath++ + +/datum/reagent/mutagen + name = "Unstable mutagen" + id = "mutagen" + description = "Might cause unpredictable mutations. Keep away from children." + reagent_state = LIQUID + color = "#13BC5E" + +/datum/reagent/mutagen/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(M.dna) + var/chance = 0 + if(location == CHEM_TOUCH) + chance = 33 + if(location == CHEM_INGEST) + chance = 67 + if(location == CHEM_BLOOD) + chance = 100 + if(prob(chance * removed * 0.1)) // Approx. one mutation per 10 injected/20 ingested/30 touching units + randmuti(M) + if(prob(98)) + randmutb(M) + else + randmutg(M) + domutcheck(M, null) + M.UpdateAppearance() + M.apply_effect(10 * removed, IRRADIATE, 0) + +/datum/reagent/slimejelly + name = "Slime Jelly" + id = "slimejelly" + description = "A gooey semi-liquid produced from one of the deadliest lifeforms in existence. SO REAL." + reagent_state = LIQUID + color = "#801E28" + +/datum/reagent/slimejelly/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(location == CHEM_TOUCH || alien == IS_DIONA) + return + if(prob(10)) + M << "Your insides are burning!" + M.adjustToxLoss(rand(100, 300) * removed) + else if(prob(40)) + M.heal_organ_damage(25 * removed, 0) + +/datum/reagent/soporific + name = "Soporific" + id = "stoxin" + description = "An effective hypnotic used to treat insomnia." + reagent_state = LIQUID + color = "#009CA8" + metabolism = REM * 0.5 + overdose_blood = REAGENTS_OVERDOSE + overdose_ingest = REAGENTS_OVERDOSE * 2 + +/datum/reagent/soporific/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(location == CHEM_TOUCH || alien == IS_DIONA) + return + if(dose < 1) + if(dose == metabolism * 2 || prob(5)) + M.emote("yawn") + else if(dose < 1.5) + M.eye_blurry = max(M.eye_blurry, 10) + else if(dose < 5) + if(prob(50)) + M.Weaken(2) + M.drowsyness = max(M.drowsyness, 20) + else + M.sleeping = max(M.sleeping, 20) + M.drowsyness = max(M.drowsyness, 60) + +/datum/reagent/chloralhydrate + name = "Chloral Hydrate" + id = "chloralhydrate" + description = "A powerful sedative." + reagent_state = SOLID + color = "#000067" + metabolism = REM * 0.5 + overdose_blood = REAGENTS_OVERDOSE * 0.5 + overdose_ingest = REAGENTS_OVERDOSE + +/datum/reagent/chloralhydrate/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(location == CHEM_TOUCH || alien == IS_DIONA) + return + if(dose == metabolism) + M.confused += 2 + M.drowsyness += 2 + else if(dose < 2) + M.Weaken(30) + M.eye_blurry = max(M.eye_blurry, 10) + else + M.sleeping = max(M.sleeping, 30) + + if(dose > 1) + M.adjustToxLoss(removed) + +/datum/reagent/chloralhydrate/beer2 //disguised as normal beer for use by emagged brobots + name = "Beer" + id = "beer2" + description = "An alcoholic beverage made from malted grains, hops, yeast, and water. The fermentation appears to be incomplete." //If the players manage to analyze this, they deserve to know something is wrong. + reagent_state = LIQUID + color = "#664300" // rgb: 102, 67, 0 + + glass_icon_state = "beerglass" + glass_name = "glass of beer" + glass_desc = "A freezing pint of beer" + glass_center_of_mass = list("x"=16, "y"=8) + +/* Drugs */ + +/datum/reagent/space_drugs + name = "Space drugs" + id = "space_drugs" + description = "An illegal chemical compound used as drug." + reagent_state = LIQUID + color = "#60A584" + metabolism = REM * 0.5 + overdose_blood = REAGENTS_OVERDOSE + overdose_ingest = REAGENTS_OVERDOSE * 2 + +/datum/reagent/space_drugs/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(location == CHEM_TOUCH || alien == IS_DIONA) + return + M.druggy = max(M.druggy, 15) + if(prob(10) && isturf(M.loc) && !istype(M.loc, /turf/space) && M.canmove && !M.restrained()) + step(M, pick(cardinal)) + if(prob(7)) + M.emote(pick("twitch", "drool", "moan", "giggle")) + +/datum/reagent/serotrotium + name = "Serotrotium" + id = "serotrotium" + description = "A chemical compound that promotes concentrated production of the serotonin neurotransmitter in humans." + reagent_state = LIQUID + color = "#202040" + metabolism = REM * 0.25 + overdose_blood = REAGENTS_OVERDOSE + overdose_ingest = REAGENTS_OVERDOSE + +/datum/reagent/serotrotium/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(location == CHEM_TOUCH || alien == IS_DIONA) + return + if(prob(7)) + M.emote(pick("twitch", "drool", "moan", "gasp")) + return + +/datum/reagent/cryptobiolin + name = "Cryptobiolin" + id = "cryptobiolin" + description = "Cryptobiolin causes confusion and dizzyness." + reagent_state = LIQUID + color = "#000055" + metabolism = REM * 0.5 + overdose_blood = REAGENTS_OVERDOSE + overdose_ingest = REAGENTS_OVERDOSE + +/datum/reagent/cryptobiolin/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(location == CHEM_TOUCH || alien == IS_DIONA) + return + M.make_dizzy(4) + M.confused = max(M.confused, 20) + +/datum/reagent/impedrezene + name = "Impedrezene" + id = "impedrezene" + description = "Impedrezene is a narcotic that impedes one's ability by slowing down the higher brain cell functions." + reagent_state = LIQUID + color = "#C8A5DC" + overdose_blood = REAGENTS_OVERDOSE + overdose_ingest = REAGENTS_OVERDOSE + +/datum/reagent/impedrezene/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(location == CHEM_TOUCH || alien == IS_DIONA) + return + M.jitteriness = max(M.jitteriness - 5, 0) + if(prob(80)) + M.adjustBrainLoss(3 * removed) + if(prob(50)) + M.drowsyness = max(M.drowsyness, 3) + if(prob(10)) + M.emote("drool") + +/datum/reagent/mindbreaker + name = "Mindbreaker Toxin" + id = "mindbreaker" + description = "A powerful hallucinogen, it can cause fatal effects in users." + reagent_state = LIQUID + color = "#B31008" + metabolism = REM * 0.25 + overdose_blood = REAGENTS_OVERDOSE + overdose_ingest = REAGENTS_OVERDOSE + +/datum/reagent/mindbreaker/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(location == CHEM_TOUCH || alien == IS_DIONA) + return + M.hallucination = max(M.hallucination, 100) + +/datum/reagent/psilocybin + name = "Psilocybin" + id = "psilocybin" + description = "A strong psycotropic derived from certain species of mushroom." + color = "#E700E7" + overdose_blood = REAGENTS_OVERDOSE + overdose_ingest = REAGENTS_OVERDOSE + metabolism = REM * 0.5 + +/datum/reagent/psilocybin/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(location == CHEM_TOUCH || alien == IS_DIONA) + return + M.druggy = max(M.druggy, 30) + if(dose < 1) + M.stuttering = max(M.stuttering, 3) + M.make_dizzy(5) + if(prob(10)) + M.emote(pick("twitch", "giggle")) + else if(dose < 2) + M.stuttering = max(M.stuttering, 3) + M.make_jittery(10) + M.make_dizzy(10) + M.druggy = max(M.druggy, 35) + if(prob(20)) + M.emote(pick("twitch","giggle")) + else + M.stuttering = max(M.stuttering, 3) + M.make_jittery(20) + M.make_dizzy(20) + M.druggy = max(M.druggy, 40) + if(prob(30)) + M.emote(pick("twitch", "giggle")) + +/datum/reagent/nicotine + name = "Nicotine" + id = "nicotine" + description = "A highly addictive stimulant extracted from the tobacco plant." + reagent_state = LIQUID + color = "#181818" + +/* Transformations */ + +/datum/reagent/slimetoxin + name = "Mutation Toxin" + id = "mutationtoxin" + description = "A corruptive toxin produced by slimes." + reagent_state = LIQUID + color = "#13BC5E" + +/datum/reagent/slimetoxin/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(location == CHEM_BLOOD && ishuman(M)) + var/mob/living/carbon/human/H = M + if(H.species.name != "Slime") + M << "Your flesh rapidly mutates!" + H.set_species("Slime") + +/datum/reagent/aslimetoxin + name = "Advanced Mutation Toxin" + id = "amutationtoxin" + description = "An advanced corruptive toxin produced by slimes." + reagent_state = LIQUID + color = "#13BC5E" + +/datum/reagent/aslimetoxin/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) // TODO: check if there's similar code anywhere else + if(location != CHEM_BLOOD || M.monkeyizing) + return + M << "Your flesh rapidly mutates!" + M.monkeyizing = 1 + M.canmove = 0 + M.icon = null + M.overlays.Cut() + M.invisibility = 101 + for(var/obj/item/W in M) + if(istype(W, /obj/item/weapon/implant)) //TODO: Carn. give implants a dropped() or something + del(W) + continue + W.layer = initial(W.layer) + W.loc = M.loc + W.dropped(M) + var/mob/living/carbon/slime/new_mob = new /mob/living/carbon/slime(M.loc) + new_mob.a_intent = "hurt" + new_mob.universal_speak = 1 + if(M.mind) + M.mind.transfer_to(new_mob) + else + new_mob.key = M.key + del(M) + +/datum/reagent/nanites + name = "Nanomachines" + id = "nanites" + description = "Microscopic construction robots." + reagent_state = LIQUID + color = "#535E66" + +/datum/reagent/nanites/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(location != CHEM_TOUCH || prob(10)) + M.contract_disease(new /datum/disease/robotic_transformation(0), 1) + +/datum/reagent/xenomicrobes + name = "Xenomicrobes" + id = "xenomicrobes" + description = "Microbes with an entirely alien cellular structure." + reagent_state = LIQUID + color = "#535E66" + +/datum/reagent/nanites/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(location != CHEM_TOUCH || prob(10)) + M.contract_disease(new /datum/disease/xeno_transformation(0), 1) + +/* Food */ + +/datum/reagent/nutriment + name = "Nutriment" + id = "nutriment" + description = "All the vitamins, minerals, and carbohydrates the body needs in pure form." + reagent_state = SOLID + metabolism = REM * 4 + var/nutriment_factor = 30 // Per unit + var/injectable = 0 + color = "#664330" + +/datum/reagent/nutriment/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(location == CHEM_TOUCH) + return + if(location == CHEM_BLOOD && !injectable) + M.adjustToxLoss(0.1 * removed) + return + M.heal_organ_damage(0.5 * removed, 0) + M.nutrition += nutriment_factor * removed // For hunger and fatness + M.add_chemical_effect(CE_BLOODRESTORE, 4 * removed) + +/datum/reagent/nutriment/protein // Bad for Skrell! + name = "animal protein" + id = "protein" + color = "#440000" + +/datum/reagent/nutriment/protein/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(alien && alien == IS_SKRELL) + M.adjustToxLoss(0.5 * removed) + return + ..() + +/datum/reagent/nutriment/egg // Also bad for skrell. Not a child of protein because it might mess up, not sure. + name = "egg yolk" + id = "egg" + color = "#FFFFAA" + +/datum/reagent/nutriment/egg/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(alien && alien == IS_SKRELL) + M.adjustToxLoss(0.5) + return + ..() + +/datum/reagent/nutriment/flour + name = "flour" + id = "flour" + description = "This is what you rub all over yourself to pretend to be a ghost." + reagent_state = SOLID + nutriment_factor = 1 + color = "#FFFFFF" + +/datum/reagent/nutriment/flour/touch_turf(var/turf/simulated/T) + if(!istype(T, /turf/space)) + new /obj/effect/decal/cleanable/flour(T) + +/datum/reagent/nutriment/coco + name = "Coco Powder" + id = "coco" + description = "A fatty, bitter paste made from coco beans." + reagent_state = SOLID + nutriment_factor = 5 + color = "#302000" + +/datum/reagent/nutriment/soysauce + name = "Soysauce" + id = "soysauce" + description = "A salty sauce made from the soy plant." + reagent_state = LIQUID + nutriment_factor = 2 + color = "#792300" + +/datum/reagent/nutriment/ketchup + name = "Ketchup" + id = "ketchup" + description = "Ketchup, catsup, whatever. It's tomato paste." + reagent_state = LIQUID + nutriment_factor = 5 + color = "#731008" + +/datum/reagent/nutriment/rice + name = "Rice" + id = "rice" + description = "Enjoy the great taste of nothing." + reagent_state = SOLID + nutriment_factor = 1 + color = "#FFFFFF" + +/datum/reagent/nutriment/cherryjelly + name = "Cherry Jelly" + id = "cherryjelly" + description = "Totally the best. Only to be spread on foods with excellent lateral symmetry." + reagent_state = LIQUID + nutriment_factor = 1 + color = "#801E28" + +/datum/reagent/nutriment/cornoil + name = "Corn Oil" + id = "cornoil" + description = "An oil derived from various types of corn." + reagent_state = LIQUID + nutriment_factor = 20 + color = "#302000" + +/datum/reagent/nutriment/cornoil/touch_turf(var/turf/simulated/T) + if(!istype(T)) + return + + var/hotspot = (locate(/obj/fire) in T) + if(hotspot && !istype(T, /turf/space)) + var/datum/gas_mixture/lowertemp = T.remove_air(T:air:total_moles) + lowertemp.temperature = max(min(lowertemp.temperature-2000, lowertemp.temperature / 2), 0) + lowertemp.react() + T.assume_air(lowertemp) + del(hotspot) + + if(volume >= 3) + if(T.wet >= 1) + return + T.wet = 1 + if(T.wet_overlay) + T.overlays -= T.wet_overlay + T.wet_overlay = null + T.wet_overlay = image('icons/effects/water.dmi',T,"wet_floor") + T.overlays += T.wet_overlay + + spawn(800) // This is terrible and needs to be changed when possible. + if(!T || !istype(T)) return - - soysauce - name = "Soysauce" - id = "soysauce" - description = "A salty sauce made from the soy plant." - reagent_state = LIQUID - nutriment_factor = 2 * REAGENTS_METABOLISM - color = "#792300" // rgb: 121, 35, 0 - - ketchup - name = "Ketchup" - id = "ketchup" - description = "Ketchup, catsup, whatever. It's tomato paste." - reagent_state = LIQUID - nutriment_factor = 5 * REAGENTS_METABOLISM - color = "#731008" // rgb: 115, 16, 8 - - capsaicin - name = "Capsaicin Oil" - id = "capsaicin" - description = "This is what makes chilis hot." - reagent_state = LIQUID - color = "#B31008" // rgb: 179, 16, 8 - - on_mob_life(var/mob/living/M as mob) - if(!M) - M = holder.my_atom - if(!data) - data = 1 - if(ishuman(M)) - var/mob/living/carbon/human/H = M - if(H.species && !(H.species.flags & (NO_PAIN | IS_SYNTHETIC)) ) - switch(data) - if(1 to 2) - H << "\red Your insides feel uncomfortably hot !" - if(2 to 20) - if(prob(5)) - H << "\red Your insides feel uncomfortably hot !" - if(20 to INFINITY) - H.apply_effect(2,AGONY,0) - if(prob(5)) - H.visible_message("[H] [pick("dry heaves!","coughs!","splutters!")]") - H << "\red You feel like your insides are burning !" - else if(istype(M, /mob/living/carbon/slime)) - M.bodytemperature += rand(10,25) - holder.remove_reagent("frostoil", 5) - holder.remove_reagent(src.id, FOOD_METABOLISM) - data++ - ..() + if(T.wet >= 2) return + T.wet = 0 + if(T.wet_overlay) + T.overlays -= T.wet_overlay + T.wet_overlay = null - condensedcapsaicin - name = "Condensed Capsaicin" - id = "condensedcapsaicin" - description = "A chemical agent used for self-defense and in police work." - reagent_state = LIQUID - color = "#B31008" // rgb: 179, 16, 8 +/datum/reagent/nutriment/virus_food + name = "Virus Food" + id = "virusfood" + description = "A mixture of water, milk, and oxygen. Virus cells can use this mixture to reproduce." + reagent_state = LIQUID + nutriment_factor = 2 + color = "#899613" - reaction_mob(var/mob/living/M, var/method=TOUCH, var/volume) - if(!istype(M, /mob/living)) - return - if(method == TOUCH) - if(istype(M, /mob/living/carbon/human)) - var/mob/living/carbon/human/victim = M - var/mouth_covered = 0 - var/eyes_covered = 0 - var/obj/item/safe_thing = null - if( victim.wear_mask ) - if ( victim.wear_mask.flags & MASKCOVERSEYES ) - eyes_covered = 1 - safe_thing = victim.wear_mask - if ( victim.wear_mask.flags & MASKCOVERSMOUTH ) - mouth_covered = 1 - safe_thing = victim.wear_mask - if( victim.head ) - if ( victim.head.flags & MASKCOVERSEYES ) - eyes_covered = 1 - safe_thing = victim.head - if ( victim.head.flags & MASKCOVERSMOUTH ) - mouth_covered = 1 - safe_thing = victim.head - if(victim.glasses) - eyes_covered = 1 - if ( !safe_thing ) - safe_thing = victim.glasses - if ( eyes_covered && mouth_covered ) - victim << "\red Your [safe_thing] protects you from the pepperspray!" - return - else if ( eyes_covered ) // Reduced effects if partially protected - victim << "\red Your [safe_thing] protect you from most of the pepperspray!" - victim.eye_blurry = max(M.eye_blurry, 15) - victim.eye_blind = max(M.eye_blind, 5) - victim.Stun(5) - victim.Weaken(5) - //victim.Paralyse(10) - //victim.drop_item() - return - else if ( mouth_covered ) // Mouth cover is better than eye cover - victim << "\red Your [safe_thing] protects your face from the pepperspray!" - if (!(victim.species && (victim.species.flags & NO_PAIN))) - victim.emote("scream") - victim.eye_blurry = max(M.eye_blurry, 5) - return - else // Oh dear :D - if (!(victim.species && (victim.species.flags & NO_PAIN))) - victim.emote("scream") - victim << "\red You're sprayed directly in the eyes with pepperspray!" - victim.eye_blurry = max(M.eye_blurry, 25) - victim.eye_blind = max(M.eye_blind, 10) - victim.Stun(5) - victim.Weaken(5) - //victim.Paralyse(10) - //victim.drop_item() +/datum/reagent/nutriment/sprinkles + name = "Sprinkles" + id = "sprinkles" + description = "Multi-colored little bits of sugar, commonly found on donuts. Loved by cops." + nutriment_factor = 1 + color = "#FF00FF" - on_mob_life(var/mob/living/M as mob) - if(!M) - M = holder.my_atom - if(!data) - data = 1 - if(ishuman(M)) - var/mob/living/carbon/human/H = M - if(H.species && !(H.species.flags & (NO_PAIN | IS_SYNTHETIC)) ) - switch(data) - if(1) - H << "\red You feel like your insides are burning !" - if(2 to INFINITY) - H.apply_effect(4,AGONY,0) - if(prob(5)) - H.visible_message("[H] [pick("dry heaves!","coughs!","splutters!")]") - H << "\red You feel like your insides are burning !" - else if(istype(M, /mob/living/carbon/slime)) - M.bodytemperature += rand(15,30) - holder.remove_reagent("frostoil", 5) - holder.remove_reagent(src.id, FOOD_METABOLISM) - data++ - ..() +/datum/reagent/nutriment/mint + name = "Mint" + id = "mint" + description = "Also known as Mentha." + reagent_state = LIQUID + color = "#CF3600" + +/datum/reagent/lipozine // The anti-nutriment. + name = "Lipozine" + id = "lipozine" + description = "A chemical compound that causes a powerful fat-burning reaction." + reagent_state = LIQUID + color = "#BBEDA4" + overdose_blood = REAGENTS_OVERDOSE + overdose_ingest = REAGENTS_OVERDOSE + +/datum/reagent/lipozine/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(location == CHEM_TOUCH) + return + M.nutrition = max(M.nutrition - 10 * removed, 0) + M.overeatduration = 0 + if(M.nutrition < 0) + M.nutrition = 0 + +/* Non-food stuff like condiments */ + +/datum/reagent/sodiumchloride + name = "Table Salt" + id = "sodiumchloride" + description = "A salt made of sodium chloride. Commonly used to season food." + reagent_state = SOLID + color = "#FFFFFF" + overdose_blood = REAGENTS_OVERDOSE + overdose_ingest = REAGENTS_OVERDOSE + +/datum/reagent/blackpepper + name = "Black Pepper" + id = "blackpepper" + description = "A powder ground from peppercorns. *AAAACHOOO*" + reagent_state = SOLID + color = "#000000" + +/datum/reagent/enzyme + name = "Universal Enzyme" + id = "enzyme" + description = "A universal enzyme used in the preperation of certain chemicals and foods." + reagent_state = LIQUID + color = "#365E30" + overdose_blood = REAGENTS_OVERDOSE + overdose_ingest = REAGENTS_OVERDOSE + +/datum/reagent/frostoil + name = "Frost Oil" + id = "frostoil" + description = "A special oil that noticably chills the body. Extracted from Ice Peppers." + reagent_state = LIQUID + color = "#B31008" + +/datum/reagent/frostoil/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(location == CHEM_TOUCH || alien == IS_DIONA) + return + M.bodytemperature = max(M.bodytemperature - 10 * TEMPERATURE_DAMAGE_COEFFICIENT, 0) + if(prob(1)) + M.emote("shiver") + if(istype(M, /mob/living/carbon/slime)) + M.bodytemperature = max(M.bodytemperature - rand(10,20), 0) + holder.remove_reagent("capsaicin", 5) + +/datum/reagent/capsaicin + name = "Capsaicin Oil" + id = "capsaicin" + description = "This is what makes chilis hot." + reagent_state = LIQUID + color = "#B31008" + +/datum/reagent/capsaicin/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(location == CHEM_TOUCH || alien == IS_DIONA) + return + if(ishuman(M)) + var/mob/living/carbon/human/H = M + if(H.species && (H.species.flags & (NO_PAIN | IS_SYNTHETIC))) + return + if(dose < 5 && (dose == metabolism || prob(5))) + M << "Your insides feel uncomfortably hot!" + if(dose >= 5) + M.apply_effect(2, AGONY, 0) + if(prob(5)) + M.visible_message("[M] [pick("dry heaves!","coughs!","splutters!")]", "You feel like your insides are burning!") + if(istype(M, /mob/living/carbon/slime)) + M.bodytemperature += rand(10, 25) + holder.remove_reagent("frostoil", 5) + +/datum/reagent/condensedcapsaicin + name = "Condensed Capsaicin" + id = "condensedcapsaicin" + description = "A chemical agent used for self-defense and in police work." + reagent_state = LIQUID + touch_met = 50 // Get rid of it quickly + color = "#B31008" + +/datum/reagent/condensedcapsaicin/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(location == CHEM_TOUCH) + var/eyes_covered = 0 + var/mouth_covered = 0 + var/obj/item/safe_thing = null + if(istype(M, /mob/living/carbon/human)) + var/mob/living/carbon/human/H = M + if(H.species && (H.species.flags & NO_PAIN)) return - - frostoil - name = "Frost Oil" - id = "frostoil" - description = "A special oil that noticably chills the body. Extracted from Ice Peppers." - reagent_state = LIQUID - color = "#B31008" // rgb: 139, 166, 233 - - on_mob_life(var/mob/living/M as mob) - if(!M) - M = holder.my_atom - M.bodytemperature = max(M.bodytemperature - 10 * TEMPERATURE_DAMAGE_COEFFICIENT, 0) - if(prob(1)) - M.emote("shiver") - if(istype(M, /mob/living/carbon/slime)) - M.bodytemperature = max(M.bodytemperature - rand(10,20), 0) - holder.remove_reagent("capsaicin", 5) - holder.remove_reagent(src.id, FOOD_METABOLISM) - ..() + if(H.head) + if(H.head.flags & MASKCOVERSEYES) + eyes_covered = 1 + safe_thing = H.head + if(H.head.flags & MASKCOVERSMOUTH) + mouth_covered = 1 + safe_thing = H.head + if(H.wear_mask) + if(!eyes_covered && H.wear_mask.flags & MASKCOVERSEYES) + eyes_covered = 1 + safe_thing = H.wear_mask + if(!mouth_covered && H.wear_mask.flags & MASKCOVERSMOUTH) + mouth_covered = 1 + safe_thing = H.wear_mask + if(H.glasses) + if(!eyes_covered) + eyes_covered = 1 + if(!safe_thing) + safe_thing = H.glasses + if(eyes_covered && mouth_covered) + M << "Your [safe_thing] protects you from the pepperspray!" + return + else if(eyes_covered) + M << "Your [safe_thing] protect you from most of the pepperspray!" + M.eye_blurry = max(M.eye_blurry, 15) + M.eye_blind = max(M.eye_blind, 5) + M.Stun(5) + M.Weaken(5) + return + else if (mouth_covered) // Mouth cover is better than eye cover + M << "Your [safe_thing] protects your face from the pepperspray!" + M.eye_blurry = max(M.eye_blurry, 5) + return + else // Oh dear :D + M << "You're sprayed directly in the eyes with pepperspray!" + M.eye_blurry = max(M.eye_blurry, 25) + M.eye_blind = max(M.eye_blind, 10) + M.Stun(5) + M.Weaken(5) + return + else + if(ishuman(M)) + var/mob/living/carbon/human/H = M + if(H.species && (H.species.flags & (NO_PAIN | IS_SYNTHETIC))) return + if(dose == metabolism) + M << "You feel like your insides are burning!" + else + M.apply_effect(4, AGONY, 0) + if(prob(5)) + M.visible_message("[M] [pick("dry heaves!","coughs!","splutters!")]", "You feel like your insides are burning!") + if(istype(M, /mob/living/carbon/slime)) + M.bodytemperature += rand(15, 30) + holder.remove_reagent("frostoil", 5) - reaction_turf(var/turf/simulated/T, var/volume) - for(var/mob/living/carbon/slime/M in T) - M.adjustToxLoss(rand(15,30)) +/* Drinks */ - sodiumchloride - name = "Table Salt" - id = "sodiumchloride" - description = "A salt made of sodium chloride. Commonly used to season food." - reagent_state = SOLID - color = "#FFFFFF" // rgb: 255,255,255 - overdose = REAGENTS_OVERDOSE +/datum/reagent/drink + name = "Drink" + id = "drink" + description = "Uh, some kind of drink." + reagent_state = LIQUID + color = "#E78108" + var/nutrition = 0 // Per unit + var/adj_dizzy = 0 // Per tick + var/adj_drowsy = 0 + var/adj_sleepy = 0 + var/adj_temp = 0 - blackpepper - name = "Black Pepper" - id = "blackpepper" - description = "A powder ground from peppercorns. *AAAACHOOO*" - reagent_state = SOLID - // no color (ie, black) +/datum/reagent/drink/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(location == CHEM_BLOOD) + M.adjustToxLoss(removed) // Probably not a good idea; not very deadly though + return + if(location == CHEM_INGEST) + M.nutrition += nutrition * removed + M.dizziness = max(0, M.dizziness + adj_dizzy) + M.drowsyness = max(0, M.drowsyness + adj_drowsy) + M.sleeping = max(0, M.sleeping + adj_sleepy) + if(adj_temp > 0 && M.bodytemperature < 310) // 310 is the normal bodytemp. 310.055 + M.bodytemperature = min(310, M.bodytemperature + (adj_temp * TEMPERATURE_DAMAGE_COEFFICIENT)) + if(adj_temp < 0 && M.bodytemperature > 310) + M.bodytemperature = min(310, M.bodytemperature - (adj_temp * TEMPERATURE_DAMAGE_COEFFICIENT)) - coco - name = "Coco Powder" - id = "coco" - description = "A fatty, bitter paste made from coco beans." - reagent_state = SOLID - nutriment_factor = 5 * REAGENTS_METABOLISM - color = "#302000" // rgb: 48, 32, 0 +// Juices - on_mob_life(var/mob/living/M as mob) - M.nutrition += nutriment_factor - ..() +/datum/reagent/drink/banana + name = "Banana Juice" + id = "banana" + description = "The raw essence of a banana." + color = "#C3AF00" + + glass_icon_state = "banana" + glass_name = "glass of banana juice" + glass_desc = "The raw essence of a banana. HONK!" + +/datum/reagent/drink/berryjuice + name = "Berry Juice" + id = "berryjuice" + description = "A delicious blend of several different kinds of berries." + color = "#990066" + + glass_icon_state = "berryjuice" + glass_name = "glass of berry juice" + glass_desc = "Berry juice. Or maybe it's jam. Who cares?" + +/datum/reagent/drink/carrotjuice + name = "Carrot juice" + id = "carrotjuice" + description = "It is just like a carrot but without crunching." + color = "#FF8C00" // rgb: 255, 140, 0 + + glass_icon_state = "carrotjuice" + glass_name = "glass of carrot juice" + glass_desc = "It is just like a carrot but without crunching." + +/datum/reagent/drink/carrotjuice/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + ..() + if(location == CHEM_INGEST) + M.reagents.add_reagent("imidazoline", removed * 0.2) + +/datum/reagent/drink/grapejuice + name = "Grape Juice" + id = "grapejuice" + description = "It's grrrrrape!" + color = "#863333" + + glass_icon_state = "grapejuice" + glass_name = "glass of grape juice" + glass_desc = "It's grrrrrape!" + +/datum/reagent/drink/lemonjuice + name = "Lemon Juice" + id = "lemonjuice" + description = "This juice is VERY sour." + color = "#AFAF00" + + glass_icon_state = "lemonjuice" + glass_name = "glass of lemon juice" + glass_desc = "Sour..." + +/datum/reagent/drink/limejuice + name = "Lime Juice" + id = "limejuice" + description = "The sweet-sour juice of limes." + color = "#365E30" + + glass_icon_state = "glass_green" + glass_name = "glass of lime juice" + glass_desc = "A glass of sweet-sour lime juice" + +/datum/reagent/drink/limejuice/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + ..() + if(location == CHEM_TOUCH || location == CHEM_BLOOD || alien == IS_DIONA) + return + M.adjustToxLoss(-0.5 * removed) + +/datum/reagent/drink/orangejuice + name = "Orange juice" + id = "orangejuice" + description = "Both delicious AND rich in Vitamin C, what more do you need?" + color = "#E78108" + + glass_icon_state = "glass_orange" + glass_name = "glass of orange juice" + glass_desc = "Vitamins! Yay!" + +/datum/reagent/drink/orangejuice/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + ..() + if(location == CHEM_TOUCH || location == CHEM_BLOOD || alien == IS_DIONA) + return + M.adjustOxyLoss(-2 * removed) + +/datum/reagent/toxin/poisonberryjuice // It has more in common with toxins than drinks... but it's a juice + name = "Poison Berry Juice" + id = "poisonberryjuice" + description = "A tasty juice blended from various kinds of very deadly and toxic berries." + color = "#863353" + strength = 5 + + glass_icon_state = "poisonberryjuice" + glass_name = "glass of poison berry juice" + glass_desc = "A glass of deadly juice." + +/datum/reagent/drink/potato_juice + name = "Potato Juice" + id = "potato" + description = "Juice of the potato. Bleh." + nutrition = 2 + color = "#302000" + + glass_icon_state = "glass_brown" + glass_name = "glass of potato juice" + glass_desc = "Juice from a potato. Bleh." + +/datum/reagent/drink/tomatojuice + name = "Tomato Juice" + id = "tomatojuice" + description = "Tomatoes made into juice. What a waste of big, juicy tomatoes, huh?" + color = "#731008" + + glass_icon_state = "glass_red" + glass_name = "glass of tomato juice" + glass_desc = "Are you sure this is tomato juice?" + +/datum/reagent/drink/tomatojuice/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + ..() + if(location == CHEM_TOUCH || location == CHEM_BLOOD || alien == IS_DIONA) + return + M.heal_organ_damage(0, 0.5 * removed) + +/datum/reagent/drink/watermelonjuice + name = "Watermelon Juice" + id = "watermelonjuice" + description = "Delicious juice made from watermelon." + color = "#B83333" + + glass_icon_state = "glass_red" + glass_name = "glass of watermelon juice" + glass_desc = "Delicious juice made from watermelon." + +// Everything else + +/datum/reagent/drink/milk + name = "Milk" + id = "milk" + description = "An opaque white liquid produced by the mammary glands of mammals." + color = "#DFDFDF" + + glass_icon_state = "glass_white" + glass_name = "glass of milk" + glass_desc = "White and nutritious goodness!" + +/datum/reagent/drink/milk/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + ..() + if(location == CHEM_TOUCH || location == CHEM_BLOOD || alien == IS_DIONA) + return + M.heal_organ_damage(0.5 * removed, 0) + holder.remove_reagent("capsaicin", 10 * removed) + +/datum/reagent/drink/milk/cream + name = "Cream" + id = "cream" + description = "The fatty, still liquid part of milk. Why don't you mix this with sum scotch, eh?" + color = "#DFD7AF" + + glass_icon_state = "glass_white" + glass_name = "glass of cream" + glass_desc = "Ewwww..." + +/datum/reagent/drink/milk/soymilk + name = "Soy Milk" + id = "soymilk" + description = "An opaque white liquid made from soybeans." + color = "#DFDFC7" + + glass_icon_state = "glass_white" + glass_name = "glass of soy milk" + glass_desc = "White and nutritious soy goodness!" + +/datum/reagent/drink/tea + name = "Tea" + id = "tea" + description = "Tasty black tea, it has antioxidants, it's good for you!" + color = "#101000" + adj_dizzy = -2 + adj_drowsy = -1 + adj_sleepy = -3 + adj_temp = 20 + + glass_icon_state = "bigteacup" + glass_name = "cup of tea" + glass_desc = "Tasty black tea, it has antioxidants, it's good for you!" + +/datum/reagent/drink/tea/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + ..() + if(location == CHEM_TOUCH || location == CHEM_BLOOD || alien == IS_DIONA) + return + M.adjustToxLoss(-0.5 * removed) + +/datum/reagent/drink/tea/icetea + name = "Iced Tea" + id = "icetea" + description = "No relation to a certain rap artist/ actor." + color = "#104038" // rgb: 16, 64, 56 + adj_temp = -5 + + glass_icon_state = "icedteaglass" + glass_name = "glass of iced tea" + glass_desc = "No relation to a certain rap artist/ actor." + glass_center_of_mass = list("x"=15, "y"=10) + +/datum/reagent/drink/coffee + name = "Coffee" + id = "coffee" + description = "Coffee is a brewed drink prepared from roasted seeds, commonly called coffee beans, of the coffee plant." + color = "#482000" + adj_dizzy = -5 + adj_drowsy = -3 + adj_sleepy = -2 + adj_temp = 25 + + glass_icon_state = "hot_coffee" + glass_name = "cup of coffee" + glass_desc = "Don't drop it, or you'll send scalding liquid and glass shards everywhere." + +/datum/reagent/drink/coffee/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + ..() + if(location == CHEM_TOUCH || location == CHEM_BLOOD || alien == IS_DIONA) + return + M.make_jittery(5) + if(adj_temp > 0) + holder.remove_reagent("frostoil", 10 * removed) + +/datum/reagent/drink/coffee/icecoffee + name = "Iced Coffee" + id = "icecoffee" + description = "Coffee and ice, refreshing and cool." + color = "#102838" + adj_temp = -5 + + glass_icon_state = "icedcoffeeglass" + glass_name = "glass of iced coffee" + glass_desc = "A drink to perk you up and refresh you!" + +/datum/reagent/drink/coffee/soy_latte + name = "Soy Latte" + id = "soy_latte" + description = "A nice and tasty beverage while you are reading your hippie books." + color = "#664300" + adj_temp = 5 + + glass_icon_state = "soy_latte" + glass_name = "glass of soy latte" + glass_desc = "A nice and refrshing beverage while you are reading." + glass_center_of_mass = list("x"=15, "y"=9) + +/datum/reagent/drink/coffee/soy_latte/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + ..() + M.heal_organ_damage(0.5 * removed, 0) + +/datum/reagent/drink/coffee/cafe_latte + name = "Cafe Latte" + id = "cafe_latte" + description = "A nice, strong and tasty beverage while you are reading." + color = "#664300" // rgb: 102, 67, 0 + adj_temp = 5 + + glass_icon_state = "cafe_latte" + glass_name = "glass of cafe latte" + glass_desc = "A nice, strong and refreshing beverage while you are reading." + glass_center_of_mass = list("x"=15, "y"=9) + +/datum/reagent/drink/coffee/cafe_latte/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + ..() + M.heal_organ_damage(0.5 * removed, 0) + +/datum/reagent/drink/hot_coco + name = "Hot Chocolate" + id = "hot_coco" + description = "Made with love! And cocoa beans." + reagent_state = LIQUID + color = "#403010" + nutrition = 2 + adj_temp = 5 + + glass_icon_state = "chocolateglass" + glass_name = "glass of hot chocolate" + glass_desc = "Made with love! And cocoa beans." + +/datum/reagent/drink/sodawater + name = "Soda Water" + id = "sodawater" + description = "A can of club soda. Why not make a scotch and soda?" + color = "#619494" + adj_dizzy = -5 + adj_drowsy = -3 + adj_temp = -5 + + glass_icon_state = "glass_clear" + glass_name = "glass of soda water" + glass_desc = "Soda water. Why not make a scotch and soda?" + +/datum/reagent/drink/grapesoda + name = "Grape Soda" + id = "grapesoda" + description = "Grapes made into a fine drank." + color = "#421C52" + adj_drowsy = -3 + + glass_icon_state = "gsodaglass" + glass_name = "glass of grape soda" + glass_desc = "Looks like a delicious drink!" + +/datum/reagent/drink/tonic + name = "Tonic Water" + id = "tonic" + description = "It tastes strange but at least the quinine keeps the Space Malaria at bay." + color = "#664300" + adj_dizzy = -5 + adj_drowsy = -3 + adj_sleepy = -2 + adj_temp = -5 + + glass_icon_state = "glass_clear" + glass_name = "glass of tonic water" + glass_desc = "Quinine tastes funny, but at least it'll keep that Space Malaria away." + +/datum/reagent/drink/lemonade + name = "Lemonade" + description = "Oh the nostalgia..." + id = "lemonade" + color = "#FFFF00" + adj_temp = -5 + + glass_icon_state = "lemonadeglass" + glass_name = "glass of lemonade" + glass_desc = "Oh the nostalgia..." + +/datum/reagent/drink/kiraspecial + name = "Kira Special" + description = "Long live the guy who everyone had mistaken for a girl. Baka!" + id = "kiraspecial" + color = "#CCCC99" + adj_temp = -5 + + glass_icon_state = "kiraspecial" + glass_name = "glass of Kira Special" + glass_desc = "Long live the guy who everyone had mistaken for a girl. Baka!" + glass_center_of_mass = list("x"=16, "y"=12) + +/datum/reagent/drink/brownstar + name = "Brown Star" + description = "It's not what it sounds like..." + id = "brownstar" + color = "#9F3400" + adj_temp = -2 + + glass_icon_state = "brownstar" + glass_name = "glass of Brown Star" + glass_desc = "It's not what it sounds like..." + +/datum/reagent/drink/milkshake + name = "Milkshake" + description = "Glorious brainfreezing mixture." + id = "milkshake" + color = "#AEE5E4" + adj_temp = -9 + + glass_icon_state = "milkshake" + glass_name = "glass of milkshake" + glass_desc = "Glorious brainfreezing mixture." + glass_center_of_mass = list("x"=16, "y"=7) + +/datum/reagent/drink/rewriter + name = "Rewriter" + description = "The secret of the sanctuary of the Libarian..." + id = "rewriter" + color = "#485000" + adj_temp = -5 + + glass_icon_state = "rewriter" + glass_name = "glass of Rewriter" + glass_desc = "The secret of the sanctuary of the Libarian..." + glass_center_of_mass = list("x"=16, "y"=9) + +/datum/reagent/drink/rewriter/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + ..() + M.make_jittery(5) + +/datum/reagent/drink/nuka_cola + name = "Nuka Cola" + id = "nuka_cola" + description = "Cola, cola never changes." + color = "#100800" + adj_temp = -5 + adj_sleepy = -2 + + glass_icon_state = "nuka_colaglass" + glass_name = "glass of Nuka-Cola" + glass_desc = "Don't cry, Don't raise your eye, It's only nuclear wasteland" + glass_center_of_mass = list("x"=16, "y"=6) + +/datum/reagent/drink/nuka_cola/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + ..() + M.add_chemical_effect(CE_SPEEDBOOST, 1) + M.make_jittery(20) + M.druggy = max(M.druggy, 30) + M.dizziness += 5 + M.drowsyness = 0 + +/datum/reagent/drink/grenadine + name = "Grenadine Syrup" + id = "grenadine" + description = "Made in the modern day with proper pomegranate substitute. Who uses real fruit, anyways?" + color = "#FF004F" + + glass_icon_state = "grenadineglass" + glass_name = "glass of grenadine syrup" + glass_desc = "Sweet and tangy, a bar syrup used to add color or flavor to drinks." + glass_center_of_mass = list("x"=17, "y"=6) + +/datum/reagent/drink/space_cola + name = "Space Cola" + id = "cola" + description = "A refreshing beverage." + reagent_state = LIQUID + color = "#100800" + adj_drowsy = -3 + adj_temp = -5 + + glass_icon_state = "glass_brown" + glass_name = "glass of Space Cola" + glass_desc = "A glass of refreshing Space Cola" + +/datum/reagent/drink/spacemountainwind + name = "Mountain Wind" + id = "spacemountainwind" + description = "Blows right through you like a space wind." + color = "#102000" + adj_drowsy = -7 + adj_sleepy = -1 + adj_temp = -5 + + glass_icon_state = "Space_mountain_wind_glass" + glass_name = "glass of Space Mountain Wind" + glass_desc = "Space Mountain Wind. As you know, there are no mountains in space, only wind." + +/datum/reagent/drink/dr_gibb + name = "Dr. Gibb" + id = "dr_gibb" + description = "A delicious blend of 42 different flavours" + color = "#102000" + adj_drowsy = -6 + adj_temp = -5 + + glass_icon_state = "dr_gibb_glass" + glass_name = "glass of Dr. Gibb" + glass_desc = "Dr. Gibb. Not as dangerous as the name might imply." + +/datum/reagent/drink/space_up + name = "Space-Up" + id = "space_up" + description = "Tastes like a hull breach in your mouth." + color = "#202800" + adj_temp = -8 + + glass_icon_state = "space-up_glass" + glass_name = "glass of Space-up" + glass_desc = "Space-up. It helps keep your cool." + +/datum/reagent/drink/lemon_lime + name = "Lemon Lime" + description = "A tangy substance made of 0.5% natural citrus!" + id = "lemon_lime" + color = "#878F00" + adj_temp = -8 + + glass_icon_state = "lemonlime" + glass_name = "glass of lemon lime soda" + glass_desc = "A tangy substance made of 0.5% natural citrus!" + +/datum/reagent/drink/doctor_delight + name = "The Doctor's Delight" + id = "doctorsdelight" + description = "A gulp a day keeps the MediBot away. That's probably for the best." + reagent_state = LIQUID + color = "#FF8CFF" + nutrition = 1 + + glass_icon_state = "doctorsdelightglass" + glass_name = "glass of The Doctor's Delight" + glass_desc = "A healthy mixture of juices, guaranteed to keep you healthy until the next toolboxing takes place." + glass_center_of_mass = list("x"=16, "y"=8) + +/datum/reagent/drink/doctor_delight/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + ..() + if(location == CHEM_TOUCH || location == CHEM_BLOOD || alien == IS_DIONA) + return + M.adjustOxyLoss(-4 * removed) + M.heal_organ_damage(2 * removed, 2 * removed) + M.adjustToxLoss(-2 * removed) + if(M.dizziness) + M.dizziness = max(0, M.dizziness - 15) + if(M.confused) + M.confused = max(0, M.confused - 5) + +/datum/reagent/drink/dry_ramen + name = "Dry Ramen" + id = "dry_ramen" + description = "Space age food, since August 25, 1958. Contains dried noodles, vegetables, and chemicals that boil in contact with water." + reagent_state = SOLID + nutrition = 1 + color = "#302000" + +/datum/reagent/drink/hot_ramen + name = "Hot Ramen" + id = "hot_ramen" + description = "The noodles are boiled, the flavors are artificial, just like being back in school." + reagent_state = LIQUID + color = "#302000" + nutrition = 5 + adj_temp = 5 + +/datum/reagent/drink/hell_ramen + name = "Hell Ramen" + id = "hell_ramen" + description = "The noodles are boiled, the flavors are artificial, just like being back in school." + reagent_state = LIQUID + color = "#302000" + nutrition = 5 + +/datum/reagent/drink/hell_ramen/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + ..() + if(location == CHEM_TOUCH || location == CHEM_BLOOD || alien == IS_DIONA) + return + M.bodytemperature += 10 * TEMPERATURE_DAMAGE_COEFFICIENT + +/datum/reagent/drink/ice + name = "Ice" + id = "ice" + description = "Frozen water, your dentist wouldn't like you chewing this." + reagent_state = SOLID + color = "#619494" + adj_temp = -5 + + glass_icon_state = "iceglass" + glass_name = "glass of ice" + glass_desc = "Generally, you're supposed to put something else in there too..." + +/datum/reagent/drink/nothing + name = "Nothing" + id = "nothing" + description = "Absolutely nothing." + + glass_icon_state = "nothing" + glass_name = "glass of nothing" + glass_desc = "Absolutely nothing." + +/* Alcohol */ + +// Basic + +/datum/reagent/ethanol/absinthe + name = "Absinthe" + id = "absinthe" + description = "Watch out that the Green Fairy doesn't come for you!" + color = "#33EE00" + strength = 12 + + glass_icon_state = "absintheglass" + glass_name = "glass of absinthe" + glass_desc = "Wormwood, anise, oh my." + glass_center_of_mass = list("x"=16, "y"=5) + +/datum/reagent/ethanol/ale + name = "Ale" + id = "ale" + description = "A dark alchoholic beverage made by malted barley and yeast." + color = "#664300" + strength = 50 + + glass_icon_state = "aleglass" + glass_name = "glass of ale" + glass_desc = "A freezing pint of delicious ale" + glass_center_of_mass = list("x"=16, "y"=8) + +/datum/reagent/ethanol/beer + name = "Beer" + id = "beer" + description = "An alcoholic beverage made from malted grains, hops, yeast, and water." + color = "#664300" + strength = 50 + nutriment_factor = 1 + + glass_icon_state = "beerglass" + glass_name = "glass of beer" + glass_desc = "A freezing pint of beer" + glass_center_of_mass = list("x"=16, "y"=8) + +/datum/reagent/ethanol/beer/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + ..() + if(location == CHEM_TOUCH || location == CHEM_BLOOD || alien == IS_DIONA) + return + M.jitteriness = max(M.jitteriness - 3, 0) + +/datum/reagent/ethanol/bluecuracao + name = "Blue Curacao" + id = "bluecuracao" + description = "Exotically blue, fruity drink, distilled from oranges." + color = "#0000CD" + strength = 15 + + glass_icon_state = "curacaoglass" + glass_name = "glass of blue curacao" + glass_desc = "Exotically blue, fruity drink, distilled from oranges." + glass_center_of_mass = list("x"=16, "y"=5) + +/datum/reagent/ethanol/cognac + name = "Cognac" + id = "cognac" + description = "A sweet and strongly alchoholic drink, made after numerous distillations and years of maturing. Classy as fornication." + color = "#AB3C05" + strength = 15 + + glass_icon_state = "cognacglass" + glass_name = "glass of cognac" + glass_desc = "Damn, you feel like some kind of French aristocrat just by holding this." + glass_center_of_mass = list("x"=16, "y"=6) + +/datum/reagent/ethanol/deadrum + name = "Deadrum" + id = "deadrum" + description = "Popular with the sailors. Not very popular with everyone else." + color = "#664300" + strength = 50 + + glass_icon_state = "rumglass" + glass_name = "glass of rum" + glass_desc = "Now you want to Pray for a pirate suit, don't you?" + glass_center_of_mass = list("x"=16, "y"=12) + +/datum/reagent/ethanol/deadrum/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + ..() + if(location == CHEM_TOUCH || location == CHEM_BLOOD || alien == IS_DIONA) + return + M.dizziness +=5 + +/datum/reagent/ethanol/gin + name = "Gin" + id = "gin" + description = "It's gin. In space. I say, good sir." + color = "#664300" + strength = 50 + + glass_icon_state = "ginvodkaglass" + glass_name = "glass of gin" + glass_desc = "A crystal clear glass of Griffeater gin." + glass_center_of_mass = list("x"=16, "y"=12) + +/datum/reagent/ethanol/kahlua + name = "Kahlua" + id = "kahlua" + description = "A widely known, Mexican coffee-flavoured liqueur. In production since 1936!" + color = "#664300" + strength = 15 + + glass_icon_state = "kahluaglass" + glass_name = "glass of RR coffee liquor" + glass_desc = "DAMN, THIS THING LOOKS ROBUST" + glass_center_of_mass = list("x"=15, "y"=7) + +/datum/reagent/ethanol/kahlua/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + ..() + if(location == CHEM_TOUCH || location == CHEM_BLOOD || alien == IS_DIONA) + return + M.dizziness = max(0, M.dizziness - 5) + M.drowsyness = max(0, M.drowsyness - 3) + M.sleeping = max(0, M.sleeping - 2) + if (M.bodytemperature > 310) + M.bodytemperature = max(310, M.bodytemperature - (5 * TEMPERATURE_DAMAGE_COEFFICIENT)) + M.make_jittery(5) + +/datum/reagent/ethanol/melonliquor + name = "Melon Liquor" + id = "melonliquor" + description = "A relatively sweet and fruity 46 proof liquor." + color = "#138808" // rgb: 19, 136, 8 + strength = 50 + + glass_icon_state = "emeraldglass" + glass_name = "glass of melon liquor" + glass_desc = "A relatively sweet and fruity 46 proof liquor." + glass_center_of_mass = list("x"=16, "y"=5) + +/datum/reagent/ethanol/rum + name = "Rum" + id = "rum" + description = "Yohoho and all that." + color = "#664300" + strength = 15 + + glass_icon_state = "rumglass" + glass_name = "glass of rum" + glass_desc = "Now you want to Pray for a pirate suit, don't you?" + glass_center_of_mass = list("x"=16, "y"=12) + +/datum/reagent/ethanol/sake + name = "Sake" + id = "sake" + description = "Anime's favorite drink." + color = "#664300" + strength = 25 + + glass_icon_state = "ginvodkaglass" + glass_name = "glass of sake" + glass_desc = "A glass of sake." + glass_center_of_mass = list("x"=16, "y"=12) + +/datum/reagent/ethanol/tequilla + name = "Tequila" + id = "tequilla" + description = "A strong and mildly flavoured, mexican produced spirit. Feeling thirsty hombre?" + color = "#FFFF91" + strength = 25 + + glass_icon_state = "tequillaglass" + glass_name = "glass of Tequilla" + glass_desc = "Now all that's missing is the weird colored shades!" + glass_center_of_mass = list("x"=16, "y"=12) + +/datum/reagent/ethanol/thirteenloko + name = "Thirteen Loko" + id = "thirteenloko" + description = "A potent mixture of caffeine and alcohol." + color = "#102000" + strength = 25 + nutriment_factor = 1 + + glass_icon_state = "thirteen_loko_glass" + glass_name = "glass of Thirteen Loko" + glass_desc = "This is a glass of Thirteen Loko, it appears to be of the highest quality. The drink, not the glass." + +/datum/reagent/ethanol/thirteenloko/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + ..() + if(location == CHEM_TOUCH || location == CHEM_BLOOD || alien == IS_DIONA) + return + M.drowsyness = max(0, M.drowsyness - 7) + if (M.bodytemperature > 310) + M.bodytemperature = max(310, M.bodytemperature - (5 * TEMPERATURE_DAMAGE_COEFFICIENT)) + M.make_jittery(5) + +/datum/reagent/ethanol/vermouth + name = "Vermouth" + id = "vermouth" + description = "You suddenly feel a craving for a martini..." + color = "#91FF91" // rgb: 145, 255, 145 + strength = 15 + + glass_icon_state = "vermouthglass" + glass_name = "glass of vermouth" + glass_desc = "You wonder why you're even drinking this straight." + glass_center_of_mass = list("x"=16, "y"=12) + +/datum/reagent/ethanol/vodka + name = "Vodka" + id = "vodka" + description = "Number one drink AND fueling choice for Russians worldwide." + color = "#0064C8" // rgb: 0, 100, 200 + strength = 15 + + glass_icon_state = "ginvodkaglass" + glass_name = "glass of vodka" + glass_desc = "The glass contain wodka. Xynta." + glass_center_of_mass = list("x"=16, "y"=12) + +/datum/reagent/ethanol/vodka/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + ..() + M.radiation = max(M.radiation - 1 * removed, 0) + +/datum/reagent/ethanol/whiskey + name = "Whiskey" + id = "whiskey" + description = "A superb and well-aged single-malt whiskey. Damn." + color = "#664300" + strength = 25 + + glass_icon_state = "whiskeyglass" + glass_name = "glass of whiskey" + glass_desc = "The silky, smokey whiskey goodness inside the glass makes the drink look very classy." + glass_center_of_mass = list("x"=16, "y"=12) + +/datum/reagent/ethanol/wine + name = "Wine" + id = "wine" + description = "An premium alchoholic beverage made from distilled grape juice." + color = "#7E4043" // rgb: 126, 64, 67 + strength = 15 + + glass_icon_state = "wineglass" + glass_name = "glass of wine" + glass_desc = "A very classy looking drink." + glass_center_of_mass = list("x"=15, "y"=7) + +// Cocktails + +/datum/reagent/ethanol/acid_spit + name = "Acid Spit" + id = "acidspit" + description = "A drink for the daring, can be deadly if incorrectly prepared!" + reagent_state = LIQUID + color = "#365000" + strength = 30 + + glass_icon_state = "acidspitglass" + glass_name = "glass of Acid Spit" + glass_desc = "A drink from Nanotrasen. Made from live aliens." + glass_center_of_mass = list("x"=16, "y"=7) + +/datum/reagent/ethanol/alliescocktail + name = "Allies Cocktail" + id = "alliescocktail" + description = "A drink made from your allies, not as sweet as when made from your enemies." + color = "#664300" + strength = 25 + + glass_icon_state = "alliescocktail" + glass_name = "glass of Allies cocktail" + glass_desc = "A drink made from your allies." + glass_center_of_mass = list("x"=17, "y"=8) + +/datum/reagent/ethanol/aloe + name = "Aloe" + id = "aloe" + description = "So very, very, very good." + color = "#664300" + strength = 15 + + glass_icon_state = "aloe" + glass_name = "glass of Aloe" + glass_desc = "Very, very, very good." + glass_center_of_mass = list("x"=17, "y"=8) + +/datum/reagent/ethanol/amasec + name = "Amasec" + id = "amasec" + description = "Official drink of the NanoTrasen Gun-Club!" + reagent_state = LIQUID + color = "#664300" + strength = 25 + + glass_icon_state = "amasecglass" + glass_name = "glass of Amasec" + glass_desc = "Always handy before COMBAT!!!" + glass_center_of_mass = list("x"=16, "y"=9) + +/datum/reagent/ethanol/andalusia + name = "Andalusia" + id = "andalusia" + description = "A nice, strangely named drink." + color = "#664300" + strength = 15 + + glass_icon_state = "andalusia" + glass_name = "glass of Andalusia" + glass_desc = "A nice, strange named drink." + glass_center_of_mass = list("x"=16, "y"=9) + +/datum/reagent/ethanol/antifreeze + name = "Anti-freeze" + id = "antifreeze" + description = "Ultimate refreshment." + color = "#664300" + strength = 12 + adj_temp = 20 + targ_temp = 330 + + glass_icon_state = "antifreeze" + glass_name = "glass of Anti-freeze" + glass_desc = "The ultimate refreshment." + glass_center_of_mass = list("x"=16, "y"=8) + +/datum/reagent/ethanol/atomicbomb + name = "Atomic Bomb" + id = "atomicbomb" + description = "Nuclear proliferation never tasted so good." + reagent_state = LIQUID + color = "#666300" + strength = 10 + druggy = 50 + + glass_icon_state = "atomicbombglass" + glass_name = "glass of Atomic Bomb" + glass_desc = "Nanotrasen cannot take legal responsibility for your actions after imbibing." + glass_center_of_mass = list("x"=15, "y"=7) + +/datum/reagent/ethanol/b52 + name = "B-52" + id = "b52" + description = "Coffee, Irish Cream, and cognac. You will get bombed." + color = "#664300" + strength = 12 + + glass_icon_state = "b52glass" + glass_name = "glass of B-52" + glass_desc = "Kahlua, Irish cream, and congac. You will get bombed." + +/datum/reagent/ethanol/bahama_mama + name = "Bahama mama" + id = "bahama_mama" + description = "Tropical cocktail." + color = "#FF7F3B" + strength = 25 + + glass_icon_state = "bahama_mama" + glass_name = "glass of Bahama Mama" + glass_desc = "Tropical cocktail" + glass_center_of_mass = list("x"=16, "y"=5) + +/datum/reagent/ethanol/bananahonk + name = "Banana Mama" + id = "bananahonk" + description = "A drink from Clown Heaven." + nutriment_factor = 1 + color = "#FFFF91" + strength = 12 + + glass_icon_state = "bananahonkglass" + glass_name = "glass of Banana Honk" + glass_desc = "A drink from Banana Heaven." + glass_center_of_mass = list("x"=16, "y"=8) + +/datum/reagent/ethanol/barefoot + name = "Barefoot" + id = "barefoot" + description = "Barefoot and pregnant" + color = "#664300" + strength = 30 + + glass_icon_state = "b&p" + glass_name = "glass of Barefoot" + glass_desc = "Barefoot and pregnant" + glass_center_of_mass = list("x"=17, "y"=8) + +/datum/reagent/ethanol/beepsky_smash + name = "Beepsky Smash" + id = "beepskysmash" + description = "Deny drinking this and prepare for THE LAW." + reagent_state = LIQUID + color = "#664300" + strength = 12 + + glass_icon_state = "beepskysmashglass" + glass_name = "Beepsky Smash" + glass_desc = "Heavy, hot and strong. Just like the Iron fist of the LAW." + glass_center_of_mass = list("x"=18, "y"=10) + +/datum/reagent/ethanol/beepsky_smash/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + ..() + M.Stun(2) + +/datum/reagent/ethanol/bilk + name = "Bilk" + id = "bilk" + description = "This appears to be beer mixed with milk. Disgusting." + color = "#895C4C" + strength = 50 + nutriment_factor = 2 + + glass_icon_state = "glass_brown" + glass_name = "glass of bilk" + glass_desc = "A brew of milk and beer. For those alcoholics who fear osteoporosis." + +/datum/reagent/ethanol/black_russian + name = "Black Russian" + id = "blackrussian" + description = "For the lactose-intolerant. Still as classy as a White Russian." + color = "#360000" + strength = 15 + + glass_icon_state = "blackrussianglass" + glass_name = "glass of Black Russian" + glass_desc = "For the lactose-intolerant. Still as classy as a White Russian." + glass_center_of_mass = list("x"=16, "y"=9) + +/datum/reagent/ethanol/bloody_mary + name = "Bloody Mary" + id = "bloodymary" + description = "A strange yet pleasurable mixture made of vodka, tomato and lime juice. Or at least you THINK the red stuff is tomato juice." + color = "#664300" + strength = 15 + + glass_icon_state = "bloodymaryglass" + glass_name = "glass of Bloody Mary" + glass_desc = "Tomato juice, mixed with Vodka and a lil' bit of lime. Tastes like liquid murder." + +/datum/reagent/ethanol/booger + name = "Booger" + id = "booger" + description = "Ewww..." + color = "#8CFF8C" + strength = 30 + + glass_icon_state = "booger" + glass_name = "glass of Booger" + glass_desc = "Ewww..." + +/datum/reagent/ethanol/brave_bull + name = "Brave Bull" + id = "bravebull" + description = "It's just as effective as Dutch-Courage!" + color = "#664300" + strength = 15 + + glass_icon_state = "bravebullglass" + glass_name = "glass of Brave Bull" + glass_desc = "Tequilla and coffee liquor, brought together in a mouthwatering mixture. Drink up." + glass_center_of_mass = list("x"=15, "y"=8) + +/datum/reagent/ethanol/changelingsting + name = "Changeling Sting" + id = "changelingsting" + description = "You take a tiny sip and feel a burning sensation..." + color = "#2E6671" + strength = 10 + + glass_icon_state = "changelingsting" + glass_name = "glass of Changeling Sting" + glass_desc = "A stingy drink." + +/datum/reagent/ethanol/classicmartini + name = "Classic Martini" + id = "classicmartini" + description = "Vermouth with Gin. Not quite how 007 enjoyed it, but still delicious." + color = "#664300" + strength = 25 + + glass_icon_state = "martiniglass" + glass_name = "glass of classic martini" + glass_desc = "Damn, the bartender even stirred it, not shook it." + glass_center_of_mass = list("x"=17, "y"=8) + +/datum/reagent/ethanol/cuba_libre + name = "Cuba Libre" + id = "cubalibre" + description = "Rum, mixed with cola. Viva la revolucion." + color = "#3E1B00" + strength = 30 + + glass_icon_state = "cubalibreglass" + glass_name = "glass of Cuba Libre" + glass_desc = "A classic mix of rum and cola." + glass_center_of_mass = list("x"=16, "y"=8) + +/datum/reagent/ethanol/demonsblood + name = "Demons Blood" + id = "demonsblood" + description = "AHHHH!!!!" + color = "#820000" + strength = 15 + + glass_icon_state = "demonsblood" + glass_name = "glass of Demons' Blood" + glass_desc = "Just looking at this thing makes the hair at the back of your neck stand up." + glass_center_of_mass = list("x"=16, "y"=2) + +/datum/reagent/ethanol/devilskiss + name = "Devils Kiss" + id = "devilskiss" + description = "Creepy time!" + color = "#A68310" + strength = 15 + + glass_icon_state = "devilskiss" + glass_name = "glass of Devil's Kiss" + glass_desc = "Creepy time!" + glass_center_of_mass = list("x"=16, "y"=8) + +/datum/reagent/ethanol/driestmartini + name = "Driest Martini" + id = "driestmartini" + description = "Only for the experienced. You think you see sand floating in the glass." + nutriment_factor = 1 + color = "#2E6671" + strength = 12 + + glass_icon_state = "driestmartiniglass" + glass_name = "glass of Driest Martini" + glass_desc = "Only for the experienced. You think you see sand floating in the glass." + glass_center_of_mass = list("x"=17, "y"=8) + +/datum/reagent/ethanol/ginfizz + name = "Gin Fizz" + id = "ginfizz" + description = "Refreshingly lemony, deliciously dry." + color = "#664300" + strength = 30 + + glass_icon_state = "ginfizzglass" + glass_name = "glass of gin fizz" + glass_desc = "Refreshingly lemony, deliciously dry." + glass_center_of_mass = list("x"=16, "y"=7) + +/datum/reagent/ethanol/grog + name = "Grog" + id = "grog" + description = "Watered down rum, NanoTrasen approves!" + reagent_state = LIQUID + color = "#664300" + strength = 100 + + glass_icon_state = "grogglass" + glass_name = "glass of grog" + glass_desc = "A fine and cepa drink for Space." + +/datum/reagent/ethanol/erikasurprise + name = "Erika Surprise" + id = "erikasurprise" + description = "The surprise is, it's green!" + color = "#2E6671" + strength = 15 + + glass_icon_state = "erikasurprise" + glass_name = "glass of Erika Surprise" + glass_desc = "The surprise is, it's green!" + glass_center_of_mass = list("x"=16, "y"=9) + +/datum/reagent/ethanol/gargle_blaster + name = "Pan-Galactic Gargle Blaster" + id = "gargleblaster" + description = "Whoah, this stuff looks volatile!" + reagent_state = LIQUID + color = "#664300" + strength = 10 + + glass_icon_state = "gargleblasterglass" + glass_name = "glass of Pan-Galactic Gargle Blaster" + glass_desc = "Does... does this mean that Arthur and Ford are on the station? Oh joy." + glass_center_of_mass = list("x"=17, "y"=6) + +/datum/reagent/ethanol/gintonic + name = "Gin and Tonic" + id = "gintonic" + description = "An all time classic, mild cocktail." + color = "#664300" + strength = 50 + + glass_icon_state = "gintonicglass" + glass_name = "glass of gin and tonic" + glass_desc = "A mild but still great cocktail. Drink up, like a true Englishman." + glass_center_of_mass = list("x"=16, "y"=7) + +/datum/reagent/ethanol/goldschlager + name = "Goldschlager" + id = "goldschlager" + description = "100 proof cinnamon schnapps, made for alcoholic teen girls on spring break." + color = "#664300" + strength = 15 + + glass_icon_state = "ginvodkaglass" + glass_name = "glass of Goldschlager" + glass_desc = "100 proof that teen girls will drink anything with gold in it." + glass_center_of_mass = list("x"=16, "y"=12) + +/datum/reagent/ethanol/hippies_delight + name = "Hippies' Delight" + id = "hippiesdelight" + description = "You just don't get it maaaan." + reagent_state = LIQUID + color = "#664300" + strength = 15 + druggy = 50 + + glass_icon_state = "hippiesdelightglass" + glass_name = "glass of Hippie's Delight" + glass_desc = "A drink enjoyed by people during the 1960's." + glass_center_of_mass = list("x"=16, "y"=8) + +/datum/reagent/ethanol/hooch + name = "Hooch" + id = "hooch" + description = "Either someone's failure at cocktail making or attempt in alchohol production. In any case, do you really want to drink that?" + color = "#664300" + strength = 25 + toxicity = 2 + + glass_icon_state = "glass_brown2" + glass_name = "glass of Hooch" + glass_desc = "You've really hit rock bottom now... your liver packed its bags and left last night." + +/datum/reagent/ethanol/iced_beer + name = "Iced Beer" + id = "iced_beer" + description = "A beer which is so cold the air around it freezes." + color = "#664300" + strength = 50 + adj_temp = -20 + targ_temp = 270 + + glass_icon_state = "iced_beerglass" + glass_name = "glass of iced beer" + glass_desc = "A beer so frosty, the air around it freezes." + glass_center_of_mass = list("x"=16, "y"=7) + +/datum/reagent/ethanol/irishcarbomb + name = "Irish Car Bomb" + id = "irishcarbomb" + description = "Mmm, tastes like chocolate cake..." + color = "#2E6671" + strength = 15 + + glass_icon_state = "irishcarbomb" + glass_name = "glass of Irish Car Bomb" + glass_desc = "An irish car bomb." + glass_center_of_mass = list("x"=16, "y"=8) + +/datum/reagent/ethanol/irishcoffee + name = "Irish Coffee" + id = "irishcoffee" + description = "Coffee, and alcohol. More fun than a Mimosa to drink in the morning." + color = "#664300" + strength = 15 + + glass_icon_state = "irishcoffeeglass" + glass_name = "glass of Irish coffee" + glass_desc = "Coffee and alcohol. More fun than a Mimosa to drink in the morning." + glass_center_of_mass = list("x"=15, "y"=10) + +/datum/reagent/ethanol/irish_cream + name = "Irish Cream" + id = "irishcream" + description = "Whiskey-imbued cream, what else would you expect from the Irish." + color = "#664300" + strength = 25 + + glass_icon_state = "irishcreamglass" + glass_name = "glass of Irish cream" + glass_desc = "It's cream, mixed with whiskey. What else would you expect from the Irish?" + glass_center_of_mass = list("x"=16, "y"=9) + +/datum/reagent/ethanol/longislandicedtea + name = "Long Island Iced Tea" + id = "longislandicedtea" + description = "The liquor cabinet, brought together in a delicious mix. Intended for middle-aged alcoholic women only." + color = "#664300" + strength = 12 + + glass_icon_state = "longislandicedteaglass" + glass_name = "glass of Long Island iced tea" + glass_desc = "The liquor cabinet, brought together in a delicious mix. Intended for middle-aged alcoholic women only." + glass_center_of_mass = list("x"=16, "y"=8) + +/datum/reagent/ethanol/manhattan + name = "Manhattan" + id = "manhattan" + description = "The Detective's undercover drink of choice. He never could stomach gin..." + color = "#664300" + strength = 15 + + glass_icon_state = "manhattanglass" + glass_name = "glass of Manhattan" + glass_desc = "The Detective's undercover drink of choice. He never could stomach gin..." + glass_center_of_mass = list("x"=17, "y"=8) + +/datum/reagent/ethanol/manhattan_proj + name = "Manhattan Project" + id = "manhattan_proj" + description = "A scientist's drink of choice, for pondering ways to blow up the station." + color = "#664300" + strength = 10 + druggy = 30 + + glass_icon_state = "proj_manhattanglass" + glass_name = "glass of Manhattan Project" + glass_desc = "A scienitst drink of choice, for thinking how to blow up the station." + glass_center_of_mass = list("x"=17, "y"=8) + +/datum/reagent/ethanol/manly_dorf + name = "The Manly Dorf" + id = "manlydorf" + description = "Beer and Ale, brought together in a delicious mix. Intended for true men only." + color = "#664300" + strength = 25 + + glass_icon_state = "manlydorfglass" + glass_name = "glass of The Manly Dorf" + glass_desc = "A manly concotion made from Ale and Beer. Intended for true men only." + +/datum/reagent/ethanol/margarita + name = "Margarita" + id = "margarita" + description = "On the rocks with salt on the rim. Arriba~!" + color = "#8CFF8C" + strength = 15 + + glass_icon_state = "margaritaglass" + glass_name = "glass of margarita" + glass_desc = "On the rocks with salt on the rim. Arriba~!" + glass_center_of_mass = list("x"=16, "y"=8) + +/datum/reagent/ethanol/mead + name = "Mead" + id = "mead" + description = "A Viking's drink, though a cheap one." + reagent_state = LIQUID + color = "#664300" + strength = 30 + nutriment_factor = 1 + + glass_icon_state = "meadglass" + glass_name = "glass of mead" + glass_desc = "A Viking's beverage, though a cheap one." + glass_center_of_mass = list("x"=17, "y"=10) + +/datum/reagent/ethanol/moonshine + name = "Moonshine" + id = "moonshine" + description = "You've really hit rock bottom now... your liver packed its bags and left last night." + color = "#664300" + strength = 12 + + glass_icon_state = "glass_clear" + glass_name = "glass of moonshine" + glass_desc = "You've really hit rock bottom now... your liver packed its bags and left last night." + +/datum/reagent/ethanol/neurotoxin + name = "Neurotoxin" + id = "neurotoxin" + description = "A strong neurotoxin that puts the subject into a death-like state." + reagent_state = LIQUID + color = "#2E2E61" + strength = 10 + + glass_icon_state = "neurotoxinglass" + glass_name = "glass of Neurotoxin" + glass_desc = "A drink that is guaranteed to knock you silly." + glass_center_of_mass = list("x"=16, "y"=8) + +/datum/reagent/ethanol/neurotoxin/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + ..() + M.Weaken(3) + +/datum/reagent/ethanol/patron + name = "Patron" + id = "patron" + description = "Tequila with silver in it, a favorite of alcoholic women in the club scene." + color = "#585840" + strength = 30 + + glass_icon_state = "patronglass" + glass_name = "glass of Patron" + glass_desc = "Drinking patron in the bar, with all the subpar ladies." + glass_center_of_mass = list("x"=7, "y"=8) + +/datum/reagent/ethanol/pwine + name = "Poison Wine" + id = "pwine" + description = "Is this even wine? Toxic! Hallucinogenic! Probably consumed in boatloads by your superiors!" + color = "#000000" + strength = 10 + druggy = 50 + halluci = 10 + + glass_icon_state = "pwineglass" + glass_name = "glass of ???" + glass_desc = "A black ichor with an oily purple sheer on top. Are you sure you should drink this?" + glass_center_of_mass = list("x"=16, "y"=5) + +/datum/reagent/ethanol/pwine/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + ..() + if(dose > 30) + M.adjustToxLoss(2 * removed) + if(dose > 60 && ishuman(M) && prob(5)) + var/mob/living/carbon/human/H = M + var/datum/organ/internal/heart/L = H.internal_organs_by_name["heart"] + if (L && istype(L)) + if(dose < 120) + L.take_damage(10 * removed, 0) + else + L.take_damage(100, 0) + +/datum/reagent/ethanol/red_mead + name = "Red Mead" + id = "red_mead" + description = "The true Viking's drink! Even though it has a strange red color." + color = "#C73C00" + strength = 30 + + glass_icon_state = "red_meadglass" + glass_name = "glass of red mead" + glass_desc = "A true Viking's beverage, though its color is strange." + glass_center_of_mass = list("x"=17, "y"=10) + +/datum/reagent/ethanol/sbiten + name = "Sbiten" + id = "sbiten" + description = "A spicy Vodka! Might be a little hot for the little guys!" + color = "#664300" + strength = 15 + adj_temp = 50 + targ_temp = 360 + + glass_icon_state = "sbitenglass" + glass_name = "glass of Sbiten" + glass_desc = "A spicy mix of Vodka and Spice. Very hot." + glass_center_of_mass = list("x"=17, "y"=8) + +/datum/reagent/ethanol/screwdrivercocktail + name = "Screwdriver" + id = "screwdrivercocktail" + description = "Vodka, mixed with plain ol' orange juice. The result is surprisingly delicious." + color = "#A68310" + strength = 15 + + glass_icon_state = "screwdriverglass" + glass_name = "glass of Screwdriver" + glass_desc = "A simple, yet superb mixture of Vodka and orange juice. Just the thing for the tired engineer." + glass_center_of_mass = list("x"=15, "y"=10) + +/datum/reagent/ethanol/silencer + name = "Silencer" + id = "silencer" + description = "A drink from Mime Heaven." + nutriment_factor = 1 + color = "#664300" + strength = 12 + + glass_icon_state = "silencerglass" + glass_name = "glass of Silencer" + glass_desc = "A drink from mime Heaven." + glass_center_of_mass = list("x"=16, "y"=9) + +/datum/reagent/ethanol/singulo + name = "Singulo" + id = "singulo" + description = "A blue-space beverage!" + color = "#2E6671" + strength = 10 + + glass_icon_state = "singulo" + glass_name = "glass of Singulo" + glass_desc = "A blue-space beverage." + glass_center_of_mass = list("x"=17, "y"=4) + +/datum/reagent/ethanol/snowwhite + name = "Snow White" + id = "snowwhite" + description = "A cold refreshment" + color = "#FFFFFF" + strength = 30 + + glass_icon_state = "snowwhite" + glass_name = "glass of Snow White" + glass_desc = "A cold refreshment." + glass_center_of_mass = list("x"=16, "y"=8) + +/datum/reagent/ethanol/suidream + name = "Sui Dream" + id = "suidream" + description = "Comprised of: White soda, blue curacao, melon liquor." + color = "#00A86B" + strength = 100 + + glass_icon_state = "sdreamglass" + glass_name = "glass of Sui Dream" + glass_desc = "A froofy, fruity, and sweet mixed drink. Understanding the name only brings shame." + glass_center_of_mass = list("x"=16, "y"=5) + +/datum/reagent/ethanol/syndicatebomb + name = "Syndicate Bomb" + id = "syndicatebomb" + description = "Tastes like terrorism!" + color = "#2E6671" + strength = 10 + + glass_icon_state = "syndicatebomb" + glass_name = "glass of Syndicate Bomb" + glass_desc = "Tastes like terrorism!" + glass_center_of_mass = list("x"=16, "y"=4) + +/datum/reagent/ethanol/tequilla_sunrise + name = "Tequila Sunrise" + id = "tequillasunrise" + description = "Tequila and orange juice. Much like a Screwdriver, only Mexican~" + color = "#FFE48C" + strength = 25 + + glass_icon_state = "tequillasunriseglass" + glass_name = "glass of Tequilla Sunrise" + glass_desc = "Oh great, now you feel nostalgic about sunrises back on Terra..." + +/datum/reagent/ethanol/threemileisland + name = "Three Mile Island Iced Tea" + id = "threemileisland" + description = "Made for a woman, strong enough for a man." + color = "#666340" + strength = 10 + druggy = 50 + + glass_icon_state = "threemileislandglass" + glass_name = "glass of Three Mile Island iced tea" + glass_desc = "A glass of this is sure to prevent a meltdown." + glass_center_of_mass = list("x"=16, "y"=2) + +/datum/reagent/ethanol/toxins_special + name = "Toxins Special" + id = "phoronspecial" + description = "This thing is ON FIRE! CALL THE DAMN SHUTTLE!" + reagent_state = LIQUID + color = "#664300" + strength = 10 + adj_temp = 15 + targ_temp = 330 + + glass_icon_state = "toxinsspecialglass" + glass_name = "glass of Toxins Special" + glass_desc = "Whoah, this thing is on FIRE" + +/datum/reagent/ethanol/vodkamartini + name = "Vodka Martini" + id = "vodkamartini" + description = "Vodka with Gin. Not quite how 007 enjoyed it, but still delicious." + color = "#664300" + strength = 12 + + glass_icon_state = "martiniglass" + glass_name = "glass of vodka martini" + glass_desc ="A bastardisation of the classic martini. Still great." + glass_center_of_mass = list("x"=17, "y"=8) + +/datum/reagent/ethanol/vodkatonic + name = "Vodka and Tonic" + id = "vodkatonic" + description = "For when a gin and tonic isn't russian enough." + color = "#0064C8" // rgb: 0, 100, 200 + strength = 15 + + glass_icon_state = "vodkatonicglass" + glass_name = "glass of vodka and tonic" + glass_desc = "For when a gin and tonic isn't Russian enough." + glass_center_of_mass = list("x"=16, "y"=7) + +/datum/reagent/ethanol/white_russian + name = "White Russian" + id = "whiterussian" + description = "That's just, like, your opinion, man..." + color = "#A68340" + strength = 15 + + glass_icon_state = "whiterussianglass" + glass_name = "glass of White Russian" + glass_desc = "A very nice looking drink. But that's just, like, your opinion, man." + glass_center_of_mass = list("x"=16, "y"=9) + +/datum/reagent/ethanol/whiskey_cola + name = "Whiskey Cola" + id = "whiskeycola" + description = "Whiskey, mixed with cola. Surprisingly refreshing." + color = "#3E1B00" + strength = 25 + + glass_icon_state = "whiskeycolaglass" + glass_name = "glass of whiskey cola" + glass_desc = "An innocent-looking mixture of cola and Whiskey. Delicious." + glass_center_of_mass = list("x"=16, "y"=9) + +/datum/reagent/ethanol/whiskeysoda + name = "Whiskey Soda" + id = "whiskeysoda" + description = "For the more refined griffon." + color = "#664300" + strength = 15 + + glass_icon_state = "whiskeysodaglass2" + glass_name = "glass of whiskey soda" + glass_desc = "Ultimate refreshment." + glass_center_of_mass = list("x"=16, "y"=9) + +/datum/reagent/ethanol/specialwhiskey // I have no idea what this is and where it comes from + name = "Special Blend Whiskey" + id = "specialwhiskey" + description = "Just when you thought regular station whiskey was good... This silky, amber goodness has to come along and ruin everything." + color = "#664300" + strength = 25 + + glass_icon_state = "whiskeyglass" + glass_name = "glass of special blend whiskey" + glass_desc = "Just when you thought regular station whiskey was good... This silky, amber goodness has to come along and ruin everything." + glass_center_of_mass = list("x"=16, "y"=12) + +/* Super secret chemicals with randomized recipes */ + +/datum/reagent/rezadone + name = "Rezadone" + id = "rezadone" + description = "A powder with almost magical properties, this substance can effectively treat genetic damage in humanoids, though excessive consumption has side effects." + reagent_state = SOLID + color = "#669900" + overdose_blood = REAGENTS_OVERDOSE + overdose_ingest = REAGENTS_OVERDOSE + scannable = 1 + +/datum/reagent/rezadone/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + M.adjustCloneLoss(-20 * removed) + M.adjustOxyLoss(-2 * removed) + M.heal_organ_damage(20 * removed, 20 * removed) + M.adjustToxLoss(-20 * removed) + if(dose > 3) + M.status_flags &= ~DISFIGURED + if(dose > 10) + M.make_dizzy(5) + M.make_jittery(5) + +/* Paint and crayons */ + +/datum/reagent/crayon_dust + name = "Crayon dust" + id = "crayon_dust" + description = "Intensely coloured powder obtained by grinding crayons." + reagent_state = LIQUID + color = "#888888" + overdose_blood = 5 + overdose_ingest = 5 + +/datum/reagent/crayon_dust/red + name = "Red crayon dust" + id = "crayon_dust_red" + color = "#FE191A" + +/datum/reagent/crayon_dust/orange + name = "Orange crayon dust" + id = "crayon_dust_orange" + color = "#FFBE4F" + +/datum/reagent/crayon_dust/yellow + name = "Yellow crayon dust" + id = "crayon_dust_yellow" + color = "#FDFE7D" + +/datum/reagent/crayon_dust/green + name = "Green crayon dust" + id = "crayon_dust_green" + color = "#18A31A" + +/datum/reagent/crayon_dust/blue + name = "Blue crayon dust" + id = "crayon_dust_blue" + color = "#247CFF" + +/datum/reagent/crayon_dust/purple + name = "Purple crayon dust" + id = "crayon_dust_purple" + color = "#CC0099" + +/datum/reagent/crayon_dust/grey //Mime + name = "Grey crayon dust" + id = "crayon_dust_grey" + color = "#808080" + +/datum/reagent/crayon_dust/brown //Rainbow + name = "Brown crayon dust" + id = "crayon_dust_brown" + color = "#846F35" + +/datum/reagent/paint + name = "Paint" + id = "paint" + description = "This paint will stick to almost any object." + reagent_state = LIQUID + color = "#808080" + overdose_blood = REAGENTS_OVERDOSE * 0.5 + overdose_ingest = REAGENTS_OVERDOSE * 0.5 + color_weight = 20 + +/datum/reagent/paint/touch_turf(var/turf/T) + if(istype(T) && !istype(T, /turf/space)) + T.color = color + +/datum/reagent/paint/touch_obj(var/obj/O) + if(istype(O)) + O.color = color + +/datum/reagent/paint/touch_mob(var/mob/M) + if(istype(M) && !istype(M, /mob/dead)) //painting ghosts: not allowed + M.color = color + +/datum/reagent/paint/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(location == CHEM_TOUCH) + M.color = color + +/datum/reagent/paint/get_data() + return color + +/datum/reagent/paint/initialize_data(var/newdata) + color = newdata + return + +/datum/reagent/paint/mix_data(var/newdata, var/newamount) + var/list/colors = list(0, 0, 0, 0) + var/tot_w = 0 + + var/hex1 = uppertext(color) + var/hex2 = uppertext(newdata) + if(length(hex1) == 7) + hex1 += "FF" + if(length(hex2) == 7) + hex2 += "FF" + if(length(hex1) != 9 || length(hex2) != 9) + return + colors[1] += hex2num(copytext(hex1, 2, 4)) * volume + colors[2] += hex2num(copytext(hex1, 4, 6)) * volume + colors[3] += hex2num(copytext(hex1, 6, 8)) * volume + colors[4] += hex2num(copytext(hex1, 8, 10)) * volume + tot_w += volume + colors[1] += hex2num(copytext(hex2, 2, 4)) * newamount + colors[2] += hex2num(copytext(hex2, 4, 6)) * newamount + colors[3] += hex2num(copytext(hex2, 6, 8)) * newamount + colors[4] += hex2num(copytext(hex2, 8, 10)) * newamount + tot_w += newamount + + color = rgb(colors[1] / tot_w, colors[2] / tot_w, colors[3] / tot_w, colors[4] / tot_w) + return + +/* Things that didn't fit anywhere else */ + +/datum/reagent/adminordrazine //An OP chemical for admins + name = "Adminordrazine" + id = "adminordrazine" + description = "It's magic. We don't have to explain it." + reagent_state = LIQUID + color = "#C8A5DC" + affects_dead = 1 //This can even heal dead people. + + glass_icon_state = "golden_cup" + glass_name = "golden cup" + glass_desc = "It's magic. We don't have to explain it." + +/datum/reagent/adminordrazine/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + M.setCloneLoss(0) + M.setOxyLoss(0) + M.radiation = 0 + M.heal_organ_damage(5,5) + M.adjustToxLoss(-5) + M.hallucination = 0 + M.setBrainLoss(0) + M.disabilities = 0 + M.sdisabilities = 0 + M.eye_blurry = 0 + M.eye_blind = 0 + M.SetWeakened(0) + M.SetStunned(0) + M.SetParalysis(0) + M.silent = 0 + M.dizziness = 0 + M.drowsyness = 0 + M.stuttering = 0 + M.confused = 0 + M.sleeping = 0 + M.jitteriness = 0 + for(var/datum/disease/D in M.viruses) + D.spread = "Remissive" + D.stage-- + if(D.stage < 1) + D.cure() + +/datum/reagent/gold + name = "Gold" + id = "gold" + description = "Gold is a dense, soft, shiny metal and the most malleable and ductile metal known." + reagent_state = SOLID + color = "#F7C430" + +/datum/reagent/silver + name = "Silver" + id = "silver" + description = "A soft, white, lustrous transition metal, it has the highest electrical conductivity of any element and the highest thermal conductivity of any metal." + reagent_state = SOLID + color = "#D0D0D0" + +/datum/reagent/uranium + name ="Uranium" + id = "uranium" + description = "A silvery-white metallic chemical element in the actinide series, weakly radioactive." + reagent_state = SOLID + color = "#B8B8C0" + +/datum/reagent/uranium/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + M.apply_effect(5 * removed, IRRADIATE, 0) + +/datum/reagent/uranium/touch_turf(var/turf/T) + if(volume >= 3) + if(!istype(T, /turf/space)) + var/obj/effect/decal/cleanable/greenglow/glow = locate(/obj/effect/decal/cleanable/greenglow, T) + if(!glow) + new /obj/effect/decal/cleanable/greenglow(T) + return + + +/datum/reagent/adrenaline + name = "Adrenaline" + id = "adrenaline" + description = "Adrenaline is a hormone used as a drug to treat cardiac arrest and other cardiac dysrhythmias resulting in diminished or absent cardiac output." + reagent_state = LIQUID + color = "#C8A5DC" + +/datum/reagent/adrenaline/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(location == CHEM_TOUCH || alien == IS_DIONA) + return + M.SetParalysis(0) + M.SetWeakened(0) + M.adjustToxLoss(rand(3)) + +/datum/reagent/water/holywater + name = "Holy Water" + id = "holywater" + description = "An ashen-obsidian-water mix, this solution will alter certain sections of the brain's rationality." + color = "#E0E8EF" + + glass_icon_state = "glass_clear" + glass_name = "glass of holy water" + glass_desc = "An ashen-obsidian-water mix, this solution will alter certain sections of the brain's rationality." + +/datum/reagent/water/holywater/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + ..() + if(ishuman(M)) // Any location + if((M.mind in ticker.mode.cult) && prob(10)) + ticker.mode.remove_cultist(M.mind) + M.visible_message("[M]'s eyes blink and become clearer.", "A cooling sensation from inside you brings you an untold calmness.") + +/datum/reagent/ammonia + name = "Ammonia" + id = "ammonia" + description = "A caustic substance commonly used in fertilizer or household cleaners." + reagent_state = GAS + color = "#404030" + +/datum/reagent/diethylamine + name = "Diethylamine" + id = "diethylamine" + description = "A secondary amine, mildly corrosive." + reagent_state = LIQUID + color = "#604030" + +/datum/reagent/fluorosurfactant // Foam precursor + name = "Fluorosurfactant" + id = "fluorosurfactant" + description = "A perfluoronated sulfonic acid that forms a foam when mixed with water." + reagent_state = LIQUID + color = "#9E6B38" + +/datum/reagent/foaming_agent // Metal foaming agent. This is lithium hydride. Add other recipes (e.g. LiH + H2O -> LiOH + H2) eventually. + name = "Foaming agent" + id = "foaming_agent" + description = "A agent that yields metallic foam when mixed with light metal and a strong acid." + reagent_state = SOLID + color = "#664B63" + +/datum/reagent/thermite + name = "Thermite" + id = "thermite" + description = "Thermite produces an aluminothermic reaction known as a thermite reaction. Can be used to melt walls." + reagent_state = SOLID + color = "#673910" + touch_met = 50 + +/datum/reagent/thermite/touch_turf(var/turf/T) + if(volume >= 5) + if(istype(T, /turf/simulated/wall)) + var/turf/simulated/wall/W = T + W.thermite = 1 + W.overlays += image('icons/effects/effects.dmi',icon_state = "#673910") + remove_self(5) + return + +/datum/reagent/thermite/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(location == CHEM_TOUCH) + M.adjust_fire_stacks(removed * 0.2) + return + M.adjustFireLoss(3 * removed) + +/datum/reagent/space_cleaner + name = "Space cleaner" + id = "cleaner" + description = "A compound used to clean things. Now with 50% more sodium hypochlorite!" + reagent_state = LIQUID + color = "#A5F0EE" + touch_met = 50 + +/datum/reagent/space_cleaner/touch_obj(var/obj/O) + if(istype(O, /obj/effect/decal/cleanable)) + del(O) + else + O.clean_blood() + +/datum/reagent/space_cleaner/touch_turf(var/turf/T) + if(volume >= 1) + if(istype(T, /turf/simulated)) + var/turf/simulated/S = T + S.dirt = 0 + T.clean_blood() + + for(var/mob/living/carbon/slime/M in T) + M.adjustToxLoss(rand(5, 10)) + +/datum/reagent/space_cleaner/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(M.r_hand) + M.r_hand.clean_blood() + if(M.l_hand) + M.l_hand.clean_blood() + if(M.wear_mask) + if(M.wear_mask.clean_blood()) + M.update_inv_wear_mask(0) + if(ishuman(M)) + var/mob/living/carbon/human/H = M + if(H.head) + if(H.head.clean_blood()) + H.update_inv_head(0) + if(H.wear_suit) + if(H.wear_suit.clean_blood()) + H.update_inv_wear_suit(0) + else if(H.w_uniform) + if(H.w_uniform.clean_blood()) + H.update_inv_w_uniform(0) + if(H.shoes) + if(H.shoes.clean_blood()) + H.update_inv_shoes(0) + else + H.clean_blood(1) + return + M.clean_blood() + +/datum/reagent/lube // TODO: spraying on borgs speeds them up + name = "Space Lube" + id = "lube" + description = "Lubricant is a substance introduced between two moving surfaces to reduce the friction and wear between them. giggity." + reagent_state = LIQUID + color = "#009CA8" + +/datum/reagent/lube/touch_turf(var/turf/simulated/T) + if(!istype(T)) + return + if(volume >= 1) + if(T.wet >= 2) + return + T.wet = 2 + spawn(800) + if(!T || !istype(T)) return + T.wet = 0 + if(T.wet_overlay) + T.overlays -= T.wet_overlay + T.wet_overlay = null - hot_coco // there's also drink/hot_coco for whatever reason - name = "Hot Chocolate" - id = "hot_coco" - description = "Made with love! And cocoa beans." - reagent_state = LIQUID - nutriment_factor = 2 * REAGENTS_METABOLISM - color = "#403010" // rgb: 64, 48, 16 +/datum/reagent/silicate + name = "Silicate" + id = "silicate" + description = "A compound that can be used to reinforce glass." + reagent_state = LIQUID + color = "#C7FFFF" - glass_icon_state = "chocolateglass" - glass_name = "glass of hot chocolate" - glass_desc = "Made with love! And cocoa beans." +/datum/reagent/silicate/touch_obj(var/obj/O) + if(istype(O, /obj/structure/window)) + var/obj/structure/window/W = O + W.apply_silicate(volume) + remove_self(volume) + return - on_mob_life(var/mob/living/M as mob) - if (M.bodytemperature < 310)//310 is the normal bodytemp. 310.055 - M.bodytemperature = min(310, M.bodytemperature + (5 * TEMPERATURE_DAMAGE_COEFFICIENT)) - M.nutrition += nutriment_factor - ..() - return +/datum/reagent/glycerol + name = "Glycerol" + id = "glycerol" + description = "Glycerol is a simple polyol compound. Glycerol is sweet-tasting and of low toxicity." + reagent_state = LIQUID + color = "#808080" - psilocybin - name = "Psilocybin" - id = "psilocybin" - description = "A strong psycotropic derived from certain species of mushroom." - color = "#E700E7" // rgb: 231, 0, 231 - overdose = REAGENTS_OVERDOSE +/datum/reagent/nitroglycerin + name = "Nitroglycerin" + id = "nitroglycerin" + description = "Nitroglycerin is a heavy, colorless, oily, explosive liquid obtained by nitrating glycerol." + reagent_state = LIQUID + color = "#808080" - on_mob_life(var/mob/living/M as mob) - if(!M) M = holder.my_atom - M.druggy = max(M.druggy, 30) - if(!data) data = 1 - switch(data) - if(1 to 5) - if (!M.stuttering) M.stuttering = 1 - M.make_dizzy(5) - if(prob(10)) M.emote(pick("twitch","giggle")) - if(5 to 10) - if (!M.stuttering) M.stuttering = 1 - M.make_jittery(10) - M.make_dizzy(10) - M.druggy = max(M.druggy, 35) - if(prob(20)) M.emote(pick("twitch","giggle")) - if (10 to INFINITY) - if (!M.stuttering) M.stuttering = 1 - M.make_jittery(20) - M.make_dizzy(20) - M.druggy = max(M.druggy, 40) - if(prob(30)) M.emote(pick("twitch","giggle")) - holder.remove_reagent(src.id, 0.2) - data++ - ..() - return +/datum/reagent/coolant + name = "Coolant" + id = "coolant" + description = "Industrial cooling substance." + reagent_state = LIQUID + color = "#C8A5DC" - sprinkles - name = "Sprinkles" - id = "sprinkles" - description = "Multi-colored little bits of sugar, commonly found on donuts. Loved by cops." - nutriment_factor = 1 * REAGENTS_METABOLISM - color = "#FF00FF" // rgb: 255, 0, 255 +/datum/reagent/ultraglue + name = "Ultra Glue" + id = "glue" + description = "An extremely powerful bonding agent." + color = "#FFFFCC" - on_mob_life(var/mob/living/M as mob) - M.nutrition += nutriment_factor - /*if(istype(M, /mob/living/carbon/human) && M.job in list("Security Officer", "Head of Security", "Detective", "Warden")) - if(!M) M = holder.my_atom - M.heal_organ_damage(1,1) - M.nutrition += nutriment_factor - ..() - return - */ - ..() +/* Removed xenoarcheology stuff -/* //removed because of meta bullshit. this is why we can't have nice things. - syndicream - name = "Cream filling" - id = "syndicream" - description = "Delicious cream filling of a mysterious origin. Tastes criminally good." - nutriment_factor = 1 * REAGENTS_METABOLISM - color = "#AB7878" // rgb: 171, 120, 120 +/datum/reagent/lithiumsodiumtungstate + name = "Lithium Sodium Tungstate" + id = "lithiumsodiumtungstate" + description = "A reducing agent for geological compounds." + reagent_state = LIQUID + color = "#C0C0C0" // rgb: 192, 192, 192, darker silver + +/datum/reagent/ground_rock + name = "Ground Rock" + id = "ground_rock" + description = "A fine dust made of ground up rock." + reagent_state = SOLID + color = "#A0522D" //rgb: 160, 82, 45, brown + +/datum/reagent/density_separated_sample + name = "Density separated sample" + id = "density_separated_sample" + description = "A watery paste used in chemical analysis, there are some chunks floating in it." + reagent_state = LIQUID + color = "#DEB887" //rgb: 222, 184, 135, light brown + +/datum/reagent/analysis_sample + name = "Analysis liquid" + id = "analysis_sample" + description = "A watery paste used in chemical analysis." + reagent_state = LIQUID + color = "#F5FFFA" //rgb: 245, 255, 250, almost white + +/datum/reagent/chemical_waste + name = "Chemical Waste" + id = "chemical_waste" + description = "A viscous, toxic liquid left over from many chemical processes." + reagent_state = LIQUID + color = "#ADFF2F" //rgb: 173, 255, 47, toxic green - on_mob_life(var/mob/living/M as mob) - M.nutrition += nutriment_factor - if(istype(M, /mob/living/carbon/human) && M.mind) - if(M.mind.special_role) - if(!M) M = holder.my_atom - M.heal_organ_damage(1,1) - M.nutrition += nutriment_factor - ..() - return - ..() */ - cornoil - name = "Corn Oil" - id = "cornoil" - description = "An oil derived from various types of corn." - reagent_state = LIQUID - nutriment_factor = 20 * REAGENTS_METABOLISM - color = "#302000" // rgb: 48, 32, 0 - - on_mob_life(var/mob/living/M as mob) - M.nutrition += nutriment_factor - ..() - return - reaction_turf(var/turf/simulated/T, var/volume) - if (!istype(T)) return - src = null - if(volume >= 3) - if(T.wet >= 1) return - T.wet = 1 - if(T.wet_overlay) - T.overlays -= T.wet_overlay - T.wet_overlay = null - T.wet_overlay = image('icons/effects/water.dmi',T,"wet_floor") - T.overlays += T.wet_overlay - - spawn(800) - if (!istype(T)) return - if(T.wet >= 2) return - T.wet = 0 - if(T.wet_overlay) - T.overlays -= T.wet_overlay - T.wet_overlay = null - var/hotspot = (locate(/obj/fire) in T) - if(hotspot) - var/datum/gas_mixture/lowertemp = T.remove_air( T:air:total_moles ) - lowertemp.temperature = max( min(lowertemp.temperature-2000,lowertemp.temperature / 2) ,0) - lowertemp.react() - T.assume_air(lowertemp) - del(hotspot) - - enzyme - name = "Universal Enzyme" - id = "enzyme" - description = "A universal enzyme used in the preperation of certain chemicals and foods." - reagent_state = LIQUID - color = "#365E30" // rgb: 54, 94, 48 - overdose = REAGENTS_OVERDOSE - - dry_ramen - name = "Dry Ramen" - id = "dry_ramen" - description = "Space age food, since August 25, 1958. Contains dried noodles, vegetables, and chemicals that boil in contact with water." - reagent_state = SOLID - nutriment_factor = 1 * REAGENTS_METABOLISM - color = "#302000" // rgb: 48, 32, 0 - - on_mob_life(var/mob/living/M as mob) - M.nutrition += nutriment_factor - ..() - return - - hot_ramen - name = "Hot Ramen" - id = "hot_ramen" - description = "The noodles are boiled, the flavors are artificial, just like being back in school." - reagent_state = LIQUID - nutriment_factor = 5 * REAGENTS_METABOLISM - color = "#302000" // rgb: 48, 32, 0 - - on_mob_life(var/mob/living/M as mob) - M.nutrition += nutriment_factor - if (M.bodytemperature < 310)//310 is the normal bodytemp. 310.055 - M.bodytemperature = min(310, M.bodytemperature + (10 * TEMPERATURE_DAMAGE_COEFFICIENT)) - ..() - return - - hell_ramen - name = "Hell Ramen" - id = "hell_ramen" - description = "The noodles are boiled, the flavors are artificial, just like being back in school." - reagent_state = LIQUID - nutriment_factor = 5 * REAGENTS_METABOLISM - color = "#302000" // rgb: 48, 32, 0 - - on_mob_life(var/mob/living/M as mob) - M.nutrition += nutriment_factor - M.bodytemperature += 10 * TEMPERATURE_DAMAGE_COEFFICIENT - ..() - return - - flour - name = "flour" - id = "flour" - description = "This is what you rub all over yourself to pretend to be a ghost." - reagent_state = SOLID - nutriment_factor = 1 * REAGENTS_METABOLISM - color = "#FFFFFF" // rgb: 0, 0, 0 - - on_mob_life(var/mob/living/M as mob) - M.nutrition += nutriment_factor - ..() - return - - reaction_turf(var/turf/T, var/volume) - src = null - if(!istype(T, /turf/space)) - new /obj/effect/decal/cleanable/flour(T) - - rice - name = "Rice" - id = "rice" - description = "Enjoy the great taste of nothing." - reagent_state = SOLID - nutriment_factor = 1 * REAGENTS_METABOLISM - color = "#FFFFFF" // rgb: 0, 0, 0 - - on_mob_life(var/mob/living/M as mob) - M.nutrition += nutriment_factor - ..() - return - - cherryjelly - name = "Cherry Jelly" - id = "cherryjelly" - description = "Totally the best. Only to be spread on foods with excellent lateral symmetry." - reagent_state = LIQUID - nutriment_factor = 1 * REAGENTS_METABOLISM - color = "#801E28" // rgb: 128, 30, 40 - - on_mob_life(var/mob/living/M as mob) - M.nutrition += nutriment_factor - ..() - return - -///////////////////////////////////////////////////////////////////////////////////////////////////////// -/////////////////////// DRINKS BELOW, Beer is up there though, along with cola. Cap'n Pete's Cuban Spiced Rum//////////////////////////////// -///////////////////////////////////////////////////////////////////////////////////////////////////////// - - drink - name = "Drink" - id = "drink" - description = "Uh, some kind of drink." - reagent_state = LIQUID - nutriment_factor = 1 * REAGENTS_METABOLISM - color = "#E78108" // rgb: 231, 129, 8 - var/adj_dizzy = 0 - var/adj_drowsy = 0 - var/adj_sleepy = 0 - var/adj_temp = 0 - - on_mob_life(var/mob/living/M as mob) - if(!M) M = holder.my_atom - M.nutrition += nutriment_factor - holder.remove_reagent(src.id, FOOD_METABOLISM) - // Drinks should be used up faster than other reagents. - holder.remove_reagent(src.id, FOOD_METABOLISM) - if (adj_dizzy) M.dizziness = max(0,M.dizziness + adj_dizzy) - if (adj_drowsy) M.drowsyness = max(0,M.drowsyness + adj_drowsy) - if (adj_sleepy) M.sleeping = max(0,M.sleeping + adj_sleepy) - if (adj_temp) - if (M.bodytemperature < 310)//310 is the normal bodytemp. 310.055 - M.bodytemperature = min(310, M.bodytemperature + (25 * TEMPERATURE_DAMAGE_COEFFICIENT)) - - ..() - return - - drink/orangejuice - name = "Orange juice" - id = "orangejuice" - description = "Both delicious AND rich in Vitamin C, what more do you need?" - color = "#E78108" // rgb: 231, 129, 8 - - glass_icon_state = "glass_orange" - glass_name = "glass of orange juice" - glass_desc = "Vitamins! Yay!" - - on_mob_life(var/mob/living/M as mob) - ..() - if(M.getOxyLoss() && prob(30)) M.adjustOxyLoss(-1) - return - - drink/tomatojuice - name = "Tomato Juice" - id = "tomatojuice" - description = "Tomatoes made into juice. What a waste of big, juicy tomatoes, huh?" - color = "#731008" // rgb: 115, 16, 8 - - glass_icon_state = "glass_red" - glass_name = "glass of tomato juice" - glass_desc = "Are you sure this is tomato juice?" - - on_mob_life(var/mob/living/M as mob) - ..() - if(M.getFireLoss() && prob(20)) M.heal_organ_damage(0,1) - return - - drink/limejuice - name = "Lime Juice" - id = "limejuice" - description = "The sweet-sour juice of limes." - color = "#365E30" // rgb: 54, 94, 48 - - glass_icon_state = "glass_green" - glass_name = "glass of lime juice" - glass_desc = "A glass of sweet-sour lime juice" - - on_mob_life(var/mob/living/M as mob) - ..() - if(M.getToxLoss() && prob(20)) M.adjustToxLoss(-1*REM) - return - - drink/carrotjuice - name = "Carrot juice" - id = "carrotjuice" - description = "It is just like a carrot but without crunching." - color = "#FF8C00" // rgb: 255, 140, 0 - - glass_icon_state = "carrotjuice" - glass_name = "glass of carrot juice" - glass_desc = "It is just like a carrot but without crunching." - - on_mob_life(var/mob/living/M as mob) - ..() - M.eye_blurry = max(M.eye_blurry-1 , 0) - M.eye_blind = max(M.eye_blind-1 , 0) - if(!data) data = 1 - switch(data) - if(1 to 20) - //nothing - if(21 to INFINITY) - if (prob(data-10)) - M.disabilities &= ~NEARSIGHTED - data++ - return - - drink/berryjuice - name = "Berry Juice" - id = "berryjuice" - description = "A delicious blend of several different kinds of berries." - color = "#990066" // rgb: 153, 0, 102 - - glass_icon_state = "berryjuice" - glass_name = "glass of berry juice" - glass_desc = "Berry juice. Or maybe it's jam. Who cares?" - - drink/grapejuice - name = "Grape Juice" - id = "grapejuice" - description = "It's grrrrrape!" - color = "#863333" // rgb: 134, 51, 51 - - glass_icon_state = "grapejuice" - glass_name = "glass of grape juice" - glass_desc = "It's grrrrrape!" - - drink/grapesoda - name = "Grape Soda" - id = "grapesoda" - description = "Grapes made into a fine drank." - color = "#421C52" // rgb: 98, 57, 53 - adj_drowsy = -3 - - glass_icon_state = "gsodaglass" - glass_name = "glass of grape soda" - glass_desc = "Looks like a delicious drink!" - - drink/poisonberryjuice - name = "Poison Berry Juice" - id = "poisonberryjuice" - description = "A tasty juice blended from various kinds of very deadly and toxic berries." - color = "#863353" // rgb: 134, 51, 83 - - glass_icon_state = "poisonberryjuice" - glass_name = "glass of poison berry juice" - glass_desc = "A glass of deadly juice." - - on_mob_life(var/mob/living/M as mob) - ..() - M.adjustToxLoss(1) - return - - drink/watermelonjuice - name = "Watermelon Juice" - id = "watermelonjuice" - description = "Delicious juice made from watermelon." - color = "#B83333" // rgb: 184, 51, 51 - - glass_icon_state = "glass_red" - glass_name = "glass of watermelon juice" - glass_desc = "Delicious juice made from watermelon." - - drink/lemonjuice - name = "Lemon Juice" - id = "lemonjuice" - description = "This juice is VERY sour." - color = "#AFAF00" // rgb: 175, 175, 0 - - glass_icon_state = "lemonjuice" - glass_name = "glass of lemon juice" - glass_desc = "Sour..." - - drink/banana - name = "Banana Juice" - id = "banana" - description = "The raw essence of a banana." - color = "#C3AF00" // rgb: 195, 175, 0 - - glass_icon_state = "banana" - glass_name = "glass of banana juice" - glass_desc = "The raw essence of a banana. HONK!" - - drink/nothing - name = "Nothing" - id = "nothing" - description = "Absolutely nothing." - - glass_icon_state = "nothing" - glass_name = "glass of nothing" - glass_desc = "Absolutely nothing." - - drink/potato_juice - name = "Potato Juice" - id = "potato" - description = "Juice of the potato. Bleh." - nutriment_factor = 2 * FOOD_METABOLISM - color = "#302000" // rgb: 48, 32, 0 - - glass_icon_state = "glass_brown" - glass_name = "glass of potato juice" - glass_desc = "Juice from a potato. Bleh." - - drink/milk - name = "Milk" - id = "milk" - description = "An opaque white liquid produced by the mammary glands of mammals." - color = "#DFDFDF" // rgb: 223, 223, 223 - - glass_icon_state = "glass_white" - glass_name = "glass of milk" - glass_desc = "White and nutritious goodness!" - - on_mob_life(var/mob/living/M as mob) - if(M.getBruteLoss() && prob(20)) M.heal_organ_damage(1,0) - holder.remove_reagent("capsaicin", 10*REAGENTS_METABOLISM) - ..() - return - - drink/milk/soymilk - name = "Soy Milk" - id = "soymilk" - description = "An opaque white liquid made from soybeans." - color = "#DFDFC7" // rgb: 223, 223, 199 - - glass_icon_state = "glass_white" - glass_name = "glass of soy milk" - glass_desc = "White and nutritious soy goodness!" - - drink/milk/cream - name = "Cream" - id = "cream" - description = "The fatty, still liquid part of milk. Why don't you mix this with sum scotch, eh?" - color = "#DFD7AF" // rgb: 223, 215, 175 - - glass_icon_state = "glass_white" - glass_name = "glass of cream" - glass_desc = "Ewwww..." - - drink/grenadine - name = "Grenadine Syrup" - id = "grenadine" - description = "Made in the modern day with proper pomegranate substitute. Who uses real fruit, anyways?" - color = "#FF004F" // rgb: 255, 0, 79 - - glass_icon_state = "grenadineglass" - glass_name = "glass of grenadine syrup" - glass_desc = "Sweet and tangy, a bar syrup used to add color or flavor to drinks." - glass_center_of_mass = list("x"=17, "y"=6) - - drink/hot_coco - name = "Hot Chocolate" - id = "hot_coco" - description = "Made with love! And cocoa beans." - nutriment_factor = 2 * FOOD_METABOLISM - color = "#403010" // rgb: 64, 48, 16 - adj_temp = 5 - - glass_icon_state = "chocolateglass" - glass_name = "glass of hot chocolate" - glass_desc = "Made with love! And cocoa beans." - - drink/coffee - name = "Coffee" - id = "coffee" - description = "Coffee is a brewed drink prepared from roasted seeds, commonly called coffee beans, of the coffee plant." - color = "#482000" // rgb: 72, 32, 0 - adj_dizzy = -5 - adj_drowsy = -3 - adj_sleepy = -2 - adj_temp = 25 - - glass_icon_state = "hot_coffee" - glass_name = "cup of coffee" - glass_desc = "Don't drop it, or you'll send scalding liquid and glass shards everywhere." - - on_mob_life(var/mob/living/M as mob) - ..() - M.make_jittery(5) - if(adj_temp > 0) - holder.remove_reagent("frostoil", 10*REAGENTS_METABOLISM) - - holder.remove_reagent(src.id, 0.1) - - drink/coffee/icecoffee - name = "Iced Coffee" - id = "icecoffee" - description = "Coffee and ice, refreshing and cool." - color = "#102838" // rgb: 16, 40, 56 - adj_temp = -5 - - glass_icon_state = "icedcoffeeglass" - glass_name = "glass of iced coffee" - glass_desc = "A drink to perk you up and refresh you!" - - drink/coffee/soy_latte - name = "Soy Latte" - id = "soy_latte" - description = "A nice and tasty beverage while you are reading your hippie books." - color = "#664300" // rgb: 102, 67, 0 - adj_sleepy = 0 - adj_temp = 5 - - glass_icon_state = "soy_latte" - glass_name = "glass of soy latte" - glass_desc = "A nice and refrshing beverage while you are reading." - glass_center_of_mass = list("x"=15, "y"=9) - - on_mob_life(var/mob/living/M as mob) - ..() - M.sleeping = 0 - if(M.getBruteLoss() && prob(20)) M.heal_organ_damage(1,0) - return - - drink/coffee/cafe_latte - name = "Cafe Latte" - id = "cafe_latte" - description = "A nice, strong and tasty beverage while you are reading." - color = "#664300" // rgb: 102, 67, 0 - adj_sleepy = 0 - adj_temp = 5 - - glass_icon_state = "cafe_latte" - glass_name = "glass of cafe latte" - glass_desc = "A nice, strong and refreshing beverage while you are reading." - glass_center_of_mass = list("x"=15, "y"=9) - - on_mob_life(var/mob/living/M as mob) - ..() - M.sleeping = 0 - if(M.getBruteLoss() && prob(20)) M.heal_organ_damage(1,0) - return - - drink/tea - name = "Tea" - id = "tea" - description = "Tasty black tea, it has antioxidants, it's good for you!" - color = "#101000" // rgb: 16, 16, 0 - adj_dizzy = -2 - adj_drowsy = -1 - adj_sleepy = -3 - adj_temp = 20 - - glass_icon_state = "bigteacup" - glass_name = "cup of tea" - glass_desc = "Tasty black tea, it has antioxidants, it's good for you!" - - on_mob_life(var/mob/living/M as mob) - ..() - if(M.getToxLoss() && prob(20)) - M.adjustToxLoss(-1) - return - - drink/tea/icetea - name = "Iced Tea" - id = "icetea" - description = "No relation to a certain rap artist/ actor." - color = "#104038" // rgb: 16, 64, 56 - adj_temp = -5 - - glass_icon_state = "icedteaglass" - glass_name = "glass of iced tea" - glass_desc = "No relation to a certain rap artist/ actor." - glass_center_of_mass = list("x"=15, "y"=10) - - drink/cold - name = "Cold drink" - adj_temp = -5 - - drink/cold/tonic - name = "Tonic Water" - id = "tonic" - description = "It tastes strange but at least the quinine keeps the Space Malaria at bay." - color = "#664300" // rgb: 102, 67, 0 - adj_dizzy = -5 - adj_drowsy = -3 - adj_sleepy = -2 - - glass_icon_state = "glass_clear" - glass_name = "glass of tonic water" - glass_desc = "Quinine tastes funny, but at least it'll keep that Space Malaria away." - - drink/cold/sodawater - name = "Soda Water" - id = "sodawater" - description = "A can of club soda. Why not make a scotch and soda?" - color = "#619494" // rgb: 97, 148, 148 - adj_dizzy = -5 - adj_drowsy = -3 - - glass_icon_state = "glass_clear" - glass_name = "glass of soda water" - glass_desc = "Soda water. Why not make a scotch and soda?" - - drink/cold/ice - name = "Ice" - id = "ice" - description = "Frozen water, your dentist wouldn't like you chewing this." - reagent_state = SOLID - color = "#619494" // rgb: 97, 148, 148 - - glass_icon_state = "iceglass" - glass_name = "glass of ice" - glass_desc = "Generally, you're supposed to put something else in there too..." - - drink/cold/space_cola - name = "Space Cola" - id = "cola" - description = "A refreshing beverage." - reagent_state = LIQUID - color = "#100800" // rgb: 16, 8, 0 - adj_drowsy = -3 - - glass_icon_state = "glass_brown" - glass_name = "glass of Space Cola" - glass_desc = "A glass of refreshing Space Cola" - - drink/cold/nuka_cola - name = "Nuka Cola" - id = "nuka_cola" - description = "Cola, cola never changes." - color = "#100800" // rgb: 16, 8, 0 - adj_sleepy = -2 - - glass_icon_state = "nuka_colaglass" - glass_name = "glass of Nuka-Cola" - glass_desc = "Don't cry, Don't raise your eye, It's only nuclear wasteland" - glass_center_of_mass = list("x"=16, "y"=6) - - on_mob_life(var/mob/living/M as mob) - M.make_jittery(20) - M.druggy = max(M.druggy, 30) - M.dizziness +=5 - M.drowsyness = 0 - ..() - return - - drink/cold/spacemountainwind - name = "Mountain Wind" - id = "spacemountainwind" - description = "Blows right through you like a space wind." - color = "#102000" // rgb: 16, 32, 0 - adj_drowsy = -7 - adj_sleepy = -1 - - glass_icon_state = "Space_mountain_wind_glass" - glass_name = "glass of Space Mountain Wind" - glass_desc = "Space Mountain Wind. As you know, there are no mountains in space, only wind." - - drink/cold/dr_gibb - name = "Dr. Gibb" - id = "dr_gibb" - description = "A delicious blend of 42 different flavours" - color = "#102000" // rgb: 16, 32, 0 - adj_drowsy = -6 - - glass_icon_state = "dr_gibb_glass" - glass_name = "glass of Dr. Gibb" - glass_desc = "Dr. Gibb. Not as dangerous as the name might imply." - - drink/cold/space_up - name = "Space-Up" - id = "space_up" - description = "Tastes like a hull breach in your mouth." - color = "#202800" // rgb: 32, 40, 0 - adj_temp = -8 - - glass_icon_state = "space-up_glass" - glass_name = "glass of Space-up" - glass_desc = "Space-up. It helps keep your cool." - - drink/cold/lemon_lime - name = "Lemon Lime" - description = "A tangy substance made of 0.5% natural citrus!" - id = "lemon_lime" - color = "#878F00" // rgb: 135, 40, 0 - adj_temp = -8 - - glass_icon_state = "lemonlime" - glass_name = "glass of lemon lime soda" - glass_desc = "A tangy substance made of 0.5% natural citrus!" - - drink/cold/lemonade - name = "Lemonade" - description = "Oh the nostalgia..." - id = "lemonade" - color = "#FFFF00" // rgb: 255, 255, 0 - - glass_icon_state = "lemonadeglass" - glass_name = "glass of lemonade" - glass_desc = "Oh the nostalgia..." - - drink/cold/kiraspecial - name = "Kira Special" - description = "Long live the guy who everyone had mistaken for a girl. Baka!" - id = "kiraspecial" - color = "#CCCC99" // rgb: 204, 204, 153 - - glass_icon_state = "kiraspecial" - glass_name = "glass of Kira Special" - glass_desc = "Long live the guy who everyone had mistaken for a girl. Baka!" - glass_center_of_mass = list("x"=16, "y"=12) - - drink/cold/brownstar - name = "Brown Star" - description = "It's not what it sounds like..." - id = "brownstar" - color = "#9F3400" // rgb: 159, 052, 000 - adj_temp = - 2 - - glass_icon_state = "brownstar" - glass_name = "glass of Brown Star" - glass_desc = "It's not what it sounds like..." - - drink/cold/milkshake - name = "Milkshake" - description = "Glorious brainfreezing mixture." - id = "milkshake" - color = "#AEE5E4" // rgb" 174, 229, 228 - adj_temp = -9 - - glass_icon_state = "milkshake" - glass_name = "glass of milkshake" - glass_desc = "Glorious brainfreezing mixture." - glass_center_of_mass = list("x"=16, "y"=7) - - on_mob_life(var/mob/living/M as mob) - if(!M) - M = holder.my_atom - if(prob(1)) - M.emote("shiver") - M.bodytemperature = max(M.bodytemperature - 10 * TEMPERATURE_DAMAGE_COEFFICIENT, 0) - if(istype(M, /mob/living/carbon/slime)) - M.bodytemperature = max(M.bodytemperature - rand(10,20), 0) - holder.remove_reagent("capsaicin", 5) - holder.remove_reagent(src.id, FOOD_METABOLISM) - ..() - return - - drink/cold/rewriter - name = "Rewriter" - description = "The secret of the sanctuary of the Libarian..." - id = "rewriter" - color = "#485000" // rgb:72, 080, 0 - - glass_icon_state = "rewriter" - glass_name = "glass of Rewriter" - glass_desc = "The secret of the sanctuary of the Libarian..." - glass_center_of_mass = list("x"=16, "y"=9) - - on_mob_life(var/mob/living/M as mob) - ..() - M.make_jittery(5) - return - - - doctor_delight - name = "The Doctor's Delight" - id = "doctorsdelight" - description = "A gulp a day keeps the MediBot away. That's probably for the best." - reagent_state = LIQUID - color = "#FF8CFF" // rgb: 255, 140, 255 - nutriment_factor = 1 * FOOD_METABOLISM - - glass_icon_state = "doctorsdelightglass" - glass_name = "glass of The Doctor's Delight" - glass_desc = "A healthy mixture of juices, guaranteed to keep you healthy until the next toolboxing takes place." - glass_center_of_mass = list("x"=16, "y"=8) - - on_mob_life(var/mob/living/M as mob) - M:nutrition += nutriment_factor - holder.remove_reagent(src.id, FOOD_METABOLISM) - if(!M) M = holder.my_atom - if(M:getOxyLoss() && prob(50)) M:adjustOxyLoss(-2) - if(M:getBruteLoss() && prob(60)) M:heal_organ_damage(2,0) - if(M:getFireLoss() && prob(50)) M:heal_organ_damage(0,2) - if(M:getToxLoss() && prob(50)) M:adjustToxLoss(-2) - if(M.dizziness !=0) M.dizziness = max(0,M.dizziness-15) - if(M.confused !=0) M.confused = max(0,M.confused - 5) - ..() - return - -//////////////////////////////////////////////The ten friggen million reagents that get you drunk////////////////////////////////////////////// - - atomicbomb - name = "Atomic Bomb" - id = "atomicbomb" - description = "Nuclear proliferation never tasted so good." - reagent_state = LIQUID - color = "#666300" // rgb: 102, 99, 0 - - glass_icon_state = "atomicbombglass" - glass_name = "glass of Atomic Bomb" - glass_desc = "Nanotrasen cannot take legal responsibility for your actions after imbibing." - glass_center_of_mass = list("x"=15, "y"=7) - - on_mob_life(var/mob/living/M as mob) - M.druggy = max(M.druggy, 50) - M.confused = max(M.confused+2,0) - M.make_dizzy(10) - if (!M.stuttering) M.stuttering = 1 - M.stuttering += 3 - if(!data) data = 1 - data++ - switch(data) - if(51 to 200) - M.sleeping += 1 - if(201 to INFINITY) - M.sleeping += 1 - M.adjustToxLoss(2) - ..() - return - - gargle_blaster - name = "Pan-Galactic Gargle Blaster" - id = "gargleblaster" - description = "Whoah, this stuff looks volatile!" - reagent_state = LIQUID - color = "#664300" // rgb: 102, 67, 0 - - glass_icon_state = "gargleblasterglass" - glass_name = "glass of Pan-Galactic Gargle Blaster" - glass_desc = "Does... does this mean that Arthur and Ford are on the station? Oh joy." - glass_center_of_mass = list("x"=17, "y"=6) - - on_mob_life(var/mob/living/M as mob) - if(!data) data = 1 - data++ - M.dizziness +=6 - switch(data) - if(15 to 45) - M.stuttering = max(M.stuttering+3,0) - if(45 to 55) - if (prob(50)) - M.confused = max(M.confused+3,0) - if(55 to 200) - M.druggy = max(M.druggy, 55) - if(200 to INFINITY) - M.adjustToxLoss(2) - ..() - - neurotoxin - name = "Neurotoxin" - id = "neurotoxin" - description = "A strong neurotoxin that puts the subject into a death-like state." - reagent_state = LIQUID - color = "#2E2E61" // rgb: 46, 46, 97 - - glass_icon_state = "neurotoxinglass" - glass_name = "glass of Neurotoxin" - glass_desc = "A drink that is guaranteed to knock you silly." - glass_center_of_mass = list("x"=16, "y"=8) - - on_mob_life(var/mob/living/carbon/M as mob) - if(!M) M = holder.my_atom - M.weakened = max(M.weakened, 3) - if(!data) data = 1 - data++ - M.dizziness +=6 - switch(data) - if(15 to 45) - M.stuttering = max(M.stuttering+3,0) - if(45 to 55) - if (prob(50)) - M.confused = max(M.confused+3,0) - if(55 to 200) - M.druggy = max(M.druggy, 55) - if(200 to INFINITY) - M.adjustToxLoss(2) - ..() - - hippies_delight - name = "Hippies' Delight" - id = "hippiesdelight" - description = "You just don't get it maaaan." - reagent_state = LIQUID - color = "#664300" // rgb: 102, 67, 0 - - glass_icon_state = "hippiesdelightglass" - glass_name = "glass of Hippie's Delight" - glass_desc = "A drink enjoyed by people during the 1960's." - glass_center_of_mass = list("x"=16, "y"=8) - - on_mob_life(var/mob/living/M as mob) - if(!M) M = holder.my_atom - M.druggy = max(M.druggy, 50) - if(!data) data = 1 - data++ - switch(data) - if(1 to 5) - if (!M.stuttering) M.stuttering = 1 - M.make_dizzy(10) - if(prob(10)) M.emote(pick("twitch","giggle")) - if(5 to 10) - if (!M.stuttering) M.stuttering = 1 - M.make_jittery(20) - M.make_dizzy(20) - M.druggy = max(M.druggy, 45) - if(prob(20)) M.emote(pick("twitch","giggle")) - if (10 to 200) - if (!M.stuttering) M.stuttering = 1 - M.make_jittery(40) - M.make_dizzy(40) - M.druggy = max(M.druggy, 60) - if(prob(30)) M.emote(pick("twitch","giggle")) - if(200 to INFINITY) - if (!M.stuttering) M.stuttering = 1 - M.make_jittery(60) - M.make_dizzy(60) - M.druggy = max(M.druggy, 75) - if(prob(40)) M.emote(pick("twitch","giggle")) - if(prob(30)) M.adjustToxLoss(2) - holder.remove_reagent(src.id, 0.2) - ..() - return - -/*boozepwr chart -1-2 = non-toxic alcohol -3 = medium-toxic -4 = the hard stuff -5 = potent mixes -<6 = deadly toxic -*/ - - ethanol - name = "Ethanol" //Parent class for all alcoholic reagents. - id = "ethanol" - description = "A well-known alcohol with a variety of applications." - reagent_state = LIQUID - nutriment_factor = 0 //So alcohol can fill you up! If they want to. - color = "#404030" // rgb: 64, 64, 48 - var/boozepwr = 5 //higher numbers mean the booze will have an effect faster. - var/dizzy_adj = 3 - var/adj_drowsy = 0 - var/adj_sleepy = 0 - var/slurr_adj = 3 - var/confused_adj = 2 - var/slur_start = 90 //amount absorbed after which mob starts slurring - var/confused_start = 150 //amount absorbed after which mob starts confusing directions - var/blur_start = 300 //amount absorbed after which mob starts getting blurred vision - var/pass_out = 400 //amount absorbed after which mob starts passing out - - glass_icon_state = "glass_clear" - glass_name = "glass of ethanol" - glass_desc = "A well-known alcohol with a variety of applications." - - on_mob_life(var/mob/living/M as mob, var/alien) - M:nutrition += nutriment_factor - holder.remove_reagent(src.id, (alien ? FOOD_METABOLISM : ALCOHOL_METABOLISM)) // Catch-all for creatures without livers. - - if (adj_drowsy) M.drowsyness = max(0,M.drowsyness + adj_drowsy) - if (adj_sleepy) M.sleeping = max(0,M.sleeping + adj_sleepy) - - if(!src.data || (!isnum(src.data) && src.data.len)) data = 1 //if it doesn't exist we set it. if it's a list we're going to set it to 1 as well. This is to - src.data += boozepwr //avoid a runtime error associated with drinking blood mixed in drinks (demon's blood). - - var/d = data - - // make all the beverages work together - for(var/datum/reagent/ethanol/A in holder.reagent_list) - if(A != src && isnum(A.data)) d += A.data - - if(alien && alien == IS_SKRELL) //Skrell get very drunk very quickly. - d*=5 - - M.dizziness += dizzy_adj. - if(d >= slur_start && d < pass_out) - if (!M:slurring) M:slurring = 1 - M:slurring += slurr_adj - if(d >= confused_start && prob(33)) - if (!M:confused) M:confused = 1 - M.confused = max(M:confused+confused_adj,0) - if(d >= blur_start) - M.eye_blurry = max(M.eye_blurry, 10) - M:drowsyness = max(M:drowsyness, 0) - if(d >= pass_out) - M:paralysis = max(M:paralysis, 20) - M:drowsyness = max(M:drowsyness, 30) - if(ishuman(M)) - var/mob/living/carbon/human/H = M - var/datum/organ/internal/liver/L = H.internal_organs_by_name["liver"] - if (!L) - H.adjustToxLoss(5) - else if(istype(L)) - L.take_damage(0.1, 1) - H.adjustToxLoss(0.1) - ..() - return - - reaction_obj(var/obj/O, var/volume) - if(istype(O,/obj/item/weapon/paper)) - var/obj/item/weapon/paper/paperaffected = O - paperaffected.clearpaper() - usr << "The solution dissolves the ink on the paper." - if(istype(O,/obj/item/weapon/book)) - if(istype(O,/obj/item/weapon/book/tome)) - usr << "The solution does nothing. Whatever this is, it isn't normal ink." - return - if(volume >= 5) - var/obj/item/weapon/book/affectedbook = O - affectedbook.dat = null - usr << "The solution dissolves the ink on the book." - else - usr << "It wasn't enough..." - return - - reaction_mob(var/mob/living/M, var/method=TOUCH, var/volume)//Splashing people with ethanol isn't quite as good as fuel. - if(!istype(M, /mob/living)) - return - if(method == TOUCH) - M.adjust_fire_stacks(volume / 15) - return - ethanol/beer - name = "Beer" - id = "beer" - description = "An alcoholic beverage made from malted grains, hops, yeast, and water." - color = "#664300" // rgb: 102, 67, 0 - boozepwr = 1 - nutriment_factor = 1 * FOOD_METABOLISM - - glass_icon_state = "beerglass" - glass_name = "glass of beer" - glass_desc = "A freezing pint of beer" - glass_center_of_mass = list("x"=16, "y"=8) - - on_mob_life(var/mob/living/M as mob) - M:jitteriness = max(M:jitteriness-3,0) - ..() - return - - ethanol/kahlua - name = "Kahlua" - id = "kahlua" - description = "A widely known, Mexican coffee-flavoured liqueur. In production since 1936!" - color = "#664300" // rgb: 102, 67, 0 - boozepwr = 1.5 - dizzy_adj = -5 - adj_drowsy = -3 - adj_sleepy = -2 - - glass_icon_state = "kahluaglass" - glass_name = "glass of RR coffee liquor" - glass_desc = "DAMN, THIS THING LOOKS ROBUST" - glass_center_of_mass = list("x"=15, "y"=7) - - on_mob_life(var/mob/living/M as mob) - M.make_jittery(5) - ..() - return - - ethanol/whiskey - name = "Whiskey" - id = "whiskey" - description = "A superb and well-aged single-malt whiskey. Damn." - color = "#664300" // rgb: 102, 67, 0 - boozepwr = 2 - dizzy_adj = 4 - - glass_icon_state = "whiskeyglass" - glass_name = "glass of whiskey" - glass_desc = "The silky, smokey whiskey goodness inside the glass makes the drink look very classy." - glass_center_of_mass = list("x"=16, "y"=12) - - ethanol/specialwhiskey - name = "Special Blend Whiskey" - id = "specialwhiskey" - description = "Just when you thought regular station whiskey was good... This silky, amber goodness has to come along and ruin everything." - color = "#664300" // rgb: 102, 67, 0 - boozepwr = 2 - dizzy_adj = 4 - slur_start = 30 //amount absorbed after which mob starts slurring - - glass_icon_state = "whiskeyglass" - glass_name = "glass of special blend whiskey" - glass_desc = "Just when you thought regular station whiskey was good... This silky, amber goodness has to come along and ruin everything." - glass_center_of_mass = list("x"=16, "y"=12) - - ethanol/thirteenloko - name = "Thirteen Loko" - id = "thirteenloko" - description = "A potent mixture of caffeine and alcohol." - color = "#102000" // rgb: 16, 32, 0 - boozepwr = 2 - nutriment_factor = 1 * FOOD_METABOLISM - - glass_icon_state = "thirteen_loko_glass" - glass_name = "glass of Thirteen Loko" - glass_desc = "This is a glass of Thirteen Loko, it appears to be of the highest quality. The drink, not the glass." - - on_mob_life(var/mob/living/M as mob) - M:drowsyness = max(0,M:drowsyness-7) - if (M.bodytemperature > 310) - M.bodytemperature = max(310, M.bodytemperature - (5 * TEMPERATURE_DAMAGE_COEFFICIENT)) - M.make_jittery(5) - ..() - return - - ethanol/vodka - name = "Vodka" - id = "vodka" - description = "Number one drink AND fueling choice for Russians worldwide." - color = "#0064C8" // rgb: 0, 100, 200 - boozepwr = 2 - - glass_icon_state = "ginvodkaglass" - glass_name = "glass of vodka" - glass_desc = "The glass contain wodka. Xynta." - glass_center_of_mass = list("x"=16, "y"=12) - - on_mob_life(var/mob/living/M as mob) - M.radiation = max(M.radiation-1,0) - ..() - return - - ethanol/bilk - name = "Bilk" - id = "bilk" - description = "This appears to be beer mixed with milk. Disgusting." - color = "#895C4C" // rgb: 137, 92, 76 - boozepwr = 1 - nutriment_factor = 2 * FOOD_METABOLISM - - glass_icon_state = "glass_brown" - glass_name = "glass of bilk" - glass_desc = "A brew of milk and beer. For those alcoholics who fear osteoporosis." - - ethanol/threemileisland - name = "Three Mile Island Iced Tea" - id = "threemileisland" - description = "Made for a woman, strong enough for a man." - color = "#666340" // rgb: 102, 99, 64 - boozepwr = 5 - - glass_icon_state = "threemileislandglass" - glass_name = "glass of Three Mile Island iced tea" - glass_desc = "A glass of this is sure to prevent a meltdown." - glass_center_of_mass = list("x"=16, "y"=2) - - on_mob_life(var/mob/living/M as mob) - M.druggy = max(M.druggy, 50) - ..() - return - - ethanol/gin - name = "Gin" - id = "gin" - description = "It's gin. In space. I say, good sir." - color = "#664300" // rgb: 102, 67, 0 - boozepwr = 1 - dizzy_adj = 3 - - glass_icon_state = "ginvodkaglass" - glass_name = "glass of gin" - glass_desc = "A crystal clear glass of Griffeater gin." - glass_center_of_mass = list("x"=16, "y"=12) - - ethanol/tequilla - name = "Tequila" - id = "tequilla" - description = "A strong and mildly flavoured, mexican produced spirit. Feeling thirsty hombre?" - color = "#FFFF91" // rgb: 255, 255, 145 - boozepwr = 2 - - glass_icon_state = "tequillaglass" - glass_name = "glass of Tequilla" - glass_desc = "Now all that's missing is the weird colored shades!" - glass_center_of_mass = list("x"=16, "y"=12) - - ethanol/vermouth - name = "Vermouth" - id = "vermouth" - description = "You suddenly feel a craving for a martini..." - color = "#91FF91" // rgb: 145, 255, 145 - boozepwr = 1.5 - - glass_icon_state = "vermouthglass" - glass_name = "glass of vermouth" - glass_desc = "You wonder why you're even drinking this straight." - glass_center_of_mass = list("x"=16, "y"=12) - - ethanol/wine - name = "Wine" - id = "wine" - description = "An premium alchoholic beverage made from distilled grape juice." - color = "#7E4043" // rgb: 126, 64, 67 - boozepwr = 1.5 - dizzy_adj = 2 - slur_start = 65 //amount absorbed after which mob starts slurring - confused_start = 145 //amount absorbed after which mob starts confusing directions - - glass_icon_state = "wineglass" - glass_name = "glass of wine" - glass_desc = "A very classy looking drink." - glass_center_of_mass = list("x"=15, "y"=7) - - ethanol/cognac - name = "Cognac" - id = "cognac" - description = "A sweet and strongly alchoholic drink, made after numerous distillations and years of maturing. Classy as fornication." - color = "#AB3C05" // rgb: 171, 60, 5 - boozepwr = 1.5 - dizzy_adj = 4 - confused_start = 115 //amount absorbed after which mob starts confusing directions - - glass_icon_state = "cognacglass" - glass_name = "glass of cognac" - glass_desc = "Damn, you feel like some kind of French aristocrat just by holding this." - glass_center_of_mass = list("x"=16, "y"=6) - - ethanol/hooch - name = "Hooch" - id = "hooch" - description = "Either someone's failure at cocktail making or attempt in alchohol production. In any case, do you really want to drink that?" - color = "#664300" // rgb: 102, 67, 0 - boozepwr = 2 - dizzy_adj = 6 - slurr_adj = 5 - slur_start = 35 //amount absorbed after which mob starts slurring - confused_start = 90 //amount absorbed after which mob starts confusing directions - - glass_icon_state = "glass_brown2" - glass_name = "glass of Hooch" - glass_desc = "You've really hit rock bottom now... your liver packed its bags and left last night." - - ethanol/ale - name = "Ale" - id = "ale" - description = "A dark alchoholic beverage made by malted barley and yeast." - color = "#664300" // rgb: 102, 67, 0 - boozepwr = 1 - - glass_icon_state = "aleglass" - glass_name = "glass of ale" - glass_desc = "A freezing pint of delicious ale" - glass_center_of_mass = list("x"=16, "y"=8) - - ethanol/absinthe - name = "Absinthe" - id = "absinthe" - description = "Watch out that the Green Fairy doesn't come for you!" - color = "#33EE00" // rgb: 51, 238, 0 - boozepwr = 4 - dizzy_adj = 5 - slur_start = 15 - confused_start = 30 - - glass_icon_state = "absintheglass" - glass_name = "glass of absinthe" - glass_desc = "Wormwood, anise, oh my." - glass_center_of_mass = list("x"=16, "y"=5) - - ethanol/pwine - name = "Poison Wine" - id = "pwine" - description = "Is this even wine? Toxic! Hallucinogenic! Probably consumed in boatloads by your superiors!" - color = "#000000" // rgb: 0, 0, 0 SHOCKER - boozepwr = 1 - dizzy_adj = 1 - slur_start = 1 - confused_start = 1 - - glass_icon_state = "pwineglass" - glass_name = "glass of ???" - glass_desc = "A black ichor with an oily purple sheer on top. Are you sure you should drink this?" - glass_center_of_mass = list("x"=16, "y"=5) - - on_mob_life(var/mob/living/M as mob) - if(!M) M = holder.my_atom - M.druggy = max(M.druggy, 50) - if(!data) data = 1 - data++ - switch(data) - if(1 to 25) - if (!M.stuttering) M.stuttering = 1 - M.make_dizzy(1) - M.hallucination = max(M.hallucination, 3) - if(prob(1)) M.emote(pick("twitch","giggle")) - if(25 to 75) - if (!M.stuttering) M.stuttering = 1 - M.hallucination = max(M.hallucination, 10) - M.make_jittery(2) - M.make_dizzy(2) - M.druggy = max(M.druggy, 45) - if(prob(5)) M.emote(pick("twitch","giggle")) - if (75 to 150) - if (!M.stuttering) M.stuttering = 1 - M.hallucination = max(M.hallucination, 60) - M.make_jittery(4) - M.make_dizzy(4) - M.druggy = max(M.druggy, 60) - if(prob(10)) M.emote(pick("twitch","giggle")) - if(prob(30)) M.adjustToxLoss(2) - if (150 to 300) - if (!M.stuttering) M.stuttering = 1 - M.hallucination = max(M.hallucination, 60) - M.make_jittery(4) - M.make_dizzy(4) - M.druggy = max(M.druggy, 60) - if(prob(10)) M.emote(pick("twitch","giggle")) - if(prob(30)) M.adjustToxLoss(2) - if(prob(5)) if(ishuman(M)) - var/mob/living/carbon/human/H = M - var/datum/organ/internal/heart/L = H.internal_organs_by_name["heart"] - if (L && istype(L)) - L.take_damage(5, 0) - if (300 to INFINITY) - if(ishuman(M)) - var/mob/living/carbon/human/H = M - var/datum/organ/internal/heart/L = H.internal_organs_by_name["heart"] - if (L && istype(L)) - L.take_damage(100, 0) - holder.remove_reagent(src.id, FOOD_METABOLISM) - - ethanol/rum - name = "Rum" - id = "rum" - description = "Yohoho and all that." - color = "#664300" // rgb: 102, 67, 0 - boozepwr = 1.5 - - glass_icon_state = "rumglass" - glass_name = "glass of rum" - glass_desc = "Now you want to Pray for a pirate suit, don't you?" - glass_center_of_mass = list("x"=16, "y"=12) - - ethanol/deadrum - name = "Deadrum" - id = "rum" // duplicate ids? - description = "Popular with the sailors. Not very popular with everyone else." - color = "#664300" // rgb: 102, 67, 0 - boozepwr = 1 - - glass_icon_state = "rumglass" - glass_name = "glass of rum" - glass_desc = "Now you want to Pray for a pirate suit, don't you?" - glass_center_of_mass = list("x"=16, "y"=12) - - on_mob_life(var/mob/living/M as mob) - ..() - M.dizziness +=5 - return - - ethanol/sake - name = "Sake" - id = "sake" - description = "Anime's favorite drink." - color = "#664300" // rgb: 102, 67, 0 - boozepwr = 2 - - glass_icon_state = "ginvodkaglass" - glass_name = "glass of sake" - glass_desc = "A glass of sake." - glass_center_of_mass = list("x"=16, "y"=12) - -/////////////////////////////////////////////////////////////////cocktail entities////////////////////////////////////////////// - - - ethanol/goldschlager - name = "Goldschlager" - id = "goldschlager" - description = "100 proof cinnamon schnapps, made for alcoholic teen girls on spring break." - color = "#664300" // rgb: 102, 67, 0 - boozepwr = 3 - - glass_icon_state = "ginvodkaglass" - glass_name = "glass of Goldschlager" - glass_desc = "100 proof that teen girls will drink anything with gold in it." - glass_center_of_mass = list("x"=16, "y"=12) - - ethanol/patron - name = "Patron" - id = "patron" - description = "Tequila with silver in it, a favorite of alcoholic women in the club scene." - color = "#585840" // rgb: 88, 88, 64 - boozepwr = 1.5 - - glass_icon_state = "patronglass" - glass_name = "glass of Patron" - glass_desc = "Drinking patron in the bar, with all the subpar ladies." - glass_center_of_mass = list("x"=7, "y"=8) - - ethanol/gintonic - name = "Gin and Tonic" - id = "gintonic" - description = "An all time classic, mild cocktail." - color = "#664300" // rgb: 102, 67, 0 - boozepwr = 1 - - glass_icon_state = "gintonicglass" - glass_name = "glass of gin and tonic" - glass_desc = "A mild but still great cocktail. Drink up, like a true Englishman." - glass_center_of_mass = list("x"=16, "y"=7) - - ethanol/cuba_libre - name = "Cuba Libre" - id = "cubalibre" - description = "Rum, mixed with cola. Viva la revolucion." - color = "#3E1B00" // rgb: 62, 27, 0 - boozepwr = 1.5 - - glass_icon_state = "cubalibreglass" - glass_name = "glass of Cuba Libre" - glass_desc = "A classic mix of rum and cola." - glass_center_of_mass = list("x"=16, "y"=8) - - ethanol/whiskey_cola - name = "Whiskey Cola" - id = "whiskeycola" - description = "Whiskey, mixed with cola. Surprisingly refreshing." - color = "#3E1B00" // rgb: 62, 27, 0 - boozepwr = 2 - - glass_icon_state = "whiskeycolaglass" - glass_name = "glass of whiskey cola" - glass_desc = "An innocent-looking mixture of cola and Whiskey. Delicious." - glass_center_of_mass = list("x"=16, "y"=9) - - ethanol/martini - name = "Classic Martini" - id = "martini" - description = "Vermouth with Gin. Not quite how 007 enjoyed it, but still delicious." - color = "#664300" // rgb: 102, 67, 0 - boozepwr = 2 - - glass_icon_state = "martiniglass" - glass_name = "glass of classic martini" - glass_desc = "Damn, the bartender even stirred it, not shook it." - glass_center_of_mass = list("x"=17, "y"=8) - - ethanol/vodkamartini - name = "Vodka Martini" - id = "vodkamartini" - description = "Vodka with Gin. Not quite how 007 enjoyed it, but still delicious." - color = "#664300" // rgb: 102, 67, 0 - boozepwr = 4 - - glass_icon_state = "martiniglass" - glass_name = "glass of vodka martini" - glass_desc ="A bastardisation of the classic martini. Still great." - glass_center_of_mass = list("x"=17, "y"=8) - - ethanol/white_russian - name = "White Russian" - id = "whiterussian" - description = "That's just, like, your opinion, man..." - color = "#A68340" // rgb: 166, 131, 64 - boozepwr = 3 - - glass_icon_state = "whiterussianglass" - glass_name = "glass of White Russian" - glass_desc = "A very nice looking drink. But that's just, like, your opinion, man." - glass_center_of_mass = list("x"=16, "y"=9) - - ethanol/screwdrivercocktail - name = "Screwdriver" - id = "screwdrivercocktail" - description = "Vodka, mixed with plain ol' orange juice. The result is surprisingly delicious." - color = "#A68310" // rgb: 166, 131, 16 - boozepwr = 3 - - glass_icon_state = "screwdriverglass" - glass_name = "glass of Screwdriver" - glass_desc = "A simple, yet superb mixture of Vodka and orange juice. Just the thing for the tired engineer." - glass_center_of_mass = list("x"=15, "y"=10) - - ethanol/booger - name = "Booger" - id = "booger" - description = "Ewww..." - color = "#8CFF8C" // rgb: 140, 255, 140 - boozepwr = 1.5 - - glass_icon_state = "booger" - glass_name = "glass of Booger" - glass_desc = "Ewww..." - - ethanol/bloody_mary - name = "Bloody Mary" - id = "bloodymary" - description = "A strange yet pleasurable mixture made of vodka, tomato and lime juice. Or at least you THINK the red stuff is tomato juice." - color = "#664300" // rgb: 102, 67, 0 - boozepwr = 3 - - glass_icon_state = "bloodymaryglass" - glass_name = "glass of Bloody Mary" - glass_desc = "Tomato juice, mixed with Vodka and a lil' bit of lime. Tastes like liquid murder." - - ethanol/brave_bull - name = "Brave Bull" - id = "bravebull" - description = "It's just as effective as Dutch-Courage!" - color = "#664300" // rgb: 102, 67, 0 - boozepwr = 3 - - glass_icon_state = "bravebullglass" - glass_name = "glass of Brave Bull" - glass_desc = "Tequilla and coffee liquor, brought together in a mouthwatering mixture. Drink up." - glass_center_of_mass = list("x"=15, "y"=8) - - ethanol/tequilla_sunrise - name = "Tequila Sunrise" - id = "tequillasunrise" - description = "Tequila and orange juice. Much like a Screwdriver, only Mexican~" - color = "#FFE48C" // rgb: 255, 228, 140 - boozepwr = 2 - - glass_icon_state = "tequillasunriseglass" - glass_name = "glass of Tequilla Sunrise" - glass_desc = "Oh great, now you feel nostalgic about sunrises back on Terra..." - - ethanol/toxins_special - name = "Toxins Special" - id = "phoronspecial" - description = "This thing is ON FIRE! CALL THE DAMN SHUTTLE!" - reagent_state = LIQUID - color = "#664300" // rgb: 102, 67, 0 - boozepwr = 5 - - glass_icon_state = "toxinsspecialglass" - glass_name = "glass of Toxins Special" - glass_desc = "Whoah, this thing is on FIRE" - - on_mob_life(var/mob/living/M as mob) - if (M.bodytemperature < 330) - M.bodytemperature = min(330, M.bodytemperature + (15 * TEMPERATURE_DAMAGE_COEFFICIENT)) //310 is the normal bodytemp. 310.055 - ..() - return - - ethanol/beepsky_smash - name = "Beepsky Smash" - id = "beepskysmash" - description = "Deny drinking this and prepare for THE LAW." - reagent_state = LIQUID - color = "#664300" // rgb: 102, 67, 0 - boozepwr = 4 - - glass_icon_state = "beepskysmashglass" - glass_name = "Beepsky Smash" - glass_desc = "Heavy, hot and strong. Just like the Iron fist of the LAW." - glass_center_of_mass = list("x"=18, "y"=10) - - on_mob_life(var/mob/living/M as mob) - M.Stun(2) - ..() - return - - ethanol/irish_cream - name = "Irish Cream" - id = "irishcream" - description = "Whiskey-imbued cream, what else would you expect from the Irish." - color = "#664300" // rgb: 102, 67, 0 - boozepwr = 2 - - glass_icon_state = "irishcreamglass" - glass_name = "glass of Irish cream" - glass_desc = "It's cream, mixed with whiskey. What else would you expect from the Irish?" - glass_center_of_mass = list("x"=16, "y"=9) - - ethanol/manly_dorf - name = "The Manly Dorf" - id = "manlydorf" - description = "Beer and Ale, brought together in a delicious mix. Intended for true men only." - color = "#664300" // rgb: 102, 67, 0 - boozepwr = 2 - - glass_icon_state = "manlydorfglass" - glass_name = "glass of The Manly Dorf" - glass_desc = "A manly concotion made from Ale and Beer. Intended for true men only." - - ethanol/longislandicedtea - name = "Long Island Iced Tea" - id = "longislandicedtea" - description = "The liquor cabinet, brought together in a delicious mix. Intended for middle-aged alcoholic women only." - color = "#664300" // rgb: 102, 67, 0 - boozepwr = 4 - - glass_icon_state = "longislandicedteaglass" - glass_name = "glass of Long Island iced tea" - glass_desc = "The liquor cabinet, brought together in a delicious mix. Intended for middle-aged alcoholic women only." - glass_center_of_mass = list("x"=16, "y"=8) - - ethanol/moonshine - name = "Moonshine" - id = "moonshine" - description = "You've really hit rock bottom now... your liver packed its bags and left last night." - color = "#664300" // rgb: 102, 67, 0 - boozepwr = 4 - - glass_icon_state = "glass_clear" - glass_name = "glass of moonshine" - glass_desc = "You've really hit rock bottom now... your liver packed its bags and left last night." - - ethanol/b52 - name = "B-52" - id = "b52" - description = "Coffee, Irish Cream, and cognac. You will get bombed." - color = "#664300" // rgb: 102, 67, 0 - boozepwr = 4 - - glass_icon_state = "b52glass" - glass_name = "glass of B-52" - glass_desc = "Kahlua, Irish cream, and congac. You will get bombed." - - ethanol/irishcoffee - name = "Irish Coffee" - id = "irishcoffee" - description = "Coffee, and alcohol. More fun than a Mimosa to drink in the morning." - color = "#664300" // rgb: 102, 67, 0 - boozepwr = 3 - - glass_icon_state = "irishcoffeeglass" - glass_name = "glass of Irish coffee" - glass_desc = "Coffee and alcohol. More fun than a Mimosa to drink in the morning." - glass_center_of_mass = list("x"=15, "y"=10) - - ethanol/margarita - name = "Margarita" - id = "margarita" - description = "On the rocks with salt on the rim. Arriba~!" - color = "#8CFF8C" // rgb: 140, 255, 140 - boozepwr = 3 - - glass_icon_state = "margaritaglass" - glass_name = "glass of margarita" - glass_desc = "On the rocks with salt on the rim. Arriba~!" - glass_center_of_mass = list("x"=16, "y"=8) - - ethanol/black_russian - name = "Black Russian" - id = "blackrussian" - description = "For the lactose-intolerant. Still as classy as a White Russian." - color = "#360000" // rgb: 54, 0, 0 - boozepwr = 3 - - glass_icon_state = "blackrussianglass" - glass_name = "glass of Black Russian" - glass_desc = "For the lactose-intolerant. Still as classy as a White Russian." - glass_center_of_mass = list("x"=16, "y"=9) - - ethanol/manhattan - name = "Manhattan" - id = "manhattan" - description = "The Detective's undercover drink of choice. He never could stomach gin..." - color = "#664300" // rgb: 102, 67, 0 - boozepwr = 3 - - glass_icon_state = "manhattanglass" - glass_name = "glass of Manhattan" - glass_desc = "The Detective's undercover drink of choice. He never could stomach gin..." - glass_center_of_mass = list("x"=17, "y"=8) - - ethanol/manhattan_proj - name = "Manhattan Project" - id = "manhattan_proj" - description = "A scientist's drink of choice, for pondering ways to blow up the station." - color = "#664300" // rgb: 102, 67, 0 - boozepwr = 5 - - glass_icon_state = "proj_manhattanglass" - glass_name = "glass of Manhattan Project" - glass_desc = "A scienitst drink of choice, for thinking how to blow up the station." - glass_center_of_mass = list("x"=17, "y"=8) - - on_mob_life(var/mob/living/M as mob) - M.druggy = max(M.druggy, 30) - ..() - return - - ethanol/whiskeysoda - name = "Whiskey Soda" - id = "whiskeysoda" - description = "For the more refined griffon." - color = "#664300" // rgb: 102, 67, 0 - boozepwr = 3 - - glass_icon_state = "whiskeysodaglass2" - glass_name = "glass of whiskey soda" - glass_desc = "Ultimate refreshment." - glass_center_of_mass = list("x"=16, "y"=9) - - ethanol/antifreeze - name = "Anti-freeze" - id = "antifreeze" - description = "Ultimate refreshment." - color = "#664300" // rgb: 102, 67, 0 - boozepwr = 4 - - glass_icon_state = "antifreeze" - glass_name = "glass of Anti-freeze" - glass_desc = "The ultimate refreshment." - glass_center_of_mass = list("x"=16, "y"=8) - - on_mob_life(var/mob/living/M as mob) - if (M.bodytemperature < 330) - M.bodytemperature = min(330, M.bodytemperature + (20 * TEMPERATURE_DAMAGE_COEFFICIENT)) //310 is the normal bodytemp. 310.055 - ..() - return - - ethanol/barefoot - name = "Barefoot" - id = "barefoot" - description = "Barefoot and pregnant" - color = "#664300" // rgb: 102, 67, 0 - boozepwr = 1.5 - - glass_icon_state = "b&p" - glass_name = "glass of Barefoot" - glass_desc = "Barefoot and pregnant" - glass_center_of_mass = list("x"=17, "y"=8) - - ethanol/snowwhite - name = "Snow White" - id = "snowwhite" - description = "A cold refreshment" - color = "#FFFFFF" // rgb: 255, 255, 255 - boozepwr = 1.5 - - glass_icon_state = "snowwhite" - glass_name = "glass of Snow White" - glass_desc = "A cold refreshment." - glass_center_of_mass = list("x"=16, "y"=8) - - ethanol/melonliquor - name = "Melon Liquor" - id = "melonliquor" - description = "A relatively sweet and fruity 46 proof liquor." - color = "#138808" // rgb: 19, 136, 8 - boozepwr = 1 - - glass_icon_state = "emeraldglass" - glass_name = "glass of melon liquor" - glass_desc = "A relatively sweet and fruity 46 proof liquor." - glass_center_of_mass = list("x"=16, "y"=5) - - ethanol/bluecuracao - name = "Blue Curacao" - id = "bluecuracao" - description = "Exotically blue, fruity drink, distilled from oranges." - color = "#0000CD" // rgb: 0, 0, 205 - boozepwr = 1.5 - - glass_icon_state = "curacaoglass" - glass_name = "glass of blue curacao" - glass_desc = "Exotically blue, fruity drink, distilled from oranges." - glass_center_of_mass = list("x"=16, "y"=5) - - ethanol/suidream - name = "Sui Dream" - id = "suidream" - description = "Comprised of: White soda, blue curacao, melon liquor." - color = "#00A86B" // rgb: 0, 168, 107 - boozepwr = 0.5 - - glass_icon_state = "sdreamglass" - glass_name = "glass of Sui Dream" - glass_desc = "A froofy, fruity, and sweet mixed drink. Understanding the name only brings shame." - glass_center_of_mass = list("x"=16, "y"=5) - - ethanol/demonsblood - name = "Demons Blood" - id = "demonsblood" - description = "AHHHH!!!!" - color = "#820000" // rgb: 130, 0, 0 - boozepwr = 3 - - glass_icon_state = "demonsblood" - glass_name = "glass of Demons' Blood" - glass_desc = "Just looking at this thing makes the hair at the back of your neck stand up." - glass_center_of_mass = list("x"=16, "y"=2) - - ethanol/vodkatonic - name = "Vodka and Tonic" - id = "vodkatonic" - description = "For when a gin and tonic isn't russian enough." - color = "#0064C8" // rgb: 0, 100, 200 - boozepwr = 3 - dizzy_adj = 4 - slurr_adj = 3 - - glass_icon_state = "vodkatonicglass" - glass_name = "glass of vodka and tonic" - glass_desc = "For when a gin and tonic isn't Russian enough." - glass_center_of_mass = list("x"=16, "y"=7) - - ethanol/ginfizz - name = "Gin Fizz" - id = "ginfizz" - description = "Refreshingly lemony, deliciously dry." - color = "#664300" // rgb: 102, 67, 0 - boozepwr = 1.5 - dizzy_adj = 4 - slurr_adj = 3 - - glass_icon_state = "ginfizzglass" - glass_name = "glass of gin fizz" - glass_desc = "Refreshingly lemony, deliciously dry." - glass_center_of_mass = list("x"=16, "y"=7) - - ethanol/bahama_mama - name = "Bahama mama" - id = "bahama_mama" - description = "Tropical cocktail." - color = "#FF7F3B" // rgb: 255, 127, 59 - boozepwr = 2 - - glass_icon_state = "bahama_mama" - glass_name = "glass of Bahama Mama" - glass_desc = "Tropical cocktail" - glass_center_of_mass = list("x"=16, "y"=5) - - ethanol/singulo - name = "Singulo" - id = "singulo" - description = "A blue-space beverage!" - color = "#2E6671" // rgb: 46, 102, 113 - boozepwr = 5 - dizzy_adj = 15 - slurr_adj = 15 - - glass_icon_state = "singulo" - glass_name = "glass of Singulo" - glass_desc = "A blue-space beverage." - glass_center_of_mass = list("x"=17, "y"=4) - - ethanol/sbiten - name = "Sbiten" - id = "sbiten" - description = "A spicy Vodka! Might be a little hot for the little guys!" - color = "#664300" // rgb: 102, 67, 0 - boozepwr = 3 - - glass_icon_state = "sbitenglass" - glass_name = "glass of Sbiten" - glass_desc = "A spicy mix of Vodka and Spice. Very hot." - glass_center_of_mass = list("x"=17, "y"=8) - - on_mob_life(var/mob/living/M as mob) - if (M.bodytemperature < 360) - M.bodytemperature = min(360, M.bodytemperature + (50 * TEMPERATURE_DAMAGE_COEFFICIENT)) //310 is the normal bodytemp. 310.055 - ..() - return - - ethanol/devilskiss - name = "Devils Kiss" - id = "devilskiss" - description = "Creepy time!" - color = "#A68310" // rgb: 166, 131, 16 - boozepwr = 3 - - glass_icon_state = "devilskiss" - glass_name = "glass of Devil's Kiss" - glass_desc = "Creepy time!" - glass_center_of_mass = list("x"=16, "y"=8) - - ethanol/red_mead - name = "Red Mead" - id = "red_mead" - description = "The true Viking's drink! Even though it has a strange red color." - color = "#C73C00" // rgb: 199, 60, 0 - boozepwr = 1.5 - - glass_icon_state = "red_meadglass" - glass_name = "glass of red mead" - glass_desc = "A true Viking's beverage, though its color is strange." - glass_center_of_mass = list("x"=17, "y"=10) - - ethanol/mead - name = "Mead" - id = "mead" - description = "A Viking's drink, though a cheap one." - reagent_state = LIQUID - color = "#664300" // rgb: 102, 67, 0 - boozepwr = 1.5 - nutriment_factor = 1 * FOOD_METABOLISM - - glass_icon_state = "meadglass" - glass_name = "glass of mead" - glass_desc = "A Viking's beverage, though a cheap one." - glass_center_of_mass = list("x"=17, "y"=10) - - ethanol/iced_beer - name = "Iced Beer" - id = "iced_beer" - description = "A beer which is so cold the air around it freezes." - color = "#664300" // rgb: 102, 67, 0 - boozepwr = 1 - - glass_icon_state = "iced_beerglass" - glass_name = "glass of iced beer" - glass_desc = "A beer so frosty, the air around it freezes." - glass_center_of_mass = list("x"=16, "y"=7) - - on_mob_life(var/mob/living/M as mob) - if(M.bodytemperature > 270) - M.bodytemperature = max(270, M.bodytemperature - (20 * TEMPERATURE_DAMAGE_COEFFICIENT)) //310 is the normal bodytemp. 310.055 - ..() - return - - ethanol/grog - name = "Grog" - id = "grog" - description = "Watered down rum, NanoTrasen approves!" - reagent_state = LIQUID - color = "#664300" // rgb: 102, 67, 0 - boozepwr = 0.5 - - glass_icon_state = "grogglass" - glass_name = "glass of grog" - glass_desc = "A fine and cepa drink for Space." - - ethanol/aloe - name = "Aloe" - id = "aloe" - description = "So very, very, very good." - color = "#664300" // rgb: 102, 67, 0 - boozepwr = 3 - - glass_icon_state = "aloe" - glass_name = "glass of Aloe" - glass_desc = "Very, very, very good." - glass_center_of_mass = list("x"=17, "y"=8) - - ethanol/andalusia - name = "Andalusia" - id = "andalusia" - description = "A nice, strangely named drink." - color = "#664300" // rgb: 102, 67, 0 - boozepwr = 3 - - glass_icon_state = "andalusia" - glass_name = "glass of Andalusia" - glass_desc = "A nice, strange named drink." - glass_center_of_mass = list("x"=16, "y"=9) - - ethanol/alliescocktail - name = "Allies Cocktail" - id = "alliescocktail" - description = "A drink made from your allies, not as sweet as when made from your enemies." - color = "#664300" // rgb: 102, 67, 0 - boozepwr = 2 - - glass_icon_state = "alliescocktail" - glass_name = "glass of Allies cocktail" - glass_desc = "A drink made from your allies." - glass_center_of_mass = list("x"=17, "y"=8) - - ethanol/acid_spit - name = "Acid Spit" - id = "acidspit" - description = "A drink for the daring, can be deadly if incorrectly prepared!" - reagent_state = LIQUID - color = "#365000" // rgb: 54, 80, 0 - boozepwr = 1.5 - - glass_icon_state = "acidspitglass" - glass_name = "glass of Acid Spit" - glass_desc = "A drink from Nanotrasen. Made from live aliens." - glass_center_of_mass = list("x"=16, "y"=7) - - ethanol/amasec - name = "Amasec" - id = "amasec" - description = "Official drink of the NanoTrasen Gun-Club!" - reagent_state = LIQUID - color = "#664300" // rgb: 102, 67, 0 - boozepwr = 2 - - glass_icon_state = "amasecglass" - glass_name = "glass of Amasec" - glass_desc = "Always handy before COMBAT!!!" - glass_center_of_mass = list("x"=16, "y"=9) - - ethanol/changelingsting - name = "Changeling Sting" - id = "changelingsting" - description = "You take a tiny sip and feel a burning sensation..." - color = "#2E6671" // rgb: 46, 102, 113 - boozepwr = 5 - - glass_icon_state = "changelingsting" - glass_name = "glass of Changeling Sting" - glass_desc = "A stingy drink." - - ethanol/irishcarbomb - name = "Irish Car Bomb" - id = "irishcarbomb" - description = "Mmm, tastes like chocolate cake..." - color = "#2E6671" // rgb: 46, 102, 113 - boozepwr = 3 - dizzy_adj = 5 - - glass_icon_state = "irishcarbomb" - glass_name = "glass of Irish Car Bomb" - glass_desc = "An irish car bomb." - glass_center_of_mass = list("x"=16, "y"=8) - - ethanol/syndicatebomb - name = "Syndicate Bomb" - id = "syndicatebomb" - description = "Tastes like terrorism!" - color = "#2E6671" // rgb: 46, 102, 113 - boozepwr = 5 - - glass_icon_state = "syndicatebomb" - glass_name = "glass of Syndicate Bomb" - glass_desc = "Tastes like terrorism!" - glass_center_of_mass = list("x"=16, "y"=4) - - ethanol/erikasurprise - name = "Erika Surprise" - id = "erikasurprise" - description = "The surprise is it's green!" - color = "#2E6671" // rgb: 46, 102, 113 - boozepwr = 3 - - glass_icon_state = "erikasurprise" - glass_name = "glass of Erika Surprise" - glass_desc = "The surprise is, it's green!" - glass_center_of_mass = list("x"=16, "y"=9) - - ethanol/driestmartini - name = "Driest Martini" - id = "driestmartini" - description = "Only for the experienced. You think you see sand floating in the glass." - nutriment_factor = 1 * FOOD_METABOLISM - color = "#2E6671" // rgb: 46, 102, 113 - boozepwr = 4 - - glass_icon_state = "driestmartiniglass" - glass_name = "glass of Driest Martini" - glass_desc = "Only for the experienced. You think you see sand floating in the glass." - glass_center_of_mass = list("x"=17, "y"=8) - - ethanol/bananahonk - name = "Banana Mama" - id = "bananahonk" - description = "A drink from Clown Heaven." - nutriment_factor = 1 * REAGENTS_METABOLISM - color = "#FFFF91" // rgb: 255, 255, 140 - boozepwr = 4 - - glass_icon_state = "bananahonkglass" - glass_name = "glass of Banana Honk" - glass_desc = "A drink from Banana Heaven." - glass_center_of_mass = list("x"=16, "y"=8) - - ethanol/silencer - name = "Silencer" - id = "silencer" - description = "A drink from Mime Heaven." - nutriment_factor = 1 * FOOD_METABOLISM - color = "#664300" // rgb: 102, 67, 0 - boozepwr = 4 - - glass_icon_state = "silencerglass" - glass_name = "glass of Silencer" - glass_desc = "A drink from mime Heaven." - glass_center_of_mass = list("x"=16, "y"=9) - - on_mob_life(var/mob/living/M as mob) - if(!data) data = 1 - data++ - M.dizziness +=10 - if(data >= 55 && data <115) - if (!M.stuttering) M.stuttering = 1 - M.stuttering += 10 - else if(data >= 115 && prob(33)) - M.confused = max(M.confused+15,15) - ..() - return - -// Undefine the alias for REAGENTS_EFFECT_MULTIPLER -#undef REM diff --git a/code/modules/reagents/Chemistry-Recipes.dm b/code/modules/reagents/Chemistry-Recipes.dm index fc8c129140..813a801ef7 100644 --- a/code/modules/reagents/Chemistry-Recipes.dm +++ b/code/modules/reagents/Chemistry-Recipes.dm @@ -1,2257 +1,1946 @@ -/////////////////////////////////////////////////////////////////////////////////// -datum - chemical_reaction - var/name = null - var/id = null - var/result = null - var/resultcolor = null //for paint - var/list/required_reagents = new/list() - var/list/required_catalysts = new/list() - - // Both of these variables are mostly going to be used with slime cores - but if you want to, you can use them for other things - var/atom/required_container = null // the container required for the reaction to happen - var/required_other = 0 // an integer required for the reaction to happen - - var/result_amount = 0 - var/secondary = 0 // set to nonzero if secondary reaction - var/list/secondary_results = list() //additional reagents produced by the reaction - var/requires_heating = 0 - - proc - on_reaction(var/datum/reagents/holder, var/created_volume) - return - - //I recommend you set the result amount to the total volume of all components. - - explosion_potassium - name = "Explosion" - id = "explosion_potassium" - result = null - required_reagents = list("water" = 1, "potassium" = 1) - result_amount = 2 - on_reaction(var/datum/reagents/holder, var/created_volume) - var/datum/effect/effect/system/reagents_explosion/e = new() - e.set_up(round (created_volume/10, 1), holder.my_atom, 0, 0) - e.holder_damage(holder.my_atom) - if(isliving(holder.my_atom)) - e.amount *= 0.5 - var/mob/living/L = holder.my_atom - if(L.stat!=DEAD) - e.amount *= 0.5 - e.start() - holder.clear_reagents() - return - - emp_pulse - name = "EMP Pulse" - id = "emp_pulse" - result = null - required_reagents = list("uranium" = 1, "iron" = 1) // Yes, laugh, it's the best recipe I could think of that makes a little bit of sense - result_amount = 2 - - on_reaction(var/datum/reagents/holder, var/created_volume) - var/location = get_turf(holder.my_atom) - // 100 created volume = 4 heavy range & 7 light range. A few tiles smaller than traitor EMP grandes. - // 200 created volume = 8 heavy range & 14 light range. 4 tiles larger than traitor EMP grenades. - empulse(location, round(created_volume / 24), round(created_volume / 14), 1) - holder.clear_reagents() - return - - silicate - name = "Silicate" - id = "silicate" - result = "silicate" - required_reagents = list("aluminum" = 1, "silicon" = 1, "oxygen" = 1) - result_amount = 3 - - stoxin - name = "Soporific" - id = "stoxin" - result = "stoxin" - required_reagents = list("chloralhydrate" = 1, "sugar" = 4) - result_amount = 5 - - sterilizine - name = "Sterilizine" - id = "sterilizine" - result = "sterilizine" - required_reagents = list("ethanol" = 1, "anti_toxin" = 1, "chlorine" = 1) - result_amount = 3 - - inaprovaline - name = "Inaprovaline" - id = "inaprovaline" - result = "inaprovaline" - required_reagents = list("oxygen" = 1, "carbon" = 1, "sugar" = 1) - result_amount = 3 - - anti_toxin - name = "Dylovene" - id = "anti_toxin" - result = "anti_toxin" - required_reagents = list("silicon" = 1, "potassium" = 1, "nitrogen" = 1) - result_amount = 3 - - mutagen - name = "Unstable mutagen" - id = "mutagen" - result = "mutagen" - required_reagents = list("radium" = 1, "phosphorus" = 1, "chlorine" = 1) - result_amount = 3 - - tramadol - name = "Tramadol" - id = "tramadol" - result = "tramadol" - required_reagents = list("inaprovaline" = 1, "ethanol" = 1, "oxygen" = 1) - result_amount = 3 - - paracetamol - name = "Paracetamol" - id = "paracetamol" - result = "paracetamol" - required_reagents = list("tramadol" = 1, "sugar" = 1, "water" = 1) - result_amount = 3 - - oxycodone - name = "Oxycodone" - id = "oxycodone" - result = "oxycodone" - required_reagents = list("ethanol" = 1, "tramadol" = 1) - required_catalysts = list("phoron" = 1) - result_amount = 1 - - //cyanide - // name = "Cyanide" - // id = "cyanide" - // result = "cyanide" - // required_reagents = list("hydrogen" = 1, "carbon" = 1, "nitrogen" = 1) - // result_amount = 1 - - water //I can't believe we never had this. - name = "Water" - id = "water" - result = "water" - required_reagents = list("oxygen" = 1, "hydrogen" = 2) - result_amount = 1 - - thermite - name = "Thermite" - id = "thermite" - result = "thermite" - required_reagents = list("aluminum" = 1, "iron" = 1, "oxygen" = 1) - result_amount = 3 - - lexorin - name = "Lexorin" - id = "lexorin" - result = "lexorin" - required_reagents = list("phoron" = 1, "hydrogen" = 1, "nitrogen" = 1) - result_amount = 3 - - space_drugs - name = "Space Drugs" - id = "space_drugs" - result = "space_drugs" - required_reagents = list("mercury" = 1, "sugar" = 1, "lithium" = 1) - result_amount = 3 - - lube - name = "Space Lube" - id = "lube" - result = "lube" - required_reagents = list("water" = 1, "silicon" = 1, "oxygen" = 1) - result_amount = 4 - - pacid - name = "Polytrinic acid" - id = "pacid" - result = "pacid" - required_reagents = list("sacid" = 1, "chlorine" = 1, "potassium" = 1) - result_amount = 3 - - synaptizine - name = "Synaptizine" - id = "synaptizine" - result = "synaptizine" - required_reagents = list("sugar" = 1, "lithium" = 1, "water" = 1) - result_amount = 3 - - hyronalin - name = "Hyronalin" - id = "hyronalin" - result = "hyronalin" - required_reagents = list("radium" = 1, "anti_toxin" = 1) - result_amount = 2 - - arithrazine - name = "Arithrazine" - id = "arithrazine" - result = "arithrazine" - required_reagents = list("hyronalin" = 1, "hydrogen" = 1) - result_amount = 2 - - impedrezene - name = "Impedrezene" - id = "impedrezene" - result = "impedrezene" - required_reagents = list("mercury" = 1, "oxygen" = 1, "sugar" = 1) - result_amount = 2 - - kelotane - name = "Kelotane" - id = "kelotane" - result = "kelotane" - required_reagents = list("silicon" = 1, "carbon" = 1) - result_amount = 2 - - peridaxon - name = "Peridaxon" - id = "peridaxon" - result = "peridaxon" - required_reagents = list("bicaridine" = 2, "clonexadone" = 2) - required_catalysts = list("phoron" = 5) - result_amount = 2 - - virus_food - name = "Virus Food" - id = "virusfood" - result = "virusfood" - required_reagents = list("water" = 1, "milk" = 1) - result_amount = 5 - - leporazine - name = "Leporazine" - id = "leporazine" - result = "leporazine" - required_reagents = list("silicon" = 1, "copper" = 1) - required_catalysts = list("phoron" = 5) - result_amount = 2 - - cryptobiolin - name = "Cryptobiolin" - id = "cryptobiolin" - result = "cryptobiolin" - required_reagents = list("potassium" = 1, "oxygen" = 1, "sugar" = 1) - result_amount = 3 - - tricordrazine - name = "Tricordrazine" - id = "tricordrazine" - result = "tricordrazine" - required_reagents = list("inaprovaline" = 1, "anti_toxin" = 1) - result_amount = 2 - - alkysine - name = "Alkysine" - id = "alkysine" - result = "alkysine" - required_reagents = list("chlorine" = 1, "nitrogen" = 1, "anti_toxin" = 1) - result_amount = 2 - - dexalin - name = "Dexalin" - id = "dexalin" - result = "dexalin" - required_reagents = list("oxygen" = 2, "phoron" = 0.1) - required_catalysts = list("phoron" = 5) - result_amount = 1 - - dermaline - name = "Dermaline" - id = "dermaline" - result = "dermaline" - required_reagents = list("oxygen" = 1, "phosphorus" = 1, "kelotane" = 1) - result_amount = 3 - - dexalinp - name = "Dexalin Plus" - id = "dexalinp" - result = "dexalinp" - required_reagents = list("dexalin" = 1, "carbon" = 1, "iron" = 1) - result_amount = 3 - - bicaridine - name = "Bicaridine" - id = "bicaridine" - result = "bicaridine" - required_reagents = list("inaprovaline" = 1, "carbon" = 1) - result_amount = 2 - - hyperzine - name = "Hyperzine" - id = "hyperzine" - result = "hyperzine" - required_reagents = list("sugar" = 1, "phosphorus" = 1, "sulfur" = 1,) - result_amount = 3 - - ryetalyn - name = "Ryetalyn" - id = "ryetalyn" - result = "ryetalyn" - required_reagents = list("arithrazine" = 1, "carbon" = 1) - result_amount = 2 - - cryoxadone - name = "Cryoxadone" - id = "cryoxadone" - result = "cryoxadone" - required_reagents = list("dexalin" = 1, "water" = 1, "oxygen" = 1) - result_amount = 3 - - clonexadone - name = "Clonexadone" - id = "clonexadone" - result = "clonexadone" - required_reagents = list("cryoxadone" = 1, "sodium" = 1, "phoron" = 0.1) - required_catalysts = list("phoron" = 5) - result_amount = 2 - - spaceacillin - name = "Spaceacillin" - id = "spaceacillin" - result = "spaceacillin" - required_reagents = list("cryptobiolin" = 1, "inaprovaline" = 1) - result_amount = 2 - - imidazoline - name = "imidazoline" - id = "imidazoline" - result = "imidazoline" - required_reagents = list("carbon" = 1, "hydrogen" = 1, "anti_toxin" = 1) - result_amount = 2 - - ethylredoxrazine - name = "Ethylredoxrazine" - id = "ethylredoxrazine" - result = "ethylredoxrazine" - required_reagents = list("oxygen" = 1, "anti_toxin" = 1, "carbon" = 1) - result_amount = 3 - - ethanoloxidation - name = "ethanoloxidation" //Kind of a placeholder in case someone ever changes it so that chemicals - id = "ethanoloxidation" // react in the body. Also it would be silly if it didn't exist. - result = "water" - required_reagents = list("ethylredoxrazine" = 1, "ethanol" = 1) - result_amount = 2 - - glycerol - name = "Glycerol" - id = "glycerol" - result = "glycerol" - required_reagents = list("cornoil" = 3, "sacid" = 1) - result_amount = 1 - - nitroglycerin - name = "Nitroglycerin" - id = "nitroglycerin" - result = "nitroglycerin" - required_reagents = list("glycerol" = 1, "pacid" = 1, "sacid" = 1) - result_amount = 2 - on_reaction(var/datum/reagents/holder, var/created_volume) - var/datum/effect/effect/system/reagents_explosion/e = new() - e.set_up(round (created_volume/2, 1), holder.my_atom, 0, 0) - e.holder_damage(holder.my_atom) - if(isliving(holder.my_atom)) - e.amount *= 0.5 - var/mob/living/L = holder.my_atom - if(L.stat!=DEAD) - e.amount *= 0.5 - e.start() - - holder.clear_reagents() - return - - sodiumchloride - name = "Sodium Chloride" - id = "sodiumchloride" - result = "sodiumchloride" - required_reagents = list("sodium" = 1, "chlorine" = 1) - result_amount = 2 - - flash_powder - name = "Flash powder" - id = "flash_powder" - result = null - required_reagents = list("aluminum" = 1, "potassium" = 1, "sulfur" = 1 ) - result_amount = null - on_reaction(var/datum/reagents/holder, var/created_volume) - var/location = get_turf(holder.my_atom) - var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread - s.set_up(2, 1, location) - s.start() - for(var/mob/living/carbon/M in viewers(world.view, location)) - switch(get_dist(M, location)) - if(0 to 3) - if(hasvar(M, "glasses")) - if(istype(M:glasses, /obj/item/clothing/glasses/sunglasses)) - continue - - flick("e_flash", M.flash) - M.Weaken(15) - - if(4 to 5) - if(hasvar(M, "glasses")) - if(istype(M:glasses, /obj/item/clothing/glasses/sunglasses)) - continue - - flick("e_flash", M.flash) - M.Stun(5) - - napalm - name = "Napalm" - id = "napalm" - result = null - required_reagents = list("aluminum" = 1, "phoron" = 1, "sacid" = 1 ) - result_amount = 1 - on_reaction(var/datum/reagents/holder, var/created_volume) - var/turf/location = get_turf(holder.my_atom.loc) - for(var/turf/simulated/floor/target_tile in range(0,location)) - target_tile.assume_gas("volatile_fuel", created_volume, 400+T0C) - spawn (0) target_tile.hotspot_expose(700, 400) - holder.del_reagent("napalm") - return - - /* - smoke - name = "Smoke" - id = "smoke" - result = null - required_reagents = list("potassium" = 1, "sugar" = 1, "phosphorus" = 1 ) - result_amount = null - secondary = 1 - on_reaction(var/datum/reagents/holder, var/created_volume) - var/location = get_turf(holder.my_atom) - var/datum/effect/system/bad_smoke_spread/S = new /datum/effect/system/bad_smoke_spread - S.attach(location) - S.set_up(10, 0, location) - playsound(location, 'sound/effects/smoke.ogg', 50, 1, -3) - spawn(0) - S.start() - sleep(10) - S.start() - sleep(10) - S.start() - sleep(10) - S.start() - sleep(10) - S.start() - holder.clear_reagents() - return */ - - chemsmoke - name = "Chemsmoke" - id = "chemsmoke" - result = null - required_reagents = list("potassium" = 1, "sugar" = 1, "phosphorus" = 1) - result_amount = 0.4 - secondary = 1 - on_reaction(var/datum/reagents/holder, var/created_volume) - var/location = get_turf(holder.my_atom) - var/datum/effect/effect/system/smoke_spread/chem/S = new /datum/effect/effect/system/smoke_spread/chem - S.attach(location) - S.set_up(holder, created_volume, 0, location) - playsound(location, 'sound/effects/smoke.ogg', 50, 1, -3) - spawn(0) - S.start() - holder.clear_reagents() - return - - chloralhydrate - name = "Chloral Hydrate" - id = "chloralhydrate" - result = "chloralhydrate" - required_reagents = list("ethanol" = 1, "chlorine" = 3, "water" = 1) - result_amount = 1 - - potassium_chloride - name = "Potassium Chloride" - id = "potassium_chloride" - result = "potassium_chloride" - required_reagents = list("sodiumchloride" = 1, "potassium" = 1) - result_amount = 2 - - potassium_chlorophoride - name = "Potassium Chlorophoride" - id = "potassium_chlorophoride" - result = "potassium_chlorophoride" - required_reagents = list("potassium_chloride" = 1, "phoron" = 1, "chloralhydrate" = 1) - result_amount = 4 - - stoxin - name = "Soporific" - id = "stoxin" - result = "stoxin" - required_reagents = list("chloralhydrate" = 1, "sugar" = 4) - result_amount = 5 - - zombiepowder - name = "Zombie Powder" - id = "zombiepowder" - result = "zombiepowder" - required_reagents = list("carpotoxin" = 5, "stoxin" = 5, "copper" = 5) - result_amount = 2 - - rezadone - name = "Rezadone" - id = "rezadone" - result = "rezadone" - required_reagents = list("carpotoxin" = 1, "cryptobiolin" = 1, "copper" = 1) - result_amount = 3 - - mindbreaker - name = "Mindbreaker Toxin" - id = "mindbreaker" - result = "mindbreaker" - required_reagents = list("silicon" = 1, "hydrogen" = 1, "anti_toxin" = 1) - result_amount = 3 - - lipozine - name = "Lipozine" - id = "Lipozine" - result = "lipozine" - required_reagents = list("sodiumchloride" = 1, "ethanol" = 1, "radium" = 1) - result_amount = 3 - - phoronsolidification - name = "Solid Phoron" - id = "solidphoron" - result = null - required_reagents = list("iron" = 5, "frostoil" = 5, "phoron" = 20) - result_amount = 1 - on_reaction(var/datum/reagents/holder, var/created_volume) - var/location = get_turf(holder.my_atom) - new /obj/item/stack/sheet/mineral/phoron(location) - return - - plastication - name = "Plastic" - id = "solidplastic" - result = null - required_reagents = list("pacid" = 10, "plasticide" = 20) - result_amount = 1 - on_reaction(var/datum/reagents/holder) - new /obj/item/stack/sheet/mineral/plastic(get_turf(holder.my_atom),10) - return - - virus_food - name = "Virus Food" - id = "virusfood" - result = "virusfood" - required_reagents = list("water" = 5, "milk" = 5, "oxygen" = 5) - result_amount = 15 -/* - mix_virus - name = "Mix Virus" - id = "mixvirus" - result = "blood" - required_reagents = list("virusfood" = 5) - required_catalysts = list("blood") - var/level = 2 - - on_reaction(var/datum/reagents/holder, var/created_volume) - - var/datum/reagent/blood/B = locate(/datum/reagent/blood) in holder.reagent_list - if(B && B.data) - var/datum/disease/advance/D = locate(/datum/disease/advance) in B.data["viruses"] - if(D) - D.Evolve(level - rand(0, 1)) - - - mix_virus_2 - - name = "Mix Virus 2" - id = "mixvirus2" - required_reagents = list("mutagen" = 5) - level = 4 - - rem_virus - - name = "Devolve Virus" - id = "remvirus" - required_reagents = list("synaptizine" = 5) - - on_reaction(var/datum/reagents/holder, var/created_volume) - - var/datum/reagent/blood/B = locate(/datum/reagent/blood) in holder.reagent_list - if(B && B.data) - var/datum/disease/advance/D = locate(/datum/disease/advance) in B.data["viruses"] - if(D) - D.Devolve() -*/ - condensedcapsaicin - name = "Condensed Capsaicin" - id = "condensedcapsaicin" - result = "condensedcapsaicin" - required_reagents = list("capsaicin" = 2) - required_catalysts = list("phoron" = 5) - result_amount = 1 - - ketchup - name = "Ketchup" - id = "ketchup" - result = "ketchup" - required_reagents = list("tomatojuice" = 2, "water" = 1, "sugar" = 1) - result_amount = 4 - -/////////////////////////////////////////////////////////////////////////////////// - -// foam and foam precursor - - surfactant - name = "Foam surfactant" - id = "foam surfactant" - result = "fluorosurfactant" - required_reagents = list("fluorine" = 2, "carbon" = 2, "sacid" = 1) - result_amount = 5 - - - foam - name = "Foam" - id = "foam" - result = null - required_reagents = list("fluorosurfactant" = 1, "water" = 1) - result_amount = 2 - - on_reaction(var/datum/reagents/holder, var/created_volume) - - - var/location = get_turf(holder.my_atom) - for(var/mob/M in viewers(5, location)) - M << "\red The solution violently bubbles!" - - location = get_turf(holder.my_atom) - - for(var/mob/M in viewers(5, location)) - M << "\red The solution spews out foam!" - - //world << "Holder volume is [holder.total_volume]" - //for(var/datum/reagent/R in holder.reagent_list) - // world << "[R.name] = [R.volume]" - - var/datum/effect/effect/system/foam_spread/s = new() - s.set_up(created_volume, location, holder, 0) - s.start() - holder.clear_reagents() - return - - metalfoam - name = "Metal Foam" - id = "metalfoam" - result = null - required_reagents = list("aluminum" = 3, "foaming_agent" = 1, "pacid" = 1) - result_amount = 5 - - on_reaction(var/datum/reagents/holder, var/created_volume) - - - var/location = get_turf(holder.my_atom) - - for(var/mob/M in viewers(5, location)) - M << "\red The solution spews out a metalic foam!" - - var/datum/effect/effect/system/foam_spread/s = new() - s.set_up(created_volume, location, holder, 1) - s.start() - return - - ironfoam - name = "Iron Foam" - id = "ironlfoam" - result = null - required_reagents = list("iron" = 3, "foaming_agent" = 1, "pacid" = 1) - result_amount = 5 - - on_reaction(var/datum/reagents/holder, var/created_volume) - - - var/location = get_turf(holder.my_atom) - - for(var/mob/M in viewers(5, location)) - M << "\red The solution spews out a metalic foam!" - - var/datum/effect/effect/system/foam_spread/s = new() - s.set_up(created_volume, location, holder, 2) - s.start() - return - - - - foaming_agent - name = "Foaming Agent" - id = "foaming_agent" - result = "foaming_agent" - required_reagents = list("lithium" = 1, "hydrogen" = 1) - result_amount = 1 - - // Synthesizing these three chemicals is pretty complex in real life, but fuck it, it's just a game! - ammonia - name = "Ammonia" - id = "ammonia" - result = "ammonia" - required_reagents = list("hydrogen" = 3, "nitrogen" = 1) - result_amount = 3 - - diethylamine - name = "Diethylamine" - id = "diethylamine" - result = "diethylamine" - required_reagents = list ("ammonia" = 1, "ethanol" = 1) - result_amount = 2 - - space_cleaner - name = "Space cleaner" - id = "cleaner" - result = "cleaner" - required_reagents = list("ammonia" = 1, "water" = 1) - result_amount = 2 - - plantbgone - name = "Plant-B-Gone" - id = "plantbgone" - result = "plantbgone" - required_reagents = list("toxin" = 1, "water" = 4) - result_amount = 5 - - -/////////////////////////////////////OLD SLIME CORE REACTIONS /////////////////////////////// -/* - slimepepper - name = "Slime Condensedcapaicin" - id = "m_condensedcapaicin" - result = "condensedcapsaicin" - required_reagents = list("sugar" = 1) - result_amount = 1 - required_container = /obj/item/slime_core - required_other = 1 - slimefrost - name = "Slime Frost Oil" - id = "m_frostoil" - result = "frostoil" - required_reagents = list("water" = 1) - result_amount = 1 - required_container = /obj/item/slime_core - required_other = 1 - slimeglycerol - name = "Slime Glycerol" - id = "m_glycerol" - result = "glycerol" - required_reagents = list("blood" = 1) - result_amount = 1 - required_container = /obj/item/slime_core - required_other = 1 - - slime_explosion - name = "Slime Explosion" - id = "m_explosion" - result = null - required_reagents = list("blood" = 1) - result_amount = 2 - required_container = /obj/item/slime_core - required_other = 2 - on_reaction(var/datum/reagents/holder, var/created_volume) - var/location = get_turf(holder.my_atom) - var/datum/effect/effect/system/reagents_explosion/e = new() - e.set_up(round (created_volume/10, 1), location, 0, 0) - e.start() - - holder.clear_reagents() - return - slimejam - name = "Slime Jam" - id = "m_jam" - result = "slimejelly" - required_reagents = list("water" = 1) - result_amount = 1 - required_container = /obj/item/slime_core - required_other = 2 - slimesynthi - name = "Slime Synthetic Flesh" - id = "m_flesh" - result = null - required_reagents = list("sugar" = 1) - result_amount = 1 - required_container = /obj/item/slime_core - required_other = 2 - on_reaction(var/datum/reagents/holder, var/created_volume) - var/location = get_turf(holder.my_atom) - new /obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh(location) - return - - slimeenzyme - name = "Slime Enzyme" - id = "m_enzyme" - result = "enzyme" - required_reagents = list("blood" = 1, "water" = 1) - result_amount = 2 - required_container = /obj/item/slime_core - required_other = 3 - slimeplasma - name = "Slime Plasma" - id = "m_plasma" - result = "plasma" - required_reagents = list("sugar" = 1, "blood" = 2) - result_amount = 2 - required_container = /obj/item/slime_core - required_other = 3 - slimevirus - name = "Slime Virus" - id = "m_virus" - result = null - required_reagents = list("sugar" = 1, "sacid" = 1) - result_amount = 2 - required_container = /obj/item/slime_core - required_other = 3 - on_reaction(var/datum/reagents/holder, var/created_volume) - holder.clear_reagents() - - var/virus = pick(/datum/disease/advance/flu, /datum/disease/advance/cold, \ - /datum/disease/pierrot_throat, /datum/disease/fake_gbs, \ - /datum/disease/brainrot, /datum/disease/magnitis) - - - var/datum/disease/F = new virus(0) - var/list/data = list("viruses"= list(F)) - holder.add_reagent("blood", 20, data) - - holder.add_reagent("cyanide", rand(1,10)) - - return - - slimeteleport - name = "Slime Teleport" - id = "m_tele" - result = null - required_reagents = list("pacid" = 2, "mutagen" = 2) - required_catalysts = list("plasma" = 1) - result_amount = 1 - required_container = /obj/item/slime_core - required_other = 4 - on_reaction(var/datum/reagents/holder, var/created_volume) - - // Calculate new position (searches through beacons in world) - var/obj/item/device/radio/beacon/chosen - var/list/possible = list() - for(var/obj/item/device/radio/beacon/W in world) - possible += W - - if(possible.len > 0) - chosen = pick(possible) - - if(chosen) - // Calculate previous position for transition - - var/turf/FROM = get_turf(holder.my_atom) // the turf of origin we're travelling FROM - var/turf/TO = get_turf(chosen) // the turf of origin we're travelling TO - - playsound(TO, 'sound/effects/phasein.ogg', 100, 1) - - var/list/flashers = list() - for(var/mob/living/carbon/human/M in viewers(TO, null)) - if(M:eyecheck() <= 0) - flick("e_flash", M.flash) - flashers += M - - var/y_distance = TO.y - FROM.y - var/x_distance = TO.x - FROM.x - for (var/atom/movable/A in range(2, FROM )) // iterate thru list of mobs in the area - if(istype(A, /obj/item/device/radio/beacon)) continue // don't teleport beacons because that's just insanely stupid - if( A.anchored && !istype(A, /mob/dead/observer) ) continue // don't teleport anchored things (computers, tables, windows, grilles, etc) because this causes problems! - // do teleport ghosts however because hell why not - - var/turf/newloc = locate(A.x + x_distance, A.y + y_distance, TO.z) // calculate the new place - if(!A.Move(newloc)) // if the atom, for some reason, can't move, FORCE them to move! :) We try Move() first to invoke any movement-related checks the atom needs to perform after moving - A.loc = locate(A.x + x_distance, A.y + y_distance, TO.z) - - spawn() - if(ismob(A) && !(A in flashers)) // don't flash if we're already doing an effect - var/mob/M = A - if(M.client) - var/obj/blueeffect = new /obj(src) - blueeffect.screen_loc = "WEST,SOUTH to EAST,NORTH" - blueeffect.icon = 'icons/effects/effects.dmi' - blueeffect.icon_state = "shieldsparkles" - blueeffect.layer = 17 - blueeffect.mouse_opacity = 0 - M.client.screen += blueeffect - sleep(20) - M.client.screen -= blueeffect - del(blueeffect) - slimecrit - name = "Slime Crit" - id = "m_tele" - result = null - required_reagents = list("sacid" = 1, "blood" = 1) - required_catalysts = list("plasma" = 1) - result_amount = 1 - required_container = /obj/item/slime_core - required_other = 4 - on_reaction(var/datum/reagents/holder, var/created_volume) - - var/blocked = list(/mob/living/simple_animal/hostile, - /mob/living/simple_animal/hostile/pirate, - /mob/living/simple_animal/hostile/pirate/ranged, - /mob/living/simple_animal/hostile/russian, - /mob/living/simple_animal/hostile/russian/ranged, - /mob/living/simple_animal/hostile/syndicate, - /mob/living/simple_animal/hostile/syndicate/melee, - /mob/living/simple_animal/hostile/syndicate/melee/space, - /mob/living/simple_animal/hostile/syndicate/ranged, - /mob/living/simple_animal/hostile/syndicate/ranged/space, - /mob/living/simple_animal/hostile/alien/queen/large, - /mob/living/simple_animal/clown - )//exclusion list for things you don't want the reaction to create. - var/list/critters = typesof(/mob/living/simple_animal/hostile) - blocked // list of possible hostile mobs - - playsound(get_turf(holder.my_atom), 'sound/effects/phasein.ogg', 100, 1) - - for(var/mob/living/carbon/human/M in viewers(get_turf(holder.my_atom), null)) - if(M:eyecheck() <= 0) - flick("e_flash", M.flash) - - for(var/i = 1, i <= created_volume, i++) - var/chosen = pick(critters) - var/mob/living/simple_animal/hostile/C = new chosen - C.loc = get_turf(holder.my_atom) - if(prob(50)) - for(var/j = 1, j <= rand(1, 3), j++) - step(C, pick(NORTH,SOUTH,EAST,WEST)) - slimebork - name = "Slime Bork" - id = "m_tele" - result = null - required_reagents = list("sugar" = 1, "water" = 1) - result_amount = 2 - required_container = /obj/item/slime_core - required_other = 4 - on_reaction(var/datum/reagents/holder, var/created_volume) - - var/list/borks = typesof(/obj/item/weapon/reagent_containers/food/snacks) - /obj/item/weapon/reagent_containers/food/snacks - // BORK BORK BORK - - playsound(get_turf(holder.my_atom), 'sound/effects/phasein.ogg', 100, 1) - - for(var/mob/living/carbon/human/M in viewers(get_turf(holder.my_atom), null)) - if(M:eyecheck() <= 0) - flick("e_flash", M.flash) - - for(var/i = 1, i <= created_volume + rand(1,2), i++) - var/chosen = pick(borks) - var/obj/B = new chosen - if(B) - B.loc = get_turf(holder.my_atom) - if(prob(50)) - for(var/j = 1, j <= rand(1, 3), j++) - step(B, pick(NORTH,SOUTH,EAST,WEST)) - - - - slimechloral - name = "Slime Chloral" - id = "m_bunch" - result = "chloralhydrate" - required_reagents = list("blood" = 1, "water" = 2) - result_amount = 2 - required_container = /obj/item/slime_core - required_other = 5 - slimeretro - name = "Slime Retro" - id = "m_xeno" - result = null - required_reagents = list("sugar" = 1) - result_amount = 1 - required_container = /obj/item/slime_core - required_other = 5 - on_reaction(var/datum/reagents/holder, var/created_volume) - var/datum/disease/F = new /datum/disease/dna_retrovirus(0) - var/list/data = list("viruses"= list(F)) - holder.add_reagent("blood", 20, data) - slimefoam - name = "Slime Foam" - id = "m_foam" - result = null - required_reagents = list("sacid" = 1) - result_amount = 2 - required_container = /obj/item/slime_core - required_other = 5 - - on_reaction(var/datum/reagents/holder, var/created_volume) - - - var/location = get_turf(holder.my_atom) - for(var/mob/M in viewers(5, location)) - M << "\red The solution violently bubbles!" - - location = get_turf(holder.my_atom) - - for(var/mob/M in viewers(5, location)) - M << "\red The solution spews out foam!" - - //world << "Holder volume is [holder.total_volume]" - //for(var/datum/reagent/R in holder.reagent_list) - // world << "[R.name] = [R.volume]" - - var/datum/effect/effect/system/foam_spread/s = new() - s.set_up(created_volume, location, holder, 0) - s.start() - holder.clear_reagents() - return -*/ -/////////////////////////////////////////////NEW SLIME CORE REACTIONS///////////////////////////////////////////// +/datum/chemical_reaction + var/name = null + var/id = null + var/result = null + var/list/required_reagents = list() + var/list/catalysts = list() + var/list/inhibitors = list() + + var/result_amount = 0 + var/mix_message = "The solution begins to bubble." + +/datum/chemical_reaction/proc/can_happen(var/datum/reagents/holder) + return 1 + +/datum/chemical_reaction/proc/on_reaction(var/datum/reagents/holder, var/created_volume) + return + +/datum/chemical_reaction/proc/send_data(var/datum/reagents/T) + return null + +/* Common reactions */ + +/datum/chemical_reaction/inaprovaline + name = "Inaprovaline" + id = "inaprovaline" + result = "inaprovaline" + required_reagents = list("oxygen" = 1, "carbon" = 1, "sugar" = 1) + result_amount = 3 + +/datum/chemical_reaction/dylovene + name = "Dylovene" + id = "anti_toxin" + result = "anti_toxin" + required_reagents = list("silicon" = 1, "potassium" = 1, "nitrogen" = 1) + result_amount = 3 + +/datum/chemical_reaction/tramadol + name = "Tramadol" + id = "tramadol" + result = "tramadol" + required_reagents = list("inaprovaline" = 1, "ethanol" = 1, "oxygen" = 1) + result_amount = 3 + +/datum/chemical_reaction/paracetamol + name = "Paracetamol" + id = "paracetamol" + result = "paracetamol" + required_reagents = list("tramadol" = 1, "sugar" = 1, "water" = 1) + result_amount = 3 + +/datum/chemical_reaction/oxycodone + name = "Oxycodone" + id = "oxycodone" + result = "oxycodone" + required_reagents = list("ethanol" = 1, "tramadol" = 1) + catalysts = list("phoron" = 1) + result_amount = 1 + +/datum/chemical_reaction/sterilizine + name = "Sterilizine" + id = "sterilizine" + result = "sterilizine" + required_reagents = list("ethanol" = 1, "anti_toxin" = 1, "chlorine" = 1) + result_amount = 3 + +/datum/chemical_reaction/silicate + name = "Silicate" + id = "silicate" + result = "silicate" + required_reagents = list("aluminum" = 1, "silicon" = 1, "oxygen" = 1) + result_amount = 3 + +/datum/chemical_reaction/mutagen + name = "Unstable mutagen" + id = "mutagen" + result = "mutagen" + required_reagents = list("radium" = 1, "phosphorus" = 1, "chlorine" = 1) + result_amount = 3 + +/datum/chemical_reaction/water + name = "Water" + id = "water" + result = "water" + required_reagents = list("oxygen" = 1, "hydrogen" = 2) + result_amount = 1 + +/datum/chemical_reaction/thermite + name = "Thermite" + id = "thermite" + result = "thermite" + required_reagents = list("aluminum" = 1, "iron" = 1, "oxygen" = 1) + result_amount = 3 + +/datum/chemical_reaction/space_drugs + name = "Space Drugs" + id = "space_drugs" + result = "space_drugs" + required_reagents = list("mercury" = 1, "sugar" = 1, "lithium" = 1) + result_amount = 3 + +/datum/chemical_reaction/lube + name = "Space Lube" + id = "lube" + result = "lube" + required_reagents = list("water" = 1, "silicon" = 1, "oxygen" = 1) + result_amount = 4 + +/datum/chemical_reaction/pacid + name = "Polytrinic acid" + id = "pacid" + result = "pacid" + required_reagents = list("sacid" = 1, "chlorine" = 1, "potassium" = 1) + result_amount = 3 + +/datum/chemical_reaction/synaptizine + name = "Synaptizine" + id = "synaptizine" + result = "synaptizine" + required_reagents = list("sugar" = 1, "lithium" = 1, "water" = 1) + result_amount = 3 + +/datum/chemical_reaction/hyronalin + name = "Hyronalin" + id = "hyronalin" + result = "hyronalin" + required_reagents = list("radium" = 1, "anti_toxin" = 1) + result_amount = 2 + +/datum/chemical_reaction/arithrazine + name = "Arithrazine" + id = "arithrazine" + result = "arithrazine" + required_reagents = list("hyronalin" = 1, "hydrogen" = 1) + result_amount = 2 + +/datum/chemical_reaction/impedrezene + name = "Impedrezene" + id = "impedrezene" + result = "impedrezene" + required_reagents = list("mercury" = 1, "oxygen" = 1, "sugar" = 1) + result_amount = 2 + +/datum/chemical_reaction/kelotane + name = "Kelotane" + id = "kelotane" + result = "kelotane" + required_reagents = list("silicon" = 1, "carbon" = 1) + result_amount = 2 + +/datum/chemical_reaction/peridaxon + name = "Peridaxon" + id = "peridaxon" + result = "peridaxon" + required_reagents = list("bicaridine" = 2, "clonexadone" = 2) + catalysts = list("phoron" = 1) + result_amount = 2 + +/datum/chemical_reaction/virus_food + name = "Virus Food" + id = "virusfood" + result = "virusfood" + required_reagents = list("water" = 1, "milk" = 1) + result_amount = 5 + +/datum/chemical_reaction/leporazine + name = "Leporazine" + id = "leporazine" + result = "leporazine" + required_reagents = list("silicon" = 1, "copper" = 1) + catalysts = list("phoron" = 1) + result_amount = 2 + +/datum/chemical_reaction/cryptobiolin + name = "Cryptobiolin" + id = "cryptobiolin" + result = "cryptobiolin" + required_reagents = list("potassium" = 1, "oxygen" = 1, "sugar" = 1) + result_amount = 3 + +/datum/chemical_reaction/tricordrazine + name = "Tricordrazine" + id = "tricordrazine" + result = "tricordrazine" + required_reagents = list("inaprovaline" = 1, "anti_toxin" = 1) + result_amount = 2 + +/datum/chemical_reaction/alkysine + name = "Alkysine" + id = "alkysine" + result = "alkysine" + required_reagents = list("chlorine" = 1, "nitrogen" = 1, "anti_toxin" = 1) + result_amount = 2 + +/datum/chemical_reaction/dexalin + name = "Dexalin" + id = "dexalin" + result = "dexalin" + required_reagents = list("oxygen" = 2, "phoron" = 0.1) + catalysts = list("phoron" = 1) + inhibitors = list("water" = 1) // Messes with cryox + result_amount = 1 + +/datum/chemical_reaction/dermaline + name = "Dermaline" + id = "dermaline" + result = "dermaline" + required_reagents = list("oxygen" = 1, "phosphorus" = 1, "kelotane" = 1) + result_amount = 3 + +/datum/chemical_reaction/dexalinp + name = "Dexalin Plus" + id = "dexalinp" + result = "dexalinp" + required_reagents = list("dexalin" = 1, "carbon" = 1, "iron" = 1) + result_amount = 3 + +/datum/chemical_reaction/bicaridine + name = "Bicaridine" + id = "bicaridine" + result = "bicaridine" + required_reagents = list("inaprovaline" = 1, "carbon" = 1) + inhibitors = list("sugar" = 1) // Messes up with inaprovaline + result_amount = 2 + +/datum/chemical_reaction/metorapan + name = "Metorapan" + id = "metorapan" + result = "metorapan" + required_reagents = list("bicaridine" = 1, "iron" = 1, "nitrogen" = 1) + result_amount = 3 + +/datum/chemical_reaction/hyperzine + name = "Hyperzine" + id = "hyperzine" + result = "hyperzine" + required_reagents = list("sugar" = 1, "phosphorus" = 1, "sulfur" = 1) + result_amount = 3 + +/datum/chemical_reaction/ryetalyn + name = "Ryetalyn" + id = "ryetalyn" + result = "ryetalyn" + required_reagents = list("arithrazine" = 1, "carbon" = 1) + result_amount = 2 + +/datum/chemical_reaction/cryoxadone + name = "Cryoxadone" + id = "cryoxadone" + result = "cryoxadone" + required_reagents = list("dexalin" = 1, "water" = 1, "oxygen" = 1) + result_amount = 3 + +/datum/chemical_reaction/clonexadone + name = "Clonexadone" + id = "clonexadone" + result = "clonexadone" + required_reagents = list("cryoxadone" = 1, "sodium" = 1, "phoron" = 0.1) + catalysts = list("phoron" = 1) + result_amount = 2 + +/datum/chemical_reaction/spaceacillin + name = "Spaceacillin" + id = "spaceacillin" + result = "spaceacillin" + required_reagents = list("cryptobiolin" = 1, "inaprovaline" = 1) + result_amount = 2 + +/datum/chemical_reaction/imidazoline + name = "imidazoline" + id = "imidazoline" + result = "imidazoline" + required_reagents = list("carbon" = 1, "hydrogen" = 1, "anti_toxin" = 1) + result_amount = 2 + +/datum/chemical_reaction/ethylredoxrazine + name = "Ethylredoxrazine" + id = "ethylredoxrazine" + result = "ethylredoxrazine" + required_reagents = list("oxygen" = 1, "anti_toxin" = 1, "carbon" = 1) + result_amount = 3 + +/datum/chemical_reaction/soporific + name = "Soporific" + id = "stoxin" + result = "stoxin" + required_reagents = list("chloralhydrate" = 1, "sugar" = 4) + inhibitors = list("phosphorus") // Messes with the smoke + result_amount = 5 + +/datum/chemical_reaction/chloralhydrate + name = "Chloral Hydrate" + id = "chloralhydrate" + result = "chloralhydrate" + required_reagents = list("ethanol" = 1, "chlorine" = 3, "water" = 1) + result_amount = 1 + +/datum/chemical_reaction/potassium_chloride + name = "Potassium Chloride" + id = "potassium_chloride" + result = "potassium_chloride" + required_reagents = list("sodiumchloride" = 1, "potassium" = 1) + result_amount = 2 + +/datum/chemical_reaction/potassium_chlorophoride + name = "Potassium Chlorophoride" + id = "potassium_chlorophoride" + result = "potassium_chlorophoride" + required_reagents = list("potassium_chloride" = 1, "phoron" = 1, "chloralhydrate" = 1) + result_amount = 4 + +/datum/chemical_reaction/zombiepowder + name = "Zombie Powder" + id = "zombiepowder" + result = "zombiepowder" + required_reagents = list("carpotoxin" = 5, "stoxin" = 5, "copper" = 5) + result_amount = 2 + +/datum/chemical_reaction/mindbreaker + name = "Mindbreaker Toxin" + id = "mindbreaker" + result = "mindbreaker" + required_reagents = list("silicon" = 1, "hydrogen" = 1, "anti_toxin" = 1) + result_amount = 3 + +/datum/chemical_reaction/lipozine + name = "Lipozine" + id = "Lipozine" + result = "lipozine" + required_reagents = list("sodiumchloride" = 1, "ethanol" = 1, "radium" = 1) + result_amount = 3 + +/datum/chemical_reaction/surfactant + name = "Foam surfactant" + id = "foam surfactant" + result = "fluorosurfactant" + required_reagents = list("fluorine" = 2, "carbon" = 2, "sacid" = 1) + result_amount = 5 + +/datum/chemical_reaction/ammonia + name = "Ammonia" + id = "ammonia" + result = "ammonia" + required_reagents = list("hydrogen" = 3, "nitrogen" = 1) + result_amount = 3 + +/datum/chemical_reaction/diethylamine + name = "Diethylamine" + id = "diethylamine" + result = "diethylamine" + required_reagents = list ("ammonia" = 1, "ethanol" = 1) + result_amount = 2 + +/datum/chemical_reaction/space_cleaner + name = "Space cleaner" + id = "cleaner" + result = "cleaner" + required_reagents = list("ammonia" = 1, "water" = 1) + result_amount = 2 + +/datum/chemical_reaction/plantbgone + name = "Plant-B-Gone" + id = "plantbgone" + result = "plantbgone" + required_reagents = list("toxin" = 1, "water" = 4) + result_amount = 5 + +/datum/chemical_reaction/foaming_agent + name = "Foaming Agent" + id = "foaming_agent" + result = "foaming_agent" + required_reagents = list("lithium" = 1, "hydrogen" = 1) + result_amount = 1 + +/datum/chemical_reaction/glycerol + name = "Glycerol" + id = "glycerol" + result = "glycerol" + required_reagents = list("cornoil" = 3, "sacid" = 1) + result_amount = 1 + +/datum/chemical_reaction/sodiumchloride + name = "Sodium Chloride" + id = "sodiumchloride" + result = "sodiumchloride" + required_reagents = list("sodium" = 1, "chlorine" = 1) + result_amount = 2 + +/datum/chemical_reaction/condensedcapsaicin + name = "Condensed Capsaicin" + id = "condensedcapsaicin" + result = "condensedcapsaicin" + required_reagents = list("capsaicin" = 2) + catalysts = list("phoron" = 1) + result_amount = 1 + +/datum/chemical_reaction/coolant + name = "Coolant" + id = "coolant" + result = "coolant" + required_reagents = list("tungsten" = 1, "oxygen" = 1, "water" = 1) + result_amount = 3 + +/datum/chemical_reaction/rezadone + name = "Rezadone" + id = "rezadone" + result = "rezadone" + required_reagents = list("carpotoxin" = 1, "cryptobiolin" = 1, "copper" = 1) + result_amount = 3 + +/datum/chemical_reaction/lexorin + name = "Lexorin" + id = "lexorin" + result = "lexorin" + required_reagents = list("phoron" = 1, "hydrogen" = 1, "nitrogen" = 1) + result_amount = 3 + +/datum/chemical_reaction/methylphenidate + name = "Methylphenidate" + id = "methylphenidate" + result = "methylphenidate" + required_reagents = list("mindbreaker" = 1, "hydrogen" = 1) + result_amount = 3 + +/datum/chemical_reaction/citalopram + name = "Citalopram" + id = "citalopram" + result = "citalopram" + required_reagents = list("mindbreaker" = 1, "carbon" = 1) + result_amount = 3 + + +/datum/chemical_reaction/paroxetine + name = "Paroxetine" + id = "paroxetine" + result = "paroxetine" + required_reagents = list("mindbreaker" = 1, "oxygen" = 1, "inaprovaline" = 1) + result_amount = 3 + +/* Solidification */ + +/datum/chemical_reaction/phoronsolidification + name = "Solid Phoron" + id = "solidphoron" + result = null + required_reagents = list("iron" = 5, "frostoil" = 5, "phoron" = 20) + result_amount = 1 + +/datum/chemical_reaction/phoronsolidification/on_reaction(var/datum/reagents/holder, var/created_volume) + var/location = get_turf(holder.my_atom) + new /obj/item/stack/sheet/mineral/phoron(location) + return + +/datum/chemical_reaction/plastication + name = "Plastic" + id = "solidplastic" + result = null + required_reagents = list("pacid" = 1, "plasticide" = 2) + result_amount = 1 + +/datum/chemical_reaction/plastication/on_reaction(var/datum/reagents/holder, var/created_volume) + new /obj/item/stack/sheet/mineral/plastic(get_turf(holder.my_atom), created_volume) + return + +/* Grenade reactions */ + +/datum/chemical_reaction/explosion_potassium + name = "Explosion" + id = "explosion_potassium" + result = null + required_reagents = list("water" = 1, "potassium" = 1) + result_amount = 2 + mix_message = null + +/datum/chemical_reaction/explosion_potassium/on_reaction(var/datum/reagents/holder, var/created_volume) + var/datum/effect/effect/system/reagents_explosion/e = new() + e.set_up(round (created_volume/10, 1), holder.my_atom, 0, 0) + e.holder_damage(holder.my_atom) + if(isliving(holder.my_atom)) + e.amount *= 0.5 + var/mob/living/L = holder.my_atom + if(L.stat != DEAD) + e.amount *= 0.5 + e.start() + holder.clear_reagents() + return + +/datum/chemical_reaction/flash_powder + name = "Flash powder" + id = "flash_powder" + result = null + required_reagents = list("aluminum" = 1, "potassium" = 1, "sulfur" = 1 ) + result_amount = null + +/datum/chemical_reaction/flash_powder/on_reaction(var/datum/reagents/holder, var/created_volume) + var/location = get_turf(holder.my_atom) + var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread + s.set_up(2, 1, location) + s.start() + for(var/mob/living/carbon/M in viewers(world.view, location)) + switch(get_dist(M, location)) + if(0 to 3) + if(hasvar(M, "glasses")) + if(istype(M:glasses, /obj/item/clothing/glasses/sunglasses)) + continue + + flick("e_flash", M.flash) + M.Weaken(15) + + if(4 to 5) + if(hasvar(M, "glasses")) + if(istype(M:glasses, /obj/item/clothing/glasses/sunglasses)) + continue + + flick("e_flash", M.flash) + M.Stun(5) + +/datum/chemical_reaction/emp_pulse + name = "EMP Pulse" + id = "emp_pulse" + result = null + required_reagents = list("uranium" = 1, "iron" = 1) // Yes, laugh, it's the best recipe I could think of that makes a little bit of sense + result_amount = 2 + +/datum/chemical_reaction/emp_pulse/on_reaction(var/datum/reagents/holder, var/created_volume) + var/location = get_turf(holder.my_atom) + // 100 created volume = 4 heavy range & 7 light range. A few tiles smaller than traitor EMP grandes. + // 200 created volume = 8 heavy range & 14 light range. 4 tiles larger than traitor EMP grenades. + empulse(location, round(created_volume / 24), round(created_volume / 14), 1) + holder.clear_reagents() + return + +/datum/chemical_reaction/nitroglycerin + name = "Nitroglycerin" + id = "nitroglycerin" + result = "nitroglycerin" + required_reagents = list("glycerol" = 1, "pacid" = 1, "sacid" = 1) + result_amount = 2 + +/datum/chemical_reaction/nitroglycerin/on_reaction(var/datum/reagents/holder, var/created_volume) + var/datum/effect/effect/system/reagents_explosion/e = new() + e.set_up(round (created_volume/2, 1), holder.my_atom, 0, 0) + e.holder_damage(holder.my_atom) + if(isliving(holder.my_atom)) + e.amount *= 0.5 + var/mob/living/L = holder.my_atom + if(L.stat!=DEAD) + e.amount *= 0.5 + e.start() + + holder.clear_reagents() + return + +/datum/chemical_reaction/napalm + name = "Napalm" + id = "napalm" + result = null + required_reagents = list("aluminum" = 1, "phoron" = 1, "sacid" = 1 ) + result_amount = 1 + +/datum/chemical_reaction/napalm/on_reaction(var/datum/reagents/holder, var/created_volume) + var/turf/location = get_turf(holder.my_atom.loc) + for(var/turf/simulated/floor/target_tile in range(0,location)) + target_tile.assume_gas("volatile_fuel", created_volume, 400+T0C) + spawn (0) target_tile.hotspot_expose(700, 400) + holder.del_reagent("napalm") + return + +/datum/chemical_reaction/chemsmoke + name = "Chemsmoke" + id = "chemsmoke" + result = null + required_reagents = list("potassium" = 1, "sugar" = 1, "phosphorus" = 1) + result_amount = 0.4 + +/datum/chemical_reaction/chemsmoke/on_reaction(var/datum/reagents/holder, var/created_volume) + var/location = get_turf(holder.my_atom) + var/datum/effect/effect/system/smoke_spread/chem/S = new /datum/effect/effect/system/smoke_spread/chem + S.attach(location) + S.set_up(holder, created_volume, 0, location) + playsound(location, 'sound/effects/smoke.ogg', 50, 1, -3) + spawn(0) + S.start() + holder.clear_reagents() + return + +/datum/chemical_reaction/foam + name = "Foam" + id = "foam" + result = null + required_reagents = list("fluorosurfactant" = 1, "water" = 1) + result_amount = 2 + mix_message = "The solution violently bubbles!" + +/datum/chemical_reaction/foam/on_reaction(var/datum/reagents/holder, var/created_volume) + var/location = get_turf(holder.my_atom) + + for(var/mob/M in viewers(5, location)) + M << "\red The solution spews out foam!" + + var/datum/effect/effect/system/foam_spread/s = new() + s.set_up(created_volume, location, holder, 0) + s.start() + holder.clear_reagents() + return + +/datum/chemical_reaction/metalfoam + name = "Metal Foam" + id = "metalfoam" + result = null + required_reagents = list("aluminum" = 3, "foaming_agent" = 1, "pacid" = 1) + result_amount = 5 + +/datum/chemical_reaction/metalfoam/on_reaction(var/datum/reagents/holder, var/created_volume) + var/location = get_turf(holder.my_atom) + + for(var/mob/M in viewers(5, location)) + M << "\red The solution spews out a metalic foam!" + + var/datum/effect/effect/system/foam_spread/s = new() + s.set_up(created_volume, location, holder, 1) + s.start() + return + +/datum/chemical_reaction/ironfoam + name = "Iron Foam" + id = "ironlfoam" + result = null + required_reagents = list("iron" = 3, "foaming_agent" = 1, "pacid" = 1) + result_amount = 5 + +/datum/chemical_reaction/ironfoam/on_reaction(var/datum/reagents/holder, var/created_volume) + var/location = get_turf(holder.my_atom) + + for(var/mob/M in viewers(5, location)) + M << "\red The solution spews out a metalic foam!" + + var/datum/effect/effect/system/foam_spread/s = new() + s.set_up(created_volume, location, holder, 2) + s.start() + return + +/* Paint */ + +/datum/chemical_reaction/red_paint + name = "Red paint" + id = "red_paint" + result = "paint" + required_reagents = list("plasticide" = 1, "water" = 3, "crayon_dust_red" = 1) + result_amount = 5 + +/datum/chemical_reaction/red_paint/send_data() + return "#FE191A" + +/datum/chemical_reaction/orange_paint + name = "Orange paint" + id = "orange_paint" + result = "paint" + required_reagents = list("plasticide" = 1, "water" = 3, "crayon_dust_orange" = 1) + result_amount = 5 + +/datum/chemical_reaction/orange_paint/send_data() + return "#FFBE4F" + +/datum/chemical_reaction/yellow_paint + name = "Yellow paint" + id = "yellow_paint" + result = "paint" + required_reagents = list("plasticide" = 1, "water" = 3, "crayon_dust_yellow" = 1) + result_amount = 5 + +/datum/chemical_reaction/yellow_paint/send_data() + return "#FDFE7D" + +/datum/chemical_reaction/green_paint + name = "Green paint" + id = "green_paint" + result = "paint" + required_reagents = list("plasticide" = 1, "water" = 3, "crayon_dust_green" = 1) + result_amount = 5 + +/datum/chemical_reaction/green_paint/send_data() + return "#18A31A" + +/datum/chemical_reaction/blue_paint + name = "Blue paint" + id = "blue_paint" + result = "paint" + required_reagents = list("plasticide" = 1, "water" = 3, "crayon_dust_blue" = 1) + result_amount = 5 + +/datum/chemical_reaction/blue_paint/send_data() + return "#247CFF" + +/datum/chemical_reaction/purple_paint + name = "Purple paint" + id = "purple_paint" + result = "paint" + required_reagents = list("plasticide" = 1, "water" = 3, "crayon_dust_purple" = 1) + result_amount = 5 + +/datum/chemical_reaction/purple_paint/send_data() + return "#CC0099" + +/datum/chemical_reaction/grey_paint //mime + name = "Grey paint" + id = "grey_paint" + result = "paint" + required_reagents = list("plasticide" = 1, "water" = 3, "crayon_dust_grey" = 1) + result_amount = 5 + +/datum/chemical_reaction/grey_paint/send_data() + return "#808080" + +/datum/chemical_reaction/brown_paint + name = "Brown paint" + id = "brown_paint" + result = "paint" + required_reagents = list("plasticide" = 1, "water" = 3, "crayon_dust_brown" = 1) + result_amount = 5 + +/datum/chemical_reaction/brown_paint/send_data() + return "#846F35" + +/datum/chemical_reaction/blood_paint + name = "Blood paint" + id = "blood_paint" + result = "paint" + required_reagents = list("plasticide" = 1, "water" = 3, "blood" = 2) + result_amount = 5 + +/datum/chemical_reaction/blood_paint/send_data(var/datum/reagents/T) + var/t = T.get_data("blood") + if(t && t["blood_colour"]) + return t["blood_colour"] + return "#FE191A" // Probably red + +/datum/chemical_reaction/milk_paint + name = "Milk paint" + id = "milk_paint" + result = "paint" + required_reagents = list("plasticide" = 1, "water" = 3, "milk" = 5) + result_amount = 5 + +/datum/chemical_reaction/milk_paint/send_data() + return "#F0F8FF" + +/datum/chemical_reaction/orange_juice_paint + name = "Orange juice paint" + id = "orange_juice_paint" + result = "paint" + required_reagents = list("plasticide" = 1, "water" = 3, "orangejuice" = 5) + result_amount = 5 + +/datum/chemical_reaction/orange_juice_paint/send_data() + return "#E78108" + +/datum/chemical_reaction/tomato_juice_paint + name = "Tomato juice paint" + id = "tomato_juice_paint" + result = "paint" + required_reagents = list("plasticide" = 1, "water" = 3, "tomatojuice" = 5) + result_amount = 5 + +/datum/chemical_reaction/tomato_juice_paint/send_data() + return "#731008" + +/datum/chemical_reaction/lime_juice_paint + name = "Lime juice paint" + id = "lime_juice_paint" + result = "paint" + required_reagents = list("plasticide" = 1, "water" = 3, "limejuice" = 5) + result_amount = 5 + +/datum/chemical_reaction/lime_juice_paint/send_data() + return "#365E30" + +/datum/chemical_reaction/carrot_juice_paint + name = "Carrot juice paint" + id = "carrot_juice_paint" + result = "paint" + required_reagents = list("plasticide" = 1, "water" = 3, "carrotjuice" = 5) + result_amount = 5 + +/datum/chemical_reaction/carrot_juice_paint/send_data() + return "#973800" + +/datum/chemical_reaction/berry_juice_paint + name = "Berry juice paint" + id = "berry_juice_paint" + result = "paint" + required_reagents = list("plasticide" = 1, "water" = 3, "berryjuice" = 5) + result_amount = 5 + +/datum/chemical_reaction/berry_juice_paint/send_data() + return "#990066" + +/datum/chemical_reaction/grape_juice_paint + name = "Grape juice paint" + id = "grape_juice_paint" + result = "paint" + required_reagents = list("plasticide" = 1, "water" = 3, "grapejuice" = 5) + result_amount = 5 + +/datum/chemical_reaction/grape_juice_paint/send_data() + return "#863333" + +/datum/chemical_reaction/poisonberry_juice_paint + name = "Poison berry juice paint" + id = "poisonberry_juice_paint" + result = "paint" + required_reagents = list("plasticide" = 1, "water" = 3, "poisonberryjuice" = 5) + result_amount = 5 + +/datum/chemical_reaction/poisonberry_juice_paint/send_data() + return "#863353" + +/datum/chemical_reaction/watermelon_juice_paint + name = "Watermelon juice paint" + id = "watermelon_juice_paint" + result = "paint" + required_reagents = list("plasticide" = 1, "water" = 3, "watermelonjuice" = 5) + result_amount = 5 + +/datum/chemical_reaction/watermelon_juice_paint/send_data() + return "#B83333" + +/datum/chemical_reaction/lemon_juice_paint + name = "Lemon juice paint" + id = "lemon_juice_paint" + result = "paint" + required_reagents = list("plasticide" = 1, "water" = 3, "lemonjuice" = 5) + result_amount = 5 + +/datum/chemical_reaction/lemon_juice_paint/send_data() + return "#AFAF00" + +/datum/chemical_reaction/banana_juice_paint + name = "Banana juice paint" + id = "banana_juice_paint" + result = "paint" + required_reagents = list("plasticide" = 1, "water" = 3, "banana" = 5) + result_amount = 5 + +/datum/chemical_reaction/banana_juice_paint/send_data() + return "#C3AF00" + +/datum/chemical_reaction/potato_juice_paint + name = "Potato juice paint" + id = "potato_juice_paint" + result = "paint" + required_reagents = list("plasticide" = 1, "water" = 3, "potatojuice" = 5) + result_amount = 5 + +/datum/chemical_reaction/potato_juice_paint/send_data() + return "#302000" + +/datum/chemical_reaction/carbon_paint + name = "Carbon paint" + id = "carbon_paint" + result = "paint" + required_reagents = list("plasticide" = 1, "water" = 3, "carbon" = 1) + result_amount = 5 + +/datum/chemical_reaction/carbon_paint/send_data() + return "#333333" + +/datum/chemical_reaction/aluminum_paint + name = "Aluminum paint" + id = "aluminum_paint" + result = "paint" + required_reagents = list("plasticide" = 1, "water" = 3, "aluminum" = 1) + result_amount = 5 + +/datum/chemical_reaction/aluminum_paint/send_data() + return "#F0F8FF" + +/* Slime cores */ + +/datum/chemical_reaction/slime + var/required = null + +/datum/chemical_reaction/slime/can_happen(var/datum/reagents/holder) + if(holder.my_atom && istype(holder.my_atom, required)) + var/obj/item/slime_extract/T = holder.my_atom + if(T.Uses > 0) + return 1 + return 0 + +/datum/chemical_reaction/slime/on_reaction(var/datum/reagents/holder) + var/obj/item/slime_extract/T = holder.my_atom + T.Uses-- + if(T.Uses <= 0) + T.visible_message("\icon[T]\The [T]'s power is consumed in the reaction.") + T.name = "used slime extract" + T.desc = "This extract has been used up." //Grey - slimespawn - name = "Slime Spawn" - id = "m_spawn" - result = null - required_reagents = list("phoron" = 5) - result_amount = 1 - required_container = /obj/item/slime_extract/grey - required_other = 1 - on_reaction(var/datum/reagents/holder) - for(var/mob/O in viewers(get_turf(holder.my_atom), null)) - O.show_message(text("\red Infused with phoron, the core begins to quiver and grow, and soon a new baby slime emerges from it!"), 1) - var/mob/living/carbon/slime/S = new /mob/living/carbon/slime - S.loc = get_turf(holder.my_atom) +/datum/chemical_reaction/slime/spawn + name = "Slime Spawn" + id = "m_spawn" + result = null + required_reagents = list("phoron" = 1) + result_amount = 1 + required = /obj/item/slime_extract/grey +/datum/chemical_reaction/slime/spawn/on_reaction(var/datum/reagents/holder) + holder.my_atom.visible_message("Infused with phoron, the core begins to quiver and grow, and soon a new baby slime emerges from it!") + var/mob/living/carbon/slime/S = new /mob/living/carbon/slime + S.loc = get_turf(holder.my_atom) + ..() - slimemonkey - name = "Slime Monkey" - id = "m_monkey" - result = null - required_reagents = list("blood" = 5) - result_amount = 1 - required_container = /obj/item/slime_extract/grey - required_other = 1 - on_reaction(var/datum/reagents/holder) - for(var/i = 1, i <= 3, i++) - var /obj/item/weapon/reagent_containers/food/snacks/monkeycube/M = new /obj/item/weapon/reagent_containers/food/snacks/monkeycube - M.loc = get_turf(holder.my_atom) +/datum/chemical_reaction/slime/monkey + name = "Slime Monkey" + id = "m_monkey" + result = null + required_reagents = list("blood" = 1) + result_amount = 1 + required = /obj/item/slime_extract/grey + +/datum/chemical_reaction/slime/monkey/on_reaction(var/datum/reagents/holder) + for(var/i = 1, i <= 3, i++) + var /obj/item/weapon/reagent_containers/food/snacks/monkeycube/M = new /obj/item/weapon/reagent_containers/food/snacks/monkeycube + M.loc = get_turf(holder.my_atom) + ..() //Green - slimemutate - name = "Mutation Toxin" - id = "mutationtoxin" - result = "mutationtoxin" - required_reagents = list("phoron" = 5) - result_amount = 1 - required_other = 1 - required_container = /obj/item/slime_extract/green +/datum/chemical_reaction/slime/mutate + name = "Mutation Toxin" + id = "mutationtoxin" + result = "mutationtoxin" + required_reagents = list("phoron" = 1) + result_amount = 1 + required = /obj/item/slime_extract/green //Metal - slimemetal - name = "Slime Metal" - id = "m_metal" - result = null - required_reagents = list("phoron" = 5) - result_amount = 1 - required_container = /obj/item/slime_extract/metal - required_other = 1 - on_reaction(var/datum/reagents/holder) - var/obj/item/stack/sheet/metal/M = new /obj/item/stack/sheet/metal - M.amount = 15 - M.loc = get_turf(holder.my_atom) - var/obj/item/stack/sheet/plasteel/P = new /obj/item/stack/sheet/plasteel - P.amount = 5 - P.loc = get_turf(holder.my_atom) +/datum/chemical_reaction/slime/metal + name = "Slime Metal" + id = "m_metal" + result = null + required_reagents = list("phoron" = 1) + result_amount = 1 + required = /obj/item/slime_extract/metal -//Gold - slimecrit - name = "Slime Crit" - id = "m_tele" - result = null - required_reagents = list("phoron" = 5) - result_amount = 1 - required_container = /obj/item/slime_extract/gold - required_other = 1 - on_reaction(var/datum/reagents/holder) +/datum/chemical_reaction/slime/metal/on_reaction(var/datum/reagents/holder) + var/obj/item/stack/sheet/metal/M = new /obj/item/stack/sheet/metal + M.amount = 15 + M.loc = get_turf(holder.my_atom) + var/obj/item/stack/sheet/plasteel/P = new /obj/item/stack/sheet/plasteel + P.amount = 5 + P.loc = get_turf(holder.my_atom) + ..() - /*var/blocked = list(/mob/living/simple_animal/hostile, - /mob/living/simple_animal/hostile/pirate, - /mob/living/simple_animal/hostile/pirate/ranged, - /mob/living/simple_animal/hostile/russian, - /mob/living/simple_animal/hostile/russian/ranged, - /mob/living/simple_animal/hostile/syndicate, - /mob/living/simple_animal/hostile/syndicate/melee, - /mob/living/simple_animal/hostile/syndicate/melee/space, - /mob/living/simple_animal/hostile/syndicate/ranged, - /mob/living/simple_animal/hostile/syndicate/ranged/space, - /mob/living/simple_animal/hostile/alien/queen/large, - /mob/living/simple_animal/hostile/faithless, - /mob/living/simple_animal/hostile/panther, - /mob/living/simple_animal/hostile/snake, - /mob/living/simple_animal/hostile/retaliate, - /mob/living/simple_animal/hostile/retaliate/clown - )//exclusion list for things you don't want the reaction to create. - var/list/critters = typesof(/mob/living/simple_animal/hostile) - blocked // list of possible hostile mobs - - playsound(get_turf(holder.my_atom), 'sound/effects/phasein.ogg', 100, 1) - - for(var/mob/living/carbon/human/M in viewers(get_turf(holder.my_atom), null)) - if(M:eyecheck() <= 0) - flick("e_flash", M.flash) - - for(var/i = 1, i <= 5, i++) - var/chosen = pick(critters) - var/mob/living/simple_animal/hostile/C = new chosen - C.faction = "slimesummon" - C.loc = get_turf(holder.my_atom) - if(prob(50)) - for(var/j = 1, j <= rand(1, 3), j++) - step(C, pick(NORTH,SOUTH,EAST,WEST))*/ - for(var/mob/O in viewers(get_turf(holder.my_atom), null)) - O.show_message(text("\red The slime core fizzles disappointingly,"), 1) +//Gold - removed +/datum/chemical_reaction/slime/crit + name = "Slime Crit" + id = "m_tele" + result = null + required_reagents = list("phoron" = 1) + result_amount = 1 + required = /obj/item/slime_extract/gold + mix_message = "The slime core fizzles disappointingly." //Silver - slimebork - name = "Slime Bork" - id = "m_tele2" - result = null - required_reagents = list("phoron" = 5) - result_amount = 1 - required_container = /obj/item/slime_extract/silver - required_other = 1 - on_reaction(var/datum/reagents/holder) +/datum/chemical_reaction/slime/bork + name = "Slime Bork" + id = "m_tele2" + result = null + required_reagents = list("phoron" = 1) + result_amount = 1 + required = /obj/item/slime_extract/silver - var/list/borks = typesof(/obj/item/weapon/reagent_containers/food/snacks) - /obj/item/weapon/reagent_containers/food/snacks - // BORK BORK BORK - - playsound(get_turf(holder.my_atom), 'sound/effects/phasein.ogg', 100, 1) - - for(var/mob/living/carbon/human/M in viewers(get_turf(holder.my_atom), null)) - if(M:eyecheck() <= 0) - flick("e_flash", M.flash) - - for(var/i = 1, i <= 4 + rand(1,2), i++) - var/chosen = pick(borks) - var/obj/B = new chosen - if(B) - B.loc = get_turf(holder.my_atom) - if(prob(50)) - for(var/j = 1, j <= rand(1, 3), j++) - step(B, pick(NORTH,SOUTH,EAST,WEST)) +/datum/chemical_reaction/slime/bork/on_reaction(var/datum/reagents/holder) + var/list/borks = typesof(/obj/item/weapon/reagent_containers/food/snacks) - /obj/item/weapon/reagent_containers/food/snacks + playsound(get_turf(holder.my_atom), 'sound/effects/phasein.ogg', 100, 1) + for(var/mob/living/carbon/human/M in viewers(get_turf(holder.my_atom), null)) + if(M.eyecheck() <= 0) + flick("e_flash", M.flash) + for(var/i = 1, i <= 4 + rand(1,2), i++) + var/chosen = pick(borks) + var/obj/B = new chosen + if(B) + B.loc = get_turf(holder.my_atom) + if(prob(50)) + for(var/j = 1, j <= rand(1, 3), j++) + step(B, pick(NORTH, SOUTH, EAST, WEST)) + ..() //Blue - slimefrost - name = "Slime Frost Oil" - id = "m_frostoil" - result = "frostoil" - required_reagents = list("phoron" = 5) - result_amount = 10 - required_container = /obj/item/slime_extract/blue - required_other = 1 +/datum/chemical_reaction/slime/frost + name = "Slime Frost Oil" + id = "m_frostoil" + result = "frostoil" + required_reagents = list("phoron" = 1) + result_amount = 10 + required = /obj/item/slime_extract/blue + //Dark Blue - slimefreeze - name = "Slime Freeze" - id = "m_freeze" - result = null - required_reagents = list("phoron" = 5) - result_amount = 1 - required_container = /obj/item/slime_extract/darkblue - required_other = 1 - on_reaction(var/datum/reagents/holder) - for(var/mob/O in viewers(get_turf(holder.my_atom), null)) - O.show_message(text("\red The slime extract begins to vibrate violently !"), 1) - sleep(50) - playsound(get_turf(holder.my_atom), 'sound/effects/phasein.ogg', 100, 1) - for(var/mob/living/M in range (get_turf(holder.my_atom), 7)) - M.bodytemperature -= 140 - M << "\blue You feel a chill!" +/datum/chemical_reaction/slime/freeze + name = "Slime Freeze" + id = "m_freeze" + result = null + required_reagents = list("phoron" = 1) + result_amount = 1 + required = /obj/item/slime_extract/darkblue + mix_message = "The slime extract begins to vibrate violently!" + +/datum/chemical_reaction/slime/freeze/on_reaction(var/datum/reagents/holder) + ..() + sleep(50) + playsound(get_turf(holder.my_atom), 'sound/effects/phasein.ogg', 100, 1) + for(var/mob/living/M in range (get_turf(holder.my_atom), 7)) + M.bodytemperature -= 140 + M << "You feel a chill!" //Orange - slimecasp - name = "Slime Capsaicin Oil" - id = "m_capsaicinoil" - result = "capsaicin" - required_reagents = list("blood" = 5) - result_amount = 10 - required_container = /obj/item/slime_extract/orange - required_other = 1 +/datum/chemical_reaction/slime/casp + name = "Slime Capsaicin Oil" + id = "m_capsaicinoil" + result = "capsaicin" + required_reagents = list("blood" = 1) + result_amount = 10 + required = /obj/item/slime_extract/orange - slimefire - name = "Slime fire" - id = "m_fire" - result = null - required_reagents = list("phoron" = 5) - result_amount = 1 - required_container = /obj/item/slime_extract/orange - required_other = 1 - on_reaction(var/datum/reagents/holder) - for(var/mob/O in viewers(get_turf(holder.my_atom), null)) - O.show_message(text("\red The slime extract begins to vibrate violently !"), 1) - sleep(50) - var/turf/location = get_turf(holder.my_atom.loc) - for(var/turf/simulated/floor/target_tile in range(0,location)) - target_tile.assume_gas("phoron", 25, 1400) - spawn (0) target_tile.hotspot_expose(700, 400) +/datum/chemical_reaction/slime/fire + name = "Slime fire" + id = "m_fire" + result = null + required_reagents = list("phoron" = 1) + result_amount = 1 + required = /obj/item/slime_extract/orange + mix_message = "The slime extract begins to vibrate violently!" + +/datum/chemical_reaction/slime/fire/on_reaction(var/datum/reagents/holder) + ..() + sleep(50) + var/turf/location = get_turf(holder.my_atom.loc) + for(var/turf/simulated/floor/target_tile in range(0, location)) + target_tile.assume_gas("phoron", 25, 1400) + spawn (0) + target_tile.hotspot_expose(700, 400) //Yellow - slimeoverload - name = "Slime EMP" - id = "m_emp" - result = null - required_reagents = list("blood" = 5) - result_amount = 1 - required_container = /obj/item/slime_extract/yellow - required_other = 1 - on_reaction(var/datum/reagents/holder, var/created_volume) - empulse(get_turf(holder.my_atom), 3, 7) +/datum/chemical_reaction/slime/overload + name = "Slime EMP" + id = "m_emp" + result = null + required_reagents = list("blood" = 1) + result_amount = 1 + required = /obj/item/slime_extract/yellow +/datum/chemical_reaction/slime/overload/on_reaction(var/datum/reagents/holder, var/created_volume) + ..() + empulse(get_turf(holder.my_atom), 3, 7) - slimecell - name = "Slime Powercell" - id = "m_cell" - result = null - required_reagents = list("phoron" = 5) - result_amount = 1 - required_container = /obj/item/slime_extract/yellow - required_other = 1 - on_reaction(var/datum/reagents/holder, var/created_volume) - var/obj/item/weapon/cell/slime/P = new /obj/item/weapon/cell/slime - P.loc = get_turf(holder.my_atom) +/datum/chemical_reaction/slime/cell + name = "Slime Powercell" + id = "m_cell" + result = null + required_reagents = list("phoron" = 1) + result_amount = 1 + required = /obj/item/slime_extract/yellow - slimeglow - name = "Slime Glow" - id = "m_glow" - result = null - required_reagents = list("water" = 5) - result_amount = 1 - required_container = /obj/item/slime_extract/yellow - required_other = 1 - on_reaction(var/datum/reagents/holder) - for(var/mob/O in viewers(get_turf(holder.my_atom), null)) - O.show_message(text("\red The contents of the slime core harden and begin to emit a warm, bright light."), 1) - var/obj/item/device/flashlight/slime/F = new /obj/item/device/flashlight/slime - F.loc = get_turf(holder.my_atom) +/datum/chemical_reaction/slime/cell/on_reaction(var/datum/reagents/holder, var/created_volume) + var/obj/item/weapon/cell/slime/P = new /obj/item/weapon/cell/slime + P.loc = get_turf(holder.my_atom) + +/datum/chemical_reaction/slime/glow + name = "Slime Glow" + id = "m_glow" + result = null + required_reagents = list("water" = 1) + result_amount = 1 + required = /obj/item/slime_extract/yellow + mix_message = "The contents of the slime core harden and begin to emit a warm, bright light." + +/datum/chemical_reaction/slime/glow/on_reaction(var/datum/reagents/holder, var/created_volume) + ..() + var/obj/item/device/flashlight/slime/F = new /obj/item/device/flashlight/slime + F.loc = get_turf(holder.my_atom) //Purple +/datum/chemical_reaction/slime/psteroid + name = "Slime Steroid" + id = "m_steroid" + result = null + required_reagents = list("phoron" = 1) + result_amount = 1 + required = /obj/item/slime_extract/purple - slimepsteroid - name = "Slime Steroid" - id = "m_steroid" - result = null - required_reagents = list("phoron" = 5) - result_amount = 1 - required_container = /obj/item/slime_extract/purple - required_other = 1 - on_reaction(var/datum/reagents/holder) - var/obj/item/weapon/slimesteroid/P = new /obj/item/weapon/slimesteroid - P.loc = get_turf(holder.my_atom) - - - - slimejam - name = "Slime Jam" - id = "m_jam" - result = "slimejelly" - required_reagents = list("sugar" = 5) - result_amount = 10 - required_container = /obj/item/slime_extract/purple - required_other = 1 +/datum/chemical_reaction/slime/psteroid/on_reaction(var/datum/reagents/holder, var/created_volume) + ..() + var/obj/item/weapon/slimesteroid/P = new /obj/item/weapon/slimesteroid + P.loc = get_turf(holder.my_atom) +/datum/chemical_reaction/slime/jam + name = "Slime Jam" + id = "m_jam" + result = "slimejelly" + required_reagents = list("sugar" = 1) + result_amount = 10 + required = /obj/item/slime_extract/purple //Dark Purple - slimeplasma - name = "Slime Plasma" - id = "m_plasma" - result = null - required_reagents = list("phoron" = 5) - result_amount = 1 - required_container = /obj/item/slime_extract/darkpurple - required_other = 1 - on_reaction(var/datum/reagents/holder) - var/obj/item/stack/sheet/mineral/phoron/P = new /obj/item/stack/sheet/mineral/phoron - P.amount = 10 - P.loc = get_turf(holder.my_atom) +/datum/chemical_reaction/slime/plasma + name = "Slime Plasma" + id = "m_plasma" + result = null + required_reagents = list("phoron" = 1) + result_amount = 1 + required = /obj/item/slime_extract/darkpurple + +/datum/chemical_reaction/slime/plasma/on_reaction(var/datum/reagents/holder) + ..() + var/obj/item/stack/sheet/mineral/phoron/P = new /obj/item/stack/sheet/mineral/phoron + P.amount = 10 + P.loc = get_turf(holder.my_atom) //Red - slimeglycerol - name = "Slime Glycerol" - id = "m_glycerol" - result = "glycerol" - required_reagents = list("phoron" = 5) - result_amount = 8 - required_container = /obj/item/slime_extract/red - required_other = 1 +/datum/chemical_reaction/slime/glycerol + name = "Slime Glycerol" + id = "m_glycerol" + result = "glycerol" + required_reagents = list("phoron" = 1) + result_amount = 8 + required = /obj/item/slime_extract/red +/datum/chemical_reaction/slime/bloodlust + name = "Bloodlust" + id = "m_bloodlust" + result = null + required_reagents = list("blood" = 1) + result_amount = 1 + required = /obj/item/slime_extract/red - slimebloodlust - name = "Bloodlust" - id = "m_bloodlust" - result = null - required_reagents = list("blood" = 5) - result_amount = 1 - required_container = /obj/item/slime_extract/red - required_other = 1 - on_reaction(var/datum/reagents/holder) - for(var/mob/living/carbon/slime/slime in viewers(get_turf(holder.my_atom), null)) - slime.rabid = 1 - for(var/mob/O in viewers(get_turf(holder.my_atom), null)) - O.show_message(text("\red The [slime] is driven into a frenzy!"), 1) +/datum/chemical_reaction/slime/bloodlust/on_reaction(var/datum/reagents/holder) + ..() + for(var/mob/living/carbon/slime/slime in viewers(get_turf(holder.my_atom), null)) + slime.rabid = 1 + slime.visible_message("The [slime] is driven into a frenzy!") //Pink - slimeppotion - name = "Slime Potion" - id = "m_potion" - result = null - required_reagents = list("phoron" = 5) - result_amount = 1 - required_container = /obj/item/slime_extract/pink - required_other = 1 - on_reaction(var/datum/reagents/holder) - var/obj/item/weapon/slimepotion/P = new /obj/item/weapon/slimepotion - P.loc = get_turf(holder.my_atom) +/datum/chemical_reaction/slime/ppotion + name = "Slime Potion" + id = "m_potion" + result = null + required_reagents = list("phoron" = 1) + result_amount = 1 + required = /obj/item/slime_extract/pink +/datum/chemical_reaction/slime/ppotion/on_reaction(var/datum/reagents/holder) + ..() + var/obj/item/weapon/slimepotion/P = new /obj/item/weapon/slimepotion + P.loc = get_turf(holder.my_atom) //Black - slimemutate2 - name = "Advanced Mutation Toxin" - id = "mutationtoxin2" - result = "amutationtoxin" - required_reagents = list("phoron" = 5) - result_amount = 1 - required_other = 1 - required_container = /obj/item/slime_extract/black +/datum/chemical_reaction/slime/mutate2 + name = "Advanced Mutation Toxin" + id = "mutationtoxin2" + result = "amutationtoxin" + required_reagents = list("phoron" = 1) + result_amount = 1 + required = /obj/item/slime_extract/black + +//Oil +/datum/chemical_reaction/slime/explosion + name = "Slime Explosion" + id = "m_explosion" + result = null + required_reagents = list("phoron" = 1) + result_amount = 1 + required = /obj/item/slime_extract/oil + mix_message = "The slime extract begins to vibrate violently!" + +/datum/chemical_reaction/slime/explosion/on_reaction(var/datum/reagents/holder) + ..() + sleep(50) + explosion(get_turf(holder.my_atom), 1, 3, 6) -//Oil - slimeexplosion - name = "Slime Explosion" - id = "m_explosion" - result = null - required_reagents = list("phoron" = 5) - result_amount = 1 - required_container = /obj/item/slime_extract/oil - required_other = 1 - on_reaction(var/datum/reagents/holder) - for(var/mob/O in viewers(get_turf(holder.my_atom), null)) - O.show_message(text("\red The slime extract begins to vibrate violently !"), 1) - sleep(50) - explosion(get_turf(holder.my_atom), 1 ,3, 6) //Light Pink - slimepotion2 - name = "Slime Potion 2" - id = "m_potion2" - result = null - result_amount = 1 - required_container = /obj/item/slime_extract/lightpink - required_reagents = list("phoron" = 5) - required_other = 1 - on_reaction(var/datum/reagents/holder) - var/obj/item/weapon/slimepotion2/P = new /obj/item/weapon/slimepotion2 - P.loc = get_turf(holder.my_atom) +/datum/chemical_reaction/slime/potion2 + name = "Slime Potion 2" + id = "m_potion2" + result = null + result_amount = 1 + required = /obj/item/slime_extract/lightpink + required_reagents = list("phoron" = 1) + +/datum/chemical_reaction/slime/potion2/on_reaction(var/datum/reagents/holder) + ..() + var/obj/item/weapon/slimepotion2/P = new /obj/item/weapon/slimepotion2 + P.loc = get_turf(holder.my_atom) + //Adamantine - slimegolem - name = "Slime Golem" - id = "m_golem" - result = null - required_reagents = list("phoron" = 5) - result_amount = 1 - required_container = /obj/item/slime_extract/adamantine - required_other = 1 - on_reaction(var/datum/reagents/holder) - var/obj/effect/golemrune/Z = new /obj/effect/golemrune - Z.loc = get_turf(holder.my_atom) - Z.announce_to_ghosts() +/datum/chemical_reaction/slime/golem + name = "Slime Golem" + id = "m_golem" + result = null + required_reagents = list("phoron" = 1) + result_amount = 1 + required = /obj/item/slime_extract/adamantine -//////////////////////////////////////////PAINT/////////////////////////////////////////// -//Crayon dust -> paint - red_paint - name = "Red paint" - id = "red_paint" - result = "paint" - resultcolor = "#FE191A" - required_reagents = list("plasticide" = 1, "water" = 3, "crayon_dust_red" = 1) - result_amount = 5 +/datum/chemical_reaction/slime/golem/on_reaction(var/datum/reagents/holder) + ..() + var/obj/effect/golemrune/Z = new /obj/effect/golemrune + Z.loc = get_turf(holder.my_atom) + Z.announce_to_ghosts() - orange_paint - name = "Orange paint" - id = "orange_paint" - result = "paint" - resultcolor = "#FFBE4F" - required_reagents = list("plasticide" = 1, "water" = 3, "crayon_dust_orange" = 1) - result_amount = 5 +/* Food */ - yellow_paint - name = "Yellow paint" - id = "yellow_paint" - result = "paint" - resultcolor = "#FDFE7D" - required_reagents = list("plasticide" = 1, "water" = 3, "crayon_dust_yellow" = 1) - result_amount = 5 +/datum/chemical_reaction/tofu + name = "Tofu" + id = "tofu" + result = null + required_reagents = list("soymilk" = 10) + catalysts = list("enzyme" = 1) + result_amount = 1 - green_paint - name = "Green paint" - id = "green_paint" - result = "paint" - resultcolor = "#18A31A" - required_reagents = list("plasticide" = 1, "water" = 3, "crayon_dust_green" = 1) - result_amount = 5 +/datum/chemical_reaction/tofu/on_reaction(var/datum/reagents/holder, var/created_volume) + var/location = get_turf(holder.my_atom) + for(var/i = 1, i <= created_volume, i++) + new /obj/item/weapon/reagent_containers/food/snacks/tofu(location) + return - blue_paint - name = "Blue paint" - id = "blue_paint" - result = "paint" - resultcolor = "#247CFF" - required_reagents = list("plasticide" = 1, "water" = 3, "crayon_dust_blue" = 1) - result_amount = 5 +/datum/chemical_reaction/chocolate_bar + name = "Chocolate Bar" + id = "chocolate_bar" + result = null + required_reagents = list("soymilk" = 2, "coco" = 2, "sugar" = 2) + result_amount = 1 - purple_paint - name = "Purple paint" - id = "purple_paint" - result = "paint" - resultcolor = "#CC0099" - required_reagents = list("plasticide" = 1, "water" = 3, "crayon_dust_purple" = 1) - result_amount = 5 +/datum/chemical_reaction/chocolate_bar/on_reaction(var/datum/reagents/holder, var/created_volume) + var/location = get_turf(holder.my_atom) + for(var/i = 1, i <= created_volume, i++) + new /obj/item/weapon/reagent_containers/food/snacks/chocolatebar(location) + return - grey_paint //mime - name = "Grey paint" - id = "grey_paint" - result = "paint" - resultcolor = "#808080" - required_reagents = list("plasticide" = 1, "water" = 3, "crayon_dust_grey" = 1) - result_amount = 5 +/datum/chemical_reaction/chocolate_bar2 + name = "Chocolate Bar" + id = "chocolate_bar" + result = null + required_reagents = list("milk" = 2, "coco" = 2, "sugar" = 2) + result_amount = 1 - brown_paint - name = "Brown paint" - id = "brown_paint" - result = "paint" - resultcolor = "#846F35" - required_reagents = list("plasticide" = 1, "water" = 3, "crayon_dust_brown" = 1) - result_amount = 5 +/datum/chemical_reaction/chocolate_bar2/on_reaction(var/datum/reagents/holder, var/created_volume) + var/location = get_turf(holder.my_atom) + for(var/i = 1, i <= created_volume, i++) + new /obj/item/weapon/reagent_containers/food/snacks/chocolatebar(location) + return -//Ghetto reactions +/datum/chemical_reaction/hot_coco + name = "Hot Coco" + id = "hot_coco" + result = "hot_coco" + required_reagents = list("water" = 5, "coco" = 1) + result_amount = 5 -/* Ideally the paint should take on the blood's colour (for each of the species) - but I could not think of a way. - RKF +/datum/chemical_reaction/soysauce + name = "Soy Sauce" + id = "soysauce" + result = "soysauce" + required_reagents = list("soymilk" = 4, "sacid" = 1) + result_amount = 5 - blood_paint - name = "Blood paint" - id = "blood_paint" - result = "paint" - resultcolor = "#C80000" - required_reagents = list("plasticide" = 1, "water" = 3, "blood" = 2) - result_amount = 5 -*/ - milk_paint - name = "Milk paint" - id = "milk_paint" - result = "paint" - resultcolor = "#F0F8FF" - required_reagents = list("plasticide" = 1, "water" = 3, "milk" = 5) - result_amount = 5 +/datum/chemical_reaction/cheesewheel + name = "Cheesewheel" + id = "cheesewheel" + result = null + required_reagents = list("milk" = 40) + catalysts = list("enzyme" = 1) + result_amount = 1 - orange_juice_paint - name = "Orange juice paint" - id = "orange_juice_paint" - result = "paint" - resultcolor = "#E78108" - required_reagents = list("plasticide" = 1, "water" = 3, "orangejuice" = 5) - result_amount = 5 +/datum/chemical_reaction/cheesewheel/on_reaction(var/datum/reagents/holder, var/created_volume) + var/location = get_turf(holder.my_atom) + new /obj/item/weapon/reagent_containers/food/snacks/sliceable/cheesewheel(location) + return + +/datum/chemical_reaction/meatball + name = "Meatball" + id = "meatball" + result = null + required_reagents = list("protein" = 3, "flour" = 5) + result_amount = 3 + +/datum/chemical_reaction/meatball/on_reaction(var/datum/reagents/holder, var/created_volume) + new /obj/item/weapon/reagent_containers/food/snacks/meatball(get_turf(holder.my_atom)) + return + +/datum/chemical_reaction/dough + name = "Dough" + id = "dough" + result = null + required_reagents = list("egg" = 3, "flour" = 10) + result_amount = 1 + +/datum/chemical_reaction/dough/on_reaction(var/datum/reagents/holder, var/created_volume) + new /obj/item/weapon/reagent_containers/food/snacks/dough(get_turf(holder.my_atom)) + return - tomato_juice_paint - name = "Tomato juice paint" - id = "tomato_juice_paint" - result = "paint" - resultcolor = "#731008" - required_reagents = list("plasticide" = 1, "water" = 3, "tomatojuice" = 5) - result_amount = 5 +/datum/chemical_reaction/syntiflesh + name = "Syntiflesh" + id = "syntiflesh" + result = null + required_reagents = list("blood" = 5, "clonexadone" = 1) + result_amount = 1 - lime_juice_paint - name = "Lime juice paint" - id = "lime_juice_paint" - result = "paint" - resultcolor = "#365E30" - required_reagents = list("plasticide" = 1, "water" = 3, "limejuice" = 5) - result_amount = 5 +/datum/chemical_reaction/syntiflesh/on_reaction(var/datum/reagents/holder, var/created_volume) + var/location = get_turf(holder.my_atom) + new /obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh(location) + return - carrot_juice_paint - name = "Carrot juice paint" - id = "carrot_juice_paint" - result = "paint" - resultcolor = "#973800" - required_reagents = list("plasticide" = 1, "water" = 3, "carrotjuice" = 5) - result_amount = 5 +/datum/chemical_reaction/hot_ramen + name = "Hot Ramen" + id = "hot_ramen" + result = "hot_ramen" + required_reagents = list("water" = 1, "dry_ramen" = 3) + result_amount = 3 - berry_juice_paint - name = "Berry juice paint" - id = "berry_juice_paint" - result = "paint" - resultcolor = "#990066" - required_reagents = list("plasticide" = 1, "water" = 3, "berryjuice" = 5) - result_amount = 5 +/datum/chemical_reaction/hell_ramen + name = "Hell Ramen" + id = "hell_ramen" + result = "hell_ramen" + required_reagents = list("capsaicin" = 1, "hot_ramen" = 6) + result_amount = 6 - grape_juice_paint - name = "Grape juice paint" - id = "grape_juice_paint" - result = "paint" - resultcolor = "#863333" - required_reagents = list("plasticide" = 1, "water" = 3, "grapejuice" = 5) - result_amount = 5 +/* Alcohol */ - poisonberry_juice_paint - name = "Poison berry juice paint" - id = "poisonberry_juice_paint" - result = "paint" - resultcolor = "#863353" - required_reagents = list("plasticide" = 1, "water" = 3, "poisonberryjuice" = 5) - result_amount = 5 +/datum/chemical_reaction/goldschlager + name = "Goldschlager" + id = "goldschlager" + result = "goldschlager" + required_reagents = list("vodka" = 10, "gold" = 1) + result_amount = 10 - watermelon_juice_paint - name = "Watermelon juice paint" - id = "watermelon_juice_paint" - result = "paint" - resultcolor = "#B83333" - required_reagents = list("plasticide" = 1, "water" = 3, "watermelonjuice" = 5) - result_amount = 5 +/datum/chemical_reaction/patron + name = "Patron" + id = "patron" + result = "patron" + required_reagents = list("tequilla" = 10, "silver" = 1) + result_amount = 10 - lemon_juice_paint - name = "Lemon juice paint" - id = "lemon_juice_paint" - result = "paint" - resultcolor = "#AFAF00" - required_reagents = list("plasticide" = 1, "water" = 3, "lemonjuice" = 5) - result_amount = 5 +/datum/chemical_reaction/bilk + name = "Bilk" + id = "bilk" + result = "bilk" + required_reagents = list("milk" = 1, "beer" = 1) + result_amount = 2 - banana_juice_paint - name = "Banana juice paint" - id = "banana_juice_paint" - result = "paint" - resultcolor = "#C3AF00" - required_reagents = list("plasticide" = 1, "water" = 3, "banana" = 5) - result_amount = 5 +/datum/chemical_reaction/icetea + name = "Iced Tea" + id = "icetea" + result = "icetea" + required_reagents = list("ice" = 1, "tea" = 3) + result_amount = 4 - potato_juice_paint - name = "Potato juice paint" - id = "potato_juice_paint" - result = "paint" - resultcolor = "#302000" - required_reagents = list("plasticide" = 1, "water" = 3, "potatojuice" = 5) - result_amount = 5 +/datum/chemical_reaction/icecoffee + name = "Iced Coffee" + id = "icecoffee" + result = "icecoffee" + required_reagents = list("ice" = 1, "coffee" = 3) + result_amount = 4 -//Other paint +/datum/chemical_reaction/nuka_cola + name = "Nuka Cola" + id = "nuka_cola" + result = "nuka_cola" + required_reagents = list("uranium" = 1, "cola" = 6) + result_amount = 6 - carbon_paint - name = "Carbon paint" - id = "carbon_paint" - result = "paint" - resultcolor = "#333333" - required_reagents = list("plasticide" = 1, "water" = 3, "carbon" = 1) - result_amount = 5 +/datum/chemical_reaction/moonshine + name = "Moonshine" + id = "moonshine" + result = "moonshine" + required_reagents = list("nutriment" = 10) + catalysts = list("enzyme" = 1) + result_amount = 10 - aluminum_paint - name = "Aluminum paint" - id = "aluminum_paint" - result = "paint" - resultcolor = "#F0F8FF" - required_reagents = list("plasticide" = 1, "water" = 3, "aluminum" = 1) - result_amount = 5 +/datum/chemical_reaction/grenadine + name = "Grenadine Syrup" + id = "grenadine" + result = "grenadine" + required_reagents = list("berryjuice" = 10) + catalysts = list("enzyme" = 1) + result_amount = 10 -//////////////////////////////////////////FOOD MIXTURES//////////////////////////////////// +/datum/chemical_reaction/wine + name = "Wine" + id = "wine" + result = "wine" + required_reagents = list("grapejuice" = 10) + catalysts = list("enzyme" = 1) + result_amount = 10 - tofu - name = "Tofu" - id = "tofu" - result = null - required_reagents = list("soymilk" = 10) - required_catalysts = list("enzyme" = 5) - result_amount = 1 - on_reaction(var/datum/reagents/holder, var/created_volume) - var/location = get_turf(holder.my_atom) - for(var/i = 1, i <= created_volume, i++) - new /obj/item/weapon/reagent_containers/food/snacks/tofu(location) - return +/datum/chemical_reaction/pwine + name = "Poison Wine" + id = "pwine" + result = "pwine" + required_reagents = list("poisonberryjuice" = 10) + catalysts = list("enzyme" = 1) + result_amount = 10 - chocolate_bar - name = "Chocolate Bar" - id = "chocolate_bar" - result = null - required_reagents = list("soymilk" = 2, "coco" = 2, "sugar" = 2) - result_amount = 1 - on_reaction(var/datum/reagents/holder, var/created_volume) - var/location = get_turf(holder.my_atom) - for(var/i = 1, i <= created_volume, i++) - new /obj/item/weapon/reagent_containers/food/snacks/chocolatebar(location) - return +/datum/chemical_reaction/melonliquor + name = "Melon Liquor" + id = "melonliquor" + result = "melonliquor" + required_reagents = list("watermelonjuice" = 10) + catalysts = list("enzyme" = 1) + result_amount = 10 - chocolate_bar2 - name = "Chocolate Bar" - id = "chocolate_bar" - result = null - required_reagents = list("milk" = 2, "coco" = 2, "sugar" = 2) - result_amount = 1 - on_reaction(var/datum/reagents/holder, var/created_volume) - var/location = get_turf(holder.my_atom) - for(var/i = 1, i <= created_volume, i++) - new /obj/item/weapon/reagent_containers/food/snacks/chocolatebar(location) - return +/datum/chemical_reaction/bluecuracao + name = "Blue Curacao" + id = "bluecuracao" + result = "bluecuracao" + required_reagents = list("orangejuice" = 10) + catalysts = list("enzyme" = 1) + result_amount = 10 - hot_coco - name = "Hot Coco" - id = "hot_coco" - result = "hot_coco" - required_reagents = list("water" = 5, "coco" = 1) - result_amount = 5 +/datum/chemical_reaction/spacebeer + name = "Space Beer" + id = "spacebeer" + result = "beer" + required_reagents = list("cornoil" = 10) + catalysts = list("enzyme" = 1) + result_amount = 10 - soysauce - name = "Soy Sauce" - id = "soysauce" - result = "soysauce" - required_reagents = list("soymilk" = 4, "sacid" = 1) - result_amount = 5 +/datum/chemical_reaction/vodka + name = "Vodka" + id = "vodka" + result = "vodka" + required_reagents = list("potato" = 10) + catalysts = list("enzyme" = 1) + result_amount = 10 - cheesewheel - name = "Cheesewheel" - id = "cheesewheel" - result = null - required_reagents = list("milk" = 40) - required_catalysts = list("enzyme" = 5) - result_amount = 1 - on_reaction(var/datum/reagents/holder, var/created_volume) - var/location = get_turf(holder.my_atom) - new /obj/item/weapon/reagent_containers/food/snacks/sliceable/cheesewheel(location) - return +/datum/chemical_reaction/sake + name = "Sake" + id = "sake" + result = "sake" + required_reagents = list("rice" = 10) + catalysts = list("enzyme" = 1) + result_amount = 10 - meatball - name = "Meatball" - id = "meatball" - result = null - required_reagents = list("protein" = 3, "flour" = 5) - result_amount = 3 - on_reaction(var/datum/reagents/holder, var/created_volume) - new /obj/item/weapon/reagent_containers/food/snacks/meatball(get_turf(holder.my_atom)) - return +/datum/chemical_reaction/kahlua + name = "Kahlua" + id = "kahlua" + result = "kahlua" + required_reagents = list("coffee" = 5, "sugar" = 5) + catalysts = list("enzyme" = 1) + result_amount = 5 - dough - name = "Dough" - id = "dough" - result = null - required_reagents = list("egg" = 3, "flour" = 10) - result_amount = 1 - on_reaction(var/datum/reagents/holder, var/created_volume) - new /obj/item/weapon/reagent_containers/food/snacks/dough(get_turf(holder.my_atom)) - return +/datum/chemical_reaction/gin_tonic + name = "Gin and Tonic" + id = "gintonic" + result = "gintonic" + required_reagents = list("gin" = 2, "tonic" = 1) + result_amount = 3 - syntiflesh - name = "Syntiflesh" - id = "syntiflesh" - result = null - required_reagents = list("blood" = 5, "clonexadone" = 1) - result_amount = 1 - on_reaction(var/datum/reagents/holder, var/created_volume) - var/location = get_turf(holder.my_atom) - new /obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh(location) - return +/datum/chemical_reaction/cuba_libre + name = "Cuba Libre" + id = "cubalibre" + result = "cubalibre" + required_reagents = list("rum" = 2, "cola" = 1) + result_amount = 3 - hot_ramen - name = "Hot Ramen" - id = "hot_ramen" - result = "hot_ramen" - required_reagents = list("water" = 1, "dry_ramen" = 3) - result_amount = 3 +/datum/chemical_reaction/classicmartini + name = "Classic Martini" + id = "classicmartini" + result = "classicmartini" + required_reagents = list("gin" = 2, "vermouth" = 1) + result_amount = 3 - hell_ramen - name = "Hell Ramen" - id = "hell_ramen" - result = "hell_ramen" - required_reagents = list("capsaicin" = 1, "hot_ramen" = 6) - result_amount = 6 +/datum/chemical_reaction/vodkamartini + name = "Vodka Martini" + id = "vodkamartini" + result = "vodkamartini" + required_reagents = list("vodka" = 2, "vermouth" = 1) + result_amount = 3 +/datum/chemical_reaction/white_russian + name = "White Russian" + id = "whiterussian" + result = "whiterussian" + required_reagents = list("blackrussian" = 3, "cream" = 2) + result_amount = 5 -////////////////////////////////////////// COCKTAILS ////////////////////////////////////// +/datum/chemical_reaction/whiskey_cola + name = "Whiskey Cola" + id = "whiskeycola" + result = "whiskeycola" + required_reagents = list("whiskey" = 2, "cola" = 1) + result_amount = 3 +/datum/chemical_reaction/screwdriver + name = "Screwdriver" + id = "screwdrivercocktail" + result = "screwdrivercocktail" + required_reagents = list("vodka" = 2, "orangejuice" = 1) + result_amount = 3 - goldschlager - name = "Goldschlager" - id = "goldschlager" - result = "goldschlager" - required_reagents = list("vodka" = 10, "gold" = 1) - result_amount = 10 +/datum/chemical_reaction/bloody_mary + name = "Bloody Mary" + id = "bloodymary" + result = "bloodymary" + required_reagents = list("vodka" = 1, "tomatojuice" = 2, "limejuice" = 1) + result_amount = 4 - patron - name = "Patron" - id = "patron" - result = "patron" - required_reagents = list("tequilla" = 10, "silver" = 1) - result_amount = 10 +/datum/chemical_reaction/gargle_blaster + name = "Pan-Galactic Gargle Blaster" + id = "gargleblaster" + result = "gargleblaster" + required_reagents = list("vodka" = 1, "gin" = 1, "whiskey" = 1, "cognac" = 1, "limejuice" = 1) + result_amount = 5 - bilk - name = "Bilk" - id = "bilk" - result = "bilk" - required_reagents = list("milk" = 1, "beer" = 1) +/datum/chemical_reaction/brave_bull + name = "Brave Bull" + id = "bravebull" + result = "bravebull" + required_reagents = list("tequilla" = 2, "kahlua" = 1) + result_amount = 3 + +/datum/chemical_reaction/tequilla_sunrise + name = "Tequilla Sunrise" + id = "tequillasunrise" + result = "tequillasunrise" + required_reagents = list("tequilla" = 2, "orangejuice" = 1) + result_amount = 3 + +/datum/chemical_reaction/phoron_special + name = "Toxins Special" + id = "phoronspecial" + result = "phoronspecial" + required_reagents = list("rum" = 2, "vermouth" = 1, "phoron" = 2) + result_amount = 5 + +/datum/chemical_reaction/beepsky_smash + name = "Beepksy Smash" + id = "beepksysmash" + result = "beepskysmash" + required_reagents = list("limejuice" = 2, "whiskey" = 2, "iron" = 1) + result_amount = 4 + +/datum/chemical_reaction/doctor_delight + name = "The Doctor's Delight" + id = "doctordelight" + result = "doctorsdelight" + required_reagents = list("limejuice" = 1, "tomatojuice" = 1, "orangejuice" = 1, "cream" = 1, "tricordrazine" = 1) + result_amount = 5 + +/datum/chemical_reaction/irish_cream + name = "Irish Cream" + id = "irishcream" + result = "irishcream" + required_reagents = list("whiskey" = 2, "cream" = 1) + result_amount = 3 + +/datum/chemical_reaction/manly_dorf + name = "The Manly Dorf" + id = "manlydorf" + result = "manlydorf" + required_reagents = list ("beer" = 1, "ale" = 2) + result_amount = 3 + +/datum/chemical_reaction/hooch + name = "Hooch" + id = "hooch" + result = "hooch" + required_reagents = list ("sugar" = 1, "ethanol" = 2, "fuel" = 1) + result_amount = 3 + +/datum/chemical_reaction/irish_coffee + name = "Irish Coffee" + id = "irishcoffee" + result = "irishcoffee" + required_reagents = list("irishcream" = 1, "coffee" = 1) + result_amount = 2 + +/datum/chemical_reaction/b52 + name = "B-52" + id = "b52" + result = "b52" + required_reagents = list("irishcream" = 1, "kahlua" = 1, "cognac" = 1) + result_amount = 3 + +/datum/chemical_reaction/atomicbomb + name = "Atomic Bomb" + id = "atomicbomb" + result = "atomicbomb" + required_reagents = list("b52" = 10, "uranium" = 1) + result_amount = 10 + +/datum/chemical_reaction/margarita + name = "Margarita" + id = "margarita" + result = "margarita" + required_reagents = list("tequilla" = 2, "limejuice" = 1) + result_amount = 3 + +/datum/chemical_reaction/longislandicedtea + name = "Long Island Iced Tea" + id = "longislandicedtea" + result = "longislandicedtea" + required_reagents = list("vodka" = 1, "gin" = 1, "tequilla" = 1, "cubalibre" = 1) + result_amount = 4 + +/datum/chemical_reaction/icedtea + name = "Long Island Iced Tea" + id = "longislandicedtea" + result = "longislandicedtea" + required_reagents = list("vodka" = 1, "gin" = 1, "tequilla" = 1, "cubalibre" = 1) + result_amount = 4 + +/datum/chemical_reaction/threemileisland + name = "Three Mile Island Iced Tea" + id = "threemileisland" + result = "threemileisland" + required_reagents = list("longislandicedtea" = 10, "uranium" = 1) + result_amount = 10 + +/datum/chemical_reaction/whiskeysoda + name = "Whiskey Soda" + id = "whiskeysoda" + result = "whiskeysoda" + required_reagents = list("whiskey" = 2, "sodawater" = 1) + result_amount = 3 + +/datum/chemical_reaction/black_russian + name = "Black Russian" + id = "blackrussian" + result = "blackrussian" + required_reagents = list("vodka" = 3, "kahlua" = 2) + result_amount = 5 + +/datum/chemical_reaction/manhattan + name = "Manhattan" + id = "manhattan" + result = "manhattan" + required_reagents = list("whiskey" = 2, "vermouth" = 1) + result_amount = 3 + +/datum/chemical_reaction/manhattan_proj + name = "Manhattan Project" + id = "manhattan_proj" + result = "manhattan_proj" + required_reagents = list("manhattan" = 10, "uranium" = 1) + result_amount = 10 + +/datum/chemical_reaction/vodka_tonic + name = "Vodka and Tonic" + id = "vodkatonic" + result = "vodkatonic" + required_reagents = list("vodka" = 2, "tonic" = 1) + result_amount = 3 + +/datum/chemical_reaction/gin_fizz + name = "Gin Fizz" + id = "ginfizz" + result = "ginfizz" + required_reagents = list("gin" = 2, "sodawater" = 1, "limejuice" = 1) + result_amount = 4 + +/datum/chemical_reaction/bahama_mama + name = "Bahama mama" + id = "bahama_mama" + result = "bahama_mama" + required_reagents = list("rum" = 2, "orangejuice" = 2, "limejuice" = 1, "ice" = 1) + result_amount = 6 + +/datum/chemical_reaction/singulo + name = "Singulo" + id = "singulo" + result = "singulo" + required_reagents = list("vodka" = 5, "radium" = 1, "wine" = 5) + result_amount = 10 + +/datum/chemical_reaction/alliescocktail + name = "Allies Cocktail" + id = "alliescocktail" + result = "alliescocktail" + required_reagents = list("classicmartini" = 1, "vodka" = 1) + result_amount = 2 + +/datum/chemical_reaction/demonsblood + name = "Demons Blood" + id = "demonsblood" + result = "demonsblood" + required_reagents = list("rum" = 1, "spacemountainwind" = 1, "blood" = 1, "dr_gibb" = 1) + result_amount = 4 + +/datum/chemical_reaction/booger + name = "Booger" + id = "booger" + result = "booger" + required_reagents = list("cream" = 1, "banana" = 1, "rum" = 1, "watermelonjuice" = 1) + result_amount = 4 + +/datum/chemical_reaction/antifreeze + name = "Anti-freeze" + id = "antifreeze" + result = "antifreeze" + required_reagents = list("vodka" = 2, "cream" = 1, "ice" = 1) + result_amount = 4 + +/datum/chemical_reaction/barefoot + name = "Barefoot" + id = "barefoot" + result = "barefoot" + required_reagents = list("berryjuice" = 1, "cream" = 1, "vermouth" = 1) + result_amount = 3 + +/datum/chemical_reaction/grapesoda + name = "Grape Soda" + id = "grapesoda" + result = "grapesoda" + required_reagents = list("grapejuice" = 2, "cola" = 1) + result_amount = 3 + +/datum/chemical_reaction/sbiten + name = "Sbiten" + id = "sbiten" + result = "sbiten" + required_reagents = list("vodka" = 10, "capsaicin" = 1) + result_amount = 10 + +/datum/chemical_reaction/red_mead + name = "Red Mead" + id = "red_mead" + result = "red_mead" + required_reagents = list("blood" = 1, "mead" = 1) + result_amount = 2 + +/datum/chemical_reaction/mead + name = "Mead" + id = "mead" + result = "mead" + required_reagents = list("sugar" = 1, "water" = 1) + catalysts = list("enzyme" = 1) + result_amount = 2 + +/datum/chemical_reaction/iced_beer + name = "Iced Beer" + id = "iced_beer" + result = "iced_beer" + required_reagents = list("beer" = 10, "frostoil" = 1) + result_amount = 10 + +/datum/chemical_reaction/iced_beer2 + name = "Iced Beer" + id = "iced_beer" + result = "iced_beer" + required_reagents = list("beer" = 5, "ice" = 1) + result_amount = 6 + +/datum/chemical_reaction/grog + name = "Grog" + id = "grog" + result = "grog" + required_reagents = list("rum" = 1, "water" = 1) + result_amount = 2 + +/datum/chemical_reaction/soy_latte + name = "Soy Latte" + id = "soy_latte" + result = "soy_latte" + required_reagents = list("coffee" = 1, "soymilk" = 1) + result_amount = 2 + +/datum/chemical_reaction/cafe_latte + name = "Cafe Latte" + id = "cafe_latte" + result = "cafe_latte" + required_reagents = list("coffee" = 1, "milk" = 1) + result_amount = 2 + +/datum/chemical_reaction/acidspit + name = "Acid Spit" + id = "acidspit" + result = "acidspit" + required_reagents = list("sacid" = 1, "wine" = 5) + result_amount = 6 + +/datum/chemical_reaction/amasec + name = "Amasec" + id = "amasec" + result = "amasec" + required_reagents = list("iron" = 1, "wine" = 5, "vodka" = 5) + result_amount = 10 + +/datum/chemical_reaction/changelingsting + name = "Changeling Sting" + id = "changelingsting" + result = "changelingsting" + required_reagents = list("screwdrivercocktail" = 1, "limejuice" = 1, "lemonjuice" = 1) + result_amount = 5 + +/datum/chemical_reaction/aloe + name = "Aloe" + id = "aloe" + result = "aloe" + required_reagents = list("cream" = 1, "whiskey" = 1, "watermelonjuice" = 1) + result_amount = 2 + +/datum/chemical_reaction/andalusia + name = "Andalusia" + id = "andalusia" + result = "andalusia" + required_reagents = list("rum" = 1, "whiskey" = 1, "lemonjuice" = 1) + result_amount = 3 + +/datum/chemical_reaction/neurotoxin + name = "Neurotoxin" + id = "neurotoxin" + result = "neurotoxin" + required_reagents = list("gargleblaster" = 1, "stoxin" = 1) + result_amount = 2 + +/datum/chemical_reaction/snowwhite + name = "Snow White" + id = "snowwhite" + result = "snowwhite" + required_reagents = list("beer" = 1, "lemon_lime" = 1) + result_amount = 2 + +/datum/chemical_reaction/irishcarbomb + name = "Irish Car Bomb" + id = "irishcarbomb" + result = "irishcarbomb" + required_reagents = list("ale" = 1, "irishcream" = 1) + result_amount = 2 + +/datum/chemical_reaction/syndicatebomb + name = "Syndicate Bomb" + id = "syndicatebomb" + result = "syndicatebomb" + required_reagents = list("beer" = 1, "whiskeycola" = 1) + result_amount = 2 + +/datum/chemical_reaction/erikasurprise + name = "Erika Surprise" + id = "erikasurprise" + result = "erikasurprise" + required_reagents = list("ale" = 1, "limejuice" = 1, "whiskey" = 1, "banana" = 1, "ice" = 1) + result_amount = 5 + +/datum/chemical_reaction/devilskiss + name = "Devils Kiss" + id = "devilskiss" + result = "devilskiss" + required_reagents = list("blood" = 1, "kahlua" = 1, "rum" = 1) + result_amount = 3 + +/datum/chemical_reaction/hippiesdelight + name = "Hippies Delight" + id = "hippiesdelight" + result = "hippiesdelight" + required_reagents = list("psilocybin" = 1, "gargleblaster" = 1) + result_amount = 2 + +/datum/chemical_reaction/bananahonk + name = "Banana Honk" + id = "bananahonk" + result = "bananahonk" + required_reagents = list("banana" = 1, "cream" = 1, "sugar" = 1) + result_amount = 3 + +/datum/chemical_reaction/silencer + name = "Silencer" + id = "silencer" + result = "silencer" + required_reagents = list("nothing" = 1, "cream" = 1, "sugar" = 1) + result_amount = 3 + +/datum/chemical_reaction/driestmartini + name = "Driest Martini" + id = "driestmartini" + result = "driestmartini" + required_reagents = list("nothing" = 1, "gin" = 1) + result_amount = 2 + +/datum/chemical_reaction/lemonade + name = "Lemonade" + id = "lemonade" + result = "lemonade" + required_reagents = list("lemonjuice" = 1, "sugar" = 1, "water" = 1) + result_amount = 3 + +/datum/chemical_reaction/kiraspecial + name = "Kira Special" + id = "kiraspecial" + result = "kiraspecial" + required_reagents = list("orangejuice" = 1, "limejuice" = 1, "sodawater" = 1) + result_amount = 2 + +/datum/chemical_reaction/brownstar + name = "Brown Star" + id = "brownstar" + result = "brownstar" + required_reagents = list("orangejuice" = 2, "cola" = 1) + result_amount = 2 + +/datum/chemical_reaction/milkshake + name = "Milkshake" + id = "milkshake" + result = "milkshake" + required_reagents = list("cream" = 1, "ice" = 2, "milk" = 2) + result_amount = 5 + +/datum/chemical_reaction/rewriter + name = "Rewriter" + id = "rewriter" + result = "rewriter" + required_reagents = list("spacemountainwind" = 1, "coffee" = 1) + result_amount = 2 + +/datum/chemical_reaction/suidream + name = "Sui Dream" + id = "suidream" + result = "suidream" + required_reagents = list("space_up" = 2, "bluecuracao" = 1, "melonliquor" = 1) + result_amount = 4 + +/* Removed xenoarcheology stuff +datum + chemical_reaction + lithiumsodiumtungstate //LiNa2WO4, not the easiest chem to mix + name = "Lithium Sodium Tungstate" + id = "lithiumsodiumtungstate" + result = "lithiumsodiumtungstate" + required_reagents = list("lithium" = 1, "sodium" = 2, "tungsten" = 1, "oxygen" = 4) + result_amount = 8 + + density_separated_liquid + name = "Density separated sample" + id = "density_separated_sample" + result = "density_separated_sample" + secondary_results = list("chemical_waste" = 1) + required_reagents = list("ground_rock" = 1, "lithiumsodiumtungstate" = 2) result_amount = 2 - icetea - name = "Iced Tea" - id = "icetea" - result = "icetea" - required_reagents = list("ice" = 1, "tea" = 3) - result_amount = 4 - - icecoffee - name = "Iced Coffee" - id = "icecoffee" - result = "icecoffee" - required_reagents = list("ice" = 1, "coffee" = 3) - result_amount = 4 - - nuka_cola - name = "Nuka Cola" - id = "nuka_cola" - result = "nuka_cola" - required_reagents = list("uranium" = 1, "cola" = 6) - result_amount = 6 - - moonshine - name = "Moonshine" - id = "moonshine" - result = "moonshine" - required_reagents = list("nutriment" = 10) - required_catalysts = list("enzyme" = 5) - result_amount = 10 - - grenadine - name = "Grenadine Syrup" - id = "grenadine" - result = "grenadine" - required_reagents = list("berryjuice" = 10) - required_catalysts = list("enzyme" = 5) - result_amount = 10 - - wine - name = "Wine" - id = "wine" - result = "wine" - required_reagents = list("grapejuice" = 10) - required_catalysts = list("enzyme" = 5) - result_amount = 10 - - pwine - name = "Poison Wine" - id = "pwine" - result = "pwine" - required_reagents = list("poisonberryjuice" = 10) - required_catalysts = list("enzyme" = 5) - result_amount = 10 - - melonliquor - name = "Melon Liquor" - id = "melonliquor" - result = "melonliquor" - required_reagents = list("watermelonjuice" = 10) - required_catalysts = list("enzyme" = 5) - result_amount = 10 - - bluecuracao - name = "Blue Curacao" - id = "bluecuracao" - result = "bluecuracao" - required_reagents = list("orangejuice" = 10) - required_catalysts = list("enzyme" = 5) - result_amount = 10 - - spacebeer - name = "Space Beer" - id = "spacebeer" - result = "beer" - required_reagents = list("cornoil" = 10) - required_catalysts = list("enzyme" = 5) - result_amount = 10 - - vodka - name = "Vodka" - id = "vodka" - result = "vodka" - required_reagents = list("potato" = 10) - required_catalysts = list("enzyme" = 5) - result_amount = 10 - sake - name = "Sake" - id = "sake" - result = "sake" - required_reagents = list("rice" = 10) - required_catalysts = list("enzyme" = 5) - result_amount = 10 - - kahlua - name = "Kahlua" - id = "kahlua" - result = "kahlua" - required_reagents = list("coffee" = 5, "sugar" = 5) - required_catalysts = list("enzyme" = 5) - result_amount = 5 - - gin_tonic - name = "Gin and Tonic" - id = "gintonic" - result = "gintonic" - required_reagents = list("gin" = 2, "tonic" = 1) - result_amount = 3 - - cuba_libre - name = "Cuba Libre" - id = "cubalibre" - result = "cubalibre" - required_reagents = list("rum" = 2, "cola" = 1) - result_amount = 3 - - martini - name = "Classic Martini" - id = "martini" - result = "martini" - required_reagents = list("gin" = 2, "vermouth" = 1) - result_amount = 3 - - vodkamartini - name = "Vodka Martini" - id = "vodkamartini" - result = "vodkamartini" - required_reagents = list("vodka" = 2, "vermouth" = 1) - result_amount = 3 - - white_russian - name = "White Russian" - id = "whiterussian" - result = "whiterussian" - required_reagents = list("blackrussian" = 3, "cream" = 2) - result_amount = 5 - - whiskey_cola - name = "Whiskey Cola" - id = "whiskeycola" - result = "whiskeycola" - required_reagents = list("whiskey" = 2, "cola" = 1) - result_amount = 3 - - screwdriver - name = "Screwdriver" - id = "screwdrivercocktail" - result = "screwdrivercocktail" - required_reagents = list("vodka" = 2, "orangejuice" = 1) - result_amount = 3 - - bloody_mary - name = "Bloody Mary" - id = "bloodymary" - result = "bloodymary" - required_reagents = list("vodka" = 1, "tomatojuice" = 2, "limejuice" = 1) - result_amount = 4 - - gargle_blaster - name = "Pan-Galactic Gargle Blaster" - id = "gargleblaster" - result = "gargleblaster" - required_reagents = list("vodka" = 1, "gin" = 1, "whiskey" = 1, "cognac" = 1, "limejuice" = 1) - result_amount = 5 - - brave_bull - name = "Brave Bull" - id = "bravebull" - result = "bravebull" - required_reagents = list("tequilla" = 2, "kahlua" = 1) - result_amount = 3 - - tequilla_sunrise - name = "Tequilla Sunrise" - id = "tequillasunrise" - result = "tequillasunrise" - required_reagents = list("tequilla" = 2, "orangejuice" = 1) - result_amount = 3 - - phoron_special - name = "Toxins Special" - id = "phoronspecial" - result = "phoronspecial" - required_reagents = list("rum" = 2, "vermouth" = 1, "phoron" = 2) - result_amount = 5 - - beepsky_smash - name = "Beepksy Smash" - id = "beepksysmash" - result = "beepskysmash" - required_reagents = list("limejuice" = 2, "whiskey" = 2, "iron" = 1) - result_amount = 4 - - doctor_delight - name = "The Doctor's Delight" - id = "doctordelight" - result = "doctorsdelight" - required_reagents = list("limejuice" = 1, "tomatojuice" = 1, "orangejuice" = 1, "cream" = 1, "tricordrazine" = 1) - result_amount = 5 - - irish_cream - name = "Irish Cream" - id = "irishcream" - result = "irishcream" - required_reagents = list("whiskey" = 2, "cream" = 1) - result_amount = 3 - - manly_dorf - name = "The Manly Dorf" - id = "manlydorf" - result = "manlydorf" - required_reagents = list ("beer" = 1, "ale" = 2) - result_amount = 3 - - hooch - name = "Hooch" - id = "hooch" - result = "hooch" - required_reagents = list ("sugar" = 1, "ethanol" = 2, "fuel" = 1) - result_amount = 3 - - irish_coffee - name = "Irish Coffee" - id = "irishcoffee" - result = "irishcoffee" - required_reagents = list("irishcream" = 1, "coffee" = 1) - result_amount = 2 - - b52 - name = "B-52" - id = "b52" - result = "b52" - required_reagents = list("irishcream" = 1, "kahlua" = 1, "cognac" = 1) - result_amount = 3 - - atomicbomb - name = "Atomic Bomb" - id = "atomicbomb" - result = "atomicbomb" - required_reagents = list("b52" = 10, "uranium" = 1) - result_amount = 10 - - margarita - name = "Margarita" - id = "margarita" - result = "margarita" - required_reagents = list("tequilla" = 2, "limejuice" = 1) - result_amount = 3 - - longislandicedtea - name = "Long Island Iced Tea" - id = "longislandicedtea" - result = "longislandicedtea" - required_reagents = list("vodka" = 1, "gin" = 1, "tequilla" = 1, "cubalibre" = 1) - result_amount = 4 - - icedtea - name = "Long Island Iced Tea" - id = "longislandicedtea" - result = "longislandicedtea" - required_reagents = list("vodka" = 1, "gin" = 1, "tequilla" = 1, "cubalibre" = 1) - result_amount = 4 - - threemileisland - name = "Three Mile Island Iced Tea" - id = "threemileisland" - result = "threemileisland" - required_reagents = list("longislandicedtea" = 10, "uranium" = 1) - result_amount = 10 - - whiskeysoda - name = "Whiskey Soda" - id = "whiskeysoda" - result = "whiskeysoda" - required_reagents = list("whiskey" = 2, "sodawater" = 1) - result_amount = 3 - - black_russian - name = "Black Russian" - id = "blackrussian" - result = "blackrussian" - required_reagents = list("vodka" = 3, "kahlua" = 2) - result_amount = 5 - - manhattan - name = "Manhattan" - id = "manhattan" - result = "manhattan" - required_reagents = list("whiskey" = 2, "vermouth" = 1) - result_amount = 3 - - manhattan_proj - name = "Manhattan Project" - id = "manhattan_proj" - result = "manhattan_proj" - required_reagents = list("manhattan" = 10, "uranium" = 1) - result_amount = 10 - - vodka_tonic - name = "Vodka and Tonic" - id = "vodkatonic" - result = "vodkatonic" - required_reagents = list("vodka" = 2, "tonic" = 1) - result_amount = 3 - - gin_fizz - name = "Gin Fizz" - id = "ginfizz" - result = "ginfizz" - required_reagents = list("gin" = 2, "sodawater" = 1, "limejuice" = 1) - result_amount = 4 - - bahama_mama - name = "Bahama mama" - id = "bahama_mama" - result = "bahama_mama" - required_reagents = list("rum" = 2, "orangejuice" = 2, "limejuice" = 1, "ice" = 1) - result_amount = 6 - - singulo - name = "Singulo" - id = "singulo" - result = "singulo" - required_reagents = list("vodka" = 5, "radium" = 1, "wine" = 5) - result_amount = 10 - - alliescocktail - name = "Allies Cocktail" - id = "alliescocktail" - result = "alliescocktail" - required_reagents = list("martini" = 1, "vodka" = 1) - result_amount = 2 - - demonsblood - name = "Demons Blood" - id = "demonsblood" - result = "demonsblood" - required_reagents = list("rum" = 1, "spacemountainwind" = 1, "blood" = 1, "dr_gibb" = 1) - result_amount = 4 - - booger - name = "Booger" - id = "booger" - result = "booger" - required_reagents = list("cream" = 1, "banana" = 1, "rum" = 1, "watermelonjuice" = 1) - result_amount = 4 - - antifreeze - name = "Anti-freeze" - id = "antifreeze" - result = "antifreeze" - required_reagents = list("vodka" = 2, "cream" = 1, "ice" = 1) - result_amount = 4 - - barefoot - name = "Barefoot" - id = "barefoot" - result = "barefoot" - required_reagents = list("berryjuice" = 1, "cream" = 1, "vermouth" = 1) - result_amount = 3 - - grapesoda - name = "Grape Soda" - id = "grapesoda" - result = "grapesoda" - required_reagents = list("grapejuice" = 2, "cola" = 1) - result_amount = 3 - - - -////DRINKS THAT REQUIRED IMPROVED SPRITES BELOW:: -Agouri///// - - sbiten - name = "Sbiten" - id = "sbiten" - result = "sbiten" - required_reagents = list("vodka" = 10, "capsaicin" = 1) - result_amount = 10 - - red_mead - name = "Red Mead" - id = "red_mead" - result = "red_mead" - required_reagents = list("blood" = 1, "mead" = 1) - result_amount = 2 - - mead - name = "Mead" - id = "mead" - result = "mead" - required_reagents = list("sugar" = 1, "water" = 1) - required_catalysts = list("enzyme" = 5) - result_amount = 2 - - iced_beer - name = "Iced Beer" - id = "iced_beer" - result = "iced_beer" - required_reagents = list("beer" = 10, "frostoil" = 1) - result_amount = 10 - - iced_beer2 - name = "Iced Beer" - id = "iced_beer" - result = "iced_beer" - required_reagents = list("beer" = 5, "ice" = 1) - result_amount = 6 - - grog - name = "Grog" - id = "grog" - result = "grog" - required_reagents = list("rum" = 1, "water" = 1) - result_amount = 2 - - soy_latte - name = "Soy Latte" - id = "soy_latte" - result = "soy_latte" - required_reagents = list("coffee" = 1, "soymilk" = 1) - result_amount = 2 - - cafe_latte - name = "Cafe Latte" - id = "cafe_latte" - result = "cafe_latte" - required_reagents = list("coffee" = 1, "milk" = 1) - result_amount = 2 - - acidspit - name = "Acid Spit" - id = "acidspit" - result = "acidspit" - required_reagents = list("sacid" = 1, "wine" = 5) - result_amount = 6 - - amasec - name = "Amasec" - id = "amasec" - result = "amasec" - required_reagents = list("iron" = 1, "wine" = 5, "vodka" = 5) - result_amount = 10 - - changelingsting - name = "Changeling Sting" - id = "changelingsting" - result = "changelingsting" - required_reagents = list("screwdrivercocktail" = 1, "limejuice" = 1, "lemonjuice" = 1) - result_amount = 5 - - aloe - name = "Aloe" - id = "aloe" - result = "aloe" - required_reagents = list("cream" = 1, "whiskey" = 1, "watermelonjuice" = 1) - result_amount = 2 - - andalusia - name = "Andalusia" - id = "andalusia" - result = "andalusia" - required_reagents = list("rum" = 1, "whiskey" = 1, "lemonjuice" = 1) - result_amount = 3 - - neurotoxin - name = "Neurotoxin" - id = "neurotoxin" - result = "neurotoxin" - required_reagents = list("gargleblaster" = 1, "stoxin" = 1) - result_amount = 2 - - snowwhite - name = "Snow White" - id = "snowwhite" - result = "snowwhite" - required_reagents = list("beer" = 1, "lemon_lime" = 1) - result_amount = 2 - - irishcarbomb - name = "Irish Car Bomb" - id = "irishcarbomb" - result = "irishcarbomb" - required_reagents = list("ale" = 1, "irishcream" = 1) - result_amount = 2 - - syndicatebomb - name = "Syndicate Bomb" - id = "syndicatebomb" - result = "syndicatebomb" - required_reagents = list("beer" = 1, "whiskeycola" = 1) - result_amount = 2 - - erikasurprise - name = "Erika Surprise" - id = "erikasurprise" - result = "erikasurprise" - required_reagents = list("ale" = 1, "limejuice" = 1, "whiskey" = 1, "banana" = 1, "ice" = 1) - result_amount = 5 - - devilskiss - name = "Devils Kiss" - id = "devilskiss" - result = "devilskiss" - required_reagents = list("blood" = 1, "kahlua" = 1, "rum" = 1) - result_amount = 3 - - hippiesdelight - name = "Hippies Delight" - id = "hippiesdelight" - result = "hippiesdelight" - required_reagents = list("psilocybin" = 1, "gargleblaster" = 1) - result_amount = 2 - - bananahonk - name = "Banana Honk" - id = "bananahonk" - result = "bananahonk" - required_reagents = list("banana" = 1, "cream" = 1, "sugar" = 1) - result_amount = 3 - - silencer - name = "Silencer" - id = "silencer" - result = "silencer" - required_reagents = list("nothing" = 1, "cream" = 1, "sugar" = 1) - result_amount = 3 - - driestmartini - name = "Driest Martini" - id = "driestmartini" - result = "driestmartini" - required_reagents = list("nothing" = 1, "gin" = 1) - result_amount = 2 - - lemonade - name = "Lemonade" - id = "lemonade" - result = "lemonade" - required_reagents = list("lemonjuice" = 1, "sugar" = 1, "water" = 1) - result_amount = 3 - - kiraspecial - name = "Kira Special" - id = "kiraspecial" - result = "kiraspecial" - required_reagents = list("orangejuice" = 1, "limejuice" = 1, "sodawater" = 1) - result_amount = 2 - - brownstar - name = "Brown Star" - id = "brownstar" - result = "brownstar" - required_reagents = list("orangejuice" = 2, "cola" = 1) - result_amount = 2 - - milkshake - name = "Milkshake" - id = "milkshake" - result = "milkshake" - required_reagents = list("cream" = 1, "ice" = 2, "milk" = 2) - result_amount = 5 - - rewriter - name = "Rewriter" - id = "rewriter" - result = "rewriter" - required_reagents = list("spacemountainwind" = 1, "coffee" = 1) - result_amount = 2 - - suidream - name = "Sui Dream" - id = "suidream" - result = "suidream" - required_reagents = list("space_up" = 2, "bluecuracao" = 1, "melonliquor" = 1) + analysis_liquid + name = "Analysis sample" + id = "analysis_sample" + result = "analysis_sample" + secondary_results = list("chemical_waste" = 1) + required_reagents = list("density_separated_sample" = 5) result_amount = 4 + requires_heating = 1 +*/ diff --git a/code/modules/reagents/reagent_containers.dm b/code/modules/reagents/reagent_containers.dm index 72bb60b4c6..2ac8a124a9 100644 --- a/code/modules/reagents/reagent_containers.dm +++ b/code/modules/reagents/reagent_containers.dm @@ -13,39 +13,134 @@ set category = "Object" set src in range(0) var/N = input("Amount per transfer from this:","[src]") as null|anything in possible_transfer_amounts - if (N) + if(N) amount_per_transfer_from_this = N /obj/item/weapon/reagent_containers/New() ..() - if (!possible_transfer_amounts) + if(!possible_transfer_amounts) src.verbs -= /obj/item/weapon/reagent_containers/verb/set_APTFT - var/datum/reagents/R = new/datum/reagents(volume) - reagents = R - R.my_atom = src + create_reagents(volume) /obj/item/weapon/reagent_containers/attack_self(mob/user as mob) return -/obj/item/weapon/reagent_containers/attack(mob/M as mob, mob/user as mob, def_zone) - if(can_operate(M)) //Checks if mob is lying down on table for surgery - if(do_surgery(M,user,src)) +/obj/item/weapon/reagent_containers/attack(mob/M as mob, mob/user as mob, def_zone) + if(can_operate(M))//Checks if mob is lying down on table for surgery + if(do_surgery(M, user, src)) return -// this prevented pills, food, and other things from being picked up by bags. -// possibly intentional, but removing it allows us to not duplicate functionality. -// -Sayu (storage conslidation) -/* -/obj/item/weapon/reagent_containers/attackby(obj/item/I as obj, mob/user as mob) - return -*/ -/obj/item/weapon/reagent_containers/afterattack(obj/target, mob/user , flag) +/obj/item/weapon/reagent_containers/afterattack(obj/target, mob/user, flag) return -/obj/item/weapon/reagent_containers/proc/reagentlist(var/obj/item/weapon/reagent_containers/snack) //Attack logs for regents in pills - var/data - if(snack.reagents.reagent_list && snack.reagents.reagent_list.len) //find a reagent list if there is and check if it has entries - for (var/datum/reagent/R in snack.reagents.reagent_list) //no reagents will be left behind - data += "[R.id]([R.volume] units); " //Using IDs because SOME chemicals(I'm looking at you, chlorhydrate-beer) have the same names as other chemicals. - return data - else return "No reagents" \ No newline at end of file +/obj/item/weapon/reagent_containers/proc/reagentlist() // For attack logs + if(reagents) + return reagents.get_reagents() + return "No reagent holder" + +/obj/item/weapon/reagent_containers/proc/standard_dispenser_refill(var/mob/user, var/obj/structure/reagent_dispensers/target) // This goes into afterattack + if(!istype(target)) + return 0 + + if(!target.reagents || !target.reagents.total_volume) + user << "[target] is empty." + return 1 + + if(reagents && !reagents.get_free_space()) + user << "[src] is full." + return 1 + + var/trans = target.reagents.trans_to_obj(src, target:amount_per_transfer_from_this) + user << "You fill [src] with [trans] units of the contents of [target]." + return 1 + +/obj/item/weapon/reagent_containers/proc/standard_splash_mob(var/mob/user, var/mob/target) // This goes into afterattack + if(!istype(target)) + return + + if(!reagents || !reagents.total_volume) + user << "[src] is empty." + return 1 + + if(target.reagents && !target.reagents.get_free_space()) + user << "[target] is full." + return 1 + + var/contained = reagentlist() + target.attack_log += text("\[[time_stamp()]\] Has been splashed with [name] by [user.name] ([user.ckey]). Reagents: [contained]") + user.attack_log += text("\[[time_stamp()]\] Used the [name] to splash [target.name] ([target.key]). Reagents: [contained]") + msg_admin_attack("[user.name] ([user.ckey]) splashed [target.name] ([target.key]) with [name]. Reagents: [contained] (INTENT: [uppertext(user.a_intent)]) (JMP)") + + user.visible_message("[target] has been splashed with something by [user]!", "You splash the solution onto [target].") + reagents.splash_mob(target, reagents.total_volume) + return 1 + +/obj/item/weapon/reagent_containers/proc/self_feed_message(var/mob/user) + user << "You eat \the [src]" + +/obj/item/weapon/reagent_containers/proc/other_feed_message_start(var/mob/user, var/mob/target) + user.visible_message("[user] is trying to feed [target] \the [src]!") + +/obj/item/weapon/reagent_containers/proc/other_feed_message_finish(var/mob/user, var/mob/target) + user.visible_message("[user] has fed [target] \the [src]!") + +/obj/item/weapon/reagent_containers/proc/feed_sound(var/mob/user) + return + +/obj/item/weapon/reagent_containers/proc/standard_feed_mob(var/mob/user, var/mob/target) // This goes into attack + if(!istype(target)) + return 0 + + if(!reagents || !reagents.total_volume) + user << "\The [src] is empty." + return 1 + + if(target == user) + if(istype(user, /mob/living/carbon/human)) + var/mob/living/carbon/human/H = user + if(H.species.flags & IS_SYNTHETIC) + H << "You have a monitor for a head, where do you think you're going to put that?" + return 1 + + self_feed_message(user) + reagents.trans_to_mob(user, amount_per_transfer_from_this, CHEM_INGEST) + feed_sound(user) + return 1 + else + if(istype(user, /mob/living/carbon/human)) + var/mob/living/carbon/human/H = target + if(H.species.flags & IS_SYNTHETIC) + H << "They have a monitor for a head, where do you think you're going to put that?" + return + + other_feed_message_start(user, target) + + if(!do_mob(user, target)) + return + + other_feed_message_finish(user, target) + + var/contained = reagentlist() + target.attack_log += text("\[[time_stamp()]\] Has been fed [name] by [user.name] ([user.ckey]). Reagents: [contained]") + user.attack_log += text("\[[time_stamp()]\] Fed [name] by [target.name] ([target.ckey]). Reagents: [contained]") + msg_admin_attack("[key_name(user)] fed [key_name(target)] with [name]. Reagents: [contained] (INTENT: [uppertext(user.a_intent)]) (JMP)") + + reagents.trans_to_mob(target, amount_per_transfer_from_this, CHEM_INGEST) + feed_sound(user) + return 1 + +/obj/item/weapon/reagent_containers/proc/standard_pour_into(var/mob/user, var/atom/target) // This goes into afterattack and yes, it's atom-level + if(!target.is_open_container() || !target.reagents) + return 0 + + if(!reagents || !reagents.total_volume) + user << "[src] is empty." + return 1 + + if(!target.reagents.get_free_space()) + user << "[target] is full." + return 1 + + var/trans = reagents.trans_to(target, amount_per_transfer_from_this) + user << "You transfer [trans] units of the solution to [target]." + return 1 diff --git a/code/modules/reagents/reagent_containers/borghydro.dm b/code/modules/reagents/reagent_containers/borghydro.dm index d82ded7bba..b8373a6aa1 100644 --- a/code/modules/reagents/reagent_containers/borghydro.dm +++ b/code/modules/reagents/reagent_containers/borghydro.dm @@ -1,4 +1,3 @@ - /obj/item/weapon/reagent_containers/borghypo name = "Cyborg Hypospray" desc = "An advanced chemical synthesizer and injection system, designed for heavy-duty medical equipment." @@ -15,7 +14,6 @@ var/list/datum/reagents/reagent_list = list() var/list/reagent_ids = list("tricordrazine", "inaprovaline", "spaceacillin") - //var/list/reagent_ids = list("dexalin", "kelotane", "bicaridine", "anti_toxin", "inaprovaline", "spaceacillin") /obj/item/weapon/reagent_containers/borghypo/surgeon reagent_ids = list("bicaridine", "inaprovaline", "dexalin") @@ -40,23 +38,15 @@ if(charge_tick < recharge_time) return 0 charge_tick = 0 - if(isrobot(src.loc)) - var/mob/living/silicon/robot/R = src.loc + if(isrobot(loc)) + var/mob/living/silicon/robot/R = loc if(R && R.cell) var/datum/reagents/RG = reagent_list[mode] if(RG.total_volume < RG.maximum_volume) //Don't recharge reagents and drain power if the storage is full. R.cell.use(charge_cost) //Take power from borg... RG.add_reagent(reagent_ids[mode], 5) //And fill hypo with reagent. - //update_icon() return 1 -// Purely for testing purposes I swear~ -/* -/obj/item/weapon/reagent_containers/borghypo/verb/add_cyanide() - set src in world - add_reagent("cyanide") -*/ - // Use this to add more chemicals for the borghypo to produce. /obj/item/weapon/reagent_containers/borghypo/proc/add_reagent(var/reagent) reagent_ids |= reagent @@ -70,19 +60,18 @@ /obj/item/weapon/reagent_containers/borghypo/attack(mob/living/M as mob, mob/user as mob) var/datum/reagents/R = reagent_list[mode] if(!R.total_volume) - user << "\red The injector is empty." + user << "The injector is empty." return - if (!(istype(M))) + if (!istype(M)) return - if (R.total_volume && M.can_inject(user,1)) - user << "\blue You inject [M] with the injector." - M << "\red You feel a tiny prick!" + if (R.total_volume && M.can_inject(user, 1)) + user << "You inject [M] with the injector." + M << "You feel a tiny prick!" - R.reaction(M, INGEST) if(M.reagents) - var/trans = R.trans_to(M, amount_per_transfer_from_this) - user << "\blue [trans] units injected. [R.total_volume] units remaining." + var/trans = R.trans_to_mob(M, amount_per_transfer_from_this, CHEM_BLOOD) + user << "[trans] units injected. [R.total_volume] units remaining." return /obj/item/weapon/reagent_containers/borghypo/attack_self(mob/user as mob) @@ -93,7 +82,7 @@ charge_tick = 0 //Prevents wasted chems/cell charge if you're cycling through modes. var/datum/reagent/R = chemical_reagents_list[reagent_ids[mode]] - user << "\blue Synthesizer is now producing '[R.name]'." + user << "Synthesizer is now producing '[R.name]'." return /obj/item/weapon/reagent_containers/borghypo/examine(mob/user) @@ -105,8 +94,8 @@ for(var/datum/reagents/RS in reagent_list) var/datum/reagent/R = locate() in RS.reagent_list if(R) - user << "\blue It currently has [R.volume] units of [R.name] stored." + user << "It currently has [R.volume] units of [R.name] stored." empty = 0 if(empty) - user << "\blue It is currently empty. Allow some time for the internal syntheszier to produce more." + user << "It is currently empty. Allow some time for the internal syntheszier to produce more." diff --git a/code/modules/reagents/reagent_containers/dropper.dm b/code/modules/reagents/reagent_containers/dropper.dm index 1cfe480ff9..c67c6ab7de 100644 --- a/code/modules/reagents/reagent_containers/dropper.dm +++ b/code/modules/reagents/reagent_containers/dropper.dm @@ -10,19 +10,18 @@ possible_transfer_amounts = list(1,2,3,4,5) w_class = 1 volume = 5 - var/filled = 0 - afterattack(obj/target, mob/user , flag) + afterattack(var/obj/target, var/mob/user, var/flag) if(!target.reagents || !flag) return - if(filled) + if(reagents.total_volume) - if(target.reagents.total_volume >= target.reagents.maximum_volume) - user << "\red [target] is full." + if(!target.reagents.get_free_space()) + user << "[target] is full." return - if(!target.is_open_container() && !ismob(target) && !istype(target,/obj/item/weapon/reagent_containers/food) && !istype(target, /obj/item/clothing/mask/smokable/cigarette)) //You can inject humans and food but you cant remove the shit. - user << "\red You cannot directly fill this object." + if(!target.is_open_container() && !ismob(target) && !istype(target, /obj/item/weapon/reagent_containers/food) && !istype(target, /obj/item/clothing/mask/smokable/cigarette)) //You can inject humans and food but you cant remove the shit. + user << "You cannot directly fill this object." return var/trans = 0 @@ -30,80 +29,76 @@ if(ismob(target)) var/time = 20 //2/3rds the time of a syringe - for(var/mob/O in viewers(world.view, user)) - O.show_message(text("\red [] is trying to squirt something into []'s eyes!", user, target), 1) + user.visible_message("[user] is trying to squirt something into [target]'s eyes!") - if(!do_mob(user, target, time)) return + if(!do_mob(user, target, time)) + return - if(istype(target , /mob/living/carbon/human)) + if(istype(target, /mob/living/carbon/human)) var/mob/living/carbon/human/victim = target var/obj/item/safe_thing = null - if( victim.wear_mask ) - if ( victim.wear_mask.flags & MASKCOVERSEYES ) + if(victim.wear_mask) + if (victim.wear_mask.flags & MASKCOVERSEYES) safe_thing = victim.wear_mask - if( victim.head ) - if ( victim.head.flags & MASKCOVERSEYES ) + if(victim.head) + if (victim.head.flags & MASKCOVERSEYES) safe_thing = victim.head if(victim.glasses) - if ( !safe_thing ) + if (!safe_thing) safe_thing = victim.glasses if(safe_thing) - if(!safe_thing.reagents) - safe_thing.create_reagents(100) - trans = src.reagents.trans_to(safe_thing, amount_per_transfer_from_this) - - for(var/mob/O in viewers(world.view, user)) - O.show_message(text("\red [] tries to squirt something into []'s eyes, but fails!", user, target), 1) - spawn(5) - src.reagents.reaction(safe_thing, TOUCH) - - user << "\blue You transfer [trans] units of the solution." - if (src.reagents.total_volume<=0) - filled = 0 - icon_state = "dropper[filled]" + trans = reagents.trans_to_obj(safe_thing, amount_per_transfer_from_this) + user.visible_message("[user] tries to squirt something into [target]'s eyes, but fails!", "You transfer [trans] units of the solution.") return - for(var/mob/O in viewers(world.view, user)) - O.show_message(text("\red [] squirts something into []'s eyes!", user, target), 1) - src.reagents.reaction(target, TOUCH) + trans = reagents.trans_to_mob(target, reagents.total_volume, CHEM_INGEST) + user.visible_message("[user] squirts something into [target]'s eyes!", "You transfer [trans] units of the solution.") var/mob/living/M = target + var/contained = reagentlist() + M.attack_log += text("\[[time_stamp()]\] Has been squirted with [name] by [user.name] ([user.ckey]). Reagents: [contained]") + user.attack_log += text("\[[time_stamp()]\] Used the [name] to squirt [M.name] ([M.key]). Reagents: [contained]") + msg_admin_attack("[user.name] ([user.ckey]) squirted [M.name] ([M.key]) with [name]. Reagents: [contained] (INTENT: [uppertext(user.a_intent)]) (JMP)") + return - var/list/injected = list() - for(var/datum/reagent/R in src.reagents.reagent_list) - injected += R.name - var/contained = english_list(injected) - M.attack_log += text("\[[time_stamp()]\] Has been squirted with [src.name] by [user.name] ([user.ckey]). Reagents: [contained]") - user.attack_log += text("\[[time_stamp()]\] Used the [src.name] to squirt [M.name] ([M.key]). Reagents: [contained]") - msg_admin_attack("[user.name] ([user.ckey]) squirted [M.name] ([M.key]) with [src.name]. Reagents: [contained] (INTENT: [uppertext(user.a_intent)]) (JMP)") + else + trans = reagents.trans_to(target, amount_per_transfer_from_this) + user << "You transfer [trans] units of the solution." - trans = src.reagents.trans_to(target, amount_per_transfer_from_this) - user << "\blue You transfer [trans] units of the solution." - if (src.reagents.total_volume<=0) - filled = 0 - icon_state = "dropper[filled]" - - else + else // Taking from something if(!target.is_open_container() && !istype(target,/obj/structure/reagent_dispensers)) - user << "\red You cannot directly remove reagents from [target]." + user << "You cannot directly remove reagents from [target]." return - if(!target.reagents.total_volume) - user << "\red [target] is empty." + if(!target.reagents || !target.reagents.total_volume) + user << "[target] is empty." return - var/trans = target.reagents.trans_to(src, amount_per_transfer_from_this) + var/trans = target.reagents.trans_to_obj(src, amount_per_transfer_from_this) - user << "\blue You fill the dropper with [trans] units of the solution." - - filled = 1 - icon_state = "dropper[filled]" + user << "You fill the dropper with [trans] units of the solution." return + on_reagent_change() + update_icon() + + update_icon() + if(reagents.total_volume) + icon_state = "dropper1" + else + icon_state = "dropper0" + +/obj/item/weapon/reagent_containers/dropper/industrial + name = "Industrial Dropper" + desc = "A larger dropper. Transfers 10 units." + amount_per_transfer_from_this = 10 + possible_transfer_amounts = list(1,2,3,4,5,6,7,8,9,10) + volume = 10 + //////////////////////////////////////////////////////////////////////////////// /// Droppers. END //////////////////////////////////////////////////////////////////////////////// diff --git a/code/modules/reagents/reagent_containers/food/cans.dm b/code/modules/reagents/reagent_containers/food/cans.dm index 0129423f4f..c27df37d47 100644 --- a/code/modules/reagents/reagent_containers/food/cans.dm +++ b/code/modules/reagents/reagent_containers/food/cans.dm @@ -1,104 +1,39 @@ /obj/item/weapon/reagent_containers/food/drinks/cans - var canopened = 0 + amount_per_transfer_from_this = 5 + flags = 0 attack_self(mob/user as mob) - if (canopened == 0) - playsound(src.loc,'sound/effects/canopen.ogg', rand(10,50), 1) + if (!is_open_container()) + playsound(loc,'sound/effects/canopen.ogg', rand(10,50), 1) user << "You open the drink with an audible pop!" - canopened = 1 + flags |= OPENCONTAINER else return attack(mob/M as mob, mob/user as mob, def_zone) - if (canopened == 0) + if(!is_open_container()) user << "You need to open the drink!" return - var/datum/reagents/R = src.reagents - var/fillevel = gulp_size - if(!R.total_volume || !R) - user << "\red The [src.name] is empty!" - return 0 - - if(M == user) - M << "\blue You swallow a gulp of [src]." - if(reagents.total_volume) - reagents.trans_to_ingest(M, gulp_size) - reagents.reaction(M, INGEST) - spawn(5) - reagents.trans_to(M, gulp_size) - - playsound(M.loc,'sound/items/drink.ogg', rand(10,50), 1) - return 1 - else if( istype(M, /mob/living/carbon/human) ) - if (canopened == 0) - user << "You need to open the drink!" - return - - else if (canopened == 1) - for(var/mob/O in viewers(world.view, user)) - O.show_message("\red [user] attempts to feed [M] [src].", 1) - if(!do_mob(user, M)) return - for(var/mob/O in viewers(world.view, user)) - O.show_message("\red [user] feeds [M] [src].", 1) - - M.attack_log += text("\[[time_stamp()]\] Has been fed [src.name] by [user.name] ([user.ckey]) Reagents: [reagentlist(src)]") - user.attack_log += text("\[[time_stamp()]\] Fed [M.name] by [M.name] ([M.ckey]) Reagents: [reagentlist(src)]") - msg_admin_attack("[key_name(user)] fed [key_name(M)] with [src.name] Reagents: [reagentlist(src)] (INTENT: [uppertext(user.a_intent)]) (JMP)") - - if(reagents.total_volume) - reagents.trans_to_ingest(M, gulp_size) - - if(isrobot(user)) //Cyborg modules that include drinks automatically refill themselves, but drain the borg's cell - var/mob/living/silicon/robot/bro = user - bro.cell.use(30) - var/refill = R.get_master_reagent_id() - spawn(600) - R.add_reagent(refill, fillevel) - - playsound(M.loc,'sound/items/drink.ogg', rand(10,50), 1) - return 1 - - return 0 + return ..() afterattack(obj/target, mob/user, proximity) if(!proximity) return if(istype(target, /obj/structure/reagent_dispensers)) //A dispenser. Transfer FROM it TO us. - if (canopened == 0) + if(!is_open_container()) user << "You need to open the drink!" return else if(target.is_open_container()) //Something like a glass. Player probably wants to transfer TO it. - if (canopened == 0) + if(!is_open_container()) user << "You need to open the drink!" return - if (istype(target, /obj/item/weapon/reagent_containers/food/drinks/cans)) - var/obj/item/weapon/reagent_containers/food/drinks/cans/cantarget = target - if(cantarget.canopened == 0) - user << "You need to open the drink you want to pour into!" - return - return ..() -/* examine(mob/user) - if(!..(user, 1)) - return - if(!reagents || reagents.total_volume==0) - user << "\blue \The [src] is empty!" - else if (reagents.total_volume<=src.volume/4) - user << "\blue \The [src] is almost empty!" - else if (reagents.total_volume<=src.volume*0.66) - user << "\blue \The [src] is half full!" - else if (reagents.total_volume<=src.volume*0.90) - user << "\blue \The [src] is almost full!" - else - user << "\blue \The [src] is full!"*/ - - //DRINKS /obj/item/weapon/reagent_containers/food/drinks/cans/cola diff --git a/code/modules/reagents/reagent_containers/food/condiment.dm b/code/modules/reagents/reagent_containers/food/condiment.dm index f643ccca90..642507df84 100644 --- a/code/modules/reagents/reagent_containers/food/condiment.dm +++ b/code/modules/reagents/reagent_containers/food/condiment.dm @@ -15,72 +15,39 @@ center_of_mass = list("x"=16, "y"=6) volume = 50 - attackby(obj/item/weapon/W as obj, mob/user as mob) - - return - attack_self(mob/user as mob) - return - attack(mob/M as mob, mob/user as mob, def_zone) - var/datum/reagents/R = src.reagents - - if(!R || !R.total_volume) - user << "\red The [src.name] is empty!" - return 0 - - if(M == user) - M << "\blue You swallow some of contents of the [src]." - if(reagents.total_volume) - reagents.trans_to_ingest(M, 10) - - playsound(M.loc,'sound/items/drink.ogg', rand(10,50), 1) - return 1 - else if( istype(M, /mob/living/carbon/human) ) - - for(var/mob/O in viewers(world.view, user)) - O.show_message("\red [user] attempts to feed [M] [src].", 1) - if(!do_mob(user, M)) return - for(var/mob/O in viewers(world.view, user)) - O.show_message("\red [user] feeds [M] [src].", 1) - - M.attack_log += text("\[[time_stamp()]\] Has been fed [src.name] by [user.name] ([user.ckey]) Reagents: [reagentlist(src)]") - user.attack_log += text("\[[time_stamp()]\] Fed [src.name] by [M.name] ([M.ckey]) Reagents: [reagentlist(src)]") - msg_admin_attack("[user.name] ([user.ckey]) fed [M.name] ([M.ckey]) with [src.name] (INTENT: [uppertext(user.a_intent)]) (JMP)") - - if(reagents.total_volume) - reagents.trans_to_ingest(M, 10) - - playsound(M.loc,'sound/items/drink.ogg', rand(10,50), 1) - return 1 - return 0 - - attackby(obj/item/I as obj, mob/user as mob) - + attackby(var/obj/item/weapon/W as obj, var/mob/user as mob) return - afterattack(obj/target, mob/user , flag) - if(istype(target, /obj/structure/reagent_dispensers)) //A dispenser. Transfer FROM it TO us. + attack_self(var/mob/user as mob) + return - if(!target.reagents.total_volume) - user << "\red [target] is empty." + attack(var/mob/M as mob, var/mob/user as mob, var/def_zone) + if(standard_feed_mob(user, M)) + return + + afterattack(var/obj/target, var/mob/user, var/flag) + if(standard_dispenser_refill(user, target)) + return + if(standard_pour_into(user, target)) + return + + if(istype(target, /obj/item/weapon/reagent_containers/food/snacks)) // These are not opencontainers but we can transfer to them + if(!reagents || !reagents.total_volume) + user << "There is no condiment left in \the [src]." return - if(reagents.total_volume >= reagents.maximum_volume) - user << "\red [src] is full." + if(!target.reagents.get_free_space()) + user << "You can't add more condiment to \the [target]." return - var/trans = target.reagents.trans_to(src, target:amount_per_transfer_from_this) - user << "\blue You fill [src] with [trans] units of the contents of [target]." + var/trans = reagents.trans_to_obj(target, amount_per_transfer_from_this) + user << "You add [trans] units of the condiment to \the [target]." - //Something like a glass or a food item. Player probably wants to transfer TO it. - else if(target.is_open_container() || istype(target, /obj/item/weapon/reagent_containers/food/snacks)) - if(!reagents.total_volume) - user << "\red [src] is empty." - return - if(target.reagents.total_volume >= target.reagents.maximum_volume) - user << "\red you can't add anymore to [target]." - return - var/trans = src.reagents.trans_to(target, amount_per_transfer_from_this) - user << "\blue You transfer [trans] units of the condiment to [target]." + feed_sound(var/mob/user) + playsound(user.loc, 'sound/items/drink.ogg', rand(10, 50), 1) + + self_feed_message(var/mob/user) + user << "You swallow some of contents of \the [src]." on_reagent_change() if(icon_state == "saltshakersmall" || icon_state == "peppermillsmall") diff --git a/code/modules/reagents/reagent_containers/food/drinks.dm b/code/modules/reagents/reagent_containers/food/drinks.dm index 58b11a61ac..a42b5156b2 100644 --- a/code/modules/reagents/reagent_containers/food/drinks.dm +++ b/code/modules/reagents/reagent_containers/food/drinks.dm @@ -7,134 +7,63 @@ icon = 'icons/obj/drinks.dmi' icon_state = null flags = OPENCONTAINER - var/gulp_size = 5 //This is now officially broken ... need to think of a nice way to fix it. - possible_transfer_amounts = list(5,10,25) + amount_per_transfer_from_this = 5 volume = 50 on_reagent_change() - if (gulp_size < 5) gulp_size = 5 - else gulp_size = max(round(reagents.total_volume / 5), 5) + return attack_self(mob/user as mob) return attack(mob/M as mob, mob/user as mob, def_zone) - var/datum/reagents/R = src.reagents - var/fillevel = gulp_size - - if(!R.total_volume || !R) - user << "\red The [src.name] is empty!" - return 0 - - if(M == user) - - if(istype(M,/mob/living/carbon/human)) - var/mob/living/carbon/human/H = M - if(H.species.flags & IS_SYNTHETIC) - H << "\red You have a monitor for a head, where do you think you're going to put that?" - return - - M << "\blue You swallow a gulp from \the [src]." - if(reagents.total_volume) - reagents.trans_to_ingest(M, gulp_size) - - playsound(M.loc,'sound/items/drink.ogg', rand(10,50), 1) - return 1 - else if( istype(M, /mob/living/carbon/human) ) - - var/mob/living/carbon/human/H = M - if(H.species.flags & IS_SYNTHETIC) - H << "\red They have a monitor for a head, where do you think you're going to put that?" - return - - for(var/mob/O in viewers(world.view, user)) - O.show_message("\red [user] attempts to feed [M] [src].", 1) - if(!do_mob(user, M)) return - for(var/mob/O in viewers(world.view, user)) - O.show_message("\red [user] feeds [M] [src].", 1) - - M.attack_log += text("\[[time_stamp()]\] Has been fed [src.name] by [user.name] ([user.ckey]) Reagents: [reagentlist(src)]") - user.attack_log += text("\[[time_stamp()]\] Fed [M.name] by [M.name] ([M.ckey]) Reagents: [reagentlist(src)]") - msg_admin_attack("[key_name(user)] fed [key_name(M)] with [src.name] Reagents: [reagentlist(src)] (INTENT: [uppertext(user.a_intent)]) (JMP)") - - if(reagents.total_volume) - reagents.trans_to_ingest(M, gulp_size) - - if(isrobot(user)) //Cyborg modules that include drinks automatically refill themselves, but drain the borg's cell - var/mob/living/silicon/robot/bro = user - bro.cell.use(30) - var/refill = R.get_master_reagent_id() - spawn(600) - R.add_reagent(refill, fillevel) - - playsound(M.loc,'sound/items/drink.ogg', rand(10,50), 1) - return 1 + if(standard_feed_mob(user, M)) + robot_refill(user) + return return 0 - afterattack(obj/target, mob/user, proximity) if(!proximity) return - if(istype(target, /obj/structure/reagent_dispensers)) //A dispenser. Transfer FROM it TO us. - - if(!target.reagents.total_volume) - user << "\red [target] is empty." - return - - if(reagents.total_volume >= reagents.maximum_volume) - user << "\red [src] is full." - return - - var/trans = target.reagents.trans_to(src, target:amount_per_transfer_from_this) - user << "\blue You fill [src] with [trans] units of the contents of [target]." - - else if(target.is_open_container()) //Something like a glass. Player probably wants to transfer TO it. - if(!reagents.total_volume) - user << "\red [src] is empty." - return - - if(target.reagents.total_volume >= target.reagents.maximum_volume) - user << "\red [target] is full." - return - - - - var/datum/reagent/refill - var/datum/reagent/refillName - if(isrobot(user)) - refill = reagents.get_master_reagent_id() - refillName = reagents.get_master_reagent_name() - - var/trans = src.reagents.trans_to(target, amount_per_transfer_from_this) - user << "\blue You transfer [trans] units of the solution to [target]." - - if(isrobot(user)) //Cyborg modules that include drinks automatically refill themselves, but drain the borg's cell - var/mob/living/silicon/robot/bro = user - var/chargeAmount = max(30,4*trans) - bro.cell.use(chargeAmount) - user << "Now synthesizing [trans] units of [refillName]..." - - - spawn(300) - reagents.add_reagent(refill, trans) - user << "Cyborg [src] refilled." + if(standard_dispenser_refill(user, target)) + return + if(standard_pour_into(user, target)) + robot_refill(user) + return return ..() + proc/robot_refill(var/mob/living/silicon/robot/user) + if(!istype(user)) + return 0 + + user.cell.use(30) + var/refill = reagents.get_master_reagent_id() + user << "Now synthesizing [amount_per_transfer_from_this] units of [refill]..." + spawn(300) + reagents.add_reagent(refill, amount_per_transfer_from_this) + user << "Cyborg [src] refilled." + + self_feed_message(var/mob/user) + user << "You swallow a gulp from \the [src]." + + feed_sound(var/mob/user) + playsound(user.loc, 'sound/items/drink.ogg', rand(10, 50), 1) + examine(mob/user) if(!..(user, 1)) return - if(!reagents || reagents.total_volume==0) - user << "\blue \The [src] is empty!" - else if (reagents.total_volume<=src.volume/4) - user << "\blue \The [src] is almost empty!" - else if (reagents.total_volume<=src.volume*0.66) - user << "\blue \The [src] is half full!" - else if (reagents.total_volume<=src.volume*0.90) - user << "\blue \The [src] is almost full!" + if(!reagents || reagents.total_volume == 0) + user << "\The [src] is empty!" + else if (reagents.total_volume <= volume * 0.25) + user << "\The [src] is almost empty!" + else if (reagents.total_volume <= volume * 0.66) + user << "\The [src] is half full!" + else if (reagents.total_volume <= volume * 0.90) + user << "\The [src] is almost full!" else - user << "\blue \The [src] is full!" + user << "\The [src] is full!" //////////////////////////////////////////////////////////////////////////////// diff --git a/code/modules/reagents/reagent_containers/food/drinks/bottle.dm b/code/modules/reagents/reagent_containers/food/drinks/bottle.dm index 52a4ba12ba..03b85848d6 100644 --- a/code/modules/reagents/reagent_containers/food/drinks/bottle.dm +++ b/code/modules/reagents/reagent_containers/food/drinks/bottle.dm @@ -1,5 +1,3 @@ - - ///////////////////////////////////////////////Alchohol bottles! -Agouri ////////////////////////// //Functionally identical to regular drinks. The only difference is that the default bottle size is 100. - Darem //Bottles now weaken and break when smashed on people's heads. - Giacom @@ -78,10 +76,9 @@ msg_admin_attack("[user.name] ([user.ckey]) attacked [target.name] ([target.ckey]) with a bottle. (INTENT: [uppertext(user.a_intent)]) (JMP)") //The reagents in the bottle splash all over the target, thanks for the idea Nodrak - if(src.reagents) - for(var/mob/O in viewers(user, null)) - O.show_message(text("\blue The contents of the [src] splashes all over [target]!"), 1) - src.reagents.reaction(target, TOUCH) + if(reagents) + user.visible_message("The contents of the [src] splash all over [target]!") + reagents.trans_to_mob(target, reagents.total_volume) //Finally, smash the bottle. This kills (del) the bottle. src.smash(target, user) diff --git a/code/modules/reagents/reagent_containers/food/sandwich.dm b/code/modules/reagents/reagent_containers/food/sandwich.dm index 0d8e614468..224102eb0a 100644 --- a/code/modules/reagents/reagent_containers/food/sandwich.dm +++ b/code/modules/reagents/reagent_containers/food/sandwich.dm @@ -34,7 +34,7 @@ else if(istype(W,/obj/item/weapon/reagent_containers/food/snacks)) user << "\blue You layer [W] over \the [src]." var/obj/item/weapon/reagent_containers/F = W - F.reagents.trans_to(src, F.reagents.total_volume) + F.reagents.trans_to_obj(src, F.reagents.total_volume) user.drop_item() W.loc = src ingredients += W diff --git a/code/modules/reagents/reagent_containers/food/snacks.dm b/code/modules/reagents/reagent_containers/food/snacks.dm index 502a741c6b..192a4f6959 100644 --- a/code/modules/reagents/reagent_containers/food/snacks.dm +++ b/code/modules/reagents/reagent_containers/food/snacks.dm @@ -34,7 +34,6 @@ return /obj/item/weapon/reagent_containers/food/snacks/attack(mob/M as mob, mob/user as mob, def_zone) - if(!reagents.total_volume) user << "None of [src] left!" user.drop_from_inventory(src) @@ -94,15 +93,9 @@ playsound(M.loc,'sound/items/eatfood.ogg', rand(10,50), 1) if(reagents.total_volume) if(reagents.total_volume > bitesize) - /* - * I totally cannot understand what this code supposed to do. - * Right now every snack consumes in 2 bites, my popcorn does not work right, so I simplify it. -- rastaf0 - var/temp_bitesize = max(reagents.total_volume /2, bitesize) - reagents.trans_to(M, temp_bitesize) - */ - reagents.trans_to_ingest(M, bitesize) + reagents.trans_to_mob(M, bitesize, CHEM_INGEST) else - reagents.trans_to_ingest(M, reagents.total_volume) + reagents.trans_to_mob(M, reagents.total_volume, CHEM_INGEST) bitecount++ On_Consume(M) return 1 @@ -149,7 +142,7 @@ I.color = src.filling_color U.overlays += I - reagents.trans_to(U,min(reagents.total_volume,5)) + reagents.trans_to_obj(U, min(reagents.total_volume,5)) if (reagents.total_volume <= 0) del(src) @@ -188,7 +181,7 @@ var/reagents_per_slice = reagents.total_volume/slices_num for(var/i=1 to (slices_num-slices_lost)) var/obj/slice = new slice_path (src.loc) - reagents.trans_to(slice,reagents_per_slice) + reagents.trans_to_obj(slice, reagents_per_slice) del(src) return @@ -210,7 +203,7 @@ user.visible_message("[user] nibbles away at \the [src].","You nibble away at \the [src].") bitecount++ if(reagents && user.reagents) - reagents.trans_to_ingest(user, bitesize) + reagents.trans_to_mob(user, bitesize, CHEM_INGEST) spawn(5) if(!src && !user.client) user.custom_emote(1,"[pick("burps", "cries for more", "burps twice", "looks at the area where the food was")]") @@ -484,7 +477,7 @@ /obj/item/weapon/reagent_containers/food/snacks/egg/throw_impact(atom/hit_atom) ..() new/obj/effect/decal/cleanable/egg_smudge(src.loc) - src.reagents.reaction(hit_atom, TOUCH) + src.reagents.trans_to(hit_atom, reagents.total_volume) src.visible_message("\red [src.name] has been squashed.","\red You hear a smack.") del(src) @@ -2049,7 +2042,7 @@ New() ..() - reagents.add_reagent("minttoxin", 1) + reagents.add_reagent("mint", 1) bitesize = 1 /obj/item/weapon/reagent_containers/food/snacks/mushroomsoup diff --git a/code/modules/reagents/reagent_containers/glass.dm b/code/modules/reagents/reagent_containers/glass.dm index c056d4479c..20497df85c 100644 --- a/code/modules/reagents/reagent_containers/glass.dm +++ b/code/modules/reagents/reagent_containers/glass.dm @@ -41,116 +41,71 @@ /obj/machinery/sleeper, /obj/machinery/smartfridge/, /obj/machinery/biogenerator, - /obj/machinery/constructable_frame + /obj/machinery/constructable_frame, + /obj/machinery/bunsen_burner, + /obj/machinery/radiocarbon_spectrometer ) New() ..() base_name = name - examine(mob/user) + examine(var/mob/user) if(!..(user, 2)) return if(reagents && reagents.reagent_list.len) - user << "\blue It contains [src.reagents.total_volume] units of liquid." + user << "It contains [reagents.total_volume] units of liquid." else - user << "\blue It is empty." - if (!is_open_container()) - user << "\blue Airtight lid seals it completely." + user << "It is empty." + if(!is_open_container()) + user << "Airtight lid seals it completely." attack_self() ..() - if (is_open_container()) - usr << "You put the lid on \the [src]." + if(is_open_container()) + usr << "You put the lid on \the [src]." flags ^= OPENCONTAINER else - usr << "You take the lid off \the [src]." + usr << "You take the lid off \the [src]." flags |= OPENCONTAINER update_icon() - afterattack(obj/target, mob/user , flag) + afterattack(var/obj/target, var/mob/user, var/flag) - if (!is_open_container() || !flag) + if(!is_open_container() || !flag) return - for(var/type in src.can_be_placed_into) + for(var/type in can_be_placed_into) if(istype(target, type)) return - if(ismob(target) && target.reagents && reagents.total_volume) - user << "\blue You splash the solution onto [target]." - - var/mob/living/M = target - var/list/injected = list() - for(var/datum/reagent/R in src.reagents.reagent_list) - injected += R.name - var/contained = english_list(injected) - M.attack_log += text("\[[time_stamp()]\] Has been splashed with [src.name] by [user.name] ([user.ckey]). Reagents: [contained]") - user.attack_log += text("\[[time_stamp()]\] Used the [src.name] to splash [M.name] ([M.key]). Reagents: [contained]") - msg_admin_attack("[user.name] ([user.ckey]) splashed [M.name] ([M.key]) with [src.name]. Reagents: [contained] (INTENT: [uppertext(user.a_intent)]) (JMP)") - - for(var/mob/O in viewers(world.view, user)) - O.show_message(text("\red [] has been splashed with something by []!", target, user), 1) - src.reagents.reaction(target, TOUCH) - spawn(5) src.reagents.clear_reagents() + if(standard_splash_mob(user, target)) return - else if(istype(target, /obj/structure/reagent_dispensers)) //A dispenser. Transfer FROM it TO us. - target.add_fingerprint(user) - - if(!target.reagents.total_volume && target.reagents) - user << "\red [target] is empty." - return - - if(reagents.total_volume >= reagents.maximum_volume) - user << "\red [src] is full." - return - - var/trans = target.reagents.trans_to(src, target:amount_per_transfer_from_this) - user << "\blue You fill [src] with [trans] units of the contents of [target]." - - else if(target.is_open_container() && target.reagents) //Something like a glass. Player probably wants to transfer TO it. - - if(!reagents.total_volume) - user << "\red [src] is empty." - return - - if(target.reagents.total_volume >= target.reagents.maximum_volume) - user << "\red [target] is full." - return - - var/trans = src.reagents.trans_to(target, amount_per_transfer_from_this) - user << "\blue You transfer [trans] units of the solution to [target]." - - else if(istype(target, /obj/machinery/bunsen_burner)) + if(standard_dispenser_refill(user, target)) + return + if(standard_pour_into(user, target)) return - else if(istype(target, /obj/machinery/smartfridge)) - return - - else if(istype(target, /obj/machinery/radiocarbon_spectrometer)) - return - - else if(reagents.total_volume) - user << "\blue You splash the solution onto [target]." - src.reagents.reaction(target, TOUCH) - spawn(5) src.reagents.clear_reagents() + if(reagents.total_volume) + user << "You splash the solution onto [target]." + reagents.trans_to(target, reagents.total_volume) return attackby(obj/item/weapon/W as obj, mob/user as mob) if(istype(W, /obj/item/weapon/pen) || istype(W, /obj/item/device/flashlight/pen)) - var/tmp_label = sanitize(copytext(input(user, "Enter a label for [src.name]","Label",src.label_text), 1, MAX_NAME_LEN)) + var/tmp_label = sanitize(copytext(input(user, "Enter a label for \the [name]", "Label", label_text), 1, MAX_NAME_LEN)) if(length(tmp_label) > 10) - user << "\red The label can be at most 10 characters long." + user << "The label can be at most 10 characters long." else - user << "\blue You set the label to \"[tmp_label]\"." - src.label_text = tmp_label - src.update_name_label() + user << "You set the label to \"[tmp_label]\"." + label_text = tmp_label + update_name_label() proc/update_name_label() - if(src.label_text == "") - src.name = src.base_name + if(label_text == "") + name = base_name else - src.name = "[src.base_name] ([src.label_text])" + name = "[base_name] ([label_text])" /obj/item/weapon/reagent_containers/glass/beaker name = "beaker" @@ -195,7 +150,7 @@ if(80 to 90) filling.icon_state = "[icon_state]80" if(91 to INFINITY) filling.icon_state = "[icon_state]100" - filling.color = mix_color_from_reagents(reagents.reagent_list) + filling.color = reagents.get_color() overlays += filling if (!is_open_container()) @@ -231,7 +186,6 @@ possible_transfer_amounts = list(5,10,15,25,30,60,120,300) flags = OPENCONTAINER - /obj/item/weapon/reagent_containers/glass/beaker/vial name = "vial" desc = "A small glass vial." @@ -282,18 +236,6 @@ var/image/lid = image(icon, src, "lid_[initial(icon_state)]") overlays += lid -// vials are defined twice, what? -/* -/obj/item/weapon/reagent_containers/glass/beaker/vial - name = "vial" - desc = "Small glass vial. Looks fragile." - icon_state = "vial" - g_amt = 500 - volume = 15 - amount_per_transfer_from_this = 5 - possible_transfer_amounts = list(1,5,15) - flags = OPENCONTAINER */ - /* /obj/item/weapon/reagent_containers/glass/blender_jug name = "Blender Jug" @@ -324,21 +266,4 @@ amount_per_transfer_from_this = 20 possible_transfer_amounts = list(10,20,30,60) volume = 120 - -/obj/item/weapon/reagent_containers/glass/dispenser - name = "reagent glass" - desc = "A reagent glass." - icon = 'icons/obj/chemical.dmi' - icon_state = "beaker0" - amount_per_transfer_from_this = 10 - flags = OPENCONTAINER - -/obj/item/weapon/reagent_containers/glass/dispenser/surfactant - name = "reagent glass (surfactant)" - icon_state = "liquid" - - New() - ..() - reagents.add_reagent("fluorosurfactant", 20) - */ diff --git a/code/modules/reagents/reagent_containers/glass/bottle.dm b/code/modules/reagents/reagent_containers/glass/bottle.dm index ab01d11eaf..cbfea73a94 100644 --- a/code/modules/reagents/reagent_containers/glass/bottle.dm +++ b/code/modules/reagents/reagent_containers/glass/bottle.dm @@ -48,7 +48,7 @@ if(80 to 90) filling.icon_state = "[icon_state]-80" if(91 to INFINITY) filling.icon_state = "[icon_state]-100" - filling.color = mix_color_from_reagents(reagents.reagent_list) + filling.color = reagents.get_color() overlays += filling if (!is_open_container()) diff --git a/code/modules/reagents/reagent_containers/hypospray.dm b/code/modules/reagents/reagent_containers/hypospray.dm index fd3557b62f..c5153510d7 100644 --- a/code/modules/reagents/reagent_containers/hypospray.dm +++ b/code/modules/reagents/reagent_containers/hypospray.dm @@ -21,27 +21,22 @@ /obj/item/weapon/reagent_containers/hypospray/attack(mob/M as mob, mob/user as mob) if(!reagents.total_volume) - user << "\red [src] is empty." + user << "[src] is empty." return - if (!( istype(M, /mob) )) + if (!istype(M)) return - if (reagents.total_volume) - user << "\blue You inject [M] with [src]." - M << "\red You feel a tiny prick!" + user << "You inject [M] with [src]." + M << "You feel a tiny prick!" - src.reagents.reaction(M, INGEST) - if(M.reagents) + if(M.reagents) - var/list/injected = list() - for(var/datum/reagent/R in src.reagents.reagent_list) - injected += R.name - var/contained = english_list(injected) - M.attack_log += text("\[[time_stamp()]\] Has been injected with [src.name] by [user.name] ([user.ckey]). Reagents: [contained]") - user.attack_log += text("\[[time_stamp()]\] Used the [src.name] to inject [M.name] ([M.key]). Reagents: [contained]") - msg_admin_attack("[user.name] ([user.ckey]) injected [M.name] ([M.key]) with [src.name]. Reagents: [contained] (INTENT: [uppertext(user.a_intent)]) (JMP)") + var/contained = reagentlist() + M.attack_log += text("\[[time_stamp()]\] Has been injected with [name] by [user.name] ([user.ckey]). Reagents: [contained]") + user.attack_log += text("\[[time_stamp()]\] Used the [name] to inject [M.name] ([M.key]). Reagents: [contained]") + msg_admin_attack("[user.name] ([user.ckey]) injected [M.name] ([M.key]) with [name]. Reagents: [contained] (INTENT: [uppertext(user.a_intent)]) (JMP)") - var/trans = reagents.trans_to(M, amount_per_transfer_from_this) - user << "\blue [trans] units injected. [reagents.total_volume] units remaining in [src]." + var/trans = reagents.trans_to_mob(M, amount_per_transfer_from_this, CHEM_BLOOD) + user << "[trans] units injected. [reagents.total_volume] units remaining in \the [src]." return @@ -76,6 +71,6 @@ /obj/item/weapon/reagent_containers/hypospray/autoinjector/examine(mob/user) ..(user) if(reagents && reagents.reagent_list.len) - user << "\blue It is currently loaded." + user << "It is currently loaded." else - user << "\blue It is spent." + user << "It is spent." diff --git a/code/modules/reagents/reagent_containers/pill.dm b/code/modules/reagents/reagent_containers/pill.dm index 804b0347be..830da0e51c 100644 --- a/code/modules/reagents/reagent_containers/pill.dm +++ b/code/modules/reagents/reagent_containers/pill.dm @@ -14,53 +14,47 @@ New() ..() if(!icon_state) - icon_state = "pill[rand(1,20)]" + icon_state = "pill[rand(1, 20)]" - attack_self(mob/user as mob) - return attack(mob/M as mob, mob/user as mob, def_zone) if(M == user) if(istype(M, /mob/living/carbon/human)) var/mob/living/carbon/human/H = M if(H.species.flags & IS_SYNTHETIC) - H << "\red You have a monitor for a head, where do you think you're going to put that?" + H << "You have a monitor for a head, where do you think you're going to put that?" return - M << "\blue You swallow [src]." + M << "You swallow \the [src]." M.drop_from_inventory(src) //icon update if(reagents.total_volume) - reagents.trans_to_ingest(M, reagents.total_volume) - del(src) - else - del(src) + reagents.trans_to_mob(M, reagents.total_volume, CHEM_INGEST) + del(src) return 1 - else if(istype(M, /mob/living/carbon/human) ) + else if(istype(M, /mob/living/carbon/human)) var/mob/living/carbon/human/H = M if(H.species.flags & IS_SYNTHETIC) - H << "\red They have a monitor for a head, where do you think you're going to put that?" + H << "They have a monitor for a head, where do you think you're going to put that?" return - for(var/mob/O in viewers(world.view, user)) - O.show_message("\red [user] attempts to force [M] to swallow [src].", 1) + user.visible_message("[user] attempts to force [M] to swallow \the [src].") - if(!do_mob(user, M)) return + if(!do_mob(user, M)) + return user.drop_from_inventory(src) //icon update - for(var/mob/O in viewers(world.view, user)) - O.show_message("\red [user] forces [M] to swallow [src].", 1) + user.visible_message("[user] forces [M] to swallow \the [src].") - M.attack_log += text("\[[time_stamp()]\] Has been fed [src.name] by [user.name] ([user.ckey]) Reagents: [reagentlist(src)]") - user.attack_log += text("\[[time_stamp()]\] Fed [M.name] by [M.name] ([M.ckey]) Reagents: [reagentlist(src)]") - msg_admin_attack("[user.name] ([user.ckey]) fed [M.name] ([M.ckey]) with [src.name] Reagents: [reagentlist(src)] (INTENT: [uppertext(user.a_intent)]) (JMP)") + var/contained = reagentlist() + M.attack_log += text("\[[time_stamp()]\] Has been fed [name] by [user.name] ([user.ckey]) Reagents: [contained]") + user.attack_log += text("\[[time_stamp()]\] Fed [name] by [M.name] ([M.ckey]) Reagents: [contained]") + msg_admin_attack("[user.name] ([user.ckey]) fed [M.name] ([M.ckey]) with [name] Reagents: [contained] (INTENT: [uppertext(user.a_intent)]) (JMP)") if(reagents.total_volume) - reagents.trans_to_ingest(M, reagents.total_volume) - del(src) - else - del(src) + reagents.trans_to_mob(M, reagents.total_volume, CHEM_INGEST) + del(src) return 1 @@ -69,21 +63,20 @@ afterattack(obj/target, mob/user, proximity) if(!proximity) return - if(target.is_open_container() != 0 && target.reagents) + if(target.is_open_container() && target.reagents) if(!target.reagents.total_volume) - user << "\red [target] is empty. Cant dissolve pill." + user << "[target] is empty. Can't dissolve \the [src]." return - user << "\blue You dissolve the pill in [target]" + user << "You dissolve \the [src] in [target]." - user.attack_log += text("\[[time_stamp()]\] Spiked \a [target] with a pill. Reagents: [reagentlist(src)]") - msg_admin_attack("[user.name] ([user.ckey]) spiked \a [target] with a pill. Reagents: [reagentlist(src)] (INTENT: [uppertext(user.a_intent)]) (JMP)") + user.attack_log += text("\[[time_stamp()]\] Spiked \a [target] with a pill. Reagents: [reagentlist()]") + msg_admin_attack("[user.name] ([user.ckey]) spiked \a [target] with a pill. Reagents: [reagentlist()] (INTENT: [uppertext(user.a_intent)]) (JMP)") reagents.trans_to(target, reagents.total_volume) for(var/mob/O in viewers(2, user)) - O.show_message("\red [user] puts something in \the [target].", 1) + O.show_message("[user] puts something in \the [target].", 1) - spawn(5) - del(src) + del(src) return diff --git a/code/modules/reagents/reagent_containers/robodropper.dm b/code/modules/reagents/reagent_containers/robodropper.dm deleted file mode 100644 index 475a29c331..0000000000 --- a/code/modules/reagents/reagent_containers/robodropper.dm +++ /dev/null @@ -1,98 +0,0 @@ - -/obj/item/weapon/reagent_containers/robodropper - name = "Industrial Dropper" - desc = "A larger dropper. Transfers 10 units." - icon = 'icons/obj/chemical.dmi' - icon_state = "dropper0" - amount_per_transfer_from_this = 10 - possible_transfer_amounts = list(1,2,3,4,5,6,7,8,9,10) - volume = 10 - var/filled = 0 - - afterattack(obj/target, mob/user , flag) - if(!target.reagents) return - - if(filled) - - if(target.reagents.total_volume >= target.reagents.maximum_volume) - user << "\red [target] is full." - return - - if(!target.is_open_container() && !ismob(target) && !istype(target,/obj/item/weapon/reagent_containers/food)) //You can inject humans and food but you cant remove the shit. - user << "\red You cannot directly fill this object." - return - - - var/trans = 0 - - if(ismob(target)) - if(istype(target , /mob/living/carbon/human)) - var/mob/living/carbon/human/victim = target - - var/obj/item/safe_thing = null - if( victim.wear_mask ) - if ( victim.wear_mask.flags & MASKCOVERSEYES ) - safe_thing = victim.wear_mask - if( victim.head ) - if ( victim.head.flags & MASKCOVERSEYES ) - safe_thing = victim.head - if(victim.glasses) - if ( !safe_thing ) - safe_thing = victim.glasses - - if(safe_thing) - if(!safe_thing.reagents) - safe_thing.create_reagents(100) - trans = src.reagents.trans_to(safe_thing, amount_per_transfer_from_this) - - for(var/mob/O in viewers(world.view, user)) - O.show_message(text("\red [] tries to squirt something into []'s eyes, but fails!", user, target), 1) - spawn(5) - src.reagents.reaction(safe_thing, TOUCH) - - - user << "\blue You transfer [trans] units of the solution." - if (src.reagents.total_volume<=0) - filled = 0 - icon_state = "dropper[filled]" - return - - - for(var/mob/O in viewers(world.view, user)) - O.show_message(text("\red [] squirts something into []'s eyes!", user, target), 1) - src.reagents.reaction(target, TOUCH) - - var/mob/M = target - var/list/injected = list() - for(var/datum/reagent/R in src.reagents.reagent_list) - injected += R.name - var/contained = english_list(injected) - M.attack_log += text("\[[time_stamp()]\] Has been squirted with [src.name] by [user.name] ([user.ckey]). Reagents: [contained]") - user.attack_log += text("\[[time_stamp()]\] Used the [src.name] to squirt [M.name] ([M.key]). Reagents: [contained]") - msg_admin_attack("[user.name] ([user.ckey]) squirted [M.name] ([M.key]) with [src.name]. Reagents: [contained] (INTENT: [uppertext(user.a_intent)]) (JMP)") - - - trans = src.reagents.trans_to(target, amount_per_transfer_from_this) - user << "\blue You transfer [trans] units of the solution." - if (src.reagents.total_volume<=0) - filled = 0 - icon_state = "dropper[filled]" - - else - - if(!target.is_open_container() && !istype(target,/obj/structure/reagent_dispensers)) - user << "\red You cannot directly remove reagents from [target]." - return - - if(!target.reagents.total_volume) - user << "\red [target] is empty." - return - - var/trans = target.reagents.trans_to(src, amount_per_transfer_from_this) - - user << "\blue You fill the dropper with [trans] units of the solution." - - filled = 1 - icon_state = "dropper[filled]" - - return \ No newline at end of file diff --git a/code/modules/reagents/reagent_containers/spray.dm b/code/modules/reagents/reagent_containers/spray.dm index 1a25162526..c1fbdbf276 100644 --- a/code/modules/reagents/reagent_containers/spray.dm +++ b/code/modules/reagents/reagent_containers/spray.dm @@ -16,32 +16,21 @@ var/list/spray_sizes = list(1,3) volume = 250 - /obj/item/weapon/reagent_containers/spray/New() ..() src.verbs -= /obj/item/weapon/reagent_containers/verb/set_APTFT /obj/item/weapon/reagent_containers/spray/afterattack(atom/A as mob|obj, mob/user as mob, proximity) - if(istype(A, /obj/item/weapon/storage) || istype(A, /obj/structure/table) || istype(A, /obj/structure/closet) \ - || istype(A, /obj/item/weapon/reagent_containers) || istype(A, /obj/structure/sink) || istype(A, /obj/structure/janitorialcart)) + if(istype(A, /obj/item/weapon/storage) || istype(A, /obj/structure/table) || istype(A, /obj/structure/closet) || istype(A, /obj/item/weapon/reagent_containers) || istype(A, /obj/structure/sink) || istype(A, /obj/structure/janitorialcart)) return if(istype(A, /obj/effect/proc_holder/spell)) return - if(istype(A, /obj/structure/reagent_dispensers) && get_dist(src,A) <= 1) //this block copypasted from reagent_containers/glass, for lack of a better solution - if(!A.reagents.total_volume && A.reagents) - user << "\The [A] is empty." + if(proximity) + if(standard_dispenser_refill(user, A)) return - if(reagents.total_volume >= reagents.maximum_volume) - user << "\The [src] is full." - return - - var/trans = A.reagents.trans_to(src, A:amount_per_transfer_from_this) - user << "You fill \the [src] with [trans] units of the contents of \the [A]." - return - if(reagents.total_volume < amount_per_transfer_from_this) user << "\The [src] is empty!" return @@ -64,36 +53,17 @@ /obj/item/weapon/reagent_containers/spray/proc/Spray_at(atom/A as mob|obj, mob/user as mob, proximity) if (A.density && proximity) A.visible_message("[usr] sprays [A] with [src].") - var/obj/D = new/obj() - D.create_reagents(amount_per_transfer_from_this) - reagents.trans_to(D, amount_per_transfer_from_this) - D.icon += mix_color_from_reagents(D.reagents.reagent_list) - spawn(0) - D.reagents.reaction(A) - sleep(5) - del(D) + reagents.trans_to(A, amount_per_transfer_from_this) else - var/obj/effect/decal/chempuff/D = new/obj/effect/decal/chempuff(get_turf(src)) - D.create_reagents(amount_per_transfer_from_this) - reagents.trans_to(D, amount_per_transfer_from_this, 1/spray_size) - D.icon += mix_color_from_reagents(D.reagents.reagent_list) - - var/turf/A_turf = get_turf(A)//BS12 - spawn(0) - for(var/i=0, iYou adjusted the pressure nozzle. You'll now use [amount_per_transfer_from_this] units per spray." - /obj/item/weapon/reagent_containers/spray/examine(mob/user) - if(..(user, 0) && user==src.loc) - user << "[round(src.reagents.total_volume)] units left." + if(..(user, 0) && loc == user) + user << "[round(reagents.total_volume)] units left." return /obj/item/weapon/reagent_containers/spray/verb/empty() @@ -120,8 +89,7 @@ return if(isturf(usr.loc)) usr << "You empty \the [src] onto the floor." - reagents.reaction(usr.loc) - spawn(5) src.reagents.clear_reagents() + reagents.trans_to(usr.loc, reagents.total_volume) //space cleaner /obj/item/weapon/reagent_containers/spray/cleaner @@ -135,8 +103,8 @@ /obj/item/weapon/reagent_containers/spray/cleaner/New() ..() - reagents.add_reagent("cleaner", src.volume) -//pepperspray + reagents.add_reagent("cleaner", volume) + /obj/item/weapon/reagent_containers/spray/pepper name = "pepperspray" desc = "Manufactured by UhangInc, used to blind and down an opponent quickly." @@ -147,7 +115,6 @@ volume = 40 var/safety = 1 - /obj/item/weapon/reagent_containers/spray/pepper/New() ..() reagents.add_reagent("condensedcapsaicin", 40) @@ -166,7 +133,6 @@ return ..() -//water flower /obj/item/weapon/reagent_containers/spray/waterflower name = "water flower" desc = "A seemingly innocent sunflower...with a twist." @@ -181,7 +147,6 @@ ..() reagents.add_reagent("water", 10) -//chemsprayer /obj/item/weapon/reagent_containers/spray/chemsprayer name = "chem sprayer" desc = "A utility used to spray large amounts of reagent in a given area." @@ -194,47 +159,27 @@ volume = 600 origin_tech = "combat=3;materials=3;engineering=3" - -//this is a big copypasta clusterfuck, but it's still better than it used to be! /obj/item/weapon/reagent_containers/spray/chemsprayer/Spray_at(atom/A as mob|obj) - var/Sprays[3] - for(var/i=1, i<=3, i++) // intialize sprays - if(src.reagents.total_volume < 1) break - var/obj/effect/decal/chempuff/D = new/obj/effect/decal/chempuff(get_turf(src)) - D.create_reagents(amount_per_transfer_from_this) - src.reagents.trans_to(D, amount_per_transfer_from_this) - - D.icon += mix_color_from_reagents(D.reagents.reagent_list) - - Sprays[i] = D - var/direction = get_dir(src, A) var/turf/T = get_turf(A) var/turf/T1 = get_step(T,turn(direction, 90)) var/turf/T2 = get_step(T,turn(direction, -90)) - var/list/the_targets = list(T,T1,T2) - - for(var/i=1, i<=Sprays.len, i++) - spawn() - var/obj/effect/decal/chempuff/D = Sprays[i] - if(!D) continue - - // Spreads the sprays a little bit - var/turf/my_target = pick(the_targets) - the_targets -= my_target - - for(var/j=1, j<=rand(6,8), j++) - step_towards(D, my_target) - D.reagents.reaction(get_turf(D)) - for(var/atom/t in get_turf(D)) - D.reagents.reaction(t) - sleep(2) - del(D) + var/list/the_targets = list(T, T1, T2) + for(var/a = 1 to 3) + spawn(0) + if(reagents.total_volume < 1) break + var/obj/effect/effect/water/chempuff/D = new/obj/effect/effect/water/chempuff(get_turf(src)) + var/turf/my_target = the_targets[a] + D.create_reagents(amount_per_transfer_from_this) + if(!src) + return + reagents.trans_to_obj(D, amount_per_transfer_from_this) + D.set_color() + D.set_up(my_target, rand(6, 8), 2) return -// Plant-B-Gone -/obj/item/weapon/reagent_containers/spray/plantbgone // -- Skie +/obj/item/weapon/reagent_containers/spray/plantbgone name = "Plant-B-Gone" desc = "Kills those pesky weeds!" icon = 'icons/obj/hydroponics_machines.dmi' @@ -242,16 +187,14 @@ item_state = "plantbgone" volume = 100 - /obj/item/weapon/reagent_containers/spray/plantbgone/New() ..() reagents.add_reagent("plantbgone", 100) - /obj/item/weapon/reagent_containers/spray/plantbgone/afterattack(atom/A as mob|obj, mob/user as mob, proximity) if(!proximity) return - if (istype(A, /obj/effect/blob)) // blob damage in blob code + if(istype(A, /obj/effect/blob)) // blob damage in blob code return ..() \ No newline at end of file diff --git a/code/modules/reagents/reagent_containers/syringes.dm b/code/modules/reagents/reagent_containers/syringes.dm index 8aa34a7dca..6218d8fbac 100644 --- a/code/modules/reagents/reagent_containers/syringes.dm +++ b/code/modules/reagents/reagent_containers/syringes.dm @@ -13,12 +13,14 @@ icon_state = "0" matter = list("glass" = 150) amount_per_transfer_from_this = 5 - possible_transfer_amounts = null //list(5,10,15) + possible_transfer_amounts = null volume = 15 w_class = 1 sharp = 1 var/mode = SYRINGE_DRAW var/image/filling //holds a reference to the current filling overlay + var/visible_name = "a syringe" + var/time = 30 on_reagent_change() update_icon() @@ -47,18 +49,17 @@ update_icon() attackby(obj/item/I as obj, mob/user as mob) - return afterattack(obj/target, mob/user, proximity) - if(!proximity) return - if(!target.reagents) return - - if(mode == SYRINGE_BROKEN) - user << "\red This syringe is broken!" + if(!proximity || !target.reagents) return - if (user.a_intent == "hurt" && ismob(target)) + if(mode == SYRINGE_BROKEN) + user << "This syringe is broken!" + return + + if(user.a_intent == "hurt" && ismob(target)) if((CLUMSY in user.mutations) && prob(50)) target = user syringestab(target, user) @@ -68,86 +69,89 @@ switch(mode) if(SYRINGE_DRAW) - if(reagents.total_volume >= reagents.maximum_volume) - user << "\red The syringe is full." + if(!reagents.get_free_space()) + user << "The syringe is full." + mode = SYRINGE_INJECT return if(ismob(target))//Blood! - if(istype(target, /mob/living/carbon/slime)) - user << "\red You are unable to locate any blood." + if(reagents.has_reagent("blood")) + user << "There is already a blood sample in this syringe." return - if(src.reagents.has_reagent("blood")) - user << "\red There is already a blood sample in this syringe" - return - if(istype(target, /mob/living/carbon))//maybe just add a blood reagent to all mobs. Then you can suck them dry...With hundreds of syringes. Jolly good idea. - var/amount = src.reagents.maximum_volume - src.reagents.total_volume + if(istype(target, /mob/living/carbon)) + if(istype(target, /mob/living/carbon/slime)) + user << "You are unable to locate any blood." + return + var/amount = reagents.get_free_space() var/mob/living/carbon/T = target if(!T.dna) - usr << "You are unable to locate any blood. (To be specific, your target seems to be missing their DNA datum)" + user << "You are unable to locate any blood. (To be specific, your target seems to be missing their DNA datum)." return if(NOCLONE in T.mutations) //target done been et, no more blood in him - user << "\red You are unable to locate any blood." + user << "You are unable to locate any blood." return var/datum/reagent/B - if(istype(T,/mob/living/carbon/human)) + if(istype(T, /mob/living/carbon/human)) var/mob/living/carbon/human/H = T if(H.species && H.species.flags & NO_BLOOD) - H.reagents.trans_to(src,amount) + H.reagents.trans_to_obj(src, amount) else - B = T.take_blood(src,amount) + B = T.take_blood(src, amount) else B = T.take_blood(src,amount) if (B) - src.reagents.reagent_list += B - src.reagents.update_total() - src.on_reagent_change() - src.reagents.handle_reactions() - user << "\blue You take a blood sample from [target]" + reagents.reagent_list += B + reagents.update_total() + on_reagent_change() + reagents.handle_reactions() + user << "You take a blood sample from [target]." for(var/mob/O in viewers(4, user)) - O.show_message("\red [user] takes a blood sample from [target].", 1) + O.show_message("[user] takes a blood sample from [target].", 1) else //if not mob if(!target.reagents.total_volume) - user << "\red [target] is empty." + user << "[target] is empty." return - if(!target.is_open_container() && !istype(target,/obj/structure/reagent_dispensers) && !istype(target,/obj/item/slime_extract)) - user << "\red You cannot directly remove reagents from this object." + if(!target.is_open_container() && !istype(target, /obj/structure/reagent_dispensers) && !istype(target, /obj/item/slime_extract)) + user << "You cannot directly remove reagents from this object." return - var/trans = target.reagents.trans_to(src, amount_per_transfer_from_this) // transfer from, transfer to - who cares? + var/trans = target.reagents.trans_to_obj(src, amount_per_transfer_from_this) + user << "You fill the syringe with [trans] units of the solution." + update_icon() - user << "\blue You fill the syringe with [trans] units of the solution." - if (reagents.total_volume >= reagents.maximum_volume) - mode=!mode + if(!reagents.get_free_space()) + mode = SYRINGE_INJECT update_icon() if(SYRINGE_INJECT) if(!reagents.total_volume) - user << "\red The syringe is empty." + user << "The syringe is empty." + mode = SYRINGE_DRAW return if(istype(target, /obj/item/weapon/implantcase/chem)) return if(!target.is_open_container() && !ismob(target) && !istype(target, /obj/item/weapon/reagent_containers/food) && !istype(target, /obj/item/slime_extract) && !istype(target, /obj/item/clothing/mask/smokable/cigarette) && !istype(target, /obj/item/weapon/storage/fancy/cigarettes)) - user << "\red You cannot directly fill this object." + user << "You cannot directly fill this object." return - if(target.reagents.total_volume >= target.reagents.maximum_volume) - user << "\red [target] is full." + if(!target.reagents.get_free_space()) + user << "[target] is full." return if(ismob(target) && target != user) - var/time = 30 //Injecting through a hardsuit takes longer due to needing to find a port. + var/injtime = time //Injecting through a hardsuit takes longer due to needing to find a port. - if(istype(target,/mob/living/carbon/human)) + if(istype(target, /mob/living/carbon/human)) var/mob/living/carbon/human/H = target if(H.wear_suit) - if(istype(H.wear_suit,/obj/item/clothing/suit/space)) - time = 60 + if(istype(H.wear_suit, /obj/item/clothing/suit/space)) + injtime = injtime * 2 else if(!H.can_inject(user, 1)) return @@ -157,55 +161,43 @@ if(!M.can_inject(user, 1)) return - for(var/mob/O in viewers(world.view, user)) - if(time == 30) - O.show_message(text("\red [] is trying to inject []!", user, target), 1) - else - O.show_message(text("\red [] begins hunting for an injection port on []'s suit!", user, target), 1) - - if(!do_mob(user, target, time)) return - - for(var/mob/O in viewers(world.view, user)) - O.show_message(text("\red [] injects [] with the syringe!", user, target), 1) - - if(istype(target,/mob/living)) - var/mob/living/M = target - var/list/injected = list() - for(var/datum/reagent/R in src.reagents.reagent_list) - injected += R.name - var/contained = english_list(injected) - M.attack_log += text("\[[time_stamp()]\] Has been injected with [src.name] by [user.name] ([user.ckey]). Reagents: [contained]") - user.attack_log += text("\[[time_stamp()]\] Used the [src.name] to inject [M.name] ([M.key]). Reagents: [contained]") - msg_admin_attack("[user.name] ([user.ckey]) injected [M.name] ([M.key]) with [src.name]. Reagents: [contained] (INTENT: [uppertext(user.a_intent)]) (JMP)") - - src.reagents.reaction(target, INGEST) - if(ismob(target) && target == user) - src.reagents.reaction(target, INGEST) - spawn(5) - var/datum/reagent/blood/B - for(var/datum/reagent/blood/d in src.reagents.reagent_list) - B = d - break - var/trans - if(B && istype(target,/mob/living/carbon)) - var/mob/living/carbon/C = target - C.inject_blood(src,5) + if(injtime == time) + user.visible_message("[user] is trying to inject [target] with [visible_name]!") else - trans = src.reagents.trans_to(target, amount_per_transfer_from_this) - user << "\blue You inject [trans] units of the solution. The syringe now contains [src.reagents.total_volume] units." - if (reagents.total_volume <= 0 && mode==SYRINGE_INJECT) - mode = SYRINGE_DRAW - update_icon() + user.visible_message("[user] begins hunting for an injection port on [target]'s suit!") + + if(!do_mob(user, target, injtime)) + return + + user.visible_message("[user] injects [target] with the syringe!") + + if(istype(target, /mob/living)) + var/mob/living/M = target + var/contained = reagentlist() + M.attack_log += text("\[[time_stamp()]\] Has been injected with [name] by [user.name] ([user.ckey]). Reagents: [contained]") + user.attack_log += text("\[[time_stamp()]\] Used the [name] to inject [M.name] ([M.key]). Reagents: [contained]") + msg_admin_attack("[user.name] ([user.ckey]) injected [M.name] ([M.key]) with [name]. Reagents: [contained] (INTENT: [uppertext(user.a_intent)]) (JMP)") + + var/trans + if(ismob(target)) + trans = reagents.trans_to_mob(target, amount_per_transfer_from_this, CHEM_BLOOD) + else + trans = reagents.trans_to(target, amount_per_transfer_from_this) + user << "You inject [trans] units of the solution. The syringe now contains [src.reagents.total_volume] units." + if (reagents.total_volume <= 0 && mode == SYRINGE_INJECT) + mode = SYRINGE_DRAW + update_icon() return update_icon() + overlays.Cut() + if(mode == SYRINGE_BROKEN) icon_state = "broken" - overlays.Cut() return - var/rounded_vol = round(reagents.total_volume,5) - overlays.Cut() + + var/rounded_vol = round(reagents.total_volume, round(reagents.maximum_volume / 3)) if(ismob(loc)) var/injoverlay switch(mode) @@ -222,10 +214,9 @@ filling.icon_state = "syringe[rounded_vol]" - filling.color = mix_color_from_reagents(reagents.reagent_list) + filling.color = reagents.get_color() overlays += filling - proc/syringestab(mob/living/carbon/target as mob, mob/living/carbon/user as mob) user.attack_log += "\[[time_stamp()]\] Attacked [target.name] ([target.ckey]) with [src.name] (INTENT: [uppertext(user.a_intent)])" @@ -234,8 +225,10 @@ if(istype(target, /mob/living/carbon/human)) + var/mob/living/carbon/human/H = target + var/target_zone = ran_zone(check_zone(user.zone_sel.selecting, target)) - var/datum/organ/external/affecting = target:get_organ(target_zone) + var/datum/organ/external/affecting = H.get_organ(target_zone) if (!affecting) return @@ -244,160 +237,58 @@ return var/hit_area = affecting.display_name - var/mob/living/carbon/human/H = target if((user != target) && H.check_shields(7, "the [src.name]")) return - if (target != user && target.getarmor(target_zone, "melee") > 5 && prob(50)) + if (target != user && H.getarmor(target_zone, "melee") > 5 && prob(50)) for(var/mob/O in viewers(world.view, user)) O.show_message(text("\red [user] tries to stab [target] in \the [hit_area] with [src.name], but the attack is deflected by armor!"), 1) user.u_equip(src) del(src) return - for(var/mob/O in viewers(world.view, user)) - O.show_message(text("\red [user] stabs [target] in \the [hit_area] with [src.name]!"), 1) + user.visible_message("[user] stabs [target] in \the [hit_area] with [src.name]!") if(affecting.take_damage(3)) - target:UpdateDamageIcon() + H.UpdateDamageIcon() else - for(var/mob/O in viewers(world.view, user)) - O.show_message(text("\red [user] stabs [target] with [src.name]!"), 1) + user.visible_message("[user] stabs [target] with [src.name]!") target.take_organ_damage(3)// 7 is the same as crowbar punch - src.reagents.reaction(target, INGEST) var/syringestab_amount_transferred = rand(0, (reagents.total_volume - 5)) //nerfed by popular demand - src.reagents.trans_to(target, syringestab_amount_transferred) - src.break_syringe(target, user) - + reagents.trans_to_mob(target, syringestab_amount_transferred, CHEM_BLOOD) + break_syringe(target, user) + proc/break_syringe(mob/living/carbon/target, mob/living/carbon/user) - src.desc += " It is broken." - src.mode = SYRINGE_BROKEN + desc += " It is broken." + mode = SYRINGE_BROKEN if(target) - src.add_blood(target) + add_blood(target) if(user) - src.add_fingerprint(user) - src.update_icon() + add_fingerprint(user) + update_icon() - - -/obj/item/weapon/reagent_containers/ld50_syringe +/obj/item/weapon/reagent_containers/syringe/ld50_syringe name = "Lethal Injection Syringe" desc = "A syringe used for lethal injections." - icon = 'icons/obj/syringe.dmi' - item_state = "syringe_0" - icon_state = "0" amount_per_transfer_from_this = 50 - possible_transfer_amounts = null //list(5,10,15) volume = 50 - var/mode = SYRINGE_DRAW + visible_name = "a giant syringe" + time = 300 - on_reagent_change() - update_icon() - - pickup(mob/user) + afterattack(obj/target, mob/user, flag) + if(mode == SYRINGE_DRAW && ismob(target)) // No drawing 50 units of blood at once + user << "This needle isn't designed for drawing blood." + return + if(user.a_intent == "hurt" && ismob(target)) // No instant injecting + user << "This syringe is too big to stab someone with it." ..() - update_icon() - - dropped(mob/user) - ..() - update_icon() - - attack_self(mob/user as mob) - mode = !mode - update_icon() - - attack_hand() - ..() - update_icon() - - attackby(obj/item/I as obj, mob/user as mob) - - return - - afterattack(obj/target, mob/user , flag) - if(!target.reagents) return - - switch(mode) - if(SYRINGE_DRAW) - - if(reagents.total_volume >= reagents.maximum_volume) - user << "\red The syringe is full." - return - - if(ismob(target)) - if(istype(target, /mob/living/carbon))//I Do not want it to suck 50 units out of people - usr << "This needle isn't designed for drawing blood." - return - else //if not mob - if(!target.reagents.total_volume) - user << "\red [target] is empty." - return - - if(!target.is_open_container() && !istype(target,/obj/structure/reagent_dispensers)) - user << "\red You cannot directly remove reagents from this object." - return - - var/trans = target.reagents.trans_to(src, amount_per_transfer_from_this) // transfer from, transfer to - who cares? - - user << "\blue You fill the syringe with [trans] units of the solution." - if (reagents.total_volume >= reagents.maximum_volume) - mode=!mode - update_icon() - - if(SYRINGE_INJECT) - if(!reagents.total_volume) - user << "\red The Syringe is empty." - return - if(istype(target, /obj/item/weapon/implantcase/chem)) - return - if(!target.is_open_container() && !ismob(target) && !istype(target, /obj/item/weapon/reagent_containers/food)) - user << "\red You cannot directly fill this object." - return - if(target.reagents.total_volume >= target.reagents.maximum_volume) - user << "\red [target] is full." - return - - if(ismob(target) && target != user) - for(var/mob/O in viewers(world.view, user)) - O.show_message(text("\red [] is trying to inject [] with a giant syringe!", user, target), 1) - if(!do_mob(user, target, 300)) return - for(var/mob/O in viewers(world.view, user)) - O.show_message(text("\red [] injects [] with a giant syringe!", user, target), 1) - src.reagents.reaction(target, INGEST) - if(ismob(target) && target == user) - src.reagents.reaction(target, INGEST) - spawn(5) - var/trans = src.reagents.trans_to(target, amount_per_transfer_from_this) - user << "\blue You inject [trans] units of the solution. The syringe now contains [src.reagents.total_volume] units." - if (reagents.total_volume >= reagents.maximum_volume && mode==SYRINGE_INJECT) - mode = SYRINGE_DRAW - update_icon() - return - - - update_icon() - var/rounded_vol = round(reagents.total_volume,50) - if(ismob(loc)) - var/mode_t - switch(mode) - if (SYRINGE_DRAW) - mode_t = "d" - if (SYRINGE_INJECT) - mode_t = "i" - icon_state = "[mode_t][rounded_vol]" - else - icon_state = "[rounded_vol]" - item_state = "syringe_[rounded_vol]" - //////////////////////////////////////////////////////////////////////////////// /// Syringes. END //////////////////////////////////////////////////////////////////////////////// - - /obj/item/weapon/reagent_containers/syringe/inaprovaline name = "Syringe (inaprovaline)" desc = "Contains inaprovaline - used to stabilize patients." @@ -436,40 +327,9 @@ mode = SYRINGE_INJECT update_icon() -/obj/item/weapon/reagent_containers/ld50_syringe/choral +/obj/item/weapon/reagent_containers/syringe/ld50_syringe/choral New() ..() reagents.add_reagent("chloralhydrate", 50) mode = SYRINGE_INJECT update_icon() - - -//Robot syringes -//Not special in any way, code wise. They don't have added variables or procs. -/obj/item/weapon/reagent_containers/syringe/robot/antitoxin - name = "Syringe (anti-toxin)" - desc = "Contains anti-toxins." - New() - ..() - reagents.add_reagent("anti_toxin", 15) - mode = SYRINGE_INJECT - update_icon() - -/obj/item/weapon/reagent_containers/syringe/robot/inoprovaline - name = "Syringe (inoprovaline)" - desc = "Contains inaprovaline - used to stabilize patients." - New() - ..() - reagents.add_reagent("inaprovaline", 15) - mode = SYRINGE_INJECT - update_icon() - -/obj/item/weapon/reagent_containers/syringe/robot/mixed - name = "Syringe (mixed)" - desc = "Contains inaprovaline & anti-toxins." - New() - ..() - reagents.add_reagent("inaprovaline", 7) - reagents.add_reagent("anti_toxin", 8) - mode = SYRINGE_INJECT - update_icon() \ No newline at end of file diff --git a/code/modules/research/circuitprinter.dm b/code/modules/research/circuitprinter.dm index a16e5653a9..323f06c451 100644 --- a/code/modules/research/circuitprinter.dm +++ b/code/modules/research/circuitprinter.dm @@ -66,7 +66,7 @@ using metal and glass, it uses glass and reagents (usually sulfuric acis). /obj/machinery/r_n_d/circuit_imprinter/dismantle() for(var/obj/I in component_parts) if(istype(I, /obj/item/weapon/reagent_containers/glass/beaker)) - reagents.trans_to(I, reagents.total_volume) + reagents.trans_to_obj(I, reagents.total_volume) if(g_amount >= 3750) var/obj/item/stack/sheet/glass/G = new /obj/item/stack/sheet/glass(loc) G.amount = round(g_amount / 3750) diff --git a/code/modules/research/protolathe.dm b/code/modules/research/protolathe.dm index 22df4b82dd..d8198f7e4c 100644 --- a/code/modules/research/protolathe.dm +++ b/code/modules/research/protolathe.dm @@ -61,7 +61,7 @@ Note: Must be placed west/left of and R&D console to function. /obj/machinery/r_n_d/protolathe/dismantle() for(var/obj/I in component_parts) if(istype(I, /obj/item/weapon/reagent_containers/glass/beaker)) - reagents.trans_to(I, reagents.total_volume) + reagents.trans_to_obj(I, reagents.total_volume) if(m_amount >= 3750) var/obj/item/stack/sheet/metal/G = new /obj/item/stack/sheet/metal(loc) G.amount = round(m_amount / G.perunit) diff --git a/code/modules/research/xenoarchaeology/chemistry.dm b/code/modules/research/xenoarchaeology/chemistry.dm index f5b718dcf0..3b5448cf16 100644 --- a/code/modules/research/xenoarchaeology/chemistry.dm +++ b/code/modules/research/xenoarchaeology/chemistry.dm @@ -1,74 +1,5 @@ //chemistry stuff here so that it can be easily viewed/modified -datum - reagent - tungsten - name = "Tungsten" - id = "tungsten" - description = "A chemical element, and a strong oxidising agent." - reagent_state = SOLID - color = "#DCDCDC" // rgb: 220, 220, 220, silver - - lithiumsodiumtungstate - name = "Lithium Sodium Tungstate" - id = "lithiumsodiumtungstate" - description = "A reducing agent for geological compounds." - reagent_state = LIQUID - color = "#C0C0C0" // rgb: 192, 192, 192, darker silver - - ground_rock - name = "Ground Rock" - id = "ground_rock" - description = "A fine dust made of ground up rock." - reagent_state = SOLID - color = "#A0522D" //rgb: 160, 82, 45, brown - - density_separated_sample - name = "Density separated sample" - id = "density_separated_sample" - description = "A watery paste used in chemical analysis, there are some chunks floating in it." - reagent_state = LIQUID - color = "#DEB887" //rgb: 222, 184, 135, light brown - - analysis_sample - name = "Analysis liquid" - id = "analysis_sample" - description = "A watery paste used in chemical analysis." - reagent_state = LIQUID - color = "#F5FFFA" //rgb: 245, 255, 250, almost white - - chemical_waste - name = "Chemical Waste" - id = "chemical_waste" - description = "A viscous, toxic liquid left over from many chemical processes." - reagent_state = LIQUID - color = "#ADFF2F" //rgb: 173, 255, 47, toxic green - -datum - chemical_reaction - lithiumsodiumtungstate //LiNa2WO4, not the easiest chem to mix - name = "Lithium Sodium Tungstate" - id = "lithiumsodiumtungstate" - result = "lithiumsodiumtungstate" - required_reagents = list("lithium" = 1, "sodium" = 2, "tungsten" = 1, "oxygen" = 4) - result_amount = 8 - - density_separated_liquid - name = "Density separated sample" - id = "density_separated_sample" - result = "density_separated_sample" - secondary_results = list("chemical_waste" = 1) - required_reagents = list("ground_rock" = 1, "lithiumsodiumtungstate" = 2) - result_amount = 2 - - analysis_liquid - name = "Analysis sample" - id = "analysis_sample" - result = "analysis_sample" - secondary_results = list("chemical_waste" = 1) - required_reagents = list("density_separated_sample" = 5) - result_amount = 4 - requires_heating = 1 /obj/item/weapon/reagent_containers/glass/solution_tray name = "solution tray" diff --git a/code/modules/research/xenoarchaeology/machinery/coolant.dm b/code/modules/research/xenoarchaeology/machinery/coolant.dm index b2f2cd3d67..39a07eee29 100644 --- a/code/modules/research/xenoarchaeology/machinery/coolant.dm +++ b/code/modules/research/xenoarchaeology/machinery/coolant.dm @@ -1,20 +1,3 @@ - -datum/reagent/coolant - name = "Coolant" - id = "coolant" - description = "Industrial cooling substance." - reagent_state = LIQUID - color = "#C8A5DC" // rgb: 200, 165, 220 - -datum/chemical_reaction/coolant - name = "Coolant" - id = "coolant" - result = "coolant" - required_reagents = list("tungsten" = 1, "oxygen" = 1, "water" = 1) - result_amount = 3 - - - /obj/structure/reagent_dispensers/coolanttank name = "coolant tank" desc = "A tank of industrial coolant" diff --git a/code/modules/surgery/other.dm b/code/modules/surgery/other.dm index c954c16de6..6ad8387c3d 100644 --- a/code/modules/surgery/other.dm +++ b/code/modules/surgery/other.dm @@ -144,9 +144,8 @@ var/obj/item/weapon/reagent_containers/container = tool - var/trans = container.reagents.trans_to(target, container.amount_per_transfer_from_this) + var/trans = container.reagents.trans_to_mob(target, container.amount_per_transfer_from_this, CHEM_BLOOD) //technically it's contact, but the reagents are being applied to internal tissue if (trans > 0) - container.reagents.reaction(target, INGEST) //technically it's contact, but the reagents are being applied to internal tissue if(container.reagents.has_reagent("peridaxon")) affected.status &= ~ORGAN_DEAD @@ -162,8 +161,7 @@ var/obj/item/weapon/reagent_containers/container = tool - var/trans = container.reagents.trans_to(target, container.amount_per_transfer_from_this) - container.reagents.reaction(target, INGEST) //technically it's contact, but the reagents are being applied to internal tissue + var/trans = container.reagents.trans_to_mob(target, container.amount_per_transfer_from_this, CHEM_BLOOD) user.visible_message("\red [user]'s hand slips, applying [trans] units of the solution to the wrong place in [target]'s [affected.display_name] with the [tool]!" , \ "\red Your hand slips, applying [trans] units of the solution to the wrong place in [target]'s [affected.display_name] with the [tool]!") diff --git a/code/modules/virus2/antibodies.dm b/code/modules/virus2/antibodies.dm index e203560e6d..a340aae4dd 100644 --- a/code/modules/virus2/antibodies.dm +++ b/code/modules/virus2/antibodies.dm @@ -55,10 +55,10 @@ datum/reagent/antibodies reagent_state = LIQUID color = "#0050F0" - reaction_mob(var/mob/M, var/method=TOUCH, var/volume) + reaction_mob(var/mob/M, var/method=CHEM_TOUCH, var/volume) if(istype(M,/mob/living/carbon)) var/mob/living/carbon/C = M - if(src.data && method == INGEST) + if(src.data && method == CHEM_INGEST) //if(C.virus2) if(src.data["antibodies"] & C.virus2.antigen) // C.virus2.dead = 1 C.antibodies |= src.data["antibodies"] diff --git a/code/modules/virus2/dishincubator.dm b/code/modules/virus2/dishincubator.dm index 6882e8e622..b176dd3d5e 100644 --- a/code/modules/virus2/dishincubator.dm +++ b/code/modules/virus2/dishincubator.dm @@ -134,7 +134,7 @@ if (locate(/datum/reagent/toxin) in beaker.reagents.reagent_list) for(var/datum/reagent/toxin/T in beaker.reagents.reagent_list) - toxins += max(T.toxpwr,1) + toxins += max(T.strength,1) beaker.reagents.remove_reagent(T.id,1) nanomanager.update_uis(src) diff --git a/code/modules/virus2/effect.dm b/code/modules/virus2/effect.dm index 8b6d9f30e8..476e7d68cb 100644 --- a/code/modules/virus2/effect.dm +++ b/code/modules/virus2/effect.dm @@ -290,7 +290,7 @@ if(c_data) data = c_data else - data = pick("bicaridine", "kelotane", "dylovene", "inaprovaline", "space_drugs", "sugar", + data = pick("bicaridine", "kelotane", "anti_toxin", "inaprovaline", "space_drugs", "sugar", "tramadol", "dexalin", "cryptobiolin", "impedrezene", "hyperzine", "ethylredoxrazine", "mindbreaker", "nutriment") var/datum/reagent/R = chemical_reagents_list[data] diff --git a/code/setup.dm b/code/setup.dm index cee4313d93..a29a848301 100644 --- a/code/setup.dm +++ b/code/setup.dm @@ -94,9 +94,15 @@ #define DOOR_CRUSH_DAMAGE 10 #define HUNGER_FACTOR 0.05 // Factor of how fast mob nutrition decreases -#define REAGENTS_METABOLISM 0.2 // How many units of reagent are consumed per tick, by default. -#define REAGENTS_EFFECT_MULTIPLIER (REAGENTS_METABOLISM / 0.4) // By defining the effect multiplier this way, it'll exactly adjust - // all effects according to how they originally were with the 0.4 metabolism +#define REM 0.2 // Means 'Reagent Effect Multiplier'. This is how many units of reagent are consumed per tick +#define CHEM_TOUCH 1 +#define CHEM_INGEST 2 +#define CHEM_BLOOD 3 +#define MINIMUM_CHEMICAL_VOLUME 0.01 +#define SOLID 1 +#define LIQUID 2 +#define GAS 3 +#define REAGENTS_OVERDOSE 30 #define MINIMUM_AIR_RATIO_TO_SUSPEND 0.05 // Minimum ratio of air that must move to/from a tile to suspend group processing #define MINIMUM_AIR_TO_SUSPEND (MOLES_CELLSTANDARD * MINIMUM_AIR_RATIO_TO_SUSPEND) // Minimum amount of air that has to move before a group processing can be suspended @@ -733,10 +739,6 @@ var/list/be_special_flags = list( #define ATMOS_DEFAULT_VOLUME_MIXER 200 // L. #define ATMOS_DEFAULT_VOLUME_PIPE 70 // L. -// Reagent metabolism defines. -#define FOOD_METABOLISM 0.4 -#define ALCOHOL_METABOLISM 0.1 - // Chemistry. #define CHEM_SYNTH_ENERGY 500 // How much energy does it take to synthesize 1 unit of chemical, in Joules. diff --git a/maps/exodus-1.dmm b/maps/exodus-1.dmm index 5a598b2962..69ae485267 100644 --- a/maps/exodus-1.dmm +++ b/maps/exodus-1.dmm @@ -221,8 +221,8 @@ "aem" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/security/main) "aen" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "redcorner"},/area/security/main) "aeo" = (/obj/machinery/door/airlock/security{name = "Evidence Storage"; req_access = list(1)},/turf/simulated/floor,/area/security/brig) -"aep" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/security/main) -"aeq" = (/obj/structure/bed/chair/office/dark{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/security/main) +"aep" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/security/main) +"aeq" = (/obj/structure/bed/chair/office/dark{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/security/main) "aer" = (/obj/structure/table,/obj/item/weapon/folder/red,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/security/main) "aes" = (/obj/structure/table,/obj/item/weapon/book/manual/security_space_law,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor,/area/security/main) "aet" = (/obj/structure/bed/chair/office/dark{dir = 8},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor,/area/security/main) @@ -907,7 +907,7 @@ "arw" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable/green,/turf/simulated/floor/plating,/area/security/prison) "arx" = (/turf/simulated/wall/r_wall,/area/security/lobby) "ary" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/effect/decal/cleanable/blood/oil,/turf/simulated/floor/plating,/area/maintenance/security_starboard) -"arz" = (/obj/structure/closet/crate/secure{name = "FOR DISPOSAL"; req_access = list(58)},/obj/item/clothing/glasses/sunglasses/blindfold,/obj/item/clothing/mask/balaclava,/obj/effect/decal/cleanable/cobweb2,/obj/item/clothing/mask/muzzle,/obj/item/weapon/reagent_containers/ld50_syringe/choral,/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor/plating,/area/maintenance/security_port) +"arz" = (/obj/structure/closet/crate/secure{name = "FOR DISPOSAL"; req_access = list(58)},/obj/item/clothing/glasses/sunglasses/blindfold,/obj/item/clothing/mask/balaclava,/obj/effect/decal/cleanable/cobweb2,/obj/item/clothing/mask/muzzle,/obj/item/weapon/reagent_containers/syringe/ld50_syringe/choral,/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor/plating,/area/maintenance/security_port) "arA" = (/turf/simulated/wall/r_wall,/area/hallway/primary/fore) "arB" = (/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating/airless,/area/solar/fore) "arC" = (/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/door/airlock/maintenance{name = "Security Maintenance"; req_access = list(1)},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/security/main) From 30c6646671fd0c5b1760c91157aef990ee06cce5 Mon Sep 17 00:00:00 2001 From: Kelenius Date: Sat, 28 Mar 2015 19:01:51 +0300 Subject: [PATCH 002/305] Separates affect_mob into three procs --- code/modules/mob/living/carbon/human/life.dm | 2 +- code/modules/reagents/Chemistry-Reagents.dm | 996 +++++++++--------- .../reagent_containers/food/drinks/bottle.dm | 2 +- 3 files changed, 471 insertions(+), 529 deletions(-) diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 5bcd6a178b..1745477f9a 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -1488,7 +1488,7 @@ if(R.id in heartstopper) //To avoid using fakedeath temp = PULSE_NONE if(R.id in cheartstopper) //Conditional heart-stoppage - if(R.volume >= R.overdose_blood) + if(R.volume >= R.overdose) temp = PULSE_NONE return temp diff --git a/code/modules/reagents/Chemistry-Reagents.dm b/code/modules/reagents/Chemistry-Reagents.dm index f3c79c7aae..8f82e31f7a 100644 --- a/code/modules/reagents/Chemistry-Reagents.dm +++ b/code/modules/reagents/Chemistry-Reagents.dm @@ -11,8 +11,7 @@ var/touch_met = 0 var/dose = 0 var/max_dose = 0 - var/overdose_blood = 0 - var/overdose_ingest = 0 + var/overdose = 0 var/scannable = 0 // Shows up on health analyzers. var/affects_dead = 0 var/glass_icon_state = null @@ -39,7 +38,7 @@ return if(!affects_dead && M.stat == DEAD) return - if((overdose_blood && (location == CHEM_BLOOD) && dose > overdose_blood) || (overdose_ingest && (location == CHEM_INGEST) && dose > overdose_ingest)) + if(overdose && (location == CHEM_BLOOD)) overdose(M, alien) var/removed = metabolism if(ingest_met && (location == CHEM_INGEST)) @@ -50,11 +49,24 @@ max_dose = max(volume, max_dose) dose = min(dose + removed, max_dose) if(removed >= (metabolism * 0.1) || removed >= 0.1) // If there's too little chemical, don't affect the mob, just remove it - affect_mob(M, alien, removed, location) + switch(location) + if(CHEM_BLOOD) + affect_blood(M, alien, removed) + if(CHEM_INGEST) + affect_ingest(M, alien, removed) + if(CHEM_TOUCH) + affect_touch(M, alien, removed) remove_self(removed) return -/datum/reagent/proc/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) // This is the main working proc where the chemical does its magic +/datum/reagent/proc/affect_blood(var/mob/living/carbon/M, var/alien, var/removed) + return + +/datum/reagent/proc/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed) + affect_blood(M, alien, removed * 0.5) + return + +/datum/reagent/proc/affect_touch(var/mob/living/carbon/M, var/alien, var/removed) return /datum/reagent/proc/overdose(var/mob/living/carbon/M, var/alien) // Overdose effect. Doesn't happen instantly. @@ -87,7 +99,6 @@ /datum/reagent/proc/reaction_mob(var/mob/target) touch_mob(target) - /* REAGENTS START HERE */ /* Core reagents - the most important ones */ @@ -148,29 +159,30 @@ if(B) B.blood_DNA["UNKNOWN DNA STRUCTURE"] = "X*" -/datum/reagent/blood/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(location == CHEM_INGEST) - if(dose > 5) - M.adjustToxLoss(removed) - if(dose > 15) - M.adjustToxLoss(removed) - if(location == CHEM_TOUCH) - if(data && data["viruses"]) - for(var/datum/disease/D in data["viruses"]) - if(D.spread_type == SPECIAL || D.spread_type == NON_CONTAGIOUS) - continue - M.contract_disease(D) - if(data && data["virus2"]) - var/list/vlist = data["virus2"] - if(vlist.len) - for(var/ID in vlist) - var/datum/disease2/disease/V = vlist[ID] - infect_virus2(M, V.getcopy()) - if(data && data["antibodies"]) - M.antibodies |= data["antibodies"] - if(location == CHEM_BLOOD) - M.inject_blood(src, volume) - remove_self(volume) +/datum/reagent/blood/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(dose > 5) + M.adjustToxLoss(removed) + if(dose > 15) + M.adjustToxLoss(removed) + +/datum/reagent/blood/affect_touch(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(data && data["viruses"]) + for(var/datum/disease/D in data["viruses"]) + if(D.spread_type == SPECIAL || D.spread_type == NON_CONTAGIOUS) + continue + M.contract_disease(D) + if(data && data["virus2"]) + var/list/vlist = data["virus2"] + if(vlist.len) + for(var/ID in vlist) + var/datum/disease2/disease/V = vlist[ID] + infect_virus2(M, V.getcopy()) + if(data && data["antibodies"]) + M.antibodies |= data["antibodies"] + +/datum/reagent/blood/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + M.inject_blood(src, volume) + remove_self(volume) /datum/reagent/vaccine name = "Vaccine" @@ -178,8 +190,8 @@ reagent_state = LIQUID color = "#C81040" -/datum/reagent/vaccine/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(data && location == CHEM_BLOOD) +/datum/reagent/vaccine/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(data) for(var/datum/disease/D in M.viruses) if(istype(D, /datum/disease/advance)) var/datum/disease/advance/A = D @@ -252,7 +264,7 @@ if(!cube.wrapped) cube.Expand() -/datum/reagent/water/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) +/datum/reagent/water/affect_touch(var/mob/living/carbon/M, var/alien, var/removed, var/location) if(istype(M, /mob/living/carbon/slime)) var/mob/living/carbon/slime/S = M S.adjustToxLoss(15 * removed) // Babies have 150 health, adults have 200; So, 10 units and 13.5 @@ -262,16 +274,15 @@ ++S.Discipline if(dose == removed) S.visible_message("[S]'s flesh sizzles where the water touches it!", "Your flesh burns in the water!") - if(location == CHEM_TOUCH) - var/needed = M.fire_stacks * 10 - if(volume > needed) - M.fire_stacks = 0 - M.ExtinguishMob() - remove_self(needed) - else - M.adjust_fire_stacks(-(volume / 10)) - remove_self(volume) - return + var/needed = M.fire_stacks * 10 + if(volume > needed) + M.fire_stacks = 0 + M.ExtinguishMob() + remove_self(needed) + else + M.adjust_fire_stacks(-(volume / 10)) + remove_self(volume) + return /datum/reagent/fuel name = "Welding fuel" @@ -289,16 +300,11 @@ remove_self(volume) return -/datum/reagent/fuel/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(location == CHEM_INGEST) - M.adjustToxLoss(1 * removed) - return - if(location == CHEM_BLOOD) - M.adjustToxLoss(2 * removed) - return - if(location == CHEM_TOUCH) // Splashing people with welding fuel to make them easy to ignite! - M.adjust_fire_stacks(0.1 * removed) - return +/datum/reagent/fuel/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + M.adjustToxLoss(2 * removed) + +/datum/reagent/fuel/affect_touch(var/mob/living/carbon/M, var/alien, var/removed, var/location) // Splashing people with welding fuel to make them easy to ignite! + M.adjust_fire_stacks(0.1 * removed) /* Basic dispenser chemicals */ @@ -332,8 +338,11 @@ reagent_state = GAS color = "#808080" -/datum/reagent/chlorine/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) - M.take_organ_damage(1*REM, 0) // State doesn't matter here +/datum/reagent/chlorine/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + M.take_organ_damage(1*REM, 0) + +/datum/reagent/chlorine/affect_touch(var/mob/living/carbon/M, var/alien, var/removed, var/location) + M.take_organ_damage(1*REM, 0) /datum/reagent/copper name = "Copper" @@ -360,13 +369,15 @@ glass_name = "glass of ethanol" glass_desc = "A well-known alcohol with a variety of applications." -/datum/reagent/ethanol/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(location == CHEM_TOUCH) - M.adjust_fire_stacks(removed / 15) - return - if(location == CHEM_BLOOD) - M.adjustToxLoss(removed * 2 * toxicity) - return +/datum/reagent/ethanol/affect_touch(var/mob/living/carbon/M, var/alien, var/removed, var/location) + M.adjust_fire_stacks(removed / 15) + return + +/datum/reagent/ethanol/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + M.adjustToxLoss(removed * 2 * toxicity) + return + +/datum/reagent/ethanol/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) M.nutrition += nutriment_factor * removed var/strength_mod = 1 @@ -428,7 +439,10 @@ reagent_state = GAS color = "#808080" -/datum/reagent/fluorine/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) +/datum/reagent/fluorine/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + M.adjustToxLoss(removed) + +/datum/reagent/fluorine/affect_touch(var/mob/living/carbon/M, var/alien, var/removed, var/location) M.adjustToxLoss(removed) /datum/reagent/hydrogen @@ -445,8 +459,8 @@ reagent_state = SOLID color = "#353535" -/datum/reagent/iron/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(location == CHEM_INGEST && alien != IS_DIONA) +/datum/reagent/iron/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(alien != IS_DIONA) M.add_chemical_effect(CE_BLOODRESTORE, 8 * removed) /datum/reagent/lithium @@ -456,8 +470,8 @@ reagent_state = SOLID color = "#808080" -/datum/reagent/lithium/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(location != CHEM_TOUCH && alien != IS_DIONA) +/datum/reagent/lithium/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(alien != IS_DIONA) if(M.canmove && !M.restrained() && istype(M.loc, /turf/space)) step(M, pick(cardinal)) if(prob(5)) @@ -470,8 +484,8 @@ reagent_state = LIQUID color = "#484848" -/datum/reagent/mercury/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(location != CHEM_TOUCH && alien != IS_DIONA) +/datum/reagent/mercury/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(alien != IS_DIONA) if(M.canmove && !M.restrained() && istype(M.loc, /turf/space)) step(M, pick(cardinal)) if(prob(5)) @@ -485,12 +499,9 @@ reagent_state = GAS color = "#808080" -/datum/reagent/nitrogen/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) +/datum/reagent/nitrogen/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) if(alien == IS_VOX) - if(location == CHEM_BLOOD) - M.adjustOxyLoss(-removed * 3) - if(location == CHEM_INGEST) - M.reagents.add_reagent(id, removed, CHEM_BLOOD) + M.adjustOxyLoss(-removed * 3) /datum/reagent/oxygen name = "Oxygen" @@ -499,12 +510,9 @@ reagent_state = GAS color = "#808080" -/datum/reagent/oxygen/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(location == CHEM_TOUCH) - return +/datum/reagent/oxygen/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) if(alien == IS_VOX) - var/effect = (location == CHEM_BLOOD ? 1.5 : 1) - M.adjustToxLoss(removed * 2 * effect) + M.adjustToxLoss(removed * 3) /datum/reagent/phosphorus name = "Phosphorus" @@ -527,22 +535,21 @@ reagent_state = SOLID color = "#C7C7C7" -/datum/reagent/radium/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) +/datum/reagent/radium/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) M.apply_effect(10 * removed, IRRADIATE, 0) // Radium may increase your chances to cure a disease - if(location == CHEM_BLOOD) // Make sure to only use it on carbon mobs - if(M.virus2.len) - for(var/ID in M.virus2) - var/datum/disease2/disease/V = M.virus2[ID] - if(prob(5)) - M.antibodies |= V.antigen - if(prob(50)) - M.radiation += 50 // curing it that way may kill you instead - var/absorbed = 0 - var/datum/organ/internal/diona/nutrients/rad_organ = locate() in M.internal_organs - if(rad_organ && !rad_organ.is_broken()) - absorbed = 1 - if(!absorbed) - M.adjustToxLoss(100) + if(M.virus2.len) + for(var/ID in M.virus2) + var/datum/disease2/disease/V = M.virus2[ID] + if(prob(5)) + M.antibodies |= V.antigen + if(prob(50)) + M.radiation += 50 // curing it that way may kill you instead + var/absorbed = 0 + var/datum/organ/internal/diona/nutrients/rad_organ = locate() in M.internal_organs + if(rad_organ && !rad_organ.is_broken()) + absorbed = 1 + if(!absorbed) + M.adjustToxLoss(100) /datum/reagent/radium/touch_turf(var/turf/T) if(volume >= 3) @@ -563,85 +570,83 @@ var/power = 5 var/meltdose = 10 // How much is needed to melt -/datum/reagent/acid/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(location == CHEM_INGEST) - M.take_organ_damage(0, removed * power) - if(location == CHEM_BLOOD) - M.take_organ_damage(0, removed * power * 2) - if(location == CHEM_TOUCH) // This is the most interesting - if(ishuman(M)) - var/mob/living/carbon/human/H = M - if(H.head) - if(H.head.unacidable) - H << "Your [H.head] protects you from the acid." - remove_self(volume) - return - else if(removed > meltdose) - H << "Your [H.head] melts away!" - del(H.head) - H.update_inv_head(1) - H.update_hair(1) - removed -= meltdose - if(removed <= 0) - return +/datum/reagent/acid/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + M.take_organ_damage(0, removed * power * 2) - if(H.wear_mask) - if(H.wear_mask.unacidable) - H << "Your [H.wear_mask] protects you from the acid." - remove_self(volume) - return - else if(removed > meltdose) - H << "Your [H.wear_mask] melts away!" - del(H.wear_mask) - H.update_inv_wear_mask(1) - H.update_hair(1) - removed -= meltdose - if(removed <= 0) +/datum/reagent/acid/affect_touch(var/mob/living/carbon/M, var/alien, var/removed, var/location) // This is the most interesting + if(ishuman(M)) + var/mob/living/carbon/human/H = M + if(H.head) + if(H.head.unacidable) + H << "Your [H.head] protects you from the acid." + remove_self(volume) return - - if(H.glasses) - if(H.glasses.unacidable) - H << "Your [H.glasses] partially protect you from the acid!" - removed /= 2 - else if(removed > meltdose) - H << "Your [H.glasses] melt away!" - del(H.glasses) - H.update_inv_glasses(1) - removed -= meltdose / 2 - if(removed <= 0) - return - - if(ismonkey(M)) - var/mob/living/carbon/monkey/MK = M - if(MK.wear_mask) - if(MK.wear_mask.unacidable) - MK << "Your [MK.wear_mask] protects you from the acid!" - remove_self(volume) - return - else - MK << "Your [MK.wear_mask] melts away!" - del(MK.wear_mask) - MK.update_inv_wear_mask(1) - removed -= meltdose - if(removed <= 0) - return - - if(volume < meltdose) // Not enough to melt anything - M.take_organ_damage(removed * power * 0.2) + else if(removed > meltdose) + H << "Your [H.head] melts away!" + del(H.head) + H.update_inv_head(1) + H.update_hair(1) + removed -= meltdose + if(removed <= 0) return - if(!M.unacidable && removed > 0) - if(istype(M, /mob/living/carbon/human) && volume >= meltdose) - var/mob/living/carbon/human/H = M - var/datum/organ/external/affecting = H.get_organ("head") - if(affecting) - if(affecting.take_damage(0, removed * power * 0.1)) - H.UpdateDamageIcon() - if(prob(100 * removed / meltdose)) // Applies disfigurement - if (!(H.species && (H.species.flags & NO_PAIN))) - H.emote("scream") - H.status_flags |= DISFIGURED + + if(H.wear_mask) + if(H.wear_mask.unacidable) + H << "Your [H.wear_mask] protects you from the acid." + remove_self(volume) + return + else if(removed > meltdose) + H << "Your [H.wear_mask] melts away!" + del(H.wear_mask) + H.update_inv_wear_mask(1) + H.update_hair(1) + removed -= meltdose + if(removed <= 0) + return + + if(H.glasses) + if(H.glasses.unacidable) + H << "Your [H.glasses] partially protect you from the acid!" + removed /= 2 + else if(removed > meltdose) + H << "Your [H.glasses] melt away!" + del(H.glasses) + H.update_inv_glasses(1) + removed -= meltdose / 2 + if(removed <= 0) + return + + if(ismonkey(M)) + var/mob/living/carbon/monkey/MK = M + if(MK.wear_mask) + if(MK.wear_mask.unacidable) + MK << "Your [MK.wear_mask] protects you from the acid!" + remove_self(volume) + return else - M.take_organ_damage(0, removed * power * 0.1) // Balance. The damage is instant, so it's weaker. 10 units -> 5 damage, double for pacid. 120 units beaker could deal 60, but a) it's burn, which is not as dangerous, b) it's a one-use weapon, c) missing with it will splash it over the ground and d) clothes give some protection, so not everything will hit + MK << "Your [MK.wear_mask] melts away!" + del(MK.wear_mask) + MK.update_inv_wear_mask(1) + removed -= meltdose + if(removed <= 0) + return + + if(volume < meltdose) // Not enough to melt anything + M.take_organ_damage(removed * power * 0.2) + return + if(!M.unacidable && removed > 0) + if(istype(M, /mob/living/carbon/human) && volume >= meltdose) + var/mob/living/carbon/human/H = M + var/datum/organ/external/affecting = H.get_organ("head") + if(affecting) + if(affecting.take_damage(0, removed * power * 0.1)) + H.UpdateDamageIcon() + if(prob(100 * removed / meltdose)) // Applies disfigurement + if (!(H.species && (H.species.flags & NO_PAIN))) + H.emote("scream") + H.status_flags |= DISFIGURED + else + M.take_organ_damage(0, removed * power * 0.1) // Balance. The damage is instant, so it's weaker. 10 units -> 5 damage, double for pacid. 120 units beaker could deal 60, but a) it's burn, which is not as dangerous, b) it's a one-use weapon, c) missing with it will splash it over the ground and d) clothes give some protection, so not everything will hit /datum/reagent/acid/touch_obj(var/obj/O) if(O.unacidable) @@ -678,9 +683,8 @@ glass_name = "glass of sugar" glass_desc = "The organic compound commonly known as table sugar and sometimes called saccharose. This white, odorless, crystalline powder has a pleasing, sweet taste." -/datum/reagent/sugar/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(location != CHEM_TOUCH) - M.nutrition += removed * 3 +/datum/reagent/sugar/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + M.nutrition += removed * 3 /datum/reagent/sulfur name = "Sulfur" @@ -704,14 +708,11 @@ description = "Inaprovaline is a synaptic stimulant and cardiostimulant. Commonly used to stabilize patients." reagent_state = LIQUID color = "#00BFFF" - overdose_blood = REAGENTS_OVERDOSE * 2 - overdose_ingest = REAGENTS_OVERDOSE * 4 + overdose = REAGENTS_OVERDOSE * 2 metabolism = REM * 0.5 scannable = 1 -/datum/reagent/inaprovaline/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(location == CHEM_TOUCH) - return +/datum/reagent/inaprovaline/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) if(alien != IS_DIONA) M.add_chemical_effect(CE_STABLE) M.add_chemical_effect(CE_PAINKILLER, 25) @@ -722,16 +723,12 @@ description = "Bicaridine is an analgesic medication and can be used to treat blunt trauma." reagent_state = LIQUID color = "#BF0000" - overdose_blood = REAGENTS_OVERDOSE - overdose_ingest = REAGENTS_OVERDOSE * 2 + overdose = REAGENTS_OVERDOSE scannable = 1 -/datum/reagent/bicaridine/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(location == CHEM_TOUCH) - return - var/effect = (location == CHEM_BLOOD ? 1.5 : 1) +/datum/reagent/bicaridine/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) if(alien != IS_DIONA) - M.heal_organ_damage(4 * removed * effect, 0) + M.heal_organ_damage(6 * removed, 0) /datum/reagent/kelotane name = "Kelotane" @@ -739,16 +736,12 @@ description = "Kelotane is a drug used to treat burns." reagent_state = LIQUID color = "#FFA800" - overdose_blood = REAGENTS_OVERDOSE - overdose_ingest = REAGENTS_OVERDOSE * 2 + overdose = REAGENTS_OVERDOSE scannable = 1 -/datum/reagent/kelotane/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(location == CHEM_TOUCH) - return - var/effect = (location == CHEM_BLOOD ? 1.5 : 1) +/datum/reagent/kelotane/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) if(alien != IS_DIONA) - M.heal_organ_damage(0, 4 * removed * effect) + M.heal_organ_damage(0, 6 * removed) /datum/reagent/dermaline name = "Dermaline" @@ -756,16 +749,12 @@ description = "Dermaline is the next step in burn medication. Works twice as good as kelotane and enables the body to restore even the direst heat-damaged tissue." reagent_state = LIQUID color = "#FF8000" - overdose_blood = REAGENTS_OVERDOSE * 0.5 - overdose_ingest = REAGENTS_OVERDOSE + overdose = REAGENTS_OVERDOSE * 0.5 scannable = 1 -/datum/reagent/dermaline/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(location == CHEM_TOUCH) - return - var/effect = (location == CHEM_BLOOD ? 1.5 : 1) +/datum/reagent/dermaline/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) if(alien != IS_DIONA) - M.heal_organ_damage(0, 8 * removed * effect) + M.heal_organ_damage(0, 12 * removed) /datum/reagent/dylovene name = "Dylovene" @@ -775,13 +764,10 @@ color = "#00A000" scannable = 1 -/datum/reagent/dylovene/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(location == CHEM_TOUCH) - return - var/effect = (location == CHEM_BLOOD ? 1.5 : 1) +/datum/reagent/dylovene/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) if(alien != IS_DIONA) - M.drowsyness = max(0, M.drowsyness - 4 * removed * effect) - M.hallucination = max(0, M.hallucination - 6 * removed * effect) + M.drowsyness = max(0, M.drowsyness - 6 * removed) + M.hallucination = max(0, M.hallucination - 9 * removed) M.adjustToxLoss(-4 * removed) /datum/reagent/dexalin @@ -790,20 +776,16 @@ description = "Dexalin is used in the treatment of oxygen deprivation." reagent_state = LIQUID color = "#0080FF" - overdose_blood = REAGENTS_OVERDOSE - overdose_ingest = REAGENTS_OVERDOSE * 2 + overdose = REAGENTS_OVERDOSE scannable = 1 -/datum/reagent/dexalin/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(location == CHEM_TOUCH) - return - var/effect = (location == CHEM_BLOOD ? 1.5 : 1) +/datum/reagent/dexalin/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) if(alien == IS_VOX) - M.adjustToxLoss(removed * 4 * effect) + M.adjustToxLoss(removed * 6) else if(alien != IS_DIONA) - M.adjustOxyLoss(-10 * removed * effect) + M.adjustOxyLoss(-15 * removed) - holder.remove_reagent("lexorin", 2 * removed, location) + holder.remove_reagent("lexorin", 2 * removed) /datum/reagent/dexalinp name = "Dexalin Plus" @@ -811,20 +793,16 @@ description = "Dexalin Plus is used in the treatment of oxygen deprivation. It is highly effective." reagent_state = LIQUID color = "#0040FF" - overdose_blood = REAGENTS_OVERDOSE * 0.5 - overdose_ingest = REAGENTS_OVERDOSE + overdose = REAGENTS_OVERDOSE * 0.5 scannable = 1 -/datum/reagent/dexalin/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(location == CHEM_TOUCH) - return - var/effect = (location == CHEM_BLOOD ? 1.5 : 1) +/datum/reagent/dexalin/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) if(alien == IS_VOX) - M.adjustToxLoss(removed * 6 * effect) + M.adjustToxLoss(removed * 9) else if(alien != IS_DIONA) - M.adjustOxyLoss(-200 * removed * effect) // So around 20 per tick under standard settings, should be enough + M.adjustOxyLoss(-300 * removed) - holder.remove_reagent("lexorin", 3 * removed, location) + holder.remove_reagent("lexorin", 3 * removed) /datum/reagent/tricordrazine name = "Tricordrazine" @@ -834,14 +812,11 @@ color = "#8040FF" scannable = 1 -/datum/reagent/tricordrazine/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(location == CHEM_TOUCH) - return - var/effect = (location == CHEM_BLOOD ? 1.5 : 1) +/datum/reagent/tricordrazine/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) if(alien != IS_DIONA) - M.adjustOxyLoss(-4 * removed * effect) - M.heal_organ_damage(2 * removed * effect, 2 * removed * effect) - M.adjustToxLoss(-2 * removed * effect) + M.adjustOxyLoss(-6 * removed) + M.heal_organ_damage(3 * removed, 3 * removed) + M.adjustToxLoss(-3 * removed) /datum/reagent/cryoxadone name = "Cryoxadone" @@ -852,7 +827,7 @@ metabolism = REM * 0.5 scannable = 1 -/datum/reagent/cryoxadone/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) +/datum/reagent/cryoxadone/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) if(M.bodytemperature < 170) M.adjustCloneLoss(-10 * removed) M.adjustOxyLoss(-10 * removed) @@ -868,7 +843,7 @@ metabolism = REM * 0.5 scannable = 1 -/datum/reagent/cryoxadone/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) +/datum/reagent/cryoxadone/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) if(M.bodytemperature < 170) M.adjustCloneLoss(-30 * removed) M.adjustOxyLoss(-3 * removed) @@ -883,12 +858,11 @@ description = "Most probably know this as Tylenol, but this chemical is a mild, simple painkiller." reagent_state = LIQUID color = "#C8A5DC" - overdose_blood = 60 - overdose_ingest = 60 + overdose = 60 scannable = 1 metabolism = 0.02 -/datum/reagent/paracetamol/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) +/datum/reagent/paracetamol/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) M.add_chemical_effect(CE_PAINKILLER, 50) /datum/reagent/paracetamol/overdose(var/mob/living/carbon/M, var/alien) @@ -901,12 +875,11 @@ description = "A simple, yet effective painkiller." reagent_state = LIQUID color = "#CB68FC" - overdose_blood = 30 - overdose_ingest = 30 + overdose = 30 scannable = 1 metabolism = 0.02 -/datum/reagent/tramadol/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) +/datum/reagent/tramadol/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) M.add_chemical_effect(CE_PAINKILLER, 80) /datum/reagent/tramadol/overdose(var/mob/living/carbon/M, var/alien) @@ -919,14 +892,13 @@ description = "An effective and very addictive painkiller." reagent_state = LIQUID color = "#800080" - overdose_blood = 20 - overdose_ingest = 20 + overdose = 20 metabolism = 0.02 -/datum/reagent/tramadol/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) +/datum/reagent/oxycodone/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) M.add_chemical_effect(CE_PAINKILLER, 200) -/datum/reagent/tramadol/overdose(var/mob/living/carbon/M, var/alien) +/datum/reagent/oxycodone/overdose(var/mob/living/carbon/M, var/alien) ..() M.druggy = max(M.druggy, 10) M.hallucination = max(M.hallucination, 3) @@ -940,12 +912,11 @@ reagent_state = LIQUID color = "#99CCFF" metabolism = REM * 0.05 - overdose_blood = REAGENTS_OVERDOSE - overdose_ingest = REAGENTS_OVERDOSE + overdose = REAGENTS_OVERDOSE scannable = 1 -/datum/reagent/synaptizine/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(location == CHEM_TOUCH || alien == IS_DIONA) +/datum/reagent/synaptizine/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(alien == IS_DIONA) return M.drowsyness = max(M.drowsyness - 5, 0) M.AdjustParalysis(-1) @@ -963,12 +934,11 @@ reagent_state = LIQUID color = "#FFFF66" metabolism = REM * 0.25 - overdose_blood = REAGENTS_OVERDOSE - overdose_ingest = REAGENTS_OVERDOSE + overdose = REAGENTS_OVERDOSE scannable = 1 -/datum/reagent/alkysine/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(location == CHEM_TOUCH || alien == IS_DIONA) +/datum/reagent/alkysine/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(alien == IS_DIONA) return M.adjustBrainLoss(-30 * removed) M.add_chemical_effect(CE_PAINKILLER, 10) @@ -979,15 +949,12 @@ description = "Heals eye damage" reagent_state = LIQUID color = "#C8A5DC" - overdose_blood = REAGENTS_OVERDOSE - overdose_ingest = REAGENTS_OVERDOSE + overdose = REAGENTS_OVERDOSE scannable = 1 -/datum/reagent/imidazoline/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(location == CHEM_TOUCH) - return - M.eye_blurry = max(M.eye_blurry-5, 0) - M.eye_blind = max(M.eye_blind-5, 0) +/datum/reagent/imidazoline/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + M.eye_blurry = max(M.eye_blurry - 5, 0) + M.eye_blind = max(M.eye_blind - 5, 0) if(ishuman(M)) var/mob/living/carbon/human/H = M var/datum/organ/internal/eyes/E = H.internal_organs_by_name["eyes"] @@ -1001,12 +968,11 @@ description = "Used to encourage recovery of internal organs and nervous systems. Medicate cautiously." reagent_state = LIQUID color = "#561EC3" - overdose_blood = 10 - overdose_ingest = 10 + overdose = 10 scannable = 1 -/datum/reagent/peridaxon/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(location != CHEM_TOUCH && ishuman(M)) +/datum/reagent/peridaxon/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(ishuman(M)) var/mob/living/carbon/human/H = M for(var/datum/organ/internal/I in H.internal_organs) @@ -1019,12 +985,9 @@ description = "Ryetalyn can cure all genetic abnomalities via a catalytic process." reagent_state = SOLID color = "#004000" - overdose_blood = REAGENTS_OVERDOSE - overdose_ingest = REAGENTS_OVERDOSE + overdose = REAGENTS_OVERDOSE -/datum/reagent/ryetalyn/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(location == CHEM_TOUCH) - return +/datum/reagent/ryetalyn/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) var/needs_update = M.mutations.len > 0 M.mutations = list() @@ -1043,11 +1006,10 @@ reagent_state = LIQUID color = "#FF3300" metabolism = REM * 0.15 - overdose_blood = REAGENTS_OVERDOSE * 0.5 - overdose_ingest = REAGENTS_OVERDOSE * 0.5 + overdose = REAGENTS_OVERDOSE * 0.5 -/datum/reagent/hyperzine/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(location == CHEM_TOUCH || alien == IS_DIONA) +/datum/reagent/hyperzine/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(alien == IS_DIONA) return if(prob(5)) M.emote(pick("twitch", "blink_r", "shiver")) @@ -1059,11 +1021,10 @@ description = "A powerful oxidizer that reacts with ethanol." reagent_state = SOLID color = "#605048" - overdose_blood = REAGENTS_OVERDOSE - overdose_ingest = REAGENTS_OVERDOSE + overdose = REAGENTS_OVERDOSE -/datum/reagent/ethylredoxrazine/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(location == CHEM_TOUCH || alien == IS_DIONA) +/datum/reagent/ethylredoxrazine/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(alien == IS_DIONA) return M.dizziness = 0 M.drowsyness = 0 @@ -1081,13 +1042,10 @@ reagent_state = LIQUID color = "#408000" metabolism = REM * 0.25 - overdose_blood = REAGENTS_OVERDOSE - overdose_ingest = REAGENTS_OVERDOSE + overdose = REAGENTS_OVERDOSE scannable = 1 -/datum/reagent/hyronalin/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(location == CHEM_TOUCH) - return +/datum/reagent/hyronalin/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) M.radiation = max(M.radiation - 30 * removed, 0) /datum/reagent/arithrazine @@ -1097,13 +1055,10 @@ reagent_state = LIQUID color = "#008000" metabolism = REM * 0.25 - overdose_blood = REAGENTS_OVERDOSE - overdose_ingest = REAGENTS_OVERDOSE + overdose = REAGENTS_OVERDOSE scannable = 1 -/datum/reagent/arithrazine/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(location == CHEM_TOUCH) - return +/datum/reagent/arithrazine/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) M.radiation = max(M.radiation - 70 * removed, 0) M.adjustToxLoss(-10 * removed) if(prob(60)) @@ -1116,8 +1071,7 @@ reagent_state = LIQUID color = "#C1C1C1" metabolism = REM * 0.05 - overdose_blood = REAGENTS_OVERDOSE - overdose_ingest = REAGENTS_OVERDOSE * 2 + overdose = REAGENTS_OVERDOSE scannable = 1 /datum/reagent/sterilizine @@ -1128,9 +1082,8 @@ color = "#C8A5DC" touch_met = 5 -/datum/reagent/sterilizine/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(location == CHEM_TOUCH) - M.germ_level -= min(removed*20, M.germ_level) +/datum/reagent/sterilizine/affect_touch(var/mob/living/carbon/M, var/alien, var/removed, var/location) + M.germ_level -= min(removed*20, M.germ_level) /datum/reagent/sterilizine/touch_obj(var/obj/O) O.germ_level -= min(volume*20, O.germ_level) @@ -1144,13 +1097,10 @@ description = "Leporazine can be use to stabilize an individuals body temperature." reagent_state = LIQUID color = "#C8A5DC" - overdose_blood = REAGENTS_OVERDOSE - overdose_ingest = REAGENTS_OVERDOSE + overdose = REAGENTS_OVERDOSE scannable = 1 -/datum/reagent/leporazine/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(location == CHEM_TOUCH) - return +/datum/reagent/leporazine/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) if(M.bodytemperature > 310) M.bodytemperature = max(310, M.bodytemperature - (40 * TEMPERATURE_DAMAGE_COEFFICIENT)) else if(M.bodytemperature < 311) @@ -1169,8 +1119,8 @@ metabolism = 0.01 data = 0 -/datum/reagent/methylphenidate/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(location == CHEM_TOUCH || alien == IS_DIONA) +/datum/reagent/methylphenidate/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(alien == IS_DIONA) return if(volume <= 0.1 && data != -1) data = -1 @@ -1189,8 +1139,8 @@ metabolism = 0.01 data = 0 -/datum/reagent/citalopram/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(location == CHEM_TOUCH || alien == IS_DIONA) +/datum/reagent/citalopram/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(alien == IS_DIONA) return if(volume <= 0.1 && data != -1) data = -1 @@ -1209,8 +1159,8 @@ metabolism = 0.01 data = 0 -/datum/reagent/paroxetine/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(location == CHEM_TOUCH || alien == IS_DIONA) +/datum/reagent/paroxetine/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(alien == IS_DIONA) return if(volume <= 0.1 && data != -1) data = -1 @@ -1225,7 +1175,6 @@ M.hallucination += 200 /* Toxins, poisons, venoms */ - /datum/reagent/toxin name = "Toxin" id = "toxin" @@ -1235,12 +1184,9 @@ metabolism = REM * 0.05 // 0.01 by default. They last a while and slowly kill you. var/strength = 4 // How much damage it deals per unit -/datum/reagent/toxin/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(location == CHEM_TOUCH) - return - var/effect = (location == CHEM_BLOOD ? 1.5 : 1) +/datum/reagent/toxin/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) if(strength && alien != IS_DIONA) - M.adjustToxLoss(strength * removed * effect) + M.adjustToxLoss(strength * removed) /datum/reagent/toxin/plasticide name = "Plasticide" @@ -1274,10 +1220,9 @@ color = "#9D14DB" strength = 30 -/datum/reagent/toxin/phoron/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) +/datum/reagent/toxin/phoron/affect_touch(var/mob/living/carbon/M, var/alien, var/removed, var/location) ..() - if(location == CHEM_TOUCH) - M.adjust_fire_stacks(removed / 5) + M.adjust_fire_stacks(removed / 5) /datum/reagent/toxin/phoron/touch_turf(var/turf/simulated/T) if(!istype(T)) @@ -1294,11 +1239,10 @@ strength = 20 metabolism = REM * 2 -/datum/reagent/toxin/cyanide/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) +/datum/reagent/toxin/cyanide/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) ..() - if(location != CHEM_TOUCH) - M.adjustOxyLoss(20 * removed) - M.sleeping += 1 + M.adjustOxyLoss(20 * removed) + M.sleeping += 1 /datum/reagent/toxin/potassium_chloride name = "Potassium Chloride" @@ -1307,8 +1251,7 @@ reagent_state = SOLID color = "#FFFFFF" strength = 0 - overdose_blood = REAGENTS_OVERDOSE - overdose_ingest = REAGENTS_OVERDOSE + overdose = REAGENTS_OVERDOSE /datum/reagent/toxin/potassium_chloride/overdose(var/mob/living/carbon/M, var/alien) ..() @@ -1327,10 +1270,9 @@ reagent_state = SOLID color = "#FFFFFF" strength = 10 - overdose_blood = 20 - overdose_ingest = 20 + overdose = 20 -/datum/reagent/toxin/cyanide/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) +/datum/reagent/toxin/potassium_chlorophoride/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) ..() if(ishuman(M)) var/mob/living/carbon/human/H = M @@ -1349,9 +1291,9 @@ metabolism = REM strength = 3 -/datum/reagent/toxin/zombiepowder/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) +/datum/reagent/toxin/zombiepowder/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) ..() - if(location == CHEM_TOUCH || alien == IS_DIONA) + if(alien == IS_DIONA) return M.status_flags |= FAKEDEATH M.adjustOxyLoss(3 * removed) @@ -1412,9 +1354,14 @@ else if(istype(O, /obj/effect/plant)) del(O) -/datum/reagent/toxin/plantbgone/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) +/datum/reagent/toxin/plantbgone/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) ..() - if(alien == IS_DIONA) // Regardless of the state + if(alien == IS_DIONA) + M.adjustToxLoss(50 * removed) + +/datum/reagent/toxin/plantbgone/affect_touch(var/mob/living/carbon/M, var/alien, var/removed, var/location) + ..() + if(alien == IS_DIONA) M.adjustToxLoss(50 * removed) /datum/reagent/acid/polyacid @@ -1432,11 +1379,10 @@ description = "Lexorin temporarily stops respiration. Causes tissue damage." reagent_state = LIQUID color = "#C8A5DC" - overdose_blood = REAGENTS_OVERDOSE - overdose_ingest = REAGENTS_OVERDOSE + overdose = REAGENTS_OVERDOSE -/datum/reagent/lexorin/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(location == CHEM_TOUCH || alien == IS_DIONA) +/datum/reagent/lexorin/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(alien == IS_DIONA) return M.take_organ_damage(3 * removed, 0) if(M.losebreath < 15) @@ -1449,16 +1395,17 @@ reagent_state = LIQUID color = "#13BC5E" -/datum/reagent/mutagen/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) +/datum/reagent/mutagen/affect_touch(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(prob(33)) + affect_blood(M, alien, removed) + +/datum/reagent/mutagen/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(prob(67)) + affect_blood(M, alien, removed) + +/datum/reagent/mutagen/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) if(M.dna) - var/chance = 0 - if(location == CHEM_TOUCH) - chance = 33 - if(location == CHEM_INGEST) - chance = 67 - if(location == CHEM_BLOOD) - chance = 100 - if(prob(chance * removed * 0.1)) // Approx. one mutation per 10 injected/20 ingested/30 touching units + if(prob(removed * 0.1)) // Approx. one mutation per 10 injected/20 ingested/30 touching units randmuti(M) if(prob(98)) randmutb(M) @@ -1475,8 +1422,8 @@ reagent_state = LIQUID color = "#801E28" -/datum/reagent/slimejelly/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(location == CHEM_TOUCH || alien == IS_DIONA) +/datum/reagent/slimejelly/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(alien == IS_DIONA) return if(prob(10)) M << "Your insides are burning!" @@ -1491,11 +1438,10 @@ reagent_state = LIQUID color = "#009CA8" metabolism = REM * 0.5 - overdose_blood = REAGENTS_OVERDOSE - overdose_ingest = REAGENTS_OVERDOSE * 2 + overdose = REAGENTS_OVERDOSE -/datum/reagent/soporific/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(location == CHEM_TOUCH || alien == IS_DIONA) +/datum/reagent/soporific/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(alien == IS_DIONA) return if(dose < 1) if(dose == metabolism * 2 || prob(5)) @@ -1517,11 +1463,10 @@ reagent_state = SOLID color = "#000067" metabolism = REM * 0.5 - overdose_blood = REAGENTS_OVERDOSE * 0.5 - overdose_ingest = REAGENTS_OVERDOSE + overdose = REAGENTS_OVERDOSE * 0.5 -/datum/reagent/chloralhydrate/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(location == CHEM_TOUCH || alien == IS_DIONA) +/datum/reagent/chloralhydrate/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(alien == IS_DIONA) return if(dose == metabolism) M.confused += 2 @@ -1540,7 +1485,7 @@ id = "beer2" description = "An alcoholic beverage made from malted grains, hops, yeast, and water. The fermentation appears to be incomplete." //If the players manage to analyze this, they deserve to know something is wrong. reagent_state = LIQUID - color = "#664300" // rgb: 102, 67, 0 + color = "#664300" glass_icon_state = "beerglass" glass_name = "glass of beer" @@ -1556,11 +1501,10 @@ reagent_state = LIQUID color = "#60A584" metabolism = REM * 0.5 - overdose_blood = REAGENTS_OVERDOSE - overdose_ingest = REAGENTS_OVERDOSE * 2 + overdose = REAGENTS_OVERDOSE -/datum/reagent/space_drugs/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(location == CHEM_TOUCH || alien == IS_DIONA) +/datum/reagent/space_drugs/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(alien == IS_DIONA) return M.druggy = max(M.druggy, 15) if(prob(10) && isturf(M.loc) && !istype(M.loc, /turf/space) && M.canmove && !M.restrained()) @@ -1575,11 +1519,10 @@ reagent_state = LIQUID color = "#202040" metabolism = REM * 0.25 - overdose_blood = REAGENTS_OVERDOSE - overdose_ingest = REAGENTS_OVERDOSE + overdose = REAGENTS_OVERDOSE -/datum/reagent/serotrotium/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(location == CHEM_TOUCH || alien == IS_DIONA) +/datum/reagent/serotrotium/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(alien == IS_DIONA) return if(prob(7)) M.emote(pick("twitch", "drool", "moan", "gasp")) @@ -1592,11 +1535,10 @@ reagent_state = LIQUID color = "#000055" metabolism = REM * 0.5 - overdose_blood = REAGENTS_OVERDOSE - overdose_ingest = REAGENTS_OVERDOSE + overdose = REAGENTS_OVERDOSE -/datum/reagent/cryptobiolin/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(location == CHEM_TOUCH || alien == IS_DIONA) +/datum/reagent/cryptobiolin/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(alien == IS_DIONA) return M.make_dizzy(4) M.confused = max(M.confused, 20) @@ -1607,11 +1549,10 @@ description = "Impedrezene is a narcotic that impedes one's ability by slowing down the higher brain cell functions." reagent_state = LIQUID color = "#C8A5DC" - overdose_blood = REAGENTS_OVERDOSE - overdose_ingest = REAGENTS_OVERDOSE + overdose = REAGENTS_OVERDOSE -/datum/reagent/impedrezene/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(location == CHEM_TOUCH || alien == IS_DIONA) +/datum/reagent/impedrezene/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(alien == IS_DIONA) return M.jitteriness = max(M.jitteriness - 5, 0) if(prob(80)) @@ -1628,11 +1569,10 @@ reagent_state = LIQUID color = "#B31008" metabolism = REM * 0.25 - overdose_blood = REAGENTS_OVERDOSE - overdose_ingest = REAGENTS_OVERDOSE + overdose = REAGENTS_OVERDOSE -/datum/reagent/mindbreaker/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(location == CHEM_TOUCH || alien == IS_DIONA) +/datum/reagent/mindbreaker/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(alien == IS_DIONA) return M.hallucination = max(M.hallucination, 100) @@ -1641,12 +1581,11 @@ id = "psilocybin" description = "A strong psycotropic derived from certain species of mushroom." color = "#E700E7" - overdose_blood = REAGENTS_OVERDOSE - overdose_ingest = REAGENTS_OVERDOSE + overdose = REAGENTS_OVERDOSE metabolism = REM * 0.5 -/datum/reagent/psilocybin/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(location == CHEM_TOUCH || alien == IS_DIONA) +/datum/reagent/psilocybin/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(alien == IS_DIONA) return M.druggy = max(M.druggy, 30) if(dose < 1) @@ -1685,8 +1624,8 @@ reagent_state = LIQUID color = "#13BC5E" -/datum/reagent/slimetoxin/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(location == CHEM_BLOOD && ishuman(M)) +/datum/reagent/slimetoxin/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(ishuman(M)) var/mob/living/carbon/human/H = M if(H.species.name != "Slime") M << "Your flesh rapidly mutates!" @@ -1699,8 +1638,8 @@ reagent_state = LIQUID color = "#13BC5E" -/datum/reagent/aslimetoxin/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) // TODO: check if there's similar code anywhere else - if(location != CHEM_BLOOD || M.monkeyizing) +/datum/reagent/aslimetoxin/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) // TODO: check if there's similar code anywhere else + if(M.monkeyizing) return M << "Your flesh rapidly mutates!" M.monkeyizing = 1 @@ -1731,10 +1670,13 @@ reagent_state = LIQUID color = "#535E66" -/datum/reagent/nanites/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(location != CHEM_TOUCH || prob(10)) +/datum/reagent/nanites/affect_touch(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(prob(10)) M.contract_disease(new /datum/disease/robotic_transformation(0), 1) +/datum/reagent/nanites/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + M.contract_disease(new /datum/disease/robotic_transformation(0), 1) + /datum/reagent/xenomicrobes name = "Xenomicrobes" id = "xenomicrobes" @@ -1742,10 +1684,13 @@ reagent_state = LIQUID color = "#535E66" -/datum/reagent/nanites/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(location != CHEM_TOUCH || prob(10)) +/datum/reagent/xenomicrobes/affect_touch(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(prob(10)) M.contract_disease(new /datum/disease/xeno_transformation(0), 1) +/datum/reagent/xenomicrobes/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + M.contract_disease(new /datum/disease/xeno_transformation(0), 1) + /* Food */ /datum/reagent/nutriment @@ -1758,12 +1703,13 @@ var/injectable = 0 color = "#664330" -/datum/reagent/nutriment/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(location == CHEM_TOUCH) - return - if(location == CHEM_BLOOD && !injectable) +/datum/reagent/nutriment/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(!injectable) M.adjustToxLoss(0.1 * removed) return + affect_ingest(M, alien, removed) + +/datum/reagent/nutriment/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) M.heal_organ_damage(0.5 * removed, 0) M.nutrition += nutriment_factor * removed // For hunger and fatness M.add_chemical_effect(CE_BLOODRESTORE, 4 * removed) @@ -1773,7 +1719,7 @@ id = "protein" color = "#440000" -/datum/reagent/nutriment/protein/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) +/datum/reagent/nutriment/protein/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) if(alien && alien == IS_SKRELL) M.adjustToxLoss(0.5 * removed) return @@ -1784,7 +1730,7 @@ id = "egg" color = "#FFFFAA" -/datum/reagent/nutriment/egg/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) +/datum/reagent/nutriment/egg/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) if(alien && alien == IS_SKRELL) M.adjustToxLoss(0.5) return @@ -1910,12 +1856,9 @@ description = "A chemical compound that causes a powerful fat-burning reaction." reagent_state = LIQUID color = "#BBEDA4" - overdose_blood = REAGENTS_OVERDOSE - overdose_ingest = REAGENTS_OVERDOSE + overdose = REAGENTS_OVERDOSE -/datum/reagent/lipozine/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(location == CHEM_TOUCH) - return +/datum/reagent/lipozine/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) M.nutrition = max(M.nutrition - 10 * removed, 0) M.overeatduration = 0 if(M.nutrition < 0) @@ -1929,8 +1872,7 @@ description = "A salt made of sodium chloride. Commonly used to season food." reagent_state = SOLID color = "#FFFFFF" - overdose_blood = REAGENTS_OVERDOSE - overdose_ingest = REAGENTS_OVERDOSE + overdose = REAGENTS_OVERDOSE /datum/reagent/blackpepper name = "Black Pepper" @@ -1945,8 +1887,7 @@ description = "A universal enzyme used in the preperation of certain chemicals and foods." reagent_state = LIQUID color = "#365E30" - overdose_blood = REAGENTS_OVERDOSE - overdose_ingest = REAGENTS_OVERDOSE + overdose = REAGENTS_OVERDOSE /datum/reagent/frostoil name = "Frost Oil" @@ -1955,8 +1896,8 @@ reagent_state = LIQUID color = "#B31008" -/datum/reagent/frostoil/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(location == CHEM_TOUCH || alien == IS_DIONA) +/datum/reagent/frostoil/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(alien == IS_DIONA) return M.bodytemperature = max(M.bodytemperature - 10 * TEMPERATURE_DAMAGE_COEFFICIENT, 0) if(prob(1)) @@ -1972,8 +1913,8 @@ reagent_state = LIQUID color = "#B31008" -/datum/reagent/capsaicin/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(location == CHEM_TOUCH || alien == IS_DIONA) +/datum/reagent/capsaicin/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(alien == IS_DIONA) return if(ishuman(M)) var/mob/living/carbon/human/H = M @@ -1997,69 +1938,69 @@ touch_met = 50 // Get rid of it quickly color = "#B31008" -/datum/reagent/condensedcapsaicin/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(location == CHEM_TOUCH) - var/eyes_covered = 0 - var/mouth_covered = 0 - var/obj/item/safe_thing = null - if(istype(M, /mob/living/carbon/human)) - var/mob/living/carbon/human/H = M - if(H.species && (H.species.flags & NO_PAIN)) - return - if(H.head) - if(H.head.flags & MASKCOVERSEYES) - eyes_covered = 1 - safe_thing = H.head - if(H.head.flags & MASKCOVERSMOUTH) - mouth_covered = 1 - safe_thing = H.head - if(H.wear_mask) - if(!eyes_covered && H.wear_mask.flags & MASKCOVERSEYES) - eyes_covered = 1 - safe_thing = H.wear_mask - if(!mouth_covered && H.wear_mask.flags & MASKCOVERSMOUTH) - mouth_covered = 1 - safe_thing = H.wear_mask - if(H.glasses) - if(!eyes_covered) - eyes_covered = 1 - if(!safe_thing) - safe_thing = H.glasses - if(eyes_covered && mouth_covered) - M << "Your [safe_thing] protects you from the pepperspray!" +/datum/reagent/condensedcapsaicin/affect_touch(var/mob/living/carbon/M, var/alien, var/removed, var/location) + var/eyes_covered = 0 + var/mouth_covered = 0 + var/obj/item/safe_thing = null + if(istype(M, /mob/living/carbon/human)) + var/mob/living/carbon/human/H = M + if(H.species && (H.species.flags & NO_PAIN)) return - else if(eyes_covered) - M << "Your [safe_thing] protect you from most of the pepperspray!" - M.eye_blurry = max(M.eye_blurry, 15) - M.eye_blind = max(M.eye_blind, 5) - M.Stun(5) - M.Weaken(5) - return - else if (mouth_covered) // Mouth cover is better than eye cover - M << "Your [safe_thing] protects your face from the pepperspray!" - M.eye_blurry = max(M.eye_blurry, 5) - return - else // Oh dear :D - M << "You're sprayed directly in the eyes with pepperspray!" - M.eye_blurry = max(M.eye_blurry, 25) - M.eye_blind = max(M.eye_blind, 10) - M.Stun(5) - M.Weaken(5) + if(H.head) + if(H.head.flags & MASKCOVERSEYES) + eyes_covered = 1 + safe_thing = H.head + if(H.head.flags & MASKCOVERSMOUTH) + mouth_covered = 1 + safe_thing = H.head + if(H.wear_mask) + if(!eyes_covered && H.wear_mask.flags & MASKCOVERSEYES) + eyes_covered = 1 + safe_thing = H.wear_mask + if(!mouth_covered && H.wear_mask.flags & MASKCOVERSMOUTH) + mouth_covered = 1 + safe_thing = H.wear_mask + if(H.glasses) + if(!eyes_covered) + eyes_covered = 1 + if(!safe_thing) + safe_thing = H.glasses + if(eyes_covered && mouth_covered) + M << "Your [safe_thing] protects you from the pepperspray!" + return + else if(eyes_covered) + M << "Your [safe_thing] protect you from most of the pepperspray!" + M.eye_blurry = max(M.eye_blurry, 15) + M.eye_blind = max(M.eye_blind, 5) + M.Stun(5) + M.Weaken(5) + return + else if (mouth_covered) // Mouth cover is better than eye cover + M << "Your [safe_thing] protects your face from the pepperspray!" + M.eye_blurry = max(M.eye_blurry, 5) + return + else // Oh dear :D + M << "You're sprayed directly in the eyes with pepperspray!" + M.eye_blurry = max(M.eye_blurry, 25) + M.eye_blind = max(M.eye_blind, 10) + M.Stun(5) + M.Weaken(5) + return + +/datum/reagent/condensedcapsaicin/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(ishuman(M)) + var/mob/living/carbon/human/H = M + if(H.species && (H.species.flags & (NO_PAIN | IS_SYNTHETIC))) return + if(dose == metabolism) + M << "You feel like your insides are burning!" else - if(ishuman(M)) - var/mob/living/carbon/human/H = M - if(H.species && (H.species.flags & (NO_PAIN | IS_SYNTHETIC))) - return - if(dose == metabolism) - M << "You feel like your insides are burning!" - else - M.apply_effect(4, AGONY, 0) - if(prob(5)) - M.visible_message("[M] [pick("dry heaves!","coughs!","splutters!")]", "You feel like your insides are burning!") - if(istype(M, /mob/living/carbon/slime)) - M.bodytemperature += rand(15, 30) - holder.remove_reagent("frostoil", 5) + M.apply_effect(4, AGONY, 0) + if(prob(5)) + M.visible_message("[M] [pick("dry heaves!","coughs!","splutters!")]", "You feel like your insides are burning!") + if(istype(M, /mob/living/carbon/slime)) + M.bodytemperature += rand(15, 30) + holder.remove_reagent("frostoil", 5) /* Drinks */ @@ -2075,19 +2016,19 @@ var/adj_sleepy = 0 var/adj_temp = 0 -/datum/reagent/drink/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(location == CHEM_BLOOD) - M.adjustToxLoss(removed) // Probably not a good idea; not very deadly though - return - if(location == CHEM_INGEST) - M.nutrition += nutrition * removed - M.dizziness = max(0, M.dizziness + adj_dizzy) - M.drowsyness = max(0, M.drowsyness + adj_drowsy) - M.sleeping = max(0, M.sleeping + adj_sleepy) - if(adj_temp > 0 && M.bodytemperature < 310) // 310 is the normal bodytemp. 310.055 - M.bodytemperature = min(310, M.bodytemperature + (adj_temp * TEMPERATURE_DAMAGE_COEFFICIENT)) - if(adj_temp < 0 && M.bodytemperature > 310) - M.bodytemperature = min(310, M.bodytemperature - (adj_temp * TEMPERATURE_DAMAGE_COEFFICIENT)) +/datum/reagent/drink/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + M.adjustToxLoss(removed) // Probably not a good idea; not very deadly though + return + +/datum/reagent/drink/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) + M.nutrition += nutrition * removed + M.dizziness = max(0, M.dizziness + adj_dizzy) + M.drowsyness = max(0, M.drowsyness + adj_drowsy) + M.sleeping = max(0, M.sleeping + adj_sleepy) + if(adj_temp > 0 && M.bodytemperature < 310) // 310 is the normal bodytemp. 310.055 + M.bodytemperature = min(310, M.bodytemperature + (adj_temp * TEMPERATURE_DAMAGE_COEFFICIENT)) + if(adj_temp < 0 && M.bodytemperature > 310) + M.bodytemperature = min(310, M.bodytemperature - (adj_temp * TEMPERATURE_DAMAGE_COEFFICIENT)) // Juices @@ -2121,10 +2062,9 @@ glass_name = "glass of carrot juice" glass_desc = "It is just like a carrot but without crunching." -/datum/reagent/drink/carrotjuice/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) +/datum/reagent/drink/carrotjuice/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) ..() - if(location == CHEM_INGEST) - M.reagents.add_reagent("imidazoline", removed * 0.2) + M.reagents.add_reagent("imidazoline", removed * 0.2) /datum/reagent/drink/grapejuice name = "Grape Juice" @@ -2156,9 +2096,9 @@ glass_name = "glass of lime juice" glass_desc = "A glass of sweet-sour lime juice" -/datum/reagent/drink/limejuice/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) +/datum/reagent/drink/limejuice/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) ..() - if(location == CHEM_TOUCH || location == CHEM_BLOOD || alien == IS_DIONA) + if(alien == IS_DIONA) return M.adjustToxLoss(-0.5 * removed) @@ -2172,9 +2112,9 @@ glass_name = "glass of orange juice" glass_desc = "Vitamins! Yay!" -/datum/reagent/drink/orangejuice/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) +/datum/reagent/drink/orangejuice/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) ..() - if(location == CHEM_TOUCH || location == CHEM_BLOOD || alien == IS_DIONA) + if(alien == IS_DIONA) return M.adjustOxyLoss(-2 * removed) @@ -2210,9 +2150,9 @@ glass_name = "glass of tomato juice" glass_desc = "Are you sure this is tomato juice?" -/datum/reagent/drink/tomatojuice/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) +/datum/reagent/drink/tomatojuice/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) ..() - if(location == CHEM_TOUCH || location == CHEM_BLOOD || alien == IS_DIONA) + if(alien == IS_DIONA) return M.heal_organ_damage(0, 0.5 * removed) @@ -2238,9 +2178,9 @@ glass_name = "glass of milk" glass_desc = "White and nutritious goodness!" -/datum/reagent/drink/milk/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) +/datum/reagent/drink/milk/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) ..() - if(location == CHEM_TOUCH || location == CHEM_BLOOD || alien == IS_DIONA) + if(alien == IS_DIONA) return M.heal_organ_damage(0.5 * removed, 0) holder.remove_reagent("capsaicin", 10 * removed) @@ -2279,9 +2219,9 @@ glass_name = "cup of tea" glass_desc = "Tasty black tea, it has antioxidants, it's good for you!" -/datum/reagent/drink/tea/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) +/datum/reagent/drink/tea/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) ..() - if(location == CHEM_TOUCH || location == CHEM_BLOOD || alien == IS_DIONA) + if(alien == IS_DIONA) return M.adjustToxLoss(-0.5 * removed) @@ -2310,10 +2250,11 @@ glass_icon_state = "hot_coffee" glass_name = "cup of coffee" glass_desc = "Don't drop it, or you'll send scalding liquid and glass shards everywhere." + -/datum/reagent/drink/coffee/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) +/datum/reagent/drink/coffee/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) ..() - if(location == CHEM_TOUCH || location == CHEM_BLOOD || alien == IS_DIONA) + if(alien == IS_DIONA) return M.make_jittery(5) if(adj_temp > 0) @@ -2342,7 +2283,7 @@ glass_desc = "A nice and refrshing beverage while you are reading." glass_center_of_mass = list("x"=15, "y"=9) -/datum/reagent/drink/coffee/soy_latte/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) +/datum/reagent/drink/coffee/soy_latte/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) ..() M.heal_organ_damage(0.5 * removed, 0) @@ -2358,7 +2299,7 @@ glass_desc = "A nice, strong and refreshing beverage while you are reading." glass_center_of_mass = list("x"=15, "y"=9) -/datum/reagent/drink/coffee/cafe_latte/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) +/datum/reagent/drink/coffee/cafe_latte/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) ..() M.heal_organ_damage(0.5 * removed, 0) @@ -2471,7 +2412,7 @@ glass_desc = "The secret of the sanctuary of the Libarian..." glass_center_of_mass = list("x"=16, "y"=9) -/datum/reagent/drink/rewriter/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) +/datum/reagent/drink/rewriter/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) ..() M.make_jittery(5) @@ -2488,7 +2429,7 @@ glass_desc = "Don't cry, Don't raise your eye, It's only nuclear wasteland" glass_center_of_mass = list("x"=16, "y"=6) -/datum/reagent/drink/nuka_cola/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) +/datum/reagent/drink/nuka_cola/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) ..() M.add_chemical_effect(CE_SPEEDBOOST, 1) M.make_jittery(20) @@ -2580,9 +2521,9 @@ glass_desc = "A healthy mixture of juices, guaranteed to keep you healthy until the next toolboxing takes place." glass_center_of_mass = list("x"=16, "y"=8) -/datum/reagent/drink/doctor_delight/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) +/datum/reagent/drink/doctor_delight/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) ..() - if(location == CHEM_TOUCH || location == CHEM_BLOOD || alien == IS_DIONA) + if(alien == IS_DIONA) return M.adjustOxyLoss(-4 * removed) M.heal_organ_damage(2 * removed, 2 * removed) @@ -2617,9 +2558,9 @@ color = "#302000" nutrition = 5 -/datum/reagent/drink/hell_ramen/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) +/datum/reagent/drink/hell_ramen/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) ..() - if(location == CHEM_TOUCH || location == CHEM_BLOOD || alien == IS_DIONA) + if(alien == IS_DIONA) return M.bodytemperature += 10 * TEMPERATURE_DAMAGE_COEFFICIENT @@ -2685,9 +2626,9 @@ glass_desc = "A freezing pint of beer" glass_center_of_mass = list("x"=16, "y"=8) -/datum/reagent/ethanol/beer/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) +/datum/reagent/ethanol/beer/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) ..() - if(location == CHEM_TOUCH || location == CHEM_BLOOD || alien == IS_DIONA) + if(alien == IS_DIONA) return M.jitteriness = max(M.jitteriness - 3, 0) @@ -2727,9 +2668,9 @@ glass_desc = "Now you want to Pray for a pirate suit, don't you?" glass_center_of_mass = list("x"=16, "y"=12) -/datum/reagent/ethanol/deadrum/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) +/datum/reagent/ethanol/deadrum/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) ..() - if(location == CHEM_TOUCH || location == CHEM_BLOOD || alien == IS_DIONA) + if(alien == IS_DIONA) return M.dizziness +=5 @@ -2757,9 +2698,9 @@ glass_desc = "DAMN, THIS THING LOOKS ROBUST" glass_center_of_mass = list("x"=15, "y"=7) -/datum/reagent/ethanol/kahlua/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) +/datum/reagent/ethanol/kahlua/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) ..() - if(location == CHEM_TOUCH || location == CHEM_BLOOD || alien == IS_DIONA) + if(alien == IS_DIONA) return M.dizziness = max(0, M.dizziness - 5) M.drowsyness = max(0, M.drowsyness - 3) @@ -2828,9 +2769,9 @@ glass_name = "glass of Thirteen Loko" glass_desc = "This is a glass of Thirteen Loko, it appears to be of the highest quality. The drink, not the glass." -/datum/reagent/ethanol/thirteenloko/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) +/datum/reagent/ethanol/thirteenloko/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) ..() - if(location == CHEM_TOUCH || location == CHEM_BLOOD || alien == IS_DIONA) + if(alien == IS_DIONA) return M.drowsyness = max(0, M.drowsyness - 7) if (M.bodytemperature > 310) @@ -2861,7 +2802,7 @@ glass_desc = "The glass contain wodka. Xynta." glass_center_of_mass = list("x"=16, "y"=12) -/datum/reagent/ethanol/vodka/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) +/datum/reagent/ethanol/vodka/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) ..() M.radiation = max(M.radiation - 1 * removed, 0) @@ -3042,7 +2983,7 @@ glass_desc = "Heavy, hot and strong. Just like the Iron fist of the LAW." glass_center_of_mass = list("x"=18, "y"=10) -/datum/reagent/ethanol/beepsky_smash/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) +/datum/reagent/ethanol/beepsky_smash/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) ..() M.Stun(2) @@ -3423,7 +3364,7 @@ glass_desc = "A drink that is guaranteed to knock you silly." glass_center_of_mass = list("x"=16, "y"=8) -/datum/reagent/ethanol/neurotoxin/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) +/datum/reagent/ethanol/neurotoxin/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) ..() M.Weaken(3) @@ -3453,7 +3394,7 @@ glass_desc = "A black ichor with an oily purple sheer on top. Are you sure you should drink this?" glass_center_of_mass = list("x"=16, "y"=5) -/datum/reagent/ethanol/pwine/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) +/datum/reagent/ethanol/pwine/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) ..() if(dose > 30) M.adjustToxLoss(2 * removed) @@ -3683,11 +3624,10 @@ description = "A powder with almost magical properties, this substance can effectively treat genetic damage in humanoids, though excessive consumption has side effects." reagent_state = SOLID color = "#669900" - overdose_blood = REAGENTS_OVERDOSE - overdose_ingest = REAGENTS_OVERDOSE + overdose = REAGENTS_OVERDOSE scannable = 1 -/datum/reagent/rezadone/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) +/datum/reagent/rezadone/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) M.adjustCloneLoss(-20 * removed) M.adjustOxyLoss(-2 * removed) M.heal_organ_damage(20 * removed, 20 * removed) @@ -3706,8 +3646,7 @@ description = "Intensely coloured powder obtained by grinding crayons." reagent_state = LIQUID color = "#888888" - overdose_blood = 5 - overdose_ingest = 5 + overdose = 5 /datum/reagent/crayon_dust/red name = "Red crayon dust" @@ -3755,8 +3694,7 @@ description = "This paint will stick to almost any object." reagent_state = LIQUID color = "#808080" - overdose_blood = REAGENTS_OVERDOSE * 0.5 - overdose_ingest = REAGENTS_OVERDOSE * 0.5 + overdose = REAGENTS_OVERDOSE * 0.5 color_weight = 20 /datum/reagent/paint/touch_turf(var/turf/T) @@ -3771,9 +3709,8 @@ if(istype(M) && !istype(M, /mob/dead)) //painting ghosts: not allowed M.color = color -/datum/reagent/paint/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(location == CHEM_TOUCH) - M.color = color +/datum/reagent/paint/affect_touch(var/mob/living/carbon/M, var/alien, var/removed, var/location) + M.color = color /datum/reagent/paint/get_data() return color @@ -3822,7 +3759,10 @@ glass_name = "golden cup" glass_desc = "It's magic. We don't have to explain it." -/datum/reagent/adminordrazine/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) +/datum/reagent/adminordrazine/affect_touch(var/mob/living/carbon/M, var/alien, var/removed, var/location) + affect_blood(M, alien, removed) + +/datum/reagent/adminordrazine/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) M.setCloneLoss(0) M.setOxyLoss(0) M.radiation = 0 @@ -3871,7 +3811,10 @@ reagent_state = SOLID color = "#B8B8C0" -/datum/reagent/uranium/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) +/datum/reagent/uranium/affect_touch(var/mob/living/carbon/M, var/alien, var/removed, var/location) + affect_ingest(M, alien, removed) + +/datum/reagent/uranium/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) M.apply_effect(5 * removed, IRRADIATE, 0) /datum/reagent/uranium/touch_turf(var/turf/T) @@ -3882,7 +3825,6 @@ new /obj/effect/decal/cleanable/greenglow(T) return - /datum/reagent/adrenaline name = "Adrenaline" id = "adrenaline" @@ -3890,8 +3832,8 @@ reagent_state = LIQUID color = "#C8A5DC" -/datum/reagent/adrenaline/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(location == CHEM_TOUCH || alien == IS_DIONA) +/datum/reagent/adrenaline/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(alien == IS_DIONA) return M.SetParalysis(0) M.SetWeakened(0) @@ -3907,12 +3849,11 @@ glass_name = "glass of holy water" glass_desc = "An ashen-obsidian-water mix, this solution will alter certain sections of the brain's rationality." -/datum/reagent/water/holywater/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) +/datum/reagent/water/holywater/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) ..() if(ishuman(M)) // Any location - if((M.mind in ticker.mode.cult) && prob(10)) - ticker.mode.remove_cultist(M.mind) - M.visible_message("[M]'s eyes blink and become clearer.", "A cooling sensation from inside you brings you an untold calmness.") + if(M.mind && cult.is_antagonist(M.mind) && prob(10)) + cult.remove_antagonist(M.mind) /datum/reagent/ammonia name = "Ammonia" @@ -3959,10 +3900,11 @@ remove_self(5) return -/datum/reagent/thermite/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(location == CHEM_TOUCH) - M.adjust_fire_stacks(removed * 0.2) - return +/datum/reagent/thermite/affect_touch(var/mob/living/carbon/M, var/alien, var/removed, var/location) + M.adjust_fire_stacks(removed * 0.2) + return + +/datum/reagent/thermite/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) M.adjustFireLoss(3 * removed) /datum/reagent/space_cleaner @@ -3989,7 +3931,7 @@ for(var/mob/living/carbon/slime/M in T) M.adjustToxLoss(rand(5, 10)) -/datum/reagent/space_cleaner/affect_mob(var/mob/living/carbon/M, var/alien, var/removed, var/location) +/datum/reagent/space_cleaner/affect_touch(var/mob/living/carbon/M, var/alien, var/removed, var/location) if(M.r_hand) M.r_hand.clean_blood() if(M.l_hand) diff --git a/code/modules/reagents/reagent_containers/food/drinks/bottle.dm b/code/modules/reagents/reagent_containers/food/drinks/bottle.dm index 03b85848d6..dd2f879b27 100644 --- a/code/modules/reagents/reagent_containers/food/drinks/bottle.dm +++ b/code/modules/reagents/reagent_containers/food/drinks/bottle.dm @@ -78,7 +78,7 @@ //The reagents in the bottle splash all over the target, thanks for the idea Nodrak if(reagents) user.visible_message("The contents of the [src] splash all over [target]!") - reagents.trans_to_mob(target, reagents.total_volume) + reagents.splash_mob(target, reagents.total_volume) //Finally, smash the bottle. This kills (del) the bottle. src.smash(target, user) From 502c9f1510266102557f5c930744f62ca9845452 Mon Sep 17 00:00:00 2001 From: Kelenius Date: Tue, 31 Mar 2015 18:34:59 +0300 Subject: [PATCH 003/305] Fixes missed merge leftovers in syringe.dm --- .../reagents/reagent_containers/syringes.dm | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/code/modules/reagents/reagent_containers/syringes.dm b/code/modules/reagents/reagent_containers/syringes.dm index d7c140779f..c503d6da5f 100644 --- a/code/modules/reagents/reagent_containers/syringes.dm +++ b/code/modules/reagents/reagent_containers/syringes.dm @@ -58,8 +58,8 @@ if(mode == SYRINGE_BROKEN) user << "This syringe is broken!" return - - if(user.a_intent == I_HURT && ismob(target)) + + if(user.a_intent == I_HURT && ismob(target)) if((CLUMSY in user.mutations) && prob(50)) target = user syringestab(target, user) @@ -228,11 +228,7 @@ var/mob/living/carbon/human/H = target var/target_zone = ran_zone(check_zone(user.zone_sel.selecting, target)) -<<<<<<< HEAD - var/datum/organ/external/affecting = H.get_organ(target_zone) -======= - var/obj/item/organ/external/affecting = target:get_organ(target_zone) ->>>>>>> dev + var/obj/item/organ/external/affecting = H.get_organ(target_zone) if (!affecting || (affecting.status & ORGAN_DESTROYED) || affecting.is_stump()) user << "They are missing that limb!" @@ -260,13 +256,8 @@ target.take_organ_damage(3)// 7 is the same as crowbar punch var/syringestab_amount_transferred = rand(0, (reagents.total_volume - 5)) //nerfed by popular demand -<<<<<<< HEAD reagents.trans_to_mob(target, syringestab_amount_transferred, CHEM_BLOOD) break_syringe(target, user) -======= - src.reagents.trans_to(target, syringestab_amount_transferred) - src.break_syringe(target, user) ->>>>>>> dev proc/break_syringe(mob/living/carbon/target, mob/living/carbon/user) desc += " It is broken." From 7a3c8d2304a769651b8d34fa27a5d33a9435437c Mon Sep 17 00:00:00 2001 From: Kelenius Date: Tue, 31 Mar 2015 20:02:41 +0300 Subject: [PATCH 004/305] Makes the code compile --- code/modules/reagents/Chemistry-Reagents.dm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/code/modules/reagents/Chemistry-Reagents.dm b/code/modules/reagents/Chemistry-Reagents.dm index 7829755035..1e1aff55a0 100644 --- a/code/modules/reagents/Chemistry-Reagents.dm +++ b/code/modules/reagents/Chemistry-Reagents.dm @@ -236,7 +236,7 @@ else if(volume >= 3) if(T.wet >= 1) - return + return T.wet = 1 if(T.wet_overlay) T.overlays -= T.wet_overlay @@ -245,10 +245,10 @@ T.overlays += T.wet_overlay spawn(800) // This is terrible and needs to be changed when possible. - if(!T || !istype(T)) + if(!T || !istype(T)) return if(T.wet >= 2) - return + return T.wet = 0 if(T.wet_overlay) T.overlays -= T.wet_overlay @@ -618,7 +618,7 @@ if(!M.unacidable && removed > 0) if(istype(M, /mob/living/carbon/human) && volume >= meltdose) var/mob/living/carbon/human/H = M - var/datum/organ/external/affecting = H.get_organ("head") + var/obj/item/organ/external/affecting = H.get_organ("head") if(affecting) if(affecting.take_damage(0, removed * power * 0.1)) H.UpdateDamageIcon() @@ -2231,7 +2231,7 @@ glass_icon_state = "hot_coffee" glass_name = "cup of coffee" glass_desc = "Don't drop it, or you'll send scalding liquid and glass shards everywhere." - + /datum/reagent/drink/coffee/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) ..() @@ -4037,5 +4037,5 @@ id = "chemical_waste" description = "A viscous, toxic liquid left over from many chemical processes." reagent_state = LIQUID - color = "#ADFF2F" //rgb: 173, 255, 47, toxic green + color = "#ADFF2F" //rgb: 173, 255, 47, toxic green */ \ No newline at end of file From ea49978958cca756272bd7a16c7a51b7075ed0ea Mon Sep 17 00:00:00 2001 From: Hubblenaut Date: Wed, 1 Apr 2015 16:37:47 +0200 Subject: [PATCH 005/305] Grab Basics --- .../living/carbon/human/human_attackhand.dm | 4 + code/modules/mob/mob_grab.dm | 98 +++++++++++++------ code/modules/mob/mob_movement.dm | 5 + 3 files changed, 77 insertions(+), 30 deletions(-) diff --git a/code/modules/mob/living/carbon/human/human_attackhand.dm b/code/modules/mob/living/carbon/human/human_attackhand.dm index 23f90946bc..9655e1d0bd 100644 --- a/code/modules/mob/living/carbon/human/human_attackhand.dm +++ b/code/modules/mob/living/carbon/human/human_attackhand.dm @@ -72,6 +72,10 @@ if("grab") if(M == src || anchored) return 0 + for(var/obj/item/weapon/grab/G in src.grabbed_by) + if(G.assailant == M) + M << "You already grabbed [src]." + return if(w_uniform) w_uniform.add_fingerprint(M) diff --git a/code/modules/mob/mob_grab.dm b/code/modules/mob/mob_grab.dm index 2b47227dfe..c64b31a426 100644 --- a/code/modules/mob/mob_grab.dm +++ b/code/modules/mob/mob_grab.dm @@ -3,6 +3,8 @@ /obj/item/weapon/grab name = "grab" + icon = 'icons/mob/screen1.dmi' + icon_state = "reinforce" flags = NOBLUDGEON var/obj/screen/grab/hud = null var/mob/affecting = null @@ -32,6 +34,7 @@ hud = new /obj/screen/grab(src) hud.icon_state = "reinforce" + icon_state = "grabbed" hud.name = "reinforce grab" hud.master = src @@ -89,11 +92,12 @@ if(G.state >= GRAB_AGGRESSIVE) allow_upgrade = 0 if(allow_upgrade) - hud.icon_state = "reinforce" + if(state < GRAB_AGGRESSIVE) + hud.icon_state = "reinforce" + else + hud.icon_state = "reinforce1" else hud.icon_state = "!reinforce" - else if(!affecting.buckled) - affecting.loc = assailant.loc if(state >= GRAB_NECK) affecting.Stun(1) @@ -105,7 +109,51 @@ //affecting.apply_effect(STUTTER, 5) //would do this, but affecting isn't declared as mob/living for some stupid reason. affecting.stuttering = max(affecting.stuttering, 5) //It will hamper your voice, being choked and all. affecting.Weaken(5) //Should keep you down unless you get help. - affecting.losebreath = min(affecting.losebreath + 2, 3) + affecting.losebreath = max(affecting.losebreath + 2, 3) + + adjust_position() + + +/obj/item/weapon/grab/attack_self() + return s_click(hud) + + +//Updating pixelshift, position and direction +//Gets called on process, when the grab gets upgraded or the assailant moves +/obj/item/weapon/grab/proc/adjust_position() + if(affecting.buckled) + return + var/shift = 0 + var/adir = get_dir(assailant, affecting) + affecting.layer = 4 + switch(state) + if(GRAB_PASSIVE) + shift = 6 + if(GRAB_AGGRESSIVE) + shift = 12 + if(GRAB_NECK, GRAB_UPGRADING) + shift = -10 + adir = assailant.dir + affecting.set_dir(assailant.dir) + affecting.loc = assailant.loc + if(GRAB_KILL) + shift = 0 + adir = 1 + affecting.set_dir(reverse_dir[assailant.dir]) + affecting.loc = assailant.loc + affecting.lying = 1 + + switch(adir) + if(NORTH) + animate(affecting, pixel_x = 0, pixel_y =-shift, 5, 1, LINEAR_EASING) + affecting.layer = 3.9 + if(SOUTH) + animate(affecting, pixel_x = 0, pixel_y = shift, 5, 1, LINEAR_EASING) + if(WEST) + animate(affecting, pixel_x = shift, pixel_y = 0, 5, 1, LINEAR_EASING) + if(EAST) + animate(affecting, pixel_x =-shift, pixel_y = 0, 5, 1, LINEAR_EASING) + /obj/item/weapon/grab/proc/s_click(obj/screen/S) @@ -129,6 +177,7 @@ assailant.visible_message("[assailant] has grabbed [affecting] aggressively (now hands)!") state = GRAB_AGGRESSIVE icon_state = "grabbed1" + hud.icon_state = "reinforce1" else if(state < GRAB_NECK) if(isslime(affecting)) assailant << "You squeeze [affecting], but nothing interesting happens." @@ -137,38 +186,25 @@ assailant.visible_message("[assailant] has reinforced \his grip on [affecting] (now neck)!") state = GRAB_NECK icon_state = "grabbed+1" - if(!affecting.buckled) - affecting.loc = assailant.loc + assailant.set_dir(get_dir(assailant, affecting)) affecting.attack_log += "\[[time_stamp()]\] Has had their neck grabbed by [assailant.name] ([assailant.ckey])" assailant.attack_log += "\[[time_stamp()]\] Grabbed the neck of [affecting.name] ([affecting.ckey])" msg_admin_attack("[key_name(assailant)] grabbed the neck of [key_name(affecting)]") - hud.icon_state = "disarm/kill" - hud.name = "disarm/kill" + hud.icon_state = "kill" + hud.name = "kill" else if(state < GRAB_UPGRADING) assailant.visible_message("[assailant] starts to tighten \his grip on [affecting]'s neck!") - hud.icon_state = "disarm/kill1" - state = GRAB_UPGRADING - if(do_after(assailant, UPGRADE_KILL_TIMER)) - if(state == GRAB_KILL) - return - if(!affecting) - del(src) - return - if(!assailant.canmove || assailant.lying) - del(src) - return - state = GRAB_KILL - assailant.visible_message("[assailant] has tightened \his grip on [affecting]'s neck!") - affecting.attack_log += "\[[time_stamp()]\] Has been strangled (kill intent) by [assailant.name] ([assailant.ckey])" - assailant.attack_log += "\[[time_stamp()]\] Strangled (kill intent) [affecting.name] ([affecting.ckey])" - msg_admin_attack("[key_name(assailant)] strangled (kill intent) [key_name(affecting)]") + hud.icon_state = "kill1" - assailant.next_move = world.time + 10 - affecting.losebreath += 1 - else - assailant.visible_message("[assailant] was unable to tighten \his grip on [affecting]'s neck!") - hud.icon_state = "disarm/kill" - state = GRAB_NECK + state = GRAB_KILL + assailant.visible_message("[assailant] has tightened \his grip on [affecting]'s neck!") + affecting.attack_log += "\[[time_stamp()]\] Has been strangled (kill intent) by [assailant.name] ([assailant.ckey])" + assailant.attack_log += "\[[time_stamp()]\] Strangled (kill intent) [affecting.name] ([affecting.ckey])" + msg_admin_attack("[key_name(assailant)] strangled (kill intent) [key_name(affecting)]") + + assailant.next_move = world.time + 10 + affecting.losebreath += 1 + adjust_position() //This is used to make sure the victim hasn't managed to yackety sax away before using the grab. @@ -223,5 +259,7 @@ del(src) /obj/item/weapon/grab/Del() + animate(affecting, pixel_x = 0, pixel_y = 0, 4, 1) + affecting.layer = 4 del(hud) ..() diff --git a/code/modules/mob/mob_movement.dm b/code/modules/mob/mob_movement.dm index cdfde01107..2ac62c64bf 100644 --- a/code/modules/mob/mob_movement.dm +++ b/code/modules/mob/mob_movement.dm @@ -339,6 +339,11 @@ else . = mob.SelfMove(n, direct) + for (var/obj/item/weapon/grab/G in mob) + if (G.state == GRAB_NECK) + mob.set_dir(reverse_dir[direct]) + G.adjust_position() + moving = 0 return . From 9730f248f840ff64b912deb2dc026fbc709948d6 Mon Sep 17 00:00:00 2001 From: Hubblenaut Date: Wed, 1 Apr 2015 16:38:18 +0200 Subject: [PATCH 006/305] New Icons --- icons/mob/screen1.dmi | Bin 158264 -> 159697 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/mob/screen1.dmi b/icons/mob/screen1.dmi index 5196ec25f8d1cbbf97ae7794eacd36a828ce4fc0..de36888ea3ea1aecf577a7e87b7c088fd99d34f6 100644 GIT binary patch literal 159697 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%0A&!wE+MVL>BRf*cUu~z7f0xi1Cb6{iH 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

A5Zx{h_SeiW@{esCcbS*6Ul?}V?k+Dc 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ⅇJ_?avMa1L|9z4(5;W=Y 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

y_9V0hY>GPqf@)P%_3MQrQm zWi-V_EKY15iossHLcrY#7lP!zN8=ijJ%M3sv-=<{`3*9kGGiYY;}`wd?zIyHZFaU_ zOu{NG{1V*}DK9OpD^-7H9;X4{82@0DcTKXs(9>Z#kCWi&kA5f{dOt7SPu+tb`?BjH z28Z1?FdDGOeMVAaoa9*Hc7eWrK5g+(CrWijN(NmVqtBT%#*3OscaGkyD#l8xh|zT| z9W%ACe=*IH9PAA-*L%ncR6bs%CZQ&YkKz2$Sej6ZYQ8f+&28RtIHjtVy|MaK)MB_O zJtt>ispHE;=qX&|X(n{7AMxa~zJyC_QiJ=;ePoQ$jJ*MoPM1=Y(?|r0BlDXR(xa#q zuQV@;bL24nn!^Xn3JY|aAJ`&Clsn~fpeF?H+c7KqV7D&Z+;bq|*Zfw@pxVgdeA8v* zhuT{!X{7rX8B-FOrA~!sDRND(?$WFYUl;}~i6-6ca)Gqur+&-O! zh<|=jA7f!m$~|1*nFM`dC&=E$3UF*cWLEJQUu5-WC;H4kfJ55xYNpaVj z5_{jBqO?@!yXeaYqe|UayV@$wgNKC3(u76n5V7 z@^09=I5q7$Se06qPsH|pYc$KenRgPC?B4YB#$~thqSQe)aObF10jRn8vP7O1qK?)gW%$wLfpktO@B; za*LSz2to~!S^Wmd`u^84Nh0w3uYsPT0Aum1RsY1(jom#Us9=(bLFe_b1_{j6As_Vc z0&Tk&xec!k&XIver6{2IakK62uN??0+)Zov$!(of?w+UefPjPBLlyzu-D_V_Q`l=A zK4eFi3)-o~I59p3-YU{!`{K?r3cPcQki74wCM4XvK@&eKxlfirRQ-Jbj1D&kE}Bo! zEg{umN(>k#f0MWSozUQiokII_?!c;bcsX!*SJ~(x@?s!I0&Y&dd+^cnjvRuN?s$8^ z2OiZ2-`KxXaobQ4_+wpn(dO}NB)uxLf$~*en$pedF+KHr{5sz1KnGEmz%tcJbjt2n zx(BE}K6u;yU!jKE)F?8W0IfYsOez{F{eX3T^7P;SxHA*I@z&w{@acDQuf}^z*e}X? znoPZZ;#iKnkG}gWr6{y$Z%b*{7>_Mu6wrDFub?BKEmE|m=lgERL9R@dS-MSA%KNYI zVuK}?xFPl+$4j_@TtS@M=CefP=l4d9#AfX`kbl^WQdcBC?T&kwwN;iOnzl*WZ0h_z z+sUf!cO(m+G7h^@VF6px_5rBLB-_2B

Hb6PTj#&rbr$@^ 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 F{}*X$%N76t diff --git a/icons/turf/walls.dmi b/icons/turf/walls.dmi index bc3b9e68fc8104988aedca95e8da1fcde9fdb3e1..d0fdf5256df97db0f2eef1fc0a4fdbe6204a2c1a 100644 GIT binary patch literal 139846 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

9y?@f6Ea~40s6k@`0|J{FR1D&7F^TB ztgd-@w`TMMyJi;=ArZUW1KC_pXfJS1;k;!WGNf{3nPnI>yRAl>k=3%`^z@X?W<%RH z3}cSpIr2O@a%=6$^MPr~AOw`wSZh-eDG45saPjOcHKBopm?fz@jN`=YxFUqTcTz!~ z=hStL_nzw)mk1G2sLf`>Vlh9URl_iFbiPc*lAtWhSV#)N!@CV8%OWc#1cZpsl~M|o zHoC6sIX*iA5op?m5CTP6U?+=rF8&_YLI?~)Y@m&SqL4@_kzvQwEBalG$MN2$;x}%P zAqY%n7=@==6`YT4e@B2d|b9Qq~+jbO1!8neb z-JBlYpVK(eX9GGRqDm>G@OTeS#`Tw1BO(!%r1bb8K}+(PVOh*^&a&O!(zYd;7nEg- zF$y7Iw^n#7kX|y514?N!lhJNFq!FB4AK|@ceo|xVh+6p&V!(G=(?ST2ua1yu{bYH5 zD0a;(7C!y3L2Av#=^0vUoO2B0fOj6H6h{}!!@HwtcBuh+ht`^ti=((d>5@@TbbZG( zS!T10DGW#lEN5*^MnxC&~S}FDiLMJLZG!wRlQ)YD>55Vf)A{j?MhZf9ZmX(B*KQC zfsr*^CTl6voc_^1uz96|b}qj*x?@aOI41Yn*9k9``iXf)qH`iQp=Z&DW2 ziX9z`wq%x9tcQk+>VnVPFR3W-cwTYK$aOSO6B%Whlgnrt*fBD-cf8|)ITdr3te71N z(gz+9UeNk|u_^FVi2MR%G=oEO^Xn&k_3mpl8rsxlXNt!@IzGRso^jWIVCQ3a z=xgry0Z-T<2`ywI;qclmA&`eWkz9*iO%{1P}ac#%Q%ez+i&p%%3a0-8^*Sw ztTVDwvutMvL~$QDvj6^B^0v8SO^!Lpr1NB`c+Zv@Wx}Zh6*&*7k;%!ZhzR35`<~HS z42q(Sm{`xq^XeI|+gD7jI~-dgxMNF(=0_)=@YUTn$pBEY=01^s?|23LHow7-KYSk7 zbs7oFbRG>oKbU=w?e2lT-BPUzg7>uTz{ctnSrS;P8TG25yp2fl#_lLTR4kV>y7fS} z8&E=V93mg*E%%(VjEGwwQ6?n?CRcP_z}iR%@RP@mE;d(o;2ZlbGb-|BA3MjcrN|3* zk1bqox33@Av16O>P*S3_#yf|}G8U&ZZeQJDor4f)yDo0Tsqky_p0lfCKwvUW zAVcX$hF3a1FT>~u~HptJ=@0X{aedFIHnjO}Jix9!<&2b@(XH6mn#QIctb>lZWb-aH)8l3VT~ znkNKGDQ3qN%|pjzE#7I3k1~ z%kx;QjTVAnbzZT%ZyCptJkJk^E2-G)dx?+%DI` zN>)cJin3?@=m9Amtj9 z8;(xr45^6DvW#y(f5m)0XBY>JF?3zW;<#oun=yLLZnvXv;~I57prxSe1kOpEH(09? zR*_XLCYx~9FbZf@L+}zIRUEPBIj7gh%;xh$vuLeF&nVc?l9ifg=TG(^!ePWAq+seD zrc^i|Vz8(4=sYT0?BHn`dB-C~pP{8nL`s`bgoFlZ%|fsEU~dz7(IknpBB|(JZNH)A%#G23vBG@zCxtsK~QX5|t?o24y7u6n`f-`9mQ9 zfx$;L(3x4WomxKd$c;Dy1ZT@L?$`I6)u*Yb5iIK((Zm9v5E-S~<6N2z4YD%`6^Vo$ zBRe__iXj;sW;>Hc#Sz8Zr4ZUY74<$57*ryIEn9g z<6{ZHuIm}F^l2=q(qQ(AV;*T()3T%EHSbt)bRd6@>6%PF7L|EzkV+uZ zm{Vzq@fu?_wU|YtKzdw4-3CU?pl~?0wCJE&<};=t7J2*d<4ca|`;nHOC)F8QY1lmM z?+2W%PPpCNBSwJ?(Mh|=!I*-ota$jaW_DD?u2E{HDUO@^z9&q9vWmq@9K}S0LrB4V zKBw>dICASchGC*8GQ4+(&9mtnPR@_G|F9;nG~4YKtrS!0w7v73KRG`93^Oel+=$(l zY}av(39AVLaEiX@5z5h%v2hBi9YvAQ5ifBrBQJW2Tp*< z%hNgQyDi7(tHUTvYfV*EI5ly4)3TT!Bc;SlhOR3S_Z{8tB}EZCcV``K+oF}i7(?4S zoKp}C)1YvpVGI>*5I8d-rAKcI+OA`EQc>46P1_=*gy8AAfe>P0)2usIXG@0R1B5t6 zl_H|absa}bN~yyrQ_9Hc^J(_$oTF))IIhwfqvP0UKeo*BoT7-RwU8Dm1$mxhjA6Ik zQ6H6*%Nz(euTU}|oMgM6FuKKi@LnM$5cXzk!b}h46NeG@S&oG@~yWJiT zKj%G4s{?AfAHNMlEGmSEBjchd_;7a@`GV8L?d>f}DXOw$7)KVTG2PL7PjDGp_qd=j zW@H>QlyoTN67pl{I*(EV^DJYrm^1VruvW#wLTS7NtsPQFgmS)`)3*b`8zws;WxSWp zIb?b+@;pcDC_o?tw2>$&vD1W*5@QVSUVdOPFAq&dUgV79mZq_^sgTRESai2t8}D&$ zkQwYATY`#wNIOlq;13PiZntA~vLws%h;(LVW`RFB@dg&{q~O2<1=Pm%{CG2W5!iDj2z=f z@JaR2K}u?I7!*2Jk$kQtFP=W3x$Qv+d~mT7G!k8Cl$QK@_9NP+=N%7Ra>RCQDYKm0 z`&)c)1Q$0ijpwGijt@#2oefOPFNt6;Kj{T zybJL^8>p8{^0~ndu}BC3zIgo&4J}(*6o!Dp^`1%;_z(pMo1tMt6AQbfW|By@N!Gt> zJ7gZO!#x|mdi9dadO&e2}cyD~z@*m%GD;6@dhavzl3HF`2{-nr>$iA{HwT z@78FoIlf#Wg`g}7+O~}&HKl0#4j&93{on=7rlnX!(*0zk_`o~I>DAGp5E;jjaU5AL zmq;nuY&OhKYO*Y<=CU@D^KEa*tBm#C7JMAFdLNMHEF52l2r)?dS)MbBbv)WSbf}3aV|1^LM;|xuz&LRI8F*V-P`* zXFbzo*lf2ROueIT2Aans?%qAHI+>$$b)ZowrFeM1Nh5H967fBC^X!T@ zFW-^RHD@=clw~~jI8H21W|&HmZ8g?9ihPEY0;3Im-%~6y>Z1}NC82kipqbC-kr(Bo zP$9l&q1iQrL13+AHDB=f?veGT=IElQ>`MH6z+@9b1eA(}w)e5Y2m!oT^!*58OIef{ zWAI@@3W-u0KTc_M4)^aLS)I&Toz1^H2l$RhDC4_6guwD_j`N;+EK}iQvD0+mcFj+6 z=8IY4z{QbcG0zysk)~3!yic}t zc;HH1@CVKRf@>mqc+DN(<+rzxi0#k=1uAWDIdMc}Fo*Ecf}H%VW}Os-QKw?r=Zc@o z6c7w9IC2;6C@JtRV1&X3%kSR)w>0cnvP|bCfrd;Kz$2b(G?F@{ zq3?wS(-=3MBj%Cpn?_!{zB{0Go(V;C3N99g3ys4=KPirV(0H|3x%Y@70w_hQ4CP2ObfK!!_OKm1&|A z^8TDM3~M$BqN{cwBv)q39e2RM)%zD13?H~BQ_=Z)Nx|NAdQ1r4l8UmL2 zCL-rRun!xC9EgNa$S6`q+>VYIklZ3U;(`;@JH^1r0~;(OV5r^{l;o`0uuMKiC+e6p zj>yQFQAKn!#Ih0 zMnq1E6q4P#r7mm!qJuT8Anaiw6wd9JTEx8I>N5rP!$1{d4vWj9ZCr@rSS7@ zLP2!e$X(>C073-%A?j4UO?)z^Fj=HubX`Z+7bvZ%XR`y6vF9EEJl;OC+ctdrY0Eg| zv4hT9oKq;><9*^mT1^mvtayzOfw3!*W+IFMk&T2Q$5_SrZ?ti9oZO*s(ORRmX1i;+ zzqia!qpfIOmJ!*N0c~tFzx1BIADK3e#e9rP)ex|0QxQ@!jUzq;OlFbJ(GLX@&{l&; zqv#;g^>8>F$5{Z{SezAXHlD2CFkjTn>IHxHM=fQSqnySnM_)7;GbLd~VC)M-LS&p% zNa+#M6N1Efi5cT{a>|3)A%}i{~$+@4t&hdTs@wloZ`!)2NtJq=zGc0Q$?0#%?K@{lOF{JHs3{H>11h<481_;Q}g@$gVWz(Z69gqv4cY@NoEb-H{WANhr@Bq2@X#my@~1Rc;o++ zJAcCybww@<8e)!@L{TS?7?%o$eVD5~6ax`ib6BJj)Qg;97m>E}>H>+No(yMPC+mih zRT_6~Y11e#V@A!go|Bgu@;0ZUjO;jLSWi0^93S{l3YF|8CNzq-(;NO-^G^@IzfZ%* zU#ULE;rVCNJy%?D&UsP~4s2PGp;HhIj5wd;h0kja%vWQL&uJm6)P5$3H=%lj^ATzDdt%eHrzXon9-)Z zH60XlQ}Nz?Kq5Gmr&O{`W{_WVPQ3T=s$P?0SkokjYeAL9qa_(1i5I*I@7eGH$T;E( z5aeVubcd!O5SUYN&Jho6Sy1C}yycGQ&otwKElVmY=FC~qFi<8F!J2|4OLFpr9xAH5 zpp+Ghs$$qp>{2Ahz{HZ8I>n+CsS(&mw3K;{7~tML(9-ilKEX>*Oz<6$tI3Q(q~eDVc>DH|=g%)WzFd*#IWodzJb{(rWl z*>;3PY@Qug5rKJJW6Xq9hRGTpA09FF35dXIl@o-e>qhcilVyQjW67rxtuzQhNW}X6 zXjN+k!huyNr|`-#nK&-AlV<1#X2&&Jx3P#20i!}fIy@l=y0PQSe?G-)f4ZUXDyGSh zYfDu{lD7|mp|@yl5hAM8_J!G=r);fc95WX6K-Jf~q0 z%!-KowVg+Z9)h52+r&o_Ox8xL3k5Pn0g4J9LL7A}=?EbfwOK0qLJ$Nm>HD6#js~Nn zj7Xs$<272WHuPPIQt>@smhqgVQV22vM3F-pp{_Ua+=d~is(QxBu*i0)>FE$6kmrJF z+F_jn5znn{D;~@`s!q$1tkOK*7rgn2=kkfhJv#C%Lu-xqv1u@cCMzxFJgRbqh-1!x zryqLe^^(WO2ZRx1g`p^OTpC5TT_4dwsW3_Ou(!e3<4ev-gmgIP+3rfpA_^p~UR)Bq zM}Jbiz!PY@ftHa41!EHjE<%drITNMi!3PFAkx2tm&`$%Ii0X?h&rn0mMH;Z|{Eor* zoXX>bn&`yQNn4rk_(VQS8Bu|Z0)ytkKOm$|NRZ-+bD~jO9NF#YF_2up;?LasB2^R^ zqv?l%Motty!t2C_kJK}i%nmO;r6jn>LE6x8%>0lO)+9>|fT?rX(UVn%qs5F*Uw_7ijw|_n6pCZ! zZ2g8pRtQE`tPaM96OO41WM1;g>;+vrFfveQHLu+ROX>r!NFWkgw_)pBmgaHNS_Mt9?A5|JG?X74BN0Hi=$zr-U;Ij2meXF--MIE4 zg`uEgj^ZV^XmU;{dGL>%%Tqq^NKKIn(h-fJqGsba6tYZ1KS#?g(!+E43=kMH3Iv7{ zhh*!w6e6dPH3~z<5jh&ohL$y7)8J{Calt8tDG1K9 z^h;WL-f)LQpvj|{z^}QI7i4I@^{>&=aKcIA*EuvA<20LLO}!||YeT#3*~f4|%)N^S zo{>vei;^)+xY0BCft}w`$vPp$H8pd_)ErEHM9avv*pJlkf#5w=SrYt6b=1VpH}lEL zKoFFtpA;9@E3&frKdE}JE=iIr&+li-Wr&nj)e@M&>>hG?_V5Gn>+_l9%gUKWV;U_= zq=<|Nm*!^1himTD08SrNH?lJ`+&$u6`^y~9Ff-2qR~c$+8HS0{N>oL748(IuOfY$m z4~Ce;;TM*Lo5wx%u_A;8YcDKbT#Ea*d&VkJHa%tG0LL(l7%ju5Y1s0H0AdUx6pk_s z$8p4umT{~|lejtS?AlaH@$hX+u%6TJXSCKletUT9gtk&pgk>B*ur75-Ng~AiD;4BvJ9XF3Vj_euwo}#?q7ZK$*{eepfRXb7FwZuzgHfW8~ z&`P1Sk!z74%#qjU5mID#lxL$mPiUJM#tIcnmatINo_;F0If{!_bbW})Wf*vUeZ`u@ zw?AsU53~o-AkOnl(vE42?03-j@|um-l)H);BhERRw&nHZg(4+}DN|#}LU_2{Q#RAK z>>nTZ8y!1e7t!j~Ef+1za7yC#3sIb-RSEMfOIcOJJWD#jG}*jZB??y%eWbrAntkB* z=1A9dcptDk_o>dFbjbb7Xk@o6n1|PVs~_C1BapQa1&2 zFCylNnYd`$qDIx4=kA5u`JR6^KWsf`12ZQ&?%2_V0i_$3IPt=n3P(#xonr=`IkOP> zU>^A`{>IT9NhEG4IOpmKDT#Gl!Wn~Rr(0IH;)yG3i_f%Xk0d#lv_v%jC$C(&Q59XdiZMce zO)D>yLp#IVdz6N^blnPkd{> zW6X=>Ba)5RQfAYK=aGtgQpVU~_6N(t{lFc+({Sd>OroS_=UM@j6&!uUgpx0uu$0ua zT;qj<5&HZbKU10mnkBE_^52RAV+~KIXZCK-THGs0X4cn`c&~3o6Osg-{czm z!KbH>JU%|6osyGkBSQ)WjV+n_ncYpIzj#JfWZDd|*{8@afBhAs4aQph;<^8DLs{g{ zI4cyCpG&5BMD+vCNyeIA7F>?YShI&>ii9P|aE>zQTv4z%&(H}C_`176R} zUoO0Texu0fkv3VpoT)*rHAO9Erg@&ZxwnL%sN0%&?Qpe-t8Ha5vk}*4p%{8`S*xUJ zkD6%+xFT)hb(I4|LpT#c;Nvd~#`HXVTcA~BzpJUr5>@ns9Pi-PoHg(9K5fIhC<=CM z%d#wDTqp|svasJ-jPAI4xU$f`HIlhB)-+8|(>8qhWn?@*QiptRn@#W$@}WM7E@fQ%9157u@b^5bn)Tl$lLRosh_Fqn)^ptSf^=% z0A*=0wW6qJ=62xp@rJUQnWmDc0_UeI#v1NF+)|ch&W|%(zdTShCysXqX74E~i?RjE zD{K)k#^9nbPGOd8y!O!Gih>Y5Wg|<>g2xpW?E=$TVv|hLRCPt)^}KvMu`CN8{`6i@ ztDJ%mRite@mgEFUwhKlFVgzjx^HiesLbkiL!O_z&Ob*vKTJ$!X=#f(R|0FzLW2XbabtbMj0waMtB?xfhjw+1j#Bk3TxH% zNUVdB1)|PL)7fsnHkwa(3N7x*59X0bW`HxBROpC(d*X zmx*`W(9%%WMUMJta-E0=T_sj*Wg#L6G_E|S5iTCwpjxbsK zwd5SHE;}vPXpyx@SDd(pTXxt?QHtwUG%(}jiLKcClEfcPF zH8v*xd-yj>Q}eBUhekTYt_*zSHRr%3EO#7f^P(=#`M2Ehf!l0+ST;&m%6=s#;*je@ z*0u7#@xCla+Qwr8NesVEz{H$xnl!-zE%N?ZE;9u=qW#5@X8eJjdHIj~I=WmSFE zMl1^<7|LoytH|;0YXGlgG->W1?zwi?Ob^LI5JG^21hSTbN*EK+QGX3!wP3VinqtnP zN}?w-23I($YTn`&P>FG>7$>QGQK(J89%Gc{E7Mc!G8XcXk-?JCDq({N=HK4VT)U3L z;V9WpWtoNW9-HZ{%k`SY^+InZ61$sL;tGlaKg;LGF!cDv%U|A8)fFZOv?`^*CS2ii zfMkpJU*lzfZGkLG$-L4^(>CIAw8mic*YH%3gQhWtx^@^N&O`6L#AG-pPCR3<#?rPs zv=IlKDkqYP?Du<&3G{=+h17N2mO3D#6Y?H*&f)Dsj6zY`GB8eIyT|MAWOD?Exb9?` zR!R}Gz}i?V%R~sYZHwMrFeb?I6D3N-&r+i8y{GR4(J6|8u^QR$FVywOI7)`r>XciZ zqgFe9|Jx@nr>{n8D=^fLNM(2(^oy2k$%H9~g#nOyZh4*H2ur5JNDrISyXE_w26Iw^Qt|La#Uap@n z>-(O164TiOZ>R9dt`zw*QbN0v;}y%5n(@#F1}5?%_lRLpn| zxzj3Sw`XA-LzpPA1OjI|>WoUYRJ_I$E-H>rmfJPz;mSxEEqB$Pw^0aHp?ocC3jAO0 z|4E#zT5)T3_#hPL2kzur`iM3P6TU9I8aUK@;t)B76E!V!?uT=jt#v?jRz=2Z7XHTX z6lg|zu5^&#&xaqmS?)6qDGT;8%K$sNhUg=|FlLojB>6;XB&R5nn72%@lowl}+RMhV z>m|m)VzN$6}yIXo=Jk(s*{rl4Y}4*!YefAJ$r_n zuXbhNK2xJV@R);DLDG#gQHVlmALdi^b40;i!4X4JD38at|Hicb)K5 zTFRCGzwrO^ANb#iTGRV!>qdKfk)F0CdWLZ2gLy=0IdnCYk}yv}i8LkbRLu=LcGOf= z$vn>+wYPpq#{9wF9xO&1+M_HH^E7W?=bStnWhvrVtu@n>MYi+IJX+?lqVP`Kf{**H z!o)eDRD`}-wneTeBy(tS3(80Ziz2ZEvDO2OV`RTCzb+_h4I!1mh+3VI3Tqc;Cy@_b zClLg@z5y~?L)wB#AHKWa7K&*q*#XYV=T%sQ=9n|(CyVGJ;i8MCu0wrG8!-IWaUlh`Ol>OV)QOX)?H8t{cNp z);-oHP$JSFM~P-onetw8j7Urg>lD@ml20s3A~*VckDIpP{B|axFj@{De(@Vxbvzum z>*t)Kt|kiS80rDM17@5H_{95#ep113P>$RY623+MBhmm7* zAeD*J+li)b&{kn8O=%jgZ=Ed9(PJxvHkzB`4PD={Op)QLi8|)$u!EqS>8@H(H! z%Zx&;?z1`zc-JbOhH^_vmn^Wrj%pj87RyY4?0}Py&WW`b(4erm4Z&DlT8Tu<4yz2G zy1#Q{c6|Hz4bQ!7$`^Xd!O@sX3ruBJiB60>l76z5dL=#9x{}6Ee!PWV8dw*MiL{SyOPsj@p&n=>uVo zT*3)!M1!_E=|BYA1(snHq5P_?TNCH4()`==PaLb3@85kZ*-yc2aS7T;zudw?txAS8 zWs!Y}TP%CGM*+Wv--&1r`bfi`kP$_VVy_y$<(^ZzvJk0I{0+%{^W(zb`(K&y{JHs& zijvQ~@{WR$iQr=vbqfuqGSVg#ui=&!g;1aG`38mJEz_-2@2N|nR|o&bkvcC@fwiY| z$zS)6=|4?x8+x}Qf|4PpIMQaiub|h7mOanm3ClaIE_v$S*mVun&N0M+-@<2Z z%qhp(ge8VpIsxT)SelO&60JY+%=jzz2hx*3`|VD zASk;a=-9!w49i4A#fZnpwH^ufy5|3g|C#^B|KLK$g#kHxD!%Z>14oW-#}|Lv3YJR> zj{3+g-|-w?c;rz|*4t7k$k(UvnIFw}I4ubFglEX~`3qpVp%`B~RXzb!|`XuMB?J~`+wHF1_9{_*F}6h*=PH@ErZAEmP}fzq1W_lMlkD6t!8 z#pU(F_|dW32}&fX_a)XYRCVHVR=jYfC}zf~1a+Y-pKw-Vfe8~@(C`?hkQzRQmCUQL9 zF;6q?uEiL`^V2h9H*)uA>1VYa3P|9b&TTTD5Wk{%T5JC0KmD^Haea^PT9oT0)xH!L z?d&~@Rjh9yzaNY-w1-AQvun2@bbanS)fqi9rNsRZWU;?oF4X1M0NM7o=4izg8SG49 zB4GhnX-p9r28Ul1Z3A^(ky6hvD)xI#clP+nakxpcmQl4Fz!k35^PYAirXsTJ3g_n;f z&gYT)Z(349%!94CTKirUttvr`ig|XFMMOKz^{wOZu%jw#F4v0~8M=htN%Y9nd*<^@ zKPKj~=l1q4=lcmnkdz?K=cfy0S#o^bXIeF)4bpV4fWMyqouB%D#|KYOw>5>&>sqrU zreWS_t&y2|_B_W|zJw?4%pC{4XC(|)8fD6KhQre2Q?tQvg9HdpcwV^zX|uFfxUGD+ z&4T+mOZaDUh#-an*_7qH9x~D)Q3xe&qZ@4{J%mMLSth9$(n@bypmXR*L2in+8tW9h zqUN2x=RJ3nQFJ_4dOq^ZtG}R8?5Oyc;}3l6zN0ZaPT|DK|5xTXP-QWGNg?$`8QBP= zyxcl|=apAFK5^oWju2v|E+s(Ik`aNBpoz3)&5b@12%GbAMNq!dk!=4AB&W%ihBF

Aa8*jA`Q7w%oDDVVHuPmKxpiqxqgC%%~`|S9E;mYeUHl@6M-Ca^N|cCOsAFWw^uI1Uax| z9b8%|e4{e0+z9d;VkW>ft}@#KG$HqH$Y^tjk=xrn@407}9i3yYoocDL(1U^l4M*Bc z$IBxBC;c5qbHk_bnLc(rbLPUp94F4F{gYw4rnBhdksG zaoDPM$Rh1^sD@yuM+v&TzV!Ui2*D#FyV*SQeiV z$iV()$KgISV3z2kVNNm_aZ zo2KFNH1YQNDpg92+r-~%zu()J3zw&B9=L`ORCf1C8FpC}XpKY_%!~9s)-}7`PEf?$ zY~a0@n2)v<*5pE11rnd00e7 zpc936q$JwYwIf!R#06bulA}vg9zu%3iDN91c%$3skYSlJT^6@N_8LzN;mXn6a4Zhn zaE1EpV<2*(+q6k5%2Q;W+8R3nBB-~8*)&8V<}<|n zv)4bTD3s;%MY2{567H%|w5Fy-deY`e(y5hJ*g`Z7AIv+Z(6dJ}a(ZSy^U5{HFwDKw z)C8@#caQvM^MCPM_{iVlFIzN0nA4`wSu?%-iasIf>94%-J1;qgVZ~}he4G+=;lji5 zKFiTf&ciCGDDyo^jLfW>wF^BHi|Bhs(GC4K{+<4L61Um0MCy{(>k+;BzT*;iT}pp%kjjIH9trv6&pS*6^NNV9zi7 zzBxPh)ZFo&&zv}M-B84qiU)mRy5yGq_6++>r$2LMZEdid zer=bLUe6oX4fQO@!Z&1Idj!`~@m2I2gF!{bock-alJM8HgkF}7tYdQG!0ft?!=V@YGPeQ55VxMYt<+kp ztsvXEBo#DTNwrO(8AeD+p^~65(@w?--{^7D_E?=`ouhoO3K0Nt)+*i^^E9^{SQAMi9&@FKDuiMB27xs^nP<*NW4# zW`EOg^B#)2z-YCl(Dy^n)0ZbwOuU`m^e} zMrkz08C+=r>9+j-;XA&)|Ax|tbJLcRc{byDd+X>g6Z5c8?+Xs)LG1qVLQBOx2hQ|a zyj{?Rfu4~%5Bt0NmjCGf1C5rNnO9Cs)4b(Tt*+B|&AZK*u=Zqr;mk8<{>txkjEv0m ze&pgWTrNHSl&~(>6QPB6$X6o}IJhPo8sL!|ZbfN>CveY!|HPl^x`7*W$2SjB^c{#0 z!8ywfJB~Rct78P^iVJ)a0nZ+a$Jl=M08kN@$?{exK9n6ZKFt&o1ZYEX;Gs`8@Od z{LDPd0phUVQ)ltM3>(AsdgasSPh7hzWmQrXpqpOIMM?%c3W}Y$(?md=(S#+ic**Qh zQC`Sa{*DZsm=_?WM01wlYaNbKxq3!whC&o{%q}*c)^*PG8Z+{x`S#Brc>L}`68Uqd zV@!!_S5j7*<8i;~-sXA6Stqdt3W){ELp>~seki$|uS}yXH)W9#aGRrWGQAgbEzz91QrZ@U z6mv1!AF72?lH-TVF2_|Hrj5bc1?N2TZ2A1<3)AdD$^F~yc2pS^bIxVqylCZ=QcSbZ zT4gB(^(%rTdcxdys1$wMK{b-91xiKPh?CYY5^u6rA*~&bvzKLj>Sn?s(Gk{Ja`O@M zBoty%6qHr9E#zxKdDAqU&u=V?P>kbLv4n-D$>x;&#yVdv^jTyN^0g}sSu_Pj5hdp` zFVt&secLLuk)>zo2kKgAxu$7ylK+}%Cn3jnE=cKXA@=%LjFFfm?S1NJrhcK>)yzSj z?Rkm}{XhtT-F~;dcUJR?D;!#b(gG~3CYBW)ThTkzSL)U|M^#l)ZxltNn6jo-Yl9*( z&7z|VAu`XIM%NOL6{C@AATKpjN-J*P-|+BV!8EQ&wB)Ke=efC=Xxo9Z92tg&q_q71 znNschUJffsXzsSP)Rjb|jN`~046fBwZAnZTx9c`^be?Bs@A>9W@A>vm@3H?|^Ovks zk(>O5Hr`x}W-g3bNG)mWDMLi1E|{aoCvhGqWWdh!j91Uw)QP}a!^`-D ze+%15a+%~ov-z|i2oPW%g}!?~J@R|_gxB>pq=y^;T2bOzgjUNBDkQ$=ktbe&g$o0( zT)5+aLi1DqGYuvC9P(M=sM&MRo+B-vIq}Ms+uRlSYxteUw4Blvh~sN*b%DcWC*i-n{*C^1prN8;r1zt^+KgqFd-$w1q9xK5+A5|&oSIEh zQH=#BPSlK)83CJ^dB^RBNEtLeBOPbvVaZNIjdq%!&VLgDa$bhSwJ6wM4IF7W(QUMy z%g>9;&*E>qpwaxmJv&!3`k9`I@Q0tP5sFzU7}B(%iXim34$?aC9glQ*iCrDAk;wNv zq5(_2x&QnkE=mhXSr4|N#u7rh(DA|#+*46-X2{nk5B_}5 zRvLP(D>_iqqxda;;we1wo;w1XdwomHC>fB=F9jER8YJm{jVl?`%(%=v?rMISo>(dT zfM`FTbF)J2#q^S*gb?~s?nO<(fJAPDyl_|9z@S2eq=_;26)q8H1Z`%5Dv80S&&&OX zAK%dry#%6m%a*dPk|Ja}z-4QBSxPR^G|7D+NpD|W*Esu% zPoS0N^KS#j4E)P~k{Y8J6VsH4QS=^w2%9s)wQ0UGLIZ5n)v5zC)^c}u$IHu0MlrN# zqpESEd5jU-^zhKKYg>N%+b534BfGnr=jD~MC~<|`P`Sk~xY}}icgy8+VV<)HI!Rgd z>}QrmTw7H+u>^~A3YF_%+IHe?)MzcJV?PW$*n6ISeP)^_Zr&Xz3b#>xYfoXyMa+F~ zDVvz`l!muVoqEj}b!hD>(E zN%oZ9kS5u_WVWmnQk9_V=WS41YfwsW)i$fkO>58Fsi!p3P|>zpgz7`j{WrH8rCc`+ z%calyLW6S?Yt(JmU8$;CC`Y47S(BuVmWYjvj$B`QirN7!``woC9kiq?B3qdHJ-9gG)>DA7N$uK9!ro6vULet?+XY^F%O>hAP!G) z$vUb^QB@jrJx7F@)H)g8EC*8kn^jV1uzPq`a&B7}mbo>&%@ z-?NJA^}5A&O!JhbG;#onL4Q5e=WM$5zQq_Baz7)8OL}#*qR6_xX+sTB21R0;0!5*5 z&TO>y&<9ko)V1Sy6yrxq@b|w?6vd2IXpX8S6A$0+at>fa z;R+@*F$^31WS^Mw>6FCR~WNdMpc|HHrbKmCJNMrwrQ zG`ucfvMdRDu;vf7y5V3Bbm79d40%)vJnr)Fvzg)wM9%r7zLssTSx_tbh8z}H-H#SY z)?S^9WgcVzLqen!h>Zmmi`y_+(S&so=u&)8dVJ zf&A*aOX3I%qQmpcLTyVykLHNA@;r27#}o!`%q@F;*nXdxz-LY*U}qa{Iq;r4;Dw%% zXU=FN0d|5Eu~F5l25F_Q7h={6TAZ?6a|mgZ1@_-?%L4~43@l#URW8$aTIo&1J|Vi9 z*3_9s6SQtysImb62Oi}lMC8oCS~7jfh1#oOqG#Hk%^Q8p0j;9z6RJGrzYkmNhQyPI zuFtZjXAIx{`%z+d+4BHcJJ_i%m*NsD7jIabgJr_vW61ITFK67dt%C zFd@3`T#24tw^}QTMh-Whc;&(u{*}M+@#oK+pROGC`+pd=!3Gh~>y%-B5umT=%G%>7 zni8MuROA#b;&;b17hKMQD|MgBT8ef8pcL&%FHp%IWiY zi=p@j1S~J1D>A0?(i=kHa$S+O#OZX-*Q3hIp~3r^rft8*Td2hOtf(uA@_2fFBF0Gf zI`H;%B`j-{LDoA3S^hyPa+W1*<)348YsJB$LAd1ygqIBZ*2|oV)MFzQ%5ZbCVSgZdb5=G1dp0btD z-~J+hUpSYMudprcM#~cAoMY(%Z(lA*=jtRVt8+~CkWrzuxi4dq`l%&rFHLEvcbe{8 zu#8$JP;MiT>ov0kao|eKiL@^i*0FfECCdL%{z6`yLOu|PZc9+dd6otSg`z5}T(}KQ zttm^L4<2j>C0965prd?}R%M0OhPtXKi;1DH+3#ztjcBc~R%7jw4!Jp*tlv3hwIH0uVdcDeZA#1NvUTQ$` z#D$*U{xEz*v(+=A5XYT3)&fVp=Uw^8HC&iu=FL-}C><&z7AvZ7W#ml1)tM9-(c0(k zx|xNZGy6QMR+pqUIwLHCE;Lzp6oHBP5AI2y10BNVv~*d#FKC!p-%ID{mx;@(Xr#JK zZ%WEj#5$AB{|1MXdLG}iH%H#WTOMm_v*BME&{k2kju}t?Iue$+ZS{sLh@NF*T;@u{Vz;m;Gw?fy?$WL zJL^NfH$s zMfxajIY1u#22B?PKA-afBqjo=Ou3=3!-kN^VyLak4%*0=pTUZPDld`=a{06z0md|A z)mN?A96WQ7*amGCg;_Jd0w=nhRTZ{nb?x<(Jhp_yoCH>P;=0hQ?Y*&6Ulq5g$f|9L#80 zV?oyY;hFPUUScprleSXdHcJZDCA`Wj-$wDvry@$h6b5`=zFOU~(>w0X9lwQ-IV4vR zWMgSf#g@jOBMvK$&a4fOL6N1Lik`jJ*cg2{%$B!S;N~6Cv`)pm9Ym7$-h8WDI zt6OQ`b>RrXFpX2b{)%xN^7oJ>DTYYl9QXJ4;u35MmL)GSRmI{X;~-0g_hR-cih|=| zPf<8=vg;)61Et@V1kvg_9`5hZCJV%Khw0^XrD{Z{l@N;ca=y@ay#N+%yG1@&=Qb_h zI8NK2=Sh&nshAl1nmH6`7x6=2IM4V|G;w~3IXXi^uGa%Xijiht<40MV_WJ|7wxp_S zP>HZeBvIG*`0N_ov`m!<%lG>|w|7_SdLYD1w<=9p%Hee!C;DN)7)#O#3@n$Lsn6AK z2F6Kx5SJz3y`<%rWl2-lVk9VL{5)^*5;2O#v92nHVc6WTCf5cnOOUpmj28BNpMNKb znDKteIe%Y^>Zd6X7QrHxsHUq?M;?I001BWNkl$$+5E7x%5XpW5fYY$zOeXSFUDw|J7( zFBn7GVj1={8{)H&bvejDt|^HG{>De{*z@3yEIw@RL6^-5Dt#6A%33Ap)@A8AsD(A` z^_ep#{!W>f(IZV(5=tD3L{Z2>-)9fzx~x=rQIaYxmrWlM0kSSXS4M8xBz!k8ilf zU`(Ve7orv_rzi@XwRE{VudZvf(VLSl#>l>|vCfiW!a5loMLE+Knixf6(ljEb*199H zIvPd4cKiOw@p$C(=g-W=NaGf|J`kUug~G_EZexsy?Q<~e&CRV0v6Lu`k?>Nh=|>}n z;bO+wBk#U{$SngUD!an`EQ-Yy)k`Vm5ZORkL`)%vjjF1)p35q0nAWAJtSZ8?(Di4m zb$Jk4hGL|&3)8ib?`tiGV=w9H#!wUvXRY))PLurpS@Wgzih?Pcw%y!~>++SN#BD6W zVoczCo;Vy}S>S1YLIJO*6E`Jr7VW4P8-al*7BeD|}4 z9Mw@4ZZouq`<5Q+}RAGng305nZMY8Iu@^lG{6>dl$cOxpt(eNNL1o&Eh=IIr~gd zxT18_wM2xEU7&CUySs+PFPjro^mye~(`AjJuAx2@OjBYQ6ip*pYAZ6^og?Wg&hoAg z+~2iSRn30a@%9$wfTaqKM<6J|JkgaSg)87jP;8-EW!&ll%QxI}qT{xC;K$~BrhMZ9 zmwalMVNzwZVf~LQ+Lagx7^f*4LDeKAblwV%+p6Nz3q{UOs?EoXXqCK^g!;)&1xBTwN8jOD?-<9>g~ z&Q%zt^IcLra>uT2`1tyfkLQn=!em#SEKINdOp4IWBPoefNarDJlqUE{H(lw14BtY_ zAm1b6>@qJEhm2$%X?fy_ftfe1%y@Q(n&0~0_|ku-Xl$lm4HHX7A;)d$ddtqk6!@Q13XpHXBGxHaDoOS5%u|eKm8;d;vP1xNK&EmAZV+ zF%T;yxZacX`CWBgf`bV~zIHXPi%cN$!X+8y<_GxD9#+w&*Mbz;0p zUxltHra16Ays)ygfm>h@(W@_DFOv$I^GsDzpbX!S ztpCkTL3wa^zp&d~+3iN^YRrg^63aN!)?qV+vpM7P5K^$wE21p|Q_O_8@budYPrp6m zGtzQ6?5XPkqs6)P!(YDR@%uKH^(v}boVl_jDpYo#ElZ&5I);7_;k~sOYk7WtW*R3x ze)>p?iKZ#2tB5fXYaQSJzqEHnTNzQ zMO41Nx9^X9_vddY3c03h%s|Ncxx;0@x{CcR-K~vXLraLXR z474{r^?qa?9OtKsshjiiD&Kp(m(AWV5Ax@JkWkj5P+RQ8ZnqQheF$7G7n-Kw`@ek0 zL+&IcBUaYhEdpbjCf10l1kAH6P1Y`y%}jgf8Lk!Gx!8h~mmqmpYxwKxoLv^X{dqNq zq%6o+TCrq=Z_NZ8$5BF1wZ?nVNY37{H1vRoQ#aL(iX!ujpY^>Rfk&Fy1mu&hNZp&ersMjzgcgzV@OW&4{Wlv(jtC^Z%3gX1%s-X?oTZV?-abUu*4tpC&V_vZ_cIE(4ZD zQOL3^fsnW`cl-o?0lx?S12+hUKD#lvWO~2M$91X%-V>1 zVHq!3=p~o_#7H;4$mGb%z0=RfadYvStcrHl`wR@6DH;7j2QYSqMI;=jnpRv>I$#*a zxmXdW#fTX#=^~+6rM%V8_?qW5)Rb*4pi(c?mPn$GjF@kE@jDCZbb^h)qsdXM$ca@d zqeCnFD}WLiJGAtitBS53ges3{k*0-j>UyE%#-Ru}Q_l<8)EyDwwc=#YoT<=bM6pg; zMnYg8Y|9VB4+Lgp(C{jHO{y~K_O)`c7$Fhg3r9Vd}=Go_w{B)iOh_>^it!;oIdiM z&q3?LoEHtC;7~FppyBB}tZc=Dd1Rdk>LEmXCYp49#Q{2?Rm4v3IGGcp?R`P%=289> z6*VH6oevylSLx)KRA2l|OAmW@NQ4q);43ZhyF=Ikx0^M%Ser4kPD_p>A5yj$}ED#S*18 z#yW|9=?AP6R6rPpTrL-yI-ss=@;vu+d`*(X)Q5)hsgiE9ykUw(KC{5aVIWIWhQ3Dy z0deH$dI^J`K3}NASu9_crC&rv5FY9f>x?J1%lOR2196{lJe?T&o>1%AZDy^V(GNio z@N|3N;p1Mq8*$I+w4@zd);AeC3rJQmtLvP68xa+nd=s;}N?2YMEOt4?R>>wiOqmu*^Uy z>#67l9U81tbX`jlCuqN*Pk_(S7(WI}$$c7vvzDrg=3=niH=G|X;wp>=d0wp<2GKml zaZHgHvx9T$+-N5or4i|(eaW!0zBAi2jlf9j+DGe%elSUs`7ZQ$yT>$+^?E&@(|Mk= zUL`D-8u2&;IHg!zwJbIbc5qY&LtAzjANkYNHE|v>3=xON3;X?v$HzU^I-eTh$n#uA zvA%n&L(xM%-5zGt$vBQI77HQqcftJsz`IkuNhQxiaTlv#F2dR>nH|wdBAwdKJ8eZj zXelxQt|mU&!1!3AyeJ4GIVW8JQ9MwVqGOAq*kfN5QD}(cWHu1Qu|;b`Q)iTyl>2+b z(~~2KJC=);=jMrFFbD$DOj0-w-ZY~_=^oG5n$I4c3e~z6gN3ugLoEscqKj)-@LlV* zyxw$d`W~V&Vv4>B_^fkv&Y>m|w8+F$E;KWhJ3)$#h8{DR`J~V&k|<_$W-d@J)TmHV z#0ATE&9OaEH5Fq&&cgeU&<|t8hCV?iCk>Oq5+VF1D+>BjXEh`}K@Ux>7w zz#(Vay#M#9TWGE2a`eEp6ur!1x$tp3Eln-DuGMlS^!O+ujxEbYgxc^hmNi@(v5Hs_c8bP4?I0poKB6;g3JiRXvQUk zVd&wR-l;|~7t3QS9fmaPg^AUR$s&#;uWJ*-M1W)HW#j(k;%WUz4MZ`d zo5sCS6cZ;R${&2*?zu2$ZnaieiCQmM|33s|o|+MaW_uVTXX`G+=t` zDeI0Pax|szyy`lqu4Alq48!Od5JI+Su}y>z#zf8C zf2D$%0XW@1nz~`IU^;0&X$7A?-4g^t>n|1y(ln;NWF9aZF@|!yhyHUO>lCjPPEN4G z?|;*Iq?FPzuqK~(%uBylu4!58f^gIf&JZAcuX9_I5(5hD688NOts*a$AIM3)uE$3z znA#U#ii_tQMT88daSXiWl1#;NaJfzovDy=!SgB{$%z{Xbz3`W0sbNp4>xE&s4lKAK4;_?;6XV zJv}287d9->*3x>$k{zVWrBDO`yxG1+sem8uKk|W3EXf#=I49%BRVgv0lhM=t<1GOJ zsV;b~K1cBgUO<4J(w*#QE!iZXPG%&6z-XOy6ne#&8_cD{GH^6Udf&}xP~i1gXM1L? zH)s`mMwN73EEdySvNWM<`?*+_WC1JMGz^0;td$CwQWq@nd&Q4&&hfuq{p z2Xo6KXTCMB*kuc@hb<>F@Wc}>0}VAda_w&Iz- zA&+w(S0y*BB#nrYkf9qrgrp!Mk}T06W5brqaK;8Qa&bV^hJ=x(ZDfT0V4m1MU(2Fr z42h4NNzw$P4b}$Kmz*#iQK}}672VL&Rvmes<3{MsNWeIEg(mGtmN|wNk~E+?OHmOJ z%;NK_ms=c;^MeF>N0Edkx1Nk$=QUB(6EaW~1=Xb{j$)co{(O-wQBF}^YT70v%NrCO z){jooMMhJ#B4dcgIlpok1_-3k8;6n2%}NT7wk1uHSxCLv9DxF3^&C%g^X!K9*pkE{ z)>%%c6LA!O5#HU*g=m&#*rBF(mT?qtWP9#s5&6|CVSqJ%-OR;Q-y4cT3d5nvaJnO3 zwm2u$OCL=S!7GPwqxiF=e;A020|S$j&62smW{^tC5uHN8GXHUv5YTThjyID zj`2i%PXxbntj=hy$@>HXN8c;D&Y&ViQ_5&Ja4n$@Nurd#xez!--$S-g^leYyjTkfH z5L84If$bfGXW|7xz;S;jiRBn%c~0Y0l_^e}XP zy)5EPxLnOZb*@p7!`V>AfSqRSLTFOXhcn|iQrd<%R;;#5w9?c~BP=lAk?eZlsH%#tAIP(Wwsnl-KokbE`D3*j=~_dwfi!Em91BP~>WgsrhE8+oYobVIO7*!$ zX-!-A-sB@A((*JC$C|M-be+dqWR}aZqVFRX3+Vz!3igKr?M_l`S&a$|c8G|g9#f{M zv?b~z9v>cj$5Ncm&)%#cfZzVI^`q&@jj6D`cVb%)XdX0aItq58?_@KmBAEhN0b3s) z&nOkp*^V%X$cu`@Q_RhEgwi8A%;@@&C^SI9?!`um%UAg;6aoL7Uo%kiHP5^jt6+&# z&l&OT*qg>cQfVu>3Ht8V1kDTps}#m5YFpua7wO26g3RxJH4k>rl8nw53RCy#lYN*w zAvp;Pat~$gag2QA-dpDbD2*>TV%kXyh9+u67jZY-($NzIAfNzjD6o5gc zJ78=KAM0B*iov!(&!hdsbDsIaZlLqJyro(asEE;bNxp=I25zKld!Ml=nxM&`kr7jJ z=8+Qv2b}fYOyAjjSACSun{8+)sVNckXvVF*XXHrA4$I(+otP(n$rCq(Pa$y{;v!4m z$w*le1}vQ&Ih+o}StLMB6=235i=n4w$C86RGw{TB7;^g!>v#cu#d{to$XJqc;mjTX z3IW^}7I!{DXz(l=ZpLDi4G(5koqkfB&oup#A0<#Q{SWF+)H@3FGw%*T7O2P8t= zpom$K;YhhwJBnn18LIg>H>P2QI2bj(fW+6pgP`R42 zzc3)-=3PHf^eH;jw6wbLMeu##8olLs%0EPs&hsKq-jSO8d}$RZHWL) z!!Q(^h6OPW2Bb;Ac^?uC0&pA#*?~?SjwDXFejWRK$$_?Q{b8Rzon0V?sXLA#>D9l_m9uEh?C=xNcv2#%=2nHXr+$mP8Sc=K2gTT%>4Z(AW zKIw3G#5u?A`C0;=14z;cV+H#_G!RCk*FkxgW*iX&3OA0pahzj*@EtV*ht`T9a6Ty6 z5JVO`16GxHcGhgKw`i?6d^*v@ofO3Wc^r-`@8~K;oOpq|m4YpcbH?sWHyUiOXgyWk zIj|;R=tE9Tgfk^k6w!AhK_Hy8EXx=>gXt}GrzsXaufDz_@LlsMsC_hk9k?W{b`@P8 z)0Zj5qN2I<1c8v^N0VXtGdDLo(f@S`&L#fb>lnw7t`??Qb>5SvA!(Ms%d*qq8~9< z6PS@Gl0f??46%`{<;!(J6n4~?h(I~qC=;u$)%1;Gv9Q=d(Ug_{One6NIz;rN!0CZz zaO@uzXl*b?v&?%;HvkUpM!Gtt>k>aQHW;HYqr!$G@qR&<^bA8lTlTEiD|8gloP-^h zMGa;M>DmaT<-K=x=N+>~w3UIOZ@_jfIuxh1iyVF3V|u9&`d$S5_0VF*kUS3|={P?2 zgkeIF7sS!QV^snkKI{PqtNKJu$12Y_QM2d5j%ysSW6i+}bz6ku{m6+Gxwwhk=iunT z>vSfD*FfVJuaQUlL|_~TP5`8S#3)g{TLSnUQh3W9pn;G*J!{^G;9EtUtnA;P_>L_v z*z-tD#|;}wUos7hEPaAxK)`=k{3*jYutS(tAK4T5_uLH?_moV5;TA_tGmE8Lo(S2_ zS{g9^z12X*!M}S5{ogHHUV3-qK*W|e#ZNi(vM^5_Foz=wBJPL30unB4X=zAE>1auG zL9PmJ)HSKjalSh@Vp;o0q=IZ_qZy0`uZI40P(I&o_*2_9aP>FgkI;PDOF+-F;?|_p}O@s34%U zHD_Nm1t=U(z#|_9S&+`A;>>{(#hN8|)C?Sfl#nM*yd&YccR4;%aD_tgj`!fTfECkY z#a~mh@$CLbPW04NJfcaMV6fABmTRR!B=9n>>hv|CdNsGhb5d$QN(5&8okEZoPh7l1 zR1zdgud9TS##Y>!2XFSUv@`^SRNgf4#3N7=a>Wa-`N#vW^>eP&)x5asNE0LhI#xuT zrm9O_i~34h!1@; z@YNrMy#GbZ*aes|z?qo5$!Nn-Og?GLa@o+ea`O$Nfyh(Vhfz2~RUebA&V2nRhQ2kP z_zgopP#;B@9VaoJ9@xHE(=-ndKy|KJ{;cNsFSqP(7o>|4#)@GWI20@_0Z!GprqC!A2?smY&RPkKSGM)c&7PJ4~J*)Wm148Nrz4>=U$4NJU@_S zC$en8hwq+9Gffmq82RaR5`EVIPoMTY`*z2}cLyGBMVGT&_VkTtjiDokYp)!+3@04r+Q7G#o_1r1U+inrv)F%J$V)~?w43)Fxp~HIeOHX&|m{gZxyZ4*hNW_ zTC7oYwc^8fw^Y@@vo|Zo-p->p0Hx*UjP>lxw((AN#BJ;B+!>p6MQNG|_95!1FPfmU zxYGtT1Y|}tG*>*;C(O9Oxq$C}@q={G77NjFFPB~u=qO9gViSO6b{cNCE5T|gi*}AE z6gck8Z$ma|S)N0{Tmc;jaR2}y07*naR1lpXc0@%jsQ^PnTRNh+rz^JvE+9xG0%$av zXU|9KQ-ig_d29A7@;WCPLdr$O!<`||pgwLz9~eV=UeIJUeIVL2-Ns}?gbOUs|Dfiy zZ|UluEYEnczTuO4ko)WpFKLPjt)x>N1oFP72&u)Qq^@!~-~2getpJvXA;P(oIO(tk zF0HW0n*EweS&}|xSYG(!KfR`JWb<;g*0lUt@n@{F4Iv@LCK2&q)sln}I@XNM$lxRv zLRzV9TP&Fr&o|hS7>14Me|{ZxZb2s7^I$o|5(n zH*VvF%N0v9{*$-=DLPghPnBqxlu*1oKdzecBqQ%C>oF`zXT8v*>yr1pV9&*mb3?K; z#*UVz?)V{oBr}pPsUjuD0|)=*^?xOu3?yc0o#g!L_#J;<{m*=>-VzgWq@Pt6m5S^bav zRQ)|aVw3N*q36j9+NV4}(F=7L6rt0z*&vETu9_7MB^3oLa_%_uWiYqF@=vb+iNqBJ zF`W||L`=wo?56ti5Vs#DwN2oz8UxppJ@5J{2lcbDpGXaK$a&A&B)PJ^LxGL%oPis zvjHGhA;}`b434sCW?kV_d`;#TF^7o8Fhui1^PYcE{SUP228E^@2cjUPcaj^q@#zRK z>FPu(AYDl24A2Qiyf+8_Vet>yW?TQ7;zmk|C^iZ8v7`6b@gmANHz)r5_`jf)qO=X+ zDItww0v!-W;%?58g!^vKrdyB~>AYw}nI=p^%DTo_Ll|rNs^i~V{C!s0S~M|uTH_+f7b)ej;%9$)1&HR$7=sx*df&y0^#(VB ziUOR4)BZGz_oGAyaWq{= zRdw`(ArxaGDa0vYPT}W*{lRX0yU|0pmDQH?=&U zi6!qcmZXg1@xYJ%-W!3%mKRpbm7Fuy@U4?$H4Fob<%+5-sj7-FOlE{apaP;$en)$L zTo42@3ijv7Fh-p2&pzHr^o2UqglRw+MEvo8oKjXLFp?yx|J1yQW%x`a4dvRE!Kqv8E;K2j8dQfSYmbc3vgaKwz7I32JS ziaew5d(i+6LTir`DZ-SNv9lTF{a9;#x38q>609?1KYe0zz3@1ZoZJiGKm2e<-}h8y zC6Pr7pU*pnq+v}}Nvx6z6rJlxl0;Z=PLU*%!#X(`wNj)>f(b+6vJE2+O?}RI{j-*v zS2vhprtQQ$5Xa)?73Zk0QGmgijf38%V z#=7wIe9@hjr5w+;QWUG4p&zNr5@W>a+0+eh{$Yq29oy}0-sC8q&6=+$ddX-6UE!=0 zyJb~*Xm3LA^J$C4g3I~LYPFioazX9ep{nV2Sg1fq(h**Ca$#ek}CU#gDkHKOzuNSrGp@ ze@#lpH$3Mmzu|}aogecVzsLz_uH?urzvkEV_cB7PMFhUk8BKHHZT1aj?1@qVy&4Sn z^*sZlPaX(~hBthjz2R5Y8i(UxkDRS^Av*#dsW?z_!-gYIe&^|U7VNmV11);i6`iTP z)2`z}!^`~TTrfUo%_C<{b?rGRa9}Uh|>+C5C>D8J!a zPz{E1Xjrv{?=(t2W=TUb#`ODE3f@%XjAOl8aA_}8RY@3Wp1*p=`LW`meSq4{T~cM=Kmg!q36tX_|6)EODcV(DN*(3#SnCf#q_^ zgTt-e7PpeQud#YEVen1ANLSI6h`b1dz21YE*4m0 zS-o0udN|XxEmc*qSS)C}j@YxJHqVwk-tNIMn+K9F0JTA=NEQ)YHE=jSk>@$JkHnd} zOyB(UEAD=K&(+lxUER~RlC}7&pZ_&!nsWVW$L$Yy^D%Nr7ZIduy}DlT@xwivtvFFb z??9FO$8N?UFp6eQDOfBEv=a8)<=mjP*C=^0`&7vHeeX3&lACBo>14S;M$M)(K7B!v zCM9tklV>@nlZ1#jO+y%ktgf$6`hhG{n9-Y#BI(4oO-n#Pk%u_PoCXniAo6rv`+lJ7 z62?xGR0~!+!`K>3XBjHPp{hAY7xG2n(+ea>esklv`|bTKez(?gzMQE_&2rgLY%`wj zPJB1~fKrOb{e>uWYU7RZ@C;w%1b$KM7nb?=$7^% zQ>9JH{rg9`=lF=Ew{PDvi~~=PPrUi|C5OACIC1?3EDS?V50}|oa=aIw+Gs|PtTEiZ zzh`%|;dnUH_dVkvzaJ_TB@GMKyv|?q4PSGiX5<0Ib4Cn>=Vdz_7QPUCLrX`4bQKn! z_&x3NC*iTd66GPbYRO5t<-ltfkO#uzkmocieo=u-D}wr=kugK&wNOe0 zv}PbAWLqo=6HRY=f*Rs1WUNJX)VYphdE|NVjM19e;W+VG@w0`=_{=snawCL@&uWnF_ExHc!0Fo>Lz>R#8DeOx`!qS7pRJ4Nts^ zUJ@V(i(C~v(=TSD#E50XI0Hf>kJi`(OSVpQc>p?6+*bEI+9%*l$G~6KzhFVi@8>`E z$b*yz&Lo7aeK_=StO#PT7_QkcAR52PF?sDZfG{CR#5i%FWarTkAb{Knv^qV$uipXi zCV!2^Q6M@65NGNX4m}|e0{=YP54Sr80xe{!7iz~~#aiCGfv%S>ZEJgvpJ>=R8K1WF zlty5>8>IU*1-qjH25ShNe4eov4WV-mXFrFz}~qd01rU7Gd&knlfYDKf`WDzb)td;Qho0}W^MA}Fr)S?t#E$rw(D`$QWTl&?44NoC!W?gj1)z|Vwnr*)Vs*~A*9F)*+CBh z-~4#PFbq82?g@3o6tNS>F%KV}sH>K%ms>D3Q53M;F0qXCy(88cneT)R!$7)DW>;V5 zcj7@13i&PwXsQ7_3MqcET=MC+_r!6`)yu8V9UNq*?tb;NBX{C95vP{P7j9l`hpoW^?8L-A~?T#x%DJ{hd)i{lCcMyIFI5x)AG#EYBpkTPxw%`B8k=b`0ad;c(#U>dJQ$CmxxdpU)w& zLlZ+Q2&BVktl%=*ww1B5&%abkarJUb;zzr9in<-3J@v$KMBOyhm(*+e#2pwUvI&$C zv|KBPP`o+Vv}IAOdH?BlHfhXkGiS*Q85iEXzVgvO9oy}I^&P=+9OnoilxP8s zF<_mUc=qawe&|twnl~a+F!m@t zam~WHkQ~N<+uK`qS38!=g%}Rvm{j=`1m6)J#u58Plvkh>Ntj|?!)m4JnvSZfc>C>3 zj4}N7ZciMKghHhk1i@W>M@7rG`PW1|13!Yxa9pvXXW-F8C8r&?IPBzxFD@zpF!o+= zG#6t|#Np4_@NKvxjboB9=DB^2vr-I2p;Y;=^VgC)s1sJ`~hMu?ajc~`CEc7I%pa-lljFh=O~AogqYXGE0hix z-N>Qb6X<}b2)R5~OkmpB7bCSlo&v75zhfNuwfo33Hmp^F(gAJT`$9EgV$}mPZULmY z_$GfNriEVdI6nE{bHk*{%lv4|`Oh*HoKsmyV`=*Hd`whDve)%7cshOv|Ls%>N!-3>jz;S)FcH7if+ z-(U$*yx|p7_ToRt|1M|hc_f?`F=4D2TFb}giI@2cc52CB4Ue3;Va27dIgJM_Q>LYi zk{fy~e%ILre%v3h(mA7%koPY`y8&Wf%nnHS_Pr;2Io~b24zC1QiQ((wB~hk%`gr2w zc#FhhIX>|nwh4KzZU{*k{g_<1W5j>GU7!k#qQZ=b~H{46J z$zq&Fdeg4@)weG=91g>ju%QkZMn~Vr7|(Q?7My8>0IWB+H9AkF)DL;$?`=bDjm=TwpI3 zOAk;Txqh`nDMgw{Ga=G6k(H&p$&0?Z2HD=jOoTF#yzP%IWly514W&KVYD-1&~hG!_w8S;MWZ z*s|n%?l9Eck#WUpcGVpzv7CVgSFAm5K}6uw4LwYxlc0cAoMUkO{QOJ)o#OZTZT)`M zSan`dovIjPEzk02{80av6BWR^1L*hc7E~2MMmLWN* zkMl{%Jls?W>>-f{hUR{Bwnnuv%GJhILIh&)a?`mVr4qHE}QXYVMi zgp|vsM?%}};03RIW|K`_-N_8|*|;!C1ccf4I=W*c7=7)ux_)>jMKQ_n+r zkGhf(*6HCgGpWXLM28{HTAsbR=J4q>-_USQ7DW%SjB?Fye(^m;?)4wtqo=`JKMwlD zXbk&LcWgE(X0%j?6V^Ddm61`-{_aTZDe6*?fz~6d>jjsmM^4E_#*8@B7}7KyLuFV$ zTk`SyTcSu7pL-s;zP=`oVq9dndv{NLYCUi=p)5=4ruK`qB1>h|cRU`c%jSz4dO(^a zepfDN3hgr~rx+XKi>*m>vfJ(E5vvAV=%`B(LT6dVP#Ib;qSso}^*wo!lclL3Hrk$| z5SOa9nzqRalQY>ulO#RP`S_z@#9G5JPTVj_35eo^ESHV584W`_kR%RcS6s?7O(ii* zo9&jv!w)`ADZ<*0{oNVo0?D}y#J#+GzTtR(#x#y64rFm_C&FCP`kdzSi@o8pp>O35|UUmc9wpK&}AWaeJ95?$>ltHxZBU? zQeD@cO$Ng_%mrstwzO41S*BcHJDRa$934$9f$-4UVinQ{q2!7&E_mcr4*M-!co;+zt%M8 zj-fZ=8chvg8TuGw;Mp5Rxvv>VL!J*fXXj)IiE+wi$wJ>loCLm*a#Z`8_05W>+aqd- zh@z0E{nH#l6$Am#-`?jGhH)NZHq>eap@_MF}t9b1*xgg9!(m0{-hdozjttoi7?h*CdOtwbH?{2-_^x2|*zA^sjl&Y088|QIN3b!k7Fp_#83R z(1}^W>z4qQWL&YFi@_1Yx7k-bK0a}CbA|Hb!$1XW)p8cN*FGOmG-u*_%l-JSruWAd z5-l7iJIX>PBcqYg141p1ElU7i<*#^yw95ag{uSTkU(wQ&5wl(t@VLNm;70us*Lvr* zK&fP8egW&9T(Hm8f>-tx_Z*pWLJ#J^U>hk&gMfsX(HCD|GY%h1eyHE^RsPl|!VY}ki8CK~#cO_FeM_Qqe#5PpUdZ^!6Ke{32CiAp zowtC1jkZ!KCJ|5dBct_PeVdjYjxT!)OS# zB1yqn-%*TX(W&_S!Y~XamL(97Y#2p!eK#M2s;p?kmTZ;KwT{EMCyu4FFo8Bf3evYf zdMSeAAmDU=76w_<(BD7fUhP?~9oZs9M-l7wdM-dZpT#I)!6I5#O3mVrDK#KXdb%o_ zi>@h)Z}(!uF4%B-EXnhNqR2?oi1ljC_G-;9lY3NXsOy{{ssTkD$*87jh0|rMCJGJx zkf4;1;gdAMjE1C0IJPI2%ZQJ8jdhOGF=4fCaZZ?AUDFVTk&kl{+Bz+j%5d@mFNI*L}XIR~=>AQ|J%83>} zsl&*LyniD8r=*}nI&4bgxxnzuhrdAd82XPHo9 zeOB9Iv0xlVUVihOPrrSj>*ZiXKHI5oYWl7xiXv`aU-RkR1JB>y@N|2iu4}GdZh7}l zBh0p9wQb0kDRG>j!;rq~xPRz~!jU8mSQLx-=F<1QkAIMht~^zoj~PRw`S<_vj^n2@ z));m#Hk5nG$I@BA!-prY*$`GuoH~YH%9>|yH#~malg5&ZWu23;fZut%`uaKNr^<)3 zc4!|atF)r78{Yo-HRZmdEGyzTp7kS5E3AT}EQ{RdxjdK4E^wu(7D zTv%N%&^G4b;eod8Ni%76i|{hw>g9%~k4K6kn{N_R+>6$l>sMPIZx5VLXW}F#j$%%y z6HN<6p?LQCn)lz`(l#+olW~1rlINMf@i_@cc8;MO33K@#+OFf(*U$OIe?QO_1No{U z$vfgCrl~Djj|@Z1YNd#yc&2;b-=~D(NSZY?ZAO+hU>ujn4a-Bp^*<^(-JfaOh}{c? z>qK+$-~8AA9e>l~`udv3$H#xGKmRxV?({R$WBS?a>udhvFaCn{dhKD6>HpcU|Ba8f zZD))BpZv+6{Lb_L>#zAYy}y6k&-efJ&;Nh-^Zj4>^DiHNo1g!5I+y@`?vY||2Dqgzv<6IajXan zsj6yLE2+fGGT?M68AnaqCggcdvFNczF^rL~GGnohJJ4E4(tX!c)eTvi(lo8;Z`A+6 z-kUthkz{##pKiAL7J=YhgMn@1jaZIKa~rm&ln(_NKWxd5^F zVw?cL^!yw~v%-B#zL>lchuqIp3bMnDLPw(5yVkfy}m4j66et_MO4r&jN_ zY1mzNgrKw2*{SS?o=QxMuMDpbVhXLK@9|9#K6OL$*ry7t)NyyMF+N}{uvWHEob;L!90 zwoJsHou=TGbq?<9{C_T{|Lz}t$27}i>~?#M(MYLSP7{6C@#u@1 zM8f+LDaDD^(H%Paeqi}%aVlm#7O_osqHP!SUB}bkUN8*V6Ai)Bni?r2yB7yY@YUB} z5JO~pwLfV_Etg9|`z=rqT!VQuP_Ij54c=))`JA||kp+}^%34rV3RBd?ki}q~vqYPP zF$b~8;lDZe>#WV45k7ZZ93wH1or_#4Gi%-{&DpaxO6Krvm{TOj@c$8F80K6$ujteb z!@%ZAmKzZ>dj~j;{pj&yzWeq&zW??L5hJVBf?{!okh8o;Ax=4SrByBn6(B@HMZuT` zmXDf~epg}2x#%41;P6u*hM&)kbB?K-Sgc#lpBaX6psWmkzxhqBO-S(+rIRAJP1j9> z(K>g0%ubh5ifNoETFvjC{D$+V8?LUe82UiHC|R%8NGW;p+s7=rDc&?fsNqs}p zj40I+_BDD}XGmj=bcYh!37HgSV>o|ycG?JUy9vDOCjBA*_H%Inj`pGR|IoGhrOf|h z&i!pZe+WAYg})kgd7VA<{O=+H@~R!@e>}GPp5yC2Kd$@H`Re=rt-o9JHkz_1saG}I7khTwT^1YN3rumKs&fs*`eMQUs^{A606~fZ z?=_oEp5*4qif_O92`MA1)r!?>#UK9o-On`~rQ*?(vkXqOxlQ;F|MqPb^0aYg_Nddr z8Doh;;e75s8pkY8v{)`FiV5!{yPd}SED$YypdSX>Cbx}lIvfZX>z7hj&|-<+dG z%q_0RcK6Mb6<0spAf(I?H+MyMJuvk-TDL#!IZqpu48#;?QDTQSI!Cs3y7 zmaBr@^F76^S*LZ@AH3#3SR zWcMx&GYA% zw9Askrs1bQyU=e~XqS{_MT`N{wsYI_ z7AatyCX~`NO?_%5&O8nQB1e99&-XYRSU+yDqd(DZbBC26gq$KgcJU(Y4<_Jnmi8!~XdmkwZajI83GK+H8SeG@x?A-a(%$zNevgm7RKqZXM zs_H{O&^9f*-R@NIZ(Z(C$_$^Qux?I4#+2n9VvJloIp>G(o+Bj00MDL1CJhl<1Af_lo&WvK z|2B5t^FM+`-(;WT{O{7kn?|&>D9%8+Lc&m z8ODj_qZUymoXy=eQc5Og2|hC}Hct(~2kNTI;KSvDx^B3+xgmzY`f*OT`49-f@$`$Q z*f3EqN)Fqe6!L>FrbtsYtS$!5A3dUNTH3CnC=D-uxI(Mk@gQWPFq*6DYtGNk$)!}; z*~m^v2DD{ID$LGE?x^tI<6OcvJ%uTdttM1~rfrz^TduBmeD(Xsr`GPHVVwP%_lx)dj!I4LuTE^jP{nbV3=Dx?r>w}(^hT88_1`a?yEg6-9T zum0`}Jf3kFa+g$@c=qTqZgvb~j6C`B5f@*a^Zfa9s;cCR-#^7W&oGWS?|JsSC#M^N zQj(z`va>ly%NA!10mtJnFMuphqNHNGox5!=TGk>nTBH<6`6v^Zb$x;ajt5IwP1LnQ zm4>n|QF5XmGNQqTz-lSy&6-(JxrQuDaD)(8E1V(h$q12z> z*qn2x8^ke9@j83okn{1k-t}O6-3{VX-hgj2{|^bb|EF^mq65x&Cke_xCt!GTqo&M9dK* zZ2~EEgs50wZwM+t5=E?F7}wk_jspCjBGX|n@3Pq1*(uU(OA%RdzQ-;<2X>373<9! zDFoAG>4(g4A(PgQ2&(XJdhbdGQSPt913h$M(Ir~D9E*i|}1 zk_lmYViXV*QV&QKaJJxw&M~es7D34V1e}P$6Qe{MM+{l%U3g2;^qDF>R3rh$YN7(Y z`W|CE{>Nu%XV`CU_|4z7blsk5oT!=%WYkLK7W-kK?+VH?x4u_Z!Dh2zvJ=~zE!HX) z3r*4jp*;1<@!h|y`0>C0DT~q`7L>N+55+`Ne}}aNMLAKJKV?Bu89D5iXy<94e3PBq z5a_xFr2|R^QWDfv?gsT9d{9W4rBSRch;dI**ts(i_Ir)qu2EryEiAF^F~$>v!dip2 zn$+}&z9uL|wT^7Jnr1l=$z85(o1IoQx7&vhn5L1YT|i1yRn0K;IPYlcnxb%&YND+p zKm1!u(_V5oWN9ru)~KL()tqxDfagE|^FP0JBi+`%{`%|FZ+`Cf>-_J2{%^D2{`R-` zK1NxVeDlpWw;KO%ZT_Fa-gf=JX^oGN-21jqagP7i=l?d-U;S>$<<%uINS4~tbtXT! zDv1=55GK0T61HpVp=PnROx2EYD(PIJUG6AkoVgr=5GEGdp|vN*f$imz|M6cV|M-6_ z+20&6I;XD|=UH0f@<0CvmCf82RV0eSQdA`&L~d?8%`$Kpj*UvkZzLMu%-3wQ-ojVyBX-cC+L}%Im?bVmR|jj0tEnAvObtu0g4eRhy$~Wx3!v z*Br)@rXH#472Z31%n}br((sX(U6vDl-w=XAsRMoAQ7PW!oQ95E47Oevp zPZsE#U0%c&%6nWf~crEKqi}ZUm;auz0R<}hKc5B7ONFOp;VwO3#=U|qh%ZeZPVi#M~spXHNI~+2!*nd zsv2n*IZdv$VHgIcX+%nOlJm%VXpUi!kOo%EMDj3MMZ4~Kbg|(q1iG%n+UzjD?ro)M zn$yPo*qWv7cFQ;4e8WHe(?9)L`r|e&@Sno|*605^yUY1MggNK_tiG|Ts`rYb{nF?E zs=e?0@6z6M{U7aJ>w8Q=*L7x~-IX2p-)^_Nv)_E3y=(v9_xNwJhaUfEdh#Q6Te05< zx?WK)CXCTo>(N@`VxnGHV)LA?YYB%XP2CfFg{(XmPwV_poly=c<`iJNSTP(%E}k8@ z{$tj-TCKBEcu^Gm$G`m%r6kMEg8j__T`HXS7^BgpCR$6?IJQ>}XOAXQk(j257$eh^ z>yYeZsp<-&4Ncu3m1Mu$Aw-7fNf~LDCEeB$f??4v7^jiT%NOikbSSN8SJ}A{GV5|} zuU1rxk-{i+Ii2`d!{CrAYnV05DyyCM6Fw+bo7`m?B19XA!m!?$)A1T(DBOT^IoeY# z9L;h-D|mGAnCBw=YgJVgg<=?T=jJ#XQaZ2{ z3(n5Ykn)D@Re}QQMZ`I%+L2+bL1w|>{xF~m#WapMXDHi}vM_V%Haksn90?4JE}^EL zvMgC_T4IR!x!x=UPgPcI&d#v2<90X*l9VI?`@vIHiHoOaIW1~ta`z+%c#>39MzUB1 z`d*-lNTD6UYlP`>gC-3vBhWMfKQqdXiuW1dndrKXz8@(HjnV--M4}fg)+I%q=sL%~ z+o6r7ZYyHwguP`{Tum1>hy;QK5AG6Z+}(o(cMAmf;Ls2Vjk~);@Zb)?-CY|AA-F?u z>4u(u-dW$wTJvXqci*~Ib#9&7`_!qk?e$&M6)0Td75X$-TV|Akzw%gT|yLdV(`P!=mzY0QfU{luVIusANbOMiToC$1oPrq_T@8lgGkKuMJ z`)xuKcDtRvc)zrBIHbtw?&cqvHOwScEP35_=STetE@S&?GzsE#O)+l}(%?W&5lnS* zThMaM2_Jlw`j_9qeteHyd0t;Tyw(LMv$yE}LZ4Y56%aW zhKCHNBGJ+^{yZ@b&>dHdOe)L}`@(OC0_wFTQ%Kff6A*rP&=FYOm@MM3l7X~N?yEpqHktDpSuS*X=F9SG&&}oIg ziifIj3rsztyV$3vGw=pDG3sUNxqDDXI?HB912^dcYfl@21!_ym%I4Q7yUD|LA@k7; z1HV-=#^=!cTK-ZKyA~Efgb;*b~d9xW|k_E<%D4- zADygK0~*vv+vDoGxx31V7V|}+d46%h&mXz8T%?jS!lxtB2sZt{xjCocMx8ND)M5u^0eh>Hrd_v^F;+%gx)g|Z zGKrzAOn1CpZOo;H905ekJw5h#?gg_c+#aJlfdYm{%byc)$N-F! z%h5feQxz5lY0_aUA`e@2}>Og5KaC1=hh^6De_x;HNX${|{0)MkwYUZwveJ_>HM z4jU;i@~P}bDxz3(Cs_?doS}UJz;#Q@DZ${NJGhD=ie*N-vKCwiaHpC!)K~-5M5!sl z`oq+ut@@6tX2BRnps8fL{#{A7kU1v`WLlJ3ZnDR>nj{oprMEVooE?fE+;qb$+hs1K zB36Kki;}~nymE^2=kV4LC?FO*4sg>T2uq8bD^iAFxD{mwrdjA8S zoKC9F2Le)j6MxP_1;ZPCi%!jn(FIMpim z19pV?OQNEi%yHi@cHz!3wGp9s9cz$ib{YDqm@2&+Rb___8C#@mB>pAx=G_>OTsYtZ zx-|ZGU~@_25OX4(MXUuyBZv9xc`TNqjK&g?;D_`o{0eglrqpB|-Lx#Dx05%-pY^Iv zWD7Z~qBDOmV`XfaE^cDwiW~CArz;$immMFZ+E9$(6)RPHFwIpi;98(|CF6TJk&JK? zrwgja`{*LSn306X^D$0Yh)G)~;EO7;R(ql0X*3QQMscrYiA`X>w|3JCoxKsZN(0(f zWPDTW%n|2#bJDuABQxjqIlOR09T5*jy(iPUIz%##I=H;HO42f=MRhRs8YM4T)Tz42 z{>x4zV`U|sPeP7)bMTqspRaGzC)qxHUIF`*lZI2(@O9>u)(Z1uGdsCU5DQVrzrJk2 z{Nw8dQmw~n@1!i6)?7V22AxlZBKr8H&n1h*dve+rE~t4)v8B;af%(Y3fWt`_I5ETLK42$LGCrjA6YXpFa5 zzu3t~Y6a((4&BZQ~N8+Yoa zqU>_HgL?kfOV)413!O%CyZSE|TBVJjvpDjPkW?t~-VD4kxvXGCq4TJr^8YphYGYbe z)U-NmsAZif>Z1}H90@M=UNV7FIAc@liKqpqZwWV1 zgalQ~$v-G)t>objaZ+x@g<>?fwTi!J8hdd02C+Z1g5S%;B6ZibcwWwGnNY}4U6YL; zS?M7Hj?Hs1o=Q_wI~Y_6Xd~Ozri#mqQk4_bY3f+(SNI0XXm6+#y7!UA$mYVk5QWf4qbusJSK)6J)&|#cr>_J zt>s^IVmCvC@+q`G%w>)jHD3k3AY0g$uQH7uXlAt#beo+qIe#Hp*Dd)PMhSdHTUcc z4dF6)hwd46Ti&-O1&-Ib1&jrBz+`yYzCoefX27W1(5^uqXO^#W+v%0I*_qPGa3t5? zZU)96E!y&?5R1<9UtL{OcP?nvlQ{d!?lAPW^}742?p{Mjb)2PT2d}D#8GrG>E$dOc z>GI}Yo5NGPHWPhItg7Xc+m}wF2GGyb6Kmd)+=B<@zZgA}d-HB0L}_3z)s0p$&~;{I zHFI=uM^Yp%`lNVOd4^&B7<}n^dnl|M|LT=|gORfDa}Nx1K;>zIUJ&>s&O<|J8~DdlX8c635U=td{LnyWvt!6K$RilWZ=A( zu5es=b5XtF|yeEmzhaTV*wj&WP5ni9gZ>;ya{9Hm8iw|yv#P|h!+b(D}S z!7Yy+fo!r>fChC}t6EX*S$hJ^o%^nr$xUCY8#xlipvYoyO_TdJ{zXDGjwyY%F%g|v#>U3qiIRRsh{VrYzZP`9mveI*#iSBYa-+D>7AFZ9p8-RR zVV9k?3JPaVLZJ_v0p9*5{!_2Lm`rCL?XV-aY_+5Ww`Rf+8xqv?$^G$-IBxUe-8FqA zdm`Rz>4gVz>#U<^j4>~D)fzRNe~oO%KqNdAfPAipP=;e7w!XOP8jmW0F25Ey`Y-Yy z%nk`N&pz+uN-dAK`9+m%=%2O}Ja?HfQclaP7(ydgT>ZOC*?6rbM-JIWYfl6Iw5F2?G|*hgHUjjxdaw{PFZ3o)18>*#Wf zByjH`-NNHh=*d57n~K4cXGcWx1eQpIf`aKcoMJTY%@Gt{9qm1|Ws3h0wMj}62}jJC zVg#~nG>b8n2?G%>k*y24)^iua-BDAi$T8hj4dWB}RR@=+`R6}=W_MROHLiLu@Ke)2xIvqU%#bpXRc8yQ%S)tC#9<=bo?_X+&(w+Ao4R>P$M7V{#ap%LW09c zo;YO=_lHyQ@IW($&`{hcdlv3-I_m*7qAVTx^q-2l>}Yh#Sf5CFlV#*BlAn4tcXAOa zlx(XcN_liC+re2k0K@An-|WyM{H0*%(y-#^a_>y#|4tdd2ghV(h;&Q~=So{n;WJ%&d+ zjIJ}&4P#Jrj!W(_U)_1-_7Pi-Ez%qU@6_%-er+89Z49m-)|!q3($ zHy-EU*ij9ZQ&|iE`m62LF_*%x-&W`X%FOn~pU`)Ve{q)5B{}xU#0ncRGJtM9{nfjF z+Gk{+5(`$(>f4p7=j8xOjo&KDJ2C@40cJYV*+mSBqOz1E4J&mTyW0z$HVmQS<&>Yy zRA}Ub9>@Un#cjVd>sLusl#EU9o2zowS_G!RF;XS6kc}H$HcN z4d8_`)IW>Wy*J~6NC($A#3a>$i>^hP=Edyj+G zY|*k7nijO(gS{z52PB0Z@2iRbab<5Z&+F+Er-qUOw5BXfhm!Hi<5T~2yqJu@Jw$uiR-o7C3wz)DzB`Fv00CkYaQef*zK zv~x|xr8c8lXwru1<<7c@cBPF3>G+F62iZKFS=F>dQighuiQ1`JtYxIx>JP8 zkUOh#uUQ>JmVRK4-#bJUT)TylL;_-JF%iSKvs~maioWKcj@d8d7R84C#q%IrGV~M4 zP(s(5IFw*?Ew=Gn{xKQJ!mxlA%>wuE9kS7+?8$4^!gS?J^W1u85Agd}q@&w);o5gq zFAlDf{33Fixka3v?LD_9_W;NK*L8>BKQ=g;mT%j7YjZu$fSrpEmr9y{m$_e!ayb$F zcO=6C^@82f-#cui%Q+qcqmSr^7qpL%E9jDmY?!tJYw?Lv`x*L zhn3}&;JcMbzc6olKfbov$t+h4mYy7xjXS022ea6sRU!+1jhT>+&Uq-GuG(eN){tavN0FPL})T`^?`KBgAnV+NU=r!*o_Uv-t3G6Id7`GqQv4rn_rpfc8 zGrps#*IQ5;PhnC&hQwD@A=dDQOc^QvL$xHFvX{k|1nUD-7lC%upE~QE$!Dk;qglY_ zcm4rzg^lRo+Ee%QbPpZtPnv|G!jvan3Y2+7hiWR#9kuFx%ayglXAexR2AO$nxH5lq zEO5|A%uDRyrRN4j1B$pllP66OgfNKouj;aa#bt=w8)VQ*D9}IT@5Rw5ET+zkIyDzo zR<7B%z~$yflFBOQl=jueaSfW!0d!g5KsMMLyYu6RciQ?|oPHWn_PMKH1rQ>czg=0% zWFdImgf1iru=?lH_ge2 zf8PLxjnB$l3@DJ~_~XNGTW)W~b}tIp;^0|6LkG`JrY zyeWIeezVjNc5YG?V*oiB%KjOPy^F22rC_zlSkzaD>12ew#2;>L(l9pL@&g-5itSIr z?fpZfGz61DktCGr&EC{+jQoPrJUhcH^O)fU-G_1)cn%1KkDsgcSG~kdzdxZsa*&;P z-MVX5FXg`ylSU-@nwV`G$LJDzIO)d!W+t`Ec@G)PC-i75(QE(08k##IGQqLzrK$FYhr}PMlz_|Pt`ik*V(1M zOdvwikna=kHNKZ^#KR=wS0k3#{HLG+=xT5tSeHn(_tV!q!!fbiiRhv~Q*Lwx(n%Nq z@_WXgfoH!(PvnIUACE^14B*LD5qRblx|>{I+e!#|^~Y@9GL$ot$Ih5!OHvWuQE-ct zeuhiV2uY$Dl>xkcYQc`#9sO$b+)5J;I~oAkdf z^Az;6eYxFN$(pfc0f&6mEX zn14%0Hxjku{Y#vTnpgN#aRPBjDXN<3!r2@NWN6~w_q_8dDD{v*`zo-UyOO#lyca2P zMz_c-HFh1avC_SCpdFI~8Fm5*~dXg?hBkiyGEJ6)JA zvY(f!87zl}NMo0FS~G63%35MdrW7 zII(jWFLy{`vSnE=tB7BNWKB=%Cnw!!G@26g0bDq(<_`Ay{hP2FhcYTuN4UnxW_qM@ z;*o&%jq~klzXqqg4j#HRUJ6YI5-mHo;SOy+LsK%=krvM#s<~7~5Fzg<2W=!?Gtm&U zn&T4(`RG;1(9g>WDqm=?7bNixmbxoRSa56-zxvTm7Q~^p>VMI@QGIF>3p??;tDvmQ z7==1|_8{ECw_pKOQpPdadOT4p`|Q6AHCmw(MO_M&eeO*Nc{W+uWR6ZBS{%9QQKN-} z)3>Wh6U=aTNKnS{B4JQT@sEzv`)y#wQrF^9)%?FABj#ol?*N~)6!|8TD!Gpgsps0+ zmTFqcsj+mex6xQzfFpQTqkw6wS`v$R3G^tbda)|Q=5;8T&}~abv6vXMI@vh1ky#w1 z)Ua``p|sG78Qk`34M4zyw;4(GUz6-p1*@WmtY%Omz9Z#J?GFbgmE|eQ_^5HE z+}U?%gNgLY03{Xkd6uSuW};h&Y;rIhbCxgd-Ze80D=xml-jK?qL;B?T*P3BRe>w{o74E`;v;*+7?*^*=AU%q z-Z(Pn{F`ZWa%7j&{66>Y+^M2TpBuNp7pkAItG(fL2&;(SRlVmvg^BpxdH>m8-2_5$ z2TYfK|2`nO7-;yOLJt(n&lvUFdI~tYk^<8FY5m}0wAd*EZd-$GfgtB^6JWKM{$r1I zuLo`~7wcEPUQog5eSZ;GNgHSe{J7RPqu})HF?3P3^92EoA)8rz(43)T>;R8%GM6ZZ zyK(L70b#z#Hp=s#pfM))reP#`*3hv#qjqN|O~UYk9)GpSBtGd4tBXa~`jU2ij_251 zuDEiOmoo|qdY}wiay+4RpBhqyyXta7Bt-Gh<+G~0xYi7mrx+J0KfpU}ivb(2sFa2E zjO&y(9Yvn-%mrHoXhHUFa(`%Tja0qh;^}@P%3^Eo0i}`@9^Z9JGOsFS^a&$V4h~lA z??3P@>zJ9z1z?4-FndK^C{^=8GqH2?0O1#j=1qE<4!Hy?Qsi)~#3d z-sNmT58}4`3$C^fNlafaHbw$W{g(0kHhnI6VF}{t#V4aVXQ~C8`%j?7SJ5xtb>ye5 zyITi-m!hvZuiwFHb5*;&_8fAWzm@k+EmvS1lHk^dP#Pf$J*@pu55^IL%CK^KhtTll zVPWol&$!fN(9t1vwmVb478-zgBKWVZtW2^BZ82@?gxt0g>qMhf_m`9p{V~Lxt0qd} zoA1#3=L8ksbFbqSS+&HjBFq@Ulau|oc5^K~fFnX!O@Z({u2`SU5hf8E4=W6B~|}SVLZlOT?M70 zu8`~-73Y=og3GLsU*q9H;{@Q>e*TMjRAeyF8i4t!moiC-=U3E=M3R>D$-5o*{$+P{ zLxVmmbegPLYn5a|%;*7&DIw*@DT)TVUEZ_YQu1f0p6FTu`tyvi#n_$Q@5^iL)#Zl7@N@6TDba)`=NVPUW&wj!($TI+h2x^#oT!!TMwTa2 z*n{oQcFXHIN}-M1tDRBS*MFRnb9ZFgGP?TZ&-L_$TShV20d3VvR#QCu+#gDm3_j0M ziZpX!`HO5*Ed3VtS!#zCz}ljVge=LJCU`!|{90d`tCGvr z^NUh<61HBGNa(DeVtX!avyywuO`3%c?M{pxy*xaSDZKWuo5beUq6X8o4kGqb-8cdz zmEMQp9IZ|z%8-gocA4%$;r-yph6*t&*rQq#-Ec~B+Vy=45RvBXkcoO=+5-KxVp znR2QxdEaufN_XYy-p=j9YBv0z{`~DOtVBIA(p;v0q&wwZc@J!a6WXmfwsjP+Ud|Lyc*#A8(H(j3F5ox03yL@R(L2es>C#>?1FwoyM5Z>+9)`AN;^j)8IGi zES9J>Bs|;H>o;&;E)H+*IHEelhmd4x{lC!hwK|y4I;aWzl5#L{(NUHD+wCwZ=d0(Z z$fUmn)>(t)yGO?^@*o&a@BXMuL5hXN=gT!yY(;dF#!y<#I^|kWSHCEl<^tba> zdC7K1Z2hMyYoloA*c{Vsot)`b2lte-e<=X^x91uRtlsj4N48J_3b}?qHH($XZnU;@ zZTZG>6YdWc+a7v|xbOY&Ez#2P8pa9u$Cfc`8~rk*-wTP3u|0&|nmU&4%j)VfklMX3 zKL{=61v$`>uv@q1EaPL8U>R?bbm^K=OgOH44NmV92_BTiWiC|tAzEUc-esQy{TAZB zFLQ8k{CS@9Sv;I+Uv%jmha<*_5h=0eZpRl%&vO^ZlYc&J0|YW{{bC!IEGTCok#TkD z=)ctr`$CK!Fm{zw_Qb1j*Yg1D9O+f=oPK=h?)~y&JZVVJD4kf#-uPbQ(wO6EMdAeXprPifXinm>{8=LkyuCjM$ZaE3trdjJ_mYTfQDpzQc38lhe1%`vWR4Phh;+PR3%C@6 zVM!rZg}11P78oh?*=$NSbL}%}44xWFAJUvh&llFP6?_Z2aFzZCZJWs?e0N}KhH^wp zQc+^6?sN<_=hO9r`qRhdVkc?vxt;!dnLWWZddz9z2pxQFJw@T%$1k+ZL^1KWjKy_m zmSNzh>|eed_SqEvCR3agoEwuky`2JwzbncPRqy9^CHYWy;65LITClPDF(F{#%6tbe}eD{Uq&Q~ z&z4eB*n4ogPo0sLvFCAz8}gEWK7$`pR7*LJo~z4H@Q*V{JpnLELPu;WK{wK;zQr`+ zJfup*-XxZgHIH7VL&NAs6edwNPvbprrNDC2EQ_04P;e-y2qw_B`px-jaYN~bl{(kT zF1W#NZC<}PG^~FJKNO1@Pm>{!^X4_yL(6W;wkTA$@3hahgJ0&kfl2xT!*PR$4Ly{+ z%TnR!g9NE+G$v(9t7!&1B_EGK!iS^BfWQ(+_fe&Moz)Qiq;k8euD9eA`wg{*QQlC8 zqalwf(IWFoLc!m&H43LQ+eQ$Orr`AgUfi9?lCNqx`@Gfa>_d1CqOh{Ia9u^|4>q>* zBHCfaf)Al%^R+L3%vFBa=cIV}E@j`|bO1_8ZI_Xq8l^h4vVqI>zu6MCu16(7Ie2u; z!ErvsxH4K|Pf@;x!90op4I|6uGHTR`MtBkJ=J5)90DZqBLTF^HWfV764P_B}sK2md zzyWF?P`AFvpyz(XJ%@bHA4wd3DiF~e0Yuo|JcTtl!cGqBde{S^Z(!Gloc}XxbD6yw z&YE{z0QLR#V_j3H#ONht^S>>>D5YTX@$$J7@@(u@1~%nSGaD z#1)Dg6#F@|49lq|CtE1~X7JbOy78{u1cLhM8+obNWc#_HRJAauf`*+582T@wz;4!| zvUTryn15RNH(m|Dw#%`1(`~#mT!Tw=@+mZvBvXiji1~c2+JkJ05}JFdrwEWjfnqVg zG?4=>Ntsv#kY_>CT~?Lw=U(Ih5zOB!jccSOx!73 z9}#vn3Uw}4t4{kedILtbStc z_%w3hL&hzb-f5$83m8h`^PDpZ{kN;GNUM$|=m0zQ+E~1Sb7rXkxQ?^+ z_88j|$I+<@1{y9piDsS-D(*0tdj6u|lBZ3v`qhA?9k1cbaL+|&J%!DM4k*k0qii_1 zXy@-Rfa{TGjGNWm`|=8}o`P)p`bs(@+A4Vtm_)jyj5sILz2J#qw+kPXlEnOuvwI6` zdbrruOnX@W*KPA5g-e(kRZ$Tu2%#vKwl&aMWl3*q1%&H8`Dd8DQ%~+|-Ge)E8}<4A zwl+jdxwP)m+YqJszNKKP<1=#S(z+AvynYZJI$GopisVFBw3N`SDXZixmBt=Pz5Ma) zG_U-Y6<*rYo?2tBo9dQ}J3nm4%^N?^>}9_cXNbWsoFufi=N3UeM6AJq6jJ$s0FmeL zg>9e*RbOVxO`tGkuHfAEfyFaNt8w%LKcLNxhr^bAQM~zSRCMTMJo*?-7{q!Jgc|v% zNr2!~@>XqZYi-T`DK&+}?wX*EBul!HtmIwEkN_ z`RvjhZez&W(Ih54_*}*)oHZY5VB51#crVs3k7t3mkA{arXWAOT^m*)7A=g+bFjm5< zq`Wv|TgMr@k*i`#wCk_{Szi>1nQcbFSLARS;|)@z>;kvjz?;zLU{_n$Px6pw$oB1< z_P_xkThkvL!nXM%p$_MxcW-F3Uy`~a;bFhc?W#UQ9?bE#wYBvSRcc~uQ`KM|x^W*)Oqx#!3gQbLq!OZ_MfjT> z$Md^YjGjF2!JXR?`)zo*K|MAR0S{03127iLuaLqF&MCM^DE9P7lEul}eWPin(}>zo z{<^n@`hG;fv?8_{d5G{7YB&B$N=k|r9vnFg*Ksxqy>BAc;L6(2c5@XHu2>XCE9XUC z`)26cAzWvhz46ZGk)(GkVX9h%%dAf*bNk&;yHltE0(Q7G1I4hJCt65|vurWm?ZX4T zASbc7xVX@hJuXTLgzK9@Ad$+$`d@~W zrY2rIg>dli-^L$VXmHWYwg6+<=OVbRVY>IM{a-hpM*k(WEPz)%Bs;{kv+;4`v zwzgK>#bNQosTZ#|FpTCt#gBJGzQJAVQuaGai1eCcCJI?Aa&cH&>WfWt@48=eB}M%T z$Q+gtqU-f>5=8utGj=KZ?Yefdp0x9D#Oz_p-7m&npjYQ60OqJa^J-->v%C4K^R&FS zxEPY3Pc`2NA6Aw?^j$#dGuHw#4bz)X?OEqlqagZ1D@oz-gXY}#i6^k#ejv>}D5HL^ znu20)ozJ7;C!#83+%qs4Z4vqUUs8@cuAfxq3&O!*>y{W~x$i5)!`+=B>}_K9Jvllf zWI8na702~qEFy^t!Dw+a5Cn;PqY7CbP=VOr2ej0$gECeL^GG4|R~elX{Sy=vT0g7< z_{icUX(Ds9u#7fq_l%S{1sdLlrs0_J-=De(CwN2lC!TuIrke{^8JnYK3!?AIQ2>x( zv*tMW7t=E%y^#a-r|C?0GUa<^e_QKz()+4&ShLgH>Xt39y)nFbf`!G!cl7G&>Z9!* zhghBY@BjBcIW7{}fB;E}r#*s?kB8Ga#J#{u_;`FE`>ro{;GCK5D<9XhRc>AA?lg#% z1`K<+*ktvM&*DXNc#IqJX*0!%Z7u-9z{pi+-iApqdV2c7+y|uL*gS7zE(kmB%UP8N@&*<4NlJ9A3dneC<^ki`Z=fD^$ z+&KAdPmv^nuF(Rc#Mm=;Fr&5mXckHfRBx3N<=Qp3Z-Y__^ZEIiFaxp}t$>R`(*WUG z1g&3@IQXQrm`3*W^k{;47C=4!CMG5Z{{H>TthQ|{3~ITLSu4F4YFd}Xj~e>}zo};Q zc}c1kM$j3?UGW`s9Z&qjqzhoG8Tz2sEmYg z=M=NxAc*~Ciw~u(;{W6Vj7iiHIXq3bZlxt91=;bj92dHYAvL{wtmIAw{vrI$`AK!&KXHEDzz?( z($%Kug+QpE7?t4{ItfI}L9IvVcjo0F(tY`jx)vDuGQ4gLd+*wPf)NVf4IZw8TqM~Q zcX}em{poS8rTK7$(dzwYh^rPRU|UX#N@iSU{I$B8EmVe9`%9ux;lZ{e3cM!+zWmye z_CeVo>!nAg)-1q)7OBy>dfKZC;Z&=sW+38;+*r$p9<3r-Z%igqaeRh&R(jJ%5IFZEv)LESg4q)00 z@qK0K{eBzE+3vf{G89X)HSVLEvMneRIv+2pimG&<5cXPt1)uU31mqHUS2=pnrdkW` z5lYzu?LvT5T6_h65PZ`pDRBJuEAtLX4=K)|{_5Yg=I1&YS{pvQJ64IW zcVj3A>D46nqa33WYRaR9FP?D5i-SG%rfcwMs4*E+Z>0Dw}(; ztr`%S8a?-}_%h0K=y8V4Lyfx4Di*NyKAy&G*i7vd^<3Va z_nkE$WwWZb+_N^7Nri!_WAfGMr6+-)7vz-$N&2T0d^0|p_y3&J(2A#B2IVUUVo4~) zvsPV>mk!D+8)V3g)4fN`arEsB6ZxMp*(H74MFT*6q2z z9z|qbkr*vf8l2aVveL1wy%v1!KH1h^tSiww#vo|;;26-jGYNWScw6z@<^av=m$Z44 zsa5&5NiOj{6mC~h91_*JiP@5L(-_>v-I`A$uMITtzL<{t^xyuQyko67)=X~LLYpN% zcTH))Dt#98gJum&et46)F80|bimU3;9!FyxDN^7}%X{Fb2cUI*!mDtQEC6|nS!0rb5cZ~6@&60eO0L&*M z|G6!>Ko9hRkyf7G2B0gOnYF8~+D+Ead8V(2$th9J-g6}7_(CrJI(6WE_way>FxIOV zJPR16j+5sNN|2F&gQr5Z{pUoBK<)A}}5)~EihAGy-DKolg z3p6Aor1CN;AQx{yODQs`Vf1j(q4y62@mECs@5hWv&f;~W=|@Tb=VoV6>F(`6%sOEq zA-m{*_}9v7Mb;?JJpXx+D$;#E5Z7d!GLraRoh@`89u6tiM97`1C;P4j0JUw@Ova?b z#VGsxr42i^qD-;=hg1YBNEixcnLcwcAx!PH-2?(QTx4G`X}eZpNqHF(mIvzgsh&nB zt{lTOBBQSC8zk5KG>yWTbZxBsl;b29E{A@>XINN`wRg$3SS~TqbRr#{;6vullTz91 zG_#;@%TKZ~cz?R@>b(Bz4+;|EG;tf!@$vE4*cjKI(aX!rl~1tFF0mit+Ysrg96_AX zcuH+T4F@ilKVok}q&2@FtwWooJ|jf;A3f`PP}{Wj>cN-5)X<-e4b~@2aP)n~ZX1%t zZbIML{qp4Hl}{pkbJM{pBV)eGdB=JZz&0@U4CZ~U-tlHP{xye-PmhQ8#`WU2@ZcK_ z2K@eJ`^ChZoSbW@a~nAv79j+}A>B0Ys~K11+1Xb(nq~Ffw7W_0&eVjt<6=m!Lv3g% zur2>|ef#Iz4H$Jn*&8W%?^K<(b$GMA+F+TE_Csfn`jV^TwIyDX^~oeJFAv?6@cnz~ z$Go(Cssx1=jfMZ9XXv209HUCg);VzS^lsqrhL$X@sJz^EiCeo&CCT4jG40{uVYDu< z68fKe3Dpz<>B zde?SYmnWwy16p=x9bQvEqu3urbMiYYW<#MF1@n>e#aEg6I{W2$sKKoWd`+**fdaj2 zcXjg6Omw3i91X!&t)SlWa;A$Qlxj+t1ynv5`1{x(Fzc?)25LBc$-=@yc2~OUZIe-T zrACU9Fv{zov3S6waTCbLTgc=D%KpKQfVlsx-g*(XKVVv{*DTqaJL>{`A=um78=`Jh zg4zVma-tS*7@RinJ=%X`(hf5{?sV+_J@HIT9?<+~g78yKIN4H+D&Z$Ww0v3&QE*NBARSZS zGu+tJRDnjbfT{(BW7t)3#ULQ8z6fS$0vmu|4ST9km&OnJu+Q(&x!Do2y&v53lndvX zyjqO!LgTJbu6Ohu0(iw-`^I7dxIm74w%>eZ+9SKDw%>sF#_c}E66jONr zLcPx4a`V;dTw8l4BJEybP~6qeeWd2)rT^mpmob<=*1$OY;!H$ItBo1i@%ARtW*A3t z6D_^Zt^V!X6D3I2UXUq0w0`5|@<2^-^`|Xg;BQW^0KC8h1E8ok>l{nIiM1H5-m3nDL16w74Hq1Zq}@Zu`d4y{)K53C#JueivN!ljC1pq z?^g%vz^HLrk*{|HuJDPhtrreI@Sd-%pz`q>ogOb>2t!ix+zFc`r2~_W5g75x-tKMF z3+~h02Xa9Wry`tszui{_t=)Gnh$rJv(eR%O;w#sXqggvnzWU;wV)8{;Jcw#jLmnUolRpr!Wg}BaeXk zn9E4&qCunSi74yjbiJt)tlUXdY8IsC>55d?ohLVH?H{aYAYsqr&Awye;6Ny;&O*hO zMf05>%=CA|RBt4js@!(MZJ$MeqbKw}Av>6YES8q&d{l!C!xTc?XyuS3+K$w)?N~1I z6%yBGioNzFB)}oEFDpI1Z{OzsAtwHZ@zMFk`kszqguO{5m-nYZN%xBvFkh+3*G8Tn z-Fd?crF{p}BSZEz#wZj*W?lN@SgC1<*4Aw6>w%o=@SUie|aQu!h;%aF(3LvFGKWW+F?Wh)S%TAtp+~f6|d?) zbb5zkj@@nhw%y5rrdH6bb0;k_ShL>F!a*B8A0&W9Y6irepgL;(fun~iKuq{zItNc3 z88J2zcR*Q`#B^d(ZYTrqzV}Ygf(%Qd?kgF_wX2E^2D3OXanhf_J?`cmyig>?Gl?lU z=@JVk`(t%ZY~f17b7CaFK1=+C!yDBgopKleWgD$q0daROQQ7K2aE6N-9~gDZR*3i$ zPhmsO=HICc3ZMn%B()|H<=3&e7FN*lyLZArh4rQ%y~|2jTL}ia!lTt`dlS`XICv-E z=2V6WHqKUs8G%^OGLZ17ot(0N?lQCP);4@=y5-g@FTlN?P*ui<-2K^|(5)_cxzbHk zk_qHXUcpu(Ghhic`g#|arg8d>XA-pS4_}E#_rxKqKLiIrh5zVqstQTkFoS+8uSCAq z-NV%>Ut|)W6A4&tFu7WGO)spc>h#+t#TRB!F}TH%RQ_*%!ivsCCt(t}O&9y`CdmOw zCE>*gKCPHsP3QX2F?2i1r?=*x$sd@!^5<^SD!=vJ`knyKt#lYIyneQ4=FixBMF0I2o4JIwqha+mK&HSiZeh%b`Iwx@200B=W(Q zY2}8b9?kw0J{5B2Ei%!6k-8oF_t`badGxVrjW_rBu{p+_Y;wQg> zk&_#RnwN?{u)7_jhJqE(Vxvs|01L1>u9*$aoK;gi6K3gYjyUDdQ4s4*;5R@qG;)qvb({G< z)$L~_Wc#M!TgVS8)m4(jUWdl%Dy{{vKLkj?iO@<5EM#0J431Z1{ zX}t*1SGE{V_7_vfZhYDgg8p!{M!H#-ObU~atZ#rqw>NO?AZ|7ccH)j&!>?9}6W{u( z_ui`xIiT37dsmDj+kDU(2CZ{FOEmieVh_M4D9UNTdNLzZsJtI>%QgA=OA-5byBj7< zI+-z8jl7J(n^He6B=Cu6G5*pXA}>MZO<>l$|6n`3amT`!J1Cv*4mdl?q^d0(Xm)Ra zIGt8z1W7a0{xNWxAU7M4^ut=T_Z9JUv>*xE9ER(JC`%5+%8YYFwHZ1(8Xt1DW?S{a zH|MiBL%92YSqpAe0P85V6Nr3dU

v`J9hL;C67z2dm~7yZU}5_B~$uSD1S1m%D#e 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 Date: Wed, 22 Apr 2015 21:27:45 +0930 Subject: [PATCH 009/305] Mass rename of 'metal' to steel, refactor of walls and falsewall mineral construction, refactor of materials and ores. --- code/defines/obj/weapon.dm | 50 +++--- code/game/gamemodes/nuclear/pinpointer.dm | 2 +- code/game/gamemodes/objective.dm | 2 +- code/game/machinery/alarm.dm | 4 +- code/game/machinery/autolathe.dm | 16 +- code/game/machinery/camera/camera_assembly.dm | 2 +- code/game/machinery/doors/airlock.dm | 2 +- .../machinery/doors/airlock_electronics.dm | 2 +- code/game/machinery/robot_fabricator.dm | 2 +- code/game/mecha/equipment/mecha_equipment.dm | 6 +- .../mecha/equipment/tools/medical_tools.dm | 4 +- code/game/mecha/equipment/tools/tools.dm | 18 +-- code/game/mecha/equipment/weapons/weapons.dm | 2 +- code/game/mecha/mech_fabricator.dm | 10 +- code/game/mecha/mecha_control_console.dm | 2 +- code/game/mecha/mecha_parts.dm | 72 ++++----- code/game/objects/items/ashtray.dm | 4 +- code/game/objects/items/devices/debugger.dm | 2 +- code/game/objects/items/devices/flash.dm | 2 +- code/game/objects/items/devices/flashlight.dm | 2 +- code/game/objects/items/devices/multitool.dm | 2 +- code/game/objects/items/devices/powersink.dm | 2 +- .../items/devices/radio/electropack.dm | 2 +- .../objects/items/devices/radio/headset.dm | 2 +- .../game/objects/items/devices/radio/radio.dm | 2 +- code/game/objects/items/devices/scanners.dm | 12 +- .../objects/items/devices/taperecorder.dm | 2 +- code/game/objects/items/robot/robot_parts.dm | 16 +- .../objects/items/robot/robot_upgrades.dm | 14 +- code/game/objects/items/stacks/rods.dm | 2 +- .../game/objects/items/stacks/sheets/glass.dm | 4 +- .../objects/items/stacks/sheets/mineral.dm | 4 + .../items/stacks/sheets/sheet_types.dm | 12 +- .../objects/items/stacks/tiles/plasteel.dm | 2 +- code/game/objects/items/toys.dm | 4 +- code/game/objects/items/weapons/RCD.dm | 4 +- .../objects/items/weapons/extinguisher.dm | 2 +- .../objects/items/weapons/flamethrower.dm | 2 +- code/game/objects/items/weapons/handcuffs.dm | 2 +- code/game/objects/items/weapons/kitchen.dm | 6 +- code/game/objects/items/weapons/paint.dm | 2 +- .../game/objects/items/weapons/power_cells.dm | 22 +-- code/game/objects/items/weapons/shields.dm | 2 +- .../objects/items/weapons/surgery_tools.dm | 12 +- .../objects/items/weapons/table_rack_parts.dm | 4 +- .../objects/items/weapons/teleportation.dm | 4 +- code/game/objects/items/weapons/tools.dm | 16 +- code/game/objects/items/weapons/weaponry.dm | 6 +- code/game/objects/structures/false_walls.dm | 94 +++++------ code/game/objects/structures/girders.dm | 134 +++++++--------- code/game/objects/structures/mineral_doors.dm | 26 +-- code/game/smoothwall.dm | 6 +- code/game/turfs/simulated/floor.dm | 2 +- code/game/turfs/simulated/walls.dm | 85 +++++----- code/game/turfs/simulated/walls_mineral.dm | 9 -- code/modules/assembly/assembly.dm | 2 +- code/modules/assembly/igniter.dm | 2 +- code/modules/assembly/infrared.dm | 2 +- code/modules/assembly/mousetrap.dm | 2 +- code/modules/assembly/proximity.dm | 2 +- code/modules/assembly/signaler.dm | 2 +- code/modules/assembly/timer.dm | 2 +- code/modules/assembly/voice.dm | 2 +- code/modules/clothing/glasses/glasses.dm | 59 +++++++ code/modules/clothing/head/misc_special.dm | 2 +- .../spacesuits/rig/modules/modules.dm | 2 +- .../hydroponics/trays/tray_reagents.dm | 2 +- code/modules/hydroponics/trays/tray_tools.dm | 4 +- code/modules/mining/drilling/scanner.dm | 2 +- code/modules/mining/machine_processing.dm | 28 ++-- code/modules/mining/machine_stacking.dm | 4 +- code/modules/mining/mine_items.dm | 66 +------- code/modules/mining/mine_turfs.dm | 11 +- code/modules/mining/mineral_effect.dm | 9 +- code/modules/mining/minerals.dm | 132 ++++++++------- code/modules/mining/mint.dm | 6 +- code/modules/mining/ore.dm | 46 +++--- code/modules/mining/ore_datum.dm | 151 ++++++++++++++---- code/modules/mob/living/carbon/brain/MMI.dm | 2 +- .../mob/living/carbon/brain/posibrain.dm | 2 +- .../mob/living/silicon/robot/analyzer.dm | 2 +- .../mob/living/silicon/robot/component.dm | 2 +- code/modules/paperwork/pen.dm | 2 +- code/modules/paperwork/photography.dm | 2 +- code/modules/paperwork/stamps.dm | 2 +- code/modules/power/antimatter/shielding.dm | 2 +- code/modules/power/cable.dm | 2 +- code/modules/power/lighting.dm | 2 +- code/modules/projectiles/ammunition.dm | 2 +- code/modules/projectiles/ammunition/boxes.dm | 24 +-- .../modules/projectiles/ammunition/bullets.dm | 14 +- code/modules/projectiles/gun.dm | 30 ++-- code/modules/projectiles/guns/energy/laser.dm | 4 +- code/modules/projectiles/guns/energy/stun.dm | 4 +- .../guns/launcher/grenade_launcher.dm | 4 +- .../projectiles/guns/launcher/syringe_gun.dm | 12 +- code/modules/projectiles/guns/projectile.dm | 10 +- .../reagents/reagent_containers/glass.dm | 2 +- .../recycling/disposal-construction.dm | 2 +- code/modules/research/rdconsole.dm | 25 ++- code/modules/research/research.dm | 4 +- .../research/xenoarchaeology/geosample.dm | 51 ++---- icons/obj/mining.dmi | Bin 53008 -> 53367 bytes icons/turf/walls.dmi | Bin 139846 -> 140505 bytes 104 files changed, 745 insertions(+), 731 deletions(-) diff --git a/code/defines/obj/weapon.dm b/code/defines/obj/weapon.dm index 7f287a5b54..4facfc4be7 100644 --- a/code/defines/obj/weapon.dm +++ b/code/defines/obj/weapon.dm @@ -83,7 +83,7 @@ force = 5.0 throwforce = 7.0 w_class = 2.0 - matter = list("metal" = 50) + matter = list("steel" = 50) attack_verb = list("bludgeoned", "whacked", "disciplined", "thrashed") /obj/item/weapon/cane/concealed @@ -271,7 +271,7 @@ w_class = 2.0 throw_speed = 4 throw_range = 20 - matter = list("metal" = 100) + matter = list("steel" = 100) origin_tech = "magnets=1" /obj/item/weapon/staff @@ -321,7 +321,7 @@ var/amount = 1.0 var/laying = 0.0 var/old_lay = null - matter = list("metal" = 40) + matter = list("steel" = 40) attack_verb = list("whipped", "lashed", "disciplined", "tickled") suicide_act(mob/user) @@ -345,7 +345,7 @@ name = "power control module" icon_state = "power_mod" desc = "Heavy-duty switching circuits for power control." - matter = list("metal" = 50, "glass" = 50) + matter = list("steel" = 50, "glass" = 50) /obj/item/weapon/module/power_control/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob) if (istype(W, /obj/item/device/multitool)) @@ -467,35 +467,35 @@ desc = "A basic capacitor used in the construction of a variety of devices." icon_state = "capacitor" origin_tech = "powerstorage=1" - matter = list("metal" = 50,"glass" = 50) + matter = list("steel" = 50,"glass" = 50) /obj/item/weapon/stock_parts/scanning_module name = "scanning module" desc = "A compact, high resolution scanning module used in the construction of certain devices." icon_state = "scan_module" origin_tech = "magnets=1" - matter = list("metal" = 50,"glass" = 20) + matter = list("steel" = 50,"glass" = 20) /obj/item/weapon/stock_parts/manipulator name = "micro-manipulator" desc = "A tiny little manipulator used in the construction of certain devices." icon_state = "micro_mani" origin_tech = "materials=1;programming=1" - matter = list("metal" = 30) + matter = list("steel" = 30) /obj/item/weapon/stock_parts/micro_laser name = "micro-laser" desc = "A tiny laser used in certain devices." icon_state = "micro_laser" origin_tech = "magnets=1" - matter = list("metal" = 10,"glass" = 20) + matter = list("steel" = 10,"glass" = 20) /obj/item/weapon/stock_parts/matter_bin name = "matter bin" desc = "A container for hold compressed matter awaiting re-construction." icon_state = "matter_bin" origin_tech = "materials=1" - matter = list("metal" = 80) + matter = list("steel" = 80) //Rank 2 @@ -504,7 +504,7 @@ desc = "An advanced capacitor used in the construction of a variety of devices." origin_tech = "powerstorage=3" rating = 2 - matter = list("metal" = 50,"glass" = 50) + matter = list("steel" = 50,"glass" = 50) /obj/item/weapon/stock_parts/scanning_module/adv name = "advanced scanning module" @@ -512,7 +512,7 @@ icon_state = "scan_module" origin_tech = "magnets=3" rating = 2 - matter = list("metal" = 50,"glass" = 20) + matter = list("steel" = 50,"glass" = 20) /obj/item/weapon/stock_parts/manipulator/nano name = "nano-manipulator" @@ -520,7 +520,7 @@ icon_state = "nano_mani" origin_tech = "materials=3,programming=2" rating = 2 - matter = list("metal" = 30) + matter = list("steel" = 30) /obj/item/weapon/stock_parts/micro_laser/high name = "high-power micro-laser" @@ -528,7 +528,7 @@ icon_state = "high_micro_laser" origin_tech = "magnets=3" rating = 2 - matter = list("metal" = 10,"glass" = 20) + matter = list("steel" = 10,"glass" = 20) /obj/item/weapon/stock_parts/matter_bin/adv name = "advanced matter bin" @@ -536,7 +536,7 @@ icon_state = "advanced_matter_bin" origin_tech = "materials=3" rating = 2 - matter = list("metal" = 80) + matter = list("steel" = 80) //Rating 3 @@ -545,14 +545,14 @@ desc = "A super-high capacity capacitor used in the construction of a variety of devices." origin_tech = "powerstorage=5;materials=4" rating = 3 - matter = list("metal" = 50,"glass" = 50) + matter = list("steel" = 50,"glass" = 50) /obj/item/weapon/stock_parts/scanning_module/phasic name = "phasic scanning module" desc = "A compact, high resolution phasic scanning module used in the construction of certain devices." origin_tech = "magnets=5" rating = 3 - matter = list("metal" = 50,"glass" = 20) + matter = list("steel" = 50,"glass" = 20) /obj/item/weapon/stock_parts/manipulator/pico name = "pico-manipulator" @@ -560,7 +560,7 @@ icon_state = "pico_mani" origin_tech = "materials=5,programming=2" rating = 3 - matter = list("metal" = 30) + matter = list("steel" = 30) /obj/item/weapon/stock_parts/micro_laser/ultra name = "ultra-high-power micro-laser" @@ -568,7 +568,7 @@ desc = "A tiny laser used in certain devices." origin_tech = "magnets=5" rating = 3 - matter = list("metal" = 10,"glass" = 20) + matter = list("steel" = 10,"glass" = 20) /obj/item/weapon/stock_parts/matter_bin/super name = "super matter bin" @@ -576,7 +576,7 @@ icon_state = "super_matter_bin" origin_tech = "materials=5" rating = 3 - matter = list("metal" = 80) + matter = list("steel" = 80) // Subspace stock parts @@ -585,35 +585,35 @@ icon_state = "subspace_ansible" desc = "A compact module capable of sensing extradimensional activity." origin_tech = "programming=3;magnets=5;materials=4;bluespace=2" - matter = list("metal" = 30,"glass" = 10) + matter = list("steel" = 30,"glass" = 10) /obj/item/weapon/stock_parts/subspace/filter name = "hyperwave filter" icon_state = "hyperwave_filter" desc = "A tiny device capable of filtering and converting super-intense radiowaves." origin_tech = "programming=4;magnets=2" - matter = list("metal" = 30,"glass" = 10) + matter = list("steel" = 30,"glass" = 10) /obj/item/weapon/stock_parts/subspace/amplifier name = "subspace amplifier" icon_state = "subspace_amplifier" desc = "A compact micro-machine capable of amplifying weak subspace transmissions." origin_tech = "programming=3;magnets=4;materials=4;bluespace=2" - matter = list("metal" = 30,"glass" = 10) + matter = list("steel" = 30,"glass" = 10) /obj/item/weapon/stock_parts/subspace/treatment name = "subspace treatment disk" icon_state = "treatment_disk" desc = "A compact micro-machine capable of stretching out hyper-compressed radio waves." origin_tech = "programming=3;magnets=2;materials=5;bluespace=2" - matter = list("metal" = 30,"glass" = 10) + matter = list("steel" = 30,"glass" = 10) /obj/item/weapon/stock_parts/subspace/analyzer name = "subspace wavelength analyzer" icon_state = "wavelength_analyzer" desc = "A sophisticated analyzer capable of analyzing cryptic subspace wavelengths." origin_tech = "programming=3;magnets=4;materials=4;bluespace=2" - matter = list("metal" = 30,"glass" = 10) + matter = list("steel" = 30,"glass" = 10) /obj/item/weapon/stock_parts/subspace/crystal name = "ansible crystal" @@ -627,7 +627,7 @@ icon_state = "subspace_transmitter" desc = "A large piece of equipment used to open a window into the subspace dimension." origin_tech = "magnets=5;materials=5;bluespace=3" - matter = list("metal" = 50) + matter = list("steel" = 50) /obj/item/weapon/ectoplasm name = "ectoplasm" diff --git a/code/game/gamemodes/nuclear/pinpointer.dm b/code/game/gamemodes/nuclear/pinpointer.dm index d26f1a0789..a78eb9f57a 100644 --- a/code/game/gamemodes/nuclear/pinpointer.dm +++ b/code/game/gamemodes/nuclear/pinpointer.dm @@ -8,7 +8,7 @@ item_state = "electronic" throw_speed = 4 throw_range = 20 - matter = list("metal" = 500) + matter = list("steel" = 500) var/obj/item/weapon/disk/nuclear/the_disk = null var/active = 0 diff --git a/code/game/gamemodes/objective.dm b/code/game/gamemodes/objective.dm index 27236dd8fb..a1ce1af8de 100644 --- a/code/game/gamemodes/objective.dm +++ b/code/game/gamemodes/objective.dm @@ -798,7 +798,7 @@ datum/objective/heist/salvage choose_target() switch(rand(1,8)) if(1) - target = "metal" + target = "steel" target_amount = 300 if(2) target = "glass" diff --git a/code/game/machinery/alarm.dm b/code/game/machinery/alarm.dm index f6d2820d5b..c0d743d379 100644 --- a/code/game/machinery/alarm.dm +++ b/code/game/machinery/alarm.dm @@ -866,7 +866,7 @@ Just a object used in constructing air alarms icon_state = "door_electronics" desc = "Looks like a circuit. Probably is." w_class = 2.0 - matter = list("metal" = 50, "glass" = 50) + matter = list("steel" = 50, "glass" = 50) /* @@ -1188,7 +1188,7 @@ Just a object used in constructing fire alarms icon_state = "door_electronics" desc = "A circuit. It has a label on it, it says \"Can handle heat levels up to 40 degrees celsius!\"" w_class = 2.0 - matter = list("metal" = 50, "glass" = 50) + matter = list("steel" = 50, "glass" = 50) /* diff --git a/code/game/machinery/autolathe.dm b/code/game/machinery/autolathe.dm index d537d113f9..54e242c0f1 100644 --- a/code/game/machinery/autolathe.dm +++ b/code/game/machinery/autolathe.dm @@ -9,8 +9,8 @@ active_power_usage = 2000 var/list/machine_recipes - var/list/stored_material = list("metal" = 0, "glass" = 0) - var/list/storage_capacity = list("metal" = 0, "glass" = 0) + var/list/stored_material = list("steel" = 0, "glass" = 0) + var/list/storage_capacity = list("steel" = 0, "glass" = 0) var/show_category = "All" var/hacked = 0 @@ -279,18 +279,20 @@ for(var/obj/item/weapon/stock_parts/manipulator/M in component_parts) man_rating += M.rating - storage_capacity["metal"] = mb_rating * 25000 + storage_capacity["steel"] = mb_rating * 25000 storage_capacity["glass"] = mb_rating * 12500 build_time = 50 / man_rating mat_efficiency = 1.1 - man_rating * 0.1// Normally, price is 1.25 the amount of material, so this shouldn't go higher than 0.8. Maximum rating of parts is 3 /obj/machinery/autolathe/dismantle() - var/list/sheets = list("metal" = /obj/item/stack/sheet/metal, "glass" = /obj/item/stack/sheet/glass) for(var/mat in stored_material) - var/T = sheets[mat] - var/obj/item/stack/sheet/S = new T + var/material/M = name_to_mineral[mat] + if(!istype(M)) + continue + var/obj/item/stack/sheet/S = new M.stack_type(get_turf(src)) if(stored_material[mat] > S.perunit) S.amount = round(stored_material[mat] / S.perunit) - S.loc = loc + else + del(S) ..() diff --git a/code/game/machinery/camera/camera_assembly.dm b/code/game/machinery/camera/camera_assembly.dm index b9aa81e858..312e6de7f1 100644 --- a/code/game/machinery/camera/camera_assembly.dm +++ b/code/game/machinery/camera/camera_assembly.dm @@ -6,7 +6,7 @@ w_class = 2 anchored = 0 - matter = list("metal" = 700,"glass" = 300) + matter = list("steel" = 700,"glass" = 300) // Motion, EMP-Proof, X-Ray var/list/obj/item/possible_upgrades = list(/obj/item/device/assembly/prox_sensor, /obj/item/stack/sheet/mineral/osmium, /obj/item/weapon/stock_parts/scanning_module) diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index 69c4ee2857..565d50c452 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -573,7 +573,7 @@ About the new airlock wires panel: if (src.isElectrified()) if (istype(mover, /obj/item)) var/obj/item/i = mover - if (i.matter && ("metal" in i.matter) && i.matter["metal"] > 0) + if (i.matter && ("steel" in i.matter) && i.matter["steel"] > 0) var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread s.set_up(5, 1, src) s.start() diff --git a/code/game/machinery/doors/airlock_electronics.dm b/code/game/machinery/doors/airlock_electronics.dm index 32e356de3f..f1299ea07c 100644 --- a/code/game/machinery/doors/airlock_electronics.dm +++ b/code/game/machinery/doors/airlock_electronics.dm @@ -6,7 +6,7 @@ icon_state = "door_electronics" w_class = 2.0 //It should be tiny! -Agouri - matter = list("metal" = 50,"glass" = 50) + matter = list("steel" = 50,"glass" = 50) req_access = list(access_engine) diff --git a/code/game/machinery/robot_fabricator.dm b/code/game/machinery/robot_fabricator.dm index 0c3ae56115..5489856ba5 100644 --- a/code/game/machinery/robot_fabricator.dm +++ b/code/game/machinery/robot_fabricator.dm @@ -22,7 +22,7 @@ if(!M.get_amount()) return while(metal_amount < 150000 && M.amount) - src.metal_amount += O.matter["metal"] /*O:height * O:width * O:length * 100000.0*/ + src.metal_amount += O.matter["steel"] /*O:height * O:width * O:length * 100000.0*/ M.use(1) count++ diff --git a/code/game/mecha/equipment/mecha_equipment.dm b/code/game/mecha/equipment/mecha_equipment.dm index 2a6e2b6214..30a541f71e 100644 --- a/code/game/mecha/equipment/mecha_equipment.dm +++ b/code/game/mecha/equipment/mecha_equipment.dm @@ -9,7 +9,7 @@ force = 5 origin_tech = "materials=2" construction_time = 100 - construction_cost = list("metal"=10000) + construction_cost = list("steel"=10000) var/equip_cooldown = 0 var/equip_ready = 1 var/energy_drain = 0 @@ -100,11 +100,11 @@ if (ispath(required_type)) return istype(M, required_type) - + for (var/path in required_type) if (istype(M, path)) return 1 - + return 0 /obj/item/mecha_parts/mecha_equipment/proc/attach(obj/mecha/M as obj) diff --git a/code/game/mecha/equipment/tools/medical_tools.dm b/code/game/mecha/equipment/tools/medical_tools.dm index 08d6f2cca4..e571f2468b 100644 --- a/code/game/mecha/equipment/tools/medical_tools.dm +++ b/code/game/mecha/equipment/tools/medical_tools.dm @@ -6,7 +6,7 @@ origin_tech = "programming=2;biotech=3" energy_drain = 20 range = MELEE - construction_cost = list("metal"=5000,"glass"=10000) + construction_cost = list("steel"=5000,"glass"=10000) reliability = 1000 equip_cooldown = 20 var/mob/living/carbon/occupant = null @@ -390,7 +390,7 @@ equip_cooldown = 10 origin_tech = "materials=3;biotech=4;magnets=4;programming=3" construction_time = 200 - construction_cost = list("metal"=3000,"glass"=2000) + construction_cost = list("steel"=3000,"glass"=2000) required_type = /obj/mecha/medical New() diff --git a/code/game/mecha/equipment/tools/tools.dm b/code/game/mecha/equipment/tools/tools.dm index 4d799ef928..d1c5c19748 100644 --- a/code/game/mecha/equipment/tools/tools.dm +++ b/code/game/mecha/equipment/tools/tools.dm @@ -123,7 +123,7 @@ desc = "This is an upgraded version of the drill that'll pierce the heavens! (Can be attached to: Combat and Engineering Exosuits)" icon_state = "mecha_diamond_drill" origin_tech = "materials=4;engineering=3" - construction_cost = list("metal"=10000,"diamond"=6500) + construction_cost = list("steel"=10000,"diamond"=6500) equip_cooldown = 20 force = 15 @@ -255,7 +255,7 @@ energy_drain = 250 range = MELEE|RANGED construction_time = 1200 - construction_cost = list("metal"=30000,"phoron"=25000,"silver"=20000,"gold"=20000) + construction_cost = list("steel"=30000,"phoron"=25000,"silver"=20000,"gold"=20000) var/mode = 0 //0 - deconstruct, 1 - wall or floor, 2 - airlock. var/disabled = 0 //malf @@ -505,7 +505,7 @@ equip_cooldown = 10 energy_drain = 50 range = 0 - construction_cost = list("metal"=20000,"silver"=5000) + construction_cost = list("steel"=20000,"silver"=5000) var/deflect_coeff = 1.15 var/damage_coeff = 0.8 @@ -555,7 +555,7 @@ equip_cooldown = 10 energy_drain = 50 range = 0 - construction_cost = list("metal"=20000,"gold"=5000) + construction_cost = list("steel"=20000,"gold"=5000) var/deflect_coeff = 1.15 var/damage_coeff = 0.8 @@ -626,7 +626,7 @@ equip_cooldown = 20 energy_drain = 100 range = 0 - construction_cost = list("metal"=10000,"gold"=1000,"silver"=2000,"glass"=5000) + construction_cost = list("steel"=10000,"gold"=1000,"silver"=2000,"glass"=5000) var/health_boost = 2 var/datum/global_iterator/pr_repair_droid var/icon/droid_overlay @@ -716,7 +716,7 @@ equip_cooldown = 10 energy_drain = 0 range = 0 - construction_cost = list("metal"=10000,"gold"=2000,"silver"=3000,"glass"=2000) + construction_cost = list("steel"=10000,"gold"=2000,"silver"=3000,"glass"=2000) var/datum/global_iterator/pr_energy_relay var/coeff = 100 var/list/use_channels = list(EQUIP,ENVIRON,LIGHT) @@ -828,7 +828,7 @@ equip_cooldown = 10 energy_drain = 0 range = MELEE - construction_cost = list("metal"=10000,"silver"=500,"glass"=1000) + construction_cost = list("steel"=10000,"silver"=500,"glass"=1000) var/datum/global_iterator/pr_mech_generator var/coeff = 100 var/obj/item/stack/sheet/fuel @@ -963,7 +963,7 @@ desc = "Generates power using uranium. Pollutes the environment." icon_state = "tesla" origin_tech = "powerstorage=3;engineering=3" - construction_cost = list("metal"=10000,"silver"=500,"glass"=1000) + construction_cost = list("steel"=10000,"silver"=500,"glass"=1000) max_fuel = 50000 fuel_per_cycle_idle = 10 fuel_per_cycle_active = 30 @@ -1074,7 +1074,7 @@ origin_tech = "engineering=1;biotech=1" energy_drain = 10 range = MELEE - construction_cost = list("metal"=5000,"glass"=5000) + construction_cost = list("steel"=5000,"glass"=5000) reliability = 1000 equip_cooldown = 20 var/mob/living/carbon/occupant = null diff --git a/code/game/mecha/equipment/weapons/weapons.dm b/code/game/mecha/equipment/weapons/weapons.dm index 3d36efea9c..c5235693c7 100644 --- a/code/game/mecha/equipment/weapons/weapons.dm +++ b/code/game/mecha/equipment/weapons/weapons.dm @@ -274,7 +274,7 @@ /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/flashbang/clusterbang//Because I am a heartless bastard -Sieve name = "\improper SOP-6 grenade launcher" projectile = /obj/item/weapon/grenade/flashbang/clusterbang - construction_cost = list("metal"=20000,"gold"=6000,"uranium"=6000) + construction_cost = list("steel"=20000,"gold"=6000,"uranium"=6000) /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/flashbang/clusterbang/limited/get_equip_info()//Limited version of the clusterbang launcher that can't reload return "* [chassis.selected==src?"":""][src.name][chassis.selected==src?"":""]\[[src.projectiles]\]" diff --git a/code/game/mecha/mech_fabricator.dm b/code/game/mecha/mech_fabricator.dm index f000499ffd..f517aca58a 100644 --- a/code/game/mecha/mech_fabricator.dm +++ b/code/game/mecha/mech_fabricator.dm @@ -17,7 +17,7 @@ var/time_coeff = 1.5 //can be upgraded with research var/resource_coeff = 1.5 //can be upgraded with research var/list/resources = list( - "metal"=0, + "steel"=0, "glass"=0, "gold"=0, "silver"=0, @@ -719,7 +719,7 @@ /obj/machinery/mecha_part_fabricator/proc/remove_material(var/mat_string, var/amount) var/type switch(mat_string) - if("metal") + if("steel") type = /obj/item/stack/sheet/metal if("glass") type = /obj/item/stack/sheet/glass @@ -774,9 +774,9 @@ if(I.reliability != 100 && crit_fail) I.crit_fail = 1 I.loc = src.loc - if(src.resources["metal"] >= 3750) + if(src.resources["steel"] >= 3750) var/obj/item/stack/sheet/metal/G = new /obj/item/stack/sheet/metal(src.loc) - G.amount = round(src.resources["metal"] / G.perunit) + G.amount = round(src.resources["steel"] / G.perunit) if(src.resources["glass"] >= 3750) var/obj/item/stack/sheet/glass/G = new /obj/item/stack/sheet/glass(src.loc) G.amount = round(src.resources["glass"] / G.perunit) @@ -816,7 +816,7 @@ if(/obj/item/stack/sheet/mineral/phoron) material = "phoron" if(/obj/item/stack/sheet/metal) - material = "metal" + material = "steel" if(/obj/item/stack/sheet/glass) material = "glass" if(/obj/item/stack/sheet/mineral/uranium) diff --git a/code/game/mecha/mecha_control_console.dm b/code/game/mecha/mecha_control_console.dm index 8fa25a3568..2ec911d14f 100644 --- a/code/game/mecha/mecha_control_console.dm +++ b/code/game/mecha/mecha_control_console.dm @@ -69,7 +69,7 @@ icon_state = "motion2" origin_tech = "programming=2;magnets=2" construction_time = 50 - construction_cost = list("metal"=500) + construction_cost = list("steel"=500) proc/get_mecha_info() if(!in_mecha()) diff --git a/code/game/mecha/mecha_parts.dm b/code/game/mecha/mecha_parts.dm index c3257bb61b..eecc3b9095 100644 --- a/code/game/mecha/mecha_parts.dm +++ b/code/game/mecha/mecha_parts.dm @@ -12,14 +12,14 @@ flags = CONDUCT origin_tech = "programming=2;materials=2" var/construction_time = 100 - var/list/construction_cost = list("metal"=20000,"glass"=5000) + var/list/construction_cost = list("steel"=20000,"glass"=5000) /obj/item/mecha_parts/chassis name="Mecha Chassis" icon_state = "backbone" var/datum/construction/construct - construction_cost = list("metal"=20000) + construction_cost = list("steel"=20000) flags = CONDUCT attackby(obj/item/W as obj, mob/user as mob) @@ -45,7 +45,7 @@ icon_state = "ripley_harness" origin_tech = "programming=2;materials=2;biotech=2;engineering=2" construction_time = 200 - construction_cost = list("metal"=40000,"glass"=15000) + construction_cost = list("steel"=40000,"glass"=15000) /obj/item/mecha_parts/part/ripley_left_arm name="Ripley Left Arm" @@ -53,7 +53,7 @@ icon_state = "ripley_l_arm" origin_tech = "programming=2;materials=2;engineering=2" construction_time = 150 - construction_cost = list("metal"=25000) + construction_cost = list("steel"=25000) /obj/item/mecha_parts/part/ripley_right_arm name="Ripley Right Arm" @@ -61,7 +61,7 @@ icon_state = "ripley_r_arm" origin_tech = "programming=2;materials=2;engineering=2" construction_time = 150 - construction_cost = list("metal"=25000) + construction_cost = list("steel"=25000) /obj/item/mecha_parts/part/ripley_left_leg name="Ripley Left Leg" @@ -69,7 +69,7 @@ icon_state = "ripley_l_leg" origin_tech = "programming=2;materials=2;engineering=2" construction_time = 150 - construction_cost = list("metal"=30000) + construction_cost = list("steel"=30000) /obj/item/mecha_parts/part/ripley_right_leg name="Ripley Right Leg" @@ -77,13 +77,13 @@ icon_state = "ripley_r_leg" origin_tech = "programming=2;materials=2;engineering=2" construction_time = 150 - construction_cost = list("metal"=30000) + construction_cost = list("steel"=30000) ///////// Gygax /obj/item/mecha_parts/chassis/gygax name = "Gygax Chassis" - construction_cost = list("metal"=25000) + construction_cost = list("steel"=25000) New() ..() @@ -95,7 +95,7 @@ icon_state = "gygax_harness" origin_tech = "programming=2;materials=2;biotech=3;engineering=3" construction_time = 300 - construction_cost = list("metal"=50000,"glass"=20000) + construction_cost = list("steel"=50000,"glass"=20000) /obj/item/mecha_parts/part/gygax_head name="Gygax Head" @@ -103,7 +103,7 @@ icon_state = "gygax_head" origin_tech = "programming=2;materials=2;magnets=3;engineering=3" construction_time = 200 - construction_cost = list("metal"=20000,"glass"=10000) + construction_cost = list("steel"=20000,"glass"=10000) /obj/item/mecha_parts/part/gygax_left_arm name="Gygax Left Arm" @@ -111,7 +111,7 @@ icon_state = "gygax_l_arm" origin_tech = "programming=2;materials=2;engineering=3" construction_time = 200 - construction_cost = list("metal"=30000) + construction_cost = list("steel"=30000) /obj/item/mecha_parts/part/gygax_right_arm name="Gygax Right Arm" @@ -119,35 +119,35 @@ icon_state = "gygax_r_arm" origin_tech = "programming=2;materials=2;engineering=3" construction_time = 200 - construction_cost = list("metal"=30000) + construction_cost = list("steel"=30000) /obj/item/mecha_parts/part/gygax_left_leg name="Gygax Left Leg" icon_state = "gygax_l_leg" origin_tech = "programming=2;materials=2;engineering=3" construction_time = 200 - construction_cost = list("metal"=35000) + construction_cost = list("steel"=35000) /obj/item/mecha_parts/part/gygax_right_leg name="Gygax Right Leg" icon_state = "gygax_r_leg" origin_tech = "programming=2;materials=2;engineering=3" construction_time = 200 - construction_cost = list("metal"=35000) + construction_cost = list("steel"=35000) /obj/item/mecha_parts/part/gygax_armour name="Gygax Armour Plates" icon_state = "gygax_armour" origin_tech = "materials=6;combat=4;engineering=5" construction_time = 600 - construction_cost = list("metal"=50000,"diamond"=10000) + construction_cost = list("steel"=50000,"diamond"=10000) //////////// Durand /obj/item/mecha_parts/chassis/durand name = "Durand Chassis" - construction_cost = list("metal"=25000) + construction_cost = list("steel"=25000) New() ..() @@ -158,49 +158,49 @@ icon_state = "durand_harness" origin_tech = "programming=2;materials=3;biotech=3;engineering=3" construction_time = 300 - construction_cost = list("metal"=55000,"glass"=20000,"silver"=10000) + construction_cost = list("steel"=55000,"glass"=20000,"silver"=10000) /obj/item/mecha_parts/part/durand_head name="Durand Head" icon_state = "durand_head" origin_tech = "programming=2;materials=3;magnets=3;engineering=3" construction_time = 200 - construction_cost = list("metal"=25000,"glass"=10000,"silver"=3000) + construction_cost = list("steel"=25000,"glass"=10000,"silver"=3000) /obj/item/mecha_parts/part/durand_left_arm name="Durand Left Arm" icon_state = "durand_l_arm" origin_tech = "programming=2;materials=3;engineering=3" construction_time = 200 - construction_cost = list("metal"=35000,"silver"=3000) + construction_cost = list("steel"=35000,"silver"=3000) /obj/item/mecha_parts/part/durand_right_arm name="Durand Right Arm" icon_state = "durand_r_arm" origin_tech = "programming=2;materials=3;engineering=3" construction_time = 200 - construction_cost = list("metal"=35000,"silver"=3000) + construction_cost = list("steel"=35000,"silver"=3000) /obj/item/mecha_parts/part/durand_left_leg name="Durand Left Leg" icon_state = "durand_l_leg" origin_tech = "programming=2;materials=3;engineering=3" construction_time = 200 - construction_cost = list("metal"=40000,"silver"=3000) + construction_cost = list("steel"=40000,"silver"=3000) /obj/item/mecha_parts/part/durand_right_leg name="Durand Right Leg" icon_state = "durand_r_leg" origin_tech = "programming=2;materials=3;engineering=3" construction_time = 200 - construction_cost = list("metal"=40000,"silver"=3000) + construction_cost = list("steel"=40000,"silver"=3000) /obj/item/mecha_parts/part/durand_armour name="Durand Armour Plates" icon_state = "durand_armour" origin_tech = "materials=5;combat=4;engineering=5" construction_time = 600 - construction_cost = list("metal"=50000,"uranium"=10000) + construction_cost = list("steel"=50000,"uranium"=10000) @@ -248,42 +248,42 @@ name="Phazon Torso" icon_state = "phazon_harness" construction_time = 300 - construction_cost = list("metal"=35000,"glass"=10000,"phoron"=20000) + construction_cost = list("steel"=35000,"glass"=10000,"phoron"=20000) origin_tech = "programming=5;materials=7;bluespace=6;powerstorage=6" /obj/item/mecha_parts/part/phazon_head name="Phazon Head" icon_state = "phazon_head" construction_time = 200 - construction_cost = list("metal"=15000,"glass"=5000,"phoron"=10000) + construction_cost = list("steel"=15000,"glass"=5000,"phoron"=10000) origin_tech = "programming=4;materials=5;magnets=6" /obj/item/mecha_parts/part/phazon_left_arm name="Phazon Left Arm" icon_state = "phazon_l_arm" construction_time = 200 - construction_cost = list("metal"=20000,"phoron"=10000) + construction_cost = list("steel"=20000,"phoron"=10000) origin_tech = "materials=5;bluespace=2;magnets=2" /obj/item/mecha_parts/part/phazon_right_arm name="Phazon Right Arm" icon_state = "phazon_r_arm" construction_time = 200 - construction_cost = list("metal"=20000,"phoron"=10000) + construction_cost = list("steel"=20000,"phoron"=10000) origin_tech = "materials=5;bluespace=2;magnets=2" /obj/item/mecha_parts/part/phazon_left_leg name="Phazon Left Leg" icon_state = "phazon_l_leg" construction_time = 200 - construction_cost = list("metal"=20000,"phoron"=10000) + construction_cost = list("steel"=20000,"phoron"=10000) origin_tech = "materials=5;bluespace=3;magnets=3" /obj/item/mecha_parts/part/phazon_right_leg name="Phazon Right Leg" icon_state = "phazon_r_leg" construction_time = 200 - construction_cost = list("metal"=20000,"phoron"=10000) + construction_cost = list("steel"=20000,"phoron"=10000) origin_tech = "materials=5;bluespace=3;magnets=3" ///////// Odysseus @@ -300,7 +300,7 @@ name="Odysseus Head" icon_state = "odysseus_head" construction_time = 100 - construction_cost = list("metal"=2000,"glass"=10000) + construction_cost = list("steel"=2000,"glass"=10000) origin_tech = "programming=3;materials=2" /obj/item/mecha_parts/part/odysseus_torso @@ -309,7 +309,7 @@ icon_state = "odysseus_torso" origin_tech = "programming=2;materials=2;biotech=2;engineering=2" construction_time = 180 - construction_cost = list("metal"=25000) + construction_cost = list("steel"=25000) /obj/item/mecha_parts/part/odysseus_left_arm name="Odysseus Left Arm" @@ -317,7 +317,7 @@ icon_state = "odysseus_l_arm" origin_tech = "programming=2;materials=2;engineering=2" construction_time = 120 - construction_cost = list("metal"=10000) + construction_cost = list("steel"=10000) /obj/item/mecha_parts/part/odysseus_right_arm name="Odysseus Right Arm" @@ -325,7 +325,7 @@ icon_state = "odysseus_r_arm" origin_tech = "programming=2;materials=2;engineering=2" construction_time = 120 - construction_cost = list("metal"=10000) + construction_cost = list("steel"=10000) /obj/item/mecha_parts/part/odysseus_left_leg name="Odysseus Left Leg" @@ -333,7 +333,7 @@ icon_state = "odysseus_l_leg" origin_tech = "programming=2;materials=2;engineering=2" construction_time = 130 - construction_cost = list("metal"=15000) + construction_cost = list("steel"=15000) /obj/item/mecha_parts/part/odysseus_right_leg name="Odysseus Right Leg" @@ -341,11 +341,11 @@ icon_state = "odysseus_r_leg" origin_tech = "programming=2;materials=2;engineering=2" construction_time = 130 - construction_cost = list("metal"=15000) + construction_cost = list("steel"=15000) /*/obj/item/mecha_parts/part/odysseus_armour name="Odysseus Carapace" icon_state = "odysseus_armour" origin_tech = "materials=3;engineering=3" construction_time = 200 - construction_cost = list("metal"=15000)*/ + construction_cost = list("steel"=15000)*/ diff --git a/code/game/objects/items/ashtray.dm b/code/game/objects/items/ashtray.dm index 0d386623ec..f0cdeb1638 100644 --- a/code/game/objects/items/ashtray.dm +++ b/code/game/objects/items/ashtray.dm @@ -82,7 +82,7 @@ icon_broken = "ashtray_bork_bl" max_butts = 14 health = 24.0 - matter = list("metal" = 30,"glass" = 30) + matter = list("steel" = 30,"glass" = 30) empty_desc = "Cheap plastic ashtray." throwforce = 3.0 die() @@ -102,7 +102,7 @@ icon_broken = "ashtray_bork_br" max_butts = 10 health = 72.0 - matter = list("metal" = 80) + matter = list("steel" = 80) empty_desc = "Massive bronze ashtray." throwforce = 10.0 diff --git a/code/game/objects/items/devices/debugger.dm b/code/game/objects/items/devices/debugger.dm index faab1ee054..c90b98b3e6 100644 --- a/code/game/objects/items/devices/debugger.dm +++ b/code/game/objects/items/devices/debugger.dm @@ -17,7 +17,7 @@ throw_speed = 3 desc = "You can use this on airlocks or APCs to try to hack them without cutting wires." - matter = list("metal" = 50,"glass" = 20) + matter = list("steel" = 50,"glass" = 20) origin_tech = "magnets=1;engineering=1" var/obj/machinery/telecomms/buffer // simple machine buffer for device linkage diff --git a/code/game/objects/items/devices/flash.dm b/code/game/objects/items/devices/flash.dm index 7013b30419..e2d19edcc2 100644 --- a/code/game/objects/items/devices/flash.dm +++ b/code/game/objects/items/devices/flash.dm @@ -194,7 +194,7 @@ desc = "When a problem arises, SCIENCE is the solution." icon_state = "sflash" origin_tech = "magnets=2;combat=1" - var/construction_cost = list("metal"=750,"glass"=750) + var/construction_cost = list("steel"=750,"glass"=750) var/construction_time=100 /obj/item/device/flash/synthetic/attack(mob/living/M as mob, mob/user as mob) diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm index fb3edec873..bbba897c6f 100644 --- a/code/game/objects/items/devices/flashlight.dm +++ b/code/game/objects/items/devices/flashlight.dm @@ -8,7 +8,7 @@ flags = CONDUCT slot_flags = SLOT_BELT - matter = list("metal" = 50,"glass" = 20) + matter = list("steel" = 50,"glass" = 20) icon_action_button = "action_flashlight" var/on = 0 diff --git a/code/game/objects/items/devices/multitool.dm b/code/game/objects/items/devices/multitool.dm index a31a866bc7..beb3bbc60e 100644 --- a/code/game/objects/items/devices/multitool.dm +++ b/code/game/objects/items/devices/multitool.dm @@ -16,7 +16,7 @@ throw_speed = 3 desc = "You can use this on airlocks or APCs to try to hack them without cutting wires." - matter = list("metal" = 50,"glass" = 20) + matter = list("steel" = 50,"glass" = 20) origin_tech = "magnets=1;engineering=1" var/obj/machinery/telecomms/buffer // simple machine buffer for device linkage diff --git a/code/game/objects/items/devices/powersink.dm b/code/game/objects/items/devices/powersink.dm index 8b2469d2dd..ec056edb75 100644 --- a/code/game/objects/items/devices/powersink.dm +++ b/code/game/objects/items/devices/powersink.dm @@ -11,7 +11,7 @@ throw_speed = 1 throw_range = 2 - matter = list("metal" = 750,"waste" = 750) + matter = list("steel" = 750,"waste" = 750) origin_tech = "powerstorage=3;syndicate=5" var/drain_rate = 1000000 // amount of power to drain per tick diff --git a/code/game/objects/items/devices/radio/electropack.dm b/code/game/objects/items/devices/radio/electropack.dm index e7f9ec3b9f..0109b36030 100644 --- a/code/game/objects/items/devices/radio/electropack.dm +++ b/code/game/objects/items/devices/radio/electropack.dm @@ -8,7 +8,7 @@ slot_flags = SLOT_BACK w_class = 5.0 - matter = list("metal" = 10000,"glass" = 2500) + matter = list("steel" = 10000,"glass" = 2500) var/code = 2 diff --git a/code/game/objects/items/devices/radio/headset.dm b/code/game/objects/items/devices/radio/headset.dm index bfc9e8f69b..a42c61c636 100644 --- a/code/game/objects/items/devices/radio/headset.dm +++ b/code/game/objects/items/devices/radio/headset.dm @@ -4,7 +4,7 @@ var/radio_desc = "" icon_state = "headset" item_state = "headset" - matter = list("metal" = 75) + matter = list("steel" = 75) subspace_transmission = 1 canhear_range = 0 // can't hear headsets from very far away diff --git a/code/game/objects/items/devices/radio/radio.dm b/code/game/objects/items/devices/radio/radio.dm index dab778dcb9..ad08e81ff1 100644 --- a/code/game/objects/items/devices/radio/radio.dm +++ b/code/game/objects/items/devices/radio/radio.dm @@ -26,7 +26,7 @@ throw_range = 9 w_class = 2 - matter = list("glass" = 25,"metal" = 75) + matter = list("glass" = 25,"steel" = 75) var/const/FREQ_LISTENING = 1 diff --git a/code/game/objects/items/devices/scanners.dm b/code/game/objects/items/devices/scanners.dm index 1a646d3fe1..1ee6d2b80b 100644 --- a/code/game/objects/items/devices/scanners.dm +++ b/code/game/objects/items/devices/scanners.dm @@ -16,7 +16,7 @@ REAGENT SCANNER w_class = 2 item_state = "electronic" - matter = list("metal" = 150) + matter = list("steel" = 150) origin_tech = "magnets=1;engineering=1" @@ -73,7 +73,7 @@ REAGENT SCANNER w_class = 2.0 throw_speed = 5 throw_range = 10 - matter = list("metal" = 200) + matter = list("steel" = 200) origin_tech = "magnets=1;biotech=1" var/mode = 1; @@ -238,7 +238,7 @@ REAGENT SCANNER throw_speed = 4 throw_range = 20 - matter = list("metal" = 30,"glass" = 20) + matter = list("steel" = 30,"glass" = 20) origin_tech = "magnets=1;engineering=1" @@ -285,7 +285,7 @@ REAGENT SCANNER throw_speed = 4 throw_range = 20 - matter = list("metal" = 30,"glass" = 20) + matter = list("steel" = 30,"glass" = 20) origin_tech = "magnets=2;biotech=2" var/details = 0 @@ -358,7 +358,7 @@ REAGENT SCANNER throwforce = 5 throw_speed = 4 throw_range = 20 - matter = list("metal" = 30,"glass" = 20) + matter = list("steel" = 30,"glass" = 20) origin_tech = "magnets=2;biotech=2" var/details = 0 @@ -417,7 +417,7 @@ REAGENT SCANNER throwforce = 0 throw_speed = 3 throw_range = 7 - matter = list("metal" = 30,"glass" = 20) + matter = list("steel" = 30,"glass" = 20) /obj/item/device/slime_scanner/attack(mob/living/M as mob, mob/living/user as mob) if (!isslime(M)) diff --git a/code/game/objects/items/devices/taperecorder.dm b/code/game/objects/items/devices/taperecorder.dm index 1e9405cbeb..e9f5444610 100644 --- a/code/game/objects/items/devices/taperecorder.dm +++ b/code/game/objects/items/devices/taperecorder.dm @@ -5,7 +5,7 @@ item_state = "analyzer" w_class = 2.0 - matter = list("metal" = 60,"glass" = 30) + matter = list("steel" = 60,"glass" = 30) var/emagged = 0.0 var/recording = 0.0 diff --git a/code/game/objects/items/robot/robot_parts.dm b/code/game/objects/items/robot/robot_parts.dm index da508a8a31..981d9175e1 100644 --- a/code/game/objects/items/robot/robot_parts.dm +++ b/code/game/objects/items/robot/robot_parts.dm @@ -6,7 +6,7 @@ flags = CONDUCT slot_flags = SLOT_BELT var/construction_time = 100 - var/list/construction_cost = list("metal"=20000,"glass"=5000) + var/list/construction_cost = list("steel"=20000,"glass"=5000) var/list/part = null // Order of args is important for installing robolimbs. var/sabotaged = 0 //Emagging limbs can have repercussions when installed as prosthetics. var/model_info @@ -33,7 +33,7 @@ desc = "A skeletal limb wrapped in pseudomuscles, with a low-conductivity case." icon_state = "l_arm" construction_time = 200 - construction_cost = list("metal"=18000) + construction_cost = list("steel"=18000) part = list("l_arm","l_hand") model_info = 1 @@ -42,7 +42,7 @@ desc = "A skeletal limb wrapped in pseudomuscles, with a low-conductivity case." icon_state = "r_arm" construction_time = 200 - construction_cost = list("metal"=18000) + construction_cost = list("steel"=18000) part = list("r_arm","r_hand") model_info = 1 @@ -51,7 +51,7 @@ desc = "A skeletal limb wrapped in pseudomuscles, with a low-conductivity case." icon_state = "l_leg" construction_time = 200 - construction_cost = list("metal"=15000) + construction_cost = list("steel"=15000) part = list("l_leg","l_foot") model_info = 1 @@ -60,7 +60,7 @@ desc = "A skeletal limb wrapped in pseudomuscles, with a low-conductivity case." icon_state = "r_leg" construction_time = 200 - construction_cost = list("metal"=15000) + construction_cost = list("steel"=15000) part = list("r_leg","r_foot") model_info = 1 @@ -69,7 +69,7 @@ desc = "A heavily reinforced case containing cyborg logic boards, with space for a standard power cell." icon_state = "chest" construction_time = 350 - construction_cost = list("metal"=40000) + construction_cost = list("steel"=40000) var/wires = 0.0 var/obj/item/weapon/cell/cell = null @@ -78,7 +78,7 @@ desc = "A standard reinforced braincase, with spine-plugged neural socket and sensor gimbals." icon_state = "head" construction_time = 350 - construction_cost = list("metal"=25000) + construction_cost = list("steel"=25000) var/obj/item/device/flash/flash1 = null var/obj/item/device/flash/flash2 = null @@ -87,7 +87,7 @@ desc = "A complex metal backbone with standard limb sockets and pseudomuscle anchors." icon_state = "robo_suit" construction_time = 500 - construction_cost = list("metal"=50000) + construction_cost = list("steel"=50000) var/obj/item/robot_parts/l_arm/l_arm = null var/obj/item/robot_parts/r_arm/r_arm = null var/obj/item/robot_parts/l_leg/l_leg = null diff --git a/code/game/objects/items/robot/robot_upgrades.dm b/code/game/objects/items/robot/robot_upgrades.dm index 43b852e249..7009066995 100644 --- a/code/game/objects/items/robot/robot_upgrades.dm +++ b/code/game/objects/items/robot/robot_upgrades.dm @@ -7,7 +7,7 @@ icon = 'icons/obj/module.dmi' icon_state = "cyborg_upgrade" var/construction_time = 120 - var/construction_cost = list("metal"=10000) + var/construction_cost = list("steel"=10000) var/locked = 0 var/require_module = 0 var/installed = 0 @@ -49,7 +49,7 @@ name = "robot reclassification board" desc = "Used to rename a cyborg." icon_state = "cyborg_upgrade1" - construction_cost = list("metal"=35000) + construction_cost = list("steel"=35000) var/heldname = "default name" /obj/item/borg/upgrade/rename/attack_self(mob/user as mob) @@ -67,7 +67,7 @@ /obj/item/borg/upgrade/restart name = "robot emergency restart module" desc = "Used to force a restart of a disabled-but-repaired robot, bringing it back online." - construction_cost = list("metal"=60000 , "glass"=5000) + construction_cost = list("steel"=60000 , "glass"=5000) icon_state = "cyborg_upgrade1" @@ -91,7 +91,7 @@ /obj/item/borg/upgrade/vtec name = "robotic VTEC Module" desc = "Used to kick in a robot's VTEC systems, increasing their speed." - construction_cost = list("metal"=80000 , "glass"=6000 , "gold"= 5000) + construction_cost = list("steel"=80000 , "glass"=6000 , "gold"= 5000) icon_state = "cyborg_upgrade2" require_module = 1 @@ -108,7 +108,7 @@ /obj/item/borg/upgrade/tasercooler name = "robotic Rapid Taser Cooling Module" desc = "Used to cool a mounted taser, increasing the potential current in it and thus its recharge rate." - construction_cost = list("metal"=80000 , "glass"=6000 , "gold"= 2000, "diamond" = 500) + construction_cost = list("steel"=80000 , "glass"=6000 , "gold"= 2000, "diamond" = 500) icon_state = "cyborg_upgrade3" require_module = 1 @@ -143,7 +143,7 @@ /obj/item/borg/upgrade/jetpack name = "mining robot jetpack" desc = "A carbon dioxide jetpack suitable for low-gravity mining operations." - construction_cost = list("metal"=10000,"phoron"=15000,"uranium" = 20000) + construction_cost = list("steel"=10000,"phoron"=15000,"uranium" = 20000) icon_state = "cyborg_upgrade3" require_module = 1 @@ -165,7 +165,7 @@ /obj/item/borg/upgrade/syndicate/ name = "illegal equipment module" desc = "Unlocks the hidden, deadlier functions of a robot" - construction_cost = list("metal"=10000,"glass"=15000,"diamond" = 10000) + construction_cost = list("steel"=10000,"glass"=15000,"diamond" = 10000) icon_state = "cyborg_upgrade3" require_module = 1 diff --git a/code/game/objects/items/stacks/rods.dm b/code/game/objects/items/stacks/rods.dm index 143539968e..b2a31ecc84 100644 --- a/code/game/objects/items/stacks/rods.dm +++ b/code/game/objects/items/stacks/rods.dm @@ -9,7 +9,7 @@ throwforce = 15.0 throw_speed = 5 throw_range = 20 - matter = list("metal" = 1875) + matter = list("steel" = 1875) max_amount = 60 attack_verb = list("hit", "bludgeoned", "whacked") diff --git a/code/game/objects/items/stacks/sheets/glass.dm b/code/game/objects/items/stacks/sheets/glass.dm index ec0ece216e..7d479edebc 100644 --- a/code/game/objects/items/stacks/sheets/glass.dm +++ b/code/game/objects/items/stacks/sheets/glass.dm @@ -144,7 +144,7 @@ singular_name = "reinforced glass sheet" icon_state = "sheet-rglass" - matter = list("metal" = 1875,"glass" = 3750) + matter = list("steel" = 1875,"glass" = 3750) origin_tech = "materials=2" created_window = /obj/structure/window/reinforced @@ -200,7 +200,7 @@ desc = "Phoron glass which has been reinforced with metal rods." singular_name = "reinforced phoron glass sheet" icon_state = "sheet-phoronrglass" - matter = list("glass" = 7500,"metal" = 1875) + matter = list("glass" = 7500,"steel" = 1875) origin_tech = "materials=4;phorontech=2" created_window = /obj/structure/window/phoronreinforced diff --git a/code/game/objects/items/stacks/sheets/mineral.dm b/code/game/objects/items/stacks/sheets/mineral.dm index 46415bb8af..6506ec0aba 100644 --- a/code/game/objects/items/stacks/sheets/mineral.dm +++ b/code/game/objects/items/stacks/sheets/mineral.dm @@ -63,6 +63,10 @@ var/global/list/datum/stack_recipe/iron_recipes = list ( \ w_class = 3.0 throw_speed = 3 throw_range = 3 + var/walltype_solid + var/walltype_false + var/doortype_solid + var/doortype_machine /obj/item/stack/sheet/mineral/New() ..() diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index 4be7f6e7f7..5ed88a3a66 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -80,18 +80,18 @@ var/global/list/datum/stack_recipe/metal_recipes = list ( \ ) /obj/item/stack/sheet/metal - name = "metal" - desc = "Sheets made out off metal. It has been dubbed Metal Sheets." + name = "steel" + desc = "Sheets made out off steel." singular_name = "metal sheet" icon_state = "sheet-metal" - matter = list("metal" = 3750) + matter = list("steel" = 3750) throwforce = 14.0 flags = CONDUCT origin_tech = "materials=1" /obj/item/stack/sheet/metal/cyborg - name = "metal synthesizer" - desc = "A device that makes metal sheets." + name = "steel synthesizer" + desc = "A device that makes steel sheets." gender = NEUTER matter = null uses_charge = 1 @@ -120,7 +120,7 @@ var/global/list/datum/stack_recipe/plasteel_recipes = list ( \ desc = "This sheet is an alloy of iron and phoron." icon_state = "sheet-plasteel" item_state = "sheet-metal" - matter = list("metal" = 7500) + matter = list("steel" = 7500) throwforce = 15.0 flags = CONDUCT origin_tech = "materials=2" diff --git a/code/game/objects/items/stacks/tiles/plasteel.dm b/code/game/objects/items/stacks/tiles/plasteel.dm index 3215d0efaf..8fae680820 100644 --- a/code/game/objects/items/stacks/tiles/plasteel.dm +++ b/code/game/objects/items/stacks/tiles/plasteel.dm @@ -4,7 +4,7 @@ desc = "Those could work as a pretty decent throwing weapon" icon_state = "tile" force = 6.0 - matter = list("metal" = 937.5) + matter = list("steel" = 937.5) throwforce = 15.0 throw_speed = 5 throw_range = 20 diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index ddf9cc52c4..7edfbf6faf 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -147,7 +147,7 @@ slot_flags = SLOT_BELT|SLOT_HOLSTER w_class = 3.0 - matter = list("glass" = 10,"metal" = 10) + matter = list("glass" = 10,"steel" = 10) attack_verb = list("struck", "pistol whipped", "hit", "bashed") var/bullets = 7.0 @@ -202,7 +202,7 @@ flags = CONDUCT w_class = 1.0 - matter = list("metal" = 10,"glass" = 10) + matter = list("steel" = 10,"glass" = 10) var/amount_left = 7.0 diff --git a/code/game/objects/items/weapons/RCD.dm b/code/game/objects/items/weapons/RCD.dm index 37dcbf9f4e..2d9a37647d 100644 --- a/code/game/objects/items/weapons/RCD.dm +++ b/code/game/objects/items/weapons/RCD.dm @@ -13,7 +13,7 @@ throw_speed = 1 throw_range = 5 w_class = 3.0 - matter = list("metal" = 50000) + matter = list("steel" = 50000) origin_tech = "engineering=4;materials=2" var/datum/effect/effect/system/spark_spread/spark_system var/stored_matter = 0 @@ -153,7 +153,7 @@ density = 0 anchored = 0.0 origin_tech = "materials=2" - matter = list("metal" = 30000,"glass" = 15000) + matter = list("steel" = 30000,"glass" = 15000) /obj/item/weapon/rcd/borg canRwall = 1 diff --git a/code/game/objects/items/weapons/extinguisher.dm b/code/game/objects/items/weapons/extinguisher.dm index 4408e998ce..690b2dbd43 100644 --- a/code/game/objects/items/weapons/extinguisher.dm +++ b/code/game/objects/items/weapons/extinguisher.dm @@ -11,7 +11,7 @@ throw_speed = 2 throw_range = 10 force = 10.0 - matter = list("metal" = 90) + matter = list("steel" = 90) attack_verb = list("slammed", "whacked", "bashed", "thunked", "battered", "bludgeoned", "thrashed") var/spray_particles = 6 diff --git a/code/game/objects/items/weapons/flamethrower.dm b/code/game/objects/items/weapons/flamethrower.dm index 50508594cf..5e68df4fe1 100644 --- a/code/game/objects/items/weapons/flamethrower.dm +++ b/code/game/objects/items/weapons/flamethrower.dm @@ -10,7 +10,7 @@ throw_speed = 1 throw_range = 5 w_class = 3.0 - matter = list("metal" = 500) + matter = list("steel" = 500) origin_tech = "combat=1;phorontech=1" var/status = 0 var/throw_amount = 100 diff --git a/code/game/objects/items/weapons/handcuffs.dm b/code/game/objects/items/weapons/handcuffs.dm index 85bec3a8ea..a06440dd04 100644 --- a/code/game/objects/items/weapons/handcuffs.dm +++ b/code/game/objects/items/weapons/handcuffs.dm @@ -10,7 +10,7 @@ w_class = 2.0 throw_speed = 2 throw_range = 5 - matter = list("metal" = 500) + matter = list("steel" = 500) origin_tech = "materials=1" var/dispenser = 0 var/breakouttime = 1200 //Deciseconds = 120s = 2 minutes diff --git a/code/game/objects/items/weapons/kitchen.dm b/code/game/objects/items/weapons/kitchen.dm index e27e38af7b..f47083c2a8 100644 --- a/code/game/objects/items/weapons/kitchen.dm +++ b/code/game/objects/items/weapons/kitchen.dm @@ -145,7 +145,7 @@ throwforce = 6.0 throw_speed = 3 throw_range = 6 - matter = list("metal" = 12000) + matter = list("steel" = 12000) origin_tech = "materials=1" attack_verb = list("slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") @@ -175,7 +175,7 @@ throwforce = 8.0 throw_speed = 3 throw_range = 6 - matter = list("metal" = 12000) + matter = list("steel" = 12000) origin_tech = "materials=1" attack_verb = list("cleaved", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") sharp = 1 @@ -247,7 +247,7 @@ throw_range = 5 w_class = 3.0 flags = CONDUCT - matter = list("metal" = 3000) + matter = list("steel" = 3000) /* // NOPE var/food_total= 0 var/burger_amt = 0 diff --git a/code/game/objects/items/weapons/paint.dm b/code/game/objects/items/weapons/paint.dm index 77f8172f8f..e1a392c2d9 100644 --- a/code/game/objects/items/weapons/paint.dm +++ b/code/game/objects/items/weapons/paint.dm @@ -9,7 +9,7 @@ var/global/list/cached_icons = list() icon = 'icons/obj/items.dmi' icon_state = "paint_neutral" item_state = "paintcan" - matter = list("metal" = 200) + matter = list("steel" = 200) w_class = 3.0 amount_per_transfer_from_this = 10 possible_transfer_amounts = list(10,20,30,60) diff --git a/code/game/objects/items/weapons/power_cells.dm b/code/game/objects/items/weapons/power_cells.dm index 5cab6b24cb..e9627f1c61 100644 --- a/code/game/objects/items/weapons/power_cells.dm +++ b/code/game/objects/items/weapons/power_cells.dm @@ -14,9 +14,9 @@ var/maxcharge = 1000 var/rigged = 0 // true if rigged to explode var/minor_fault = 0 //If not 100% reliable, it will build up faults. - var/construction_cost = list("metal"=750,"glass"=75) + var/construction_cost = list("steel"=750,"glass"=75) var/construction_time=100 - matter = list("metal" = 700, "glass" = 50) + matter = list("steel" = 700, "glass" = 50) suicide_act(mob/user) viewers(user) << "\red [user] is licking the electrodes of the [src.name]! It looks like \he's trying to commit suicide." @@ -27,7 +27,7 @@ desc = "You can't top the plasma top." //TOTALLY TRADEMARK INFRINGEMENT origin_tech = "powerstorage=0" maxcharge = 500 - matter = list("metal" = 700, "glass" = 40) + matter = list("steel" = 700, "glass" = 40) /obj/item/weapon/cell/crap/empty/New() ..() @@ -37,7 +37,7 @@ name = "security borg rechargable D battery" origin_tech = "powerstorage=0" maxcharge = 600 //600 max charge / 100 charge per shot = six shots - matter = list("metal" = 700, "glass" = 40) + matter = list("steel" = 700, "glass" = 40) /obj/item/weapon/cell/secborg/empty/New() ..() @@ -47,14 +47,14 @@ name = "heavy-duty power cell" origin_tech = "powerstorage=1" maxcharge = 5000 - matter = list("metal" = 700, "glass" = 50) + matter = list("steel" = 700, "glass" = 50) /obj/item/weapon/cell/high name = "high-capacity power cell" origin_tech = "powerstorage=2" icon_state = "hcell" maxcharge = 10000 - matter = list("metal" = 700, "glass" = 60) + matter = list("steel" = 700, "glass" = 60) /obj/item/weapon/cell/high/empty/New() ..() @@ -65,8 +65,8 @@ origin_tech = "powerstorage=5" icon_state = "scell" maxcharge = 20000 - matter = list("metal" = 700, "glass" = 70) - construction_cost = list("metal"=750,"glass"=100) + matter = list("steel" = 700, "glass" = 70) + construction_cost = list("steel"=750,"glass"=100) /obj/item/weapon/cell/super/empty/New() ..() @@ -77,8 +77,8 @@ origin_tech = "powerstorage=6" icon_state = "hpcell" maxcharge = 30000 - matter = list("metal" = 700, "glass" = 80) - construction_cost = list("metal"=500,"glass"=150,"gold"=200,"silver"=200) + matter = list("steel" = 700, "glass" = 80) + construction_cost = list("steel"=500,"glass"=150,"gold"=200,"silver"=200) /obj/item/weapon/cell/hyper/empty/New() ..() @@ -89,7 +89,7 @@ icon_state = "icell" origin_tech = null maxcharge = 30000 - matter = list("metal" = 700, "glass" = 80) + matter = list("steel" = 700, "glass" = 80) use() return 1 diff --git a/code/game/objects/items/weapons/shields.dm b/code/game/objects/items/weapons/shields.dm index 65f1abddfb..1e98ebef0b 100644 --- a/code/game/objects/items/weapons/shields.dm +++ b/code/game/objects/items/weapons/shields.dm @@ -13,7 +13,7 @@ throw_speed = 1 throw_range = 4 w_class = 4.0 - matter = list("glass" = 7500, "metal" = 1000) + matter = list("glass" = 7500, "steel" = 1000) origin_tech = "materials=2" attack_verb = list("shoved", "bashed") var/cooldown = 0 //shield bash cooldown. based on world.time diff --git a/code/game/objects/items/weapons/surgery_tools.dm b/code/game/objects/items/weapons/surgery_tools.dm index 383e21ff4f..c941f1e0d4 100644 --- a/code/game/objects/items/weapons/surgery_tools.dm +++ b/code/game/objects/items/weapons/surgery_tools.dm @@ -16,7 +16,7 @@ desc = "Retracts stuff." icon = 'icons/obj/surgery.dmi' icon_state = "retractor" - matter = list("metal" = 10000, "glass" = 5000) + matter = list("steel" = 10000, "glass" = 5000) flags = CONDUCT w_class = 2.0 origin_tech = "materials=1;biotech=1" @@ -29,7 +29,7 @@ desc = "You think you have seen this before." icon = 'icons/obj/surgery.dmi' icon_state = "hemostat" - matter = list("metal" = 5000, "glass" = 2500) + matter = list("steel" = 5000, "glass" = 2500) flags = CONDUCT w_class = 2.0 origin_tech = "materials=1;biotech=1" @@ -43,7 +43,7 @@ desc = "This stops bleeding." icon = 'icons/obj/surgery.dmi' icon_state = "cautery" - matter = list("metal" = 5000, "glass" = 2500) + matter = list("steel" = 5000, "glass" = 2500) flags = CONDUCT w_class = 2.0 origin_tech = "materials=1;biotech=1" @@ -58,7 +58,7 @@ icon = 'icons/obj/surgery.dmi' icon_state = "drill" hitsound = 'sound/weapons/circsawhit.ogg' - matter = list("metal" = 15000, "glass" = 10000) + matter = list("steel" = 15000, "glass" = 10000) flags = CONDUCT force = 15.0 w_class = 2.0 @@ -86,7 +86,7 @@ throwforce = 5.0 throw_speed = 3 throw_range = 5 - matter = list("metal" = 10000, "glass" = 5000) + matter = list("steel" = 10000, "glass" = 5000) origin_tech = "materials=1;biotech=1" attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") @@ -140,7 +140,7 @@ throwforce = 9.0 throw_speed = 3 throw_range = 5 - matter = list("metal" = 20000,"glass" = 10000) + matter = list("steel" = 20000,"glass" = 10000) origin_tech = "materials=1;biotech=1" attack_verb = list("attacked", "slashed", "sawed", "cut") sharp = 1 diff --git a/code/game/objects/items/weapons/table_rack_parts.dm b/code/game/objects/items/weapons/table_rack_parts.dm index 2dfc3f4730..ce1b4c5386 100644 --- a/code/game/objects/items/weapons/table_rack_parts.dm +++ b/code/game/objects/items/weapons/table_rack_parts.dm @@ -6,7 +6,7 @@ gender = PLURAL icon = 'icons/obj/items.dmi' icon_state = "table_parts" - matter = list("metal" = 3750) + matter = list("steel" = 3750) flags = CONDUCT attack_verb = list("slammed", "bashed", "battered", "bludgeoned", "thrashed", "whacked") @@ -49,7 +49,7 @@ desc = "Hard table parts. Well... harder." icon = 'icons/obj/items.dmi' icon_state = "reinf_tableparts" - matter = list("metal" = 7500) + matter = list("steel" = 7500) flags = CONDUCT stack_types = list(/obj/item/stack/sheet/metal, /obj/item/stack/rods) diff --git a/code/game/objects/items/weapons/teleportation.dm b/code/game/objects/items/weapons/teleportation.dm index 20d96676ed..d085d1813a 100644 --- a/code/game/objects/items/weapons/teleportation.dm +++ b/code/game/objects/items/weapons/teleportation.dm @@ -21,7 +21,7 @@ item_state = "electronic" throw_speed = 4 throw_range = 20 - matter = list("metal" = 400) + matter = list("steel" = 400) origin_tech = "magnets=1" /obj/item/weapon/locator/attack_self(mob/user as mob) @@ -132,7 +132,7 @@ Frequency: w_class = 2.0 throw_speed = 3 throw_range = 5 - matter = list("metal" = 10000) + matter = list("steel" = 10000) origin_tech = "magnets=1;bluespace=3" /obj/item/weapon/hand_tele/attack_self(mob/user as mob) diff --git a/code/game/objects/items/weapons/tools.dm b/code/game/objects/items/weapons/tools.dm index 1090431916..0af08c5b4b 100644 --- a/code/game/objects/items/weapons/tools.dm +++ b/code/game/objects/items/weapons/tools.dm @@ -24,7 +24,7 @@ force = 5.0 throwforce = 7.0 w_class = 2.0 - matter = list("metal" = 150) + matter = list("steel" = 150) origin_tech = "materials=1;engineering=1" attack_verb = list("bashed", "battered", "bludgeoned", "whacked") @@ -44,7 +44,7 @@ throwforce = 5.0 throw_speed = 3 throw_range = 5 - matter = list("metal" = 75) + matter = list("steel" = 75) attack_verb = list("stabbed") suicide_act(mob/user) @@ -102,7 +102,7 @@ throw_speed = 2 throw_range = 9 w_class = 2.0 - matter = list("metal" = 80) + matter = list("steel" = 80) origin_tech = "materials=1;engineering=1" attack_verb = list("pinched", "nipped") sharp = 1 @@ -144,7 +144,7 @@ w_class = 2.0 //Cost to make in the autolathe - matter = list("metal" = 70, "glass" = 30) + matter = list("steel" = 70, "glass" = 30) //R&D tech level origin_tech = "engineering=1" @@ -403,21 +403,21 @@ /obj/item/weapon/weldingtool/largetank name = "industrial welding tool" max_fuel = 40 - matter = list("metal" = 70, "glass" = 60) + matter = list("steel" = 70, "glass" = 60) origin_tech = "engineering=2" /obj/item/weapon/weldingtool/hugetank name = "upgraded welding tool" max_fuel = 80 w_class = 3.0 - matter = list("metal" = 70, "glass" = 120) + matter = list("steel" = 70, "glass" = 120) origin_tech = "engineering=3" /obj/item/weapon/weldingtool/experimental name = "experimental welding tool" max_fuel = 40 w_class = 3.0 - matter = list("metal" = 70, "glass" = 120) + matter = list("steel" = 70, "glass" = 120) origin_tech = "engineering=4;phorontech=3" var/last_gen = 0 @@ -444,7 +444,7 @@ throwforce = 7.0 item_state = "crowbar" w_class = 2.0 - matter = list("metal" = 50) + matter = list("steel" = 50) origin_tech = "engineering=1" attack_verb = list("attacked", "bashed", "battered", "bludgeoned", "whacked") diff --git a/code/game/objects/items/weapons/weaponry.dm b/code/game/objects/items/weapons/weaponry.dm index 295fa0c67d..d062f46a5d 100644 --- a/code/game/objects/items/weapons/weaponry.dm +++ b/code/game/objects/items/weapons/weaponry.dm @@ -185,14 +185,14 @@ desc = "A knife blade. Unusable as a weapon without a grip." icon = 'icons/obj/buildingobject.dmi' icon_state = "butterfly2" - matter = list("metal" = 5000) + matter = list("steel" = 5000) /obj/item/butterflyhandle name = "concealed knife grip" desc = "A plasteel grip with screw fittings for a blade." icon = 'icons/obj/buildingobject.dmi' icon_state = "butterfly1" - matter = list("metal" = 4000) + matter = list("steel" = 4000) /obj/item/butterflyhandle/attackby(obj/item/W as obj, mob/user as mob) if(istype(W,/obj/item/butterflyblade)) @@ -276,7 +276,7 @@ obj/item/weapon/wirerod/attackby(var/obj/item/I, mob/user as mob) throw_range = 15 sharp = 1 edge = 1 - matter = list("metal" = 500) + matter = list("steel" = 500) var/poisoned = 0 diff --git a/code/game/objects/structures/false_walls.dm b/code/game/objects/structures/false_walls.dm index f68c7ae7cb..4d9ce03488 100644 --- a/code/game/objects/structures/false_walls.dm +++ b/code/game/objects/structures/false_walls.dm @@ -6,7 +6,7 @@ desc = "A huge chunk of metal used to seperate rooms." anchored = 1 icon = 'icons/turf/walls.dmi' - var/mineral = "metal" + var/mineral = "steel" var/opening = 0 /obj/structure/falsewall/New() @@ -87,65 +87,45 @@ user << "\red You must wait until the door has stopped moving." return - if(density) - var/turf/T = get_turf(src) - if(T.density) - user << "\red The wall is blocked!" + var/material/M = name_to_mineral[mineral] + + if(istype(W, /obj/item/weapon/screwdriver)) + if(!istype(M) || !M.walltype_solid) + user << "You cannot find any bolts on the wall." return - if(istype(W, /obj/item/weapon/screwdriver)) - user.visible_message("[user] tightens some bolts on the wall.", "You tighten the bolts on the wall.") - if(!mineral || mineral == "metal") - T.ChangeTurf(/turf/simulated/wall) - else - T.ChangeTurf(text2path("/turf/simulated/wall/mineral/[mineral]")) + user.visible_message("[user] tightens some bolts on the wall.", "You tighten the bolts on the wall.") + var/turf/T = get_turf(src) + if(T) + T.ChangeTurf(M.walltype_solid) + del(src) + return + + var/cutting + if(istype(W, /obj/item/weapon/melee/energy/blade) || istype(W, /obj/item/weapon/pickaxe)) + cutting = 1 + else if(istype(W, /obj/item/weapon/weldingtool)) + var/obj/item/weapon/weldingtool/WT = W + if(WT.welding) + cutting = 1 + + if(cutting) + if(density) + var/turf/T = get_turf(src) + if(T.density) + user << "\red The wall is blocked!" + return + + if(!istype(M) || !M.walltype_solid) + user << "You cannot weld this wall." + return + T.ChangeTurf(M.walltype_solid) + if(mineral != "phoron")//Stupid shit keeps me from pushing the attackby() to phoron walls -Sieve + T = get_turf(src) // Still not sure what the above is for, leaving it for now. ~Z + T.attackby(W,user) del(src) - - if( istype(W, /obj/item/weapon/weldingtool) ) - var/obj/item/weapon/weldingtool/WT = W - if( WT:welding ) - if(!mineral) - T.ChangeTurf(/turf/simulated/wall) - else - T.ChangeTurf(text2path("/turf/simulated/wall/mineral/[mineral]")) - if(mineral != "phoron")//Stupid shit keeps me from pushing the attackby() to phoron walls -Sieve - T = get_turf(src) - T.attackby(W,user) - del(src) - else - user << "\blue You can't reach, close it first!" - - if( istype(W, /obj/item/weapon/pickaxe/plasmacutter) ) - var/turf/T = get_turf(src) - if(!mineral) - T.ChangeTurf(/turf/simulated/wall) else - T.ChangeTurf(text2path("/turf/simulated/wall/mineral/[mineral]")) - if(mineral != "phoron") - T = get_turf(src) - T.attackby(W,user) - del(src) + user << "\blue You can't reach, close it first!" - //DRILLING - else if (istype(W, /obj/item/weapon/pickaxe/diamonddrill)) - var/turf/T = get_turf(src) - if(!mineral) - T.ChangeTurf(/turf/simulated/wall) - else - T.ChangeTurf(text2path("/turf/simulated/wall/mineral/[mineral]")) - T = get_turf(src) - T.attackby(W,user) - del(src) - - else if( istype(W, /obj/item/weapon/melee/energy/blade) ) - var/turf/T = get_turf(src) - if(!mineral) - T.ChangeTurf(/turf/simulated/wall) - else - T.ChangeTurf(text2path("/turf/simulated/wall/mineral/[mineral]")) - if(mineral != "phoron") - T = get_turf(src) - T.attackby(W,user) - del(src) /obj/structure/falsewall/update_icon()//Calling icon_update will refresh the smoothwalls if it's closed, otherwise it will make sure the icon is correct if it's open ..() @@ -167,7 +147,7 @@ density = 1 opacity = 1 anchored = 1 - var/mineral = "metal" + var/mineral = "steel" var/opening = 0 /obj/structure/falserwall/New() diff --git a/code/game/objects/structures/girders.dm b/code/game/objects/structures/girders.dm index c73c955701..a5bd415107 100644 --- a/code/game/objects/structures/girders.dm +++ b/code/game/objects/structures/girders.dm @@ -89,88 +89,68 @@ new/obj/structure/girder/displaced( src.loc ) del(src) + else if(istype(W, /obj/item/stack/sheet/plasteel)) + var/obj/item/stack/sheet/S = W + if(!anchored) + if(S.use(2)) + user << "\blue You create a false wall! Push on it to open or close the passage." + new /obj/structure/falserwall (src.loc) + del(src) + else + if (src.icon_state == "reinforced") //I cant believe someone would actually write this line of code... + if(S.get_amount() < 1) return ..() + user << "Now finalising reinforced wall." + if(do_after(user, 50)) + if (S.use(1)) + user << "Wall fully reinforced!" + var/turf/Tsrc = get_turf(src) + Tsrc.ChangeTurf(/turf/simulated/wall/r_wall) + for(var/turf/simulated/wall/r_wall/X in Tsrc.loc) + if(X) X.add_hiddenprint(usr) + del(src) + return + else + if(S.get_amount() < 1) return ..() + user << "Now reinforcing girders..." + if (do_after(user,60)) + if(S.use(1)) + user << "Girders reinforced!" + new/obj/structure/girder/reinforced( src.loc ) + del(src) + return + else if(istype(W, /obj/item/stack/sheet)) var/obj/item/stack/sheet/S = W - switch(S.type) - - if(/obj/item/stack/sheet/metal, /obj/item/stack/sheet/metal/cyborg) - if(!anchored) - if(S.use(2)) - user << "You create a false wall! Push on it to open or close the passage." - new /obj/structure/falsewall (src.loc) - del(src) - else - if(S.get_amount() < 2) return ..() - user << "Now adding plating..." - if (do_after(user,40)) - if (S.use(2)) - user << "You added the plating!" - var/turf/Tsrc = get_turf(src) - Tsrc.ChangeTurf(/turf/simulated/wall) - for(var/turf/simulated/wall/X in Tsrc.loc) - if(X) X.add_hiddenprint(usr) - del(src) - return - - if(/obj/item/stack/sheet/plasteel, /obj/item/stack/sheet/plasteel/cyborg) - if(!anchored) - if(S.use(2)) - user << "\blue You create a false wall! Push on it to open or close the passage." - new /obj/structure/falserwall (src.loc) - del(src) - else - if (src.icon_state == "reinforced") //I cant believe someone would actually write this line of code... - if(S.get_amount() < 1) return ..() - user << "Now finalising reinforced wall." - if(do_after(user, 50)) - if (S.use(1)) - user << "Wall fully reinforced!" - var/turf/Tsrc = get_turf(src) - Tsrc.ChangeTurf(/turf/simulated/wall/r_wall) - for(var/turf/simulated/wall/r_wall/X in Tsrc.loc) - if(X) X.add_hiddenprint(usr) - del(src) - return - else - if(S.get_amount() < 1) return ..() - user << "Now reinforcing girders..." - if (do_after(user,60)) - if(S.use(1)) - user << "Girders reinforced!" - new/obj/structure/girder/reinforced( src.loc ) - del(src) - return - - if(S.sheettype) - var/M = S.sheettype - // Ugly hack, will suffice for now. Need to fix it upstream as well, may rewrite mineral walls. ~Z - if(M in list("mhydrogen","osmium","tritium","platinum","iron")) - user << "You cannot plate the girder in that material." - return - if(!anchored) - if(S.amount < 2) return - S.use(2) - user << "\blue You create a false wall! Push on it to open or close the passage." - var/F = text2path("/obj/structure/falsewall/[M]") - new F (src.loc) - del(src) - else - if(S.amount < 2) return ..() - user << "\blue Now adding plating..." - if (do_after(user,40)) - if(!src || !S || S.amount < 2) return - S.use(2) - user << "\blue You added the plating!" - var/turf/Tsrc = get_turf(src) - Tsrc.ChangeTurf(text2path("/turf/simulated/wall/mineral/[M]")) - for(var/turf/simulated/wall/mineral/X in Tsrc.loc) - if(X) X.add_hiddenprint(usr) - del(src) - return - + var/material/M = name_to_mineral[S.sheettype] add_hiddenprint(usr) + if(!anchored) + if(!istype(M) || !M.walltype_false) + user << "You cannot make a false wall using this material." + return + if(S.use(2)) + user << "You create a false wall! Push on it to open or close the passage." + new M.walltype_false (src.loc) + del(src) + else + if(!istype(M) || !M.walltype_solid) + user << "You cannot plate a wall in this material." + return + if(S.get_amount() < 2) + return ..() + user << "Now adding plating..." + if (do_after(user,40)) + if (S.use(2)) + user << "You added the plating!" + var/turf/Tsrc = get_turf(src) + Tsrc.ChangeTurf(M.walltype_solid) + for(var/turf/simulated/wall/X in Tsrc.loc) + if(X) + X.add_hiddenprint(usr) + del(src) + return + else if(istype(W, /obj/item/pipe)) var/obj/item/pipe/P = W if (P.pipe_type in list(0, 1, 5)) //simple pipes, simple bends, and simple manifolds. diff --git a/code/game/objects/structures/mineral_doors.dm b/code/game/objects/structures/mineral_doors.dm index 8ce25ddb67..abc9c2150a 100644 --- a/code/game/objects/structures/mineral_doors.dm +++ b/code/game/objects/structures/mineral_doors.dm @@ -10,7 +10,7 @@ icon = 'icons/obj/doors/mineral_doors.dmi' icon_state = "metal" - var/mineralType = "metal" + var/mineralType = "steel" var/state = 0 //closed, 1 == open var/isSwitchingStates = 0 var/hardness = 1 @@ -119,24 +119,10 @@ Dismantle(1) proc/Dismantle(devastated = 0) - if(!devastated) - if (mineralType == "metal") - var/ore = /obj/item/stack/sheet/metal - for(var/i = 1, i <= oreAmount, i++) - new ore(get_turf(src)) - else - var/ore = text2path("/obj/item/stack/sheet/mineral/[mineralType]") - for(var/i = 1, i <= oreAmount, i++) - new ore(get_turf(src)) - else - if (mineralType == "metal") - var/ore = /obj/item/stack/sheet/metal - for(var/i = 3, i <= oreAmount, i++) - new ore(get_turf(src)) - else - var/ore = text2path("/obj/item/stack/sheet/mineral/[mineralType]") - for(var/i = 3, i <= oreAmount, i++) - new ore(get_turf(src)) + var/material/M = name_to_mineral[mineralType] + if(istype(M)) + for(var/i = (devastated? 1 : 3), i <= oreAmount, i++) + new M.stack_type(get_turf(src)) del(src) ex_act(severity = 1) @@ -155,7 +141,7 @@ return /obj/structure/mineral_door/iron - mineralType = "metal" + mineralType = "iron" hardness = 3 /obj/structure/mineral_door/silver diff --git a/code/game/smoothwall.dm b/code/game/smoothwall.dm index 907b2f6758..7692ea8e50 100644 --- a/code/game/smoothwall.dm +++ b/code/game/smoothwall.dm @@ -126,15 +126,15 @@ for(var/turf/simulated/wall/W in orange(src,1)) if(abs(src.x-W.x)-abs(src.y-W.y)) //doesn't count diagonal walls - if(src.mineral == W.mineral)//Only 'like' walls connect -Sieve + if(mineral == W.mineral)//Only 'like' walls connect -Sieve junction |= get_dir(src,W) for(var/obj/structure/falsewall/W in orange(src,1)) if(abs(src.x-W.x)-abs(src.y-W.y)) //doesn't count diagonal walls - if(src.mineral == W.mineral) + if(mineral == W.mineral) junction |= get_dir(src,W) for(var/obj/structure/falserwall/W in orange(src,1)) if(abs(src.x-W.x)-abs(src.y-W.y)) //doesn't count diagonal walls - if(src.mineral == W.mineral) + if(mineral == W.mineral) junction |= get_dir(src,W) var/turf/simulated/wall/wall = src wall.icon_state = "[wall.walltype][junction]" diff --git a/code/game/turfs/simulated/floor.dm b/code/game/turfs/simulated/floor.dm index 07b68a329a..d34601fafd 100644 --- a/code/game/turfs/simulated/floor.dm +++ b/code/game/turfs/simulated/floor.dm @@ -41,7 +41,7 @@ var/list/wood_icons = list("wood","wood-broken") var/lava = 0 var/broken = 0 var/burnt = 0 - var/mineral = "metal" + var/mineral = "steel" var/floor_type = /obj/item/stack/tile/plasteel var/lightfloor_state // for light floors, this is the state of the tile. 0-7, 0x4 is on-bit - use the helper procs below diff --git a/code/game/turfs/simulated/walls.dm b/code/game/turfs/simulated/walls.dm index e19fadf863..8fdd9036a7 100644 --- a/code/game/turfs/simulated/walls.dm +++ b/code/game/turfs/simulated/walls.dm @@ -2,7 +2,7 @@ name = "wall" desc = "A huge chunk of metal used to seperate rooms." icon = 'icons/turf/walls.dmi' - var/mineral = "metal" + var/mineral = "steel" var/rotting = 0 var/damage = 0 @@ -20,7 +20,7 @@ thermal_conductivity = WALL_HEAT_TRANSFER_COEFFICIENT heat_capacity = 312500 //a little over 5 cm thick , 312500 for 1 m by 2.5 m by 0.25 m plasteel wall - var/walltype = "metal" + var/walltype = "steel" /turf/simulated/wall/bullet_act(var/obj/item/projectile/Proj) @@ -107,7 +107,8 @@ //Damage /turf/simulated/wall/melt() - if(mineral == "diamond") + + if(!can_melt()) return src.ChangeTurf(/turf/simulated/floor/plating) @@ -167,23 +168,13 @@ if(!devastated) playsound(src, 'sound/items/Welder.ogg', 100, 1) new /obj/structure/girder(src) - if (mineral == "metal") - new /obj/item/stack/sheet/metal( src ) - new /obj/item/stack/sheet/metal( src ) + var/material/M = name_to_mineral[mineral] + if(istype(M) && M.stack_type) + for(var/x=1;x<(devastated?2:3);x++) + new M.stack_type(src) else - var/M = text2path("/obj/item/stack/sheet/mineral/[mineral]") - new M( src ) - new M( src ) - else - if (mineral == "metal") - new /obj/item/stack/sheet/metal( src ) - new /obj/item/stack/sheet/metal( src ) - new /obj/item/stack/sheet/metal( src ) - else - var/M = text2path("/obj/item/stack/sheet/mineral/[mineral]") - new M( src ) - new M( src ) - new /obj/item/stack/sheet/metal( src ) + for(var/x=1;x<(devastated?2:3);x++) + new /obj/item/stack/sheet/metal(src) for(var/obj/O in src.contents) //Eject contents! if(istype(O,/obj/structure/sign/poster)) @@ -231,8 +222,15 @@ O.layer = 5 O.mouse_opacity = 0 + +/turf/simulated/wall/proc/can_melt() + var/material/M = name_to_mineral[mineral] + if(istype(M) && M.unmeltable) + return 0 + return 1 + /turf/simulated/wall/proc/thermitemelt(mob/user as mob) - if(mineral == "diamond") + if(!can_melt()) return var/obj/effect/overlay/O = new/obj/effect/overlay( src ) O.name = "Thermite" @@ -359,6 +357,11 @@ var/turf/T = user.loc //get user's location for delay checks + var/cut_delay = 60 + var/material/M = name_to_mineral[mineral] + if(istype(M)) + cut_delay -= M.cut_delay + //DECONSTRUCTION if( istype(W, /obj/item/weapon/weldingtool) ) @@ -392,40 +395,24 @@ user << "You need more welding fuel to complete this task." return - else if( istype(W, /obj/item/weapon/pickaxe/plasmacutter) ) + else if( istype(W, /obj/item/weapon/pickaxe) ) - user << "You begin slicing through the outer plating." - playsound(src, 'sound/items/Welder.ogg', 100, 1) + var/obj/item/weapon/pickaxe/P = W + user << "You begin [P.drill_verb] through the outer plating." + if(P.drill_sound) + playsound(src, P.drill_sound, 100, 1) - var/delay = 60 - if(mineral == "diamond") - delay += 60 + cut_delay -= P.digspeed + if(cut_delay<0) + cut_delay = 0 - if(!do_after(user,delay)) + if(!do_after(user,cut_delay)) return user << "You remove the outer plating." dismantle_wall() for(var/mob/O in viewers(user, 5)) - O.show_message("The wall was sliced apart by [user]!", 1, "You hear metal being sliced apart.", 2) - return - - //DRILLING - else if (istype(W, /obj/item/weapon/pickaxe/diamonddrill)) - - user << "You begin to drill though the wall." - - var/delay = 60 - if(mineral == "diamond") - delay += 60 - - if(!do_after(user,delay)) - return - - user << "Your drill tears though the last of the reinforced plating." - dismantle_wall() - for(var/mob/O in viewers(user, 5)) - O.show_message("The wall was drilled through by [user]!", 1, "You hear the grinding of metal.", 2) + O.show_message("The wall was torn open by [user]!", 1, "You hear metal being sliced apart.", 2) return else if( istype(W, /obj/item/weapon/melee/energy/blade) ) @@ -435,9 +422,9 @@ user << "You stab \the [EB] into the wall and begin to slice it apart." playsound(src, "sparks", 50, 1) - sleep(70) - if(mineral == "diamond") - sleep(70) + if(!do_after(user,cut_delay)) + return + if( !istype(src, /turf/simulated/wall) || !user || !EB || !T ) return if( user.loc == T && user.get_active_hand() == W ) diff --git a/code/game/turfs/simulated/walls_mineral.dm b/code/game/turfs/simulated/walls_mineral.dm index 5585de31d8..32ecc15225 100644 --- a/code/game/turfs/simulated/walls_mineral.dm +++ b/code/game/turfs/simulated/walls_mineral.dm @@ -10,39 +10,30 @@ desc = "A wall with gold plating. Swag!" icon_state = "gold0" walltype = "gold" - mineral = "gold" - //var/electro = 1 - //var/shocked = null /turf/simulated/wall/mineral/silver name = "silver wall" desc = "A wall with silver plating. Shiny!" icon_state = "silver0" walltype = "silver" - mineral = "silver" - //var/electro = 0.75 - //var/shocked = null /turf/simulated/wall/mineral/diamond name = "diamond wall" desc = "A wall with diamond plating. You monster." icon_state = "diamond0" walltype = "diamond" - mineral = "diamond" /turf/simulated/wall/mineral/sandstone name = "sandstone wall" desc = "A wall with sandstone plating." icon_state = "sandstone0" walltype = "sandstone" - mineral = "sandstone" /turf/simulated/wall/mineral/uranium name = "uranium wall" desc = "A wall with uranium plating. This is probably a bad idea." icon_state = "uranium0" walltype = "uranium" - mineral = "uranium" /turf/simulated/wall/mineral/uranium/proc/radiate() if(!active) diff --git a/code/modules/assembly/assembly.dm b/code/modules/assembly/assembly.dm index ca4717307a..1d0fdf00d9 100644 --- a/code/modules/assembly/assembly.dm +++ b/code/modules/assembly/assembly.dm @@ -5,7 +5,7 @@ icon_state = "" flags = CONDUCT w_class = 2.0 - matter = list("metal" = 100) + matter = list("steel" = 100) throwforce = 2 throw_speed = 3 throw_range = 10 diff --git a/code/modules/assembly/igniter.dm b/code/modules/assembly/igniter.dm index ece2f08219..fb6d02c123 100644 --- a/code/modules/assembly/igniter.dm +++ b/code/modules/assembly/igniter.dm @@ -2,7 +2,7 @@ name = "igniter" desc = "A small electronic device able to ignite combustable substances." icon_state = "igniter" - matter = list("metal" = 500, "glass" = 50, "waste" = 10) + matter = list("steel" = 500, "glass" = 50, "waste" = 10) origin_tech = "magnets=1" secured = 1 diff --git a/code/modules/assembly/infrared.dm b/code/modules/assembly/infrared.dm index 79e3cf8637..2a427ff433 100644 --- a/code/modules/assembly/infrared.dm +++ b/code/modules/assembly/infrared.dm @@ -4,7 +4,7 @@ name = "infrared emitter" desc = "Emits a visible or invisible beam and is triggered when the beam is interrupted." icon_state = "infrared" - matter = list("metal" = 1000, "glass" = 500, "waste" = 100) + matter = list("steel" = 1000, "glass" = 500, "waste" = 100) origin_tech = "magnets=2" wires = WIRE_PULSE diff --git a/code/modules/assembly/mousetrap.dm b/code/modules/assembly/mousetrap.dm index 676ee17cd1..9753ba124f 100644 --- a/code/modules/assembly/mousetrap.dm +++ b/code/modules/assembly/mousetrap.dm @@ -2,7 +2,7 @@ name = "mousetrap" desc = "A handy little spring-loaded trap for catching pesty rodents." icon_state = "mousetrap" - matter = list("metal" = 100, "waste" = 10) + matter = list("steel" = 100, "waste" = 10) origin_tech = "combat=1" var/armed = 0 diff --git a/code/modules/assembly/proximity.dm b/code/modules/assembly/proximity.dm index 06923f8458..998e122e55 100644 --- a/code/modules/assembly/proximity.dm +++ b/code/modules/assembly/proximity.dm @@ -2,7 +2,7 @@ name = "proximity sensor" desc = "Used for scanning and alerting when someone enters a certain proximity." icon_state = "prox" - matter = list("metal" = 800, "glass" = 200, "waste" = 50) + matter = list("steel" = 800, "glass" = 200, "waste" = 50) origin_tech = "magnets=1" wires = WIRE_PULSE diff --git a/code/modules/assembly/signaler.dm b/code/modules/assembly/signaler.dm index ba70b45da4..7f1efd5566 100644 --- a/code/modules/assembly/signaler.dm +++ b/code/modules/assembly/signaler.dm @@ -3,7 +3,7 @@ desc = "Used to remotely activate devices." icon_state = "signaller" item_state = "signaler" - matter = list("metal" = 1000, "glass" = 200, "waste" = 100) + matter = list("steel" = 1000, "glass" = 200, "waste" = 100) origin_tech = "magnets=1" wires = WIRE_RECEIVE | WIRE_PULSE | WIRE_RADIO_PULSE | WIRE_RADIO_RECEIVE diff --git a/code/modules/assembly/timer.dm b/code/modules/assembly/timer.dm index 326d36195f..b6f48d1f0f 100644 --- a/code/modules/assembly/timer.dm +++ b/code/modules/assembly/timer.dm @@ -2,7 +2,7 @@ name = "timer" desc = "Used to time things. Works well with contraptions which has to count down. Tick tock." icon_state = "timer" - matter = list("metal" = 500, "glass" = 50, "waste" = 10) + matter = list("steel" = 500, "glass" = 50, "waste" = 10) origin_tech = "magnets=1" wires = WIRE_PULSE diff --git a/code/modules/assembly/voice.dm b/code/modules/assembly/voice.dm index b9c3eb88de..586f4098db 100644 --- a/code/modules/assembly/voice.dm +++ b/code/modules/assembly/voice.dm @@ -2,7 +2,7 @@ name = "voice analyzer" desc = "A small electronic device able to record a voice sample, and send a signal when that sample is repeated." icon_state = "voice" - matter = list("metal" = 500, "glass" = 50, "waste" = 10) + matter = list("steel" = 500, "glass" = 50, "waste" = 10) origin_tech = "magnets=1" var/listening = 0 var/recorded //the activation message diff --git a/code/modules/clothing/glasses/glasses.dm b/code/modules/clothing/glasses/glasses.dm index 97eb175277..f033f1e378 100644 --- a/code/modules/clothing/glasses/glasses.dm +++ b/code/modules/clothing/glasses/glasses.dm @@ -270,3 +270,62 @@ desc = "A set of implantable lenses designed to augment your vision" icon_state = "thermalimplants" item_state = "syringe_kit" + +/obj/item/clothing/glasses/minerals + name = "resonance scanners" + desc = "A set of goggles geared towards detecting different concentrations of minerals." + icon_state = "material" + item_state = "glasses" + icon_action_button = "action_material" + toggleable = 1 + active = 0 + + var/mob/living/carbon/human/wearer + var/list/ore_nodes = list() + +/obj/item/clothing/glasses/minerals/New() + ..() + if(!active) + icon_state = off_state + processing_objects |= src + +/obj/item/clothing/glasses/minerals/Del() + processing_objects -= src + ..() + +/obj/item/clothing/glasses/minerals/equipped(var/mob/living/carbon/human/M) + ..() + remove_ore_images() + wearer = null + if(istype(M) && M.glasses == src) + wearer = M + +/obj/item/clothing/glasses/minerals/dropped() + ..() + remove_ore_images() + wearer = null + +/obj/item/clothing/glasses/minerals/process() + remove_ore_images() + if(active) + if(!wearer || wearer.glasses != src) + return + for(var/obj/effect/mineral/M in range(wearer,6)) + // Maybe make a cache for this so multiple miners aren't spawning copies. + ore_nodes += M.scanner_image + if(ore_nodes.len && wearer.client) + wearer.client.images |= ore_nodes + +/obj/item/clothing/glasses/minerals/proc/remove_ore_images() + if(!ore_nodes) + ore_nodes = list() + if(ore_nodes.len) + if(wearer && wearer.client) + for(var/image/I in ore_nodes) + wearer.client.images -= I + del(I) + ore_nodes.Cut() + +/obj/item/clothing/glasses/minerals/dropped() + remove_ore_images() + wearer = null \ No newline at end of file diff --git a/code/modules/clothing/head/misc_special.dm b/code/modules/clothing/head/misc_special.dm index 5eb7e0c65b..0255f4351b 100644 --- a/code/modules/clothing/head/misc_special.dm +++ b/code/modules/clothing/head/misc_special.dm @@ -17,7 +17,7 @@ icon_state = "welding" flags = HEADCOVERSEYES | HEADCOVERSMOUTH item_state = "welding" - matter = list("metal" = 3000, "glass" = 1000) + matter = list("steel" = 3000, "glass" = 1000) var/up = 0 armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) flags_inv = (HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE) diff --git a/code/modules/clothing/spacesuits/rig/modules/modules.dm b/code/modules/clothing/spacesuits/rig/modules/modules.dm index ac9a80b07a..bba895039c 100644 --- a/code/modules/clothing/spacesuits/rig/modules/modules.dm +++ b/code/modules/clothing/spacesuits/rig/modules/modules.dm @@ -13,7 +13,7 @@ desc = "It looks pretty sciency." icon = 'icons/obj/rig_modules.dmi' icon_state = "module" - matter = list("metal" = 20000, "plastic" = 30000, "glass" = 5000) + matter = list("steel" = 20000, "plastic" = 30000, "glass" = 5000) var/damage = 0 var/obj/item/weapon/rig/holder diff --git a/code/modules/hydroponics/trays/tray_reagents.dm b/code/modules/hydroponics/trays/tray_reagents.dm index 3dad0adc45..31eed72da0 100644 --- a/code/modules/hydroponics/trays/tray_reagents.dm +++ b/code/modules/hydroponics/trays/tray_reagents.dm @@ -58,7 +58,7 @@ force = 5.0 throwforce = 7.0 w_class = 2.0 - matter = list("metal" = 50) + matter = list("steel" = 50) attack_verb = list("slashed", "sliced", "cut", "clawed") diff --git a/code/modules/hydroponics/trays/tray_tools.dm b/code/modules/hydroponics/trays/tray_tools.dm index 10f5961da7..bf5b3d4b1d 100644 --- a/code/modules/hydroponics/trays/tray_tools.dm +++ b/code/modules/hydroponics/trays/tray_tools.dm @@ -215,7 +215,7 @@ force = 5.0 throwforce = 7.0 w_class = 2.0 - matter = list("metal" = 50) + matter = list("steel" = 50) attack_verb = list("slashed", "sliced", "cut", "clawed") //Hatchets and things to kill kudzu @@ -232,7 +232,7 @@ throw_range = 4 sharp = 1 edge = 1 - matter = list("metal" = 15000) + matter = list("steel" = 15000) origin_tech = "materials=2;combat=1" attack_verb = list("chopped", "torn", "cut") diff --git a/code/modules/mining/drilling/scanner.dm b/code/modules/mining/drilling/scanner.dm index 510172d795..5a948e7b6f 100644 --- a/code/modules/mining/drilling/scanner.dm +++ b/code/modules/mining/drilling/scanner.dm @@ -4,7 +4,7 @@ icon = 'icons/obj/device.dmi' icon_state = "forensic0-old" //GET A BETTER SPRITE. item_state = "electronic" - matter = list("metal" = 150) + matter = list("steel" = 150) origin_tech = "magnets=1;engineering=1" /obj/item/weapon/mining_scanner/attack_self(mob/user as mob) diff --git a/code/modules/mining/machine_processing.dm b/code/modules/mining/machine_processing.dm index ee043b1441..86a58dcfcc 100644 --- a/code/modules/mining/machine_processing.dm +++ b/code/modules/mining/machine_processing.dm @@ -111,7 +111,6 @@ var/sheets_per_tick = 10 var/list/ores_processing[0] var/list/ores_stored[0] - var/list/ore_data[0] var/list/alloy_data[0] var/active = 0 @@ -123,11 +122,12 @@ for(var/alloytype in typesof(/datum/alloy)-/datum/alloy) alloy_data += new alloytype() - for(var/oretype in typesof(/datum/ore)-/datum/ore) - var/datum/ore/OD = new oretype() - ore_data[OD.oretag] = OD - ores_processing[OD.oretag] = 0 - ores_stored[OD.oretag] = 0 + if(!ore_data || !ore_data.len) + for(var/oretype in typesof(/ore)-/ore) + var/ore/OD = new oretype() + ore_data[OD.name] = OD + ores_processing[OD.name] = 0 + ores_stored[OD.name] = 0 //Locate our output and input machinery. spawn(5) @@ -150,7 +150,7 @@ for(var/i = 0,i 0 && ores_processing[metal] != 0) - var/datum/ore/O = ore_data[metal] + var/ore/O = ore_data[metal] if(!O) continue @@ -206,24 +206,28 @@ var/can_make = Clamp(ores_stored[metal],0,sheets_per_tick-sheets) if(can_make%2>0) can_make-- - if(!can_make || ores_stored[metal] < 1) + var/material/M = name_to_mineral[O.compresses_to] + + if(!istype(M) || !can_make || ores_stored[metal] < 1) continue for(var/i=0,iChoose") dat += text("
Iron inserted: [amt_iron] ") - if (chosen == "metal") + if (chosen == "steel") dat += text("chosen") else dat += text("Choose") @@ -133,7 +133,7 @@ icon_state = "coinpress1" var/obj/item/weapon/moneybag/M switch(chosen) - if("metal") + if("steel") while(amt_iron > 0 && coinsToProduce > 0) if (locate(/obj/item/weapon/moneybag,output.loc)) M = locate(/obj/item/weapon/moneybag,output.loc) diff --git a/code/modules/mining/ore.dm b/code/modules/mining/ore.dm index 30385d49a5..2c2ac1b1d3 100644 --- a/code/modules/mining/ore.dm +++ b/code/modules/mining/ore.dm @@ -4,71 +4,71 @@ icon_state = "ore2" w_class = 2 var/datum/geosample/geologic_data - var/oretag + var/mineral /obj/item/weapon/ore/uranium name = "pitchblende" - icon_state = "Uranium ore" + icon_state = "ore_uranium" origin_tech = "materials=5" - oretag = "uranium" + mineral = "uranium" /obj/item/weapon/ore/iron name = "hematite" - icon_state = "Iron ore" + icon_state = "ore_iron" origin_tech = "materials=1" - oretag = "hematite" + mineral = "hematite" /obj/item/weapon/ore/coal name = "carbonaceous rock" - icon_state = "Coal ore" + icon_state = "ore_coal" origin_tech = "materials=1" - oretag = "coal" + mineral = "coal" /obj/item/weapon/ore/glass name = "impure silicates" - icon_state = "Glass ore" + icon_state = "ore_glass" origin_tech = "materials=1" - oretag = "sand" + mineral = "sand" /obj/item/weapon/ore/phoron name = "phoron crystals" - icon_state = "Phoron ore" + icon_state = "ore_phoron" origin_tech = "materials=2" - oretag = "phoron" + mineral = "phoron" /obj/item/weapon/ore/silver name = "native silver ore" - icon_state = "Silver ore" + icon_state = "ore_silver" origin_tech = "materials=3" - oretag = "silver" + mineral = "silver" /obj/item/weapon/ore/gold name = "native gold ore" - icon_state = "Gold ore" + icon_state = "ore_gold" origin_tech = "materials=4" - oretag = "gold" + mineral = "gold" /obj/item/weapon/ore/diamond name = "diamonds" - icon_state = "Diamond ore" + icon_state = "ore_diamond" origin_tech = "materials=6" - oretag = "diamond" + mineral = "diamond" /obj/item/weapon/ore/osmium name = "raw platinum" - icon_state = "Platinum ore" - oretag = "platinum" + icon_state = "ore_platinum" + mineral = "platinum" /obj/item/weapon/ore/hydrogen name = "raw hydrogen" - icon_state = "Phazon" - oretag = "hydrogen" + icon_state = "ore_hydrogen" + mineral = "mhydrogen" /obj/item/weapon/ore/slag name = "Slag" - desc = "Completely useless" + desc = "Someone screwed up..." icon_state = "slag" - oretag = "slag" + mineral = "slag" /obj/item/weapon/ore/New() pixel_x = rand(0,16)-8 diff --git a/code/modules/mining/ore_datum.dm b/code/modules/mining/ore_datum.dm index b3689d3abb..e662eb913e 100644 --- a/code/modules/mining/ore_datum.dm +++ b/code/modules/mining/ore_datum.dm @@ -1,52 +1,133 @@ -/datum/ore - var/oretag +var/global/list/ore_data = list() + +/ore + var/name + var/display_name var/alloy var/smelts_to var/compresses_to + var/result_amount // How much ore? + var/spread = 1 // Does this type of deposit spread? + var/spread_chance // Chance of spreading in any direction + var/ore // Path to the ore produced when tile is mined. + var/scan_icon // Overlay for ore scanners. + // Xenoarch stuff. No idea what it's for, just refactored it to be less awful. + var/list/xarch_ages = list( + "thousand" = 999, + "million" = 999 + ) + var/xarch_source_mineral = "iron" -/datum/ore/uranium - smelts_to = /obj/item/stack/sheet/mineral/uranium - oretag = "uranium" +/ore/New() + . = ..() + if(!display_name) + display_name = name -/datum/ore/iron - smelts_to = /obj/item/stack/sheet/mineral/iron +/ore/uranium + name = "uranium" + display_name = "pitchblende" + smelts_to = "uranium" + result_amount = 5 + spread_chance = 10 + ore = /obj/item/weapon/ore/uranium + scan_icon = "mineral_uncommon" + xarch_ages = list( + "thousand" = 999, + "million" = 704 + ) + xarch_source_mineral = "potassium" + +/ore/hematite + name = "iron" + display_name = "hematite" + smelts_to = "iron" alloy = 1 - oretag = "hematite" + result_amount = 5 + spread_chance = 25 + ore = /obj/item/weapon/ore/iron + scan_icon = "mineral_common" -/datum/ore/coal - smelts_to = /obj/item/stack/sheet/mineral/plastic +/ore/coal + name = "coal" + display_name = "carbonaceous rock" + smelts_to = "plastic" alloy = 1 - oretag = "coal" + result_amount = 5 + spread_chance = 25 + ore = /obj/item/weapon/ore/coal + scan_icon = "mineral_common" -/datum/ore/glass - smelts_to = /obj/item/stack/sheet/glass - compresses_to = /obj/item/stack/sheet/mineral/sandstone - oretag = "sand" +/ore/glass + name = "sand" + display_name = "impure silicates" + smelts_to = "glass" + compresses_to = "sandstone" -/datum/ore/phoron +/ore/phoron + name = "phoron" + display_name = "phoron crystals" + compresses_to = "phoron" //smelts_to = something that explodes violently on the conveyor, huhuhuhu - compresses_to = /obj/item/stack/sheet/mineral/phoron - oretag = "phoron" + result_amount = 5 + spread_chance = 25 + ore = /obj/item/weapon/ore/phoron + scan_icon = "mineral_uncommon" + xarch_ages = list( + "thousand" = 999, + "million" = 999, + "billion" = 13, + "billion_lower" = 10 + ) + xarch_source_mineral = "phoron" -/datum/ore/silver - smelts_to = /obj/item/stack/sheet/mineral/silver - oretag = "silver" +/ore/silver + name = "silver" + display_name = "native silver" + smelts_to = "silver" + result_amount = 5 + spread_chance = 10 + ore = /obj/item/weapon/ore/silver + scan_icon = "mineral_uncommon" -/datum/ore/gold - smelts_to = /obj/item/stack/sheet/mineral/gold - oretag = "gold" +/ore/gold + smelts_to = "gold" + name = "gold" + display_name = "native gold" + result_amount = 5 + spread_chance = 10 + ore = /obj/item/weapon/ore/gold + scan_icon = "mineral_uncommon" + xarch_ages = list( + "thousand" = 999, + "million" = 999, + "billion" = 4, + "billion_lower" = 3 + ) -/datum/ore/diamond - compresses_to = /obj/item/stack/sheet/mineral/diamond - oretag = "diamond" +/ore/diamond + name = "diamonds" + display_name = "diamond" + compresses_to = "diamond" + result_amount = 5 + spread_chance = 10 + ore = /obj/item/weapon/ore/diamond + scan_icon = "mineral_rare" + xarch_source_mineral = "nitrogen" -/datum/ore/osmium - smelts_to = /obj/item/stack/sheet/mineral/platinum - compresses_to = /obj/item/stack/sheet/mineral/osmium +/ore/platinum + name = "platinum" + display_name = "raw platinum" + smelts_to = "platinum" + compresses_to = "osmium" alloy = 1 - oretag = "platinum" + result_amount = 5 + spread_chance = 10 + ore = /obj/item/weapon/ore/osmium + scan_icon = "mineral_rare" -/datum/ore/hydrogen - smelts_to = /obj/item/stack/sheet/mineral/tritium - compresses_to = /obj/item/stack/sheet/mineral/mhydrogen - oretag = "hydrogen" +/ore/hydrogen + name = "mhydrogen" + display_name = "metallic hydrogen" + smelts_to = "tritium" + compresses_to = "mhydrogen" + scan_icon = "mineral_rare" \ No newline at end of file diff --git a/code/modules/mob/living/carbon/brain/MMI.dm b/code/modules/mob/living/carbon/brain/MMI.dm index 7b225da186..02f8abc133 100644 --- a/code/modules/mob/living/carbon/brain/MMI.dm +++ b/code/modules/mob/living/carbon/brain/MMI.dm @@ -25,7 +25,7 @@ w_class = 3 origin_tech = "biotech=3" - var/list/construction_cost = list("metal"=1000,"glass"=500) + var/list/construction_cost = list("steel"=1000,"glass"=500) var/construction_time = 75 //these vars are so the mecha fabricator doesn't shit itself anymore. --NEO diff --git a/code/modules/mob/living/carbon/brain/posibrain.dm b/code/modules/mob/living/carbon/brain/posibrain.dm index 08f2e34243..fe88356138 100644 --- a/code/modules/mob/living/carbon/brain/posibrain.dm +++ b/code/modules/mob/living/carbon/brain/posibrain.dm @@ -6,7 +6,7 @@ w_class = 3 origin_tech = "engineering=4;materials=4;bluespace=2;programming=4" - construction_cost = list("metal"=500,"glass"=500,"silver"=200,"gold"=200,"phoron"=100,"diamond"=10) + construction_cost = list("steel"=500,"glass"=500,"silver"=200,"gold"=200,"phoron"=100,"diamond"=10) construction_time = 75 var/searching = 0 var/askDelay = 10 * 60 * 1 diff --git a/code/modules/mob/living/silicon/robot/analyzer.dm b/code/modules/mob/living/silicon/robot/analyzer.dm index cb86e52302..8c1b3a42d7 100644 --- a/code/modules/mob/living/silicon/robot/analyzer.dm +++ b/code/modules/mob/living/silicon/robot/analyzer.dm @@ -12,7 +12,7 @@ w_class = 2.0 throw_speed = 5 throw_range = 10 - matter = list("metal" = 500, "glass" = 200) + matter = list("steel" = 500, "glass" = 200) origin_tech = "magnets=2;biotech=1;engineering=2" var/mode = 1; diff --git a/code/modules/mob/living/silicon/robot/component.dm b/code/modules/mob/living/silicon/robot/component.dm index b78deedf7a..1b03d8c7e3 100644 --- a/code/modules/mob/living/silicon/robot/component.dm +++ b/code/modules/mob/living/silicon/robot/component.dm @@ -218,7 +218,7 @@ icon = 'icons/obj/robot_component.dmi' icon_state = "working" construction_time = 200 - construction_cost = list("metal"=5000) + construction_cost = list("steel"=5000) var/brute = 0 var/burn = 0 var/icon_state_broken = "broken" diff --git a/code/modules/paperwork/pen.dm b/code/modules/paperwork/pen.dm index 3c3d07b36f..6e26db90e5 100644 --- a/code/modules/paperwork/pen.dm +++ b/code/modules/paperwork/pen.dm @@ -20,7 +20,7 @@ w_class = 1.0 throw_speed = 7 throw_range = 15 - matter = list("metal" = 10) + matter = list("steel" = 10) var/colour = "black" //what colour the ink is! pressure_resistance = 2 diff --git a/code/modules/paperwork/photography.dm b/code/modules/paperwork/photography.dm index 24a321ac87..0029fee7be 100644 --- a/code/modules/paperwork/photography.dm +++ b/code/modules/paperwork/photography.dm @@ -124,7 +124,7 @@ var/global/photo_count = 0 w_class = 2.0 flags = CONDUCT slot_flags = SLOT_BELT - matter = list("metal" = 2000) + matter = list("steel" = 2000) var/pictures_max = 10 var/pictures_left = 10 var/on = 1 diff --git a/code/modules/paperwork/stamps.dm b/code/modules/paperwork/stamps.dm index f2767ca0e8..1d8e20052e 100644 --- a/code/modules/paperwork/stamps.dm +++ b/code/modules/paperwork/stamps.dm @@ -8,7 +8,7 @@ w_class = 1.0 throw_speed = 7 throw_range = 15 - matter = list("metal" = 60) + matter = list("steel" = 60) item_color = "cargo" pressure_resistance = 2 attack_verb = list("stamped") diff --git a/code/modules/power/antimatter/shielding.dm b/code/modules/power/antimatter/shielding.dm index 5085fb6c85..045842a0e9 100644 --- a/code/modules/power/antimatter/shielding.dm +++ b/code/modules/power/antimatter/shielding.dm @@ -210,7 +210,7 @@ proc/cardinalrange(var/center) throwforce = 5 throw_speed = 1 throw_range = 2 - matter = list("metal" = 100, "waste" = 2000) + matter = list("steel" = 100, "waste" = 2000) /obj/item/device/am_shielding_container/attackby(var/obj/item/I, var/mob/user) if(istype(I, /obj/item/device/multitool) && istype(src.loc,/turf)) diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm index f652ebe9ec..b34035f0a4 100644 --- a/code/modules/power/cable.dm +++ b/code/modules/power/cable.dm @@ -476,7 +476,7 @@ obj/structure/cable/proc/cableColor(var/colorC) w_class = 2.0 throw_speed = 2 throw_range = 5 - matter = list("metal" = 50, "glass" = 20) + matter = list("steel" = 50, "glass" = 20) flags = CONDUCT slot_flags = SLOT_BELT item_state = "coil" diff --git a/code/modules/power/lighting.dm b/code/modules/power/lighting.dm index 14bdaa1644..901b841d16 100644 --- a/code/modules/power/lighting.dm +++ b/code/modules/power/lighting.dm @@ -643,7 +643,7 @@ var/status = 0 // LIGHT_OK, LIGHT_BURNED or LIGHT_BROKEN var/base_state var/switchcount = 0 // number of times switched - matter = list("metal" = 60) + matter = list("steel" = 60) var/rigged = 0 // true if rigged to explode var/brightness = 2 //how much light it gives off diff --git a/code/modules/projectiles/ammunition.dm b/code/modules/projectiles/ammunition.dm index 01f6a55044..32b7fcfec4 100644 --- a/code/modules/projectiles/ammunition.dm +++ b/code/modules/projectiles/ammunition.dm @@ -66,7 +66,7 @@ flags = CONDUCT slot_flags = SLOT_BELT item_state = "syringe_kit" - matter = list("metal" = 500) + matter = list("steel" = 500) throwforce = 5 w_class = 2 throw_speed = 4 diff --git a/code/modules/projectiles/ammunition/boxes.dm b/code/modules/projectiles/ammunition/boxes.dm index e25d8f39f1..d477ea66db 100644 --- a/code/modules/projectiles/ammunition/boxes.dm +++ b/code/modules/projectiles/ammunition/boxes.dm @@ -6,7 +6,7 @@ icon_state = "T38" caliber = "357" ammo_type = /obj/item/ammo_casing/a357 - matter = list("metal" = 1260) + matter = list("steel" = 1260) max_ammo = 7 multiple_sprites = 1 @@ -14,7 +14,7 @@ name = "speed loader (.38)" icon_state = "38" caliber = "38" - matter = list("metal" = 360) + matter = list("steel" = 360) ammo_type = /obj/item/ammo_casing/c38 max_ammo = 6 multiple_sprites = 1 @@ -28,7 +28,7 @@ icon_state = "45" mag_type = MAGAZINE ammo_type = /obj/item/ammo_casing/c45 - matter = list("metal" = 525) //metal costs are very roughly based around 1 .45 casing = 75 metal + matter = list("steel" = 525) //metal costs are very roughly based around 1 .45 casing = 75 metal caliber = ".45" max_ammo = 7 multiple_sprites = 1 @@ -49,7 +49,7 @@ icon_state = "9x19p" origin_tech = "combat=2" mag_type = MAGAZINE - matter = list("metal" = 600) + matter = list("steel" = 600) caliber = "9mm" ammo_type = /obj/item/ammo_casing/c9mm max_ammo = 10 @@ -65,7 +65,7 @@ name = "ammunition Box (9mm)" icon_state = "9mm" origin_tech = "combat=2" - matter = list("metal" = 1800) + matter = list("steel" = 1800) caliber = "9mm" ammo_type = /obj/item/ammo_casing/c9mm max_ammo = 30 @@ -78,7 +78,7 @@ icon_state = "9mmt" mag_type = MAGAZINE ammo_type = /obj/item/ammo_casing/c9mm - matter = list("metal" = 1200) + matter = list("steel" = 1200) caliber = "9mm" max_ammo = 20 multiple_sprites = 1 @@ -95,7 +95,7 @@ icon_state = "9mm" origin_tech = "combat=2" caliber = ".45" - matter = list("metal" = 2250) + matter = list("steel" = 2250) ammo_type = /obj/item/ammo_casing/c45 max_ammo = 30 @@ -108,7 +108,7 @@ origin_tech = "combat=2" mag_type = MAGAZINE caliber = "12mm" - matter = list("metal" = 1500) + matter = list("steel" = 1500) ammo_type = "/obj/item/ammo_casing/a12mm" max_ammo = 20 multiple_sprites = 1 @@ -122,7 +122,7 @@ origin_tech = "combat=2" mag_type = MAGAZINE caliber = "a556" - matter = list("metal" = 1800) + matter = list("steel" = 1800) ammo_type = /obj/item/ammo_casing/a556 max_ammo = 10 multiple_sprites = 1 @@ -136,7 +136,7 @@ origin_tech = "combat=2" mag_type = MAGAZINE caliber = ".50" - matter = list("metal" = 1260) + matter = list("steel" = 1260) ammo_type = /obj/item/ammo_casing/a50 max_ammo = 7 multiple_sprites = 1 @@ -162,7 +162,7 @@ origin_tech = "combat=2" mag_type = MAGAZINE caliber = "a762" - matter = list("metal" = 4500) + matter = list("steel" = 4500) ammo_type = /obj/item/ammo_casing/a762 max_ammo = 50 multiple_sprites = 1 @@ -175,7 +175,7 @@ icon_state = "c762" mag_type = MAGAZINE caliber = "a762" - matter = list("metal" = 1800) + matter = list("steel" = 1800) ammo_type = /obj/item/ammo_casing/a762 max_ammo = 20 multiple_sprites = 1 diff --git a/code/modules/projectiles/ammunition/bullets.dm b/code/modules/projectiles/ammunition/bullets.dm index 931555381a..989604cd29 100644 --- a/code/modules/projectiles/ammunition/bullets.dm +++ b/code/modules/projectiles/ammunition/bullets.dm @@ -66,28 +66,28 @@ icon_state = "slshell" caliber = "shotgun" projectile_type = /obj/item/projectile/bullet/shotgun - matter = list("metal" = 360) + matter = list("steel" = 360) /obj/item/ammo_casing/shotgun/pellet name = "shotgun shell" desc = "A 12 gauge shell." icon_state = "gshell" projectile_type = /obj/item/projectile/bullet/pellet/shotgun - matter = list("metal" = 360) + matter = list("steel" = 360) /obj/item/ammo_casing/shotgun/blank name = "shotgun shell" desc = "A blank shell." icon_state = "blshell" projectile_type = /obj/item/projectile/bullet/blank - matter = list("metal" = 90) + matter = list("steel" = 90) /obj/item/ammo_casing/shotgun/beanbag name = "beanbag shell" desc = "A beanbag shell." icon_state = "bshell" projectile_type = /obj/item/projectile/bullet/shotgun/beanbag - matter = list("metal" = 180) + matter = list("steel" = 180) //Can stun in one hit if aimed at the head, but //is blocked by clothing that stops tasers and is vulnerable to EMP @@ -97,7 +97,7 @@ icon_state = "stunshell" spent_icon = "stunshell-spent" projectile_type = /obj/item/projectile/energy/electrode/stunshot - matter = list("metal" = 360, "glass" = 720) + matter = list("steel" = 360, "glass" = 720) /obj/item/ammo_casing/shotgun/stunshell/emp_act(severity) if(prob(100/severity)) BB = null @@ -109,7 +109,7 @@ desc = "A chemical shell used to signal distress or provide illumination." icon_state = "fshell" projectile_type = /obj/item/projectile/energy/flash/flare - matter = list("metal" = 90, "glass" = 90) + matter = list("steel" = 90, "glass" = 90) /obj/item/ammo_casing/a762 desc = "A 7.62mm bullet casing." @@ -123,7 +123,7 @@ spent_icon = "lcasing-spent" caliber = "14.5mm" projectile_type = /obj/item/projectile/bullet/rifle/a145 - matter = list("metal" = 1250) + matter = list("steel" = 1250) /obj/item/ammo_casing/a556 desc = "A 5.56mm bullet casing." diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index 77693417df..beeee00f0f 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -11,7 +11,7 @@ item_state = "gun" flags = CONDUCT slot_flags = SLOT_BELT|SLOT_HOLSTER - matter = list("metal" = 2000) + matter = list("steel" = 2000) w_class = 3 throwforce = 5 throw_speed = 4 @@ -30,7 +30,7 @@ var/scoped_accuracy = null var/last_fired = 0 - + //aiming system stuff var/keep_aim = 1 //1 for keep shooting until aim is lowered //0 for one bullet after tarrget moves and aim is lowered @@ -61,9 +61,9 @@ return 0 if(!user.IsAdvancedToolUser()) return 0 - + var/mob/living/M = user - + if(HULK in M.mutations) M << "Your fingers are much too large for the trigger guard!" return 0 @@ -73,7 +73,7 @@ if(process_projectile(P, user, user, pick("l_foot", "r_foot"))) handle_post_fire(user, user) user.visible_message( - "[user] shoots \himself in the foot with \the [src]!", + "[user] shoots \himself in the foot with \the [src]!", "You shoot yourself in the foot with \the [src]!" ) M.drop_item() @@ -149,7 +149,7 @@ /obj/item/weapon/gun/proc/can_hit(atom/target as mob, var/mob/living/user as mob) if(!special_check(user)) return 2 - //just assume we can shoot through glass and stuff. No big deal, the player can just choose to not target someone + //just assume we can shoot through glass and stuff. No big deal, the player can just choose to not target someone //on the other side of a window if it makes a difference. Or if they run behind a window, too bad. return check_trajectory(target, user) @@ -167,7 +167,7 @@ playsound(user, fire_sound, 10, 1) else playsound(user, fire_sound, 50, 1) - + if(reflex) user.visible_message( "\The [user] fires \the [src][pointblank ? " point blank at \the [target]":""] by reflex!", @@ -180,7 +180,7 @@ "You fire \the [src]!", "You hear a [fire_sound_text]!" ) - + if(recoil) spawn() shake_camera(user, recoil+1, recoil) @@ -190,9 +190,9 @@ /obj/item/weapon/gun/proc/process_projectile(obj/projectile, mob/user, atom/target, var/target_zone, var/params=null, var/pointblank=0, var/reflex=0) if(!istype(projectile, /obj/item/projectile)) return 0 //default behaviour only applies to true projectiles - + var/obj/item/projectile/P = projectile - + //shooting while in shock var/x_offset = 0 var/y_offset = 0 @@ -206,9 +206,9 @@ x_offset = rand(-1,1) //Point blank bonus - if(pointblank) + if(pointblank) var/damage_mult = 1.3 //default point blank multiplier - + //determine multiplier due to the target being grabbed if(ismob(target)) var/mob/M = target @@ -220,7 +220,7 @@ damage_mult = 3.0 else if (grabstate >= GRAB_AGGRESSIVE) damage_mult = 1.5 - + P.damage *= damage_mult if(params) @@ -234,7 +234,7 @@ if(!ishuman(user)) return var/mob/living/carbon/human/M = user - + mouthshoot = 1 M.visible_message("\red [user] sticks their gun in their mouth, ready to pull the trigger...") if(!do_after(user, 40)) @@ -274,7 +274,7 @@ var/zoom_offset = round(world.view * zoom_amount) var/view_size = round(world.view + zoom_amount) var/scoped_accuracy_mod = zoom_offset - + zoom(zoom_offset, view_size) if(zoom) accuracy = scoped_accuracy + scoped_accuracy_mod diff --git a/code/modules/projectiles/guns/energy/laser.dm b/code/modules/projectiles/guns/energy/laser.dm index dffc012998..45ae5b8350 100644 --- a/code/modules/projectiles/guns/energy/laser.dm +++ b/code/modules/projectiles/guns/energy/laser.dm @@ -7,7 +7,7 @@ slot_flags = SLOT_BELT|SLOT_BACK w_class = 3 force = 10 - matter = list("metal" = 2000) + matter = list("steel" = 2000) origin_tech = "combat=3;magnets=2" projectile_type = /obj/item/projectile/beam fire_delay = 1 //rapid fire @@ -106,7 +106,7 @@ obj/item/weapon/gun/energy/retro desc = "Standard issue weapon of the Imperial Guard" origin_tech = "combat=1;magnets=2" self_recharge = 1 - matter = list("metal" = 2000) + matter = list("steel" = 2000) fire_sound = 'sound/weapons/Laser.ogg' projectile_type = /obj/item/projectile/beam/lastertag/blue var/required_vest diff --git a/code/modules/projectiles/guns/energy/stun.dm b/code/modules/projectiles/guns/energy/stun.dm index 1d51f7957e..78140303a6 100644 --- a/code/modules/projectiles/guns/energy/stun.dm +++ b/code/modules/projectiles/guns/energy/stun.dm @@ -37,7 +37,7 @@ icon_state = "crossbow" w_class = 2.0 item_state = "crossbow" - matter = list("metal" = 2000) + matter = list("steel" = 2000) origin_tech = "combat=2;magnets=2;syndicate=5" slot_flags = SLOT_BELT silenced = 1 @@ -56,5 +56,5 @@ desc = "A weapon favored by mercenary infiltration teams." w_class = 4 force = 10 - matter = list("metal" = 200000) + matter = list("steel" = 200000) projectile_type = /obj/item/projectile/energy/bolt/large diff --git a/code/modules/projectiles/guns/launcher/grenade_launcher.dm b/code/modules/projectiles/guns/launcher/grenade_launcher.dm index 906e428e8d..b4cf0abef8 100644 --- a/code/modules/projectiles/guns/launcher/grenade_launcher.dm +++ b/code/modules/projectiles/guns/launcher/grenade_launcher.dm @@ -15,7 +15,7 @@ var/obj/item/weapon/grenade/chambered var/list/grenades = new/list() var/max_grenades = 5 //holds this + one in the chamber - matter = list("metal" = 2000) + matter = list("steel" = 2000) //revolves the magazine, allowing players to choose between multiple grenade types /obj/item/weapon/gun/launcher/grenade/proc/pump(mob/M as mob) @@ -80,7 +80,7 @@ chambered.det_time = 10 chambered.activate(null) return chambered - + /obj/item/weapon/gun/launcher/grenade/handle_post_fire(mob/user) message_admins("[key_name_admin(user)] fired a grenade ([chambered.name]) from a grenade launcher ([src.name]).") log_game("[key_name_admin(user)] used a grenade ([chambered.name]).") diff --git a/code/modules/projectiles/guns/launcher/syringe_gun.dm b/code/modules/projectiles/guns/launcher/syringe_gun.dm index 099f8687a3..6a4622e599 100644 --- a/code/modules/projectiles/guns/launcher/syringe_gun.dm +++ b/code/modules/projectiles/guns/launcher/syringe_gun.dm @@ -4,7 +4,7 @@ icon = 'icons/obj/ammo.dmi' icon_state = "syringe-cartridge" var/icon_flight = "syringe-cartridge-flight" //so it doesn't look so weird when shot - matter = list("metal" = 125, "glass" = 375) + matter = list("steel" = 125, "glass" = 375) flags = CONDUCT slot_flags = SLOT_BELT throwforce = 3 @@ -53,10 +53,10 @@ if(L.can_inject()) if(syringe.reagents) syringe.reagents.trans_to(L, 15) - + syringe.break_syringe(iscarbon(hit_atom)? hit_atom : null) syringe.update_icon() - + icon_state = initial(icon_state) //reset icon state update_icon() @@ -67,15 +67,15 @@ item_state = "syringegun" w_class = 3 force = 7 - matter = list("metal" = 2000) + matter = list("steel" = 2000) slot_flags = SLOT_BELT - + fire_sound = 'sound/weapons/empty.ogg' fire_sound_text = "a metallic thunk" recoil = 0 release_force = 10 throw_distance = 10 - + var/list/darts = list() var/max_darts = 1 var/obj/item/weapon/syringe_cartridge/next diff --git a/code/modules/projectiles/guns/projectile.dm b/code/modules/projectiles/guns/projectile.dm index 944a9fe99f..a477b041cf 100644 --- a/code/modules/projectiles/guns/projectile.dm +++ b/code/modules/projectiles/guns/projectile.dm @@ -8,9 +8,9 @@ icon_state = "revolver" origin_tech = "combat=2;materials=2" w_class = 3 - matter = list("metal" = 1000) + matter = list("steel" = 1000) recoil = 1 - + var/caliber = "357" //determines which casings will fit var/handle_casings = EJECT_CASINGS //determines how spent casings should be handled var/load_method = SINGLE_CASING|SPEEDLOADER //1 = Single shells, 2 = box or quick loader, 3 = magazine @@ -18,7 +18,7 @@ //For SINGLE_CASING or SPEEDLOADER guns var/max_shells = 0 //the number of casings that will fit inside - var/ammo_type = null //the type of ammo that the gun comes preloaded with + var/ammo_type = null //the type of ammo that the gun comes preloaded with var/list/loaded = list() //stored ammo //For MAGAZINE guns @@ -50,7 +50,7 @@ chambered = ammo_magazine.stored_ammo[1] if(handle_casings != HOLD_CASINGS) ammo_magazine.stored_ammo -= chambered - + if (chambered) return chambered.BB return null @@ -183,7 +183,7 @@ ) if(auto_eject_sound) playsound(user, auto_eject_sound, 40, 1) - ammo_magazine.update_icon() + ammo_magazine.update_icon() ammo_magazine = null update_icon() //make sure to do this after unsetting ammo_magazine diff --git a/code/modules/reagents/reagent_containers/glass.dm b/code/modules/reagents/reagent_containers/glass.dm index 12b56021d4..15ae36abab 100644 --- a/code/modules/reagents/reagent_containers/glass.dm +++ b/code/modules/reagents/reagent_containers/glass.dm @@ -260,7 +260,7 @@ icon = 'icons/obj/janitor.dmi' icon_state = "bucket" item_state = "bucket" - matter = list("metal" = 200) + matter = list("steel" = 200) w_class = 3.0 amount_per_transfer_from_this = 20 possible_transfer_amounts = list(10,20,30,60,120) diff --git a/code/modules/recycling/disposal-construction.dm b/code/modules/recycling/disposal-construction.dm index 8b26dd3133..db17281f49 100644 --- a/code/modules/recycling/disposal-construction.dm +++ b/code/modules/recycling/disposal-construction.dm @@ -10,7 +10,7 @@ anchored = 0 density = 0 pressure_resistance = 5*ONE_ATMOSPHERE - matter = list("metal" = 1850) + matter = list("steel" = 1850) level = 2 var/ptype = 0 // 0=straight, 1=bent, 2=junction-j1, 3=junction-j2, 4=junction-y, 5=trunk, 6=disposal bin, 7=outlet, 8=inlet diff --git a/code/modules/research/rdconsole.dm b/code/modules/research/rdconsole.dm index 89e31574d2..d842b52edc 100644 --- a/code/modules/research/rdconsole.dm +++ b/code/modules/research/rdconsole.dm @@ -66,8 +66,8 @@ won't update every console in existence) but it's more of a hassle to do. Also, if (copytext(ID, 1, 2) == "$") return_name = copytext(ID, 2) switch(return_name) - if("metal") - return_name = "Metal" + if("steel") + return_name = "Steel" if("glass") return_name = "Glass" if("gold") @@ -262,7 +262,7 @@ won't update every console in existence) but it's more of a hassle to do. Also, if(linked_destroy.loaded_item.reliability < 100 && linked_destroy.loaded_item.crit_fail) files.UpdateDesign(linked_destroy.loaded_item.type) if(linked_lathe && linked_destroy.loaded_item.matter) //Also sends salvaged materials to a linked protolathe, if any. - linked_lathe.m_amount += min((linked_lathe.max_material_storage - linked_lathe.TotalMaterials()), (linked_destroy.loaded_item.matter["metal"]*linked_destroy.decon_mod)) + linked_lathe.m_amount += min((linked_lathe.max_material_storage - linked_lathe.TotalMaterials()), (linked_destroy.loaded_item.matter["steel"]*linked_destroy.decon_mod)) linked_lathe.g_amount += min((linked_lathe.max_material_storage - linked_lathe.TotalMaterials()), (linked_destroy.loaded_item.matter["glass"]*linked_destroy.decon_mod)) linked_destroy.loaded_item = null for(var/obj/I in linked_destroy.contents) @@ -438,27 +438,24 @@ won't update every console in existence) but it's more of a hassle to do. Also, else if(href_list["lathe_ejectsheet"] && linked_lathe) //Causes the protolathe to eject a sheet of material var/desired_num_sheets = text2num(href_list["amount"]) var/res_amount, type - switch(href_list["lathe_ejectsheet"]) - if("metal") - type = /obj/item/stack/sheet/metal + var/material/M = name_to_mineral[href_list["lathe_ejectsheet"]] + if(istype(M)) + type = M.stack_type + + switch(name_to_mineral[href_list["lathe_ejectsheet"]]) + if("steel") res_amount = "m_amount" if("glass") - type = /obj/item/stack/sheet/glass res_amount = "g_amount" if("gold") - type = /obj/item/stack/sheet/mineral/gold res_amount = "gold_amount" if("silver") - type = /obj/item/stack/sheet/mineral/silver res_amount = "silver_amount" if("phoron") - type = /obj/item/stack/sheet/mineral/phoron res_amount = "phoron_amount" if("uranium") - type = /obj/item/stack/sheet/mineral/uranium res_amount = "uranium_amount" if("diamond") - type = /obj/item/stack/sheet/mineral/diamond res_amount = "diamond_amount" if(ispath(type) && hasvar(linked_lathe, res_amount)) @@ -817,11 +814,11 @@ won't update every console in existence) but it's more of a hassle to do. Also, dat += "Protolathe Menu


" dat += "Material Storage

" dat += "
    " - for(var/M in list("metal", "glass", "gold", "silver", "phoron", "uranium", "diamond")) + for(var/M in list("steel", "glass", "gold", "silver", "phoron", "uranium", "diamond")) var/amount var/sheetsize = 2000 switch(M) - if("metal") + if("steel") amount = linked_lathe.m_amount sheetsize = 3750 if("glass") diff --git a/code/modules/research/research.dm b/code/modules/research/research.dm index 72127cfa89..f5ec78cd70 100644 --- a/code/modules/research/research.dm +++ b/code/modules/research/research.dm @@ -269,7 +269,7 @@ datum/tech/robotics icon_state = "datadisk2" item_state = "card-id" w_class = 2.0 - matter = list("metal" = 30, "glass" = 10) + matter = list("steel" = 30, "glass" = 10) var/datum/tech/stored /obj/item/weapon/disk/tech_disk/New() @@ -283,7 +283,7 @@ datum/tech/robotics icon_state = "datadisk2" item_state = "card-id" w_class = 2.0 - matter = list("metal" = 30,"glass" = 10) + matter = list("steel" = 30,"glass" = 10) var/datum/design/blueprint /obj/item/weapon/disk/design_disk/New() diff --git a/code/modules/research/xenoarchaeology/geosample.dm b/code/modules/research/xenoarchaeology/geosample.dm index 689f61b888..535a0b4f07 100644 --- a/code/modules/research/xenoarchaeology/geosample.dm +++ b/code/modules/research/xenoarchaeology/geosample.dm @@ -61,44 +61,19 @@ age = rand(1,999) if(container.mineral) - switch(container.mineral.name) - if("Uranium") - age_million = rand(1, 704) - age_thousand = rand(1,999) - find_presence["potassium"] = rand(1,1000) / 100 - source_mineral = "potassium" - if("Iron") - age_thousand = rand(1, 999) - age_million = rand(1, 999) - find_presence["iron"] = rand(1,1000) / 100 - source_mineral = "iron" - if("Diamond") - age_thousand = rand(1,999) - age_million = rand(1,999) - find_presence["nitrogen"] = rand(1,1000) / 100 - source_mineral = "nitrogen" - if("Gold") - age_thousand = rand(1,999) - age_million = rand(1,999) - age_billion = rand(3,4) - find_presence["iron"] = rand(1,1000) / 100 - source_mineral = "iron" - if("Silver") - age_thousand = rand(1,999) - age_million = rand(1,999) - find_presence["iron"] = rand(1,1000) / 100 - source_mineral = "iron" - if("Phoron") - age_thousand = rand(1,999) - age_million = rand(1,999) - age_billion = rand(10, 13) - find_presence["phoron"] = rand(1,1000) / 100 - source_mineral = "phoron" - if("Clown") - age = rand(-1,-999) //thats the joke - age_thousand = rand(-1,-999) - find_presence["phoron"] = rand(1,1000) / 100 - source_mineral = "phoron" + if(islist(container.mineral.xarch_ages)) + var/list/ages = container.mineral.xarch_ages + if(ages["thousand"]) + age_thousand = rand(1,ages["thousand"]) + if(ages["million"]) + age_million = rand(1,ages["million"]) + if(ages["billion"]) + if(ages["billion_lower"]) + age_billion = rand(ages["billion_lower"],ages["billion"]) + else + age_billion = rand(1,ages["billion"]) + if(container.mineral.xarch_source_mineral) + source_mineral = container.mineral.xarch_source_mineral if(prob(75)) find_presence["phosphorus"] = rand(1,500) / 100 diff --git a/icons/obj/mining.dmi b/icons/obj/mining.dmi index 98689c2032b078e55c11781a8af57fb6c0ee2398..5c0200528c51f7c6cd410ef3ff0b7bc50e3f0e56 100644 GIT binary patch delta 10618 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%0D97j6f-@vJ8g@0c5o-({xV41lS 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 Sd8HuWcjlC>dHG4tg#Q6lTo4Ta literal 139846 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

    9y?@f6Ea~40s6k@`0|J{FR1D&7F^TB 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

    v`J9hL;C67z2dm~7yZU}5_B~$uSD1S1m%D#e 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 Date: Wed, 22 Apr 2015 23:19:31 +0930 Subject: [PATCH 010/305] Finalized wall refactor. --- baystation12.dme | 11 +- code/game/machinery/alarm.dm | 96 +- code/game/machinery/autolathe.dm | 2 +- code/game/machinery/doors/airlock.dm | 6 +- code/game/machinery/wall_frames.dm | 83 + code/game/mecha/equipment/tools/tools.dm | 14 +- code/game/objects/effects/overlays.dm | 14 + code/game/objects/explosion_recursive.dm | 3 - code/game/objects/items/blueprints.dm | 4 - .../objects/items/stacks/sheets/mineral.dm | 4 - .../items/stacks/sheets/sheet_types.dm | 16 +- code/game/objects/items/weapons/RCD.dm | 3 +- code/game/objects/items/weapons/policetape.dm | 1 - code/game/objects/structures/false_walls.dm | 313 --- code/game/objects/structures/girders.dm | 289 ++- code/game/objects/structures/mineral_doors.dm | 2 +- code/game/smoothwall.dm | 141 -- code/game/turfs/simulated/wall_attacks.dm | 315 +++ code/game/turfs/simulated/wall_icon.dm | 121 ++ code/game/turfs/simulated/wall_types.dm | 43 + code/game/turfs/simulated/walls.dm | 429 +--- code/game/turfs/simulated/walls_mineral.dm | 121 -- code/game/turfs/simulated/walls_misc.dm | 8 - code/game/turfs/simulated/walls_reinforced.dm | 307 --- code/modules/clothing/glasses/glasses.dm | 10 +- code/modules/materials/materials.dm | 170 ++ code/modules/mining/machine_processing.dm | 15 +- code/modules/mining/mine_items.dm | 2 +- code/modules/mining/mineral_effect.dm | 15 +- code/modules/mining/minerals.dm | 96 - code/modules/mining/ore.dm | 26 +- code/modules/mining/ore_datum.dm | 8 +- .../human/species/xenomorphs/alien_powers.dm | 17 +- .../living/silicon/robot/drone/drone_items.dm | 5 +- code/modules/mob/living/simple_animal/worm.dm | 7 +- code/modules/power/lighting.dm | 58 - .../rust/fuel_assembly_port_construction.dm | 36 +- .../rust/fuel_compressor_construction.dm | 37 +- code/modules/power/singularity/act.dm | 23 +- .../modules/projectiles/projectile/bullets.dm | 10 +- code/modules/reagents/Chemistry-Reagents.dm | 10 +- code/modules/research/rdconsole.dm | 4 +- code/setup.dm | 3 + code/world.dm | 3 + icons/obj/mining.dmi | Bin 53367 -> 53359 bytes icons/turf/wall_masks.dmi | Bin 0 -> 20703 bytes icons/turf/walls.dmi | Bin 140505 -> 26039 bytes maps/exodus-1.dmm | 1814 ++++++++--------- 48 files changed, 2017 insertions(+), 2698 deletions(-) create mode 100644 code/game/machinery/wall_frames.dm delete mode 100644 code/game/objects/structures/false_walls.dm delete mode 100644 code/game/smoothwall.dm create mode 100644 code/game/turfs/simulated/wall_attacks.dm create mode 100644 code/game/turfs/simulated/wall_icon.dm create mode 100644 code/game/turfs/simulated/wall_types.dm delete mode 100644 code/game/turfs/simulated/walls_mineral.dm delete mode 100644 code/game/turfs/simulated/walls_misc.dm delete mode 100644 code/game/turfs/simulated/walls_reinforced.dm create mode 100644 code/modules/materials/materials.dm delete mode 100644 code/modules/mining/minerals.dm create mode 100644 icons/turf/wall_masks.dmi diff --git a/baystation12.dme b/baystation12.dme index c5e45a2729..5fe8a14b15 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -214,7 +214,6 @@ #include "code\game\response_team.dm" #include "code\game\shuttle_engines.dm" #include "code\game\skincmd.dm" -#include "code\game\smoothwall.dm" #include "code\game\sound.dm" #include "code\game\supplyshuttle.dm" #include "code\game\antagonist\antagonist.dm" @@ -372,6 +371,7 @@ #include "code\game\machinery\turret_control.dm" #include "code\game\machinery\turrets.dm" #include "code\game\machinery\vending.dm" +#include "code\game\machinery\wall_frames.dm" #include "code\game\machinery\washing_machine.dm" #include "code\game\machinery\wishgranter.dm" #include "code\game\machinery\atmoalter\area_atmos_computer.dm" @@ -710,7 +710,6 @@ #include "code\game\objects\structures\door_assembly.dm" #include "code\game\objects\structures\electricchair.dm" #include "code\game\objects\structures\extinguisher.dm" -#include "code\game\objects\structures\false_walls.dm" #include "code\game\objects\structures\flora.dm" #include "code\game\objects\structures\girders.dm" #include "code\game\objects\structures\grille.dm" @@ -774,10 +773,10 @@ #include "code\game\turfs\unsimulated.dm" #include "code\game\turfs\simulated\floor.dm" #include "code\game\turfs\simulated\floor_types.dm" +#include "code\game\turfs\simulated\wall_attacks.dm" +#include "code\game\turfs\simulated\wall_icon.dm" +#include "code\game\turfs\simulated\wall_types.dm" #include "code\game\turfs\simulated\walls.dm" -#include "code\game\turfs\simulated\walls_mineral.dm" -#include "code\game\turfs\simulated\walls_misc.dm" -#include "code\game\turfs\simulated\walls_reinforced.dm" #include "code\game\turfs\space\space.dm" #include "code\game\turfs\space\transit.dm" #include "code\game\turfs\unsimulated\beach.dm" @@ -1035,6 +1034,7 @@ #include "code\modules\maps\reader.dm" #include "code\modules\maps\swapmaps.dm" #include "code\modules\maps\writer.dm" +#include "code\modules\materials\materials.dm" #include "code\modules\mining\abandonedcrates.dm" #include "code\modules\mining\alloys.dm" #include "code\modules\mining\coins.dm" @@ -1045,7 +1045,6 @@ #include "code\modules\mining\mine_items.dm" #include "code\modules\mining\mine_turfs.dm" #include "code\modules\mining\mineral_effect.dm" -#include "code\modules\mining\minerals.dm" #include "code\modules\mining\mint.dm" #include "code\modules\mining\money_bag.dm" #include "code\modules\mining\ore.dm" diff --git a/code/game/machinery/alarm.dm b/code/game/machinery/alarm.dm index c0d743d379..0926ccaf3e 100644 --- a/code/game/machinery/alarm.dm +++ b/code/game/machinery/alarm.dm @@ -838,8 +838,7 @@ else if(istype(W, /obj/item/weapon/wrench)) user << "You remove the fire alarm assembly from the wall!" - var/obj/item/alarm_frame/frame = new /obj/item/alarm_frame() - frame.loc = user.loc + new /obj/item/frame/air_alarm(get_turf(user)) playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1) del(src) @@ -868,50 +867,6 @@ Just a object used in constructing air alarms w_class = 2.0 matter = list("steel" = 50, "glass" = 50) - -/* -AIR ALARM ITEM -Handheld air alarm frame, for placing on walls -Code shamelessly copied from apc_frame -*/ -/obj/item/alarm_frame - name = "air alarm frame" - desc = "Used for building Air Alarms" - icon = 'icons/obj/monitors.dmi' - icon_state = "alarm_bitem" - flags = CONDUCT - -/obj/item/alarm_frame/attackby(obj/item/weapon/W as obj, mob/user as mob) - if (istype(W, /obj/item/weapon/wrench)) - new /obj/item/stack/sheet/metal( get_turf(src.loc), 2 ) - del(src) - return - ..() - -/obj/item/alarm_frame/proc/try_build(turf/on_wall) - if (get_dist(on_wall,usr)>1) - return - - var/ndir = get_dir(on_wall,usr) - if (!(ndir in cardinal)) - return - - var/turf/loc = get_turf(usr) - var/area/A = loc.loc - if (!istype(loc, /turf/simulated/floor)) - usr << "\red Air Alarm cannot be placed on this spot." - return - if (A.requires_power == 0 || A.name == "Space") - usr << "\red Air Alarm cannot be placed in this area." - return - - if(gotwallitem(loc, ndir)) - usr << "\red There's already an item on this wall!" - return - - new /obj/machinery/alarm(loc, ndir, 1) - del(src) - /* FIRE ALARM */ @@ -1021,8 +976,7 @@ FIRE ALARM else if(istype(W, /obj/item/weapon/wrench)) user << "You remove the fire alarm assembly from the wall!" - var/obj/item/firealarm_frame/frame = new /obj/item/firealarm_frame() - frame.loc = user.loc + new /obj/item/frame/fire_alarm(get_turf(user)) playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1) del(src) return @@ -1190,52 +1144,6 @@ Just a object used in constructing fire alarms w_class = 2.0 matter = list("steel" = 50, "glass" = 50) - -/* -FIRE ALARM ITEM -Handheld fire alarm frame, for placing on walls -Code shamelessly copied from apc_frame -*/ -/obj/item/firealarm_frame - name = "fire alarm frame" - desc = "Used for building Fire Alarms" - icon = 'icons/obj/monitors.dmi' - icon_state = "fire_bitem" - flags = CONDUCT - -/obj/item/firealarm_frame/attackby(obj/item/weapon/W as obj, mob/user as mob) - if (istype(W, /obj/item/weapon/wrench)) - new /obj/item/stack/sheet/metal( get_turf(src.loc), 2 ) - del(src) - return - ..() - -/obj/item/firealarm_frame/proc/try_build(turf/on_wall) - if (get_dist(on_wall,usr)>1) - return - - var/ndir = get_dir(on_wall,usr) - if (!(ndir in cardinal)) - return - - var/turf/loc = get_turf(usr) - var/area/A = loc.loc - if (!istype(loc, /turf/simulated/floor)) - usr << "\red Fire Alarm cannot be placed on this spot." - return - if (A.requires_power == 0 || A.name == "Space") - usr << "\red Fire Alarm cannot be placed in this area." - return - - if(gotwallitem(loc, ndir)) - usr << "\red There's already an item on this wall!" - return - - new /obj/machinery/firealarm(loc, ndir, 1) - - del(src) - - /obj/machinery/partyalarm name = "\improper PARTY BUTTON" desc = "Cuban Pete is in the house!" diff --git a/code/game/machinery/autolathe.dm b/code/game/machinery/autolathe.dm index 54e242c0f1..8113dfafd9 100644 --- a/code/game/machinery/autolathe.dm +++ b/code/game/machinery/autolathe.dm @@ -287,7 +287,7 @@ /obj/machinery/autolathe/dismantle() for(var/mat in stored_material) - var/material/M = name_to_mineral[mat] + var/material/M = name_to_material[mat] if(!istype(M)) continue var/obj/item/stack/sheet/S = new M.stack_type(get_turf(src)) diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index 565d50c452..69962e93ad 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -261,11 +261,7 @@ for(var/turf/simulated/floor/target_tile in range(2,loc)) target_tile.assume_gas("phoron", 35, 400+T0C) spawn (0) target_tile.hotspot_expose(temperature, 400) - for(var/obj/structure/falsewall/phoron/F in range(3,src))//Hackish as fuck, but until temperature_expose works, there is nothing I can do -Sieve - var/turf/T = get_turf(F) - T.ChangeTurf(/turf/simulated/wall/mineral/phoron/) - del (F) - for(var/turf/simulated/wall/mineral/phoron/W in range(3,src)) + for(var/turf/simulated/wall/W in range(3,src)) W.ignite((temperature/4))//Added so that you can't set off a massive chain reaction with a small flame for(var/obj/machinery/door/airlock/phoron/D in range(3,src)) D.ignite(temperature/4) diff --git a/code/game/machinery/wall_frames.dm b/code/game/machinery/wall_frames.dm new file mode 100644 index 0000000000..ee8ca69ed0 --- /dev/null +++ b/code/game/machinery/wall_frames.dm @@ -0,0 +1,83 @@ +/obj/item/frame + name = "frame" + desc = "Used for building machines." + icon = 'icons/obj/monitors.dmi' + icon_state = "fire_bitem" + flags = CONDUCT + var/build_machine_type + var/refund_amt = 2 + var/refund_type = /obj/item/stack/sheet/metal + +/obj/item/frame/attackby(obj/item/weapon/W as obj, mob/user as mob) + if (istype(W, /obj/item/weapon/wrench)) + new refund_type( get_turf(src.loc), refund_amt) + del(src) + return + ..() + +/obj/item/frame/proc/try_build(turf/on_wall) + if(!build_machine_type) + return + + if (get_dist(on_wall,usr)>1) + return + + var/ndir = get_dir(on_wall,usr) + if (!(ndir in cardinal)) + return + + var/turf/loc = get_turf(usr) + var/area/A = loc.loc + if (!istype(loc, /turf/simulated/floor)) + usr << "\The [src] Alarm cannot be placed in this area." + return + + if(gotwallitem(loc, ndir)) + usr << "" + return + + var/obj/machinery/M = new build_machine_type(loc, ndir, 1) + M.fingerprints = src.fingerprints + M.fingerprintshidden = src.fingerprintshidden + M.fingerprintslast = src.fingerprintslast + del(src) + +/obj/item/frame/fire_alarm + name = "fire alarm frame" + desc = "Used for building fire alarms." + build_machine_type = /obj/machinery/firealarm + +/obj/item/frame/air_alarm + name = "air alarm frame" + desc = "Used for building air alarms." + build_machine_type = /obj/machinery/alarm + +/obj/item/frame/light + name = "light fixture frame" + desc = "Used for building lights." + icon = 'icons/obj/lighting.dmi' + icon_state = "tube-construct-item" + build_machine_type = /obj/machinery/light_construct + +/obj/item/frame/light/small + name = "small light fixture frame" + icon_state = "bulb-construct-item" + refund_amt = 1 + build_machine_type = /obj/machinery/light_construct/small + +/obj/item/frame/rust + name = "Fuel Compressor frame" + icon = 'icons/rust.dmi' + icon_state = "fuel_compressor0" + w_class = 4 + refund_type = /obj/item/stack/sheet/plasteel + refund_amt = 12 + build_machine_type = /obj/machinery/rust_fuel_compressor + +/obj/item/frame/rust/assembly + name = "Fuel Assembly Port frame" + icon_state = "port2" + build_machine_type = /obj/machinery/rust_fuel_assembly_port diff --git a/code/game/mecha/equipment/tools/tools.dm b/code/game/mecha/equipment/tools/tools.dm index d1c5c19748..f59ec96037 100644 --- a/code/game/mecha/equipment/tools/tools.dm +++ b/code/game/mecha/equipment/tools/tools.dm @@ -89,8 +89,13 @@ var/C = target.loc //why are these backwards? we may never know -Pete if(do_after_cooldown(target)) if(T == chassis.loc && src == chassis.selected) - if(istype(target, /turf/simulated/wall/r_wall)) - occupant_message("[target] is too durable to drill through.") + if(istype(target, /turf/simulated/wall)) + var/turf/simulated/wall/W = target + if(W.reinf_material) + occupant_message("[target] is too durable to drill through.") + else + log_message("Drilled through [target]") + target.ex_act(2) else if(istype(target, /turf/simulated/mineral)) for(var/turf/simulated/mineral/M in range(chassis,1)) if(get_dir(chassis,M)&chassis.dir) @@ -140,8 +145,9 @@ var/C = target.loc //why are these backwards? we may never know -Pete if(do_after_cooldown(target)) if(T == chassis.loc && src == chassis.selected) - if(istype(target, /turf/simulated/wall/r_wall)) - if(do_after_cooldown(target))//To slow down how fast mechs can drill through the station + if(istype(target, /turf/simulated/wall)) + var/turf/simulated/wall/W = target + if(!W.reinf_material || do_after_cooldown(target))//To slow down how fast mechs can drill through the station log_message("Drilled through [target]") target.ex_act(3) else if(istype(target, /turf/simulated/mineral)) diff --git a/code/game/objects/effects/overlays.dm b/code/game/objects/effects/overlays.dm index 6dd26f7774..cc3e9ca1f3 100644 --- a/code/game/objects/effects/overlays.dm +++ b/code/game/objects/effects/overlays.dm @@ -42,3 +42,17 @@ icon = 'icons/turf/space.dmi' icon_state = "bluespacify" layer = LIGHTING_LAYER + +/obj/effect/overlay/wallrot + name = "wallrot" + desc = "Ick..." + icon = 'icons/effects/wallrot.dmi' + anchored = 1 + density = 1 + layer = 5 + mouse_opacity = 0 + +/obj/effect/overlay/wallrot/New() + ..() + pixel_x += rand(-10, 10) + pixel_y += rand(-10, 10) \ No newline at end of file diff --git a/code/game/objects/explosion_recursive.dm b/code/game/objects/explosion_recursive.dm index 9dc04ff630..2b901f0875 100644 --- a/code/game/objects/explosion_recursive.dm +++ b/code/game/objects/explosion_recursive.dm @@ -88,9 +88,6 @@ proc/explosion_rec(turf/epicenter, power) /turf/simulated/wall explosion_resistance = 5 -/turf/simulated/wall/r_wall - explosion_resistance = 25 - //Code-wise, a safe value for power is something up to ~25 or ~30.. This does quite a bit of damage to the station. //direction is the direction that the spread took to come to this tile. So it is pointing in the main blast direction - meaning where this tile should spread most of it's force. /turf/proc/explosion_spread(power, direction) diff --git a/code/game/objects/items/blueprints.dm b/code/game/objects/items/blueprints.dm index facafe41f2..c96aa8de8f 100644 --- a/code/game/objects/items/blueprints.dm +++ b/code/game/objects/items/blueprints.dm @@ -207,10 +207,6 @@ move an amendment to the drawing.

    return BORDER_BETWEEN if (locate(/obj/machinery/door) in T2) return BORDER_2NDTILE - if (locate(/obj/structure/falsewall) in T2) - return BORDER_2NDTILE - if (locate(/obj/structure/falserwall) in T2) - return BORDER_2NDTILE return BORDER_NONE diff --git a/code/game/objects/items/stacks/sheets/mineral.dm b/code/game/objects/items/stacks/sheets/mineral.dm index 6506ec0aba..46415bb8af 100644 --- a/code/game/objects/items/stacks/sheets/mineral.dm +++ b/code/game/objects/items/stacks/sheets/mineral.dm @@ -63,10 +63,6 @@ var/global/list/datum/stack_recipe/iron_recipes = list ( \ w_class = 3.0 throw_speed = 3 throw_range = 3 - var/walltype_solid - var/walltype_false - var/doortype_solid - var/doortype_machine /obj/item/stack/sheet/mineral/New() ..() diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index 5ed88a3a66..abaf5b5195 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -69,12 +69,12 @@ var/global/list/datum/stack_recipe/metal_recipes = list ( \ ), 4), \ null, \ new/datum/stack_recipe("grenade casing", /obj/item/weapon/grenade/chem_grenade), \ - new/datum/stack_recipe("light fixture frame", /obj/item/light_fixture_frame, 2), \ - new/datum/stack_recipe("small light fixture frame", /obj/item/light_fixture_frame/small, 1), \ + new/datum/stack_recipe("light fixture frame", /obj/item/frame/light, 2), \ + new/datum/stack_recipe("small light fixture frame", /obj/item/frame/light/small, 1), \ null, \ new/datum/stack_recipe("apc frame", /obj/item/apc_frame, 2), \ - new/datum/stack_recipe("air alarm frame", /obj/item/alarm_frame, 2), \ - new/datum/stack_recipe("fire alarm frame", /obj/item/firealarm_frame, 2), \ + new/datum/stack_recipe("air alarm frame", /obj/item/frame/air_alarm, 2), \ + new/datum/stack_recipe("fire alarm frame", /obj/item/frame/fire_alarm, 2), \ null, \ new/datum/stack_recipe("knife blade", /obj/item/butterflyblade, 6, time = 20, one_per_turf = 0, on_floor = 1) \ ) @@ -88,6 +88,7 @@ var/global/list/datum/stack_recipe/metal_recipes = list ( \ throwforce = 14.0 flags = CONDUCT origin_tech = "materials=1" + sheettype = "steel" /obj/item/stack/sheet/metal/cyborg name = "steel synthesizer" @@ -109,21 +110,22 @@ var/global/list/datum/stack_recipe/metal_recipes = list ( \ var/global/list/datum/stack_recipe/plasteel_recipes = list ( \ new/datum/stack_recipe("AI core", /obj/structure/AIcore, 4, time = 50, one_per_turf = 1), \ new/datum/stack_recipe("Metal crate", /obj/structure/closet/crate, 10, time = 50, one_per_turf = 1), \ - new/datum/stack_recipe("RUST fuel assembly port frame", /obj/item/rust_fuel_assembly_port_frame, 12, time = 50, one_per_turf = 1), \ - new/datum/stack_recipe("RUST fuel compressor frame", /obj/item/rust_fuel_compressor_frame, 12, time = 50, one_per_turf = 1), \ + new/datum/stack_recipe("RUST fuel assembly port frame", /obj/item/frame/rust/assembly, 12, time = 50, one_per_turf = 1), \ + new/datum/stack_recipe("RUST fuel compressor frame", /obj/item/frame/rust, 12, time = 50, one_per_turf = 1), \ new/datum/stack_recipe("knife grip", /obj/item/butterflyhandle, 4, time = 20, one_per_turf = 0, on_floor = 1), ) /obj/item/stack/sheet/plasteel name = "plasteel" singular_name = "plasteel sheet" - desc = "This sheet is an alloy of iron and phoron." + desc = "This sheet is an alloy of iron and platinum." icon_state = "sheet-plasteel" item_state = "sheet-metal" matter = list("steel" = 7500) throwforce = 15.0 flags = CONDUCT origin_tech = "materials=2" + sheettype = "plasteel" /obj/item/stack/sheet/plasteel/cyborg name = "plasteel synthesizer" diff --git a/code/game/objects/items/weapons/RCD.dm b/code/game/objects/items/weapons/RCD.dm index 2d9a37647d..aa4612c1bd 100644 --- a/code/game/objects/items/weapons/RCD.dm +++ b/code/game/objects/items/weapons/RCD.dm @@ -100,9 +100,10 @@ build_type = "floor" build_turf = /turf/simulated/floor/plating/airless else if(deconstruct && istype(T,/turf/simulated/wall)) + var/turf/simulated/wall/W = T build_delay = deconstruct ? 50 : 40 build_cost = 5 - build_type = (!canRwall && istype(T,/turf/simulated/wall/r_wall)) ? null : "wall" + build_type = (!canRwall && W.reinf_material) ? null : "wall" build_turf = /turf/simulated/floor else if(istype(T,/turf/simulated/floor)) build_delay = deconstruct ? 50 : 20 diff --git a/code/game/objects/items/weapons/policetape.dm b/code/game/objects/items/weapons/policetape.dm index 283e7e5877..91474ddea1 100644 --- a/code/game/objects/items/weapons/policetape.dm +++ b/code/game/objects/items/weapons/policetape.dm @@ -106,7 +106,6 @@ var/list/tape_roll_applications = list() var/obj/item/tape/P = new tape_type(cur) P.icon_state = "[P.icon_base]_[dir]" cur = get_step_towards(cur,end) - //is_blocked_turf(var/turf/T) usr << "\blue You finish placing the [src]." //Git Test /obj/item/taperoll/afterattack(var/atom/A, mob/user as mob, proximity) diff --git a/code/game/objects/structures/false_walls.dm b/code/game/objects/structures/false_walls.dm deleted file mode 100644 index 4d9ce03488..0000000000 --- a/code/game/objects/structures/false_walls.dm +++ /dev/null @@ -1,313 +0,0 @@ -/* - * False Walls - */ -/obj/structure/falsewall - name = "wall" - desc = "A huge chunk of metal used to seperate rooms." - anchored = 1 - icon = 'icons/turf/walls.dmi' - var/mineral = "steel" - var/opening = 0 - -/obj/structure/falsewall/New() - relativewall_neighbours() - ..() - -/obj/structure/falsewall/Del() - - var/temploc = src.loc - - spawn(10) - for(var/turf/simulated/wall/W in range(temploc,1)) - W.relativewall() - - for(var/obj/structure/falsewall/W in range(temploc,1)) - W.relativewall() - - for(var/obj/structure/falserwall/W in range(temploc,1)) - W.relativewall() - ..() - - -/obj/structure/falsewall/relativewall() - - if(!density) - icon_state = "[mineral]fwall_open" - return - - var/junction = 0 //will be used to determine from which side the wall is connected to other walls - - for(var/turf/simulated/wall/W in orange(src,1)) - if(abs(src.x-W.x)-abs(src.y-W.y)) //doesn't count diagonal walls - if(src.mineral == W.mineral)//Only 'like' walls connect -Sieve - junction |= get_dir(src,W) - for(var/obj/structure/falsewall/W in orange(src,1)) - if(abs(src.x-W.x)-abs(src.y-W.y)) //doesn't count diagonal walls - if(src.mineral == W.mineral) - junction |= get_dir(src,W) - for(var/obj/structure/falserwall/W in orange(src,1)) - if(abs(src.x-W.x)-abs(src.y-W.y)) //doesn't count diagonal walls - if(src.mineral == W.mineral) - junction |= get_dir(src,W) - icon_state = "[mineral][junction]" - return - -/obj/structure/falsewall/attack_hand(mob/user as mob) - if(opening) - return - - if(density) - opening = 1 - icon_state = "[mineral]fwall_open" - flick("[mineral]fwall_opening", src) - sleep(15) - src.density = 0 - SetOpacity(0) - opening = 0 - else - opening = 1 - flick("[mineral]fwall_closing", src) - icon_state = "[mineral]0" - density = 1 - sleep(15) - SetOpacity(1) - src.relativewall() - opening = 0 - -/obj/structure/falsewall/update_icon()//Calling icon_update will refresh the smoothwalls if it's closed, otherwise it will make sure the icon is correct if it's open - ..() - if(density) - icon_state = "[mineral]0" - src.relativewall() - else - icon_state = "[mineral]fwall_open" - -/obj/structure/falsewall/attackby(obj/item/weapon/W as obj, mob/user as mob) - if(opening) - user << "\red You must wait until the door has stopped moving." - return - - var/material/M = name_to_mineral[mineral] - - if(istype(W, /obj/item/weapon/screwdriver)) - if(!istype(M) || !M.walltype_solid) - user << "You cannot find any bolts on the wall." - return - user.visible_message("[user] tightens some bolts on the wall.", "You tighten the bolts on the wall.") - var/turf/T = get_turf(src) - if(T) - T.ChangeTurf(M.walltype_solid) - del(src) - return - - var/cutting - if(istype(W, /obj/item/weapon/melee/energy/blade) || istype(W, /obj/item/weapon/pickaxe)) - cutting = 1 - else if(istype(W, /obj/item/weapon/weldingtool)) - var/obj/item/weapon/weldingtool/WT = W - if(WT.welding) - cutting = 1 - - if(cutting) - if(density) - var/turf/T = get_turf(src) - if(T.density) - user << "\red The wall is blocked!" - return - - if(!istype(M) || !M.walltype_solid) - user << "You cannot weld this wall." - return - T.ChangeTurf(M.walltype_solid) - if(mineral != "phoron")//Stupid shit keeps me from pushing the attackby() to phoron walls -Sieve - T = get_turf(src) // Still not sure what the above is for, leaving it for now. ~Z - T.attackby(W,user) - del(src) - else - user << "\blue You can't reach, close it first!" - - -/obj/structure/falsewall/update_icon()//Calling icon_update will refresh the smoothwalls if it's closed, otherwise it will make sure the icon is correct if it's open - ..() - if(density) - icon_state = "[mineral]0" - src.relativewall() - else - icon_state = "[mineral]fwall_open" - -/* - * False R-Walls - */ - -/obj/structure/falserwall - name = "reinforced wall" - desc = "A huge chunk of reinforced metal used to seperate rooms." - icon = 'icons/turf/walls.dmi' - icon_state = "r_wall" - density = 1 - opacity = 1 - anchored = 1 - var/mineral = "steel" - var/opening = 0 - -/obj/structure/falserwall/New() - relativewall_neighbours() - ..() - - -/obj/structure/falserwall/attack_hand(mob/user as mob) - if(opening) - return - - if(density) - opening = 1 - // Open wall - icon_state = "frwall_open" - flick("frwall_opening", src) - sleep(15) - density = 0 - SetOpacity(0) - opening = 0 - else - opening = 1 - icon_state = "r_wall" - flick("frwall_closing", src) - density = 1 - sleep(15) - SetOpacity(1) - relativewall() - opening = 0 - -/obj/structure/falserwall/relativewall() - - if(!density) - icon_state = "frwall_open" - return - - var/junction = 0 //will be used to determine from which side the wall is connected to other walls - - for(var/turf/simulated/wall/W in orange(src,1)) - if(abs(src.x-W.x)-abs(src.y-W.y)) //doesn't count diagonal walls - if(src.mineral == W.mineral)//Only 'like' walls connect -Sieve - junction |= get_dir(src,W) - for(var/obj/structure/falsewall/W in orange(src,1)) - if(abs(src.x-W.x)-abs(src.y-W.y)) //doesn't count diagonal walls - if(src.mineral == W.mineral) - junction |= get_dir(src,W) - for(var/obj/structure/falserwall/W in orange(src,1)) - if(abs(src.x-W.x)-abs(src.y-W.y)) //doesn't count diagonal walls - if(src.mineral == W.mineral) - junction |= get_dir(src,W) - icon_state = "rwall[junction]" - return - - - -/obj/structure/falserwall/attackby(obj/item/weapon/W as obj, mob/user as mob) - if(opening) - user << "\red You must wait until the door has stopped moving." - return - - if(istype(W, /obj/item/weapon/screwdriver)) - var/turf/T = get_turf(src) - user.visible_message("[user] tightens some bolts on the r wall.", "You tighten the bolts on the wall.") - T.ChangeTurf(/turf/simulated/wall) //Intentionally makes a regular wall instead of an r-wall (no cheap r-walls for you). - del(src) - - if( istype(W, /obj/item/weapon/weldingtool) ) - var/obj/item/weapon/weldingtool/WT = W - if( WT.remove_fuel(0,user) ) - var/turf/T = get_turf(src) - T.ChangeTurf(/turf/simulated/wall) - T = get_turf(src) - T.attackby(W,user) - del(src) - - else if( istype(W, /obj/item/weapon/pickaxe/plasmacutter) ) - var/turf/T = get_turf(src) - T.ChangeTurf(/turf/simulated/wall) - T = get_turf(src) - T.attackby(W,user) - del(src) - - //DRILLING - else if (istype(W, /obj/item/weapon/pickaxe/diamonddrill)) - var/turf/T = get_turf(src) - T.ChangeTurf(/turf/simulated/wall) - T = get_turf(src) - T.attackby(W,user) - del(src) - - else if( istype(W, /obj/item/weapon/melee/energy/blade) ) - var/turf/T = get_turf(src) - T.ChangeTurf(/turf/simulated/wall) - T = get_turf(src) - T.attackby(W,user) - del(src) - - -/* - * Uranium Falsewalls - */ - -/obj/structure/falsewall/uranium - name = "uranium wall" - desc = "A wall with uranium plating. This is probably a bad idea." - icon_state = "" - mineral = "uranium" - var/active = null - var/last_event = 0 - -/obj/structure/falsewall/uranium/attackby(obj/item/weapon/W as obj, mob/user as mob) - radiate() - ..() - -/obj/structure/falsewall/uranium/attack_hand(mob/user as mob) - radiate() - ..() - -/obj/structure/falsewall/uranium/proc/radiate() - if(!active) - if(world.time > last_event+15) - active = 1 - for(var/mob/living/L in range(3,src)) - L.apply_effect(12,IRRADIATE,0) - for(var/turf/simulated/wall/mineral/uranium/T in range(3,src)) - T.radiate() - last_event = world.time - active = null - return - return -/* - * Other misc falsewall types - */ - -/obj/structure/falsewall/gold - name = "gold wall" - desc = "A wall with gold plating. Swag!" - icon_state = "" - mineral = "gold" - -/obj/structure/falsewall/silver - name = "silver wall" - desc = "A wall with silver plating. Shiny." - icon_state = "" - mineral = "silver" - -/obj/structure/falsewall/diamond - name = "diamond wall" - desc = "A wall with diamond plating. You monster." - icon_state = "" - mineral = "diamond" - -/obj/structure/falsewall/phoron - name = "phoron wall" - desc = "A wall with phoron plating. This is definately a bad idea." - icon_state = "" - mineral = "phoron" - -/obj/structure/falsewall/sandstone - name = "sandstone wall" - desc = "A wall with sandstone plating." - icon_state = "" - mineral = "sandstone" diff --git a/code/game/objects/structures/girders.dm b/code/game/objects/structures/girders.dm index a5bd415107..731e19b614 100644 --- a/code/game/objects/structures/girders.dm +++ b/code/game/objects/structures/girders.dm @@ -2,10 +2,18 @@ icon_state = "girder" anchored = 1 density = 1 - layer = 2 + layer = 4 + var/state = 0 var/health = 200 var/cover = 50 //how much cover the girder provides against projectiles. + var/material/reinf_material + +/obj/structure/girder/displaced + icon_state = "displaced" + anchored = 0 + health = 50 + cover = 25 /obj/structure/girder/attack_generic(var/mob/user, var/damage, var/attack_message = "smashes apart", var/wallbreaker) if(!damage || !wallbreaker) @@ -30,136 +38,165 @@ health -= damage ..() if(health <= 0) - new /obj/item/stack/sheet/metal(get_turf(src)) - del(src) + dismantle() return +/obj/structure/girder/proc/reset_girder() + cover = initial(cover) + health = min(health,initial(health)) + state = 0 + icon_state = initial(icon_state) + if(reinf_material) + reinforce_girder() + /obj/structure/girder/attackby(obj/item/W as obj, mob/user as mob) if(istype(W, /obj/item/weapon/wrench) && state == 0) - if(anchored && !istype(src,/obj/structure/girder/displaced)) + if(anchored && !reinf_material) playsound(src.loc, 'sound/items/Ratchet.ogg', 100, 1) - user << "\blue Now disassembling the girder" + user << "Now disassembling the girder..." if(do_after(user,40)) if(!src) return - user << "\blue You dissasembled the girder!" + user << "You dissasembled the girder!" dismantle() else if(!anchored) playsound(src.loc, 'sound/items/Ratchet.ogg', 100, 1) - user << "\blue Now securing the girder" + user << "Now securing the girder..." if(get_turf(user, 40)) - user << "\blue You secured the girder!" - new/obj/structure/girder( src.loc ) - del(src) + user << "You secured the girder!" + reset_girder() else if(istype(W, /obj/item/weapon/pickaxe/plasmacutter)) - user << "\blue Now slicing apart the girder" + user << "Now slicing apart the girder..." if(do_after(user,30)) if(!src) return - user << "\blue You slice apart the girder!" + user << "You slice apart the girder!" dismantle() else if(istype(W, /obj/item/weapon/pickaxe/diamonddrill)) - user << "\blue You drill through the girder!" + user << "You drill through the girder!" dismantle() - else if(istype(W, /obj/item/weapon/screwdriver) && state == 2 && istype(src,/obj/structure/girder/reinforced)) + else if(istype(W, /obj/item/weapon/screwdriver) && state == 2) playsound(src.loc, 'sound/items/Screwdriver.ogg', 100, 1) - user << "\blue Now unsecuring support struts" + user << "Now unsecuring support struts..." if(do_after(user,40)) if(!src) return - user << "\blue You unsecured the support struts!" + user << "You unsecured the support struts!" state = 1 - else if(istype(W, /obj/item/weapon/wirecutters) && istype(src,/obj/structure/girder/reinforced) && state == 1) + else if(istype(W, /obj/item/weapon/wirecutters) && state == 1) playsound(src.loc, 'sound/items/Wirecutter.ogg', 100, 1) - user << "\blue Now removing support struts" + user << "Now removing support struts..." if(do_after(user,40)) if(!src) return - user << "\blue You removed the support struts!" - new/obj/structure/girder( src.loc ) - del(src) + user << "You removed the support struts!" + reinf_material.place_dismantled_product(get_turf(src)) + reinf_material = null + reset_girder() - else if(istype(W, /obj/item/weapon/crowbar) && state == 0 && anchored ) + else if(istype(W, /obj/item/weapon/crowbar) && state == 0 && anchored) playsound(src.loc, 'sound/items/Crowbar.ogg', 100, 1) - user << "\blue Now dislodging the girder" + user << "Now dislodging the girder..." if(do_after(user, 40)) if(!src) return - user << "\blue You dislodged the girder!" - new/obj/structure/girder/displaced( src.loc ) - del(src) - - else if(istype(W, /obj/item/stack/sheet/plasteel)) - var/obj/item/stack/sheet/S = W - if(!anchored) - if(S.use(2)) - user << "\blue You create a false wall! Push on it to open or close the passage." - new /obj/structure/falserwall (src.loc) - del(src) - else - if (src.icon_state == "reinforced") //I cant believe someone would actually write this line of code... - if(S.get_amount() < 1) return ..() - user << "Now finalising reinforced wall." - if(do_after(user, 50)) - if (S.use(1)) - user << "Wall fully reinforced!" - var/turf/Tsrc = get_turf(src) - Tsrc.ChangeTurf(/turf/simulated/wall/r_wall) - for(var/turf/simulated/wall/r_wall/X in Tsrc.loc) - if(X) X.add_hiddenprint(usr) - del(src) - return - else - if(S.get_amount() < 1) return ..() - user << "Now reinforcing girders..." - if (do_after(user,60)) - if(S.use(1)) - user << "Girders reinforced!" - new/obj/structure/girder/reinforced( src.loc ) - del(src) - return + user << "You dislodged the girder!" + icon_state = "displaced" + anchored = 0 + health = 50 + cover = 25 else if(istype(W, /obj/item/stack/sheet)) var/obj/item/stack/sheet/S = W - var/material/M = name_to_mineral[S.sheettype] + if(S.get_amount() < 2) + return ..() + + var/material/M = name_to_material[S.sheettype] + if(!istype(M)) + return ..() + + var/wall_fake add_hiddenprint(usr) - if(!anchored) - if(!istype(M) || !M.walltype_false) - user << "You cannot make a false wall using this material." - return - if(S.use(2)) - user << "You create a false wall! Push on it to open or close the passage." - new M.walltype_false (src.loc) - del(src) - else - if(!istype(M) || !M.walltype_solid) - user << "You cannot plate a wall in this material." - return - if(S.get_amount() < 2) - return ..() - user << "Now adding plating..." - if (do_after(user,40)) - if (S.use(2)) - user << "You added the plating!" - var/turf/Tsrc = get_turf(src) - Tsrc.ChangeTurf(M.walltype_solid) - for(var/turf/simulated/wall/X in Tsrc.loc) - if(X) - X.add_hiddenprint(usr) - del(src) + if(M.integrity < 50) + user << "This material is too soft for use in wall construction." return + user << "You begin adding the plating..." + + if(!do_after(user,40) || !S.use(2)) + return + + if(anchored) + user << "You added the plating!" + else + user << "You create a false wall! Push on it to open or close the passage." + wall_fake = 1 + + var/turf/Tsrc = get_turf(src) + Tsrc.ChangeTurf(/turf/simulated/wall) + var/turf/simulated/wall/T = get_turf(src) + T.set_material(M, reinf_material) + if(wall_fake) + T.can_open = 1 + T.add_hiddenprint(usr) + del(src) + return + else if(istype(W, /obj/item/pipe)) var/obj/item/pipe/P = W if (P.pipe_type in list(0, 1, 5)) //simple pipes, simple bends, and simple manifolds. user.drop_item() P.loc = src.loc - user << "\blue You fit the pipe into the [src]!" + user << "You fit the pipe into the [src]!" else ..() +/obj/structure/girder/proc/reinforce_girder() + cover = reinf_material.hardness + health = 500 + state = 2 + icon_state = "reinforced" + +/obj/structure/girder/verb/reinforce_with_material() + set name = "Reinforce girder" + set desc = "Reinforce a girder with metal." + set src in view(1) + + var/mob/living/user = usr + if(!istype(user) || !(user.l_hand || user.r_hand)) + return + + if(reinf_material) + user << "\The [src] is already reinforced." + return + + var/obj/item/stack/sheet/S = user.l_hand + if(!istype(S)) + S = user.r_hand + if(!istype(S)) + user << "You cannot plate \the [src] with that." + return + + if(S.get_amount() < 2) + user << "There is not enough material here to reinforce the girder." + return + + var/material/M = name_to_material[S.sheettype] + if(!istype(M) || M.integrity < 50) + user << "You cannot reinforce \the [src] with that; it is too soft." + return + + user << "Now reinforcing..." + if (!do_after(user,40) || !S.use(2)) + return + user << "You added reinforcement!" + + reinf_material = M + reinforce_girder() + + /obj/structure/girder/proc/dismantle() new /obj/item/stack/sheet/metal(get_turf(src)) del(src) @@ -175,7 +212,6 @@ if(prob(40)) del(src) - /obj/structure/girder/ex_act(severity) switch(severity) if(1.0) @@ -183,101 +219,38 @@ return if(2.0) if (prob(30)) - var/remains = pick(/obj/item/stack/rods,/obj/item/stack/sheet/metal) - new remains(loc) - del(src) + dismantle() return if(3.0) if (prob(5)) - var/remains = pick(/obj/item/stack/rods,/obj/item/stack/sheet/metal) - new remains(loc) - del(src) + dismantle() return else return -/obj/structure/girder/displaced - icon_state = "displaced" - anchored = 0 - health = 50 - cover = 25 - -/obj/structure/girder/reinforced - icon_state = "reinforced" - state = 2 - health = 500 - cover = 80 - -/obj/structure/cultgirder +/obj/structure/girder/cult icon= 'icons/obj/cult.dmi' icon_state= "cultgirder" - anchored = 1 - density = 1 - layer = 2 - var/health = 250 - var/cover = 70 + health = 250 + cover = 70 -/obj/structure/cultgirder/attack_generic(var/mob/user, var/damage, var/attack_message = "smashes apart", var/wallbreaker) - if(!damage || !wallbreaker) - return 0 - visible_message("[user] [attack_message] the [src]!") - dismantle() - return 1 - -/obj/structure/cultgirder/proc/dismantle() +/obj/structure/girder/cult/dismantle() new /obj/effect/decal/remains/human(get_turf(src)) del(src) -/obj/structure/cultgirder/attackby(obj/item/W as obj, mob/user as mob) +/obj/structure/girder/cult/attackby(obj/item/W as obj, mob/user as mob) if(istype(W, /obj/item/weapon/wrench)) playsound(src.loc, 'sound/items/Ratchet.ogg', 100, 1) - user << "\blue Now disassembling the girder" + user << "Now disassembling the girder..." if(do_after(user,40)) - user << "\blue You dissasembled the girder!" + user << "You dissasembled the girder!" dismantle() - else if(istype(W, /obj/item/weapon/pickaxe/plasmacutter)) - user << "\blue Now slicing apart the girder" + user << "Now slicing apart the girder..." if(do_after(user,30)) - user << "\blue You slice apart the girder!" + user << "You slice apart the girder!" dismantle() - else if(istype(W, /obj/item/weapon/pickaxe/diamonddrill)) - user << "\blue You drill through the girder!" + user << "You drill through the girder!" new /obj/effect/decal/remains/human(get_turf(src)) dismantle() - -/obj/structure/cultgirder/blob_act() - if(prob(40)) - dismantle() - -/obj/structure/cultgirder/bullet_act(var/obj/item/projectile/Proj) //No beam check- How else will you destroy the cult girder with silver bullets????? - //Girders only provide partial cover. There's a chance that the projectiles will just pass through. (unless you are trying to shoot the girder) - if(Proj.original != src && !prob(cover)) - return -1 //pass through - - //Tasers and the like should not damage cultgirders. - if(!(Proj.damage_type == BRUTE || Proj.damage_type == BURN)) - return - - health -= Proj.damage - ..() - if(health <= 0) - dismantle() - return - -/obj/structure/cultgirder/ex_act(severity) - switch(severity) - if(1.0) - del(src) - return - if(2.0) - if (prob(30)) - dismantle() - return - if(3.0) - if (prob(5)) - dismantle() - return - else - return diff --git a/code/game/objects/structures/mineral_doors.dm b/code/game/objects/structures/mineral_doors.dm index abc9c2150a..2ac2301a94 100644 --- a/code/game/objects/structures/mineral_doors.dm +++ b/code/game/objects/structures/mineral_doors.dm @@ -119,7 +119,7 @@ Dismantle(1) proc/Dismantle(devastated = 0) - var/material/M = name_to_mineral[mineralType] + var/material/M = name_to_material[mineralType] if(istype(M)) for(var/i = (devastated? 1 : 3), i <= oreAmount, i++) new M.stack_type(get_turf(src)) diff --git a/code/game/smoothwall.dm b/code/game/smoothwall.dm deleted file mode 100644 index 7692ea8e50..0000000000 --- a/code/game/smoothwall.dm +++ /dev/null @@ -1,141 +0,0 @@ -//Separate dm because it relates to two types of atoms + ease of removal in case it's needed. -//Also assemblies.dm for falsewall checking for this when used. -//I should really make the shuttle wall check run every time it's moved, but centcom uses unsimulated floors so !effort - -/atom/proc/relativewall() //atom because it should be useable both for walls and false walls - if(istype(src,/turf/simulated/floor/vault)||istype(src,/turf/simulated/wall/vault)) //HACK!!! - return - - var/junction = 0 //will be used to determine from which side the wall is connected to other walls - - if(!istype(src,/turf/simulated/shuttle/wall)) //or else we'd have wacky shuttle merging with walls action - for(var/turf/simulated/wall/W in orange(src,1)) - if(abs(src.x-W.x)-abs(src.y-W.y)) //doesn't count diagonal walls - junction |= get_dir(src,W) - for(var/obj/structure/falsewall/W in orange(src,1)) - if(abs(src.x-W.x)-abs(src.y-W.y)) //doesn't count diagonal walls - junction |= get_dir(src,W) - for(var/obj/structure/falserwall/W in orange(src,1)) - if(abs(src.x-W.x)-abs(src.y-W.y)) //doesn't count diagonal walls - junction |= get_dir(src,W) - -/* Commenting this out for now until we figure out what to do with shuttle smooth walls, if anything. - As they are now, they sort of work screwy and may need further coding. Or just be scrapped.*/ - /*else - for(var/turf/simulated/shuttle/wall/W in orange(src,1)) - if(abs(src.x-W.x)-abs(src.y-W.y)) //doesn't count diagonal walls - junction |= get_dir(src,W) - for(var/obj/machinery/shuttle/W in orange(src,1)) //stuff like engine and propulsion should merge with walls - if(abs(src.x-W.x)-abs(src.y-W.y)) - junction |= get_dir(src,W) - for(var/obj/machinery/door/W in orange(src,1)) //doors should not result in diagonal walls, it just looks ugly. checking if area is shuttle so it won't merge with the station - if((abs(src.x-W.x)-abs(src.y-W.y)) && (istype(W.loc.loc,/area/shuttle) || istype(W.loc.loc,/area/supply))) - junction |= get_dir(src,W) - for(var/obj/structure/grille/W in orange(src,1)) //same for grilles. checking if area is shuttle so it won't merge with the station - if((abs(src.x-W.x)-abs(src.y-W.y)) && (istype(W.loc.loc,/area/shuttle) || istype(W.loc.loc,/area/supply))) - junction |= get_dir(src,W)*/ - - if(istype(src,/turf/simulated/wall)) - var/turf/simulated/wall/wall = src - wall.icon_state = "[wall.walltype][junction]" - else if (istype(src,/obj/structure/falserwall)) - src.icon_state = "rwall[junction]" - else if (istype(src,/obj/structure/falsewall)) - var/obj/structure/falsewall/fwall = src - fwall.icon_state = "[fwall.mineral][junction]" -/* else if(istype(src,/turf/simulated/shuttle/wall)) - var/newicon = icon; - var/newiconstate = icon_state; - if(junction!=5 && junction!=6 && junction!=9 && junction!=10) //if it's not diagonal, all is well, no additional calculations needed - src.icon_state = "swall[junction]" - else //if it's diagonal, we need to figure out if we're using the floor diagonal or the space diagonal sprite - var/is_floor = 0 - for(var/turf/unsimulated/floor/F in orange(src,1)) - if(abs(src.x-F.x)-abs(src.y-F.y)) - if((15-junction) & get_dir(src,F)) //if there's a floor in at least one of the empty space directions, return 1 - is_floor = 1 - newicon = F.icon - newiconstate = F.icon_state //we'll save these for later - for(var/turf/simulated/floor/F in orange(src,1)) - if(abs(src.x-F.x)-abs(src.y-F.y)) - if((15-junction) & get_dir(src,F)) //if there's a floor in at least one of the empty space directions, return 1 - is_floor = 1 - newicon = F.icon - newiconstate = F.icon_state //we'll save these for later - for(var/turf/simulated/shuttle/floor/F in orange(src,1)) - if(abs(src.x-F.x)-abs(src.y-F.y)) - if((15-junction) & get_dir(src,F)) //if there's a floor in at least one of the empty space directions, return 1 - is_floor = 1 - newicon = F.icon - newiconstate = F.icon_state //we'll save these for later - if(is_floor) //if is_floor = 1, we use the floor diagonal sprite - src.icon = newicon; //we'll set the floor's icon to the floor next to it and overlay the wall segment. shuttle floor sprites have priority - src.icon_state = newiconstate; // - src.overlays += icon('icons/turf/shuttle.dmi',"swall_f[junction]") - else //otherwise, the space one - src.icon_state = "swall_s[junction]"*/ - - return - -/atom/proc/relativewall_neighbours() - for(var/turf/simulated/wall/W in range(src,1)) - W.relativewall() - for(var/obj/structure/falsewall/W in range(src,1)) - W.relativewall() - W.update_icon()//Refreshes the wall to make sure the icons don't desync - for(var/obj/structure/falserwall/W in range(src,1)) - W.relativewall() - return - -/turf/simulated/wall/New() - relativewall_neighbours() - ..() - -/*/turf/simulated/shuttle/wall/New() - - spawn(20) //testing if this will make /obj/machinery/shuttle and /door count - It does, it stays. - if(src.icon_state in list("wall1", "wall", "diagonalWall", "wall_floor", "wall_space")) //so wizard den, syndie shuttle etc will remain black - for(var/turf/simulated/shuttle/wall/W in range(src,1)) - W.relativewall() - - ..()*/ - -/turf/simulated/wall/Del() - spawn(10) - for(var/turf/simulated/wall/W in range(src,1)) - W.relativewall() - - for(var/obj/structure/falsewall/W in range(src,1)) - W.relativewall() - - for(var/direction in cardinal) - for(var/obj/effect/plant/shroom in get_step(src,direction)) - if(!shroom.floor) //shrooms drop to the floor - shroom.floor = 1 - shroom.update_icon() - shroom.pixel_x = 0 - shroom.pixel_y = 0 - - ..() - -/turf/simulated/wall/relativewall() - if(istype(src,/turf/simulated/wall/vault)) //HACK!!! - return - - var/junction = 0 //will be used to determine from which side the wall is connected to other walls - - for(var/turf/simulated/wall/W in orange(src,1)) - if(abs(src.x-W.x)-abs(src.y-W.y)) //doesn't count diagonal walls - if(mineral == W.mineral)//Only 'like' walls connect -Sieve - junction |= get_dir(src,W) - for(var/obj/structure/falsewall/W in orange(src,1)) - if(abs(src.x-W.x)-abs(src.y-W.y)) //doesn't count diagonal walls - if(mineral == W.mineral) - junction |= get_dir(src,W) - for(var/obj/structure/falserwall/W in orange(src,1)) - if(abs(src.x-W.x)-abs(src.y-W.y)) //doesn't count diagonal walls - if(mineral == W.mineral) - junction |= get_dir(src,W) - var/turf/simulated/wall/wall = src - wall.icon_state = "[wall.walltype][junction]" - return \ No newline at end of file diff --git a/code/game/turfs/simulated/wall_attacks.dm b/code/game/turfs/simulated/wall_attacks.dm new file mode 100644 index 0000000000..9ff4ae5ba3 --- /dev/null +++ b/code/game/turfs/simulated/wall_attacks.dm @@ -0,0 +1,315 @@ +//Interactions +/turf/simulated/wall/proc/toggle_open(var/mob/user) + + if(can_open == WALL_OPENING) + return + + if(density) + can_open = WALL_OPENING + set_wall_state("[material.icon_base]fwall_open") + //flick("[material.icon_base]fwall_opening", src) + sleep(15) + density = 0 + SetOpacity(0) + else + can_open = WALL_OPENING + //flick("[material.icon_base]fwall_closing", src) + set_wall_state("[material.icon_base]0") + density = 1 + sleep(15) + SetOpacity(1) + + can_open = WALL_CAN_OPEN + update_icon() + +/turf/simulated/wall/proc/fail_smash(var/mob/user) + user << "You smash against the wall!" + take_damage(rand(25,75)) + +/turf/simulated/wall/proc/success_smash(var/mob/user) + user << "You smash through the wall!" + spawn(1) + dismantle_wall(1) + +/turf/simulated/wall/proc/try_touch(var/mob/user, var/rotting) + + if(rotting) + if(reinf_material) + user << "\The [reinf_material.display_name] feels porous and crumbly." + else + user << "\The [material.display_name] crumbles under your touch!" + dismantle_wall() + return 1 + + if(..()) return 1 + + if(!can_open) + user << "You push the wall, but nothing happens." + playsound(src, 'sound/weapons/Genhit.ogg', 25, 1) + else + toggle_open(user) + return 0 + + +/turf/simulated/wall/attack_hand(var/mob/user) + + radiate() + add_fingerprint(user) + var/rotting = (locate(/obj/effect/overlay/wallrot) in src) + if (HULK in user.mutations) + if (rotting || !prob(material.hardness)) + success_smash(user) + else + fail_smash(user) + return 1 + + try_touch(user, rotting) + +/turf/simulated/wall/attack_generic(var/mob/user, var/damage, var/attack_message, var/wallbreaker) + + radiate() + var/rotting = (locate(/obj/effect/overlay/wallrot) in src) + if(!damage || !wallbreaker) + try_touch(user, rotting) + return + + if(rotting || !prob(material.hardness)) + success_smash(user) + else + fail_smash(user) + return 1 + +/turf/simulated/wall/attackby(obj/item/weapon/W as obj, mob/user as mob) + + if (!user.) + user << "You don't have the dexterity to do this!" + return + + //get the user's location + if(!istype(user.loc, /turf)) return //can't do this stuff whilst inside objects and such + + if(W) + radiate() + if(is_hot(W)) + ignite(is_hot(W)) + + if(locate(/obj/effect/overlay/wallrot) in src) + if(istype(W, /obj/item/weapon/weldingtool) ) + var/obj/item/weapon/weldingtool/WT = W + if( WT.remove_fuel(0,user) ) + user << "You burn away the fungi with \the [WT]." + playsound(src, 'sound/items/Welder.ogg', 10, 1) + for(var/obj/effect/overlay/wallrot/WR in src) + del(WR) + return + else if(!is_sharp(W) && W.force >= 10 || W.force >= 20) + user << "\The [src] crumbles away under the force of your [W.name]." + src.dismantle_wall(1) + return + + //THERMITE related stuff. Calls src.thermitemelt() which handles melting simulated walls and the relevant effects + if(thermite) + if( istype(W, /obj/item/weapon/weldingtool) ) + var/obj/item/weapon/weldingtool/WT = W + if( WT.remove_fuel(0,user) ) + thermitemelt(user) + return + + else if(istype(W, /obj/item/weapon/pickaxe/plasmacutter)) + thermitemelt(user) + return + + else if( istype(W, /obj/item/weapon/melee/energy/blade) ) + var/obj/item/weapon/melee/energy/blade/EB = W + + EB.spark_system.start() + user << "You slash \the [src] with \the [EB]; the thermite ignites!" + playsound(src, "sparks", 50, 1) + playsound(src, 'sound/weapons/blade1.ogg', 50, 1) + + thermitemelt(user) + return + + var/turf/T = user.loc //get user's location for delay checks + + if(damage && istype(W, /obj/item/weapon/weldingtool)) + + var/obj/item/weapon/weldingtool/WT = W + + if(!WT.isOn()) + return + + if(WT.remove_fuel(0,user)) + user << "You start repairing the damage to [src]." + playsound(src, 'sound/items/Welder.ogg', 100, 1) + if(do_after(user, max(5, damage / 5)) && WT && WT.isOn()) + user << "You finish repairing the damage to [src]." + take_damage(-damage) + else + user << "You need more welding fuel to complete this task." + return + return + + // Basic dismantling. + if(isnull(construction_stage) || !reinf_material) + + var/cut_delay = 60 - material.cut_delay + var/dismantle_verb + var/dismantle_sound + + if(istype(W,/obj/item/weapon/weldingtool)) + var/obj/item/weapon/weldingtool/WT = W + if(!WT.isOn()) + return + if(!WT.remove_fuel(0,user)) + user << "You need more welding fuel to complete this task." + return + dismantle_verb = "cutting" + dismantle_sound = 'sound/items/Welder.ogg' + cut_delay *= 0.7 + else if(istype(W,/obj/item/weapon/melee/energy/blade)) + dismantle_sound = "sparks" + dismantle_verb = "slicing" + cut_delay *= 0.5 + else if(istype(W,/obj/item/weapon/pickaxe)) + var/obj/item/weapon/pickaxe/P = W + dismantle_verb = P.drill_verb + dismantle_sound = P.drill_sound + cut_delay -= P.digspeed + + if(dismantle_verb) + + user << "You begin [dismantle_verb] through the outer plating." + if(dismantle_sound) + playsound(src, dismantle_sound, 100, 1) + + if(cut_delay<0) + cut_delay = 0 + + if(!do_after(user,cut_delay)) + return + + user << "You remove the outer plating." + dismantle_wall() + user.visible_message("The wall was torn open by [user]!") + return + + //Reinforced dismantling. + else + switch(construction_stage) + if(6) + if (istype(W, /obj/item/weapon/wirecutters)) + playsound(src, 'sound/items/Wirecutter.ogg', 100, 1) + construction_stage = 5 + //src.icon_state = "r_wall-1" + //new /obj/item/stack/rods( src ) + user << "You cut the outer grille." + return + if(5) + if (istype(W, /obj/item/weapon/screwdriver)) + user << "You begin removing the support lines." + playsound(src, 'sound/items/Screwdriver.ogg', 100, 1) + sleep(40) + if(!istype(src, /turf/simulated/wall) || !user || !W || !T ) + return + if(construction_stage == 5 && user.loc == T && user.get_active_hand() == W ) + construction_stage = 4 + //src.icon_state = "r_wall-2" + user << "You remove the support lines." + return + else if( istype(W, /obj/item/stack/rods) ) + var/obj/item/stack/O = W + if(O.get_amount()>0) + O.use(1) + construction_stage = 6 + //src.icon_state = "r_wall" + user << "You replace the outer grille." + if(4) + var/cut_cover + if(istype(W,/obj/item/weapon/weldingtool)) + var/obj/item/weapon/weldingtool/WT = W + if(!WT.isOn()) + return + if(WT.remove_fuel(0,user)) + cut_cover=1 + else + user << "You need more welding fuel to complete this task." + return + else if (istype(W, /obj/item/weapon/pickaxe/plasmacutter)) + cut_cover = 1 + + if(cut_cover) + user << "You begin slicing through the metal cover." + playsound(src, 'sound/items/Welder.ogg', 100, 1) + sleep(60) + if( !istype(src, /turf/simulated/wall) || !user || !W || !T ) return + if(construction_stage == 2 && user.loc == T && user.get_active_hand() == W) + construction_stage = 3 + //src.icon_state = "r_wall-3" + user << "You press firmly on the cover, dislodging it." + return + if(3) + if (istype(W, /obj/item/weapon/crowbar)) + user << "You struggle to pry off the cover." + playsound(src, 'sound/items/Crowbar.ogg', 100, 1) + sleep(100) + if( !istype(src, /turf/simulated/wall) || !user || !W || !T ) return + if( construction_stage == 3 && user.loc == T && user.get_active_hand() == W ) + construction_stage = 2 + //src.icon_state = "r_wall-4" + user << "You pry off the cover." + return + if(2) + if (istype(W, /obj/item/weapon/wrench)) + user << "You start loosening the anchoring bolts which secure the support rods to their frame." + playsound(src, 'sound/items/Ratchet.ogg', 100, 1) + sleep(40) + if( !istype(src, /turf/simulated/wall) || !user || !W || !T ) return + if( construction_stage == 4 && user.loc == T && user.get_active_hand() == W ) + construction_stage = 1 + //src.icon_state = "r_wall-5" + user << "You remove the bolts anchoring the support rods." + return + if(1) + + var/cut_cover + if( istype(W, /obj/item/weapon/weldingtool) ) + var/obj/item/weapon/weldingtool/WT = W + if( WT.remove_fuel(0,user) ) + cut_cover=1 + else + user << "You need more welding fuel to complete this task." + return + else if(istype(W, /obj/item/weapon/pickaxe/plasmacutter)) + cut_cover = 1 + + if(cut_cover) + user << "You begin slicing through the support rods." + playsound(src, 'sound/items/Welder.ogg', 100, 1) + sleep(70) + if( !istype(src, /turf/simulated/wall) || !user || !W || !T ) return + if( construction_stage == 5 && user.loc == T && user.get_active_hand() == W ) + construction_stage = 0 + //src.icon_state = "r_wall-6" + //new /obj/item/stack/rods( src ) + user << "The support rods drop out as you cut them loose from the frame." + return + if(0) + if( istype(W, /obj/item/weapon/crowbar) ) + user << "You struggle to pry off the outer sheath." + playsound(src, 'sound/items/Crowbar.ogg', 100, 1) + sleep(100) + if(!istype(src, /turf/simulated/wall) || !user || !W || !T ) return + if(user.loc == T && user.get_active_hand() == W ) + user << "You pry off the outer sheath." + dismantle_wall() + return + + if(istype(W,/obj/item/frame)) + var/obj/item/frame/F = W + F.try_build(src) + return + + else if(!istype(W,/obj/item/weapon/rcd) && !istype(W, /obj/item/weapon/reagent_containers)) + return attack_hand(user) + diff --git a/code/game/turfs/simulated/wall_icon.dm b/code/game/turfs/simulated/wall_icon.dm new file mode 100644 index 0000000000..a4074c9139 --- /dev/null +++ b/code/game/turfs/simulated/wall_icon.dm @@ -0,0 +1,121 @@ +/turf/simulated/wall/proc/update_material() + + if(!material) + return + + if(reinf_material) + construction_stage = 6 + else + construction_stage = null + if(!material) + material = name_to_material["steel"] + if(material) + explosion_resistance = material.explosion_resistance + if(reinf_material && reinf_material.explosion_resistance > explosion_resistance) + explosion_resistance = reinf_material.explosion_resistance + + if(reinf_material) + name = "reinforced [material.display_name] wall" + desc = "It seems to be a section of hull reinforced with [reinf_material.display_name] and plated with [material.display_name]." + else + name = "[material.display_name] wall" + desc = "It seems to be a section of hull plated with [material.display_name]." + + set_wall_state("[material.icon_base]0") + + if(material.opacity > 0.5 && !opacity) + SetOpacity(1) + else if(material.opacity < 0.5 && opacity) + SetOpacity(0) + + update_icon() + check_relatives() + +/turf/simulated/wall/proc/set_wall_state(var/new_state) + + if(!material) + return + + if(new_state) + last_state = new_state + else if(last_state) + new_state = last_state + else + return + + overlays.Cut() + + if(!wall_cache["[new_state]-[material.icon_colour]"]) + var/image/I = image(icon='icons/turf/wall_masks.dmi',icon_state="[new_state]") + I.color = material.icon_colour + wall_cache["[new_state]-[material.icon_colour]"] = I + overlays |= wall_cache["[new_state]-[material.icon_colour]"] + if(reinf_material) + if(!wall_cache["[material.icon_reinf]-[reinf_material.icon_colour]"]) + var/image/I = image(icon='icons/turf/wall_masks.dmi',icon_state="[material.icon_reinf]") + I.color = reinf_material.icon_colour + wall_cache["[material.icon_reinf]-[reinf_material.icon_colour]"] = I + overlays |= wall_cache["[material.icon_reinf]-[reinf_material.icon_colour]"] + +/turf/simulated/wall/proc/set_material(var/material/newmaterial, var/material/newrmaterial) + material = newmaterial + reinf_material = newrmaterial + check_relatives() + check_relatives(1) + +/turf/simulated/wall/proc/update_icon() + + if(!material) + return + + if(!damage_overlays[1]) //list hasn't been populated + generate_overlays() + + if(density) + check_relatives(1) + else + set_wall_state("[material.icon_base]fwall_open") + + var/overlay = round(damage / material.integrity * damage_overlays.len) + 1 + if(overlay > damage_overlays.len) + overlay = damage_overlays.len + if(density) + if(damage_overlay && overlay == damage_overlay) //No need to update. + return + overlays += damage_overlays[overlay] + damage_overlay = overlay + return + +/turf/simulated/wall/proc/generate_overlays() + var/alpha_inc = 256 / damage_overlays.len + + for(var/i = 1; i <= damage_overlays.len; i++) + var/image/img = image(icon = 'icons/turf/walls.dmi', icon_state = "overlay_damage") + img.blend_mode = BLEND_MULTIPLY + img.alpha = (i * alpha_inc) - 1 + damage_overlays[i] = img + +//Smoothwall code. update_self for relativewall(), not for relativewall_neighbors() +/turf/simulated/wall/proc/check_relatives(var/update_self) + if(!material) + return + var/junction + if(update_self) + junction = 0 + for(var/checkdir in cardinal) + var/turf/simulated/wall/T = get_step(src, checkdir) + if(!istype(T) || !T.material) + continue + if(T.material && can_join_with(T)) + if(update_self) + junction |= get_dir(src,T) //Not too sure why, but using checkdir just breaks walls. + else + T.check_relatives(1) + if(!isnull(junction)) + set_wall_state("[material.icon_base][junction]") + return + +/turf/simulated/wall/proc/can_join_with(var/turf/simulated/wall/W) + if(material && W.material && material.name == W.material.name) + return 1 + return 0 \ No newline at end of file diff --git a/code/game/turfs/simulated/wall_types.dm b/code/game/turfs/simulated/wall_types.dm new file mode 100644 index 0000000000..22909cc0e7 --- /dev/null +++ b/code/game/turfs/simulated/wall_types.dm @@ -0,0 +1,43 @@ +/turf/simulated/wall/r_wall + icon_state = "rgeneric" +/turf/simulated/wall/r_wall/New(var/newloc) + ..(newloc, "steel","plasteel") //3strong +/turf/simulated/wall/cult + icon_state = "cult" +/turf/simulated/wall/cult/New(var/newloc) + ..(newloc,"cult","cult2") + +/turf/unsimulated/wall/cult + name = "cult wall" + desc = "Hideous images dance beneath the surface." + icon = 'icons/turf/wall_masks.dmi' + icon_state = "cult" + + +/turf/simulated/wall/iron/New(var/newloc) + ..(newloc,"iron") +/turf/simulated/wall/uranium/New(var/newloc) + ..(newloc,"uranium") +/turf/simulated/wall/diamond/New(var/newloc) + ..(newloc,"diamond") +/turf/simulated/wall/gold/New(var/newloc) + ..(newloc,"gold") +/turf/simulated/wall/silver/New(var/newloc) + ..(newloc,"silver") +/turf/simulated/wall/phoron/New(var/newloc) + ..(newloc,"phoron") +/turf/simulated/wall/sandstone/New(var/newloc) + ..(newloc,"sandstone") + +/turf/simulated/wall/ironphoron/New(var/newloc) + ..(newloc,"iron","phoron") +/turf/simulated/wall/golddiamond/New(var/newloc) + ..(newloc,"gold","diamond") +/turf/simulated/wall/silvergold/New(var/newloc) + ..(newloc,"silver","gold") +/turf/simulated/wall/sandstonediamond/New(var/newloc) + ..(newloc,"sandstone","diamond") + + +/turf/simulated/wall/cult/New(var/newloc) + ..(newloc,"cult","cult2") \ No newline at end of file diff --git a/code/game/turfs/simulated/walls.dm b/code/game/turfs/simulated/walls.dm index 8fdd9036a7..0163466e48 100644 --- a/code/game/turfs/simulated/walls.dm +++ b/code/game/turfs/simulated/walls.dm @@ -1,29 +1,47 @@ +var/list/global/wall_cache = list() + /turf/simulated/wall name = "wall" desc = "A huge chunk of metal used to seperate rooms." - icon = 'icons/turf/walls.dmi' - var/mineral = "steel" - var/rotting = 0 - - var/damage = 0 - var/damage_cap = 150 //Wall will break down to girders if damage reaches this point - - var/damage_overlay - var/global/damage_overlays[8] - - var/max_temperature = 1800 //K, walls will take damage if they're next to a fire hotter than this - + icon = 'icons/turf/wall_masks.dmi' + icon_state = "generic" opacity = 1 density = 1 blocks_air = 1 - thermal_conductivity = WALL_HEAT_TRANSFER_COEFFICIENT heat_capacity = 312500 //a little over 5 cm thick , 312500 for 1 m by 2.5 m by 0.25 m plasteel wall - var/walltype = "steel" + var/damage = 0 + var/damage_overlay + var/global/damage_overlays[8] + var/active + var/last_event + var/can_open = 0 + var/material/material + var/material/reinf_material + var/last_state + var/construction_stage + +/turf/simulated/wall/New(var/newloc, var/materialtype, var/rmaterialtype) + ..(newloc) + icon_state = "blank" + if(!name_to_material) + populate_material_list() + if(!materialtype) + materialtype = "steel" + material = name_to_material[materialtype] + if(!isnull(rmaterialtype)) + reinf_material = name_to_material[rmaterialtype] + update_material() /turf/simulated/wall/bullet_act(var/obj/item/projectile/Proj) + radiate() + if(istype(Proj,/obj/item/projectile/beam)) + ignite(2500) + else if(istype(Proj,/obj/item/projectile/ion)) + ignite(500) + // Tasers and stuff? No thanks. Also no clone or tox damage crap. if(!(Proj.damage_type == BRUTE || Proj.damage_type == BURN)) return @@ -45,25 +63,29 @@ take_damage(tforce) -/turf/simulated/wall/Del() - for(var/obj/effect/E in src) if(E.name == "Wallrot") del E - ..() +/turf/simulated/wall/proc/clear_plants() + for(var/obj/effect/overlay/wallrot/WR in src) + del(WR) + for(var/obj/effect/plant/plant in range(src, 1)) + if(!plant.floor) //shrooms drop to the floor + plant.floor = 1 + plant.update_icon() + plant.pixel_x = 0 + plant.pixel_y = 0 + plant.update_neighbors() /turf/simulated/wall/ChangeTurf(var/newtype) - for(var/obj/effect/E in src) if(E.name == "Wallrot") del E - for(var/obj/effect/plant/plant in range(1)) - plant.update_neighbors() + clear_plants() ..(newtype) //Appearance - /turf/simulated/wall/examine(mob/user) . = ..(user) if(!damage) user << "It looks fully intact." else - var/dam = damage / damage_cap + var/dam = damage / material.integrity if(dam <= 0.3) user << "It looks slightly damaged." else if(dam <= 0.6) @@ -71,39 +93,9 @@ else user << "It looks heavily damaged." - if(rotting) + if(locate(/obj/effect/overlay/wallrot) in src) user << "There is fungus growing on [src]." -/turf/simulated/wall/proc/update_icon() - if(!damage_overlays[1]) //list hasn't been populated - generate_overlays() - - if(!damage) - overlays.Cut() - return - - var/overlay = round(damage / damage_cap * damage_overlays.len) + 1 - if(overlay > damage_overlays.len) - overlay = damage_overlays.len - - if(damage_overlay && overlay == damage_overlay) //No need to update. - return - - overlays.Cut() - overlays += damage_overlays[overlay] - damage_overlay = overlay - - return - -/turf/simulated/wall/proc/generate_overlays() - var/alpha_inc = 256 / damage_overlays.len - - for(var/i = 1; i <= damage_overlays.len; i++) - var/image/img = image(icon = 'icons/turf/walls.dmi', icon_state = "overlay_damage") - img.blend_mode = BLEND_MULTIPLY - img.alpha = (i * alpha_inc) - 1 - damage_overlays[i] = img - //Damage /turf/simulated/wall/melt() @@ -128,8 +120,11 @@ return /turf/simulated/wall/proc/update_damage() - var/cap = damage_cap - if(rotting) + var/cap = material.integrity + if(reinf_material) + cap += reinf_material.integrity + + if(locate(/obj/effect/overlay/wallrot) in src) cap = cap / 10 if(damage >= cap) @@ -139,42 +134,25 @@ return +/turf/simulated/wall/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume)//Doesn't fucking work because walls don't interact with air :( + ignite(exposed_temperature) + /turf/simulated/wall/adjacent_fire_act(turf/simulated/floor/adj_turf, datum/gas_mixture/adj_air, adj_temp, adj_volume) - if(adj_temp > max_temperature) - take_damage(log(RAND_F(0.9, 1.1) * (adj_temp - max_temperature))) + ignite(adj_temp) + if(adj_temp > material.melting_point) + take_damage(log(RAND_F(0.9, 1.1) * (adj_temp - material.melting_point))) return ..() /turf/simulated/wall/proc/dismantle_wall(devastated=0, explode=0) - if(istype(src,/turf/simulated/wall/r_wall)) - if(!devastated) - playsound(src, 'sound/items/Welder.ogg', 100, 1) - new /obj/structure/girder/reinforced(src) - new /obj/item/stack/sheet/plasteel( src ) - else - new /obj/item/stack/sheet/metal( src ) - new /obj/item/stack/sheet/metal( src ) - new /obj/item/stack/sheet/plasteel( src ) - else if(istype(src,/turf/simulated/wall/cult)) - if(!devastated) - playsound(src, 'sound/items/Welder.ogg', 100, 1) - new /obj/effect/decal/cleanable/blood(src) - new /obj/structure/cultgirder(src) - else - new /obj/effect/decal/cleanable/blood(src) - new /obj/effect/decal/remains/human(src) + playsound(src, 'sound/items/Welder.ogg', 100, 1) + if(reinf_material) + reinf_material.place_dismantled_girder(src, reinf_material) + reinf_material.place_dismantled_product(src,devastated) else - if(!devastated) - playsound(src, 'sound/items/Welder.ogg', 100, 1) - new /obj/structure/girder(src) - var/material/M = name_to_mineral[mineral] - if(istype(M) && M.stack_type) - for(var/x=1;x<(devastated?2:3);x++) - new M.stack_type(src) - else - for(var/x=1;x<(devastated?2:3);x++) - new /obj/item/stack/sheet/metal(src) + material.place_dismantled_girder(src) + material.place_dismantled_product(src,devastated) for(var/obj/O in src.contents) //Eject contents! if(istype(O,/obj/structure/sign/poster)) @@ -206,26 +184,14 @@ // Wall-rot effect, a nasty fungus that destroys walls. /turf/simulated/wall/proc/rot() - if(!rotting) - rotting = 1 - - var/number_rots = rand(2,3) - for(var/i=0, iYou don't have the dexterity to do this!" - return - - //get the user's location - if( !istype(user.loc, /turf) ) return //can't do this stuff whilst inside objects and such - - if(rotting) - if(istype(W, /obj/item/weapon/weldingtool) ) - var/obj/item/weapon/weldingtool/WT = W - if( WT.remove_fuel(0,user) ) - user << "You burn away the fungi with \the [WT]." - playsound(src, 'sound/items/Welder.ogg', 10, 1) - for(var/obj/effect/E in src) if(E.name == "Wallrot") - del E - rotting = 0 - return - else if(!is_sharp(W) && W.force >= 10 || W.force >= 20) - user << "\The [src] crumbles away under the force of your [W.name]." - src.dismantle_wall(1) + if(!active) + if(world.time > last_event+15) + active = 1 + for(var/mob/living/L in range(3,src)) + L.apply_effect(M.radioactivity,IRRADIATE,0) + for(var/turf/simulated/wall/T in range(3,src)) + T.radiate() + last_event = world.time + active = null return - - //THERMITE related stuff. Calls src.thermitemelt() which handles melting simulated walls and the relevant effects - if( thermite ) - if( istype(W, /obj/item/weapon/weldingtool) ) - var/obj/item/weapon/weldingtool/WT = W - if( WT.remove_fuel(0,user) ) - thermitemelt(user) - return - - else if(istype(W, /obj/item/weapon/pickaxe/plasmacutter)) - thermitemelt(user) - return - - else if( istype(W, /obj/item/weapon/melee/energy/blade) ) - var/obj/item/weapon/melee/energy/blade/EB = W - - EB.spark_system.start() - user << "You slash \the [src] with \the [EB]; the thermite ignites!" - playsound(src, "sparks", 50, 1) - playsound(src, 'sound/weapons/blade1.ogg', 50, 1) - - thermitemelt(user) - return - - var/turf/T = user.loc //get user's location for delay checks - - var/cut_delay = 60 - var/material/M = name_to_mineral[mineral] - if(istype(M)) - cut_delay -= M.cut_delay - - //DECONSTRUCTION - if( istype(W, /obj/item/weapon/weldingtool) ) - - var/response = "Dismantle" - if(damage) - response = alert(user, "Would you like to repair or dismantle [src]?", "[src]", "Repair", "Dismantle") - - var/obj/item/weapon/weldingtool/WT = W - - if(WT.remove_fuel(0,user)) - if(response == "Repair") - user << "You start repairing the damage to [src]." - playsound(src, 'sound/items/Welder.ogg', 100, 1) - if(do_after(user, max(5, damage / 5)) && WT && WT.isOn()) - user << "You finish repairing the damage to [src]." - take_damage(-damage) - - else if(response == "Dismantle") - user << "You begin slicing through the outer plating." - playsound(src, 'sound/items/Welder.ogg', 100, 1) - if(!do_after(user,100)) - return - if(WT.isOn()) - user << "You remove the outer plating." - dismantle_wall() - for(var/mob/O in viewers(user, 5)) - O.show_message("The wall was sliced apart by [user]!", 1, "You hear metal being sliced apart.", 2) - return - return - else - user << "You need more welding fuel to complete this task." - return - - else if( istype(W, /obj/item/weapon/pickaxe) ) - - var/obj/item/weapon/pickaxe/P = W - user << "You begin [P.drill_verb] through the outer plating." - if(P.drill_sound) - playsound(src, P.drill_sound, 100, 1) - - cut_delay -= P.digspeed - if(cut_delay<0) - cut_delay = 0 - - if(!do_after(user,cut_delay)) - return - - user << "You remove the outer plating." - dismantle_wall() - for(var/mob/O in viewers(user, 5)) - O.show_message("The wall was torn open by [user]!", 1, "You hear metal being sliced apart.", 2) - return - - else if( istype(W, /obj/item/weapon/melee/energy/blade) ) - var/obj/item/weapon/melee/energy/blade/EB = W - - EB.spark_system.start() - user << "You stab \the [EB] into the wall and begin to slice it apart." - playsound(src, "sparks", 50, 1) - - if(!do_after(user,cut_delay)) - return - - if( !istype(src, /turf/simulated/wall) || !user || !EB || !T ) return - - if( user.loc == T && user.get_active_hand() == W ) - EB.spark_system.start() - playsound(src, "sparks", 50, 1) - playsound(src, 'sound/weapons/blade1.ogg', 50, 1) - dismantle_wall(1) - for(var/mob/O in viewers(user, 5)) - O.show_message("The wall was sliced apart by [user]!", 1, "You hear metal being sliced apart and sparks flying.", 2) - return - - else if(istype(W,/obj/item/apc_frame)) - var/obj/item/apc_frame/AH = W - AH.try_build(src) - return - - else if(istype(W,/obj/item/alarm_frame)) - var/obj/item/alarm_frame/AH = W - AH.try_build(src) - return - - else if(istype(W,/obj/item/firealarm_frame)) - var/obj/item/firealarm_frame/AH = W - AH.try_build(src) - return - - else if(istype(W,/obj/item/light_fixture_frame)) - var/obj/item/light_fixture_frame/AH = W - AH.try_build(src) - return - - else if(istype(W,/obj/item/light_fixture_frame/small)) - var/obj/item/light_fixture_frame/small/AH = W - AH.try_build(src) - return - - else if(istype(W,/obj/item/rust_fuel_compressor_frame)) - var/obj/item/rust_fuel_compressor_frame/AH = W - AH.try_build(src) - return - - else if(istype(W,/obj/item/rust_fuel_assembly_port_frame)) - var/obj/item/rust_fuel_assembly_port_frame/AH = W - AH.try_build(src) - return - - else if(istype(W,/obj/item/weapon/rcd)) //I bitterly resent having to write this. ~Z - return - - else if(istype(W, /obj/item/weapon/reagent_containers)) - return // They tend to have meaningful afterattack - let them apply it without destroying a rotting wall - - else - return attack_hand(user) return + +/turf/simulated/wall/proc/burn(temperature) + spawn(2) + new /obj/structure/girder(src) + src.ChangeTurf(/turf/simulated/floor) + for(var/turf/simulated/floor/target_tile in range(0,src)) + if(material == "phoron") //ergh + target_tile.assume_gas("phoron", 20, 400+T0C) + spawn (0) target_tile.hotspot_expose(temperature, 400) + for(var/turf/simulated/wall/W in range(3,src)) + W.ignite((temperature/4)) + for(var/obj/machinery/door/airlock/phoron/D in range(3,src)) + D.ignite(temperature/4) + +/turf/simulated/wall/proc/ignite(var/exposed_temperature) + + var/material/M = name_to_material[material] + if(!istype(M) || !isnull(M.ignition_point)) + return + if(exposed_temperature > M.ignition_point)//If the temperature of the object is over 300, then ignite + burn(exposed_temperature) + return + ..() + +/turf/simulated/wall/Bumped(AM as mob|obj) + radiate() + ..() + +/turf/simulated/wall/Del() + clear_plants() + check_relatives() + ..() diff --git a/code/game/turfs/simulated/walls_mineral.dm b/code/game/turfs/simulated/walls_mineral.dm deleted file mode 100644 index 32ecc15225..0000000000 --- a/code/game/turfs/simulated/walls_mineral.dm +++ /dev/null @@ -1,121 +0,0 @@ -/turf/simulated/wall/mineral - name = "mineral wall" - desc = "This shouldn't exist" - icon_state = "" - var/last_event = 0 - var/active = null - -/turf/simulated/wall/mineral/gold - name = "gold wall" - desc = "A wall with gold plating. Swag!" - icon_state = "gold0" - walltype = "gold" - -/turf/simulated/wall/mineral/silver - name = "silver wall" - desc = "A wall with silver plating. Shiny!" - icon_state = "silver0" - walltype = "silver" - -/turf/simulated/wall/mineral/diamond - name = "diamond wall" - desc = "A wall with diamond plating. You monster." - icon_state = "diamond0" - walltype = "diamond" - -/turf/simulated/wall/mineral/sandstone - name = "sandstone wall" - desc = "A wall with sandstone plating." - icon_state = "sandstone0" - walltype = "sandstone" - -/turf/simulated/wall/mineral/uranium - name = "uranium wall" - desc = "A wall with uranium plating. This is probably a bad idea." - icon_state = "uranium0" - walltype = "uranium" - -/turf/simulated/wall/mineral/uranium/proc/radiate() - if(!active) - if(world.time > last_event+15) - active = 1 - for(var/mob/living/L in range(3,src)) - L.apply_effect(12,IRRADIATE,0) - for(var/turf/simulated/wall/mineral/uranium/T in range(3,src)) - T.radiate() - last_event = world.time - active = null - return - return - -/turf/simulated/wall/mineral/uranium/attack_hand(mob/user as mob) - radiate() - ..() - -/turf/simulated/wall/mineral/uranium/attackby(obj/item/weapon/W as obj, mob/user as mob) - radiate() - ..() - -/turf/simulated/wall/mineral/uranium/Bumped(AM as mob|obj) - radiate() - ..() - -/turf/simulated/wall/mineral/phoron - name = "phoron wall" - desc = "A wall with phoron plating. This is definately a bad idea." - icon_state = "phoron0" - walltype = "phoron" - mineral = "phoron" - -/turf/simulated/wall/mineral/phoron/attackby(obj/item/weapon/W as obj, mob/user as mob) - if(is_hot(W) > 300)//If the temperature of the object is over 300, then ignite - ignite(is_hot(W)) - return - ..() - -/turf/simulated/wall/mineral/phoron/proc/PhoronBurn(temperature) - spawn(2) - new /obj/structure/girder(src) - src.ChangeTurf(/turf/simulated/floor) - for(var/turf/simulated/floor/target_tile in range(0,src)) - target_tile.assume_gas("phoron", 20, 400+T0C) - spawn (0) target_tile.hotspot_expose(temperature, 400) - for(var/obj/structure/falsewall/phoron/F in range(3,src))//Hackish as fuck, but until temperature_expose works, there is nothing I can do -Sieve - var/turf/T = get_turf(F) - T.ChangeTurf(/turf/simulated/wall/mineral/phoron/) - del (F) - for(var/turf/simulated/wall/mineral/phoron/W in range(3,src)) - W.ignite((temperature/4))//Added so that you can't set off a massive chain reaction with a small flame - for(var/obj/machinery/door/airlock/phoron/D in range(3,src)) - D.ignite(temperature/4) - -/turf/simulated/wall/mineral/phoron/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume)//Doesn't fucking work because walls don't interact with air :( - if(exposed_temperature > 300) - PhoronBurn(exposed_temperature) - -/turf/simulated/wall/mineral/phoron/proc/ignite(exposed_temperature) - if(exposed_temperature > 300) - PhoronBurn(exposed_temperature) - -/turf/simulated/wall/mineral/phoron/bullet_act(var/obj/item/projectile/Proj) - if(istype(Proj,/obj/item/projectile/beam)) - PhoronBurn(2500) - else if(istype(Proj,/obj/item/projectile/ion)) - PhoronBurn(500) - ..() - -/* -/turf/simulated/wall/mineral/proc/shock() - if (electrocute_mob(user, C, src)) - var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread - s.set_up(5, 1, src) - s.start() - return 1 - else - return 0 - -/turf/simulated/wall/mineral/proc/attackby(obj/item/weapon/W as obj, mob/user as mob) - if((mineral == "gold") || (mineral == "silver")) - if(shocked) - shock() -*/ diff --git a/code/game/turfs/simulated/walls_misc.dm b/code/game/turfs/simulated/walls_misc.dm deleted file mode 100644 index fdc5d92995..0000000000 --- a/code/game/turfs/simulated/walls_misc.dm +++ /dev/null @@ -1,8 +0,0 @@ -/turf/simulated/wall/cult - name = "wall" - desc = "The patterns engraved on the wall seem to shift as you try to focus on them. You feel sick" - icon_state = "cult" - walltype = "cult" - -/turf/unsimulated/wall/cult/cultify() - return diff --git a/code/game/turfs/simulated/walls_reinforced.dm b/code/game/turfs/simulated/walls_reinforced.dm deleted file mode 100644 index 497371eb5f..0000000000 --- a/code/game/turfs/simulated/walls_reinforced.dm +++ /dev/null @@ -1,307 +0,0 @@ -/turf/simulated/wall/r_wall - name = "reinforced wall" - desc = "A huge chunk of reinforced metal used to seperate rooms." - icon_state = "r_wall" - opacity = 1 - density = 1 - - damage_cap = 800 - max_temperature = 6000 - - walltype = "rwall" - - var/d_state = 0 - -/turf/simulated/wall/r_wall - hulk_destroy_prob = 10 - hulk_take_damage = 0 - rotting_destroy_touch = 0 - rotting_touch_message = "\blue This wall feels rather unstable." - -/turf/simulated/wall/r_wall/attack_generic(var/mob/user, var/damage, var/attack_message, var/wallbreaker) - if(!rotting && wallbreaker < 2) - user << "You push the wall but nothing happens." - return - - return ..() - -/turf/simulated/wall/r_wall/attackby(obj/item/W as obj, mob/user as mob) - - if (!(istype(user, /mob/living/carbon/human) || ticker) && ticker.mode.name != "monkey") - user << "You don't have the dexterity to do this!" - return - - //get the user's location - if( !istype(user.loc, /turf) ) return //can't do this stuff whilst inside objects and such - - if(rotting) - if(istype(W, /obj/item/weapon/weldingtool) ) - var/obj/item/weapon/weldingtool/WT = W - if( WT.remove_fuel(0,user) ) - user << "You burn away the fungi with \the [WT]." - playsound(src, 'sound/items/Welder.ogg', 10, 1) - for(var/obj/effect/E in src) if(E.name == "Wallrot") - del E - rotting = 0 - return - else if(!is_sharp(W) && W.force >= 10 || W.force >= 20) - user << "\The [src] crumbles away under the force of your [W.name]." - src.dismantle_wall() - return - - //THERMITE related stuff. Calls src.thermitemelt() which handles melting simulated walls and the relevant effects - if( thermite ) - if( istype(W, /obj/item/weapon/weldingtool) ) - var/obj/item/weapon/weldingtool/WT = W - if( WT.remove_fuel(0,user) ) - thermitemelt(user) - return - - else if(istype(W, /obj/item/weapon/pickaxe/plasmacutter)) - thermitemelt(user) - return - - else if( istype(W, /obj/item/weapon/melee/energy/blade) ) - var/obj/item/weapon/melee/energy/blade/EB = W - - EB.spark_system.start() - user << "You slash \the [src] with \the [EB]; the thermite ignites!" - playsound(src, "sparks", 50, 1) - playsound(src, 'sound/weapons/blade1.ogg', 50, 1) - - thermitemelt(user) - return - - else if(istype(W, /obj/item/weapon/melee/energy/blade)) - user << "This wall is too thick to slice through. You will need to find a different path." - return - - if(damage && istype(W, /obj/item/weapon/weldingtool)) - var/obj/item/weapon/weldingtool/WT = W - if(WT.remove_fuel(0,user)) - user << "You start repairing the damage to [src]." - playsound(src, 'sound/items/Welder.ogg', 100, 1) - if(do_after(user, max(5, damage / 5)) && WT && WT.isOn()) - user << "You finish repairing the damage to [src]." - take_damage(-damage) - return - else - user << "You need more welding fuel to complete this task." - return - - var/turf/T = user.loc //get user's location for delay checks - - //DECONSTRUCTION - switch(d_state) - if(0) - if (istype(W, /obj/item/weapon/wirecutters)) - playsound(src, 'sound/items/Wirecutter.ogg', 100, 1) - src.d_state = 1 - src.icon_state = "r_wall-1" - new /obj/item/stack/rods( src ) - user << "You cut the outer grille." - return - - if(1) - if (istype(W, /obj/item/weapon/screwdriver)) - user << "You begin removing the support lines." - playsound(src, 'sound/items/Screwdriver.ogg', 100, 1) - - sleep(40) - if( !istype(src, /turf/simulated/wall/r_wall) || !user || !W || !T ) return - - if( d_state == 1 && user.loc == T && user.get_active_hand() == W ) - src.d_state = 2 - src.icon_state = "r_wall-2" - user << "You remove the support lines." - return - - //REPAIRING (replacing the outer grille for cosmetic damage) - else if( istype(W, /obj/item/stack/rods) ) - var/obj/item/stack/O = W - src.d_state = 0 - src.icon_state = "r_wall" - relativewall_neighbours() //call smoothwall stuff - user << "You replace the outer grille." - if (O.amount > 1) - O.amount-- - else - del(O) - return - - if(2) - if( istype(W, /obj/item/weapon/weldingtool) ) - var/obj/item/weapon/weldingtool/WT = W - if( WT.remove_fuel(0,user) ) - - user << "You begin slicing through the metal cover." - playsound(src, 'sound/items/Welder.ogg', 100, 1) - - sleep(60) - if( !istype(src, /turf/simulated/wall/r_wall) || !user || !WT || !WT.isOn() || !T ) return - - if( d_state == 2 && user.loc == T && user.get_active_hand() == WT ) - src.d_state = 3 - src.icon_state = "r_wall-3" - user << "You press firmly on the cover, dislodging it." - else - user << "You need more welding fuel to complete this task." - return - - if( istype(W, /obj/item/weapon/pickaxe/plasmacutter) ) - - user << "You begin slicing through the metal cover." - playsound(src, 'sound/items/Welder.ogg', 100, 1) - - sleep(40) - if( !istype(src, /turf/simulated/wall/r_wall) || !user || !W || !T ) return - - if( d_state == 2 && user.loc == T && user.get_active_hand() == W ) - src.d_state = 3 - src.icon_state = "r_wall-3" - user << "You press firmly on the cover, dislodging it." - return - - if(3) - if (istype(W, /obj/item/weapon/crowbar)) - - user << "You struggle to pry off the cover." - playsound(src, 'sound/items/Crowbar.ogg', 100, 1) - - sleep(100) - if( !istype(src, /turf/simulated/wall/r_wall) || !user || !W || !T ) return - - if( d_state == 3 && user.loc == T && user.get_active_hand() == W ) - src.d_state = 4 - src.icon_state = "r_wall-4" - user << "You pry off the cover." - return - - if(4) - if (istype(W, /obj/item/weapon/wrench)) - - user << "You start loosening the anchoring bolts which secure the support rods to their frame." - playsound(src, 'sound/items/Ratchet.ogg', 100, 1) - - sleep(40) - if( !istype(src, /turf/simulated/wall/r_wall) || !user || !W || !T ) return - - if( d_state == 4 && user.loc == T && user.get_active_hand() == W ) - src.d_state = 5 - src.icon_state = "r_wall-5" - user << "You remove the bolts anchoring the support rods." - return - - if(5) - if( istype(W, /obj/item/weapon/weldingtool) ) - var/obj/item/weapon/weldingtool/WT = W - if( WT.remove_fuel(0,user) ) - - user << "You begin slicing through the support rods." - playsound(src, 'sound/items/Welder.ogg', 100, 1) - - sleep(100) - if( !istype(src, /turf/simulated/wall/r_wall) || !user || !WT || !WT.isOn() || !T ) return - - if( d_state == 5 && user.loc == T && user.get_active_hand() == WT ) - src.d_state = 6 - src.icon_state = "r_wall-6" - new /obj/item/stack/rods( src ) - user << "The support rods drop out as you cut them loose from the frame." - else - user << "You need more welding fuel to complete this task." - return - - if( istype(W, /obj/item/weapon/pickaxe/plasmacutter) ) - - user << "You begin slicing through the support rods." - playsound(src, 'sound/items/Welder.ogg', 100, 1) - - sleep(70) - if( !istype(src, /turf/simulated/wall/r_wall) || !user || !W || !T ) return - - if( d_state == 5 && user.loc == T && user.get_active_hand() == W ) - src.d_state = 6 - src.icon_state = "r_wall-6" - new /obj/item/stack/rods( src ) - user << "The support rods drop out as you cut them loose from the frame." - return - - if(6) - if( istype(W, /obj/item/weapon/crowbar) ) - - user << "You struggle to pry off the outer sheath." - playsound(src, 'sound/items/Crowbar.ogg', 100, 1) - - sleep(100) - if( !istype(src, /turf/simulated/wall/r_wall) || !user || !W || !T ) return - - if( user.loc == T && user.get_active_hand() == W ) - user << "You pry off the outer sheath." - dismantle_wall() - return - -//vv OK, we weren't performing a valid deconstruction step or igniting thermite,let's check the other possibilities vv - - //DRILLING - if (istype(W, /obj/item/weapon/pickaxe/diamonddrill)) - - user << "You begin to drill though the wall." - - sleep(200) - if( !istype(src, /turf/simulated/wall/r_wall) || !user || !W || !T ) return - - if( user.loc == T && user.get_active_hand() == W ) - user << "Your drill tears though the last of the reinforced plating." - dismantle_wall() - - //REPAIRING - else if( istype(W, /obj/item/stack/sheet/metal) && d_state ) - var/obj/item/stack/sheet/metal/MS = W - - user << "You begin patching-up the wall with \a [MS]." - - sleep( max(20*d_state,100) ) //time taken to repair is proportional to the damage! (max 10 seconds) - if( !istype(src, /turf/simulated/wall/r_wall) || !user || !MS || !T ) return - - if( user.loc == T && user.get_active_hand() == MS && d_state ) - src.d_state = 0 - src.icon_state = "r_wall" - relativewall_neighbours() //call smoothwall stuff - user << "You repair the last of the damage." - if (MS.amount > 1) - MS.amount-- - else - del(MS) - - //APC - else if( istype(W,/obj/item/apc_frame) ) - var/obj/item/apc_frame/AH = W - AH.try_build(src) - - else if( istype(W,/obj/item/alarm_frame) ) - var/obj/item/alarm_frame/AH = W - AH.try_build(src) - - else if(istype(W,/obj/item/firealarm_frame)) - var/obj/item/firealarm_frame/AH = W - AH.try_build(src) - return - - else if(istype(W,/obj/item/light_fixture_frame)) - var/obj/item/light_fixture_frame/AH = W - AH.try_build(src) - return - - else if(istype(W,/obj/item/light_fixture_frame/small)) - var/obj/item/light_fixture_frame/small/AH = W - AH.try_build(src) - return - - else if(istype(W, /obj/item/weapon/reagent_containers)) - return // They tend to have meaningful afterattack - let them apply it without destroying a rotting wall - - //Finally, CHECKING FOR FALSE WALLS if it isn't damaged - else if(!d_state) - return attack_hand(user) - return \ No newline at end of file diff --git a/code/modules/clothing/glasses/glasses.dm b/code/modules/clothing/glasses/glasses.dm index f033f1e378..fb30591746 100644 --- a/code/modules/clothing/glasses/glasses.dm +++ b/code/modules/clothing/glasses/glasses.dm @@ -271,6 +271,7 @@ icon_state = "thermalimplants" item_state = "syringe_kit" +/* These do not currently work, commenting out pending fixes. /obj/item/clothing/glasses/minerals name = "resonance scanners" desc = "A set of goggles geared towards detecting different concentrations of minerals." @@ -312,8 +313,8 @@ return for(var/obj/effect/mineral/M in range(wearer,6)) // Maybe make a cache for this so multiple miners aren't spawning copies. - ore_nodes += M.scanner_image - if(ore_nodes.len && wearer.client) + ore_nodes |= M.get_scan_overlay() + if(wearer.client) wearer.client.images |= ore_nodes /obj/item/clothing/glasses/minerals/proc/remove_ore_images() @@ -325,7 +326,4 @@ wearer.client.images -= I del(I) ore_nodes.Cut() - -/obj/item/clothing/glasses/minerals/dropped() - remove_ore_images() - wearer = null \ No newline at end of file +*/ \ No newline at end of file diff --git a/code/modules/materials/materials.dm b/code/modules/materials/materials.dm new file mode 100644 index 0000000000..649cb86500 --- /dev/null +++ b/code/modules/materials/materials.dm @@ -0,0 +1,170 @@ +var/list/name_to_material + +/proc/populate_material_list() + name_to_material = list() + for(var/type in typesof(/material) - /material) + var/material/new_mineral = new type + if(!new_mineral.name) + continue + name_to_material[lowertext(new_mineral.name)] = new_mineral + return 1 + +/* + Valid sprite masks: + stone + metal + solid + cult +*/ + +/material + var/name // Tag for use in overlay generation/list population . + var/display_name + var/icon_base = "metal" + var/icon_colour + var/icon_reinf = "reinf_metal" + var/stack_type + var/unmeltable + var/cut_delay = 0 + var/radioactivity + var/ignition_point + var/melting_point = 1800 // K, walls will take damage if they're next to a fire hotter than this + var/integrity = 150 // Damage before wall falls apart, essentially. + var/hardness = 60 // Used to determine if a hulk can punch through this wall. + var/rotting_touch_message = "crumbles under your touch" + var/opacity = 1 + var/explosion_resistance = 5 + +/material/New() + ..() + if(!display_name) + display_name = name + +/material/proc/place_dismantled_girder(var/turf/target, var/material/reinf_material) + var/obj/structure/girder/G = new(target) + if(reinf_material) + G.reinf_material = reinf_material + G.reinforce_girder() + +/material/proc/place_dismantled_product(var/turf/target,var/is_devastated) + for(var/x=1;x<(is_devastated?2:3);x++) + place_sheet(target) + +/material/proc/place_sheet(var/turf/target) + if(stack_type) + new stack_type(target) + +/material/uranium + name = "uranium" + stack_type = /obj/item/stack/sheet/mineral/uranium + radioactivity = 12 + icon_base = "stone" + icon_reinf = "reinf_stone" + icon_colour = "#007A00" + +/material/diamond + name = "diamond" + stack_type = /obj/item/stack/sheet/mineral/diamond + unmeltable = 1 + cut_delay = 60 + icon_colour = "#00FFE1" + opacity = 0.4 + +/material/gold + name = "gold" + stack_type = /obj/item/stack/sheet/mineral/gold + icon_colour = "#EDD12F" + +/material/silver + name = "silver" + stack_type = /obj/item/stack/sheet/mineral/silver + icon_colour = "#D1E6E3" + +/material/phoron + name = "phoron" + stack_type = /obj/item/stack/sheet/mineral/phoron + ignition_point = 300 + icon_base = "stone" + icon_colour = "#FC2BC5" + +/material/sandstone + name = "sandstone" + stack_type = /obj/item/stack/sheet/mineral/sandstone + icon_base = "stone" + icon_reinf = "reinf_stone" + icon_colour = "#D9C179" + +/material/steel + name = "steel" + stack_type = /obj/item/stack/sheet/metal + icon_base = "solid" + icon_reinf = "reinf_over" + icon_colour = "#666666" + +/material/plasteel + name = "plasteel" + stack_type = /obj/item/stack/sheet/plasteel + integrity = 800 + melting_point = 6000 + icon_base = "solid" + icon_reinf = "reinf_over" + icon_colour = "#777777" + explosion_resistance = 25 + +/material/glass + name = "glass" + stack_type = /obj/item/stack/sheet/glass + icon_colour = "#00E1FF" + opacity = 0.3 + +/material/plastic + name = "plastic" + stack_type = /obj/item/stack/sheet/mineral/plastic + icon_base = "solid" + icon_reinf = "reinf_over" + icon_colour = "#CCCCCC" + +/material/osmium + name = "osmium" + stack_type = /obj/item/stack/sheet/mineral/osmium + icon_colour = "#9999FF" + +/material/tritium + name = "tritium" + stack_type = /obj/item/stack/sheet/mineral/tritium + icon_colour = "#777777" + +/material/mhydrogen + name = "mhydrogen" + stack_type = /obj/item/stack/sheet/mineral/mhydrogen + icon_colour = "#E6C5DE" + +/material/platinum + name = "platinum" + stack_type = /obj/item/stack/sheet/mineral/platinum + icon_colour = "#9999FF" + +/material/iron + name = "iron" + stack_type = /obj/item/stack/sheet/mineral/iron + icon_colour = "#5C5454" + +/material/cult + name = "cult" + display_name = "disturbing stone" + icon_base = "cult" + icon_colour = "#402821" + icon_reinf = "reinf_cult" + +/material/cult/place_dismantled_girder(var/turf/target) + new /obj/structure/girder/cult(target) + +/material/cult/place_dismantled_product(var/turf/target) + new /obj/effect/decal/cleanable/blood(target) + +/material/cult/reinf + name = "cult2" + display_name = "human remains" + +/material/cult/reinf/place_dismantled_product(var/turf/target) + new /obj/effect/decal/remains/human(target) diff --git a/code/modules/mining/machine_processing.dm b/code/modules/mining/machine_processing.dm index 86a58dcfcc..de0d92d305 100644 --- a/code/modules/mining/machine_processing.dm +++ b/code/modules/mining/machine_processing.dm @@ -42,8 +42,9 @@ for(var/ore in machine.ores_processing) if(!machine.ores_stored[ore] && !show_all_ores) continue - - dat += "

2&OoME|$ z@2G>#Je#IHypt9%K%LqGrMVAbY}ekrHaMFnreNk8W9}Z*7*93UCP7B1oK{A8ceyH;a;$9 zqN7@y5Bvm44k|^v7i`yF^Tl44-V+rSY0nH8_5$F)moTyo{D-V0Wi9cS@9)2QF?Xzh zkQDx10iuRM0cPf+ak?iw-#<3pq(FsruFiDSmLbzYGkE>@7LPaTvnzPWr(Zws>Yw@> zG?)J@K4mE1yvws%%AzX?kQQAR5djs1b`hfnTel@UKs!J_KI6*~T=o3YnyHf#-Y**{ zLY#VyTkBtCUaBL{7C9rDl52dMsw>(x?H_%jON)U{1d)|}aL-OJ96|k#&-9GUKs8iU zDn0=;V=Cq`$d$lM1F62ivO={@wXpiHR$?l~vfn7~0+#1iQ+EjZPVzn=&|Lma6r!dQ$+avMgPRmVr#aw4|dJbsg%2yG?Dlvpz$$C6Y z>}lpA5XN)AS`GF()xM8GSAPl=4u-G6ul4es?%ox;ih7^w#)Hi&2*^k^&Xjx0KIQEt zjohX5f+gPowo2z*)7d!zUY94m5=Fg~lHBc7i`JFd}uOJd|Lcvlu| zL{^$hCnxoc@r-qc-b+S-%9{nr*hE7S_v0Vqvp4KqN7DQhvM&D4o{q0u&dQz`d@QkX z>(uz<37tEfId-E(&tUWLlLOvNS2eELH7kC8$*AR9^gC|RZ!_L4#c|8*qBIL@Ed!-k zqu_YWu;ldUiJh&jw#>4PUM9?0W4<;x)jDo<^ zbT5j#K7P5g-}DYWB~3Cnc$oh=39AS!S%iXYX*Y$kG}%OeI=v&pNe7A}I|V@U$Qn!h zcs?@}9f?aMIo)Y(RR?J(o30r^6^+CO!%%9TRy|ylSyVtZrQo=>YBtiQx>fw_*ndj6 z#%5!GWwG<2QSauNkcvIAK0`=>j+VIY+{ zyBehmOa}pBnY)njPdbSDlod$ig6=E@gQbV8dl}`4;8z?E-tly!@ua(EV@tMl$pI@s zq7VjM&FaZPcW2qrS$54^RnjhIi>vNp#Dk#SOxo0K<-K{vF~uHNLhHBrHaKDQuXESj z2OszGr|lWuYV!Q9!N>M3+dO~Kh0eQ79K*JC==Mnc(sK17$0nTZe7gVE4K61S4GVV) z+d5w3Wm)R#3)u%x$3B=oc4E?@Rop8ZOXWh=AUoPopVL#q6@vtNyZDj=M(4q3sdPEEJZe@eBpdTOA7DYcq_aAHP2bPl0IT_4+15 zX0VAu@@a!+2B?KbAw1wb%Ct5@S^NA849yE(iOxIqdtR^K`DjJ3PX{Fz-ByM*x8Jv` zt^T|3nvZ_9%N)}*()5**J&Nt#PJ1+^p_{wO@PSDiPbT*mUGLqO8As}EQ?6IH(Q^Oy z1cxN&<_gBHhK>zr(yF+_~)mpf%^-n!=ZDD7VYi`?~S$rR%tJ7qta;D{w*6$Cu zo1f#p+PjZY^{IKkUdseIyq1U`u;6|1VlSv587#TWQYah7xf-=!up#EHk|Tq@y$>is zHtl^r z8nvJWa({qI`q1oKx0>(OBZ3uf%F~~G#7I>d5Jnj}R3O20?peUAROXi|3mZmvd>v<` z3WX*1off+ugD`u2ag7OLJBS2%p(Hj1gX6@`&j#TIB?wt1DmqF9l{0o$_E-&BZqetb zN}eOUTeO~RuOV=&!N^_uj~3Aib)kT#3Bzc@3g|$r5@2z`WPwpJQ%wLyeU6(B7I*4q zD-AD_Gr(Q>4wAuwV~rO*@9*{XU5BH@dcpA(h^%zKfZuC!}v`iSx}mzIlN^_~0CX;GSk{;Rz5 z$c-CH9_F2U{czIM(#kaT234IaJW94ttcWW(_-VRNt7v*j3yt~czvzN}(c56bXjuTt z*=73qaSOI`6zUubf8Jx1MDsP#cUOJKN~lsv}UHg{cX*g0^uOagvm+m8Q<4lQuBk>?v@9bd6eMiyhytiq6dk&zL56(TWD1{|bUtCJ6!b+Ig?p~yt3Z}*^Wppkuec)U??1`RVCTVr13_C#dzG(z%fxQ?KziVD(`-nDcEVYfOZ>++0( zEkLcL_7R?&n=I8Ue}^kckpiD5aoArZqhHfyXN@I?lLjT zSbQefFMhY%kWL?Uw5O*JQ697Y+oM{a@Y84C_W9W~YVm0OOxs1eI&Z%ZP_H;sWO|d; zDB;gmXJ30c*=H3uhq=uVU39)i_Y6=SHamTfhJV2K>}=KC*MSo ziaUs)Zj{=BUJv>4Mla9neOC&|FnwFBCjtOtxJH1sE$NK~dZWRokL=_y7=DLwCk99A z^nUtt_?Ap~9l#k8n!v$|)Dj^KGx<11`^dIrPEcF+Ai#5pEbwmqRV8~@tSksEffPZz;ki4=8Hk zStzry<2j`;I?C7=?A+t=rw<=)(z#BedFS#=T-1H07+ClazDc|S$?pmR_kxxc1E(=) zG^2NGDL=R9=brbRPfyHMVPspD-9reO149xN*~F$a(!UEZy4by0>(Ss_vLq~MnF6dB zZ&=p-gb)6v3GN!IHFy`X8B-MTt-te3QR z$(bJR7QLUGsXOlbg0((*Wwok4H7~|ITy}KL)TpM74|`RN@ATo_xI-V`$JgGj45=Sb zGOx|M525w0{AyR5rV^JPeXs9>r(Lx)*8bR^l(t~Wl!dOY#9|Cv8}@!XMnRrB1z|7T zwQ1YZsSmn6=skVfG*meyfY3_OEIVYHqWnhZ<2*|iO3=F1x3Whp8=suKg&aF(%9P>E znKNZq9M&%{pa0ybb?-nRO)}XP=2dP8h-mWu&!}_<#$(CcdBnhkJLM%8R;^FJOt=^B z>h9J~$yjn;x}*iWAbSjvT155th_x{hSs%sQkm|Cb)|=X1NBz~|ojLncY&dU%g|b8v z2%}-4ODD6v{XKM{Zwnz$#B>&U6QQ3Ey=U<17Pea;6U5)rW{cR8pG;0>A$=>?ibGgV z)!U`&gS#UCu8=P+=Hd)8$W|($*}==smF$~IAUU<*sk-f!m6S%Zv6IIJJ%H)OXsT{G zWl~3=6%%DO?a*Q#mFE|kchEL%Sof4w z^`P>~-9R==0CK;0ECvgnm;*#uSrS}{UD2;%B9 z_FX|r_GbN4EXJBF;!}vCWc%!bMbb$Dev8JL{|Syr3CYC`(YGZRHQc!(^41#GlDPV` z>%X`?ovKjwh*|V))u(q$?xL5|lipFn94*BF!lghe+HCovM3%+s)KsFb2g#Hb(KPtt zD?6G^_JjrX;NvI*czS9yr7%}waSg>u)7O?pgE^kl>`#O`YICWoxQ(nH zq&B8{>+PO5P2&|qD^yf7uZG6JTCV-|BO)?#eXLPvJCh0VFk23;z>(5q603=u0zQ%= zAj7aPWG8`$`;8NpVxe{LzU=#c z^sDPf4H@)eO`|P0l1D8$9bDPBzFYTovGs@csg3eC8hOp=N5XgS-F50s&1hWj-G@e+ zAAe^0%&ER^QlZyn;fHs#w!NzfuXXY}>d;F5ufeD6@annmyYKEB!#kk#3n0LQ+EJF! zUlSJ;$m|Ggt|GnexMz;gwY-_YzvPK2FqsaT%|r2~Js4AtUxUt+~8k3M%qf>4V zRav@CxDVK54F^Dsmrg_~QQF5qSAa#!BM*bOZtRkSl5PuHRelFow1}_)(H~3SQ5a;% z(0{B`+FJ1?L(a>c7aMB85ZTT`A`6EZp1`kHt zgW~ZiRgzOs%wVH`-)pUUB+Sdh)L`JEMPozPhM#wdeQY_vZ&+ zdi%t^m-)<*@%DEX#_jUjp%nVv^PXw1nkQWk{`1d;mCsL~I+?U%R#nZWS|@+~9P1Hn z{_$GfGW?&JXZCFRF^re3YWwrc+o5Rkk@FC{oL|jxs9;q7HBZJY^1E#EM&?B7)XnJ$ zpM_y%uB%4I)P&YenY?2gv`qwe)~vb|y$&cjhK6&X^%wkex-oc>Kn5}+14&5-OG~ju zeE2iQj2o8;gDSJRs6!=M@aMzC9)o&|A30`e-OT3;=4_x{jE=ld1^en{TWU-3f`4 zD0~nGTq*+2CLOEgxOvbR{6`YAL`~FLVn{(#A~U*D3?k_2kKdXC9yHA;lV$?mTa3uM za%HGWb}FJ1sikO6(Y+DG=`(|4pVeM()25tv53B%9rQeOM|QWG`Ig` zCCIwP!0>yy&*RSLx_TbT<<0i{zQC_Ge0X)$vFE3%d?Fh(eq{N`?dNBnsWVejk33H5F?H0iU#VXwvbZ_rt+rbq2rp5e zL9&rxZj2p0I3U)D!A;qwF2ESi2_O(pe<6gphC`7kNyu#R^)Ivl;<-YzBiEA?jA$JW z@Gkc)w-5cHHZbt@J9mK1BzdrfKmsdac-Z#Ypfkx`YPVS&LSDwYBfLVGPz_^61aFXp z#()M>LV6ezQ@ZNdsw32(`k|Kv(wNCyESORSn7p*YgkF#U^Mm(!b-y_rxf1r~B0#<@a>K0FV70|SNw1NlGT z53-}0P)Dz>_im2Jr|6_ta;+6CO_CjtV+P#<`jPekJj43BjltJ`3IKQFPS< z>nslbNJACMkF2X#i~EK5uij&M9%j2dzhK83?`hr&%GnB9KHsO$F0xxzlKf~wzwIyU z)qmy_d0_BYJHrzv>W9u4ciHt-_uW2Sy(3>}R2_P__{fBFwOc-z_N#faG0Hn?arXv_ znipO#d(bc3YG3s~Uw4d5N@P-g*~jNQ2~`R>nKbHMwUuufZKN7$Ff!KtWvJvY0<*RO~XZ1)tyTbf^j=Q#vEj(d7fu z(r&?QZnNSRi>U7M1R74vBY5M1>@j@P<%Yp}yt zR8vqaC!tko7KCn45SAg#S}d`^LkJYW%{^iBb#CRIad%Q{JdkD_S-wGV?4ZR~hyL8> zNyb*@`P$7I-JhQ}`%97Ipqdh!z#9iTs>gbsSdccT&8hLx4!*ZlTI(H}=+t@c|Fi(J z?oPN;;k48Ha;7=9GWLvB0rA{~B*uC%0t`{xnbhv90zbq!f@F;mq?=be3wreZZ9ayZ0qNqN>QY3*W zSiZA>f`}Z5WRt>3*%!ziMu>+CD$jsE3N7hNVa2$sh-F1kk=*5P3U3&y@Gd#f-8*(T zdIiCHQ3lEq1r&yI>lB*S^yoU}R5XHTYA#8ysB<|XvrxRd6z%wn)YODr^Z8@CGzvbN>-w%VX?E!Lo~_phw~q7u;S}PnaH{;P>ya(9 z;{vv&T)lBS=IXtxr)!*oyazQ>R<5zIIMw*;>9DVT{_@&;J0s)Xl(-*IOII1qV}@uw zBi|GZQUXyX26Ka^oO0Ds9WgbG^U|m@9$=h8J3=8~Qy}+aaYExKbGYq=| zb9Dfb`G1~4m_J!jF&BU=u*(1F=nW`A0CbZpIHNp zo8S}&lQ4iG9RsL7!O8_r&^$nJ0F47LVE@7IAOr4s_<7JugPIfE)2{c|EjG%WC575D(Po@)#1^Z&D$HjMh2dk)nobb&)DPi z8`roy?#=*6K){pnD@keJ3uq8}zMRc3Exvs+0()Bya`J<6+oM@x`mzJJUyJ*bO@=?X zHg#yJ;G`Uu_~(U$wDcDi=k)ZJtj$vvPpS$G0YrJcd-2HPzjymO5mq~Y4=o(;SuE-v zp3R+|nr$%pchq_un?w%_wFZZ>Jjly|&FUE#kk_4@1KLVEJGNyTi+5m*9VnZJz`p>p z0zP0}Dgc!yOa%jy?qDATFBn+DU?(EkEl|;d1}hA}b8!C)@Pz}_HUQ@y z3E&u5(moJtz@nYN1TWLxF!)J8?gBdnXqjLn2~ezn8U@I+05T0D?OR+x-UMt6Bdm+` z^{oRG2;dWJmKr#~eNqed2aJ69l@!R*$A80gQucp#|Tw z4KORP>!RoD9GKgnmfVIO4?)cb&|%o%S=g}-!;c~& zr~z>VN{SEQt%qS#MA0is2fRwP00kurD=W+j2;g&k@W8flBrRs15<21v@Oj5eZX60He#sp$|YXz^)kp`wQlv1TsIcgg`W{8bPS#SlTIg za6bWnF5tL42&(11#qVt3_XW`gA)p)wFhAJlC@|+fNb&-E1>iJ5gaziw69dQ>_;@D) zh6JPuU=4sTB@1>cNOkQ8+X@^a=s0PBh6U9C2=xS^;RN6$fK_uK)e{JqV094~zX~TU zBLf?^2>L0|7=UO7&~H%zXqc<{zow%IBEvQ$Nhq>s^1&OPgHx{V#-L{MqkA1*cI`B z9tE`i$iQ;|wEBB1t%6{=%fBT6JSs>}E&#v|aO}bOoJTN(9zn&25TM5?DSa56ZCyYF z4Vpz*HW=8}k-x@(#|Op}*v(dKfYN&a)VrWj264Ecz1#u`Btk+$u(3IyenQ}zF#-?$ zzqIW8dmx&?56voy=o2|^gDv|(puq%R7k2-^7T4d#wW)F)PT06Nb0nC;3owUC;HCnP zAJoqr z;E$l~1E!fVP{ati?-Kx8_+ozs!#au@@F=$Uz+|BW9tCJyz|8}bHv-oRc$*-t4aDuo z0Hh5lU0^jQ*j2!C`yyFaie$HCTvno=3|x zfGPsOdOWaqw`qgSiq{}E0oIFv6jyKpCV+4maH+vkn#;=2L5&8iOMo>3Fa87!K>^Db zX1#@dYhV_Fm1Z#f7Ob`;Al3m{9pFDO?F6>dVU-dT)0c0GYJm6KqHX7`60pARAA&CK_F_=IH3Mgr9z!jqbtnYtR<#UcI@C3m04sw9_ zfq~O7ejO2lxelsnU~>Z1s64nhK|+9Z@iYuj1U?B^xh9;64G?VLegMEPsQEy_?gi#) zz*u-#JtpS@t~gp&RwZi#&|(6wQ5XoLUQsdk!!Yj2dpmM3{mBynFBt0A>u6!hqBS7=ZyO25~Tm9D+#< zJJkSg53~LeREhr&0PY3qZmM{|FnF!QDsOPx0&_6z(uOGj>ro0e~F9bBaMZTJNy*9F(HsKve@%?#szRfYJ)K9KZ-| z7)-;;+5?(V#YAv(;kQtN7pa&C%q9YeHDDvA zz=;ZznfU{v3l>fQZvDPvMnI(lWDo#Az2Kq(^d~%QbRjs1Lo>W#79D^{(XRu(#}af) zz!C_H+J^xSpvD2RK=6IQhtKPbp+Bu*!Q3zl7YT_XSoI)o1mMgdn&8L1^3*@pl>MsT z_8*YK7&WB8v~R$zfuf4=XA&@^07oAPEy9AC7LJqXBY_j+vB;t63J<#u8{l{ME!Uol z&Q$dGQv%DK;V3yV|4g%=IBk0$eB+sbf&o;~K=e(R$#CVU4iG3pe-`ji!Ddm3_y~a0 z8W5}mgRt>cMQQS$0ZJD}=?_r)MuST46Dc+jZNb52N`fmG2y|fMPGRISFoeUHV_2aK zehu(RKr^oa-0VP62OD|?4ht)AW=p@`2A!7Q?OrhesDTe!-rBlk{tE^=dNpt%1Ft)< z$HJ5X0;k}Az+;B@_n_+p6Ig*wG4Gov*!F-cGX*&)AYfU<<1hzoc^HZf+ILuLEev_% zKo_fu%iqtwQ}(dG?Xw!i#@PNb)u#r1I$-nwaudx@muJSP0TqyQhJ=Tz~IYtxbOb zl}vc7uXSO^6H&GM0V_+RJWjgsiALAu9I-}_k4TddR$BILPDAN{wt6)`6dB6yVmywP zAB2>HkV*S?&E$3atv{xDe{ZBbB<^18h1`<*+>`yh3jiQGhp)l2`MBOM_^q9ONFfn( zId0HvdVrTS-5$?;A?VwZ_Uo(IC)aC<%W=^+v3d7T$NNVwuZ9`x6a~;|=y9Lbenom~ zaPuAy!d-$If%3ySLa9j#9vMk`J0b%C9!V4zlO{^KD;TPb{m>nylsE=K72IAVZ(kTa z8XsRU?35_;1;Pu(NRd+4-8I5e8tm0)tC6?AFiAla2^?3+n@iOGk z!_CK`qs?QMqpZzij-i37GSUYr>0SEgOZO6Sowm0Zl4RuWJfax!3j<#$cdu|xyq%y# zh?#$+)$v((Rn#0>tHQplIe#kTa5tQs5&S|yPVmQkAP0em8M+TA9}=}xdWcccgY5;X zg0p$ExChA-Fo~EBBL#|s{}i&Nn&59tnD(2MDkoA*PmhDOLDM`uSwLNyb|I}7Ww0uM zMiM{ACMRKu+rXW+gyMT9;fVOOE;9LuzadSkT zT6fP!Ot<>~$)0D&855_oJw4w05pG_|lMpleb2m6SZP?+$75aVAlH!5l6f)DR5g8U1 z^xv!`cpf6Ek2h;Z`f7O3lb{^@#=`QVhiBoEWT9F$!5#ZRfCev)*d{lJ)MF>46f%vX zt3Br#@75t!g>51JFVmdkkAf6!eg{dQ@YAU8KR^E`NI@5|rX-{=oj#EpZ)kH)AXXT` za&&^C%E+JL&Vi)^`9~Os-Ivc-gjI=&HTl071KhCpBo-CXB(eUZ%d2Iem%}p4rq4w3$oM0~e z(a)F}n{Trs5irf?`s9mQ@*?=j(>p(HRu{MV<>*v7>CB(R&|7cQ_>)FEGOgppP?E+l z@5?f|fAM_EEdt6`N-SKJ$z=gVYi5$6RHT(Q+tp+}1$9cfUZ;z4vF&uDQ*4={FTJbT zuXnX#l-tFXc@X_M+k_eu1|3ZEJ`3XvRAq}8HmV#Cf^yOUiXy^CExM2g-I?ZR&WgI zCYnR0-hDNTP}*SQ-G4oMte-|3xZ+W+4)e8Py^K^cZD#9inK#1&1&T?!AVc2xZgDP( zmF8&uNpiLMrK)Ix27-qUY!n1wB*qPezD9sa-iee-gOaDAlO#sG@+ayu2NKq%?GMN|e z@;nIOQ=7$<50Osh?@d;Vc%7EVUiJyjIY1*>j={wes%L=M@X0fpXpdbH=P$!dQ=gHp)mYAuRG@8+4mU#JWE zTOT#lUfSie*l3ksXi{!CZG0y?5AM5K zb2RzgW>kqbM~X*D5~q%uj&!`**6X5$po#QXs4J0^EsfD?7H_^PGA6}7gsTYS9|vyC z<~#qt7AyVyJqKedZa87z%(~yi|T)~u} zi5ayrLMkh-j~S=xd|--2E=sX_BN#1#u=P)IEE>;TGcN$*&w7j2%uQp>=E`G}_ex7F8$u3BsCf)O*CgMT##^{uVLkpbmOW zze2GTlvRYAn+>z!S83~7DpKsf`6q01u0N}*>S9F(t_t*s2}B>g_BE#t{IL|-Wt(H1 z49ZYUzl~JqBR_dObLo|UtJ1d$rT)1yrjkfX@THg@8#t`g!BZ+qV?6@cCt1z1vAh2i zzB~0%-0$WP1c{|EkO_KVq&5hi%H-mTJCUSW;+8#nHQF6J>0v2cQn~6jo*z5-eRa9} zm^V5%Kt&**m zIPzX5+R4NFYLy}s;jPhZ*xaF;STz1w5$pT=k4dq?qMsfyj?# zxaKC~Jwc+V#Qb_Y-TCFdo&VBNCk)EwQI9EksI^j<=}^}zjO9?V-#+0`P$Iw+_DY+` zy!(DjL5fauk6!0Ix_3K9PDFt1#Bcdah&!6*9k>hs@;(zUSORDS0bJKlF* z`|7KX>Q^L`*LzH)P1`A7-ORgdKk>pzOa6;zwM9UP!+C}4w?jSLMTYbYnvl!NL(;Sn zUr6q!ta@J>;IKaRop&Kc{WW@Dp_5-P4$1?SLAw{@T2?i|MtB0hme*F)$L4R2EGPkv z$D6J0NVo`7V<)2rQ%wkm&e$Y;?r78P3;Y}}X1zI|dJv;fAYgrKU^f)EFfq#w$Bk%rxzI)ne&%l}HJM~VoPJ2^A zy1G`6{yBF(U{q5cZBJcpnIYv$paZk3=|OyBS?0}+a~wQ2@txu-SRkO}dB5~793DPf zrHetjWdZsp-WEmuMa?q<_lRDb#lqu?W`J1Z%fNS`*)n={DRsz(*1zYF@-3H#| zy_4qYw@R^pNBsgbzj4QQc4p^-dwkwSM- zOj)Lcvl0Qj(Cu$7UF0<*^i>}nZrUN`&&8wEh&;?6l}g{~GCv5Ee>O%#AzyJnTd^2^ zq&v<61xhb#ane_&SFtx=4l-QZO(CqXp2YMRgwLc>UQ&VC!z-y$zeP`930{H;6DdFQ zJtvMkB`^n%HrXHr8D7ho6hi&bSSj0F(=sx`#^MOPC(jK9n*=44NT+34H8qB_%H}*9 z+ussftEi9YlN^P_qfH_~C*9nh@~GM+?q^@GUg1i!koe%n>f^rU&1Bcq4wm5Mg8Xpz zoe|^O%0j&+c;Wv~?qR6+CkCwom9jA|jT*dM^$3P#4(6*$_M<3jOq4Yo-s4#223hb` zcb}JtjyDak)QOJz?QwSCM%`SmEb$V*o#uBV5%zNL)6^9xsO7ObwEaWP->q@1A~W69 z(4_%M>3Bi+>v0jPfLQs_fzkDEp{So6B9kZ&zWtY{TjfeLb_;2w5bUY2#;0uIDikem zF~3`NBmGi)$pYgA6|XxG$zN8M$66ANXOCe{TFdf5e6D+#)w~wz5rgX~<}1>0_Zgw! zqt=w5INs_VlY!x;8n&C~kb4Sr880Fq=`a$W^&%U7fx-`*40lu4 z4}r_gA2+bf(u(q-%#a^+XibixH||xDFFdtXm@R0{+}&v@L8saBvzErLRBF<&<5c)X zJ=%bCb*BKe;qj3Pp%-1#+(nP5Zv1zP#wNrgl?HMl|J-d+x{Q0&U+h2aN<$8m!-|(KeMCy0L=YwXR5_^VxuEyWD z`^S6kHk&|)-ucp#Z`reE`p$ogN#mdY@aVHvg^%347Fl|K7{vxAveGL{oG>U0VZLcC zrerZ)EhdFis2_+ZmQ+0=yT89(Q`R9nA(iHE$m{6k0L@XmWb@Wz*J)}EGLoBu4^k_= zePfHSq|_5Jt_rivI*nAfAhrVnQm60t*oKfyeQmdlpbstq9~{073Zne?#$?c~OhZ>W zL#IMowEtiwO@uTJ9Mz$0B5VA4P**}j{OIg8%aAIDQZ4}Fx*O^Wrr(hSiuYO**}_e41b^p^ESx#iRXS1NA9S0McY#PMm6TNU?BbhGQE%Z2mPrO{GQ~qpya{(K zoF8)Aw~m#C`#WXVYN@VSERZrUwF0sB=;Om`qgYu-uCT-jth&yY;1Kfkt#Dma;EEgC zy5ekU$uSN7DJ9du#}rEx*SuE9S`!FvKx*C*%yA;aP0mw0!YA)s`_SRJKp;u&WY|k3 z_=YL#1F_&wLX-iH-c|E>aKDN(7-Osn?V~=g48Wb0n6L7+qVn^=VJuKXcw}w(>XeK* zkj44%R@}#R2qc#ly7yxalHJ1qAlC^o9UgLDCmuDj_`r1{9%@jPWtvI$$70u+x|$ue z*&)(ecxLJRbzXKqT#SLL%N5jv+-rG32z|EMP-8c$SMtxjY)-rF>!n_Ee8$ocy=i{F z?jaPu(}$5_1cbkrpg_J=t9=)_hOx>{9$@@M!kBcYgerW`TBke0K+i{Y)1)a=w^{XM z#%1OFr2I2Zp%{a2Zs!$wCl?NrDv1~6ZO`%Ly^D&$Z7@p?+VGJ@?Dlw^I6jHeF1F z8TC+)fUpLCGJ2dYbVQcK&1Y@HZKFC&uEB##Vh#`?RhRE4GplIq22a#XUO8=AQ*Sw# zo&MT>=!+$)42WMq$u{JXwr!)U(;r4rQkiJX*J zVaV&LEU!r59CgO4KY+T;-> zgwxQkG^@%6abV*4x1>jIYT2c((xlQ0JM#J`=h}wty53YXYXqlR#&HR6&mbQ-gH3?Am9ZDDsscI;pEokf@UXEfE zao+oJ5;H`ZqR7j4>48ZXgpJ^!F%+wp_5-BE-GAEX2XnF3Pf&4$kvJvuQ0#!aLwkW z_NBx5xY3FTWy*j1doFSSS@q!qMVR~+nHAM=yJv;P&qZMm_ao}BfA2oteOexgeW)TzlZ<+1rVpmB>4-DPOxg z$Y(#V#)KWwNsqX>2>l~|-4lcw@RD=5=1P7NF$lf0fA`9G=qnL9L|C-VgrCiGH0MKv z3M-rI)x+sBv#~C&6pnOrWyQwTFUTvQ%(H5qm@RDP!C-Gbtr>w;<>N~t-=NOMvq?L8 z-4+OxGfp3TsW*|Sxa0%VD(&aV0Ad(Q!tT(&u46g?!TL!rpV^^d;h~z zS7PGx8cuU37OHArOof0`Lc~N#R6$JNiETr4`H7!@SFoN&MG}z*_I-H1(kJ{G{S>mu zi&NR86rmF?vl}LrcHJHX(mDypo7eHn!hcB5CxX#JCLZ(jyx8vFdTCsH=Nl9k_Z^|= ztrL>WTRPo>j2%7AvS*W1rn>?i`zk04_z-ia?OX!?Pd0frxF@Ix>ctfXI@;|DsrPLO zm$B@f0pDZ){uQxSU3@7s5jYGb!Oa*fi6zo>?BXDYQcOh0HW2@H;XiqW+h3rT3 z>IG)IAY7x0!@5~`@2KyAqWNuj_MZrvx|8B_GOvfVlZSxW=>!b?yHDXgs^O zGgfJVij`iX^JA8-1PK~aJBOdyuyDu6$6w2G!p0I#=r~Vqgz`9XwIwz@r}aFsD-+D) z(E2ZoVGz0IH|A628Sa;+Io)RxmAT(!KlG3!y*%z=sWw6Wq^&|r*;wsRa)R+D>lYH< z^G=@9;-7X#V%R*?$m)Y|_f@ZH5Y?GO?G;!&%soYo(EAME?8Ol*Mjv7}VCibn|JuZiU~4us3PqO}uP`VUtzKO?(yrasu`4B^z1bg_I~z?U z`GIG9neQm4GXLkL!X?-g2Ol@YWpd8cG=9oc3e)W9E)k07cVa5jbc|S{=0bYJ&nM+y zCjY2H+u;4Rc;~Y9)c?*E8&ReDerQJXwywV4zC$QC!K#5=g^NXz$ZP3B?(~!B!FC`I zbsCfhCuI27X%Ugsc^+*q`aib1eNoAhmZ*9ilJ}S9L6C8%U;K5Nn&UXXf78Zfp|U9Y z3j@BSxBR%1nq+^lj8RJ{v}Jq3K4qs31-*OS{Mv4PU&peR4sED{{yEziv?+^IY_SW! zoaM@5!FEx!^RM-$&CYYG3fOk8G1ER-!6*uXSAFooN}1u>`XTHGK@tl}!g1Wbad;-o zD{1EfG51o5fa;v=xUjvvYU@q;z+tcOPScA$%gcn{_~wXUywwDqUAMQ6tSDhzN!++K zMcUQ%Fs;7N}&bY@});X9FFC=|7q7<>norUamWgG?H)0>oHEmUBFKO6jPNUk%gC>Apu z#W!Ea97Kt%vO`#c9x(E6_e>g#nzG;*^`t)qxrFzIX%(IhP++gUezB9I+Ot&N+Vj)c zb6vgT-+M8Ng{kWz8&<>Qrzsq>&@PWk;qFqT@HBI4c zl)b#KpqurQ#Z*F2LS6`#!Y9Q-)pZF4C=J1j=R6iQF6AoyiJ~8lN#96Vq3;^v%00Th zjO!FeJNAcSPuw@4b)vlg##j?li^Wz1h27;KtSeVd=a@m*40;I!+uWvSZ!>+* z^7D_d!JXjR^yIWq3zRiprjl1+f9YUGBntqwf$abI&JM!(6+*Ifd&WSEyZP#x!lmzd zzPUM&Z5pY-x$=s$H=-Z$RG(@S@W(67hCbT8yYCYA3p4p~LTUkh#{&sURCmZLVod%d zfp^hu+=0(JsOH}>Z0jsPqmZ_`KvG|-_4>g!I7koeao>UWeV`) zVDl`o?j4BM9ls$8^SjVz|30i*)<#^gPx9H_3LSkv$i@ifZ zTcK|3bn`%tU;hD4Q6d&5r0 zodu-lwFK8H0*u z@&bEvRRaD*CT8mP(T$xox60yeF7%=wuIW_%aq|aNO~y4{DWp%d9}$SDVU7) zh1fq%uUF!+gDZd~LVoifHm1ba5HEFZk_E}*9p~dQJFxZ<@Ww>A?o*#@q?}8Ed+6z0 z@6V`7u|3n~9)a*wqWL1d8Jnz(HA1!y9quHzTcE>h9viLBmKW8viOSl)Q>S@I$f}BK znf;xNxLTkB6yrAEtV$%p+_?^)6z9))q95to>d03Yo^NGb9qbMM(0rx)l8ZChF+rE2 zPljk;GvjeAnmTzZMpP1;5qVsHmFkYmMe)JSPyGS<` zZQ0(AStz*EnR@>AWz$%;>vXCWj7P*zhmJ_ zAWt7f#*dZ#yIdWn`C3z2igtRDvD+OS70Cm4zn_y@enVnhW_FYJd10Pb(IU6Pme>Qm zE%m*)JOIwJsH1o;l3^@l@otNdkwVguPni|25Mr`)KjUgj+wZ z=bP@8h@T{nuWCFUBy&diuYlP3n4j-1Ak9zBNP4jaL2);jQt#7f(YZfj%yf_KaHsNjnroESg;1?eN{X4mRDuIjNQs?cE= z7nsMuFkayS@X7&$V=uDS9zK0$6yK-SlS%ijDef($m;^{_8 z_v*NdD~$KJerEapE|Q#lHG6F>?e_=~W5V+g94eW8D+g;m7cwYVu53r@(QE%8E=j`n zvg}2d(u&UweOxTAK+EB)BSuk)Fp1$`p}|eLV|0Dqhj=bMG|(ufX4$Rfj-@P0UbLpA zsz1d&c=Y#y!tefMw~o|nYb^?1k^WB#{4-|Ai$7kS#75!p-x-!v6nPL&3EJ9!nzw6( zbEvE?@R3x(?}#V8OPV{){M38zzM;oQw(5{TKXnrRFKKV|i@hWEc^_Jg{gNq9kjYOc zx9~0Gx~6vQV~X+x38Zf>SnM&p6WL0;D{MDoBjI=l^)^4(Yck!vjtpd)jd8h+g}dz0zWvapbN6AyAazP!nD6WA784 zpreXA-;1eJ1toxOQam3<&bZx2e3sS5JWO=-DW3lq`)s+CN}-W3&eE^(R!XKXNfM~4 zSwuVKI3+7mZ1q#u(p`hk_+^LR{f^cFOy?t?d0o^4*a>AkUtC75nr?;&hLS@ks$75l z%--nUc{e=Vp5fw}+Pr_S%MO3EPbdN3^i zOvaxHoyqw2{2sHs*6|Iw4odO6^0V+tYd7N$SQUzKgCH0w`cC!KBIRx%e052S%XK-r z(HNvR{vCI$a{QY|d=QGMR5itfD1E9+Lqz}xBwsMH$d)G?S$f6B_FRDtjN4>SX(#W9;$Mer$AR|M2P7gQ1WAeCyN?edtI#3_ zMzeO7ZFUWORHh5)RL1-JcV~X`2gkZcYmgE}r%k`*V5qqmW6O zh=v*PQ+Z7B{Ek+A5Gb3@PNuHc0&23%A^un2Age}#;JTLfTY+8~t;*bg)?%;fIB|#n z%birE>J@rEo{g@4cJ4cOvfZNS=lG;mP&a8X*)JwsfQWDmZ~Jl7K7rlef@k2Ulhjbd zrr}u4p?_sdR%yOUlm6H9e-EBMH2V3QUTy6zBIym3QQuAYcMXV(MmZJS4-0rLxVO6G zrbxP7kKg3>U{Gg& zSBsQWK%v0%Y&Rzoiiw89LyuZ>`aD@XXRh4@Zn(|Rro24dR8h)p#I5bB za(!u6mC^l<)WcoRoZZVsCuEC}z1NI5!|TXAuTy`ZmTA`cLNSTu+%ALLo#Jn%z=Tt# zl&?}^1N~_OthH5A*kJeCDxr%iW-*b}_GP-5e?kV$!JaCyhu})bSz^tYk&TA#C$rNJ^^A0#VwzV`=Ts=4qS*N%TrneFm-=mBX8 zdv$;@z3pN0uyUT$)QP3{h&kGu+zc^ze{L}!}jCbj+R#KfRZS)Dr90V%h7 z-}%{$&AThitvzHHVPWdo#mMAG@ao7A-&^k+79cx4s5ECIP;dOT*f$31X|vY%hf1Cc zWp1DSeR7GNU3|qn=dsv@Tv!s2|FJR~Ga}eHcUa#H<>FiFJS!i zCUZE1;dG@rBeiL4)7_o8AJ*b9&<8wkTNIIUP|~4S5rq6utaG_Z5%cI-!G{!d{!}>^ ztX!H?Qn0X4CF*~IfG5U7-2&ywR?}>8NK$x*#8y7!WBx+nvual)KH0klI%%sk%I@%} zA<4`43q;<`Ho$>z~bxxL0OBJU4oRpKq-pt7QBYeOIevwK+#|rQ6a*CP`w<$iX$7 z(_`#|R@7<4Wkd18E-iAUKszQRWW@MuWEIhUGO`|A0hCjm4mNbzijs?$#Cc@y1QVnXfOoexMcRZf1` zp?sL?b~<_dW=o=g8pufR3fdlrMgg7=udqb)w@`DdQ3yd}!gv~s8Cg*Gi_2E}MH8{) z^oM^3Jk%00LXmn!mQ)UIb*Zy&40m5X$6P#F*xK3N!V=L(V$7zP`D zQ?j?L%w2I4^0%1Xp`|56fJJ`#_me1}@S8>UC+Pz;+R+>##L|1qyQ$Z_0Ef6Jc z+~&A`Tw)V6|02d|O_)GtEzAOkAyXg$Z~R`7f59H30gF<``S-o;)ZTNq_PjrLSHEqK zYTt6iia4^kTq^b+q2SMw`8NttkGnpL;@HQhlJqD%phVfu4|jrt$H?-3(9msc`&IYo zd07!K;-Z*!diuSd3Au5(Eo{IzU0KxPtOK(ZQIurlM{R2d3Xa+V+9rI+l<5p!JftR* z@g37zz&uI+WQJswfI@Tdnqzh}<1d%tMXA{!&6XJGM6XOa_N$!tSPy4Ah@eZxMHm_8 zDyT@zY!pZwSNgsd%@qGhhNlFS7&tB>egUc^SJD3D3arJoFd*xAJeA zFqZ)}qB#;8%@6{)U}d1yYWc*1T65q5oSS^$Fbh_iUQi-)usY3$4et-h@%pcfDAZF; zhSIau52J`;DV8L)y>Tr-jtv_``@Q$3qs5b{!=Fpjt*6FFGE6(CVaen;Fh=6g{XP)$ zkxJk(oTYGo^{*RWv4)FPgCmpHpWc*I18jDAi0Io+h9nnF-&ezx`ds(or`?bT%FPG$u?8{cLmb>^lpZpu0*GxQ^? zBRqM-ds&1W1!TXR>pN)>y||K(cP<$I!2+0w-!ES58EU;S*)iHTkJ`yq1HL%jL&W*w zM3Bl`q=FB}_InJUZOypULB)Pbj6)Gil2gzen!^!}w0-?->n}|>1+C{dAFZ~!zZ5Em zN)bqzX)_6gp*9vp(%&3>7G-_qrM+r1_2g;Ug3{I~h2KZ>U+Iig;B1O{%A=3uQV^>< z4n{w#XB%!E-k7n{w$&GOnyS-NXTu?$dPAaqZXpXk5j_rT$tjLptUs;ciO=_TxtXdI zo{6}k)_v@>R+40VLEwJpYw;7^m;5KocibO+DzU)>rNM}k$T0X=J^VZ8Q2&`AGP5ev z_2|$Edsj#7V!SH6R?iyz;(7@VMu0Ih%~4mtk7wBk$rzcb@&m&C7i||)5+JQ)LwwH~ zBx`dR-m9NYy?)xhOBX+q=TTuX@!p@Ld(W*J6rX4S&@>2!PMLlj0IwVLj z?rp-D`BKdIt72oN(j}4+GrK9cN&AEuQ6IU_J>w?kd{_mhdubfs-B=IKtx@^J{+5>g z5z0GyQeVq_S`znQzj3DTBsZVEL}#&AiKxik`&v(9ze1#d#m!oKdicVr_FJ97T!G_4 z&lJ`et(~`hAYtvC<0Z8=v>DsCU6b~K;sZIFeiMV$8q0^>nSc*pUt5% z;dF-Z?_@=aTz7W(iy6f&t}f-XeQp^iD7e~CIA*1iX7&?QQ|UNdoC(97gxt06JoVQ6 zdr8~>Eu1xZDxO8?b9NEtcYTW*yQ7Eg!uAH=n@;R_CHpD-z40jds%WS2zjBLXHkEiZWl?r9T4JMbFx0AnTJ$c;LP%r7|O2^*3G}uTE)(og~Jf&*;lec~Qu2GLp z|Nd)8s$weVy{TWForA!^^EDdq>Fwy=0}@K@`$kW{{p5-ToRko$D3HxpMRTRwd%;)& zWJK}1U>PX4{bEa`&2;gn_CClZqvNjrD5{6?AUML`2t5+)dGtIvT+<$>vuk^|23OgY zJzbFO2aIT+s_|&ArBfYY-M6#&24y?Jr8}Wa%{2#Z5}6%fod2Brr|vyCASjv$*TrFW z(0mkQ1y{&!pie}DcHhJ@oZ|lMzU#ZnTjxp#IJxH;uMy@1Wl!@6l8;|r8LklQbhn^d z3CcD%zvxLZJGeOwgYXUZAw53M`;3-RlO!W(Y~2T`TfQ&p9@TR65bAW)%W&OZNzWcn zi4Jymg@5dbpEJ^*Xc!auX=A!H!PA`J_oJE8FA(vn8E5L?V9re7xL~>161(B>R;9R0 z-*S6+J>2ZzR1?{IxpX3FpSB>dIAe>jOU3=!Fq8>n%3zgXXSM}(HOS6o-B;yp(eBP3 z@_Jg$KZ6vVN7%6=(%9#&zbMWp^v`F)MO~@J%kh#^*Mk8v@6o`T(C|@x(ci7wz7+xM z%|p#DGjyPG?B38avwn)Q;X3Ln>pm-o4O+({7%p(HaYFN%zL3Lau$A$qJ{nIWbgjZ z&yCX`@YDV(+9*2owRvyS)nW2_R@OT;2WvhT|9C^A`MGz^(Kkia$PblL=SJ_Q+uY)n zHLb-?RtNqO7CYnRNyv>;*BoEqQFZ%N>PxeC<3<~>a^Y`*EBN%)bNuht zP(YZbQW{xoJAuD^ z-sm^1EtLDBA*`{OWj!)W6s|^=VXg0`j@FLbM~hr=f_$>gEdtR*UchI>G8SW9G}QK6 z?x+N-T&hf9bVlWEC8_>e%)Y19+*na04l(@l%<`A?mrQ{pw!O>K%MnN9**avF|BtV? zii)d=wuOTPx8M%J-Q5WUcXtc!!M$+^!6mo_cXx*bcXtWy4h?kEx4-lMXN>!FM?dw` zuDxs3swH!-DP;n+ANk$hP!E?mW8_<((6@k!0la7G9Jh!lUT^CRw+fp&L*jI7Wlfk6 zlRhVATUQ{aDCq47ZS|&MLMHipMr3Tt%m{R;mFOvwjMyVWp8kGL88s4Rc6UbZ)TUMF zIB;xsF>W?a8K?cMrDG`{S88j~@4@RFE&ch~Brg_D8P=&(`g-sBsNto2kpM^Mqs(qa z1lZz4DSYEhTLI7BHu9x0-$h?7r7ugnqDXoH%C8hV?c2gjMdpUTn9fFO$GTnD1HKta zEL^hwg_8`Tp*iHFK|(c~Ysox@NpwAX%$q5H{v{^tP!geb*mxqFNzf~};~l*rdlauN zLW@5$^^T0{p*R6_gvd@K{7Ft!kjgIA`_f#ie-%T7^nDBQuHr+rYIK4;jz@JaLe|F&b9RKL0wrD6tHll~`BM|4F}8$LjwBe$(Q}6;0W^nCpx@ z-E$t^M-)1b4*~3M+>b8R(^XjY%mgEcaX#R)X}xelP-T#Yay$6EIY}b0Q6dQ8HrH?uuR4(m z=3C*Ua&1_vf6g8iceJn#@+zz23))?~K=;|0CY|jtr>p*dI7QeEH_vIfY?c5l)QwvF zvpE>JQfTYB&t-z+k_nU9Wpa0JV0Vnnn?0!;6dxU3*dMd8^!&S{s32u??&C!)J zs!gI8hAQo{I9wC=bZ6K3-R2slq&v)4k4&W)7QP(6uxBL3Pe1GAAyNvB@z*+no%dB@ z9?12;^~sn`VZ}x{fkVIRGJwC8-(xk@Gw>SYJy)#wL)}dUy`v&Y+67FXVWY)g5vVNC zHpy(+OfGZ&+xWg$m#*qe=N!SWR^yLA^6c!Fst;r^zpTzjdHNsYk*lZp3eu!wK{UJF z;C4Iq_NCKtFYxg31Yz(uEWj{wHf0~3kD zL<>U?-tTYKWQP=aNT=0BA_8bqLRD0~orOo}$K-W$OJ1IZ@#48Z?)X{1_-kx^+nAl3 zc=JbVA-QaH|4kYQ2v;eqt7Hi~W{a&1S=IoUzG#QjPsdkMlHwhX}T@XBFjy&In3VpAEPyJ`m0*AC(^ z$U`mzJ&0*gb0@x1vP6!2{f-LeSr2}6<;xaihfkTU9DQGkb<9YEWLTQD3DloSyEDHT zZI@LXvSB}zbIrl0qtCmSev~jZv}T>FXg){eHKgpGMw? zKQZ9$j5Jf(1s;#N2<#RtWt<2T+`;AR9JNdhg`>PUCBg0Eai@z?<}a%G!n*HI_X+ER z9LXvNWn@gmm}a(4t2e8>nSHP#UQS1Ka^)B?G_ccsOK)Sv5swoS^Hs&QmsF@(vj)As z?z_QX)0s)I9DOd%CQtanZ+);C|{hp+GYq7m(n zTtNwcYjf!uEC(VTz&;QQAlt^>-@>>Ye^HSDO)X}Dss36OJ=@4rkJtGE82Wfy zOF4x~%5q{Ny-+X2 zdXA*Jh|-{wiTYBUy@x+?W#+7z`q49KQ!to<=c~J~D^a4pvO3e3&z+~s6dZ7{94~H| z&~APmsDP&J-CoiV8>4$PY-O&1RX?;5Eh2Sr7Olk>EhGE#Ki+2b&zoGe@IL;pnTPdM zMPEK!6BuQy6MROfytvQTEC$KOlYesx5Z?Yiyd~rLRjmm|rEdu5j#wk#v#B?qu4F{w zOlo{?1S4tNjv{5d4Dzo={7J1*_@BX>wm4=yBj#CVlk@Y^2|2W&_S&;;Zc?{s4VEU^ z_Zt9Kg;s2}!1x~C`VO`|swc2_P@m9hf1aN&`pmV~X1KAl-d(}n5;j?Ay1`9r35vdb zioZ0(F56<0mD{+J|IEu{{vvAd)ci6`s4OeT$YQ)w%^mbR;d_sXh|EfZge9-kOpa%p z%WC4dM5P;WM3dnCsOS)Ur=HqN_`#bjK=n{O2}aOr@Q!qUk8Wb^BhvrPh;xXY1+T%# z!ayl9U9swTECTZ0MX_qiNUAo^CCS^xG;nG-uaJve-+)~0T*%Jx+Eub>$7!zy6BUmg zvzBB*gkFTYq!q5Z45{oIkv^%c&5OCsu=<*Zhbx@ERzWl+WhmBssX&a3ZFXz0+AsW0 z%MSUbtw;Uo>x6p|e*Q6Kx0F)U_3QJGr(1b5f-}C;f;;yw&Z!2jUd2BY`w%i*_W(c& z1Ol(Ux0S)kQ_k1Gt{{D+acbAwI0?04wi)*Q`8vs`pEV-M_E2rqKycCX4p%{=ma)xi zEMZcyL0Odo4EnOk0t%79F(SI&`&G|VrHT9-lp`qz{2GBRKX|#m(uav;}H*eIg{<`2O~BT z6Y@1BxX!lkN@|n^cYb(?s1W;nCO=-!d<>Ye!MhXRxOAwo+x3L>>;b&r=y&QNJpq8& zfFC3K4{+&kdZprd`Va%;-2}0`C=2No6bB|gTrzhU(yCj^ z)Hs0O?j>@nTXE`hg)?S2{9bP>+^WKDLmVbAp;D;D4QoJSpiJv)RS4A^OD`C+}A z1zkm;wP@dCewe1sa!TBYolJw}koX2p!ZB|8?s^0vR`9vA>GAe!+C7(lK49t>XW9t0 zavzo`V#i!EKrOja)Ej!6<@w&7l?b|32-y?Jo+XK-grw{v`+AFF!uYHoRhu;zjY zAuZ-;v*1=+E&}>0m;$ucviuOM2DY2VDo{Tg@U zmYc3ie(v)42X;rfEi%y=*}|0V8mWMftcfEerM1Cu28U?G8 z)l)j$$Xv+dLAsXBXF(iV&8pw^=;Nn(n}cjk1x1BO^1)t-^rz80JCQyVd(+ld*#jTS zQspfHM2XEGC&?hhw>~0e!IobrkGK|LEK_&TEC*2H;$4U+7tV;+-UU=-Ui2Sc;{Ec0 zzh;6h|JkFF`at;4*3yG}wQ{P9a1&!)glu<6Y)mc66DIY*>302*n44M&#{>JOj{jVo zD-kh;Hva7n^!nuVfxSfg+Dp^&e2g;fYjqu8s8?F&=g4g+(P;|@ouHZ|jFh?kR*J-K zbJU{mZ@SA&bOQ*r6;Az9g0Tw7x_^k>;DW52;23vN-*jwZ57zkSz^1LUg zwS1f&NH6>@150$ZH>Y1rUxRs}Pd`fL<^0Rj)2GvO{2NyeuD!Z71ZL;c1bh&#gISW= z!Loi!Ok87#!lJvy>k9YnTB7<@U!QvXDob|uO7xj>!WnJmWg+&S4wv{_84>sBn$$+~ z#jvkSbY~{ssg~?lnz!knGI>wW{IB1hm(dLvwuqKSr(KUMTPL$Jqg*UoZM(`*ON4W` z4EY~sOj-biwL!HQZN5`kn;NZWo#&Pfb(s9J3vDsDLLsPy3MEnKhl`iKiC&RH+A3Of zgAxb0ln_r2!6$k=|2ed9waJkgQ_} zQ3%(%4Zu!>&&HgTGmpG#;0aICwoNH+t+lsfeucbq2eT)%ib;~Mkq7Yx=pA%2qrr4_ zFz2S(0XS%3bcD#x_^%pjCU`?`S^xzlLb;&?hhR%XDRvf55t@UCbRX%Eakr@OxiR~q&LJl z&R2F?E!`1@9|e4yu4tc^cn7UGM?=ZuZucm7ZmOyROmPt>=QAvfsW?5k9T}>k&81VD z>MdT^0flj*ABkO zHs9ZM38Q~3o9+A4)Cbl)H|muq`3*?VRPa4mJW!KU7@Tj06du!o|aQQwRghRP;8eYQgKF} zioR$dh*&P+5UH(<`2?wdK^LlZJ`B0?dtJEA!8x-Pqm;x|szbi+t|eb!mpS$cj=j%2 zKjVxrFyg{kHOV<#S=#qK>qSP6hk(gpM(Qd?y#856F0O*D(fn)-6*< zH%$UmS9Z5nmWp2H1Zqi+w@hnf>Er2k7a`SU;yCnn%n@LLKJ=Ft0~9VwH9a^CqR<$m zZf`$sB%jJl4?oT1YHH-Dao?jgQ@8P$gxwBsYSd7-_po2$jn*5JpC)cz@jeITkX5%A zJW8|`5);*zmXLw#Slb~<3kf%CEM(6WCW^#P2W3ah>bU@pQngSTRrVdTrUON~__F5x z%biBw4e=1}SSA*0P`-@Nu7) zNaSj6nE?jx`zOJAjT3kieEb|y0GzIIml4@D8G-ZqD7CQeeEu&SmC%o0xjuX$5rUM~ zXr7z+OYQMGi6n)gvmyY1n*^}So;fPZNzziGXBxSRbpm-VMmyup>jv2Rg8$UGvt}lJ zfFXD4+ORg$#v>5`daTc3wvTRyTSP|sexOTwekyLhSJk$gZ2lQDQ;PsvOBMiJb@vja^NJuqNKfx^xW*QL;evv`PVEV0zhdsfzBrx*_xS7?(<45 z5OMMzFeNaKN#j_#(pjnyeyqs359#BtJ?`vy4DcSYwg>sI)9ym1YL1JE&R<5rgpdXr zE%m)M(M!9cDWO8qtU#|-kMaabLoK@WnRl-X*9i3!p*i?D+3#%CjRn`8Ta93=wAE?&bblkv(Aff(VdMv+W zLPAfWH2Tf^NYjDr3bQ=vXjt&jtndJg#Es z;pgbDjoXMN80P{YxyGm_F|5#oire-%4>$B z#qS0ztAS=~l&ddm=+nsmVB$7f+gd;cYN~^CBiFnh%-Y8-~_+7xRQ;Pq;SOD~9GvQxYT;@-)gkvm7G@YfmiOJCj zrNebA&N3^MI)+j-+!y8|(NGr^nz7$&dk1QBihuk4<1+L+Ve;YMSimaoWDa>4|6LG6 zDq;uSYTYe`Vr;n3y#V%#-xSbR8fQ5XB?k{PYlTztZd1}R)2dL|$NV!>>as~c5V(XpIQUa^|Mh+`%ZIRmDL zzVMs4wyc$wtK=5n`_;eyww6_-;n`!*iaebD*AEXZkilV?I$1>15#RScddZCOA>Os7 zG}}XD339kl#YP)uq{kjqapX~*yw$CKG4TW5(Is^>IIN$4BQ5WmJ)#L2@JAj0E#%Xu zPYDGWG6M=iQf&Werc3zDnKg+8(uO-b&?W_Y##=}w`^NP90C(weCWcmovII``04XzH zCZ2Q#QAq^!d2TBdKL;#^{H3UYoNg(1pOdKxDMpY*kqOYEk+ikVUj~c$JA%}Su)gk~ zDj62hRHw)xk+%mjCnXL`%wVX91)QhlHMqZA74ij^;Gp_#gC|ze#?ZL(08YGzW9U~c<%K5rSG+WS7 zi(jW-r<|qbl_V)DL?SwsNlY}CmLTpQkmQbGdR{Y<#PU`O!#bS@gu7D9&x3+6OaUd;NkV+915GZW+?+TM)L44}zRzv@kce|;V%JH1^6V++IC00_kb#iCo3H#ZDa z>1z0TDPP&!b@#2PT0Ek&urLM$xeXW@L+-^8_g=zg35+nTym`J)f9$>cR9yl)hzhzf zCio4R`y(N~+0~XOjiP~}r*jKbZ%gAs{Iw$KA#{Qe?j-Ox^vn_GIAC2@3ntgrl-HCai z$?vsf6bJ9&Uu`i6JZ0EbR~jeSod#UYm+Z=E?5s_G6V{pM-9;}siGfm+HwrK6^It{= zyfz`=sQ~LWzT$9I)85#TtF6Jw^@y4IrJlU129xaX?>Cs?NclZW zJmnA@cORrT7(7*`2%FobBP9C8*h$WDK_YLEs45wA-sYr=a{UVwrBUw@cECVGA>f6Y zWu@c?lEn)Q!w<{7G)Q!q0?4^ygEtJ@&MiZm=LLwKF#S8|$b2@BuZ?3Q8K?2u$W z-za%59YC4+Zo__ylfzs0DVKfICF8WUp1$dGVBJyg%PQXncIV2qE!VPNx~`yi$bEO$ ze6}N7GW6Ogrxk#)Cze){w9@+am}AYv7VoB)&Hs6kL8#SNf%@FN?1|VM3)aG&+hFZ?t15<=Wsdo?2PRtr2TtXVASht3;DB7 zHw_U8cug@ot$Co|ZRkONC`ntRyiq5rfh?5$b)$b@vc@T~y2*q@Wu12z4V}68d=3D* z-y9eKXT=FlVjm=}1mgzI59J1kBAzE5mQ=V-{j_3{ff_!csdjWMU)< zL?cmyr%OKosKD2^nze|?tKo%8nlkVzLPYc6n=Tu}u}P92;-N5O`N5wmG&RmP#6F4y z99vJnJYc_H%?l+a=RJUw`)VsUn70ib^+m3Rn7et$K%pqKi{4EczJwQDl| zP;l&Wd=#KD!ktYdFTq$NeSsk>s5i}Vc^9O3zQhhD!E1ppTdLlt@A{S4h)B^NHWmy| zUvar}ix-Tx_?oGPIn2Zwh%-BP)otYchU7NUOXAm#lfmzW-@F#E*8YIFz&As=}MIG36GO86fOZ^8eT#Elaqvl6k_^wDBl+H_vTq$A-cB0 zMt@~D6=%1NRk_`b;T;KqCL_2(Bd#glFKfo6ng{aOw<(=@>bm32f8^-Ud5!&6@iYCU zOwzL(0E|~o)kdBM&L-!uOQ>pKXheSHprl^^KE^c*e@IJ?8R&vTB>PXkFb08$n4-f6 znbH>+AD60&sv_<$e>J=~Y(aBR-XHci_+SH@b9a$FyZIRtA6sZvDf))2+yq=YrM{A7 zN%rVBGR61v-M1L$%xB+}+|6#nkH;%NM1uOZ$C?c?QW5~17c%_@AD;67BuG8t9aOR6 z(Hu>z|3KEMIj%w~=Z#XSjD>HThgPCV6nDgHp}^N2_G71MsNV9oQGVVgEt>24me9!B zM#tOZm8DMl;Akn+pNEI1wWb2mUx93TVZ4~q_&y7wa|&z5d~ks(n7^e3%r{_$PL;YF zTcVX}qKF|_iY)l|4hcxp`t>0bbw;%+kdA*mSqA$akI#+F>4RBc=kLejgSLyqY?d)+xG8M|h$<3upV>O>v(nGtwO>##Q+|;ec5n zjzPmkB7DV!2*rGSubY^{7w3<_{@*&}JMIW`%`pL z=QJAs_gg?=0NLDxyB;vA?EpFKIeg*CObeVYNkbS-LfMcehf;$~kVZ z(#*JFly@6RF1~lyNH~8XcWNL*XZ^!d0}}`}&UN2$Ij`Ah*fqbJ+-&kV|G{EOz4M0zoRS9gmWke}y7EZ?DH( zb^fWOp(+ZwnGN>o{<)o+UX`PZ2FGO}T)h8@(|FyFMzy;))jeTr{38L`%=)z>0?k4t zO>tVyfENv>OI?var3&2)ynB6-8IP$l=yJsg-`M_WoQlF0`Ij| z(0{kxCl4yTloLzcUUu)3lg)?C^)V8Qu#={E=)wMnoN53__A+V@dFEG^SQg)vw~pyka>pkSB3?$fW7Ig##i9awIMLe`u$XdaQvQnKYDAQuwb=`_5S+cHfpgS?o^ z>BHbrD4GmTN&4W`H9;lR$u0U;ok%IP*{R`@^FL@txl4ABf?;Vx*RJ(Y+J6J&;S z9MqdPQClq=Q1zo0CcR~5C8g2)ea&@*K0mt|Q_fpAV6lUp43lvWRhPB!nM8TB$#V=# z$DB$7$rLvCR-gi_*d}bU5-#;TL<^Z-?#bEG_3(}?OteJ5+4B#Sepr_KNYhjUI!p7@ z(3e}gH5z63_?x3MUWU7?Km_f&Evp^qka!Buf}~7RghM{cQ@oJ4hFsV$PNmA#3(zXZ zC-3>B1Hff_A-1gb&C*>et@9>Bhv{8g`%^KoWL-lm8IGqClny@mW<=msw!62nmjei% z-Q>I}djV2}DE4AxR^=UO2O=b$o{V@>i0nxA;=lLI)ibCsYLB;IkyI+>S>9#cr=6Px{t9s^04u_0*RnvG52`Q1i zw_l^FR0PGG*(PG|3_XetPo+*eN$hh{!lE=wRcJXc@3*MPyN?i6XSKznvYCuyx;P(Z z2A19DRhGGuW*DQ&9eS&&L&5=jSQ;y6l<+biZLjMA>|vVmr6+o<#SGI> zwM^KhPZ?rlLY)#0_xPQ%f|%2l>iI4DzL^GH(Aq2cUlEV;Tg(>d%qtHvChCwt4JVLg z=zZx2Bg?_P-fOWD3F4reT%FoZOXN3a$HR)&1^17A!^sVm4M#`$f*$WOeh4ZXbX9svi+BKOiT5T$uz8+twa9MP{$Z&NQt@ejNhMRw#Z&H z7O6fLw-bNhk?j8dmRhK@WMHjCmHE(&pGORd0`yPqqs2*2_ybA(lk6-Nv8#*AKTus| zcE%|oD5xAi2rPcHolto$dS`mmi}`A}#u3o;Y^Ngj=?mY*W$4F|&=qvO0&R}+U?e=> z^s`_algRlF^!B#6FhFerB;OZ^t${&xSYX(>1F4g;Cg6E@vjE$u;?OTw!ewm0QB^9* z42Evi4OSED)nm2xAT{jH{+mET_%l18Y;L&*G+Zh(ux?scPkh^3Pt?Fh&W-P1S^+~a~Xhx!?2m+03IPrYEY#U_?pVu&T zQqslh!dNo)82XCKQNzkF3;XZVEoL$i(n92_o4uJHI`hk7xY?Z0*kA6{=8GpD+!usW z3K|Nm8O>9du=XoTSh{aj2euZ3INaMn8{;3+u9pO7az=geP)CvUU5gz}Ijz36igsZ_ zVx3KOyWvMQ_36n;F*~G_&u>sP_*|XhPK+;(tJd&{i5x>LT1w!0@ zsacWmDiCJkcZjuQb@FFS1zl`=1;%P5A`VuB?+d=Jeu8JXl;*=qtNWI%gih+y z*pd&>!h#e-t{7Yr3bIBMjR5&twH8PeLjn2rW}ZzHIo-dNmHO1{rfA|{@uhz8MY^kz zpoNLUwpyGS3p8{Atj`7C=s`|&a>o(ro%^%>&pCOb4Zi2txjr<& zR*M`-0f_(TjsSYkIH-Et>AUaNz{O*au7o)^D$ec$FyAQiq{tufnheTrbRKY%k0Hr;_TwVna+ zS71(&ECKWl|IE~%By-@VPWUnklhdgEgpYNIPaXpo-v$)JJksps>)`p(vrR)V)Mu`8 zQ%3lCj7FqnU%`O6Ye?T47*NpuKC?V9Q3*bZAXs{LyMRR+F?*u&0e{WVg}blXgP6e7 z-SJ!mEkO#!C|fv{&?^;r!}ArNA27*hUc2}kx!L5cX;r;>X9M?z^5Xf`OiFA$t=hEk zU?lA_<5}0{4wGAQZ&-`y3?&0+m;{n4{{H4{G_qifuBGK`?|qf8qa>F2mZIBX8eJVd#%QwovzM+g3e zrLxZvioPY|FjTagElvp6LC^A*7dCpgwJ9>nGh*H7-}ZFBwrt+yy${e<_ZM|qAJF&XvyB+Qe9jR_z02{VuFkqf^bI18h{0XEA z=N#abZvb&b6nY!T+3vs2bNOdHA|a1HX^52F*5B;5njRWXcmYs>QkqH37N3LpSn|*B zXvn_HuSZHFm;`c9qpFa#ZWQJ)inbKWCbDVeCtD={k6@_XLq) z`slg^jbkm_w(jeF*`U*G#4=(wV44ql8s*Ha`AfPo-mz2pI{V9wCg(ea(foKQ6YsmQ zf9gM4(LR)7)1~jf(d52*X7Y4a$F{L|`?Mu(U$qk1$o>*Y@IWu0QtRBcqHI|b@P9@- z{`3?6B`$FXkb`)%ENH@|}w^#KgqK^5A z<6ur=M>u)pqCTz(j?Y3C!G@nST(|K&H($gJ<(|A3w(5R6lWLhnP!d~JXJ_q1HvBeY zSOO14&DZ)rh3r?zWj|p6$gj&V4I5fq(a;;!%|2I(YU~&0qmpm6;;w9r)3cL{eEsO4 zG#Wg*@j3fsFa=gMMX%Ig16zOT$<>5+y;b+-0;Po!vsj{Z_cnh>wl`)yz%;@?2tL7U z`F@V5rsD(YOh{{dyG5pr)ays2KJ-_F-IrDY_VY)}zLjyCcbLJSh29^Wd(eZ{)e|n? zT8*|hSzPp6n4(;Y7ZJc3!Ynm#BazYspj%owy+^HL!-fTW<(9G!fc3+vMpjHfBRC)C zp*2h$#TafjE#}+Vqh-F!;g)QeI_xD}rKz#CXshTdL=r)|znZ8;E8RAy#SAY01;ph_ z`}|&?CcRE=EDMJ$&foJum;&?Z z%L{hwGRBCu;Q0`rG|Rx6dv?b`Wr;|y7phY(xxOLoNrQ2Dc}(H4Q-GkL^pb17*yxfg z?+(k|akitC<2^qd7svI_u#ZKdkyqEi?4aU*ByV@!(-ASDr!&CAj1fY}7cRiNLLK*9 zlGow3N|*8Eiffra-{NvPdLtdmWne*Ji|=L9ODW#z(h&E2(@|Xxw(d??JcUn+|C!bt zX93|asQY45eK9*=hFSX5e;deQ!X>sIlzPAW(2rPz9^0yB9I4jF=^esNdRIRv9-chY zPfVPeW~-2J$KyzlB}^g^xbBxooJAMCwA^?-_4J+oUK%>ARALlYWN9wg^Imf@VW2l0 zp?27Y%~a-2INKK#w{WWB)4jGF@<4qyY^XZ?O(Hy)Xu%;5TtgQqF*u6A4f(W2FF#%nhu{Y=oooVhbN zt%2?e$|x_c3!mhbv5`PirX^=yjrS$_E@E}9D9mKU7LfWu8S6T^IRqc!*OxdXwu-3_;Syk6C5trLS?TAz8^#5C{|Nllloy0a{#L~Fux7Kg@EkeF zj=FR&Jwf>{W^;B+zW^AjF2ke%tf&Pr_XCPJdYR;@7Ee9jFANk0nTElLJ6n^QUAl#` z-9~@cBqmszVbb)^Ja^r(SQF+*U3Qy^wM(w4T^vd(ib7K3G}ch$oSb6oVH&t<%!IjW zHGCZ$z7>-(p#CtDmS2vr^+lh$MNp}+8%!H7)l>ThVXlZo6`Lp=Na=;UnA6R$bo2~G z-~9_i2$A!RJyPMtmr2?eudMD=nLY~`@Gm*`vvE<5LtmU(~MU<=U7k0ZAW z*Z!NGF>Z%$@1}yM#`P8fy;GQzT?bCg{ue`kg4*Lfor<{nCT^8Mox*=nF)+vnX1YV@ zf9_RJuHX1m-ea#*tzOaOwx2N;f#M<|w-nl0E74c2%8{SB)IWDOl7cB5-w}}Z(uk;V zE}b`0E1XTZTS&GB2J4J=Epgxi4Wcq?kQpcI(|F?6Egxg8m~iYM4jH*_w`{UjRFC1K z8RWHP$TJJlGABn8d>UCy-qvfs;jw?W<&*bk?2{WS(alRm=hrQeF^!3b7z(wkhZq%@ z_-o7)CG0Ef8YgOSQjTl>2A&TBp#?xGrsB_F5wy$8+;$CD({7COUpivmzGOd0vV5GL zV}Ii%LgTo&qlS-xYk68Cqnk%f>g*hm?DPYG zhUT+oqn{s+xLpms73$TcF)Y6`bfk&Cq1(*z{;52M&IK7WCNdCZwgAumr033k?&BZR z_s@;1Z{OkjBv>=xcINx>q)2`M~n#P)N6NcGP3dH>FiSp5}9dk5< z9J1rducnW#o{r2-+12Jen|wNLyV&aRSah-DfbT&MqYPeRnI%~7JLY}x{A={TSb&<^ zpVLbA=aKJgRi$i;_hx&2Vt|r1ERB-DuEriatYK2`&c5$6_9oQArtRWZWg9}xLGD>$ zN5A!3XFb_ZZMm!?+*wZ&WC|?GFRv)T*|}_>)3d#jRN{EKnwhek_BVS5 zK{YKBl)Z!u$f34Csq{jsxUL*-9wa5{_P_b(rty85OMfDcL!(0{6`<`?4=e3BlmstP zOP#yICP}(N@r7|5e-c-tfgxet-wxyQ+tFV-Xx$YwImH;h$#W_k>$$;;C&1hmucJ}3 ziQLVjY@S1+kL7>KWCQ<_c*-GTdaT^fwJ~Qeb}?o7?9Mzg4N79ndzba~q%{{c7v($Y z%W=IC=Y{8X;ad>V#jpI_XRMCcBfb;-fK&d#BxdB47v9@ra;T@*bI}WFcMDJ17WP#m z^t`Vl^UbuHI_XD~CR26_{eahg0Dy8j~zi%_#LxbOO>nYA`;VUxoS0lJ&y!JgwqXKdtlpoXjJE9 zZnBa=LxRad!K-1E=Ol(X=<)8KMnO3 zn9=*ljCcL?{rJPkrK~vS$6hu{%L>MndJ3|vf&<+!UQdC2GQ$(q zp{bos>EXy+f1y*>$M%A_$c=m=$J1Bep<-F#Xt^25TUB(f|5X)M~12*3W&XQgPa~hOU&r67rp{@7$3`d%jEx?B@)S#Mt~ezEy@WFNCs3iy~Ky zRMLT&ZxS>#NjE!n;5>lfnPrx#ULhYEf%TdFtjBIhqfm2YPc` z`}$)8GemWQUN1JVrm~>xJ;{t29C>kQMb;+>Y_w2QvqWdO5gP()wX z?Zykq#iNpg5!>>G9)Z}~j{ZM7xa0TU)3;NyA(4mK20T6oOABuIJ18N&6lih{U;uDw zq5h6b)?cG#BJJj9y6PCGL_unE^-QASz`E2PAGC2?aESCy*$cczDp|v&&u8}e^1-WK z{m?E>a=v5l`k0Lh0ir-jK(1}}5SDTcck}KBWR;-E@naK_BoF%BT|g$d8Gxjpqj~HK zI-Hu)tPMAE9r%d7YkX~xBalupt6IwIbB)07Xs2+rtbZ{LL#Bo$8#06BPF#ykyF zMA?Jte!1a>Z5CW~pQDL3`5XS3$2p`k(Nd_O2G_Gg$B*u<+m2Nm&J$z>2H3wxoR>Nl zi7WyEV;VXdd&>EIQS;GI=nv8ALNDq_#0WXypr9in=e|%C&DS7|R7|orFSr+TJH_p$ zXG|bP98}dJ_4+G;!VKP>EfMYqWUmP?$W`t3u9mFYcxY#bg0U3R0RcU`gVB43cGq#5 z86mw&_z<(vPXQ6^y(qs)2az-AKi^=GPEB&>y_7NBCk9(0cYktxC(*5mK^vmD_8TH7 zMc(S(10sHbrL`0hR6~(#a00H)1ks^vLc;joq0}PMHptYJ!yjlzoX5|L5ZYu)cC&0~ zE1$JoM)K8Sb2Z8Dn>XZ*P$`Fo+wA(k=TKBvKwL11iq75~X$cL`E?=dQunsT(#9kc) z`}TgKnc)6CBo*|Izy%UJ=mWSKcuJQlNV~h=7dj7pPP5?a@3X9^HE~@%vJ#+@J%}bv zqP|OK9tN5UQUOji^aZaIcb^`*zr#b2-jP84bq+jZkbq`D!ejRB4dyS>0r61CN<2Us zMvzJnnS2zEwMg_v_9kJM0~pBxW3#{hKlZnxRAbsAr5~iu${QZ2?_3V+w39q5r+4hePj)ONeghFTwqt-V<7TUBb}w~$i=nkuGsXn($4huV@#7Xk(AC)y_w@99Buf0z$nFb2 z39p|q=+?dsk&38$8Mj^xZkjOo;KR`oT3mzTc*OM?H9G4|7#nEi_K{JRv6$Kcs=V;p zCvI^@IYfyjN9%X0%1HN(1@zu)V!0~Cy_@x>oA`bAR|1dQHW{aEUK2~5Sgu_R0k4&)4c`a6q&hlSZ9V6!!FY~H-^ z&+zs=OatMriOAmuV;Wl)Odfm7@5vBXE~o)DEh6WbB`G_hC6Xmb8dTSM$5>I82HwSF-!Qk$Q65lD}hOS7rzC5H@`Til?D;Hgc8A65C>^TSg)*t8xS}?YcU?yaU zF7zaaBb%jab;fRv_iCUMBKZAJ?McxBIWF7J87svP%9y=Hm!7K)^sUp;=Gq)ia{w}0lA1!o{gTX2BM%z9B4z7_PWjv9lR<v#g>pqu@;9KbP3GLhB# zx@qPE*v6GS(!6ot>VnUbJGP76A$j`hq_A zfROdwahCP~>mm&?7LLHb-=3Mzt}ng@)#UTA7@@8Bv2Hec^Mc*)K==W4o$49_YW#|6*+W z1)=7l=f54=JE|77wQ&UL>wo;bFf(BgWhsYZc>z+qN0 z!2*o3i#zGGpGgqbS;$v^4&W*AW&u&7j1poyzMtlHc?92p1g}C?fwF&1n`A`V-h!kQ zhZV<-yOit)n?>w|yG%|1S9$U9B(9~&pNKBuNmn=T&->*ND1dvOM4@qoSfc!S2(|m4 zS+voVxYc$I$fHXqIXf|AYd)}}ri*Tj^0(GdrsxpA=qZdE-ogiz-~1n<-ZCtXrfD0- z-QC??g3F>og1ZJMxCGb5-Q7J2ZXvjPa0u=aB)GG{vV42p@9`YppPinWn%SPV>OQ;b ztVkeQQp7-W;E}As_kXP(qU&;bRITF*~^9?DAKvp@Akar)Jp9ck)frL?TjhX~E#*m8ZLq5h z+WMo+nifnR340}?8uXbLJ&iKu*4)gMy9y4f$ltKnaTf+!cC~*RqZl??GTOb&?f7#= z2!2TW-R~Trmoh`7H~5$x8d{nkWR6DeUW~|q0s33W4vl$=%ID3!O(HNC;O~#?8wj2u zY;PtGN#6PeH+DAi@QPRa6PBD{A+tH%*rTV3@`3pf{wO(=Ff9J4&FwrELPilDPv!VG zida8Ig?;m8idTUog^qC*d|}-!w^D!?GF;y~{9pB@*HvNWtx$8vMim&6b^(nQiLE7+ zSagEHQoz93<;5t7uC_s;=P>H34-YzN+}FFmCDC1CD)94n;(G#s2#x~`(Hca)|Ef~c zBJqy~>`6HO%?bW4dyCs7`RTn-7T&F%7%a7NpsZ9CqW+Y_)N>$$_mctVDyvj~g2-I! zrylMPht#)`PU!DlUw*BlC^$)t@IqI4JCbNY1N8AmLuSw}y!n0cCvQlJ680K6D(<3_q1rL! z@2@uwM;9p2N(ZHQC&HT#Y150EhYV{#!+u=WD~=rUg&nm82!~k6$v1OeO&DYc?JwDU=JLb$!_I37?Yh`eQQGj zWYS|O;x2UCCfaTE48@3g=bk+PfEU?WVFa6j2S>*b8Y7$cGp0&djd1@7_5Zfh>eL&@ zbI5pWSD3`B_~y80-BRVLLRk-+-}`1Jw7cpPcDV6@zM*aRaLquVv|u-jTPOZ+*}-n) zF^!(C^n0Vcoj9hro6H+zd&$H?kPhSUi8pXw{h8dH0V$wW`rD6;lm=f;uv;=Uqc#nL zCm(ZTO8uq0xhp0eCLDA3Zr?7ySc!B`Dw=eYrj#@UU-nL2aGT~E1;@wE9i~}8BH;m! zU@9a(FD{Uj4)W`#VI>PJ!myb6X!k$^!UuO78$|1mNx&wIm@4VWZyCjk7<{I2h$se5 zs3`yXyfZ8_lGr^$uY+(};6RZt4XBk>IOrKG6_#|2hsZFNK(+^OFxFo z+$Rg(+IZO@`Y!{im_w;^iYGW5Rc!q6m@>GdzxKP3zid2T=>uN{*|LWDmR_td`Q=qT zA<~n?YbcbmO;O`DgXx~=&}J>t;^q3S2L95x;t^@ogPgQwhFODXYiV$ z>jOp97_cex=S+=ue(3SP`n?!<%2cgatVThV`3m-%2!gDm*mWNjN?Tf_ z;U;iw#lZX|Y?adj{USFd(NZaktnr(znfetA0eBTUtB61qV$!>|sfkQ8Jf&6ls!T-L zW2Z8P#kQpstAz3{xUFq|bRzGC?4$8X5|VPDj1<9yB`T1(P45$Nc%&doRc{glHk-oY zi9ydi;HPgt1}}O$Ob=yH)CNZ$&6L$y#cA93bBGdXR-!O>{B016(4%1Wx%Aox?5Es! zzhAH^D34NF%Znoo5ybbrhawzY&FI82M>%AtM;UsQSP98}B7B{1MYrWd5)zB)Y4~yr zomj!*hMh*9-W6_SmU%7m_KMI&_+vSL^X+zLGsh#Kbxacxx4-SystS(+<vOzr+lw+kBQi89^s@23Nr#mCaF*JfiT(~ z5+}~J-_-9DtxK7PLUQr|D@O@0+WrAcChQ+!e`o*KWS+OS6(0Dsqv}!&i3Gfm@W_02 zS`#NGs`&%7?7Rib3D-f#Q@IBh>%ScDak;cE`+$jduYFyr?A8jhQB+k4IzgaqF=Ohu z|2gUCWa$SPe7Ba1I6vup@7nN#Jx>mDde1DC5j<(cG7AV2FvAr3IwiIg4!q|>)1H%Y z?&o&Z?TgJ|GrqaT^cBZ6LCEkim@gQ>W$Q)nF2u=)W#qS5c2~aX53e>_T`6Tz!nWys zChm#6y10Fl2@E)C$4EFnbn4XvJjpZE4ywow$Z(Xp3YiePlzNM1%u)pcdeogW?tbXb zWk>$yA^N_`Qo?R4)O=6jHQ_GWKiO}yMs(b3gK)R z?1vGQF`SlS%4JBmhO;o^N5$E;4yJ8|hm|p)P$99R;44BM&P{PU0*x)6o48GbUo|~ z*gpvQ>IGA1Bo$afKEaM*g3>!20;0}0^791Z7ZJeTbX=3)(QXMh&4#H=#Jufg85}WRTzspDy6(pcT%F;at7Q7Y#gF(AqjXoLcm8|8&mo1uSW zW19C?blXHxw?MQMAqqYp+)PU{=h<`;{>Y8%(MrkvB%M%*_aJ2+!u;Uz^k@LA%$NYI zfEaZLY>DVa>H)fPTgDu2e`!{eq;2YiTYqzmzT{8M0ae_dyrpSa%0?PUHdJU>Oi=r1 zdG!U$LmFfA^Q@y{j16X+%M5SwrrC^X_N5VMs`rbmoB9FS0{EK4vikE8{nhlC2)~|K zU$GS-Z^o)6ASqJW^LU*-yJ$B+K{>{yf}$|vtM^cYq*KY{)o*`-goqP`EZse+le&N< zxMQ6hW#1gpe*B%&wVdG6)?L|=E5s}dl`DdG(t$fD_nhc$5uMn$*RlTdQB@xQ< zUx(2G^DK@{s1j8Em@*v2B$XL+eM1o;AaeVoB4{-Ikk~jIAYP-HGmo_)!`{s`VWqA;Y86FK% zty!ze`r}?YQCEe|qE5~!oFM*uB|W~0$B+}1X;Vkt_ik_RwiSAb_xtK?{q@h7+fQBC zGBk2AH@?p(Y0ka+Ho*2DwcRRYe^z$3g72`8V#M;OPB{jA>T}WeP?GCc7eDJB6)b5p z;HIg-=G)+c2vFn6q07z2Wjdp7f3xmoICSq&GJ*|JwnDk{=eGWP5WWE1cK9v{VkiuY zAhSA!!#t`W=E``!*wV+i^Ak(OVtD&e$D(NTABR@m*OS#?XJJ95ixXDSzcw-AaHQ6RX>bu` zC}}ogwsqhve7`rua_fJ<7e`>~($kaQL>a^dd6dLb7c5Nmh~>-C)Whi~I~-v{nBdSV z|1QHdk84!51!L&z8FsKd?ZNZ7 zyN)uNRvt4EGL5f@Io&xY@W7{d%N^EutFg7WZk%dc)Ow1oiS!`VO18kI<*BP6RUHu< z(XE@q?75FZIU_r%*yiW|EKSFdH4JHI8ty6$T7B~Mu9$Lk)X!ZUS>ic{Qj^WkN!Q)C zqv!v$5dAC=58*JRB8ta2)SHLP(!sTkWwVq@z^26Ce{FYnV8=dplxYg(lqZ%F-03s) zpebWcLs12r&xe`gL&Mh=iNwPEjx$RJq*>Bczw+=N%Z6TTjNJ0iBJ9vMIX~fE+_!XA z)qB$+A0R4nmG@8FVZ^+rE=n3k-GN)hU{A6D3YpNWzpZWpuI#Gq|1E1P7I zBXCbXUFEhsIVapNKqp14Sdop?-83Umy+7NR>ATX=5lNM4a@5Oe5h=?6nMg4rGhp6F zzbpO_@BGpCT6gA}2hUd<5R5KS$d+v)m`?6eG*XW3y6q$&a;!k`J}-OK7U1%HPH+|u zyh6F;4ufBK7#KT3bF6G0+v<9FZJXwm11QHFMOJTd>bi4H3c2!b6h25M8$SrXH+^{v zc*e$6`yOJ08pzZhs<7uYE8wDIo_1-&_h$Y309pvldRyOMe+ zNNhLDo*>x`cl8RCgcD1qQsV@(qL9LtT?x z4p)%L8mXf;)Lm_ki-%+72e0RnkYIv$@yqe=>nqK=S8x(vJHG1hvo+qj!Ar~kwa}pD zLSpd7+jl+pEc2Oa`ZJGG##kDTu9ZkpNC=aCEg3r)D6~dM`24Z3DHaD@TDCCZ@BowC52&$Hof z7}4@55BbLq!qcO`^*cx18se~P_$i7?A?8YSzG1WJUu#}(Seqf&1qv25xEC@5OVf9-q&Sx z3#ZCPJm#)E&mhgY^2LDg_h)A@p-u7hLu?m&p$&)cK2IIt7ViN;=zq44wCHsSTIGq} z*5`c_tQA&V!juut57j27;f?!JWC?nguX@4e+MZde0g)&8ecm$s>9+O*jUUN3S%}i^ zHOo*_Ji#_h@|$z?b3XwCNh>cKj@1^X>`)T)<+j0R54m@4zWZ|lomgAl$!fbTW0`-H zBnK=czcJXcKimlT@WTMF1w$!S;&%P2yJE*DjXn;dfRo!$m#}P|6;IW-T?h5JZn0?w zuHIC2bfi1Q5vnYuJ_=h7WT&A8N$jHc=P2>s;Gzy*V(;Dzsg7gqf);@$wVvIS%P@bIdP#h0$nfdF0+;~0j^-h@|YQkd`RAmH7f}_BZcwSm~ zWa`zMSGl6Cq`*FqgeNz{<)zx##xc2@jZSQUwo+I`f9%j%?#Ew@?JympFic9rCKADw zv1fJDx$ye{c;q%|T@5kYOnhxBUX~YE*M~hOmli?(BL>w#&%t(n`P>&#IT@)n1m;8< z|My>+V)8R-1g37!wlbMh*TZ{E_1mjcEh5(gOrSbQz{Bq{gF3ey#7sVB1 zl7%jdL7e-LU!&Iv`XhY0X942N7og>JjDQe6h8WeJaCpIvCzRPbykdNJnCgi0685Aod zsQn%cO=)TNnY^x1o1egz7oX3Ha4%G96U97BOnhxejz-f;DmT|*H}TeDXI7mb&fzFX z=1m{r)t&ZQ{fU0L10|=K!xuVb!TtAfpnYo)mhV&JCg%jDo;Y2JUJZVE?*}Y+b(4DI z>(Rq%vMxx1bY(SLRQ%=6SO|?y%S(p9$~RlNz&Ene>Pn@UgpmW%oV&7u?N!Q(_=fK46#oy_5of{^VaI_(zQB7hzQulOO2wmzM@$Q#!O<^ihuRS-7$D5|@aX&%!6Sa+Fl@7#8>ul-D4O zz2(ymO|6@3gc#V?Mmh^En>7qYw6o8vNWDDDilu;(=7yDJ9haY;`l3?{5>LNeyWI)~ zslAiNsLR+lw+E_Ge~+=+u&WSp8J6|Fs5=t;K7D$XVT&LPlfJlABzfa10nxX=(oy{L zFu4au|Ke`w9Eb#bz%q-OajOU~W-L%>1y>O?7Nxz`C+8VBI1+8a8GWK?d9qmTkas#z zTzIOaFLu9XGL-wf!`GC{`m+V1L7b6@`^cchfx@}YT~r46V2bh4CKDeu@;yB-0;1BK z$VPiKnj+=Z@1JK$immNLEf`v^B`l+rvUv>JUh&?-z#yE)`$8!w0QbduM|wfES2rS z9;z^AL(D!4$!aqGb&W7EF0N4_F-#S%&QQ>+}r|ck?jUm z+zTVN_9@a5C6)Cd)?g;31PnB`-A3sr=}KPGs7)qG5dsvyVQ;Mb)rN(C!zTSEJe@e% zs@Da5sNa5(<|7`>hHx5N49KKD22BbI-+B6;5%TgLQoqXAY`PF~6*Q6EQX*>E|DjNw z)EvUXy+@ zwH=*hWQdt?N^f}?`S<3D*feVt@7}|e(quI-)E{2oF#ox{E%qztM%`tGneLydQ3Up;UR{4>^4e)$kh{NBVQU_E{H?}taVt!w&;A2>27JO)Y0BuUP*{Jg!83N zRLN#U#r_4tz_|84+o~OFh&g{I{r)*(SMS9A=afQ(Q7KokV z3ARL90MJe}xNR)FS^`E}+^UQxi!&$u{<{ zkd8c9J+pDnN0#oAA;6rfln7XD0Lx@BR*B5{xY;lC^7?Z6X)HkYX5|1a3xEC-f!YquSWZ`Zpnevwu&9dB)L8hdWfNDNx5OvBaq4&*3q%Iw3`6ZMi;mX*X})e8 z`!MXhTnWt1N9nqw;Oe~B?`(5HQux%=F&EP|8ZPQo5k*%f;{F^E;DcbS=zK4F&)zrD z;j7Jhq90(DH?q-GdYGFAEgg`ep?8+{SC5u!axrKc?yn~Y4p7-B*=`XvI zd+kw#oVl6wS*XoVfrXQI+b;=8()3=o#I7`Lh|FAOD2j;bG3oOggyo- z47UU_+#CPyAlzTz+DvSh-~cU3&!^uwsU6_aHSw40ETIXg?K`d^=7}sP|1Z$jk^gGZ zYH}N$+Sz#Ji$_iXJ%Us!s{C%qiu;;UW~e|VUo(dVZ$6ZvSdAtfPEct#b+2+25P4hH%^FayAiS%5W`oIQhg(X^RShZv9fGs!KT^XKcybytYeC-`${kEojK zhz8}b%Y&JOuELnR$gZQr5q>(se%Tk2@!7ejKT*q2E5~^kA-(l7_qQ=P!hPzAVY~FQ zkgqjf=geYfLm3uYKI){E&C^RpGgj7J0e-5F@7g7;iv)R1wt z#OEWTS)bTNXsX;VS4UERZS`Rx_{#)+=ZiF@+)bb8eF4Qi{%GiRClcD!nQfq2-Q>!z z`96`>Q8_pilN$K(m%(RkYgUH+L*4mrw3Aw9aI#+XL-zUXttw43K}GVN0Y^#O(DqJPp+_`BumdkA^h*=mtE_M5h8aI?R#a{hyZ@ z)c-*XX(-ezOAdbbSrLDaa@qiY-&{u*VHtwRYxz61;;Ih^Vp*2*nhZ%1sxoILvaVGp zs~WTT_O%afkDDm&cSAg_DU7iaw`AJ?6!}<))M^DNELCxpsZ(Hcps}X24BVZ`F4z~m zHT{qQjSgM;OYdjKhr(NPX?dBnibjX)5JCY%$q_JbfpG{=BjA47oW0WRDhcT&j7o>^ zDZ0oGYuIg12u)oo#_}sR4kZ^a4KsAvz6fqc*utyj6_BGI6}>0&;YkZX7dD1imJS2D zp+g7*DuGhmwti1<P?wj0jSRoVC34vbvn6 zt`4E@Jdxcq(qHQvx97oso@n*b-6;I5*D7H5x6*+8VfcA2tsgZhtpJ@q5c(cB0%P#o zQTjTp2o?ArMascQF~(4#na|Mu)BJ%$!x2XpKyC3h8x%ha1;tP`&gmLT;_Mz0>rs0A zYt8bQCqW9UBf=bpTDtqq{W{TI?3c`@E!v4Gw6DT+kqj9rVkVMnwbfZ}2=csyPZam)R+Sq2@AtQ# z(mvRM(-`EtOzxk4TS`ezKbY-v-(VvGp;HGpsby|sri-oD>h6)ZrZobrahOcoe3=eI zOuVdGWvR;xL`Ofr;iDWJ!`oqYR$FftjLG`;If83S9>mudmCQ_>4ClDa{bE_?i@yVj zqHLuRc*-Q-h2QRPy5AuKrILy2oE3R_O5p-|_YwX4v$Y~gR))$f|4FfwBFu$pL{GdZ zorjaLLH5EvaY07ial>aN`UI;^I?rPxp=6xXglFlufQQAKz4s#_?Q1jl`I|l9{^4IR zdb0NO3N!cn;KBV{gZj-|Hs}+$*cMVu8NKtat_^;Sjx(#S%B={_3pbC7hyVI}WJg0` zMOBQ;M8Sj_1BW(SqDiAp?5Tb3z~8C_#qYE#@^rIfEV{4G`MMwPzUz-6@a`t#7ilw>v~`Th+v!4t}=)T-}#E)XF7r(e)TM-SLh^a$y&pV%QXgM9mx-uJ~B7A!(z z7QB@HlCw~~c&Oj-8~pZ3jc>Ux?>ks4??oT~6u7pq`pOvfr1kxlxC(N2$UTaGT@vcr z{Rp9Plaz6)@Q_Jj2Fj#2SZe$%jg?~{lyZ&ZjLHL^?A--iKO<)kS@?W65nAOM-t3S; zz|e;b5KzC|08W*Ig0R1X=8|`cT*5u~;X`!HGy=bI1xW;7EZkv?0kU3B{tYW|f$2Zi z#=LH>`FY%f*k=;Wh@%s*i#aCy2(maV`kND2%0T1MfI<+?cs+O$@2e>%DY;m0#>->+ z$PnNYD7Wd7?saXwJEq`ux|PUNM# zRQi}@4`K9zZ7yqcUeUlOAaLboVFg(dY+#E+OWJ5TG$dtAra&KDxGEWiORtBqYu4%{ zuM=TCY*Ghywx4h{5fUl|e?rbOdoRdDVa18O{Zu3OtSv@%1C0yA%W+0B-sfbf5@G#! z~{KBkemjpTwVnPUc-+X%?D&@K5atoc9Y95Z6--)DdT z+%%#0h5JJ@!S;LEi3R}p&sT2B&)}hT*!g3s#=L%8IzhxhK6hHuACbgA`I++Ry8nh` zP^91?QIC>q)Z;G)Er6o;DWdR!RS@(8>Zj@R)<0cBY8B1cj>y9dq0<<8=$p5>dMdVx zU(8w1`0_;d{S0`T*4eaTiGakaUb#8?S6`gaiD zll7=1=j7CJ;FJRq3$C%oo3cVDKMEcVYsSFeuJ4CV&H!nzh7J>4nfKne-2e6k%D#u# zy!)xGxgYc`@Vc$J29704I#xQIGksVT>Ms?J_B5p_hT7dKKLEiXb?Aq=NipaS(2aG9 z-%9ue0eU_$RGno1AQq#%Ch>Px{M+8MwqUsYRKZsYHDX2z@b z6+`B?V^O;^lsLZCR=*7f(rY2;iSH>G55*+DWQS&KmY7ft-X-SQP1zI7en$tO|d1=#QNb_*gL%6wHV=5{U7zTPU5uouTGh*7}f+5tqj^2GsQcfW^Al;+XFTH8%ON9qs+DFdqZ-Lh z>6UAHupoy#{5f%wN|f~{iaj&*nU=Ycu^_Ff=kXLzj&Hld9~V?o{*}Zh=g&TW_8fQq zUSU;*Fc#;b|96U-klGn4rzj$)LvuJ3%-L~w9BO%cwlCZBF;0{^H!bNK9z_~Ic5oeJ zNs#q4u!5?r=7w9 zvv?`ukj)p{o`I>d&f5|#OvV;jF00=qj4U4quP6BAMp~6L@VaEMmn+G8^JSYGIjD*ZEQOq1VfLUkLBYEBZm-OQ`doSOtQ)I0fJ)kSh#~;%4mFj zcAPuToU0q&s>67%*hj+Gr*r(V(;MFtR2c^Q_t=ojkQ^J0sq2GuBVPN^MqI=gDgC~a z&#`ehs)2F@mA_*3QF+6TIyLFAhRKt>h6)t1#xqyq+LHy?VTXpimcw$cS1k>Ck9bVJ zQi6|~LfsiUM5$qJ(HpNteI-MIFJY_UJD@orq;XYpO}IL6ck%YQj>Old=MD;Y)3kqaQfwrn|S~mQ%@o6WUlFw z2swQv`^F|9kXo^KW(?p$NN0UlW@NBJXq-wTS_Z!3RN4M=Kz%bx$;^ENYt1dWZh2L{ z^&!fs$}a}H5FmClPZUIb_C40-)AXl6JMda;a_j1=olqjJ@hK{cBtkQ^kIg?dx#StN zE(Q)OWB}Oz{|6-IN03nlQdtDkoRP;GY8VN>?osC;57+i149O_rQzMR_yMyTA90a~G6P1(EX`+M)Mj#q~# z&e`%S#OoJn*Z@>;q-Ph$ju6~aM!8#j_-RwQn-7J}d^m6Df5rUh5d_-7*@sdynxV&M zEByCNbN3Ipwl?A;17Hn}IWAdQK!cSv@p2sp#wf@6ISHhve5#|7r0G-75?dO6?fXcx<0D)xxF^ zQbLl*{IEi+BBP|*hhd4tLbV@mY@T*oTrb7Aw65peTg}5(W0U|`sH!`4C`cgR`+F2y zhY)78&r8ZPv@8)r%SF_dV0DKQ45$< zeb|xEdEW|uJ-{~X-5O$CLEUrz?bR3yJZYyF>1f@h#*zfjNFO@EYz{{j^j-88xv`>-O?SHildc~L| zH*E?{Uh|pbC$G@7ws6Zj=_58aCcpZ`d{QGEJV?{F==e{DhnTSQKtiBmj^9gJi3*R~0 z`}&1n`-cNmU*?z}tn#iA(4BM-!3DRDx^jwD8{YU*)itTWqJ%fhU5$*r<`hwjggVx9GV5iY^P zf_`^X-=*tjqtP}h4_nGngKE4r+B`AS8@g1SemW@R(HG``lTDvFsb25=WMagbEv3uC z4mx@gg7$ZEga2(=<{v+P7ttyLb93%Cnf^edZT>VICWkmy&o%1uM)&7O4@2wP{;6!~ z|Jed8WgaOqW@yNu4k5eq(zql?#~4aeGJo~;#g0woAf*3=iLvEKSU!AKaT-B?Dq*?~ zsm?;%sv8MmvA2}+7pEdf57R-8ejKyyUy@f`d{B(&mHf@K2Q^O^gq4uURoKHo#&F}T z@YhSq9ka1Ae{--r>~o*~B1X#BglvYvY5 zC7BCXhI$**Z%9!OK?bTWYOGTwp{^xCLK-c;L!?saCRR@nk1fJIdAhf)XmZ4Z4VLgGv@W8=T9HkB*HgyGZzVir(SG`$&pbK-_}Y3JRqO ze%^ChP3X93xxmK%jtjG7&L+71mEjs6YHv^gdd2eKW60KaKXroPz1~aJI zGN_ChDQNC+6_W?0#F4K7grC5C!ev(9DnxZp_yhO>{NmG>t3^P9dNX)QwJK(AC zKLJLczr%6`FjduG>8jAuFp@n#SY*jl$oHntvsNp@Fo~2*Aqff$IkoGmQ7}cu&^^Xi zme~184!ZE@r+>z%!ucA1LFoM6NSBtb`=9yKKgyiFkn?>(%ex-y^-dBjMY^Qp^S0k^ z;?U7B>OkbxnGfUBk0D{rEu4PnPm1~FTo$m>qM*`65d=7V0G3&rQ{l)$U7 zqc1JxVq$YV{e(NksW@0R51n_D{?#E2;l%Y{O1SaSP|}yfXwo-+Np|}jX5p4KR47J% zGCdedip4TIPDmej7?N?#8tqP%<2kAAtWT40*I!{=}b*r;cxXUvGpYGyU zeSvl)H1+>dY7BqVJkRCELR2bWoLa&oJ+Wdg`^WjjeH&4uN$aV%5=P*4mo(rerOZN$HIl>p9frWFC?`xK!Ov37{C`OhAoPKn zkoG;zZzda`REaWWKu#1{?sz47*T@D+5gRgu0La@WBhSl+i(`Xa2DZVPA;95cOEb2L z$Pvr$KE(**8N$g&y<&fmKaNm>azyTbq@ZCRylJd% zYF|_V55Yn)hW{al5$f>!2;=_;1j{5Jn@e;!pc~smutD26 zl0f(7Uq=VQEx)9j_+F0=NU#Ln6-?2z9pgQM0v9v8Qe2Tw`CT&Kn!b+mnp=<7H3RgL z4BRi#T!Igd%H|q`edI62>JWQ13H;q_@e|Cxh8a~@&udW~)wB>T(q)=W`~b^N0dZLV zq6RjG1Vx7d*rcj!nD?Q$pQn#hnl&_yWgxi-9zq>C7ySK&uG7+6;D{gBl=t~AH-?LP zF9q#cMJ_wrO)<2ascceKxI&H!-~Eu0B5u4m+YN+pb4*VWHvw2Yq_%{}$jg=T?@_4- zSADll6V<`CZVRC9PeFx)9%jXV+OB$%eExbP6i3xt7!PWP;-~V*&}EYNgU-#f2QIa` zsk_%@SjIsmd657E7#=ifVdjCoH2Du}omL1?;T2v8j8si|0*<*mV znEyewdw<~U-(DU9pC_|1V^LToz#c;{k?7?Qzuewl)PK2gK!wo81|!jz1Xkl+ z=AO7|j!)qkU!wFVV@>gy$$+K8n$PHUPxys>1}rznM8pqD@=8#+C<8jX@K+f%9~ys} z;&)_tJL2zjG4dogjN3ZbwJf)|FYUmyY>9UtcH3_qJ&fCX^d5eI#py!DRDj6f9IEl+ zoyZ-moS9^e*s)}SUR3_-wrp}&MGVG{7PH4`zT?qUu`yksplRK&Ct*1%5N?#xRh1~? z;W`)O)jAVO%Vbux-;tc(evzSj|3S(Kt2L-W2OS>&huzvNShWAX4dcjNrwHmhFaHjE zrp*Yx^~L(HUU7Uyp%CsNA(69LV@|&%5$h6t+<2J7&*A0Yd=W#t=yBvd9I`ANtpfSO ztu)JsGIZa%J}1np#BWF7Jv$RMU1;18!x?7r{JVQ%sm{q)pG+*1)s0Rv1JWE%a8H`I zN#&X@)|JI{E+;pj%cgTkzJ{00&?|q%bt}78KlK<3+BW_yVQy#y^$-2JmkpC%y&Dt3 ziXJb{7o3hL5BIYSZy|U?PhMI}*GUV4tJ0#YM|4VrLzgp;`DGi}UXu4vM z$x7f;Wt_5sCaSy+m=CN+DXmbG@m!mIt4Z z*HtXl0WrPWKv^}|ctwHii4`;@*xigOuPryy3AvSL6>~#n#K8V5PCS)XHGQ)WKYR>j z)bWzROLgJO>g*I{P!h&iIt)Q%QmdpVfUO~I9E?EqG7rCc?@c{4bF?^L6?IQ<>(Al! z0)=U~5O1gz7$Dn{h*V=47rW8YczMr3UoofVJX!x(b_0cNj>n^bW(r~+wjY?bF3Gi5 zU>hIH<>zgf(uYCrd<`7`5W0pZc3hCvkPhprv2e_%->&B!^sVR1L z7?^Nnx9{akJ;3uJ^l*Ld{8h*;se#RR@7*C4cDUmZ%5(485do7jaOOQv3^Rh2v)h*4 zb{*Mu=I&>5e?LZr^v}pVeRS#PQwkFa1ThRV^5*Vv^@cgA4mq2h^L@DKVSf4LyECV| zTF9la`0XP`Q1XfBPbIqZl;=Tpl|Y+i!TK)0R$u>_ApXwj-v_6$*1PJ_-5^<9x~GQY zw)~lr*#GMJ46qc?j2G{#m3!_-fJR|S^y*iOLrUi$l|>_6oO8ano?!Zgq= z(a`(Tnue^8>6sdXIJ94ot;a?&3k2UOX8tTJoi>OGy2Mb?Q}T(>&`_jQ^GSuSr+U#q zH|D)?V7q=|$+%ryk@=nHbLuQD#`fBvjwUvg185!#-EFz@xWU5{oly9%Sx%utsmDH~AkYS{kF) zHN9x04`W0%O1eLGFE20MJihWCTg@blR-&gQ!>3{QSrf0Al)?NSgPk|U2!y`~1!g{oko#F+PfM(1e%S=0vUi5%@Zv+t;jyt}Mb&^6r+-wH6n2?>ujv5Yc7 zgj}1>i%Pr`Kj1_Jy_(=eSt*!8tq@PZ#knT40o0Cl$H1ufU_OQ5a8QnygMO* zPxMocr=r<=BiA>uQBBKjb!?hzo2Z5n+DV*CK_2Mfv{)ejS10 zbU_df9B@Gh{_=WD+_5kmJLeb>69oIniU06n7d?IvteS{i9FSn2i#_%-=;>#SHyDip zxpsG3H0HzThIkSj5D+fNbXlCpi{|Q#{1#O~jRXPM5sV;9LP6~bgjilXh41fw7l2=m zIEC)se(Z|4uzSP3%&ObVS-+hD-`&O}4zcSWAY_AnZx>ztK|&FE*f=01lu*LZB4-C= z*+)$*`D-)N7l3sXgxs+6EwMa<`2l3-fat>>O%_=6NF&%_(Zh{k7Z18c4>uy&;G%~c zDXSFQe*O^=FA!G1R0bEWXhgNa!WE4;D#2V98-WySy6 z*4V>u;aQD1Lb>tlm^-qOwyiNIWZp~>6Jj=j)g(roL=*^w)u`QVHo@zgWBeC3T!bYI zRkm0VXtw;4B%F```DhWNN5+OE3T+s<|t{i+ektku6A zKL2o|aGO++Y|ykqTqAtja14XY+&`iglSQG- z65==GXQ4){1jA;2HA2i*7dBh5$|hu0;lYu$)Hr>FZF?!3Xy^S!&`TXTqRMj{M zII0ONrlL6@#v#GEpyYs*P{Qy)S_eduzyzS>!}#UwRsg0i0E@xZoxT8;Acp1MzNG6G#7Y~keb^=bKc?2W}7Oqoy*2VD8_Yv(X+;;iThmUp(caO%Wa*v)Y98C$WMCHjL3 zYq!tD7Y0>ED|%XGSjkI*d-p zy0=R36Muy@h{GOW zp9~j|*$u#UWe$6Kdgu;@@dm9a&odd?Fwq;f^SsHcu02f$<)4U>%nk_oZ|R=I35)`0}KJRR%rNalRx%by5c zoF?+We0UL_elgl7mH5cSUuN=CY3T!OTrg$}Kf3E&0Pg+C8+2C9;s^bQDKpfnNfN); zh?-p3_sACRtDVlttP(-0 zl1V}_!H>25?z!U)oYmF%%~gc5bU-#e+`^pi3CC}LNA};%=4~y^p3xY6O@@*KQbGyC z16jp@49NR|5FN>oX*5i>4oE6U2ur-eCh^tD+qmV2vjGYDf%QDmb_TrxHEHezBl2kh z8(ZS651bCM zkH;roosQW1MEut8$;Og>n ztS3ZRN$-H{dn)E&ZQ9xrjWybA7)qT9`nH?5wIp>;N)AW~B@7Q_bU=*G$F}ATDTRk| zeY(6Lg*qUTB)UGF4hg#z{`$Y$`25%Ev6^Ajs5 zo4>kD;@dN~^RL&=WX1BW{HGeD3Uvuv>`}9~UjSh>;nt zfnqoyg_b9a9@dgJ%Q>mz| zCTuNF;(&yytn7(?{_&mXa?c&&ybnv$sHm)AgrzL)D3~7a5m*?%OjY6PtM7lX z3g(w3uv;W7A(?W!iM~FG=YF#tvqgs1xzHeTL%i^MbKL%!oR4DgfBl*>`1ONZd1~tn z-2KP!hcnlAuKejRX>5Ho&gE}!z6`N6Cp`SmW{$RHz6J{6FUB>PiodJ73)LQgG4adi zPm!Yz1c>gK?STJ{JDI!oT;Bca8?0V^Cr$_aZ*4Um$;5T~K@|AX;SU+93Xyzv#7m$o z!kRSYx0)2}RenBGu`Ak*((=Tcu;(MT^s4mq_YqMf0%2iKm}CjFtY8oOpjO+K_%4`@ zy{FRE(@!Xk15#Bn8rC0x9?$Ely?&#(PGZrxWFeHLd=;rzP$Q00*M$H}j9`OULMa~l=H z5mr68g%>aQEYH0f&!3I+Q7rzycPzqOu25lBapWjIGVy1EB*D4kF5->0m*bYNxx&V) zdoIZ88Yq;%&}%TQ17ht%m4wJJ#((H8$owfX^QXw1ao5?=b^GQoev^1&mC{@50x@!ZH9U74kD_UqAnDXIAXE$ zw=omhYp=v^_eS^81(PmDM%9#|SgQ#t=Ct*%$9-&ixP>`08<{<0;C9CD7+r{@!X3bi z9qp(F7o_BXlu*L(KvoWjp5x=eIjsbb!rX5Sj0b6ZQiu>eSIBAeW5+b25C_C8LzP3~ z>(k!l`kUs8CnXUiMdjGBV|02Ie4)(U0r|Fojr@ry27jl^g)D=^BH>U?lvkL*B*u9@ z`*=IO-Y`$UH-n?S$8tXRV)OU<6~ZYdTg#U}n=D0- z-s@=Hqjihi@dlC#fBs+!68pH^KLT&qn$iJVE5@^F{K?PD<#J(`6-?!R&YZ9-Ze96D zDs%S(Bm|oHdRd~vJC$Sb*}}A$CINdH5dInH#On#-4O+0-l80x<<$?L8$a|9sFTS`s z>2lru*aUnDcyU_`$Fz8mk^@pg3Bvz>(6l|4+iN8w9T+xfSr2Tm}OZtj>w z6w3dXLl;u!R|#eq?U6Hoiu%_%Bnj+hcw^JRfW+_oXAt*4YuA8J42i{Xj6%NuME;D| zV4nQ;s&U9BKd&9G;`}jN;)DmlYlmkMQq1_nHWv1Yhx3Knx|gcPkwRAtK)Ujq1`gnp=g}3Ypr<$a zJto^2oVvQkl)?jI;^V~^SMwzdB1CgSN)AW~B@7Q_<$xITd}P9ssUk_4@t8(rGZ&0W z7W2W#vPfkej)?nsgXP#W2H-A^Biwe8M*G_$x z>u;DR4j?HIQc%MRs!E*rm^`i?MJ46jF{w}x|MzF$xwnOAO3Xpuc#t6 zMUTG$c=ommF8$7#FjJ(Q|K1-X1it(V|J6PNUr_9CF4Fg}^H*kZ4d%=5?>U6s9^m|m zqA&Bucb*&V!f4&2;PLd}_S^Veu!FNgVn*q(A~R3vqtoK&MRUBf@TKrTA(1H)s>P(> zaQ4CI*m6CVqyObjw%@UXGgsfqllF4%cZ_7atrE!>0$*orB#hzkjaQrp*6Gbc-=Zi2hy|CtosbzsXR>k^@pg3BvWL3BnwELzCd)z z=y4&rI3OcO)?t#N%qIR`x~hf7|7gS)6iKeC91>Qm$Ov`mch2O`ziH=^Yi985qgz?~ z*mi7Yi7}%`(ic#XWN=ua<@y%BxVn-40Q3jML%`dcyakkr|4l=NQMN9K@rSo^=}Hmg zw|!4LXU}fTnO_1%*40s6CSkWqV3x$gp9pG5Vec`OE1ryfH)qclbIT}d^0{NuAz2GB z8-8z4<-Ys3@_Ofm)YPhkBKZlBR4vey^&b#IU}L+X{x>b)QZxMdH|_l6*7-1VBLF{q zM&aeNN8%5wSj_NpF}{C|UzWtkmrU2-xY7CX*VfeX1^+=#I|g6=`gB<5V${d63U)fH zkR9c`8X1ShFskKE;O(-}ad96P^&eqjzd!Ey*Z(ctmTKHR$uF9^y1JY*o9a12jCnuycfgz^+l~e3 zXvcf<`8l$bP(lfVfs77_9&q~fof}9*ve7U?q=J&LC>=v*(;NnN?dFj>` z&ih$C-d^y9z-mqH0Hoq?`ykfxX7hr9{MV>3M~qH+b8`!Gr`6}o-`VLR;**h21tgVq zFK&hY5K2Ia6Ccw~nnmcSD=y9;-7LC^NEri?hF@enorO23;t#qADQZqbZ?oY~RsViJ zY}y&C|5g8L<(kB6pnV?Hi{ZF`d-G+^KD{2#TI(p zE|Aah6N?LJBptbx5eZ zd}9mP5PuT9{{Pxpw7e0o4|;l1_kkzn|9Whj$1k&TbqfCXE|s|bS@FPV`=A~EkUM`( znXG5~X3^pqtb3}Bi+&aBc3CjHk*Y|1Oo5JUose`f0Ll3Gcd7)!Q0^Ro5&&xo{%nzs zKU4jG{+uShBE3q|Yv4vRi+?S$p}zTkJNyq|rSR`R02e&cNH`3Yc3B%5n*18@hZIJR ztmDtuz6_S!_&1K8Or8HAz8WuQ{)2c(e;9J{;Zc zyHK^7000YuNkl!tMUGIF!~xL* zXYCcW)L06S0U5a8!0TMCYoudai*P+kD4~R5iHr_NETd_>lc5jIg?J~#3K8<1c=TDlPu1|h{U)MNMHX}lR~Az#b~_ZY>`lGy7(O4+f9!wCv@(9=g>FqqXSm||dLQIA$a2_+O8InRcxWBXrY@AV-6K z_Vq6=fx3=5>_IW{T{`n2lM|9O1|%83BIef7gD30ivg6N$lzA{l)M1vv;()I{*2ps( zV)cL4>_$e*FtW;&`a3uxWZnm%%ePwD8r({{QyQEjEhl4&%QwS3MU@&vrM5!ip%0PTh^kT>qBcm7CImIAS~j&nBx;dTOu&k1ONkp& zj2GkU+IyLqKAfGM+4Wv+r?_Fhmz_O3bG~!VT=txAzVknI^5^4#m@p%Wn%KGSI_GY6 zGMat>%c>6p+#~Y+rGctZOMFnE;wm{2HkASUXg28$nv| z)QAHD@>(?2wR*NI!Bjzt(l*7xnFZs(!Gb{DkxSMaK!%2jXCZ7j97EIO z$TQ#-JoDgHzWMDfplKX`4hn! zjqq1PwGnue0vR79-nZI+!>SnCog{vboS{?g989LAF?Pes7=1Tn9;g14V9VMVV^i|{ zcs;fG$^Wn4O(q$gl67u`-|K>$-^ycnf|~sHI3OnalP#=^T0z4`OMD=uJ`X!g&qt|0 zq_PKRh@dBj5-5)KacjDTcCS^2)Wk5u6KS%VbuTNzAn3^h?bI6p!W3q8oCShA%Crh1T=%t)zt1`_b2nJ}ggq@2&g zj&i?NYX8NHT50pA*wWfpRE7yHQdEXWI7rSDA*VMLu7f5;qs^D1tF5mvduCj1C#cEL z>Y-4Gj3+|29tDKPIv|a1J8?i9I9M2HSOIa_Uf(9~j>4+q^tmV?rSE_RvJ(;T3ihqM z!v2Gu{OV_yIdN$tcT;TL*66%1>J-=dU3}q-eC;oCuL@B?5 z>|{L={WJTITT9A!uIWVF9GX=fO*G6uPi$Rr>OkN>2Toy)JV z|2vh-H+nZoDkIgi3qS0Y2H@`kdt`R!FD6*MEQYI+2P2sz=!5g$>jfA5`dbOeFgO0Z z3H9`W1hJQ-r>T_Ryd%7se-+Y>9J;`n{?%kPg*6+jeeDX!Y*ASOxr0xiE|@2d9J;{O zu?}tzYpiLu_L~?RWq4d8ty!;N+^SA&QxI#X#4f2f6=%P0hj@(9@TP%rNe#YtsqkI<`*!16`w z+7zd4p7`xbL^K*L%WoLPF*Tn4@>2w-W?x4;8seX)Hm-(>9*}4hZsxz7gy()4XL1Ur z(hzD9Xu46ge7o27(vys%8}QXv;xzjp;DgsrCgAH9MxE!?hZ&fwWF2-GCuwvgeb3qlp6sF0iGtoiP4Q{M|;tA zgHC^fQv;hZ40z*CjD25}qvl7#3Euc9Rx?0WwGmjsD`CEmo+o~LzNP#+GE(M=D;v@F zd?-1l=T^s3)XhInZCnl2JUFYr5Tn@xfy40r_Y-XSag1~Z3`6jGaueAa<=Yxc@Yb~$ z0`Pj^Z!h)o=;0U>55i;`w4r2055~|?5>q)z^uvqT1qx}+R`d2eO2Nk4J``;cKX40LbC%qc-WmwDykE|*zxgQl2tZeV#=0J*@Y%Kib_4paf zdini70t7ws6-U?)9=A%XCP?MnOlIp{1*UfU8$u_U%JIj6FkV$h(_I9cUFe2R;^Po5 zRYNmegaRI#+$w2JplKk4LB`1O&h;+5t{jG81*$U)K|1F`X>#LLnz%Jo{r(fkH4xn@ zxKttAH6Qp+Q9xA$h5=d4kmm9Ruf=lpci_Om{~n^HWrb0$Ltw|z&F9(pwc>amr+)Mv zFJ9ix(aq<1_K=nS(Z%<;@&|bF^7fkKBO?R6`R1zvVE4{%RD6br{H#YMZ%Wl|rcxow zr`N*iGbf6I7~E_AJ-a0Td~*Ch@!Q+qZbB~gn$%l9^6B}6hP{AT-yy;@N|W7BFO z|By#3%6}|f5)HKhRI9%tph-2%n1ASo{KHp-fg&WorVBZ%%T_N%fU3xSN}(I_7*mC) zb^jF^(QR#5bYA9gEtc}%ujuaXzSl)?a34eT^z^WI@AFk};d1H+z=3lss{U3BX6M5} zF?zbYMR!ln9RK3)KRE67`9n{4ci|b)-P2=~e!n-R`uxD@fH=69_%Fvc>3lt}7Wx1H N002ovPDHLkV1g+Sj{g7v literal 158264 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 Z3yKqYC-d8>7CZp_xT~(KR-s}U`d@DvhUEYN From 8528948bcdca7f2461a69d4819d19184c752eeb2 Mon Sep 17 00:00:00 2001 From: Hubblenaut Date: Sun, 19 Apr 2015 20:17:28 +0200 Subject: [PATCH 007/305] Adds blinding/muzzling and changes trigger for jointbreaking --- .../living/carbon/human/human_attackhand.dm | 20 +++++----- code/modules/mob/mob_grab.dm | 39 +++++++++++++++++-- 2 files changed, 45 insertions(+), 14 deletions(-) diff --git a/code/modules/mob/living/carbon/human/human_attackhand.dm b/code/modules/mob/living/carbon/human/human_attackhand.dm index fd5f90460b..b3c2c0c22b 100644 --- a/code/modules/mob/living/carbon/human/human_attackhand.dm +++ b/code/modules/mob/living/carbon/human/human_attackhand.dm @@ -89,7 +89,12 @@ LAssailant = M playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, 1, -1) - visible_message("[M] has grabbed [src] passively!") + if(M.dir == src.dir) + G.state = GRAB_AGGRESSIVE + G.adjust_position() + visible_message("[M] has grabbed [src] from behind!") + else + visible_message("[M] has grabbed [src] passively!") return 1 if(I_HURT) @@ -222,7 +227,7 @@ //See if they have any guns that might go off for(var/obj/item/weapon/gun/W in holding) - if(W && prob(holding[W])) + if(W && prob(holding[W])) var/list/turfs = list() for(var/turf/T in view()) turfs += T @@ -255,11 +260,6 @@ visible_message("[M] has disarmed [src]!") playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, 1, -1) return - - //if M (and only M) has a grab on src, start dislocating limbs - if(grab_joint(M)) - playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, 1, -1) - return playsound(loc, 'sound/weapons/punchmiss.ogg', 25, 1, -1) visible_message("\red [M] attempted to disarm [src]!") @@ -308,10 +308,10 @@ if(G.affecting == src && G.state == GRAB_NECK) has_grab = 1 break - + if(!has_grab) return 0 - + if(!def_zone) def_zone = user.zone_sel.selecting var/target_zone = check_zone(def_zone) if(!target_zone) @@ -319,7 +319,7 @@ var/obj/item/organ/external/organ = get_organ(check_zone(target_zone)) if(!organ || organ.is_dislocated() || organ.dislocated == -1) return 0 - + user.visible_message("[user] begins to dislocate [src]'s [organ.joint]!") if(do_after(user, 100)) organ.dislocate() diff --git a/code/modules/mob/mob_grab.dm b/code/modules/mob/mob_grab.dm index 3e020bde23..962171029c 100644 --- a/code/modules/mob/mob_grab.dm +++ b/code/modules/mob/mob_grab.dm @@ -5,14 +5,15 @@ name = "grab" icon = 'icons/mob/screen1.dmi' icon_state = "reinforce" - flags = NOBLUDGEON + flags = 0 var/obj/screen/grab/hud = null - var/mob/affecting = null - var/mob/assailant = null + var/mob/living/carbon/affecting = null + var/mob/living/carbon/human/assailant = null var/state = GRAB_PASSIVE var/allow_upgrade = 1 var/last_upgrade = 0 + var/last_hit_zone = 0 layer = 21 abstract = 1 @@ -83,9 +84,27 @@ var/obj/item/weapon/grab/G = assailant.r_hand if(G.affecting != affecting) allow_upgrade = 0 - if(state == GRAB_AGGRESSIVE) + if(state >= GRAB_AGGRESSIVE) affecting.drop_l_hand() affecting.drop_r_hand() + + var/hit_zone = assailant.zone_sel.selecting + var/announce = 0 + if(hit_zone != last_hit_zone) + announce = 1 + last_hit_zone = hit_zone + switch(hit_zone) + if("mouth") + if(announce) + assailant.visible_message("[assailant] covers [affecting]'s mouth!") + if(affecting.silent < 3) + affecting.silent = 3 + if("eyes") + if(announce) + assailant.visible_message("[assailant] covers [affecting]'s eyes!") + if(affecting.eye_blind < 3) + affecting.eye_blind = 3 + //disallow upgrading past aggressive if we're being grabbed aggressively for(var/obj/item/weapon/grab/G in affecting.grabbed_by) if(G == src) continue @@ -263,3 +282,15 @@ affecting.layer = 4 del(hud) ..() + +/obj/item/weapon/grab/attack(mob/living/carbon/human/victim, mob/living/attacker) + if(victim != affecting) return + if(istype(victim)) + switch(assailant.a_intent) + if(I_HURT) + if(state < GRAB_NECK) + assailant << "You require a better grab to do this." + return + if(victim.grab_joint(assailant)) + playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, 1, -1) + return \ No newline at end of file From 12cb60daa3bbf2ea993a80d607c3093397290cda Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Wed, 22 Apr 2015 17:27:44 +0930 Subject: [PATCH 008/305] First pass on wall refactor/mining changes. --- baystation12.dme | 1 + code/game/turfs/turf.dm | 7 ++- code/modules/mining/mine_items.dm | 69 ++++++++++++++++++++++---- code/modules/mining/mine_turfs.dm | 10 +++- code/modules/mining/mineral_effect.dm | 14 ++++++ icons/obj/mining.dmi | Bin 51774 -> 53008 bytes icons/turf/walls.dmi | Bin 146881 -> 139846 bytes 7 files changed, 88 insertions(+), 13 deletions(-) create mode 100644 code/modules/mining/mineral_effect.dm diff --git a/baystation12.dme b/baystation12.dme index fb23119bd3..c5e45a2729 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -1044,6 +1044,7 @@ #include "code\modules\mining\machine_unloading.dm" #include "code\modules\mining\mine_items.dm" #include "code\modules\mining\mine_turfs.dm" +#include "code\modules\mining\mineral_effect.dm" #include "code\modules\mining\minerals.dm" #include "code\modules\mining\mint.dm" #include "code\modules\mining\money_bag.dm" diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index 1bc058ef6d..d5757cadae 100644 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -239,7 +239,7 @@ // zone.RemoveTurf(src) // if(!zone.CheckStatus()) // zone.SetStatus(ZONE_ACTIVE) - + var/old_opacity = opacity var/turf/simulated/W = new N( locate(src.x, src.y, src.z) ) //W.Assimilate_Air() @@ -264,6 +264,11 @@ S.update_starlight() W.levelupdate() + + // Testing if this fixes bugs with lighting not updating. + if(old_opacity != W.opacity) + W.UpdateAffectingLights() + return W else diff --git a/code/modules/mining/mine_items.dm b/code/modules/mining/mine_items.dm index f616d57ac4..f50b6ca286 100644 --- a/code/modules/mining/mine_items.dm +++ b/code/modules/mining/mine_items.dm @@ -1,12 +1,3 @@ -/**********************Light************************/ - -//this item is intended to give the effect of entering the mine, so that light gradually fades -/obj/effect/light_emitter - name = "Light-emtter" - anchored = 1 - unacidable = 1 - luminosity = 8 - /**********************Miner Lockers**************************/ /obj/structure/closet/secure_closet/miner @@ -35,8 +26,66 @@ new /obj/item/device/flashlight/lantern(src) new /obj/item/weapon/shovel(src) new /obj/item/weapon/pickaxe(src) - new /obj/item/clothing/glasses/meson(src) + new /obj/item/clothing/glasses/orescanner(src) +/******************************Goggles*******************************/ + +/obj/item/clothing/glasses/orescanner + name = "resonance scanners" + desc = "A set of goggles geared towards detecting different concentrations of minerals." + icon_state = "meson" + item_state = "glasses" + icon_action_button = "action_meson" + toggleable = 1 + active = 0 + + var/mob/living/carbon/human/wearer + var/list/ore_nodes = list() + +/obj/item/clothing/glasses/orescanner/New() + ..() + processing_objects |= src + +/obj/item/clothing/glasses/orescanner/Del() + processing_objects -= src + ..() + +/obj/item/clothing/glasses/orescanner/equipped(var/mob/living/carbon/human/M) + ..() + remove_ore_images() + wearer = null + if(istype(M) && M.glasses == src) + wearer = M + +/obj/item/clothing/glasses/orescanner/dropped() + ..() + remove_ore_images() + wearer = null + +/obj/item/clothing/glasses/orescanner/process() + remove_ore_images() + if(active) + if(!wearer || wearer.glasses != src) + return + for(var/obj/effect/mineral/M in range(wearer,6)) + // Maybe make a cache for this so multiple miners aren't spawning copies. + ore_nodes += image(M.icon, loc = get_turf(M), icon_state = M.icon_state) + if(ore_nodes.len && wearer.client && wearer.client.images) + wearer.client.images |= ore_nodes + +/obj/item/clothing/glasses/orescanner/proc/remove_ore_images() + if(!ore_nodes) + ore_nodes = list() + if(ore_nodes.len) + if(wearer && wearer.client && wearer.client.images) + for(var/image/I in ore_nodes) + wearer.client.images -= I + del(I) + ore_nodes.Cut() + +/obj/item/clothing/glasses/orescanner/dropped() + remove_ore_images() + wearer = null /******************************Lantern*******************************/ diff --git a/code/modules/mining/mine_turfs.dm b/code/modules/mining/mine_turfs.dm index c56bcde642..b4b8472e9e 100644 --- a/code/modules/mining/mine_turfs.dm +++ b/code/modules/mining/mine_turfs.dm @@ -95,13 +95,13 @@ /turf/simulated/mineral/proc/UpdateMineral() + clear_ore_effects() if(!mineral) name = "\improper Rock" icon_state = "rock" return name = "\improper [mineral.display_name] deposit" - overlays.Cut() - overlays += "rock_[mineral.name]" + new /obj/effect/mineral(src, mineral) //Not even going to touch this pile of spaghetti /turf/simulated/mineral/attackby(obj/item/weapon/W as obj, mob/user as mob) @@ -234,10 +234,15 @@ else return attack_hand(user) +/turf/simulated/mineral/proc/clear_ore_effects() + for(var/obj/effect/mineral/M in contents) + del(M) + /turf/simulated/mineral/proc/DropMineral() if(!mineral) return + clear_ore_effects() var/obj/item/weapon/ore/O = new mineral.ore (src) if(istype(O)) geologic_data.UpdateNearbyArtifactInfo(src) @@ -274,6 +279,7 @@ var/list/step_overlays = list("n" = NORTH, "s" = SOUTH, "e" = EAST, "w" = WEST) //Add some rubble, you did just clear out a big chunk of rock. + var/turf/simulated/floor/plating/airless/asteroid/N = ChangeTurf(/turf/simulated/floor/plating/airless/asteroid) N.overlay_detail = "asteroid[rand(0,9)]" diff --git a/code/modules/mining/mineral_effect.dm b/code/modules/mining/mineral_effect.dm new file mode 100644 index 0000000000..040280028e --- /dev/null +++ b/code/modules/mining/mineral_effect.dm @@ -0,0 +1,14 @@ +/obj/effect/mineral + name = "mineral vein" + icon = 'icons/obj/mining.dmi' + desc = "Shiny." + mouse_opacity = 0 + density = 0 + anchored = 1 + +/obj/effect/mineral/New(var/newloc, var/mineral/M) + ..(newloc) + name = "[M.display_name] deposit" + icon_state = "rock_[M.name]" + var/turf/T = get_turf(src) + layer = T.layer+0.1 \ No newline at end of file diff --git a/icons/obj/mining.dmi b/icons/obj/mining.dmi index b51f8106a9ae63254abec6bbea0781e6cbc54e6a..98689c2032b078e55c11781a8af57fb6c0ee2398 100644 GIT binary patch literal 53008 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

rtEZrc;s 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 diff --git a/icons/obj/pda.dmi b/icons/obj/pda.dmi index d50d9c1a62312ea0ec0db3470830cabe5343beff..f4fa84dec70285d0383fe27639d8e04a86270b71 100644 GIT binary patch literal 20891 zcmbTeXIK+&yY4*@Dbf)U5a}vSx(L#Of}kRxARr*UgY@1KKm=?Qm0m>w1tj#)15%|U zy@n#4(0fR-C;p$c-se5`T6-OPf5-tdNoMZ3>v^5m@6PMTTI#e^m#F{%pnY&(RR;h_ zvcOjeB{_IzJ*CnW07wl2o<8$Zwehs_aB%Z-aCHFyzqI&-E|+=nixH#0be~~HI2TEo z*>CaXGrm3Kpey0olr33L%Js(@s;2OS>_9uoziyq~K1#DY+&dV>r(K3B>#5#0?z?I{hu|{-~eyB3|^UzE@#+repLc%`D>2vsq&=P#7<75`Fw!G zD-IG~69lb>BBA5cUBM!aan?0~m9d=i!p4+DGBdGjN_~#U+E}~8(*~cU&s)A#iC?IF%|8;a`kJKwsRNnPTQFIRtv)#(4CPCnAG zEB0q;>69&;lE>D6o5eGAc(H8bmt9Id`WN^$mP?m@VtgP#MzGZ@TYNA&o#`;6v{Vvk zTzb!*T2FZUhehkaNggMUs8&OoYHHF($6R?0iT5}T@_w>h z`}}(qu5$gR4O3f;>Yb)`HRkYGfj`U3ty65^ThFT8s+}nUs9BU|N3l5LRXA80Tz%lt zoAvrUEj{j;BQ>xnR&DQoF&@FUa3`4nDaNcm;G+(zu#hG>Il1!q)u130=&tpXJH(?r zg%Wa|M*Y#z9Ny4TH(>WLt0)%k?ZOb1Ke(O_}YvF{WB*c1oneiV`bU%lO%_Lf|_p3~zk zi=e*qNC3bdVcLr=N{)Ca=q_3vN6pD@6|_ck+&k`ELCpSn&6FTQZ~lUSbZ92ue^yCz z+qhC-uW*9EcF@nm+gX4HE?o)O?^M=%#iAHsqdFxxcE^63u`hc{ zNcFH3j)r~B@xE(l=+J%Y;E-Mn9@DV)_x32BVu2Xcga1tkM=BNg8k$<`jD2v}6o9=~Rab%B|=HNimEJv*1W*8xs=gHI8a z&BICM)gxBJ2Ag+j?tjg4GCN63j=A+nP0b)^q37t+>PuhE_Fo?tE32|k_Vx^Tq?x}J zKt>7;SE^9jnX|uIzsKBY;adK4dyTLdAD>d%u7p`lLK`d51lA*+Iwhq>c*~Gdu;fXz z6*^^(@HFLf9Kb`C=l0bmLB$94#ig!~j&A{3MWUy_+=V5|2&ocQr58~vVISAj&HG6M zo|CTZ_okfkIbuIuTx2x5&S2t(MEh`Df5+vpv_LE2x6J@3pQL4e4(ja_|0Cw~Ns^yc z!H-f$H#E`IDC}T8v2oGk_8JOzC@*gD6FKWqy*=whO#+k|6nb=vO`NX1+Uacmb(k3F z8rik@TcJ~h^h0{oEMf*fL~%}wCoJYh8l_wqePu%=!c<1t|GC6hYL@^E;U3LHA4_Wj zf6c5uVkVqRtG?ZxSl~q#6E}@X@Ah;(vo%=mcbfZIGspLYh$Z&1Q5JcX>PmMe6clX9()Zo^UFrq*!!@VVQmg)}6Pa z;^VL`DegpJ=_NSr^P;B!Sd?1HER{$)UMA(GH&7D$wU@ptE5^s`Yav_&S+maDSrtxZ zPiulIU-(l1R}Q%3ycnu3ROMKSGkLCEdF{WhudXFXTB78dWAxqi-O~*Fk@Nlw7<-zM6j`VM+l_N1WSPWy`jN=Q|MCKb~Ncxbn zFO8hAV|~5Xd-(f&C29MF-Ix6qsNv`nDM|V)bnL4X$xQmH+4|oSsCDh8RrhBrQRvON z>3}i+_*eErBN^%@CL9eXJ+5j$_?Cu8GLYVe#7?5ge#?Aa5c8xh>Ql!u^d4^9bJ=J! zvp?_(V7~qx6Md3cxgK5b%{(AHA{y+^h=#SROWmCmJO#~#V}mU^#O*5|G< zS)R+J?|l4%A`or#4*G;u$x@cnG&ZKZT%h#tZ85m>s*?I49wCCIB_po>EslQbPyaU+ z@c)wp|1Sss$Oza};$kJ~IBdMb1)hyHmU9lql^-0g4qTe-qlsd;8+DNe9V;p?KatM; z(obRTh)}r}abFTw`U?~p@Gl=VkTVp^&0F--zg_R!3}vpMp_6@w>jRf35$qwvwE~S_ zrT2n<+wEo>0vFu1hh)J1#t1E!%TAX0bb{@V@Ut@oI9~gw!3%*rEz;o%<)L?e76!&@`>Q6QdOK4*1AWz;-@IvLL??mlOK@nXEixq)~)U0 z2>pEB*~Xm+MgX<)CCAyWtf7AJdl8TX4t7NNJmwwRB~HC0CmM5l^9qc23KR zGSb@{9yyi=Ynl&npq{g~wUw*;x+HNWB&b2|k623Nyj9@OC0Y(~Dve7w?mck0?P6pc z6|1u#>sYH z*L#KF-Uo@tr=te*Ju-Hdn^QM{VOFJ}Dl5Ehb>8+?6O-F|Ce&almXXMf4CfqQzamshH z#zF4=#-+;}-{{pOEscDL#vA=SLbxEg>u@9IaF31dVuw{vaid(fNuQ1GWPiR^ZnlM` zKf}9*Ok&!K(&a@CCI?`;B;PcU+lm_Y;|+Gp$tL8wG_0}=fZN8(6R>{H?-6h{nUnKG z0UpDiSYX`V`@X;96kga)Ub`Q0W@vcNZ#MLXQ!5#a8=k~N*grzi6j+g+ocQC-@Vnx< zGrw8g@lJ^A@_1ZK)w~eU*wCl+q*D!MZ?+v*kAs||2q_5Ei?_&Y<>-zhGo9Ti5f^t+ zDnRGbjs9+@XBRtUw@?JSL5$4B5d5GYQwV&1BiZv|a#YJ&sjn6sB0QoLZ3k<(47kni zo6@wX*rYu=K^jPAC1V0;o13u_&xBux#chGAr6);ZJi&%l#^uVI5>EQM5(n#4*&_bq{r6JGz;!~@ zgwnNp{^1Gd^%Zd>K-Nxz-OlPZcHXqukNCI^f?Nxe2EkVj*?MxcGapq62|rOb(Kg zOl2Ele&gq(rv85K9ez#zA z>l;YbT5^0sAg{$AET|U?3|xQG=gnB1NDkGznQ$L(kQ7rS9eZ&RkESy11RzF-73Y%< zEZuItIz5*pcP;2-DR~?JLYy2SAMU@`VChf(b(tdUufh~fq;AMijH{m421wZ$ay5tj z6DwLA!7`WeK_utFd-+%^tDR*NRpb5H+6Beu61FtJtW;fOQ7X!{n(xAA_4>HzFi{Aw#^bl_*~IqaJjRv#?t*h1E0XQ z5(=tI(Q2EB&JFWFi-wG4sQVbCFoZOOnkCCxndK*e!ht;-_u0^O_?J|t(*PcyF6L>S zyj18$@iMN5^#tF#)mKDA32aa1#^rJqn6|(EOtUhazBlJl|Na_vg4&M-aAguB;Lo2z zQ(p(mL*UP8%{9sAJ#yAgL(PeG(+>thtYuQ-m(Y5K=gs;uqW44Dor$$92iEdYfD>2| z1ybCjKL;Wvzz(+25n>uB!lvu`;O90e^l*!+-1B(k#%$=-y2JeMgWq!{4soNxf159o zj$`PN?*^->Ek(qH8Pi5s+4`0KG*qu@Eo1ZJvfJV#wI&FQq`lGPk%zqI`$xoUcZMiU z)n7IX^d|R#)sX|@hr)w9bDP8N@QgXLo>7<7@DDl*@hWu!$&3(gSfGj6x42FIIaFGI)Fj@BZeKVm`4Z#bik8~rQao803aU)p&MA2)D z#K=eMLov)*MtqQuy8FW4$FTS6Vb_?vFpit*`UZB+hvT(bNZ2)IBD10i zv>`CpN&8Ou#Efcglun@ht;{>%wzk(D-79SIxwLbHvWuwNdv95cYi^YF#*^1bn+530 z^Km@$ExI`$xGx?gA5o>m;k@7jl*UctRgbzNFm~95U{?)S)Mr2ywC|qLZbdz$jPMU&(GJJGAf%$&Rv!>?0ItNT_b^9(tgBJ-w|PMr=97LA{hJ_ zzC^nYG5(86b-Y+uT?j!vQy&IPzG#Sbf8Bs%vXt%)@roL*_}X4RJUFMleg}1x$}t(o z@cVhCa|ltFU~jS1;&5D_Al3N zRkMhlZS8gLrTP0GFZ@Ism+om>!!_;%tB9A$P&oBWLV0|?1gg{!RrzTxVhG3WYH}f8 zo8x7Hu8@x0(OtECuE9|bHP9OTai}g(llEqzih0X~Ug_PBSFdEZS54Cb=kQfpE&Mg8 zYvN8LHwcriD8);ST99Eo-u@lm7oDF3Pnv3#ResOW2!D+`#Ka^ck>tH-HLR zdQj9Uh3d*xB{@+xw2*!8{I6xO=yBnVbik$g93Q4o_{c? zdYs;J8G1~hb;L_?+G(*O@bUH>+-QKo|l%{{NIP@Wq^>q!&uk2wI0X2-)|@-5MsQs{IP27y#K5L&ih=i45z> zp!!a4YVvU}?E?6B^5!BhV7MvvyOJ>9I=k-k8E(gEkq*|pP3OgOC%YF|c){0m2<>E2 z;9F6V8ukz)Vob+22}YGFQkS_s^gm)B7jYSCGR;>DGUVheo;o?DvV`+y1a=#}E>y@8 z=(O)Eypd(k9FmXM(^M_%VcZ1XOiSx5l0=`zSUd6{?ZzAmgWbwBr54}bh(_4Mbz zI5A7#6Ea~_aJ`fvLJyx19)}?u?0Xqc5mk0+snOTSAiQ(x(ffeKHpW0lN5@##=0n6X zOSv?PQo+!Fj@|cb);Yk?kjJ}>f%0xaNO|4y%f~J*MO^-d%KA^XJxR90}pMd*|0|7!in-II8`QC%HckBW;x>*oZB#eY%dY zS{rhrbtVW84#taCfg#*f@X>UFhsEzSxUoCB|_LR2E0yd3_3DwyrBo$(f zCwt4OOBJ-J4%^bwQeJ%G4V}kt9&kQ3qS_DU8#Tl7QP(WIVW7F|KUZeJOcwTd=Arqp z&~V_5#`Pc3&obf$q>K8>6d)J=j;d&<(EYLDysw2;7)WfN+3`_LzYomsyHPj<#OHrZ;g~vcGtR+o@14l+E2pqKML;)qAJ4@ z^pw#GjrQ9T@i`tGP{493WY!`rfWTq|{?JU94Dn!w~gXq~ zF{#m~-to}|pG_K0nj+GE=R_{(6{acZJC4+^nCnu>Bqq1ql3+Q!=Xx>kG^u>b?pgBR zpj8I7ymB!Gm2%kyK$iqm&rbxDDk;DqJp#R@uA^ffoWO;6yaqmvycGAH+@5jzeh0Z7w1iYpwVZcZt5`2dYi~$O?&LG_tA85=EhN~qzD05C)P14NFeCX>d_0ND zDG6}dDMWe|*FVI(Oj+x@)pk-Nr%7HOc;o`M21&aps>4tJm9_HcLA$oAb6h-k?!Wxy zshrGLzFdXJBlM~cY833rd4VSGi_}l*1*r8^c{BSW!F+)M>64>K*!j#pmZN1hI%QD< zp@bXHE_*65fWlS^A_PWi*GMNh!i^r1UtEJP_c(vMtrxvN6FN8MgYCi7fBRvhtX2s} zATLR!gvD?yhkz50xcA!A?it-&!Av=CA%I&%q({f>D&f7%OjJ**jFqtkPe@}gp^e?u zYYNdO3b&6P2*j%oda_=Z%JS}W4V#=cNXDP~qAtr*-fkIff6;nE{r-N2=VRRr&}UAx zyKaT`*~@g01zx{vdx3LRyaWrbS`uISBOJ+;ha-P}jF zNzV0>aL9Re{I+?Zt*vfFt41>RF^%r#i22iifYS_c5NjxwoE^;sx;`^B-d`u+EiIPSB-Vy^_o59+!J8Y^SD&gakyOo$B%B0MxHT2Pt1Is( zt%XU+51q(NvTF{@{OnwKDN%<0Tx?fsFUZzUod20M3@m!<6wdyHW?Hl&NE6#u16Bd> zNSRz^_WX7 z_hm+QZk5kSpj@^c8u(d#@=BWo*rOwD+>Bk;7V$n0 zb``INi5Q}U5>6=kIej!$z;@yTo>@TjHBKKD(qXw`_3(ZKilK>d6dWok1>uA1=<%bi zcu2MV{e$>kX3zQL@f@2aHWFe~5g(_g&0f!n`DJrIV2g^SP)HaRJr$^mSJu~M5HKJ5@*Wrm*rx2J-<^QrOm*L67l%e>S=cNt4#UuDNL;-m7ZM0p2)33XDL#%HaH zbY?zd3(B?>fIPHL@l<~-9F1q1){dgFG@&lKe>OST;gG~T^MU6QQE^{*^~|6-+ULpd z``!<%SwlcUe*eyLwi+nKqZGvf#=Depq!0$4a0bEu_F&`PO#gqd0RQ!;9t+PK>@Bwk zTRi434m`0&X2PoRXD9yWr@_=~?bN??|J%4q(to7#z@{o|3mCr$m(82r+8-2~hF6df z=&)xy4M=GOq3#5F#Ikivse-`guO7WQ`VnyUJqbphbx8{b%OFfbaiK2tolmkU%J z2QhI&0Oq`MBz$XFo{7sJ{}Np^!;)xrE_1_B z#_IU1lh?YzQzu*=5>DRdx$gZk_OpEUg_EG;&dKeQwd`KsYMq^m$?FcCl95#+djv~Z zX%XR9J3DBAi>u^P>jb7=W7y3fjxz7R?cY2lb|60f!r}`P8GImC|&X zP0p0#smrDGDKfy^qJp@0nyr53yQN^lDD;H;GNbJA4a38r?k%%fkDTm{J&S{6ymlknj| z2R*C3)TU#+^j`9^HCD!XEM(ks^2^shOqs?v+jF>BMNYli~48_3t z$Qcg5t=;u_|Ci*nr7f=3xJ=n{rh`d+0Yk?A?t{#M^V_#rcU|``ng{uag3IWe=(VGD zkVIHqZs&YeYW+*dcnhDnf_Kg!UG$DI4HXT|rxME-3R^t5#NmE#ub`f^g6kg8?aRh~ zNWDL?tNMfGS- zNX=JXuqPjv9%kpj_|Sw%O~K@ju);&?>>mVrpBFzHS4WNmyn9rukCH6l_HJv#(oB)w zS0W&f!7&S;s(L;x=Yt714kM1ibHLXd&$5z7i|rYKSv+>DxaV*3VMJu|XhWfP-=c`o z;5oA!?2>{|Fg`=rf<Z1zv z7#pUS81yJ7B-MHJ^c740re8Sxa7t$9fSFI^0P43#0K_5?@RCPiXRh7%2m|>CgjG|T zsqwP|vHm?sBNwd97|ax0vn%K$$AKvYFg`NvSjhq7qanl|4$_E(!ZpD6E6f<2aa<;z zd0?{P0V-gcwbcvg>{xkYmtmOmNX)35fnPhJ-7m5NOb~!Fx#?rAE|*~xwD*^1H*{^# zj3P{1xAOMRs!}5kMc#(%@e@NidR6$xUhaJ?Bgqe zCc8DpS)_W1;^R`DS_d#vQMlW6t{?*s0R4VlWyfB}!O>V6ci;m6mdY>EMXplhFm9iq8`od|Da+{W8+9F68YiX|48n0b?@ z($_`>?L9iP>z%oU#H+ksq98SK1B#uusGc5IhW8*_%>0e~!*}nhnF|DfmHe2n%BE2t zfQB-xgh5Ez9y>UE&w<@3JP^b4mxGmjjNKG#UYcBuDOU(cqEl8fzf#ia)c5i5#h-y^4Ia0)*SIgz;;z4mfHC=bKhEkViJ)U8<1U`_-Au`Sakkk0 zGI%DN+Hv)FOo@3@do;EcM8jb6lOP^a7^MzRIh6SkqH0126_pK?%;JHN^5bf~Fc-FE zyixHS(43*$9yi@~C!=XPI{rG=9U<=u!71Y${;jP#n7N3V5#iv_T@GnbvK8(%qdXhm zZlc&DDr6hm!q&y)Ut=!8NUJ15V>>~u`p5@pOc2=u01zmeU$@#g;+llh*Oa@e4ji2d z+T260M~Wg9BCW8Q$R6xk?}=OWOxp)CjV~ka;G&lZC!E7&_OvvlheC_U`w4qVoETBl z^NGTSqi}OHpa9pt?8fM451VZXPFc4u!_^1GH!h|WuA>_;Pr79TSO9Yns?+pLLBpi* zA3oFq3YOow_7I_6-bSNlhkJ3)#tT@)q1)|xU1yq^h`;$5{Y;2QwNA;OxG}sMm^dj^ zqPS__&pj1jvhUe5Pf!9o;F_nh+9)w^uy7?dfVDE^kYk=8|NZ0+WirL~W-SPoEL{4z z3=#Fiu*2Bbwq&e7=XN^~k|XKuyRK}*F_jMl1f`Y6REFRuzVNaZ!atTf*Ov&N8K#({ z=E|Q&-Tt$zFso2Fn86+^w}4b;{KglneWiJA2+lm!m&RUZ8pt0x<`lAWS@wU4Q@1g~ zm`xPPAC9!LPV41iTnvc^`cG$j>*q!(-bNy5P6f4|uHXvzI*#K!-LmJ!@utPy7vQ@{ z`7h0%qrY_xzzE-8g%0Gs2juAJZ2332=o??D&>r`h6^=8~v)_7j@?{k&Njj;F;*)m^ z>K|rYkGU*OWr|>t_qhqbD8$fVuXSbOwQr&W!p8&i(zU%1j+S(4fO99!wRjfsUv_^b znn}-)7kp(SSi=uaXjmc-{KR#mYzV5v-}4lw64{LSc!?fVb8fZMNkM~}viLUlo;o&k zz3>{gv+D<2`u9VWyo{g!#|+kRr>!?LY6WLuarFVK20Bjyno(-ga@R5u&;qkx z0Bv4_Dp9?-yHVk#)B;7mItgcQ(KvPf*a@sR1(g~%A0K3tpSCG*nzZ>n%XQj2Fyx9# zjIgk<$PTqAhr%UvRe;BR!+ioSZQlrsLux-5NLzjq6Y`ctmt^Jj@?}7^w*2J@kDu)W zRTK!>jM{MiW5H`T)huOl?fv!bXMlHRlbYu;K;`=TyF)i<%FmLTg8-+%`RbMVTw3;@ zGkiX0Z!d{ePMJ|-7`H&1UcE{mi>^`Fj)8p{^C?C71OG-<7b=H zJx5ytZF_t35p3zUqKM-DqQ|69+s;{4I*O%ef706%;pPl+} z>TMqkBs{0+T@Y+jZ-&&aDzS0wG(~TwoN%;7nmMbS%K!!F=nJ?&9Dbdtj{rYcciBfc z>)La=4A|+a_7(WdStb^BXa>D^GH2CM_X0Q+3%JY#6Tbw`dTqq~s$FQ(%xPabYr`yT zF_;UF?*qT@)c)pu68LqHPm6k_jyt=j^3p>~AmdS#uj;jMhU~6>k}uo$R3HuZ_K)!t zSBpYG3s*0~AvKf@3}j-HR%jseMwy)xsCSQ;?A{a7lhYlNr2T5<-#vP_UF7tti`&f@Hw}gF}1w*HB z9yK&={b_-~%noB|S>(?J!I5D7FESxvB!9UeS*mCv9`sL?75dM)|MK8l{C2^~-a-Sf zDDDSZ`@V6D8}I=KdE^D<2^gz?--)N~IOLb}DTJH8$$KT`yZIdcbu^Ckrv2kF&0?jK zKOesxynnuw4y%UUosg73gvZJdmhtl(Tox4wXf>g*yY~zb<}3fdTiWh zc;-sVwjYeHbha`-CR;UpIqUDDxVuD{;_B0q9l(Xv)X1qE zoE~DRk;a4sqDKafM^;H|%A%Szp;O~3C=}X&UD5yy1Qu6U z6U}=x^oaMDvExt6%v=_`apUR42!W73)Gc;mnpu1l#a-*apw@-sfKQr95q`oG$JVsH zi2kuW;t7Vp35RYgnAK_*e*fOI6UR4zP@w>nL8Es@NN~V}AW=J81mC@L^Oi|;t@Zfc z_Q^i{9q32N&73HHrDuD$o*BdtX?B9#3|tvqPWL5n4uWvfPfP-Zu3G@9wDe)HNk~-#j}hAx=FKR+1ncWF6U^dV04X6>xAp z2WDupSOzX51#YaME#7 zqaA43+?W#-N}rac1wzHB3S>ZflZbGG?Le5?<}F3siq&sl6$4#F&;>kH38Z|OiT|XGX6fOUE-cN_OQ-)90oi246|oEB6ca>L zdJ{wvuuL3$>u^^SvW(z{+pwGy7YXhJ%u?xA=bdZWENotc4)r z3lt0zz_(E_4|?BOKXH5&k-x2`06exDLb$(r0p}~COjDUSG87kPKl!ZK#Qy=RWBA|~ zpAN2CJ!WD)Lk8NHxwqCa=I!!pZ<6_MW@O!^LD)9k0Zi}6zl@DLK<#?s_7)uIpK>yw( zBhY=!hw)0)$hHG^j^CdHYNf>8#dBS11F#M*N(LS&hE+h%q&X+BKxt9kb3x;beW&gs ze7_I!^A_qmwaZNFpmK}`V7AeB(_1hD3k%BWF|5Ni==Y+wNHX<3MnS07#klc!Hoxvm|%zneuGyW2DLSJtw3YW);l4?GhVP zEjV^q=^7arAX3Y3Gnu$)E6mXA=6OjSoCL5E2_fV904A910q5T+gANK@JH8q`L1tyZ z)uM5Py8_`qYxL08Xz3uvBmW7D+denA`*^EkNS?VC5|V-56jfG4aj<2bQa;}?$e=q- ztqB_%izi_{fQ;CHwW$J8zPhnrAO)50Bf008`WNuIpgM`~^Q#9DXA`!l3^4o}U!@2s z757e{TZHS37L*eWBNIJiooiuhDoK6B)_==?iOjeV#55r zpy^@S+WgylvPpe6-={C8YMJb-8H_(D9MBs$o%o@;HT8yR-J&Us6L?c>KLFf# z)(?4mNl$REMXSF<`qx7Z4e#}Sbm`fG=Wn-@=za61oK;r1x6#mPB%PT!CQ21t$3S=R zI@*iLwg5pU6LiH^wdzt@R$ZOKTAd$`14>8!snE3XRc$swrcDTyQXc>EiTvKXO?+1Bc4Z3xa?u?>@Rw zk9nrp(@LKgtFyb`h5Cfru(|IA&$e1Vl~JUT|GjM_@q=^8iDDpPRPC~@Q=%EJ{U_+H z-0WMks02-ZODkE(Z}te5S+kV6Z~B%ksDn)ToKtkmrO7jJ|Jz6uTgbn}@eiUn#y@uV z?Qg^`@DJd?cN1P;4te7n6uw`0M>C#uSzqhFm&YnZ4(IESk53;zX7J8s#fk5)A+r72 z)jN7Qsbcb;9T{qRYMEcF$z&iZ*1yWzk|kHI2~0om=r{ehM9^$^`X5RMzDKFIG(9c4 zz1K(FlN5Q}e*&seB&xG)w_ZFO+66sifj;0R6Hfq`@WKwCom85nfRTrBK769w0l%}* zZgqCNvocd(yTsE;VxQ3-!^M>#!g#k_9KzeeeeK#ciDhh%QjZkR)msro;r(f;9)|9M zDN|F=;Xa3trvpAGHho6(!keR<0r3|-uAX#{2wQnQbx3X-G^FQHV+OBE{wd`%oZYf1 zbXxw2k&&Z=%v8R#6D=aLZWU=fgOgcbyxWXlhJ8|j;%ZiGmCI~DZOsq5AQu(Hto27V0Bv4oN!D{ zO+DvRON+`YTvY)9a zJiAE&)X4a>=XPh#5O7G%Izm2FMws%~4F0YITIrs@N#LzrkrnnAbrRVx;Dik@kMPNF zCJ(JfSdkb9LZ)jK9#+>BN}tgBHhFJOQD!1U*Un(L-yj!gplRrs?|syk+_35P2=$)? z(YZDC_G=5qWIevM(=Odf5{9GyE{9XaTrH;e{SAxV|;kZfp(>=y4CY2Mj@_<{^`NN>h@&ftTUct(A4Kv=)< zuasmYROSTUG;!0yQuAvK5s`S;qo5ze4Tpp;@E2=gWwOVt2PpjMI=J`HQpAVL0(l)J zy9F78Zwd}UxAU*O_ng(cEqnSJ*Olc$Xe>pAesSoPU5UkF5!s_iD6wUP}~XTqfY2mL&0 z%eT2T7}XoszPN_UQu)qP)?GUuHf#@1yP}TUyqTpF|NdK^u`U*5l0XevV*_&J|3I%5 z$uYe)B>TY0hWA}3|@#s~WZ(vzk)?+|yW$j~Q zwy-MqUy7J`n=}r#*bKtE(E?E3#gVL@5P@Xy6eH0^{1@YGc<-J7X%dOyyWwRZWx*h( zN+)q}>mBrRrHwKeNZ#EkQC#``L+T6${qTX5uq6yN{XE3@?__vK6*_~agSe>>yaSsn zfznu#n-7*l9nBUiQvTIbd>;uz%>jQra>()Pj8+Y!#$Z{9GHZvp0}!${AHgDn`lP|IL<8j#cLYBOem&*=N2hWZV z2IlWr-*oKttAFB1u}(yRFQ7W?yGP87+-5Eier+AKw>@Y)GNXC~J&~T>Z3ba;&Q;zS}jI8(CCmT~~A2OCNV-=oXpc1&;n%Np3 zOupHJS5>zX^`77ApUN?Xl})F3mHfvhJIN!iFT1-Q8fRfm!QJVl^1-5~bn-4K5eCqT z5-uQ%D-AW0icL7Jsm(Y%JRpCNZvjYI#GVyl-kXEw6r#FL?xLg`e zY>9jtm=^iIuy^ulwY>ahnw)p%?xX}LF~l#1P(H98BDw#*>flyZy`BuX{I`Ld^ICwx zT+O{B4EvSerbb5j;147KmCln9{U%%7vN5{XuOgZXd~k`VO1}aAk<5e_#4q_8P`xa=<-qt9j6-vs}pI zzR%-hM$cIFMLWq&OstKb!- zf8_wI1(9D{oF6gv$ZEk9)m2+Ux=cyULSggG->|sQe?tK~yMhBR_u@dk{s+6=Q>t7brvnBiI->wE)Jh z4P_s!4b}z$Hw(7vKAe320#slnD8l*Mhj4# zGk@irTIwGimp>%2t1KL zi^MND6>jhBKt183-tJC+!)lHRU6^dHn#?|!!^N5WV?F>7iHrR1Z&h~PkoE+(i1m`LjGXC#KX2o8NK9ThQyNM zmjKq6WohXcBqlcgaMIs_9xK;aWAlOlNguNYvCx%Ud39XVOn^iZMV3ivB3_re z$KOA@`m;4H)+cQk+3zt5(kFC^+VGpLNB{SysDI_j>)>tS89Yud<$4+v?~50oL2?6h z4O3NVn`y~<9tX1U1+TN}k;2;$^yz4k!4gO&>Y84?H#k$pc%loX57zO|8G*Y`krbo^ zKGy=iGX^^483T`sI)ULSSXb$9)uyeE@F0xA=72X1r3(|Epu9`>>kTs+ja-=OIx00n z0aWuM+#1>{(-Wi#DEFka+W{+CVduEdg)@gS(;jhG%KPKAHabV zLtZw0o4v|`N4-N#YD2~$1er?WlID)=>Zdv4n#3I7>tH%gwE;J!Pl4cN0rgulL$^U` z3tE~(jXT8rb8T6Z(Dk^QrMtvy!=5EF+)`Egwmp+Pq8~b@NHoywYnYqDT=`18SI;aSQSzJ?qt?WL zcTP>MA(K=Su^yV{ZWt_kN6+q(NgaGD+j;+Kg4`>gF1A9aX@aCcIZR=BABX!wFy$Gc z{A)MuW$f^EnxoB`Cj~!SUBB0lPByWZse*0{;ui;M2eM`gMyz_;oQjf7@Q;k}M895M zz`6#)*p%oC$os&Qy3A?e*NfhmDu}k-to)|D$5kQm0{92k*%_DpaI%4K`i`y)tCER+>qc?|{iX%@oWoC^ z)oi8AHCRxZ2nk9^9lWXYzh*t;&`Hs2BhGZ0M`H?$yo`+#P&P2w zVu5J&V`?O&MoUuV`=IgFU$=An8`u0phF09Q zw`}ehQ$!j9g`#g`D9J0*?fU3F5AD4hK9V7tY=5zA)8)}0LOclBB?=;z%9$>VH_4}d z?_onbU{m}6fKi6aZbs?3xG?Zq4NnZG^&YMRUpq`9XeiC|?oAspgJ$x{?=Y4HT*}{9IC->%qJo zKGO4^@u!;IZEcgDew?Yhp{f+EeP)c@hWv3nMv3wo=mTs>rI9EHY6HqGo*~cTNbJnx z7X0155cd3-0~qZP#?GN#o&uWRncx|l>2$n7t4S8Q)3t!k(~Kn)0*e5+nb(z4X9|qV zVt@_imZJTaSawo%eb`Np`!gxVfcKajCwC$XadA}AWfY=l66FTjZyCXQ@zf3<3GxN% zV|dL(TUqH0=UQbWyG4}o60zHP^{_r90Kdm*qjy2ShTEHTMC}X5K?t&odO$OF#P9!u zB0tCm?iVzIR{73@x)9~{`1gy>{&Q?~o5NK63!Gr}Lp};!GH(Pt^ z;qz5i9ONnoRh?j$zFmCof=5O7Cc#nrRKbS*p?db!P`NlF-$%z07!%z%e;n6Ai)nnQ{c`XGi{hEj-BwPgUJr%=j_^8+`3+kS@eQ7sS~+wyxdwiw*7n gmG-~uh*wd=_HRhscgST3T)LB4@# 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 From 34eb2872b6c6e1e7bd700d49a980b9b22b5a5f56 Mon Sep 17 00:00:00 2001 From: MrSnapwalk Date: Sun, 10 May 2015 02:03:28 -0500 Subject: [PATCH 113/305] Makes the code compile by adding a comma and removing some unused lines. --- code/game/objects/items/devices/paicard.dm | 7 +++---- code/modules/mob/living/silicon/pai/software.dm | 9 ++++----- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/code/game/objects/items/devices/paicard.dm b/code/game/objects/items/devices/paicard.dm index ccb2bdebd5..eed6cdb12e 100644 --- a/code/game/objects/items/devices/paicard.dm +++ b/code/game/objects/items/devices/paicard.dm @@ -299,10 +299,9 @@ if(10) src.overlays += "pai-neutral" if(11) src.overlays += "pai-silly" if(12) src.overlays += "pai-nose" - if(13) src.overlays += "pai-glasses" - if(14) src.overlays += "pai-smirk" - if(15) src.overlays += "pai-exclamation" - if(16) src.overlays += "pai-question" + if(13) src.overlays += "pai-smirk" + if(14) src.overlays += "pai-exclamation" + if(15) src.overlays += "pai-question" current_emotion = emotion /obj/item/device/paicard/proc/alertUpdate() diff --git a/code/modules/mob/living/silicon/pai/software.dm b/code/modules/mob/living/silicon/pai/software.dm index fbedc0cb53..d4c7eb40dc 100644 --- a/code/modules/mob/living/silicon/pai/software.dm +++ b/code/modules/mob/living/silicon/pai/software.dm @@ -10,11 +10,10 @@ var/list/pai_emotions = list( "What" = 9, "Neutral" = 10, "Silly" = 11, - "Nose" = 12 - "Glasses" = 13, - "Smirk" = 14, - "Exclamation Points" = 15, - "Question Mark" = 16, + "Nose" = 12, + "Smirk" = 13, + "Exclamation Points" = 14, + "Question Mark" = 15, ) From a0f119b9dc4007f28610a4c42f2dfe698e5caa71 Mon Sep 17 00:00:00 2001 From: volas Date: Sat, 9 May 2015 19:53:25 +0300 Subject: [PATCH 114/305] Admin dice --- baystation12.dme | 1 + code/modules/admin/admin_verbs.dm | 4 +++- code/modules/admin/verbs/dice.dm | 24 ++++++++++++++++++++++++ 3 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 code/modules/admin/verbs/dice.dm diff --git a/baystation12.dme b/baystation12.dme index 15dcee4dce..c8173f401e 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -815,6 +815,7 @@ #include "code\modules\admin\verbs\deadsay.dm" #include "code\modules\admin\verbs\debug.dm" #include "code\modules\admin\verbs\diagnostics.dm" +#include "code\modules\admin\verbs\dice.dm" #include "code\modules\admin\verbs\getlogs.dm" #include "code\modules\admin\verbs\icarus.dm" #include "code\modules\admin\verbs\mapping.dm" diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index d495bacecb..877b29b0b1 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -110,7 +110,8 @@ var/list/admin_verbs_fun = list( /client/proc/cmd_admin_add_random_ai_law, /client/proc/make_sound, /client/proc/toggle_random_events, - /client/proc/editappear + /client/proc/editappear, + /client/proc/roll_dices ) var/list/admin_verbs_spawn = list( /datum/admins/proc/spawn_fruit, @@ -255,6 +256,7 @@ var/list/admin_verbs_hideable = list( /client/proc/cmd_debug_tog_aliens, /client/proc/air_report, /client/proc/enable_debug_verbs, + /client/proc/roll_dices, /proc/possess, /proc/release ) diff --git a/code/modules/admin/verbs/dice.dm b/code/modules/admin/verbs/dice.dm new file mode 100644 index 0000000000..e5877a9da2 --- /dev/null +++ b/code/modules/admin/verbs/dice.dm @@ -0,0 +1,24 @@ +/client/proc/roll_dices() + set category = "Fun" + set name = "Roll Dice" + if(!check_rights(R_FUN)) + return + + var/sum = input("How many times should we throw?") as num + var/side = input("Select the number of sides.") as num + if(!side) + side = 6 + if(!sum) + sum = 2 + + var/dice = num2text(sum) + "d" + num2text(side) + + if(alert("Do you want to inform the world about your game?",,"Yes", "No") == "Yes") + world << "

The dice have been rolled by Gods!

" + + var/result = roll(dice) + + if(alert("Do you want to inform the world about the result?",,"Yes", "No") == "Yes") + world << "

Gods rolled [dice], result is [result]

" + + message_admins("[key_name_admin(src)] rolled dice [dice], result is [result]", 1) \ No newline at end of file From 753d63439c6e17b143b730b4c6c03349bf37c01b Mon Sep 17 00:00:00 2001 From: MrSnapwalk Date: Sun, 10 May 2015 02:24:10 -0500 Subject: [PATCH 115/305] Removes the leading comma in software.dm. --- code/modules/mob/living/silicon/pai/software.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/silicon/pai/software.dm b/code/modules/mob/living/silicon/pai/software.dm index d4c7eb40dc..472125cef9 100644 --- a/code/modules/mob/living/silicon/pai/software.dm +++ b/code/modules/mob/living/silicon/pai/software.dm @@ -13,7 +13,7 @@ var/list/pai_emotions = list( "Nose" = 12, "Smirk" = 13, "Exclamation Points" = 14, - "Question Mark" = 15, + "Question Mark" = 15 ) From f3e37861cf3d5b3284a525e481f96555b423dd08 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Sun, 10 May 2015 10:44:16 +0200 Subject: [PATCH 116/305] Updates changelog. --- html/changelog.html | 10 ++++++++++ html/changelogs/.all_changelog.yml | 8 ++++++++ html/changelogs/GinjaNinja32_acting_manifest.yml | 5 ----- html/changelogs/Yoshax-nomorechems.YML | 5 ----- 4 files changed, 18 insertions(+), 10 deletions(-) delete mode 100644 html/changelogs/GinjaNinja32_acting_manifest.yml delete mode 100644 html/changelogs/Yoshax-nomorechems.YML diff --git a/html/changelog.html b/html/changelog.html index 9169105593..2340fede16 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -56,6 +56,16 @@ -->
+

10 May 2015

+

GinjaNinja32 updated:

+
    +
  • Acting jobs on the manifest will now sort with their non-acting counterparts. All assignments beginning with the word 'acting', 'temporary', or 'interim' will do this.
  • +
+

Yoshax updated:

+
    +
  • Removes sleepy chems from being cloned, adds a consistent period of 30 tick sleep.
  • +
+

09 May 2015

Yoshax updated:

[capitalize(ore)][machine.ores_stored[ore]]0) can_make-- - var/material/M = name_to_mineral[O.compresses_to] + var/material/M = name_to_material[O.compresses_to] if(!istype(M) || !can_make || ores_stored[metal] < 1) continue @@ -220,7 +223,7 @@ var/can_make = Clamp(ores_stored[metal],0,sheets_per_tick-sheets) - var/material/M = name_to_mineral[O.smelts_to] + var/material/M = name_to_material[O.smelts_to] if(!istype(M) || !can_make || ores_stored[metal] < 1) continue diff --git a/code/modules/mining/mine_items.dm b/code/modules/mining/mine_items.dm index 15d1f51148..5295c26bd4 100644 --- a/code/modules/mining/mine_items.dm +++ b/code/modules/mining/mine_items.dm @@ -26,7 +26,7 @@ new /obj/item/device/flashlight/lantern(src) new /obj/item/weapon/shovel(src) new /obj/item/weapon/pickaxe(src) - new /obj/item/clothing/glasses/minerals(src) + new /obj/item/clothing/glasses/material(src) /******************************Lantern*******************************/ diff --git a/code/modules/mining/mineral_effect.dm b/code/modules/mining/mineral_effect.dm index 408ab74c33..bc0ce899ea 100644 --- a/code/modules/mining/mineral_effect.dm +++ b/code/modules/mining/mineral_effect.dm @@ -5,15 +5,22 @@ mouse_opacity = 0 density = 0 anchored = 1 + var/ore_key var/image/scanner_image /obj/effect/mineral/New(var/newloc, var/ore/M) ..(newloc) name = "[M.display_name] deposit" - icon_state = "rock_[M.name]" + ore_key = M.name + icon_state = "rock_[ore_key]" var/turf/T = get_turf(src) layer = T.layer+0.1 - var/ore/O = ore_data[M.name] - if(O) - scanner_image = image(icon, loc = get_turf(src), icon_state = (O.scan_icon ? O.scan_icon : icon_state)) \ No newline at end of file +/obj/effect/mineral/proc/get_scan_overlay() + if(!scanner_image) + var/ore/O = ore_data[ore_key] + if(O) + scanner_image = image(icon, loc = get_turf(src), icon_state = (O.scan_icon ? O.scan_icon : icon_state)) + else + world << "No ore data for [src]!" + return scanner_image \ No newline at end of file diff --git a/code/modules/mining/minerals.dm b/code/modules/mining/minerals.dm deleted file mode 100644 index 67ddfdbdef..0000000000 --- a/code/modules/mining/minerals.dm +++ /dev/null @@ -1,96 +0,0 @@ -var/list/name_to_mineral - -/proc/SetupMinerals() - name_to_mineral = list() - for(var/type in typesof(/material) - /material) - var/material/new_mineral = new type - if(!new_mineral.name) - continue - name_to_mineral[lowertext(new_mineral.name)] = new_mineral - return 1 - -/material - var/name // Tag for use in overlay generation/list population . - var/walltype_solid - var/walltype_false - var/doortype - var/stack_type - var/unmeltable - var/cut_delay - -/material/uranium - name = "uranium" - walltype_solid = /turf/simulated/wall/mineral/uranium - walltype_false = /obj/structure/falsewall/uranium - doortype = /obj/machinery/door/airlock/uranium - stack_type = /obj/item/stack/sheet/mineral/uranium - -/material/diamond - name = "diamond" - walltype_solid = /turf/simulated/wall/mineral/diamond - walltype_false = /obj/structure/falsewall/diamond - doortype = /obj/machinery/door/airlock/diamond - stack_type = /obj/item/stack/sheet/mineral/diamond - unmeltable = 1 - cut_delay = 60 - -/material/gold - name = "gold" - walltype_solid = /turf/simulated/wall/mineral/gold - walltype_false = /obj/structure/falsewall/gold - doortype = /obj/machinery/door/airlock/gold - stack_type = /obj/item/stack/sheet/mineral/gold - -/material/silver - name = "silver" - walltype_solid = /turf/simulated/wall/mineral/silver - walltype_false = /obj/structure/falsewall/silver - doortype = /obj/machinery/door/airlock/silver - stack_type = /obj/item/stack/sheet/mineral/silver - -/material/phoron - name = "phoron" - walltype_solid = /turf/simulated/wall/mineral/phoron - walltype_false = /obj/structure/falsewall/phoron - doortype = /obj/machinery/door/airlock/phoron - stack_type = /obj/item/stack/sheet/mineral/phoron - -/material/sandstone - name = "sandstone" - walltype_solid = /turf/simulated/wall/mineral/sandstone - walltype_false = /obj/structure/falsewall/sandstone - stack_type = /obj/item/stack/sheet/mineral/sandstone - -/material/steel - name = "steel" - stack_type = /obj/item/stack/sheet/metal - walltype_solid = /turf/simulated/wall - walltype_false = /obj/structure/falsewall - -/material/glass - name = "glass" - stack_type = /obj/item/stack/sheet/glass - -/material/plastic - name = "plastic" - stack_type = /obj/item/stack/sheet/mineral/plastic - -/material/osmium - name = "osmium" - stack_type = /obj/item/stack/sheet/mineral/osmium - -/material/tritium - name = "tritium" - stack_type = /obj/item/stack/sheet/mineral/tritium - -/material/mhydrogen - name = "mhydrogen" - stack_type = /obj/item/stack/sheet/mineral/mhydrogen - -/material/platinum - name = "platinum" - stack_type = /obj/item/stack/sheet/mineral/platinum - -/material/iron - name = "iron" - stack_type = /obj/item/stack/sheet/mineral/iron diff --git a/code/modules/mining/ore.dm b/code/modules/mining/ore.dm index 2c2ac1b1d3..a46b263152 100644 --- a/code/modules/mining/ore.dm +++ b/code/modules/mining/ore.dm @@ -4,71 +4,71 @@ icon_state = "ore2" w_class = 2 var/datum/geosample/geologic_data - var/mineral + var/material /obj/item/weapon/ore/uranium name = "pitchblende" icon_state = "ore_uranium" origin_tech = "materials=5" - mineral = "uranium" + material = "uranium" /obj/item/weapon/ore/iron name = "hematite" icon_state = "ore_iron" origin_tech = "materials=1" - mineral = "hematite" + material = "hematite" /obj/item/weapon/ore/coal - name = "carbonaceous rock" + name = "raw carbon" icon_state = "ore_coal" origin_tech = "materials=1" - mineral = "coal" + material = "carbon" /obj/item/weapon/ore/glass name = "impure silicates" icon_state = "ore_glass" origin_tech = "materials=1" - mineral = "sand" + material = "sand" /obj/item/weapon/ore/phoron name = "phoron crystals" icon_state = "ore_phoron" origin_tech = "materials=2" - mineral = "phoron" + material = "phoron" /obj/item/weapon/ore/silver name = "native silver ore" icon_state = "ore_silver" origin_tech = "materials=3" - mineral = "silver" + material = "silver" /obj/item/weapon/ore/gold name = "native gold ore" icon_state = "ore_gold" origin_tech = "materials=4" - mineral = "gold" + material = "gold" /obj/item/weapon/ore/diamond name = "diamonds" icon_state = "ore_diamond" origin_tech = "materials=6" - mineral = "diamond" + material = "diamond" /obj/item/weapon/ore/osmium name = "raw platinum" icon_state = "ore_platinum" - mineral = "platinum" + material = "platinum" /obj/item/weapon/ore/hydrogen name = "raw hydrogen" icon_state = "ore_hydrogen" - mineral = "mhydrogen" + material = "mhydrogen" /obj/item/weapon/ore/slag name = "Slag" desc = "Someone screwed up..." icon_state = "slag" - mineral = "slag" + material = null /obj/item/weapon/ore/New() pixel_x = rand(0,16)-8 diff --git a/code/modules/mining/ore_datum.dm b/code/modules/mining/ore_datum.dm index e662eb913e..32f03c072f 100644 --- a/code/modules/mining/ore_datum.dm +++ b/code/modules/mining/ore_datum.dm @@ -38,7 +38,7 @@ var/global/list/ore_data = list() xarch_source_mineral = "potassium" /ore/hematite - name = "iron" + name = "hematite" display_name = "hematite" smelts_to = "iron" alloy = 1 @@ -48,8 +48,8 @@ var/global/list/ore_data = list() scan_icon = "mineral_common" /ore/coal - name = "coal" - display_name = "carbonaceous rock" + name = "carbon" + display_name = "raw carbon" smelts_to = "plastic" alloy = 1 result_amount = 5 @@ -105,7 +105,7 @@ var/global/list/ore_data = list() ) /ore/diamond - name = "diamonds" + name = "diamond" display_name = "diamond" compresses_to = "diamond" result_amount = 5 diff --git a/code/modules/mob/living/carbon/human/species/xenomorphs/alien_powers.dm b/code/modules/mob/living/carbon/human/species/xenomorphs/alien_powers.dm index caea1ae7a8..7bab6d074c 100644 --- a/code/modules/mob/living/carbon/human/species/xenomorphs/alien_powers.dm +++ b/code/modules/mob/living/carbon/human/species/xenomorphs/alien_powers.dm @@ -134,13 +134,20 @@ return // OBJ CHECK + var/cannot_melt if(isobj(O)) var/obj/I = O - if(I.unacidable) //So the aliens don't destroy energy fields/singularies/other aliens/etc with their acid. - src << "You cannot dissolve this object." - return - // TURF CHECK - else if(istype(O, /turf/simulated/wall/r_wall) || istype(O, /turf/simulated/floor/engine)) + if(I.unacidable) + cannot_melt = 1 + else + if(istype(O, /turf/simulated/wall)) + var/turf/simulated/wall/W = O + if(W.material.unmeltable) + cannot_melt = 1 + else if(istype(O, /turf/simulated/floor/engine)) + cannot_melt = 1 + + if(cannot_melt) src << "You cannot dissolve this object." return diff --git a/code/modules/mob/living/silicon/robot/drone/drone_items.dm b/code/modules/mob/living/silicon/robot/drone/drone_items.dm index 8353972ba2..3d5159bb75 100644 --- a/code/modules/mob/living/silicon/robot/drone/drone_items.dm +++ b/code/modules/mob/living/silicon/robot/drone/drone_items.dm @@ -16,10 +16,7 @@ /obj/item/weapon/airlock_electronics, /obj/item/weapon/module/power_control, /obj/item/weapon/stock_parts, - /obj/item/light_fixture_frame, - /obj/item/apc_frame, - /obj/item/alarm_frame, - /obj/item/firealarm_frame, + /obj/item/frame, /obj/item/weapon/table_parts, /obj/item/weapon/table_parts/rack, /obj/item/weapon/camera_assembly, diff --git a/code/modules/mob/living/simple_animal/worm.dm b/code/modules/mob/living/simple_animal/worm.dm index fe76fa87b4..cb1891360c 100644 --- a/code/modules/mob/living/simple_animal/worm.dm +++ b/code/modules/mob/living/simple_animal/worm.dm @@ -137,10 +137,9 @@ proc/AttemptToEat(var/atom/target) if(istype(target,/turf/simulated/wall)) - if((!istype(target,/turf/simulated/wall/r_wall) && eatingDuration >= 100) || eatingDuration >= 200) //need 20 ticks to eat an rwall, 10 for a regular one - var/turf/simulated/wall/wall = target - wall.ChangeTurf(/turf/simulated/floor) - new /obj/item/stack/sheet/metal(src, flatPlasmaValue) + var/turf/simulated/wall/W = target + if((!W.reinf_material && eatingDuration >= 100) || eatingDuration >= 200) //need 20 ticks to eat an rwall, 10 for a regular one + W.dismantle_wall() return 1 else if(istype(target,/atom/movable)) if(istype(target,/mob) || eatingDuration >= 50) //5 ticks to eat stuff like airlocks diff --git a/code/modules/power/lighting.dm b/code/modules/power/lighting.dm index 901b841d16..d76bfe9980 100644 --- a/code/modules/power/lighting.dm +++ b/code/modules/power/lighting.dm @@ -9,64 +9,6 @@ #define LIGHT_BROKEN 2 #define LIGHT_BURNED 3 - - -/obj/item/light_fixture_frame - name = "light fixture frame" - desc = "Used for building lights." - icon = 'icons/obj/lighting.dmi' - icon_state = "tube-construct-item" - flags = CONDUCT - var/fixture_type = "tube" - var/obj/machinery/light/newlight = null - var/sheets_refunded = 2 - -/obj/item/light_fixture_frame/attackby(obj/item/weapon/W as obj, mob/user as mob) - if (istype(W, /obj/item/weapon/wrench)) - new /obj/item/stack/sheet/metal( get_turf(src.loc), sheets_refunded ) - del(src) - return - ..() - -/obj/item/light_fixture_frame/proc/try_build(turf/on_wall) - if (get_dist(on_wall,usr)>1) - return - var/ndir = get_dir(usr,on_wall) - if (!(ndir in cardinal)) - return - var/turf/loc = get_turf(usr) - if (!istype(loc, /turf/simulated/floor)) - usr << "\red [src.name] cannot be placed on this spot." - return - usr << "Attaching [src] to the wall." - playsound(src.loc, 'sound/machines/click.ogg', 75, 1) - var/constrdir = usr.dir - var/constrloc = usr.loc - if (!do_after(usr, 30)) - return - switch(fixture_type) - if("bulb") - newlight = new /obj/machinery/light_construct/small(constrloc) - if("tube") - newlight = new /obj/machinery/light_construct(constrloc) - newlight.dir = constrdir - newlight.fingerprints = src.fingerprints - newlight.fingerprintshidden = src.fingerprintshidden - newlight.fingerprintslast = src.fingerprintslast - - usr.visible_message("[usr.name] attaches [src] to the wall.", \ - "You attach [src] to the wall.") - del(src) - -/obj/item/light_fixture_frame/small - name = "small light fixture frame" - desc = "Used for building small lights." - icon = 'icons/obj/lighting.dmi' - icon_state = "bulb-construct-item" - flags = CONDUCT - fixture_type = "bulb" - sheets_refunded = 1 - /obj/machinery/light_construct name = "light fixture frame" desc = "A light fixture under construction." diff --git a/code/modules/power/rust/fuel_assembly_port_construction.dm b/code/modules/power/rust/fuel_assembly_port_construction.dm index 092805de78..592a8f917c 100644 --- a/code/modules/power/rust/fuel_assembly_port_construction.dm +++ b/code/modules/power/rust/fuel_assembly_port_construction.dm @@ -1,37 +1,3 @@ - -//frame assembly - -/obj/item/rust_fuel_assembly_port_frame - name = "Fuel Assembly Port frame" - icon = 'icons/rust.dmi' - icon_state = "port2" - w_class = 4 - flags = CONDUCT - -/obj/item/rust_fuel_assembly_port_frame/attackby(obj/item/weapon/W as obj, mob/user as mob) - if (istype(W, /obj/item/weapon/wrench)) - new /obj/item/stack/sheet/plasteel( get_turf(src.loc), 12 ) - del(src) - return - ..() - -/obj/item/rust_fuel_assembly_port_frame/proc/try_build(turf/on_wall) - if (get_dist(on_wall,usr)>1) - return - var/ndir = get_dir(usr,on_wall) - if (!(ndir in cardinal)) - return - var/turf/loc = get_turf(usr) - var/area/A = loc.loc - if (!istype(loc, /turf/simulated/floor)) - usr << "\red Port cannot be placed on this spot." - return - if (A.requires_power == 0 || A.name == "Space") - usr << "\red Port cannot be placed in this area." - return - new /obj/machinery/rust_fuel_assembly_port(loc, ndir, 1) - del(src) - //construction steps /obj/machinery/rust_fuel_assembly_port/New(turf/loc, var/ndir, var/building=0) ..() @@ -122,7 +88,7 @@ playsound(src.loc, 'sound/items/Welder.ogg', 50, 1) if(do_after(user, 50)) if(!src || !WT.remove_fuel(3, user)) return - new /obj/item/rust_fuel_assembly_port_frame(loc) + new /obj/item/frame/rust/assembly(loc) user.visible_message(\ "\red [src] has been cut away from the wall by [user.name].",\ "You detached the port frame.",\ diff --git a/code/modules/power/rust/fuel_compressor_construction.dm b/code/modules/power/rust/fuel_compressor_construction.dm index c9c3895f2b..e0001d22cd 100644 --- a/code/modules/power/rust/fuel_compressor_construction.dm +++ b/code/modules/power/rust/fuel_compressor_construction.dm @@ -1,38 +1,3 @@ - -//frame assembly - -/obj/item/rust_fuel_compressor_frame - name = "Fuel Compressor frame" - icon = 'icons/rust.dmi' - icon_state = "fuel_compressor0" - w_class = 4 - flags = CONDUCT - -/obj/item/rust_fuel_compressor_frame/attackby(obj/item/weapon/W as obj, mob/user as mob) - if (istype(W, /obj/item/weapon/wrench)) - new /obj/item/stack/sheet/plasteel( get_turf(src.loc), 12 ) - del(src) - return - ..() - -/obj/item/rust_fuel_compressor_frame/proc/try_build(turf/on_wall) - if (get_dist(on_wall,usr)>1) - return - var/ndir = get_dir(usr,on_wall) - if (!(ndir in cardinal)) - return - var/turf/loc = get_turf(usr) - var/area/A = loc.loc - if (!istype(loc, /turf/simulated/floor)) - usr << "\red Compressor cannot be placed on this spot." - return - if (A.requires_power == 0 || A.name == "Space") - usr << "\red Compressor cannot be placed in this area." - return - new /obj/machinery/rust_fuel_assembly_port(loc, ndir, 1) - del(src) - -//construction steps /obj/machinery/rust_fuel_compressor/New(turf/loc, var/ndir, var/building=0) ..() @@ -149,7 +114,7 @@ playsound(src.loc, 'sound/items/Welder.ogg', 50, 1) if(do_after(user, 50)) if(!src || !WT.remove_fuel(3, user)) return - new /obj/item/rust_fuel_assembly_port_frame(loc) + new /obj/item/frame/rust(loc) user.visible_message(\ "\red [src] has been cut away from the wall by [user.name].",\ "You detached the compressor frame.",\ diff --git a/code/modules/power/singularity/act.dm b/code/modules/power/singularity/act.dm index 5b0303c9b5..111c6d11d5 100644 --- a/code/modules/power/singularity/act.dm +++ b/code/modules/power/singularity/act.dm @@ -106,18 +106,19 @@ return 2 /turf/simulated/wall/singularity_pull(S, current_size) - if(current_size >= STAGE_FIVE) - if(prob(75)) - dismantle_wall() - return - if(current_size == STAGE_FOUR) - if(prob(30)) - dismantle_wall() -/turf/simulated/wall/r_wall/singularity_pull(S, current_size) - if(current_size >= STAGE_FIVE) - if(prob(30)) - dismantle_wall() + if(!reinf_material) + if(current_size >= STAGE_FIVE) + if(prob(75)) + dismantle_wall() + return + if(current_size == STAGE_FOUR) + if(prob(30)) + dismantle_wall() + else + if(current_size >= STAGE_FIVE) + if(prob(30)) + dismantle_wall() /turf/space/singularity_act() return diff --git a/code/modules/projectiles/projectile/bullets.dm b/code/modules/projectiles/projectile/bullets.dm index 977c9e26f4..c3baa862c5 100644 --- a/code/modules/projectiles/projectile/bullets.dm +++ b/code/modules/projectiles/projectile/bullets.dm @@ -8,7 +8,7 @@ embed = 1 sharp = 1 var/mob_passthrough_check = 0 - + muzzle_type = /obj/effect/projectile/bullet/muzzle /obj/item/projectile/bullet/on_hit(var/atom/target, var/blocked = 0) @@ -38,19 +38,19 @@ if(ismob(A)) if(!mob_passthrough_check) return 0 - if(iscarbon(A)) - damage *= 0.7 //squishy mobs absorb KE + if(iscarbon(A)) + damage *= 0.7 //squishy mobs absorb KE return 1 var/chance = 0 if(istype(A, /turf/simulated/wall)) var/turf/simulated/wall/W = A - chance = round(damage/W.damage_cap*180) + chance = round(damage/W.material.integrity*180) else if(istype(A, /obj/machinery/door)) var/obj/machinery/door/D = A chance = round(damage/D.maxhealth*180) if(D.glass) chance *= 2 - else if(istype(A, /obj/structure/girder) || istype(A, /obj/structure/cultgirder)) + else if(istype(A, /obj/structure/girder)) chance = 100 else if(istype(A, /obj/machinery) || istype(A, /obj/structure)) chance = 25 diff --git a/code/modules/reagents/Chemistry-Reagents.dm b/code/modules/reagents/Chemistry-Reagents.dm index 44ee2987c4..490516ccb9 100644 --- a/code/modules/reagents/Chemistry-Reagents.dm +++ b/code/modules/reagents/Chemistry-Reagents.dm @@ -1845,12 +1845,10 @@ datum reaction_turf(var/turf/T, var/volume) if(istype(T, /turf/simulated/wall)) var/turf/simulated/wall/W = T - if(W.rotting) - W.rotting = 0 - for(var/obj/effect/E in W) if(E.name == "Wallrot") del E - - for(var/mob/O in viewers(W, null)) - O.show_message(text("\blue The fungi are completely dissolved by the solution!"), 1) + if(locate(/obj/effect/overlay/wallrot) in W) + for(var/obj/effect/overlay/wallrot/E in W) + del(E) + W.visible_message("The fungi are completely dissolved by the solution!") reaction_obj(var/obj/O, var/volume) if(istype(O,/obj/effect/alien/weeds/)) diff --git a/code/modules/research/rdconsole.dm b/code/modules/research/rdconsole.dm index d842b52edc..b6a46a5f87 100644 --- a/code/modules/research/rdconsole.dm +++ b/code/modules/research/rdconsole.dm @@ -438,11 +438,11 @@ won't update every console in existence) but it's more of a hassle to do. Also, else if(href_list["lathe_ejectsheet"] && linked_lathe) //Causes the protolathe to eject a sheet of material var/desired_num_sheets = text2num(href_list["amount"]) var/res_amount, type - var/material/M = name_to_mineral[href_list["lathe_ejectsheet"]] + var/material/M = name_to_material[href_list["lathe_ejectsheet"]] if(istype(M)) type = M.stack_type - switch(name_to_mineral[href_list["lathe_ejectsheet"]]) + switch(name_to_material[href_list["lathe_ejectsheet"]]) if("steel") res_amount = "m_amount" if("glass") diff --git a/code/setup.dm b/code/setup.dm index 38836d54d5..f82ded2041 100644 --- a/code/setup.dm +++ b/code/setup.dm @@ -917,3 +917,6 @@ var/list/be_special_flags = list( #define STAGE_FOUR 7 #define STAGE_FIVE 9 #define STAGE_SUPER 11 + +#define WALL_CAN_OPEN 1 +#define WALL_OPENING 2 \ No newline at end of file diff --git a/code/world.dm b/code/world.dm index 01c6b0d1c5..5dbe389f31 100644 --- a/code/world.dm +++ b/code/world.dm @@ -55,6 +55,9 @@ var/global/datum/global_init/init = new () // Set up roundstart seed list. plant_controller = new() + // This is kinda important. Set up details of what the hell things are made of. + populate_material_list() + //Create the asteroid Z-level. if(config.generate_asteroid) new /datum/random_map(null,13,32,5,217,223) diff --git a/icons/obj/mining.dmi b/icons/obj/mining.dmi index 5c0200528c51f7c6cd410ef3ff0b7bc50e3f0e56..213946eb68bfd0e86ad22f385ae015f917a46a88 100644 GIT binary patch delta 525 zcmV+o0`mR$pabuq1CS(t>UvaIbVOxyV{&P5bZKvH004NLrItaD+At7>&&jW_cCS$d zEL6SZQh`<+mdhUYXgSW1jN*8ru>+;Qz6V%9t*8g~mPp@w9#6*4c~(DHuj`FkzOC~e za6s~^RP%3>JlkU(TUDx;S)R3kO&gCdA({xPR8PS~+k$(_vl=;ns8UVyY|EyHU| z9bFo%VQ_S?Y+||*Z1BqP$8AWXkH7(JMDq75^yYo_fa-nq@z7cisRU~^*qEBpIo;Fl z{*gG#lcOh@bUiqK6VZ>o2)2&)>478$U8CvA*CMuYCIlHtPG*TrvN|mZP7N{W_E0l5 zAafmBk`@rq?SPYLaHbLYjchy$KIba~c;&`^5bntQ7VIdr05NzIZ7bN6zFmQgEJ*XsEZ&G@6E66MPkaIg4UZEQ-ZNeE{cZ{{@4F z0sI&Ar}C5AycC*5&n2aMN466mD<<2?(uc`*vOr_9T_R9tm*#z+9B+)`pNGF3g~`KY zJ87UDS?P_!WII^^_vnF*)0X;PP{t=d`a1<|_~!4P3-^x PAOJ~3K~#9NC<0H;FNOeY delta 525 zcmV+o0`mRupab`y1CS(t@_JNQbVOxyV{&P5bZKvH004NLrIo>s+At7?&*Ukr-D^|< z3so<?P`(MqW5(K61EjN*8ru>(t=z6U6vR;&m1=1AW^o*B>lc~;-&i{(nqUYFSp zI3RgdsL7XMHrQhsYgMS1aW<#{t2!P(LNpOnp`LJ9p29vk$!GaS*RTd+Z| zx4lb)C3KDsmQ74If(>2;{B|4C=p%3d8KFz23^rAk1bF}|NfQkY9 zC-kTElVx5KO`_+N(!C?w=%2#1VzP~1N|v9=HhLlPF(%vS*@r$lzBKRa@c5(1|2zB> zaV>KmCfn#YnV}t7>5qiTHu{IecU$zp#%W7!D@fxn-upWRY;GI;vzo7FYWBL!{s8KX P8ctCznHd1H7y?($P80zK diff --git a/icons/turf/wall_masks.dmi b/icons/turf/wall_masks.dmi new file mode 100644 index 0000000000000000000000000000000000000000..a6d21453ace5c2ffe0d2aaf0d4efc769cfced32e GIT binary patch literal 20703 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%0A5B|iE;!sECh&)Cs@ZZFCJ&!g%^m^jeZzq(UxxS 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%0D$ z)m%5MCB?=I6}g;>O>KSsW_`Ytufj=ekjJid8J^U>*I4hny1drF(5ncws(;kL9%)>a l!t}ShU8hUJj|LplP}>fWp$K--a5Ksu8U^e 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%0D97j6f-@vJ8g@0c5o-({xV41lS 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 Sd8HuWcjlC>dHG4tg#Q6lTo4Ta diff --git a/maps/exodus-1.dmm b/maps/exodus-1.dmm index ab6db1430d..b238090be8 100644 --- a/maps/exodus-1.dmm +++ b/maps/exodus-1.dmm @@ -1088,10 +1088,10 @@ "auV" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/maintenance/arrivals) "auW" = (/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/wall,/area/maintenance/evahallway) "auX" = (/obj/structure/toilet{dir = 1},/turf/simulated/floor{icon_state = "bar"},/area/security/prison) -"auY" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/dormitory) +"auY" = (/obj/machinery/shower{dir = 4; icon_state = "shower"; pixel_x = 5; pixel_y = 0},/obj/structure/curtain/open/shower/security,/turf/simulated/floor{icon_state = "freezerfloor"},/area/security/prison) "auZ" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{icon_state = "freezerfloor"},/area/security/prison) "ava" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/structure/mirror{pixel_x = 30},/turf/simulated/floor{icon_state = "freezerfloor"},/area/security/prison) -"avb" = (/obj/machinery/portable_atmospherics/powered/pump/filled,/turf/simulated/floor/plating,/area/maintenance/dormitory) +"avb" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/dormitory) "avc" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/crew_quarters/fitness) "avd" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor,/area/security/prison) "ave" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/security/prison) @@ -1118,10 +1118,10 @@ "avz" = (/obj/item/weapon/stool,/turf/simulated/floor,/area/security/prison) "avA" = (/obj/structure/bed,/obj/item/weapon/bedsheet/mime,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/turf/simulated/floor/wood,/area/crew_quarters/sleep/bedrooms) "avB" = (/turf/simulated/floor/plating,/obj/structure/shuttle/engine/propulsion/burst,/turf/simulated/shuttle/wall{icon_state = "swall_f5"; dir = 2},/area/shuttle/escape_pod1/station) -"avC" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/camera/network/civilian_east{c_tag = "Dormitory Holodeck North"; pixel_y = -6},/turf/simulated/floor/plating,/area/crew_quarters/fitness) +"avC" = (/obj/machinery/portable_atmospherics/powered/pump/filled,/turf/simulated/floor/plating,/area/maintenance/dormitory) "avD" = (/turf/simulated/floor/plating,/obj/structure/shuttle/engine/propulsion/burst,/turf/simulated/shuttle/wall{icon_state = "swall_f9"; dir = 2},/area/shuttle/escape_pod1/station) "avE" = (/turf/simulated/floor/plating,/obj/structure/shuttle/engine/propulsion/burst,/turf/simulated/shuttle/wall{icon_state = "swall_f5"; dir = 2},/area/shuttle/escape_pod2/station) -"avF" = (/obj/machinery/alarm{pixel_y = 23},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/effect/landmark{name = "JoinLateCryo"},/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/sleep/cryo) +"avF" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/camera/network/civilian_east{c_tag = "Dormitory Holodeck North"; pixel_y = -6},/turf/simulated/floor/plating,/area/crew_quarters/fitness) "avG" = (/turf/simulated/floor/plating,/obj/structure/shuttle/engine/propulsion/burst,/turf/simulated/shuttle/wall{icon_state = "swall_f9"; dir = 2},/area/shuttle/escape_pod2/station) "avH" = (/turf/simulated/floor/plating,/area/maintenance/arrivals) "avI" = (/turf/simulated/floor/plating{dir = 8; icon_state = "warnplatecorner"},/area/maintenance/arrivals) @@ -1133,14 +1133,14 @@ "avO" = (/obj/machinery/space_heater,/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor/plating,/area/maintenance/arrivals) "avP" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/central_one) "avQ" = (/turf/simulated/floor{icon_state = "neutral"; dir = 4},/area/crew_quarters/fitness) -"avR" = (/obj/machinery/computer/cryopod{density = 0; pixel_y = 32},/obj/machinery/camera/network/civilian_east{c_tag = "Dormitory Cryo Storage"},/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/sleep/cryo) +"avR" = (/obj/machinery/alarm{pixel_y = 23},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/effect/landmark{name = "JoinLateCryo"},/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/sleep/cryo) "avS" = (/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "eva_sensor"; pixel_x = 0; pixel_y = 25},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1379; id_tag = "eva_pump"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 9},/area/maintenance/evahallway) -"avT" = (/obj/structure/bed/chair{dir = 1},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 32; pixel_y = 0},/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod{frequency = 1380; id_tag = "escape_pod_1"; pixel_x = -25; pixel_y = 0; tag_door = "escape_pod_1_hatch"},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod1/station) -"avU" = (/obj/structure/bed/chair{dir = 1},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 32; pixel_y = 0},/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod{frequency = 1380; id_tag = "escape_pod_2"; pixel_x = -25; pixel_y = 0; tag_door = "escape_pod_2_hatch"},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod2/station) +"avT" = (/obj/machinery/computer/cryopod{density = 0; pixel_y = 32},/obj/machinery/camera/network/civilian_east{c_tag = "Dormitory Cryo Storage"},/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/sleep/cryo) +"avU" = (/obj/structure/bed/chair{dir = 1},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 32; pixel_y = 0},/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod{frequency = 1380; id_tag = "escape_pod_1"; pixel_x = -25; pixel_y = 0; tag_door = "escape_pod_1_hatch"},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod1/station) "avV" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/crew_quarters/fitness) "avW" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/maintenance/evahallway) "avX" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/maintenance/evahallway) -"avY" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1379; id_tag = "arrivals_pump"},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "arrivals_sensor"; pixel_x = 25; pixel_y = 12},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "arrivals_pump"; tag_exterior_door = "arrivals_outer"; frequency = 1379; id_tag = "arrivals_airlock"; tag_interior_door = "arrivals_inner"; pixel_x = 25; req_access = list(13); tag_chamber_sensor = "arrivals_sensor"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/maintenance/arrivals) +"avY" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "eva_airlock"; name = "exterior access button"; pixel_x = 0; pixel_y = 25; req_access = list(13)},/turf/simulated/floor/plating/airless,/area/maintenance/evahallway) "avZ" = (/obj/machinery/light/small,/obj/structure/mopbucket,/obj/item/weapon/mop,/turf/simulated/floor{icon_state = "freezerfloor"},/area/security/prison) "awa" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/structure/mirror{pixel_x = 30},/obj/item/weapon/soap/nanotrasen,/turf/simulated/floor{icon_state = "freezerfloor"},/area/security/prison) "awb" = (/obj/structure/table,/obj/machinery/light{dir = 8},/obj/machinery/microwave,/turf/simulated/floor,/area/security/prison) @@ -1150,20 +1150,20 @@ "awf" = (/obj/item/weapon/stool,/turf/simulated/floor{icon_state = "blue"; dir = 4},/area/crew_quarters/fitness) "awg" = (/obj/structure/table,/obj/structure/bedsheetbin,/turf/simulated/floor,/area/security/prison) "awh" = (/obj/structure/closet{name = "Prisoner's Locker"},/obj/item/clothing/head/soft/orange,/obj/item/clothing/shoes/sandal,/turf/simulated/floor,/area/security/prison) -"awi" = (/obj/machinery/door/airlock{name = "Brig Restroom"},/turf/simulated/floor,/area/security/prison) +"awi" = (/obj/structure/bed/chair{dir = 1},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 32; pixel_y = 0},/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod{frequency = 1380; id_tag = "escape_pod_2"; pixel_x = -25; pixel_y = 0; tag_door = "escape_pod_2_hatch"},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod2/station) "awj" = (/turf/simulated/floor/wood,/area/crew_quarters/sleep/bedrooms) -"awk" = (/obj/structure/bed,/obj/item/weapon/bedsheet/orange,/obj/machinery/camera/network/prison{c_tag = "Security - Brig Bedroom"; dir = 6},/turf/simulated/floor,/area/security/prison) +"awk" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1379; id_tag = "arrivals_pump"},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "arrivals_sensor"; pixel_x = 25; pixel_y = 12},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "arrivals_pump"; tag_exterior_door = "arrivals_outer"; frequency = 1379; id_tag = "arrivals_airlock"; tag_interior_door = "arrivals_inner"; pixel_x = 25; req_access = list(13); tag_chamber_sensor = "arrivals_sensor"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/maintenance/arrivals) "awl" = (/obj/structure/closet{name = "Prisoner's Locker"},/obj/item/weapon/reagent_containers/food/drinks/bottle/absinthe,/obj/item/clothing/suit/apron/overalls,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) "awm" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/hallway/primary/fore) -"awn" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/camera/network/civilian_east{c_tag = "Dormitory Bedroom Fore"},/turf/simulated/floor/carpet{tag = "icon-carpet2-0"; icon_state = "carpet2-0"},/area/crew_quarters/sleep/bedrooms) -"awo" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "arrivals_inner"; locked = 1; name = "Engineering External Access"; req_access = list(13)},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/arrivals) +"awn" = (/obj/machinery/door/airlock{name = "Brig Restroom"},/turf/simulated/floor,/area/security/prison) +"awo" = (/obj/structure/bed,/obj/item/weapon/bedsheet/orange,/obj/machinery/camera/network/prison{c_tag = "Security - Brig Bedroom"; dir = 6},/turf/simulated/floor,/area/security/prison) "awp" = (/obj/machinery/seed_storage/garden,/turf/simulated/floor,/area/security/prison) "awq" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'KEEP CLEAR OF DOCKING AREA'."; name = "KEEP CLEAR: DOCKING AREA"; pixel_y = 0},/turf/simulated/wall/r_wall,/area/hallway/secondary/entry/port) "awr" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "neutral"; dir = 8},/area/crew_quarters/sleep) "aws" = (/obj/machinery/door/airlock/glass{name = "Cryogenic Storage"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{dir = 2; icon_state = "warnwhite"},/area/crew_quarters/sleep/cryo) "awt" = (/obj/machinery/door/airlock/glass{name = "Cryogenic Storage"},/turf/simulated/floor{dir = 2; icon_state = "warnwhite"},/area/crew_quarters/sleep/cryo) "awu" = (/obj/machinery/door/airlock/glass{name = "Cryogenic Storage"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{dir = 2; icon_state = "warnwhite"},/area/crew_quarters/sleep/cryo) -"awv" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/shower{dir = 4; icon_state = "shower"; pixel_x = 5; pixel_y = 0},/obj/structure/curtain/open/shower/security,/turf/simulated/floor{icon_state = "freezerfloor"},/area/security/prison) +"awv" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/camera/network/civilian_east{c_tag = "Dormitory Bedroom Fore"},/turf/simulated/floor/carpet{tag = "icon-carpet2-0"; icon_state = "carpet2-0"},/area/crew_quarters/sleep/bedrooms) "aww" = (/turf/simulated/floor{dir = 6; icon_state = "whitehall"},/area/crew_quarters/fitness) "awx" = (/obj/machinery/light,/obj/structure/bed,/obj/item/weapon/bedsheet/orange,/turf/simulated/floor,/area/security/prison) "awy" = (/obj/structure/bed,/obj/item/weapon/bedsheet/orange,/turf/simulated/floor,/area/security/prison) @@ -1180,12 +1180,12 @@ "awJ" = (/obj/structure/closet,/obj/item/weapon/storage/backpack,/turf/simulated/floor/plating,/area/maintenance/arrivals) "awK" = (/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/turf/simulated/floor/plating,/area/maintenance/substation/security) "awL" = (/obj/item/weapon/stool{pixel_y = 8},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/crew_quarters/sleep) -"awM" = (/obj/structure/table,/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/obj/machinery/camera/network/prison{c_tag = "Security - Common Brig Southwest"; dir = 4},/turf/simulated/floor,/area/security/prison) +"awM" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "arrivals_inner"; locked = 1; name = "Engineering External Access"; req_access = list(13)},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/arrivals) "awN" = (/obj/effect/decal/cleanable/blood/oil/streak{amount = 0},/turf/simulated/floor/plating,/area/maintenance/arrivals) "awO" = (/obj/structure/table/reinforced,/obj/machinery/door/blast/shutters{dir = 2; id = "bar"; layer = 3.1; name = "Bar Shutters"},/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar) "awP" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating/airless,/area/maintenance/evahallway) "awQ" = (/obj/machinery/light/small,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 10},/area/maintenance/evahallway) -"awR" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_1_hatch"; locked = 1; name = "Escape Pod Hatch"; req_access = list(13)},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod1/station) +"awR" = (/obj/structure/table,/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/obj/machinery/camera/network/prison{c_tag = "Security - Common Brig Southwest"; dir = 4},/turf/simulated/floor,/area/security/prison) "awS" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/blood/oil,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/maintenance/evahallway) "awT" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/plating,/area/maintenance/evahallway) "awU" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/carpet{tag = "icon-carpet3-0"; icon_state = "carpet3-0"},/area/crew_quarters/sleep/bedrooms) @@ -1197,7 +1197,7 @@ "axa" = (/obj/machinery/door/airlock{id_tag = "Dormitory 1"; name = "Dorm"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/wood,/area/crew_quarters/sleep) "axb" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/turf/simulated/floor{icon_state = "neutral"; dir = 8},/area/crew_quarters/sleep) "axc" = (/obj/machinery/atm{pixel_y = 28},/turf/simulated/floor{icon_state = "neutral"; dir = 1},/area/crew_quarters/sleep) -"axd" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_2_hatch"; locked = 1; name = "Escape Pod Hatch"; req_access = list(13)},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod2/station) +"axd" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_1_hatch"; locked = 1; name = "Escape Pod Hatch"; req_access = list(13)},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod1/station) "axe" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "neutral"; dir = 1},/area/crew_quarters/sleep) "axf" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor{icon_state = "neutral"; dir = 1},/area/crew_quarters/sleep) "axg" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "neutral"; dir = 1},/area/crew_quarters/sleep) @@ -1214,15 +1214,15 @@ "axr" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/crew_quarters/fitness) "axs" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/crew_quarters/fitness) "axt" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor,/area/crew_quarters/fitness) -"axu" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "arrivals_airlock"; name = "interior access button"; pixel_x = -25; pixel_y = 25; req_access = list(13)},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/maintenance/arrivals) +"axu" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_2_hatch"; locked = 1; name = "Escape Pod Hatch"; req_access = list(13)},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod2/station) "axv" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/crew_quarters/fitness) -"axw" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "eva_airlock"; name = "exterior access button"; pixel_x = 0; pixel_y = 25; req_access = list(13)},/turf/simulated/floor/plating/airless,/area/maintenance/evahallway) +"axw" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "arrivals_airlock"; name = "interior access button"; pixel_x = -25; pixel_y = 25; req_access = list(13)},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/maintenance/arrivals) "axx" = (/obj/structure/sign/pods,/turf/simulated/wall,/area/hallway/secondary/entry/fore) -"axy" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "eva_outer"; locked = 1; name = "EVA External Access"; req_access = list(13)},/turf/simulated/floor/airless{icon_state = "circuit"},/area/maintenance/evahallway) +"axy" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "eva_airlock"; name = "interior access button"; pixel_x = 0; pixel_y = 25; req_access = list(13)},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/maintenance/evahallway) "axz" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/power/apc/high{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor{dir = 4; icon_state = "arrival"},/area/hallway/secondary/entry/port) -"axA" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "eva_inner"; locked = 1; name = "EVA Internal Access"; req_access = list(13)},/turf/simulated/floor/plating,/area/maintenance/evahallway) +"axA" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "eva_outer"; locked = 1; name = "EVA External Access"; req_access = list(13)},/turf/simulated/floor/airless{icon_state = "circuit"},/area/maintenance/evahallway) "axB" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/maintenance/auxsolarport) -"axC" = (/obj/machinery/embedded_controller/radio/airlock/airlock_controller{frequency = 1379; id_tag = "eva_airlock"; name = "EVA Airlock Console"; pixel_y = 25; req_one_access = list(1,5,11,18,24); tag_airpump = "eva_pump"; tag_chamber_sensor = "eva_sensor"; tag_exterior_door = "eva_outer"; tag_interior_door = "eva_inner"},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 5},/area/maintenance/evahallway) +"axC" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "eva_inner"; locked = 1; name = "EVA Internal Access"; req_access = list(13)},/turf/simulated/floor/plating,/area/maintenance/evahallway) "axD" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/maintenance/evahallway) "axE" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/maintenance/evahallway) "axF" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/maintenance/evahallway) @@ -1234,7 +1234,7 @@ "axL" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/plating,/area/maintenance/evahallway) "axM" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/maintenance/evahallway) "axN" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor/plating,/area/maintenance/evahallway) -"axO" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "eva_airlock"; name = "interior access button"; pixel_x = 0; pixel_y = 25; req_access = list(13)},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/maintenance/evahallway) +"axO" = (/obj/machinery/embedded_controller/radio/airlock/airlock_controller{frequency = 1379; id_tag = "eva_airlock"; name = "EVA Airlock Console"; pixel_y = 25; req_one_access = list(1,5,11,18,24); tag_airpump = "eva_pump"; tag_chamber_sensor = "eva_sensor"; tag_exterior_door = "eva_outer"; tag_interior_door = "eva_inner"},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 5},/area/maintenance/evahallway) "axP" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/fore) "axQ" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/disposalpipe/junction{icon_state = "pipe-j2"; dir = 4},/turf/simulated/floor,/area/hallway/primary/fore) "axR" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "bluecorner"},/area/hallway/primary/fore) @@ -1262,7 +1262,7 @@ "ayn" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/hallway/secondary/entry/fore) "ayo" = (/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/hallway/secondary/entry/fore) "ayp" = (/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod_berth{frequency = 1380; id_tag = "escape_pod_1_berth"; pixel_x = -25; pixel_y = 30; tag_door = "escape_pod_1_berth_hatch"},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/hallway/secondary/entry/fore) -"ayq" = (/obj/machinery/shower{dir = 4; icon_state = "shower"; pixel_x = 5; pixel_y = 0},/obj/structure/curtain/open/shower/security,/turf/simulated/floor{icon_state = "freezerfloor"},/area/security/prison) +"ayq" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/shower{dir = 4; icon_state = "shower"; pixel_x = 5; pixel_y = 0},/obj/structure/curtain/open/shower/security,/turf/simulated/floor{icon_state = "freezerfloor"},/area/security/prison) "ayr" = (/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod_berth{frequency = 1380; id_tag = "escape_pod_2_berth"; pixel_x = -25; pixel_y = 30; tag_door = "escape_pod_2_berth_hatch"},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/hallway/secondary/entry/fore) "ays" = (/obj/machinery/alarm{frequency = 1439; pixel_y = 23},/turf/simulated/floor{dir = 1; icon_state = "arrival"},/area/hallway/secondary/entry/fore) "ayt" = (/obj/machinery/light{dir = 1},/obj/machinery/power/apc/high{dir = 1; name = "north bump"; pixel_y = 24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor{dir = 1; icon_state = "arrival"},/area/hallway/secondary/entry/fore) @@ -2802,11 +2802,11 @@ "bbT" = (/obj/structure/table,/obj/structure/disposalpipe/segment,/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/item/weapon/tape_roll,/turf/simulated/floor,/area/crew_quarters/locker) "bbU" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/hallway/secondary/entry/aft) "bbV" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/security/vacantoffice) -"bbW" = (/obj/machinery/door/airlock/glass_command{id_tag = "sbridgedoor"; name = "Bridge"; req_access = list(19)},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/bridge) +"bbW" = (/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating{dir = 1; icon_state = "warnplatecorner"},/area/maintenance/locker) "bbX" = (/obj/structure/table/rack{dir = 4},/obj/item/clothing/mask/gas,/turf/simulated/floor/plating,/area/maintenance/locker) "bbY" = (/obj/machinery/atmospherics/valve,/turf/simulated/floor/plating,/area/maintenance/locker) "bbZ" = (/turf/simulated/wall,/area/crew_quarters/locker/locker_toilet) -"bca" = (/obj/machinery/door/airlock/glass_command{id_tag = "sbridgedoor"; name = "Bridge"; req_access = list(19)},/obj/structure/disposalpipe/segment{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"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor,/area/bridge) +"bca" = (/obj/machinery/door/airlock/glass_command{id_tag = "sbridgedoor"; name = "Bridge"; req_access = list(19)},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/bridge) "bcb" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = -32; pixel_y = 0},/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/crew_quarters/locker) "bcc" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/crew_quarters/locker) "bcd" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "warningcorner"; dir = 2},/area/crew_quarters/locker) @@ -2826,7 +2826,7 @@ "bcr" = (/obj/item/device/radio/intercom{freerange = 1; frequency = 1459; name = "Station Intercom (General)"; pixel_x = -27},/turf/simulated/floor,/area/hallway/primary/central_one) "bcs" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/hallway/primary/central_one) "bct" = (/turf/simulated/floor{icon_state = "bluecorner"},/area/hallway/primary/central_one) -"bcu" = (/obj/structure/flora/ausbushes/brflowers,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/camera/network/civilian_east{c_tag = "Hydroponics Pasture South"; dir = 8},/turf/simulated/floor/grass,/area/hydroponics/garden) +"bcu" = (/obj/machinery/door/airlock/glass_command{id_tag = "sbridgedoor"; name = "Bridge"; req_access = list(19)},/obj/structure/disposalpipe/segment{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"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor,/area/bridge) "bcv" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable/green,/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/hallway/primary/central_one) "bcw" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/turf/simulated/floor{icon_state = "blue"; dir = 6},/area/hallway/primary/central_one) "bcx" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable/green,/turf/simulated/floor/plating,/area/bridge) @@ -2847,11 +2847,11 @@ "bcM" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/wood,/area/crew_quarters/bar) "bcN" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/wood,/area/crew_quarters/bar) "bcO" = (/turf/simulated/floor{icon_state = "wood"},/area/crew_quarters/bar) -"bcP" = (/obj/item/device/radio/intercom{pixel_x = -25},/obj/machinery/camera/network/exodus{c_tag = "Departures West"; dir = 4},/turf/simulated/floor{dir = 8; icon_state = "escape"},/area/hallway/secondary/exit) +"bcP" = (/obj/structure/flora/ausbushes/brflowers,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/camera/network/civilian_east{c_tag = "Hydroponics Pasture South"; dir = 8},/turf/simulated/floor/grass,/area/hydroponics/garden) "bcQ" = (/obj/machinery/light_switch{pixel_x = 16; pixel_y = -23},/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) "bcR" = (/obj/machinery/light,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) "bcS" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) -"bcT" = (/obj/structure/lattice,/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "escape_dock_north_airlock"; name = "exterior access button"; pixel_x = 5; pixel_y = 25; req_one_access = list(13)},/turf/space,/area/space) +"bcT" = (/obj/item/device/radio/intercom{pixel_x = -25},/obj/machinery/camera/network/exodus{c_tag = "Departures West"; dir = 4},/turf/simulated/floor{dir = 8; icon_state = "escape"},/area/hallway/secondary/exit) "bcU" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) "bcV" = (/obj/item/weapon/stool,/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/quartermaster/office) "bcW" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{dir = 1; icon_state = "green"},/area/hydroponics/garden) @@ -2877,7 +2877,7 @@ "bdq" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/obj/machinery/door/airlock/glass{name = "Chapel"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main) "bdr" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor{dir = 8; icon_state = "escape"},/area/hallway/secondary/exit) "bds" = (/obj/machinery/hologram/holopad,/turf/simulated/floor,/area/hallway/secondary/exit) -"bdt" = (/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1380; id_tag = "centcom_shuttle_dock_airlock"; pixel_x = 0; pixel_y = 30; req_one_access = list(13); tag_airpump = "centcom_shuttle_dock_pump"; tag_chamber_sensor = "centcom_shuttle_dock_sensor"; tag_exterior_door = "centcom_shuttle_dock_outer"; tag_interior_door = "centcom_shuttle_dock_inner"},/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "centcom_shuttle_dock_sensor"; pixel_x = 0; pixel_y = -25},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1380; id_tag = "centcom_shuttle_dock_pump"},/turf/simulated/floor/plating,/area/hallway/secondary/entry/aft) +"bdt" = (/obj/structure/lattice,/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "escape_dock_north_airlock"; name = "exterior access button"; pixel_x = 5; pixel_y = 25; req_one_access = list(13)},/turf/space,/area/space) "bdu" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/hallway/secondary/entry/aft) "bdv" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/hallway/secondary/entry/aft) "bdw" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/hallway/secondary/entry/aft) @@ -2894,13 +2894,13 @@ "bdH" = (/obj/structure/table,/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/crew_quarters/locker) "bdI" = (/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/crew_quarters/locker) "bdJ" = (/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/closet/wardrobe/suit,/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/crew_quarters/locker) -"bdK" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "centcom_shuttle_dock_outer"; locked = 1; name = "Docking Port Airlock"; req_access = list(13)},/turf/simulated/floor/plating,/area/hallway/secondary/entry/aft) +"bdK" = (/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1380; id_tag = "centcom_shuttle_dock_airlock"; pixel_x = 0; pixel_y = 30; req_one_access = list(13); tag_airpump = "centcom_shuttle_dock_pump"; tag_chamber_sensor = "centcom_shuttle_dock_sensor"; tag_exterior_door = "centcom_shuttle_dock_outer"; tag_interior_door = "centcom_shuttle_dock_inner"},/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "centcom_shuttle_dock_sensor"; pixel_x = 0; pixel_y = -25},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1380; id_tag = "centcom_shuttle_dock_pump"},/turf/simulated/floor/plating,/area/hallway/secondary/entry/aft) "bdL" = (/obj/machinery/portable_atmospherics/powered/scrubber,/turf/simulated/floor{icon_state = "delivery"},/area/crew_quarters/locker) "bdM" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/crew_quarters/locker) "bdN" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/disposalpipe/segment,/obj/structure/cable/green,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor,/area/crew_quarters/locker) "bdO" = (/obj/structure/disposalpipe/segment,/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"},/turf/simulated/floor/plating,/area/maintenance/locker) "bdP" = (/turf/simulated/wall,/area/quartermaster/storage) -"bdQ" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "centcom_shuttle_dock_airlock"; name = "interior access button"; pixel_x = -30; pixel_y = 25; req_one_access = list(13)},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/turf/simulated/floor,/area/hallway/secondary/entry/aft) +"bdQ" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "centcom_shuttle_dock_outer"; locked = 1; name = "Docking Port Airlock"; req_access = list(13)},/turf/simulated/floor/plating,/area/hallway/secondary/entry/aft) "bdR" = (/obj/machinery/conveyor{dir = 4; id = "packageSort2"},/obj/machinery/light{dir = 8},/turf/simulated/floor/plating,/area/quartermaster/office) "bdS" = (/obj/machinery/conveyor{dir = 4; id = "packageSort2"},/turf/simulated/floor/plating,/area/quartermaster/office) "bdT" = (/obj/machinery/conveyor{dir = 4; id = "packageSort2"},/obj/structure/plasticflaps{opacity = 0},/turf/simulated/floor/plating,/area/quartermaster/office) @@ -2910,11 +2910,11 @@ "bdX" = (/obj/machinery/door/firedoor/border_only{name = "\improper Firelock South"},/turf/simulated/floor{icon_state = "bluecorner"},/area/hallway/primary/central_one) "bdY" = (/turf/simulated/wall/r_wall,/area/bridge/meeting_room) "bdZ" = (/turf/simulated/wall,/area/bridge/meeting_room) -"bea" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "centcom_shuttle_dock_inner"; locked = 1; name = "Docking Port Airlock"; req_access = list(13)},/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor/plating,/area/hallway/secondary/entry/aft) +"bea" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "centcom_shuttle_dock_airlock"; name = "interior access button"; pixel_x = -30; pixel_y = 25; req_one_access = list(13)},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/turf/simulated/floor,/area/hallway/secondary/entry/aft) "beb" = (/turf/simulated/wall/r_wall,/area/turret_protected/ai) "bec" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/wall/r_wall,/area/turret_protected/ai) "bed" = (/turf/simulated/wall/r_wall,/area/crew_quarters/captain) -"bee" = (/obj/structure/table,/obj/machinery/photocopier/faxmachine{anchored = 1; department = "Vacant Office"},/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/machinery/status_display{pixel_x = 32},/turf/simulated/floor,/area/security/vacantoffice) +"bee" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "centcom_shuttle_dock_inner"; locked = 1; name = "Docking Port Airlock"; req_access = list(13)},/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor/plating,/area/hallway/secondary/entry/aft) "bef" = (/obj/machinery/computer/arcade,/turf/simulated/floor/wood,/area/crew_quarters/bar) "beg" = (/obj/machinery/vending/cola,/turf/simulated/floor/wood,/area/crew_quarters/bar) "beh" = (/obj/machinery/light,/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor/wood,/area/crew_quarters/bar) @@ -3191,18 +3191,18 @@ "bjs" = (/obj/machinery/door/airlock{name = "Unit 3"},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/locker/locker_toilet) "bjt" = (/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/locker/locker_toilet) "bju" = (/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor,/area/hallway/secondary/entry/aft) -"bjv" = (/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/sign/securearea{desc = "A warning sign which reads 'MOVING PARTS'."; name = "\improper MOVING PARTS"; pixel_x = 0; pixel_y = -32},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplatecorner"},/area/maintenance/locker) -"bjw" = (/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/locker) +"bjv" = (/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/locker) +"bjw" = (/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/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 = 4},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/maintenance/locker) "bjx" = (/obj/structure/disposalpipe/tagger/partial{name = "Sorting Office"; sort_tag = "Sorting Office"},/turf/simulated/floor/plating,/area/maintenance/locker) "bjy" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "floorgrime"},/area/quartermaster/storage) "bjz" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "floorgrime"},/area/quartermaster/storage) "bjA" = (/obj/item/stack/sheet/cardboard,/turf/simulated/floor{icon_state = "floorgrime"},/area/quartermaster/storage) -"bjB" = (/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating{dir = 1; icon_state = "warnplatecorner"},/area/maintenance/locker) -"bjC" = (/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/maintenance/locker) +"bjB" = (/obj/structure/closet/emcloset,/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/locker) +"bjC" = (/obj/effect/landmark{name = "blobstart"},/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/plating,/area/maintenance/locker) "bjD" = (/obj/structure/filingcabinet/filingcabinet,/turf/simulated/floor{icon_state = "arrival"; dir = 4},/area/quartermaster/office) "bjE" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor{dir = 8; icon_state = "browncorner"},/area/hallway/primary/central_one) "bjF" = (/obj/machinery/door/blast/regular{id = "chapelgun"; name = "Chapel Launcher Door"},/turf/simulated/floor/plating,/area/chapel/main) -"bjG" = (/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/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 = 4},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/maintenance/locker) +"bjG" = (/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/wall,/area/maintenance/locker) "bjH" = (/obj/structure/bed/chair{dir = 4},/obj/effect/landmark/start{name = "Cargo Technician"},/turf/simulated/floor,/area/quartermaster/office) "bjI" = (/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/structure/table/woodentable,/turf/simulated/floor/carpet,/area/bridge/meeting_room) "bjJ" = (/obj/item/weapon/folder/blue,/obj/structure/table/woodentable,/turf/simulated/floor/carpet,/area/bridge/meeting_room) @@ -3210,18 +3210,18 @@ "bjL" = (/obj/structure/disposalpipe/segment,/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/wood,/area/bridge/meeting_room) "bjM" = (/obj/structure/reagent_dispensers/water_cooler,/turf/simulated/floor/wood,/area/bridge/meeting_room) "bjN" = (/obj/effect/landmark{name = "tripai"},/obj/item/device/radio/intercom{anyai = 1; freerange = 1; listening = 0; name = "Custom Channel"; pixel_x = 0; pixel_y = 20},/obj/item/device/radio/intercom{anyai = 1; broadcasting = 0; freerange = 1; frequency = 1447; name = "Private Channel"; pixel_x = 0; pixel_y = -26},/obj/item/device/radio/intercom{anyai = 1; broadcasting = 1; freerange = 1; listening = 1; name = "Common Channel"; pixel_x = -25; pixel_y = -4},/obj/structure/cable/cyan{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) -"bjO" = (/obj/structure/closet/emcloset,/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/locker) +"bjO" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/camera/network/civilian_west{c_tag = "Locker Room South"; dir = 8},/turf/simulated/floor,/area/crew_quarters/locker) "bjP" = (/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/cyan{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai) -"bjQ" = (/obj/effect/landmark{name = "blobstart"},/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/plating,/area/maintenance/locker) +"bjQ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "heads_meeting"; name = "Meeting Room Window Shutters"; opacity = 0},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/bridge/meeting_room) "bjR" = (/obj/machinery/light{dir = 1},/obj/item/weapon/stool,/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/reception) "bjS" = (/obj/effect/landmark{name = "tripai"},/obj/item/device/radio/intercom{anyai = 1; freerange = 1; listening = 0; name = "Custom Channel"; pixel_x = 0; pixel_y = 19},/obj/item/device/radio/intercom{anyai = 1; broadcasting = 0; freerange = 1; frequency = 1447; name = "Private Channel"; pixel_x = 0; pixel_y = -26},/obj/item/device/radio/intercom{anyai = 1; broadcasting = 1; freerange = 1; listening = 1; name = "Common Channel"; pixel_x = 27; pixel_y = -3},/obj/structure/cable/cyan{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) "bjT" = (/obj/machinery/vending/cigarette,/turf/simulated/floor/wood,/area/crew_quarters/captain) "bjU" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor/wood,/area/crew_quarters/captain) -"bjV" = (/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/wall,/area/maintenance/locker) +"bjV" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Disposal Access"; req_access = list(12)},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/maintenance/disposal) "bjW" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/carpet,/area/crew_quarters/captain) "bjX" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/captain) -"bjY" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/camera/network/civilian_west{c_tag = "Locker Room South"; dir = 8},/turf/simulated/floor,/area/crew_quarters/locker) -"bjZ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "heads_meeting"; name = "Meeting Room Window Shutters"; opacity = 0},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/bridge/meeting_room) +"bjY" = (/obj/machinery/door/airlock/maintenance{req_access = list(12)},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/crew_quarters/locker) +"bjZ" = (/obj/machinery/camera/network/civilian_west{c_tag = "Cargo Warehouse"; dir = 8},/turf/simulated/floor{icon_state = "floorgrime"},/area/quartermaster/storage) "bka" = (/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=Stbd"; location = "HOP"},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor,/area/hallway/primary/central_two) "bkb" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor,/area/hallway/primary/central_two) "bkc" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/hallway/primary/central_two) @@ -3232,7 +3232,7 @@ "bkh" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor,/area/hallway/primary/starboard) "bki" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor,/area/hallway/primary/starboard) "bkj" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor,/area/hallway/primary/starboard) -"bkk" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Disposal Access"; req_access = list(12)},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/maintenance/disposal) +"bkk" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/camera/network/civilian_west{c_tag = "Cargo Delivery Office"; dir = 4},/turf/simulated/floor{dir = 8; icon_state = "brown"},/area/quartermaster/office) "bkl" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/hallway/primary/starboard) "bkm" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/hallway/primary/starboard) "bkn" = (/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/hallway/primary/starboard) @@ -3245,35 +3245,35 @@ "bku" = (/turf/simulated/floor{dir = 8; icon_state = "whitecorner"},/area/hallway/primary/starboard) "bkv" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor,/area/hallway/primary/starboard) "bkw" = (/obj/structure/extinguisher_cabinet{pixel_x = 0; pixel_y = -30},/turf/simulated/floor,/area/hallway/primary/starboard) -"bkx" = (/obj/machinery/door/airlock/maintenance{req_access = list(12)},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/crew_quarters/locker) +"bkx" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "heads_meeting"; name = "Meeting Room Window Shutters"; opacity = 0},/obj/structure/cable/green,/turf/simulated/floor/plating,/area/bridge/meeting_room) "bky" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/hallway/primary/starboard) "bkz" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/hallway/primary/starboard) -"bkA" = (/obj/machinery/camera/network/civilian_west{c_tag = "Cargo Warehouse"; dir = 8},/turf/simulated/floor{icon_state = "floorgrime"},/area/quartermaster/storage) +"bkA" = (/obj/item/weapon/storage/box/donut,/obj/structure/table/woodentable,/turf/simulated/floor/wood,/area/bridge/meeting_room) "bkB" = (/obj/machinery/light,/turf/simulated/floor,/area/hallway/primary/starboard) "bkC" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor{dir = 2; icon_state = "redcorner"},/area/hallway/secondary/exit) "bkD" = (/obj/structure/extinguisher_cabinet{pixel_x = 5; pixel_y = -32},/turf/simulated/floor{dir = 2; icon_state = "escape"},/area/hallway/secondary/exit) "bkE" = (/obj/machinery/newscaster{pixel_y = -32},/turf/simulated/floor{dir = 2; icon_state = "escape"},/area/hallway/secondary/exit) "bkF" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{dir = 2; icon_state = "escape"},/area/hallway/secondary/exit) "bkG" = (/obj/machinery/light,/turf/simulated/floor{dir = 2; icon_state = "escape"},/area/hallway/secondary/exit) -"bkH" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/camera/network/civilian_west{c_tag = "Cargo Delivery Office"; dir = 4},/turf/simulated/floor{dir = 8; icon_state = "brown"},/area/quartermaster/office) +"bkH" = (/obj/machinery/door/window{dir = 4; name = "AI Core Door"; req_access = list(16)},/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) "bkI" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 32; pixel_y = 0},/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/hallway/secondary/exit) "bkJ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/hallway/secondary/exit) -"bkK" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "heads_meeting"; name = "Meeting Room Window Shutters"; opacity = 0},/obj/structure/cable/green,/turf/simulated/floor/plating,/area/bridge/meeting_room) -"bkL" = (/obj/item/weapon/storage/box/donut,/obj/structure/table/woodentable,/turf/simulated/floor/wood,/area/bridge/meeting_room) -"bkM" = (/obj/machinery/door/window{dir = 4; name = "AI Core Door"; req_access = list(16)},/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) -"bkN" = (/obj/item/device/radio/intercom{anyai = 1; broadcasting = 0; freerange = 1; frequency = 1447; name = "Private Channel"; pixel_x = 28; pixel_y = 5},/obj/item/device/radio/intercom{anyai = 1; freerange = 1; listening = 0; name = "Custom Channel"; pixel_x = -27; pixel_y = 4},/obj/effect/landmark/start{name = "AI"},/obj/item/device/radio/intercom{broadcasting = 1; freerange = 1; listening = 1; name = "Common Channel"; pixel_y = 25},/obj/machinery/newscaster/security_unit{pixel_x = 32; pixel_y = 32},/obj/machinery/requests_console{department = "AI"; departmentType = 5; pixel_x = -32; pixel_y = 32},/obj/structure/cable/cyan{d2 = 2; icon_state = "0-2"},/obj/machinery/door_control{desc = "A remote control-switch for the AI core maintenance door."; id = "AICore"; name = "AI Maintenance Hatch"; pixel_x = 17; pixel_y = 25; req_access = list(109)},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) +"bkK" = (/obj/item/device/radio/intercom{anyai = 1; broadcasting = 0; freerange = 1; frequency = 1447; name = "Private Channel"; pixel_x = 28; pixel_y = 5},/obj/item/device/radio/intercom{anyai = 1; freerange = 1; listening = 0; name = "Custom Channel"; pixel_x = -27; pixel_y = 4},/obj/effect/landmark/start{name = "AI"},/obj/item/device/radio/intercom{broadcasting = 1; freerange = 1; listening = 1; name = "Common Channel"; pixel_y = 25},/obj/machinery/newscaster/security_unit{pixel_x = 32; pixel_y = 32},/obj/machinery/requests_console{department = "AI"; departmentType = 5; pixel_x = -32; pixel_y = 32},/obj/structure/cable/cyan{d2 = 2; icon_state = "0-2"},/obj/machinery/door_control{desc = "A remote control-switch for the AI core maintenance door."; id = "AICore"; name = "AI Maintenance Hatch"; pixel_x = 17; pixel_y = 25; req_access = list(109)},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) +"bkL" = (/obj/machinery/door/window{base_state = "right"; dir = 8; icon_state = "right"; name = "AI Core Door"; req_access = list(16)},/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/bluegrid,/area/turret_protected/ai) +"bkM" = (/obj/structure/table/woodentable,/obj/machinery/recharger{pixel_y = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/camera/network/command{c_tag = "Bridge - Captain's Office"; dir = 8},/turf/simulated/floor/wood,/area/crew_quarters/captain) +"bkN" = (/obj/structure/disposalpipe/junction{icon_state = "pipe-j2"; dir = 2},/obj/machinery/camera/network/exodus{c_tag = "Primary Hallway Central - East"; dir = 4},/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/central_two) "bkO" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/power/apc/high{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green,/turf/simulated/floor,/area/hallway/secondary/entry/aft) -"bkP" = (/obj/machinery/door/window{base_state = "right"; dir = 8; icon_state = "right"; name = "AI Core Door"; req_access = list(16)},/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/bluegrid,/area/turret_protected/ai) +"bkP" = (/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/maintenance/locker) "bkQ" = (/obj/machinery/conveyor{dir = 4; id = "garbage"},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/maintenance/disposal) "bkR" = (/obj/machinery/conveyor{dir = 4; id = "garbage"},/turf/simulated/floor/plating,/area/maintenance/disposal) "bkS" = (/obj/structure/disposaloutlet{dir = 8},/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor/plating,/area/maintenance/disposal) "bkT" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall,/area/maintenance/disposal) "bkU" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/plating,/area/maintenance/locker) -"bkV" = (/obj/structure/table/woodentable,/obj/machinery/recharger{pixel_y = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/camera/network/command{c_tag = "Bridge - Captain's Office"; dir = 8},/turf/simulated/floor/wood,/area/crew_quarters/captain) +"bkV" = (/obj/machinery/light,/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/camera/network/exodus{c_tag = "Primary Hallway Starboard - West"; dir = 1},/turf/simulated/floor{icon_state = "bluecorner"},/area/hallway/primary/starboard) "bkW" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/maintenance/locker) -"bkX" = (/obj/structure/disposalpipe/junction{icon_state = "pipe-j2"; dir = 2},/obj/machinery/camera/network/exodus{c_tag = "Primary Hallway Central - East"; dir = 4},/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/central_two) -"bkY" = (/obj/machinery/light,/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/camera/network/exodus{c_tag = "Primary Hallway Starboard - West"; dir = 1},/turf/simulated/floor{icon_state = "bluecorner"},/area/hallway/primary/starboard) -"bkZ" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/machinery/camera/network/exodus{c_tag = "Primary Hallway Starboard - Central"; dir = 1},/turf/simulated/floor,/area/hallway/primary/starboard) +"bkX" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/machinery/camera/network/exodus{c_tag = "Primary Hallway Starboard - Central"; dir = 1},/turf/simulated/floor,/area/hallway/primary/starboard) +"bkY" = (/obj/machinery/camera/network/exodus{c_tag = "Primary Hallway Starboard - Central East"; dir = 1},/turf/simulated/floor,/area/hallway/primary/starboard) +"bkZ" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/embedded_controller/radio/docking_port_multi{child_names_txt = "Airlock One;Airlock Two"; child_tags_txt = "escape_dock_north_airlock;escape_dock_south_airlock"; frequency = 1380; id_tag = "escape_dock"; pixel_x = 0; pixel_y = -25; req_one_access = list(13)},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/hallway/secondary/exit) "bla" = (/mob/living/simple_animal/mouse,/turf/simulated/floor/plating,/area/maintenance/locker) "blb" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/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/plating,/area/maintenance/locker) "blc" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/maintenance/locker) @@ -3301,10 +3301,10 @@ "bly" = (/obj/machinery/vending/coffee,/turf/simulated/floor/wood,/area/bridge/meeting_room) "blz" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/bluegrid,/area/turret_protected/ai) "blA" = (/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) -"blB" = (/obj/machinery/camera/network/exodus{c_tag = "Primary Hallway Starboard - Central East"; dir = 1},/turf/simulated/floor,/area/hallway/primary/starboard) -"blC" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/embedded_controller/radio/docking_port_multi{child_names_txt = "Airlock One;Airlock Two"; child_tags_txt = "escape_dock_north_airlock;escape_dock_south_airlock"; frequency = 1380; id_tag = "escape_dock"; pixel_x = 0; pixel_y = -25; req_one_access = list(13)},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/hallway/secondary/exit) +"blB" = (/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1380; id_tag = "specops_dock_airlock"; pixel_x = 0; pixel_y = 30; req_one_access = list(13); tag_airpump = "specops_dock_pump"; tag_chamber_sensor = "specops_dock_sensor"; tag_exterior_door = "specops_dock_outer"; tag_interior_door = "specops_dock_inner"},/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "specops_dock_sensor"; pixel_x = 0; pixel_y = -25},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1380; id_tag = "specops_dock_pump"},/turf/simulated/floor/plating,/area/hallway/secondary/entry/aft) +"blC" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "specops_dock_outer"; locked = 1; name = "Docking Port Airlock"; req_access = list(13)},/turf/simulated/floor/plating,/area/hallway/secondary/entry/aft) "blD" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) -"blE" = (/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1380; id_tag = "specops_dock_airlock"; pixel_x = 0; pixel_y = 30; req_one_access = list(13); tag_airpump = "specops_dock_pump"; tag_chamber_sensor = "specops_dock_sensor"; tag_exterior_door = "specops_dock_outer"; tag_interior_door = "specops_dock_inner"},/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "specops_dock_sensor"; pixel_x = 0; pixel_y = -25},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1380; id_tag = "specops_dock_pump"},/turf/simulated/floor/plating,/area/hallway/secondary/entry/aft) +"blE" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "specops_dock_airlock"; name = "interior access button"; pixel_x = -30; pixel_y = 25; req_one_access = list(13)},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/turf/simulated/floor,/area/hallway/secondary/entry/aft) "blF" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_x = -30; pixel_y = 0},/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/item/device/megaphone,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/wood,/area/crew_quarters/captain) "blG" = (/obj/structure/table/woodentable,/obj/item/weapon/folder/blue,/obj/item/weapon/stamp/captain,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/wood,/area/crew_quarters/captain) "blH" = (/obj/structure/table/woodentable,/obj/machinery/computer/skills{icon_state = "medlaptop"},/obj/item/weapon/hand_tele,/turf/simulated/floor/wood,/area/crew_quarters/captain) @@ -3319,7 +3319,7 @@ "blQ" = (/obj/structure/sign/redcross{desc = "The Star of Life, a symbol of Medical Aid."; icon_state = "lifestar"; name = "Medbay"},/turf/simulated/wall,/area/hallway/primary/starboard) "blR" = (/obj/machinery/door/firedoor,/obj/machinery/door/blast/shutters{density = 0; dir = 4; icon_state = "shutter0"; id = "scanhideside"; name = "Diagnostics Room Privacy Shutters"; opacity = 0},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/medbay4) "blS" = (/obj/machinery/sparker{dir = 2; id = "mixingsparker"; pixel_x = 25},/obj/machinery/atmospherics/unary/outlet_injector{dir = 4; frequency = 1443; icon_state = "map_injector"; id = "air_in"; use_power = 1},/turf/simulated/floor/engine/vacuum,/area/rnd/mixing) -"blT" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "specops_dock_outer"; locked = 1; name = "Docking Port Airlock"; req_access = list(13)},/turf/simulated/floor/plating,/area/hallway/secondary/entry/aft) +"blT" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "specops_dock_inner"; locked = 1; name = "Docking Port Airlock"; req_access = list(13)},/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor/plating,/area/hallway/secondary/entry/aft) "blU" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{dir = 2; icon_state = "whitepurplecorner"},/area/medical/medbay2) "blV" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor,/area/hallway/primary/starboard) "blW" = (/turf/simulated/floor{dir = 1; icon_state = "loadingarea"},/area/hallway/primary/starboard) @@ -3329,7 +3329,7 @@ "bma" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor{dir = 2; icon_state = "purple"},/area/hallway/primary/starboard) "bmb" = (/turf/simulated/floor{dir = 6; icon_state = "purple"},/area/hallway/primary/starboard) "bmc" = (/turf/simulated/wall/r_wall,/area/hallway/secondary/exit) -"bmd" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "specops_dock_airlock"; name = "interior access button"; pixel_x = -30; pixel_y = 25; req_one_access = list(13)},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/turf/simulated/floor,/area/hallway/secondary/entry/aft) +"bmd" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/plating,/area/maintenance/locker) "bme" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/wall,/area/hallway/secondary/exit) "bmf" = (/obj/machinery/light{dir = 4},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/hallway/secondary/entry/aft) "bmg" = (/obj/machinery/conveyor{dir = 1; id = "garbage"},/turf/simulated/floor/plating,/area/maintenance/disposal) @@ -3337,7 +3337,7 @@ "bmi" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/maintenance/disposal) "bmj" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/maintenance/locker) "bmk" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/maintenance/locker) -"bml" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "specops_dock_inner"; locked = 1; name = "Docking Port Airlock"; req_access = list(13)},/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor/plating,/area/hallway/secondary/entry/aft) +"bml" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/maintenance/locker) "bmm" = (/obj/machinery/door/airlock{name = "Unit 4"},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/locker/locker_toilet) "bmn" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/locker/locker_toilet) "bmo" = (/obj/item/stack/sheet/glass/reinforced,/obj/effect/decal/cleanable/cobweb,/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/plating,/area/maintenance/locker) @@ -3349,37 +3349,37 @@ "bmu" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/maintenance/locker) "bmv" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/maintenance/locker) "bmw" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "floorgrime"},/area/quartermaster/storage) -"bmx" = (/obj/machinery/conveyor{dir = 5; id = "garbage"},/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor/plating,/area/maintenance/disposal) +"bmx" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/locker) "bmy" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor{icon_state = "floorgrime"},/area/quartermaster/storage) "bmz" = (/obj/structure/disposalpipe/sortjunction/untagged{dir = 1},/turf/simulated/floor{icon_state = "floorgrime"},/area/quartermaster/storage) "bmA" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/wall,/area/quartermaster/office) "bmB" = (/obj/machinery/light{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{dir = 8; icon_state = "brown"},/area/quartermaster/office) "bmC" = (/obj/item/weapon/stool,/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/reception) "bmD" = (/obj/structure/table/reinforced,/turf/simulated/floor{icon_state = "arrival"; dir = 4},/area/quartermaster/office) -"bmE" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/plating,/area/maintenance/locker) -"bmF" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/maintenance/locker) +"bmE" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/decal/cleanable/blood/oil/streak{amount = 0},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/maintenance/locker) +"bmF" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/camera/network/civilian_west{c_tag = "Locker Room Toilets"; dir = 8},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/locker/locker_toilet) "bmG" = (/turf/simulated/wall/r_wall,/area/maintenance/substation/command) -"bmH" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/locker) +"bmH" = (/obj/machinery/door/window{dir = 2; name = "AI Core Door"; req_access = list(109)},/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/cyan{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/flasher{id = "AI"; pixel_x = 22; pixel_y = 24},/obj/machinery/turretid/stun{check_synth = 1; name = "AI Chamber turret control"; pixel_x = 36; pixel_y = 24},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) "bmI" = (/obj/machinery/light/small{dir = 8},/obj/machinery/porta_turret{dir = 4},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) "bmJ" = (/obj/structure/cable/cyan{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai) "bmK" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) "bmL" = (/obj/machinery/ai_slipper{icon_state = "motion0"},/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/cyan{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/cyan{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai) "bmM" = (/obj/structure/cable/cyan{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai) -"bmN" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/decal/cleanable/blood/oil/streak{amount = 0},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/maintenance/locker) +"bmN" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/light/small{dir = 1},/obj/structure/cable/cyan{d2 = 4; icon_state = "0-4"},/obj/machinery/power/apc/super/equipment{dir = 1; name = "north bump"; pixel_y = 24},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) "bmO" = (/obj/machinery/requests_console{announcementConsole = 1; department = "Captain's Desk"; departmentType = 5; name = "Captain RC"; pixel_x = -30; pixel_y = 0},/obj/structure/filingcabinet,/turf/simulated/floor/wood,/area/crew_quarters/captain) "bmP" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/bed/chair/wheelchair,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/medical/exam_room) "bmQ" = (/obj/machinery/computer/communications,/turf/simulated/floor/wood,/area/crew_quarters/captain) "bmR" = (/obj/structure/table/woodentable,/obj/item/device/eftpos{eftpos_name = "Captain EFTPOS scanner"},/turf/simulated/floor/wood,/area/crew_quarters/captain) "bmS" = (/obj/structure/table/woodentable,/obj/item/weapon/melee/chainofcommand,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/wood,/area/crew_quarters/captain) "bmT" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/dropper,/obj/machinery/light{dir = 8},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) -"bmU" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/camera/network/civilian_west{c_tag = "Locker Room Toilets"; dir = 8},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/locker/locker_toilet) -"bmV" = (/obj/machinery/door/window{dir = 2; name = "AI Core Door"; req_access = list(109)},/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/cyan{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/flasher{id = "AI"; pixel_x = 22; pixel_y = 24},/obj/machinery/turretid/stun{check_synth = 1; name = "AI Chamber turret control"; pixel_x = 36; pixel_y = 24},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) +"bmU" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Morgue"; req_access = list(6)},/turf/simulated/floor,/area/hallway/primary/starboard) +"bmV" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_one_access = list(5,12,47)},/turf/simulated/floor/plating,/area/hallway/primary/starboard) "bmW" = (/obj/structure/table/reinforced,/obj/item/stack/sheet/mineral/phoron,/obj/item/stack/sheet/mineral/phoron,/obj/item/stack/sheet/mineral/phoron,/obj/item/stack/sheet/mineral/phoron,/obj/item/stack/sheet/mineral/phoron,/obj/item/stack/sheet/mineral/phoron,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) "bmX" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/structure/table/reinforced,/obj/machinery/door_control{id = "chemcounter"; name = "Pharmacy Counter Lockdown Control"; pixel_y = 25},/obj/machinery/reagentgrinder,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) "bmY" = (/obj/structure/sign/chemistry,/turf/simulated/wall/r_wall,/area/medical/chemistry) "bmZ" = (/obj/structure/reagent_dispensers/water_cooler,/obj/machinery/computer/security/telescreen/entertainment{pixel_x = 0; pixel_y = 32},/turf/simulated/floor{tag = "icon-whiteblue (NORTHWEST)"; icon_state = "whiteblue"; dir = 9},/area/medical/reception) "bna" = (/obj/structure/table,/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/item/weapon/storage/box/cups{pixel_x = 0; pixel_y = 0},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/reception) -"bnb" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/light/small{dir = 1},/obj/structure/cable/cyan{d2 = 4; icon_state = "0-4"},/obj/machinery/power/apc/super/equipment{dir = 1; name = "north bump"; pixel_y = 24},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) +"bnb" = (/obj/machinery/door/airlock/maintenance{name = "Maintenance Access"; req_access = list(12)},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hallway/secondary/exit) "bnc" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Substation - Command"},/turf/simulated/floor/plating,/area/maintenance/substation/command) "bnd" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{dir = 1; icon_state = "whitebluecorner"; tag = "icon-whitebluecorner"},/area/medical/reception) "bne" = (/turf/simulated/floor{dir = 4; icon_state = "whitebluecorner"; tag = "icon-whitebluecorner"},/area/medical/reception) @@ -3396,11 +3396,11 @@ "bnp" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/medical/morgue) "bnq" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/medical/morgue) "bnr" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/medical/morgue) -"bns" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Morgue"; req_access = list(6)},/turf/simulated/floor,/area/hallway/primary/starboard) +"bns" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/locker) "bnt" = (/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/medical/morgue) "bnu" = (/obj/structure/morgue{tag = "icon-morgue1 (WEST)"; icon_state = "morgue1"; dir = 8},/turf/simulated/floor{dir = 5; icon_state = "blue"},/area/medical/morgue) "bnv" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) -"bnw" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_one_access = list(5,12,47)},/turf/simulated/floor/plating,/area/hallway/primary/starboard) +"bnw" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/locker) "bnx" = (/obj/machinery/door/blast/regular{id = "mixvent"; name = "Mixer Room Vent"},/turf/simulated/floor/engine/vacuum,/area/rnd/mixing) "bny" = (/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/assembly/chargebay) "bnz" = (/obj/machinery/computer/rdconsole/robotics,/obj/machinery/alarm{pixel_y = 25},/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) @@ -3417,15 +3417,15 @@ "bnK" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/storage/emergency) "bnL" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor/plating,/area/storage/emergency) "bnM" = (/turf/simulated/wall,/area/storage/emergency) -"bnN" = (/obj/machinery/door/airlock/maintenance{name = "Maintenance Access"; req_access = list(12)},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hallway/secondary/exit) +"bnN" = (/obj/machinery/door_control{id = "qm_warehouse"; name = "Warehouse Door Control"; pixel_x = -1; pixel_y = -24; req_access = list(31)},/turf/simulated/floor{icon_state = "floorgrime"},/area/quartermaster/storage) "bnO" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/hallway/secondary/entry/aft) -"bnP" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/locker) +"bnP" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/window{base_state = "right"; dir = 8; icon_state = "right"; name = "Mailing Room"; req_access = list(50)},/turf/simulated/floor{icon_state = "bot"},/area/hallway/primary/central_one) "bnQ" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor,/area/hallway/secondary/entry/aft) -"bnR" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/locker) -"bnS" = (/obj/machinery/door_control{id = "qm_warehouse"; name = "Warehouse Door Control"; pixel_x = -1; pixel_y = -24; req_access = list(31)},/turf/simulated/floor{icon_state = "floorgrime"},/area/quartermaster/storage) +"bnR" = (/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/sign/securearea{desc = "A warning sign which reads 'MOVING PARTS'."; name = "\improper MOVING PARTS"; pixel_x = 0; pixel_y = -32},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplatecorner"},/area/maintenance/locker) +"bnS" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/camera/network/exodus{c_tag = "Primary Hallway Central - West"; dir = 8},/turf/simulated/floor{icon_state = "bluecorner"},/area/hallway/primary/central_one) "bnT" = (/obj/machinery/conveyor_switch/oneway{convdir = -1; id = "garbage"; name = "disposal coveyor"},/turf/simulated/floor/plating,/area/maintenance/disposal) -"bnU" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/window{base_state = "right"; dir = 8; icon_state = "right"; name = "Mailing Room"; req_access = list(50)},/turf/simulated/floor{icon_state = "bot"},/area/hallway/primary/central_one) -"bnV" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/camera/network/exodus{c_tag = "Primary Hallway Central - West"; dir = 8},/turf/simulated/floor{icon_state = "bluecorner"},/area/hallway/primary/central_one) +"bnU" = (/obj/structure/table,/obj/machinery/photocopier/faxmachine{anchored = 1; department = "Vacant Office"},/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/machinery/status_display{pixel_x = 32},/turf/simulated/floor,/area/security/vacantoffice) +"bnV" = (/obj/structure/lattice,/obj/structure/grille,/obj/structure/sign/securearea{desc = "A warning sign which reads 'KEEP CLEAR OF DOCKING AREA'."; name = "KEEP CLEAR: DOCKING AREA"; pixel_y = 0},/turf/space,/area/space) "bnW" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/command{name = "Conference Room"; req_access = list(19)},/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/door/firedoor/border_only,/turf/simulated/floor,/area/bridge/meeting_room) "bnX" = (/obj/structure/bed/chair/comfy/brown{dir = 4},/obj/effect/landmark/start{name = "Captain"},/obj/machinery/door_control{desc = "A remote control-switch for the office door."; id = "captaindoor"; name = "Office Door Control"; normaldoorcontrol = 1; pixel_x = 15; pixel_y = 30; req_access = list(20)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door_control{desc = "A remote control-switch for the starboard bridge doors."; id = "sbridgedoor"; name = "Bridge Door Control"; normaldoorcontrol = 1; pixel_x = 15; pixel_y = 39; req_access = list(20)},/turf/simulated/floor/wood,/area/crew_quarters/captain) "bnY" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/maintenance/locker) @@ -3520,14 +3520,14 @@ "bpJ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/hallway/secondary/entry/aft) "bpK" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor,/area/hallway/secondary/entry/aft) "bpL" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "specops_dock_airlock"; name = "exterior access button"; pixel_x = -5; pixel_y = 25; req_one_access = list(13)},/turf/space,/area/space) -"bpM" = (/obj/structure/closet/emcloset,/obj/machinery/camera/network/exodus{c_tag = "Arrivals Auxiliary Docking South"},/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/hallway/secondary/entry/aft) -"bpN" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/maintenance/disposal) +"bpM" = (/obj/machinery/vending/hydronutrients{categories = 3},/turf/simulated/floor{icon_state = "hydrofloor"},/area/rnd/xenobiology/xenoflora) +"bpN" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor,/area/hallway/primary/central_three) "bpO" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/cable/cyan,/turf/simulated/floor/plating,/area/turret_protected/ai_upload) -"bpP" = (/obj/machinery/conveyor{dir = 1; id = "garbage"},/obj/structure/sign/vacuum{pixel_x = -32},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/maintenance/disposal) +"bpP" = (/obj/machinery/hologram/holopad,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/hallway/primary/central_three) "bpQ" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_x = 0; pixel_y = -29},/obj/machinery/light/small,/turf/simulated/floor/plating,/area/maintenance/disposal) "bpR" = (/obj/machinery/light_switch{pixel_y = -25},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/maintenance/disposal) -"bpS" = (/obj/item/trash/candy,/obj/item/trash/popcorn,/turf/simulated/floor/plating,/area/maintenance/disposal) -"bpT" = (/obj/effect/decal/cleanable/blood/oil,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/turf/simulated/floor/plating,/area/maintenance/disposal) +"bpS" = (/obj/structure/closet/emcloset,/obj/machinery/camera/network/exodus{c_tag = "Arrivals Auxiliary Docking South"},/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/hallway/secondary/entry/aft) +"bpT" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor,/area/hallway/primary/central_three) "bpU" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/maintenance/locker) "bpV" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/plating,/area/maintenance/locker) "bpW" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/locker) @@ -3536,11 +3536,11 @@ "bpZ" = (/obj/structure/table,/obj/item/clothing/head/soft,/obj/item/weapon/stamp{pixel_x = -3; pixel_y = 3},/obj/item/clothing/head/soft,/turf/simulated/floor,/area/quartermaster/storage) "bqa" = (/obj/structure/table,/obj/item/weapon/hand_labeler,/obj/machinery/requests_console{department = "Cargo Bay"; departmentType = 2; pixel_x = 0; pixel_y = 30},/obj/item/weapon/stamp{pixel_x = -3; pixel_y = 3},/obj/item/weapon/hand_labeler,/turf/simulated/floor,/area/quartermaster/storage) "bqb" = (/obj/structure/table,/obj/machinery/cell_charger,/obj/item/device/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_y = 20},/turf/simulated/floor,/area/quartermaster/storage) -"bqc" = (/obj/machinery/alarm{pixel_y = 23},/obj/item/weapon/cigbutt,/turf/simulated/floor/plating,/area/maintenance/disposal) +"bqc" = (/obj/machinery/light/small{dir = 8},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/locker) "bqd" = (/obj/structure/closet/secure_closet/cargotech,/turf/simulated/floor,/area/quartermaster/storage) "bqe" = (/obj/machinery/light{dir = 1},/obj/machinery/alarm{dir = 2; pixel_y = 24},/turf/simulated/floor,/area/quartermaster/storage) "bqf" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/quartermaster/storage) -"bqg" = (/obj/machinery/light/small{dir = 8},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/locker) +"bqg" = (/obj/effect/decal/cleanable/generic,/obj/item/weapon/shard{icon_state = "medium"},/turf/simulated/floor/plating,/area/maintenance/locker) "bqh" = (/obj/structure/sign/poster{pixel_x = 0; pixel_y = 0},/turf/simulated/wall,/area/quartermaster/storage) "bqi" = (/obj/machinery/photocopier,/turf/simulated/floor,/area/quartermaster/office) "bqj" = (/obj/structure/disposalpipe/sortjunction{dir = 1; name = "Sorting Office"; sortType = "Sorting Office"},/turf/simulated/floor,/area/quartermaster/office) @@ -3552,16 +3552,16 @@ "bqp" = (/turf/simulated/floor/plating/airless,/area/rnd/xenobiology) "bqq" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/extinguisher,/obj/item/weapon/extinguisher,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/plating,/area/maintenance/substation/command) "bqr" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/substation/command) -"bqs" = (/obj/effect/decal/cleanable/generic,/obj/item/weapon/shard{icon_state = "medium"},/turf/simulated/floor/plating,/area/maintenance/locker) +"bqs" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload_foyer) "bqt" = (/obj/machinery/door/window/eastleft{name = "Mail"; req_access = list(50)},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor{icon_state = "delivery"},/area/quartermaster/office) "bqu" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating/airless,/area/rnd/xenobiology) "bqv" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor/plating,/area/maintenance/substation/command) "bqw" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/green,/turf/simulated/floor/carpet,/area/crew_quarters/captain) -"bqx" = (/obj/structure/extinguisher_cabinet{pixel_x = 25; pixel_y = 0},/turf/simulated/floor{icon_state = "bluecorner"},/area/hallway/primary/central_one) -"bqy" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/obj/machinery/door/window/eastright{dir = 8; name = "Chemistry Desk"; req_access = list(33)},/obj/machinery/door/blast/shutters{density = 0; dir = 4; icon_state = "shutter0"; id = "chemcounter"; name = "Pharmacy Counter Shutters"; opacity = 0},/obj/structure/table/reinforced,/turf/simulated/floor{icon_state = "yellowfull"; dir = 8},/area/medical/chemistry) +"bqx" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/structure/cable/cyan{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/cyan{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/camera/network/command{c_tag = "AI - Upload Foyer"; dir = 1},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload_foyer) +"bqy" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload_foyer) "bqz" = (/obj/structure/table/rack,/obj/item/weapon/tank/jetpack/oxygen,/obj/item/clothing/mask/gas,/obj/item/clothing/suit/armor/captain,/obj/item/clothing/head/helmet/space/capspace,/obj/machinery/newscaster/security_unit{pixel_x = -32; pixel_y = 0},/turf/simulated/floor/wood,/area/crew_quarters/captain) "bqA" = (/obj/machinery/keycard_auth{pixel_x = 0; pixel_y = -24},/turf/simulated/floor/wood,/area/crew_quarters/captain) -"bqB" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/camera/network/research{c_tag = "Research - Robotics"},/turf/simulated/floor{dir = 4; icon_state = "whiteredcorner"},/area/assembly/robotics) +"bqB" = (/obj/structure/extinguisher_cabinet{pixel_x = 25; pixel_y = 0},/turf/simulated/floor{icon_state = "bluecorner"},/area/hallway/primary/central_one) "bqC" = (/obj/machinery/light,/turf/simulated/floor/wood,/area/crew_quarters/captain) "bqD" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/wood,/area/crew_quarters/captain) "bqE" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/wood,/area/crew_quarters/captain) @@ -3570,13 +3570,13 @@ "bqH" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/beakers,/obj/item/weapon/storage/box/beakers,/obj/item/weapon/reagent_containers/dropper,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) "bqI" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) "bqJ" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) -"bqK" = (/obj/structure/filingcabinet/chestdrawer,/obj/structure/extinguisher_cabinet{pixel_x = 25; pixel_y = 0},/turf/simulated/floor{dir = 1; icon_state = "whitered"},/area/assembly/robotics) +"bqK" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/obj/machinery/door/window/eastright{dir = 8; name = "Chemistry Desk"; req_access = list(33)},/obj/machinery/door/blast/shutters{density = 0; dir = 4; icon_state = "shutter0"; id = "chemcounter"; name = "Pharmacy Counter Shutters"; opacity = 0},/obj/structure/table/reinforced,/turf/simulated/floor{icon_state = "yellowfull"; dir = 8},/area/medical/chemistry) "bqL" = (/turf/simulated/wall/r_wall,/area/medical/chemistry) "bqM" = (/obj/structure/bed,/obj/item/weapon/bedsheet/captain,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/carpet,/area/crew_quarters/captain) "bqN" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/medical/reception) "bqO" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/medical/reception) "bqP" = (/turf/simulated/floor{dir = 4; icon_state = "whiteblue_ex"; tag = "icon-whiteblue (EAST)"},/area/medical/reception) -"bqQ" = (/obj/machinery/door/airlock/research{id_tag = "researchdoor"; name = "Research Division Access"; req_access = list(47)},/turf/simulated/floor{icon_state = "white"},/area/hallway/primary/starboard) +"bqQ" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/camera/network/research{c_tag = "Research - Robotics"},/turf/simulated/floor{dir = 4; icon_state = "whiteredcorner"},/area/assembly/robotics) "bqR" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/medical/exam_room) "bqS" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/medical/exam_room) "bqT" = (/obj/structure/table,/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000; pixel_x = 5; pixel_y = -5},/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) @@ -3588,7 +3588,7 @@ "bqZ" = (/turf/simulated/floor/bluegrid,/area/assembly/chargebay) "bra" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor,/area/assembly/chargebay) "brb" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/assembly/chargebay) -"brc" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/camera/network/research{c_tag = "Research - R&D Lab"},/turf/simulated/floor{dir = 1; icon_state = "whitepurplecorner"},/area/rnd/lab) +"brc" = (/obj/structure/filingcabinet/chestdrawer,/obj/structure/extinguisher_cabinet{pixel_x = 25; pixel_y = 0},/turf/simulated/floor{dir = 1; icon_state = "whitered"},/area/assembly/robotics) "brd" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) "bre" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) "brf" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) @@ -3596,7 +3596,7 @@ "brh" = (/turf/simulated/wall/r_wall,/area/assembly/robotics) "bri" = (/obj/structure/closet/emcloset,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor{dir = 9; icon_state = "warnwhite"},/area/rnd/research) "brj" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor{icon_state = "white"},/area/rnd/research) -"brk" = (/obj/structure/extinguisher_cabinet{pixel_x = 25; pixel_y = 0},/turf/simulated/floor,/area/hallway/secondary/entry/aft) +"brk" = (/obj/machinery/door/airlock/research{id_tag = "researchdoor"; name = "Research Division Access"; req_access = list(47)},/turf/simulated/floor{icon_state = "white"},/area/hallway/primary/starboard) "brl" = (/obj/machinery/requests_console{department = "Science"; departmentType = 2; name = "Science Requests Console"; pixel_x = -30; pixel_y = 0},/turf/simulated/floor{icon_state = "white"},/area/rnd/lab) "brm" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/lab) "brn" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor{icon_state = "white"},/area/rnd/lab) @@ -3606,15 +3606,15 @@ "brr" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/storage/emergency) "brs" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/hallway/secondary/entry/aft) "brt" = (/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1380; id_tag = "admin_shuttle_dock_pump"},/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/hallway/secondary/entry/aft) -"bru" = (/obj/machinery/conveyor{dir = 1; id = "garbage"},/obj/machinery/door/blast/regular{density = 1; icon_state = "pdoor1"; id = "Disposal Exit"; name = "Disposal Exit Vent"; opacity = 1},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/maintenance/disposal) -"brv" = (/obj/item/weapon/cigbutt{pixel_x = -10; pixel_y = -10},/turf/simulated/floor/plating,/area/maintenance/disposal) -"brw" = (/obj/machinery/door_control{id = "Disposal Exit"; name = "Disposal Vent Control"; pixel_x = -25; pixel_y = 4; req_access = list(12)},/obj/machinery/button/driver{id = "trash"; pixel_x = -26; pixel_y = -6},/obj/item/weapon/cigbutt,/obj/item/weapon/stool,/turf/simulated/floor/plating,/area/maintenance/disposal) -"brx" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/locker) -"bry" = (/obj/machinery/door/airlock/maintenance{name = "Disposal Access"; req_access = list(12)},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/sign/nosmoking_1{pixel_y = 32},/turf/simulated/floor/plating,/area/maintenance/disposal) +"bru" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/camera/network/research{c_tag = "Research - R&D Lab"},/turf/simulated/floor{dir = 1; icon_state = "whitepurplecorner"},/area/rnd/lab) +"brv" = (/obj/structure/extinguisher_cabinet{pixel_x = 25; pixel_y = 0},/turf/simulated/floor,/area/hallway/secondary/entry/aft) +"brw" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/locker) +"brx" = (/obj/machinery/door/airlock/highsecurity{icon_state = "door_closed"; locked = 0; name = "AI Upload Access"; req_access = list(16)},/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_cyborg_station) +"bry" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/locker) "brz" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/turf/simulated/floor,/area/hallway/secondary/entry/aft) "brA" = (/turf/simulated/floor,/area/hallway/secondary/entry/aft) "brB" = (/obj/machinery/sparker{dir = 2; id = "mixingsparker"; pixel_x = 25},/obj/machinery/atmospherics/unary/vent_pump{dir = 4; external_pressure_bound = 0; external_pressure_bound_default = 0; icon_state = "map_vent_in"; initialize_directions = 1; internal_pressure_bound = 4000; internal_pressure_bound_default = 4000; use_power = 1; pressure_checks = 2; pressure_checks_default = 2; pump_direction = 0},/turf/simulated/floor/engine/vacuum,/area/rnd/mixing) -"brC" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/locker) +"brC" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/structure/cable/cyan{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_cyborg_station) "brD" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/locker) "brE" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/locker) "brF" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/maintenance/locker) @@ -3649,29 +3649,29 @@ "bsi" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/cable/cyan{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/turret_protected/ai_upload) "bsj" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/vault/bolted{name = "AI core"; req_access = list(16)},/obj/machinery/door/blast/regular{id = "AICore"; name = "AI core maintenance hatch"},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) "bsk" = (/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload) -"bsl" = (/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"; name = "Captain's Desk Door"; req_access = list(20)},/turf/simulated/floor/wood,/area/crew_quarters/captain) +"bsl" = (/obj/structure/closet/crate{name = "Camera Assembly Crate"},/obj/item/weapon/camera_assembly,/obj/item/weapon/camera_assembly,/obj/item/weapon/camera_assembly,/obj/item/weapon/camera_assembly,/obj/item/device/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_y = 20},/turf/simulated/floor/bluegrid,/area/turret_protected/ai_cyborg_station) "bsm" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/flasher{id = "AI"; pixel_x = -22; pixel_y = 24},/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload) -"bsn" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/airlock/medical{name = "Examination room"; req_access = list(5)},/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/exam_room) -"bso" = (/obj/machinery/hologram/holopad,/turf/simulated/floor,/area/medical/morgue) +"bsn" = (/obj/item/device/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_y = 20},/turf/simulated/floor/bluegrid,/area/turret_protected/ai_server_room) +"bso" = (/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"; name = "Captain's Desk Door"; req_access = list(20)},/turf/simulated/floor/wood,/area/crew_quarters/captain) "bsp" = (/turf/simulated/wall,/area/crew_quarters/captain) -"bsq" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "hazard door east"},/obj/machinery/door/airlock/glass_research{name = "Robotics Lab"; req_access = list(29)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) -"bsr" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/machinery/camera/network/research{c_tag = "Research Division Access"},/turf/simulated/floor{icon_state = "warnwhite"; dir = 5},/area/rnd/research) +"bsq" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/airlock/medical{name = "Examination room"; req_access = list(5)},/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/exam_room) +"bsr" = (/obj/machinery/hologram/holopad,/turf/simulated/floor,/area/medical/morgue) "bss" = (/obj/structure/extinguisher_cabinet{pixel_x = -27; pixel_y = 1},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/hallway/primary/central_two) "bst" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) "bsu" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) -"bsv" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/obj/structure/extinguisher_cabinet{pixel_x = 25; pixel_y = 0},/turf/simulated/floor{icon_state = "white"},/area/rnd/lab) +"bsv" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "hazard door east"},/obj/machinery/door/airlock/glass_research{name = "Robotics Lab"; req_access = list(29)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) "bsw" = (/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/medical/reception) "bsx" = (/obj/structure/table,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/item/weapon/storage/box/cups,/obj/item/weapon/storage/box/cups{pixel_x = 2; pixel_y = 5},/turf/simulated/floor{dir = 9; icon_state = "blue"},/area/medical/reception) -"bsy" = (/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1380; id_tag = "admin_shuttle_dock_airlock"; pixel_x = 0; pixel_y = 30; req_one_access = list(13); tag_airpump = "admin_shuttle_dock_pump"; tag_chamber_sensor = "admin_shuttle_dock_sensor"; tag_exterior_door = "admin_shuttle_dock_outer"; tag_interior_door = "admin_shuttle_dock_inner"},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/hallway/secondary/entry/aft) +"bsy" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/machinery/camera/network/research{c_tag = "Research Division Access"},/turf/simulated/floor{icon_state = "warnwhite"; dir = 5},/area/rnd/research) "bsz" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/table,/obj/machinery/computer/med_data/laptop,/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/medical/reception) "bsA" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/table,/obj/item/weapon/paper_bin,/obj/item/weapon/folder/white,/obj/item/weapon/pen,/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/medical/reception) -"bsB" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "admin_shuttle_dock_airlock"; name = "interior access button"; pixel_x = -8; pixel_y = 25; req_one_access = list(13)},/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/hallway/secondary/entry/aft) +"bsB" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/obj/structure/extinguisher_cabinet{pixel_x = 25; pixel_y = 0},/turf/simulated/floor{icon_state = "white"},/area/rnd/lab) "bsC" = (/obj/structure/filingcabinet/chestdrawer{name = "Medical Forms"},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor{dir = 5; icon_state = "blue"},/area/medical/reception) "bsD" = (/obj/item/device/radio/intercom{freerange = 1; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 30},/turf/simulated/floor{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/medical/reception) "bsE" = (/obj/structure/table,/obj/structure/closet/secure_closet/medical_wall{name = "Pill Cabinet"; pixel_y = -32},/obj/item/weapon/reagent_containers/syringe/antiviral,/obj/item/weapon/storage/pill_bottle/antitox,/obj/item/weapon/storage/pill_bottle/tramadol,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/medical/exam_room) "bsF" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/medical/exam_room) "bsG" = (/obj/structure/table,/obj/item/weapon/cane,/obj/item/weapon/cane{pixel_x = -3; pixel_y = 2},/obj/item/weapon/cane{pixel_x = -6; pixel_y = 4},/obj/item/weapon/storage/box/rxglasses,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/medical/exam_room) -"bsH" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "admin_shuttle_dock_inner"; locked = 1; name = "Docking Port Airlock"; req_access = list(13)},/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor/plating,/area/hallway/secondary/entry/aft) +"bsH" = (/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1380; id_tag = "admin_shuttle_dock_airlock"; pixel_x = 0; pixel_y = 30; req_one_access = list(13); tag_airpump = "admin_shuttle_dock_pump"; tag_chamber_sensor = "admin_shuttle_dock_sensor"; tag_exterior_door = "admin_shuttle_dock_outer"; tag_interior_door = "admin_shuttle_dock_inner"},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/hallway/secondary/entry/aft) "bsI" = (/obj/structure/table,/obj/item/weapon/storage/box/bodybags,/obj/item/weapon/storage/box/bodybags,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/medical/morgue) "bsJ" = (/obj/machinery/mech_bay_recharge_port,/turf/simulated/floor/plating,/area/assembly/chargebay) "bsK" = (/turf/simulated/floor/mech_bay_recharge_floor,/area/assembly/chargebay) @@ -3697,12 +3697,12 @@ "bte" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/tank/oxygen,/obj/item/weapon/storage/belt/utility,/obj/item/clothing/mask/breath,/turf/simulated/floor/plating,/area/storage/emergency) "btf" = (/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "admin_shuttle_dock_sensor"; pixel_x = -30; pixel_y = 8},/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/hallway/secondary/entry/aft) "btg" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "admin_shuttle_dock_pump"},/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/hallway/secondary/entry/aft) -"bth" = (/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/hallway/secondary/entry/aft) +"bth" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "admin_shuttle_dock_airlock"; name = "interior access button"; pixel_x = -8; pixel_y = 25; req_one_access = list(13)},/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/hallway/secondary/entry/aft) "bti" = (/turf/simulated/floor{icon_state = "warning"},/area/hallway/secondary/entry/aft) "btj" = (/obj/machinery/light,/turf/simulated/floor{icon_state = "warning"},/area/hallway/secondary/entry/aft) "btk" = (/obj/machinery/disposal/deliveryChute{dir = 1; name = "disposal inlet"},/obj/structure/disposalpipe/trunk{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/maintenance/disposal) -"btl" = (/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor{icon_state = "warningcorner"; dir = 4},/area/hallway/secondary/entry/aft) -"btm" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/maintenance/disposal) +"btl" = (/obj/machinery/door/airlock/highsecurity{icon_state = "door_closed"; locked = 0; name = "AI Upload Access"; req_access = list(16)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_server_room) +"btm" = (/obj/structure/cable/cyan{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_server_room) "btn" = (/turf/space,/area/supply/station) "bto" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/quartermaster/storage) "btp" = (/obj/machinery/status_display{density = 0; pixel_x = 0; pixel_y = 32},/obj/structure/closet/emcloset,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/quartermaster/storage) @@ -3711,35 +3711,35 @@ "bts" = (/obj/machinery/light{dir = 1},/obj/machinery/firealarm{pixel_y = 27},/turf/simulated/floor,/area/quartermaster/storage) "btt" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/quartermaster/storage) "btu" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/quartermaster/storage) -"btv" = (/obj/machinery/camera/network/civilian_west{c_tag = "Waste Disposal"; dir = 8},/obj/item/ashtray/plastic{pixel_x = 5; pixel_y = -5},/obj/effect/decal/cleanable/ash,/obj/item/weapon/cigbutt/cigarbutt,/turf/simulated/floor/plating,/area/maintenance/disposal) +"btv" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "admin_shuttle_dock_inner"; locked = 1; name = "Docking Port Airlock"; req_access = list(13)},/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor/plating,/area/hallway/secondary/entry/aft) "btw" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor{dir = 8; icon_state = "brown"},/area/quartermaster/office) "btx" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor,/area/quartermaster/office) "bty" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/quartermaster/office) "btz" = (/obj/machinery/status_display/supply_display,/turf/simulated/wall,/area/quartermaster/office) "btA" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/quartermaster/office) -"btB" = (/obj/structure/table,/obj/item/weapon/deck{pixel_y = 4},/turf/simulated/floor/plating,/area/maintenance/disposal) +"btB" = (/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/hallway/secondary/entry/aft) "btC" = (/turf/simulated/wall,/area/hallway/primary/central_three) "btD" = (/obj/machinery/light{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor{dir = 8; icon_state = "browncorner"},/area/hallway/primary/central_three) "btE" = (/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/cable{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,/area/hallway/primary/central_three) "btF" = (/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor,/area/hallway/primary/central_three) "btG" = (/turf/simulated/wall/r_wall,/area/hallway/primary/central_three) "btH" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/tank/emergency_oxygen,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/plating,/area/maintenance/substation/command) -"btI" = (/obj/machinery/door/airlock/maintenance{name = "Cargo Bay Maintenance"; req_access = list(31)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/quartermaster/storage) +"btI" = (/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor{icon_state = "warningcorner"; dir = 4},/area/hallway/secondary/entry/aft) "btJ" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/cable/cyan,/obj/structure/cable/cyan{d2 = 2; icon_state = "0-2"},/obj/structure/cable/cyan{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/turret_protected/ai_upload) -"btK" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/airlock/glass_mining{name = "Delivery Office"; req_access = list(50)},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/quartermaster/office) +"btK" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/structure/cable/cyan{d2 = 2; icon_state = "0-2"},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_server_room) "btL" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload) "btM" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/turret_protected/ai_upload) "btN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/cyan{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/cyan{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload) -"btO" = (/obj/structure/table,/obj/item/weapon/aiModule/asimov,/obj/item/weapon/aiModule/freeformcore,/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"; name = "Core Modules"; req_access = list(20)},/obj/structure/window/reinforced,/obj/item/weapon/aiModule/corp,/obj/item/weapon/aiModule/paladin,/obj/item/weapon/aiModule/robocop,/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload) +"btO" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/cyan{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload_foyer) "btP" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/cable/cyan{d2 = 2; icon_state = "0-2"},/obj/structure/cable/cyan{d2 = 8; icon_state = "0-8"},/obj/structure/cable/cyan,/turf/simulated/floor/plating,/area/turret_protected/ai_upload) "btQ" = (/obj/structure/displaycase,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/carpet,/area/crew_quarters/captain) "btR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/carpet,/area/crew_quarters/captain) "btS" = (/obj/machinery/light_switch{pixel_y = 28},/turf/simulated/floor/carpet,/area/crew_quarters/captain) -"btT" = (/obj/item/device/radio/intercom{broadcasting = 1; frequency = 1447; name = "Private AI Channel"; pixel_x = -5; pixel_y = 22},/obj/machinery/porta_turret,/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload) +"btT" = (/obj/machinery/turretid/stun{control_area = "\improper AI Upload Chamber"; name = "AI Upload turret control"; pixel_x = 6; pixel_y = 24},/obj/item/device/radio/intercom{broadcasting = 1; frequency = 1447; name = "Private AI Channel"; pixel_x = -12; pixel_y = 20},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload_foyer) "btU" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/structure/mirror{pixel_x = 28},/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/captain) "btV" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/visible/supply,/obj/machinery/atmospherics/pipe/simple/visible/scrubbers,/turf/simulated/floor/plating,/area/crew_quarters/captain) "btW" = (/obj/structure/disposalpipe/segment,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor,/area/hallway/primary/central_two) -"btX" = (/obj/machinery/alarm{pixel_y = 23},/obj/machinery/light{dir = 1},/obj/machinery/porta_turret,/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload) +"btX" = (/obj/machinery/door/airlock/maintenance{name = "Cargo Bay Maintenance"; req_access = list(31)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/quartermaster/storage) "btY" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/dropper,/obj/machinery/light{dir = 8},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) "btZ" = (/obj/machinery/chem_master,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) "bua" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) @@ -3750,13 +3750,13 @@ "buf" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/computer/crew,/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/medical/reception) "bug" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/quartermaster/office) "buh" = (/obj/structure/table,/obj/item/device/radio{anchored = 1; broadcasting = 0; canhear_range = 1; frequency = 1487; icon = 'icons/obj/items.dmi'; icon_state = "red_phone"; listening = 1; name = "Reception Emergency Phone"},/turf/simulated/floor,/area/medical/reception) -"bui" = (/obj/structure/table,/obj/item/weapon/aiModule/oxygen,/obj/item/weapon/aiModule/oneHuman,/obj/machinery/door/window{base_state = "left"; dir = 8; icon_state = "left"; name = "High-Risk Modules"; req_access = list(20)},/obj/item/weapon/aiModule/purge,/obj/structure/window/reinforced,/obj/item/weapon/aiModule/antimov,/obj/item/weapon/aiModule/teleporterOffline,/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload) +"bui" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/airlock/glass_mining{name = "Delivery Office"; req_access = list(50)},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/quartermaster/office) "buj" = (/obj/structure/bed/chair/office/dark{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/door_control{desc = "A remote control-switch for shutters."; id = "hop_office_desk"; name = "Desk Privacy Shutter"; pixel_x = 16; pixel_y = 28},/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/crew_quarters/heads/hop) "buk" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/filingcabinet/medical{pixel_y = 0},/turf/simulated/floor{icon_state = "blue"; dir = 4},/area/medical/reception) "bul" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{tag = "icon-whiteblue"; icon_state = "whiteblue"},/area/medical/reception) "bum" = (/obj/structure/sign/redcross{desc = "The Star of Life, a symbol of Medical Aid."; icon_state = "lifestar"; name = "Medbay"; pixel_x = 32},/turf/simulated/floor{tag = "icon-whiteblue (SOUTHEAST)"; icon_state = "whiteblue"; dir = 6},/area/medical/reception) "bun" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/medical/exam_room) -"buo" = (/obj/machinery/door/airlock/command{name = "Captain's Quarters"; req_access = list(20)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/carpet,/area/crew_quarters/captain) +"buo" = (/obj/structure/table,/obj/item/weapon/aiModule/asimov,/obj/item/weapon/aiModule/freeformcore,/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"; name = "Core Modules"; req_access = list(20)},/obj/structure/window/reinforced,/obj/item/weapon/aiModule/corp,/obj/item/weapon/aiModule/paladin,/obj/item/weapon/aiModule/robocop,/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload) "bup" = (/obj/structure/table,/obj/machinery/computer/med_data/laptop,/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = -28},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/medical/exam_room) "buq" = (/obj/structure/morgue,/turf/simulated/floor{icon_state = "blue"; dir = 10},/area/medical/morgue) "bur" = (/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 0; pixel_y = -22},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/medical/morgue) @@ -3765,7 +3765,7 @@ "buu" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/medical/morgue) "buv" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/medical/morgue) "buw" = (/obj/structure/morgue{tag = "icon-morgue1 (WEST)"; icon_state = "morgue1"; dir = 8},/turf/simulated/floor{icon_state = "blue"; dir = 6},/area/medical/morgue) -"bux" = (/obj/machinery/door/airlock/maintenance{name = "Captain's Office Maintenance"; req_access = list(20)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/visible/supply,/obj/machinery/atmospherics/pipe/simple/visible/scrubbers,/turf/simulated/floor/plating,/area/crew_quarters/captain) +"bux" = (/obj/structure/table,/obj/item/weapon/aiModule/oxygen,/obj/item/weapon/aiModule/oneHuman,/obj/machinery/door/window{base_state = "left"; dir = 8; icon_state = "left"; name = "High-Risk Modules"; req_access = list(20)},/obj/item/weapon/aiModule/purge,/obj/structure/window/reinforced,/obj/item/weapon/aiModule/antimov,/obj/item/weapon/aiModule/teleporterOffline,/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload) "buy" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/hologram/holopad,/turf/simulated/floor,/area/assembly/chargebay) "buz" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/assembly/robotics) "buA" = (/obj/structure/table,/obj/item/stack/sheet/plasteel{amount = 10},/obj/item/stack/cable_coil,/obj/item/device/flash,/obj/item/device/flash,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/assembly/robotics) @@ -3787,14 +3787,14 @@ "buQ" = (/turf/simulated/shuttle/wall{icon_state = "swall12"; dir = 2},/area/shuttle/research/station) "buR" = (/obj/structure/window/shuttle,/obj/structure/grille,/turf/simulated/shuttle/plating,/area/shuttle/research/station) "buS" = (/turf/simulated/shuttle/wall{icon_state = "swall_s10"; dir = 2},/area/shuttle/research/station) -"buT" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/syringes,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/item/weapon/screwdriver,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) -"buU" = (/obj/structure/table,/obj/machinery/door/window/northright{name = "Medbay Lobby"; req_access = list(5)},/obj/item/weapon/reagent_containers/spray/cleaner{pixel_x = -5},/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/medical/reception) +"buT" = (/obj/machinery/door/airlock/command{name = "Captain's Quarters"; req_access = list(20)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/carpet,/area/crew_quarters/captain) +"buU" = (/obj/machinery/door/airlock/maintenance{name = "Captain's Office Maintenance"; req_access = list(20)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/visible/supply,/obj/machinery/atmospherics/pipe/simple/visible/scrubbers,/turf/simulated/floor/plating,/area/crew_quarters/captain) "buV" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0; pixel_y = 0},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/hallway/secondary/entry/aft) "buW" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/hallway/secondary/entry/aft) "buX" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/hallway/secondary/entry/aft) -"buY" = (/obj/structure/table,/obj/machinery/door/window/northright{name = "Medbay Lobby"; req_access = list(5)},/obj/item/device/radio/intercom{broadcasting = 0; canhear_range = 5; freerange = 0; frequency = 1485; listening = 0; name = "Station Intercom (Medbay)"; pixel_x = 0; pixel_y = 3},/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/medical/reception) -"buZ" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_y = -10},/obj/item/weapon/folder/white{pixel_y = 0},/obj/item/weapon/pen,/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 25; pixel_y = 16},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/medical/exam_room) -"bva" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "admin_shuttle_dock_inner"; locked = 1; name = "Docking Port Airlock"; req_access = list(13)},/turf/simulated/floor/plating,/area/hallway/secondary/entry/aft) +"buY" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/cyan{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload_foyer) +"buZ" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/syringes,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/item/weapon/screwdriver,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) +"bva" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/structure/cable/cyan{d2 = 2; icon_state = "0-2"},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_cyborg_station) "bvb" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/maintenance/disposal) "bvc" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/quartermaster/storage) "bvd" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/quartermaster/storage) @@ -3803,14 +3803,14 @@ "bvg" = (/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/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/quartermaster/storage) "bvh" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/quartermaster/storage) "bvi" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/quartermaster/storage) -"bvj" = (/obj/structure/disposaloutlet{dir = 8},/obj/structure/disposalpipe/trunk{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/maintenance/disposal) +"bvj" = (/obj/structure/table,/obj/machinery/door/window/northright{name = "Medbay Lobby"; req_access = list(5)},/obj/item/weapon/reagent_containers/spray/cleaner{pixel_x = -5},/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/medical/reception) "bvk" = (/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{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "brown"},/area/quartermaster/office) "bvl" = (/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{dir = 4},/turf/simulated/floor,/area/quartermaster/office) "bvm" = (/obj/structure/disposalpipe/tagger/partial{name = "Sorting Office"; sort_tag = "Sorting Office"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor,/area/quartermaster/office) "bvn" = (/obj/item/weapon/stamp{pixel_x = -3; pixel_y = 3},/obj/item/weapon/stamp/denied{pixel_x = 4; pixel_y = -2},/obj/structure/table,/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor,/area/quartermaster/office) "bvo" = (/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/clipboard,/obj/item/weapon/pen/red{pixel_x = 2; pixel_y = 6},/obj/structure/table,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor,/area/quartermaster/office) "bvp" = (/obj/machinery/computer/ordercomp,/turf/simulated/floor,/area/quartermaster/office) -"bvq" = (/obj/machinery/mass_driver{id = "trash"},/obj/machinery/airlock_sensor{pixel_x = -25; pixel_y = 10},/turf/simulated/floor/plating/airless,/area/maintenance/disposal) +"bvq" = (/obj/structure/table,/obj/machinery/door/window/northright{name = "Medbay Lobby"; req_access = list(5)},/obj/item/device/radio/intercom{broadcasting = 0; canhear_range = 5; freerange = 0; frequency = 1485; listening = 0; name = "Station Intercom (Medbay)"; pixel_x = 0; pixel_y = 3},/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/medical/reception) "bvr" = (/obj/machinery/light/small{dir = 1},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/plating,/area/maintenance/substation/medical) "bvs" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/hallway/primary/central_three) "bvt" = (/turf/simulated/floor{dir = 8; icon_state = "browncorner"},/area/hallway/primary/central_three) @@ -3822,19 +3822,19 @@ "bvz" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/obj/machinery/recharger/wallcharger{pixel_x = 0; pixel_y = 30},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/crew_quarters/heads/hop) "bvA" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/crew_quarters/heads/hop) "bvB" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor,/area/crew_quarters/heads/hop) -"bvC" = (/obj/item/weapon/cigbutt{pixel_y = 12},/turf/simulated/floor/plating,/area/maintenance/disposal) +"bvC" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/highsecurity{icon_state = "door_closed"; locked = 0; name = "AI Upload"; req_access = list(16)},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload) "bvD" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/structure/extinguisher_cabinet{pixel_x = -5; pixel_y = 28},/turf/simulated/floor{icon_state = "bot"},/area/rnd/research) -"bvE" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/obj/machinery/door/airlock/glass_mining{name = "Cargo Bay"; req_access = list(31)},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor,/area/quartermaster/storage) -"bvF" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass_mining{name = "Delivery Office"; req_access = list(50)},/turf/simulated/floor,/area/quartermaster/office) +"bvE" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable/cyan{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload) +"bvF" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/camera/network/command{c_tag = "AI Upload"; dir = 4},/obj/machinery/ai_status_display{pixel_x = -32; pixel_y = 0},/obj/machinery/porta_turret{dir = 4},/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload) "bvG" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/maintenance/substation/command) "bvH" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload) -"bvI" = (/obj/machinery/door/airlock/command{name = "Head of Personnel"; req_access = list(57)},/obj/structure/disposalpipe/segment,/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/door/firedoor/border_only,/turf/simulated/floor,/area/maintenance/substation/command) +"bvI" = (/obj/machinery/light{dir = 4},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 32; pixel_y = 0},/obj/machinery/porta_turret{dir = 8},/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload) "bvJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload) "bvK" = (/obj/machinery/hologram/holopad,/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload) "bvL" = (/obj/structure/table,/obj/item/stack/cable_coil,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = 3},/obj/item/weapon/stock_parts/scanning_module{pixel_x = 2; pixel_y = 3},/obj/item/weapon/stock_parts/scanning_module,/obj/machinery/light_switch{pixel_x = 27},/obj/structure/reagent_dispensers/acid{density = 0; pixel_y = -32},/turf/simulated/floor{icon_state = "white"},/area/rnd/lab) "bvM" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload) "bvN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload) -"bvO" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/computer/borgupload,/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload) +"bvO" = (/obj/item/device/radio/intercom{broadcasting = 1; frequency = 1447; name = "Private AI Channel"; pixel_x = 0; pixel_y = -27},/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload) "bvP" = (/obj/structure/grille,/obj/structure/cable/green,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/window/reinforced/polarized{dir = 4},/obj/structure/window/reinforced/polarized{dir = 1},/obj/structure/window/reinforced/polarized{dir = 8},/turf/simulated/floor/plating,/area/crew_quarters/heads/hop) "bvQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/carpet,/area/crew_quarters/captain) "bvR" = (/obj/structure/toilet{dir = 4},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/captain) @@ -3845,21 +3845,21 @@ "bvW" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/medical/chemistry) "bvX" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/medical/chemistry) "bvY" = (/obj/machinery/smartfridge/secure/medbay,/turf/simulated/wall,/area/medical/chemistry) -"bvZ" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/computer/aiupload,/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload) +"bvZ" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_y = -10},/obj/item/weapon/folder/white{pixel_y = 0},/obj/item/weapon/pen,/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 25; pixel_y = 16},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/medical/exam_room) "bwa" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/shutters{density = 0; dir = 4; icon_state = "shutter0"; id = "scanhideside"; name = "Diagnostics Room Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/medbay4) "bwb" = (/obj/structure/table,/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/obj/item/weapon/reagent_containers/glass/bottle/stoxin{pixel_x = -6; pixel_y = 10},/obj/item/weapon/reagent_containers/glass/bottle/antitoxin{pixel_x = 5; pixel_y = 5},/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline{pixel_x = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/random/medical,/turf/simulated/floor{dir = 8; icon_state = "whiteyellow"},/area/medical/chemistry) -"bwc" = (/obj/machinery/door/airlock{name = "Private Restroom"},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/captain) +"bwc" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "admin_shuttle_dock_inner"; locked = 1; name = "Docking Port Airlock"; req_access = list(13)},/turf/simulated/floor/plating,/area/hallway/secondary/entry/aft) "bwd" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor,/area/medical/reception) "bwe" = (/turf/simulated/floor,/area/medical/reception) "bwf" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor,/area/medical/reception) -"bwg" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/camera/network/exodus{c_tag = "Primary Hallway Central - East Southwest"; dir = 8},/turf/simulated/floor,/area/hallway/primary/central_two) +"bwg" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/obj/machinery/door/airlock/glass_mining{name = "Cargo Bay"; req_access = list(31)},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor,/area/quartermaster/storage) "bwh" = (/obj/machinery/door/blast/regular{id = "toxinsdriver"; name = "Toxins Launcher Bay Door"},/turf/simulated/floor/plating/airless,/area/rnd/mixing) "bwi" = (/obj/machinery/door/blast/regular{id = "toxinsdriver"; name = "Toxins Launcher Bay Door"},/turf/simulated/floor/plating/airless,/area/rnd/test_area) "bwj" = (/obj/structure/table,/obj/item/roller,/obj/item/roller{pixel_y = 8},/obj/item/roller{pixel_y = 16},/turf/simulated/floor,/area/medical/reception) "bwk" = (/turf/simulated/wall,/area/medical/medbay2) -"bwl" = (/obj/machinery/door_control{desc = "A remote control switch for the medbay foyer."; id = "MedbayFoyerPort"; name = "Medbay Doors Control"; normaldoorcontrol = 1; pixel_x = -16; pixel_y = 28},/obj/structure/bed/chair/office/dark{dir = 1},/obj/effect/landmark/start{name = "Medical Doctor"},/turf/simulated/floor{tag = "icon-vault (NORTH)"; icon_state = "vault"; dir = 1},/area/medical/reception) +"bwl" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass_mining{name = "Delivery Office"; req_access = list(50)},/turf/simulated/floor,/area/quartermaster/office) "bwm" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/medical/medbay2) -"bwn" = (/obj/structure/table,/obj/machinery/door_control{id = "medbayrecquar"; name = "Medbay Entrance Lockdown Shutters Control"; pixel_x = 6; pixel_y = 8; req_access = list(5)},/obj/item/device/radio{anchored = 1; broadcasting = 0; canhear_range = 1; frequency = 1487; icon = 'icons/obj/items.dmi'; icon_state = "red_phone"; listening = 1; name = "Reception Emergency Phone"; pixel_x = -5},/turf/simulated/floor,/area/medical/reception) +"bwn" = (/obj/machinery/door/airlock/command{name = "Head of Personnel"; req_access = list(57)},/obj/structure/disposalpipe/segment,/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/door/firedoor/border_only,/turf/simulated/floor,/area/maintenance/substation/command) "bwo" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/assembly/chargebay) "bwp" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/assembly/chargebay) "bwq" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/assembly/robotics) @@ -3869,7 +3869,7 @@ "bwu" = (/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Substation - Medical"},/obj/structure/cable/green,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/maintenance/substation/medical) "bwv" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/assembly/robotics) "bww" = (/turf/simulated/wall/r_wall,/area/rnd/research) -"bwx" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/obj/machinery/camera/network/research{c_tag = "Research - Mech Bay"; dir = 4},/turf/simulated/floor,/area/assembly/chargebay) +"bwx" = (/obj/machinery/door/airlock{name = "Private Restroom"},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/captain) "bwy" = (/obj/structure/sign/securearea,/turf/simulated/wall/r_wall,/area/rnd/research) "bwz" = (/obj/machinery/newscaster{pixel_x = -27; pixel_y = 1},/turf/simulated/floor{icon_state = "warnwhite"; dir = 1},/area/rnd/lab) "bwA" = (/turf/simulated/floor{icon_state = "warnwhite"; dir = 1},/area/rnd/lab) @@ -3897,7 +3897,7 @@ "bwW" = (/obj/structure/disposalpipe/sortjunction/flipped{dir = 1; sortType = "Cargo Bay"; name = "Cargo Bay"},/turf/simulated/floor,/area/quartermaster/office) "bwX" = (/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,/area/quartermaster/office) "bwY" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/fire{pixel_x = 5; pixel_y = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/random/firstaid,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) -"bwZ" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "admin_shuttle_dock_airlock"; name = "exterior access button"; pixel_x = 30; pixel_y = -5; req_one_access = list(13)},/turf/space,/area/space) +"bwZ" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/camera/network/exodus{c_tag = "Primary Hallway Central - East Southwest"; dir = 8},/turf/simulated/floor,/area/hallway/primary/central_two) "bxa" = (/turf/simulated/floor{icon_state = "delivery"},/area/quartermaster/office) "bxb" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/toxin{pixel_x = 5; pixel_y = 5},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/random/firstaid,/turf/simulated/floor{dir = 8; icon_state = "whiteyellowcorner"},/area/medical/chemistry) "bxc" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/hallway/primary/central_three) @@ -3910,40 +3910,40 @@ "bxj" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/carpet,/area/crew_quarters/heads/hop) "bxk" = (/turf/simulated/floor/carpet,/area/crew_quarters/heads/hop) "bxl" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/crew_quarters/heads/hop) -"bxm" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "admin_shuttle_dock_outer"; locked = 1; name = "Docking Port Airlock"; req_access = list(13)},/turf/simulated/floor/plating,/area/hallway/secondary/entry/aft) +"bxm" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload) "bxn" = (/obj/structure/table/woodentable,/obj/item/device/camera,/obj/item/weapon/storage/photo_album{pixel_y = -10},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/carpet,/area/crew_quarters/captain) "bxo" = (/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload) -"bxp" = (/obj/machinery/door/blast/regular{id = "trash"; name = "disposal mass driver"},/turf/simulated/floor/plating/airless,/area/maintenance/disposal) +"bxp" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor,/area/hallway/primary/central_three) "bxq" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green,/obj/machinery/power/sensor{name = "Powernet Sensor - Command Subgrid"; name_tag = "Command Subgrid"},/turf/simulated/floor/plating,/area/maintenance/substation/command) "bxr" = (/turf/simulated/wall/r_wall,/area/turret_protected/ai_upload) "bxs" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor,/area/maintenance/substation/command) "bxt" = (/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = -5; pixel_y = -22},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/extinguisher_cabinet{pixel_x = 6; pixel_y = -29},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) "bxu" = (/obj/machinery/cryopod/robot/right,/turf/simulated/floor,/area/assembly/chargebay) -"bxv" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/maintenance/disposal) +"bxv" = (/obj/machinery/door_control{desc = "A remote control switch for the medbay foyer."; id = "MedbayFoyerPort"; name = "Medbay Doors Control"; normaldoorcontrol = 1; pixel_x = -16; pixel_y = 28},/obj/structure/bed/chair/office/dark{dir = 1},/obj/effect/landmark/start{name = "Medical Doctor"},/turf/simulated/floor{tag = "icon-vault (NORTH)"; icon_state = "vault"; dir = 1},/area/medical/reception) "bxw" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/hallway/primary/central_two) "bxx" = (/obj/structure/table,/obj/item/weapon/packageWrap,/obj/item/weapon/hand_labeler,/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor{dir = 1; icon_state = "whiteyellowcorner"},/area/medical/chemistry) "bxy" = (/obj/structure/closet/secure_closet/medical1,/turf/simulated/floor{dir = 1; icon_state = "whiteyellow"},/area/medical/chemistry) -"bxz" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/obj/machinery/door/airlock/glass_mining{name = "Cargo Bay"; req_access = list(31)},/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{dir = 4},/turf/simulated/floor,/area/quartermaster/storage) +"bxz" = (/obj/structure/table,/obj/machinery/door_control{id = "medbayrecquar"; name = "Medbay Entrance Lockdown Shutters Control"; pixel_x = 6; pixel_y = 8; req_access = list(5)},/obj/item/device/radio{anchored = 1; broadcasting = 0; canhear_range = 1; frequency = 1487; icon = 'icons/obj/items.dmi'; icon_state = "red_phone"; listening = 1; name = "Reception Emergency Phone"; pixel_x = -5},/turf/simulated/floor,/area/medical/reception) "bxA" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) "bxB" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) "bxC" = (/turf/simulated/wall,/area/medical/medbay) -"bxD" = (/obj/machinery/alarm{pixel_y = 23},/obj/machinery/camera/network/civilian_west{c_tag = "Cargo Lobby"},/turf/simulated/floor,/area/quartermaster/office) +"bxD" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/obj/machinery/camera/network/research{c_tag = "Research - Mech Bay"; dir = 4},/turf/simulated/floor,/area/assembly/chargebay) "bxE" = (/obj/machinery/door/firedoor,/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/medical/medbay) "bxF" = (/turf/simulated/wall,/area/medical/medbay3) "bxG" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/medical/medbay3) -"bxH" = (/obj/structure/table,/obj/item/weapon/aiModule/nanotrasen,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/item/weapon/aiModule/reset,/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload) -"bxI" = (/obj/structure/table,/obj/item/weapon/aiModule/freeform,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/item/weapon/aiModule/protectStation,/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload) +"bxH" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "admin_shuttle_dock_airlock"; name = "exterior access button"; pixel_x = 30; pixel_y = -5; req_one_access = list(13)},/turf/space,/area/space) +"bxI" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "admin_shuttle_dock_outer"; locked = 1; name = "Docking Port Airlock"; req_access = list(13)},/turf/simulated/floor/plating,/area/hallway/secondary/entry/aft) "bxJ" = (/obj/machinery/door/firedoor,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/medical/medbay2) "bxK" = (/obj/structure/disposalpipe/segment,/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/floor{tag = "icon-white_ex"; icon_state = "white_ex"; dir = 2},/area/medical/medbay2) "bxL" = (/obj/machinery/light{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) "bxM" = (/obj/machinery/photocopier,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) "bxN" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) -"bxO" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{name = "Chemistry Laboratory"; req_access = list(33)},/obj/structure/sign/chemistry{pixel_x = 32},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) +"bxO" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor{icon_state = "warningcorner"; dir = 8},/area/hallway/primary/central_three) "bxP" = (/obj/machinery/alarm{pixel_y = 25},/turf/simulated/floor{dir = 4; icon_state = "whitecorner"},/area/medical/medbay2) "bxQ" = (/obj/structure/disposalpipe/segment,/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{dir = 1; icon_state = "whitehall_m"; tag = "icon-whitehall_m"},/area/medical/medbay2) "bxR" = (/obj/machinery/light{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/turf/simulated/floor{dir = 1; icon_state = "whitecorner"},/area/medical/medbay2) "bxS" = (/obj/machinery/vending/medical,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) -"bxT" = (/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "medbayrecquar"; name = "Medbay Emergency Quarantine Shutters"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/medical/reception) +"bxT" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/obj/machinery/door/airlock/glass_mining{name = "Cargo Bay"; req_access = list(31)},/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{dir = 4},/turf/simulated/floor,/area/quartermaster/storage) "bxU" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/effect/landmark{name = "JoinLateCyborg"},/obj/machinery/computer/cryopod/robot{pixel_y = -30},/turf/simulated/floor,/area/assembly/chargebay) "bxV" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/research_port) "bxW" = (/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor{icon_state = "white"},/area/rnd/misc_lab) @@ -3964,7 +3964,7 @@ "byl" = (/obj/structure/shuttle/engine/propulsion/burst{dir = 4},/turf/space,/area/shuttle/research/station) "bym" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/shuttle/engine/heater{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating/airless,/area/shuttle/research/station) "byn" = (/obj/machinery/computer/shuttle_control/research,/turf/simulated/shuttle/floor,/area/shuttle/research/station) -"byo" = (/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "medbayrecquar"; name = "Medbay Emergency Quarantine Shutters"; opacity = 0},/turf/simulated/floor,/area/medical/reception) +"byo" = (/obj/machinery/alarm{pixel_y = 23},/obj/machinery/camera/network/civilian_west{c_tag = "Cargo Lobby"},/turf/simulated/floor,/area/quartermaster/office) "byp" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad2"},/turf/simulated/floor/plating,/area/quartermaster/storage) "byq" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad2"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/quartermaster/storage) "byr" = (/turf/simulated/floor{dir = 4; icon_state = "loadingarea"},/area/quartermaster/storage) @@ -3986,17 +3986,17 @@ "byH" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/carpet,/area/crew_quarters/heads/hop) "byI" = (/mob/living/simple_animal/corgi/Ian,/turf/simulated/floor/carpet,/area/crew_quarters/heads/hop) "byJ" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/crew_quarters/heads/hop) -"byK" = (/obj/machinery/door/window/eastright{base_state = "left"; dir = 8; icon_state = "left"; name = "Medical Reception"; req_access = list(5)},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor,/area/medical/reception) +"byK" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/hallway/primary/central_three) "byL" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/cyan{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload) -"byM" = (/obj/machinery/door/window/eastright{name = "Medical Reception"; req_access = list(5)},/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 0; pixel_y = -22},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor,/area/medical/reception) +"byM" = (/obj/machinery/camera/network/exodus{c_tag = "Primary Hallway Central - South Southeast"},/obj/structure/sign/securearea{pixel_y = 32},/turf/simulated/floor{icon_state = "warningcorner"; dir = 4},/area/hallway/primary/central_three) "byN" = (/turf/simulated/wall/r_wall,/area/teleporter) -"byO" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{name = "Examination Room"; req_access = list(5)},/obj/structure/disposalpipe/segment,/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/floor{icon_state = "white"},/area/medical/medbay2) +"byO" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{name = "Chemistry Laboratory"; req_access = list(33)},/obj/structure/sign/chemistry{pixel_x = 32},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) "byP" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Firelock North"},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/hallway/primary/central_two) -"byQ" = (/obj/machinery/door/airlock/medical{name = "Morgue"; req_access = list(6,5)},/obj/structure/disposalpipe/segment,/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,/area/medical/medbay2) +"byQ" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/camera/network/exodus{c_tag = "Primary Hallway Central - South Southwest"},/obj/structure/sign/securearea{pixel_y = 32},/turf/simulated/floor{icon_state = "warningcorner"; dir = 8},/area/hallway/primary/central_three) "byR" = (/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) "byS" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) "byT" = (/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{dir = 4; icon_state = "whiteyellow"},/area/medical/chemistry) -"byU" = (/obj/machinery/door/airlock/research{id_tag = "researchdoor"; name = "Research Division Access"; req_access = list(47)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/rnd/research) +"byU" = (/obj/machinery/door/window/eastright{base_state = "left"; dir = 8; icon_state = "left"; name = "Medical Reception"; req_access = list(5)},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor,/area/medical/reception) "byV" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor{tag = "icon-whiteblue (NORTHEAST)"; icon_state = "whiteblue"; dir = 5},/area/medical/medbay) "byW" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/medical/medbay) "byX" = (/obj/structure/table,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/device/flashlight/pen,/obj/item/device/flashlight/pen,/obj/item/device/flashlight/pen,/obj/item/device/flashlight/pen,/obj/item/device/flashlight/pen,/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor{tag = "icon-whiteblue (NORTHWEST)"; icon_state = "whiteblue"; dir = 9},/area/medical/medbay3) @@ -4019,7 +4019,7 @@ "bzo" = (/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 0; pixel_y = -22},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{dir = 2; icon_state = "whitebluecorner"; tag = "icon-whitebluecorner"},/area/medical/patient_wing) "bzp" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "white"},/area/medical/patient_wing) "bzq" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{tag = "icon-whitebluecorner (WEST)"; icon_state = "whitebluecorner"; dir = 8},/area/medical/patient_wing) -"bzr" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/obj/machinery/door/window/westleft{name = "Cargo Desk"; req_access = list(50)},/obj/structure/noticeboard{pixel_y = 27},/turf/simulated/floor,/area/quartermaster/office) +"bzr" = (/obj/machinery/door/window/eastright{name = "Medical Reception"; req_access = list(5)},/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 0; pixel_y = -22},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor,/area/medical/reception) "bzs" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/assembly/chargebay) "bzt" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor,/area/assembly/chargebay) "bzu" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/assembly/chargebay) @@ -4035,21 +4035,21 @@ "bzE" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/rnd/research) "bzF" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/rnd/research) "bzG" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/rnd/research) -"bzH" = (/obj/structure/table/reinforced,/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/noticeboard{pixel_y = 27},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "hop_office_desk"; name = "HoP Office Privacy Shutters"; opacity = 0},/obj/machinery/door/window/northleft{dir = 8; icon_state = "left"; name = "Reception Window"},/obj/machinery/door/window/brigdoor{base_state = "rightsecure"; dir = 4; icon_state = "rightsecure"; name = "Head of Personnel's Desk"; req_access = list(57)},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/crew_quarters/heads/hop) +"bzH" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{name = "Examination Room"; req_access = list(5)},/obj/structure/disposalpipe/segment,/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/floor{icon_state = "white"},/area/medical/medbay2) "bzI" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/rnd/research) -"bzJ" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable/cyan{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload) +"bzJ" = (/obj/machinery/door/airlock/medical{name = "Morgue"; req_access = list(6,5)},/obj/structure/disposalpipe/segment,/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,/area/medical/medbay2) "bzK" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/rnd/docking) "bzL" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/rnd/docking) "bzM" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/rnd/docking) -"bzN" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/camera/network/command{c_tag = "AI Upload"; dir = 4},/obj/machinery/ai_status_display{pixel_x = -32; pixel_y = 0},/obj/machinery/porta_turret{dir = 4},/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload) -"bzO" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload) -"bzP" = (/obj/item/device/radio/intercom{broadcasting = 1; frequency = 1447; name = "Private AI Channel"; pixel_x = 0; pixel_y = -27},/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload) +"bzN" = (/obj/machinery/door/airlock/research{id_tag = "researchdoor"; name = "Research Division Access"; req_access = list(47)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/rnd/research) +"bzO" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/obj/machinery/door/window/westleft{name = "Cargo Desk"; req_access = list(50)},/obj/structure/noticeboard{pixel_y = 27},/turf/simulated/floor,/area/quartermaster/office) +"bzP" = (/obj/structure/table/reinforced,/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/noticeboard{pixel_y = 27},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "hop_office_desk"; name = "HoP Office Privacy Shutters"; opacity = 0},/obj/machinery/door/window/northleft{dir = 8; icon_state = "left"; name = "Reception Window"},/obj/machinery/door/window/brigdoor{base_state = "rightsecure"; dir = 4; icon_state = "rightsecure"; name = "Head of Personnel's Desk"; req_access = list(57)},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/crew_quarters/heads/hop) "bzQ" = (/turf/simulated/floor/plating,/area/quartermaster/storage) "bzR" = (/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/quartermaster/storage) "bzS" = (/turf/simulated/floor{icon_state = "bot"},/area/quartermaster/storage) "bzT" = (/turf/simulated/floor{icon_state = "delivery"},/area/quartermaster/storage) "bzU" = (/obj/machinery/navbeacon{codes_txt = "delivery;dir=8"; freq = 1400; location = "QM #1"},/obj/machinery/bot/mulebot{beacon_freq = 1400; home_destination = "QM #1"; suffix = "#1"},/turf/simulated/floor{icon_state = "bot"},/area/quartermaster/storage) -"bzV" = (/obj/machinery/light{dir = 4},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 32; pixel_y = 0},/obj/machinery/porta_turret{dir = 8},/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload) +"bzV" = (/obj/machinery/ai_status_display{pixel_y = 32},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "warningcorner"; dir = 4},/area/hallway/primary/central_three) "bzW" = (/obj/structure/filingcabinet/filingcabinet,/turf/simulated/floor,/area/quartermaster/office) "bzX" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/quartermaster/office) "bzY" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "bot"},/area/quartermaster/office) @@ -4062,36 +4062,36 @@ "bAf" = (/obj/structure/closet/secure_closet/hop,/turf/simulated/floor,/area/crew_quarters/heads/hop) "bAg" = (/obj/structure/disposalpipe/segment,/obj/machinery/firealarm{dir = 4; layer = 3.3; pixel_x = 26},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/crew_quarters/heads/hop) "bAh" = (/turf/simulated/wall/r_wall,/area/turret_protected/ai_server_room) -"bAi" = (/obj/machinery/door/window/eastright{base_state = "left"; dir = 1; icon_state = "left"; name = "Shower"},/obj/machinery/shower{icon_state = "shower"; dir = 4},/obj/item/weapon/soap/deluxe,/obj/item/weapon/bikehorn/rubberducky,/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/captain) +"bAi" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/hallway/primary/central_three) "bAj" = (/turf/simulated/wall/r_wall,/area/turret_protected/ai_cyborg_station) "bAk" = (/obj/structure/extinguisher_cabinet{pixel_x = -27; pixel_y = 1},/obj/structure/table,/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor,/area/teleporter) "bAl" = (/obj/machinery/light{dir = 1},/obj/structure/table,/obj/item/weapon/hand_tele,/turf/simulated/floor,/area/teleporter) "bAm" = (/obj/item/device/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_y = 20},/obj/structure/closet/crate,/obj/item/weapon/crowbar,/turf/simulated/floor,/area/teleporter) "bAn" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor,/area/teleporter) -"bAo" = (/obj/machinery/light{dir = 1},/obj/structure/closet/secure_closet/chemical,/obj/item/weapon/storage/box/pillbottles,/obj/item/device/radio/headset/headset_med,/obj/machinery/camera/network/medbay{c_tag = "Medbay Drug Storage"},/turf/simulated/floor{dir = 1; icon_state = "whiteyellow"},/area/medical/chemistry) +"bAo" = (/obj/machinery/door/window/eastright{base_state = "left"; dir = 1; icon_state = "left"; name = "Shower"},/obj/machinery/shower{icon_state = "shower"; dir = 4},/obj/item/weapon/soap/deluxe,/obj/item/weapon/bikehorn/rubberducky,/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/captain) "bAp" = (/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/teleporter) "bAq" = (/obj/machinery/light_switch{pixel_x = 27},/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,/area/teleporter) "bAr" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/hallway/primary/central_two) "bAs" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/regular{pixel_x = 5; pixel_y = 5},/obj/machinery/light_switch{pixel_x = -23; pixel_y = 0},/obj/random/firstaid,/turf/simulated/floor{dir = 8; icon_state = "whiteyellowcorner"},/area/medical/chemistry) -"bAt" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/multi_tile/glass{id_tag = "MedbayFoyerPort"; req_access = list(5)},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/medical/medbay) -"bAu" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{name = "Medbay Reception"; req_access = list(5)},/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/medbay3) +"bAt" = (/obj/machinery/light{dir = 1},/obj/structure/closet/secure_closet/chemical,/obj/item/weapon/storage/box/pillbottles,/obj/item/device/radio/headset/headset_med,/obj/machinery/camera/network/medbay{c_tag = "Medbay Drug Storage"},/turf/simulated/floor{dir = 1; icon_state = "whiteyellow"},/area/medical/chemistry) +"bAu" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/multi_tile/glass{id_tag = "MedbayFoyerPort"; req_access = list(5)},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/medical/medbay) "bAv" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) "bAw" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) -"bAx" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/multi_tile/glass{id_tag = "MedbayFoyerStar"; req_access = list(5)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/medical/medbay2) +"bAx" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{name = "Medbay Reception"; req_access = list(5)},/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/medbay3) "bAy" = (/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{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) "bAz" = (/obj/structure/disposalpipe/sortjunction{dir = 1; icon_state = "pipe-j1s"; sortType = "Medbay"; name = "Medbay"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) -"bAA" = (/obj/item/device/radio/intercom{pixel_y = 25},/obj/machinery/camera/network/medbay{c_tag = "Medbay Fore Starboard Corridor"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) +"bAA" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/multi_tile/glass{id_tag = "MedbayFoyerStar"; req_access = list(5)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/medical/medbay2) "bAB" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay3) "bAC" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay3) "bAD" = (/obj/machinery/hologram/holopad,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay3) "bAE" = (/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},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay3) -"bAF" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad2"},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "cargo_bay_door"; locked = 1; name = "Cargo Docking Hatch"; req_access = list(13)},/turf/simulated/floor/plating,/area/quartermaster/storage) +"bAF" = (/obj/item/device/radio/intercom{pixel_y = 25},/obj/machinery/camera/network/medbay{c_tag = "Medbay Fore Starboard Corridor"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) "bAG" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) "bAH" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) "bAI" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) "bAJ" = (/obj/machinery/door/firedoor,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) "bAK" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) -"bAL" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/highsecurity{icon_state = "door_closed"; locked = 0; name = "AI Upload"; req_access = list(16)},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload) +"bAL" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad2"},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "cargo_bay_door"; locked = 1; name = "Cargo Docking Hatch"; req_access = list(13)},/turf/simulated/floor/plating,/area/quartermaster/storage) "bAM" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor{dir = 2; icon_state = "whitepurplecorner"},/area/medical/medbay2) "bAN" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{dir = 2; icon_state = "whitepurple"},/area/medical/medbay2) "bAO" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{dir = 8; icon_state = "whitepurplecorner"},/area/medical/medbay2) @@ -4141,27 +4141,27 @@ "bBG" = (/obj/structure/table,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/item/weapon/folder/yellow,/obj/item/device/eftpos{eftpos_name = "Cargo Bay EFTPOS scanner"},/turf/simulated/floor,/area/quartermaster/office) "bBH" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor,/area/quartermaster/office) "bBI" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/quartermaster/office) -"bBJ" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/structure/cable/cyan{d2 = 2; icon_state = "0-2"},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_server_room) -"bBK" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/cyan{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload_foyer) +"bBJ" = (/obj/machinery/alarm{frequency = 1439; pixel_y = 23},/obj/machinery/camera/network/command{c_tag = "Bridge - Teleporter"},/turf/simulated/floor,/area/teleporter) +"bBK" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{name = "Medicine Storage"; req_access = list(5)},/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{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) "bBL" = (/obj/structure/closet/secure_closet/hop2,/turf/simulated/floor,/area/crew_quarters/heads/hop) "bBM" = (/turf/simulated/floor,/area/crew_quarters/heads/hop) "bBN" = (/obj/structure/table,/obj/item/weapon/pen,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/item/device/megaphone,/turf/simulated/floor,/area/crew_quarters/heads/hop) "bBO" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 32; pixel_y = 0},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/crew_quarters/heads/hop) "bBP" = (/obj/machinery/message_server,/turf/simulated/floor/bluegrid,/area/turret_protected/ai_server_room) -"bBQ" = (/obj/machinery/turretid/stun{control_area = "\improper AI Upload Chamber"; name = "AI Upload turret control"; pixel_x = 6; pixel_y = 24},/obj/item/device/radio/intercom{broadcasting = 1; frequency = 1447; name = "Private AI Channel"; pixel_x = -12; pixel_y = 20},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload_foyer) -"bBR" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/cyan{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload_foyer) -"bBS" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/structure/cable/cyan{d2 = 2; icon_state = "0-2"},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_cyborg_station) +"bBQ" = (/obj/machinery/door/airlock/highsecurity{name = "Messaging Server"; req_access = list(30)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "dark"},/area/hallway/primary/central_three) +"bBR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/highsecurity{name = "Cyborg Station"; req_access = list(16)},/turf/simulated/floor{icon_state = "dark"},/area/hallway/primary/central_three) +"bBS" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{name = "Medical Equipment"; req_access = list(5)},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) "bBT" = (/obj/machinery/light_switch{pixel_y = 28},/turf/simulated/floor/plating,/area/medical/genetics) -"bBU" = (/obj/machinery/alarm{frequency = 1439; pixel_y = 23},/obj/machinery/camera/network/command{c_tag = "Bridge - Teleporter"},/turf/simulated/floor,/area/teleporter) +"bBU" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_cyborg_station) "bBV" = (/obj/machinery/computer/aifixer,/turf/simulated/floor/bluegrid,/area/turret_protected/ai_cyborg_station) "bBW" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor,/area/teleporter) -"bBX" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{name = "Medicine Storage"; req_access = list(5)},/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{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) +"bBX" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{name = "Medical Equipment"; req_access = list(5)},/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{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) "bBY" = (/obj/machinery/hologram/holopad,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/teleporter) "bBZ" = (/obj/item/device/radio/beacon,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/teleporter) "bCa" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/teleporter) "bCb" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/teleporter) -"bCc" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{name = "Medical Equipment"; req_access = list(5)},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) -"bCd" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{name = "Medical Equipment"; req_access = list(5)},/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{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) +"bCc" = (/obj/machinery/door/airlock{name = "Medbay Substation"; req_access = list(5)},/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/substation/medical) +"bCd" = (/obj/machinery/door/airlock/research{name = "Research Division Access"; req_access = list(47)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/docking) "bCe" = (/turf/simulated/floor{dir = 2; icon_state = "whiteyellow"},/area/medical/chemistry) "bCf" = (/obj/structure/closet/wardrobe/chemistry_white,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor{dir = 2; icon_state = "whiteyellowcorner"},/area/medical/chemistry) "bCg" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) @@ -4171,31 +4171,31 @@ "bCk" = (/obj/structure/table,/obj/item/weapon/storage/box/beakers,/obj/item/weapon/storage/box/syringes{pixel_x = 4; pixel_y = 4},/obj/item/weapon/storage/box/syringes,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/item/device/radio/intercom{freerange = 1; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 28},/turf/simulated/floor{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/medical/medbay3) "bCl" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/medical/medbay2) "bCm" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) -"bCn" = (/obj/machinery/door/airlock{name = "Medbay Substation"; req_access = list(5)},/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/substation/medical) -"bCo" = (/obj/machinery/door/airlock/research{name = "Research Division Access"; req_access = list(47)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/docking) +"bCn" = (/obj/machinery/light/small{dir = 1},/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/camera/network/research{c_tag = "Research Shuttle Dock Maintainance"},/turf/simulated/floor{icon_state = "white"},/area/rnd/docking) +"bCo" = (/obj/machinery/door/airlock/research{name = "Research Shuttle Dock"; req_access = list(65)},/obj/machinery/door/firedoor/border_only,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/docking) "bCp" = (/turf/simulated/wall,/area/medical/genetics) "bCq" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "white"},/area/rnd/misc_lab) -"bCr" = (/obj/machinery/light/small{dir = 1},/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/camera/network/research{c_tag = "Research Shuttle Dock Maintainance"},/turf/simulated/floor{icon_state = "white"},/area/rnd/docking) +"bCr" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor{dir = 4; icon_state = "whitebluecorner"},/area/rnd/docking) "bCs" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/rnd/research) "bCt" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/rnd/research) "bCu" = (/obj/structure/disposalpipe/segment,/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/floor{icon_state = "white"},/area/rnd/research) "bCv" = (/turf/simulated/floor{dir = 9; icon_state = "whitehall"},/area/rnd/research) -"bCw" = (/obj/machinery/door/airlock/research{name = "Research Shuttle Dock"; req_access = list(65)},/obj/machinery/door/firedoor/border_only,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/docking) +"bCw" = (/obj/structure/closet/emcloset,/turf/simulated/floor{dir = 4; icon_state = "whitebluecorner"},/area/rnd/docking) "bCx" = (/turf/simulated/floor{icon_state = "white"},/area/rnd/research) "bCy" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/rnd/research) "bCz" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/turf/simulated/floor{icon_state = "white"},/area/rnd/research) -"bCA" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor{dir = 4; icon_state = "whitebluecorner"},/area/rnd/docking) +"bCA" = (/turf/simulated/floor{dir = 4; icon_state = "whitebluecorner"},/area/rnd/docking) "bCB" = (/obj/machinery/navbeacon{codes_txt = "delivery;dir=8"; freq = 1400; location = "Research Division"},/obj/structure/plasticflaps{opacity = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor{icon_state = "bot"},/area/rnd/research) "bCC" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/rnd/docking) "bCD" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/rnd/docking) -"bCE" = (/obj/structure/closet/emcloset,/turf/simulated/floor{dir = 4; icon_state = "whitebluecorner"},/area/rnd/docking) +"bCE" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/shuttle/plating,/area/rnd/docking) "bCF" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "cmooffice"; name = "CMO Office Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/medbay3) "bCG" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/docking) -"bCH" = (/turf/simulated/floor{dir = 4; icon_state = "whitebluecorner"},/area/rnd/docking) -"bCI" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/shuttle/plating,/area/rnd/docking) +"bCH" = (/obj/structure/table,/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "research_shuttle"; pixel_x = -8; pixel_y = -25; req_one_access = list(13,65); tag_door = "research_shuttle_hatch"},/turf/simulated/shuttle/floor,/area/shuttle/research/station) +"bCI" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "cargo_bay"; name = "cargo bay hatch controller"; pixel_x = -30; pixel_y = 0; req_one_access = list(13,31); tag_door = "cargo_bay_door"},/obj/machinery/camera/network/civilian_west{c_tag = "Cargo Recieving Dock"; dir = 4},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/quartermaster/storage) "bCJ" = (/turf/simulated/wall,/area/rnd/docking) -"bCK" = (/obj/structure/table,/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "research_shuttle"; pixel_x = -8; pixel_y = -25; req_one_access = list(13,65); tag_door = "research_shuttle_hatch"},/turf/simulated/shuttle/floor,/area/shuttle/research/station) -"bCL" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "cargo_bay"; name = "cargo bay hatch controller"; pixel_x = -30; pixel_y = 0; req_one_access = list(13,31); tag_door = "cargo_bay_door"},/obj/machinery/camera/network/civilian_west{c_tag = "Cargo Recieving Dock"; dir = 4},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/quartermaster/storage) +"bCK" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/obj/machinery/door/airlock/glass_mining{id_tag = "cargodoor"; name = "Cargo Office"; req_access = list(50)},/turf/simulated/floor,/area/quartermaster/office) +"bCL" = (/obj/machinery/recharge_station,/obj/machinery/camera/network/command{c_tag = "AI - Cyborg Station"; dir = 1},/turf/simulated/floor/bluegrid,/area/turret_protected/ai_cyborg_station) "bCM" = (/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/quartermaster/storage) "bCN" = (/obj/machinery/conveyor_switch/oneway{convdir = -1; id = "QMLoad"},/turf/simulated/floor,/area/quartermaster/storage) "bCO" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor,/area/quartermaster/storage) @@ -4208,18 +4208,18 @@ "bCV" = (/obj/machinery/keycard_auth{pixel_x = -24; pixel_y = 0},/obj/machinery/account_database,/turf/simulated/floor{dir = 9; icon_state = "blue"},/area/crew_quarters/heads/hop) "bCW" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) "bCX" = (/obj/structure/table,/obj/item/weapon/folder/blue,/obj/item/weapon/stamp/hop,/obj/item/device/eftpos{eftpos_name = "HoP EFTPOS scanner"},/turf/simulated/floor,/area/crew_quarters/heads/hop) -"bCY" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/obj/machinery/door/airlock/glass_mining{id_tag = "cargodoor"; name = "Cargo Office"; req_access = list(50)},/turf/simulated/floor,/area/quartermaster/office) +"bCY" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/obj/machinery/door/airlock/command{name = "Teleport Access"; req_access = list(17)},/turf/simulated/floor,/area/teleporter) "bCZ" = (/obj/machinery/computer/message_monitor,/obj/machinery/light/small{dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_server_room) -"bDa" = (/obj/item/device/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_y = 20},/turf/simulated/floor/bluegrid,/area/turret_protected/ai_server_room) -"bDb" = (/obj/machinery/door/airlock/highsecurity{icon_state = "door_closed"; locked = 0; name = "AI Upload Access"; req_access = list(16)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_server_room) -"bDc" = (/obj/structure/cable/cyan{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_server_room) -"bDd" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/structure/cable/cyan{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/cyan{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/camera/network/command{c_tag = "AI - Upload Foyer"; dir = 1},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload_foyer) -"bDe" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload_foyer) -"bDf" = (/obj/machinery/door/airlock/highsecurity{icon_state = "door_closed"; locked = 0; name = "AI Upload Access"; req_access = list(16)},/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_cyborg_station) -"bDg" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload_foyer) -"bDh" = (/obj/structure/closet/crate{name = "Camera Assembly Crate"},/obj/item/weapon/camera_assembly,/obj/item/weapon/camera_assembly,/obj/item/weapon/camera_assembly,/obj/item/weapon/camera_assembly,/obj/item/device/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_y = 20},/turf/simulated/floor/bluegrid,/area/turret_protected/ai_cyborg_station) -"bDi" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/structure/cable/cyan{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_cyborg_station) -"bDj" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/obj/machinery/door/airlock/command{name = "Teleport Access"; req_access = list(17)},/turf/simulated/floor,/area/teleporter) +"bDa" = (/obj/machinery/recharge_station,/obj/machinery/light_switch{pixel_y = -25},/turf/simulated/floor/bluegrid,/area/turret_protected/ai_cyborg_station) +"bDb" = (/obj/machinery/camera/network/command{c_tag = "AI - Messaging Server"; dir = 1},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/bluegrid,/area/turret_protected/ai_server_room) +"bDc" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{id_tag = "GeneticsDoor"; name = "Cloning Laboratory"; req_access = list(5)},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) +"bDd" = (/obj/machinery/blackbox_recorder,/obj/machinery/light_switch{pixel_y = -25},/turf/simulated/floor/bluegrid,/area/turret_protected/ai_server_room) +"bDe" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/glass_medical{id_tag = "GeneticsDoor"; name = "Genetics Laboratory"; req_access = list(9)},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) +"bDf" = (/obj/machinery/door/firedoor,/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/maintenance{req_one_access = list(5,12,47)},/turf/simulated/floor/plating,/area/maintenance/research_port) +"bDg" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "hazard door north"},/obj/machinery/door/airlock/glass_research{name = "Robotics Lab"; req_access = list(29,47)},/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{icon_state = "white"},/area/rnd/research) +"bDh" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_server_room) +"bDi" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_server_room) +"bDj" = (/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_server_room) "bDk" = (/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/teleporter) "bDl" = (/turf/simulated/floor{icon_state = "warning"},/area/teleporter) "bDm" = (/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/teleporter) @@ -4232,7 +4232,7 @@ "bDt" = (/turf/simulated/wall,/area/medical/sleeper) "bDu" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "acute1"; name = "EMT Storage Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/sleeper) "bDv" = (/obj/structure/closet/secure_closet/medical_wall{name = "Pill Cabinet"},/obj/item/weapon/storage/pill_bottle/antitox,/obj/item/weapon/storage/pill_bottle/tramadol,/obj/item/weapon/reagent_containers/syringe/antiviral,/obj/item/weapon/reagent_containers/syringe/antiviral,/obj/item/weapon/reagent_containers/syringe/inaprovaline,/turf/simulated/wall,/area/medical/sleeper) -"bDw" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{id_tag = "GeneticsDoor"; name = "Cloning Laboratory"; req_access = list(5)},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) +"bDw" = (/obj/machinery/camera/network/research{c_tag = "Research Division North"; dir = 1},/turf/simulated/floor{icon_state = "white"},/area/rnd/research) "bDx" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/medical/sleeper) "bDy" = (/obj/machinery/status_display,/turf/simulated/wall,/area/medical/medbay) "bDz" = (/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) @@ -4244,9 +4244,9 @@ "bDF" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) "bDG" = (/obj/machinery/atmospherics/unary/cryo_cell,/turf/simulated/floor{dir = 9; icon_state = "whitered"},/area/medical/cryo) "bDH" = (/obj/machinery/atmospherics/unary/cryo_cell,/turf/simulated/floor{dir = 1; icon_state = "whitered"},/area/medical/cryo) -"bDI" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/glass_medical{id_tag = "GeneticsDoor"; name = "Genetics Laboratory"; req_access = list(9)},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) +"bDI" = (/obj/machinery/door/window/eastright{base_state = "left"; dir = 8; icon_state = "left"; name = "Research Division Delivery"; req_access = list(47)},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/turf/simulated/floor{icon_state = "delivery"},/area/rnd/research) "bDJ" = (/turf/simulated/wall,/area/medical/cryo) -"bDK" = (/obj/machinery/door/firedoor,/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/maintenance{req_one_access = list(5,12,47)},/turf/simulated/floor/plating,/area/maintenance/research_port) +"bDK" = (/obj/machinery/door/airlock/research{name = "Research Shuttle Dock"; req_access = list(65)},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/docking) "bDL" = (/turf/simulated/floor{icon_state = "white"},/area/medical/genetics_cloning) "bDM" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/obj/item/device/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_y = 20},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics_cloning) "bDN" = (/obj/item/apc_frame,/obj/effect/decal/cleanable/dirt,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/medical/genetics) @@ -4260,7 +4260,7 @@ "bDV" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "cmooffice"; name = "CMO Office Privacy Shutters"; opacity = 0},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/medical/medbay3) "bDW" = (/obj/machinery/light{dir = 1},/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 32},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 8; name = "hazard door west"},/turf/simulated/floor{dir = 8; icon_state = "whiteblue"},/area/rnd/research) "bDX" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/research) -"bDY" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "hazard door north"},/obj/machinery/door/airlock/glass_research{name = "Robotics Lab"; req_access = list(29,47)},/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{icon_state = "white"},/area/rnd/research) +"bDY" = (/obj/machinery/light,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable,/turf/simulated/floor{icon_state = "white"},/area/rnd/docking) "bDZ" = (/obj/item/device/radio/intercom{pixel_y = 25},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/research) "bEa" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/research) "bEb" = (/obj/structure/extinguisher_cabinet{pixel_x = -5; pixel_y = 30},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/research) @@ -4270,27 +4270,27 @@ "bEf" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{dir = 1; icon_state = "whiteredcorner"},/area/rnd/research) "bEg" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{dir = 5; icon_state = "whitehall"},/area/rnd/research) "bEh" = (/obj/machinery/hologram/holopad,/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/research) -"bEi" = (/obj/machinery/camera/network/research{c_tag = "Research Division North"; dir = 1},/turf/simulated/floor{icon_state = "white"},/area/rnd/research) -"bEj" = (/obj/machinery/door/window/eastright{base_state = "left"; dir = 8; icon_state = "left"; name = "Research Division Delivery"; req_access = list(47)},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/turf/simulated/floor{icon_state = "delivery"},/area/rnd/research) -"bEk" = (/obj/machinery/door/airlock/research{name = "Research Shuttle Dock"; req_access = list(65)},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/docking) +"bEi" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor{dir = 4; icon_state = "whitebluecorner"},/area/rnd/docking) +"bEj" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/shuttle/plating,/area/rnd/docking) +"bEk" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "research_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access = list(13)},/turf/simulated/shuttle/floor,/area/shuttle/research/station) "bEl" = (/obj/structure/bed/chair/office/dark,/obj/effect/landmark/start{name = "Geneticist"},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics_cloning) "bEm" = (/obj/structure/bed/chair/office/dark{dir = 8},/obj/effect/landmark/start{name = "Shaft Miner"},/turf/simulated/floor,/area/quartermaster/miningdock) "bEn" = (/turf/simulated/wall,/area/maintenance/research_shuttle) "bEo" = (/turf/simulated/floor{icon_state = "white"},/area/rnd/docking) -"bEp" = (/obj/machinery/light,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable,/turf/simulated/floor{icon_state = "white"},/area/rnd/docking) +"bEp" = (/obj/structure/bed/chair{dir = 8},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -28},/obj/machinery/light,/turf/simulated/floor,/area/quartermaster/office) "bEq" = (/turf/simulated/floor/mech_bay_recharge_floor,/area/medical/sleeper) -"bEr" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor{dir = 4; icon_state = "whitebluecorner"},/area/rnd/docking) -"bEs" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/shuttle/plating,/area/rnd/docking) +"bEr" = (/obj/structure/bed/chair/office/dark{dir = 4},/obj/effect/landmark/start{name = "Head of Personnel"},/obj/machinery/door_control{desc = "A remote control-switch for shutters."; id = "hop_office_desk"; name = "Desk Privacy Shutter"; pixel_x = 26; pixel_y = 17},/obj/machinery/button/windowtint{pixel_x = 36; pixel_y = 18},/obj/machinery/door_control{desc = "A remote control-switch for the office door."; id = "hopdoor"; name = "Office Door Control"; normaldoorcontrol = 1; pixel_x = 26; pixel_y = -17; req_access = list(57)},/turf/simulated/floor,/area/crew_quarters/heads/hop) +"bEs" = (/obj/effect/landmark/start{name = "Cyborg"},/obj/machinery/light/small{dir = 4},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor{icon_state = "vault"; dir = 1},/area/turret_protected/ai_cyborg_station) "bEt" = (/obj/machinery/mech_bay_recharge_port,/obj/structure/sign/poster{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/plating,/area/medical/sleeper) -"bEu" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "research_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access = list(13)},/turf/simulated/shuttle/floor,/area/shuttle/research/station) +"bEu" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_cyborg_station) "bEv" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/rnd/docking) -"bEw" = (/obj/structure/bed/chair{dir = 8},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -28},/obj/machinery/light,/turf/simulated/floor,/area/quartermaster/office) +"bEw" = (/obj/structure/table/reinforced,/obj/machinery/door/window/eastright{dir = 1; name = "Emergency Kit"; req_access = list(5)},/obj/machinery/door/firedoor,/obj/item/weapon/storage/toolbox/emergency,/obj/item/bodybag/cryobag{pixel_x = 6},/obj/item/bodybag/cryobag{pixel_x = 6},/obj/item/bodybag/cryobag,/obj/item/device/radio{frequency = 1487; name = "Medbay Emergency Radio Link"},/turf/simulated/floor{dir = 1; icon_state = "whiteyellow"},/area/medical/sleeper) "bEx" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad"},/turf/simulated/floor/plating,/area/quartermaster/storage) "bEy" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad"},/obj/machinery/status_display/supply_display{pixel_y = -32},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/quartermaster/storage) "bEz" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad"},/obj/machinery/light,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -35},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/quartermaster/storage) "bEA" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/quartermaster/storage) "bEB" = (/obj/machinery/light,/turf/simulated/floor{dir = 8; icon_state = "loadingarea"},/area/quartermaster/storage) -"bEC" = (/obj/structure/bed/chair/office/dark{dir = 4},/obj/effect/landmark/start{name = "Head of Personnel"},/obj/machinery/door_control{desc = "A remote control-switch for shutters."; id = "hop_office_desk"; name = "Desk Privacy Shutter"; pixel_x = 26; pixel_y = 17},/obj/machinery/button/windowtint{pixel_x = 36; pixel_y = 18},/obj/machinery/door_control{desc = "A remote control-switch for the office door."; id = "hopdoor"; name = "Office Door Control"; normaldoorcontrol = 1; pixel_x = 26; pixel_y = -17; req_access = list(57)},/turf/simulated/floor,/area/crew_quarters/heads/hop) +"bEC" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{name = "Medicine Storage"; req_access = list(5)},/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) "bED" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor,/area/quartermaster/storage) "bEE" = (/obj/machinery/navbeacon{codes_txt = "delivery;dir=8"; freq = 1400; location = "QM #4"},/turf/simulated/floor{icon_state = "bot"},/area/quartermaster/storage) "bEF" = (/obj/structure/table,/obj/machinery/newscaster{pixel_x = -27; pixel_y = 1},/obj/item/weapon/tape_roll,/obj/item/weapon/storage/firstaid/regular{pixel_x = 6; pixel_y = -5},/turf/simulated/floor,/area/quartermaster/office) @@ -4298,25 +4298,25 @@ "bEH" = (/obj/machinery/light,/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/computer/guestpass{pixel_y = -28},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{dir = 2; icon_state = "browncorner"},/area/quartermaster/office) "bEI" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/quartermaster/office) "bEJ" = (/obj/structure/noticeboard{pixel_y = -27},/turf/simulated/floor{dir = 8; icon_state = "browncorner"},/area/quartermaster/office) -"bEK" = (/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_server_room) -"bEL" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_server_room) -"bEM" = (/turf/simulated/wall/r_wall,/area/turret_protected/ai_upload_foyer) +"bEK" = (/obj/structure/table/rack,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/clothing/accessory/stethoscope,/obj/item/clothing/accessory/stethoscope,/obj/item/clothing/accessory/stethoscope,/obj/item/clothing/accessory/stethoscope,/obj/item/clothing/accessory/stethoscope,/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 0; pixel_y = -22},/obj/machinery/camera/network/medbay{c_tag = "Medbay Equipment Storage"; dir = 1},/turf/simulated/floor{dir = 2; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay3) +"bEL" = (/obj/structure/table,/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/item/device/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_y = 20},/obj/item/weapon/wrench,/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{pixel_x = 7; pixel_y = 1},/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{pixel_x = -4; pixel_y = 0},/obj/machinery/camera/network/medbay{c_tag = "Medbay Cryogenics"},/turf/simulated/floor{dir = 5; icon_state = "whitered"},/area/medical/cryo) +"bEM" = (/obj/structure/closet/wardrobe/medic_white,/obj/machinery/camera/network/medbay{c_tag = "Medbay Cloning"},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics_cloning) "bEN" = (/obj/machinery/atm{pixel_x = -28},/turf/simulated/floor{dir = 8; icon_state = "browncorner"},/area/hallway/primary/central_three) "bEO" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "blue"; dir = 4},/area/hallway/primary/central_three) "bEP" = (/turf/simulated/floor{dir = 4; icon_state = "loadingarea"},/area/hallway/primary/central_three) "bEQ" = (/obj/structure/filingcabinet/chestdrawer,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/turf/simulated/floor{icon_state = "blue"; dir = 10},/area/crew_quarters/heads/hop) -"bER" = (/obj/effect/landmark/start{name = "Cyborg"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_cyborg_station) +"bER" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/obj/machinery/camera/network/research{c_tag = "Research Division West"},/turf/simulated/floor{icon_state = "white"},/area/rnd/research) "bES" = (/obj/structure/table,/obj/machinery/photocopier/faxmachine{department = "Head of Personnel's Office"},/turf/simulated/floor,/area/crew_quarters/heads/hop) "bET" = (/obj/machinery/light_switch{pixel_x = 27},/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor,/area/crew_quarters/heads/hop) -"bEU" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_cyborg_station) -"bEV" = (/obj/effect/landmark/start{name = "Cyborg"},/obj/machinery/light/small{dir = 4},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor{icon_state = "vault"; dir = 1},/area/turret_protected/ai_cyborg_station) -"bEW" = (/obj/structure/table/reinforced,/obj/machinery/door/window/eastright{dir = 1; name = "Emergency Kit"; req_access = list(5)},/obj/machinery/door/firedoor,/obj/item/weapon/storage/toolbox/emergency,/obj/item/bodybag/cryobag{pixel_x = 6},/obj/item/bodybag/cryobag{pixel_x = 6},/obj/item/bodybag/cryobag,/obj/item/device/radio{frequency = 1487; name = "Medbay Emergency Radio Link"},/turf/simulated/floor{dir = 1; icon_state = "whiteyellow"},/area/medical/sleeper) -"bEX" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{name = "Medicine Storage"; req_access = list(5)},/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) -"bEY" = (/obj/structure/table/rack,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/clothing/accessory/stethoscope,/obj/item/clothing/accessory/stethoscope,/obj/item/clothing/accessory/stethoscope,/obj/item/clothing/accessory/stethoscope,/obj/item/clothing/accessory/stethoscope,/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 0; pixel_y = -22},/obj/machinery/camera/network/medbay{c_tag = "Medbay Equipment Storage"; dir = 1},/turf/simulated/floor{dir = 2; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay3) -"bEZ" = (/obj/structure/table,/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/item/device/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_y = 20},/obj/item/weapon/wrench,/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{pixel_x = 7; pixel_y = 1},/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{pixel_x = -4; pixel_y = 0},/obj/machinery/camera/network/medbay{c_tag = "Medbay Cryogenics"},/turf/simulated/floor{dir = 5; icon_state = "whitered"},/area/medical/cryo) -"bFa" = (/obj/structure/closet/wardrobe/medic_white,/obj/machinery/camera/network/medbay{c_tag = "Medbay Cloning"},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics_cloning) -"bFb" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/obj/machinery/camera/network/research{c_tag = "Research Division West"},/turf/simulated/floor{icon_state = "white"},/area/rnd/research) -"bFc" = (/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced/polarized{dir = 1},/obj/structure/window/reinforced/polarized,/turf/simulated/floor/plating,/area/rnd/research) +"bEU" = (/obj/effect/landmark/start{name = "Cyborg"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_cyborg_station) +"bEV" = (/turf/simulated/wall/r_wall,/area/turret_protected/ai_upload_foyer) +"bEW" = (/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced/polarized{dir = 1},/obj/structure/window/reinforced/polarized,/turf/simulated/floor/plating,/area/rnd/research) +"bEX" = (/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced/polarized{dir = 1},/obj/structure/window/reinforced/polarized{dir = 8},/turf/simulated/floor/plating,/area/rnd/research) +"bEY" = (/obj/machinery/alarm{pixel_y = 23},/obj/item/weapon/cigbutt,/turf/simulated/floor/plating,/area/maintenance/disposal) +"bEZ" = (/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced/polarized{dir = 1},/obj/structure/window/reinforced/polarized,/obj/structure/window/reinforced/polarized{dir = 4},/turf/simulated/floor/plating,/area/rnd/research) +"bFa" = (/obj/machinery/door/airlock/maintenance{req_one_access = list(12,47)},/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/maintenance/research_shuttle) +"bFb" = (/obj/effect/decal/cleanable/blood/oil,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/turf/simulated/floor/plating,/area/maintenance/disposal) +"bFc" = (/obj/machinery/conveyor{dir = 1; id = "garbage"},/obj/structure/sign/vacuum{pixel_x = -32},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/maintenance/disposal) "bFd" = (/obj/machinery/computer/teleporter,/turf/simulated/floor/plating,/area/teleporter) "bFe" = (/obj/machinery/teleport/station,/turf/simulated/floor/plating,/area/teleporter) "bFf" = (/obj/machinery/teleport/hub,/turf/simulated/floor/plating,/area/teleporter) @@ -4328,10 +4328,10 @@ "bFl" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) "bFm" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) "bFn" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) -"bFo" = (/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced/polarized{dir = 1},/obj/structure/window/reinforced/polarized{dir = 8},/turf/simulated/floor/plating,/area/rnd/research) +"bFo" = (/obj/machinery/door/airlock/maintenance{req_one_access = list(12,47)},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/maintenance/research_shuttle) "bFp" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) "bFq" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/medical/medbay) -"bFr" = (/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced/polarized{dir = 1},/obj/structure/window/reinforced/polarized,/obj/structure/window/reinforced/polarized{dir = 4},/turf/simulated/floor/plating,/area/rnd/research) +"bFr" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/camera/network/research{c_tag = "Research Shuttle Dock"; dir = 8},/turf/simulated/floor{dir = 4; icon_state = "whitebluecorner"},/area/rnd/docking) "bFs" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/medical/medbay2) "bFt" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) "bFu" = (/obj/machinery/door/firedoor,/turf/simulated/floor{dir = 4; icon_state = "whitered"},/area/medical/medbay2) @@ -4345,7 +4345,7 @@ "bFC" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/plating,/area/medical/genetics) "bFD" = (/turf/simulated/floor/plating,/area/medical/genetics) "bFE" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/plating,/area/medical/genetics) -"bFF" = (/obj/machinery/door/airlock/maintenance{req_one_access = list(12,47)},/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/maintenance/research_shuttle) +"bFF" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "research_dock_outer"; locked = 1; name = "Shuttle Airlock"; req_access = list(13)},/turf/simulated/floor/plating,/area/rnd/docking) "bFG" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; external_pressure_bound = 0; external_pressure_bound_default = 0; icon_state = "map_vent_in"; initialize_directions = 1; internal_pressure_bound = 4000; internal_pressure_bound_default = 4000; use_power = 1; pressure_checks = 2; pressure_checks_default = 2; pump_direction = 0},/turf/simulated/floor/bluegrid{name = "Server Base"; nitrogen = 500; oxygen = 0; temperature = 80},/area/server) "bFH" = (/obj/machinery/computer/mech_bay_power_console,/obj/machinery/light{dir = 1},/turf/simulated/floor/bluegrid,/area/medical/sleeper) "bFI" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/structure/window/reinforced,/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "cmooffice"; name = "CMO Office Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/medbay) @@ -4361,7 +4361,7 @@ "bFS" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/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/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/research) "bFT" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/rnd/research) "bFU" = (/obj/structure/table,/obj/item/weapon/folder/white,/obj/item/weapon/stamp/rd{pixel_x = 3; pixel_y = -2},/obj/item/weapon/paper/monitorkey,/obj/item/device/megaphone,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/weapon/pen,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/heads/hor) -"bFV" = (/obj/machinery/door/airlock/maintenance{req_one_access = list(12,47)},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/maintenance/research_shuttle) +"bFV" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "research_dock_airlock"; name = "exterior access button"; pixel_x = -40; pixel_y = 8; req_one_access = list(13,65)},/obj/structure/lattice,/turf/space,/area/space) "bFW" = (/obj/machinery/computer/aifixer,/obj/machinery/requests_console{announcementConsole = 1; department = "Research Director's Desk"; departmentType = 5; name = "Research Director RC"; pixel_x = -2; pixel_y = 30},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/heads/hor) "bFX" = (/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor{dir = 8; icon_state = "warnwhite"},/area/crew_quarters/heads/hor) "bFY" = (/obj/structure/lamarr,/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/heads/hor) @@ -4371,12 +4371,12 @@ "bGc" = (/turf/simulated/floor/plating,/area/maintenance/research_shuttle) "bGd" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/research_shuttle) "bGe" = (/obj/machinery/light/small{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/turf/simulated/floor{icon_state = "white"},/area/rnd/docking) -"bGf" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/camera/network/research{c_tag = "Research Shuttle Dock"; dir = 8},/turf/simulated/floor{dir = 4; icon_state = "whitebluecorner"},/area/rnd/docking) -"bGg" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "research_dock_outer"; locked = 1; name = "Shuttle Airlock"; req_access = list(13)},/turf/simulated/floor/plating,/area/rnd/docking) -"bGh" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "research_dock_airlock"; name = "exterior access button"; pixel_x = -40; pixel_y = 8; req_one_access = list(13,65)},/obj/structure/lattice,/turf/space,/area/space) -"bGi" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad"},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "cargo_bay_door"; locked = 1; name = "Cargo Docking Hatch"; req_access = list(13)},/turf/simulated/floor/plating,/area/quartermaster/storage) -"bGj" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable/green,/obj/machinery/camera/network/civilian_west{c_tag = "Cargo Bay South"; dir = 1},/turf/simulated/floor,/area/quartermaster/storage) -"bGk" = (/obj/structure/grille,/obj/structure/window/reinforced/polarized{dir = 8},/obj/structure/window/reinforced/polarized,/obj/structure/window/reinforced/polarized{dir = 1},/turf/simulated/floor/plating,/area/quartermaster/qm) +"bGf" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad"},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "cargo_bay_door"; locked = 1; name = "Cargo Docking Hatch"; req_access = list(13)},/turf/simulated/floor/plating,/area/quartermaster/storage) +"bGg" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable/green,/obj/machinery/camera/network/civilian_west{c_tag = "Cargo Bay South"; dir = 1},/turf/simulated/floor,/area/quartermaster/storage) +"bGh" = (/obj/structure/grille,/obj/structure/window/reinforced/polarized{dir = 8},/obj/structure/window/reinforced/polarized,/obj/structure/window/reinforced/polarized{dir = 1},/turf/simulated/floor/plating,/area/quartermaster/qm) +"bGi" = (/obj/machinery/status_display/supply_display,/turf/simulated/wall,/area/quartermaster/qm) +"bGj" = (/obj/structure/grille,/obj/structure/window/reinforced/polarized,/obj/structure/window/reinforced/polarized{dir = 4},/obj/structure/window/reinforced/polarized{dir = 1},/turf/simulated/floor/plating,/area/quartermaster/qm) +"bGk" = (/obj/structure/grille,/obj/structure/window/reinforced/polarized,/obj/structure/window/reinforced/polarized{dir = 1},/turf/simulated/floor/plating,/area/quartermaster/qm) "bGl" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/quartermaster/storage) "bGm" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/quartermaster/storage) "bGn" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/quartermaster/storage) @@ -4386,17 +4386,17 @@ "bGr" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/quartermaster/storage) "bGs" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/quartermaster/storage) "bGt" = (/turf/simulated/wall,/area/quartermaster/miningdock) -"bGu" = (/obj/machinery/status_display/supply_display,/turf/simulated/wall,/area/quartermaster/qm) +"bGu" = (/obj/machinery/requests_console{announcementConsole = 1; department = "Head of Personnel's Desk"; departmentType = 5; name = "Head of Personnel RC"; pixel_y = -30},/obj/machinery/camera/network/command{c_tag = "Bridge - HoP's Office"; dir = 1},/turf/simulated/floor,/area/crew_quarters/heads/hop) "bGv" = (/turf/simulated/wall,/area/quartermaster/qm) "bGw" = (/obj/structure/filingcabinet,/turf/simulated/floor,/area/quartermaster/qm) "bGx" = (/obj/machinery/computer/supplycomp,/turf/simulated/floor,/area/quartermaster/qm) "bGy" = (/obj/machinery/computer/security/mining,/turf/simulated/floor,/area/quartermaster/qm) "bGz" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor,/area/quartermaster/qm) -"bGA" = (/obj/structure/grille,/obj/structure/window/reinforced/polarized,/obj/structure/window/reinforced/polarized{dir = 4},/obj/structure/window/reinforced/polarized{dir = 1},/turf/simulated/floor/plating,/area/quartermaster/qm) +"bGA" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/maintenance/disposal) "bGB" = (/obj/machinery/status_display,/turf/simulated/wall,/area/hallway/primary/central_three) -"bGC" = (/obj/structure/grille,/obj/structure/window/reinforced/polarized,/obj/structure/window/reinforced/polarized{dir = 1},/turf/simulated/floor/plating,/area/quartermaster/qm) -"bGD" = (/obj/machinery/requests_console{announcementConsole = 1; department = "Head of Personnel's Desk"; departmentType = 5; name = "Head of Personnel RC"; pixel_y = -30},/obj/machinery/camera/network/command{c_tag = "Bridge - HoP's Office"; dir = 1},/turf/simulated/floor,/area/crew_quarters/heads/hop) -"bGE" = (/obj/machinery/camera/network/command{c_tag = "AI - Messaging Server"; dir = 1},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/bluegrid,/area/turret_protected/ai_server_room) +"bGC" = (/obj/item/trash/candy,/obj/item/trash/popcorn,/turf/simulated/floor/plating,/area/maintenance/disposal) +"bGD" = (/obj/machinery/conveyor{dir = 5; id = "garbage"},/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor/plating,/area/maintenance/disposal) +"bGE" = (/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "medbayquar"; name = "Medbay Emergency Quarantine Shutters"; opacity = 0},/obj/machinery/door/firedoor,/turf/simulated/floor{dir = 4; icon_state = "loadingarea"; tag = "loading"},/area/medical/sleeper) "bGF" = (/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) "bGG" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) "bGH" = (/obj/machinery/vending/medical,/turf/simulated/wall,/area/medical/medbay) @@ -4414,23 +4414,23 @@ "bGT" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "whiteredcorner"},/area/medical/cryo) "bGU" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/cryo) "bGV" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/cryo) -"bGW" = (/obj/machinery/blackbox_recorder,/obj/machinery/light_switch{pixel_y = -25},/turf/simulated/floor/bluegrid,/area/turret_protected/ai_server_room) +"bGW" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/camera/network/medbay{c_tag = "Medbay Emergency Entrance"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) "bGX" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics_cloning) "bGY" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/hologram/holopad,/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{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics_cloning) "bGZ" = (/obj/structure/disposalpipe/junction{dir = 8},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics_cloning) -"bHa" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_server_room) +"bHa" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{name = "Medical Equipment"; req_access = list(5)},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay3) "bHb" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/medical/genetics) "bHc" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/medical/genetics) "bHd" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor{icon_state = "floorgrime"},/area/medical/genetics) "bHe" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/medical/genetics) -"bHf" = (/obj/item/light_fixture_frame,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor{icon_state = "floorgrime"},/area/medical/genetics) +"bHf" = (/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/wall/r_wall,/area/rnd/mixing) "bHg" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/structure/window/reinforced,/obj/machinery/door/blast/shutters{density = 0; dir = 4; icon_state = "shutter0"; id = "cmooffice"; name = "CMO Office Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/medbay2) "bHh" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/blast/shutters{density = 0; dir = 0; icon_state = "shutter0"; id = "staffroom"; name = "Staff Room Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/cryo) -"bHi" = (/obj/machinery/recharge_station,/obj/machinery/camera/network/command{c_tag = "AI - Cyborg Station"; dir = 1},/turf/simulated/floor/bluegrid,/area/turret_protected/ai_cyborg_station) -"bHj" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_cyborg_station) +"bHi" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/research{name = "Genetics Research"; req_access = list(9)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics) +"bHj" = (/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/airlock/research{name = "Research Division Access"; req_access = list(47)},/turf/simulated/floor{icon_state = "white"},/area/rnd/research) "bHk" = (/obj/machinery/vending/coffee,/turf/simulated/floor{icon_state = "white"},/area/rnd/research) -"bHl" = (/obj/machinery/recharge_station,/obj/machinery/light_switch{pixel_y = -25},/turf/simulated/floor/bluegrid,/area/turret_protected/ai_cyborg_station) -"bHm" = (/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "medbayquar"; name = "Medbay Emergency Quarantine Shutters"; opacity = 0},/obj/machinery/door/firedoor,/turf/simulated/floor{dir = 4; icon_state = "loadingarea"; tag = "loading"},/area/medical/sleeper) +"bHl" = (/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced/polarized{dir = 8},/obj/structure/window/reinforced/polarized{dir = 4},/turf/simulated/floor/plating,/area/rnd/research) +"bHm" = (/obj/structure/table,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/heads/hor) "bHn" = (/obj/machinery/computer/robotics,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/heads/hor) "bHo" = (/turf/simulated/floor{dir = 10; icon_state = "warnwhite"},/area/crew_quarters/heads/hor) "bHp" = (/turf/simulated/floor{dir = 2; icon_state = "warnwhite"},/area/crew_quarters/heads/hor) @@ -4456,26 +4456,26 @@ "bHJ" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/hallway/primary/central_three) "bHK" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/hallway/primary/central_three) "bHL" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/hallway/primary/central_three) -"bHM" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/camera/network/medbay{c_tag = "Medbay Emergency Entrance"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) -"bHN" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{name = "Medical Equipment"; req_access = list(5)},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay3) -"bHO" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/research{name = "Genetics Research"; req_access = list(9)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics) -"bHP" = (/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/airlock/research{name = "Research Division Access"; req_access = list(47)},/turf/simulated/floor{icon_state = "white"},/area/rnd/research) -"bHQ" = (/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced/polarized{dir = 8},/obj/structure/window/reinforced/polarized{dir = 4},/turf/simulated/floor/plating,/area/rnd/research) -"bHR" = (/obj/structure/table,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/heads/hor) -"bHS" = (/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor{dir = 4; icon_state = "whitebluecorner"},/area/rnd/docking) +"bHM" = (/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor{dir = 4; icon_state = "whitebluecorner"},/area/rnd/docking) +"bHN" = (/obj/structure/table,/obj/item/weapon/aiModule/nanotrasen,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/item/weapon/aiModule/reset,/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload) +"bHO" = (/obj/structure/table,/obj/item/weapon/aiModule/freeform,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/item/weapon/aiModule/protectStation,/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload) +"bHP" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "research_dock_airlock"; name = "interior access button"; pixel_x = 25; pixel_y = -25; req_one_access = list(13,65)},/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor{dir = 4; icon_state = "whitebluecorner"},/area/rnd/docking) +"bHQ" = (/obj/machinery/door/blast/regular{id = "trash"; name = "disposal mass driver"},/turf/simulated/floor/plating/airless,/area/maintenance/disposal) +"bHR" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/maintenance/disposal) +"bHS" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/obj/machinery/camera/network/research{c_tag = "Research Shuttle Dock Airlock"},/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/rnd/docking) "bHT" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor,/area/hallway/primary/central_three) -"bHU" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "research_dock_airlock"; name = "interior access button"; pixel_x = 25; pixel_y = -25; req_one_access = list(13,65)},/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor{dir = 4; icon_state = "whitebluecorner"},/area/rnd/docking) -"bHV" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/obj/machinery/camera/network/research{c_tag = "Research Shuttle Dock Airlock"},/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/rnd/docking) +"bHU" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "research_dock_inner"; locked = 1; name = "Shuttle Airlock"; req_access = list(13)},/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/docking) +"bHV" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1380; id_tag = "research_dock_pump"},/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/rnd/docking) "bHW" = (/obj/machinery/atm{pixel_y = 32},/turf/simulated/floor,/area/hallway/primary/central_two) "bHX" = (/obj/structure/extinguisher_cabinet{pixel_x = 5; pixel_y = 28},/turf/simulated/floor,/area/hallway/primary/central_two) "bHY" = (/obj/machinery/newscaster{pixel_y = 32},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor,/area/hallway/primary/central_two) -"bHZ" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "research_dock_inner"; locked = 1; name = "Shuttle Airlock"; req_access = list(13)},/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/docking) +"bHZ" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor/border_only{dir = 1; name = "Firelock North"},/obj/machinery/door/airlock/mining{id_tag = "cargodoor"; name = "Mining Dock"; req_access = list(48)},/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,/area/quartermaster/miningdock) "bIa" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "staffroom"; name = "Staff Room Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/medbay2) "bIb" = (/obj/machinery/light_switch{pixel_x = -22; pixel_y = 11},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) "bIc" = (/obj/structure/disposalpipe/segment,/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/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor{dir = 2; icon_state = "whitebluecorner"; tag = "icon-whitebluecorner"},/area/medical/medbay) "bId" = (/obj/machinery/door/firedoor,/turf/simulated/floor{dir = 2; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay) "bIe" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay3) -"bIf" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1380; id_tag = "research_dock_pump"},/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/rnd/docking) +"bIf" = (/obj/structure/disposalpipe/segment,/obj/machinery/camera/network/exodus{c_tag = "Primary Hallway Central - Southwest"; dir = 8},/turf/simulated/floor{dir = 4; icon_state = "bluecorner"},/area/hallway/primary/central_three) "bIg" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{dir = 1; icon_state = "white_cmo"; tag = "icon-whitehall_m"},/area/medical/medbay3) "bIh" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay3) "bIi" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay2) @@ -4484,22 +4484,22 @@ "bIl" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 8},/turf/simulated/floor{dir = 10; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/cryo) "bIm" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 1},/turf/simulated/floor{dir = 2; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/cryo) "bIn" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (SOUTHWEST)"; icon_state = "intact"; dir = 10},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor{dir = 2; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/cryo) -"bIo" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor/border_only{dir = 1; name = "Firelock North"},/obj/machinery/door/airlock/mining{id_tag = "cargodoor"; name = "Mining Dock"; req_access = list(48)},/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,/area/quartermaster/miningdock) +"bIo" = (/obj/machinery/door/airlock/command{id_tag = "hopdoor"; name = "Head of Personnel"; req_access = list(57)},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/crew_quarters/heads/hop) "bIp" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics_cloning) "bIq" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/medical/genetics) -"bIr" = (/obj/item/light_fixture_frame,/turf/simulated/floor/plating,/area/medical/genetics) +"bIr" = (/obj/machinery/door_control{id = "mixvent"; name = "Mixing Room Vent Control"; pixel_x = -25; pixel_y = 5; req_access = list(7)},/obj/machinery/button/ignition{id = "mixingsparker"; pixel_x = -25; pixel_y = -5},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable/green,/obj/machinery/atmospherics/valve{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor{dir = 4; icon_state = "warnwhitecorner"},/area/rnd/mixing) "bIs" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/medical/genetics) "bIt" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{icon_state = "floorgrime"},/area/medical/genetics) "bIu" = (/obj/item/weapon/table_parts,/turf/simulated/floor{icon_state = "floorgrime"},/area/medical/genetics) -"bIv" = (/obj/structure/disposalpipe/segment,/obj/machinery/camera/network/exodus{c_tag = "Primary Hallway Central - Southwest"; dir = 8},/turf/simulated/floor{dir = 4; icon_state = "bluecorner"},/area/hallway/primary/central_three) +"bIv" = (/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "medbayrecquar"; name = "Medbay Emergency Quarantine Shutters"; opacity = 0},/turf/simulated/floor,/area/medical/reception) "bIw" = (/turf/simulated/wall/r_wall,/area/maintenance/research_port) "bIx" = (/turf/simulated/wall/r_wall,/area/server) "bIy" = (/obj/machinery/r_n_d/server/robotics,/turf/simulated/floor/bluegrid{name = "Server Base"; nitrogen = 500; oxygen = 0; temperature = 80},/area/server) "bIz" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/blast/shutters{density = 0; dir = 0; icon_state = "shutter0"; id = "staffroom"; name = "Staff Room Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/cryo) -"bIA" = (/obj/machinery/door/airlock/command{id_tag = "hopdoor"; name = "Head of Personnel"; req_access = list(57)},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/crew_quarters/heads/hop) -"bIB" = (/obj/machinery/door/airlock/highsecurity{name = "Messaging Server"; req_access = list(30)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "dark"},/area/hallway/primary/central_three) +"bIA" = (/obj/machinery/door/airlock/multi_tile/glass{autoclose = 1; dir = 2; req_access = list(5)},/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/medical/sleeper) +"bIB" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{id_tag = "GeneticsDoor"; name = "Cloning Laboratory"; req_access = list(5)},/obj/structure/disposalpipe/segment{dir = 4},/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{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/cryo) "bIC" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"; tag = "icon-intact-f (SOUTHWEST)"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor{icon_state = "dark"},/area/server) -"bID" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/highsecurity{name = "Cyborg Station"; req_access = list(16)},/turf/simulated/floor{icon_state = "dark"},/area/hallway/primary/central_three) +"bID" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{id_tag = "GeneticsDoor"; name = "Genetics Laboratory"; req_access = list(9)},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics) "bIE" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "staffroom"; name = "Staff Room Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/medbay2) "bIF" = (/turf/simulated/wall/r_wall,/area/rnd/storage) "bIG" = (/obj/machinery/computer/area_atmos,/obj/machinery/light_switch{pixel_y = 28},/turf/simulated/floor{icon_state = "bot"},/area/rnd/storage) @@ -4508,7 +4508,7 @@ "bIJ" = (/turf/simulated/wall,/area/rnd/storage) "bIK" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor{dir = 5; icon_state = "whitehall"},/area/rnd/research) "bIL" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/rnd/research) -"bIM" = (/obj/machinery/door/airlock/multi_tile/glass{autoclose = 1; dir = 2; req_access = list(5)},/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/medical/sleeper) +"bIM" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "hazard door north"},/obj/machinery/door/airlock/command{name = "Server Room"; req_access = list(30)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "dark"},/area/rnd/research) "bIN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/heads/hor) "bIO" = (/obj/machinery/computer/mecha,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/heads/hor) "bIP" = (/obj/machinery/computer/area_atmos,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/heads/hor) @@ -4516,14 +4516,14 @@ "bIR" = (/obj/structure/table,/obj/item/device/taperecorder{pixel_x = -3},/obj/item/device/paicard{pixel_x = 4},/obj/item/device/radio/intercom{freerange = 0; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 29},/obj/item/weapon/circuitboard/teleporter,/obj/item/weapon/circuitboard/aicore{pixel_x = -2; pixel_y = 4},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/heads/hor) "bIS" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/plating,/area/maintenance/research_shuttle) "bIT" = (/obj/structure/table,/obj/item/weapon/folder/yellow,/obj/item/weapon/pen,/obj/machinery/requests_console{department = "Cargo Bay"; departmentType = 2; pixel_x = -30; pixel_y = 0},/turf/simulated/floor,/area/quartermaster/miningdock) -"bIU" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{id_tag = "GeneticsDoor"; name = "Cloning Laboratory"; req_access = list(5)},/obj/structure/disposalpipe/segment{dir = 4},/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{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/cryo) +"bIU" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/airlock/research{name = "Toxins Storage"; req_access = list(8)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/rnd/research) "bIV" = (/obj/structure/disposalpipe/segment,/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,/area/quartermaster/miningdock) "bIW" = (/obj/structure/table/rack{dir = 1},/obj/item/weapon/pickaxe{pixel_x = 5},/obj/item/weapon/shovel{pixel_x = -5},/turf/simulated/floor,/area/quartermaster/miningdock) -"bIX" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{id_tag = "GeneticsDoor"; name = "Genetics Laboratory"; req_access = list(9)},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics) +"bIX" = (/obj/structure/table,/obj/machinery/computer/skills{icon_state = "medlaptop"},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/heads/hor) "bIY" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/device/megaphone,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/quartermaster/qm) "bIZ" = (/obj/structure/table,/obj/item/weapon/folder/yellow,/obj/item/weapon/pen{pixel_x = 4; pixel_y = 4},/obj/item/weapon/pen/red{pixel_x = 2; pixel_y = 6},/turf/simulated/floor,/area/quartermaster/qm) "bJa" = (/obj/structure/table,/obj/item/weapon/clipboard,/obj/item/weapon/stamp{name = "Quartermaster's stamp"; pixel_x = 0; pixel_y = 0},/turf/simulated/floor,/area/quartermaster/qm) -"bJb" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "hazard door north"},/obj/machinery/door/airlock/command{name = "Server Room"; req_access = list(30)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "dark"},/area/rnd/research) +"bJb" = (/obj/structure/bed/chair/office/light{dir = 8},/obj/effect/landmark/start{name = "Research Director"},/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/door_control{id = "Biohazard"; name = "Biohazard Shutter Control"; pixel_x = -38; pixel_y = 13; req_access = list(47)},/obj/machinery/button/windowtint{pixel_x = -26; pixel_y = 21},/obj/machinery/door_control{desc = "A remote control-switch for the cargo doors."; id = "researchdoor"; name = "Research door control"; normaldoorcontrol = 1; pixel_x = -27; pixel_y = 13; req_access = list(30)},/obj/machinery/computer/security/telescreen{desc = "Used for watching the RD's goons from the safety of his office."; name = "Research Monitor"; network = list("Research","Toxins Test Area","Robots","Anomaly Isolation","Research Outpost"); pixel_x = 0; pixel_y = 34},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/heads/hor) "bJc" = (/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=AIW"; location = "QM"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor,/area/hallway/primary/central_three) "bJd" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor,/area/hallway/primary/central_three) "bJe" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/hallway/primary/central_three) @@ -4538,8 +4538,8 @@ "bJn" = (/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=CHE"; location = "AIE"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/hallway/primary/central_three) "bJo" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor,/area/hallway/primary/central_three) "bJp" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor,/area/hallway/primary/central_three) -"bJq" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/airlock/research{name = "Toxins Storage"; req_access = list(8)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/rnd/research) -"bJr" = (/obj/structure/table,/obj/machinery/computer/skills{icon_state = "medlaptop"},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/heads/hor) +"bJq" = (/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "research_dock_sensor"; pixel_x = 0; pixel_y = -25},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "admin_shuttle_dock_pump"},/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/rnd/docking) +"bJr" = (/obj/machinery/light/small{dir = 4},/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1380; id_tag = "research_dock_airlock"; pixel_x = 25; pixel_y = 0; req_one_access = list(13,65); tag_airpump = "research_dock_pump"; tag_chamber_sensor = "research_dock_sensor"; tag_exterior_door = "research_dock_outer"; tag_interior_door = "research_dock_inner"},/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/rnd/docking) "bJs" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/hallway/primary/central_two) "bJt" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/hallway/primary/central_two) "bJu" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/turf/simulated/floor,/area/hallway/primary/central_two) @@ -4551,7 +4551,7 @@ "bJA" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay) "bJB" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "cmooffice"; name = "CMO Office Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/medbay) "bJC" = (/obj/structure/extinguisher_cabinet{pixel_x = -24},/turf/simulated/floor,/area/rnd/storage) -"bJD" = (/obj/structure/bed/chair/office/light{dir = 8},/obj/effect/landmark/start{name = "Research Director"},/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/door_control{id = "Biohazard"; name = "Biohazard Shutter Control"; pixel_x = -38; pixel_y = 13; req_access = list(47)},/obj/machinery/button/windowtint{pixel_x = -26; pixel_y = 21},/obj/machinery/door_control{desc = "A remote control-switch for the cargo doors."; id = "researchdoor"; name = "Research door control"; normaldoorcontrol = 1; pixel_x = -27; pixel_y = 13; req_access = list(30)},/obj/machinery/computer/security/telescreen{desc = "Used for watching the RD's goons from the safety of his office."; name = "Research Monitor"; network = list("Research","Toxins Test Area","Robots","Anomaly Isolation","Research Outpost"); pixel_x = 0; pixel_y = 34},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/heads/hor) +"bJD" = (/obj/structure/bed/chair/office/dark,/obj/effect/landmark/start{name = "Quartermaster"},/obj/machinery/button/windowtint{pixel_x = 24; pixel_y = -24},/obj/machinery/door_control{desc = "A remote control-switch for the office door."; id = "qmdoor"; name = "Office Door Control"; normaldoorcontrol = 1; pixel_x = 15; pixel_y = -25; req_access = list(20)},/obj/machinery/door_control{desc = "A remote control-switch for the cargo doors."; id = "cargodoor"; name = "Cargo door control"; normaldoorcontrol = 1; pixel_x = 15; pixel_y = -34; req_access = list(41)},/turf/simulated/floor,/area/quartermaster/qm) "bJE" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "cmooffice"; name = "CMO Office Privacy Shutters"; opacity = 0},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/medical/medbay4) "bJF" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "cmooffice"; name = "CMO Office Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/medbay4) "bJG" = (/obj/structure/disposalpipe/segment,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) @@ -4569,7 +4569,7 @@ "bJS" = (/obj/machinery/alarm/server{dir = 4; pixel_x = -22; pixel_y = 0},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/bluegrid{icon_state = "dark"; name = "Server Walkway"; nitrogen = 500; oxygen = 0; temperature = 80},/area/server) "bJT" = (/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor/bluegrid{icon_state = "dark"; name = "Server Walkway"; nitrogen = 500; oxygen = 0; temperature = 80},/area/server) "bJU" = (/turf/simulated/floor/bluegrid{icon_state = "dark"; name = "Server Walkway"; nitrogen = 500; oxygen = 0; temperature = 80},/area/server) -"bJV" = (/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "research_dock_sensor"; pixel_x = 0; pixel_y = -25},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "admin_shuttle_dock_pump"},/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/rnd/docking) +"bJV" = (/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "medbayrecquar"; name = "Medbay Emergency Quarantine Shutters"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/medical/reception) "bJW" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/turf/simulated/floor{icon_state = "dark"},/area/server) "bJX" = (/obj/item/weapon/stool{pixel_y = 8},/obj/effect/landmark/start{name = "Paramedic"},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) "bJY" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/light/small{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/turf/simulated/floor{icon_state = "dark"},/area/server) @@ -4579,7 +4579,7 @@ "bKc" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor{dir = 5; icon_state = "whitehall"},/area/rnd/research) "bKd" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/rnd/research) "bKe" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{dir = 9; icon_state = "whitehall"},/area/rnd/research) -"bKf" = (/obj/machinery/light/small{dir = 4},/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1380; id_tag = "research_dock_airlock"; pixel_x = 25; pixel_y = 0; req_one_access = list(13,65); tag_airpump = "research_dock_pump"; tag_chamber_sensor = "research_dock_sensor"; tag_exterior_door = "research_dock_outer"; tag_interior_door = "research_dock_inner"},/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/rnd/docking) +"bKf" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/computer/aiupload,/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload) "bKg" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/heads/hor) "bKh" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/heads/hor) "bKi" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/heads/hop) @@ -4588,7 +4588,7 @@ "bKl" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/turf/simulated/floor/plating,/area/maintenance/research_shuttle) "bKm" = (/obj/structure/closet/crate,/obj/item/device/multitool,/obj/item/device/multitool,/obj/item/device/assembly/prox_sensor,/obj/item/device/flashlight,/obj/item/weapon/storage/backpack,/turf/simulated/floor/plating,/area/maintenance/research_shuttle) "bKn" = (/obj/structure/table/rack,/obj/item/weapon/extinguisher,/obj/item/weapon/storage/belt/utility,/obj/item/clothing/mask/gas,/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor/plating,/area/maintenance/research_shuttle) -"bKo" = (/obj/structure/bed/chair/office/dark,/obj/effect/landmark/start{name = "Quartermaster"},/obj/machinery/button/windowtint{pixel_x = 24; pixel_y = -24},/obj/machinery/door_control{desc = "A remote control-switch for the office door."; id = "qmdoor"; name = "Office Door Control"; normaldoorcontrol = 1; pixel_x = 15; pixel_y = -25; req_access = list(20)},/obj/machinery/door_control{desc = "A remote control-switch for the cargo doors."; id = "cargodoor"; name = "Cargo door control"; normaldoorcontrol = 1; pixel_x = 15; pixel_y = -34; req_access = list(41)},/turf/simulated/floor,/area/quartermaster/qm) +"bKo" = (/obj/machinery/camera/network/exodus{c_tag = "Primary Hallway Central - Southeast"},/turf/simulated/floor,/area/hallway/primary/central_two) "bKp" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/rnd/test_area) "bKq" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/rnd/test_area) "bKr" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless,/area/rnd/test_area) @@ -4599,9 +4599,9 @@ "bKw" = (/turf/simulated/shuttle/wall{icon_state = "swall12"; dir = 2},/area/shuttle/mining/station) "bKx" = (/obj/structure/window/shuttle,/obj/structure/grille,/turf/simulated/shuttle/plating,/area/shuttle/mining/station) "bKy" = (/turf/simulated/shuttle/wall{icon_state = "swall_s10"; dir = 2},/area/shuttle/mining/station) -"bKz" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/camera/network/exodus{c_tag = "Primary Hallway Central - South Southwest"},/obj/structure/sign/securearea{pixel_y = 32},/turf/simulated/floor{icon_state = "warningcorner"; dir = 8},/area/hallway/primary/central_three) +"bKz" = (/obj/structure/sign/goldenplaque{desc = "Done No Harm."; name = "Best Doctor 2552"; pixel_y = -32},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/camera/network/medbay{c_tag = "Medbay Equipment Storage Hallway"; dir = 1},/turf/simulated/floor{dir = 2; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay3) "bKA" = (/turf/simulated/floor,/area/quartermaster/miningdock) -"bKB" = (/obj/machinery/ai_status_display{pixel_y = 32},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "warningcorner"; dir = 4},/area/hallway/primary/central_three) +"bKB" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance{req_one_access = list(9,12,47)},/obj/structure/cable{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/plating,/area/maintenance/research_port) "bKC" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/quartermaster/qm) "bKD" = (/obj/machinery/hologram/holopad,/turf/simulated/floor,/area/quartermaster/qm) "bKE" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/quartermaster/qm) @@ -4620,13 +4620,13 @@ "bKR" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light,/turf/simulated/floor,/area/hallway/primary/central_three) "bKS" = (/obj/structure/disposalpipe/sortjunction/flipped{dir = 8; sortType = "Janitor Closet"; name = "Janitor Closet"},/turf/simulated/floor,/area/hallway/primary/central_three) "bKT" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/turf/simulated/floor,/area/hallway/primary/central_three) -"bKU" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/hallway/primary/central_three) -"bKV" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor,/area/hallway/primary/central_three) +"bKU" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/sign/securearea{desc = "A warning sign which reads 'SERVER ROOM'."; name = "SERVER ROOM"; pixel_y = 32},/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor/plating,/area/server) +"bKV" = (/obj/machinery/power/apc/high{dir = 1; name = "north bump"; pixel_y = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/camera/network/research{c_tag = "Research - Server Room"},/turf/simulated/floor{icon_state = "dark"},/area/server) "bKW" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/turf/simulated/floor,/area/hallway/primary/central_two) "bKX" = (/obj/machinery/light,/turf/simulated/floor,/area/hallway/primary/central_two) "bKY" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor,/area/hallway/primary/central_two) "bKZ" = (/obj/structure/closet/secure_closet/medical1,/obj/item/device/radio/intercom{broadcasting = 0; canhear_range = 5; freerange = 0; frequency = 1485; listening = 1; name = "Station Intercom (Medbay)"; pixel_x = 0; pixel_y = -31},/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/device/flashlight,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/random/medical,/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) -"bLa" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor{icon_state = "warningcorner"; dir = 8},/area/hallway/primary/central_three) +"bLa" = (/obj/structure/table/rack,/obj/item/weapon/rig/hazmat/equipped,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/heads/hor) "bLb" = (/obj/machinery/sleep_console,/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) "bLc" = (/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "scanhide"; name = "Diagnostics Room Separation Shutters"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/sleeper) "bLd" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/closet/fireaxecabinet{pixel_x = 32; pixel_y = 0},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) @@ -4639,7 +4639,7 @@ "bLk" = (/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "scanhide"; name = "Diagnostics Room Separation Shutters"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/sleeper) "bLl" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "cmooffice"; name = "CMO Office Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/medbay4) "bLm" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "cmooffice"; name = "CMO Office Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/medbay4) -"bLn" = (/obj/machinery/camera/network/exodus{c_tag = "Primary Hallway Central - South Southeast"},/obj/structure/sign/securearea{pixel_y = 32},/turf/simulated/floor{icon_state = "warningcorner"; dir = 4},/area/hallway/primary/central_three) +"bLn" = (/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced/polarized{dir = 8},/obj/structure/window/reinforced/polarized,/obj/structure/window/reinforced/polarized{dir = 4},/turf/simulated/floor/plating,/area/rnd/research) "bLo" = (/turf/simulated/wall,/area/medical/genetics_cloning) "bLp" = (/obj/structure/computerframe,/obj/item/weapon/shard{icon_state = "medium"},/turf/simulated/floor{icon_state = "floorgrime"},/area/medical/genetics) "bLq" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/constructable_frame/machine_frame,/turf/simulated/floor/plating,/area/medical/genetics) @@ -4649,9 +4649,9 @@ "bLu" = (/obj/structure/disposalpipe/segment,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/effect/decal/cleanable/dirt,/obj/structure/cable{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/plating,/area/maintenance/research_port) "bLv" = (/obj/structure/reagent_dispensers/watertank,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/research_port) "bLw" = (/obj/machinery/r_n_d/server/core,/turf/simulated/floor/bluegrid{name = "Server Base"; nitrogen = 500; oxygen = 0; temperature = 80},/area/server) -"bLx" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/hallway/primary/central_three) +"bLx" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/shuttle/plating,/area/rnd/docking) "bLy" = (/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor/bluegrid{icon_state = "dark"; name = "Server Walkway"; nitrogen = 500; oxygen = 0; temperature = 80},/area/server) -"bLz" = (/obj/machinery/camera/network/exodus{c_tag = "Primary Hallway Central - Southeast"},/turf/simulated/floor,/area/hallway/primary/central_two) +"bLz" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/shuttle/plating,/area/rnd/docking) "bLA" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/turf/simulated/floor{icon_state = "dark"},/area/server) "bLB" = (/obj/machinery/computer/rdservercontrol,/turf/simulated/floor{icon_state = "dark"},/area/server) "bLC" = (/obj/machinery/computer/message_monitor,/turf/simulated/floor{icon_state = "dark"},/area/server) @@ -4660,7 +4660,7 @@ "bLF" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "white"},/area/rnd/research) "bLG" = (/obj/machinery/light_switch{pixel_y = -23},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/green,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/heads/hor) "bLH" = (/obj/machinery/keycard_auth{pixel_x = 0; pixel_y = -24},/obj/machinery/light,/obj/structure/table,/obj/machinery/photocopier/faxmachine{department = "Research Director's Office"},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/heads/hop) -"bLI" = (/obj/structure/sign/goldenplaque{desc = "Done No Harm."; name = "Best Doctor 2552"; pixel_y = -32},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/camera/network/medbay{c_tag = "Medbay Equipment Storage Hallway"; dir = 1},/turf/simulated/floor{dir = 2; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay3) +"bLI" = (/obj/structure/grille,/obj/structure/window/reinforced/polarized{dir = 8},/obj/structure/window/reinforced/polarized{dir = 4},/obj/structure/window/reinforced/polarized{dir = 1},/turf/simulated/floor/plating,/area/quartermaster/qm) "bLJ" = (/obj/structure/closet/secure_closet/RD,/obj/structure/window/reinforced,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/heads/hor) "bLK" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/obj/structure/window/reinforced,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/heads/hor) "bLL" = (/obj/structure/window/reinforced,/obj/structure/filingcabinet/chestdrawer,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/heads/hor) @@ -4676,7 +4676,7 @@ "bLV" = (/turf/simulated/shuttle/wall{icon_state = "swall3"; dir = 2},/area/shuttle/mining/station) "bLW" = (/obj/structure/table,/turf/simulated/shuttle/floor,/area/shuttle/mining/station) "bLX" = (/obj/machinery/computer/shuttle_control/mining,/turf/simulated/shuttle/floor,/area/shuttle/mining/station) -"bLY" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance{req_one_access = list(9,12,47)},/obj/structure/cable{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/plating,/area/maintenance/research_port) +"bLY" = (/obj/structure/disposalpipe/segment,/obj/machinery/camera/network/civilian_west{c_tag = "Cargo - Quartermaster's Office"; dir = 8},/turf/simulated/floor,/area/quartermaster/qm) "bLZ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/quartermaster/miningdock) "bMa" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/sign/securearea{desc = "A warning sign which reads 'KEEP CLEAR OF DOCKING AREA'."; name = "KEEP CLEAR: DOCKING AREA"; pixel_y = 0},/turf/simulated/floor/plating,/area/quartermaster/miningdock) "bMb" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/quartermaster/miningdock) @@ -4685,16 +4685,16 @@ "bMe" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/quartermaster/miningdock) "bMf" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor,/area/quartermaster/miningdock) "bMg" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/quartermaster/miningdock) -"bMh" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/sign/securearea{desc = "A warning sign which reads 'SERVER ROOM'."; name = "SERVER ROOM"; pixel_y = 32},/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor/plating,/area/server) -"bMi" = (/obj/machinery/power/apc/high{dir = 1; name = "north bump"; pixel_y = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/camera/network/research{c_tag = "Research - Server Room"},/turf/simulated/floor{icon_state = "dark"},/area/server) +"bMh" = (/obj/machinery/door_control{id = "acute1"; name = "EMT Storage Privacy Shutters"; pixel_x = 26; pixel_y = 25; req_access = list(5)},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) +"bMi" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/command{id_tag = "cmodoor"; name = "CMO's Office"; req_access = list(40)},/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/heads/cmo) "bMj" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/quartermaster/qm) "bMk" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/quartermaster/qm) -"bMl" = (/obj/structure/table/rack,/obj/item/weapon/rig/hazmat/equipped,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/heads/hor) +"bMl" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/window/westleft{dir = 8; name = "Server Room"; opacity = 1; req_access = list(30)},/obj/machinery/door/window/westleft{dir = 4; name = "Server Room"; opacity = 1; req_access = list(30)},/turf/simulated/floor{icon_state = "dark"},/area/server) "bMm" = (/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor,/area/hallway/primary/central_three) "bMn" = (/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/hallway/primary/central_three) "bMo" = (/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/junction,/turf/simulated/floor,/area/hallway/primary/central_three) -"bMp" = (/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced/polarized{dir = 8},/obj/structure/window/reinforced/polarized,/obj/structure/window/reinforced/polarized{dir = 4},/turf/simulated/floor/plating,/area/rnd/research) -"bMq" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/shuttle/plating,/area/rnd/docking) +"bMp" = (/obj/structure/bed/chair/office/light,/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/server) +"bMq" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock/command{name = "Research Director"; req_access = list(30)},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/rnd/research) "bMr" = (/obj/machinery/vending/cigarette,/turf/simulated/floor{icon_state = "dark"},/area/hallway/primary/central_two) "bMs" = (/obj/structure/bed/chair{dir = 1},/turf/simulated/shuttle/floor,/area/shuttle/mining/station) "bMt" = (/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "acutesep"; name = "Acute Separation Shutters"; opacity = 0},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/sleeper) @@ -4706,12 +4706,12 @@ "bMz" = (/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/heads/cmo) "bMA" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/heads/cmo) "bMB" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/closet/secure_closet/CMO,/obj/item/clothing/mask/gas,/turf/simulated/floor{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/crew_quarters/heads/cmo) -"bMC" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/shuttle/plating,/area/rnd/docking) +"bMC" = (/obj/structure/table/rack,/obj/item/weapon/extinguisher,/obj/item/weapon/storage/belt/utility,/obj/item/clothing/mask/gas,/mob/living/simple_animal/mouse,/turf/simulated/floor/plating,/area/maintenance/research_shuttle) "bMD" = (/obj/structure/disposalpipe/junction{icon_state = "pipe-j2"; dir = 2},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/light_switch{pixel_x = 22; pixel_y = 0},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) "bME" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall,/area/medical/medbay2) "bMF" = (/obj/machinery/light{dir = 1},/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/obj/machinery/door_control{id = "staffroom"; name = "Staff Room Shutters Control"; pixel_x = -26; pixel_y = 0},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/medbreak) "bMG" = (/obj/structure/reagent_dispensers/water_cooler,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/medbreak) -"bMH" = (/obj/structure/lattice,/obj/structure/grille,/obj/structure/sign/securearea{desc = "A warning sign which reads 'KEEP CLEAR OF DOCKING AREA'."; name = "KEEP CLEAR: DOCKING AREA"; pixel_y = 0},/turf/space,/area/space) +"bMH" = (/obj/machinery/computer/security/mining,/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/obj/machinery/camera/network/civilian_west{c_tag = "Cargo Mining Dock"; dir = 4},/turf/simulated/floor,/area/quartermaster/miningdock) "bMI" = (/obj/structure/noticeboard{pixel_y = 28},/obj/structure/table/woodentable,/obj/item/weapon/book/manual/medical_diagnostics_manual{pixel_y = 7},/obj/item/device/radio{anchored = 1; broadcasting = 0; canhear_range = 4; frequency = 1487; icon = 'icons/obj/items.dmi'; icon_state = "red_phone"; listening = 1; name = "Break Room Emergency Phone"},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/medbreak) "bMJ" = (/obj/machinery/light{dir = 1},/obj/structure/bookcase/manuals/medical,/obj/item/weapon/book/manual/stasis,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/medbreak) "bMK" = (/turf/simulated/wall,/area/crew_quarters/medbreak) @@ -4719,34 +4719,34 @@ "bMM" = (/obj/item/weapon/shard{icon_state = "medium"},/turf/simulated/floor{icon_state = "floorgrime"},/area/medical/genetics) "bMN" = (/obj/structure/disposalpipe/segment,/obj/effect/decal/cleanable/dirt,/obj/structure/cable{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/plating,/area/maintenance/research_port) "bMO" = (/turf/simulated/wall/r_wall,/area/rnd/misc_lab) -"bMP" = (/obj/structure/grille,/obj/structure/window/reinforced/polarized{dir = 8},/obj/structure/window/reinforced/polarized{dir = 4},/obj/structure/window/reinforced/polarized{dir = 1},/turf/simulated/floor/plating,/area/quartermaster/qm) +"bMP" = (/obj/structure/grille,/obj/structure/window/reinforced/polarized{dir = 8},/obj/structure/window/reinforced/polarized,/obj/structure/window/reinforced/polarized{dir = 4},/turf/simulated/floor/plating,/area/quartermaster/qm) "bMQ" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/mob/living/simple_animal/mouse/white,/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/rnd/storage) "bMR" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/rnd/storage) -"bMS" = (/obj/structure/disposalpipe/segment,/obj/machinery/camera/network/civilian_west{c_tag = "Cargo - Quartermaster's Office"; dir = 8},/turf/simulated/floor,/area/quartermaster/qm) +"bMS" = (/obj/structure/bed/chair{dir = 1},/turf/simulated/floor,/area/quartermaster/qm) "bMT" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "hazard door north"},/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "white"},/area/rnd/research) "bMU" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "hazard door north"},/turf/simulated/floor{dir = 9; icon_state = "whitehall"},/area/rnd/research) "bMV" = (/turf/simulated/wall/r_wall,/area/rnd/mixing) "bMW" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/machinery/portable_atmospherics/powered/scrubber/huge,/turf/simulated/floor/plating,/area/rnd/mixing) "bMX" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/disposalpipe/segment,/obj/machinery/portable_atmospherics/powered/scrubber/huge,/turf/simulated/floor/plating,/area/rnd/mixing) "bMY" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/portable_atmospherics/powered/scrubber/huge,/turf/simulated/floor/plating,/area/rnd/mixing) -"bMZ" = (/obj/structure/closet/secure_closet/scientist,/obj/machinery/light_switch{pixel_y = 28},/turf/simulated/floor{dir = 2; icon_state = "whitepurple"},/area/rnd/mixing) +"bMZ" = (/obj/structure/sign/fire{pixel_y = -32},/obj/machinery/atmospherics/binary/pump{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/engine,/area/rnd/mixing) "bNa" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable{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/plating,/area/maintenance/research_shuttle) "bNb" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/maintenance/research_shuttle) "bNc" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "misclab"; name = "Test Chamber Blast Doors"; opacity = 0},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor{icon_state = "white"},/area/rnd/misc_lab) -"bNd" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor,/area/hallway/primary/central_three) +"bNd" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 8; name = "hazard door west"},/turf/simulated/floor,/area/hallway/primary/central_three) "bNe" = (/obj/structure/closet/emcloset,/turf/simulated/floor/plating/airless,/area/rnd/test_area) -"bNf" = (/obj/machinery/hologram/holopad,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/hallway/primary/central_three) +"bNf" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor,/area/hallway/primary/central_three) "bNg" = (/turf/simulated/shuttle/floor,/area/shuttle/mining/station) "bNh" = (/obj/machinery/light_switch{pixel_x = 22; pixel_y = 0},/obj/structure/bed,/obj/item/weapon/bedsheet/blue,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/medbreak) "bNi" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/quartermaster/miningdock) "bNj" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1380; id_tag = "mining_dock_pump"},/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/quartermaster/miningdock) -"bNk" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor,/area/hallway/primary/central_three) +"bNk" = (/obj/structure/table/rack,/obj/item/weapon/crowbar,/obj/item/weapon/crowbar,/obj/item/weapon/storage/toolbox/mechanical,/obj/machinery/vending/wallmed1{pixel_x = -32; pixel_y = 0},/obj/item/roller,/obj/item/roller,/obj/item/roller,/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) "bNl" = (/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/wall,/area/quartermaster/miningdock) "bNm" = (/obj/machinery/light{dir = 8},/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor{dir = 8; icon_state = "brown"},/area/quartermaster/miningdock) "bNn" = (/obj/effect/landmark/start{name = "Shaft Miner"},/turf/simulated/floor,/area/quartermaster/miningdock) "bNo" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor,/area/quartermaster/miningdock) "bNp" = (/obj/structure/disposalpipe/segment,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor,/area/quartermaster/miningdock) -"bNq" = (/obj/machinery/door_control{id = "acute1"; name = "EMT Storage Privacy Shutters"; pixel_x = 26; pixel_y = 25; req_access = list(5)},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) +"bNq" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) "bNr" = (/obj/structure/closet/secure_closet/quartermaster,/turf/simulated/floor,/area/quartermaster/qm) "bNs" = (/obj/structure/table,/obj/item/weapon/coin/silver{pixel_x = -3; pixel_y = 3},/obj/item/weapon/coin/silver,/obj/item/device/eftpos{eftpos_name = "Quartermaster EFTPOS scanner"},/turf/simulated/floor,/area/quartermaster/qm) "bNt" = (/obj/structure/table,/obj/item/weapon/cartridge/quartermaster{pixel_x = 6; pixel_y = 5},/obj/item/weapon/cartridge/quartermaster,/obj/item/weapon/cartridge/quartermaster{pixel_x = -4; pixel_y = 7},/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor,/area/quartermaster/qm) @@ -4757,7 +4757,7 @@ "bNy" = (/turf/simulated/wall,/area/storage/tech) "bNz" = (/obj/structure/table,/obj/item/device/flashlight{pixel_x = 1; pixel_y = 5},/obj/item/device/flashlight{pixel_x = 1; pixel_y = 5},/obj/item/device/flash,/obj/item/device/flash,/obj/machinery/ai_status_display{pixel_x = -32; pixel_y = 0},/turf/simulated/floor/plating,/area/storage/tech) "bNA" = (/obj/machinery/light/small{dir = 1},/obj/machinery/alarm{frequency = 1439; pixel_y = 23},/turf/simulated/floor/plating,/area/storage/tech) -"bNB" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/command{id_tag = "cmodoor"; name = "CMO's Office"; req_access = list(40)},/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/heads/cmo) +"bNB" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{autoclose = 1; name = "EMT Storage"; req_access = list(5)},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/medbay) "bNC" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/stock_parts/manipulator,/obj/item/weapon/stock_parts/matter_bin,/obj/item/weapon/stock_parts/matter_bin,/obj/item/weapon/stock_parts/capacitor,/obj/item/weapon/stock_parts/capacitor,/turf/simulated/floor/plating,/area/storage/tech) "bND" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/circuitboard/unary_atmos/heater,/obj/item/weapon/circuitboard/unary_atmos/cooler{pixel_x = 3; pixel_y = -3},/turf/simulated/floor/plating,/area/storage/tech) "bNE" = (/obj/machinery/vending/assist,/turf/simulated/floor/plating,/area/storage/tech) @@ -4767,12 +4767,12 @@ "bNI" = (/obj/machinery/door/airlock/glass{name = "Central Access"},/obj/structure/disposalpipe/segment,/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft) "bNJ" = (/obj/structure/closet/jcloset,/turf/simulated/floor,/area/janitor) "bNK" = (/obj/structure/closet/l3closet/janitor,/obj/machinery/alarm{frequency = 1439; pixel_y = 23},/turf/simulated/floor,/area/janitor) -"bNL" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/window/westleft{dir = 8; name = "Server Room"; opacity = 1; req_access = list(30)},/obj/machinery/door/window/westleft{dir = 4; name = "Server Room"; opacity = 1; req_access = list(30)},/turf/simulated/floor{icon_state = "dark"},/area/server) +"bNL" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/sign/securearea{desc = "A warning sign which reads 'SERVER ROOM'."; name = "SERVER ROOM"; pixel_y = -32},/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor/plating,/area/server) "bNM" = (/obj/machinery/newscaster{pixel_y = 30},/turf/simulated/floor,/area/janitor) "bNN" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/janitor) "bNO" = (/obj/item/device/radio/intercom{pixel_y = 25},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor,/area/janitor) "bNP" = (/turf/simulated/floor,/area/janitor) -"bNQ" = (/obj/structure/bed/chair/office/light,/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/server) +"bNQ" = (/obj/structure/table,/obj/item/weapon/cartridge/signal/science,/obj/item/weapon/cartridge/signal/science{pixel_x = -4; pixel_y = 2},/obj/item/weapon/cartridge/signal/science{pixel_x = 4; pixel_y = 6},/obj/item/clothing/glasses/welding/superior,/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/machinery/camera/network/research{c_tag = "Research - RD's Office"; dir = 1},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/heads/hor) "bNR" = (/obj/machinery/navbeacon{codes_txt = "delivery;dir=8"; freq = 1400; location = "Janitor"},/obj/structure/plasticflaps{opacity = 1},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{icon_state = "bot"},/area/janitor) "bNS" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/engineering) "bNT" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/engineering) @@ -4781,27 +4781,27 @@ "bNW" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "misclab"; name = "Test Chamber Blast Doors"; opacity = 0},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor{icon_state = "white"},/area/rnd/misc_lab) "bNX" = (/obj/item/weapon/stool,/obj/effect/landmark/start{name = "Janitor"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/janitor) "bNY" = (/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/obj/machinery/sleeper,/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/sleeper) -"bNZ" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock/command{name = "Research Director"; req_access = list(30)},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/rnd/research) +"bNZ" = (/obj/structure/table,/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "mining_shuttle"; pixel_x = 25; pixel_y = -8; req_one_access = list(13,48); tag_door = "mining_shuttle_hatch"},/turf/simulated/shuttle/floor,/area/shuttle/mining/station) "bOa" = (/obj/structure/disposalpipe/segment,/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{icon_state = "white"},/area/medical/medbay) -"bOb" = (/obj/structure/table/rack,/obj/item/weapon/extinguisher,/obj/item/weapon/storage/belt/utility,/obj/item/clothing/mask/gas,/mob/living/simple_animal/mouse,/turf/simulated/floor/plating,/area/maintenance/research_shuttle) -"bOc" = (/obj/machinery/computer/security/mining,/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/obj/machinery/camera/network/civilian_west{c_tag = "Cargo Mining Dock"; dir = 4},/turf/simulated/floor,/area/quartermaster/miningdock) -"bOd" = (/obj/structure/grille,/obj/structure/window/reinforced/polarized{dir = 8},/obj/structure/window/reinforced/polarized,/obj/structure/window/reinforced/polarized{dir = 4},/turf/simulated/floor/plating,/area/quartermaster/qm) +"bOb" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/light_switch{pixel_x = -24; pixel_y = -24},/turf/simulated/floor,/area/quartermaster/qm) +"bOc" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock/mining{id_tag = "qmdoor"; name = "Quartermaster"; req_access = list(41)},/turf/simulated/floor,/area/quartermaster/qm) +"bOd" = (/obj/machinery/door/airlock/maintenance{req_access = list(12)},/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hallway/primary/central_three) "bOe" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/heads/cmo) -"bOf" = (/obj/structure/bed/chair{dir = 1},/turf/simulated/floor,/area/quartermaster/qm) +"bOf" = (/obj/machinery/door/airlock{name = "Custodial Closet"; req_access = list(26)},/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/hallway/primary/central_three) "bOg" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) "bOh" = (/obj/structure/disposalpipe/segment,/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/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) -"bOi" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 8; name = "hazard door west"},/turf/simulated/floor,/area/hallway/primary/central_three) +"bOi" = (/obj/machinery/door/airlock/maintenance{req_access = list(12)},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hallway/primary/central_two) "bOj" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/medbreak) "bOk" = (/obj/item/weapon/stool,/obj/effect/landmark/start{name = "Medical Doctor"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/medbreak) "bOl" = (/obj/item/weapon/stool,/obj/effect/landmark/start{name = "Geneticist"},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/medbreak) "bOm" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/medbreak) -"bOn" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor,/area/hallway/primary/central_three) +"bOn" = (/obj/machinery/door_control{id = "acutesep"; name = "Acute Separation Shutters"; pixel_y = -25; req_access = list(5)},/obj/item/weapon/stool{pixel_y = 8},/obj/effect/landmark/start{name = "Paramedic"},/obj/machinery/camera/network/medbay{c_tag = "Medbay EMT Storage"; dir = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) "bOo" = (/obj/machinery/light,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/medical/genetics) "bOp" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/computer/security/telescreen{desc = "Used for watching the test chamber."; layer = 4; name = "Test Chamber Telescreen"; network = list("Toxins Test Area"); pixel_x = 32; pixel_y = 0},/turf/simulated/floor,/area/rnd/mixing) "bOq" = (/obj/machinery/portable_atmospherics/canister,/turf/simulated/floor/engine,/area/rnd/misc_lab) "bOr" = (/obj/machinery/portable_atmospherics/canister,/obj/machinery/light{dir = 1},/turf/simulated/floor/engine,/area/rnd/misc_lab) "bOs" = (/turf/simulated/floor/engine,/area/rnd/misc_lab) -"bOt" = (/obj/structure/table/rack,/obj/item/weapon/crowbar,/obj/item/weapon/crowbar,/obj/item/weapon/storage/toolbox/mechanical,/obj/machinery/vending/wallmed1{pixel_x = -32; pixel_y = 0},/obj/item/roller,/obj/item/roller,/obj/item/roller,/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) +"bOt" = (/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/camera/network/medbay{c_tag = "Medbay Starboard Corridor"; dir = 4},/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/medical/medbay2) "bOu" = (/obj/item/device/radio/intercom{pixel_y = 25},/turf/simulated/floor/engine,/area/rnd/misc_lab) "bOv" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/engine,/area/rnd/misc_lab) "bOw" = (/obj/structure/reagent_dispensers/fueltank,/obj/machinery/light{dir = 1},/turf/simulated/floor/engine,/area/rnd/misc_lab) @@ -4811,24 +4811,24 @@ "bOA" = (/obj/machinery/portable_atmospherics/canister/sleeping_agent,/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/rnd/storage) "bOB" = (/obj/machinery/light{dir = 8},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor{dir = 5; icon_state = "whitehall"},/area/rnd/research) "bOC" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor{icon_state = "white"},/area/rnd/research) -"bOD" = (/obj/structure/closet/bombcloset,/turf/simulated/floor{dir = 6; icon_state = "whitepurple"},/area/rnd/mixing) -"bOE" = (/obj/structure/closet/secure_closet/scientist,/obj/machinery/alarm{frequency = 1439; pixel_y = 23},/turf/simulated/floor{dir = 2; icon_state = "whitepurple"},/area/rnd/mixing) -"bOF" = (/obj/structure/disposalpipe/segment,/obj/machinery/portable_atmospherics/canister,/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/rnd/mixing) -"bOG" = (/obj/machinery/portable_atmospherics/canister,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/rnd/mixing) -"bOH" = (/obj/item/device/radio/intercom{pixel_y = 25},/obj/machinery/atmospherics/portables_connector{dir = 4},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/rnd/mixing) -"bOI" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) -"bOJ" = (/obj/machinery/portable_atmospherics/powered/pump/filled,/obj/machinery/atmospherics/portables_connector,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/rnd/mixing) -"bOK" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 1},/obj/machinery/meter,/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/rnd/mixing) -"bOL" = (/obj/machinery/atmospherics/omni/filter{tag_east = 1; tag_south = 6; tag_west = 2; use_power = 0},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/rnd/mixing) -"bOM" = (/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/omni/mixer{tag_east = 1; tag_east_con = 0.5; tag_south = 1; tag_south_con = 0.5; tag_west = 2; use_power = 0},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/rnd/mixing) -"bON" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{autoclose = 1; name = "EMT Storage"; req_access = list(5)},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/medbay) +"bOD" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/turf/simulated/floor/engine/vacuum,/area/rnd/mixing) +"bOE" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 5},/turf/simulated/floor/engine/vacuum,/area/rnd/mixing) +"bOF" = (/obj/machinery/light,/obj/structure/extinguisher_cabinet{pixel_x = 0; pixel_y = -29},/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/machinery/meter,/turf/simulated/floor{dir = 4; icon_state = "warnwhite"},/area/rnd/mixing) +"bOG" = (/obj/structure/cable{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/plating,/area/maintenance/research_starboard) +"bOH" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction,/turf/simulated/floor/engine/vacuum,/area/rnd/mixing) +"bOI" = (/obj/machinery/washing_machine,/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/camera/network/medbay{c_tag = "Medbay Break Room"},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/medbreak) +"bOJ" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0; pixel_y = 32},/obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction,/turf/simulated/floor/engine/vacuum,/area/rnd/mixing) +"bOK" = (/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/wall/r_wall,/area/rnd/mixing) +"bOL" = (/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "tox_airlock_pump"; tag_exterior_door = "tox_airlock_exterior"; id_tag = "tox_airlock_control"; tag_interior_door = "tox_airlock_interior"; pixel_x = -24; pixel_y = 0; tag_chamber_sensor = "tox_airlock_sensor"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/tvalve/bypass{dir = 8},/turf/simulated/floor{dir = 1; icon_state = "warnwhitecorner"},/area/rnd/mixing) +"bOM" = (/obj/machinery/airlock_sensor{id_tag = "tox_airlock_sensor"; master_tag = "tox_airlock_control"; pixel_y = 24},/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/binary/pump{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/engine,/area/rnd/mixing) +"bON" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/camera/network/research{c_tag = "Research - Toxins Storage"; dir = 4},/turf/simulated/floor,/area/rnd/storage) "bOO" = (/turf/simulated/wall,/area/rnd/mixing) "bOP" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'BOMB RANGE"; name = "BOMB RANGE"},/turf/simulated/wall,/area/rnd/test_area) -"bOQ" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/sign/securearea{desc = "A warning sign which reads 'SERVER ROOM'."; name = "SERVER ROOM"; pixel_y = -32},/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor/plating,/area/server) -"bOR" = (/obj/structure/table,/obj/item/weapon/cartridge/signal/science,/obj/item/weapon/cartridge/signal/science{pixel_x = -4; pixel_y = 2},/obj/item/weapon/cartridge/signal/science{pixel_x = 4; pixel_y = 6},/obj/item/clothing/glasses/welding/superior,/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/machinery/camera/network/research{c_tag = "Research - RD's Office"; dir = 1},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/heads/hor) +"bOQ" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "hazard door north"},/obj/machinery/camera/network/research{c_tag = "Research Division Central"; dir = 4},/turf/simulated/floor{dir = 5; icon_state = "whitehall"},/area/rnd/research) +"bOR" = (/obj/machinery/door/airlock/external{name = "Toxins Test Chamber"},/turf/simulated/floor/plating/airless,/area/rnd/test_area) "bOS" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor,/area/quartermaster/miningdock) -"bOT" = (/obj/structure/table,/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "mining_shuttle"; pixel_x = 25; pixel_y = -8; req_one_access = list(13,48); tag_door = "mining_shuttle_hatch"},/turf/simulated/shuttle/floor,/area/shuttle/mining/station) -"bOU" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/light_switch{pixel_x = -24; pixel_y = -24},/turf/simulated/floor,/area/quartermaster/qm) +"bOT" = (/obj/machinery/light{dir = 1},/obj/machinery/camera/network/research{c_tag = "Research - Toxins Test Chamber North"; network = list("Research","Toxins Test Area")},/turf/simulated/floor/airless,/area/rnd/test_area) +"bOU" = (/obj/machinery/light/small{dir = 4; pixel_y = 8},/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1380; id_tag = "mining_dock_airlock"; pixel_x = 25; pixel_y = -5; req_one_access = list(13,48); tag_airpump = "mining_dock_pump"; tag_chamber_sensor = "mining_dock_sensor"; tag_exterior_door = "mining_dock_outer"; tag_interior_door = "mining_dock_inner"},/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "mining_dock_sensor"; pixel_x = 25; pixel_y = 8},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/quartermaster/miningdock) "bOV" = (/obj/structure/disposalpipe/segment,/obj/effect/landmark/start{name = "Shaft Miner"},/turf/simulated/floor,/area/quartermaster/miningdock) "bOW" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/quartermaster/miningdock) "bOX" = (/obj/item/weapon/cigbutt,/turf/simulated/floor/plating,/area/maintenance/cargo) @@ -4855,19 +4855,19 @@ "bPs" = (/obj/structure/mopbucket,/obj/item/weapon/mop,/turf/simulated/floor,/area/janitor) "bPt" = (/turf/simulated/wall,/area/janitor) "bPu" = (/obj/structure/grille{density = 0; icon_state = "brokengrille"},/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/engineering) -"bPv" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock/mining{id_tag = "qmdoor"; name = "Quartermaster"; req_access = list(41)},/turf/simulated/floor,/area/quartermaster/qm) +"bPv" = (/obj/structure/closet,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor,/area/quartermaster/qm) "bPw" = (/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor/plating,/area/maintenance/engineering) "bPx" = (/turf/simulated/floor/plating,/area/maintenance/engineering) "bPy" = (/obj/structure/table/rack{dir = 1},/obj/item/clothing/suit/fire/firefighter,/obj/item/weapon/tank/oxygen,/obj/item/clothing/mask/gas,/obj/item/weapon/extinguisher,/obj/item/clothing/head/hardhat/red,/obj/item/clothing/glasses/meson,/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor/plating,/area/maintenance/engineering) "bPz" = (/obj/machinery/door/firedoor,/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "acute2"; name = "Acute Privacy Shutters"; opacity = 0},/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/medbay) -"bPA" = (/obj/machinery/door/airlock/maintenance{req_access = list(12)},/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hallway/primary/central_three) +"bPA" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/camera/network/security{c_tag = "Engineering - Technical Storage"},/turf/simulated/floor/plating,/area/storage/tech) "bPB" = (/mob/living/simple_animal/cat/fluff/Runtime,/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/heads/cmo) -"bPC" = (/obj/machinery/door/airlock{name = "Custodial Closet"; req_access = list(26)},/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/hallway/primary/central_three) -"bPD" = (/obj/machinery/door/airlock/maintenance{req_access = list(12)},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hallway/primary/central_two) +"bPC" = (/obj/item/weapon/storage/box/lights/mixed,/obj/item/weapon/storage/box/lights/mixed,/obj/machinery/light_switch{pixel_y = 28},/obj/machinery/camera/network/security{c_tag = "Custodial Closet"},/turf/simulated/floor,/area/janitor) +"bPD" = (/obj/machinery/door/window/westleft{name = "Janitoral Delivery"; req_access = list(26)},/turf/simulated/floor{icon_state = "delivery"},/area/janitor) "bPE" = (/obj/structure/table,/obj/machinery/computer/skills{pixel_y = 4},/obj/item/device/megaphone,/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/heads/cmo) -"bPF" = (/obj/machinery/door_control{id = "acutesep"; name = "Acute Separation Shutters"; pixel_y = -25; req_access = list(5)},/obj/item/weapon/stool{pixel_y = 8},/obj/effect/landmark/start{name = "Paramedic"},/obj/machinery/camera/network/medbay{c_tag = "Medbay EMT Storage"; dir = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) +"bPF" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) "bPG" = (/obj/structure/table,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/computer/med_data/laptop{pixel_x = 3; pixel_y = 4},/turf/simulated/floor{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/crew_quarters/heads/cmo) -"bPH" = (/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/camera/network/medbay{c_tag = "Medbay Starboard Corridor"; dir = 4},/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/medical/medbay2) +"bPH" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/command{name = "CMO's Office"; req_access = list(40)},/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/heads/cmo) "bPI" = (/obj/structure/disposalpipe/segment,/obj/machinery/newscaster{pixel_x = 30},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) "bPJ" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/table,/obj/item/weapon/clipboard,/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 0; pixel_y = 36},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/button/windowtint{id = "isoA_window_tint"; pixel_y = 26},/turf/simulated/floor{dir = 5; icon_state = "whitered"},/area/medical/patient_a) "bPK" = (/obj/structure/table,/obj/machinery/recharger{pixel_y = 0},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/medbreak) @@ -4878,42 +4878,42 @@ "bPP" = (/obj/machinery/sparker{id = "Xenobio"; pixel_x = -25},/turf/simulated/floor/engine,/area/rnd/misc_lab) "bPQ" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "misclab"; name = "Test Chamber Blast Doors"; opacity = 0},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor/engine,/area/rnd/misc_lab) "bPR" = (/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (SOUTHWEST)"; icon_state = "intact"; dir = 10},/turf/simulated/floor/engine,/area/rnd/misc_lab) -"bPS" = (/obj/machinery/washing_machine,/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/camera/network/medbay{c_tag = "Medbay Break Room"},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/medbreak) +"bPS" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/command{name = "CMO's Office"; req_access = list(40)},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/heads/cmo) "bPT" = (/obj/item/weapon/cigbutt,/turf/simulated/floor{icon_state = "floorgrime"},/area/rnd/storage) "bPU" = (/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/rnd/storage) "bPV" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "white"},/area/rnd/research) "bPW" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 9; icon_state = "whitehall"},/area/rnd/research) -"bPX" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/camera/network/research{c_tag = "Research - Toxins Storage"; dir = 4},/turf/simulated/floor,/area/rnd/storage) +"bPX" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{name = "Staff Room"; req_access = list(5)},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/medical/medbay2) "bPY" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/mixing) -"bPZ" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor{icon_state = "white"},/area/rnd/mixing) -"bQa" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/machinery/atmospherics/binary/pump{dir = 8; name = "Waste to Scrubbers"},/turf/simulated/floor{icon_state = "white"},/area/rnd/mixing) -"bQb" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/universal{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/mixing) -"bQc" = (/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (SOUTHWEST)"; icon_state = "intact"; dir = 10},/turf/simulated/floor{dir = 2; icon_state = "whitehall"},/area/rnd/mixing) -"bQd" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/manifold4w/visible,/turf/simulated/floor{icon_state = "white"},/area/rnd/mixing) -"bQe" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/rnd/mixing) +"bPZ" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/machinery/meter,/turf/simulated/floor{dir = 4; icon_state = "warnwhite"},/area/rnd/mixing) +"bQa" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging,/turf/simulated/floor/engine/vacuum,/area/rnd/mixing) +"bQb" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{dir = 8; icon_state = "warnwhite"},/area/rnd/mixing) +"bQc" = (/obj/item/weapon/wrench,/turf/simulated/floor/plating,/area/maintenance/research_starboard) +"bQd" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/research_starboard) +"bQe" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/plating,/area/maintenance/research_starboard) "bQf" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "floorgrime"},/area/rnd/mixing) -"bQg" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/turf/simulated/floor,/area/rnd/mixing) +"bQg" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/plating,/area/maintenance/research_starboard) "bQh" = (/obj/item/device/radio/intercom{pixel_y = 25},/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor,/area/rnd/mixing) "bQi" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/computer/security/telescreen{desc = "Used for watching the test chamber."; layer = 4; name = "Test Chamber Telescreen"; network = list("Toxins Test Area"); pixel_x = 32; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor,/area/rnd/mixing) -"bQj" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "hazard door north"},/obj/machinery/camera/network/research{c_tag = "Research Division Central"; dir = 4},/turf/simulated/floor{dir = 5; icon_state = "whitehall"},/area/rnd/research) +"bQj" = (/obj/machinery/camera/network/research{c_tag = "Research - Miscellaneous Test Chamber"; network = list("Research","Miscellaneous Reseach")},/turf/simulated/floor/engine,/area/rnd/misc_lab) "bQk" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/rnd/mixing) "bQl" = (/turf/simulated/floor/airless{dir = 9; icon_state = "warning"},/area/rnd/test_area) "bQm" = (/turf/simulated/floor/airless{icon_state = "warning"; dir = 1},/area/rnd/test_area) "bQn" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/quartermaster/miningdock) "bQo" = (/obj/item/weapon/ore/silver,/obj/item/weapon/ore/silver,/obj/item/weapon/ore/iron,/obj/structure/closet/crate,/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1380; id_tag = "mining_dock_pump"},/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/quartermaster/miningdock) -"bQp" = (/obj/machinery/door/airlock/external{name = "Toxins Test Chamber"},/turf/simulated/floor/plating/airless,/area/rnd/test_area) +"bQp" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/research_starboard) "bQq" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0},/turf/simulated/wall,/area/quartermaster/miningdock) "bQr" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = -32},/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor{dir = 10; icon_state = "brown"},/area/quartermaster/miningdock) "bQs" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor,/area/quartermaster/miningdock) "bQt" = (/obj/structure/disposalpipe/sortjunction{dir = 8; icon_state = "pipe-j1s"; sortType = "QM Office"; name = "QM Office"},/turf/simulated/floor,/area/quartermaster/miningdock) -"bQu" = (/obj/machinery/light{dir = 1},/obj/machinery/camera/network/research{c_tag = "Research - Toxins Test Chamber North"; network = list("Research","Toxins Test Area")},/turf/simulated/floor/airless,/area/rnd/test_area) +"bQu" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance{req_one_access = list(8,12)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/research_shuttle) "bQv" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/maintenance/cargo) "bQw" = (/obj/structure/disposalpipe/sortjunction{dir = 8; icon_state = "pipe-j1s"; sortType = "HoP Office"; name = "HoP Office"},/turf/simulated/floor/plating,/area/maintenance/cargo) "bQx" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/cargo) "bQy" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/maintenance/cargo) "bQz" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green,/turf/simulated/floor/plating,/area/storage/tech) "bQA" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/circuitboard/borgupload{pixel_x = -1; pixel_y = 1},/obj/item/weapon/circuitboard/aiupload{pixel_x = 2; pixel_y = -2},/turf/simulated/floor,/area/storage/tech) -"bQB" = (/obj/machinery/light/small{dir = 4; pixel_y = 8},/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1380; id_tag = "mining_dock_airlock"; pixel_x = 25; pixel_y = -5; req_one_access = list(13,48); tag_airpump = "mining_dock_pump"; tag_chamber_sensor = "mining_dock_sensor"; tag_exterior_door = "mining_dock_outer"; tag_interior_door = "mining_dock_inner"},/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "mining_dock_sensor"; pixel_x = 25; pixel_y = 8},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/quartermaster/miningdock) +"bQB" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "mining_dock_outer"; locked = 1; name = "Mining Dock Airlock"; req_access = list(13)},/turf/simulated/floor/plating,/area/quartermaster/miningdock) "bQC" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"},/turf/simulated/wall/r_wall,/area/storage/tech) "bQD" = (/obj/structure/table,/obj/item/device/aicard,/obj/item/weapon/aiModule/reset,/turf/simulated/floor/plating,/area/storage/tech) "bQE" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/circuitboard/pandemic{pixel_x = -3; pixel_y = 3},/obj/item/weapon/circuitboard/rdconsole,/obj/item/weapon/circuitboard/destructive_analyzer,/obj/item/weapon/circuitboard/protolathe,/obj/item/weapon/circuitboard/rdserver{pixel_x = 3; pixel_y = -3},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/storage/tech) @@ -4935,14 +4935,14 @@ "bQU" = (/obj/structure/closet,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/maintenance/engineering) "bQV" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) "bQW" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "misclab"; name = "Test Chamber Blast Doors"; opacity = 0},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/engine,/area/rnd/misc_lab) -"bQX" = (/obj/structure/closet,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor,/area/quartermaster/qm) +"bQX" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "mining_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access = list(13)},/turf/simulated/shuttle/floor,/area/shuttle/mining/station) "bQY" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 4; frequency = 1441; icon_state = "map_injector"; id = "n2_in"; use_power = 1},/turf/simulated/floor/engine,/area/rnd/misc_lab) "bQZ" = (/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/crew_quarters/heads/cmo) "bRa" = (/obj/structure/table/rack,/obj/item/clothing/accessory/stethoscope,/obj/item/clothing/glasses/hud/health,/obj/item/device/flashlight/pen,/obj/item/weapon/storage/belt/medical,/obj/machinery/keycard_auth{pixel_x = 0; pixel_y = -24},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = -38},/turf/simulated/floor{dir = 2; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/crew_quarters/heads/cmo) "bRb" = (/obj/item/weapon/stool,/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = -30},/obj/effect/landmark/start{name = "Chemist"},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/medbreak) "bRc" = (/obj/structure/table,/obj/item/weapon/folder/white{pixel_y = 10},/obj/item/weapon/clipboard,/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/obj/item/weapon/stamp/cmo,/turf/simulated/floor{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/crew_quarters/heads/cmo) -"bRd" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/camera/network/security{c_tag = "Engineering - Technical Storage"},/turf/simulated/floor/plating,/area/storage/tech) -"bRe" = (/obj/item/weapon/storage/box/lights/mixed,/obj/item/weapon/storage/box/lights/mixed,/obj/machinery/light_switch{pixel_y = 28},/obj/machinery/camera/network/security{c_tag = "Custodial Closet"},/turf/simulated/floor,/area/janitor) +"bRd" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "mining_dock_airlock"; name = "interior access button"; pixel_x = -25; pixel_y = 25; req_one_access = list(13,48)},/turf/simulated/floor{dir = 8; icon_state = "brown"},/area/quartermaster/miningdock) +"bRe" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "mining_dock_inner"; locked = 1; name = "Mining Dock Airlock"; req_access = list(13)},/turf/simulated/floor,/area/quartermaster/miningdock) "bRf" = (/obj/machinery/computer/crew,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/medbreak) "bRg" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/structure/closet/secure_closet/personal/patient,/turf/simulated/floor{dir = 9; icon_state = "whitered"},/area/medical/patient_a) "bRh" = (/obj/machinery/light{dir = 1},/obj/machinery/newscaster{pixel_y = 32},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/hologram/holopad,/turf/simulated/floor{dir = 1; icon_state = "whitered"},/area/medical/patient_a) @@ -4959,21 +4959,21 @@ "bRs" = (/obj/structure/extinguisher_cabinet{pixel_x = -24},/turf/simulated/floor{dir = 5; icon_state = "whitehall"},/area/rnd/research) "bRt" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor{icon_state = "white"},/area/rnd/research) "bRu" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{dir = 9; icon_state = "whitehall"},/area/rnd/research) -"bRv" = (/obj/machinery/door/window/westleft{name = "Janitoral Delivery"; req_access = list(26)},/turf/simulated/floor{icon_state = "delivery"},/area/janitor) +"bRv" = (/obj/machinery/hologram/holopad,/turf/simulated/floor,/area/quartermaster/miningdock) "bRw" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "white"},/area/rnd/mixing) -"bRx" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) -"bRy" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/command{name = "CMO's Office"; req_access = list(40)},/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/heads/cmo) -"bRz" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/command{name = "CMO's Office"; req_access = list(40)},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/heads/cmo) -"bRA" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{name = "Staff Room"; req_access = list(5)},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/medical/medbay2) -"bRB" = (/obj/machinery/camera/network/research{c_tag = "Research - Miscellaneous Test Chamber"; network = list("Research","Miscellaneous Reseach")},/turf/simulated/floor/engine,/area/rnd/misc_lab) +"bRx" = (/obj/machinery/door/airlock/maintenance{name = "Firefighting equipment"; req_access = list(12)},/turf/simulated/floor/plating,/area/maintenance/engineering) +"bRy" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/door_control{id = "acutesep"; name = "Acute Separation Shutters"; pixel_y = 25; req_access = list(5)},/obj/machinery/camera/network/medbay{c_tag = "Medbay Acute"},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) +"bRz" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{autoclose = 0; name = "Acute Treatment"; req_access = list(5)},/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/medbay) +"bRA" = (/obj/structure/disposalpipe/segment,/obj/machinery/light_switch{pixel_x = 22; pixel_y = -9},/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/camera/network/medbay{c_tag = "Medbay Port Corridor"; dir = 8},/turf/simulated/floor{dir = 4; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay) +"bRB" = (/obj/machinery/light_switch{pixel_x = -22; pixel_y = -9},/obj/machinery/requests_console{announcementConsole = 1; department = "Chief Medical Officer's Desk"; departmentType = 5; name = "Chief Medical Officer RC"; pixel_x = -34; pixel_y = 2},/obj/machinery/camera/network/medbay{c_tag = "Medbay - CMO's Office"; dir = 4},/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/crew_quarters/heads/cmo) "bRC" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "cmooffice"; name = "CMO Office Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/medbay) -"bRD" = (/obj/machinery/requests_console{department = "Science"; departmentType = 2; name = "Science Requests Console"; pixel_x = 30; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor{tag = "icon-warningcorner (WEST)"; icon_state = "warningcorner"; dir = 8},/area/rnd/mixing) +"bRD" = (/obj/effect/decal/cleanable/blood/oil/streak{amount = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/plating,/area/maintenance/research_starboard) "bRE" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/turf/simulated/floor{icon_state = "floorgrime"},/area/rnd/mixing) -"bRF" = (/obj/machinery/light/small{dir = 4},/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor{icon_state = "warningcorner"; dir = 2},/area/rnd/mixing) +"bRF" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/research_starboard) "bRG" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/blast/shutters{density = 0; dir = 4; icon_state = "shutter0"; id = "cmooffice"; name = "CMO Office Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/medbay2) "bRH" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/rnd/mixing) "bRI" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/rnd/mixing) -"bRJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/effect/landmark/start{name = "Scientist"},/turf/simulated/floor{icon_state = "white"},/area/rnd/mixing) +"bRJ" = (/obj/structure/table,/obj/item/weapon/paper{desc = "A few notes scratched out by the last CMO before they departed the station."; info = "\[i]\[center]To the incoming CMO of Exodus:\[/i]\[/center]\[br]\[br]I wish you and your crew well. Do take note:\[br]\[br]\[br]The Medical Emergency Red Phone system has proven itself well. Take care to keep the phones in their designated places as they have been optimised for broadcast. The two handheld green radios (I have left one in this office, and one near the Emergency Entrance) are free to be used. The system has proven effective at alerting Medbay of important details, especially during power outages.\[br]\[br]I think I may have left the toilet cubicle doors shut. It might be a good idea to open them so the staff and patients know they are not engaged.\[br]\[br]The new syringe gun has been stored in secondary storage. I tend to prefer it stored in my office, but 'guidelines' are 'guidelines'.\[br]\[br]Also in secondary storage is the grenade equipment crate. I've just realised I've left it open - you may wish to shut it.\[br]\[br]There were a few problems with their installation, but the Medbay Quarantine shutters should now be working again - they lock down the Emergency and Main entrances to prevent travel in and out. Pray you shan't have to use them.\[br]\[br]The new version of the Medical Diagnostics Manual arrived. I distributed them to the shelf in the staff break room, and one on the table in the corner of this room.\[br]\[br]The exam/triage room has the walking canes in it. I'm not sure why we'd need them - but there you have it.\[br]\[br]Emergency Cryo bags are beside the emergency entrance, along with a kit.\[br]\[br]Spare paper cups for the reception are on the left side of the reception desk.\[br]\[br]I've fed Runtime. She should be fine.\[br]\[br]\[br]\[center]That should be all. Good luck!\[/center]"; name = "Outgoing CMO's Notes"},/obj/item/device/radio{frequency = 1487; name = "Medbay Emergency Radio Link"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/heads/cmo) "bRK" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/rnd/mixing) "bRL" = (/turf/simulated/floor/airless{dir = 8; icon_state = "warning"},/area/rnd/test_area) "bRM" = (/obj/structure/closet/crate,/turf/simulated/shuttle/floor,/area/shuttle/mining/station) @@ -4986,33 +4986,33 @@ "bRT" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green,/turf/simulated/floor/plating,/area/storage/tech) "bRU" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/circuitboard/crew{pixel_x = -1; pixel_y = 1},/obj/item/weapon/circuitboard/card{pixel_x = 2; pixel_y = -2},/obj/item/weapon/circuitboard/communications{pixel_x = 5; pixel_y = -5},/obj/machinery/light/small{dir = 8},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/storage/tech) "bRV" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/storage/tech) -"bRW" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance{req_one_access = list(8,12)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/research_shuttle) +"bRW" = (/obj/machinery/light_switch{pixel_x = -22; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/medical/medbay2) "bRX" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/storage/tech) "bRY" = (/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/storage/tech) "bRZ" = (/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/plating,/area/storage/tech) "bSa" = (/obj/effect/landmark{name = "blobstart"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/plating,/area/storage/tech) "bSb" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/storage/tech) -"bSc" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "mining_dock_outer"; locked = 1; name = "Mining Dock Airlock"; req_access = list(13)},/turf/simulated/floor/plating,/area/quartermaster/miningdock) +"bSc" = (/obj/structure/table,/obj/structure/table,/obj/item/stack/cable_coil,/obj/item/device/multitool,/obj/machinery/cell_charger,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/turf/simulated/floor/engine,/area/rnd/misc_lab) "bSd" = (/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/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "cautioncorner"},/area/hallway/primary/aft) "bSe" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor,/area/hallway/primary/aft) "bSf" = (/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/obj/structure/bed/chair/office/dark,/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/patient_b) -"bSg" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "mining_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access = list(13)},/turf/simulated/shuttle/floor,/area/shuttle/mining/station) +"bSg" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/airlock/glass_research{name = "Toxins Lab"; req_access = list(8)},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{icon_state = "white"},/area/rnd/research) "bSh" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/maintenance/engineering) "bSi" = (/obj/structure/grille{density = 0; icon_state = "brokengrille"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/engineering) "bSj" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/engineering) "bSk" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/maintenance/engineering) "bSl" = (/obj/structure/table,/obj/item/device/t_scanner,/turf/simulated/floor/plating,/area/maintenance/engineering) "bSm" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) -"bSn" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "mining_dock_airlock"; name = "interior access button"; pixel_x = -25; pixel_y = 25; req_one_access = list(13,48)},/turf/simulated/floor{dir = 8; icon_state = "brown"},/area/quartermaster/miningdock) +"bSn" = (/obj/machinery/button/driver{dir = 2; id = "toxinsdriver"; pixel_y = 24},/obj/machinery/camera/network/research{c_tag = "Research - Toxins Launch Room"},/turf/simulated/floor,/area/rnd/mixing) "bSo" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) "bSp" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "staffroom"; name = "Staff Room Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/medbay2) "bSq" = (/obj/machinery/light,/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/turf/simulated/floor{dir = 10; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/crew_quarters/heads/cmo) -"bSr" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/binary/pump{dir = 4; name = "Heater to Waste"},/turf/simulated/floor{dir = 2; icon_state = "warnwhite"},/area/rnd/mixing) +"bSr" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/research_starboard) "bSs" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/heads/cmo) "bSt" = (/obj/machinery/computer/crew,/obj/machinery/light,/turf/simulated/floor{dir = 6; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/crew_quarters/heads/cmo) -"bSu" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "mining_dock_inner"; locked = 1; name = "Mining Dock Airlock"; req_access = list(13)},/turf/simulated/floor,/area/quartermaster/miningdock) +"bSu" = (/obj/structure/closet/emcloset,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/obj/machinery/camera/network/civilian_west{c_tag = "Cargo Mining Dock Airlock"; dir = 8},/turf/simulated/floor{icon_state = "warning"},/area/quartermaster/miningdock) "bSv" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) -"bSw" = (/obj/machinery/hologram/holopad,/turf/simulated/floor,/area/quartermaster/miningdock) +"bSw" = (/obj/machinery/door/airlock/maintenance{name = "Mining Maintenance"; req_access = list(48)},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/quartermaster/miningdock) "bSx" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/machinery/light,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/medbreak) "bSy" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/computer/security/telescreen{desc = "Used for watching the test chamber."; layer = 4; name = "Test Chamber Telescreen"; network = list("Toxins Test Area"); pixel_x = 32; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor{icon_state = "warningcorner"; dir = 1},/area/rnd/mixing) "bSz" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/structure/extinguisher_cabinet{pixel_x = -24},/turf/simulated/floor{dir = 8; icon_state = "cautioncorner"},/area/hallway/primary/aft) @@ -5020,7 +5020,7 @@ "bSB" = (/obj/machinery/light,/obj/machinery/vending/snack,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/medbreak) "bSC" = (/obj/machinery/atmospherics/binary/passive_gate{dir = 8},/turf/simulated/floor{dir = 4; icon_state = "warnwhite"},/area/rnd/mixing) "bSD" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/medical/patient_a) -"bSE" = (/obj/machinery/door/airlock/maintenance{name = "Firefighting equipment"; req_access = list(12)},/turf/simulated/floor/plating,/area/maintenance/engineering) +"bSE" = (/obj/machinery/camera/network/security{c_tag = "Engineering - Secure Technical Storage"},/turf/simulated/floor,/area/storage/tech) "bSF" = (/obj/machinery/light/small{dir = 4},/obj/machinery/requests_console{department = "Tech storage"; pixel_x = 28; pixel_y = 0},/turf/simulated/floor/plating,/area/storage/tech) "bSG" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/medical/patient_b) "bSH" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor,/area/hallway/primary/aft) @@ -5028,17 +5028,17 @@ "bSJ" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/rnd/storage) "bSK" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/turf/simulated/floor{dir = 5; icon_state = "whitehall"},/area/rnd/research) "bSL" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "white"},/area/rnd/research) -"bSM" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible{icon_state = "intact"; dir = 6},/turf/simulated/floor{icon_state = "white"},/area/rnd/mixing) -"bSN" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/binary/pump{dir = 1; name = "Heated to Waste"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/mixing) -"bSO" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/turf/simulated/floor{dir = 2; icon_state = "warnwhite"},/area/rnd/mixing) -"bSP" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/rnd/mixing) -"bSQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "white"},/area/rnd/mixing) -"bSR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/rnd/mixing) -"bSS" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/mixing) +"bSM" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/plating,/area/maintenance/research_starboard) +"bSN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/research_starboard) +"bSO" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/research_starboard) +"bSP" = (/obj/structure/closet/secure_closet/scientist,/obj/machinery/light_switch{pixel_y = 28},/turf/simulated/floor{dir = 2; icon_state = "whitepurple"},/area/rnd/mixing) +"bSQ" = (/obj/machinery/portable_atmospherics/powered/pump/filled,/obj/machinery/atmospherics/portables_connector,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/rnd/mixing) +"bSR" = (/obj/item/device/radio/intercom{pixel_y = 25},/obj/machinery/atmospherics/portables_connector{dir = 4},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/rnd/mixing) +"bSS" = (/obj/machinery/atmospherics/omni/filter{tag_east = 1; tag_south = 6; tag_west = 2; use_power = 0},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/rnd/mixing) "bST" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft) "bSU" = (/turf/simulated/wall,/area/engineering/break_room) -"bSV" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/door_control{id = "acutesep"; name = "Acute Separation Shutters"; pixel_y = 25; req_access = list(5)},/obj/machinery/camera/network/medbay{c_tag = "Medbay Acute"},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) -"bSW" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{autoclose = 0; name = "Acute Treatment"; req_access = list(5)},/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/medbay) +"bSV" = (/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) +"bSW" = (/obj/structure/bed/chair/office/dark{dir = 1},/obj/effect/landmark/start{name = "Chief Medical Officer"},/obj/machinery/door_control{desc = "A remote control-switch for shutters."; id = "cmooffice"; name = "CMO Privacy Shutters"; pixel_x = 38; pixel_y = 21},/obj/machinery/door_control{desc = "A remote control switch for the CMO's office."; id = "cmodoor"; name = "CMO Office Door Control"; normaldoorcontrol = 1; pixel_x = 28; pixel_y = 21},/obj/machinery/door_control{desc = "A remote control-switch for shutters."; id = "virologyquar"; name = "Virology Emergency Lockdown Control"; pixel_x = -15; pixel_y = 38; req_access = list(5)},/obj/machinery/door_control{desc = "A remote control-switch for shutters."; id = "medbayquar"; name = "Medbay Emergency Lockdown Control"; pixel_x = -15; pixel_y = 30; req_access = list(5)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/heads/cmo) "bSX" = (/obj/machinery/disposal,/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = -30; pixel_y = 0},/obj/structure/disposalpipe/trunk,/turf/simulated/floor{icon_state = "warningcorner"; dir = 2},/area/rnd/mixing) "bSY" = (/turf/simulated/floor{icon_state = "warning"},/area/rnd/mixing) "bSZ" = (/obj/machinery/atmospherics/pipe/simple/visible{icon_state = "intact"; dir = 6},/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/medical/sleeper) @@ -5048,7 +5048,7 @@ "bTd" = (/turf/simulated/shuttle/wall{icon_state = "swall_s5"; dir = 2},/area/shuttle/mining/station) "bTe" = (/obj/structure/shuttle/engine/propulsion/burst,/turf/space,/area/shuttle/mining/station) "bTf" = (/turf/simulated/shuttle/wall{icon_state = "swall_s9"; dir = 2},/area/shuttle/mining/station) -"bTg" = (/obj/structure/disposalpipe/segment,/obj/machinery/light_switch{pixel_x = 22; pixel_y = -9},/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/camera/network/medbay{c_tag = "Medbay Port Corridor"; dir = 8},/turf/simulated/floor{dir = 4; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay) +"bTg" = (/obj/machinery/door/airlock/glass_research{name = "Toxins Lab"; req_access = list(8)},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{icon_state = "white"},/area/rnd/research) "bTh" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/quartermaster/miningdock) "bTi" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/quartermaster/miningdock) "bTj" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/quartermaster/miningdock) @@ -5068,7 +5068,7 @@ "bTx" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/medical/sleeper) "bTy" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/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{dir = 4},/turf/simulated/floor,/area/hallway/primary/aft) "bTz" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft) -"bTA" = (/obj/machinery/light_switch{pixel_x = -22; pixel_y = -9},/obj/machinery/requests_console{announcementConsole = 1; department = "Chief Medical Officer's Desk"; departmentType = 5; name = "Chief Medical Officer RC"; pixel_x = -34; pixel_y = 2},/obj/machinery/camera/network/medbay{c_tag = "Medbay - CMO's Office"; dir = 4},/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/crew_quarters/heads/cmo) +"bTA" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 1},/obj/machinery/meter,/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/rnd/mixing) "bTB" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/engineering) "bTC" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/engineering) "bTD" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/maintenance/engineering) @@ -5082,7 +5082,7 @@ "bTL" = (/obj/machinery/door/firedoor,/obj/structure/disposalpipe/segment,/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{dir = 4; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay4) "bTM" = (/obj/machinery/light{dir = 1},/obj/structure/bed/chair/comfy/teal{tag = "icon-comfychair (EAST)"; icon_state = "comfychair"; dir = 4},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay4) "bTN" = (/obj/item/device/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_y = 26},/obj/structure/bed/chair/comfy/teal{tag = "icon-comfychair (WEST)"; icon_state = "comfychair"; dir = 8},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay4) -"bTO" = (/obj/structure/table,/obj/item/weapon/paper{desc = "A few notes scratched out by the last CMO before they departed the station."; info = "\[i]\[center]To the incoming CMO of Exodus:\[/i]\[/center]\[br]\[br]I wish you and your crew well. Do take note:\[br]\[br]\[br]The Medical Emergency Red Phone system has proven itself well. Take care to keep the phones in their designated places as they have been optimised for broadcast. The two handheld green radios (I have left one in this office, and one near the Emergency Entrance) are free to be used. The system has proven effective at alerting Medbay of important details, especially during power outages.\[br]\[br]I think I may have left the toilet cubicle doors shut. It might be a good idea to open them so the staff and patients know they are not engaged.\[br]\[br]The new syringe gun has been stored in secondary storage. I tend to prefer it stored in my office, but 'guidelines' are 'guidelines'.\[br]\[br]Also in secondary storage is the grenade equipment crate. I've just realised I've left it open - you may wish to shut it.\[br]\[br]There were a few problems with their installation, but the Medbay Quarantine shutters should now be working again - they lock down the Emergency and Main entrances to prevent travel in and out. Pray you shan't have to use them.\[br]\[br]The new version of the Medical Diagnostics Manual arrived. I distributed them to the shelf in the staff break room, and one on the table in the corner of this room.\[br]\[br]The exam/triage room has the walking canes in it. I'm not sure why we'd need them - but there you have it.\[br]\[br]Emergency Cryo bags are beside the emergency entrance, along with a kit.\[br]\[br]Spare paper cups for the reception are on the left side of the reception desk.\[br]\[br]I've fed Runtime. She should be fine.\[br]\[br]\[br]\[center]That should be all. Good luck!\[/center]"; name = "Outgoing CMO's Notes"},/obj/item/device/radio{frequency = 1487; name = "Medbay Emergency Radio Link"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/heads/cmo) +"bTO" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "white"},/area/rnd/mixing) "bTP" = (/obj/machinery/vending/medical,/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/patient_wing) "bTQ" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{icon_state = "bot"},/area/rnd/research) "bTR" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/medical/medbay4) @@ -5095,7 +5095,7 @@ "bTY" = (/obj/machinery/iv_drip,/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{dir = 6; icon_state = "whitered"},/area/medical/patient_b) "bTZ" = (/obj/machinery/shieldwallgen{anchored = 1; req_access = list(47)},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor{icon_state = "white"},/area/rnd/misc_lab) "bUa" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "bot"},/area/rnd/research) -"bUb" = (/obj/machinery/light_switch{pixel_x = -22; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/medical/medbay2) +"bUb" = (/obj/structure/closet/secure_closet/scientist,/obj/machinery/alarm{frequency = 1439; pixel_y = 23},/turf/simulated/floor{dir = 2; icon_state = "whitepurple"},/area/rnd/mixing) "bUc" = (/obj/machinery/atmospherics/unary/freezer{dir = 2; icon_state = "freezer_1"; use_power = 1; power_setting = 20; set_temperature = 73},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{icon_state = "dark"},/area/server) "bUd" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; icon_state = "map_vent_out"; use_power = 1},/turf/simulated/floor/bluegrid{name = "Server Base"; nitrogen = 500; oxygen = 0; temperature = 80},/area/server) "bUe" = (/obj/machinery/light{dir = 1},/obj/machinery/door/firedoor,/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay4) @@ -5104,19 +5104,19 @@ "bUh" = (/obj/machinery/light_switch{pixel_y = -23},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor{icon_state = "floorgrime"},/area/rnd/storage) "bUi" = (/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/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "warningcorner"; dir = 8},/area/rnd/storage) "bUj" = (/obj/structure/sign/fire{pixel_x = 32; pixel_y = 0},/turf/simulated/floor{dir = 9; icon_state = "whitehall"},/area/rnd/research) -"bUk" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/rnd/mixing) +"bUk" = (/obj/structure/closet/bombcloset,/turf/simulated/floor{dir = 6; icon_state = "whitepurple"},/area/rnd/mixing) "bUl" = (/obj/structure/grille,/obj/structure/window/reinforced/polarized{id = "isoA_window_tint"},/obj/structure/window/reinforced/polarized{dir = 4; id = "isoA_window_tint"},/obj/structure/window/reinforced/polarized{dir = 1; id = "isoA_window_tint"},/obj/structure/window/reinforced/polarized{dir = 8; id = "isoA_window_tint"},/turf/simulated/floor/plating,/area/medical/patient_a) "bUm" = (/obj/structure/grille,/obj/structure/window/reinforced/polarized{dir = 4; id = "isoA_window_tint"},/obj/structure/window/reinforced/polarized{id = "isoA_window_tint"},/obj/structure/window/reinforced/polarized{dir = 1; id = "isoA_window_tint"},/obj/structure/window/reinforced/polarized{dir = 8; id = "isoA_window_tint"},/turf/simulated/floor/plating,/area/medical/patient_a) "bUn" = (/turf/simulated/wall,/area/maintenance/research_starboard) -"bUo" = (/obj/structure/table,/obj/structure/table,/obj/item/stack/cable_coil,/obj/item/device/multitool,/obj/machinery/cell_charger,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/turf/simulated/floor/engine,/area/rnd/misc_lab) +"bUo" = (/obj/machinery/portable_atmospherics/canister,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/rnd/mixing) "bUp" = (/obj/structure/disposaloutlet,/obj/structure/window/reinforced{dir = 1},/obj/structure/disposalpipe/trunk{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating/airless,/area/rnd/mixing) -"bUq" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/airlock/glass_research{name = "Toxins Lab"; req_access = list(8)},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{icon_state = "white"},/area/rnd/research) +"bUq" = (/obj/structure/disposalpipe/segment,/obj/machinery/portable_atmospherics/canister,/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/rnd/mixing) "bUr" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/rnd/mixing) "bUs" = (/turf/simulated/floor/airless{icon_state = "warning"},/area/rnd/test_area) "bUt" = (/turf/simulated/floor/airless{dir = 6; icon_state = "warning"},/area/rnd/test_area) "bUu" = (/turf/simulated/floor/airless{dir = 10; icon_state = "warning"},/area/rnd/test_area) "bUv" = (/turf/simulated/wall/r_wall,/area/maintenance/cargo) -"bUw" = (/obj/machinery/button/driver{dir = 2; id = "toxinsdriver"; pixel_y = 24},/obj/machinery/camera/network/research{c_tag = "Research - Toxins Launch Room"},/turf/simulated/floor,/area/rnd/mixing) +"bUw" = (/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/omni/mixer{tag_east = 1; tag_east_con = 0.5; tag_south = 1; tag_south_con = 0.5; tag_west = 2; use_power = 0},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/rnd/mixing) "bUx" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/maintenance/cargo) "bUy" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/cable/green,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/storage/tech) "bUz" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/storage/tech) @@ -5126,7 +5126,7 @@ "bUD" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{dir = 8; icon_state = "yellowcorner"},/area/hallway/primary/aft) "bUE" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/hallway/primary/aft) "bUF" = (/obj/structure/table/reinforced,/obj/machinery/button/ignition{id = "Xenobio"; pixel_x = -6; pixel_y = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/misc_lab) -"bUG" = (/obj/machinery/vending/phoronresearch,/turf/simulated/floor{dir = 5; icon_state = "whitepurple"},/area/rnd/mixing) +"bUG" = (/obj/structure/dispenser,/turf/simulated/floor{dir = 4; icon_state = "whitepurple"},/area/rnd/mixing) "bUH" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/maintenance/engineering) "bUI" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/maintenance/engineering) "bUJ" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/plating,/area/maintenance/engineering) @@ -5134,15 +5134,15 @@ "bUL" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/maintenance/engineering) "bUM" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/plating,/area/maintenance/engineering) "bUN" = (/obj/machinery/atmospherics/unary/cryo_cell,/turf/simulated/floor{icon_state = "red"; dir = 9},/area/medical/sleeper) -"bUO" = (/obj/machinery/light,/obj/machinery/atmospherics/binary/pump{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/mixing) -"bUP" = (/obj/structure/closet/emcloset,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/obj/machinery/camera/network/civilian_west{c_tag = "Cargo Mining Dock Airlock"; dir = 8},/turf/simulated/floor{icon_state = "warning"},/area/quartermaster/miningdock) +"bUO" = (/obj/item/weapon/wrench,/obj/item/weapon/screwdriver{pixel_y = 10},/turf/simulated/floor{icon_state = "white"},/area/rnd/mixing) +"bUP" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/door/airlock/research{name = "Toxins Launch Room Access"; req_access = list(8)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/mixing) "bUQ" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/medical/sleeper) -"bUR" = (/obj/machinery/door/airlock/maintenance{name = "Mining Maintenance"; req_access = list(48)},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/quartermaster/miningdock) +"bUR" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/rnd/mixing) "bUS" = (/obj/structure/disposalpipe/segment,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor{icon_state = "white"},/area/rnd/research) "bUT" = (/turf/simulated/floor{icon_state = "white"},/area/medical/medbay4) "bUU" = (/obj/structure/disposalpipe/segment,/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{dir = 4; icon_state = "whitebluecorner"; tag = "icon-whitebluecorner"},/area/medical/medbay4) "bUV" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/rnd/mixing) -"bUW" = (/obj/machinery/camera/network/security{c_tag = "Engineering - Secure Technical Storage"},/turf/simulated/floor,/area/storage/tech) +"bUW" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/door/airlock/research{name = "Toxins Launch Room"; req_access = list(8)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/rnd/mixing) "bUX" = (/obj/machinery/vending/cigarette,/turf/simulated/floor/carpet,/area/engineering/break_room) "bUY" = (/obj/machinery/vending/coffee,/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay4) "bUZ" = (/obj/machinery/light{dir = 1},/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay4) @@ -5155,10 +5155,10 @@ "bVg" = (/obj/structure/closet/secure_closet/personal/patient,/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/patient_wing) "bVh" = (/obj/machinery/iv_drip,/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/patient_wing) "bVi" = (/turf/simulated/wall,/area/medical/patient_wing) -"bVj" = (/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) -"bVk" = (/obj/structure/bed/chair/office/dark{dir = 1},/obj/effect/landmark/start{name = "Chief Medical Officer"},/obj/machinery/door_control{desc = "A remote control-switch for shutters."; id = "cmooffice"; name = "CMO Privacy Shutters"; pixel_x = 38; pixel_y = 21},/obj/machinery/door_control{desc = "A remote control switch for the CMO's office."; id = "cmodoor"; name = "CMO Office Door Control"; normaldoorcontrol = 1; pixel_x = 28; pixel_y = 21},/obj/machinery/door_control{desc = "A remote control-switch for shutters."; id = "virologyquar"; name = "Virology Emergency Lockdown Control"; pixel_x = -15; pixel_y = 38; req_access = list(5)},/obj/machinery/door_control{desc = "A remote control-switch for shutters."; id = "medbayquar"; name = "Medbay Emergency Lockdown Control"; pixel_x = -15; pixel_y = 30; req_access = list(5)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/heads/cmo) +"bVj" = (/obj/machinery/door/airlock/highsecurity{name = "Secure Tech Storage"; req_access = list(19,23)},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/storage/tech) +"bVk" = (/obj/machinery/door/airlock/engineering{name = "Tech Storage"; req_access = list(23)},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hallway/primary/aft) "bVl" = (/obj/structure/disposalpipe/sortjunction/flipped{dir = 2; sortType = "RD Office"; name = "RD Office"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/research) -"bVm" = (/obj/machinery/door/airlock/glass_research{name = "Toxins Lab"; req_access = list(8)},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{icon_state = "white"},/area/rnd/research) +"bVm" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/camera/network/exodus{c_tag = "Primary Hallway Aft"; dir = 8},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft) "bVn" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/atmospherics/pipe/simple/visible{icon_state = "intact"; dir = 6},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor{icon_state = "white"},/area/rnd/misc_lab) "bVo" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor{icon_state = "white"},/area/rnd/misc_lab) "bVp" = (/obj/structure/table/reinforced,/obj/item/weapon/wrench,/obj/item/weapon/crowbar/red,/obj/item/clothing/glasses/science,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/turf/simulated/floor{icon_state = "white"},/area/rnd/misc_lab) @@ -5167,18 +5167,18 @@ "bVs" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor{icon_state = "white"},/area/rnd/misc_lab) "bVt" = (/obj/structure/table/reinforced,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "white"},/area/rnd/misc_lab) "bVu" = (/obj/machinery/computer/security/telescreen{desc = "Used to monitor the proceedings inside the test chamber."; name = "Test Chamber Monitor"; network = list("Miscellaneous Reseach"); pixel_x = 32; pixel_y = 0},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor{icon_state = "white"},/area/rnd/misc_lab) -"bVv" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor,/area/rnd/mixing) +"bVv" = (/obj/machinery/door/airlock/maintenance{name = "Custodial Maintenance"; req_access = list(26)},/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/border_only,/turf/simulated/floor/plating,/area/janitor) "bVw" = (/obj/machinery/vending/cigarette{pixel_x = 0; pixel_y = 2},/turf/simulated/floor{icon_state = "white"},/area/rnd/research) "bVx" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/rnd/research) -"bVy" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "white"},/area/rnd/mixing) -"bVz" = (/obj/machinery/atmospherics/unary/heat_exchanger{dir = 8},/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/rnd/mixing) +"bVy" = (/obj/machinery/door_control{id = "scanhide"; name = "Diagnostics Room Separation Shutters"; pixel_x = -6; pixel_y = -25; req_access = list(5)},/obj/machinery/door_control{id = "acute2"; name = "Acute Treatment Privacy Shutters"; pixel_x = 6; pixel_y = -25; req_access = list(5)},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) +"bVz" = (/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{icon_state = "white"},/area/rnd/mixing) "bVA" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "bot"},/area/rnd/research) "bVB" = (/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/wall/r_wall,/area/rnd/mixing) "bVC" = (/obj/structure/table/woodentable,/obj/item/weapon/book/manual/engineering_guide{pixel_x = 3; pixel_y = 2},/obj/item/weapon/book/manual/atmospipes,/obj/machinery/light{dir = 1},/turf/simulated/floor/carpet,/area/engineering/break_room) "bVD" = (/obj/structure/table/woodentable,/obj/item/weapon/book/manual/engineering_construction,/obj/item/weapon/book/manual/evaguide{pixel_x = -2; pixel_y = 7},/turf/simulated/floor/carpet,/area/engineering/break_room) "bVE" = (/obj/structure/bookcase/manuals/engineering,/turf/simulated/floor/carpet,/area/engineering/break_room) "bVF" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/rnd/mixing) -"bVG" = (/obj/machinery/atmospherics/pipe/manifold/visible,/obj/machinery/meter,/turf/simulated/floor{icon_state = "white"},/area/rnd/mixing) +"bVG" = (/obj/machinery/atmospherics/unary/heat_exchanger{dir = 4},/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/rnd/mixing) "bVH" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/research_starboard) "bVI" = (/obj/structure/closet/wardrobe/grey,/obj/item/weapon/storage/backpack,/obj/item/weapon/storage/backpack,/turf/simulated/floor/plating,/area/maintenance/research_starboard) "bVJ" = (/obj/machinery/mass_driver{dir = 4; id = "toxinsdriver"},/turf/simulated/floor/plating/airless,/area/rnd/mixing) @@ -5186,7 +5186,7 @@ "bVL" = (/obj/structure/sign/redcross{desc = "The Star of Life, a symbol of Medical Aid."; icon_state = "lifestar"; name = "Medbay"; pixel_x = -32},/obj/structure/disposalpipe/sortjunction/flipped{dir = 2; sortType = "Research"; name = "Research"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor{icon_state = "white"},/area/rnd/research) "bVM" = (/obj/machinery/light/small{dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor{icon_state = "white"},/area/rnd/research) "bVN" = (/obj/item/device/radio/beacon,/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor/airless{icon_state = "bot"},/area/rnd/test_area) -"bVO" = (/obj/machinery/atmospherics/unary/heat_exchanger{dir = 4},/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/rnd/mixing) +"bVO" = (/obj/structure/bed,/obj/item/weapon/bedsheet/medical,/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 25; pixel_y = 0},/obj/machinery/camera/network/medbay{c_tag = "Medbay Patient A"; dir = 8},/turf/simulated/floor{dir = 4; icon_state = "whitered"},/area/medical/patient_a) "bVP" = (/turf/simulated/shuttle/wall{icon_state = "swall_s6"; dir = 2},/area/shuttle/escape_pod5/station) "bVQ" = (/turf/simulated/shuttle/wall{icon_state = "swall12"; dir = 2},/area/shuttle/escape_pod5/station) "bVR" = (/obj/structure/shuttle/engine/propulsion/burst{dir = 8},/turf/simulated/wall,/area/shuttle/escape_pod5/station) @@ -5204,15 +5204,15 @@ "bWd" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor,/area/medical/sleeper) "bWe" = (/obj/structure/bed/chair/comfy/teal,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{dir = 1; icon_state = "whiteredcorner"},/area/medical/patient_wing) "bWf" = (/obj/structure/bed/chair/comfy/teal,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "whiteredcorner"},/area/medical/patient_wing) -"bWg" = (/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{icon_state = "white"},/area/rnd/mixing) +"bWg" = (/obj/structure/bed,/obj/item/weapon/bedsheet/medical,/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 25; pixel_y = 0},/obj/machinery/camera/network/medbay{c_tag = "Medbay Patient Room B"; dir = 8},/turf/simulated/floor{dir = 4; icon_state = "whitered"},/area/medical/patient_b) "bWh" = (/obj/structure/bed/chair/office/light{dir = 1},/obj/effect/landmark/start{name = "Scientist"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "white"},/area/rnd/misc_lab) -"bWi" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/rnd/mixing) +"bWi" = (/obj/machinery/atmospherics/pipe/manifold/visible,/obj/machinery/meter,/turf/simulated/floor{icon_state = "white"},/area/rnd/mixing) "bWj" = (/obj/machinery/navbeacon{codes_txt = "delivery;dir=4"; freq = 1400; location = "Medbay"},/obj/structure/plasticflaps{opacity = 1},/turf/simulated/floor{icon_state = "bot"},/area/medical/sleeper) -"bWk" = (/obj/structure/dispenser,/turf/simulated/floor{dir = 4; icon_state = "whitepurple"},/area/rnd/mixing) +"bWk" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/manifold4w/visible,/turf/simulated/floor{icon_state = "white"},/area/rnd/mixing) "bWl" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 8},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/medical/sleeper) "bWm" = (/obj/structure/bed/chair{dir = 8},/obj/item/device/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_y = 20},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod5/station) "bWn" = (/obj/machinery/light_switch{pixel_x = -22; pixel_y = -10},/turf/simulated/floor/carpet,/area/engineering/break_room) -"bWo" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/door/airlock/research{name = "Toxins Launch Room Access"; req_access = list(8)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/mixing) +"bWo" = (/obj/machinery/atmospherics/unary/heat_exchanger{dir = 8},/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/rnd/mixing) "bWp" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor,/area/medical/sleeper) "bWq" = (/obj/machinery/door/blast/shutters{dir = 2; id = "qm_warehouse"; name = "Warehouse Shutters"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/quartermaster/storage) "bWr" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay4) @@ -5236,7 +5236,7 @@ "bWJ" = (/turf/simulated/floor/carpet,/area/engineering/break_room) "bWK" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/turf/simulated/floor{dir = 1; icon_state = "whitered_b"; tag = "icon-whitered_b (WEST)"},/area/medical/patient_wing) "bWL" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor{dir = 1; icon_state = "whiteredcorner"},/area/medical/patient_wing) -"bWM" = (/obj/item/weapon/wrench,/obj/item/weapon/screwdriver{pixel_y = 10},/turf/simulated/floor{icon_state = "white"},/area/rnd/mixing) +"bWM" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/camera/network/research{c_tag = "Research - Toxins Launch Room Access"; dir = 1},/turf/simulated/floor{icon_state = "warningcorner"; dir = 8},/area/rnd/mixing) "bWN" = (/obj/effect/landmark/start{name = "Scientist"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "white"},/area/rnd/misc_lab) "bWO" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "white"},/area/rnd/misc_lab) "bWP" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "white"},/area/rnd/misc_lab) @@ -5245,35 +5245,35 @@ "bWS" = (/turf/simulated/floor{icon_state = "white"},/area/rnd/misc_lab) "bWT" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/rnd/misc_lab) "bWU" = (/obj/structure/closet/wardrobe/engineering_yellow,/turf/simulated/floor{dir = 4; icon_state = "whiteyellowfull"},/area/crew_quarters/sleep/engi_wash) -"bWV" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/door/airlock/research{name = "Toxins Launch Room"; req_access = list(8)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/rnd/mixing) +"bWV" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "mining_dock_airlock"; name = "exterior access button"; pixel_x = -5; pixel_y = 25; req_one_access = list(13,48)},/turf/space,/area/space) "bWW" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{icon_state = "white"},/area/rnd/research) "bWX" = (/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/floor{icon_state = "white"},/area/rnd/research) "bWY" = (/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/turf/simulated/floor{icon_state = "white"},/area/rnd/research) "bWZ" = (/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor{icon_state = "white"},/area/rnd/research) -"bXa" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/turf/simulated/wall/r_wall,/area/rnd/mixing) +"bXa" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor,/area/rnd/mixing) "bXb" = (/obj/machinery/air_sensor{frequency = 1430; id_tag = "toxins_mixing_exterior"; output = 63},/turf/simulated/floor/engine/vacuum,/area/rnd/mixing) -"bXc" = (/obj/machinery/door/airlock/highsecurity{name = "Secure Tech Storage"; req_access = list(19,23)},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/storage/tech) +"bXc" = (/obj/machinery/door/airlock/maintenance{req_access = list(12)},/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{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hallway/primary/aft) "bXd" = (/obj/machinery/atmospherics/binary/dp_vent_pump/high_volume{dir = 2; frequency = 1379; id = "tox_airlock_pump"},/obj/machinery/air_sensor{frequency = 1430; id_tag = "toxins_mixing_interior"; output = 63; pixel_x = -8; pixel_y = -18},/turf/simulated/floor/engine,/area/rnd/mixing) -"bXe" = (/obj/machinery/door/airlock/engineering{name = "Tech Storage"; req_access = list(23)},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hallway/primary/aft) -"bXf" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/camera/network/exodus{c_tag = "Primary Hallway Aft"; dir = 8},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft) +"bXe" = (/obj/machinery/door/window/southright{dir = 1; name = "Test Chamber"; req_access = list(47)},/obj/machinery/door/window/southright{name = "Test Chamber"; req_access = list(47)},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "misclab"; name = "Test Chamber Blast Doors"; opacity = 0},/turf/simulated/floor{icon_state = "white"},/area/rnd/misc_lab) +"bXf" = (/obj/machinery/door/window/southleft{dir = 1; name = "Test Chamber"; req_access = list(47)},/obj/machinery/door/window/southleft{name = "Test Chamber"; req_access = list(47)},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "misclab"; name = "Test Chamber Blast Doors"; opacity = 0},/turf/simulated/floor{icon_state = "white"},/area/rnd/misc_lab) "bXg" = (/turf/simulated/floor{dir = 4; icon_state = "warnwhite"},/area/rnd/mixing) "bXh" = (/obj/machinery/computer/general_air_control{frequency = 1430; name = "Mixing Chamber Monitor"; sensors = list("toxins_mixing_exterior" = "Mixing Chamber - Exterior", "toxins_mixing_interior" = "Mixing Chamber - Interior")},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/rnd/mixing) -"bXi" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/turf/simulated/wall/r_wall,/area/rnd/mixing) +"bXi" = (/obj/machinery/light,/obj/machinery/atmospherics/binary/pump{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/mixing) "bXj" = (/turf/simulated/floor/plating,/area/maintenance/research_starboard) "bXk" = (/turf/simulated/floor/airless{dir = 5; icon_state = "warning"},/area/rnd/test_area) "bXl" = (/turf/simulated/floor/airless{icon_state = "warningcorner"; dir = 4},/area/rnd/test_area) "bXm" = (/obj/structure/window/shuttle,/obj/structure/grille,/turf/simulated/shuttle/plating,/area/shuttle/escape_pod5/station) "bXn" = (/obj/structure/table,/obj/item/bodybag/cryobag{pixel_x = 6},/obj/item/stack/medical/bruise_pack{pixel_x = -4; pixel_y = 3},/obj/item/stack/medical/bruise_pack{pixel_x = -4; pixel_y = 3},/obj/item/stack/medical/ointment{pixel_y = 10},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor{icon_state = "yellowfull"; dir = 8},/area/crew_quarters/sleep/engi_wash) "bXo" = (/obj/structure/closet/wardrobe/atmospherics_yellow,/turf/simulated/floor{icon_state = "yellowfull"; dir = 8},/area/crew_quarters/sleep/engi_wash) -"bXp" = (/obj/machinery/door/airlock/maintenance{name = "Custodial Maintenance"; req_access = list(26)},/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/border_only,/turf/simulated/floor/plating,/area/janitor) -"bXq" = (/obj/machinery/door_control{id = "scanhide"; name = "Diagnostics Room Separation Shutters"; pixel_x = -6; pixel_y = -25; req_access = list(5)},/obj/machinery/door_control{id = "acute2"; name = "Acute Treatment Privacy Shutters"; pixel_x = 6; pixel_y = -25; req_access = list(5)},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) +"bXp" = (/obj/machinery/vending/phoronresearch,/turf/simulated/floor{dir = 5; icon_state = "whitepurple"},/area/rnd/mixing) +"bXq" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance{req_one_access = list(8,12)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/research_starboard) "bXr" = (/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod_berth{frequency = 1380; id_tag = "escape_pod_5_berth"; pixel_x = -25; pixel_y = 25; tag_door = "escape_pod_5_berth_hatch"},/turf/simulated/floor/plating,/area/maintenance/cargo) "bXs" = (/obj/structure/disposalpipe/segment,/obj/effect/decal/cleanable/dirt,/obj/structure/cable{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/plating,/area/maintenance/cargo) "bXt" = (/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment,/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft) "bXu" = (/obj/structure/sign/nosmoking_2{pixel_x = -32},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/camera/network/research{c_tag = "Research - Toxins Lab"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/visible{icon_state = "intact"; dir = 6},/turf/simulated/floor{icon_state = "white"},/area/rnd/mixing) -"bXv" = (/obj/structure/bed,/obj/item/weapon/bedsheet/medical,/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 25; pixel_y = 0},/obj/machinery/camera/network/medbay{c_tag = "Medbay Patient A"; dir = 8},/turf/simulated/floor{dir = 4; icon_state = "whitered"},/area/medical/patient_a) +"bXv" = (/obj/machinery/door/window/southright{name = "Toxins Launcher"; req_access = list(8)},/obj/machinery/door/window/southright{dir = 1; name = "Toxins Launcher"; req_access = list(8)},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/rnd/mixing) "bXw" = (/obj/machinery/atm{pixel_y = 28},/turf/simulated/floor{dir = 4; icon_state = "yellowpatch"},/area/engineering/foyer) -"bXx" = (/obj/structure/bed,/obj/item/weapon/bedsheet/medical,/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 25; pixel_y = 0},/obj/machinery/camera/network/medbay{c_tag = "Medbay Patient Room B"; dir = 8},/turf/simulated/floor{dir = 4; icon_state = "whitered"},/area/medical/patient_b) +"bXx" = (/obj/effect/decal/cleanable/blood/oil,/turf/simulated/floor/plating,/area/maintenance/cargo) "bXy" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/engineering/foyer) "bXz" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/engineering/foyer) "bXA" = (/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor{dir = 2; icon_state = "yellowpatch"},/area/engineering/foyer) @@ -5302,7 +5302,7 @@ "bXX" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "freezerfloor"},/area/medical/patient_wing) "bXY" = (/turf/simulated/wall/r_wall,/area/maintenance/substation/research) "bXZ" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = 0},/turf/simulated/wall/r_wall,/area/maintenance/substation/research) -"bYa" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0; pixel_y = 32},/obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction,/turf/simulated/floor/engine/vacuum,/area/rnd/mixing) +"bYa" = (/obj/machinery/door_control{id = "scanhide"; name = "Diagnostics Room Separation Shutters"; pixel_x = -6; pixel_y = 25; req_access = list(5)},/obj/machinery/atmospherics/unary/freezer{dir = 8; icon_state = "freezer"},/obj/machinery/door_control{id = "scanhideside"; name = "Diagnostics Room Privacy Shutters"; pixel_x = 6; pixel_y = 25; req_access = list(5)},/turf/simulated/floor{icon_state = "delivery"},/area/medical/sleeper) "bYb" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/research_port) "bYc" = (/turf/simulated/wall,/area/maintenance/substation/research) "bYd" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/research_port) @@ -5316,18 +5316,18 @@ "bYl" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/plating,/area/maintenance/research_port) "bYm" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/misc_lab) "bYn" = (/obj/machinery/light_switch{pixel_x = 7; pixel_y = -23},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/misc_lab) -"bYo" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction,/turf/simulated/floor/engine/vacuum,/area/rnd/mixing) +"bYo" = (/obj/structure/table,/obj/structure/disposalpipe/segment,/obj/machinery/camera/network/medbay{c_tag = "Medbay Lounge"},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay4) "bYp" = (/obj/machinery/light,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{icon_state = "white"},/area/rnd/research) "bYq" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor{icon_state = "white"},/area/rnd/research) "bYr" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/research) "bYs" = (/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/manifold/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/rnd/research) -"bYt" = (/obj/machinery/airlock_sensor{id_tag = "tox_airlock_sensor"; master_tag = "tox_airlock_control"; pixel_y = 24},/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/binary/pump{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/engine,/area/rnd/mixing) +"bYt" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Sub-Acute A"},/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/floor{icon_state = "white"},/area/medical/patient_wing) "bYu" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "white"},/area/rnd/research) "bYv" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor{icon_state = "white"},/area/rnd/research) -"bYw" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/camera/network/research{c_tag = "Research - Toxins Launch Room Access"; dir = 1},/turf/simulated/floor{icon_state = "warningcorner"; dir = 8},/area/rnd/mixing) +"bYw" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Sub-Acute B"},/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/floor{icon_state = "white"},/area/medical/patient_wing) "bYx" = (/obj/structure/table/woodentable,/obj/item/weapon/book/manual/supermatter_engine{pixel_x = -3},/turf/simulated/floor/carpet,/area/engineering/break_room) "bYy" = (/obj/structure/bed/chair/comfy/beige{tag = "icon-comfychair (EAST)"; icon_state = "comfychair"; dir = 4},/obj/effect/landmark/start{name = "Station Engineer"},/turf/simulated/floor/carpet,/area/engineering/break_room) -"bYz" = (/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "tox_airlock_pump"; tag_exterior_door = "tox_airlock_exterior"; id_tag = "tox_airlock_control"; tag_interior_door = "tox_airlock_interior"; pixel_x = -24; pixel_y = 0; tag_chamber_sensor = "tox_airlock_sensor"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/tvalve/bypass{dir = 8},/turf/simulated/floor{dir = 1; icon_state = "warnwhitecorner"},/area/rnd/mixing) +"bYz" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/turf/simulated/wall/r_wall,/area/rnd/mixing) "bYA" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/rnd/mixing) "bYB" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 6; icon_state = "intact"; tag = "icon-intact-f (SOUTHEAST)"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 9},/area/maintenance/research_starboard) "bYC" = (/obj/machinery/atmospherics/pipe/tank/air{dir = 8},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/maintenance/research_starboard) @@ -5335,34 +5335,34 @@ "bYE" = (/obj/machinery/light/small,/turf/simulated/floor/plating,/area/maintenance/cargo) "bYF" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/turf/simulated/wall,/area/maintenance/cargo) "bYG" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor/plating,/area/maintenance/cargo) -"bYH" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "mining_dock_airlock"; name = "exterior access button"; pixel_x = -5; pixel_y = 25; req_one_access = list(13,48)},/turf/space,/area/space) +"bYH" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/airlock/research{name = "Toxins Storage"; req_access = list(8)},/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/floor,/area/rnd/research) "bYI" = (/turf/simulated/wall/r_wall,/area/crew_quarters/heads/chief) "bYJ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/crew_quarters/heads/chief) "bYK" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/crew_quarters/heads/chief) "bYL" = (/obj/machinery/computer/atmos_alert,/turf/simulated/floor,/area/crew_quarters/heads/chief) -"bYM" = (/obj/machinery/door/airlock/maintenance{req_access = list(12)},/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{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hallway/primary/aft) +"bYM" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/turf/simulated/wall/r_wall,/area/rnd/mixing) "bYN" = (/obj/structure/table/reinforced,/obj/machinery/light{dir = 1},/obj/machinery/light_switch{pixel_x = 0; pixel_y = 27},/obj/machinery/computer/skills{icon_state = "medlaptop"},/turf/simulated/floor,/area/crew_quarters/heads/chief) "bYO" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor,/area/crew_quarters/heads/chief) "bYP" = (/obj/machinery/alarm{pixel_y = 23},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor,/area/crew_quarters/heads/chief) "bYQ" = (/obj/structure/bed/chair/comfy/beige{dir = 8},/obj/effect/landmark/start{name = "Atmospheric Technician"},/turf/simulated/floor/carpet,/area/engineering/break_room) "bYR" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/turf/simulated/floor/carpet,/area/engineering/break_room) -"bYS" = (/obj/machinery/door/window/southright{dir = 1; name = "Test Chamber"; req_access = list(47)},/obj/machinery/door/window/southright{name = "Test Chamber"; req_access = list(47)},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "misclab"; name = "Test Chamber Blast Doors"; opacity = 0},/turf/simulated/floor{icon_state = "white"},/area/rnd/misc_lab) +"bYS" = (/obj/machinery/light{dir = 4},/obj/machinery/camera/network/research{c_tag = "Research Toxins Test Chamber East"; dir = 8; network = list("Research","Toxins Test Area")},/turf/simulated/floor/airless,/area/rnd/test_area) "bYT" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/carpet,/area/engineering/break_room) "bYU" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "whiteyellowfull"},/area/crew_quarters/sleep/engi_wash) "bYV" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = -20; pixel_y = 22},/turf/simulated/floor{icon_state = "yellowfull"; dir = 8},/area/crew_quarters/sleep/engi_wash) "bYW" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor{icon_state = "yellowfull"; dir = 8},/area/crew_quarters/sleep/engi_wash) "bYX" = (/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/obj/machinery/light,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "whiteyellowfull"},/area/crew_quarters/sleep/engi_wash) -"bYY" = (/obj/machinery/door/window/southleft{dir = 1; name = "Test Chamber"; req_access = list(47)},/obj/machinery/door/window/southleft{name = "Test Chamber"; req_access = list(47)},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "misclab"; name = "Test Chamber Blast Doors"; opacity = 0},/turf/simulated/floor{icon_state = "white"},/area/rnd/misc_lab) -"bYZ" = (/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/wall/r_wall,/area/rnd/mixing) +"bYY" = (/obj/machinery/door/window/eastleft{name = "Medical Delivery"; req_access = list(5)},/obj/machinery/door/firedoor,/turf/simulated/floor{icon_state = "delivery"},/area/medical/sleeper) +"bYZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/hologram/holopad,/turf/simulated/floor,/area/medical/sleeper) "bZa" = (/obj/structure/grille,/obj/structure/window/reinforced/polarized{id = "isoC_window_tint"},/obj/structure/window/reinforced/polarized{dir = 4; id = "isoC_window_tint"},/obj/structure/window/reinforced/polarized{dir = 1; id = "isoC_window_tint"},/obj/structure/window/reinforced/polarized{dir = 8; id = "isoC_window_tint"},/turf/simulated/floor/plating,/area/medical/patient_c) -"bZb" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance{req_one_access = list(8,12)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/research_starboard) -"bZc" = (/obj/machinery/door/window/southright{name = "Toxins Launcher"; req_access = list(8)},/obj/machinery/door/window/southright{dir = 1; name = "Toxins Launcher"; req_access = list(8)},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/rnd/mixing) +"bZb" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance{name = "Medbay Patient Wing Maintenance Access"; req_access = list(5)},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/medical/patient_wing) +"bZc" = (/obj/machinery/door_control{id = "misclab"; name = "Test Chamber Blast Doors"; pixel_x = 6; pixel_y = 30; req_access = list(47)},/obj/item/weapon/stool,/turf/simulated/floor{icon_state = "white"},/area/rnd/misc_lab) "bZd" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/extinguisher_cabinet{pixel_x = 5; pixel_y = -29},/turf/simulated/floor{icon_state = "white"},/area/rnd/misc_lab) -"bZe" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/machinery/meter,/turf/simulated/floor{dir = 4; icon_state = "warnwhite"},/area/rnd/mixing) +"bZe" = (/obj/machinery/light/small{dir = 4},/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor{icon_state = "warningcorner"; dir = 2},/area/rnd/mixing) "bZf" = (/turf/simulated/wall/r_wall,/area/maintenance/atmos_control) "bZg" = (/turf/simulated/wall,/area/maintenance/atmos_control) "bZh" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/maintenance/engineering) -"bZi" = (/obj/effect/decal/cleanable/blood/oil,/turf/simulated/floor/plating,/area/maintenance/cargo) +"bZi" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "hazard door east"},/obj/machinery/door/airlock/research{name = "Miscellaneous Reseach Room"; req_access = list(47)},/turf/simulated/floor{icon_state = "white"},/area/rnd/misc_lab) "bZj" = (/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor,/area/medical/sleeper) "bZk" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor,/area/medical/sleeper) "bZl" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/medical/sleeper) @@ -5371,18 +5371,18 @@ "bZo" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay4) "bZp" = (/obj/structure/disposalpipe/junction{dir = 1; icon_state = "pipe-j2"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay4) "bZq" = (/obj/structure/sign/greencross,/turf/simulated/wall,/area/medical/medbay4) -"bZr" = (/obj/machinery/door_control{id = "scanhide"; name = "Diagnostics Room Separation Shutters"; pixel_x = -6; pixel_y = 25; req_access = list(5)},/obj/machinery/atmospherics/unary/freezer{dir = 8; icon_state = "freezer"},/obj/machinery/door_control{id = "scanhideside"; name = "Diagnostics Room Privacy Shutters"; pixel_x = 6; pixel_y = 25; req_access = list(5)},/turf/simulated/floor{icon_state = "delivery"},/area/medical/sleeper) -"bZs" = (/obj/structure/table,/obj/structure/disposalpipe/segment,/obj/machinery/camera/network/medbay{c_tag = "Medbay Lounge"},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay4) +"bZr" = (/obj/machinery/door/airlock/glass_research{autoclose = 0; frequency = 1379; glass = 1; icon_state = "door_locked"; id_tag = "tox_airlock_exterior"; locked = 1; name = "Mixing Room Exterior Airlock"; req_access = list(8)},/turf/simulated/floor/engine,/area/rnd/mixing) +"bZs" = (/obj/machinery/door/airlock/glass_research{autoclose = 0; frequency = 1379; glass = 1; icon_state = "door_locked"; id_tag = "tox_airlock_interior"; locked = 1; name = "Mixing Room Interior Airlock"; req_access = list(8)},/turf/simulated/floor/engine,/area/rnd/mixing) "bZt" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/turf/simulated/floor/plating,/area/hallway/primary/starboard) -"bZu" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Sub-Acute A"},/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/floor{icon_state = "white"},/area/medical/patient_wing) -"bZv" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Sub-Acute B"},/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/floor{icon_state = "white"},/area/medical/patient_wing) +"bZu" = (/obj/machinery/requests_console{department = "Science"; departmentType = 2; name = "Science Requests Console"; pixel_x = 30; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor{tag = "icon-warningcorner (WEST)"; icon_state = "warningcorner"; dir = 8},/area/rnd/mixing) +"bZv" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod{frequency = 1380; id_tag = "escape_pod_5"; pixel_x = 0; pixel_y = -25; tag_door = "escape_pod_5_hatch"},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod5/station) "bZw" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/research_port) "bZx" = (/turf/simulated/floor{icon_state = "white"},/area/medical/patient_wing) "bZy" = (/turf/simulated/wall,/area/medical/biostorage) -"bZz" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/airlock/research{name = "Toxins Storage"; req_access = list(8)},/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/floor,/area/rnd/research) +"bZz" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_5_hatch"; locked = 1; name = "Escape Pod Hatch"; req_access = list(13)},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod5/station) "bZA" = (/turf/simulated/wall,/area/medical/patient_c) -"bZB" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging,/turf/simulated/floor/engine/vacuum,/area/rnd/mixing) -"bZC" = (/obj/machinery/light{dir = 4},/obj/machinery/camera/network/research{c_tag = "Research Toxins Test Chamber East"; dir = 8; network = list("Research","Toxins Test Area")},/turf/simulated/floor/airless,/area/rnd/test_area) +"bZB" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_5_berth_hatch"; locked = 1; name = "Escape Pod"; req_access = list(13)},/turf/simulated/floor/plating,/area/maintenance/cargo) +"bZC" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/camera/network/medbay{c_tag = "Medbay Patient Hallway - Starboard"; dir = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/patient_wing) "bZD" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/research_port) "bZE" = (/obj/machinery/light,/obj/machinery/atmospherics/portables_connector{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/rnd/misc_lab) "bZF" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/research_port) @@ -5391,22 +5391,22 @@ "bZI" = (/obj/machinery/space_heater,/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/atmos_control) "bZJ" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/obj/structure/closet/bombcloset,/turf/simulated/floor{icon_state = "white"},/area/rnd/misc_lab) "bZK" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/light,/obj/machinery/suit_storage_unit/standard_unit,/turf/simulated/floor{icon_state = "white"},/area/rnd/misc_lab) -"bZL" = (/obj/machinery/door/window/eastleft{name = "Medical Delivery"; req_access = list(5)},/obj/machinery/door/firedoor,/turf/simulated/floor{icon_state = "delivery"},/area/medical/sleeper) +"bZL" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "hazard door east"},/obj/machinery/door/airlock/research{name = "Miscellaneous Reseach Room"; req_access = list(47)},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/misc_lab) "bZM" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Firelock North"},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/door/blast/shutters{dir = 2; id = "Skynet_launch"; name = "Mech Bay"},/turf/simulated/floor{icon_state = "delivery"},/area/hallway/primary/starboard) "bZN" = (/obj/machinery/door/firedoor,/obj/structure/disposalpipe/segment,/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "medbayquar"; name = "Medbay Emergency Quarantine Shutters"; opacity = 0},/turf/simulated/floor{tag = "icon-whiteblue (NORTHWEST)"; icon_state = "whiteblue"; dir = 9},/area/hallway/primary/starboard) -"bZO" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{dir = 8; icon_state = "warnwhite"},/area/rnd/mixing) -"bZP" = (/obj/item/weapon/wrench,/turf/simulated/floor/plating,/area/maintenance/research_starboard) +"bZO" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/turf/simulated/floor,/area/rnd/mixing) +"bZP" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/universal{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/mixing) "bZQ" = (/obj/machinery/atmospherics/pipe/manifold/hidden/cyan{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/obj/machinery/meter,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 10},/area/maintenance/research_starboard) "bZR" = (/obj/machinery/atmospherics/pipe/tank/air{dir = 8},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/maintenance/research_starboard) "bZS" = (/obj/structure/lattice,/obj/structure/grille{density = 0; icon_state = "brokengrille"},/turf/space,/area/space) "bZT" = (/obj/structure/disposalpipe/segment,/obj/effect/decal/cleanable/dirt,/obj/structure/cable{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{icon_state = "floorgrime"},/area/maintenance/atmos_control) "bZU" = (/obj/machinery/button/driver{id = "enginecore"; name = "Emergency Core Eject"; pixel_x = -20; pixel_y = 0},/obj/structure/window/basic{dir = 4},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/heads/chief) -"bZV" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/hologram/holopad,/turf/simulated/floor,/area/medical/sleeper) +"bZV" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/camera/network/research{c_tag = "Research Division South"; dir = 1},/turf/simulated/floor{icon_state = "white"},/area/rnd/research) "bZW" = (/obj/structure/bed/chair{dir = 8},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor,/area/crew_quarters/heads/chief) "bZX" = (/obj/structure/disposalpipe/segment{dir = 4},/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{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "yellowcorner"},/area/engineering/foyer) "bZY" = (/obj/structure/table/reinforced,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd,/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/crew_quarters/heads/chief) "bZZ" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/crew_quarters/heads/chief) -"caa" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance{name = "Medbay Patient Wing Maintenance Access"; req_access = list(5)},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/medical/patient_wing) +"caa" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/machinery/atmospherics/binary/pump{dir = 8; name = "Waste to Scrubbers"},/turf/simulated/floor{icon_state = "white"},/area/rnd/mixing) "cab" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor,/area/crew_quarters/heads/chief) "cac" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor,/area/engineering/foyer) "cad" = (/obj/structure/table/reinforced,/obj/item/weapon/folder/yellow,/obj/item/weapon/stamp/ce,/obj/item/weapon/pen,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/flame/lighter/zippo,/obj/item/device/megaphone,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/crew_quarters/heads/chief) @@ -5419,7 +5419,7 @@ "cak" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/snacks/chips,/turf/simulated/floor/carpet,/area/engineering/break_room) "cal" = (/obj/machinery/newscaster{pixel_x = 28; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/carpet,/area/engineering/break_room) "cam" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/machinery/iv_drip,/turf/simulated/floor,/area/medical/sleeper) -"can" = (/obj/machinery/door_control{id = "misclab"; name = "Test Chamber Blast Doors"; pixel_x = 6; pixel_y = 30; req_access = list(47)},/obj/item/weapon/stool,/turf/simulated/floor{icon_state = "white"},/area/rnd/misc_lab) +"can" = (/obj/machinery/door/airlock/maintenance{req_access = list(12)},/obj/structure/disposalpipe/segment,/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/maintenance/cargo) "cao" = (/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/obj/structure/bed/chair/comfy/teal{tag = "icon-comfychair (EAST)"; icon_state = "comfychair"; dir = 4},/turf/simulated/floor{dir = 9; icon_state = "whitered"},/area/medical/ward) "cap" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/obj/structure/bed/roller,/turf/simulated/floor{icon_state = "white"},/area/medical/patient_wing) "caq" = (/turf/simulated/wall,/area/crew_quarters/sleep/engi_wash) @@ -5429,7 +5429,7 @@ "cau" = (/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 6},/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/research_starboard) "cav" = (/obj/machinery/atmospherics/pipe/simple/hidden/universal{dir = 4},/turf/simulated/floor/plating,/area/maintenance/research_starboard) "caw" = (/obj/machinery/power/apc/high{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable/green,/turf/simulated/floor,/area/medical/sleeper) -"cax" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "hazard door east"},/obj/machinery/door/airlock/research{name = "Miscellaneous Reseach Room"; req_access = list(47)},/turf/simulated/floor{icon_state = "white"},/area/rnd/misc_lab) +"cax" = (/obj/machinery/computer/station_alert,/obj/machinery/computer/security/telescreen{desc = "Used to monitor the engine room."; layer = 3.3; name = "Engine Monitor"; network = list("Engine"); pixel_x = 0; pixel_y = 28},/turf/simulated/floor,/area/crew_quarters/heads/chief) "cay" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay4) "caz" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay4) "caA" = (/obj/machinery/atmospherics/tvalve{dir = 4; name = "siphon switching valve"},/turf/simulated/floor/plating,/area/maintenance/research_starboard) @@ -5441,7 +5441,7 @@ "caG" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/green,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood,/area/medical/psych) "caH" = (/obj/structure/table/woodentable,/obj/machinery/computer/med_data/laptop,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/wood,/area/medical/psych) "caI" = (/turf/simulated/wall,/area/medical/psych) -"caJ" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 5},/turf/simulated/floor/engine/vacuum,/area/rnd/mixing) +"caJ" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor{icon_state = "white"},/area/rnd/mixing) "caK" = (/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{dir = 5},/turf/simulated/floor{icon_state = "dark"},/area/medical/biostorage) "caL" = (/obj/structure/table,/obj/item/weapon/storage/box/lights/mixed,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 0; pixel_y = 22},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/medical/biostorage) "caM" = (/obj/structure/table,/obj/machinery/computer/med_data/laptop,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor{dir = 9; icon_state = "whitered"},/area/medical/patient_c) @@ -5454,65 +5454,65 @@ "caT" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/meter,/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/turf/simulated/floor/plating,/area/maintenance/research_port) "caU" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/plating,/area/maintenance/research_port) "caV" = (/obj/effect/decal/cleanable/cobweb2,/obj/effect/decal/cleanable/spiderling_remains,/turf/simulated/floor/plating,/area/maintenance/research_port) -"caW" = (/obj/machinery/door/airlock/glass_research{autoclose = 0; frequency = 1379; glass = 1; icon_state = "door_locked"; id_tag = "tox_airlock_exterior"; locked = 1; name = "Mixing Room Exterior Airlock"; req_access = list(8)},/turf/simulated/floor/engine,/area/rnd/mixing) +"caW" = (/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/window/reinforced/polarized{dir = 1},/obj/structure/window/reinforced/polarized{dir = 8},/obj/structure/window/reinforced/polarized,/obj/structure/window/reinforced/polarized{dir = 4},/turf/simulated/floor/plating,/area/crew_quarters/heads/chief) "caX" = (/obj/structure/table/rack{dir = 1},/obj/item/weapon/extinguisher,/obj/item/device/flashlight,/obj/machinery/alarm{frequency = 1439; pixel_y = 23},/turf/simulated/floor/plating,/area/maintenance/research_starboard) "caY" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/maintenance/research_starboard) "caZ" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/maintenance/research_starboard) "cba" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/maintenance/research_starboard) "cbb" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating/airless,/area/maintenance/atmos_control) "cbc" = (/mob/living/simple_animal/mouse,/turf/simulated/floor/plating,/area/maintenance/research_starboard) -"cbd" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/turf/simulated/floor/engine/vacuum,/area/rnd/mixing) -"cbe" = (/obj/structure/sign/fire{pixel_y = -32},/obj/machinery/atmospherics/binary/pump{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/engine,/area/rnd/mixing) -"cbf" = (/obj/machinery/door_control{id = "mixvent"; name = "Mixing Room Vent Control"; pixel_x = -25; pixel_y = 5; req_access = list(7)},/obj/machinery/button/ignition{id = "mixingsparker"; pixel_x = -25; pixel_y = -5},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable/green,/obj/machinery/atmospherics/valve{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor{dir = 4; icon_state = "warnwhitecorner"},/area/rnd/mixing) -"cbg" = (/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/wall/r_wall,/area/rnd/mixing) +"cbd" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/rnd/mixing) +"cbe" = (/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (SOUTHWEST)"; icon_state = "intact"; dir = 10},/turf/simulated/floor{dir = 2; icon_state = "whitehall"},/area/rnd/mixing) +"cbf" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/rnd/mixing) +"cbg" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/rnd/mixing) "cbh" = (/obj/effect/decal/cleanable/spiderling_remains,/obj/machinery/atmospherics/valve,/turf/simulated/floor/plating,/area/maintenance/research_starboard) -"cbi" = (/obj/machinery/door/airlock/glass_research{autoclose = 0; frequency = 1379; glass = 1; icon_state = "door_locked"; id_tag = "tox_airlock_interior"; locked = 1; name = "Mixing Room Interior Airlock"; req_access = list(8)},/turf/simulated/floor/engine,/area/rnd/mixing) -"cbj" = (/obj/machinery/light,/obj/structure/extinguisher_cabinet{pixel_x = 0; pixel_y = -29},/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/machinery/meter,/turf/simulated/floor{dir = 4; icon_state = "warnwhite"},/area/rnd/mixing) -"cbk" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod{frequency = 1380; id_tag = "escape_pod_5"; pixel_x = 0; pixel_y = -25; tag_door = "escape_pod_5_hatch"},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod5/station) +"cbi" = (/obj/machinery/door/airlock/engineering{name = "Engineering Supplies"; req_one_access = list(10,24,5)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "yellowfull"; dir = 8},/area/engineering/break_room) +"cbj" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance{name = "Medbay Diagnostics Maintenance Access"; req_access = list(5)},/turf/simulated/floor/plating,/area/medical/sleeper) +"cbk" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{name = "Patient Ward"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay4) "cbl" = (/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "eng_eva_sensor"; pixel_x = 0; pixel_y = 25},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1379; id_tag = "eng_eva_pump"},/turf/simulated/floor{dir = 9; icon_state = "floorgrimecaution"},/area/maintenance/atmos_control) -"cbm" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_5_hatch"; locked = 1; name = "Escape Pod Hatch"; req_access = list(13)},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod5/station) -"cbn" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_5_berth_hatch"; locked = 1; name = "Escape Pod"; req_access = list(13)},/turf/simulated/floor/plating,/area/maintenance/cargo) +"cbm" = (/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "psych"; name = "Mental Health Privacy Shutters"; opacity = 0},/obj/structure/window/reinforced/polarized,/obj/structure/window/reinforced/polarized{dir = 8},/obj/structure/window/reinforced/polarized{dir = 1},/turf/simulated/floor/plating,/area/medical/psych) +"cbn" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{id_tag = "mentaldoor"; name = "Mental Health"},/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{icon_state = "white"},/area/medical/psych) "cbo" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/light/small{dir = 4},/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/atmos_control) "cbp" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/structure/cable{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{icon_state = "floorgrime"},/area/maintenance/atmos_control) "cbq" = (/turf/simulated/floor{dir = 8; icon_state = "yellowcorner"},/area/engineering/foyer) -"cbr" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/camera/network/medbay{c_tag = "Medbay Patient Hallway - Starboard"; dir = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/patient_wing) +"cbr" = (/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "psych"; name = "Mental Health Privacy Shutters"; opacity = 0},/obj/structure/window/reinforced/polarized,/obj/structure/window/reinforced/polarized{dir = 1},/obj/structure/window/reinforced/polarized{dir = 4},/turf/simulated/floor/plating,/area/medical/psych) "cbs" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/crew_quarters/heads/chief) -"cbt" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "hazard door east"},/obj/machinery/door/airlock/research{name = "Miscellaneous Reseach Room"; req_access = list(47)},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/misc_lab) +"cbt" = (/obj/machinery/camera/network/medbay{c_tag = "Medbay Patient Hallway - Port"; dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/patient_wing) "cbu" = (/obj/structure/table/reinforced,/obj/machinery/photocopier/faxmachine{department = "Chief Engineer's Office"},/turf/simulated/floor,/area/crew_quarters/heads/chief) "cbv" = (/obj/structure/table/reinforced,/obj/item/weapon/clipboard,/obj/item/clothing/glasses/meson{pixel_y = 4},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/clothing/glasses/welding/superior,/obj/item/weapon/storage/fancy/cigarettes,/obj/item/weapon/book/manual/supermatter_engine,/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/crew_quarters/heads/chief) "cbw" = (/obj/machinery/hologram/holopad,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/crew_quarters/heads/chief) "cbx" = (/obj/structure/disposalpipe/segment,/obj/machinery/firealarm{dir = 4; layer = 3.3; pixel_x = 26},/turf/simulated/floor,/area/crew_quarters/heads/chief) -"cby" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/camera/network/research{c_tag = "Research Division South"; dir = 1},/turf/simulated/floor{icon_state = "white"},/area/rnd/research) +"cby" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Secondary Storage"; req_access = list(5)},/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/floor{icon_state = "dark"},/area/medical/biostorage) "cbz" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/engineering/foyer) -"cbA" = (/obj/structure/cable{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/plating,/area/maintenance/research_starboard) +"cbA" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Sub-Acute C"},/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/floor{icon_state = "white"},/area/medical/patient_c) "cbB" = (/obj/structure/bed/chair/comfy/beige{tag = "icon-comfychair (NORTH)"; icon_state = "comfychair"; dir = 1},/obj/effect/landmark/start{name = "Station Engineer"},/turf/simulated/floor/carpet,/area/engineering/break_room) "cbC" = (/obj/structure/bed/chair/comfy/beige{tag = "icon-comfychair (NORTH)"; icon_state = "comfychair"; dir = 1},/obj/effect/landmark/start{name = "Atmospheric Technician"},/turf/simulated/floor/carpet,/area/engineering/break_room) -"cbD" = (/obj/machinery/door/airlock/maintenance{req_access = list(12)},/obj/structure/disposalpipe/segment,/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/maintenance/cargo) +"cbD" = (/obj/machinery/door/airlock/glass_medical{name = "Hygiene Facilities"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor,/turf/simulated/floor{icon_state = "white"},/area/medical/patient_wing) "cbE" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/extinguisher_cabinet{pixel_x = 25; pixel_y = 0},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay4) "cbF" = (/obj/structure/mirror{pixel_y = 32},/obj/structure/sink{pixel_y = 16},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/sleep/engi_wash) "cbG" = (/obj/structure/mirror{pixel_y = 32},/obj/structure/sink{pixel_y = 16},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/sleep/engi_wash) "cbH" = (/obj/structure/urinal{pixel_y = 32},/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/sleep/engi_wash) "cbI" = (/turf/simulated/wall,/area/medical/surgeryobs) -"cbJ" = (/obj/machinery/computer/station_alert,/obj/machinery/computer/security/telescreen{desc = "Used to monitor the engine room."; layer = 3.3; name = "Engine Monitor"; network = list("Engine"); pixel_x = 0; pixel_y = 28},/turf/simulated/floor,/area/crew_quarters/heads/chief) +"cbJ" = (/obj/machinery/disposal,/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/structure/disposalpipe/trunk{dir = 8},/obj/machinery/camera/network/research{c_tag = "Research - Miscellaneous"; dir = 1},/turf/simulated/floor{icon_state = "white"},/area/rnd/misc_lab) "cbK" = (/obj/structure/bed,/obj/item/weapon/bedsheet/medical,/obj/machinery/vending/wallmed1{pixel_x = -26},/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/ward) -"cbL" = (/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/window/reinforced/polarized{dir = 1},/obj/structure/window/reinforced/polarized{dir = 8},/obj/structure/window/reinforced/polarized,/obj/structure/window/reinforced/polarized{dir = 4},/turf/simulated/floor/plating,/area/crew_quarters/heads/chief) +"cbL" = (/obj/structure/bed/chair/office/light{dir = 4},/obj/effect/landmark/start{name = "Chief Engineer"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/button/windowtint{pixel_x = 36; pixel_y = 18},/obj/machinery/door_control{desc = "A remote control-switch for the office door."; id = "cedoor"; name = "Office Door Control"; normaldoorcontrol = 1; pixel_x = 26; pixel_y = 17; req_access = list(56)},/turf/simulated/floor,/area/crew_quarters/heads/chief) "cbM" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/medical/ward) "cbN" = (/turf/simulated/floor{icon_state = "white"},/area/medical/ward) -"cbO" = (/obj/machinery/door/airlock/engineering{name = "Engineering Supplies"; req_one_access = list(10,24,5)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "yellowfull"; dir = 8},/area/engineering/break_room) +"cbO" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/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/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{dir = 4},/obj/machinery/door/airlock/command{id_tag = "cedoor"; name = "Chief Engineer"; req_access = list(56)},/turf/simulated/floor,/area/crew_quarters/heads/chief) "cbP" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/wood,/area/medical/psych) -"cbQ" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance{name = "Medbay Diagnostics Maintenance Access"; req_access = list(5)},/turf/simulated/floor/plating,/area/medical/sleeper) +"cbQ" = (/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = -28},/obj/structure/bed/roller,/obj/machinery/camera/network/medbay{c_tag = "Medbay Scanning"; dir = 1},/turf/simulated/floor,/area/medical/sleeper) "cbR" = (/obj/structure/bed/roller,/turf/simulated/floor{icon_state = "white"},/area/medical/patient_wing) "cbS" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "dark"},/area/medical/biostorage) "cbT" = (/obj/structure/closet/crate{icon_state = "crateopen"; name = "Grenade Crate"; opened = 1},/obj/item/weapon/grenade/chem_grenade,/obj/item/weapon/grenade/chem_grenade,/obj/item/weapon/grenade/chem_grenade,/obj/item/weapon/grenade/chem_grenade,/obj/item/device/assembly/igniter,/obj/item/device/assembly/igniter,/obj/item/device/assembly/igniter,/obj/item/device/assembly/timer,/obj/item/device/assembly/timer,/obj/item/device/assembly/timer,/turf/simulated/floor{icon_state = "dark"},/area/medical/biostorage) "cbU" = (/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/obj/structure/bed/chair/office/dark{dir = 1},/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/patient_c) "cbV" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/medical/patient_c) -"cbW" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{name = "Patient Ward"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay4) +"cbW" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{autoclose = 0; name = "Diagnostics Room"; req_access = list(5)},/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/medbay4) "cbX" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/terminal{icon_state = "term"; dir = 1},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/substation/research) "cbY" = (/obj/structure/cable/green,/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/substation/research) "cbZ" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/plating,/area/maintenance/substation/research) "cca" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/maintenance/research_port) "ccb" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor{icon_state = "freezerfloor"},/area/medical/patient_wing) -"ccc" = (/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "psych"; name = "Mental Health Privacy Shutters"; opacity = 0},/obj/structure/window/reinforced/polarized,/obj/structure/window/reinforced/polarized{dir = 8},/obj/structure/window/reinforced/polarized{dir = 1},/turf/simulated/floor/plating,/area/medical/psych) +"ccc" = (/obj/machinery/door/airlock/maintenance{name = "Miscellaneous Reseach Maintenance"; req_access = list(47)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/substation/research) "ccd" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = 0},/turf/simulated/wall,/area/maintenance/substation/research) "cce" = (/obj/structure/grille{density = 0; icon_state = "brokengrille"},/turf/simulated/floor/plating,/area/maintenance/research_port) "ccf" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor{dir = 2; icon_state = "whitegreen"},/area/medical/patient_wing) @@ -5523,15 +5523,15 @@ "cck" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/research_port) "ccl" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/maintenance/research_port) "ccm" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor/plating,/area/maintenance/research_port) -"ccn" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{id_tag = "mentaldoor"; name = "Mental Health"},/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{icon_state = "white"},/area/medical/psych) +"ccn" = (/obj/machinery/door/firedoor/border_only{name = "hazard door south"},/obj/machinery/door/airlock/research{name = "Xenobiology Research"; req_access = list(47)},/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/floor{icon_state = "white"},/area/rnd/research) "cco" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/research_port) "ccp" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/maintenance/research_port) "ccq" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{icon_state = "freezerfloor"},/area/medical/patient_wing) -"ccr" = (/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "psych"; name = "Mental Health Privacy Shutters"; opacity = 0},/obj/structure/window/reinforced/polarized,/obj/structure/window/reinforced/polarized{dir = 1},/obj/structure/window/reinforced/polarized{dir = 4},/turf/simulated/floor/plating,/area/medical/psych) +"ccr" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "eng_eva_outer"; locked = 1; name = "Engineering EVA External Access"; req_access = list(13)},/turf/simulated/floor/airless{icon_state = "circuit"},/area/maintenance/atmos_control) "ccs" = (/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Substation - Research"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/maintenance/substation/research) -"cct" = (/obj/effect/decal/cleanable/blood/oil/streak{amount = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/plating,/area/maintenance/research_starboard) -"ccu" = (/obj/machinery/camera/network/medbay{c_tag = "Medbay Patient Hallway - Port"; dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/patient_wing) -"ccv" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/research_starboard) +"cct" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/mixing) +"ccu" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "eng_eva_airlock"; name = "exterior access button"; pixel_x = 0; pixel_y = 25; req_access = list(13)},/turf/simulated/floor/plating/airless,/area/maintenance/atmos_control) +"ccv" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/effect/landmark/start{name = "Scientist"},/turf/simulated/floor{icon_state = "white"},/area/rnd/mixing) "ccw" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/visible/universal{dir = 4},/turf/simulated/floor/plating,/area/maintenance/research_starboard) "ccx" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/turf/simulated/floor/plating,/area/maintenance/research_starboard) "ccy" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating,/area/maintenance/research_starboard) @@ -5540,27 +5540,27 @@ "ccB" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) "ccC" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 6},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) "ccD" = (/obj/machinery/light/small,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/turf/simulated/floor/plating,/area/maintenance/research_starboard) -"ccE" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Secondary Storage"; req_access = list(5)},/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/floor{icon_state = "dark"},/area/medical/biostorage) +"ccE" = (/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "eng_eva_pump"; tag_exterior_door = "eng_eva_outer"; frequency = 1379; id_tag = "eng_eva_airlock"; tag_interior_door = "eng_eva_inner"; name = "Engineering Airlock Console"; pixel_y = 25; req_access = list(13); tag_chamber_sensor = "eng_eva_sensor"},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/turf/simulated/floor{dir = 5; icon_state = "floorgrimecaution"},/area/maintenance/atmos_control) "ccF" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 9},/turf/simulated/floor/plating,/area/maintenance/research_starboard) -"ccG" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Sub-Acute C"},/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/floor{icon_state = "white"},/area/medical/patient_c) +"ccG" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "eng_eva_airlock"; name = "interior access button"; pixel_x = 0; pixel_y = 25; req_access = list(13)},/turf/simulated/floor{dir = 8; icon_state = "floorgrimecaution"},/area/maintenance/atmos_control) "ccH" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/crew_quarters/heads/chief) "ccI" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/crew_quarters/heads/chief) -"ccJ" = (/obj/machinery/door/airlock/glass_medical{name = "Hygiene Facilities"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor,/turf/simulated/floor{icon_state = "white"},/area/medical/patient_wing) +"ccJ" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "eng_eva_inner"; locked = 1; name = "Engineering EVA Internal Access"; req_access = list(13)},/turf/simulated/floor/plating,/area/maintenance/atmos_control) "ccK" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/crew_quarters/heads/chief) "ccL" = (/obj/machinery/requests_console{announcementConsole = 1; department = "Chief Engineer's Desk"; departmentType = 6; name = "Chief Engineer RC"; pixel_x = 0; pixel_y = -34},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/crew_quarters/heads/chief) -"ccM" = (/obj/machinery/disposal,/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/structure/disposalpipe/trunk{dir = 8},/obj/machinery/camera/network/research{c_tag = "Research - Miscellaneous"; dir = 1},/turf/simulated/floor{icon_state = "white"},/area/rnd/misc_lab) +"ccM" = (/obj/structure/closet/secure_closet/engineering_chief,/obj/item/weapon/tank/emergency_oxygen/engi,/turf/simulated/floor,/area/crew_quarters/heads/chief) "ccN" = (/obj/machinery/newscaster{layer = 3.3; pixel_x = 0; pixel_y = -27},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor,/area/crew_quarters/heads/chief) "ccO" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor,/area/crew_quarters/heads/chief) "ccP" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/turf/simulated/floor/plating,/area/maintenance/research_starboard) -"ccQ" = (/obj/structure/bed/chair/office/light{dir = 4},/obj/effect/landmark/start{name = "Chief Engineer"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/button/windowtint{pixel_x = 36; pixel_y = 18},/obj/machinery/door_control{desc = "A remote control-switch for the office door."; id = "cedoor"; name = "Office Door Control"; normaldoorcontrol = 1; pixel_x = 26; pixel_y = 17; req_access = list(56)},/turf/simulated/floor,/area/crew_quarters/heads/chief) +"ccQ" = (/obj/machinery/keycard_auth{pixel_x = -24; pixel_y = 0},/obj/machinery/door_control{desc = "A remote control-switch for engine core."; id = "EngineVent"; name = "Engine Ventillatory Control"; pixel_x = -24; pixel_y = 10; req_access = list(10)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door_control{desc = "A remote control-switch for the engine core airlock hatch bolts."; id = "engine_access_hatch"; name = "Engine Hatch Bolt Control"; normaldoorcontrol = 1; pixel_x = -24; pixel_y = -10; req_access = list(10); specialfunctions = 4},/turf/simulated/floor,/area/crew_quarters/heads/chief) "ccR" = (/turf/simulated/floor/plating/airless,/area/maintenance/atmos_control) -"ccS" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/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/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{dir = 4},/obj/machinery/door/airlock/command{id_tag = "cedoor"; name = "Chief Engineer"; req_access = list(56)},/turf/simulated/floor,/area/crew_quarters/heads/chief) +"ccS" = (/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/cable/green,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/window/reinforced/polarized{dir = 8},/obj/structure/window/reinforced/polarized{dir = 4},/obj/structure/window/reinforced/polarized{dir = 1},/turf/simulated/floor/plating,/area/crew_quarters/heads/chief) "ccT" = (/obj/machinery/light/small,/turf/simulated/floor{dir = 10; icon_state = "floorgrimecaution"},/area/maintenance/atmos_control) "ccU" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "floorgrimecaution"},/area/maintenance/atmos_control) "ccV" = (/obj/structure/disposalpipe/segment,/obj/structure/extinguisher_cabinet{pixel_x = 25},/turf/simulated/floor/plating,/area/maintenance/atmos_control) "ccW" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/atmos_control) "ccX" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "yellowcorner"},/area/engineering/foyer) -"ccY" = (/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = -28},/obj/structure/bed/roller,/obj/machinery/camera/network/medbay{c_tag = "Medbay Scanning"; dir = 1},/turf/simulated/floor,/area/medical/sleeper) +"ccY" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering Break Room"; req_one_access = list(10,24,5)},/turf/simulated/floor,/area/engineering/break_room) "ccZ" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/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{dir = 4},/turf/simulated/floor,/area/engineering/foyer) "cda" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/turf/simulated/floor,/area/engineering/foyer) "cdb" = (/obj/structure/disposalpipe/segment{dir = 4},/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/manifold/hidden/scrubbers,/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/engineering/foyer) @@ -5571,13 +5571,13 @@ "cdg" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor{dir = 9; icon_state = "blue"},/area/medical/surgeryobs) "cdh" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/medical/surgeryobs) "cdi" = (/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/medical/surgeryobs) -"cdj" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{autoclose = 0; name = "Diagnostics Room"; req_access = list(5)},/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/medbay4) +"cdj" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/camera/network/engineering{c_tag = "Engineering Break Room"; dir = 8},/turf/simulated/floor/carpet,/area/engineering/break_room) "cdk" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/medical/surgeryobs) "cdl" = (/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 0; pixel_y = 22},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{dir = 5; icon_state = "blue"},/area/medical/surgeryobs) -"cdm" = (/obj/machinery/door/airlock/maintenance{name = "Miscellaneous Reseach Maintenance"; req_access = list(47)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/substation/research) +"cdm" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/camera/network/medbay{c_tag = "Medbay Surgery Access"; dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay4) "cdn" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/turf/simulated/floor{icon_state = "white_halfo"},/area/medical/medbay4) "cdo" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white_halfp"},/area/medical/medbay4) -"cdp" = (/obj/machinery/door/firedoor/border_only{name = "hazard door south"},/obj/machinery/door/airlock/research{name = "Xenobiology Research"; req_access = list(47)},/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/floor{icon_state = "white"},/area/rnd/research) +"cdp" = (/obj/structure/bed,/obj/item/weapon/bedsheet/medical,/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 25; pixel_y = 0},/turf/simulated/floor{dir = 4; icon_state = "whitered"},/area/medical/ward) "cdq" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/ward) "cdr" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/ward) "cds" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "white"},/area/medical/ward) @@ -5589,7 +5589,7 @@ "cdy" = (/obj/structure/disposalpipe/segment{dir = 4},/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{dir = 4},/turf/simulated/floor/carpet,/area/engineering/break_room) "cdz" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/structure/closet/secure_closet/personal/patient,/turf/simulated/floor{dir = 10; icon_state = "whitered"},/area/medical/patient_c) "cdA" = (/obj/machinery/light,/obj/machinery/newscaster{pixel_y = -28},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/hologram/holopad,/turf/simulated/floor{dir = 3; icon_state = "whitered"},/area/medical/patient_c) -"cdB" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "eng_eva_outer"; locked = 1; name = "Engineering EVA External Access"; req_access = list(13)},/turf/simulated/floor/airless{icon_state = "circuit"},/area/maintenance/atmos_control) +"cdB" = (/obj/structure/table/woodentable,/turf/simulated/floor/wood,/area/medical/psych) "cdC" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/maintenance/research_port) "cdD" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/maintenance/research_port) "cdE" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/medical/virologyaccess) @@ -5601,56 +5601,56 @@ "cdK" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/research_port) "cdL" = (/turf/simulated/wall/r_wall,/area/rnd/xenobiology/xenoflora_storage) "cdM" = (/obj/machinery/door/firedoor,/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "medbayquar"; name = "Medbay Emergency Quarantine Shutters"; opacity = 0},/turf/simulated/floor{dir = 5; icon_state = "whiteblue"},/area/hallway/primary/starboard) -"cdN" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "eng_eva_airlock"; name = "exterior access button"; pixel_x = 0; pixel_y = 25; req_access = list(13)},/turf/simulated/floor/plating/airless,/area/maintenance/atmos_control) +"cdN" = (/obj/structure/bed/chair/office/dark{dir = 1},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/door_control{desc = "A remote control-switch for the office door."; id = "mentaldoor"; name = "door lock"; normaldoorcontrol = 1; pixel_x = -24; pixel_y = 8; req_access = list(20); specialfunctions = 4},/obj/machinery/button/windowtint{pixel_x = -22},/obj/machinery/light_switch{pixel_x = -28},/turf/simulated/floor/wood,/area/medical/psych) "cdO" = (/turf/simulated/wall/r_wall,/area/rnd/xenobiology) "cdP" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/light/small,/turf/simulated/floor{dir = 2; icon_state = "whitegreen"},/area/rnd/xenobiology) "cdQ" = (/obj/structure/disposalpipe/segment{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"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/carpet,/area/engineering/break_room) "cdR" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/light/small,/turf/simulated/floor{dir = 2; icon_state = "whitegreen"},/area/rnd/xenobiology) "cdS" = (/turf/simulated/wall/r_wall,/area/rnd/xenobiology/xenoflora) -"cdT" = (/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "eng_eva_pump"; tag_exterior_door = "eng_eva_outer"; frequency = 1379; id_tag = "eng_eva_airlock"; tag_interior_door = "eng_eva_inner"; name = "Engineering Airlock Console"; pixel_y = 25; req_access = list(13); tag_chamber_sensor = "eng_eva_sensor"},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/turf/simulated/floor{dir = 5; icon_state = "floorgrimecaution"},/area/maintenance/atmos_control) -"cdU" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "eng_eva_airlock"; name = "interior access button"; pixel_x = 0; pixel_y = 25; req_access = list(13)},/turf/simulated/floor{dir = 8; icon_state = "floorgrimecaution"},/area/maintenance/atmos_control) +"cdT" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/computer/borgupload,/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload) +"cdU" = (/obj/item/weapon/cigbutt{pixel_y = 12},/turf/simulated/floor/plating,/area/maintenance/disposal) "cdV" = (/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "medbayrecquar"; name = "Medbay Emergency Quarantine Shutters"; opacity = 0},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor,/area/medical/reception) "cdW" = (/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "medbayrecquar"; name = "Medbay Emergency Quarantine Shutters"; opacity = 0},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor,/area/medical/reception) "cdX" = (/obj/machinery/atmospherics/pipe/simple/visible{icon_state = "intact"; dir = 6},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/maintenance/research_starboard) -"cdY" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "eng_eva_inner"; locked = 1; name = "Engineering EVA Internal Access"; req_access = list(13)},/turf/simulated/floor/plating,/area/maintenance/atmos_control) -"cdZ" = (/obj/structure/closet/secure_closet/engineering_chief,/obj/item/weapon/tank/emergency_oxygen/engi,/turf/simulated/floor,/area/crew_quarters/heads/chief) +"cdY" = (/obj/structure/bed,/obj/item/weapon/bedsheet/medical,/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 25; pixel_y = 0},/obj/machinery/camera/network/medbay{c_tag = "Medbay Patient Room C"; dir = 8},/turf/simulated/floor{dir = 4; icon_state = "whitered"},/area/medical/patient_c) +"cdZ" = (/obj/item/weapon/shard,/mob/living/simple_animal/mouse,/turf/simulated/floor/plating,/area/maintenance/research_port) "cea" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0; pixel_y = -32},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1379; id_tag = "toxin_test_pump"},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "toxin_test_sensor"; pixel_x = 0; pixel_y = 16},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/maintenance/research_starboard) -"ceb" = (/obj/machinery/keycard_auth{pixel_x = -24; pixel_y = 0},/obj/machinery/door_control{desc = "A remote control-switch for engine core."; id = "EngineVent"; name = "Engine Ventillatory Control"; pixel_x = -24; pixel_y = 10; req_access = list(10)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door_control{desc = "A remote control-switch for the engine core airlock hatch bolts."; id = "engine_access_hatch"; name = "Engine Hatch Bolt Control"; normaldoorcontrol = 1; pixel_x = -24; pixel_y = -10; req_access = list(10); specialfunctions = 4},/turf/simulated/floor,/area/crew_quarters/heads/chief) -"cec" = (/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/cable/green,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/window/reinforced/polarized{dir = 8},/obj/structure/window/reinforced/polarized{dir = 4},/obj/structure/window/reinforced/polarized{dir = 1},/turf/simulated/floor/plating,/area/crew_quarters/heads/chief) -"ced" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering Break Room"; req_one_access = list(10,24,5)},/turf/simulated/floor,/area/engineering/break_room) +"ceb" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance{req_one_access = list(12,47)},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/rnd/xenobiology) +"cec" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance{req_one_access = list(12,47)},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/turf/simulated/floor/plating,/area/rnd/xenobiology) +"ced" = (/obj/machinery/mass_driver{id = "trash"},/obj/machinery/airlock_sensor{pixel_x = -25; pixel_y = 10},/turf/simulated/floor/plating/airless,/area/maintenance/disposal) "cee" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/carpet,/area/engineering/break_room) -"cef" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/camera/network/engineering{c_tag = "Engineering Break Room"; dir = 8},/turf/simulated/floor/carpet,/area/engineering/break_room) +"cef" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 4},/turf/simulated/floor/plating,/area/maintenance/research_starboard) "ceg" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating/airless,/area/rnd/test_area) "ceh" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless,/area/rnd/test_area) -"cei" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/camera/network/medbay{c_tag = "Medbay Surgery Access"; dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay4) +"cei" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/yellow{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/turf/simulated/floor/plating,/area/maintenance/research_starboard) "cej" = (/turf/simulated/wall,/area/construction) "cek" = (/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{dir = 4},/turf/simulated/floor/carpet,/area/engineering/break_room) -"cel" = (/obj/structure/bed,/obj/item/weapon/bedsheet/medical,/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 25; pixel_y = 0},/turf/simulated/floor{dir = 4; icon_state = "whitered"},/area/medical/ward) +"cel" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible{icon_state = "intact"; dir = 6},/turf/simulated/floor{icon_state = "white"},/area/rnd/mixing) "cem" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/carpet,/area/engineering/break_room) "cen" = (/obj/machinery/iv_drip,/turf/simulated/floor{icon_state = "white"},/area/medical/patient_wing) "ceo" = (/obj/structure/table,/obj/item/weapon/storage/box/cdeathalarm_kit,/obj/item/bodybag/cryobag{pixel_x = -3},/obj/item/bodybag/cryobag{pixel_x = -3},/turf/simulated/floor{icon_state = "dark"},/area/medical/biostorage) "cep" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/table,/obj/item/weapon/clipboard,/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 0; pixel_y = -36},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/button/windowtint{id = "isoC_window_tint"; pixel_y = -26},/turf/simulated/floor{dir = 6; icon_state = "whitered"},/area/medical/patient_c) "ceq" = (/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/purple,/turf/simulated/floor{dir = 2; icon_state = "whitegreen"},/area/rnd/xenobiology) -"cer" = (/obj/structure/table/woodentable,/turf/simulated/floor/wood,/area/medical/psych) +"cer" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 10},/turf/simulated/floor/plating,/area/maintenance/research_starboard) "ces" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/disposalpipe/segment,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/maintenance/atmos_control) "cet" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/maintenance/atmos_control) -"ceu" = (/obj/structure/bed/chair/office/dark{dir = 1},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/door_control{desc = "A remote control-switch for the office door."; id = "mentaldoor"; name = "door lock"; normaldoorcontrol = 1; pixel_x = -24; pixel_y = 8; req_access = list(20); specialfunctions = 4},/obj/machinery/button/windowtint{pixel_x = -22},/obj/machinery/light_switch{pixel_x = -28},/turf/simulated/floor/wood,/area/medical/psych) -"cev" = (/obj/structure/bed,/obj/item/weapon/bedsheet/medical,/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 25; pixel_y = 0},/obj/machinery/camera/network/medbay{c_tag = "Medbay Patient Room C"; dir = 8},/turf/simulated/floor{dir = 4; icon_state = "whitered"},/area/medical/patient_c) +"ceu" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1379; id_tag = "eng_eva_pump"},/obj/machinery/camera/network/security{c_tag = "Engineering Airlock Access"; dir = 1},/turf/simulated/floor{dir = 6; icon_state = "floorgrimecaution"},/area/maintenance/atmos_control) +"cev" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/clothing/shoes/magboots,/obj/item/clothing/mask/breath,/obj/item/weapon/rig/ce/equipped,/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/crew_quarters/heads/chief) "cew" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor{dir = 8; icon_state = "yellowcorner"},/area/engineering/foyer) -"cex" = (/obj/item/weapon/shard,/mob/living/simple_animal/mouse,/turf/simulated/floor/plating,/area/maintenance/research_port) +"cex" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_command{name = "Chief Engineer"; req_access = list(56)},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/crew_quarters/heads/chief) "cey" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/engineering/foyer) "cez" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/sleep/engi_wash) "ceA" = (/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/plating,/area/maintenance/substation/engineering) "ceB" = (/obj/machinery/door/airlock/medical{autoclose = 0; icon_state = "door_open"; id_tag = "engineering_cubicle"; name = "Restroom"},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/sleep/engi_wash) -"ceC" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance{req_one_access = list(12,47)},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/rnd/xenobiology) +"ceC" = (/obj/item/device/radio/intercom{layer = 4; name = "Station Intercom (General)"; pixel_y = -29},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/camera/network/engineering{c_tag = "Engineering - CE's Office"; dir = 1},/turf/simulated/floor,/area/crew_quarters/heads/chief) "ceD" = (/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/medical/surgeryobs) "ceE" = (/obj/structure/bed/chair/office/dark,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/engineering/break_room) "ceF" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "bluecorner"},/area/medical/surgeryobs) "ceG" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable/green,/turf/simulated/floor{icon_state = "blue"; dir = 6},/area/medical/surgeryobs) -"ceH" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance{req_one_access = list(12,47)},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/turf/simulated/floor/plating,/area/rnd/xenobiology) -"ceI" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 4},/turf/simulated/floor/plating,/area/maintenance/research_starboard) +"ceH" = (/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/cable/green,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/window/reinforced/polarized{dir = 8},/obj/structure/window/reinforced/polarized{dir = 4},/turf/simulated/floor/plating,/area/crew_quarters/heads/chief) +"ceI" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/airlock/glass_engineering{name = "Engineering Break Room"; req_one_access = list(10,24,5)},/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{dir = 4},/turf/simulated/floor,/area/engineering/break_room) "ceJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/medical/ward) -"ceK" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/yellow{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/turf/simulated/floor/plating,/area/maintenance/research_starboard) +"ceK" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/engineering{name = "Engineering Washroom"; req_one_access = list(10,24,5)},/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{dir = 4},/turf/simulated/floor,/area/engineering/break_room) "ceL" = (/turf/simulated/floor{icon_state = "bcarpet05"},/area/medical/psych) "ceM" = (/obj/structure/bookcase,/turf/simulated/floor{icon_state = "bcarpet06"},/area/medical/psych) "ceN" = (/obj/machinery/vending/medical,/turf/simulated/floor{icon_state = "white"},/area/medical/patient_wing) @@ -5670,23 +5670,23 @@ "cfb" = (/obj/structure/closet/secure_closet/hydroponics{req_access = list(47)},/turf/simulated/floor{dir = 1; icon_state = "whitegreen"},/area/rnd/xenobiology/xenoflora_storage) "cfc" = (/obj/machinery/light{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/obj/machinery/light_switch{pixel_x = 27},/obj/machinery/smartfridge/drying_rack,/turf/simulated/floor{tag = "icon-whitegreen_v (NORTHEAST)"; icon_state = "whitegreen_v"; dir = 5},/area/rnd/xenobiology/xenoflora_storage) "cfd" = (/obj/structure/sign/biohazard,/turf/simulated/wall,/area/rnd/xenobiology) -"cfe" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/plating,/area/maintenance/research_starboard) +"cfe" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/camera/network/medbay{c_tag = "Medbay Surgery Observation"},/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/medical/surgeryobs) "cff" = (/obj/structure/sign/securearea,/turf/simulated/wall,/area/rnd/xenobiology) "cfg" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/disposalpipe/trunk,/obj/machinery/disposal,/obj/structure/sign/deathsposal{pixel_x = 0; pixel_y = 32},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor{dir = 8; icon_state = "whitegreen"},/area/rnd/xenobiology/xenoflora) "cfh" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/portable_atmospherics/hydroponics{closed_system = 1; name = "isolation tray"},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology/xenoflora) -"cfi" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 10},/turf/simulated/floor/plating,/area/maintenance/research_starboard) -"cfj" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1379; id_tag = "eng_eva_pump"},/obj/machinery/camera/network/security{c_tag = "Engineering Airlock Access"; dir = 1},/turf/simulated/floor{dir = 6; icon_state = "floorgrimecaution"},/area/maintenance/atmos_control) -"cfk" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/clothing/shoes/magboots,/obj/item/clothing/mask/breath,/obj/item/weapon/rig/ce/equipped,/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/crew_quarters/heads/chief) +"cfi" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Observation Room"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay4) +"cfj" = (/obj/machinery/door/airlock/glass_medical{name = "Patient Ward"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay4) +"cfk" = (/obj/structure/disposaloutlet{dir = 8},/obj/structure/disposalpipe/trunk{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/maintenance/disposal) "cfl" = (/obj/machinery/light{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/structure/table,/obj/item/weapon/storage/box/botanydisk,/turf/simulated/floor{dir = 8; icon_state = "whitegreen"},/area/rnd/xenobiology/xenoflora) -"cfm" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_command{name = "Chief Engineer"; req_access = list(56)},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/crew_quarters/heads/chief) +"cfm" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/turf/simulated/floor/plating,/area/rnd/xenobiology/xenoflora) "cfn" = (/obj/machinery/botany/extractor,/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology/xenoflora) "cfo" = (/obj/structure/table,/obj/machinery/reagentgrinder,/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology/xenoflora) "cfp" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/machinery/smartfridge,/turf/simulated/floor{dir = 4; icon_state = "whitegreen"},/area/rnd/xenobiology/xenoflora) "cfq" = (/obj/structure/closet/emcloset,/turf/simulated/floor/plating{dir = 2; icon_state = "warnplatecorner"},/area/maintenance/research_starboard) "cfr" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/maintenance/research_starboard) -"cfs" = (/obj/item/device/radio/intercom{layer = 4; name = "Station Intercom (General)"; pixel_y = -29},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/camera/network/engineering{c_tag = "Engineering - CE's Office"; dir = 1},/turf/simulated/floor,/area/crew_quarters/heads/chief) +"cfs" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "toxin_test_inner"; locked = 1; name = "Engineering External Access"; req_access = list(13)},/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/research_starboard) "cft" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless,/area/rnd/test_area) -"cfu" = (/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/cable/green,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/window/reinforced/polarized{dir = 8},/obj/structure/window/reinforced/polarized{dir = 4},/turf/simulated/floor/plating,/area/crew_quarters/heads/chief) +"cfu" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "toxin_test_airlock"; name = "interior access button"; pixel_x = 20; pixel_y = 20; req_access = list(13)},/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/maintenance/research_starboard) "cfv" = (/obj/machinery/light/small,/turf/simulated/floor/plating/airless,/area/rnd/test_area) "cfw" = (/obj/machinery/light{dir = 8},/turf/simulated/floor/plating,/area/construction) "cfx" = (/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor/plating,/area/construction) @@ -5698,18 +5698,18 @@ "cfD" = (/obj/machinery/light/small{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/atmos_control) "cfE" = (/obj/structure/dispenser{phorontanks = 0},/turf/simulated/floor,/area/engineering/engine_eva) "cfF" = (/obj/structure/sign/pods,/turf/simulated/wall/r_wall,/area/engineering/engine_eva) -"cfG" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/airlock/glass_engineering{name = "Engineering Break Room"; req_one_access = list(10,24,5)},/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{dir = 4},/turf/simulated/floor,/area/engineering/break_room) +"cfG" = (/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "toxin_test_pump"; tag_exterior_door = "toxin_test_outer"; frequency = 1379; id_tag = "toxin_test_airlock"; tag_interior_door = "toxin_test_inner"; pixel_x = 0; pixel_y = 25; req_access = list(13); tag_chamber_sensor = "toxin_test_sensor"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/maintenance/research_starboard) "cfH" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor,/area/engineering/engine_eva) -"cfI" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/engineering{name = "Engineering Washroom"; req_one_access = list(10,24,5)},/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{dir = 4},/turf/simulated/floor,/area/engineering/break_room) +"cfI" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "toxin_test_airlock"; name = "exterior access button"; pixel_x = -20; pixel_y = -20; req_access = list(13)},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating/airless,/area/space) "cfJ" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/portable_atmospherics/powered/scrubber,/turf/simulated/floor{icon_state = "red"; dir = 1},/area/engineering/foyer) "cfK" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/engineering/engine_eva) -"cfL" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/camera/network/medbay{c_tag = "Medbay Surgery Observation"},/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/medical/surgeryobs) -"cfM" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Observation Room"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay4) +"cfL" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "toxin_test_outer"; locked = 1; name = "Engineering External Access"; req_access = list(10,13)},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/research_starboard) +"cfM" = (/obj/machinery/door/airlock/external{name = "Toxins Test Chamber"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating/airless,/area/rnd/test_area) "cfN" = (/obj/machinery/newscaster{pixel_x = 31; pixel_y = 3},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/engineering/foyer) "cfO" = (/obj/machinery/computer/station_alert,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/engineering/break_room) "cfP" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/engineering/break_room) "cfQ" = (/obj/machinery/light,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable/green,/obj/structure/flora/pottedplant{icon_state = "plant-20"; tag = "icon-plant-22"},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/engineering/break_room) -"cfR" = (/obj/machinery/door/airlock/glass_medical{name = "Patient Ward"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay4) +"cfR" = (/obj/machinery/light,/obj/machinery/camera/network/research{c_tag = "Research - Toxins Test Chamber South"; dir = 1; network = list("Research","Toxins Test Area")},/turf/simulated/floor/airless,/area/rnd/test_area) "cfS" = (/obj/structure/closet/secure_closet/personal,/turf/simulated/floor/wood,/area/crew_quarters/sleep/bedrooms) "cfT" = (/obj/machinery/power/tracker,/obj/structure/cable/yellow,/turf/simulated/floor/plating/airless,/area/solar/starboard) "cfU" = (/obj/structure/table,/obj/item/weapon/storage/box/drinkingglasses{pixel_x = 1; pixel_y = 4},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/engineering/break_room) @@ -5722,17 +5722,17 @@ "cgb" = (/obj/structure/closet/secure_closet/personal/patient,/turf/simulated/floor{dir = 10; icon_state = "whitered"},/area/medical/ward) "cgc" = (/obj/structure/closet/secure_closet/personal/patient,/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor{dir = 7; icon_state = "whitered"},/area/medical/ward) "cgd" = (/obj/structure/closet/secure_closet/personal/patient,/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor{dir = 7; icon_state = "whitered"},/area/medical/ward) -"cge" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/turf/simulated/floor/plating,/area/rnd/xenobiology/xenoflora) -"cgf" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "toxin_test_inner"; locked = 1; name = "Engineering External Access"; req_access = list(13)},/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/research_starboard) +"cge" = (/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/window/reinforced/polarized{dir = 1},/obj/structure/window/reinforced/polarized{dir = 8},/obj/structure/window/reinforced/polarized,/turf/simulated/floor/plating,/area/crew_quarters/heads/chief) +"cgf" = (/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/window/reinforced/polarized{dir = 1},/obj/structure/window/reinforced/polarized,/turf/simulated/floor/plating,/area/crew_quarters/heads/chief) "cgg" = (/obj/machinery/vending/snack,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/engineering/break_room) "cgh" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "whitegreen"},/area/medical/patient_wing) "cgi" = (/obj/structure/bed/chair/comfy/brown,/obj/effect/landmark/start{name = "Psychiatrist"},/turf/simulated/floor{icon_state = "bcarpet06"},/area/medical/psych) "cgj" = (/obj/structure/table,/turf/simulated/floor{dir = 2; icon_state = "whitegreen"},/area/medical/patient_wing) "cgk" = (/obj/item/weapon/storage/toolbox/emergency,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "dark"},/area/medical/biostorage) "cgl" = (/obj/structure/table/rack,/obj/item/clothing/suit/radiation,/obj/item/clothing/head/radiation,/turf/simulated/floor{icon_state = "dark"},/area/medical/biostorage) -"cgm" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "toxin_test_airlock"; name = "interior access button"; pixel_x = 20; pixel_y = 20; req_access = list(13)},/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/maintenance/research_starboard) +"cgm" = (/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/window/reinforced/polarized{dir = 1},/turf/simulated/floor/plating,/area/crew_quarters/heads/chief) "cgn" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor{icon_state = "freezerfloor"},/area/medical/patient_wing) -"cgo" = (/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "toxin_test_pump"; tag_exterior_door = "toxin_test_outer"; frequency = 1379; id_tag = "toxin_test_airlock"; tag_interior_door = "toxin_test_inner"; pixel_x = 0; pixel_y = 25; req_access = list(13); tag_chamber_sensor = "toxin_test_sensor"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/maintenance/research_starboard) +"cgo" = (/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/cable/green,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/window/reinforced/polarized,/obj/structure/window/reinforced/polarized{dir = 4},/turf/simulated/floor/plating,/area/crew_quarters/heads/chief) "cgp" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) "cgq" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/machinery/power/terminal{dir = 8},/turf/simulated/floor/plating,/area/maintenance/substation/engineering) "cgr" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/purple{dir = 8},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) @@ -5745,8 +5745,8 @@ "cgy" = (/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology/xenoflora_storage) "cgz" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor{dir = 4; icon_state = "whitegreen"},/area/rnd/xenobiology/xenoflora_storage) "cgA" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/rnd/xenobiology) -"cgB" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "toxin_test_airlock"; name = "exterior access button"; pixel_x = -20; pixel_y = -20; req_access = list(13)},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating/airless,/area/space) -"cgC" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "toxin_test_outer"; locked = 1; name = "Engineering External Access"; req_access = list(10,13)},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/research_starboard) +"cgB" = (/obj/machinery/door/firedoor,/obj/structure/disposalpipe/segment,/obj/machinery/holosign/surgery,/obj/machinery/door/airlock/glass_medical{id_tag = "Surgery"; name = "Pre-Op Prep Room"; req_access = list(5)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay4) +"cgC" = (/obj/machinery/door/firedoor,/obj/machinery/holosign/surgery,/obj/machinery/door/airlock/glass_medical{id_tag = "Surgery"; name = "Pre-Op Prep Room"; req_access = list(5)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay4) "cgD" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor{dir = 2; icon_state = "whitegreen"},/area/rnd/xenobiology/xenoflora) "cgE" = (/obj/structure/grille,/turf/simulated/wall/r_wall,/area/engineering/atmos) "cgF" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/atmos_control) @@ -5758,10 +5758,10 @@ "cgL" = (/turf/simulated/floor{dir = 2; icon_state = "whitegreen"},/area/rnd/xenobiology/xenoflora) "cgM" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{dir = 6; icon_state = "whitegreen"},/area/rnd/xenobiology/xenoflora) "cgN" = (/turf/simulated/wall/r_wall,/area/maintenance/starboardsolar) -"cgO" = (/obj/machinery/door/airlock/external{name = "Toxins Test Chamber"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating/airless,/area/rnd/test_area) +"cgO" = (/obj/structure/closet/secure_closet{name = "Psychiatrist's Locker"; req_access = list(64)},/obj/item/clothing/suit/straight_jacket{layer = 3},/obj/item/weapon/reagent_containers/glass/bottle/stoxin,/obj/item/weapon/reagent_containers/pill/methylphenidate,/obj/item/weapon/reagent_containers/pill/citalopram,/obj/item/weapon/reagent_containers/pill/citalopram,/obj/item/weapon/reagent_containers/pill/methylphenidate,/obj/item/weapon/reagent_containers/syringe,/turf/simulated/floor{icon_state = "bcarpet04"},/area/medical/psych) "cgP" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = 0},/turf/simulated/wall/r_wall,/area/maintenance/starboardsolar) "cgQ" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/rnd/test_area) -"cgR" = (/obj/machinery/light,/obj/machinery/camera/network/research{c_tag = "Research - Toxins Test Chamber South"; dir = 1; network = list("Research","Toxins Test Area")},/turf/simulated/floor/airless,/area/rnd/test_area) +"cgR" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/engineering{name = "Science Substation"; req_one_access = list(11,24,47)},/obj/machinery/door/firedoor,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/substation/research) "cgS" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/construction) "cgT" = (/turf/simulated/floor/plating,/area/construction) "cgU" = (/turf/simulated/floor,/area/construction) @@ -5771,31 +5771,31 @@ "cgY" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering/engine_eva) "cgZ" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering/engine_eva) "cha" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/purple,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering/foyer) -"chb" = (/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/window/reinforced/polarized{dir = 1},/obj/structure/window/reinforced/polarized{dir = 8},/obj/structure/window/reinforced/polarized,/turf/simulated/floor/plating,/area/crew_quarters/heads/chief) +"chb" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/research{name = "Xenobiology Research"; req_access = list(47)},/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/purple,/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) "chc" = (/obj/machinery/atmospherics/pipe/manifold/hidden/cyan{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/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{dir = 4},/turf/simulated/floor,/area/engineering/foyer) "chd" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering/foyer) "che" = (/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{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "yellowcorner"},/area/engineering/foyer) "chf" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/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{dir = 4},/turf/simulated/floor,/area/engineering/foyer) "chg" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/engineering/foyer) "chh" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering/foyer) -"chi" = (/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/window/reinforced/polarized{dir = 1},/obj/structure/window/reinforced/polarized,/turf/simulated/floor/plating,/area/crew_quarters/heads/chief) +"chi" = (/obj/machinery/light{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/obj/machinery/light_switch{pixel_x = -6; pixel_y = 26},/obj/machinery/atmospherics/portables_connector,/obj/machinery/portable_atmospherics/hydroponics{closed_system = 1; name = "isolation tray"},/turf/simulated/floor{dir = 4; icon_state = "whitegreen"},/area/rnd/xenobiology/xenoflora) "chj" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/engineering/foyer) "chk" = (/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/obj/structure/bed/chair/comfy/brown{dir = 4},/turf/simulated/floor{icon_state = "bcarpet08"},/area/medical/psych) "chl" = (/obj/structure/bed/psych,/obj/item/weapon/bedsheet/brown,/turf/simulated/floor{icon_state = "bcarpet09"},/area/medical/psych) "chm" = (/obj/structure/table,/obj/item/weapon/gun/launcher/syringe,/obj/item/weapon/storage/box/syringegun,/turf/simulated/floor{icon_state = "dark"},/area/medical/biostorage) -"chn" = (/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/window/reinforced/polarized{dir = 1},/turf/simulated/floor/plating,/area/crew_quarters/heads/chief) +"chn" = (/obj/machinery/seed_storage/xenobotany,/turf/simulated/floor{icon_state = "hydrofloor"},/area/rnd/xenobiology/xenoflora) "cho" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/purple,/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) -"chp" = (/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/cable/green,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/window/reinforced/polarized,/obj/structure/window/reinforced/polarized{dir = 4},/turf/simulated/floor/plating,/area/crew_quarters/heads/chief) -"chq" = (/obj/machinery/door/firedoor,/obj/structure/disposalpipe/segment,/obj/machinery/holosign/surgery,/obj/machinery/door/airlock/glass_medical{id_tag = "Surgery"; name = "Pre-Op Prep Room"; req_access = list(5)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay4) +"chp" = (/obj/machinery/botany/editor,/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology/xenoflora) +"chq" = (/obj/machinery/light/small{dir = 4},/obj/effect/decal/cleanable/generic,/obj/machinery/camera/network/engineering{c_tag = "Solar Maintenance Aft Starboard Access"; dir = 1},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 6},/area/maintenance/research_starboard) "chr" = (/obj/structure/table,/obj/item/weapon/storage/box/gloves{pixel_x = 4; pixel_y = 4},/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/item/weapon/storage/box/masks,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor{dir = 9; icon_state = "blue"},/area/medical/surgeryprep) "chs" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{dir = 1; icon_state = "bluecorner"},/area/medical/surgeryprep) "cht" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor{dir = 4; icon_state = "blue"},/area/medical/surgeryprep) -"chu" = (/obj/machinery/door/firedoor,/obj/machinery/holosign/surgery,/obj/machinery/door/airlock/glass_medical{id_tag = "Surgery"; name = "Pre-Op Prep Room"; req_access = list(5)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay4) +"chu" = (/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/item/clothing/shoes/magboots,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/void/engineering,/obj/machinery/light{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/window/southleft{name = "Engineering Hardsuits"; req_access = list(11)},/obj/item/clothing/suit/space/void/engineering,/turf/simulated/floor,/area/engineering/engine_eva) "chv" = (/obj/structure/table,/obj/item/weapon/tape_roll,/obj/item/device/analyzer/plant_analyzer,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "hydrofloor"},/area/rnd/xenobiology/xenoflora) "chw" = (/obj/structure/sign/biohazard,/turf/simulated/wall,/area/medical/virologyaccess) "chx" = (/obj/structure/disposaloutlet,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/plating/airless,/area/medical/virology) "chy" = (/obj/structure/bedsheetbin,/obj/structure/table,/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/green,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor{icon_state = "dark"},/area/medical/biostorage) -"chz" = (/obj/structure/closet/secure_closet{name = "Psychiatrist's Locker"; req_access = list(64)},/obj/item/clothing/suit/straight_jacket{layer = 3},/obj/item/weapon/reagent_containers/glass/bottle/stoxin,/obj/item/weapon/reagent_containers/pill/methylphenidate,/obj/item/weapon/reagent_containers/pill/citalopram,/obj/item/weapon/reagent_containers/pill/citalopram,/obj/item/weapon/reagent_containers/pill/methylphenidate,/obj/item/weapon/reagent_containers/syringe,/turf/simulated/floor{icon_state = "bcarpet04"},/area/medical/psych) +"chz" = (/obj/item/clothing/shoes/magboots,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/void/engineering,/obj/machinery/door/window/southleft{name = "Engineering Hardsuits"; req_access = list(11)},/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/item/clothing/suit/space/void/engineering,/turf/simulated/floor,/area/engineering/engine_eva) "chA" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/research_port) "chB" = (/turf/simulated/floor/plating,/area/maintenance/research_port) "chC" = (/obj/machinery/door/airlock/medical{autoclose = 0; icon_state = "door_open"; id_tag = "cubicle1"; name = "Cubicle 1"},/turf/simulated/floor{icon_state = "freezerfloor"},/area/medical/patient_wing) @@ -5807,14 +5807,14 @@ "chI" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor{dir = 8; icon_state = "whitegreen"},/area/rnd/xenobiology/xenoflora_storage) "chJ" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology/xenoflora_storage) "chK" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor{dir = 4; icon_state = "whitegreen"},/area/rnd/xenobiology/xenoflora_storage) -"chL" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/engineering{name = "Science Substation"; req_one_access = list(11,24,47)},/obj/machinery/door/firedoor,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/substation/research) +"chL" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/portable_atmospherics/powered/pump/filled,/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/engineering/foyer) "chM" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) "chN" = (/turf/simulated/floor/engine{name = "o2 floor"; nitrogen = 0; oxygen = 100000},/area/engineering/atmos) "chO" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) -"chP" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/research{name = "Xenobiology Research"; req_access = list(47)},/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/purple,/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) +"chP" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/atmospherics/portables_connector,/obj/machinery/portable_atmospherics/powered/pump/filled,/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/engineering/foyer) "chQ" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "hydrofloor"},/area/rnd/xenobiology/xenoflora) "chR" = (/turf/simulated/floor/engine{name = "n2 floor"; nitrogen = 100000; oxygen = 0},/area/engineering/atmos) -"chS" = (/obj/machinery/light{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/obj/machinery/light_switch{pixel_x = -6; pixel_y = 26},/obj/machinery/atmospherics/portables_connector,/obj/machinery/portable_atmospherics/hydroponics{closed_system = 1; name = "isolation tray"},/turf/simulated/floor{dir = 4; icon_state = "whitegreen"},/area/rnd/xenobiology/xenoflora) +"chS" = (/obj/machinery/light,/obj/structure/table,/obj/machinery/chemical_dispenser/bar_soft/full,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/engineering/break_room) "chT" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/atmos_control) "chU" = (/obj/effect/decal/cleanable/blood/oil/streak{amount = 0},/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"},/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/atmos_control) "chV" = (/obj/item/weapon/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/briefcase/inflatable,/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/table/reinforced{icon_state = "table"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor,/area/engineering/engine_eva) @@ -5827,7 +5827,7 @@ "cic" = (/turf/simulated/floor,/area/engineering/engine_eva) "cid" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor,/area/engineering/engine_eva) "cie" = (/turf/simulated/floor,/area/engineering/foyer) -"cif" = (/obj/machinery/vending/hydronutrients{categories = 3},/turf/simulated/floor{icon_state = "hydrofloor"},/area/rnd/xenobiology/xenoflora) +"cif" = (/obj/structure/closet/secure_closet/personal/patient,/obj/machinery/camera/network/medbay{c_tag = "Medbay Recovery Ward"; dir = 1},/turf/simulated/floor{dir = 6; icon_state = "whitered"},/area/medical/ward) "cig" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan,/turf/simulated/floor,/area/engineering/foyer) "cih" = (/obj/machinery/hologram/holopad,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/engineering/foyer) "cii" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/construction) @@ -5846,11 +5846,11 @@ "civ" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold4w/hidden/purple,/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) "ciw" = (/obj/machinery/atmospherics/pipe/manifold/hidden/purple{dir = 1},/turf/simulated/floor{icon_state = "hydrofloor"},/area/rnd/xenobiology/xenoflora) "cix" = (/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 10},/turf/simulated/floor{icon_state = "hydrofloor"},/area/rnd/xenobiology/xenoflora) -"ciy" = (/obj/machinery/seed_storage/xenobotany,/turf/simulated/floor{icon_state = "hydrofloor"},/area/rnd/xenobiology/xenoflora) +"ciy" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/obj/machinery/camera/network/medbay{c_tag = "Medbay Mental Health Room"; dir = 1},/turf/simulated/floor{icon_state = "bcarpet04"},/area/medical/psych) "ciz" = (/obj/structure/table/rack{dir = 1},/obj/item/weapon/storage/toolbox/emergency,/turf/simulated/floor/plating,/area/maintenance/engineering) "ciA" = (/turf/simulated/wall,/area/maintenance/substation/engineering) "ciB" = (/obj/structure/table/rack{dir = 1},/obj/item/weapon/extinguisher,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/maintenance/medbay) -"ciC" = (/obj/machinery/botany/editor,/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology/xenoflora) +"ciC" = (/obj/structure/reagent_dispensers/fueltank,/obj/effect/decal/cleanable/blood/oil,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor/plating,/area/maintenance/research_port) "ciD" = (/obj/structure/table/rack,/obj/item/weapon/storage/box/lights/mixed,/turf/simulated/floor/plating,/area/maintenance/engineering) "ciE" = (/obj/structure/table/rack{dir = 1},/obj/item/weapon/extinguisher,/obj/item/clothing/head/hardhat/red,/obj/item/device/flashlight,/turf/simulated/floor/plating,/area/maintenance/engineering) "ciF" = (/obj/structure/table/rack,/obj/item/weapon/extinguisher,/obj/item/weapon/storage/belt/utility,/obj/item/clothing/mask/gas,/turf/simulated/floor/plating,/area/maintenance/engi_engine) @@ -5859,22 +5859,22 @@ "ciI" = (/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) "ciJ" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) "ciK" = (/obj/machinery/door_control{id = "surgeryobs"; name = "Privacy Shutters"; pixel_y = 25},/turf/simulated/floor{dir = 4; icon_state = "whitered"},/area/medical/surgery) -"ciL" = (/obj/machinery/light/small{dir = 4},/obj/effect/decal/cleanable/generic,/obj/machinery/camera/network/engineering{c_tag = "Solar Maintenance Aft Starboard Access"; dir = 1},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 6},/area/maintenance/research_starboard) +"ciL" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/closet/crate/hydroponics/prespawned,/obj/machinery/camera/network/research{c_tag = "Xenoflora Storage"; dir = 4},/turf/simulated/floor{dir = 8; icon_state = "whitegreen"},/area/rnd/xenobiology/xenoflora_storage) "ciM" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/medical/surgeryprep) "ciN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/medical/surgeryprep) "ciO" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor{icon_state = "blue"; dir = 4},/area/medical/surgeryprep) -"ciP" = (/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/item/clothing/shoes/magboots,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/void/engineering,/obj/machinery/light{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/window/southleft{name = "Engineering Hardsuits"; req_access = list(11)},/obj/item/clothing/suit/space/void/engineering,/turf/simulated/floor,/area/engineering/engine_eva) +"ciP" = (/obj/item/weapon/stool,/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/turf/simulated/floor{dir = 2; icon_state = "whitegreen"},/area/rnd/xenobiology/xenoflora) "ciQ" = (/obj/machinery/door_control{id = "surgeryobs2"; name = "Privacy Shutters"; pixel_y = 25},/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/surgery2) "ciR" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery2) "ciS" = (/turf/simulated/floor{icon_state = "white"},/area/medical/surgery2) "ciT" = (/obj/structure/closet/secure_closet/medical2,/obj/machinery/light_switch{pixel_x = 22; pixel_y = 0},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery2) "ciU" = (/turf/simulated/wall,/area/medical/surgery2) -"ciV" = (/obj/item/clothing/shoes/magboots,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/void/engineering,/obj/machinery/door/window/southleft{name = "Engineering Hardsuits"; req_access = list(11)},/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/item/clothing/suit/space/void/engineering,/turf/simulated/floor,/area/engineering/engine_eva) +"ciV" = (/obj/machinery/door/airlock/engineering{name = "Aft Starboard Solar Access"; req_access = list(10)},/obj/machinery/atmospherics/pipe/simple/visible,/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) "ciW" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "hydrofloor"},/area/rnd/xenobiology/xenoflora) "ciX" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor,/area/medical/surgeryprep) "ciY" = (/obj/structure/toilet{dir = 1},/obj/machinery/light/small{dir = 4},/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/turf/simulated/floor{icon_state = "freezerfloor"},/area/medical/patient_wing) "ciZ" = (/obj/machinery/shower{dir = 1},/obj/machinery/light/small{dir = 8},/turf/simulated/floor{icon_state = "freezerfloor"},/area/medical/patient_wing) -"cja" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/portable_atmospherics/powered/pump/filled,/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/engineering/foyer) +"cja" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/engineering{name = "Engineering EVA Storage"; req_access = list(12); req_one_access = list(11,24)},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "floorgrime"},/area/engineering/engine_eva) "cjb" = (/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/engine{name = "air floor"; nitrogen = 10580; oxygen = 2644},/area/engineering/atmos) "cjc" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/floor/engine{name = "o2 floor"; nitrogen = 0; oxygen = 100000},/area/engineering/atmos) "cjd" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/turf/simulated/floor/engine{name = "n2 floor"; nitrogen = 100000; oxygen = 0},/area/engineering/atmos) @@ -5885,30 +5885,30 @@ "cji" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/item/weapon/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 6},/obj/item/weapon/storage/briefcase/inflatable{pixel_y = 3},/obj/structure/table/reinforced{icon_state = "table"},/obj/item/weapon/storage/briefcase/inflatable{pixel_x = -3; pixel_y = 0},/turf/simulated/floor,/area/engineering/engine_eva) "cjj" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/light,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/turf/simulated/floor/plating,/area/rnd/xenobiology) "cjk" = (/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) -"cjl" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/atmospherics/portables_connector,/obj/machinery/portable_atmospherics/powered/pump/filled,/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/engineering/foyer) +"cjl" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering EVA Storage"; req_one_access = list(11,24)},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering/engine_eva) "cjm" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/machinery/atmospherics/pipe/manifold/hidden/purple,/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) "cjn" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/light,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/turf/simulated/floor/plating,/area/rnd/xenobiology/xenoflora) "cjo" = (/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/turf/simulated/floor{icon_state = "hydrofloor"},/area/rnd/xenobiology/xenoflora) "cjp" = (/obj/machinery/atmospherics/pipe/simple/hidden/purple,/turf/simulated/floor,/area/engineering/engine_eva) -"cjq" = (/obj/machinery/light,/obj/structure/table,/obj/machinery/chemical_dispenser/bar_soft/full,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/engineering/break_room) +"cjq" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/camera/network/engineering{c_tag = "Engineering Foyer"; dir = 8},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/engineering/foyer) "cjr" = (/obj/structure/table,/obj/item/clothing/gloves/latex,/obj/item/weapon/hand_labeler,/turf/simulated/floor{icon_state = "hydrofloor"},/area/rnd/xenobiology/xenoflora) "cjs" = (/obj/structure/table,/obj/item/weapon/storage/box/syringes,/turf/simulated/floor{icon_state = "hydrofloor"},/area/rnd/xenobiology/xenoflora) -"cjt" = (/obj/structure/closet/secure_closet/personal/patient,/obj/machinery/camera/network/medbay{c_tag = "Medbay Recovery Ward"; dir = 1},/turf/simulated/floor{dir = 6; icon_state = "whitered"},/area/medical/ward) +"cjt" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/binary/pump{dir = 4; name = "Heater to Waste"},/turf/simulated/floor{dir = 2; icon_state = "warnwhite"},/area/rnd/mixing) "cju" = (/obj/structure/table,/turf/simulated/floor{icon_state = "hydrofloor"},/area/rnd/xenobiology/xenoflora) -"cjv" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/obj/machinery/camera/network/medbay{c_tag = "Medbay Mental Health Room"; dir = 1},/turf/simulated/floor{icon_state = "bcarpet04"},/area/medical/psych) +"cjv" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/turf/simulated/floor{dir = 2; icon_state = "warnwhite"},/area/rnd/mixing) "cjw" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/effect/decal/cleanable/dirt,/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) "cjx" = (/obj/machinery/power/terminal{icon_state = "term"; dir = 1},/obj/machinery/light/small{dir = 4},/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) "cjy" = (/obj/structure/table/reinforced,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/turf/simulated/floor,/area/engineering/foyer) "cjz" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/engineering/engine_eva) "cjA" = (/obj/structure/table/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/cyan,/obj/item/weapon/folder/yellow,/turf/simulated/floor,/area/engineering/foyer) "cjB" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/construction) -"cjC" = (/obj/structure/reagent_dispensers/fueltank,/obj/effect/decal/cleanable/blood/oil,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor/plating,/area/maintenance/research_port) +"cjC" = (/obj/machinery/door_control{id = "engineering_cubicle"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = -25; pixel_y = 8; specialfunctions = 4},/obj/structure/toilet{dir = 1},/obj/machinery/light/small{dir = 4},/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/sleep/engi_wash) "cjD" = (/obj/structure/table/reinforced,/obj/item/weapon/packageWrap,/obj/item/weapon/hand_labeler,/turf/simulated/floor,/area/engineering/foyer) "cjE" = (/obj/structure/table/reinforced,/obj/machinery/recharger{pixel_y = 0},/turf/simulated/floor,/area/engineering/foyer) "cjF" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor,/area/engineering/foyer) "cjG" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/engineering/foyer) "cjH" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/engineering/locker_room) -"cjI" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/closet/crate/hydroponics/prespawned,/obj/machinery/camera/network/research{c_tag = "Xenoflora Storage"; dir = 4},/turf/simulated/floor{dir = 8; icon_state = "whitegreen"},/area/rnd/xenobiology/xenoflora_storage) +"cjI" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Virology Access"; req_access = list(39)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "whitehall"; dir = 1},/area/medical/virologyaccess) "cjJ" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/engineering/locker_room) "cjK" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor,/area/engineering/locker_room) "cjL" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor,/area/engineering/locker_room) @@ -5939,8 +5939,8 @@ "ckk" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery2) "ckl" = (/obj/machinery/computer/operating,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery2) "ckm" = (/obj/structure/table,/obj/item/weapon/FixOVein,/obj/item/device/radio/intercom{freerange = 1; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 30},/obj/item/weapon/surgicaldrill,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery2) -"ckn" = (/obj/item/weapon/stool,/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/turf/simulated/floor{dir = 2; icon_state = "whitegreen"},/area/rnd/xenobiology/xenoflora) -"cko" = (/obj/machinery/door/airlock/engineering{name = "Aft Starboard Solar Access"; req_access = list(10)},/obj/machinery/atmospherics/pipe/simple/visible,/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) +"ckn" = (/obj/machinery/door/airlock/research{name = "Xenoflora Storage"; req_access = list(55)},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) +"cko" = (/obj/machinery/door/airlock/research{name = "Xenoflora Research"; req_access = list(55)},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology/xenoflora) "ckp" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance,/obj/structure/disposalpipe/segment,/obj/structure/sign/redcross{desc = "The Star of Life, a symbol of Medical Aid."; icon_state = "lifestar"; name = "Medbay"; pixel_x = 0; pixel_y = 32},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/medical/virologyaccess) "ckq" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor,/area/medical/virologyaccess) "ckr" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; external_pressure_bound = 0; external_pressure_bound_default = 0; frequency = 1443; icon_state = "map_vent_in"; id_tag = "air_out"; internal_pressure_bound = 2000; internal_pressure_bound_default = 2000; use_power = 1; pressure_checks = 2; pressure_checks_default = 2; pump_direction = 0},/turf/simulated/floor/engine{name = "air floor"; nitrogen = 10580; oxygen = 2644},/area/engineering/atmos) @@ -5954,10 +5954,10 @@ "ckz" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 2; frequency = 1441; icon_state = "map_injector"; id = "o2_in"; use_power = 1},/turf/simulated/floor/engine{name = "o2 floor"; nitrogen = 0; oxygen = 100000},/area/engineering/atmos) "ckA" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 2; external_pressure_bound = 0; external_pressure_bound_default = 0; frequency = 1441; icon_state = "map_vent_in"; id_tag = "o2_out"; initialize_directions = 1; internal_pressure_bound = 4000; internal_pressure_bound_default = 4000; use_power = 1; pressure_checks = 2; pressure_checks_default = 2; pump_direction = 0},/turf/simulated/floor/engine{name = "o2 floor"; nitrogen = 0; oxygen = 100000},/area/engineering/atmos) "ckB" = (/obj/machinery/air_sensor{frequency = 1441; id_tag = "o2_sensor"},/turf/simulated/floor/engine{name = "o2 floor"; nitrogen = 0; oxygen = 100000},/area/engineering/atmos) -"ckC" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/engineering{name = "Engineering EVA Storage"; req_access = list(12); req_one_access = list(11,24)},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "floorgrime"},/area/engineering/engine_eva) +"ckC" = (/obj/structure/table,/obj/item/weapon/storage/box/beakers{pixel_x = 2; pixel_y = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "hydrofloor"},/area/rnd/xenobiology/xenoflora) "ckD" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 2; frequency = 1441; icon_state = "map_injector"; id = "n2_in"; use_power = 1},/turf/simulated/floor/engine{name = "n2 floor"; nitrogen = 100000; oxygen = 0},/area/engineering/atmos) "ckE" = (/obj/structure/sign/biohazard,/turf/simulated/wall/r_wall,/area/rnd/xenobiology) -"ckF" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering EVA Storage"; req_one_access = list(11,24)},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering/engine_eva) +"ckF" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/turf/simulated/floor{icon_state = "hydrofloor"},/area/rnd/xenobiology/xenoflora) "ckG" = (/obj/structure/sign/biohazard,/turf/simulated/wall/r_wall,/area/rnd/xenobiology/xenoflora) "ckH" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/turf/simulated/floor{tag = "icon-whitegreen (NORTHWEST)"; icon_state = "whitegreen"; dir = 9},/area/rnd/xenobiology/xenoflora) "ckI" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 2; external_pressure_bound = 0; external_pressure_bound_default = 0; frequency = 1441; icon_state = "map_vent_in"; id_tag = "n2_out"; initialize_directions = 1; internal_pressure_bound = 4000; internal_pressure_bound_default = 4000; use_power = 1; pressure_checks = 2; pressure_checks_default = 2; pump_direction = 0},/turf/simulated/floor/engine{name = "n2 floor"; nitrogen = 100000; oxygen = 0},/area/engineering/atmos) @@ -5965,10 +5965,10 @@ "ckK" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/plating,/area/maintenance/atmos_control) "ckL" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "hydrofloor"},/area/rnd/xenobiology/xenoflora) "ckM" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/atmos_control) -"ckN" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/camera/network/engineering{c_tag = "Engineering Foyer"; dir = 8},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/engineering/foyer) +"ckN" = (/obj/machinery/light/small{dir = 1},/obj/machinery/camera/network/engineering{c_tag = "Atmospherics Tank - Air"},/turf/simulated/floor/engine{name = "air floor"; nitrogen = 10580; oxygen = 2644},/area/engineering/atmos) "ckO" = (/obj/machinery/requests_console{department = "Science"; departmentType = 2; name = "Science Requests Console"; pixel_x = 30; pixel_y = 0},/turf/simulated/floor{tag = "icon-whitegreen_v (NORTHEAST)"; icon_state = "whitegreen_v"; dir = 5},/area/rnd/xenobiology/xenoflora) "ckP" = (/obj/machinery/power/solar_control{id = "starboardsolar"; name = "Aft Starboard Solar Control"; track = 0},/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplatecorner"},/area/maintenance/starboardsolar) -"ckQ" = (/obj/structure/window/basic{dir = 8},/obj/machinery/shower{dir = 1},/obj/machinery/door/window/northright{name = "Shower"; req_access = list()},/obj/structure/curtain/open/shower/engineering,/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/sleep/engi_wash) +"ckQ" = (/obj/machinery/light/small{dir = 1},/obj/machinery/camera/network/engineering{c_tag = "Atmospherics Tank - Oxygen"},/turf/simulated/floor/engine{name = "o2 floor"; nitrogen = 0; oxygen = 100000},/area/engineering/atmos) "ckR" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0; pixel_y = -32},/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor/plating{dir = 1; icon_state = "warnplatecorner"},/area/maintenance/starboardsolar) "ckS" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; 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/plating/airless,/area/solar/starboard) "ckT" = (/obj/machinery/computer/station_alert,/turf/simulated/floor,/area/engineering/foyer) @@ -5983,8 +5983,8 @@ "clc" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/engineering/foyer) "cld" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering/foyer) "cle" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor,/area/engineering/locker_room) -"clf" = (/obj/structure/window/basic{dir = 4},/obj/machinery/shower{dir = 1},/obj/machinery/door/window/northleft{name = "Shower"; req_access = list()},/obj/structure/curtain/open/shower/engineering,/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/sleep/engi_wash) -"clg" = (/obj/machinery/door_control{id = "engineering_cubicle"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = -25; pixel_y = 8; specialfunctions = 4},/obj/structure/toilet{dir = 1},/obj/machinery/light/small{dir = 4},/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/sleep/engi_wash) +"clf" = (/obj/machinery/light/small{dir = 1},/obj/machinery/camera/network/engineering{c_tag = "Atmospherics Tank - Nitrogen"},/turf/simulated/floor/engine{name = "n2 floor"; nitrogen = 100000; oxygen = 0},/area/engineering/atmos) +"clg" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering EVA Storage"; req_one_access = list(11,24)},/turf/simulated/floor,/area/engineering/engine_eva) "clh" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/engineering/locker_room) "cli" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/engineering/locker_room) "clj" = (/turf/simulated/floor,/area/engineering/locker_room) @@ -5993,12 +5993,12 @@ "clm" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/medical/virologyaccess) "cln" = (/obj/machinery/light/small,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/medical/virologyaccess) "clo" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio6"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/disposalpipe/segment,/obj/structure/cable/green,/turf/simulated/floor/plating,/area/rnd/xenobiology) -"clp" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Virology Access"; req_access = list(39)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "whitehall"; dir = 1},/area/medical/virologyaccess) +"clp" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Operating Theatre 1"; req_access = list(45)},/turf/simulated/floor,/area/medical/surgeryprep) "clq" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio5"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/cable/green,/turf/simulated/floor/plating,/area/rnd/xenobiology) "clr" = (/obj/structure/table,/obj/item/stack/cable_coil/random,/obj/item/stack/cable_coil/random,/obj/machinery/light{dir = 8},/turf/simulated/floor,/area/storage/art) "cls" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio5"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/disposalpipe/segment,/obj/structure/cable/green,/turf/simulated/floor/plating,/area/rnd/xenobiology) "clt" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor/plating,/area/maintenance/research_port) -"clu" = (/obj/machinery/door/airlock/research{name = "Xenoflora Storage"; req_access = list(55)},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) +"clu" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Operating Theatre 2"; req_access = list(45)},/turf/simulated/floor,/area/medical/surgeryprep) "clv" = (/obj/machinery/light,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/obj/machinery/portable_atmospherics/hydroponics,/turf/simulated/floor{dir = 4; icon_state = "whitegreen"},/area/rnd/xenobiology/xenoflora) "clw" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = 0},/turf/simulated/wall,/area/maintenance/substation/engineering) "clx" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable{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/plating{dir = 1; icon_state = "warnplatecorner"},/area/maintenance/engineering) @@ -6006,11 +6006,11 @@ "clz" = (/obj/machinery/optable,/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) "clA" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) "clB" = (/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{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "whitered"},/area/medical/surgery) -"clC" = (/obj/machinery/door/airlock/research{name = "Xenoflora Research"; req_access = list(55)},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology/xenoflora) +"clC" = (/obj/machinery/camera/network/medbay{c_tag = "Virology Access Fore"},/turf/simulated/floor,/area/medical/virologyaccess) "clD" = (/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{dir = 4},/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/medical/surgeryprep) "clE" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/turf/simulated/floor,/area/medical/surgeryprep) "clF" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/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 = 4},/turf/simulated/floor{icon_state = "blue"; dir = 4},/area/medical/surgeryprep) -"clG" = (/obj/structure/table,/obj/item/weapon/storage/box/beakers{pixel_x = 2; pixel_y = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "hydrofloor"},/area/rnd/xenobiology/xenoflora) +"clG" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/turf/simulated/floor{icon_state = "hydrofloor"},/area/rnd/xenobiology/xenoflora) "clH" = (/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{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/surgery2) "clI" = (/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},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery2) "clJ" = (/obj/machinery/optable,/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery2) @@ -6025,7 +6025,7 @@ "clS" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/maintenance/research_port) "clT" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/maintenance/research_port) "clU" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio4"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/cable/green,/turf/simulated/floor/plating,/area/rnd/xenobiology) -"clV" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/turf/simulated/floor{icon_state = "hydrofloor"},/area/rnd/xenobiology/xenoflora) +"clV" = (/obj/item/weapon/stool,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/camera/network/engineering{c_tag = "Solar Maintenance Aft Starboard"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) "clW" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio6"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/cable/green,/turf/simulated/floor/plating,/area/rnd/xenobiology) "clX" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/machinery/meter{frequency = 1443; id = "mair_out_meter"; name = "Mixed Air Tank Out"},/turf/simulated/wall/r_wall,/area/engineering/atmos) "clY" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 0; external_pressure_bound_default = 0; icon_state = "map_vent_in"; initialize_directions = 1; internal_pressure_bound = 4000; internal_pressure_bound_default = 4000; use_power = 1; pressure_checks = 2; pressure_checks_default = 2; pump_direction = 0},/obj/structure/sign/securearea{desc = "A warning sign which reads 'VACUUM'"; icon_state = "space"; layer = 4; name = "VACUUM"; pixel_x = 32; pixel_y = 0},/turf/simulated/floor/engine/vacuum,/area/maintenance/incinerator) @@ -6036,23 +6036,23 @@ "cmd" = (/obj/machinery/light,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor{icon_state = "hydrofloor"},/area/rnd/xenobiology/xenoflora_storage) "cme" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor{dir = 9; icon_state = "warnwhite"},/area/rnd/xenobiology) "cmf" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/purple{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) -"cmg" = (/obj/machinery/light/small{dir = 1},/obj/machinery/camera/network/engineering{c_tag = "Atmospherics Tank - Air"},/turf/simulated/floor/engine{name = "air floor"; nitrogen = 10580; oxygen = 2644},/area/engineering/atmos) +"cmg" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/engineering{name = "Construction Area"; req_access = list(32)},/turf/simulated/floor/plating,/area/construction) "cmh" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/structure/reagent_dispensers/watertank,/obj/item/weapon/reagent_containers/glass/bucket,/turf/simulated/floor{dir = 8; icon_state = "whitegreen"},/area/rnd/xenobiology/xenoflora) "cmi" = (/obj/machinery/portable_atmospherics/hydroponics,/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology/xenoflora) "cmj" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/machinery/meter{frequency = 1443; id = "mair_in_meter"; name = "Mixed Air Tank In"},/turf/simulated/wall/r_wall,/area/engineering/atmos) -"cmk" = (/obj/machinery/light/small{dir = 1},/obj/machinery/camera/network/engineering{c_tag = "Atmospherics Tank - Oxygen"},/turf/simulated/floor/engine{name = "o2 floor"; nitrogen = 0; oxygen = 100000},/area/engineering/atmos) +"cmk" = (/obj/machinery/suit_cycler/engineering,/obj/machinery/camera/network/engineering{c_tag = "Engineering EVA"; dir = 1},/turf/simulated/floor,/area/engineering/engine_eva) "cml" = (/obj/machinery/seed_extractor,/turf/simulated/floor{icon_state = "hydrofloor"},/area/rnd/xenobiology/xenoflora) "cmm" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/engineering/atmos) "cmn" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/reagent_dispensers/watertank,/obj/item/weapon/reagent_containers/glass/bucket,/turf/simulated/floor{dir = 4; icon_state = "whitegreen"},/area/rnd/xenobiology/xenoflora) "cmo" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) -"cmp" = (/obj/machinery/light/small{dir = 1},/obj/machinery/camera/network/engineering{c_tag = "Atmospherics Tank - Nitrogen"},/turf/simulated/floor/engine{name = "n2 floor"; nitrogen = 100000; oxygen = 0},/area/engineering/atmos) +"cmp" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/void/atmos,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/void/atmos,/obj/machinery/door/window/northright{name = "Atmospherics Hardsuits"; req_access = list(24)},/turf/simulated/floor,/area/engineering/engine_eva) "cmq" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) "cmr" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) "cms" = (/obj/structure/grille,/obj/machinery/meter,/obj/machinery/atmospherics/pipe/simple/visible/purple,/turf/simulated/wall/r_wall,/area/engineering/atmos) "cmt" = (/obj/structure/grille,/obj/machinery/meter,/obj/machinery/atmospherics/pipe/simple/visible/green,/turf/simulated/wall/r_wall,/area/engineering/atmos) "cmu" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/maintenance/atmos_control) "cmv" = (/obj/structure/sign/securearea{pixel_x = -32},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/atmos_control) -"cmw" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering EVA Storage"; req_one_access = list(11,24)},/turf/simulated/floor,/area/engineering/engine_eva) +"cmw" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/void/atmos,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/void/atmos,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/window/northleft{name = "Atmospherics Hardsuits"; req_access = list(24)},/turf/simulated/floor,/area/engineering/engine_eva) "cmx" = (/obj/machinery/navbeacon{codes_txt = "delivery;dir=4"; freq = 1400; location = "Engineering"},/obj/structure/plasticflaps{opacity = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor{icon_state = "bot"},/area/engineering/foyer) "cmy" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact-f (EAST)"},/obj/machinery/light,/turf/simulated/floor,/area/engineering/foyer) "cmz" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/construction) @@ -6062,7 +6062,7 @@ "cmD" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact-f (EAST)"},/obj/machinery/requests_console{announcementConsole = 0; department = "Engineering"; departmentType = 4; name = "Engineering RC"; pixel_x = 0; pixel_y = -32},/turf/simulated/floor,/area/engineering/foyer) "cmE" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact-f (EAST)"},/obj/machinery/computer/guestpass{pixel_y = -28},/turf/simulated/floor,/area/engineering/foyer) "cmF" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/turf/simulated/floor,/area/engineering/foyer) -"cmG" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Operating Theatre 1"; req_access = list(45)},/turf/simulated/floor,/area/medical/surgeryprep) +"cmG" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering Locker Room"; req_one_access = list(11,24)},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/engineering/locker_room) "cmH" = (/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/floor,/area/engineering/foyer) "cmI" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor{dir = 8; icon_state = "yellowcorner"},/area/engineering/foyer) "cmJ" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/engineering/foyer) @@ -6071,25 +6071,25 @@ "cmM" = (/obj/structure/closet/secure_closet/atmos_personal,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/obj/item/weapon/tank/emergency_oxygen/engi,/turf/simulated/floor,/area/engineering/locker_room) "cmN" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor,/area/engineering/locker_room) "cmO" = (/obj/structure/table,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor,/area/engineering/locker_room) -"cmP" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Operating Theatre 2"; req_access = list(45)},/turf/simulated/floor,/area/medical/surgeryprep) -"cmQ" = (/obj/machinery/camera/network/medbay{c_tag = "Virology Access Fore"},/turf/simulated/floor,/area/medical/virologyaccess) -"cmR" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/turf/simulated/floor{icon_state = "hydrofloor"},/area/rnd/xenobiology/xenoflora) +"cmP" = (/obj/machinery/door/airlock/engineering{name = "Engineering Substation"; req_one_access = list(11,24)},/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/substation/engineering) +"cmQ" = (/obj/effect/decal/cleanable/cobweb,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/medbay) +"cmR" = (/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/plating,/area/maintenance/medbay) "cmS" = (/obj/structure/bed/chair/comfy/black{dir = 4},/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/medical/surgeryprep) "cmT" = (/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating/airless,/area/solar/starboard) "cmU" = (/obj/machinery/door/blast/regular{dir = 4; id = "disvent"; name = "Incinerator Vent"},/turf/simulated/floor/engine/vacuum,/area/maintenance/incinerator) "cmV" = (/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/hallway/secondary/entry/port) "cmW" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/obj/structure/extinguisher_cabinet{pixel_x = 25; pixel_y = 0},/turf/simulated/floor{icon_state = "blue"; dir = 4},/area/medical/surgeryprep) -"cmX" = (/obj/item/weapon/stool,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/camera/network/engineering{c_tag = "Solar Maintenance Aft Starboard"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) +"cmX" = (/obj/machinery/door/window/northright{name = "Xenoflora Containment"; req_access = list(47)},/turf/simulated/floor{icon_state = "hydrofloor"},/area/rnd/xenobiology/xenoflora_storage) "cmY" = (/obj/machinery/door/blast/regular{desc = "By gods, release the hounds!"; id = "xenobioout6"; name = "Containment Release"},/turf/simulated/floor/engine,/area/rnd/xenobiology) "cmZ" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating/airless,/area/solar/starboard) "cna" = (/obj/structure/cable/yellow,/turf/simulated/floor/plating/airless,/area/solar/starboard) "cnb" = (/obj/structure/table,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/item/stack/medical/advanced/bruise_pack,/obj/item/weapon/retractor,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) "cnc" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) "cnd" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) -"cne" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/engineering{name = "Construction Area"; req_access = list(32)},/turf/simulated/floor/plating,/area/construction) -"cnf" = (/obj/machinery/suit_cycler/engineering,/obj/machinery/camera/network/engineering{c_tag = "Engineering EVA"; dir = 1},/turf/simulated/floor,/area/engineering/engine_eva) -"cng" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/void/atmos,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/void/atmos,/obj/machinery/door/window/northright{name = "Atmospherics Hardsuits"; req_access = list(24)},/turf/simulated/floor,/area/engineering/engine_eva) -"cnh" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/void/atmos,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/void/atmos,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/window/northleft{name = "Atmospherics Hardsuits"; req_access = list(24)},/turf/simulated/floor,/area/engineering/engine_eva) +"cne" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "xeno_airlock_control"; name = "Xenobiology Access Button"; pixel_x = -24; pixel_y = 0; req_access = list(55)},/obj/machinery/door/airlock/research{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "xeno_airlock_exterior"; locked = 1; name = "Xenobiology External Airlock"; req_access = list(55)},/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/purple,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) +"cnf" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "solar_xeno_airlock"; name = "interior access button"; pixel_x = -25; pixel_y = -25; req_access = list(10,13)},/obj/machinery/atmospherics/pipe/manifold/visible{dir = 8},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/maintenance/starboardsolar) +"cng" = (/obj/machinery/door/airlock/maintenance{name = "Engineering EVA Storage Maintainance"; req_access = list(12); req_one_access = list(11,24)},/obj/machinery/atmospherics/pipe/simple/hidden/purple,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/engineering/engine_eva) +"cnh" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering Locker Room"; req_one_access = list(11,24)},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering/locker_room) "cni" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery2) "cnj" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery2) "cnk" = (/obj/structure/table,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/item/stack/medical/advanced/bruise_pack,/obj/item/weapon/retractor,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery2) @@ -6102,9 +6102,9 @@ "cnr" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/rnd/xenobiology/xenoflora) "cns" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/rnd/xenobiology/xenoflora) "cnt" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/rnd/xenobiology/xenoflora) -"cnu" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering Locker Room"; req_one_access = list(11,24)},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/engineering/locker_room) +"cnu" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Operating Theatre 1"; req_access = list(45)},/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{dir = 4},/turf/simulated/floor,/area/medical/surgeryprep) "cnv" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) -"cnw" = (/obj/machinery/door/airlock/engineering{name = "Engineering Substation"; req_one_access = list(11,24)},/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/substation/engineering) +"cnw" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Operating Theatre 2"; req_access = list(45)},/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{dir = 4},/turf/simulated/floor,/area/medical/surgeryprep) "cnx" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/structure/lattice,/turf/space,/area/space) "cny" = (/turf/simulated/wall/r_wall,/area/engineering/atmos) "cnz" = (/turf/simulated/wall/r_wall,/area/engineering/atmos/monitoring) @@ -6112,19 +6112,19 @@ "cnB" = (/obj/item/device/flashlight,/turf/simulated/floor,/area/construction) "cnC" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor,/area/construction) "cnD" = (/turf/simulated/wall/r_wall,/area/construction) -"cnE" = (/obj/effect/decal/cleanable/cobweb,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/medbay) -"cnF" = (/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/plating,/area/maintenance/medbay) +"cnE" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/plating,/area/maintenance/medbay) +"cnF" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/medbay) "cnG" = (/turf/simulated/wall/r_wall,/area/engineering/engineering_monitoring) "cnH" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/engineering/engineering_monitoring) -"cnI" = (/obj/machinery/door/window/northright{name = "Xenoflora Containment"; req_access = list(47)},/turf/simulated/floor{icon_state = "hydrofloor"},/area/rnd/xenobiology/xenoflora_storage) +"cnI" = (/obj/structure/closet/emcloset,/obj/machinery/camera/xray/research{c_tag = "Xenobiology Access"},/turf/simulated/floor{icon_state = "warnwhite"; dir = 5},/area/rnd/xenobiology) "cnJ" = (/obj/structure/sign/securearea,/turf/simulated/wall/r_wall,/area/engineering/engineering_monitoring) -"cnK" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "xeno_airlock_control"; name = "Xenobiology Access Button"; pixel_x = -24; pixel_y = 0; req_access = list(55)},/obj/machinery/door/airlock/research{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "xeno_airlock_exterior"; locked = 1; name = "Xenobiology External Airlock"; req_access = list(55)},/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/purple,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) -"cnL" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "solar_xeno_airlock"; name = "interior access button"; pixel_x = -25; pixel_y = -25; req_access = list(10,13)},/obj/machinery/atmospherics/pipe/manifold/visible{dir = 8},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/maintenance/starboardsolar) +"cnK" = (/obj/machinery/biogenerator,/obj/machinery/camera/network/research{c_tag = "Xenoflora"; dir = 1},/turf/simulated/floor{icon_state = "hydrofloor"},/area/rnd/xenobiology/xenoflora) +"cnL" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "solar_xeno_inner"; locked = 1; name = "Engineering External Access"; req_access = list(13)},/obj/machinery/atmospherics/pipe/simple/visible,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) "cnM" = (/obj/structure/sign/securearea,/turf/simulated/wall/r_wall,/area/engineering/workshop) -"cnN" = (/obj/machinery/door/airlock/maintenance{name = "Engineering EVA Storage Maintainance"; req_access = list(12); req_one_access = list(11,24)},/obj/machinery/atmospherics/pipe/simple/hidden/purple,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/engineering/engine_eva) +"cnN" = (/obj/machinery/door/window/eastright{name = "Engineering Delivery"; req_one_access = list(11,24)},/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 6; icon_state = "intact"; tag = "icon-intact-f (SOUTHEAST)"},/turf/simulated/floor{icon_state = "delivery"},/area/engineering/foyer) "cnO" = (/turf/simulated/wall/r_wall,/area/engineering/workshop) -"cnP" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering Locker Room"; req_one_access = list(11,24)},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering/locker_room) -"cnQ" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Operating Theatre 1"; req_access = list(45)},/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{dir = 4},/turf/simulated/floor,/area/medical/surgeryprep) +"cnP" = (/obj/machinery/door/window/eastright{name = "Engineering Reception Desk"; req_one_access = list(10,24)},/obj/machinery/light,/turf/simulated/floor,/area/engineering/foyer) +"cnQ" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/table,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/machinery/camera/network/engineering{c_tag = "Engineering Locker Room"; dir = 1},/turf/simulated/floor,/area/engineering/locker_room) "cnR" = (/turf/simulated/wall/r_wall,/area/engineering/locker_room) "cnS" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable{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/plating{dir = 4; icon_state = "warnplatecorner"},/area/maintenance/engineering) "cnT" = (/obj/structure/table,/obj/item/weapon/hemostat,/obj/machinery/light,/obj/item/weapon/cautery,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) @@ -6145,15 +6145,15 @@ "coi" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio3"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/rnd/xenobiology) "coj" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/obj/structure/window/reinforced,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/rnd/xenobiology) "cok" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) -"col" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Operating Theatre 2"; req_access = list(45)},/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{dir = 4},/turf/simulated/floor,/area/medical/surgeryprep) +"col" = (/obj/machinery/door/airlock/maintenance{req_one_access = list(10,24)},/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/substation/engineering) "com" = (/turf/simulated/wall,/area/rnd/xenobiology) -"con" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/plating,/area/maintenance/medbay) +"con" = (/obj/machinery/button/holosign{pixel_x = 24; pixel_y = 2},/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/machinery/camera/network/medbay{c_tag = "Medbay Operating Theatre 1"; dir = 8},/turf/simulated/floor{dir = 4; icon_state = "whiteredcorner"},/area/medical/surgery) "coo" = (/obj/structure/closet/l3closet/scientist,/turf/simulated/floor{dir = 6; icon_state = "warnwhite"},/area/rnd/xenobiology) "cop" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/purple,/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) -"coq" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/medbay) -"cor" = (/obj/structure/closet/emcloset,/obj/machinery/camera/xray/research{c_tag = "Xenobiology Access"},/turf/simulated/floor{icon_state = "warnwhite"; dir = 5},/area/rnd/xenobiology) +"coq" = (/obj/machinery/button/holosign{pixel_x = -24; pixel_y = 2},/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/machinery/camera/network/medbay{c_tag = "Medbay Operating Theatre 2"; dir = 4},/turf/simulated/floor{dir = 1; icon_state = "whiteredcorner"},/area/medical/surgery2) +"cor" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Virology Access"; req_access = list(39)},/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,/area/medical/virologyaccess) "cos" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) -"cot" = (/obj/machinery/biogenerator,/obj/machinery/camera/network/research{c_tag = "Xenoflora"; dir = 1},/turf/simulated/floor{icon_state = "hydrofloor"},/area/rnd/xenobiology/xenoflora) +"cot" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/turf/simulated/floor/plating,/area/rnd/xenobiology/xenoflora) "cou" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/plating,/area/engineering/atmos) "cov" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/engineering/atmos) "cow" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/engineering/atmos) @@ -6189,10 +6189,10 @@ "cpa" = (/turf/simulated/floor,/area/engineering/workshop) "cpb" = (/obj/machinery/shield_gen/external,/turf/simulated/floor/plating,/area/engineering/storage) "cpc" = (/obj/machinery/status_display,/turf/simulated/wall,/area/medical/surgery) -"cpd" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "solar_xeno_inner"; locked = 1; name = "Engineering External Access"; req_access = list(13)},/obj/machinery/atmospherics/pipe/simple/visible,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) +"cpd" = (/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "solar_xeno_pump"; tag_exterior_door = "solar_xeno_outer"; frequency = 1379; id_tag = "solar_xeno_airlock"; tag_interior_door = "solar_xeno_inner"; pixel_x = 25; req_access = list(13); tag_chamber_sensor = "solar_xeno_sensor"},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "solar_xeno_sensor"; pixel_x = 25; pixel_y = 12},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1379; id_tag = "solar_xeno_pump"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/decal/warning_stripes,/turf/simulated/floor/plating,/area/maintenance/starboardsolar) "cpe" = (/obj/machinery/light{dir = 8},/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/obj/structure/closet/wardrobe/medic_white,/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/medical/surgeryprep) -"cpf" = (/obj/machinery/door/window/eastright{name = "Engineering Delivery"; req_one_access = list(11,24)},/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 6; icon_state = "intact"; tag = "icon-intact-f (SOUTHEAST)"},/turf/simulated/floor{icon_state = "delivery"},/area/engineering/foyer) -"cpg" = (/obj/machinery/door/window/eastright{name = "Engineering Reception Desk"; req_one_access = list(10,24)},/obj/machinery/light,/turf/simulated/floor,/area/engineering/foyer) +"cpf" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/atmos{name = "Atmospherics Maintenance"; req_access = list(12,24)},/obj/machinery/atmospherics/pipe/simple/visible/supply,/turf/simulated/floor,/area/maintenance/atmos_control) +"cpg" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/atmos{name = "Atmospherics Maintenance"; req_access = list(12,24)},/obj/machinery/atmospherics/pipe/simple/visible/scrubbers,/turf/simulated/floor,/area/maintenance/atmos_control) "cph" = (/obj/machinery/status_display,/turf/simulated/wall,/area/medical/surgery2) "cpi" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/maintenance/medbay) "cpj" = (/turf/simulated/wall/r_wall,/area/engineering/storage) @@ -6200,10 +6200,10 @@ "cpl" = (/turf/simulated/floor/engine,/area/rnd/xenobiology) "cpm" = (/mob/living/carbon/slime,/turf/simulated/floor/engine,/area/rnd/xenobiology) "cpn" = (/obj/machinery/power/rad_collector,/turf/simulated/floor/plating,/area/engineering/storage) -"cpo" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/table,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/machinery/camera/network/engineering{c_tag = "Engineering Locker Room"; dir = 1},/turf/simulated/floor,/area/engineering/locker_room) +"cpo" = (/obj/machinery/door/airlock/maintenance{name = "Atmospherics Maintenance Access"; req_access = list(12,24)},/obj/machinery/atmospherics/pipe/simple/hidden/purple,/turf/simulated/floor,/area/engineering/atmos) "cpp" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) "cpq" = (/obj/machinery/atmospherics/pipe/simple/hidden/purple,/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) -"cpr" = (/obj/machinery/door/airlock/maintenance{req_one_access = list(10,24)},/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/substation/engineering) +"cpr" = (/obj/machinery/door/airlock/glass_atmos{name = "Atmospherics Monitoring Room"; req_access = list(24)},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/engineering/atmos/monitoring) "cps" = (/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "virologyquar"; name = "Virology Emergency Quarantine Blast Doors"; opacity = 0},/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{icon_state = "delivery"},/area/medical/virologyaccess) "cpt" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/engineering/atmos) "cpu" = (/obj/machinery/atmospherics/valve/digital/open{name = "Mixed Air Outlet Valve"},/turf/simulated/floor{dir = 9; icon_state = "arrival"},/area/engineering/atmos) @@ -6212,7 +6212,7 @@ "cpx" = (/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1443; input_tag = "air_in"; name = "Mixed Air Supply Control"; output_tag = "air_out"; pressure_setting = 2000; sensors = list("air_sensor" = "Tank")},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/light{dir = 1},/turf/simulated/floor{dir = 1; icon_state = "arrival"},/area/engineering/atmos) "cpy" = (/obj/machinery/atmospherics/pipe/simple/visible/purple,/turf/simulated/floor{dir = 9; icon_state = "blue"},/area/engineering/atmos) "cpz" = (/obj/machinery/atmospherics/valve/digital/open{name = "Oxygen Outlet Valve"},/turf/simulated/floor{dir = 5; icon_state = "blue"},/area/engineering/atmos) -"cpA" = (/obj/machinery/button/holosign{pixel_x = 24; pixel_y = 2},/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/machinery/camera/network/medbay{c_tag = "Medbay Operating Theatre 1"; dir = 8},/turf/simulated/floor{dir = 4; icon_state = "whiteredcorner"},/area/medical/surgery) +"cpA" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering Monitoring Room"; req_access = list(11)},/turf/simulated/floor,/area/engineering/engineering_monitoring) "cpB" = (/obj/machinery/atmospherics/pipe/simple/visible/purple,/turf/simulated/floor{icon_state = "red"; dir = 9},/area/engineering/atmos) "cpC" = (/obj/machinery/atmospherics/binary/pump{name = "O2 to Connector"},/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/engineering/atmos) "cpD" = (/obj/machinery/atmospherics/valve/digital/open{name = "Nitrogen Outlet Valve"},/turf/simulated/floor{icon_state = "red"; dir = 5},/area/engineering/atmos) @@ -6226,7 +6226,7 @@ "cpL" = (/obj/structure/reagent_dispensers/watertank,/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/engineering/atmos) "cpM" = (/obj/structure/table,/obj/item/device/t_scanner,/obj/item/device/multitool{pixel_x = 5},/obj/item/device/radio/headset/headset_eng,/obj/item/weapon/cartridge/atmos,/obj/item/weapon/cartridge/atmos,/obj/item/device/pipe_painter,/obj/machinery/requests_console{department = "Atmospherics"; departmentType = 4; name = "Atmos RC"; pixel_x = 0; pixel_y = 28},/turf/simulated/floor,/area/engineering/atmos) "cpN" = (/obj/structure/dispenser,/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/engineering/atmos) -"cpO" = (/obj/machinery/button/holosign{pixel_x = -24; pixel_y = 2},/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/machinery/camera/network/medbay{c_tag = "Medbay Operating Theatre 2"; dir = 4},/turf/simulated/floor{dir = 1; icon_state = "whiteredcorner"},/area/medical/surgery2) +"cpO" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering Hallway"; req_one_access = list(10,24)},/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/floor,/area/engineering) "cpP" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/purple,/turf/space,/area/space) "cpQ" = (/obj/structure/table,/obj/item/stack/sheet/glass{amount = 50},/obj/item/clothing/head/welding{pixel_x = -5; pixel_y = 3},/obj/item/clothing/glasses/welding,/obj/structure/closet/fireaxecabinet{pixel_y = 32},/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/engineering/atmos) "cpR" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/green,/turf/space,/area/space) @@ -6242,7 +6242,7 @@ "cqb" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor,/area/engineering/atmos/monitoring) "cqc" = (/obj/machinery/computer/atmos_alert,/turf/simulated/floor,/area/engineering/atmos/monitoring) "cqd" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/engineering/engineering_monitoring) -"cqe" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Virology Access"; req_access = list(39)},/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,/area/medical/virologyaccess) +"cqe" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering Hallway"; req_one_access = list(10,24)},/turf/simulated/floor,/area/engineering) "cqf" = (/obj/structure/bed/chair/office/dark{dir = 4},/obj/effect/landmark/start{name = "Station Engineer"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor,/area/engineering/engineering_monitoring) "cqg" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/maintenance/engineering) "cqh" = (/obj/structure/closet/crate/freezer,/turf/simulated/floor{icon_state = "freezerfloor"},/area/medical/surgery) @@ -6255,30 +6255,30 @@ "cqo" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor{icon_state = "freezerfloor"},/area/medical/surgery2) "cqp" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "freezerfloor"},/area/medical/surgery2) "cqq" = (/obj/structure/closet/crate/freezer,/turf/simulated/floor{icon_state = "freezerfloor"},/area/medical/surgery2) -"cqr" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/turf/simulated/floor/plating,/area/rnd/xenobiology/xenoflora) -"cqs" = (/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "solar_xeno_pump"; tag_exterior_door = "solar_xeno_outer"; frequency = 1379; id_tag = "solar_xeno_airlock"; tag_interior_door = "solar_xeno_inner"; pixel_x = 25; req_access = list(13); tag_chamber_sensor = "solar_xeno_sensor"},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "solar_xeno_sensor"; pixel_x = 25; pixel_y = 12},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1379; id_tag = "solar_xeno_pump"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/decal/warning_stripes,/turf/simulated/floor/plating,/area/maintenance/starboardsolar) -"cqt" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/atmos{name = "Atmospherics Maintenance"; req_access = list(12,24)},/obj/machinery/atmospherics/pipe/simple/visible/supply,/turf/simulated/floor,/area/maintenance/atmos_control) +"cqr" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering Hallway"; req_one_access = list(10,24)},/turf/simulated/floor,/area/engineering) +"cqs" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering Workshop"; req_one_access = list(11,24)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/engineering/workshop) +"cqt" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering Workshop"; req_one_access = list(11,24)},/turf/simulated/floor,/area/engineering/workshop) "cqu" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/light,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor{dir = 2; icon_state = "greencorner"},/area/medical/virologyaccess) "cqv" = (/turf/simulated/wall/r_wall,/area/medical/virology) "cqw" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/medical/virology) "cqx" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/medical/virology) "cqy" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/medical/virology) "cqz" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/status_display{pixel_y = 32},/turf/simulated/floor/plating,/area/engineering/engineering_monitoring) -"cqA" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/atmos{name = "Atmospherics Maintenance"; req_access = list(12,24)},/obj/machinery/atmospherics/pipe/simple/visible/scrubbers,/turf/simulated/floor,/area/maintenance/atmos_control) +"cqA" = (/obj/structure/extinguisher_cabinet{pixel_x = 25; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) "cqB" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) "cqC" = (/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 5},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) -"cqD" = (/obj/machinery/door/airlock/maintenance{name = "Atmospherics Maintenance Access"; req_access = list(12,24)},/obj/machinery/atmospherics/pipe/simple/hidden/purple,/turf/simulated/floor,/area/engineering/atmos) +"cqD" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "xeno_airlock_control"; name = "Xenobiology Access Button"; pixel_x = 8; pixel_y = -28; req_access = list(55)},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor{dir = 10; icon_state = "warnwhite"},/area/rnd/xenobiology) "cqE" = (/obj/machinery/embedded_controller/radio/airlock/access_controller{tag_exterior_door = "xeno_airlock_exterior"; id_tag = "xeno_airlock_control"; tag_interior_door = "xeno_airlock_interior"; name = "Xenobiology Access Console"; pixel_x = 8; pixel_y = 22},/obj/machinery/light_switch{pixel_x = -6; pixel_y = 26},/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "whitegreencorner"},/area/rnd/xenobiology) "cqF" = (/obj/structure/disposalpipe/segment,/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/machinery/atmospherics/pipe/manifold/hidden/purple{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor{dir = 1; icon_state = "whitegreen"},/area/rnd/xenobiology) "cqG" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{dir = 1; icon_state = "whitegreencorner"},/area/rnd/xenobiology) "cqH" = (/obj/machinery/newscaster{pixel_y = 32},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) -"cqI" = (/obj/machinery/door/airlock/glass_atmos{name = "Atmospherics Monitoring Room"; req_access = list(24)},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/engineering/atmos/monitoring) +"cqI" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 140; external_pressure_bound_default = 140; icon_state = "map_vent_out"; pressure_checks = 1; pressure_checks_default = 1; use_power = 1},/turf/simulated/floor/plating/airless,/area/space) "cqJ" = (/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/floor,/area/engineering) "cqK" = (/obj/structure/disposalpipe/segment,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor,/area/engineering) "cqL" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/obj/structure/lattice,/turf/space,/area/space) "cqM" = (/obj/structure/extinguisher_cabinet{pixel_x = 25},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/engineering/workshop) "cqN" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 9},/turf/space,/area/space) -"cqO" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering Monitoring Room"; req_access = list(11)},/turf/simulated/floor,/area/engineering/engineering_monitoring) +"cqO" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "solar_xeno_outer"; locked = 1; name = "Engineering External Access"; req_access = list(10,13)},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) "cqP" = (/obj/machinery/shield_capacitor,/turf/simulated/floor/plating,/area/engineering/storage) "cqQ" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 10},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{dir = 2; icon_state = "green"},/area/medical/virologyaccess) "cqR" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/engineering/atmos) @@ -6311,11 +6311,11 @@ "crs" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor{icon_state = "freezerfloor"},/area/medical/surgery) "crt" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor{icon_state = "freezerfloor"},/area/medical/surgery) "cru" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "freezerfloor"},/area/medical/surgery) -"crv" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering Hallway"; req_one_access = list(10,24)},/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/floor,/area/engineering) +"crv" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/maintenance/engineering) "crw" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "blue"; dir = 10},/area/medical/surgeryprep) "crx" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/medical/surgeryprep) "cry" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "blue"; dir = 6},/area/medical/surgeryprep) -"crz" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering Hallway"; req_one_access = list(10,24)},/turf/simulated/floor,/area/engineering) +"crz" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Operating Theatre 1 Storage"; req_access = list(45)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) "crA" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "freezerfloor"},/area/medical/surgery2) "crB" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor{icon_state = "freezerfloor"},/area/medical/surgery2) "crC" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor{icon_state = "freezerfloor"},/area/medical/surgery2) @@ -6332,7 +6332,7 @@ "crN" = (/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) "crO" = (/obj/item/device/radio/intercom{freerange = 0; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 29},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) "crP" = (/obj/structure/lattice,/obj/structure/grille,/turf/space,/area/space) -"crQ" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering Hallway"; req_one_access = list(10,24)},/turf/simulated/floor,/area/engineering) +"crQ" = (/obj/item/weapon/reagent_containers/blood/empty,/obj/item/weapon/reagent_containers/blood/empty,/obj/item/weapon/reagent_containers/blood/empty,/obj/item/weapon/reagent_containers/blood/empty,/obj/item/weapon/reagent_containers/blood/empty,/obj/structure/table,/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/camera/network/medbay{c_tag = "Medbay Surgery Prep"; dir = 8},/turf/simulated/floor{icon_state = "blue"; dir = 4},/area/medical/surgeryprep) "crR" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor{dir = 1; icon_state = "whitered"},/area/medical/virology) "crS" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/structure/bed,/obj/item/device/radio/intercom{freerange = 1; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 30},/turf/simulated/floor{dir = 1; icon_state = "whitered"},/area/medical/virology) "crT" = (/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/light{dir = 1},/turf/simulated/floor{dir = 1; icon_state = "whitered"},/area/medical/virology) @@ -6345,17 +6345,17 @@ "csa" = (/obj/machinery/atmospherics/binary/pump{dir = 4; name = "O2 to Transit"},/turf/simulated/floor,/area/engineering/atmos) "csb" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/turf/simulated/floor,/area/engineering/atmos) "csc" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 6},/turf/simulated/floor,/area/engineering/atmos) -"csd" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering Workshop"; req_one_access = list(11,24)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/engineering/workshop) -"cse" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering Workshop"; req_one_access = list(11,24)},/turf/simulated/floor,/area/engineering/workshop) -"csf" = (/obj/structure/extinguisher_cabinet{pixel_x = 25; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) -"csg" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "xeno_airlock_control"; name = "Xenobiology Access Button"; pixel_x = 8; pixel_y = -28; req_access = list(55)},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor{dir = 10; icon_state = "warnwhite"},/area/rnd/xenobiology) +"csd" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Operating Theatre 2 Storage"; req_access = list(45)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery2) +"cse" = (/obj/machinery/door/window/northleft{dir = 4; name = "Containment Pen"; req_access = list(55)},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/rnd/xenobiology) +"csf" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio3"; name = "Containment Blast Doors"; opacity = 0},/obj/machinery/door/window/northleft{base_state = "right"; dir = 8; icon_state = "right"; name = "Containment Pen"; req_access = list(55)},/turf/simulated/floor/engine,/area/rnd/xenobiology) +"csg" = (/obj/machinery/door/airlock/research{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "xeno_airlock_interior"; locked = 1; name = "Xenobiology Internal Airlock"; req_access = list(55)},/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/purple,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) "csh" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor,/area/engineering/atmos/monitoring) -"csi" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 140; external_pressure_bound_default = 140; icon_state = "map_vent_out"; pressure_checks = 1; pressure_checks_default = 1; use_power = 1},/turf/simulated/floor/plating/airless,/area/space) +"csi" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "solar_xeno_airlock"; name = "exterior access button"; pixel_x = 25; pixel_y = 25; req_access = list(10,13)},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating/airless,/area/solar/starboard) "csj" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/engineering/atmos/monitoring) "csk" = (/obj/structure/table/reinforced,/obj/machinery/light,/obj/item/device/flashlight,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/engineering/engineering_monitoring) "csl" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio2"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/rnd/xenobiology) "csm" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/engineering/engineering_monitoring) -"csn" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "solar_xeno_outer"; locked = 1; name = "Engineering External Access"; req_access = list(10,13)},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) +"csn" = (/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1441; input_tag = "o2_in"; name = "Oxygen Supply Control"; output_tag = "o2_out"; sensors = list("o2_sensor" = "Tank")},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/light{dir = 1},/obj/machinery/camera/network/engineering{c_tag = "Atmospherics Northwest"},/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/engineering/atmos) "cso" = (/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,/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor,/area/engineering) "csp" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/turf/simulated/floor,/area/engineering) "csq" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/engineering/workshop) @@ -6371,7 +6371,7 @@ "csA" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor{icon_state = "freezerfloor"},/area/medical/surgery) "csB" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor{icon_state = "freezerfloor"},/area/medical/surgery) "csC" = (/obj/structure/closet/secure_closet/medical2,/obj/machinery/light/small{dir = 4},/turf/simulated/floor{icon_state = "freezerfloor"},/area/medical/surgery) -"csD" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/maintenance/engineering) +"csD" = (/obj/structure/table,/obj/item/weapon/wrench,/obj/structure/sign/atmosplaque{pixel_x = 0; pixel_y = 32},/obj/machinery/cell_charger,/obj/machinery/camera/network/engineering{c_tag = "Atmospherics Northeast"},/turf/simulated/floor,/area/engineering/atmos) "csE" = (/obj/structure/closet/secure_closet/medical2,/obj/machinery/light/small{dir = 8},/turf/simulated/floor{icon_state = "freezerfloor"},/area/medical/surgery2) "csF" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor{icon_state = "freezerfloor"},/area/medical/surgery2) "csG" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor{icon_state = "freezerfloor"},/area/medical/surgery2) @@ -6379,8 +6379,8 @@ "csI" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/medbay) "csJ" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor{dir = 9; icon_state = "warnwhite"},/area/medical/virology) "csK" = (/obj/structure/closet/crate,/obj/item/stack/sheet/mineral/phoron{amount = 25},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = 28},/turf/simulated/floor/plating,/area/engineering/storage) -"csL" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Operating Theatre 1 Storage"; req_access = list(45)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) -"csM" = (/obj/item/weapon/reagent_containers/blood/empty,/obj/item/weapon/reagent_containers/blood/empty,/obj/item/weapon/reagent_containers/blood/empty,/obj/item/weapon/reagent_containers/blood/empty,/obj/item/weapon/reagent_containers/blood/empty,/obj/structure/table,/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/camera/network/medbay{c_tag = "Medbay Surgery Prep"; dir = 8},/turf/simulated/floor{icon_state = "blue"; dir = 4},/area/medical/surgeryprep) +"csL" = (/obj/structure/bed/chair/office/dark{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/camera/network/engineering{c_tag = "Atmospherics Monitoring Room"; dir = 8},/turf/simulated/floor,/area/engineering/atmos/monitoring) +"csM" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/camera/network/engineering{c_tag = "Engineering Monitoring Room"; dir = 4},/turf/simulated/floor,/area/engineering/engineering_monitoring) "csN" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/purple,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "csO" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/turf/simulated/floor,/area/engineering/atmos) "csP" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) @@ -6395,18 +6395,18 @@ "csY" = (/obj/machinery/atmospherics/pipe/manifold/visible/green{tag = "icon-map (EAST)"; icon_state = "map"; dir = 4},/turf/simulated/floor,/area/engineering/atmos) "csZ" = (/obj/machinery/atmospherics/binary/pump{dir = 4; name = "N2 to Transit"},/turf/simulated/floor,/area/engineering/atmos) "cta" = (/obj/machinery/atmospherics/binary/pump{dir = 8; name = "Supply to Waste"},/turf/simulated/floor,/area/engineering/atmos) -"ctb" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Operating Theatre 2 Storage"; req_access = list(45)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery2) -"ctc" = (/obj/machinery/door/window/northleft{dir = 4; name = "Containment Pen"; req_access = list(55)},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/rnd/xenobiology) +"ctb" = (/obj/machinery/computer/security/engineering{network = list("Engineering","Engineering Outpost","Power Alarms","Atmosphere Alarms","Fire Alarms")},/turf/simulated/floor{dir = 8; icon_state = "floorgrimecaution"},/area/engineering/engineering_monitoring) +"ctc" = (/obj/effect/decal/cleanable/blood/oil,/turf/simulated/floor/plating,/area/maintenance/medbay) "ctd" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/turf/simulated/floor,/area/engineering/atmos) "cte" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 1},/obj/machinery/meter,/turf/simulated/floor,/area/engineering/atmos) "ctf" = (/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/turf/simulated/floor,/area/engineering/atmos) "ctg" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/engineering/atmos/monitoring) "cth" = (/obj/structure/disposalpipe/segment,/obj/machinery/pipedispenser/disposal,/obj/structure/window/reinforced,/turf/simulated/floor,/area/engineering/atmos) -"cti" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio3"; name = "Containment Blast Doors"; opacity = 0},/obj/machinery/door/window/northleft{base_state = "right"; dir = 8; icon_state = "right"; name = "Containment Pen"; req_access = list(55)},/turf/simulated/floor/engine,/area/rnd/xenobiology) +"cti" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/light,/obj/machinery/door_control{desc = "A remote control-switch for shutters."; id = "virologyquar"; name = "Virology Emergency Lockdown Control"; pixel_x = 0; pixel_y = -28; req_access = list(5)},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "greencorner"},/area/medical/virologyaccess) "ctj" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/engineering/atmos/monitoring) -"ctk" = (/obj/machinery/door/airlock/research{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "xeno_airlock_interior"; locked = 1; name = "Xenobiology Internal Airlock"; req_access = list(55)},/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/purple,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) +"ctk" = (/obj/structure/table/reinforced,/obj/machinery/door_control{id = "xenobio3"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access = list(55)},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/rnd/xenobiology) "ctl" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor,/area/engineering) -"ctm" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "solar_xeno_airlock"; name = "exterior access button"; pixel_x = 25; pixel_y = 25; req_access = list(10,13)},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating/airless,/area/solar/starboard) +"ctm" = (/obj/machinery/requests_console{department = "Science"; departmentType = 2; name = "Science Requests Console"; pixel_x = 0; pixel_y = 30},/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/obj/machinery/camera/network/research{c_tag = "Xenobiology North"},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) "ctn" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/engineering/workshop) "cto" = (/obj/structure/window/reinforced{dir = 1},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/structure/table/reinforced,/turf/simulated/floor,/area/engineering/workshop) "ctp" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "surgeryobs"; name = "Operating Theatre Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/surgeryobs) @@ -6417,36 +6417,36 @@ "ctu" = (/obj/structure/window/reinforced{dir = 1},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/table/reinforced,/turf/simulated/floor,/area/engineering/workshop) "ctv" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/engineering) "ctw" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/engineering) -"ctx" = (/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1441; input_tag = "o2_in"; name = "Oxygen Supply Control"; output_tag = "o2_out"; sensors = list("o2_sensor" = "Tank")},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/light{dir = 1},/obj/machinery/camera/network/engineering{c_tag = "Atmospherics Northwest"},/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/engineering/atmos) +"ctx" = (/obj/machinery/atmospherics/pipe/simple/visible/red,/turf/simulated/floor,/area/engineering/atmos) "cty" = (/obj/structure/window/reinforced{dir = 1},/obj/item/stack/sheet/plasteel{amount = 10},/obj/item/stack/sheet/plasteel{amount = 10},/obj/item/stack/sheet/mineral/plastic{amount = 10},/obj/structure/table/reinforced,/turf/simulated/floor,/area/engineering/workshop) "ctz" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/medbay) "ctA" = (/obj/machinery/light/small{dir = 1},/obj/item/weapon/cigbutt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/medbay) -"ctB" = (/obj/structure/table,/obj/item/weapon/wrench,/obj/structure/sign/atmosplaque{pixel_x = 0; pixel_y = 32},/obj/machinery/cell_charger,/obj/machinery/camera/network/engineering{c_tag = "Atmospherics Northeast"},/turf/simulated/floor,/area/engineering/atmos) +"ctB" = (/obj/machinery/door/airlock/medical{name = "Operating Theatre 1 Storage"; req_access = list(45)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "freezerfloor"},/area/medical/surgeryprep) "ctC" = (/obj/machinery/shower{icon_state = "shower"; dir = 4},/obj/structure/sign/securearea{pixel_x = -32; pixel_y = 0},/turf/simulated/floor{dir = 8; icon_state = "warnwhite"},/area/medical/virology) "ctD" = (/obj/machinery/atmospherics/pipe/simple/hidden/purple,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "ctE" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/structure/closet/l3closet/virology,/obj/item/clothing/mask/gas,/turf/simulated/floor{dir = 4; icon_state = "warnwhite"},/area/medical/virology) "ctF" = (/turf/simulated/wall,/area/medical/virology) "ctG" = (/obj/structure/table,/obj/item/weapon/hand_labeler,/obj/structure/reagent_dispensers/virusfood{pixel_x = -30},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "ctH" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/obj/item/device/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_y = 26},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"ctI" = (/obj/structure/bed/chair/office/dark{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/camera/network/engineering{c_tag = "Atmospherics Monitoring Room"; dir = 8},/turf/simulated/floor,/area/engineering/atmos/monitoring) +"ctI" = (/obj/machinery/door/airlock/medical{name = "Operating Theatre 2 Storage"; req_access = list(45)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "freezerfloor"},/area/medical/surgeryprep) "ctJ" = (/obj/machinery/disease2/incubator,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "ctK" = (/obj/machinery/light{dir = 1},/obj/machinery/computer/centrifuge,/obj/item/weapon/storage/secure/safe{pixel_x = 5; pixel_y = 29},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "ctL" = (/obj/machinery/disease2/isolator,/obj/item/device/radio/intercom{freerange = 1; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 30},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "ctM" = (/obj/structure/closet/secure_closet/personal/patient,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "ctN" = (/obj/item/roller,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"ctO" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/camera/network/engineering{c_tag = "Engineering Monitoring Room"; dir = 4},/turf/simulated/floor,/area/engineering/engineering_monitoring) +"ctO" = (/obj/machinery/door/airlock/medical{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "virology_airlock_exterior"; locked = 1; name = "Virology Exterior Airlock"; req_access = list(39)},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "virology_airlock_control"; name = "Virology Access Button"; pixel_x = -24; pixel_y = 0; req_access = list(39)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/purple,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "ctP" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "ctQ" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "surgeryobs2"; name = "Operating Theatre Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/surgeryprep) "ctR" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) -"ctS" = (/obj/machinery/computer/security/engineering{network = list("Engineering","Engineering Outpost","Power Alarms","Atmosphere Alarms","Fire Alarms")},/turf/simulated/floor{dir = 8; icon_state = "floorgrimecaution"},/area/engineering/engineering_monitoring) -"ctT" = (/obj/effect/decal/cleanable/blood/oil,/turf/simulated/floor/plating,/area/maintenance/medbay) +"ctS" = (/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor,/area/engineering/atmos) +"ctT" = (/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (SOUTHEAST)"; icon_state = "intact"; dir = 6},/turf/simulated/floor,/area/engineering/atmos) "ctU" = (/obj/structure/table,/obj/item/weapon/storage/box/syringes,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) -"ctV" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/light,/obj/machinery/door_control{desc = "A remote control-switch for shutters."; id = "virologyquar"; name = "Virology Emergency Lockdown Control"; pixel_x = 0; pixel_y = -28; req_access = list(5)},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "greencorner"},/area/medical/virologyaccess) +"ctV" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/visible,/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor,/area/engineering/atmos) "ctW" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) "ctX" = (/obj/machinery/power/solar{id = "starboardsolar"; name = "Starboard Solar Array"},/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/starboard) "ctY" = (/turf/space,/area/syndicate_station/southwest) "ctZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/purple,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"cua" = (/obj/structure/table/reinforced,/obj/machinery/door_control{id = "xenobio3"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access = list(55)},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/rnd/xenobiology) +"cua" = (/obj/machinery/atmospherics/pipe/manifold/visible/red,/turf/simulated/floor,/area/engineering/atmos) "cub" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/shutters{density = 0; dir = 4; icon_state = "shutter0"; id = "surgeryobs"; name = "Operating Theatre Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/surgery) "cuc" = (/obj/structure/bed/chair{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) "cud" = (/obj/structure/bed/chair{dir = 8},/obj/effect/landmark/start{name = "Xenobiologist"},/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/purple,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) @@ -6457,33 +6457,33 @@ "cui" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/engineering/atmos) "cuj" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/engineering/atmos) "cuk" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor,/area/engineering) -"cul" = (/obj/machinery/requests_console{department = "Science"; departmentType = 2; name = "Science Requests Console"; pixel_x = 0; pixel_y = 30},/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/obj/machinery/camera/network/research{c_tag = "Xenobiology North"},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) +"cul" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor,/area/engineering/atmos) "cum" = (/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{dir = 4},/turf/simulated/floor,/area/engineering) "cun" = (/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/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor,/area/engineering) "cuo" = (/obj/structure/extinguisher_cabinet{pixel_x = -5; pixel_y = 30},/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{dir = 4},/turf/simulated/floor,/area/engineering) "cup" = (/obj/machinery/newscaster{pixel_y = 30},/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{dir = 4},/turf/simulated/floor,/area/engineering) "cuq" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor,/area/engineering) -"cur" = (/obj/machinery/atmospherics/pipe/simple/visible/red,/turf/simulated/floor,/area/engineering/atmos) +"cur" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/pipedispenser,/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/turf/simulated/floor,/area/engineering/atmos) "cus" = (/obj/structure/disposalpipe/sortjunction/flipped{dir = 2; sortType = "Engineering"; name = "Engineering"},/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{dir = 4},/turf/simulated/floor,/area/engineering) "cut" = (/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{dir = 4},/turf/simulated/floor,/area/engineering/workshop) "cuu" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/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{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/engineering/workshop) "cuv" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor,/area/engineering/workshop) "cuw" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/engineering/workshop) "cux" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/engineering/storage) -"cuy" = (/obj/machinery/door/airlock/medical{name = "Operating Theatre 1 Storage"; req_access = list(45)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "freezerfloor"},/area/medical/surgeryprep) +"cuy" = (/obj/machinery/computer/security/engineering,/turf/simulated/floor,/area/engineering/atmos/monitoring) "cuz" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/plating,/area/engineering/storage) "cuA" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/engineering/storage) "cuB" = (/obj/machinery/power/emitter,/turf/simulated/floor/plating,/area/engineering/storage) "cuC" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/meter,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/plating,/area/maintenance/engineering) "cuD" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor/plating,/area/maintenance/engineering) -"cuE" = (/obj/machinery/door/airlock/medical{name = "Operating Theatre 2 Storage"; req_access = list(45)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "freezerfloor"},/area/medical/surgeryprep) +"cuE" = (/obj/machinery/computer/security/engineering,/turf/simulated/floor,/area/engineering/engineering_monitoring) "cuF" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/medbay) "cuG" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/sign/fire{pixel_y = -32},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplatecorner"},/area/maintenance/medbay) "cuH" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/maintenance/medbay) "cuI" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating{dir = 1; icon_state = "warnplatecorner"},/area/maintenance/medbay) "cuJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/medbay) "cuK" = (/obj/structure/sign/redcross{desc = "The Star of Life, a symbol of Medical Aid."; icon_state = "lifestar"; name = "Medbay"; pixel_x = 0; pixel_y = 32},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/medbay) -"cuL" = (/obj/machinery/door/airlock/medical{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "virology_airlock_exterior"; locked = 1; name = "Virology Exterior Airlock"; req_access = list(39)},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "virology_airlock_control"; name = "Virology Access Button"; pixel_x = -24; pixel_y = 0; req_access = list(39)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/purple,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) +"cuL" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance{name = "Pre-Op Prep Room Maintenance Access"; req_access = list(45)},/turf/simulated/floor/plating,/area/medical/surgeryprep) "cuM" = (/obj/machinery/atmospherics/pipe/manifold/hidden/purple{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cuN" = (/obj/structure/closet/l3closet/virology,/obj/item/clothing/mask/gas,/turf/simulated/floor{dir = 6; icon_state = "warnwhite"},/area/medical/virology) "cuO" = (/obj/structure/table,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/item/weapon/folder/white,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) @@ -6492,11 +6492,11 @@ "cuR" = (/obj/structure/bed/chair/office/dark{dir = 8},/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cuS" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/medical/virology) "cuT" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/medical/virology) -"cuU" = (/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor,/area/engineering/atmos) +"cuU" = (/obj/structure/closet/wardrobe/virology_white,/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/camera/xray/medbay{c_tag = "Virology Access Aft"},/turf/simulated/floor{icon_state = "warnwhite"; dir = 5},/area/medical/virology) "cuV" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/medical/virology) "cuW" = (/obj/structure/extinguisher_cabinet,/turf/simulated/wall/r_wall,/area/medical/virology) "cuX" = (/obj/machinery/atmospherics/pipe/simple/hidden/purple,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"cuY" = (/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (SOUTHEAST)"; icon_state = "intact"; dir = 6},/turf/simulated/floor,/area/engineering/atmos) +"cuY" = (/obj/machinery/atmospherics/binary/pump{dir = 4},/turf/simulated/floor,/area/engineering/atmos) "cuZ" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) "cva" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cvb" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/snacks/monkeycube/wrapped,/obj/item/weapon/reagent_containers/spray/cleaner,/obj/item/clothing/gloves/latex,/obj/item/device/slime_scanner,/obj/item/device/slime_scanner,/obj/item/weapon/hand_labeler,/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) @@ -6509,17 +6509,17 @@ "cvi" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) "cvj" = (/obj/structure/bed/chair{dir = 8},/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/purple,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) "cvk" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow,/obj/machinery/meter,/turf/simulated/floor,/area/engineering/atmos) -"cvl" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/visible,/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor,/area/engineering/atmos) +"cvl" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{tag = "icon-intact (SOUTHEAST)"; icon_state = "intact"; dir = 6},/turf/simulated/floor,/area/engineering/atmos) "cvm" = (/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "virologyquar"; name = "Virology Emergency Quarantine Blast Doors"; opacity = 0},/turf/simulated/floor{icon_state = "delivery"},/area/medical/virologyaccess) -"cvn" = (/obj/machinery/atmospherics/pipe/manifold/visible/red,/turf/simulated/floor,/area/engineering/atmos) +"cvn" = (/obj/machinery/atmospherics/pipe/manifold4w/visible/red,/obj/machinery/meter,/turf/simulated/floor,/area/engineering/atmos) "cvo" = (/obj/machinery/constructable_frame/machine_frame,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/engineering/atmos) "cvp" = (/obj/machinery/atmospherics/unary/heater{dir = 2; icon_state = "heater"},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/engineering/atmos) "cvq" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/engineering/atmos) "cvr" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor,/area/engineering/atmos) -"cvs" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor,/area/engineering/atmos) -"cvt" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/pipedispenser,/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/turf/simulated/floor,/area/engineering/atmos) +"cvs" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_atmos{name = "Atmospherics Monitoring Room"; req_access = list(24)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/engineering/atmos/monitoring) +"cvt" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering Monitoring Room"; req_access = list(11)},/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,/area/engineering/engineering_monitoring) "cvu" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/engineering) -"cvv" = (/obj/machinery/computer/security/engineering,/turf/simulated/floor,/area/engineering/atmos/monitoring) +"cvv" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/camera/network/engineering{c_tag = "Engineering Hallway North"; dir = 4},/turf/simulated/floor,/area/engineering) "cvw" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light,/turf/simulated/floor,/area/engineering) "cvx" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor,/area/engineering) "cvy" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/turf/simulated/floor,/area/engineering) @@ -6528,9 +6528,9 @@ "cvB" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/engineering/workshop) "cvC" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/engineering/workshop) "cvD" = (/obj/machinery/hologram/holopad,/turf/simulated/floor,/area/engineering/workshop) -"cvE" = (/obj/machinery/computer/security/engineering,/turf/simulated/floor,/area/engineering/engineering_monitoring) +"cvE" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/camera/network/engineering{c_tag = "Engineering Workshop"; dir = 8},/turf/simulated/floor,/area/engineering/workshop) "cvF" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/engineering/storage) -"cvG" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance{name = "Pre-Op Prep Room Maintenance Access"; req_access = list(45)},/turf/simulated/floor/plating,/area/medical/surgeryprep) +"cvG" = (/obj/machinery/light_switch{pixel_x = -27; pixel_y = 0},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/camera/network/engineering{c_tag = "Engineering Storage"; dir = 4},/turf/simulated/floor/plating,/area/engineering/storage) "cvH" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/purple{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cvI" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/manifold/hidden/purple{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "warnwhite"},/area/medical/virology) "cvJ" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "warnwhitecorner"},/area/medical/virology) @@ -6538,10 +6538,10 @@ "cvL" = (/obj/machinery/atmospherics/pipe/manifold/hidden/purple,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor{dir = 1; icon_state = "warnwhitecorner"},/area/medical/virology) "cvM" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/engineering) "cvN" = (/turf/simulated/wall,/area/maintenance/incinerator) -"cvO" = (/obj/structure/closet/wardrobe/virology_white,/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/camera/xray/medbay{c_tag = "Virology Access Aft"},/turf/simulated/floor{icon_state = "warnwhite"; dir = 5},/area/medical/virology) +"cvO" = (/obj/structure/closet/crate,/obj/item/weapon/circuitboard/smes,/obj/item/weapon/circuitboard/smes,/obj/item/weapon/smes_coil,/obj/item/weapon/smes_coil,/obj/item/weapon/smes_coil/super_capacity,/obj/item/weapon/smes_coil/super_capacity,/obj/item/weapon/smes_coil/super_io,/obj/item/weapon/smes_coil/super_io,/turf/simulated/floor/plating,/area/engineering/storage) "cvP" = (/obj/effect/decal/cleanable/blood/oil/streak{amount = 0},/turf/simulated/floor/plating,/area/maintenance/medbay) "cvQ" = (/obj/structure/bed/chair{dir = 8},/obj/effect/landmark/start{name = "Xenobiologist"},/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/purple,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) -"cvR" = (/obj/machinery/atmospherics/binary/pump{dir = 4},/turf/simulated/floor,/area/engineering/atmos) +"cvR" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance{name = "Operating Theatre 1 Maintenance Access"; req_access = list(45)},/turf/simulated/floor/plating,/area/medical/surgery) "cvS" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cvT" = (/obj/structure/disposalpipe/junction{icon_state = "pipe-j1"; dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cvU" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) @@ -6550,7 +6550,7 @@ "cvX" = (/obj/machinery/atmospherics/pipe/cap/visible{color = "#ffcc00"},/turf/simulated/floor,/area/engineering/atmos) "cvY" = (/obj/machinery/power/apc/super{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/cyan{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/engineering/atmos) "cvZ" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/cyan{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor,/area/engineering/atmos) -"cwa" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{tag = "icon-intact (SOUTHEAST)"; icon_state = "intact"; dir = 6},/turf/simulated/floor,/area/engineering/atmos) +"cwa" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance{name = "Operating Theatre 2 Maintenance Access"; req_access = list(45)},/turf/simulated/floor/plating,/area/medical/surgery2) "cwb" = (/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cwc" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cwd" = (/obj/structure/closet/l3closet/scientist,/obj/machinery/light{dir = 8},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/rnd/xenobiology) @@ -6575,7 +6575,7 @@ "cww" = (/obj/machinery/shieldgen,/turf/simulated/floor/plating,/area/engineering/storage) "cwx" = (/obj/machinery/shieldwallgen,/turf/simulated/floor/plating,/area/engineering/storage) "cwy" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden/purple,/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor{dir = 1; icon_state = "green"},/area/medical/virology) -"cwz" = (/obj/machinery/atmospherics/pipe/manifold4w/visible/red,/obj/machinery/meter,/turf/simulated/floor,/area/engineering/atmos) +"cwz" = (/obj/machinery/smartfridge/secure/virology,/obj/structure/sign/deathsposal{pixel_y = 32},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cwA" = (/obj/machinery/light_switch{pixel_y = 28},/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "green"; dir = 4},/area/medical/virology) "cwB" = (/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cwC" = (/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "whitegreen"},/area/medical/virology) @@ -6583,7 +6583,7 @@ "cwE" = (/obj/structure/table,/obj/item/weapon/storage/fancy/vials,/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cwF" = (/obj/machinery/atmospherics/pipe/manifold/hidden/purple{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cwG" = (/obj/structure/table,/obj/item/weapon/storage/box/syringes{pixel_x = 4; pixel_y = 4},/obj/item/weapon/storage/box/beakers,/obj/item/weapon/reagent_containers/dropper,/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"cwH" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_atmos{name = "Atmospherics Monitoring Room"; req_access = list(24)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/engineering/atmos/monitoring) +"cwH" = (/obj/machinery/door/window/southright{dir = 1; name = "Virology Isolation Room One"; req_access = list(39)},/obj/machinery/atmospherics/pipe/simple/hidden/purple,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{dir = 1; icon_state = "whitegreen"},/area/medical/virology) "cwI" = (/obj/machinery/atmospherics/pipe/tank/phoron{dir = 2; volume = 3200},/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator) "cwJ" = (/obj/machinery/atmospherics/pipe/tank/oxygen{dir = 2; volume = 3200},/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator) "cwK" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator) @@ -6596,12 +6596,12 @@ "cwR" = (/obj/structure/closet/l3closet/virology,/obj/item/clothing/mask/gas,/obj/machinery/embedded_controller/radio/airlock/access_controller{tag_exterior_door = "virology_airlock_exterior"; id_tag = "virology_airlock_control"; tag_interior_door = "virology_airlock_interior"; name = "Virology Access Console"; pixel_x = 8; pixel_y = 22},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor{dir = 1; icon_state = "greencorner"},/area/medical/virology) "cwS" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/tvalve/bypass,/obj/structure/sign/securearea{desc = "A warning sign which reads 'SIPHON VALVE'."; name = "\improper SIPHON VALVE"; pixel_y = -32},/turf/simulated/floor/plating,/area/medical/virology) "cwT" = (/obj/machinery/atmospherics/pipe/simple/hidden/universal{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "warnwhite"},/area/medical/virology) -"cwU" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering Monitoring Room"; req_access = list(11)},/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,/area/engineering/engineering_monitoring) +"cwU" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/structure/bed/chair,/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/camera/network/medbay{c_tag = "Virology Monkey Pen"},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cwV" = (/turf/simulated/floor{dir = 8; icon_state = "warnwhite"},/area/medical/virology) -"cwW" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/camera/network/engineering{c_tag = "Engineering Hallway North"; dir = 4},/turf/simulated/floor,/area/engineering) +"cwW" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio2"; name = "Containment Blast Doors"; opacity = 0},/obj/machinery/door/window/northleft{base_state = "right"; dir = 8; icon_state = "right"; name = "Containment Pen"; req_access = list(55)},/turf/simulated/floor/engine,/area/rnd/xenobiology) "cwX" = (/obj/machinery/atmospherics/pipe/simple/visible/purple,/obj/machinery/meter,/turf/simulated/floor,/area/engineering/atmos) "cwY" = (/obj/machinery/atmospherics/binary/pump{dir = 8; name = "Mix to Waste"},/turf/simulated/floor,/area/engineering/atmos) -"cwZ" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/camera/network/engineering{c_tag = "Engineering Workshop"; dir = 8},/turf/simulated/floor,/area/engineering/workshop) +"cwZ" = (/obj/structure/table,/obj/item/weapon/storage/box/beakers{pixel_x = 2; pixel_y = 2},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/glass_jar,/obj/item/glass_jar,/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) "cxa" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/turf/simulated/floor,/area/engineering/atmos) "cxb" = (/obj/machinery/atmospherics/pipe/manifold4w/visible/yellow,/turf/simulated/floor,/area/engineering/atmos) "cxc" = (/obj/machinery/atmospherics/pipe/manifold/visible/yellow,/obj/machinery/meter,/turf/simulated/floor,/area/engineering/atmos) @@ -6618,9 +6618,9 @@ "cxn" = (/obj/structure/table,/obj/item/weapon/circular_saw,/obj/item/weapon/scalpel{pixel_y = 12},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor,/area/rnd/xenobiology) "cxo" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/turf/simulated/floor,/area/engineering/atmos) "cxp" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/turf/simulated/floor,/area/engineering/atmos/storage) -"cxq" = (/obj/machinery/light_switch{pixel_x = -27; pixel_y = 0},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/camera/network/engineering{c_tag = "Engineering Storage"; dir = 4},/turf/simulated/floor/plating,/area/engineering/storage) -"cxr" = (/obj/structure/closet/crate,/obj/item/weapon/circuitboard/smes,/obj/item/weapon/circuitboard/smes,/obj/item/weapon/smes_coil,/obj/item/weapon/smes_coil,/obj/item/weapon/smes_coil/super_capacity,/obj/item/weapon/smes_coil/super_capacity,/obj/item/weapon/smes_coil/super_io,/obj/item/weapon/smes_coil/super_io,/turf/simulated/floor/plating,/area/engineering/storage) -"cxs" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance{name = "Operating Theatre 1 Maintenance Access"; req_access = list(45)},/turf/simulated/floor/plating,/area/medical/surgery) +"cxq" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan,/turf/simulated/floor,/area/engineering/atmos) +"cxr" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/obj/machinery/atmospherics/pipe/simple/visible/red,/turf/simulated/floor,/area/engineering/atmos) +"cxs" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_atmos{name = "Atmospherics"; req_access = list(24)},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/engineering/atmos) "cxt" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/manifold4w/hidden/yellow,/turf/simulated/wall/r_wall,/area/engineering/atmos/storage) "cxu" = (/obj/structure/disposalpipe/segment,/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,/area/engineering) "cxv" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/engineering/workshop) @@ -6633,11 +6633,11 @@ "cxC" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/turf/simulated/floor/plating,/area/engineering/storage) "cxD" = (/obj/structure/dispenser{oxygentanks = 0},/obj/machinery/light,/turf/simulated/floor/plating,/area/engineering/storage) "cxE" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/turf/simulated/floor/plating,/area/medical/virology) -"cxF" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance{name = "Operating Theatre 2 Maintenance Access"; req_access = list(45)},/turf/simulated/floor/plating,/area/medical/surgery2) +"cxF" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering Workshop"; req_one_access = list(11,24)},/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{dir = 4},/turf/simulated/floor,/area/engineering/workshop) "cxG" = (/obj/machinery/atmospherics/omni/filter{use_power = 1; tag_east = 1; tag_north = 3; tag_south = 6; tag_west = 2},/turf/simulated/floor,/area/engineering/atmos) "cxH" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/obj/machinery/meter,/turf/simulated/floor,/area/engineering/atmos) "cxI" = (/obj/machinery/atmospherics/omni/filter{use_power = 1; tag_east = 1; tag_north = 4; tag_south = 7; tag_west = 2},/turf/simulated/floor,/area/engineering/atmos) -"cxJ" = (/obj/machinery/smartfridge/secure/virology,/obj/structure/sign/deathsposal{pixel_y = 32},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) +"cxJ" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/engineering{name = "Engineering Hard Storage"; req_access = list(11)},/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{dir = 4},/turf/simulated/floor,/area/engineering/storage) "cxK" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator) "cxL" = (/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator) "cxM" = (/obj/machinery/atmospherics/binary/pump,/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator) @@ -6645,33 +6645,33 @@ "cxO" = (/obj/machinery/atmospherics/binary/pump{dir = 1},/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator) "cxP" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = 28},/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator) "cxQ" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor/plating{dir = 2; icon_state = "warnplatecorner"},/area/maintenance/medbay) -"cxR" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "virology_airlock"; name = "interior access button"; pixel_x = -20; pixel_y = -20; req_access = list(13)},/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 32; pixel_y = 0},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/maintenance/medbay) +"cxR" = (/obj/structure/sign/redcross{desc = "The Star of Life, a symbol of Medical Aid."; icon_state = "lifestar"; name = "Medbay"; pixel_x = 0; pixel_y = 32},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance{name = "Engineering\\Medbay Maintenance"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/engineering) "cxS" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/structure/closet/secure_closet/personal/patient,/turf/simulated/floor{dir = 8; icon_state = "greencorner"},/area/medical/virology) "cxT" = (/obj/machinery/atmospherics/pipe/simple/hidden/purple,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor{dir = 2; icon_state = "green"},/area/medical/virology) "cxU" = (/obj/machinery/embedded_controller/radio/airlock/access_controller{id_tag = "virologyq_airlock_control"; name = "Virology Quarantine Access Console"; pixel_x = -8; pixel_y = -22; tag_exterior_door = "virologyq_airlock_exterior"; tag_interior_door = "virologyq_airlock_interior"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor{icon_state = "green"; dir = 4},/area/medical/virology) -"cxV" = (/obj/machinery/door/window/southright{dir = 1; name = "Virology Isolation Room One"; req_access = list(39)},/obj/machinery/atmospherics/pipe/simple/hidden/purple,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{dir = 1; icon_state = "whitegreen"},/area/medical/virology) +"cxV" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "virology_airlock_control"; name = "Virology Access Button"; pixel_x = 8; pixel_y = -28; req_access = list(39)},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor{dir = 10; icon_state = "warnwhite"},/area/medical/virology) "cxW" = (/turf/simulated/floor{dir = 8; icon_state = "whitegreen"},/area/medical/virology) "cxX" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cxY" = (/obj/structure/table,/obj/machinery/computer/med_data/laptop,/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cxZ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/medical/virology) -"cya" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/structure/bed/chair,/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/camera/network/medbay{c_tag = "Virology Monkey Pen"},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"cyb" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio2"; name = "Containment Blast Doors"; opacity = 0},/obj/machinery/door/window/northleft{base_state = "right"; dir = 8; icon_state = "right"; name = "Containment Pen"; req_access = list(55)},/turf/simulated/floor/engine,/area/rnd/xenobiology) -"cyc" = (/obj/structure/table,/obj/item/weapon/storage/box/beakers{pixel_x = 2; pixel_y = 2},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/glass_jar,/obj/item/glass_jar,/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) +"cya" = (/obj/structure/table/reinforced,/obj/machinery/door_control{id = "xenobio2"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access = list(55)},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/rnd/xenobiology) +"cyb" = (/obj/machinery/atmospherics/unary/freezer{dir = 2; icon_state = "freezer"},/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/engineering/atmos) +"cyc" = (/obj/machinery/hologram/holopad,/turf/simulated/floor,/area/engineering/atmos) "cyd" = (/obj/machinery/power/tracker,/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating/airless,/area/solar/port) "cye" = (/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) "cyf" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) -"cyg" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan,/turf/simulated/floor,/area/engineering/atmos) -"cyh" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/obj/machinery/atmospherics/pipe/simple/visible/red,/turf/simulated/floor,/area/engineering/atmos) -"cyi" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_atmos{name = "Atmospherics"; req_access = list(24)},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/engineering/atmos) +"cyg" = (/obj/structure/disposalpipe/sortjunction/flipped{dir = 8; sortType = "Drone Fabrication"; name = "Drone Fabrication"},/turf/simulated/floor,/area/engineering/atmos) +"cyh" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_atmos{name = "Atmospherics"; req_access = list(24)},/turf/simulated/floor,/area/engineering/atmos) +"cyi" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/engineering{name = "Engineering Hard Storage"; req_access = list(11)},/turf/simulated/floor,/area/engineering/storage) "cyj" = (/obj/machinery/atmospherics/binary/pump,/turf/simulated/floor,/area/engineering/atmos) "cyk" = (/obj/machinery/atmospherics/binary/pump{dir = 1},/turf/simulated/floor,/area/engineering/atmos) "cyl" = (/obj/machinery/atmospherics/portables_connector,/turf/simulated/floor,/area/engineering/atmos) -"cym" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering Workshop"; req_one_access = list(11,24)},/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{dir = 4},/turf/simulated/floor,/area/engineering/workshop) +"cym" = (/obj/machinery/door/airlock/maintenance{name = "Incinerator Access"; req_one_access = list(5,12)},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/maintenance/incinerator) "cyn" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor,/area/engineering/atmos) "cyo" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor,/area/engineering/atmos) -"cyp" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/engineering{name = "Engineering Hard Storage"; req_access = list(11)},/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{dir = 4},/turf/simulated/floor,/area/engineering/storage) +"cyp" = (/obj/machinery/door/airlock/medical{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "virology_airlock_interior"; locked = 1; name = "Virology Interior Airlock"; req_access = list(39)},/obj/machinery/atmospherics/pipe/simple/hidden/purple,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cyq" = (/turf/simulated/floor,/area/engineering/atmos/storage) -"cyr" = (/obj/structure/sign/redcross{desc = "The Star of Life, a symbol of Medical Aid."; icon_state = "lifestar"; name = "Medbay"; pixel_x = 0; pixel_y = 32},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance{name = "Engineering\\Medbay Maintenance"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/engineering) +"cyr" = (/obj/structure/table,/obj/machinery/light{dir = 8},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/item/weapon/storage/box/gloves{pixel_x = 4; pixel_y = 4},/obj/item/weapon/storage/box/masks,/obj/machinery/camera/network/medbay{c_tag = "Virology Port"; dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cys" = (/obj/machinery/portable_atmospherics/powered/scrubber,/turf/simulated/floor,/area/engineering/atmos/storage) "cyt" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/engineering) "cyu" = (/obj/machinery/atmospherics/pipe/manifold/hidden/yellow{tag = "icon-map (WEST)"; icon_state = "map"; dir = 8},/turf/simulated/wall/r_wall,/area/engineering/atmos/storage) @@ -6679,7 +6679,7 @@ "cyw" = (/obj/structure/table,/obj/item/weapon/storage/belt/utility,/obj/item/weapon/storage/belt/utility,/obj/item/stack/cable_coil,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = 3},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor,/area/engineering/workshop) "cyx" = (/obj/structure/bed/chair,/obj/effect/landmark/start{name = "Station Engineer"},/turf/simulated/floor,/area/engineering/workshop) "cyy" = (/obj/machinery/constructable_frame/machine_frame,/turf/simulated/floor,/area/engineering/workshop) -"cyz" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "virology_airlock_control"; name = "Virology Access Button"; pixel_x = 8; pixel_y = -28; req_access = list(39)},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor{dir = 10; icon_state = "warnwhite"},/area/medical/virology) +"cyz" = (/obj/machinery/door/window/southright{dir = 4; name = "Primate Pen"; req_access = list(39)},/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "whitegreen"},/area/medical/virology) "cyA" = (/obj/structure/bed/chair/office/dark,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cyB" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/turf/simulated/floor/plating,/area/medical/virology) "cyC" = (/obj/machinery/atmospherics/binary/pump{dir = 1; name = "Transit to Waste"},/turf/simulated/floor,/area/engineering/atmos) @@ -6687,9 +6687,9 @@ "cyE" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/turf/simulated/floor,/area/engineering/atmos) "cyF" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 9},/turf/simulated/floor,/area/engineering/atmos) "cyG" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/engineering/atmos) -"cyH" = (/obj/structure/table/reinforced,/obj/machinery/door_control{id = "xenobio2"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access = list(55)},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/rnd/xenobiology) +"cyH" = (/obj/effect/decal/cleanable/blood/oil,/obj/effect/decal/remains/robot,/turf/simulated/floor/plating,/area/maintenance/engineering) "cyI" = (/obj/machinery/space_heater,/turf/simulated/floor,/area/engineering/atmos/storage) -"cyJ" = (/obj/machinery/atmospherics/unary/freezer{dir = 2; icon_state = "freezer"},/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/engineering/atmos) +"cyJ" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{name = "Virology Laboratory"; req_access = list(39)},/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "delivery"},/area/medical/virology) "cyK" = (/obj/machinery/atmospherics/pipe/simple/hidden/yellow{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/turf/simulated/wall/r_wall,/area/engineering/atmos/storage) "cyL" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical{pixel_y = 5},/obj/item/weapon/storage/toolbox/mechanical{pixel_y = 5},/obj/item/weapon/storage/toolbox/electrical,/turf/simulated/floor,/area/engineering/workshop) "cyM" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator) @@ -6697,15 +6697,15 @@ "cyO" = (/mob/living/simple_animal/mouse,/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator) "cyP" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/obj/structure/sign/deathsposal{pixel_x = 32},/turf/simulated/floor/plating,/area/maintenance/incinerator) "cyQ" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/wall,/area/maintenance/medbay) -"cyR" = (/obj/machinery/hologram/holopad,/turf/simulated/floor,/area/engineering/atmos) -"cyS" = (/obj/structure/disposalpipe/sortjunction/flipped{dir = 8; sortType = "Drone Fabrication"; name = "Drone Fabrication"},/turf/simulated/floor,/area/engineering/atmos) +"cyR" = (/obj/machinery/atmospherics/pipe/simple/hidden/purple,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/camera/network/medbay{c_tag = "Virology Starboard"; dir = 8},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) +"cyS" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = -7; pixel_y = -32},/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/obj/structure/extinguisher_cabinet{pixel_x = 7; pixel_y = -32},/turf/simulated/floor,/area/rnd/xenobiology) "cyT" = (/obj/structure/table,/obj/item/device/antibody_scanner,/obj/machinery/requests_console{department = "Virology"; name = "Virology Requests Console"; pixel_x = -32},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cyU" = (/obj/structure/table,/obj/item/device/floor_painter,/obj/item/device/multitool{pixel_x = 5},/obj/item/device/t_scanner,/obj/item/weapon/reagent_containers/spray/cleaner,/turf/simulated/floor,/area/engineering/workshop) "cyV" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 8},/obj/structure/disposalpipe/segment,/obj/item/device/radio{anchored = 1; broadcasting = 0; canhear_range = 7; frequency = 1487; icon = 'icons/obj/items.dmi'; icon_state = "red_phone"; listening = 1; name = "Virology Emergency Phone"; pixel_x = -6; pixel_y = 8},/obj/item/weapon/reagent_containers/spray/cleaner,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cyW" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/medical/virology) "cyX" = (/obj/structure/table,/obj/item/device/radio/off{pixel_y = 6},/obj/item/device/radio/off{pixel_x = 6; pixel_y = 4},/obj/item/device/radio/off{pixel_x = -6; pixel_y = 4},/obj/item/device/radio/off,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor,/area/engineering/workshop) "cyY" = (/obj/item/roller,/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"cyZ" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_atmos{name = "Atmospherics"; req_access = list(24)},/turf/simulated/floor,/area/engineering/atmos) +"cyZ" = (/obj/machinery/atmospherics/pipe/manifold/visible/red{tag = "icon-map (WEST)"; icon_state = "map"; dir = 8},/turf/simulated/floor,/area/engineering/atmos) "cza" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) "czb" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) "czc" = (/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) @@ -6733,18 +6733,18 @@ "czy" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_x = 0; pixel_y = 32},/obj/structure/cable/cyan{d2 = 8; icon_state = "0-8"},/obj/machinery/power/smes/buildable{charge = 2e+006; RCon_tag = "Substation - Atmospherics"},/turf/simulated/floor/plating,/area/engineering/atmos/storage) "czz" = (/obj/structure/disposalpipe/segment,/obj/machinery/light/small{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/power/sensor{name = "Powernet Sensor - Atmospherics Subgrid"; name_tag = "Atmospherics Subgrid"},/obj/structure/cable/cyan{d2 = 4; icon_state = "0-4"},/obj/structure/cable/cyan,/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engineering/atmos/storage) "czA" = (/turf/simulated/wall/r_wall,/area/engineering) -"czB" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/engineering{name = "Engineering Hard Storage"; req_access = list(11)},/turf/simulated/floor,/area/engineering/storage) +"czB" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/obj/machinery/door/airlock/atmos{name = "Atmospherics Maintenance"; req_access = list(12,24)},/turf/simulated/floor,/area/engineering/atmos/storage) "czC" = (/obj/structure/cable/yellow,/turf/simulated/floor/plating/airless,/area/solar/port) "czD" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/structure/bed/chair{dir = 4},/turf/simulated/floor/plating,/area/maintenance/engi_shuttle) "czE" = (/obj/structure/bed/chair{dir = 8},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/engi_shuttle) -"czF" = (/obj/machinery/door/airlock/maintenance{name = "Incinerator Access"; req_one_access = list(5,12)},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/maintenance/incinerator) +"czF" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/obj/machinery/portable_atmospherics/powered/pump/filled,/turf/simulated/floor,/area/engineering/atmos/storage) "czG" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/yellow{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/turf/simulated/floor/plating,/area/medical/virology) "czH" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor{dir = 3; icon_state = "whitered"},/area/medical/virology) "czI" = (/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 10},/turf/simulated/floor{dir = 3; icon_state = "whitered"},/area/medical/virology) "czJ" = (/obj/structure/table,/turf/simulated/floor/plating,/area/maintenance/engi_shuttle) "czK" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/obj/item/device/radio/intercom{freerange = 1; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 30},/turf/simulated/floor{dir = 3; icon_state = "whitered"},/area/medical/virology) -"czL" = (/obj/machinery/door/airlock/medical{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "virology_airlock_interior"; locked = 1; name = "Virology Interior Airlock"; req_access = list(39)},/obj/machinery/atmospherics/pipe/simple/hidden/purple,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"czM" = (/obj/structure/table,/obj/machinery/light{dir = 8},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/item/weapon/storage/box/gloves{pixel_x = 4; pixel_y = 4},/obj/item/weapon/storage/box/masks,/obj/machinery/camera/network/medbay{c_tag = "Virology Port"; dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) +"czL" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/obj/machinery/portable_atmospherics/powered/pump/filled,/obj/machinery/light/small{dir = 1},/turf/simulated/floor,/area/engineering/atmos/storage) +"czM" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "virology_airlock"; name = "interior access button"; pixel_x = -20; pixel_y = -20; req_access = list(13)},/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 32; pixel_y = 0},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/maintenance/medbay) "czN" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/engineering) "czO" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/engineering) "czP" = (/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator) @@ -6753,9 +6753,9 @@ "czS" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/incinerator) "czT" = (/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (SOUTHWEST)"; icon_state = "intact"; dir = 10},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/incinerator) "czU" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 8},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 9},/area/maintenance/medbay) -"czV" = (/obj/machinery/door/window/southright{dir = 4; name = "Primate Pen"; req_access = list(39)},/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "whitegreen"},/area/medical/virology) +"czV" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{name = "Virology Laboratory"; req_access = list(39)},/turf/simulated/floor{icon_state = "delivery"},/area/medical/virology) "czW" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"czX" = (/obj/effect/decal/cleanable/blood/oil,/obj/effect/decal/remains/robot,/turf/simulated/floor/plating,/area/maintenance/engineering) +"czX" = (/obj/machinery/door/window/southright{name = "Virology Isolation Room Two"; req_access = list(39)},/obj/machinery/atmospherics/pipe/simple/hidden/purple,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{dir = 2; icon_state = "whitegreen"; tag = "icon-whitehall (WEST)"},/area/medical/virology) "czY" = (/obj/structure/closet/crate/freezer,/obj/item/weapon/virusdish/random,/obj/item/weapon/virusdish/random,/obj/item/weapon/virusdish/random,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "czZ" = (/obj/machinery/computer/diseasesplicer,/obj/machinery/light,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cAa" = (/obj/machinery/disease2/diseaseanalyser,/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) @@ -6791,9 +6791,9 @@ "cAE" = (/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/engineering/atmos) "cAF" = (/obj/machinery/power/terminal{icon_state = "term"; dir = 1},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/engineering/atmos/storage) "cAG" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; layer = 3.1; master_tag = "incinerator_access_control"; name = "Incinerator airlock control"; pixel_x = 10; pixel_y = -22},/obj/structure/sign/fire{pixel_x = -32; pixel_y = 0},/obj/machinery/light/small{dir = 8},/obj/machinery/atmospherics/binary/pump,/turf/simulated/floor/plating,/area/maintenance/incinerator) -"cAH" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{name = "Virology Laboratory"; req_access = list(39)},/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "delivery"},/area/medical/virology) +"cAH" = (/obj/machinery/door/window/southright{name = "Virology Isolation Room Three"; req_access = list(39)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/purple,/turf/simulated/floor{dir = 2; icon_state = "whitegreen"; tag = "icon-whitehall (WEST)"},/area/medical/virology) "cAI" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering) -"cAJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/purple,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/camera/network/medbay{c_tag = "Virology Starboard"; dir = 8},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) +"cAJ" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio1"; name = "Containment Blast Doors"; opacity = 0},/obj/machinery/door/window/northleft{base_state = "right"; dir = 8; icon_state = "right"; name = "Containment Pen"; req_access = list(55)},/turf/simulated/floor/engine,/area/rnd/xenobiology) "cAK" = (/obj/machinery/light{dir = 1},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor,/area/engineering) "cAL" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = 25},/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{dir = 4},/turf/simulated/floor,/area/engineering) "cAM" = (/obj/machinery/alarm{pixel_y = 22},/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{dir = 4},/turf/simulated/floor,/area/engineering) @@ -6804,7 +6804,7 @@ "cAR" = (/obj/structure/sign/nosmoking_2{pixel_x = 0; pixel_y = -30},/turf/simulated/floor/plating,/area/maintenance/incinerator) "cAS" = (/obj/structure/disposalpipe/segment,/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/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/turf/simulated/floor,/area/engineering) "cAT" = (/turf/simulated/floor{dir = 2; icon_state = "floorgrimecaution"},/area/maintenance/incinerator) -"cAU" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = -7; pixel_y = -32},/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/obj/structure/extinguisher_cabinet{pixel_x = 7; pixel_y = -32},/turf/simulated/floor,/area/rnd/xenobiology) +"cAU" = (/obj/structure/disposalpipe/segment,/obj/machinery/camera/network/research{c_tag = "Xenobiology Southeast"; dir = 8},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) "cAV" = (/turf/simulated/floor/plating,/area/maintenance/incinerator) "cAW" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor/plating,/area/maintenance/incinerator) "cAX" = (/obj/structure/closet/emcloset,/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1379; id_tag = "virology_pump"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 10},/area/maintenance/medbay) @@ -6820,22 +6820,22 @@ "cBh" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering) "cBi" = (/obj/machinery/light{dir = 1},/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/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor,/area/engineering) "cBj" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor,/area/engineering) -"cBk" = (/obj/machinery/atmospherics/pipe/manifold/visible/red{tag = "icon-map (WEST)"; icon_state = "map"; dir = 8},/turf/simulated/floor,/area/engineering/atmos) +"cBk" = (/turf/space,/area/skipjack_station/southeast_solars) "cBl" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor{icon_state = "hydrofloor"},/area/rnd/xenobiology) -"cBm" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/obj/machinery/door/airlock/atmos{name = "Atmospherics Maintenance"; req_access = list(12,24)},/turf/simulated/floor,/area/engineering/atmos/storage) -"cBn" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/obj/machinery/portable_atmospherics/powered/pump/filled,/turf/simulated/floor,/area/engineering/atmos/storage) +"cBm" = (/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/machinery/meter,/turf/simulated/floor,/area/engineering/atmos) +"cBn" = (/obj/machinery/atmospherics/pipe/simple/visible/green,/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor,/area/engineering/atmos) "cBo" = (/obj/machinery/light,/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/rnd/xenobiology) "cBp" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/rnd/xenobiology) -"cBq" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/obj/machinery/portable_atmospherics/powered/pump/filled,/obj/machinery/light/small{dir = 1},/turf/simulated/floor,/area/engineering/atmos/storage) +"cBq" = (/obj/machinery/atmospherics/pipe/manifold/visible/red{tag = "icon-map (NORTH)"; icon_state = "map"; dir = 1},/turf/simulated/floor,/area/engineering/atmos) "cBr" = (/obj/machinery/light,/obj/structure/closet,/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/rnd/xenobiology) -"cBs" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{name = "Virology Laboratory"; req_access = list(39)},/turf/simulated/floor{icon_state = "delivery"},/area/medical/virology) +"cBs" = (/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (SOUTHWEST)"; icon_state = "intact"; dir = 10},/turf/simulated/floor,/area/engineering/atmos) "cBt" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/turf/simulated/floor/plating,/area/medical/virology) "cBu" = (/obj/machinery/atmospherics/pipe/simple/visible/purple,/turf/simulated/floor{dir = 10; icon_state = "yellow"},/area/engineering/atmos) "cBv" = (/obj/machinery/light,/turf/simulated/floor,/area/engineering/atmos) "cBw" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "incinerator_access_control"; name = "Incinerator airlock control"; pixel_x = -8; pixel_y = 24},/obj/structure/sign/fire{pixel_x = 32; pixel_y = 0},/obj/machinery/atmospherics/binary/pump{dir = 1},/turf/simulated/floor/plating,/area/maintenance/incinerator) "cBx" = (/obj/machinery/atmospherics/valve/digital{name = "CO2 Outlet Valve"},/turf/simulated/floor{dir = 6; icon_state = "yellow"},/area/engineering/atmos) "cBy" = (/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1441; input_tag = "co2_in"; name = "Carbon Dioxide Supply Control"; output_tag = "co2_out"; sensors = list("co2_sensor" = "Tank")},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/light,/turf/simulated/floor{dir = 2; icon_state = "yellow"},/area/engineering/atmos) -"cBz" = (/obj/machinery/door/window/southright{name = "Virology Isolation Room Two"; req_access = list(39)},/obj/machinery/atmospherics/pipe/simple/hidden/purple,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{dir = 2; icon_state = "whitegreen"; tag = "icon-whitehall (WEST)"},/area/medical/virology) +"cBz" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/obj/machinery/light,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/camera/network/engineering{c_tag = "Atmospherics Southeast"; dir = 1},/turf/simulated/floor,/area/engineering/atmos) "cBA" = (/obj/machinery/light,/obj/machinery/atmospherics/binary/pump{dir = 1; name = "CO2 to Connector"},/turf/simulated/floor,/area/engineering/atmos) "cBB" = (/obj/machinery/atmospherics/valve/digital{name = "Phoron Outlet Valve"},/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/engineering/atmos) "cBC" = (/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1441; input_tag = "tox_in"; name = "Phoron Supply Control"; output_tag = "tox_out"; sensors = list("tox_sensor" = "Tank")},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/light,/turf/simulated/floor{icon_state = "warning"},/area/engineering/atmos) @@ -6844,17 +6844,17 @@ "cBF" = (/obj/machinery/atmospherics/valve/digital{name = "N2O Outlet Valve"},/turf/simulated/floor{icon_state = "escape"; dir = 6},/area/engineering/atmos) "cBG" = (/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1441; input_tag = "n2o_in"; name = "Nitrous Oxide Supply Control"; output_tag = "n2o_out"; sensors = list("n2o_sensor" = "Tank")},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/light,/turf/simulated/floor{dir = 7; icon_state = "escape"},/area/engineering/atmos) "cBH" = (/obj/machinery/light,/obj/machinery/atmospherics/binary/pump{dir = 1; name = "N2O to Connector"},/turf/simulated/floor,/area/engineering/atmos) -"cBI" = (/obj/machinery/door/window/southright{name = "Virology Isolation Room Three"; req_access = list(39)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/purple,/turf/simulated/floor{dir = 2; icon_state = "whitegreen"; tag = "icon-whitehall (WEST)"},/area/medical/virology) +"cBI" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/atmos{name = "Atmospherics Maintenance"; req_access = list(12,24)},/turf/simulated/floor,/area/engineering/atmos/storage) "cBJ" = (/obj/machinery/atmospherics/valve/digital{name = "Gas Mix Outlet Valve"},/turf/simulated/floor{icon_state = "green"; dir = 6},/area/engineering/atmos) "cBK" = (/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1441; input_tag = "waste_in"; name = "Gas Mix Tank Control"; output_tag = "waste_out"; sensors = list("waste_sensor" = "Tank")},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/light,/turf/simulated/floor{dir = 2; icon_state = "green"},/area/engineering/atmos) "cBL" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{tag = "icon-intact (NORTH)"; icon_state = "intact"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/engineering/atmos) "cBM" = (/obj/machinery/atmospherics/binary/pump{dir = 1; name = "Mix Tank to Connector"},/obj/machinery/light,/turf/simulated/floor,/area/engineering/atmos) "cBN" = (/turf/simulated/wall/r_wall,/area/engineering/drone_fabrication) -"cBO" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio1"; name = "Containment Blast Doors"; opacity = 0},/obj/machinery/door/window/northleft{base_state = "right"; dir = 8; icon_state = "right"; name = "Containment Pen"; req_access = list(55)},/turf/simulated/floor/engine,/area/rnd/xenobiology) +"cBO" = (/obj/effect/decal/cleanable/blood/oil,/turf/simulated/floor,/area/engineering/workshop) "cBP" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor,/area/engineering) "cBQ" = (/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,/area/engineering) -"cBR" = (/obj/structure/disposalpipe/segment,/obj/machinery/camera/network/research{c_tag = "Xenobiology Southeast"; dir = 8},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) -"cBS" = (/turf/space,/area/skipjack_station/southeast_solars) +"cBR" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "virology_inner"; locked = 1; name = "Engineering External Access"; req_access = list(13)},/turf/simulated/floor/plating,/area/maintenance/medbay) +"cBS" = (/obj/machinery/door/airlock/medical{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "virologyq_airlock_interior"; locked = 1; name = "Virology Quarantine Airlock"; req_access = list(39)},/obj/machinery/atmospherics/pipe/simple/hidden/purple,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cBT" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor,/area/engineering) "cBU" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor,/area/engineering) "cBV" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/engi_engine) @@ -6864,18 +6864,18 @@ "cBZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/universal,/turf/simulated/floor/plating,/area/maintenance/engineering) "cCa" = (/turf/simulated/wall/r_wall,/area/maintenance/incinerator) "cCb" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/wall/r_wall,/area/maintenance/incinerator) -"cCc" = (/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/machinery/meter,/turf/simulated/floor,/area/engineering/atmos) +"cCc" = (/obj/structure/table/reinforced,/obj/machinery/door_control{id = "xenobio1"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access = list(55)},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/camera/network/research{c_tag = "Xenobiology Southwest"; dir = 4},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/rnd/xenobiology) "cCd" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/visible,/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/incinerator) -"cCe" = (/obj/machinery/atmospherics/pipe/simple/visible/green,/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor,/area/engineering/atmos) -"cCf" = (/obj/machinery/atmospherics/pipe/manifold/visible/red{tag = "icon-map (NORTH)"; icon_state = "map"; dir = 1},/turf/simulated/floor,/area/engineering/atmos) +"cCe" = (/obj/machinery/door/airlock/maintenance{name = "Atmospherics Maintenance Access"; req_access = list(12,24)},/obj/structure/disposalpipe/segment,/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/engineering/atmos/storage) +"cCf" = (/obj/machinery/space_heater,/obj/machinery/light/small,/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor,/area/engineering/atmos/storage) "cCg" = (/obj/structure/table,/obj/item/weapon/storage/box/cups,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cCh" = (/obj/structure/reagent_dispensers/water_cooler,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"cCi" = (/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (SOUTHWEST)"; icon_state = "intact"; dir = 10},/turf/simulated/floor,/area/engineering/atmos) +"cCi" = (/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/maintenance/engi_shuttle) "cCj" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/medical/virology) "cCk" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/status_display,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/medical/virology) "cCl" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 5},/turf/simulated/floor/plating/airless,/area/space) "cCm" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/medical/virology) -"cCn" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/obj/machinery/light,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/camera/network/engineering{c_tag = "Atmospherics Southeast"; dir = 1},/turf/simulated/floor,/area/engineering/atmos) +"cCn" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance{req_one_access = list(10,24)},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/engi_shuttle) "cCo" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/medical/virology) "cCp" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor,/area/engineering) "cCq" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/computer/reconstitutor/animal,/turf/simulated/floor{icon_state = "hydrofloor"},/area/rnd/xenobiology) @@ -6901,10 +6901,10 @@ "cCK" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/visible/purple{tag = "icon-intact (NORTH)"; icon_state = "intact"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/plating,/area/engineering/atmos) "cCL" = (/obj/machinery/cryopod/robot/right,/turf/simulated/floor/plating,/area/engineering/drone_fabrication) "cCM" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) -"cCN" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/atmos{name = "Atmospherics Maintenance"; req_access = list(12,24)},/turf/simulated/floor,/area/engineering/atmos/storage) -"cCO" = (/obj/effect/decal/cleanable/blood/oil,/turf/simulated/floor,/area/engineering/workshop) +"cCN" = (/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "virology_sensor"; pixel_x = 25; pixel_y = 12},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "virology_pump"; tag_exterior_door = "virology_outer"; frequency = 1379; id_tag = "virology_airlock"; tag_interior_door = "virology_inner"; pixel_x = 25; req_access = list(13); tag_chamber_sensor = "virology_sensor"},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1379; id_tag = "virology_pump"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 5},/area/maintenance/medbay) +"cCO" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "virologyq_airlock_control"; name = "Virology Quarantine Access Button"; pixel_x = -8; pixel_y = 28; req_access = list(39)},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cCP" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/portable_atmospherics/canister/air/airlock,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating{dir = 1; icon_state = "warnplatecorner"},/area/maintenance/engi_shuttle) -"cCQ" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "virology_inner"; locked = 1; name = "Engineering External Access"; req_access = list(13)},/turf/simulated/floor/plating,/area/maintenance/medbay) +"cCQ" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/glass_engineering{name = "Engineering Hallway"; req_one_access = list(10,24)},/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,/area/engineering) "cCR" = (/obj/machinery/atmospherics/valve,/turf/simulated/floor/plating,/area/maintenance/engineering) "cCS" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 6; icon_state = "intact"; tag = "icon-intact-f (SOUTHEAST)"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/maintenance/engineering) "cCT" = (/obj/machinery/atmospherics/pipe/tank/air{dir = 8},/turf/simulated/floor/plating,/area/maintenance/engineering) @@ -6912,9 +6912,9 @@ "cCV" = (/obj/machinery/light{dir = 1},/obj/effect/landmark{name = "JoinLateCyborg"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 9},/area/engineering/drone_fabrication) "cCW" = (/obj/machinery/ai_status_display{layer = 4; pixel_y = 32},/obj/machinery/light{dir = 1},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 5},/area/engineering/drone_fabrication) "cCX" = (/turf/simulated/floor/plating/airless,/area/maintenance/medbay) -"cCY" = (/obj/machinery/door/airlock/medical{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "virologyq_airlock_interior"; locked = 1; name = "Virology Quarantine Airlock"; req_access = list(39)},/obj/machinery/atmospherics/pipe/simple/hidden/purple,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) +"cCY" = (/obj/machinery/embedded_controller/radio/airlock/access_controller{tag_exterior_door = "incinerator_airlock_exterior"; id_tag = "incinerator_access_control"; tag_interior_door = "incinerator_airlock_interior"; name = "Incinerator Access Console"; pixel_x = -6; pixel_y = -26; req_access = list(12)},/obj/machinery/button/ignition{id = "Incinerator"; pixel_x = 6; pixel_y = -24},/obj/machinery/meter,/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor{dir = 2; icon_state = "warningcorner"; tag = "icon-warningcorner (WEST)"},/area/maintenance/incinerator) "cCZ" = (/obj/structure/bed/chair,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/engineering/drone_fabrication) -"cDa" = (/obj/structure/table/reinforced,/obj/machinery/door_control{id = "xenobio1"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access = list(55)},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/camera/network/research{c_tag = "Xenobiology Southwest"; dir = 4},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/rnd/xenobiology) +"cDa" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/machinery/meter,/obj/machinery/door_control{id = "disvent"; name = "Incinerator Vent Control"; pixel_x = 0; pixel_y = -24; req_one_access = list(12,5)},/turf/simulated/floor{dir = 1; icon_state = "warningcorner"; tag = "icon-warningcorner (WEST)"},/area/maintenance/incinerator) "cDb" = (/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cDc" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cDd" = (/obj/structure/table,/obj/machinery/microwave{pixel_x = -3; pixel_y = 6},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) @@ -6926,14 +6926,14 @@ "cDj" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/engineering/drone_fabrication) "cDk" = (/turf/simulated/wall/r_wall,/area/engineering/engine_smes) "cDl" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = 0},/turf/simulated/wall/r_wall,/area/engineering/engine_smes) -"cDm" = (/obj/machinery/door/airlock/maintenance{name = "Atmospherics Maintenance Access"; req_access = list(12,24)},/obj/structure/disposalpipe/segment,/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/engineering/atmos/storage) +"cDm" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/table/reinforced,/obj/machinery/door_control{id = "xenobio4"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access = list(55)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/rnd/xenobiology) "cDn" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/engineering/engine_monitoring) "cDo" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'RADIOACTIVE AREA'"; icon_state = "radiation"; name = "RADIOACTIVE AREA"; pixel_x = 0; pixel_y = 0},/turf/simulated/wall/r_wall,/area/engineering/engine_monitoring) -"cDp" = (/obj/machinery/space_heater,/obj/machinery/light/small,/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor,/area/engineering/atmos/storage) +"cDp" = (/obj/machinery/door/window/southright{dir = 1; name = "Containment Pen"; req_access = list(47)},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/rnd/xenobiology) "cDq" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/engineering/engine_monitoring) "cDr" = (/turf/simulated/wall/r_wall,/area/engineering/engine_airlock) "cDs" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/engineering/engine_airlock) -"cDt" = (/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/maintenance/engi_shuttle) +"cDt" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/table/reinforced,/obj/machinery/door_control{id = "xenobio5"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access = list(55)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/rnd/xenobiology) "cDu" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; external_pressure_bound = 140; external_pressure_bound_default = 140; icon_state = "map_vent_out"; pressure_checks = 1; pressure_checks_default = 1; use_power = 1},/turf/simulated/floor/plating/airless,/area/maintenance/incinerator) "cDv" = (/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/obj/structure/sign/securearea{desc = "A warning sign which reads 'HOT EXHAUST'."; name = "\improper HOT EXHAUST"; pixel_x = -32},/turf/simulated/floor/plating/airless,/area/space) "cDw" = (/obj/item/weapon/stool,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) @@ -6953,14 +6953,14 @@ "cDK" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/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,/area/engineering/engine_monitoring) "cDL" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor,/area/engineering/engine_monitoring) "cDM" = (/obj/structure/closet/radiation,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = 28},/turf/simulated/floor,/area/engineering/engine_monitoring) -"cDN" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance{req_one_access = list(10,24)},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/engi_shuttle) -"cDO" = (/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "virology_sensor"; pixel_x = 25; pixel_y = 12},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "virology_pump"; tag_exterior_door = "virology_outer"; frequency = 1379; id_tag = "virology_airlock"; tag_interior_door = "virology_inner"; pixel_x = 25; req_access = list(13); tag_chamber_sensor = "virology_sensor"},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1379; id_tag = "virology_pump"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 5},/area/maintenance/medbay) +"cDN" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/table/reinforced,/obj/machinery/door_control{id = "xenobio6"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access = list(55)},/obj/machinery/door_control{desc = "A remote control-switch for a door to space."; id = "xenobioout6"; name = "Containment Release Switch"; pixel_x = 24; pixel_y = 4; req_access = list(55)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/rnd/xenobiology) +"cDO" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/disposalpipe/segment,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/camera/network/engineering{c_tag = "Atmospherics Maintenance"; dir = 4},/turf/simulated/floor/plating{dir = 8; icon_state = "warnplatecorner"},/area/engineering/atmos/storage) "cDP" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/maintenance/engi_shuttle) "cDQ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/maintenance/engi_shuttle) "cDR" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/turf/simulated/floor/plating,/area/maintenance/engineering) "cDS" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/manifold/hidden/cyan,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 10},/area/maintenance/engineering) "cDT" = (/obj/machinery/atmospherics/pipe/tank/air{dir = 8},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/maintenance/engineering) -"cDU" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "virologyq_airlock_control"; name = "Virology Quarantine Access Button"; pixel_x = -8; pixel_y = 28; req_access = list(39)},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) +"cDU" = (/obj/machinery/door/airlock/maintenance{req_one_access = list(10,24)},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/engineering) "cDV" = (/obj/machinery/atmospherics/pipe/simple/hidden/purple,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cDW" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/obj/machinery/ai_status_display{layer = 4; pixel_y = 32},/turf/simulated/floor,/area/engineering/engine_monitoring) "cDX" = (/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) @@ -6968,7 +6968,7 @@ "cDZ" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/engine,/area/rnd/xenobiology) "cEa" = (/obj/machinery/light/small{dir = 8},/obj/structure/disposalpipe/segment,/turf/simulated/floor/engine,/area/rnd/xenobiology) "cEb" = (/obj/machinery/alarm{frequency = 1439; pixel_y = 23},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor,/area/engineering/engine_airlock) -"cEc" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/glass_engineering{name = "Engineering Hallway"; req_one_access = list(10,24)},/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,/area/engineering) +"cEc" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance{req_one_access = list(10,24)},/turf/simulated/floor/plating,/area/engineering) "cEd" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/engineering/engine_airlock) "cEe" = (/obj/structure/bed,/obj/item/weapon/bedsheet/green,/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cEf" = (/obj/item/weapon/stool,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) @@ -6983,17 +6983,17 @@ "cEo" = (/obj/structure/disposalpipe/trunk{dir = 8},/obj/machinery/disposal,/turf/simulated/floor/plating,/area/engineering/drone_fabrication) "cEp" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/engineering/drone_fabrication) "cEq" = (/obj/structure/table,/obj/item/stack/cable_coil,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = 3},/turf/simulated/floor,/area/engineering/engine_smes) -"cEr" = (/obj/machinery/embedded_controller/radio/airlock/access_controller{tag_exterior_door = "incinerator_airlock_exterior"; id_tag = "incinerator_access_control"; tag_interior_door = "incinerator_airlock_interior"; name = "Incinerator Access Console"; pixel_x = -6; pixel_y = -26; req_access = list(12)},/obj/machinery/button/ignition{id = "Incinerator"; pixel_x = 6; pixel_y = -24},/obj/machinery/meter,/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor{dir = 2; icon_state = "warningcorner"; tag = "icon-warningcorner (WEST)"},/area/maintenance/incinerator) +"cEr" = (/obj/machinery/door/airlock/glass{autoclose = 0; frequency = 1379; heat_proof = 1; icon_state = "door_locked"; id_tag = "incinerator_airlock_interior"; locked = 1; name = "Mixing Room Interior Airlock"; req_access = list(12)},/turf/simulated/floor/plating,/area/maintenance/incinerator) "cEs" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/engineering/engine_smes) "cEt" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor,/area/engineering/engine_monitoring) "cEu" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/engineering/engine_monitoring) "cEv" = (/turf/simulated/floor,/area/engineering/engine_monitoring) "cEw" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/engineering/engine_monitoring) "cEx" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/engineering/engine_monitoring) -"cEy" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/machinery/meter,/obj/machinery/door_control{id = "disvent"; name = "Incinerator Vent Control"; pixel_x = 0; pixel_y = -24; req_one_access = list(12,5)},/turf/simulated/floor{dir = 1; icon_state = "warningcorner"; tag = "icon-warningcorner (WEST)"},/area/maintenance/incinerator) +"cEy" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "virology_outer"; locked = 1; name = "Engineering External Access"; req_access = list(10,13)},/turf/simulated/floor/plating,/area/maintenance/medbay) "cEz" = (/obj/machinery/shower{icon_state = "shower"; dir = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor,/area/engineering/engine_airlock) "cEA" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor,/area/engineering/engine_airlock) -"cEB" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/table/reinforced,/obj/machinery/door_control{id = "xenobio4"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access = list(55)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/rnd/xenobiology) +"cEB" = (/obj/machinery/door/airlock/medical{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "virologyq_airlock_exterior"; locked = 1; name = "Virology Quarantine Airlock"; req_access = list(39)},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "virologyq_airlock_control"; name = "Virology Quarantine Access Button"; pixel_x = -24; pixel_y = 0; req_access = list(39)},/obj/machinery/atmospherics/pipe/simple/hidden/purple,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cEC" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 5},/area/maintenance/engi_shuttle) "cED" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/maintenance/engi_shuttle) "cEE" = (/obj/structure/bed,/obj/item/weapon/bedsheet/green,/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) @@ -7015,16 +7015,16 @@ "cEU" = (/obj/machinery/air_sensor{frequency = 1441; id_tag = "waste_sensor"; output = 63},/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/engineering/atmos) "cEV" = (/obj/structure/bed/chair{dir = 1},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) "cEW" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engineering/drone_fabrication) -"cEX" = (/obj/machinery/door/window/southright{dir = 1; name = "Containment Pen"; req_access = list(47)},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/rnd/xenobiology) +"cEX" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/obj/structure/sign/deathsposal{pixel_x = 32},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cEY" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) "cEZ" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/table,/obj/item/stack/cable_coil,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/box/lights/mixed,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor,/area/engineering/engine_smes) "cFa" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/wall/r_wall,/area/engineering/engine_smes) "cFb" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor,/area/engineering/engine_smes) "cFc" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/engineering/engine_smes) "cFd" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor,/area/engineering/engine_monitoring) -"cFe" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/table/reinforced,/obj/machinery/door_control{id = "xenobio5"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access = list(55)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/rnd/xenobiology) +"cFe" = (/obj/machinery/door/window/southright{name = "Containment Pen"; req_access = list(47)},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio4"; name = "Containment Blast Doors"; opacity = 0},/turf/simulated/floor/engine,/area/rnd/xenobiology) "cFf" = (/obj/machinery/hologram/holopad,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor,/area/engineering/engine_monitoring) -"cFg" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/table/reinforced,/obj/machinery/door_control{id = "xenobio6"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access = list(55)},/obj/machinery/door_control{desc = "A remote control-switch for a door to space."; id = "xenobioout6"; name = "Containment Release Switch"; pixel_x = 24; pixel_y = 4; req_access = list(55)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/rnd/xenobiology) +"cFg" = (/obj/machinery/door/window/southright{name = "Containment Pen"; req_access = list(47)},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio5"; name = "Containment Blast Doors"; opacity = 0},/turf/simulated/floor/engine,/area/rnd/xenobiology) "cFh" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 6},/area/maintenance/engi_shuttle) "cFi" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/maintenance/engi_shuttle) "cFj" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/engineering/engine_monitoring) @@ -7035,7 +7035,7 @@ "cFo" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/closet/secure_closet/personal/patient,/obj/item/clothing/under/color/white,/obj/item/clothing/under/color/white,/obj/item/clothing/under/color/white,/obj/item/clothing/under/color/white,/obj/item/clothing/under/color/white,/obj/item/clothing/under/color/white,/obj/item/clothing/under/color/white,/obj/item/clothing/shoes/white,/obj/item/clothing/shoes/white,/obj/item/clothing/shoes/white,/obj/item/clothing/shoes/white,/obj/item/clothing/shoes/white,/obj/item/clothing/shoes/white,/obj/item/clothing/shoes/white,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cFp" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/wall/r_wall,/area/engineering/engine_monitoring) "cFq" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/universal,/turf/simulated/floor/plating,/area/engineering/engine_airlock) -"cFr" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/disposalpipe/segment,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/camera/network/engineering{c_tag = "Atmospherics Maintenance"; dir = 4},/turf/simulated/floor/plating{dir = 8; icon_state = "warnplatecorner"},/area/engineering/atmos/storage) +"cFr" = (/obj/machinery/door/window/southright{name = "Containment Pen"; req_access = list(47)},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio6"; name = "Containment Blast Doors"; opacity = 0},/turf/simulated/floor/engine,/area/rnd/xenobiology) "cFs" = (/turf/simulated/floor/engine{carbon_dioxide = 50000; name = "co2 floor"; nitrogen = 0; oxygen = 0},/area/engineering/atmos) "cFt" = (/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/turf/simulated/floor/engine{carbon_dioxide = 50000; name = "co2 floor"; nitrogen = 0; oxygen = 0},/area/engineering/atmos) "cFu" = (/turf/simulated/floor/engine{carbon_dioxide = 0; name = "phoron floor"; nitrogen = 0; oxygen = 0; phoron = 70000},/area/engineering/atmos) @@ -7046,16 +7046,16 @@ "cFz" = (/obj/effect/landmark{name = "JoinLateCyborg"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/engineering/drone_fabrication) "cFA" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/engineering/drone_fabrication) "cFB" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "warning"},/area/engineering/engine_smes) -"cFC" = (/obj/machinery/door/airlock/maintenance{req_one_access = list(10,24)},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/engineering) +"cFC" = (/obj/machinery/atmospherics/pipe/simple/visible/purple,/obj/machinery/camera/network/engineering{c_tag = "Atmospherics Southwest"; dir = 1},/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/engineering/atmos) "cFD" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor{icon_state = "warningcorner"; dir = 1},/area/engineering/engine_smes) -"cFE" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance{req_one_access = list(10,24)},/turf/simulated/floor/plating,/area/engineering) -"cFF" = (/obj/machinery/door/airlock/glass{autoclose = 0; frequency = 1379; heat_proof = 1; icon_state = "door_locked"; id_tag = "incinerator_airlock_interior"; locked = 1; name = "Mixing Room Interior Airlock"; req_access = list(12)},/turf/simulated/floor/plating,/area/maintenance/incinerator) +"cFE" = (/obj/machinery/atmospherics/valve/digital{name = "Gas Mix Inlet Valve"},/obj/machinery/camera/network/engineering{c_tag = "Atmospherics South"; dir = 1},/turf/simulated/floor{dir = 10; icon_state = "green"},/area/engineering/atmos) +"cFF" = (/obj/machinery/door/airlock/maintenance{name = "Drone Fabrication"; req_one_access = list(10,24)},/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/engineering/drone_fabrication) "cFG" = (/obj/structure/bed/chair/office/dark,/obj/effect/landmark/start{name = "Station Engineer"},/turf/simulated/floor,/area/engineering/engine_monitoring) "cFH" = (/obj/structure/table/reinforced,/obj/machinery/light_switch{pixel_x = 27},/turf/simulated/floor,/area/engineering/engine_monitoring) "cFI" = (/obj/machinery/embedded_controller/radio/airlock/advanced_airlock_controller{id_tag = "engine_room_airlock"; name = "Engine Room Airlock"; pixel_x = -24; tag_airpump = "engine_airlock_pump"; tag_chamber_sensor = "eng_al_c_snsr"; tag_exterior_door = "engine_airlock_exterior"; tag_exterior_sensor = "eng_al_ext_snsr"; tag_interior_door = "engine_airlock_interior"; tag_interior_sensor = "eng_al_int_snsr"},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHEAST)"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 9},/area/engineering/engine_airlock) "cFJ" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'KEEP CLEAR OF DOCKING AREA'."; name = "KEEP CLEAR: DOCKING AREA"; pixel_y = 0},/turf/simulated/wall,/area/maintenance/engi_shuttle) -"cFK" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "virology_outer"; locked = 1; name = "Engineering External Access"; req_access = list(10,13)},/turf/simulated/floor/plating,/area/maintenance/medbay) -"cFL" = (/obj/machinery/door/airlock/medical{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "virologyq_airlock_exterior"; locked = 1; name = "Virology Quarantine Airlock"; req_access = list(39)},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "virologyq_airlock_control"; name = "Virology Quarantine Access Button"; pixel_x = -24; pixel_y = 0; req_access = list(39)},/obj/machinery/atmospherics/pipe/simple/hidden/purple,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) +"cFK" = (/obj/machinery/camera/network/engineering{c_tag = "Engineering Hallway Southwest"; dir = 1},/turf/simulated/floor,/area/engineering) +"cFL" = (/obj/machinery/camera/network/engineering{c_tag = "Engineering Hallway Southeast"; dir = 1},/turf/simulated/floor,/area/engineering) "cFM" = (/obj/effect/decal/cleanable/generic,/turf/simulated/floor/plating,/area/maintenance/engineering) "cFN" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/maintenance/engineering) "cFO" = (/obj/structure/sign/fire{pixel_y = 32},/obj/structure/lattice,/turf/space,/area/space) @@ -7064,9 +7064,9 @@ "cFR" = (/obj/machinery/vending/snack,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cFS" = (/obj/structure/closet/emcloset,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 5},/area/engineering/engine_airlock) "cFT" = (/obj/machinery/atmospherics/binary/dp_vent_pump/high_volume{dir = 8; frequency = 1379; id = "engine_airlock_pump"},/turf/simulated/floor/plating,/area/engineering/engine_airlock) -"cFU" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/obj/structure/sign/deathsposal{pixel_x = 32},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"cFV" = (/obj/machinery/door/window/southright{name = "Containment Pen"; req_access = list(47)},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio4"; name = "Containment Blast Doors"; opacity = 0},/turf/simulated/floor/engine,/area/rnd/xenobiology) -"cFW" = (/obj/machinery/door/window/southright{name = "Containment Pen"; req_access = list(47)},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio5"; name = "Containment Blast Doors"; opacity = 0},/turf/simulated/floor/engine,/area/rnd/xenobiology) +"cFU" = (/obj/structure/table/rack{dir = 1},/obj/item/clothing/suit/fire/firefighter,/obj/item/weapon/tank/oxygen,/obj/item/clothing/mask/gas,/obj/item/weapon/extinguisher,/obj/item/clothing/head/hardhat/red,/obj/item/clothing/glasses/meson,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/engi_shuttle) +"cFV" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/maintenance/engi_shuttle) +"cFW" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "engineering_dock_airlock"; name = "interior access button"; pixel_x = -30; pixel_y = -25; req_one_access = list(13,11,24)},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplatecorner"},/area/maintenance/engi_shuttle) "cFX" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) "cFY" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) "cFZ" = (/obj/machinery/computer/drone_control,/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/engineering/drone_fabrication) @@ -7076,31 +7076,31 @@ "cGd" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/engineering/drone_fabrication) "cGe" = (/obj/machinery/power/smes/buildable{charge = 1e+007; cur_coils = 4; input_attempt = 1; input_level = 500000; output_level = 500000; RCon_tag = "Engine - Main"},/obj/structure/cable,/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/engineering/engine_smes) "cGf" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor{icon_state = "warning"},/area/engineering/engine_smes) -"cGg" = (/obj/machinery/door/window/southright{name = "Containment Pen"; req_access = list(47)},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio6"; name = "Containment Blast Doors"; opacity = 0},/turf/simulated/floor/engine,/area/rnd/xenobiology) -"cGh" = (/obj/machinery/atmospherics/pipe/simple/visible/purple,/obj/machinery/camera/network/engineering{c_tag = "Atmospherics Southwest"; dir = 1},/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/engineering/atmos) +"cGg" = (/obj/machinery/computer/shuttle_control/engineering,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/camera/network/engineering{c_tag = "Engineering Shuttle Access"; dir = 8},/turf/simulated/floor/plating,/area/maintenance/engi_shuttle) +"cGh" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "virology_airlock"; name = "exterior access button"; pixel_x = 20; pixel_y = 20; req_access = list(13)},/turf/simulated/floor/plating/airless,/area/maintenance/medbay) "cGi" = (/obj/machinery/computer/general_air_control/supermatter_core{frequency = 1438; input_tag = "cooling_in"; name = "Engine Cooling Control"; output_tag = "cooling_out"; pressure_setting = 100; sensors = list("engine_sensor" = "Engine Core")},/turf/simulated/floor{icon_state = "warning"},/area/engineering/engine_monitoring) "cGj" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/maintenance/engineering) "cGk" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/computer/power_monitor,/turf/simulated/floor{icon_state = "warning"},/area/engineering/engine_monitoring) "cGl" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/medical/virology) "cGm" = (/obj/machinery/computer/rcon,/turf/simulated/floor{icon_state = "warning"},/area/engineering/engine_monitoring) "cGn" = (/obj/machinery/computer/station_alert,/turf/simulated/floor{icon_state = "warning"},/area/engineering/engine_monitoring) -"cGo" = (/obj/machinery/atmospherics/valve/digital{name = "Gas Mix Inlet Valve"},/obj/machinery/camera/network/engineering{c_tag = "Atmospherics South"; dir = 1},/turf/simulated/floor{dir = 10; icon_state = "green"},/area/engineering/atmos) +"cGo" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/camera/network/medbay{c_tag = "Virology Break/Access"},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cGp" = (/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "eng_al_c_snsr"; pixel_x = -25; pixel_y = 0},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 10},/area/engineering/engine_airlock) "cGq" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 6},/area/engineering/engine_airlock) "cGr" = (/turf/simulated/floor/plating,/area/engineering/engine_airlock) "cGs" = (/obj/structure/grille,/obj/structure/grille,/turf/simulated/wall/r_wall,/area/engineering/atmos) "cGt" = (/turf/simulated/wall/r_wall,/area/engineering/engine_room) -"cGu" = (/obj/machinery/door/airlock/maintenance{name = "Drone Fabrication"; req_one_access = list(10,24)},/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/engineering/drone_fabrication) -"cGv" = (/obj/machinery/camera/network/engineering{c_tag = "Engineering Hallway Southwest"; dir = 1},/turf/simulated/floor,/area/engineering) +"cGu" = (/obj/machinery/door/airlock/maintenance_hatch{name = "SMES Access"; req_access = list(11)},/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,/area/engineering/engine_smes) +"cGv" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engine Monitoring Room"; req_access = list(11)},/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,/area/engineering/engine_monitoring) "cGw" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "EngineBlast"; name = "Engine Monitoring Room Blast Doors"; opacity = 0},/turf/simulated/floor/plating,/area/engineering/engine_room) "cGx" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "EngineBlast"; name = "Engine Monitoring Room Blast Doors"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/engineering/engine_room) "cGy" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "EngineBlast"; name = "Engine Monitoring Room Blast Doors"; opacity = 0},/turf/simulated/floor/plating,/area/engineering/engine_room) "cGz" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "EngineBlast"; name = "Engine Monitoring Room Blast Doors"; opacity = 0},/turf/simulated/floor/plating,/area/engineering/engine_room) -"cGA" = (/obj/machinery/camera/network/engineering{c_tag = "Engineering Hallway Southeast"; dir = 1},/turf/simulated/floor,/area/engineering) +"cGA" = (/obj/machinery/door/airlock/maintenance_hatch{icon_state = "door_closed"; locked = 0; name = "Engine Access"; req_one_access = list(11,24)},/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,/area/engineering/engine_airlock) "cGB" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/turf/simulated/wall/r_wall,/area/engineering/engine_waste) "cGC" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/engineering/engine_waste) "cGD" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 10},/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor/plating,/area/engineering/engine_waste) -"cGE" = (/obj/structure/table/rack{dir = 1},/obj/item/clothing/suit/fire/firefighter,/obj/item/weapon/tank/oxygen,/obj/item/clothing/mask/gas,/obj/item/weapon/extinguisher,/obj/item/clothing/head/hardhat/red,/obj/item/clothing/glasses/meson,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/engi_shuttle) +"cGE" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "engineering_dock_inner"; locked = 1; name = "Engineering Dock Airlock"; req_access = list(13)},/turf/simulated/floor/plating,/area/maintenance/engi_shuttle) "cGF" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'KEEP CLEAR OF DOCKING AREA'."; name = "KEEP CLEAR: DOCKING AREA"; pixel_y = 0},/turf/simulated/wall,/area/maintenance/engineering) "cGG" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/engineering) "cGH" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/maintenance/engineering) @@ -7108,9 +7108,9 @@ "cGJ" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'RADIOACTIVE AREA'"; icon_state = "radiation"; name = "RADIOACTIVE AREA"; pixel_x = 0; pixel_y = 0},/turf/simulated/wall/r_wall,/area/engineering/engine_room) "cGK" = (/obj/machinery/light/small{dir = 4},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/engineering/engine_waste) "cGL" = (/obj/machinery/light{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/obj/machinery/atmospherics/binary/pump{dir = 8},/turf/simulated/floor/plating,/area/engineering/engine_room) -"cGM" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/maintenance/engi_shuttle) +"cGM" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "engineering_dock_inner"; locked = 1; name = "Engineering Dock Airlock"; req_access = list(13)},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/engi_shuttle) "cGN" = (/obj/machinery/power/terminal{dir = 4},/obj/structure/cable/yellow,/obj/machinery/power/sensor{name = "Powernet Sensor - Engine Output"; name_tag = "Engine Output"},/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/engineering/engine_room) -"cGO" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "engineering_dock_airlock"; name = "interior access button"; pixel_x = -30; pixel_y = -25; req_one_access = list(13,11,24)},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplatecorner"},/area/maintenance/engi_shuttle) +"cGO" = (/obj/machinery/door/airlock/glass{autoclose = 0; frequency = 1379; heat_proof = 1; icon_state = "door_locked"; id_tag = "incinerator_airlock_exterior"; locked = 1; name = "Mixing Room Exterior Airlock"; req_access = list(12)},/turf/simulated/floor/plating,/area/maintenance/incinerator) "cGP" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/engineering/engine_room) "cGQ" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 6},/turf/space,/area/space) "cGR" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 4},/turf/space,/area/space) @@ -7122,7 +7122,7 @@ "cGX" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/plating,/area/engineering/engine_room) "cGY" = (/obj/machinery/atmospherics/portables_connector,/turf/simulated/floor/plating{icon_state = "platebotc"},/area/engineering/engine_room) "cGZ" = (/obj/machinery/light_switch{pixel_x = 12; pixel_y = 25},/obj/machinery/power/apc/super{dir = 1; name = "north bump"; pixel_y = 24},/obj/structure/cable/cyan{d2 = 8; icon_state = "0-8"},/obj/machinery/power/sensor{name = "Powernet Sensor - Engine Power"; name_tag = "Engine Power"},/turf/simulated/floor/plating,/area/engineering/engine_room) -"cHa" = (/obj/machinery/computer/shuttle_control/engineering,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/camera/network/engineering{c_tag = "Engineering Shuttle Access"; dir = 8},/turf/simulated/floor/plating,/area/maintenance/engi_shuttle) +"cHa" = (/obj/structure/closet/radiation,/obj/item/clothing/glasses/meson,/obj/item/clothing/glasses/meson,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/camera/network/engine{c_tag = "Engine Airlock"},/turf/simulated/floor,/area/engineering/engine_airlock) "cHb" = (/turf/simulated/floor/plating,/area/engineering/engine_room) "cHc" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{tag = "icon-intact (SOUTHWEST)"; icon_state = "intact"; dir = 10},/turf/space,/area/space) "cHd" = (/obj/structure/grille,/obj/structure/grille,/turf/space,/area/space) @@ -7131,7 +7131,7 @@ "cHg" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engineering/engine_waste) "cHh" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/turf/simulated/floor/plating,/area/engineering/engine_waste) "cHi" = (/obj/machinery/door/blast/regular{icon_state = "pdoor1"; id = "EngineEmitterPortWest"; layer = 3.3; name = "Engine Waste Handling Access"},/turf/simulated/floor/plating,/area/engineering/engine_room) -"cHj" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "virology_airlock"; name = "exterior access button"; pixel_x = 20; pixel_y = 20; req_access = list(13)},/turf/simulated/floor/plating/airless,/area/maintenance/medbay) +"cHj" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1380; id_tag = "engineering_dock_pump"},/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1380; id_tag = "engineering_dock_airlock"; pixel_x = -25; pixel_y = 0; req_one_access = list(13,11,24); tag_airpump = "engineering_dock_pump"; tag_chamber_sensor = "engineering_dock_sensor"; tag_exterior_door = "engineering_dock_outer"; tag_interior_door = "engineering_dock_inner"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 9},/area/maintenance/engi_shuttle) "cHk" = (/obj/machinery/atmospherics/omni/filter{use_power = 0; tag_east = 1; tag_north = 0; tag_south = 4; tag_west = 2},/turf/simulated/floor/plating,/area/engineering/engine_room) "cHl" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 6},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/engineering/engine_room) "cHm" = (/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/engineering/engine_room) @@ -7150,7 +7150,7 @@ "cHz" = (/obj/machinery/atmospherics/unary/heat_exchanger{dir = 8},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 9},/area/engineering/engine_waste) "cHA" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/visible/purple{dir = 1},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engineering/engine_waste) "cHB" = (/obj/machinery/atmospherics/unary/heat_exchanger{dir = 4},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 5},/area/engineering/engine_waste) -"cHC" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/camera/network/medbay{c_tag = "Virology Break/Access"},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) +"cHC" = (/obj/machinery/light_switch{pixel_x = 22; pixel_y = -10},/turf/simulated/floor,/area/engineering/engine_smes) "cHD" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan{dir = 8},/turf/simulated/floor/plating,/area/engineering/engine_room) "cHE" = (/obj/machinery/atmospherics/pipe/simple/visible/purple,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/engineering/engine_room) "cHF" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/manifold/visible/cyan{tag = "icon-map (EAST)"; icon_state = "map"; dir = 4},/turf/simulated/floor/plating,/area/engineering/engine_room) @@ -7169,7 +7169,7 @@ "cHS" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/visible/purple,/obj/machinery/meter{id = "wloop_atm_meter"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engineering/engine_waste) "cHT" = (/obj/machinery/atmospherics/unary/heat_exchanger{dir = 4},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 6},/area/engineering/engine_waste) "cHU" = (/obj/machinery/door/blast/regular{icon_state = "pdoor1"; id = "EngineEmitterPortWest"; layer = 3.3; name = "Engine Waste Handling Access"},/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/turf/simulated/floor/plating,/area/engineering/engine_room) -"cHV" = (/obj/machinery/door/airlock/maintenance_hatch{name = "SMES Access"; req_access = list(11)},/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,/area/engineering/engine_smes) +"cHV" = (/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/obj/machinery/light_switch{pixel_x = -27; pixel_y = 0},/obj/machinery/airlock_sensor/airlock_exterior{id_tag = "eng_al_ext_snsr"; layer = 3.3; master_tag = "engine_room_airlock"; pixel_y = -22; req_access = list(10)},/obj/structure/table,/obj/item/weapon/book/manual/supermatter_engine,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor,/area/engineering/engine_airlock) "cHW" = (/obj/machinery/atmospherics/omni/filter{use_power = 0; tag_east = 1; tag_north = 4; tag_south = 0; tag_west = 2},/turf/simulated/floor/plating,/area/engineering/engine_room) "cHX" = (/obj/machinery/atmospherics/pipe/manifold/visible/purple,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/engineering/engine_room) "cHY" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/turf/simulated/floor/plating,/area/engineering/engine_room) @@ -7200,7 +7200,7 @@ "cIx" = (/turf/simulated/floor/plating{dir = 2; icon_state = "warnplatecorner"},/area/engineering/engine_room) "cIy" = (/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/engineering/engine_room) "cIz" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 6},/area/engineering/engine_room) -"cIA" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engine Monitoring Room"; req_access = list(11)},/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,/area/engineering/engine_monitoring) +"cIA" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1380; id_tag = "engineering_dock_pump"},/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "engineering_dock_sensor"; pixel_x = -25; pixel_y = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 10},/area/maintenance/engi_shuttle) "cIB" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 6},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 10},/area/engineering/engine_room) "cIC" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/turf/simulated/floor/plating,/area/engineering/engine_room) "cID" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 10},/turf/simulated/floor/plating{dir = 1; icon_state = "warnplatecorner"},/area/engineering/engine_room) @@ -7212,20 +7212,20 @@ "cIJ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/maintenance/portsolar) "cIK" = (/turf/simulated/wall/r_wall,/area/maintenance/portsolar) "cIL" = (/turf/simulated/wall/r_wall,/area/maintenance/engi_engine) -"cIM" = (/obj/machinery/door/airlock/maintenance_hatch{icon_state = "door_closed"; locked = 0; name = "Engine Access"; req_one_access = list(11,24)},/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,/area/engineering/engine_airlock) +"cIM" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/toolbox/electrical,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/camera/network/engineering{c_tag = "Engineering Drone Fabrication"; dir = 8},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) "cIN" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 6},/turf/simulated/floor/plating,/area/engineering/engine_room) "cIO" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/heat_exchanging{tag = "icon-intact (SOUTHWEST)"; icon_state = "intact"; dir = 10},/turf/space,/area/space) "cIP" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 6},/turf/space,/area/space) "cIQ" = (/obj/machinery/light{dir = 8},/turf/simulated/floor/plating,/area/engineering/engine_room) -"cIR" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "engineering_dock_inner"; locked = 1; name = "Engineering Dock Airlock"; req_access = list(13)},/turf/simulated/floor/plating,/area/maintenance/engi_shuttle) +"cIR" = (/obj/machinery/door/airlock/maintenance_hatch{name = "SMES Access"; req_access = list(11)},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor,/area/engineering/engine_monitoring) "cIS" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/regular{dir = 8; icon_state = "pdoor1"; id = "SupermatterPort"; layer = 3.3; name = "Reactor Blast Door"},/turf/simulated/floor/plating,/area/engineering/engine_room) -"cIT" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "engineering_dock_inner"; locked = 1; name = "Engineering Dock Airlock"; req_access = list(13)},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/engi_shuttle) +"cIT" = (/obj/machinery/door/airlock/maintenance_hatch{frequency = 1379; icon_state = "door_closed"; id_tag = "engine_airlock_exterior"; locked = 0; name = "Engine Airlock Exterior"; req_access = list(10)},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/engineering/engine_airlock) "cIU" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/maintenance/portsolar) "cIV" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating/airless,/area/maintenance/portsolar) "cIW" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless,/area/maintenance/portsolar) "cIX" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = -32; pixel_y = 0},/obj/machinery/atmospherics/portables_connector,/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor/plating{dir = 1; icon_state = "warnplatecorner"},/area/maintenance/portsolar) "cIY" = (/obj/machinery/power/terminal{dir = 4},/obj/machinery/light/small{dir = 1},/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/maintenance/portsolar) -"cIZ" = (/obj/machinery/door/airlock/glass{autoclose = 0; frequency = 1379; heat_proof = 1; icon_state = "door_locked"; id_tag = "incinerator_airlock_exterior"; locked = 1; name = "Mixing Room Exterior Airlock"; req_access = list(12)},/turf/simulated/floor/plating,/area/maintenance/incinerator) +"cIZ" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "engineering_dock_outer"; locked = 1; name = "Engineering Dock Airlock"; req_access = list(13)},/turf/simulated/floor/plating,/area/maintenance/engi_shuttle) "cJa" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = 0},/turf/simulated/wall/r_wall,/area/maintenance/portsolar) "cJb" = (/obj/structure/closet/wardrobe/black,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating{dir = 1; icon_state = "warnplatecorner"},/area/maintenance/engi_engine) "cJc" = (/obj/structure/closet/crate,/obj/item/device/multitool,/obj/item/device/multitool,/obj/item/device/assembly/prox_sensor,/obj/item/device/flashlight,/turf/simulated/floor/plating,/area/maintenance/engi_engine) @@ -7233,15 +7233,15 @@ "cJe" = (/turf/simulated/floor/plating,/area/maintenance/engi_engine) "cJf" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/maintenance/engi_engine) "cJg" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/maintenance/engi_engine) -"cJh" = (/obj/structure/closet/radiation,/obj/item/clothing/glasses/meson,/obj/item/clothing/glasses/meson,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/camera/network/engine{c_tag = "Engine Airlock"},/turf/simulated/floor,/area/engineering/engine_airlock) +"cJh" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "engineering_dock_outer"; locked = 1; name = "Engineering Dock Airlock"; req_access = list(13)},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/engi_shuttle) "cJi" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 9},/turf/simulated/floor/plating,/area/engineering/engine_room) "cJj" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/green,/turf/simulated/floor/plating,/area/engineering/engine_room) "cJk" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 5},/turf/simulated/floor/plating,/area/engineering/engine_room) -"cJl" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1380; id_tag = "engineering_dock_pump"},/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1380; id_tag = "engineering_dock_airlock"; pixel_x = -25; pixel_y = 0; req_one_access = list(13,11,24); tag_airpump = "engineering_dock_pump"; tag_chamber_sensor = "engineering_dock_sensor"; tag_exterior_door = "engineering_dock_outer"; tag_interior_door = "engineering_dock_inner"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 9},/area/maintenance/engi_shuttle) +"cJl" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "engineering_dock_airlock"; name = "exterior access button"; pixel_x = -25; pixel_y = -8; req_one_access = list(13,11,24)},/turf/space,/area/space) "cJm" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging,/obj/structure/lattice,/turf/space,/area/space) "cJn" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Solar - Aft Port"},/turf/simulated/floor/plating,/area/maintenance/portsolar) "cJo" = (/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/engineering/engine_room) -"cJp" = (/obj/machinery/light_switch{pixel_x = 22; pixel_y = -10},/turf/simulated/floor,/area/engineering/engine_smes) +"cJp" = (/mob/living/simple_animal/mouse,/turf/simulated/floor/plating,/area/maintenance/engineering) "cJq" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/blast/regular{icon_state = "pdoor1"; id = "SupermatterPort"; layer = 3.3; name = "Reactor Blast Door"},/turf/simulated/floor/plating,/area/engineering/engine_room) "cJr" = (/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engineering/engine_room) "cJs" = (/obj/machinery/air_sensor{frequency = 1438; id_tag = "engine_sensor"; output = 63},/turf/simulated/floor/engine/nitrogen{icon_state = "warnplate"; name = "plating"},/area/engineering/engine_room) @@ -7251,13 +7251,13 @@ "cJw" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/engineering/engine_room) "cJx" = (/obj/machinery/atmospherics/pipe/simple/visible/green{dir = 9; icon_state = "intact"; tag = "icon-intact (SOUTHEAST)"},/turf/simulated/floor/plating,/area/engineering/engine_room) "cJy" = (/obj/machinery/atmospherics/pipe/simple/visible/green{tag = "icon-intact (SOUTHEAST)"; icon_state = "intact"; dir = 6},/turf/simulated/floor/plating,/area/engineering/engine_room) -"cJz" = (/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/obj/machinery/light_switch{pixel_x = -27; pixel_y = 0},/obj/machinery/airlock_sensor/airlock_exterior{id_tag = "eng_al_ext_snsr"; layer = 3.3; master_tag = "engine_room_airlock"; pixel_y = -22; req_access = list(10)},/obj/structure/table,/obj/item/weapon/book/manual/supermatter_engine,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor,/area/engineering/engine_airlock) -"cJA" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1380; id_tag = "engineering_dock_pump"},/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "engineering_dock_sensor"; pixel_x = -25; pixel_y = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 10},/area/maintenance/engi_shuttle) -"cJB" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/toolbox/electrical,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/camera/network/engineering{c_tag = "Engineering Drone Fabrication"; dir = 8},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) -"cJC" = (/obj/machinery/door/airlock/maintenance_hatch{name = "SMES Access"; req_access = list(11)},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor,/area/engineering/engine_monitoring) +"cJz" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/camera/network/engine{c_tag = "Engineering SMES"; dir = 8},/turf/simulated/floor,/area/engineering/engine_smes) +"cJA" = (/obj/structure/table/reinforced,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/camera/network/engine{c_tag = "Engine Monitoring Room"; dir = 4},/turf/simulated/floor,/area/engineering/engine_monitoring) +"cJB" = (/obj/structure/table/reinforced,/obj/machinery/door_control{desc = "A remote control-switch for the engine control room blast doors."; id = "EngineBlast"; name = "Engine Monitoring Room Blast Doors"; pixel_x = 0; pixel_y = -3; req_access = list(10)},/obj/machinery/door_control{desc = "A remote control-switch for the engine charging port."; id = "SupermatterPort"; name = "Reactor Blast Doors"; pixel_x = -6; pixel_y = 7; req_access = list(10)},/obj/machinery/door_control{desc = "A remote control-switch for the engine emitter."; id = "EngineEmitter"; name = "Engine Emitter"; normaldoorcontrol = 2; pixel_x = 6; pixel_y = 7; req_access = list(10)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/engineering/engine_monitoring) +"cJC" = (/turf/simulated/shuttle/wall{icon_state = "swall12"; dir = 2},/area/shuttle/constructionsite/station) "cJD" = (/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/maintenance/portsolar) "cJE" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/maintenance/portsolar) -"cJF" = (/obj/machinery/door/airlock/maintenance_hatch{frequency = 1379; icon_state = "door_closed"; id_tag = "engine_airlock_exterior"; locked = 0; name = "Engine Airlock Exterior"; req_access = list(10)},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/engineering/engine_airlock) +"cJF" = (/turf/simulated/shuttle/wall{icon_state = "swall_s6"; dir = 2},/area/shuttle/constructionsite/station) "cJG" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/maintenance/engi_engine) "cJH" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/engi_engine) "cJI" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/mob/living/simple_animal/mouse,/turf/simulated/floor/plating,/area/maintenance/engi_engine) @@ -7272,8 +7272,8 @@ "cJR" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless,/area/maintenance/portsolar) "cJS" = (/obj/machinery/power/solar_control{id = "portsolar"; name = "Aft Port Solar Control"; track = 0},/obj/structure/cable/yellow,/turf/simulated/floor/plating{dir = 4; icon_state = "warnplatecorner"},/area/maintenance/portsolar) "cJT" = (/turf/simulated/floor/plating,/area/maintenance/portsolar) -"cJU" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "engineering_dock_outer"; locked = 1; name = "Engineering Dock Airlock"; req_access = list(13)},/turf/simulated/floor/plating,/area/maintenance/engi_shuttle) -"cJV" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "engineering_dock_outer"; locked = 1; name = "Engineering Dock Airlock"; req_access = list(13)},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/engi_shuttle) +"cJU" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "engineering_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access = list(13)},/turf/simulated/floor/plating,/area/shuttle/constructionsite/station) +"cJV" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "engineering_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access = list(13)},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/shuttle/constructionsite/station) "cJW" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/maintenance/engi_engine) "cJX" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/maintenance/engi_engine) "cJY" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/floor/plating,/area/maintenance/engi_engine) @@ -7281,7 +7281,7 @@ "cKa" = (/obj/machinery/atmospherics/pipe/simple/visible/purple,/turf/simulated/floor/plating,/area/engineering/engine_room) "cKb" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/door/blast/regular{icon_state = "pdoor1"; id = "SupermatterPort"; layer = 3.3; name = "Reactor Blast Door"},/turf/simulated/floor/plating,/area/engineering/engine_room) "cKc" = (/turf/simulated/floor/engine/nitrogen,/area/engineering/engine_room) -"cKd" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "engineering_dock_airlock"; name = "exterior access button"; pixel_x = -25; pixel_y = -8; req_one_access = list(13,11,24)},/turf/space,/area/space) +"cKd" = (/turf/simulated/shuttle/wall{icon_state = "swall_s10"; dir = 2},/area/shuttle/constructionsite/station) "cKe" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/turf/simulated/floor/plating,/area/engineering/engine_room) "cKf" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/maintenance/portsolar) "cKg" = (/turf/simulated/wall,/area/maintenance/engi_engine) @@ -7292,9 +7292,9 @@ "cKl" = (/turf/space,/area/syndicate_station/southeast) "cKm" = (/obj/machinery/atmospherics/valve/digital{dir = 4; name = "Emergency Cooling Valve 2"},/turf/simulated/floor/plating,/area/engineering/engine_room) "cKn" = (/turf/space,/area/syndicate_station/south) -"cKo" = (/mob/living/simple_animal/mouse,/turf/simulated/floor/plating,/area/maintenance/engineering) -"cKp" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/camera/network/engine{c_tag = "Engineering SMES"; dir = 8},/turf/simulated/floor,/area/engineering/engine_smes) -"cKq" = (/obj/structure/table/reinforced,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/camera/network/engine{c_tag = "Engine Monitoring Room"; dir = 4},/turf/simulated/floor,/area/engineering/engine_monitoring) +"cKo" = (/obj/machinery/light/small,/obj/machinery/camera/network/engineering{c_tag = "Atmospherics Tank - Carbon Dioxide"; dir = 1},/turf/simulated/floor/engine{carbon_dioxide = 50000; name = "co2 floor"; nitrogen = 0; oxygen = 0},/area/engineering/atmos) +"cKp" = (/obj/machinery/light/small,/obj/machinery/camera/network/engineering{c_tag = "Atmospherics Tank - Phoron"; dir = 1},/turf/simulated/floor/engine{carbon_dioxide = 0; name = "phoron floor"; nitrogen = 0; oxygen = 0; phoron = 70000},/area/engineering/atmos) +"cKq" = (/obj/machinery/light/small,/obj/machinery/camera/network/engineering{c_tag = "Atmospherics Tank - Nitrous Oxide"; dir = 1},/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/engineering/atmos) "cKr" = (/obj/machinery/power/solar{id = "auxsolarnorth"; name = "Fore Solar Array"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/fore) "cKs" = (/obj/machinery/atmospherics/pipe/manifold/visible/yellow,/turf/simulated/floor/plating,/area/engineering/engine_room) "cKt" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/turf/simulated/floor/plating,/area/engineering/engine_room) @@ -7307,71 +7307,71 @@ "cKA" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/visible/green,/turf/space,/area/space) "cKB" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/visible/purple,/turf/space,/area/space) "cKC" = (/obj/effect/landmark{name = "carpspawn"},/obj/structure/grille{density = 0; icon_state = "brokengrille"},/obj/structure/lattice,/turf/space,/area/space) -"cKD" = (/obj/structure/table/reinforced,/obj/machinery/door_control{desc = "A remote control-switch for the engine control room blast doors."; id = "EngineBlast"; name = "Engine Monitoring Room Blast Doors"; pixel_x = 0; pixel_y = -3; req_access = list(10)},/obj/machinery/door_control{desc = "A remote control-switch for the engine charging port."; id = "SupermatterPort"; name = "Reactor Blast Doors"; pixel_x = -6; pixel_y = 7; req_access = list(10)},/obj/machinery/door_control{desc = "A remote control-switch for the engine emitter."; id = "EngineEmitter"; name = "Engine Emitter"; normaldoorcontrol = 2; pixel_x = 6; pixel_y = 7; req_access = list(10)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/engineering/engine_monitoring) -"cKE" = (/turf/simulated/shuttle/wall{icon_state = "swall12"; dir = 2},/area/shuttle/constructionsite/station) -"cKF" = (/turf/simulated/shuttle/wall{icon_state = "swall_s6"; dir = 2},/area/shuttle/constructionsite/station) -"cKG" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "engineering_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access = list(13)},/turf/simulated/floor/plating,/area/shuttle/constructionsite/station) -"cKH" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "engineering_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access = list(13)},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/shuttle/constructionsite/station) -"cKI" = (/turf/simulated/shuttle/wall{icon_state = "swall_s10"; dir = 2},/area/shuttle/constructionsite/station) -"cKJ" = (/obj/machinery/light/small,/obj/machinery/camera/network/engineering{c_tag = "Atmospherics Tank - Carbon Dioxide"; dir = 1},/turf/simulated/floor/engine{carbon_dioxide = 50000; name = "co2 floor"; nitrogen = 0; oxygen = 0},/area/engineering/atmos) -"cKK" = (/obj/machinery/light/small,/obj/machinery/camera/network/engineering{c_tag = "Atmospherics Tank - Phoron"; dir = 1},/turf/simulated/floor/engine{carbon_dioxide = 0; name = "phoron floor"; nitrogen = 0; oxygen = 0; phoron = 70000},/area/engineering/atmos) -"cKL" = (/obj/machinery/light/small,/obj/machinery/camera/network/engineering{c_tag = "Atmospherics Tank - Nitrous Oxide"; dir = 1},/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/engineering/atmos) -"cKM" = (/obj/machinery/camera/network/engineering{c_tag = "Atmospherics Tank - Gas Mixing"; dir = 1},/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/engineering/atmos) -"cKN" = (/obj/machinery/power/terminal{dir = 8},/obj/machinery/light,/obj/machinery/door_control{id = "engine_electrical_maintenance"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 5; pixel_y = -25; req_access = list(10); specialfunctions = 4},/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/engineering/engine_smes) -"cKO" = (/obj/machinery/computer/security/engineering,/turf/simulated/floor{icon_state = "warning"},/area/engineering/engine_monitoring) -"cKP" = (/turf/simulated/shuttle/wall,/area/shuttle/constructionsite/station) -"cKQ" = (/turf/simulated/shuttle/wall{tag = "icon-propulsion (EAST)"; icon_state = "propulsion"; dir = 4},/area/shuttle/constructionsite/station) -"cKR" = (/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/shuttle/constructionsite/station) -"cKS" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/shuttle/constructionsite/station) -"cKT" = (/obj/machinery/computer/station_alert,/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/shuttle/constructionsite/station) -"cKU" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "engineering_shuttle"; pixel_x = 0; pixel_y = 25; req_one_access = list(13,11,24); tag_door = "engineering_shuttle_hatch"},/obj/structure/bed/chair{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/shuttle/constructionsite/station) -"cKV" = (/turf/simulated/shuttle/wall{icon_state = "swall1"; dir = 2},/area/shuttle/constructionsite/station) -"cKW" = (/obj/machinery/door/airlock/maintenance{name = "Drone Fabrication/Engine Waste Handling"; req_one_access = list(10,24)},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/engineering/drone_fabrication) -"cKX" = (/obj/machinery/door/airlock/hatch{icon_state = "door_locked"; id_tag = "engine_electrical_maintenance"; locked = 1; name = "Electrical Maintenance"; req_access = list(10)},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/engineering/engine_room) -"cKY" = (/obj/machinery/door/airlock/maintenance_hatch{frequency = 1379; icon_state = "door_closed"; id_tag = "engine_airlock_interior"; locked = 0; name = "Engine Airlock Interior"; req_access = list(10)},/turf/simulated/floor/plating,/area/engineering/engine_room) -"cKZ" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/shuttle/constructionsite/station) -"cLa" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/shuttle/constructionsite/station) -"cLb" = (/obj/machinery/computer/shuttle_control/engineering,/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/shuttle/constructionsite/station) -"cLc" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/shuttle/constructionsite/station) -"cLd" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/shuttle/constructionsite/station) -"cLe" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/camera/network/engine{c_tag = "Engine Waste Handling"},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplatecorner"},/area/engineering/engine_waste) -"cLf" = (/obj/machinery/door_control{desc = "A remote control-switch for the engine control room blast doors."; id = "EngineEmitterPortWest"; name = "Engine Room Blast Doors"; pixel_x = 0; pixel_y = 25; req_access = list(10)},/obj/machinery/atmospherics/portables_connector{dir = 4},/turf/simulated/floor/plating{icon_state = "platebot"},/area/engineering/engine_room) -"cLg" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 10},/obj/machinery/alarm/nobreach{dir = 2; pixel_y = 22},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engineering/engine_room) -"cLh" = (/obj/machinery/airlock_sensor/airlock_interior{id_tag = "eng_al_int_snsr"; master_tag = "engine_room_airlock"; pixel_y = 22; req_access = list(10)},/obj/machinery/light{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/turf/simulated/floor/plating,/area/engineering/engine_room) -"cLi" = (/obj/structure/cable,/obj/machinery/power/terminal{dir = 8},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/shuttle/constructionsite/station) -"cLj" = (/obj/structure/cable,/obj/machinery/power/smes/buildable/power_shuttle,/turf/simulated/floor/plating,/area/shuttle/constructionsite/station) -"cLk" = (/obj/machinery/computer/atmos_alert,/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/shuttle/constructionsite/station) -"cLl" = (/turf/simulated/shuttle/wall{tag = "icon-swall2"; icon_state = "swall2"; dir = 2},/area/shuttle/constructionsite/station) -"cLm" = (/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/window/brigdoor{dir = 8; name = "Engine Waste"; req_one_access = list(10,24)},/obj/machinery/atmospherics/portables_connector,/turf/simulated/floor/plating{icon_state = "platebot"},/area/engineering/engine_waste) -"cLn" = (/turf/simulated/shuttle/wall{icon_state = "swall_s5"; dir = 2},/area/shuttle/constructionsite/station) -"cLo" = (/turf/simulated/shuttle/wall{icon_state = "swall_s9"; dir = 2},/area/shuttle/constructionsite/station) -"cLp" = (/obj/machinery/door/window/brigdoor{dir = 8; name = "Engine Waste"; req_one_access = list(10,24)},/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 9},/turf/simulated/floor/plating{icon_state = "platebot"},/area/engineering/engine_waste) -"cLq" = (/obj/machinery/door/window/brigdoor{dir = 8; name = "Engine Waste"; req_one_access = list(10,24)},/obj/structure/window/reinforced,/obj/machinery/atmospherics/binary/pump{dir = 8; name = "waste pump"},/turf/simulated/floor/plating{icon_state = "platebot"},/area/engineering/engine_waste) -"cLr" = (/obj/machinery/door_control{desc = "A remote control-switch for the engine control room blast doors."; id = "EngineBlast"; name = "Engine Monitoring Room Blast Doors"; pixel_x = 5; pixel_y = -25; req_access = list(10)},/obj/machinery/door_control{desc = "A remote control-switch for the engine charging port."; id = "SupermatterPort"; name = "Reactor Blast Doors"; pixel_x = -5; pixel_y = -25; req_access = list(10)},/obj/machinery/light,/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/engineering/engine_room) -"cLs" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/maintenance{name = "Engine Waste Handling"; req_one_access = list(10,24)},/turf/simulated/floor/plating,/area/maintenance/engi_engine) -"cLt" = (/obj/machinery/camera/network/engine{c_tag = "Engine Core West"; dir = 8},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engineering/engine_room) -"cLu" = (/obj/machinery/door/airlock/hatch{icon_state = "door_locked"; id_tag = "engine_access_hatch"; locked = 1; req_access = list(10)},/obj/machinery/atmospherics/pipe/simple/visible/cyan,/turf/simulated/floor/plating,/area/engineering/engine_room) -"cLv" = (/obj/machinery/door/airlock/hatch{icon_state = "door_locked"; id_tag = "engine_access_hatch"; locked = 1; req_access = list(10)},/obj/machinery/atmospherics/pipe/simple/visible/yellow,/turf/simulated/floor/plating,/area/engineering/engine_room) -"cLw" = (/obj/machinery/atmospherics/pipe/manifold/visible/yellow{dir = 8},/obj/machinery/meter,/obj/machinery/camera/network/engine{c_tag = "Engine Core East"; dir = 4},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/engineering/engine_room) -"cLx" = (/obj/machinery/door_control{desc = "A remote control-switch for the engine radiator viewport shutters."; id = "EngineRadiatorViewport"; name = "Engine Radiator Viewport Shutters"; pixel_x = 25; pixel_y = 0; req_access = list(10)},/obj/machinery/atmospherics/pipe/manifold/visible/purple{dir = 4},/obj/machinery/meter,/turf/simulated/floor/plating,/area/engineering/engine_room) -"cLy" = (/obj/machinery/door_control{id = "EngineVent"; name = "Reactor Ventillatory Control"; pixel_x = -25; pixel_y = 0; req_access = list(10)},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/engineering/engine_room) -"cLz" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "robotics_solar_outer"; locked = 1; name = "Engineering External Access"; req_access = list(10,13)},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/portsolar) -"cLA" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; layer = 3.3; master_tag = "robotics_solar_airlock"; name = "exterior access button"; pixel_x = 25; pixel_y = 25; req_access = list(13)},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating/airless,/area/solar/port) -"cLB" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "robotics_solar_inner"; locked = 1; name = "Engineering External Access"; req_access = list(13)},/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/portsolar) -"cLC" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1379; id_tag = "robotics_solar_pump"},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "robotics_solar_pump"; tag_exterior_door = "robotics_solar_outer"; frequency = 1379; id_tag = "robotics_solar_airlock"; tag_interior_door = "robotics_solar_inner"; layer = 3.3; pixel_x = 0; pixel_y = -25; req_access = list(13); tag_chamber_sensor = "robotics_solar_sensor"},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "robotics_solar_sensor"; layer = 3.3; pixel_x = 12; pixel_y = -25},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/decal/warning_stripes,/turf/simulated/floor/plating,/area/maintenance/portsolar) -"cLD" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; layer = 3.3; master_tag = "robotics_solar_airlock"; name = "interior access button"; pixel_x = -25; pixel_y = -25; req_access = list(13)},/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/maintenance/portsolar) -"cLE" = (/obj/machinery/door/airlock/engineering{name = "Aft Port Solar Access"; req_access = list(10)},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/portsolar) -"cLF" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable,/obj/machinery/camera/network/engineering{c_tag = "Solar Maintenance Aft Port"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/portsolar) -"cLG" = (/obj/structure/reagent_dispensers/fueltank,/obj/machinery/camera/network/engineering{c_tag = "Solar Maintenance Aft Port Access"; dir = 1},/turf/simulated/floor/plating{dir = 4; icon_state = "warnplatecorner"},/area/maintenance/engi_engine) -"cLH" = (/obj/machinery/camera/network/engine{c_tag = "Engine Core South"; dir = 1},/turf/simulated/floor/engine/nitrogen{dir = 8; icon_state = "warnplate"; name = "plating"},/area/engineering/engine_room) -"cLI" = (/turf/space,/area/skipjack_station/southwest_solars) -"cLJ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/plating,/area/maintenance/research_starboard) -"cLK" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/research_starboard) -"cLL" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/research_starboard) -"cLM" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/research_starboard) -"cLN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/research_starboard) -"cLO" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/plating,/area/maintenance/research_starboard) -"cLP" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/research_starboard) +"cKD" = (/obj/machinery/camera/network/engineering{c_tag = "Atmospherics Tank - Gas Mixing"; dir = 1},/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/engineering/atmos) +"cKE" = (/obj/machinery/power/terminal{dir = 8},/obj/machinery/light,/obj/machinery/door_control{id = "engine_electrical_maintenance"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 5; pixel_y = -25; req_access = list(10); specialfunctions = 4},/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/engineering/engine_smes) +"cKF" = (/obj/machinery/computer/security/engineering,/turf/simulated/floor{icon_state = "warning"},/area/engineering/engine_monitoring) +"cKG" = (/turf/simulated/shuttle/wall,/area/shuttle/constructionsite/station) +"cKH" = (/turf/simulated/shuttle/wall{tag = "icon-propulsion (EAST)"; icon_state = "propulsion"; dir = 4},/area/shuttle/constructionsite/station) +"cKI" = (/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/shuttle/constructionsite/station) +"cKJ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/shuttle/constructionsite/station) +"cKK" = (/obj/machinery/computer/station_alert,/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/shuttle/constructionsite/station) +"cKL" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "engineering_shuttle"; pixel_x = 0; pixel_y = 25; req_one_access = list(13,11,24); tag_door = "engineering_shuttle_hatch"},/obj/structure/bed/chair{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/shuttle/constructionsite/station) +"cKM" = (/turf/simulated/shuttle/wall{icon_state = "swall1"; dir = 2},/area/shuttle/constructionsite/station) +"cKN" = (/obj/machinery/door/airlock/maintenance{name = "Drone Fabrication/Engine Waste Handling"; req_one_access = list(10,24)},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/engineering/drone_fabrication) +"cKO" = (/obj/machinery/door/airlock/hatch{icon_state = "door_locked"; id_tag = "engine_electrical_maintenance"; locked = 1; name = "Electrical Maintenance"; req_access = list(10)},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/engineering/engine_room) +"cKP" = (/obj/machinery/door/airlock/maintenance_hatch{frequency = 1379; icon_state = "door_closed"; id_tag = "engine_airlock_interior"; locked = 0; name = "Engine Airlock Interior"; req_access = list(10)},/turf/simulated/floor/plating,/area/engineering/engine_room) +"cKQ" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/shuttle/constructionsite/station) +"cKR" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/shuttle/constructionsite/station) +"cKS" = (/obj/machinery/computer/shuttle_control/engineering,/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/shuttle/constructionsite/station) +"cKT" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/shuttle/constructionsite/station) +"cKU" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/shuttle/constructionsite/station) +"cKV" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/camera/network/engine{c_tag = "Engine Waste Handling"},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplatecorner"},/area/engineering/engine_waste) +"cKW" = (/obj/machinery/door_control{desc = "A remote control-switch for the engine control room blast doors."; id = "EngineEmitterPortWest"; name = "Engine Room Blast Doors"; pixel_x = 0; pixel_y = 25; req_access = list(10)},/obj/machinery/atmospherics/portables_connector{dir = 4},/turf/simulated/floor/plating{icon_state = "platebot"},/area/engineering/engine_room) +"cKX" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 10},/obj/machinery/alarm/nobreach{dir = 2; pixel_y = 22},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engineering/engine_room) +"cKY" = (/obj/machinery/airlock_sensor/airlock_interior{id_tag = "eng_al_int_snsr"; master_tag = "engine_room_airlock"; pixel_y = 22; req_access = list(10)},/obj/machinery/light{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/turf/simulated/floor/plating,/area/engineering/engine_room) +"cKZ" = (/obj/structure/cable,/obj/machinery/power/terminal{dir = 8},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/shuttle/constructionsite/station) +"cLa" = (/obj/structure/cable,/obj/machinery/power/smes/buildable/power_shuttle,/turf/simulated/floor/plating,/area/shuttle/constructionsite/station) +"cLb" = (/obj/machinery/computer/atmos_alert,/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/shuttle/constructionsite/station) +"cLc" = (/turf/simulated/shuttle/wall{tag = "icon-swall2"; icon_state = "swall2"; dir = 2},/area/shuttle/constructionsite/station) +"cLd" = (/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/window/brigdoor{dir = 8; name = "Engine Waste"; req_one_access = list(10,24)},/obj/machinery/atmospherics/portables_connector,/turf/simulated/floor/plating{icon_state = "platebot"},/area/engineering/engine_waste) +"cLe" = (/turf/simulated/shuttle/wall{icon_state = "swall_s5"; dir = 2},/area/shuttle/constructionsite/station) +"cLf" = (/turf/simulated/shuttle/wall{icon_state = "swall_s9"; dir = 2},/area/shuttle/constructionsite/station) +"cLg" = (/obj/machinery/door/window/brigdoor{dir = 8; name = "Engine Waste"; req_one_access = list(10,24)},/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 9},/turf/simulated/floor/plating{icon_state = "platebot"},/area/engineering/engine_waste) +"cLh" = (/obj/machinery/door/window/brigdoor{dir = 8; name = "Engine Waste"; req_one_access = list(10,24)},/obj/structure/window/reinforced,/obj/machinery/atmospherics/binary/pump{dir = 8; name = "waste pump"},/turf/simulated/floor/plating{icon_state = "platebot"},/area/engineering/engine_waste) +"cLi" = (/obj/machinery/door_control{desc = "A remote control-switch for the engine control room blast doors."; id = "EngineBlast"; name = "Engine Monitoring Room Blast Doors"; pixel_x = 5; pixel_y = -25; req_access = list(10)},/obj/machinery/door_control{desc = "A remote control-switch for the engine charging port."; id = "SupermatterPort"; name = "Reactor Blast Doors"; pixel_x = -5; pixel_y = -25; req_access = list(10)},/obj/machinery/light,/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/engineering/engine_room) +"cLj" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/maintenance{name = "Engine Waste Handling"; req_one_access = list(10,24)},/turf/simulated/floor/plating,/area/maintenance/engi_engine) +"cLk" = (/obj/machinery/camera/network/engine{c_tag = "Engine Core West"; dir = 8},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engineering/engine_room) +"cLl" = (/obj/machinery/door/airlock/hatch{icon_state = "door_locked"; id_tag = "engine_access_hatch"; locked = 1; req_access = list(10)},/obj/machinery/atmospherics/pipe/simple/visible/cyan,/turf/simulated/floor/plating,/area/engineering/engine_room) +"cLm" = (/obj/machinery/door/airlock/hatch{icon_state = "door_locked"; id_tag = "engine_access_hatch"; locked = 1; req_access = list(10)},/obj/machinery/atmospherics/pipe/simple/visible/yellow,/turf/simulated/floor/plating,/area/engineering/engine_room) +"cLn" = (/obj/machinery/atmospherics/pipe/manifold/visible/yellow{dir = 8},/obj/machinery/meter,/obj/machinery/camera/network/engine{c_tag = "Engine Core East"; dir = 4},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/engineering/engine_room) +"cLo" = (/obj/machinery/door_control{desc = "A remote control-switch for the engine radiator viewport shutters."; id = "EngineRadiatorViewport"; name = "Engine Radiator Viewport Shutters"; pixel_x = 25; pixel_y = 0; req_access = list(10)},/obj/machinery/atmospherics/pipe/manifold/visible/purple{dir = 4},/obj/machinery/meter,/turf/simulated/floor/plating,/area/engineering/engine_room) +"cLp" = (/obj/machinery/door_control{id = "EngineVent"; name = "Reactor Ventillatory Control"; pixel_x = -25; pixel_y = 0; req_access = list(10)},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/engineering/engine_room) +"cLq" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "robotics_solar_outer"; locked = 1; name = "Engineering External Access"; req_access = list(10,13)},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/portsolar) +"cLr" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; layer = 3.3; master_tag = "robotics_solar_airlock"; name = "exterior access button"; pixel_x = 25; pixel_y = 25; req_access = list(13)},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating/airless,/area/solar/port) +"cLs" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "robotics_solar_inner"; locked = 1; name = "Engineering External Access"; req_access = list(13)},/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/portsolar) +"cLt" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1379; id_tag = "robotics_solar_pump"},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "robotics_solar_pump"; tag_exterior_door = "robotics_solar_outer"; frequency = 1379; id_tag = "robotics_solar_airlock"; tag_interior_door = "robotics_solar_inner"; layer = 3.3; pixel_x = 0; pixel_y = -25; req_access = list(13); tag_chamber_sensor = "robotics_solar_sensor"},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "robotics_solar_sensor"; layer = 3.3; pixel_x = 12; pixel_y = -25},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/decal/warning_stripes,/turf/simulated/floor/plating,/area/maintenance/portsolar) +"cLu" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; layer = 3.3; master_tag = "robotics_solar_airlock"; name = "interior access button"; pixel_x = -25; pixel_y = -25; req_access = list(13)},/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/maintenance/portsolar) +"cLv" = (/obj/machinery/door/airlock/engineering{name = "Aft Port Solar Access"; req_access = list(10)},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/portsolar) +"cLw" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable,/obj/machinery/camera/network/engineering{c_tag = "Solar Maintenance Aft Port"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/portsolar) +"cLx" = (/obj/structure/reagent_dispensers/fueltank,/obj/machinery/camera/network/engineering{c_tag = "Solar Maintenance Aft Port Access"; dir = 1},/turf/simulated/floor/plating{dir = 4; icon_state = "warnplatecorner"},/area/maintenance/engi_engine) +"cLy" = (/obj/machinery/camera/network/engine{c_tag = "Engine Core South"; dir = 1},/turf/simulated/floor/engine/nitrogen{dir = 8; icon_state = "warnplate"; name = "plating"},/area/engineering/engine_room) +"cLz" = (/turf/space,/area/skipjack_station/southwest_solars) +"cLA" = (/obj/item/device/radio/intercom{broadcasting = 1; frequency = 1447; name = "Private AI Channel"; pixel_x = -5; pixel_y = 22},/obj/machinery/porta_turret,/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload) +"cLB" = (/obj/machinery/alarm{pixel_y = 23},/obj/machinery/light{dir = 1},/obj/machinery/porta_turret,/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload) +"cLC" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/maintenance/disposal) +"cLD" = (/obj/structure/table,/obj/item/weapon/deck{pixel_y = 4},/turf/simulated/floor/plating,/area/maintenance/disposal) +"cLE" = (/obj/machinery/camera/network/civilian_west{c_tag = "Waste Disposal"; dir = 8},/obj/item/ashtray/plastic{pixel_x = 5; pixel_y = -5},/obj/effect/decal/cleanable/ash,/obj/item/weapon/cigbutt/cigarbutt,/turf/simulated/floor/plating,/area/maintenance/disposal) +"cLF" = (/obj/machinery/door_control{id = "Disposal Exit"; name = "Disposal Vent Control"; pixel_x = -25; pixel_y = 4; req_access = list(12)},/obj/machinery/button/driver{id = "trash"; pixel_x = -26; pixel_y = -6},/obj/item/weapon/cigbutt,/obj/item/weapon/stool,/turf/simulated/floor/plating,/area/maintenance/disposal) +"cLG" = (/obj/item/weapon/cigbutt{pixel_x = -10; pixel_y = -10},/turf/simulated/floor/plating,/area/maintenance/disposal) +"cLH" = (/obj/machinery/conveyor{dir = 1; id = "garbage"},/obj/machinery/door/blast/regular{density = 1; icon_state = "pdoor1"; id = "Disposal Exit"; name = "Disposal Exit Vent"; opacity = 1},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/maintenance/disposal) +"cLI" = (/obj/machinery/door/airlock/maintenance{name = "Disposal Access"; req_access = list(12)},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/sign/nosmoking_1{pixel_y = 32},/turf/simulated/floor/plating,/area/maintenance/disposal) +"cLJ" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/binary/pump{dir = 1; name = "Heated to Waste"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/mixing) +"cLK" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "white"},/area/rnd/mixing) +"cLL" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/rnd/mixing) +"cLM" = (/obj/item/frame/light,/turf/simulated/floor/plating,/area/medical/genetics) +"cLN" = (/obj/item/frame/light,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor{icon_state = "floorgrime"},/area/medical/genetics) +"cLO" = (/obj/structure/window/basic{dir = 4},/obj/machinery/shower{dir = 1},/obj/machinery/door/window/northleft{name = "Shower"; req_access = list()},/obj/structure/curtain/open/shower/engineering,/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/sleep/engi_wash) +"cLP" = (/obj/structure/window/basic{dir = 8},/obj/machinery/shower{dir = 1},/obj/machinery/door/window/northright{name = "Shower"; req_access = list()},/obj/structure/curtain/open/shower/engineering,/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/sleep/engi_wash) (1,1,1) = {" aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -7469,12 +7469,12 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaafaaaaaaaafalkaaaaaaaaaaafaaaaaaaaaaaqaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaqzaqAaqBagDagWagWagWarvalRagWalWalWalWaqDaqEapkaqFaqGaqHaonaqIarwaqKaqLanyarMaqOaqPaqQaqRaqSanxaqUaqVarQamVanGaryaqYaqZarzarbarcardanGarearfapFaqtaqtapFargaoHarhariarCaoHaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafapIapIapIapIapIaafalJaafapIapIapIapIapIaafaaIaaaaaaaaaaaaabgaaaaigaigaigaigaigaigaigaigaigaigaigaigaigaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafanVanVanVanVanVaafalkaafanVanVanVanVanVaafaaIaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaqzarkaqBagDaobarHagWarmarOalKaogarPaoiaokarparqarrarsartaonarualWarZarSarxalLasnarAasBamzasOarEarFarGasWamjanGanGarIanGanGanGanGanGanGarJarKarLasaasaapFarNaoHaoHasXaoHaoHaaaaaaakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaafaaaaaaaaaalJaaaaaaaaaaafaaaaaaaaaaamaaaaaaaaaaaaaaaaaaaigaigaigaigaigaigaigaigaigaigaigaigaigaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaLasYaaLaaaaaaaaaaaaaaaaaaaaaaaIaafalzalyalyalyalyalAalkallaivaivaivaivagEaafaaIaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaqzataaqBagDarRapcatIarTarUatJapharWaloaonaonarYasFasyasMaonascalWasdasealmasgasharAasiasjaskarEaoHaoHaoHaoHaoHaslatXatQasoasoaspaspasqasrassastastasuasvasvaswasxauiaszaqsaaaaafaafaafaaaaaaaafaafaafaafaaaaaaaafaafaafaaaaaaaaaaaaaaIaafanTanTanTanTanTaafalJaafanTanTanTanTanTaafaaIaaaaaaaaaaaaaaaaaaaigaigaigaigaigaigaigaigaigaigaigaigaigaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafasAauoasAaaaaaaaaaaaaaaaaaaaaaaaIaafapJapJapJapJapJaafalkaafapJapJapJapJapJaafaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasCasbapbagDapUapMagWasDasEalKapOasPaoiasGasGasHasIaonasJaonasKalWasLatgauuathatiarAasQasRasSarEasTasUasUasVauvasVauYauSasZasZasZasZasZasZasZasZasZasmavbatbatcaoKatdateatfaaaaafatPatratjatjatjatjavCatjatjatjatjatUaafaaaaaaaaaaaaaamaafanianjanjanjanjanualJansanqanqanqanqanwaafaaIaaaaaaaaaaaaaaaaaaaaaaaaaigaigaigaigaigaigaigaigaigaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatkatlatmaaaatnatoatpaaaaafatqatWatqaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaafaaaaaaaaaalkaaaaaaaaaaafaaaaaaaaaaamaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaanXatsattagDagDagDagWagWagWagWalWalWalWalWalWatuaonaoratvaqEatwalWalWalWatxatxatxarAatyatzatAarEatBasZasZasZasZatCatDatEatFatGatHavFavRatKatLatMatNatOatPatPatPatPatPatPatPatPatPatPatRatRatRatRatRatRatRatRatRatRaumaafaaaaaaaaaaaaaamaaaapIapIapIapIapIaafalJaafapIapIapIapIapIaaaaaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaigaigaigaigaigaigaigaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatSatTavTatTatSatVavUatVatSaafatqavYatYaaaaaaaaaaaaaaaaaaaaaaaIaafanVanVanVanVanVaafalkaafanVanVanVanVanVaafaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafatZauaanYaubaucanXaafaafalWaudaueaufaugauhawiaonapnaonasJaqEaujaukaulawkaunauKauparAauqaurausarEatBasZauLawnauMatCauxauyatFatGauzauAauBauCauDatMatNauEauFauGauHauIauHauJauwauOauPaxsatRatRatRatRatRatRatRatRatRatRavcaafaaaaaaaaaaaaaamaaaaafaaaaafaafaaaaaabepaaaaaaaafaaaaaaaafaaaaaIaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauNatTavmatTauNatVavyatVauNauQauRawoauTauUauUauVauQauQaafaaaaaIaafalzalyalyalyalyalAalkallaivaivaivaivagEaafaaIaaaaaaaaaaaaaaaaaaaaaaaaanXanXanXauWanXanXapbaucanXaaaaaaalWauXalWawvauZavaalWawMavzaonavdaveaveavfavgaveavhaviavjarAavkauravlarEatBasZavAavoavJatCawravqatFatGauzauAavravsavtatMatNavuavvauGauHauHauHauJavwavQawfavVatRatRatRatRatRatRatRatRatRatRavcaafaaaaaaaaaaaaaamaamaaIaaaaaaaafaaaaaaabpaaaaafaafaafaafaaIaaIaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauNavBawRavDauNavEaxdavGauNavHavIaxuavKavLavMavNavOauQaaaaaaaaqaaaapJapJapJapJapJaafbeSaafapJapJapJapJapJaaaaaIaaaaaaaaaaaaaaaaaaaaaaaaaxwaxyavSaxCaxAaxOavWavXanXaaaaaaalWalWalWayqavZawaalWawbawcawdaweawpawgaukawhawxautawyawlarAawmaurayzarEatBasZawzawUawYaxaaxbawZatFatFatFawsawtawuatFatFatNayNawwauGauHauHauHauJawAavxawfaykatRatRatRatRatRatRatRatRatRatRavcaafaaaaaaaaaaaaaaaaaaaafaafaaaaafaaaaaaayOaaaaaaaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauNawGawHawIauNawGawHawIauNawJavHavHavHavHavHavHavHasAaaaaaaaaIaaaaafaaaaafaafaaaaaaaySaaaaaaaafaaaaaaaafaaaaaIaafaaaaaaaafaafaaaaaaaafawPaxyawQazgaxAawSaucawTanXaafaaLcqTatxatxatxatxatxatxatxatxatxatxatxatxatxatxatxatxatxatxarAawVaurawWarEatBasZawBaxjawCatCaxVavnazpaxcaxfaxeaxhaxgaxhaxiaxkaxlaxmaxnaxoaxoaxoaxnaxmavxawEawDatRatRatRatRatRatRatRatRatRatRavcaafaaaaaaaaaaaaaaaaaaaaaaafaafaafaaaazoazBazoaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafasAauoasAaaaaaaaaaaaaaaaaaaaaaaaIaafapJapJapJapJapJaafalkaafapJapJapJapJapJaafaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasCasbapbagDapUapMagWasDasEalKapOasPaoiasGasGasHasIaonasJaonasKalWasLatgauuathatiarAasQasRasSarEasTasUasUasVauvasVavbauSasZasZasZasZasZasZasZasZasZasmavCatbatcaoKatdateatfaaaaafatPatratjatjatjatjavFatjatjatjatjatUaafaaaaaaaaaaaaaamaafanianjanjanjanjanualJansanqanqanqanqanwaafaaIaaaaaaaaaaaaaaaaaaaaaaaaaigaigaigaigaigaigaigaigaigaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatkatlatmaaaatnatoatpaaaaafatqatWatqaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaafaaaaaaaaaalkaaaaaaaaaaafaaaaaaaaaaamaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaanXatsattagDagDagDagWagWagWagWalWalWalWalWalWatuaonaoratvaqEatwalWalWalWatxatxatxarAatyatzatAarEatBasZasZasZasZatCatDatEatFatGatHavRavTatKatLatMatNatOatPatPatPatPatPatPatPatPatPatPatRatRatRatRatRatRatRatRatRatRaumaafaaaaaaaaaaaaaamaaaapIapIapIapIapIaafalJaafapIapIapIapIapIaaaaaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaigaigaigaigaigaigaigaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatSatTavUatTatSatVawiatVatSaafatqawkatYaaaaaaaaaaaaaaaaaaaaaaaIaafanVanVanVanVanVaafalkaafanVanVanVanVanVaafaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafatZauaanYaubaucanXaafaafalWaudaueaufaugauhawnaonapnaonasJaqEaujaukaulawoaunauKauparAauqaurausarEatBasZauLawvauMatCauxauyatFatGauzauAauBauCauDatMatNauEauFauGauHauIauHauJauwauOauPaxsatRatRatRatRatRatRatRatRatRatRavcaafaaaaaaaaaaaaaamaaaaafaaaaafaafaaaaaabepaaaaaaaafaaaaaaaafaaaaaIaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauNatTavmatTauNatVavyatVauNauQauRawMauTauUauUauVauQauQaafaaaaaIaafalzalyalyalyalyalAalkallaivaivaivaivagEaafaaIaaaaaaaaaaaaaaaaaaaaaaaaanXanXanXauWanXanXapbaucanXaaaaaaalWauXalWayqauZavaalWawRavzaonavdaveaveavfavgaveavhaviavjarAavkauravlarEatBasZavAavoavJatCawravqatFatGauzauAavravsavtatMatNavuavvauGauHauHauHauJavwavQawfavVatRatRatRatRatRatRatRatRatRatRavcaafaaaaaaaaaaaaaamaamaaIaaaaaaaafaaaaaaabpaaaaafaafaafaafaaIaaIaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauNavBaxdavDauNavEaxuavGauNavHavIaxwavKavLavMavNavOauQaaaaaaaaqaaaapJapJapJapJapJaafbeSaafapJapJapJapJapJaaaaaIaaaaaaaaaaaaaaaaaaaaaaaaavYaxAavSaxOaxCaxyavWavXanXaaaaaaalWalWalWauYavZawaalWawbawcawdaweawpawgaukawhawxautawyawlarAawmaurayzarEatBasZawzawUawYaxaaxbawZatFatFatFawsawtawuatFatFatNayNawwauGauHauHauHauJawAavxawfaykatRatRatRatRatRatRatRatRatRatRavcaafaaaaaaaaaaaaaaaaaaaafaafaaaaafaaaaaaayOaaaaaaaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauNawGawHawIauNawGawHawIauNawJavHavHavHavHavHavHavHasAaaaaaaaaIaaaaafaaaaafaafaaaaaaaySaaaaaaaafaaaaaaaafaaaaaIaafaaaaaaaafaafaaaaaaaafawPaxAawQazgaxCawSaucawTanXaafaaLcqTatxatxatxatxatxatxatxatxatxatxatxatxatxatxatxatxatxatxarAawVaurawWarEatBasZawBaxjawCatCaxVavnazpaxcaxfaxeaxhaxgaxhaxiaxkaxlaxmaxnaxoaxoaxoaxnaxmavxawEawDatRatRatRatRatRatRatRatRatRatRavcaafaaaaaaaaaaaaaaaaaaaaaaafaafaafaaaazoazBazoaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaatSauNazFaxxatSauNazUaxxatSauNaAbauNauNauNauNauNavHatqaaaaaaaaIaaIaaIaaaaaaaafaaaaxBaAraxBaafaafaafaafaaIaaIaaIaafanXanXanXanXaxDaxEaxEaxFanXanXanXanXaxGaucaucanXaxHaxIanXanXaxJaxKaxLaxMaxMaxMaxMaxMaxMaxMaxMaxNaxMaxMaxMaxMaxMaAvaxPaxQaxRaAvavpasZaxSawjcfSatCaxVaxXaxXaxXaxZaxYayaawLaxXavqaydayeayfaygayhayhayhayhawXavxawEawDatRatRatRatRatRatRatRatRatRatRavcaafaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaAuaAHaAuaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaynayoaypayoaBaayoayrayoaysaytayvayvayvayvaywauNawNatqaaaaafaafaaaaaaaaaaaaaafaaaayyaBcayAaafaaaaafaaaaaaaaaaaaaaaanXayBayCayDayCayCayCayCayEayCayCayFayGayDayHayIaxMaxMaxMaxMaxMaxMayJayKayLayLayLayLayMayLayLaBkayLayMayLayLayLarAaBwayPayQarEaAiasZcfSaycaxUatCayUayTayWaxpayYayXayYaxqayTazaazbazcazdazeazdazdazfaxraBEaxtaxTaxvatRatRatRatRatRatRatRatRatRatRavcaafaaaaaaaaaaaaaaaaaaaaaaaaaafaafaBuaBvaBOaBxaByaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazqazrazsaztazuazvazwazxazyazwazzazAazwazwaBQauNavHauRaafaafaaaaaaaaaaaaaaaaafazDazEaCeazGazHaaaaafaaaaaaaaaaaaaaaanXazIanXazJazKazLazLazLazMazLazLazLazNazJazOazPazPazPazPazPazPazPazQazRayLazSazTaCiazVazWazXazYazZaAaaCtazTaAcarAaAdayPayQarEaAiasZaybaAeauMatCaxWaxXaxXaxXaxXayiayjaAlaAmaAnaxkaAoaylaApaApaApaAqayVatPayZatPatPatRatRatRatRatRatRatRatRatRatRavcaafaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaCvaCwaCDaCyaCvaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -7495,81 +7495,81 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaT aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaVfcmVaXzaXIaDPaVsaVsaVtaVsaVsaVsaVDaVsaVsaVtaVsaVsaYEaWYaVuaVvaKdaKdaKdaKdaKdaVwaVxaVyaXNaIAaTQaTQaVAaTSaVBaTUaTUaTUaTUaTUaTYaVCaTUaTUaTUaUdaUeclraVEaVFaUeaUiaVGaVHaKeaKcaVKaUmaXXaVMaVNaVOaVPaVQaMkaSzaKOaUoaaaaaaaaaaaaaUpaUpaUpaUpaVRaSlaVTaXEaVVaSDaVXaXFaVZaSOaWbaUpaUpaUpaUpaaaaaaaaaaaaaUAaSNaRqaRpaWcaSSaSPaWeaTkaSSaTsaUWaWiaVSaWkaVWaWmaWnaQbaYqaWpaWqaWraWsaWtaWtaWuaWvaYwaWaaWyaWdaWAaWBaWCaWDaWEaTeaJRaIgaThaONaRLaRMaONaONaONaYxaWGaONaWHaGGaWIaWJaToaToaToaTqaIoaYsaGGaWfaVoaLuaWQaVoaWRaWSaWTaWTaWUaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTGaGgaTHaGiaBIaBIaBIaWVaWWaWWaWWaWWaWWaWWaWWaWXaBIaBLcpSaWZaIAaXcaXbaXbaXbaYraXdaIAaIAaIAaIAaTQaXeaXfaTSaXgaTUaTUaWgaXiaXjaXkaWgaTUaTUaTUaYyaUeaXmaYAaXoaUeaUiaVGaXpaKfaXraXsaUmaXtaVPaXuaXvaXwaXxaMkaSzaKOaMmaSCaMbaXyaUpaUpaVYaXAaYVaXCaXDaXDaXEaXFaXGaXEaXFaXDaXDaXHaZnaXJaXBaUpaUpaXyaJlaXLaXMaSNaRqaRpaJlbanaSPaXOaTkaSSaXPaXQaSSaWhaXSaTkaSSaXTaOtaXUaXVaUQaXWbaCaXYaXZaYaaYbaYcaYdaYeaWjaYgaWBaYhaWDaYiaTeaJRaIgaYjaYjaRLaRMaWlaONaONaYlaONaWzaWxaGGaIoaXRaXhaToaYfaYkaZXaWLbaOaYmaWOaZcaVoaYvbaNbaWbaPaYzbaYaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDbbfaaaaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaafaYCaYDcpKaYFaWPaYHaYHaYIaYJaYKaYLaYMaYNaYOaYPaYQaYRaYSaTSaYTaTUaTUaWgaXjaYUbbTaWgaTUaTUaYWaUdaUeaUeaUeaUeaUeaUiaVGaVGaVGaVGaVGaUmaYYaXvaYZaXvaXvaXxaMkaSzaKOaNSaNSaZaaZbaWNaUpaZdaYnaZfaZgaZfaZfaZfaZfaZhaZfaZfaZfaZfaZfaZfaYoaZjaUpaWMaZbaZlaZmbbhaSNaRqaRpaWcaSSaSSaSSaSSaSSaXPaZoaSSaWhaZpaTkaSSaXTaOtaZqaXVaUQaZraZsaZtaZuaYaaYpaZwaYdaYeaWjaYgaWBaYhaZxaZyaZzbbDaZzaZzaZzaZBaZCaZDaYtaOOaZFaZGaZHaZIaGGaZJaYXaYGaToaZeaYGaIoaIoaXaaZiaVoaYuaVoaZNaZOaZPaZQaWTaZRaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaZSaZTaZUbjnaZWaSFaZYaZkbaaaZvbacbadbaebafaYObagbahbaibajaTSbakbalbambbLbaobapbaqbarbarbarbasbataTSbaubavbawbaxaKgbajbnZaKhbajaaaaUmbaDbaEbaFbaGbaHbaIaMkbaJbaKaMkbaLbaMbbPbcybbQbaQbaRbaQbaSbaTbaUbaVbbRbaXbbSbaZbbabbbbbcbaQbbdbbebbWbeobcabbibbjbbkbblbbmbbnaJlaUDaSPbboaTkaSSaZAaZEbbraZKaXOaTkaSSaXTbbtaULaXVbbubbvbbwaUQaUQaYabbxbbybbzbbAbbBaYgaWBbbCaWDbcuaZzaZLbbFbbFbbGbbHbbIaRLaRLaRLaRLaRLaRLaRLaGGbbJaXRaXhaToaYfaXhaIobbKaGGbcPaVoaYuaVoaZNbbMbbNbbOaafbcTaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBbdKbdtbeabdQbbUaSFbaabaabaabaabaabbVbaabeeaYObbXbbYbaibbZbbZbbZbbZbekbbZbcbaTUbccbcdbcebcebcfbcgaTSaXebchbcibcjaKibeBblcaKkbcobcobcpbcpbcpbcpbcpbcqaMbbcrbcsbctbeMbcvbcwbcxbbgaUpbczbcAbcBbaBaUpaUpaUpaUpaUpbcDaUpaUpaUpbcCbcFbcGbczaUpbbgbcxbcHbcIbcJbcKbcLaRpaWcaSSaSSaSSaSSaSSaGpbcMaSSbcNaSSbcObcObcObcObeNbcQbcRbcSaUQaUQaUQbeRbcUaTeaZMbcWbcXaYgaWBaYhaWDbcYaZzaZZbdabdbbdcbddbdebddbddbddbddbddbdfbdgbdhbdibdjbdkbdlbdmbdnbdobdpbdqbdraVoaYubdsaZNaVobeVbbOaafaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaZSaZTaZUbjnaZWaSFaZYaZkbaaaZvbacbadbaebafaYObagbahbaibajaTSbakbalbambbLbaobapbaqbarbarbarbasbataTSbaubavbawbaxaKgbajbnZaKhbajaaaaUmbaDbaEbaFbaGbaHbaIaMkbaJbaKaMkbaLbaMbbPbcybbQbaQbaRbaQbaSbaTbaUbaVbbRbaXbbSbaZbbabbbbbcbaQbbdbbebcabeobcubbibbjbbkbblbbmbbnaJlaUDaSPbboaTkaSSaZAaZEbbraZKaXOaTkaSSaXTbbtaULaXVbbubbvbbwaUQaUQaYabbxbbybbzbbAbbBaYgaWBbbCaWDbcPaZzaZLbbFbbFbbGbbHbbIaRLaRLaRLaRLaRLaRLaRLaGGbbJaXRaXhaToaYfaXhaIobbKaGGbcTaVoaYuaVoaZNbbMbbNbbOaafbdtaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBbdQbdKbeebeabbUaSFbaabaabaabaabaabbVbaabnUaYObbXbbYbaibbZbbZbbZbbZbekbbZbcbaTUbccbcdbcebcebcfbcgaTSaXebchbcibcjaKibeBblcaKkbcobcobcpbcpbcpbcpbcpbcqaMbbcrbcsbctbeMbcvbcwbcxbbgaUpbczbcAbcBbaBaUpaUpaUpaUpaUpbcDaUpaUpaUpbcCbcFbcGbczaUpbbgbcxbcHbcIbcJbcKbcLaRpaWcaSSaSSaSSaSSaSSaGpbcMaSSbcNaSSbcObcObcObcObeNbcQbcRbcSaUQaUQaUQbeRbcUaTeaZMbcWbcXaYgaWBaYhaWDbcYaZzaZZbdabdbbdcbddbdebddbddbddbddbddbdfbdgbdhbdibdjbdkbdlbdmbdnbdobdpbdqbdraVoaYubdsaZNaVobeVbbOaafaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBbdubdvaZUbdwbdxaSFaYHbabbaaaZvbdzbbVbaabdAaYObbpbdCbaibbZbdDbdEbdFbdGbbZbdHbdIbdJaTSbeWbdLbdMbdNaTSaXebdObdPbdPbfqbdPbdPbdPbdPbdRbdSbdSbdSbdTbdSbdUaMbbdVbdWbdXbdYbdYbdYbdYbdYbdYbdZbfxbdZbdYbebbebbebbebbebbecbebbebbebbedbedbfybedaUpaUpaUpaJiaJiaJibcKbcLaRpaJlbefbegaDmbehaSSbeibcMbejbfWbelbcObcObembenaZzaZzaZzbguaSGaSGaSGaZzaZzaZzbeqberbesbetaWBaYhaYhbeuaZzbevbewbbqaZzbeybbsbeAaYtbgMbbEbeDbcmaONaGGaIobeFbeGbeHbeFbeIaIoaIoaGGbeJaVoaYuaVoaZNbeKbeLbbOaafbgXaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBbhebeObePbeQbhCaRtaYHbeTbeUbhJbdzbbVbhLbhKaYObeXbeYbaibbZbbZbbZbeZbfabbZbfbbdIbfcaTSbeWbdLbdMbfdaTSaXebdObdPbfebffbfgbfgbfhbdPbfibcVbfkbflbfmbfmbfmaMbaMkbcsbctbdYbfnbfobfpbhNbfrbfsbftbfubdYbebbfvbfwaSEbcZbfzbfAbdybebbedbfCbfDbfEbfFbfGbfHbfIbfJaJibfKbfLbfMaJlaZzaZzaZzaZzbfNbfObfPbfQaZzaZzbfRaZzaZzaZzaZzbfSbfTbfUbfVbfVbfVbhRbfXaZzbfYbfZbgabgbbgcbgcbgcbgdaZzbevbewbdBaZzaZzaZzaZzaZzaZzaZzaZzaZzaZzaZzbgfbggbghbgibgjbgfbggaZzaRZbgkaVoaYuaVoaZNaZObglbgmaWTaZRaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaabgnbgobgpbgqaZUbgrbgrbgrbgrbgrbgrbgsbgtbgraYOaYOaYOaYOaYObhSaYOaYOaYObgvbgvbgwbbZbdDbgxbeZbgybbZbgzbgAbgzaTSbeWbdLbdMbfdaTSaXebdObdPbgBbgCbgDbfgbgDbdPbfibgEbgFbgGbgHbgIbgJaMbbgKbgLbctbhTbgNbgObgPbexbexbgRbgSbgTbdYbebbgUbgVbgWbhUbfvbgYbezbebbedbhabhbbhcbeCbhVbeEbhgbhhaJibhibhjaRpbhkbhlbhmbewbewbhnbewbhobewbewbewbewbhpbewbewbewbewbhqbewbewbewbewbewbewbhmbewbewbhrbhsbhsbhtbhsbhsbhubhvbewbhqbhwbhxbhpbewbhybewbewbewbhzbhAbhBbhWbewbhDbewbhEbewbewbhFbhGbhHaVoaYuaVobhIbhXbiqbidbhMbitaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaabhObhObhObhObhObhObhObhObhObhOaaaaafbhPaYDbhQbjubjqbjwbjvbjCbjBbjwbjGbjQbjObjVbhYbhZbgwbbZbbZbbZbiabfabbZaTSaTSaTSaTSbeWbibbicbjYaTSbiebifbdPbigbihbiibgDbijbdPbfibikbgFbgGbgGbgGbilaMbbimaSzbctbjZbiobipbfjbirbisbfBbiubivbdYbebbiwbixbiybiybiybgYbgebebbedbiAbiBbiCbgQbiEbgZbiGbiHaJibiIbiJbiKbiLbiMbiNbiObiObiPbiQbiRbiSbiSbiSbiTbiSbiSbiSbiSbiSbiUbiVbiVbiVbiWbiObiObiNbiObiObiXbiVbiVbiYbiSbiZbjabjbbiSbjcbiObiObiObiObiObiObiObiObiObiObiObiObiObjdbiTbjebiSbjfbjgbjhbjibjibjjbjkaZNaWRbjlaWTaWTaWUaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaabhObhObhObhObhObhObhObhObhObhObhOaZSaZTbjmbjnbjobgrbjpbjpbkkbjpbjpbjpbjrbajbajbajbajbaibbZbdDbjsbjtbgybbZaaaaaaaaaaTSaTSaTSaTSbkxaTSbjxbdObdPbjybjzbgDbjAbkAbdPbfibfmbkHbgGbgGbgGbjDaMbbjEaSzbctbkKbkLbgObhdbjIbjJbhfbjLbjMbdYbjNbkMbjPbiybkNbiybgVbkPbjSbedbjTbjUbizbjWbjWbjWbjXbkVaJibkXbkabkbbkcbkdbkebbFbkfbkgbkhbkibkjbkYbklbkmbknbknbkobewbewbewbewbewbkpbkqbkrbewbksbktbkubkvbewbkpbkwbkZbkybhFbewbewbkzbewbewblBbkBbewbkpbewbewbewbewbewbewbewbewbewbhqbewbewbhFbkCbkDbkEbkFbkGblCbkIbkJaafaaaaafaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaabhObhObhObhObhObhObhObhObhObhObhOblTblEbmlbmdbkObgrbmxbkQbkRbkRbkSbkTbkUbmEbmFbmFbmNbmHbbZbbZbbZbeZbmUbbZbajbajbajbajblaaXeaXeblbblcbldbleblfblgblhblibljblkbdPbllbfmblmbgGblnbgGbloblpblqaSzbctbdYblrblsbltblublvblwblxblybdYbebblzblAbnbbmVblDblAbiDbebbedbedblFblGblHblIbiCblJblKaJiblLblMblNaJiblOblOblOblOblOblOaZzaZzblPblQbZNcdMblQblPaZzaZzaZzaZzaZzaZzaZzaZzaZzaZzbnsaZzaZzaZzaZzaZzaZzbnwaZzbewbewblVblWbiFblOblOblOblOblOblXblYblYblZblYbewblYblZbmablYbmbblObmcbmcbmcbnNaRZbmeaRZaRZaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaabhObhObhObhObhObhObhObhObhObhObhObdubdvbjmbjnbmfbgrbmgbjpbmhbmibjpbjpbjpbnPbmjbmkbmkbnRbbZbdDbmmbeZbmnbbZbmobmpbmqbmrbmsbmtbmtbmubmtbmtbmvbdPbmwbnSbfgbmybmzblfbmAbfmbmBbgGbgGbjHbmDbnUblqaSzbnVbmGbmGbmGbmGbmGbmGbmGbnWbdYbdYbebbmIbmJbmKbmLbmKbmMbjKbebbedbedbmObnXbmQbmRbiCbiGbmSaJibcKaRqaRpaJibmTboibolbmWbmXbmYbmZbnabopbjRbndbnebjRboKbmCbnhbnibnjbmPboWbnmbnnbnobnpbnqbnrbpobntbntbnubYfaVJblOblObpsblObZMbZMblObnzbnAbnBblObZtbpwbZtblOblXblYbmbblObZnbpBbZnblObnGbnHbnIbnJbnKbnLbnMaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaabhObhObhObhObhObhObhObhObhObhOaaabpLbnObpMbeQbnQbgrbpPbpNbpSbnTbqcbpTbjpbqgbqsbnYbnZbnRbbZbbZbbZbbZbbZbbZboabobbocbodboebdPbdPbdPbdPbdPbdPbdPbWqbdPbdPbdPbogbdPbohbqtbojbgGbgGbgGbokblpblqaSzbqxbmGbombonbncbcEbvGbotbosbotaafbebboubovbowboxboybozbnfbebaafbedboBboCboDboEbiCbiGboFaJiboGboHaRpbXHboJbngboLboMbnkbqyboPboQboRboRboSboTboUboUboVbnlboXboYboZbpabpbbnnbpcbpdbpebpfbpgbphbpfbpibYfaVJbpjbpkbplbpmbpnbnybppbnCbnDbpqbqBbptboobqKblOaZzbqQbpxblObpyboqbpAbrcbpCbpDbnIbpEbpFbpGbnMaaaaaaaaaaacaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaaaaaaaaaaaabgnbgobgpbgqbdvbpHbpHbpHbpIbpHbpJaZVbpKbrkbgrbrubjpbrwbrvbpQbpRbrybrxbrCbrCbrCbrDbkWbpUbkWbkWbkWbkWbpVbpWbpWbpXbpYbdPbpZbqabqbbrIbqdbqebqfbrPbqhbqibqjbqkbmAbqlbojbgGbgGbqmbfmaMbblqbqnbqoaJubqqbqrbqrbxqborbshbxsbotaafbebbebbebbebbsjbebbebbebbebaafbedbqzboCbqAbslbqCbqDbqEaJibqFaRqaRpaJibqGbqHbqIbqJaJDbqLboPbqNboUboUboUboUboUboUbqObqPbsnboYbqRbqSboNbnnbqUbqVbqWbsobpgbphbpfbqXbYfaVJbpjbqYbqZbqZbrabrbbsqbrdbrdbrdbrebrdbrfboObrhbribrjbsrbnIbrlbpCbrmbrnbrobsvbnIbrqbpFbrrbnMaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaaaaaaaaaaabrsbrtbsybsHbsBbthbthbtlbrzbrAbgrbtkbtmbtBbtvbjpbjpbjpbajbrEbrFbrGbrHbrGbrGbrGbrHbrGbajbajbdPbdPbdPbtIbdPbrJbrJbrJbrJbrJbrJbqfbrKbrLbrMbrNbrObtKbrQbrRbrSbrTbrUbrVbrWbrXbrYbrZaHBbsbbqvbsabsebscbotbosbotaafbsibtObskbtTbsmbtXbskbuibsiaafbedbspbuobspbedbedbedbuxaJibssaRqaRpbXHboJbngbstbsubuTbqLbswbqNbsxbuUbszbsAbuYbsCbqObsDbnibsEbsFbsGbuZbnnbsIbqVbpebpfbpgbphbpfbpibYfaVJbpjbsJbsKbsLbsMbplbsNbsObsPbsQbsRbsSbsTbsUbrhbsVbsWbsXbnIbsYbsZbtabtbbtcbtdbnIbrqbpFbtebnMaaaaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaaaaacaaaaaaaaaaaaaaaaaaaaabrsbtfbtgbvabtibtibtibtjbtibtibgrbvqbvjboAbvCbjpaaaaaaaaaaafaafbtnbtnbtnbtnbtnbtnbtnaaaaaabtobtpbtqbtrbtsbrJbrJbrJbrJbrJbrJbttbtubvEbtwbtxbtybtzbtAbfmbfmbvFbfmbfmbtCbtDbtEbtFbmGbtHbmGbmGbmGbmGbmGbvIbmGaafbtJbvObtLbtMbtNbtMbtLbvZbtPaafbspbtQbtRbtSbwcbtUbspbtVaJlbtWbbmbwgaJibtYboibtZbuabubbucbudbuebufbwlbuhbwnbprbukbulbumbnibnnbunbpubupbnnbuqburbusbutbuubuubuvbuwbYfaXqbpjbwxbplbplbsMbuybuzbuAbpvbuCbuDbuEbuFbuGbrhbuHbuIbuJbnIbuKbuLbuMbtbbpCbuNbnIbpEbpFbuObnMaaaaaaaaaaaacHOaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwZbeObxmbxmbuVbpHbuWbgnbgobuXbuWbgrbxpbjpbxvbvbbjpaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnaaaaaabvcbvdbrJbvebvfbvfbvfbvfbvfbvgbvhbvfbvibxzbvkbvlbvmbvnbvobfmbvpbgGbxDbpzbvsbvtbvubvvbmGbmGbmGbvxbvybvzbvAbvBbvwaafbpObxHbvHbvJbvKbvMbvNbxIbpOaafbspbqMbvQbxnbedbvRbspbvSaJlbvTbcLbvUaJibvVbvWbvXbvYbxObucbyobxTbyKbwdbwebwebwfbyMcdWcdVbwjbwkbyObwmbwkbwkbwkbwkbyQbwkbwkaXKaXKaXKaXKaVJbpjbsJbsKbsLbwobwpbwqbwrbwsbwsbwsbsSbwtbqTbwvbwwbyUbwybnIbwzbwAbwBbwCbpCbwDbnIbwEbwFbnMbnMaaaaaaaaaaaaaafbuPbuQbuRbuQbuRbuQbuSaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbwMbwNbwObwPbrJbwQbrJbwRbwRbwRbwSbwTbrKbrJbrJbrLbwUbwVbwWbwXbrpbzrbxabgGbgGbugbxcbvtbvubxdbxebxfbzHbujbxibxjbxkbxlbvwaafbxrbzNbzJbzObyLbxobzPbzVbxraafbspbqwbAebuBbedbAibspbtVaJlbxwbcLaRpaJibxxbxybAobxAbxBbxCbAtbxEbxCbxFbxGbAubxFbwkbAxbxJbwkbwkbxKbxLbxMbxNbAAbxPbxQbxRbxSaXKbaybvraXKaVJbpjbxXbqZbqZbxYbxZbppbyabwsbwsbwsbsSbwtbybbwwbvDbUabTQbwwbyfbygbyhbyibpCbvLbnIbrqbykbnMaaaaaaaaaaaaaaaaafbwGbwHbrgbwJbwJbwKbwGaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbAFbypbAFbyqbyrbwQbrJbrJbrJbysbrJbwTbrKbytbdPbdPbyubgGbrNbwXbyvbywbyxbyybyybyzbyAbyBbyCbyDbvsbyEbvPbyGbxkbyHbyIbyJbvwaafbxrbxrbxrbxrbALbxrbxrbxrbxraafbyNbyNbyNbyNbyNbyNbyNbAVaJibyPblMblNaJibwbbyRbyRbySbyTbxCbAXbyVbyWbyXbyYbyZbzabwmbzbbzcbzdbzebzfbzgbzgbzhbzibzgbzjbzkbckbaAbwubclbBqbcnbBsbzsbztbzubzvbzwbppbzxbpqbpqbzybsSbwtbzzbzAbzBbzCbzDbzAbzEbzFbzGbBtbzIbwwbwwbBwbnMbnMbzKbzLbzLbzLbzMbCJbylbymbrgbwJbrgbynbuRaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaacaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbBxbzQbBxbzRbrJbwQbrJbzSbzSbzSbzSbwTbrKbzTbzUbdPbBAbgGbrNbBEbzWbzXbzYbgGblnbgGbzZbAabAbbAcbAdbyEbwIbAfbxkbxkbxkbAgbvwbAhbAhbBJbAhbBQbBKbBRbAjbBSbAjbAjbyNbAkbAlbAmbAnbBUbApbAqaJibAraRqaRpaJibxbbwYbxhbAvbAwbBXbAybAzbCcbABbACbADbAEbCdbAGbAHbAIbAJbAKbAIbxtbAMbANbAObnvblUbsdbCnbsgbsfbaAbPObpjbxubxUbAYbAZbAZbppbBabBbbBcbppbBdbBebBfbBgbBhbBibBjbBkbBlbBlbBmbBnbBobTHbCobBrbCrbCwbTIbBvbCAbCHbCEbCIbwGbwJbrgbwJbwJbCKbwGaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbBCbwNbBDbCLbrJbwQbrJbrJbrJbrJbrJbwTbrKbzTbBFbdPbBGbgGbBHbBIbgGbCYbgFbgGbgGbyjbvsbvtbAbbAcbAdbyEbvwbBLbBMbBNbBMbBObvwbBPbDabDcbDbbDebDdbDgbDfbDibDhbBVbyNbBWbzmbBYbBZbCabCabCbbDjbAraRqaRpaJibAsbCebCebySbCfbxCbCgbChbxCbCibCjbCjbCkbwkbClbCmbwkbwkbwkbwkbwkbwkbDwbwkbwkbwmbDIaXKaXKaXKaXKbDKbpjbwwbzAbzAbzAbzAbzAbzAbzAbzAbzAbzIbDYbCsbCtbBhbCubCvbEibCxbCxbCxbCybCzbEjbCBbCCbCDbEkbTGbCGbEpbCGbErbEsbBzbuQbuRbEubuRbuQbBBaafaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbBxbzQbBxbCMbCNbCObrJbrJbrJbCNbrJbwTbrKbzTbCPbdPbCQbgGbrNbwXbgGbqlbCRbgGbgGbEwbxcbvtbAbbCTbxcbCUbvwbCVbECbCXbAWbxlbvwbCZbEKbELbAhbEMbEMbEMbAjbEUbERbEVbyNbDkbDlbDlbDmbDnbDobDpaJibDqbDrbDsaJibDtbEWbDvbEXbDxbDybDzbDAbyWbDBbEYbCjbDDbwmbDEbDFbwmbDGbDHbEZbDJbFabDLbDMbCpbDNbDObBTbDQbDRbCpbVLbVMbDUbVAbDWbDXbDXbFbbDZbEabEbbEcbEdbEebEfbEabEgbEhbCvbFobFcbFrbwwbwwbwwbwwbwwbFVbFFbEnbzKbzMbCJbEobGfbCJbzKbzLbzMbGgbCJbGhaafcHOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbGibExbGibEybEzbEAbEAbEAbEAbEAbEBbGjbEDbzTbEEbdPbEFbEGbEHbEIbEJbGubGkbGCbGAbGvbtCbENbAbbEObEPbyEbvwbEQbGDbESbBMbETbvwbGWbGEbHabAhaaaaaaaaabAjbHjbHibHlbyNbFdbFebFfbFgbDnbDobFhaJibxwaRqaRpbHmbFjbFkbFlbFmbFnbHMbFpbFqbxCbxFbxFbHNbxFbwkbFsbFtbFubFvbFwbFxbDJbFybDLbFzbFAbFBbDObFCbFDbFEbHObVlbDXbHPbVAbFJbDXbDXbFKbFLbFMbFLbFLbFNbFObFPbFQbFRbFSbCvbHQbFUbHRbFWbFXbFYbFZbGabGbbGcbGdaafaafbCJbGebHSbHSbHUbHZbHVbIfbEvaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbGlbGmbGnbdPbdPbGobwNbwNbwNbGpbdPbdPbGqbGrbGsbdPbGtbGtbGtbIobGtbGvbGwbGxbGybGzbtCbvtbAbbIvbGBbtCbtGbtGbtGbtGbtGbIAbtGbtGbtGbIBbtGbtGbtGbtGbtGbIDbtGbtGbtGbtGbtGbtGbtGaJiaJiaJiaJibxwaRqaRpbHmbIMbFkbCSbGGbCWbGIbGJbGKbGLbGMbGNbCjbGObGPbGQbGRbGSbGTbGUbGVbIUbGXbGYbGZbIXbHbbHcbHdbHebHfbCpbUSbUfbwwbwwbwwbwwbwwbJbbwwbwwbwwbzAbJqbzAbzAbHkbBhbCubCvbHQbJrbJDbHnbHobHpbHqbGabGbbGcbHraaaaaabCJbHsbHtbEobCHbBybJVbKfbCJaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnaaaaaaaaaaaaaaaaaaaafaaaaaaaaabHuaafaaaaaaaaaaaabGtbHvbHwbHxbHybGvbHzbKobHBbHCbtCbvtbAbbAcbAabHDbHEbHFbHGbHHbHIbHJbHKbHLbKzbKUbKBbKVbAabAabLabLxbLnbAabHTbAabzZbHHbKJbHWbHXbHYbLzbxwaRqbDsaJlbDtbDubDtbDCbDPbxCbIbbIcbIdbIebLIbIgbIhbIibIjbIkbwmbIlbImbInbDJbDTbElbIpbIqbIrbFDbIsbItbIubCpbLYbIwbIxbIybUdbLybMhbICbMibUcbIFbIGbIHbIIbIJbzAbIKbCubCvbMpbMlbINbIObIPbIQbIRbGabGbbISbEnbEnbEnbCJbCJbCJbMCbMqbCJbCJbBybCJaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaaaaaaaaaaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnaaaaaaaaaaaaaaaaaabMHaaaaaaaaaaaaaaaaaaaaaaaaaaabGtbITbEmbIVbIWbMPbIYbIZbJabMSbtCbvtbJcbJdbJebJebJfbJgbJhbJibJjbJgbJfbJebJebNdbJkbJlbNfbJnbJobNkbJebJebJpbJgbJhbJibJjbJsbJtbJubJtbJvbJwbvUaJlbEtbEqbFHbGFbNqbGHbDzbHAbFibDVbxFbNBbCFbDSbDEbJGbwkbJHbJIbJJbDJbJKbJLbJMbJNbJObFDbJPbItbJObCpbJQbJRbIxbJSbJTbJUbNLbJWbNQbJYbIFbJZbKabKbbKbbzAbKcbKdbKebNZbKgbKhbKibKjbKjbKkbGabGbbKlbEnbKmbObbKnbEnaafaafaafaafaafaafaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbKpbKqbKqbKrbKsbKsbKtbKtbKtbKtbKuaafaafaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnaaaaaaaaaaaaaaaaaaaaaaaabKvbKwbKxbKwbKyaaaaaaaaabGtbGtbOcbKAbIVbKAbOdbKCbOfbKDbKEbtCbKFbvtbKGbKHbAabKIbAabzZbHHbKJbAabKKbKLbKMbKNbKObAcbAabKPbKQbHLbKRbHLbHLbKSbKTbOnbOibKWbKXbcLbKYaRpaRpaRpaJlbOtbFlbFnbOIbJmbONbJybJxbFIbLgbLhbLibLjbHgbDEbIkbIabIzbHhbDJbDJbLobLobLobCpbLpbLqbLrbLsbLtbCpbLubLvbIxbLwbFGbLybOQbLAbLBbLCbIFbJCbLEbKbbKbbzAbRsbLFbCvbwwbLGbLHbORbLJbLKbLLbGabLMbLNbLObLObLObLPbGdaaaaaaaaaaaaaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafbLQbLRbLSbLRbKsbKtbKtbLTbLUbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabLVbLWbLXbOTbLVbLZbMabMbbGtbMcbMdbMebMfbMgbPvbOUbMjbMjbMkbtCbtCbtCbPAbtCbtCbtCbtCbtCbtCbtCbtCbtCbtCbtCbtCbtCbMmbMnbMobtCbtCbtCbtCbtCbPCbtCbtCbtCaJlaJlbPDaJlaKSaMpbMraJlbKZbJXbPFbGFbLdbxCbDzbLDbxCbMybMzbMAbMBbwkbPHbMDbMEbMFbMGbPSbMIbMJbMKbMLbItbJObFDbFDbMMbJObCpbMNbMObMObMObMObMObMObMObMObMObMObPXbMQbMRbMRbzAbQjbMTbMUbwwbMVbMVbMVbMWbMXbMYbMVbMVbMVbMVbMVbMVbNabNbaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymbQpbLRbLRbNebKtbKtbLTbLTbQubLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabKxbNgbMsbNgbKxbNibNjbQBbNlbNmbNnbKAbNobNpbGvbQXbNrbNsbNtbGvbNubNvbNwbNxaaaaaaaaaaaabNybNzbNAbRdbNDbNCbNEbNFbNGbNHbNIbNFbNJbNKbRebNMbNNbNObNPbRvbNRbNSbNTbNUbNUbNUbNUbDtbDtbDtbDtbMtbMtbxCbRxbOabRybMzbMvbMubOebRzbOgbOhbRAbOjbMxbMwbOmbNhbMKbOobFDbFDbNVbJObJObOobCpbMNbMObOqbOrbOsbRBbOubOvbOwbOxbMObOybOzbOAbOAbzAbOBbOCbCvbzIbMZbOEbODbOGbOFbOJbOHbOLbOKbOMbVFbMVbRWbEnbOObOObOObOObOOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabOPbKtbQpbKtbKtbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabLVbNgbNgbNgbSgbScbKAbOSbSubSnbKAbSwbOVbOWbGvbGvbGvbGvbGvbGvbOXbOYbOZbPaaaabPbbPcbPcbPdbPebPfbPgbPhbPfbPibNFbPjbPkbPlbNFbPmbNXbPobPpbPqbPrbPsbPtbPtbNSbPubSEbPwbPxbPybDtbNYbLbbSVbGFbGFbSWbDzbTgbxCbTAbPEbTObPGbwkbUbbPIbwkbOkbPKbPLbOlbPNbMKbCpbCpbCpbCpbCpbCpbCpbCpbPObMObPPbQYbPRbOsbOsbOsbOsbUobMObPTbLEbPUbPUbzAbBhbPVbPWbUqbPYbPYbPZbQbbQabQdbQcbQgbQebQgbRDbMVbQfbRFbOObQhbUwbOpbQkaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbKsbKtbQlbQmbQmbLTbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabKxbMsbMsbMsbKxbQnbQobUPbQqbQrbKAbKAbQsbQtbURbQvbQvbQvbQvbQvbQvbQwbQxbQyaaabQzbQAbUWbQCbQDbPfbQEbQGbQFbPfbNFbQIbQJbQKbNFbQLbQMbQNbQObQPbQQbQRbPtbQSbPxbQTbNUbPxbPxbQUbDtbPnbGFbQVbVjbGFbPzbDzbLebRCbQZbPBbVkbRcbRGbDEbIkbSpbOkbPLbPLbOlbRfbMKbRgbRhbPJbRjbRkbRlbPMbRnbPObMObOsbOsbRobOsbOsbOsbOsbRpbMObRqbLEbRrbRrbzAbRsbRtbRubVmbRwbVybRJbSMbSrbSObSNbSQbSPbSSbSRbWobREbUkbWVbRHbRIbQibRKaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabKtbKtbRLbLTbLTbLTbLTbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaabLVbRMbRNbRObLVbRPbMabMbbGtbGtbRQbRQbRQbGtbGtbNxbRRbRRbRSbRSbRSbRSbNwbQyaaabRTbRUbRVbXcbRXbRYbRZbSabSbbSbbXebSdbSebXfbNFbPtbPtbPtbPtbPtbXpbPtbPtbShbSibSjbNUbPxbSkbSlbDtbQHbLbbQVbSmbXqbPzbSobJAbJBbSqbRabSsbStbJzbFsbSvbIEbSxbRibRbbSAbSBbMKbRmbSDbXvbRjbSfbSGbXxbRnbPObMObMObMObRobOsbOsbOsbMObMObMObSIbSJbRrbRrbzAbSKbSLbCvbzIbUGbVvbUObQdbVzbVObVGbWibWgbWMbWkbMVbQfbYwbOObSXbSYbSybTaaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbKtbLTbLTbLTbLTbLTbLTbTbbLTbTcbLTbLTbLTbLTbLTbKtbKtaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabTdbKwbTebKwbTfbYHaafaaaaaabGtbThbTibTjbGtaaabNxbTkbTlbTmbTnbTnbTnbTobQyaaabQzbTpbTqbTrbTsbPfbTtbTvbTubTwbNFbSzbTybTzbYMbTBbTBbTBbTCbTCbTDbTEbULbPxbPxbTFbNUbNUbNUbNUbDtbDtbLfbLkbLcbDtbTJbTKbTLbJFbJEbTJbRybLlbLmbTRbTSbTJbMKbMKbMKbMKbMKbMKbTTbTUbTVbRjbTWbTXbTYbRnbPObMObTZbQWbPQbYYbYSbNWbNcbTZbUgbUhbUibIIbIJbzAbIKbSLbUjbwwbMVbMVbXabXibMVbMVbMVbMVbXubSCbVFbMVbZbbUnbOObUpbZcbUrbOOaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabKtbUsbUsbUsbUsbUsbUsbUtbLTbUubUsbTcbLTbLTbLTbLTbKtaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabMHaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbUvbNxbNxbNxbNxbRSbZibNwbUxaaabUybPcbPcbUzbUAbPfbPfbUBbPfbSFbNFbUDbSHbSTbNFbSUbSUbSUbSUbSUbSUbSUbSUbUHbUIbUJbUKbUKbUMbNUbDtbUNbSZbTxbUQbZrbwabUTbUUbTMbZsbTNbUTbUYbUZbVabVbbUebTPbVdbVebVgbVhbVibUlbZubUmbRjbUCbZvbUCbRnbPObMObVnbUFbVpbVqbVrbVsbVtbVubUgbzAbZzbzAbzAbVwbCxbSLbCxbVxaafbnxbYabYoblSbVBbYtbYZbYzbZebUVbMVbVHbVIbOObVJbVKbVKbwhaaLaaLaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwibLRbLRbLRbLRbLRbLRbLRbVNbLUbLTbLTbLTbLTbZCbLUbKuaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabVPbVQbVQbVRbVSbNxbVTbRSbVUbNxaaaaaaaaaaaabNybVVbVWbVXbVZbVYbPfbNFbWabWbbNIbNFbSUbUXbVfbVcbVDbVCbVEbSUcaqcaqcaqcaqcaqbTFbWjbZLbWlbWcbWdbZVbWpbxgbWrbWsbWtbWubWtbWvbWtbWwbWxbWybWzbWAbWBbWAbWCbWDbWEbWFbWGbWebWIbWfbWKbWLcaabxVbMObxWcanbzlbWSbWTbWhbWSbWScaxbWWbWXbWYbWZbCxbCxbSLbCxbFTaafbnxbZBbZBbXbcaWbXdcbibZObXgbXhbMVbVHbZPbOObOObOObOObOOaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabKtbQmbQmbQmbQmbQmbQmbXkbLTbQlbQmbXlbLTbLTbLTbLTbKtaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXmcbkbWmcbmbRScbnbXrbRSbXsbNxaaKaaaaaaaaabNybNybNybNybNybNybNybNFbUDbUEbXtbNFbSUbWnbWJbWHbWHbWJbWRbSUbXnbWUbWUbXocaqbXBbDtbDtbXCbXDbXEbXFbXGblRbXIbXJbXKbXLbXMbXNbXObXPbXQbXRbXSbXTbXUbznbzpbzobAPbzqbARbAQbATbAScbrbAUbYfbYgbIwbYhbVobCqbWObWNbWPbYmbYncbtbYpbYqbYrbYscbybYrbYubYvbILaafbnxcaJcbdbrBbVBcbecbgcbfcbjbYAbMVbVHbYBbYCbUnaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbKtbLTbLTbLTbLTbLTbLTbTbbLTbXlbLTbLTbLTbLTbLTbKtbKtaafaaaaaaaaaaaaabgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabYDbVQbVQbVRbYEbYFbYGbNxcbDbNxbYIbYJbYKbYIbYIbYLcbJbYNbYObYPcbLbXwbXzbXybYebXAbYjbWJbYybYxbYRbYQbYTcbObYVbYUbYXbYWcaqbZhbNScbQbZjbZkbZlbZlbZmbnEbZobZpbTJbTJbZqcbWbTJbTJccncccccrcaIccubWQbZxbZyccEbZybZAbZaccGbZabZAccJbYfbMNbIwbZEbXWbXVbZdccMbZJbZKbMObMObwwbwwbwwbwwbwwboIbnFbofbwwbMVbMVbMVbMVbMVbMVbMVbMVbMVbMVbMVbMVcbAbZQbZRbUnaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabKtbKtbRLbLTbLTbLTbLTbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaambZSaamaamaamaamaamaaaaaaaaaaaaaaaaaaaafaafaaabZfbZgbZgbZgbZHbZgbZgbZTbZIbYIbZYbZZbYIbZUcabccQcadbZWcafccSbZXcaecaccahcagcaibWJbYycajcakbYQcalbSUcaqcaqcaqcaqcaqcarbNSbDtcascatccYcamcawcdjcaycazbTJcaocaBcaCcaDcaEcaFcaGcaHcaIbZxbWQcapbZycaKcaLbZAcaMcaNcaObZAbXXbYfbPObIwbXYcdmbXZbXYbXYbIwbIwbIwcaRcaScaTcaUcaVbwwbwwcdpbwwbwwcaXcaYcaucaAcavcctcaZcbacbccfeccvcLKcLJcbhbUnbUnbUnaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbKsbKtbUubUsbUsbLTbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabgaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafcbbcdNcdBcblcdTcdYcdUcbpcbobYIcdZcbsbYIbYIcebcbucbvcbwcbxceccbqbXzbXybYecbzcedbWJbWJcbBcbCbWJcefbSUcbFcbGcaqcbHcaqbTFcbIcbIcbIcbIcbIcbIcbIbTJceicbEbTJcbKcbMcbNcelcaEcbPcerceucaIbZxbWQcbRbZycbScbTbZAcbUcbVcevbZAccqbYfbYbbYdbYcbYiccsccAbYccexbYkbYlcktbZDbZwbZFcktceCbZGccCccBceHccDccPccFceKceIcLMcLLceIcficLOcLNcLPccwccxccycczbUnbUnbUnbUnaaaaafaaaaaaaaaaahaahaahaafaaaaaaaafaaaaaaaafaaaaaabOPbKtbQpbKtbKtbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafccRccRcdBccTcfjcdYccUccWccVbYIcfkccHccIcfmccKccLcfsccNccOcfuccXcdaccZcdecdbcfGcdycdQcdFcekceecemcfIcdccddaJEcdfcaqbTFcbIcdgcdhcdicfLcdkcdlcfMcdncdocfRcdqcdrcdscdtcaEcducdvcdwcaIbZxbWQcenbZycdxceobZAcdzcdAcepbZAcaPbYfbYfcaQbYccbYcbXcbZbYcchBccacjfcdLcdLbyFbBucdLcdOcdPceqcdRcdOcdSbBpbyebydcdScdScdScdScgebyebydcdScdSbXjcdXcgmcgfceacgocgCcgBbycbycbycbycbycbycbycbycbycbycbycbycbycbycbycbyccgOcegcegcehbKtbKtbLTbLTcgRbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacejcejcejcejcejcejcejcetcesbYIbYIbYIbYIbYIchbchnchichichichpcewbXzbXybYeceybYjceEceTceSceWceUceXbSUcezaJFceYaJFcaqbTFcbIceDcfacfacfaceFceGbTJchuchqbTJcbKcbNceJcelcaEchzceLceMcaIbZxbWQceNbZyceOcePbZAbZAbZAbZAbZAccbceRbYfcaQbYcccdchLbYcbYcchBccecjfcdLceZcfbcfbcfccdOcfdchPcffcdOcfgcfhcfhcfhchSciycifcflciCcfncfocfpcdScfqcfrciLbUnbUnbUnbUnaaaaafaaaaaaaaaaahaahaahaafaaaaaaaafaaaaaaaafaafaafcftcfBcfvbNebKsbKtbKtbLTbLUbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaafaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafcejcfwcfxcfycfzcfAcejcfDcfCcfFcfEcfHciPciVciVcfKcfJcfJcjacjlcbqbXzbXybYecfNcaicfOcfQcfPcfUcjqcggbSUaJFaJFcaqceBcaqbTFcbIcfVcfWcfWcfWcfXcbIcfYcfZcgacfYcgbcgccgdcjtcaEcjvceLcgicaIcghccfcgjbZycgkcglbZycjCbLvbVicgnccgcchbYfccjcciccicckcclcclcclcclccmcdLcjIcgycgycgzcgActscgrcgpcgucgtcgGcgGcgGcgxcgIcgIcgJckncgLcgDcgMcdScgNckocgPcgNaaaaaaaaaaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafcgQbKqbKqbKrbKsbKsbKtbKtbKtbKtbKuaafaafaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaafaafaafcgEcgEcgEcgEcgEcgEcgEcgEcgEcgEcgEcgEcgEaaaaaacgScgTcgTcgTcgUcgVcejcgHcgFckCcgKcgXcgWcgZcgYckFchachdchcchfchechhchgchjckNbSUbSUbSUbSUbSUbSUbSUbSUclfckQcaqclgcaqbTFcbIcbIctpctqctrcbIcbIchrchschtcfYcaEcaEcaEcaEcaEcaIchkchlcaIchwclpchwbZychychmbZychAchBbVichCbVichDbYfccobYfbYfccpcdCcdCcdCcdDbYfcdLchIchJchJchKcluchMchochOclCchQckLckLckLckLclGchvckLclVckLchEchFcdSchZciachGcgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaaaaaaaaaaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacgEchHcmgchHcgEchNcmkchNcgEchRcmpchRcgEaaaaaaciicgTcgTcgUcgUcijcejchUchTchWchVchYchXcidciccmwcieciecigciecbqbXzcihbYecikcimcilciocinciocipcirciqciqciAciAciAciAbTFciGciHciIciIciJciKcmGciMciXciOcmPciQciRciSciSciTciUcaIcaIcaIcmQcdEckqbZybZybZybZychBchBbViciYbViciZbYfccobYfaaaaaaaaaaaaaaaaaaaaacdLcjgcisciucitcjjcjkcivcjmcjncjociwcjocjocixcjrcjscgIcmRcgIciWcjucdScmXcjwcjxcgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacgEchHcjbchHcgEchNcjcchNcgEchRcjdchRcgEaaaaaaciicgTcgUcgUcgUcjBcnecjhcjechWcjicjpcnfcnhcngcjzcjycjDcjAcjEcbqbXzcjFchjcjGcnucjHcjJcjJcjJcjKcjMcjLcjNcnwcjOceAciAbTFciGckaciIckbckcckdcubckfckgckhctQckjckkcklciSckmciUcnEcnFckpcjQcjPcdHcdGcdIcdIcdJcdIcdKbVibVibVibVibYfccobYfaaaaaaaaaaaaaaaaaaaaacdLcnIcjRcjTcjSckEcdOcnKcdOckGckHcjXcjUcjUcjYcgIcgIckecjZcjUckickOcdSckPcnLckRcgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacgEckrckuckscgEckzckBckAcgEckDckJckIcgEaaaaafciiclbcgTcgUcgUcgUcejckMckKchWchWcnNchWchWchWchWckTcieckWckYcbqclackZcldclccnPcleclhclhclhclicljcljclkciAcllcgqclwclxciGclyciIclzclAclBcnQclDclEclFcolclHclIclJciSclKciUconcoqclNclnclmclQclNclRclSclTbYfceQcdIcdIcdIcdIcdIcltbYfaaaaaaaaaaaaaaaaaaaaacdLcmacmbcmccmdcdOcmecmfcorcdScmhcmicmicmiclvcotcmlclPclOcmicmicmncdScmocpdcmqcmraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaafaafcgEclXcmmcmjcgEcmscmmcmtcgEcmscmmcmtcgEaaaaafcmzcgTcgTcgUcgUcmAcejcmvcmucmxcpfcmBcmycmCcmCcmEcmDcmCcmFcpgcbqcmIcmHcmKcmJcimcmLcmLcmMcljcmNcpocmOcmOciAcibceVcprcqgciGcnbciIcnccndcpAciGcmSciNcmWcfYcpOcnicnjciScnkciUclLclMclNcnlcqecnlclNaaaaaaaaabYfbYfbYfcnnclSclSclTbYfbYfaaaaaaaaaaaacdOcdOcdOcdOcdOcdOcdOcdOcdOcnocnpcnqcdScdScnrcnscntcdScdScdScdScqrcnscntcdScdScnvcqscnvaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabZSaafaafaafaaaaafcnxaafcnxaafcKBaafcKAaafcKBaafcKAaafaafaaacejcnAcnBcgUcgUcnCcnDcqAcqtcnycnmcqDcnzcnzcqIcnzcnGcqOcnHcnGcnJcrzcrvcrQcnMcnOcnOcnOcnOcsecsdcnRcnRcnRcgscgscgscgscnSciGcnTcnUcnccnVcnWciGcmSciNcnXciUcnYcnZcnjcoacobciUclLclMclNcoccodcoeclNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaacdOcofcogcohcwlcojcokcsfcomcsgcopcoocdOaaLaafaafaafaafaaaaaaaaacsiaaaaaaaaaaafcoscsncosaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaafcoucowcovcoxcovcowcoycoxcoAcoBcoycoDcoCcoFcoEcnycnycnycnycnycnycnycnycoHcoGcoJcoIcoLcoKcoNcoMcoOcnGcoQcoPcoRcnGcoTcoScoUcnOcoWcoVcoYcoXcpacoZcpjcpbcpbcpkcpncpncpjcsDciGciGcpccsLciGciGciGcpeciNcsMciUciUciUctbcphciUciUclLcpiclNcvmcpscvmclNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaafaafcdOcplcpmcplctictccppcpqcomcomctkcomcdOcdOaaaaaaaaaaafaafaaaaacaaaaaaaaaaaaaafaaactmaaaaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaaaaaaaaaaafcptcpvcpucpxcpwcpvcpyctxcpzcpCcpBcpEcpDcpHcpFcpLcpJcpNcpMcpQctBcpUcpTcpWcpVcpYcpXcqacpZcqccqbctIcqdctOcqfctScqzcoTcqJcqKcnOcpacpacpacpacpacqMcpjcqPcqPcqPcpncpncpjbTFcrYciGcqhcqicqjcqkciGcqlciNcqmciUcqncqocqpcqqciUctTclLcpiclNctVcqQcquclNaaaaaaaaaaaaaaaaaacqvcqwcqxcqycqvaafaaaaaaaaaaaacdOcplcplcplcoicuacqBcqCculcqEcqFcqGcqHcdOaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaafaaacmZaaaaafaafaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaafcqRcpFcqScqVcqUcpFcqWcpFcqXcqYcqWcpFcqXcqYcpFcpFcpFcpFcpFcqZcpFcpFcpFcrbcracrdcrccurcpZcrfcrecrhcrgcrjcricrlcrkcoTcqJcrmcnOcrncpacpacrocpacrpcpjcrIcrKcrJcrKcrLcpjbTFcrqciGcrrcrscrtcrucuycrwcrxcrycuEcrAcrBcrCcrDciUcrEcrFcrGcrHcqvcuLcqvcrHaaaaaaaafaaaaaaaaacqvcrRcrTcrScqvaafaafaaaaaaaaacdOcomcomcomcomcrMcppcrNcrNcrNcnpcrNcrOcdOaaaaaaaaaaaaaaacrPcrPcrPbZSaafaafaafaafcnaaafaafaafaafaafaaqcrPcrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaafaafaafcptcpFcrccpFcrccpFcqWcpFcrUcrWcrVcrWcrXcrWcrWcsacrZcpFcpFcuYcuUcuUcuUcvncvlcvscvscvtcpZcvvcshcsjcnGcsmcskcvEcnGcspcsocsrcsqcstcsscsvcsucpacswcpjcsxcrKcsycrKcsKcpjbTFcizciGcszcsAcsBcsCciGcfYcvGcfYciUcsEcsFcsGcsHciUcsIcrGcrGcqvcsJcsNcvOcqvcqvcqvcqvcqvcqvcqvcqvctMctDctNcqvcqvcqvcrHaaaaaacdOcofcogcohcslcsRcqBcrNcrNcrNcnpcrNcsScdOaaaaaaaaaaaaaaacrPaaaaafaaaaafaaaaaaaaackxaaaaafaafaaaaaaaaaaaacrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaafaaaaaacptcpFcrccpFcsOcsTcsQcsVcsUcsWcrVcrWcsXcrWcrWcsZcsYcwacvRcwzctactectdctdctfcrccrccthctgctjcwHcnzcnGcwUcnGcnGcnGcwWctlcsrctncttctoctyctucpacwZcpjcxqcrKcsycrKcxrcpjctvctwciGciGcxsciGciGciGciBctzctAciUciUciUcxFciUciUcsIcrGaaacqvctCctZctEctFctGctHcxJctJctKctLcqvcuVcxVcuVcqvcyactPcqvaafaafcdOcplcplcplcybctcctRcuccycctUcudcrNctWcdOcdOcdOcdOaaaaaacrPaaactXctXctXctXctXaafckxaafctXctXctXctXctXaaacrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacptcpFcsOcsTcsTcsTcsQcsTcsTcsTcsQcsTcsTcsTcsTcsTcuecygcsTcyhcsTcufcsTcsTcsTcuhcugcuicpvcpFcujcyicukcuncumcupcuocumcuqcuscymcuucutcutcuvcutcuwcypcuxcuAcuzcuBcuBcpjcuCcuDcyrcuFcuFcuGcuHcuIcuJcuJcuJcuJcuJcuJcuJcuJcuKcrFcrGaaactFcyzcuPcuNctFcuOcuRcuQcuQcvdcvacuQcuQcvhcuQcuVcuXcuQcqvaaaaaacdOcplcplcplcslcyHcuZcvicvbcvccvjcrNcrNcvecvfcvgcdOaafaafcrPaafckVckSckSckSckSckyckxckwckvckvckvckvckUaafcrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacptcpFcpFcpFcpFcpFcqWcpFcpFcpFcqWcpFcpFcpFcpFcpFcqXcpFcpFcurcpFcvkcpFcyRcyJcvpcvocvrcvqcyScvqcyZcvucvxcvwcvycvucvucvzcvAcsecvBcpacvDcvCcpacpaczBcrKcrKcvFcuBcuBcpjbPxcAscvNcvNcvNcvNczFcvNcvNcvNcvNclMcvPcrGcrGcrGcrGcrGcrGaaactFctFczLctFctFczMcvScvTcvUcvVcvHcvJcvIcvLcvKczVcwbcwccqvaaaaaacdOcomcomcomcomcwdcppcvicwecwfcvQcrNcrNcwhcrNcwicdOaaaaaacrPaafcwjcwjcwjcwjcwjaaackxaaacwjcwjcwjcwjcwjaafcrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaabZSaaaaaaaaaaaacptcpFcpFcpFcpFcpFcqWcpFcpFcpFcqWcpFcpFcpFcpFcpFcqXcpFcpFcurcpFcvWcpFcpFcvWcvWcvXcpFcpFcvZcvYcwgcwgcwgcwgcwmcwkcoTcwocwpcsqcwqcpacwscvCcpacwtcpjcwucrKcwvcwxcwwcpjczXcvMcvNcwIcwJcwKcwLcwMcwNcwOcvNcwPcwQcrGaaaaaaaaaaaaaaaaaacqvcwRcwycwAcAHcwCcwBcwEcwDcwGcwFcwTcwScwVcAJcuWcuQcxecqvaaaaaacdOcofcogcohckXcsRcuZcxgcxhcxhcxicxjcxkcAUcxmcxncdOaaaaaacrPaaaaafaaaaafaafaafaaackxaaaaafaaaaafaaaaafaaacrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacptcpFcpFcpFcpFcpFcwXcpFcpFcpFcwXcpFcpFcpFcpFcpFcqXcpFcpFcBkcwYcxbcxacxacxbcxccxbcxlcxdcxocxacBmcxpcBqcBncxtcwkcoTcxucoTcxvcxwcpacpacxAcpacxBcpjcxCcxCcxDcwxcwwcpjbPxcvMcvNcxKcxLcxMcxNcxOcxNcxPcvNcxQcxRcrGaaaaaaaaaaaaaaaaaacqvcxScxTcxUcBscxWcxXcxYcxZcuTcBzcuScxEcuTcBIcqvcqvcqvcqvaaaaaacdOcplcpmcplcBOctccppcrNcrNcyecyfcrNcBRcomcomcomcdOaaaaaacrPaaactXctXctXctXctXaafckxaafctXctXctXctXctXaafcrPaaacBSaaaaaacBSaaaaaaaaacBSaaaaaaaaaaaaaaacBSaaaaaaaaacBSaaaaaacBSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaaaaaaaaacptcpFcsccsbcsbcxHcxGcuUcCccuUcxIcCccuUcuUcuUcuUcCecuUcCfcvncCicvWcpFcpFcyjcylcykcyncCncyocpFcCNcyqcyscyscyucytcoTcxucyvcnOcywcpacyxcpacCOcyycpjcpjcpjcpjcpjcpjcpjbPxcvMcvNcyMcyNcxLcyOcxLcxNcyPcvNcyQcCQcrGaaaaaaaaaaaaaaaaaacqvcuVcCYctFctFcyTcyAcyVcyWctMctDctNcyBctMcvhcyYcqvaaaaaaaaaaaacdOcplcplcplckXcDaczacrNcrNcrNcyfcrNczbcrNczccrNczdaafaafcrPaafckVckSckSckSckSckyckxckwckvckvckvckvckUaafcrPaaacBScBScBScBSaaaaaaaaacBScBScBScBScBScBScBSaaaaaaaaacBScBScBScBSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaaaaaaaaacptcpFcqWcpFcpFcpFcwXcpFcpFcpFcwXcpFcpFcpFcpFcpFcqXcpFcyCcpFcyDcvWcpFcpFcyEcxccyFcyGcwgcDmcwgcwgcyqcDpcyIcyKcytcoTcxucoTcnOcyUcyLczecyXczfcpacnOczgczJczJczhcDtcDNczNczOcvNcxNczPczQcxNczRczSczTcvNczUcDOcrGaaaaaaaaaaaaaaaaaacqvczWcuMcDUcuVczYczZcAactFcAbcAccsPcyBczWczjcAecqvaaaaaaaaaaaackEcdOcAfcAgcAgczkcAicAjcAkcAlcAmcAncAocApcAqcokcAraaaaaacrPaafcwjcwjcwjcwjcwjaaackxaafcwjcwjcwjcwjcwjaaacrPaaacBScBScBScBSaaaaaacBScBScBScBScBScBScBScBScBSaaaaaacBScBScBScBSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaIaaaaaaczlcpFcqWcpFczmcrWcrVcrWczncrWcrVcrWczncrWcrWcrWczoczpczoczrczqcyFczsczucztczwczvczxcwgczzczycwgcwgcwgcwgcwgczAcrzcEccrzcnOcnOcnOcnOcnOcnOcnOcnOczDczJczJczEcANcAObPxcAPcvNcAQcARcErcATcEycAVcAWcvNcAXcAYcrGaaaaaaaaaaaaaaaaaacqvcuQcAZcAectFcBacBbcBcctFcBdcBeczHczGczIcBeczKcqvaafaafaaaaaaaaaaaabquaaacdOcBlcEXcEBcBocBpcEXcFecBrcBpcEXcFgcdOaaaaaabZSaaaaafaaaaafaaaaafaaackxaaaaafaaaaafaafaafaafcrPaaacBScBScBScBSaaaaaacBScBScBScBScBScBScBScBScBSaaaaaacBScBScBScBSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabZSaaaaaaaaaaaIaaaaaacAdcpFcqWcpFcAhcylcqWcpFcAtcylcqWcpFcAucylcpFcpFcAvcpFcAwcylcAxcAzcAycABcAAcADcACcAEcwgcFrcAFcFCcAIcAKcumcAMcALcumcAScumcBfcuocBgcBicBhcBhcBjcFEcBVcBWcBWcBXcBYcAObPxcBZcvNcvNcCacCbcFFcCbcCacCdcvNcrGcFKcrGaaaaaaaaaaaaaaaaaacqvctFcFLcuVctFcCgcChcFUctFcCjcCkcqycgvcBtcCkcCocrHaaaaaaaaaaaaaaaaaacgwaafcdOcCqcFVclUcomclscFWclqcomclocGgclWcdOaaaaaacrPaaactXctXctXctXctXaafckxaafctXctXctXctXctXaafcrPaaacBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaafaafaafaaIaafaafcAdcBvcBucBycBxcBAcGhcBCcBBcBEcBDcBGcBFcBHcpFcBvcGocBKcBJcBMcBLcnycnycnycnycnycnycnycnycGucBNczAcBPcBQcoTcGvcoTcoTcxucoTcoTcGAcoTcBQcBTcCpcBUcCrcGEcGOcGMcCPcHacAObPwcCRcCScCTcCacAGcAVcBwcCacCtcCscCucHjcCXaaaaaaaaaaaaaaaaaacqvcCvctDcuQcHCcDbcuQcDccDdcDeaafaaachxcCxcCwcCyaaaaaaaaaaacaaaaaaaaaaaaaaacdOcDhcplcplcomcDicplcplcomcDicplcplcdOaafaafcrPaafckVckSckSckSckSckyckxckwckvckvckvckvckUaafcrPaaacBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPcCzaaaaaaaaIaaaaaacCAcCCcCBcCEcCDcCGcCFcCHcCDcCGcCFcCHcCDcCGcCIcCIcCJcCHcCDcCGcCKcnyaaacCMcCLcCVcCUcCZcCWcDjcDgcDkcDkcHVcDlcDocDncDqcIAcDncDqcDocDrcIMcDscDrczAczAcAOcITcIRcDPcDQcAObNUcDRcDScDTcCacCbcIZcCbcCacDvcDucDfaafaaaaaaaaaaaaaaaaaaaaacqvcCvcDVcDwcDXcDXcDwcsPcDYcqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacdOcDZcplcplcomcEacplcplcomcEacplcplcdOaaaaaacrPaafcwjcwjcwjcwjcwjaaackxaaacwjcwjcwjcwjcwjaaacrPaaacBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPcClcqLcpIcDxcpIcpIcqLcpIcpPcpIcpGcpIcpPcpIcpGcpIcpPcpIcpGcpIcqLcpIcpRcpIcpGcpIcqNaafaaacDzcDycDBcDAcDDcDCcDjcDEcDkcDFcDHcDGcDJcDIcDLcDKcDWcDMcDJcEbcEdcJhcDraaaaafcAOcJlcECcEDaafaaabNUbPxbPxbSkcCaclZcEFclYcCaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacqvcEecuXcEfcEJcEJcEfcuQcEKcqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacdOcplcplcplcomcELcplcplcomcELcplcplcdOaacaaacrPaaaaaaaafaafaafaaaaaacmTaafaaaaaaaafaafaaaaaacrPaaacBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaabgaaaaaaaaaaaaaaaaaaaaacrPaafaafaaaaaqaaaaaaaafcgEcmscmmcEgcgEcmscmmcEgcgEcmscmmcEhcgEaaacgEcEicmmcEhcgEaaaaafaaacDzcEjcElcEkcEncEmcEpcEocDkcEqcEscJpcDJcEtcEvcEucExcEwcDJcJzcEAcEzcDraaaaaacAOcJAcFhcFiaaaaaabNUbPxbPxbNUcCacmUcmUcmUcCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacqvcEEcFncuQcuQcuQcuQcuQcFocqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaackEcdOcdOcdOcdOcdOcdOcdOcdOcmYcmYcmYckEaaaaaacrPcrPcrPcrPcrPaaaaaaaaacmZaaaaaaaaacrPcrPcrPbZScrPaaacBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaaaaafaafaaIaaaaaaaafcgEcEGcEIcEHcgEcEMcEOcENcgEcEPcERcEQcgEaafcgEcEScEUcETcgEaaaaafaaacDzcEVcDBcEncEncEWcEYcJBcFacEZcFccFbcJCcFdcFjcFfcFlcFkcFpcFmcJFcFqcDraafaaacFJcJVcJUcAOcKdaaabNUcFMcKocFNcFOaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrHcqvcqvcFPcFQcEfcEfcEfcFRcFPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqpbqpbqpaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaafcfTaafcrPaaaaaaaaaaaaaaaaaaaaacBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaIaaaaafaafcgEcFscFtcFscgEcFucFvcFucgEcFwcFxcFwcgEaaacgEcFwcFwcFycgEaaaaafaaacDzcCLcFzcEkcEncDCcFAcDEcDkcFBcFDcKpcDJcKqcFGcKDcFGcFHcDJcFIcFTcFScDraaLcKFcKEcKHcKGcKEcKEcKIbNUciEciDcGjaafaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacGlcEJcEJcEJcEJcEJcGlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaaaaafaaacrPaaaaaaaaaaaaaaaaaacBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaIaafaafaaacgEcFscKJcFscgEcFucKKcFucgEcFwcKLcFwcgEaafcgEcFwcKMcFwcgEaafaafaafcFYcFXcGacFZcGccGbcGdcDEcDkcGecKNcGfcDJcGicGmcGkcKOcGncDJcGpcGrcGqcDraaacKQcKPcKScKRcKUcKTcKVcGFcGGcGHbNUaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacqvcCmcqxcqxcqxcCocqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPcrPcrPcrPcrPaaaaaaaaaaaaaaaaaacBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabZSaaaaaacgEcgEcgEcgEcgEcgEcgEcgEcgEcgEcgEcgEcgEaaacGscgEcgEcgEcgEaaaaaaaaaaaacBNcBNcBNcBNcBNcKWcGtcGtcGtcGtcKXcGtcGwcGycGxcGycGzcGtcGtcKYcGtcGtcGtcKQcKPcLacKZcLccLbcLdaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaaaaaaaafaafaaaaafaafaaaaaaaafaafaafaaaaaaaaaaaaaaaaaaaafaaacGQcGRcGRcGRcGScGBcGDcGCcGIcLecGKcGJcLfcGLcLgcGNcGTcGPcGVcGUcGXcGWcGZcGYcHbcLhcGYcGtcKQcKPcLjcLicLccLkcLlaafaaacGQcHccGQcHccGQcHcaafcHdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacBScBScBScBScBScBScBScBScBScBScBScBScBSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafcHncjVcHpaaacHncjVcHpaaacHncjVcHpaafaafaaaaafaafaafaafaafcHqcGRcGRcGRcGScGBcHfcHecHhcHgcLmcHicHlcHkcHocHmcHscHrcHucHtcHucHucHucHvcHucHwcHxcGtcLncKEcKEcKEcKEcKEcLoaafaafcHycHycHycHycHycHyaafcHdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaabgaaacBScBScBScBScBScBScBScBScBScBScBScBScBSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaacHncjWcHpaaacHncjWcHpaaacHncjWcHpaafaafaaaaafaaaaaacHKaafcGQcGRcGRcGRcGScGBcHfcHzcHBcHAcLpcHicHEcHDcHFcHbcHbcHbcHHcHGcHIcHbcHbcHDcHLcHJcHMcGtcGtcGtcHNaaaaaaaaaaaacHOaaacHPcHPcHPcHPcHPcHPaafcHdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacBScBScBScBScBScBScBScBScBScBScBScBScBSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafcHncjWcHpaaacHncjWcHpaafcHncjWcHpaafaaaaaaaafaafcIcaaaaafcHqcGRcGRcGRcGScGBcHRcHQcHTcHScLqcHUcHXcHWcHZcHYcHYcHYcIbcIacIdcHYcHYcIecIgcIfcIicIhcIkcIjcImcIlcIlcIlcIlcIlcIlcIncIocIncIocIncHyaafcHdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacBScBScBScBScBScBScBScBScBScBScBScBScBSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaacHncjWcHpaafcHncjWcHpaaacHncjWcHpaaaaaaaaaaaaaafaafaaaaafaaaaaaaaaaaaaafcIpcIrcIqcItcIscIucGJcIvcHbcHbcHbcIxcIwcIzcIycIBcLrcIDcICcIFcIEcIHcIGcINcIIcImcIOcIPcIOcIPcIOcIPcIOcIPcIOcIPcIOcHyaafcHdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacBScBScBScBScBScBScBScBScBSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaamaaIaafaaacHncjWcHpaafcHncjWcHpaaacHncjWcHpaafaaaaaaaaaaaaaafaafcIJcIKcIKcIKcIKcILcILcILcILcILcLscILcGtcIQcHbcHbcHbcLtcGtcLucIScLvcGtcLwcJdcJicIfcJkcJjcLxcGtaaacHPcHPcHPcHPcJmcHPcHPcHPcHPcHPcHPcHPaafcHdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacBScBScBScBScBScBScBSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaafaaaaafaafczCaafaafaafczCaafaaaaafczCaafaaaaaaaaaaaaaaacIUcIVcIWcIXcIYcJncJacJbcJcciFcJecJfcJgcJecGtcLycJocHbcHbcJrcJqcJtcJscJucJqcJwcJvcIgcIfcJycJxcJLcGtaafcHycHycHycHycHycHycHycHycHycHycHycHyaafaanaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafcydcxzcxycxxcxxcxxcxxcxxcxxcxxcxxcxxcxxcxxczicxzcxzcxzcLAcLzcLCcLBcLDcJDcJEcLEcJGcJHcJHcJHcJIcJJcJKcGtcJMcJMcHbcHbcJrcJNcJPcJOcJQcJNcJwcHbcIFcJZcIHcHbcKacGtaafcHycHycHycHycHycHycHycHycHycHycHycHyaafcHdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYaaactYctYctYctYctYaaactYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaafaaaaafaafcxfaafaaaaafcxfaafaaaaafcxfaafaaaaaaaaaaaaaaacIUcIVcJRcJScJTcLFcIKcLGcJWcJecJecJXcJXcJYcGtcJMcJMcHbcHbcJrcKbcJPcKccLHcKbcKkcKecKscKmcKucKtcKvcGtaaacHPcHPcHPcHPcJmcHPcHPcHPcHPcHPcHPcHPaafaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaabhObhObhObhObhObhObhObhObhObhOaaaaafbhPaYDbhQbjubjqbjvbnRbkPbbWbjvbjwbjCbjBbjGbhYbhZbgwbbZbbZbbZbiabfabbZaTSaTSaTSaTSbeWbibbicbjOaTSbiebifbdPbigbihbiibgDbijbdPbfibikbgFbgGbgGbgGbilaMbbimaSzbctbjQbiobipbfjbirbisbfBbiubivbdYbebbiwbixbiybiybiybgYbgebebbedbiAbiBbiCbgQbiEbgZbiGbiHaJibiIbiJbiKbiLbiMbiNbiObiObiPbiQbiRbiSbiSbiSbiTbiSbiSbiSbiSbiSbiUbiVbiVbiVbiWbiObiObiNbiObiObiXbiVbiVbiYbiSbiZbjabjbbiSbjcbiObiObiObiObiObiObiObiObiObiObiObiObiObjdbiTbjebiSbjfbjgbjhbjibjibjjbjkaZNaWRbjlaWTaWTaWUaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaabhObhObhObhObhObhObhObhObhObhObhOaZSaZTbjmbjnbjobgrbjpbjpbjVbjpbjpbjpbjrbajbajbajbajbaibbZbdDbjsbjtbgybbZaaaaaaaaaaTSaTSaTSaTSbjYaTSbjxbdObdPbjybjzbgDbjAbjZbdPbfibfmbkkbgGbgGbgGbjDaMbbjEaSzbctbkxbkAbgObhdbjIbjJbhfbjLbjMbdYbjNbkHbjPbiybkKbiybgVbkLbjSbedbjTbjUbizbjWbjWbjWbjXbkMaJibkNbkabkbbkcbkdbkebbFbkfbkgbkhbkibkjbkVbklbkmbknbknbkobewbewbewbewbewbkpbkqbkrbewbksbktbkubkvbewbkpbkwbkXbkybhFbewbewbkzbewbewbkYbkBbewbkpbewbewbewbewbewbewbewbewbewbhqbewbewbhFbkCbkDbkEbkFbkGbkZbkIbkJaafaaaaafaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaabhObhObhObhObhObhObhObhObhObhObhOblCblBblTblEbkObgrbGDbkQbkRbkRbkSbkTbkUbmdbmlbmlbmEbmxbbZbbZbbZbeZbmFbbZbajbajbajbajblaaXeaXeblbblcbldbleblfblgblhblibljblkbdPbllbfmblmbgGblnbgGbloblpblqaSzbctbdYblrblsbltblublvblwblxblybdYbebblzblAbmNbmHblDblAbiDbebbedbedblFblGblHblIbiCblJblKaJiblLblMblNaJiblOblOblOblOblOblOaZzaZzblPblQbZNcdMblQblPaZzaZzaZzaZzaZzaZzaZzaZzaZzaZzbmUaZzaZzaZzaZzaZzaZzbmVaZzbewbewblVblWbiFblOblOblOblOblOblXblYblYblZblYbewblYblZbmablYbmbblObmcbmcbmcbnbaRZbmeaRZaRZaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaabhObhObhObhObhObhObhObhObhObhObhObdubdvbjmbjnbmfbgrbmgbjpbmhbmibjpbjpbjpbnsbmjbmkbmkbnwbbZbdDbmmbeZbmnbbZbmobmpbmqbmrbmsbmtbmtbmubmtbmtbmvbdPbmwbnNbfgbmybmzblfbmAbfmbmBbgGbgGbjHbmDbnPblqaSzbnSbmGbmGbmGbmGbmGbmGbmGbnWbdYbdYbebbmIbmJbmKbmLbmKbmMbjKbebbedbedbmObnXbmQbmRbiCbiGbmSaJibcKaRqaRpaJibmTboibolbmWbmXbmYbmZbnabopbjRbndbnebjRboKbmCbnhbnibnjbmPboWbnmbnnbnobnpbnqbnrbpobntbntbnubYfaVJblOblObpsblObZMbZMblObnzbnAbnBblObZtbpwbZtblOblXblYbmbblObZnbpBbZnblObnGbnHbnIbnJbnKbnLbnMaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaabhObhObhObhObhObhObhObhObhObhOaaabpLbnObpSbeQbnQbgrbFcbGAbGCbnTbEYbFbbjpbqcbqgbnYbnZbnwbbZbbZbbZbbZbbZbbZboabobbocbodboebdPbdPbdPbdPbdPbdPbdPbWqbdPbdPbdPbogbdPbohbqtbojbgGbgGbgGbokblpblqaSzbqBbmGbombonbncbcEbvGbotbosbotaafbebboubovbowboxboybozbnfbebaafbedboBboCboDboEbiCbiGboFaJiboGboHaRpbXHboJbngboLboMbnkbqKboPboQboRboRboSboTboUboUboVbnlboXboYboZbpabpbbnnbpcbpdbpebpfbpgbphbpfbpibYfaVJbpjbpkbplbpmbpnbnybppbnCbnDbpqbqQbptboobrcblOaZzbrkbpxblObpyboqbpAbrubpCbpDbnIbpEbpFbpGbnMaaaaaaaaaaacaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaaaaaaaaaaaabgnbgobgpbgqbdvbpHbpHbpHbpIbpHbpJaZVbpKbrvbgrcLHbjpcLFcLGbpQbpRcLIbrwbrybrybrybrDbkWbpUbkWbkWbkWbkWbpVbpWbpWbpXbpYbdPbpZbqabqbbrIbqdbqebqfbrPbqhbqibqjbqkbmAbqlbojbgGbgGbqmbfmaMbblqbqnbqoaJubqqbqrbqrbxqborbshbxsbotaafbebbebbebbebbsjbebbebbebbebaafbedbqzboCbqAbsobqCbqDbqEaJibqFaRqaRpaJibqGbqHbqIbqJaJDbqLboPbqNboUboUboUboUboUboUbqObqPbsqboYbqRbqSboNbnnbqUbqVbqWbsrbpgbphbpfbqXbYfaVJbpjbqYbqZbqZbrabrbbsvbrdbrdbrdbrebrdbrfboObrhbribrjbsybnIbrlbpCbrmbrnbrobsBbnIbrqbpFbrrbnMaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaaaaaaaaaaabrsbrtbsHbtvbthbtBbtBbtIbrzbrAbgrbtkcLCcLDcLEbjpbjpbjpbajbrEbrFbrGbrHbrGbrGbrGbrHbrGbajbajbdPbdPbdPbtXbdPbrJbrJbrJbrJbrJbrJbqfbrKbrLbrMbrNbrObuibrQbrRbrSbrTbrUbrVbrWbrXbrYbrZaHBbsbbqvbsabsebscbotbosbotaafbsibuobskcLAbsmcLBbskbuxbsiaafbedbspbuTbspbedbedbedbuUaJibssaRqaRpbXHboJbngbstbsubuZbqLbswbqNbsxbvjbszbsAbvqbsCbqObsDbnibsEbsFbsGbvZbnnbsIbqVbpebpfbpgbphbpfbpibYfaVJbpjbsJbsKbsLbsMbplbsNbsObsPbsQbsRbsSbsTbsUbrhbsVbsWbsXbnIbsYbsZbtabtbbtcbtdbnIbrqbpFbtebnMaaaaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaaaaacaaaaaaaaaaaaaaaaaaaaabrsbtfbtgbwcbtibtibtibtjbtibtibgrcedcfkboAcdUbjpaaaaaaaaaaafaafbtnbtnbtnbtnbtnbtnbtnaaaaaabtobtpbtqbtrbtsbrJbrJbrJbrJbrJbrJbttbtubwgbtwbtxbtybtzbtAbfmbfmbwlbfmbfmbtCbtDbtEbtFbmGbtHbmGbmGbmGbmGbmGbwnbmGaafbtJcdTbtLbtMbtNbtMbtLbKfbtPaafbspbtQbtRbtSbwxbtUbspbtVaJlbtWbbmbwZaJibtYboibtZbuabubbucbudbuebufbxvbuhbxzbprbukbulbumbnibnnbunbpubupbnnbuqburbusbutbuubuubuvbuwbYfaXqbpjbxDbplbplbsMbuybuzbuAbpvbuCbuDbuEbuFbuGbrhbuHbuIbuJbnIbuKbuLbuMbtbbpCbuNbnIbpEbpFbuObnMaaaaaaaaaaaacHOaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabxHbeObxIbxIbuVbpHbuWbgnbgobuXbuWbgrbHQbjpbHRbvbbjpaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnaaaaaabvcbvdbrJbvebvfbvfbvfbvfbvfbvgbvhbvfbvibxTbvkbvlbvmbvnbvobfmbvpbgGbyobpzbvsbvtbvubvvbmGbmGbmGbvxbvybvzbvAbvBbvwaafbpObHNbvHbvJbvKbvMbvNbHObpOaafbspbqMbvQbxnbedbvRbspbvSaJlbvTbcLbvUaJibvVbvWbvXbvYbyObucbIvbJVbyUbwdbwebwebwfbzrcdWcdVbwjbwkbzHbwmbwkbwkbwkbwkbzJbwkbwkaXKaXKaXKaXKaVJbpjbsJbsKbsLbwobwpbwqbwrbwsbwsbwsbsSbwtbqTbwvbwwbzNbwybnIbwzbwAbwBbwCbpCbwDbnIbwEbwFbnMbnMaaaaaaaaaaaaaafbuPbuQbuRbuQbuRbuQbuSaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbwMbwNbwObwPbrJbwQbrJbwRbwRbwRbwSbwTbrKbrJbrJbrLbwUbwVbwWbwXbrpbzObxabgGbgGbugbxcbvtbvubxdbxebxfbzPbujbxibxjbxkbxlbvwaafbxrbvFbvEbxmbyLbxobvObvIbxraafbspbqwbAebuBbedbAobspbtVaJlbxwbcLaRpaJibxxbxybAtbxAbxBbxCbAubxEbxCbxFbxGbAxbxFbwkbAAbxJbwkbwkbxKbxLbxMbxNbAFbxPbxQbxRbxSaXKbaybvraXKaVJbpjbxXbqZbqZbxYbxZbppbyabwsbwsbwsbsSbwtbybbwwbvDbUabTQbwwbyfbygbyhbyibpCbvLbnIbrqbykbnMaaaaaaaaaaaaaaaaafbwGbwHbrgbwJbwJbwKbwGaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbALbypbALbyqbyrbwQbrJbrJbrJbysbrJbwTbrKbytbdPbdPbyubgGbrNbwXbyvbywbyxbyybyybyzbyAbyBbyCbyDbvsbyEbvPbyGbxkbyHbyIbyJbvwaafbxrbxrbxrbxrbvCbxrbxrbxrbxraafbyNbyNbyNbyNbyNbyNbyNbAVaJibyPblMblNaJibwbbyRbyRbySbyTbxCbAXbyVbyWbyXbyYbyZbzabwmbzbbzcbzdbzebzfbzgbzgbzhbzibzgbzjbzkbckbaAbwubclbBqbcnbBsbzsbztbzubzvbzwbppbzxbpqbpqbzybsSbwtbzzbzAbzBbzCbzDbzAbzEbzFbzGbBtbzIbwwbwwbBwbnMbnMbzKbzLbzLbzLbzMbCJbylbymbrgbwJbrgbynbuRaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaacaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbBxbzQbBxbzRbrJbwQbrJbzSbzSbzSbzSbwTbrKbzTbzUbdPbBAbgGbrNbBEbzWbzXbzYbgGblnbgGbzZbAabAbbAcbAdbyEbwIbAfbxkbxkbxkbAgbvwbAhbAhbtKbAhbtTbuYbtObAjbvabAjbAjbyNbAkbAlbAmbAnbBJbApbAqaJibAraRqaRpaJibxbbwYbxhbAvbAwbBKbAybAzbBSbABbACbADbAEbBXbAGbAHbAIbAJbAKbAIbxtbAMbANbAObnvblUbsdbCcbsgbsfbaAbPObpjbxubxUbAYbAZbAZbppbBabBbbBcbppbBdbBebBfbBgbBhbBibBjbBkbBlbBlbBmbBnbBobTHbCdbBrbCnbCobTIbBvbCrbCAbCwbCEbwGbwJbrgbwJbwJbCHbwGaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbBCbwNbBDbCIbrJbwQbrJbrJbrJbrJbrJbwTbrKbzTbBFbdPbBGbgGbBHbBIbgGbCKbgFbgGbgGbyjbvsbvtbAbbAcbAdbyEbvwbBLbBMbBNbBMbBObvwbBPbsnbtmbtlbqsbqxbqybrxbrCbslbBVbyNbBWbzmbBYbBZbCabCabCbbCYbAraRqaRpaJibAsbCebCebySbCfbxCbCgbChbxCbCibCjbCjbCkbwkbClbCmbwkbwkbwkbwkbwkbwkbDcbwkbwkbwmbDeaXKaXKaXKaXKbDfbpjbwwbzAbzAbzAbzAbzAbzAbzAbzAbzAbzIbDgbCsbCtbBhbCubCvbDwbCxbCxbCxbCybCzbDIbCBbCCbCDbDKbTGbCGbDYbCGbEibEjbBzbuQbuRbEkbuRbuQbBBaafaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbBxbzQbBxbCMbCNbCObrJbrJbrJbCNbrJbwTbrKbzTbCPbdPbCQbgGbrNbwXbgGbqlbCRbgGbgGbEpbxcbvtbAbbCTbxcbCUbvwbCVbErbCXbAWbxlbvwbCZbDjbDibAhbEVbEVbEVbAjbEubEUbEsbyNbDkbDlbDlbDmbDnbDobDpaJibDqbDrbDsaJibDtbEwbDvbECbDxbDybDzbDAbyWbDBbEKbCjbDDbwmbDEbDFbwmbDGbDHbELbDJbEMbDLbDMbCpbDNbDObBTbDQbDRbCpbVLbVMbDUbVAbDWbDXbDXbERbDZbEabEbbEcbEdbEebEfbEabEgbEhbCvbEXbEWbEZbwwbwwbwwbwwbwwbFobFabEnbzKbzMbCJbEobFrbCJbzKbzLbzMbFFbCJbFVaafcHOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbGfbExbGfbEybEzbEAbEAbEAbEAbEAbEBbGgbEDbzTbEEbdPbEFbEGbEHbEIbEJbGibGhbGkbGjbGvbtCbENbAbbEObEPbyEbvwbEQbGubESbBMbETbvwbDdbDbbDhbAhaaaaaaaaabAjbBUbCLbDabyNbFdbFebFfbFgbDnbDobFhaJibxwaRqaRpbGEbFjbFkbFlbFmbFnbGWbFpbFqbxCbxFbxFbHabxFbwkbFsbFtbFubFvbFwbFxbDJbFybDLbFzbFAbFBbDObFCbFDbFEbHibVlbDXbHjbVAbFJbDXbDXbFKbFLbFMbFLbFLbFNbFObFPbFQbFRbFSbCvbHlbFUbHmbFWbFXbFYbFZbGabGbbGcbGdaafaafbCJbGebHMbHMbHPbHUbHSbHVbEvaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbGlbGmbGnbdPbdPbGobwNbwNbwNbGpbdPbdPbGqbGrbGsbdPbGtbGtbGtbHZbGtbGvbGwbGxbGybGzbtCbvtbAbbIfbGBbtCbtGbtGbtGbtGbtGbIobtGbtGbtGbBQbtGbtGbtGbtGbtGbBRbtGbtGbtGbtGbtGbtGbtGaJiaJiaJiaJibxwaRqaRpbGEbIAbFkbCSbGGbCWbGIbGJbGKbGLbGMbGNbCjbGObGPbGQbGRbGSbGTbGUbGVbIBbGXbGYbGZbIDbHbbHcbHdbHecLNbCpbUSbUfbwwbwwbwwbwwbwwbIMbwwbwwbwwbzAbIUbzAbzAbHkbBhbCubCvbHlbIXbJbbHnbHobHpbHqbGabGbbGcbHraaaaaabCJbHsbHtbEobCAbBybJqbJrbCJaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnaaaaaaaaaaaaaaaaaaaafaaaaaaaaabHuaafaaaaaaaaaaaabGtbHvbHwbHxbHybGvbHzbJDbHBbHCbtCbvtbAbbAcbAabHDbHEbHFbHGbHHbHIbHJbHKbHLbyQbAibzVbxpbAabAabxObyKbyMbAabHTbAabzZbHHbKJbHWbHXbHYbKobxwaRqbDsaJlbDtbDubDtbDCbDPbxCbIbbIcbIdbIebKzbIgbIhbIibIjbIkbwmbIlbImbInbDJbDTbElbIpbIqcLMbFDbIsbItbIubCpbKBbIwbIxbIybUdbLybKUbICbKVbUcbIFbIGbIHbIIbIJbzAbIKbCubCvbLnbLabINbIObIPbIQbIRbGabGbbISbEnbEnbEnbCJbCJbCJbLzbLxbCJbCJbBybCJaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaaaaaaaaaaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnaaaaaaaaaaaaaaaaaabnVaaaaaaaaaaaaaaaaaaaaaaaaaaabGtbITbEmbIVbIWbLIbIYbIZbJabLYbtCbvtbJcbJdbJebJebJfbJgbJhbJibJjbJgbJfbJebJebpTbJkbJlbpPbJnbJobpNbJebJebJpbJgbJhbJibJjbJsbJtbJubJtbJvbJwbvUaJlbEtbEqbFHbGFbMhbGHbDzbHAbFibDVbxFbMibCFbDSbDEbJGbwkbJHbJIbJJbDJbJKbJLbJMbJNbJObFDbJPbItbJObCpbJQbJRbIxbJSbJTbJUbMlbJWbMpbJYbIFbJZbKabKbbKbbzAbKcbKdbKebMqbKgbKhbKibKjbKjbKkbGabGbbKlbEnbKmbMCbKnbEnaafaafaafaafaafaafaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbKpbKqbKqbKrbKsbKsbKtbKtbKtbKtbKuaafaafaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnaaaaaaaaaaaaaaaaaaaaaaaabKvbKwbKxbKwbKyaaaaaaaaabGtbGtbMHbKAbIVbKAbMPbKCbMSbKDbKEbtCbKFbvtbKGbKHbAabKIbAabzZbHHbKJbAabKKbKLbKMbKNbKObAcbAabKPbKQbHLbKRbHLbHLbKSbKTbNfbNdbKWbKXbcLbKYaRpaRpaRpaJlbNkbFlbFnbNqbJmbNBbJybJxbFIbLgbLhbLibLjbHgbDEbIkbIabIzbHhbDJbDJbLobLobLobCpbLpbLqbLrbLsbLtbCpbLubLvbIxbLwbFGbLybNLbLAbLBbLCbIFbJCbLEbKbbKbbzAbRsbLFbCvbwwbLGbLHbNQbLJbLKbLLbGabLMbLNbLObLObLObLPbGdaaaaaaaaaaaaaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafbLQbLRbLSbLRbKsbKtbKtbLTbLUbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabLVbLWbLXbNZbLVbLZbMabMbbGtbMcbMdbMebMfbMgbOcbObbMjbMjbMkbtCbtCbtCbOdbtCbtCbtCbtCbtCbtCbtCbtCbtCbtCbtCbtCbtCbMmbMnbMobtCbtCbtCbtCbtCbOfbtCbtCbtCaJlaJlbOiaJlaKSaMpbMraJlbKZbJXbOnbGFbLdbxCbDzbLDbxCbMybMzbMAbMBbwkbOtbMDbMEbMFbMGbOIbMIbMJbMKbMLbItbJObFDbFDbMMbJObCpbMNbMObMObMObMObMObMObMObMObMObMObONbMQbMRbMRbzAbOQbMTbMUbwwbMVbMVbMVbMWbMXbMYbMVbMVbMVbMVbMVbMVbNabNbaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymbORbLRbLRbNebKtbKtbLTbLTbOTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabKxbNgbMsbNgbKxbNibNjbOUbNlbNmbNnbKAbNobNpbGvbPvbNrbNsbNtbGvbNubNvbNwbNxaaaaaaaaaaaabNybNzbNAbPAbNDbNCbNEbNFbNGbNHbNIbNFbNJbNKbPCbNMbNNbNObNPbPDbNRbNSbNTbNUbNUbNUbNUbDtbDtbDtbDtbMtbMtbxCbPFbOabPHbMzbMvbMubOebPSbOgbOhbPXbOjbMxbMwbOmbNhbMKbOobFDbFDbNVbJObJObOobCpbMNbMObOqbOrbOsbQjbOubOvbOwbOxbMObOybOzbOAbOAbzAbOBbOCbCvbzIbSPbUbbUkbUobUqbSQbSRbSSbTAbUwbVFbMVbQubEnbOObOObOObOObOOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabOPbKtbORbKtbKtbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabLVbNgbNgbNgbQXbQBbKAbOSbRebRdbKAbRvbOVbOWbGvbGvbGvbGvbGvbGvbOXbOYbOZbPaaaabPbbPcbPcbPdbPebPfbPgbPhbPfbPibNFbPjbPkbPlbNFbPmbNXbPobPpbPqbPrbPsbPtbPtbNSbPubRxbPwbPxbPybDtbNYbLbbRybGFbGFbRzbDzbRAbxCbRBbPEbRJbPGbwkbRWbPIbwkbOkbPKbPLbOlbPNbMKbCpbCpbCpbCpbCpbCpbCpbCpbPObMObPPbQYbPRbOsbOsbOsbOsbScbMObPTbLEbPUbPUbzAbBhbPVbPWbSgbPYbPYcaJbZPcaabWkcbebZOcbdbZObZubMVbQfbZebOObQhbSnbOpbQkaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbKsbKtbQlbQmbQmbLTbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabKxbMsbMsbMsbKxbQnbQobSubQqbQrbKAbKAbQsbQtbSwbQvbQvbQvbQvbQvbQvbQwbQxbQyaaabQzbQAbSEbQCbQDbPfbQEbQGbQFbPfbNFbQIbQJbQKbNFbQLbQMbQNbQObQPbQQbQRbPtbQSbPxbQTbNUbPxbPxbQUbDtbPnbGFbQVbSVbGFbPzbDzbLebRCbQZbPBbSWbRcbRGbDEbIkbSpbOkbPLbPLbOlbRfbMKbRgbRhbPJbRjbRkbRlbPMbRnbPObMObOsbOsbRobOsbOsbOsbOsbRpbMObRqbLEbRrbRrbzAbRsbRtbRubTgbRwbTOccvcelcjtcjvcLJcLKcLLcctcbgbUPbREcbfbUWbRHbRIbQibRKaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabKtbKtbRLbLTbLTbLTbLTbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaabLVbRMbRNbRObLVbRPbMabMbbGtbGtbRQbRQbRQbGtbGtbNxbRRbRRbRSbRSbRSbRSbNwbQyaaabRTbRUbRVbVjbRXbRYbRZbSabSbbSbbVkbSdbSebVmbNFbPtbPtbPtbPtbPtbVvbPtbPtbShbSibSjbNUbPxbSkbSlbDtbQHbLbbQVbSmbVybPzbSobJAbJBbSqbRabSsbStbJzbFsbSvbIEbSxbRibRbbSAbSBbMKbRmbSDbVObRjbSfbSGbWgbRnbPObMObMObMObRobOsbOsbOsbMObMObMObSIbSJbRrbRrbzAbSKbSLbCvbzIbXpbXabXibWkbWobVGbWibURbVzbUObUGbMVbQfbWMbOObSXbSYbSybTaaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbKtbLTbLTbLTbLTbLTbLTbTbbLTbTcbLTbLTbLTbLTbLTbKtbKtaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabTdbKwbTebKwbTfbWVaafaaaaaabGtbThbTibTjbGtaaabNxbTkbTlbTmbTnbTnbTnbTobQyaaabQzbTpbTqbTrbTsbPfbTtbTvbTubTwbNFbSzbTybTzbXcbTBbTBbTBbTCbTCbTDbTEbULbPxbPxbTFbNUbNUbNUbNUbDtbDtbLfbLkbLcbDtbTJbTKbTLbJFbJEbTJbPHbLlbLmbTRbTSbTJbMKbMKbMKbMKbMKbMKbTTbTUbTVbRjbTWbTXbTYbRnbPObMObTZbQWbPQbXfbXebNWbNcbTZbUgbUhbUibIIbIJbzAbIKbSLbUjbwwbMVbMVbYzbYMbMVbMVbMVbMVbXubSCbVFbMVbXqbUnbOObUpbXvbUrbOOaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabKtbUsbUsbUsbUsbUsbUsbUtbLTbUubUsbTcbLTbLTbLTbLTbKtaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabnVaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbUvbNxbNxbNxbNxbRSbXxbNwbUxaaabUybPcbPcbUzbUAbPfbPfbUBbPfbSFbNFbUDbSHbSTbNFbSUbSUbSUbSUbSUbSUbSUbSUbUHbUIbUJbUKbUKbUMbNUbDtbUNbSZbTxbUQbYabwabUTbUUbTMbYobTNbUTbUYbUZbVabVbbUebTPbVdbVebVgbVhbVibUlbYtbUmbRjbUCbYwbUCbRnbPObMObVnbUFbVpbVqbVrbVsbVtbVubUgbzAbYHbzAbzAbVwbCxbSLbCxbVxaafbnxbOJbOHblSbVBbOMbOKbOLbPZbUVbMVbVHbVIbOObVJbVKbVKbwhaaLaaLaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwibLRbLRbLRbLRbLRbLRbLRbVNbLUbLTbLTbLTbLTbYSbLUbKuaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabVPbVQbVQbVRbVSbNxbVTbRSbVUbNxaaaaaaaaaaaabNybVVbVWbVXbVZbVYbPfbNFbWabWbbNIbNFbSUbUXbVfbVcbVDbVCbVEbSUcaqcaqcaqcaqcaqbTFbWjbYYbWlbWcbWdbYZbWpbxgbWrbWsbWtbWubWtbWvbWtbWwbWxbWybWzbWAbWBbWAbWCbWDbWEbWFbWGbWebWIbWfbWKbWLbZbbxVbMObxWbZcbzlbWSbWTbWhbWSbWSbZibWWbWXbWYbWZbCxbCxbSLbCxbFTaafbnxbQabQabXbbZrbXdbZsbQbbXgbXhbMVbVHbQcbOObOObOObOObOOaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabKtbQmbQmbQmbQmbQmbQmbXkbLTbQlbQmbXlbLTbLTbLTbLTbKtaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXmbZvbWmbZzbRSbZBbXrbRSbXsbNxaaKaaaaaaaaabNybNybNybNybNybNybNybNFbUDbUEbXtbNFbSUbWnbWJbWHbWHbWJbWRbSUbXnbWUbWUbXocaqbXBbDtbDtbXCbXDbXEbXFbXGblRbXIbXJbXKbXLbXMbXNbXObXPbXQbXRbXSbXTbXUbznbzpbzobAPbzqbARbAQbATbASbZCbAUbYfbYgbIwbYhbVobCqbWObWNbWPbYmbYnbZLbYpbYqbYrbYsbZVbYrbYubYvbILaafbnxbOEbODbrBbVBbMZbHfbIrbOFbYAbMVbVHbYBbYCbUnaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbKtbLTbLTbLTbLTbLTbLTbTbbLTbXlbLTbLTbLTbLTbLTbKtbKtaafaaaaaaaaaaaaabgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabYDbVQbVQbVRbYEbYFbYGbNxcanbNxbYIbYJbYKbYIbYIbYLcaxbYNbYObYPcaWbXwbXzbXybYebXAbYjbWJbYybYxbYRbYQbYTcbibYVbYUbYXbYWcaqbZhbNScbjbZjbZkbZlbZlbZmbnEbZobZpbTJbTJbZqcbkbTJbTJcbncbmcbrcaIcbtbWQbZxbZycbybZybZAbZacbAbZabZAcbDbYfbMNbIwbZEbXWbXVbZdcbJbZJbZKbMObMObwwbwwbwwbwwbwwboIbnFbofbwwbMVbMVbMVbMVbMVbMVbMVbMVbMVbMVbMVbMVbOGbZQbZRbUnaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabKtbKtbRLbLTbLTbLTbLTbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaambZSaamaamaamaamaamaaaaaaaaaaaaaaaaaaaafaafaaabZfbZgbZgbZgbZHbZgbZgbZTbZIbYIbZYbZZbYIbZUcabcbLcadbZWcafcbObZXcaecaccahcagcaibWJbYycajcakbYQcalbSUcaqcaqcaqcaqcaqcarbNSbDtcascatcbQcamcawcbWcaycazbTJcaocaBcaCcaDcaEcaFcaGcaHcaIbZxbWQcapbZycaKcaLbZAcaMcaNcaObZAbXXbYfbPObIwbXYcccbXZbXYbXYbIwbIwbIwcaRcaScaTcaUcaVbwwbwwccnbwwbwwcaXcaYcaucaAcavbRDcaZcbacbcbQebQdbQpbQgcbhbUnbUnbUnaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbKsbKtbUubUsbUsbLTbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabgaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafcbbccuccrcblccEccJccGcbpcbobYIccMcbsbYIbYIccQcbucbvcbwcbxccScbqbXzbXybYecbzccYbWJbWJcbBcbCbWJcdjbSUcbFcbGcaqcbHcaqbTFcbIcbIcbIcbIcbIcbIcbIbTJcdmcbEbTJcbKcbMcbNcdpcaEcbPcdBcdNcaIbZxbWQcbRbZycbScbTbZAcbUcbVcdYbZAccqbYfbYbbYdbYcbYiccsccAbYccdZbYkbYlcktbZDbZwbZFcktcebbZGccCccBcecccDccPccFceicefbSNbSOcefcerbSMbSrbRFccwccxccycczbUnbUnbUnbUnaaaaafaaaaaaaaaaahaahaahaafaaaaaaaafaaaaaaaafaaaaaabOPbKtbORbKtbKtbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafccRccRccrccTceuccJccUccWccVbYIcevccHccIcexccKccLceCccNccOceHccXcdaccZcdecdbceIcdycdQcdFcekceecemceKcdccddaJEcdfcaqbTFcbIcdgcdhcdicfecdkcdlcficdncdocfjcdqcdrcdscdtcaEcducdvcdwcaIbZxbWQcenbZycdxceobZAcdzcdAcepbZAcaPbYfbYfcaQbYccbYcbXcbZbYcchBccacjfcdLcdLbyFbBucdLcdOcdPceqcdRcdOcdSbBpbyebydcdScdScdScdScfmbyebydcdScdSbXjcdXcfucfsceacfGcfLcfIbycbycbycbycbycbycbycbycbycbycbycbycbycbycbycbyccfMcegcegcehbKtbKtbLTbLTcfRbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacejcejcejcejcejcejcejcetcesbYIbYIbYIbYIbYIcgecgmcgfcgfcgfcgocewbXzbXybYeceybYjceEceTceSceWceUceXbSUcezaJFceYaJFcaqbTFcbIceDcfacfacfaceFceGbTJcgCcgBbTJcbKcbNceJcdpcaEcgOceLceMcaIbZxbWQceNbZyceOcePbZAbZAbZAbZAbZAccbceRbYfcaQbYcccdcgRbYcbYcchBccecjfcdLceZcfbcfbcfccdOcfdchbcffcdOcfgcfhcfhcfhchichnbpMcflchpcfncfocfpcdScfqcfrchqbUnbUnbUnbUnaaaaafaaaaaaaaaaahaahaahaafaaaaaaaafaaaaaaaafaafaafcftcfBcfvbNebKsbKtbKtbLTbLUbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaafaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafcejcfwcfxcfycfzcfAcejcfDcfCcfFcfEcfHchuchzchzcfKcfJcfJchLchPcbqbXzbXybYecfNcaicfOcfQcfPcfUchScggbSUaJFaJFcaqceBcaqbTFcbIcfVcfWcfWcfWcfXcbIcfYcfZcgacfYcgbcgccgdcifcaEciyceLcgicaIcghccfcgjbZycgkcglbZyciCbLvbVicgnccgcchbYfccjcciccicckcclcclcclcclccmcdLciLcgycgycgzcgActscgrcgpcgucgtcgGcgGcgGcgxcgIcgIcgJciPcgLcgDcgMcdScgNciVcgPcgNaaaaaaaaaaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafcgQbKqbKqbKrbKsbKsbKtbKtbKtbKtbKuaafaafaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaafaafaafcgEcgEcgEcgEcgEcgEcgEcgEcgEcgEcgEcgEcgEaaaaaacgScgTcgTcgTcgUcgVcejcgHcgFcjacgKcgXcgWcgZcgYcjlchachdchcchfchechhchgchjcjqbSUbSUbSUbSUbSUbSUbSUbSUcLOcLPcaqcjCcaqbTFcbIcbIctpctqctrcbIcbIchrchschtcfYcaEcaEcaEcaEcaEcaIchkchlcaIchwcjIchwbZychychmbZychAchBbVichCbVichDbYfccobYfbYfccpcdCcdCcdCcdDbYfcdLchIchJchJchKcknchMchochOckochQckLckLckLckLckCchvckLckFckLchEchFcdSchZciachGcgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaaaaaaaaaaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacgEchHckNchHcgEchNckQchNcgEchRclfchRcgEaaaaaaciicgTcgTcgUcgUcijcejchUchTchWchVchYchXcidcicclgcieciecigciecbqbXzcihbYecikcimcilciocinciocipcirciqciqciAciAciAciAbTFciGciHciIciIciJciKclpciMciXciOcluciQciRciSciSciTciUcaIcaIcaIclCcdEckqbZybZybZybZychBchBbViciYbViciZbYfccobYfaaaaaaaaaaaaaaaaaaaaacdLcjgcisciucitcjjcjkcivcjmcjncjociwcjocjocixcjrcjscgIclGcgIciWcjucdSclVcjwcjxcgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacgEchHcjbchHcgEchNcjcchNcgEchRcjdchRcgEaaaaaaciicgTcgUcgUcgUcjBcmgcjhcjechWcjicjpcmkcmwcmpcjzcjycjDcjAcjEcbqbXzcjFchjcjGcmGcjHcjJcjJcjJcjKcjMcjLcjNcmPcjOceAciAbTFciGckaciIckbckcckdcubckfckgckhctQckjckkcklciSckmciUcmQcmRckpcjQcjPcdHcdGcdIcdIcdJcdIcdKbVibVibVibVibYfccobYfaaaaaaaaaaaaaaaaaaaaacdLcmXcjRcjTcjSckEcdOcnecdOckGckHcjXcjUcjUcjYcgIcgIckecjZcjUckickOcdSckPcnfckRcgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacgEckrckuckscgEckzckBckAcgEckDckJckIcgEaaaaafciiclbcgTcgUcgUcgUcejckMckKchWchWcngchWchWchWchWckTcieckWckYcbqclackZcldclccnhcleclhclhclhclicljcljclkciAcllcgqclwclxciGclyciIclzclAclBcnuclDclEclFcnwclHclIclJciSclKciUcnEcnFclNclnclmclQclNclRclSclTbYfceQcdIcdIcdIcdIcdIcltbYfaaaaaaaaaaaaaaaaaaaaacdLcmacmbcmccmdcdOcmecmfcnIcdScmhcmicmicmiclvcnKcmlclPclOcmicmicmncdScmocnLcmqcmraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaafaafcgEclXcmmcmjcgEcmscmmcmtcgEcmscmmcmtcgEaaaaafcmzcgTcgTcgUcgUcmAcejcmvcmucmxcnNcmBcmycmCcmCcmEcmDcmCcmFcnPcbqcmIcmHcmKcmJcimcmLcmLcmMcljcmNcnQcmOcmOciAcibceVcolcqgciGcnbciIcnccndconciGcmSciNcmWcfYcoqcnicnjciScnkciUclLclMclNcnlcorcnlclNaaaaaaaaabYfbYfbYfcnnclSclSclTbYfbYfaaaaaaaaaaaacdOcdOcdOcdOcdOcdOcdOcdOcdOcnocnpcnqcdScdScnrcnscntcdScdScdScdScotcnscntcdScdScnvcpdcnvaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabZSaafaafaafaaaaafcnxaafcnxaafcKBaafcKAaafcKBaafcKAaafaafaaacejcnAcnBcgUcgUcnCcnDcpgcpfcnycnmcpocnzcnzcprcnzcnGcpAcnHcnGcnJcqecpOcqrcnMcnOcnOcnOcnOcqtcqscnRcnRcnRcgscgscgscgscnSciGcnTcnUcnccnVcnWciGcmSciNcnXciUcnYcnZcnjcoacobciUclLclMclNcoccodcoeclNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaacdOcofcogcohcwlcojcokcqAcomcqDcopcoocdOaaLaafaafaafaafaaaaaaaaacqIaaaaaaaaaaafcoscqOcosaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaafcoucowcovcoxcovcowcoycoxcoAcoBcoycoDcoCcoFcoEcnycnycnycnycnycnycnycnycoHcoGcoJcoIcoLcoKcoNcoMcoOcnGcoQcoPcoRcnGcoTcoScoUcnOcoWcoVcoYcoXcpacoZcpjcpbcpbcpkcpncpncpjcrvciGciGcpccrzciGciGciGcpeciNcrQciUciUciUcsdcphciUciUclLcpiclNcvmcpscvmclNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaafaafcdOcplcpmcplcsfcsecppcpqcomcomcsgcomcdOcdOaaaaaaaaaaafaafaaaaacaaaaaaaaaaaaaafaaacsiaaaaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaaaaaaaaaaafcptcpvcpucpxcpwcpvcpycsncpzcpCcpBcpEcpDcpHcpFcpLcpJcpNcpMcpQcsDcpUcpTcpWcpVcpYcpXcqacpZcqccqbcsLcqdcsMcqfctbcqzcoTcqJcqKcnOcpacpacpacpacpacqMcpjcqPcqPcqPcpncpncpjbTFcrYciGcqhcqicqjcqkciGcqlciNcqmciUcqncqocqpcqqciUctcclLcpiclNcticqQcquclNaaaaaaaaaaaaaaaaaacqvcqwcqxcqycqvaafaaaaaaaaaaaacdOcplcplcplcoictkcqBcqCctmcqEcqFcqGcqHcdOaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaafaaacmZaaaaafaafaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaafcqRcpFcqScqVcqUcpFcqWcpFcqXcqYcqWcpFcqXcqYcpFcpFcpFcpFcpFcqZcpFcpFcpFcrbcracrdcrcctxcpZcrfcrecrhcrgcrjcricrlcrkcoTcqJcrmcnOcrncpacpacrocpacrpcpjcrIcrKcrJcrKcrLcpjbTFcrqciGcrrcrscrtcructBcrwcrxcryctIcrAcrBcrCcrDciUcrEcrFcrGcrHcqvctOcqvcrHaaaaaaaafaaaaaaaaacqvcrRcrTcrScqvaafaafaaaaaaaaacdOcomcomcomcomcrMcppcrNcrNcrNcnpcrNcrOcdOaaaaaaaaaaaaaaacrPcrPcrPbZSaafaafaafaafcnaaafaafaafaafaafaaqcrPcrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaafaafaafcptcpFcrccpFcrccpFcqWcpFcrUcrWcrVcrWcrXcrWcrWcsacrZcpFcpFctTctSctSctScuactVculculcurcpZcuycshcsjcnGcsmcskcuEcnGcspcsocsrcsqcstcsscsvcsucpacswcpjcsxcrKcsycrKcsKcpjbTFcizciGcszcsAcsBcsCciGcfYcuLcfYciUcsEcsFcsGcsHciUcsIcrGcrGcqvcsJcsNcuUcqvcqvcqvcqvcqvcqvcqvcqvctMctDctNcqvcqvcqvcrHaaaaaacdOcofcogcohcslcsRcqBcrNcrNcrNcnpcrNcsScdOaaaaaaaaaaaaaaacrPaaaaafaaaaafaaaaaaaaackxaaaaafaafaaaaaaaaaaaacrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaafaaaaaacptcpFcrccpFcsOcsTcsQcsVcsUcsWcrVcrWcsXcrWcrWcsZcsYcvlcuYcvnctactectdctdctfcrccrccthctgctjcvscnzcnGcvtcnGcnGcnGcvvctlcsrctncttctoctyctucpacvEcpjcvGcrKcsycrKcvOcpjctvctwciGciGcvRciGciGciGciBctzctAciUciUciUcwaciUciUcsIcrGaaacqvctCctZctEctFctGctHcwzctJctKctLcqvcuVcwHcuVcqvcwUctPcqvaafaafcdOcplcplcplcwWcsectRcuccwZctUcudcrNctWcdOcdOcdOcdOaaaaaacrPaaactXctXctXctXctXaafckxaafctXctXctXctXctXaaacrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacptcpFcsOcsTcsTcsTcsQcsTcsTcsTcsQcsTcsTcsTcsTcsTcuecxqcsTcxrcsTcufcsTcsTcsTcuhcugcuicpvcpFcujcxscukcuncumcupcuocumcuqcuscxFcuucutcutcuvcutcuwcxJcuxcuAcuzcuBcuBcpjcuCcuDcxRcuFcuFcuGcuHcuIcuJcuJcuJcuJcuJcuJcuJcuJcuKcrFcrGaaactFcxVcuPcuNctFcuOcuRcuQcuQcvdcvacuQcuQcvhcuQcuVcuXcuQcqvaaaaaacdOcplcplcplcslcyacuZcvicvbcvccvjcrNcrNcvecvfcvgcdOaafaafcrPaafckVckSckSckSckSckyckxckwckvckvckvckvckUaafcrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacptcpFcpFcpFcpFcpFcqWcpFcpFcpFcqWcpFcpFcpFcpFcpFcqXcpFcpFctxcpFcvkcpFcyccybcvpcvocvrcvqcygcvqcyhcvucvxcvwcvycvucvucvzcvAcqtcvBcpacvDcvCcpacpacyicrKcrKcvFcuBcuBcpjbPxcAscvNcvNcvNcvNcymcvNcvNcvNcvNclMcvPcrGcrGcrGcrGcrGcrGaaactFctFcypctFctFcyrcvScvTcvUcvVcvHcvJcvIcvLcvKcyzcwbcwccqvaaaaaacdOcomcomcomcomcwdcppcvicwecwfcvQcrNcrNcwhcrNcwicdOaaaaaacrPaafcwjcwjcwjcwjcwjaaackxaaacwjcwjcwjcwjcwjaafcrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaabZSaaaaaaaaaaaacptcpFcpFcpFcpFcpFcqWcpFcpFcpFcqWcpFcpFcpFcpFcpFcqXcpFcpFctxcpFcvWcpFcpFcvWcvWcvXcpFcpFcvZcvYcwgcwgcwgcwgcwmcwkcoTcwocwpcsqcwqcpacwscvCcpacwtcpjcwucrKcwvcwxcwwcpjcyHcvMcvNcwIcwJcwKcwLcwMcwNcwOcvNcwPcwQcrGaaaaaaaaaaaaaaaaaacqvcwRcwycwAcyJcwCcwBcwEcwDcwGcwFcwTcwScwVcyRcuWcuQcxecqvaaaaaacdOcofcogcohckXcsRcuZcxgcxhcxhcxicxjcxkcyScxmcxncdOaaaaaacrPaaaaafaaaaafaafaafaaackxaaaaafaaaaafaaaaafaaacrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacptcpFcpFcpFcpFcpFcwXcpFcpFcpFcwXcpFcpFcpFcpFcpFcqXcpFcpFcyZcwYcxbcxacxacxbcxccxbcxlcxdcxocxaczBcxpczLczFcxtcwkcoTcxucoTcxvcxwcpacpacxAcpacxBcpjcxCcxCcxDcwxcwwcpjbPxcvMcvNcxKcxLcxMcxNcxOcxNcxPcvNcxQczMcrGaaaaaaaaaaaaaaaaaacqvcxScxTcxUczVcxWcxXcxYcxZcuTczXcuScxEcuTcAHcqvcqvcqvcqvaaaaaacdOcplcpmcplcAJcsecppcrNcrNcyecyfcrNcAUcomcomcomcdOaaaaaacrPaaactXctXctXctXctXaafckxaafctXctXctXctXctXaafcrPaaacBkaaaaaacBkaaaaaaaaacBkaaaaaaaaaaaaaaacBkaaaaaaaaacBkaaaaaacBkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaaaaaaaaacptcpFcsccsbcsbcxHcxGctScBmctScxIcBmctSctSctSctScBnctScBqcuacBscvWcpFcpFcyjcylcykcyncBzcyocpFcBIcyqcyscyscyucytcoTcxucyvcnOcywcpacyxcpacBOcyycpjcpjcpjcpjcpjcpjcpjbPxcvMcvNcyMcyNcxLcyOcxLcxNcyPcvNcyQcBRcrGaaaaaaaaaaaaaaaaaacqvcuVcBSctFctFcyTcyAcyVcyWctMctDctNcyBctMcvhcyYcqvaaaaaaaaaaaacdOcplcplcplckXcCcczacrNcrNcrNcyfcrNczbcrNczccrNczdaafaafcrPaafckVckSckSckSckSckyckxckwckvckvckvckvckUaafcrPaaacBkcBkcBkcBkaaaaaaaaacBkcBkcBkcBkcBkcBkcBkaaaaaaaaacBkcBkcBkcBkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaaaaaaaaacptcpFcqWcpFcpFcpFcwXcpFcpFcpFcwXcpFcpFcpFcpFcpFcqXcpFcyCcpFcyDcvWcpFcpFcyEcxccyFcyGcwgcCecwgcwgcyqcCfcyIcyKcytcoTcxucoTcnOcyUcyLczecyXczfcpacnOczgczJczJczhcCicCnczNczOcvNcxNczPczQcxNczRczSczTcvNczUcCNcrGaaaaaaaaaaaaaaaaaacqvczWcuMcCOcuVczYczZcAactFcAbcAccsPcyBczWczjcAecqvaaaaaaaaaaaackEcdOcAfcAgcAgczkcAicAjcAkcAlcAmcAncAocApcAqcokcAraaaaaacrPaafcwjcwjcwjcwjcwjaaackxaafcwjcwjcwjcwjcwjaaacrPaaacBkcBkcBkcBkaaaaaacBkcBkcBkcBkcBkcBkcBkcBkcBkaaaaaacBkcBkcBkcBkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaIaaaaaaczlcpFcqWcpFczmcrWcrVcrWczncrWcrVcrWczncrWcrWcrWczoczpczoczrczqcyFczsczucztczwczvczxcwgczzczycwgcwgcwgcwgcwgczAcqecCQcqecnOcnOcnOcnOcnOcnOcnOcnOczDczJczJczEcANcAObPxcAPcvNcAQcARcCYcATcDacAVcAWcvNcAXcAYcrGaaaaaaaaaaaaaaaaaacqvcuQcAZcAectFcBacBbcBcctFcBdcBeczHczGczIcBeczKcqvaafaafaaaaaaaaaaaabquaaacdOcBlcDpcDmcBocBpcDpcDtcBrcBpcDpcDNcdOaaaaaabZSaaaaafaaaaafaaaaafaaackxaaaaafaaaaafaafaafaafcrPaaacBkcBkcBkcBkaaaaaacBkcBkcBkcBkcBkcBkcBkcBkcBkaaaaaacBkcBkcBkcBkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabZSaaaaaaaaaaaIaaaaaacAdcpFcqWcpFcAhcylcqWcpFcAtcylcqWcpFcAucylcpFcpFcAvcpFcAwcylcAxcAzcAycABcAAcADcACcAEcwgcDOcAFcDUcAIcAKcumcAMcALcumcAScumcBfcuocBgcBicBhcBhcBjcEccBVcBWcBWcBXcBYcAObPxcBZcvNcvNcCacCbcErcCbcCacCdcvNcrGcEycrGaaaaaaaaaaaaaaaaaacqvctFcEBcuVctFcCgcChcEXctFcCjcCkcqycgvcBtcCkcCocrHaaaaaaaaaaaaaaaaaacgwaafcdOcCqcFeclUcomclscFgclqcomclocFrclWcdOaaaaaacrPaaactXctXctXctXctXaafckxaafctXctXctXctXctXaafcrPaaacBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaafaafaafaaIaafaafcAdcBvcBucBycBxcBAcFCcBCcBBcBEcBDcBGcBFcBHcpFcBvcFEcBKcBJcBMcBLcnycnycnycnycnycnycnycnycFFcBNczAcBPcBQcoTcFKcoTcoTcxucoTcoTcFLcoTcBQcBTcCpcBUcCrcFUcFWcFVcCPcGgcAObPwcCRcCScCTcCacAGcAVcBwcCacCtcCscCucGhcCXaaaaaaaaaaaaaaaaaacqvcCvctDcuQcGocDbcuQcDccDdcDeaafaaachxcCxcCwcCyaaaaaaaaaaacaaaaaaaaaaaaaaacdOcDhcplcplcomcDicplcplcomcDicplcplcdOaafaafcrPaafckVckSckSckSckSckyckxckwckvckvckvckvckUaafcrPaaacBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPcCzaaaaaaaaIaaaaaacCAcCCcCBcCEcCDcCGcCFcCHcCDcCGcCFcCHcCDcCGcCIcCIcCJcCHcCDcCGcCKcnyaaacCMcCLcCVcCUcCZcCWcDjcDgcDkcDkcGucDlcDocDncDqcGvcDncDqcDocDrcGAcDscDrczAczAcAOcGMcGEcDPcDQcAObNUcDRcDScDTcCacCbcGOcCbcCacDvcDucDfaafaaaaaaaaaaaaaaaaaaaaacqvcCvcDVcDwcDXcDXcDwcsPcDYcqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacdOcDZcplcplcomcEacplcplcomcEacplcplcdOaaaaaacrPaafcwjcwjcwjcwjcwjaaackxaaacwjcwjcwjcwjcwjaaacrPaaacBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPcClcqLcpIcDxcpIcpIcqLcpIcpPcpIcpGcpIcpPcpIcpGcpIcpPcpIcpGcpIcqLcpIcpRcpIcpGcpIcqNaafaaacDzcDycDBcDAcDDcDCcDjcDEcDkcDFcDHcDGcDJcDIcDLcDKcDWcDMcDJcEbcEdcHacDraaaaafcAOcHjcECcEDaafaaabNUbPxbPxbSkcCaclZcEFclYcCaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacqvcEecuXcEfcEJcEJcEfcuQcEKcqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacdOcplcplcplcomcELcplcplcomcELcplcplcdOaacaaacrPaaaaaaaafaafaafaaaaaacmTaafaaaaaaaafaafaaaaaacrPaaacBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaabgaaaaaaaaaaaaaaaaaaaaacrPaafaafaaaaaqaaaaaaaafcgEcmscmmcEgcgEcmscmmcEgcgEcmscmmcEhcgEaaacgEcEicmmcEhcgEaaaaafaaacDzcEjcElcEkcEncEmcEpcEocDkcEqcEscHCcDJcEtcEvcEucExcEwcDJcHVcEAcEzcDraaaaaacAOcIAcFhcFiaaaaaabNUbPxbPxbNUcCacmUcmUcmUcCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacqvcEEcFncuQcuQcuQcuQcuQcFocqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaackEcdOcdOcdOcdOcdOcdOcdOcdOcmYcmYcmYckEaaaaaacrPcrPcrPcrPcrPaaaaaaaaacmZaaaaaaaaacrPcrPcrPbZScrPaaacBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaaaaafaafaaIaaaaaaaafcgEcEGcEIcEHcgEcEMcEOcENcgEcEPcERcEQcgEaafcgEcEScEUcETcgEaaaaafaaacDzcEVcDBcEncEncEWcEYcIMcFacEZcFccFbcIRcFdcFjcFfcFlcFkcFpcFmcITcFqcDraafaaacFJcJhcIZcAOcJlaaabNUcFMcJpcFNcFOaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrHcqvcqvcFPcFQcEfcEfcEfcFRcFPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqpbqpbqpaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaafcfTaafcrPaaaaaaaaaaaaaaaaaaaaacBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaIaaaaafaafcgEcFscFtcFscgEcFucFvcFucgEcFwcFxcFwcgEaaacgEcFwcFwcFycgEaaaaafaaacDzcCLcFzcEkcEncDCcFAcDEcDkcFBcFDcJzcDJcJAcFGcJBcFGcFHcDJcFIcFTcFScDraaLcJFcJCcJVcJUcJCcJCcKdbNUciEciDcGjaafaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacGlcEJcEJcEJcEJcEJcGlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaaaaafaaacrPaaaaaaaaaaaaaaaaaacBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaIaafaafaaacgEcFscKocFscgEcFucKpcFucgEcFwcKqcFwcgEaafcgEcFwcKDcFwcgEaafaafaafcFYcFXcGacFZcGccGbcGdcDEcDkcGecKEcGfcDJcGicGmcGkcKFcGncDJcGpcGrcGqcDraaacKHcKGcKJcKIcKLcKKcKMcGFcGGcGHbNUaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacqvcCmcqxcqxcqxcCocqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPcrPcrPcrPcrPaaaaaaaaaaaaaaaaaacBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabZSaaaaaacgEcgEcgEcgEcgEcgEcgEcgEcgEcgEcgEcgEcgEaaacGscgEcgEcgEcgEaaaaaaaaaaaacBNcBNcBNcBNcBNcKNcGtcGtcGtcGtcKOcGtcGwcGycGxcGycGzcGtcGtcKPcGtcGtcGtcKHcKGcKRcKQcKTcKScKUaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaaaaaaaafaafaaaaafaafaaaaaaaafaafaafaaaaaaaaaaaaaaaaaaaafaaacGQcGRcGRcGRcGScGBcGDcGCcGIcKVcGKcGJcKWcGLcKXcGNcGTcGPcGVcGUcGXcGWcGZcGYcHbcKYcGYcGtcKHcKGcLacKZcKTcLbcLcaafaaacGQcHccGQcHccGQcHcaafcHdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafcHncjVcHpaaacHncjVcHpaaacHncjVcHpaafaafaaaaafaafaafaafaafcHqcGRcGRcGRcGScGBcHfcHecHhcHgcLdcHicHlcHkcHocHmcHscHrcHucHtcHucHucHucHvcHucHwcHxcGtcLecJCcJCcJCcJCcJCcLfaafaafcHycHycHycHycHycHyaafcHdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaabgaaacBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaacHncjWcHpaaacHncjWcHpaaacHncjWcHpaafaafaaaaafaaaaaacHKaafcGQcGRcGRcGRcGScGBcHfcHzcHBcHAcLgcHicHEcHDcHFcHbcHbcHbcHHcHGcHIcHbcHbcHDcHLcHJcHMcGtcGtcGtcHNaaaaaaaaaaaacHOaaacHPcHPcHPcHPcHPcHPaafcHdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafcHncjWcHpaaacHncjWcHpaafcHncjWcHpaafaaaaaaaafaafcIcaaaaafcHqcGRcGRcGRcGScGBcHRcHQcHTcHScLhcHUcHXcHWcHZcHYcHYcHYcIbcIacIdcHYcHYcIecIgcIfcIicIhcIkcIjcImcIlcIlcIlcIlcIlcIlcIncIocIncIocIncHyaafcHdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkcBkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaacHncjWcHpaafcHncjWcHpaaacHncjWcHpaaaaaaaaaaaaaafaafaaaaafaaaaaaaaaaaaaafcIpcIrcIqcItcIscIucGJcIvcHbcHbcHbcIxcIwcIzcIycIBcLicIDcICcIFcIEcIHcIGcINcIIcImcIOcIPcIOcIPcIOcIPcIOcIPcIOcIPcIOcHyaafcHdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacBkcBkcBkcBkcBkcBkcBkcBkcBkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaamaaIaafaaacHncjWcHpaafcHncjWcHpaaacHncjWcHpaafaaaaaaaaaaaaaafaafcIJcIKcIKcIKcIKcILcILcILcILcILcLjcILcGtcIQcHbcHbcHbcLkcGtcLlcIScLmcGtcLncJdcJicIfcJkcJjcLocGtaaacHPcHPcHPcHPcJmcHPcHPcHPcHPcHPcHPcHPaafcHdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacBkcBkcBkcBkcBkcBkcBkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaafaaaaafaafczCaafaafaafczCaafaaaaafczCaafaaaaaaaaaaaaaaacIUcIVcIWcIXcIYcJncJacJbcJcciFcJecJfcJgcJecGtcLpcJocHbcHbcJrcJqcJtcJscJucJqcJwcJvcIgcIfcJycJxcJLcGtaafcHycHycHycHycHycHycHycHycHycHycHycHyaafaanaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafcydcxzcxycxxcxxcxxcxxcxxcxxcxxcxxcxxcxxcxxczicxzcxzcxzcLrcLqcLtcLscLucJDcJEcLvcJGcJHcJHcJHcJIcJJcJKcGtcJMcJMcHbcHbcJrcJNcJPcJOcJQcJNcJwcHbcIFcJZcIHcHbcKacGtaafcHycHycHycHycHycHycHycHycHycHycHycHyaafcHdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYaaactYctYctYctYctYaaactYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaafaaaaafaafcxfaafaaaaafcxfaafaaaaafcxfaafaaaaaaaaaaaaaaacIUcIVcJRcJScJTcLwcIKcLxcJWcJecJecJXcJXcJYcGtcJMcJMcHbcHbcJrcKbcJPcKccLycKbcKkcKecKscKmcKucKtcKvcGtaaacHPcHPcHPcHPcJmcHPcHPcHPcHPcHPcHPcHPaafaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYaaactYctYctYctYctYaaactYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaamaaIaafaafcHncwrcHpaaacHncwrcHpaaacHncwrcHpaafaaaaaaaaaaaaaafaafcKfcIKcIKcIKcIKcKgcKhcKicKicKjcKgcKgcGtcGtcGJcGtcGtcGtcGtcGtcKwcGtcGtcGtcGtcGtcGJcGtcGtcGtcGtaafcHycHycHycHycHycHycHycHycHycHycHycHyaafaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacHncwrcHpaafcHncwrcHpaaacHncwrcHpaaaaaaaaaaafaaaaafaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaafaaacKxaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaacHqcKycHqcKycKzcKycHqcKycHqcKycHqcKyaafaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafcHncwrcHpaaacHncwrcHpaaacHncwrcHpaafaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaLaaaaaaaaaaafaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -7577,25 +7577,25 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaafcHncwncHpaaacHncwncHpaaacHncwncHpaafaaIaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaaaaafaaaaaaaaaaafaafaafaaaaaaaafaafaaaaaIaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKncKncKncKncKncKncKnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaamaaIaamaamaaqaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaacHKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKncKncKncKncKncKncKncKncKnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacLIaaaaaacLIaaaaaaaaacLIaaaaaaaaaaaaaaacLIaaaaaaaaacLIaaaaaacLIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKncKncKncKncKncKncKncKncKnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacLIcLIcLIcLIaaaaaaaaacLIcLIcLIcLIcLIcLIcLIaaaaaaaaacLIcLIcLIcLIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKncKncKncKncKncKncKncKncKnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacLIcLIcLIcLIaaaaaacLIcLIcLIcLIcLIcLIcLIcLIcLIaaaaaacLIcLIcLIcLIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabgcKncKncKncKncKncKncKncKncKnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacLIcLIcLIcLIaaaaaacLIcLIcLIcLIcLIcLIcLIcLIcLIaaaaaacLIcLIcLIcLIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKncKncKncKncKncKncKncKncKnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKncKncKncKncKncKncKnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKncKncKncKncKncKncKnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKncKncKncKncKncKncKncKncKnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKncKncKncKncKncKncKncKncKncKncKncKncKncKncKnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKncKncKncKncKncKncKncKncKncKncKncKncKncKncKnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKncKncKncKncKncKncKncKncKncKncKncKncKncKncKnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKncKncKncKncKncKncKncKncKncKncKncKncKncKncKnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKncKncKncKncKncKncKncKncKncKncKncKncKncKncKnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKncKncKncKncKncKncKncKncKncKncKncKncKncKncKnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKncKncKncKncKncKncKncKncKncKncKncKncKncKncKnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKncKncKncKncKncKncKncKncKncKncKncKncKncKncKncKncKnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKncKncKncKncKncKncKncKncKncKncKncKncKncKncKncKncKnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIcLIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKncKncKncKncKncKncKncKncKncKncKncKncKncKncKncKncKnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacLIcLIcLIcLIcLIcLIcLIcLIcLIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKncKncKncKncKncKncKncKncKncKncKncKncKncKncKncKncKnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacLIcLIcLIcLIcLIcLIcLIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKncKncKncKncKncKncKncKncKncKncKncKncKncKncKncKncKnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlaaacKlcKlcKlcKlcKlaaacKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacLzaaaaaacLzaaaaaaaaacLzaaaaaaaaaaaaaaacLzaaaaaaaaacLzaaaaaacLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKncKncKncKncKncKncKncKncKnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacLzcLzcLzcLzaaaaaaaaacLzcLzcLzcLzcLzcLzcLzaaaaaaaaacLzcLzcLzcLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKncKncKncKncKncKncKncKncKnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacLzcLzcLzcLzaaaaaacLzcLzcLzcLzcLzcLzcLzcLzcLzaaaaaacLzcLzcLzcLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabgcKncKncKncKncKncKncKncKncKnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacLzcLzcLzcLzaaaaaacLzcLzcLzcLzcLzcLzcLzcLzcLzaaaaaacLzcLzcLzcLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKncKncKncKncKncKncKncKncKnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKncKncKncKncKncKncKnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKncKncKncKncKncKncKnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKncKncKncKncKncKncKncKncKnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKncKncKncKncKncKncKncKncKncKncKncKncKncKncKnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKncKncKncKncKncKncKncKncKncKncKncKncKncKncKnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKncKncKncKncKncKncKncKncKncKncKncKncKncKncKnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKncKncKncKncKncKncKncKncKncKncKncKncKncKncKnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKncKncKncKncKncKncKncKncKncKncKncKncKncKncKnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKncKncKncKncKncKncKncKncKncKncKncKncKncKncKnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKncKncKncKncKncKncKncKncKncKncKncKncKncKncKnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKncKncKncKncKncKncKncKncKncKncKncKncKncKncKncKncKnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKncKncKncKncKncKncKncKncKncKncKncKncKncKncKncKncKnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzcLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKncKncKncKncKncKncKncKncKncKncKncKncKncKncKncKncKnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacLzcLzcLzcLzcLzcLzcLzcLzcLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKncKncKncKncKncKncKncKncKncKncKncKncKncKncKncKncKnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacLzcLzcLzcLzcLzcLzcLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKncKncKncKncKncKncKncKncKncKncKncKncKncKncKncKncKnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlaaacKlcKlcKlcKlcKlaaacKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKncKncKncKncKncKncKncKncKncKncKncKncKncKncKncKncKnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlaaacKlcKlcKlcKlcKlaaacKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKncKncKncKncKncKncKncKncKncKncKncKncKncKncKncKncKnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKncKncKncKncKncKncKncKncKncKncKncKncKncKncKncKncKnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa From 948252d25b63b5dc14d27f23215db9928a7921b0 Mon Sep 17 00:00:00 2001 From: Kelenius Date: Tue, 28 Apr 2015 11:00:56 +0300 Subject: [PATCH 011/305] Removes unused files added by accident, separates reagent files --- baystation12.dme | 6 + code/modules/mob/living/carbon/monkey/life.dm | 520 --- .../mob/living/carbon/monkey/monkey.dm | 287 -- code/modules/organs/organ_objects.dm | 275 -- code/modules/reagents/Chemistry-Reagents.dm | 3941 ----------------- .../Chemistry-Reagents-Core.dm | 198 + .../Chemistry-Reagents-Dispenser.dm | 376 ++ .../Chemistry-Reagents-Food-Drinks.dm | 1924 ++++++++ .../Chemistry-Reagents-Medicine.dm | 493 +++ .../Chemistry-Reagents-Other.dm | 382 ++ .../Chemistry-Reagents-Toxins.dm | 516 +++ 11 files changed, 3895 insertions(+), 5023 deletions(-) delete mode 100644 code/modules/mob/living/carbon/monkey/life.dm delete mode 100644 code/modules/mob/living/carbon/monkey/monkey.dm delete mode 100644 code/modules/organs/organ_objects.dm create mode 100644 code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Core.dm create mode 100644 code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Dispenser.dm create mode 100644 code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm create mode 100644 code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Medicine.dm create mode 100644 code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Other.dm create mode 100644 code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Toxins.dm diff --git a/baystation12.dme b/baystation12.dme index 7c5fd96b40..5a0328e42c 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -1447,6 +1447,12 @@ #include "code\modules\reagents\Chemistry-Recipes.dm" #include "code\modules\reagents\reagent_containers.dm" #include "code\modules\reagents\reagent_dispenser.dm" +#include "code\modules\reagents\Chemistry-Reagents\Chemistry-Reagents-Core.dm" +#include "code\modules\reagents\Chemistry-Reagents\Chemistry-Reagents-Dispenser.dm" +#include "code\modules\reagents\Chemistry-Reagents\Chemistry-Reagents-Food-Drinks.dm" +#include "code\modules\reagents\Chemistry-Reagents\Chemistry-Reagents-Medicine.dm" +#include "code\modules\reagents\Chemistry-Reagents\Chemistry-Reagents-Other.dm" +#include "code\modules\reagents\Chemistry-Reagents\Chemistry-Reagents-Toxins.dm" #include "code\modules\reagents\dispenser\_defines.dm" #include "code\modules\reagents\dispenser\cartridge.dm" #include "code\modules\reagents\dispenser\cartridge_presets.dm" diff --git a/code/modules/mob/living/carbon/monkey/life.dm b/code/modules/mob/living/carbon/monkey/life.dm deleted file mode 100644 index b339fc086e..0000000000 --- a/code/modules/mob/living/carbon/monkey/life.dm +++ /dev/null @@ -1,520 +0,0 @@ -//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:32 - -/mob/living/carbon/monkey - var/oxygen_alert = 0 - var/phoron_alert = 0 - var/fire_alert = 0 - var/pressure_alert = 0 - - var/temperature_alert = 0 - - -/mob/living/carbon/monkey/Life() - set invisibility = 0 - set background = 1 - if (monkeyizing) return - if (update_muts) - update_muts=0 - domutcheck(src,null,MUTCHK_FORCED) - ..() - - var/datum/gas_mixture/environment // Added to prevent null location errors-- TLE - if(loc) - environment = loc.return_air() - - if (stat != DEAD) - //First, resolve location and get a breath - if(air_master.current_cycle%4==2) - //Only try to take a breath every 4 seconds, unless suffocating - breathe() - - //Updates the number of stored chemicals for powers - handle_changeling() - - //Mutations and radiation - handle_mutations_and_radiation() - - //Chemicals in the body - handle_chemicals_in_body() - - //Disabilities - handle_disabilities() - - //Apparently, the person who wrote this code designed it so that - //blinded get reset each cycle and then get activated later in the - //code. Very ugly. I dont care. Moving this stuff here so its easy - //to find it. - blinded = null - - //Handle temperature/pressure differences between body and environment - if(environment) // More error checking -- TLE - handle_environment(environment) - - //Check if we're on fire - handle_fire() - - //Status updates, death etc. - handle_regular_status_updates() - update_canmove() - - if(client) - handle_regular_hud_updates() - - // Grabbing - for(var/obj/item/weapon/grab/G in src) - G.process() - - if(!client && stat == CONSCIOUS) - - if(prob(33) && canmove && isturf(loc) && !pulledby) //won't move if being pulled - - step(src, pick(cardinal)) - - if(prob(1)) - emote(pick("scratch","jump","roll","tail")) - updatehealth() - -/mob/living/carbon/monkey - - proc/handle_disabilities() - - if (disabilities & EPILEPSY) - if ((prob(1) && paralysis < 10)) - src << "\red You have a seizure!" - Paralyse(10) - if (disabilities & COUGHING) - if ((prob(5) && paralysis <= 1)) - drop_item() - spawn( 0 ) - emote("cough") - return - if (disabilities & TOURETTES) - if ((prob(10) && paralysis <= 1)) - Stun(10) - spawn( 0 ) - emote("twitch") - return - if (disabilities & NERVOUS) - if (prob(10)) - stuttering = max(10, stuttering) - - proc/handle_mutations_and_radiation() - - if(getFireLoss()) - if((COLD_RESISTANCE in mutations) || prob(50)) - switch(getFireLoss()) - if(1 to 50) - adjustFireLoss(-1) - if(51 to 100) - adjustFireLoss(-5) - - if ((HULK in mutations) && health <= 25) - mutations.Remove(HULK) - src << "\red You suddenly feel very weak." - Weaken(3) - emote("collapse") - - if (radiation) - - if (radiation > 100) - radiation = 100 - Weaken(10) - if(!lying) - src << "\red You feel weak." - emote("collapse") - - switch(radiation) - if(1 to 49) - radiation-- - if(prob(25)) - adjustToxLoss(1) - - if(50 to 74) - radiation -= 2 - adjustToxLoss(1) - if(prob(5)) - radiation -= 5 - Weaken(3) - if(!lying) - src << "\red You feel weak." - emote("collapse") - - if(75 to 100) - radiation -= 3 - adjustToxLoss(3) - if(prob(1)) - src << "\red You mutate!" - randmutb(src) - domutcheck(src,null) - emote("gasp") - - handle_breath(datum/gas_mixture/breath) - if(status_flags & GODMODE) - return - - if(!breath || (breath.total_moles == 0)) - adjustOxyLoss(7) - - oxygen_alert = max(oxygen_alert, 1) - - return 0 - - var/safe_oxygen_min = 16 // Minimum safe partial pressure of O2, in kPa - //var/safe_oxygen_max = 140 // Maximum safe partial pressure of O2, in kPa (Not used for now) - var/safe_co2_max = 10 // Yes it's an arbitrary value who cares? - var/safe_phoron_max = 0.5 - var/SA_para_min = 0.5 - var/SA_sleep_min = 5 - var/oxygen_used = 0 - var/breath_pressure = (breath.total_moles * R_IDEAL_GAS_EQUATION * breath.temperature) / BREATH_VOLUME - - //Partial pressure of the O2 in our breath - var/O2_pp = (breath.gas["oxygen"] / breath.total_moles) * breath_pressure - // Same, but for the phoron - var/Toxins_pp = (breath.gas["phoron"] / breath.total_moles) * breath_pressure - // And CO2, lets say a PP of more than 10 will be bad (It's a little less really, but eh, being passed out all round aint no fun) - var/CO2_pp = (breath.gas["carbon_dioxide"] / breath.total_moles) * breath_pressure - - if(O2_pp < safe_oxygen_min) // Too little oxygen - if(prob(20)) - spawn(0) emote("gasp") - if (O2_pp == 0) - O2_pp = 0.01 - var/ratio = safe_oxygen_min/O2_pp - adjustOxyLoss(min(5*ratio, 7)) // Don't fuck them up too fast (space only does 7 after all!) - oxygen_used = breath.gas["oxygen"] * ratio / 6 - oxygen_alert = max(oxygen_alert, 1) - /*else if (O2_pp > safe_oxygen_max) // Too much oxygen (commented this out for now, I'll deal with pressure damage elsewhere I suppose) - spawn(0) emote("cough") - var/ratio = O2_pp/safe_oxygen_max - oxyloss += 5*ratio - oxygen_used = breath.oxygen*ratio/6 - oxygen_alert = max(oxygen_alert, 1)*/ - else // We're in safe limits - adjustOxyLoss(-5) - oxygen_used = breath.gas["oxygen"] / 6 - oxygen_alert = 0 - - breath.adjust_gas("oxygen", -oxygen_used) - breath.adjust_gas("carbon_dioxide", oxygen_used) - - if(CO2_pp > safe_co2_max) - if(!co2overloadtime) // If it's the first breath with too much CO2 in it, lets start a counter, then have them pass out after 12s or so. - co2overloadtime = world.time - else if(world.time - co2overloadtime > 120) - Paralyse(3) - adjustOxyLoss(3) // Lets hurt em a little, let them know we mean business - if(world.time - co2overloadtime > 300) // They've been in here 30s now, lets start to kill them for their own good! - adjustOxyLoss(8) - if(prob(20)) // Lets give them some chance to know somethings not right though I guess. - spawn(0) emote("cough") - - else - co2overloadtime = 0 - - if(Toxins_pp > safe_phoron_max) // Too much phoron - var/ratio = (breath.gas["phoron"] / safe_phoron_max) * 10 - //adjustToxLoss(Clamp(ratio, MIN_PLASMA_DAMAGE, MAX_PLASMA_DAMAGE)) //Limit amount of damage toxin exposure can do per second - if(reagents) - reagents.add_reagent("toxin", Clamp(ratio, MIN_TOXIN_DAMAGE, MAX_TOXIN_DAMAGE)) - phoron_alert = max(phoron_alert, 1) - else - phoron_alert = 0 - - if(breath.gas["sleeping_agent"]) - var/SA_pp = (breath.gas["sleeping_agent"] / breath.total_moles) * breath_pressure - if(SA_pp > SA_para_min) // Enough to make us paralysed for a bit - Paralyse(3) // 3 gives them one second to wake up and run away a bit! - if(SA_pp > SA_sleep_min) // Enough to make us sleep as well - sleeping = max(sleeping+2, 10) - else if(SA_pp > 0.01) // There is sleeping gas in their lungs, but only a little, so give them a bit of a warning - if(prob(20)) - spawn(0) emote(pick("giggle", "laugh")) - - - if(breath.temperature > (T0C+66)) // Hot air hurts :( - if(prob(20)) - src << "\red You feel a searing heat in your lungs!" - fire_alert = max(fire_alert, 2) - else - fire_alert = 0 - - - //Temporary fixes to the alerts. - - return 1 - - proc/handle_environment(datum/gas_mixture/environment) - if(!environment) - return - - //Moved these vars here for use in the fuck-it-skip-processing check. - var/pressure = environment.return_pressure() - if(pressure < WARNING_HIGH_PRESSURE && pressure > WARNING_LOW_PRESSURE && abs(environment.temperature - 293.15) < 20 && abs(bodytemperature - 310.14) < 0.5 && environment.gas["phoron"] < MOLES_PHORON_VISIBLE) - - - //Hopefully should fix the walk-inside-still-pressure-warning issue. - if(pressure_alert) - pressure_alert = 0 - - return // Temperatures are within normal ranges, fuck all this processing. ~Ccomp - - var/environment_heat_capacity = environment.heat_capacity() - if(istype(get_turf(src), /turf/space)) - var/turf/heat_turf = get_turf(src) - environment_heat_capacity = heat_turf.heat_capacity - - if((environment.temperature > (T0C + 50)) || (environment.temperature < (T0C + 10))) - var/transfer_coefficient = 1 - - handle_temperature_damage(HEAD, environment.temperature, environment_heat_capacity*transfer_coefficient) - - if(stat==2) - bodytemperature += 0.1*(environment.temperature - bodytemperature)*environment_heat_capacity/(environment_heat_capacity + 270000) - - //Account for massive pressure differences - switch(pressure) - if(HAZARD_HIGH_PRESSURE to INFINITY) - adjustBruteLoss( min( ( (pressure / HAZARD_HIGH_PRESSURE) -1 )*PRESSURE_DAMAGE_COEFFICIENT , MAX_HIGH_PRESSURE_DAMAGE) ) - pressure_alert = 2 - if(WARNING_HIGH_PRESSURE to HAZARD_HIGH_PRESSURE) - pressure_alert = 1 - if(WARNING_LOW_PRESSURE to WARNING_HIGH_PRESSURE) - pressure_alert = 0 - if(HAZARD_LOW_PRESSURE to WARNING_LOW_PRESSURE) - pressure_alert = -1 - else - if( !(COLD_RESISTANCE in mutations) ) - adjustBruteLoss( LOW_PRESSURE_DAMAGE ) - pressure_alert = -2 - else - pressure_alert = -1 - - return - - proc/handle_temperature_damage(body_part, exposed_temperature, exposed_intensity) - if(status_flags & GODMODE) return - var/discomfort = min( abs(exposed_temperature - bodytemperature)*(exposed_intensity)/2000000, 1.0) - //adjustFireLoss(2.5*discomfort) - - if(exposed_temperature > bodytemperature) - adjustFireLoss(20.0*discomfort) - - else - adjustFireLoss(5.0*discomfort) - - proc/handle_chemicals_in_body() - chem_effects.Cut() - analgesic = 0 - - if(touching) - touching.metabolize(0, CHEM_TOUCH) - if(ingested) - ingested.metabolize(0, CHEM_INGEST) - if(reagents) - reagents.metabolize(0, CHEM_BLOOD) - - if(CE_PAINKILLER in chem_effects) - analgesic = chem_effects[CE_PAINKILLER] - - if (drowsyness) - drowsyness-- - eye_blurry = max(2, eye_blurry) - if (prob(5)) - sleeping += 1 - Paralyse(5) - - if(confused) - confused = max(0, confused - 1) - - if(resting) - dizziness = max(0, dizziness - 5) - else - dizziness = max(0, dizziness - 1) - - return //TODO: DEFERRED - - proc/handle_regular_status_updates() - - if(stat == DEAD) //DEAD. BROWN BREAD. SWIMMING WITH THE SPESS CARP - blinded = 1 - silent = 0 - else //ALIVE. LIGHTS ARE ON - updatehealth() - if(health < config.health_threshold_dead || !has_brain()) - death() - blinded = 1 - stat = DEAD - silent = 0 - return 1 - - //UNCONSCIOUS. NO-ONE IS HOME - if( (getOxyLoss() > 25) || (config.health_threshold_crit > health) ) - if( health <= 20 && prob(1) ) - spawn(0) - emote("gasp") - if(!reagents.has_reagent("inaprovaline")) - adjustOxyLoss(1) - Paralyse(3) - if(halloss > 100) - src << "You're in too much pain to keep going..." - for(var/mob/O in oviewers(src, null)) - O.show_message("[src] slumps to the ground, too weak to continue fighting.", 1) - Paralyse(10) - setHalLoss(99) - - if(paralysis) - AdjustParalysis(-1) - blinded = 1 - stat = UNCONSCIOUS - if(halloss > 0) - adjustHalLoss(-3) - else if(sleeping) - handle_dreams() - adjustHalLoss(-3) - sleeping = max(sleeping-1, 0) - blinded = 1 - stat = UNCONSCIOUS - if( prob(10) && health && !hal_crit ) - spawn(0) - emote("snore") - else if(resting) - if(halloss > 0) - adjustHalLoss(-3) - //CONSCIOUS - else - stat = CONSCIOUS - if(halloss > 0) - adjustHalLoss(-1) - - //Eyes - if(sdisabilities & BLIND) //disabled-blind, doesn't get better on its own - blinded = 1 - else if(eye_blind) //blindness, heals slowly over time - eye_blind = max(eye_blind-1,0) - blinded = 1 - else if(eye_blurry) //blurry eyes heal slowly - eye_blurry = max(eye_blurry-1, 0) - - //Ears - if(sdisabilities & DEAF) //disabled-deaf, doesn't get better on its own - ear_deaf = max(ear_deaf, 1) - else if(ear_deaf) //deafness, heals slowly over time - ear_deaf = max(ear_deaf-1, 0) - else if(ear_damage < 25) //ear damage heals slowly under this threshold. otherwise you'll need earmuffs - ear_damage = max(ear_damage-0.05, 0) - - //Other - handle_statuses() - return 1 - - - proc/handle_regular_hud_updates() - - if (stat == 2 || (XRAY in mutations)) - sight |= SEE_TURFS - sight |= SEE_MOBS - sight |= SEE_OBJS - see_in_dark = 8 - see_invisible = SEE_INVISIBLE_LEVEL_TWO - else if (stat != 2) - sight &= ~SEE_TURFS - sight &= ~SEE_MOBS - sight &= ~SEE_OBJS - see_in_dark = 2 - see_invisible = SEE_INVISIBLE_LIVING - - if (healths) - if (stat != 2) - switch(health) - if(100 to INFINITY) - healths.icon_state = "health0" - if(80 to 100) - healths.icon_state = "health1" - if(60 to 80) - healths.icon_state = "health2" - if(40 to 60) - healths.icon_state = "health3" - if(20 to 40) - healths.icon_state = "health4" - if(0 to 20) - healths.icon_state = "health5" - else - healths.icon_state = "health6" - else - healths.icon_state = "health7" - - - if(pressure) - pressure.icon_state = "pressure[pressure_alert]" - - if (toxin) toxin.icon_state = "tox[phoron_alert ? 1 : 0]" - if (oxygen) oxygen.icon_state = "oxy[oxygen_alert ? 1 : 0]" - if (fire) fire.icon_state = "fire[fire_alert ? 2 : 0]" - //NOTE: the alerts dont reset when youre out of danger. dont blame me, - //blame the person who coded them. Temporary fix added. - - if(bodytemp) - switch(bodytemperature) //310.055 optimal body temp - if(345 to INFINITY) - bodytemp.icon_state = "temp4" - if(335 to 345) - bodytemp.icon_state = "temp3" - if(327 to 335) - bodytemp.icon_state = "temp2" - if(316 to 327) - bodytemp.icon_state = "temp1" - if(300 to 316) - bodytemp.icon_state = "temp0" - if(295 to 300) - bodytemp.icon_state = "temp-1" - if(280 to 295) - bodytemp.icon_state = "temp-2" - if(260 to 280) - bodytemp.icon_state = "temp-3" - else - bodytemp.icon_state = "temp-4" - - client.screen.Remove(global_hud.blurry,global_hud.druggy,global_hud.vimpaired) - - if(blind && stat != DEAD) - if(blinded) - blind.layer = 18 - else - blind.layer = 0 - - if(disabilities & NEARSIGHTED) - client.screen += global_hud.vimpaired - - if(eye_blurry) - client.screen += global_hud.blurry - - if(druggy) - client.screen += global_hud.druggy - - if (stat != 2) - if (machine) - if (!( machine.check_eye(src) )) - reset_view(null) - else - if(client && !client.adminobs) - reset_view(null) - - return 1 - - proc/handle_random_events() - if (prob(1) && prob(2)) - spawn(0) - emote("scratch") - return - - - proc/handle_changeling() - if(mind && mind.changeling) - mind.changeling.regenerate() - -/mob/living/carbon/monkey/handle_fire() - if(..()) - return - adjustFireLoss(6) - return \ No newline at end of file diff --git a/code/modules/mob/living/carbon/monkey/monkey.dm b/code/modules/mob/living/carbon/monkey/monkey.dm deleted file mode 100644 index 8cd0558e7c..0000000000 --- a/code/modules/mob/living/carbon/monkey/monkey.dm +++ /dev/null @@ -1,287 +0,0 @@ -/mob/living/carbon/monkey - name = "monkey" - voice_name = "monkey" - speak_emote = list("chimpers") - icon_state = "monkey1" - icon = 'icons/mob/monkey.dmi' - gender = NEUTER - pass_flags = PASSTABLE - update_icon = 0 ///no need to call regenerate_icon - - var/obj/item/weapon/card/id/wear_id = null // Fix for station bounced radios -- Skie - var/greaterform = "Human" // Used when humanizing a monkey. - icon_state = "monkey1" - //var/uni_append = "12C4E2" // Small appearance modifier for different species. - var/list/uni_append = list(0x12C,0x4E2) // Same as above for DNA2. - var/update_muts = 1 // Monkey gene must be set at start. - holder_type = /obj/item/weapon/holder/monkey - -/mob/living/carbon/monkey/tajara - name = "farwa" - voice_name = "farwa" - speak_emote = list("mews") - icon_state = "tajkey1" - greaterform = "Tajara" - uni_append = list(0x0A0,0xE00) // 0A0E00 - holder_type = /obj/item/weapon/holder/monkey/farwa - -/mob/living/carbon/monkey/skrell - name = "neaera" - voice_name = "neaera" - speak_emote = list("squicks") - icon_state = "skrellkey1" - greaterform = "Skrell" - uni_append = list(0x01C,0xC92) // 01CC92 - holder_type = /obj/item/weapon/holder/monkey/neaera - -/mob/living/carbon/monkey/unathi - name = "stok" - voice_name = "stok" - speak_emote = list("hisses") - icon_state = "stokkey1" - greaterform = "Unathi" - uni_append = list(0x044,0xC5D) // 044C5D - holder_type = /obj/item/weapon/holder/monkey/stok - -/mob/living/carbon/monkey/New() - - verbs += /mob/living/proc/ventcrawl - - species = all_species[greaterform] - add_language(species.language) - - if(name == initial(name)) //To stop Pun-Pun becoming generic. - name = "[name] ([rand(1, 1000)])" - real_name = name - - if (!(dna)) - if(gender == NEUTER) - gender = pick(MALE, FEMALE) - dna = new /datum/dna( null ) - dna.real_name = real_name - dna.ResetSE() - dna.ResetUI() - //dna.uni_identity = "00600200A00E0110148FC01300B009" - //dna.SetUI(list(0x006,0x002,0x00A,0x00E,0x011,0x014,0x8FC,0x013,0x00B,0x009)) - //dna.struc_enzymes = "43359156756131E13763334D1C369012032164D4FE4CD61544B6C03F251B6C60A42821D26BA3B0FD6" - //dna.SetSE(list(0x433,0x591,0x567,0x561,0x31E,0x137,0x633,0x34D,0x1C3,0x690,0x120,0x321,0x64D,0x4FE,0x4CD,0x615,0x44B,0x6C0,0x3F2,0x51B,0x6C6,0x0A4,0x282,0x1D2,0x6BA,0x3B0,0xFD6)) - dna.unique_enzymes = md5(name) - - // We're a monkey - dna.SetSEState(MONKEYBLOCK, 1) - dna.SetSEValueRange(MONKEYBLOCK,0xDAC, 0xFFF) - // Fix gender - dna.SetUIState(DNA_UI_GENDER, gender != MALE, 1) - - // Set the blocks to uni_append, if needed. - if(uni_append.len>0) - for(var/b=1;b<=uni_append.len;b++) - dna.SetUIValue(DNA_UI_LENGTH-(uni_append.len-b),uni_append[b], 1) - dna.UpdateUI() - - update_muts=1 - - ..() - update_icons() - return - -/mob/living/carbon/monkey/movement_delay() - var/tally = 0 - if(reagents) - if(reagents.has_reagent("hyperzine")) return -1 - - if(reagents.has_reagent("nuka_cola")) return -1 - - var/health_deficiency = (100 - health) - if(health_deficiency >= 45) tally += (health_deficiency / 25) - - if (bodytemperature < 283.222) - tally += (283.222 - bodytemperature) / 10 * 1.75 - return tally+config.monkey_delay - -/mob/living/carbon/monkey/Topic(href, href_list) - ..() - if (href_list["mach_close"]) - var/t1 = text("window=[]", href_list["mach_close"]) - unset_machine() - src << browse(null, t1) - if ((href_list["item"] && !( usr.stat ) && !( usr.restrained() ) && in_range(src, usr) )) - var/obj/effect/equip_e/monkey/O = new /obj/effect/equip_e/monkey( ) - O.source = usr - O.target = src - O.item = usr.get_active_hand() - O.s_loc = usr.loc - O.t_loc = loc - O.place = href_list["item"] - requests += O - spawn( 0 ) - O.process() - return - ..() - return - -/mob/living/carbon/monkey/meteorhit(obj/O as obj) - for(var/mob/M in viewers(src, null)) - M.show_message(text("\red [] has been hit by []", src, O), 1) - if (health > 0) - var/shielded = 0 - adjustBruteLoss(30) - if ((O.icon_state == "flaming" && !( shielded ))) - adjustFireLoss(40) - health = 100 - getOxyLoss() - getToxLoss() - getFireLoss() - getBruteLoss() - return - -/mob/living/carbon/monkey/attack_hand(mob/living/carbon/human/M as mob) - - if (M.a_intent == "help" && a_intent == "help") - help_shake_act(M) - get_scooped(M) - else - if (M.a_intent == "hurt") - var/datum/unarmed_attack/attack = null - for(var/datum/unarmed_attack/u_attack in M.species.unarmed_attacks) - if(!u_attack.is_usable(M, src)) - continue - else - attack = u_attack - break - if(!attack) - return 0 - if ((prob(75) && health > 0)) - visible_message("\red [M] [pick(attack.attack_verb)] [src]!") - - playsound(loc, "punch", 25, 1, -1) - var/damage = rand(5, 10) - if (prob(40)) - damage = rand(10, 15) - if (paralysis < 5) - Paralyse(rand(10, 15)) - visible_message("\red [M] has knocked out [src]!") - - adjustBruteLoss(damage) - - M.attack_log += text("\[[time_stamp()]\] [pick(attack.attack_verb)]ed [src.name] ([src.ckey])") - src.attack_log += text("\[[time_stamp()]\] Has been [pick(attack.attack_verb)]ed by [M.name] ([M.ckey])") - msg_admin_attack("[key_name(M)] [pick(attack.attack_verb)]ed [key_name(src)]") - - updatehealth() - else - playsound(loc, 'sound/weapons/punchmiss.ogg', 25, 1, -1) - visible_message("\red [M] tried to [pick(attack.attack_verb)] [src]!") - else - if (M.a_intent == "grab") - if (M == src || anchored) - return - - var/obj/item/weapon/grab/G = new /obj/item/weapon/grab(M, src ) - - M.put_in_active_hand(G) - - G.synch() - - LAssailant = M - - playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, 1, -1) - for(var/mob/O in viewers(src, null)) - O.show_message(text("\red [] has grabbed [name] passively!", M), 1) - else - if (!( paralysis )) - if (prob(25)) - Paralyse(2) - playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, 1, -1) - for(var/mob/O in viewers(src, null)) - if ((O.client && !( O.blinded ))) - O.show_message(text("\red [] has pushed down [name]!", M), 1) - else - drop_item() - playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, 1, -1) - for(var/mob/O in viewers(src, null)) - if ((O.client && !( O.blinded ))) - O.show_message(text("\red [] has disarmed [name]!", M), 1) - return - -/mob/living/carbon/monkey/Stat() - ..() - statpanel("Status") - stat(null, text("Intent: []", a_intent)) - stat(null, text("Move Mode: []", m_intent)) - if(client && mind) - if (client.statpanel == "Status") - if(mind.changeling) - stat("Chemical Storage", mind.changeling.chem_charges) - stat("Genetic Damage Time", mind.changeling.geneticdamage) - return - - -/mob/living/carbon/monkey/verb/removeinternal() - set name = "Remove Internals" - set category = "IC" - internal = null - return - -/mob/living/carbon/monkey/var/co2overloadtime = null -/mob/living/carbon/monkey/var/temperature_resistance = T0C+75 - -/mob/living/carbon/monkey/emp_act(severity) - if(wear_id) wear_id.emp_act(severity) - ..() - -/mob/living/carbon/monkey/ex_act(severity) - if(!blinded) - flick("flash", flash) - - switch(severity) - if(1.0) - if (stat != 2) - adjustBruteLoss(200) - health = 100 - getOxyLoss() - getToxLoss() - getFireLoss() - getBruteLoss() - if(2.0) - if (stat != 2) - adjustBruteLoss(60) - adjustFireLoss(60) - health = 100 - getOxyLoss() - getToxLoss() - getFireLoss() - getBruteLoss() - if(3.0) - if (stat != 2) - adjustBruteLoss(30) - health = 100 - getOxyLoss() - getToxLoss() - getFireLoss() - getBruteLoss() - if (prob(50)) - Paralyse(10) - else - return - -/mob/living/carbon/monkey/blob_act() - if (stat != 2) - adjustFireLoss(60) - health = 100 - getOxyLoss() - getToxLoss() - getFireLoss() - getBruteLoss() - if (prob(50)) - Paralyse(10) - if (stat == DEAD && client) - gib() - return - if (stat == DEAD && !client) - gibs(loc, viruses) - del(src) - return - -//Unless its monkey mode monkeys cant use advanced tools -/mob/living/carbon/monkey/IsAdvancedToolUser(var/silent) - if(!silent) - src << "You don't have the dexterity to use that!" - return 0 - -/mob/living/carbon/monkey/say(var/message, var/datum/language/speaking = null, var/verb="says", var/alt_name="", var/italics=0, var/message_range = world.view, var/list/used_radios = list()) - if(stat) - return - - if(copytext(message,1,2) == "*") - return emote(copytext(message,2)) - - if(stat) - return - - if(speak_emote.len) - verb = pick(speak_emote) - - message = capitalize(trim_left(message)) - - ..(message, speaking, verb, alt_name, italics, message_range, used_radios) diff --git a/code/modules/organs/organ_objects.dm b/code/modules/organs/organ_objects.dm deleted file mode 100644 index b7c451b883..0000000000 --- a/code/modules/organs/organ_objects.dm +++ /dev/null @@ -1,275 +0,0 @@ -/obj/item/organ - name = "organ" - desc = "It looks like it probably just plopped out." - icon = 'icons/obj/surgery.dmi' - icon_state = "appendix" - - health = 100 // Process() ticks before death. - - var/fresh = 3 // Squirts of blood left in it. - var/dead_icon // Icon used when the organ dies. - var/robotic // Is the limb prosthetic? - var/organ_tag // What slot does it go in? - var/organ_type = /datum/organ/internal // Used to spawn the relevant organ data when produced via a machine or spawn(). - var/datum/organ/internal/organ_data // Stores info when removed. - var/prosthetic_name = "prosthetic organ" // Flavour string for robotic organ. - var/prosthetic_icon // Icon for robotic organ. - -/obj/item/organ/attack_self(mob/user as mob) - - // Convert it to an edible form, yum yum. - if(!robotic && user.a_intent == "help" && user.zone_sel.selecting == "mouth") - bitten(user) - return - -/obj/item/organ/New() - ..() - create_reagents(5) - if(!robotic) - processing_objects += src - spawn(1) - update() - -/obj/item/organ/Del() - if(!robotic) processing_objects -= src - ..() - -/obj/item/organ/process() - - if(robotic) - processing_objects -= src - return - - // Don't process if we're in a freezer, an MMI or a stasis bag. //TODO: ambient temperature? - if(istype(loc,/obj/item/device/mmi) || istype(loc,/obj/item/bodybag/cryobag) || istype(loc,/obj/structure/closet/crate/freezer)) - return - - if(fresh && prob(40)) - fresh-- - var/datum/reagent/blood/B = locate(/datum/reagent/blood) in reagents.reagent_list - blood_splatter(src,B,1) - - health -= rand(1,3) - if(health <= 0) - die() - -/obj/item/organ/proc/die() - name = "dead [initial(name)]" - if(dead_icon) icon_state = dead_icon - health = 0 - processing_objects -= src - //TODO: Grey out the icon state. - //TODO: Inject an organ with peridaxon to make it alive again. - -/obj/item/organ/proc/roboticize() - - robotic = (organ_data && organ_data.robotic) ? organ_data.robotic : 1 - - if(prosthetic_name) - name = prosthetic_name - - if(prosthetic_icon) - icon_state = prosthetic_icon - else - //TODO: convert to greyscale. - -/obj/item/organ/proc/update() - - if(!organ_data) - organ_data = new organ_type() - - if(robotic) - organ_data.robotic = robotic - - if(organ_data.robotic >= 2) - roboticize() - -// Brain is defined in brain_item.dm. -/obj/item/organ/heart - name = "heart" - icon_state = "heart-on" - prosthetic_name = "circulatory pump" - prosthetic_icon = "heart-prosthetic" - organ_tag = "heart" - fresh = 6 // Juicy. - dead_icon = "heart-off" - organ_type = /datum/organ/internal/heart - -/obj/item/organ/lungs - name = "lungs" - icon_state = "lungs" - gender = PLURAL - prosthetic_name = "gas exchange system" - prosthetic_icon = "lungs-prosthetic" - organ_tag = "lungs" - organ_type = /datum/organ/internal/lungs - -/obj/item/organ/kidneys - name = "kidneys" - icon_state = "kidneys" - gender = PLURAL - prosthetic_name = "prosthetic kidneys" - prosthetic_icon = "kidneys-prosthetic" - organ_tag = "kidneys" - organ_type = /datum/organ/internal/kidney - -/obj/item/organ/eyes - name = "eyeballs" - icon_state = "eyes" - gender = PLURAL - prosthetic_name = "visual prosthesis" - prosthetic_icon = "eyes-prosthetic" - organ_tag = "eyes" - organ_type = /datum/organ/internal/eyes - var/eye_colour - -/obj/item/organ/liver - name = "liver" - icon_state = "liver" - prosthetic_name = "toxin filter" - prosthetic_icon = "liver-prosthetic" - organ_tag = "liver" - organ_type = /datum/organ/internal/liver - -/obj/item/organ/appendix - name = "appendix" - icon_state = "appendix" - organ_tag = "appendix" - organ_type = /datum/organ/internal/appendix - -//These are here so they can be printed out via the fabricator. -/obj/item/organ/heart/prosthetic - robotic = 2 - -/obj/item/organ/lungs/prosthetic - robotic = 2 - -/obj/item/organ/kidneys/prosthetic - robotic = 2 - -/obj/item/organ/eyes/prosthetic - robotic = 2 - -/obj/item/organ/liver/prosthetic - robotic = 2 - -/obj/item/organ/appendix - name = "appendix" - -/obj/item/organ/proc/removed(var/mob/living/carbon/human/target,var/mob/living/user) - - if(!istype(target) || !organ_data) - return - - target.internal_organs_by_name[organ_tag] = null - target.internal_organs_by_name -= organ_tag - target.internal_organs -= organ_data - - var/datum/organ/external/affected = target.get_organ(organ_data.parent_organ) - affected.internal_organs -= organ_data - - loc = target.loc - organ_data.rejecting = null - var/datum/reagent/blood/organ_blood = locate(/datum/reagent/blood) in reagents.reagent_list - if(!organ_blood || !organ_blood.data["blood_DNA"]) - target.vessel.trans_to_obj(src, 5, 1, 1) - - if(target && user && organ_data.vital) - user.attack_log += "\[[time_stamp()]\] removed a vital organ ([src]) from [target.name] ([target.ckey]) (INTENT: [uppertext(user.a_intent)])" - target.attack_log += "\[[time_stamp()]\] had a vital organ ([src]) removed by [user.name] ([user.ckey]) (INTENT: [uppertext(user.a_intent)])" - msg_admin_attack("[user.name] ([user.ckey]) removed a vital organ ([src]) from [target.name] ([target.ckey]) (INTENT: [uppertext(user.a_intent)]) (JMP)") - target.death() - -/obj/item/organ/appendix/removed(var/mob/living/target,var/mob/living/user) - - ..() - - var/inflamed = 0 - for(var/datum/disease/appendicitis/appendicitis in target.viruses) - inflamed = 1 - appendicitis.cure() - target.resistances += appendicitis - - if(inflamed) - icon_state = "appendixinflamed" - name = "inflamed appendix" - -/obj/item/organ/eyes/removed(var/mob/living/target,var/mob/living/user) - - if(!eye_colour) - eye_colour = list(0,0,0) - - ..() //Make sure target is set so we can steal their eye colour for later. - var/mob/living/carbon/human/H = target - if(istype(H)) - eye_colour = list( - H.r_eyes ? H.r_eyes : 0, - H.g_eyes ? H.g_eyes : 0, - H.b_eyes ? H.b_eyes : 0 - ) - - // Leave bloody red pits behind! - H.r_eyes = 128 - H.g_eyes = 0 - H.b_eyes = 0 - H.update_body() - -/obj/item/organ/proc/replaced(var/mob/living/carbon/human/target,var/datum/organ/external/affected) - - if(!istype(target)) return - - var/datum/reagent/blood/transplant_blood = locate(/datum/reagent/blood) in reagents.reagent_list - if(!transplant_blood) - organ_data.transplant_data = list() - organ_data.transplant_data["species"] = target.species.name - organ_data.transplant_data["blood_type"] = target.dna.b_type - organ_data.transplant_data["blood_DNA"] = target.dna.unique_enzymes - else - organ_data.transplant_data = list() - organ_data.transplant_data["species"] = transplant_blood.data["species"] - organ_data.transplant_data["blood_type"] = transplant_blood.data["blood_type"] - organ_data.transplant_data["blood_DNA"] = transplant_blood.data["blood_DNA"] - - organ_data.organ_holder = null - organ_data.owner = target - target.internal_organs |= organ_data - affected.internal_organs |= organ_data - target.internal_organs_by_name[organ_tag] = organ_data - organ_data.status |= ORGAN_CUT_AWAY - - del(src) - -/obj/item/organ/eyes/replaced(var/mob/living/carbon/human/target) - - // Apply our eye colour to the target. - if(istype(target) && eye_colour) - target.r_eyes = eye_colour[1] - target.g_eyes = eye_colour[2] - target.b_eyes = eye_colour[3] - target.update_body() - ..() - -/obj/item/organ/proc/bitten(mob/user) - - if(robotic) - return - - user << "\blue You take an experimental bite out of \the [src]." - var/datum/reagent/blood/B = locate(/datum/reagent/blood) in reagents.reagent_list - blood_splatter(src,B,1) - - - user.drop_from_inventory(src) - var/obj/item/weapon/reagent_containers/food/snacks/organ/O = new(get_turf(src)) - O.name = name - O.icon_state = dead_icon ? dead_icon : icon_state - - // Pass over the blood. - reagents.trans_to_obj(O, reagents.total_volume) - - if(fingerprints) O.fingerprints = fingerprints.Copy() - if(fingerprintshidden) O.fingerprintshidden = fingerprintshidden.Copy() - if(fingerprintslast) O.fingerprintslast = fingerprintslast - - user.put_in_active_hand(O) - del(src) \ No newline at end of file diff --git a/code/modules/reagents/Chemistry-Reagents.dm b/code/modules/reagents/Chemistry-Reagents.dm index 103db5c308..15a1398d39 100644 --- a/code/modules/reagents/Chemistry-Reagents.dm +++ b/code/modules/reagents/Chemistry-Reagents.dm @@ -102,3944 +102,3 @@ /datum/reagent/proc/reaction_mob(var/mob/target) touch_mob(target) - -/* REAGENTS START HERE */ - -/* Core reagents - the most important ones */ - -/datum/reagent/blood - data = new/list("donor" = null, "viruses" = null, "species" = "Human", "blood_DNA" = null, "blood_type" = null, "blood_colour" = "#A10808", "resistances" = null, "trace_chem" = null, "antibodies" = list()) - name = "Blood" - id = "blood" - reagent_state = LIQUID - metabolism = REM * 5 - color = "#C80000" - - glass_icon_state = "glass_red" - glass_name = "glass of tomato juice" - glass_desc = "Are you sure this is tomato juice?" - -/datum/reagent/blood/initialize_data(var/newdata) - ..() - if(data && data["blood_colour"]) - color = data["blood_colour"] - return - -/datum/reagent/blood/get_data() // Just in case you have a reagent that handles data differently. - var/t = data.Copy() - if(t["virus2"]) - var/list/v = t["virus2"] - t["virus2"] = v.Copy() - return t - -/datum/reagent/blood/mix_data(var/newdata, var/newamount) // You have a reagent with data, and new reagent with its own data get added, how do you deal with that? - if(data["viruses"] || newdata["viruses"]) - var/list/mix1 = data["viruses"] - var/list/mix2 = newdata["viruses"] - var/list/to_mix = list() // Stop issues with the list changing during mixing. - for(var/datum/disease/advance/AD in mix1) - to_mix += AD - for(var/datum/disease/advance/AD in mix2) - to_mix += AD - var/datum/disease/advance/AD = Advance_Mix(to_mix) - if(AD) - var/list/preserve = list(AD) - for(var/D in data["viruses"]) - if(!istype(D, /datum/disease/advance)) - preserve += D - data["viruses"] = preserve - -/datum/reagent/blood/touch_turf(var/turf/simulated/T) - if(!istype(T) || volume < 3) - return - if(!data["donor"] || istype(data["donor"], /mob/living/carbon/human)) - blood_splatter(T, src, 1) - else if(istype(data["donor"], /mob/living/carbon/alien)) - var/obj/effect/decal/cleanable/blood/B = blood_splatter(T, src, 1) - if(B) - B.blood_DNA["UNKNOWN DNA STRUCTURE"] = "X*" - -/datum/reagent/blood/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(dose > 5) - M.adjustToxLoss(removed) - if(dose > 15) - M.adjustToxLoss(removed) - -/datum/reagent/blood/affect_touch(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(data && data["viruses"]) - for(var/datum/disease/D in data["viruses"]) - if(D.spread_type == SPECIAL || D.spread_type == NON_CONTAGIOUS) - continue - M.contract_disease(D) - if(data && data["virus2"]) - var/list/vlist = data["virus2"] - if(vlist.len) - for(var/ID in vlist) - var/datum/disease2/disease/V = vlist[ID] - infect_virus2(M, V.getcopy()) - if(data && data["antibodies"]) - M.antibodies |= data["antibodies"] - -/datum/reagent/blood/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) - M.inject_blood(src, volume) - remove_self(volume) - -/datum/reagent/vaccine - name = "Vaccine" - id = "vaccine" - reagent_state = LIQUID - color = "#C81040" - -/datum/reagent/vaccine/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(data) - for(var/datum/disease/D in M.viruses) - if(istype(D, /datum/disease/advance)) - var/datum/disease/advance/A = D - if(A.GetDiseaseID() == data) - D.cure() - else - if(D.type == data) - D.cure() - - M.resistances += data - return - -#define WATER_LATENT_HEAT 19000 // How much heat is removed when applied to a hot turf, in J/unit (19000 makes 120 u of water roughly equivalent to 4L) -/datum/reagent/water - name = "Water" - id = "water" - description = "A ubiquitous chemical substance that is composed of hydrogen and oxygen." - reagent_state = LIQUID - color = "#0064C877" - metabolism = REM * 10 - - glass_icon_state = "glass_clear" - glass_name = "glass of water" - glass_desc = "The father of all refreshments." - -/datum/reagent/water/touch_turf(var/turf/simulated/T) - if(!istype(T)) - return - - var/datum/gas_mixture/environment = T.return_air() - var/min_temperature = T0C + 100 // 100C, the boiling point of water - - var/hotspot = (locate(/obj/fire) in T) - if(hotspot && !istype(T, /turf/space)) - var/datum/gas_mixture/lowertemp = T.remove_air(T:air:total_moles) - lowertemp.temperature = max(min(lowertemp.temperature-2000, lowertemp.temperature / 2), 0) - lowertemp.react() - T.assume_air(lowertemp) - qdel(hotspot) - - if (environment && environment.temperature > min_temperature) // Abstracted as steam or something - var/removed_heat = between(0, volume * WATER_LATENT_HEAT, -environment.get_thermal_energy_change(min_temperature)) - environment.add_thermal_energy(-removed_heat) - if (prob(5)) - T.visible_message("The water sizzles as it lands on \the [T]!") - else - if(volume >= 3) - if(T.wet >= 1) - return - T.wet = 1 - if(T.wet_overlay) - T.overlays -= T.wet_overlay - T.wet_overlay = null - T.wet_overlay = image('icons/effects/water.dmi',T,"wet_floor") - T.overlays += T.wet_overlay - - spawn(800) // This is terrible and needs to be changed when possible. - if(!T || !istype(T)) - return - if(T.wet >= 2) - return - T.wet = 0 - if(T.wet_overlay) - T.overlays -= T.wet_overlay - T.wet_overlay = null - -/datum/reagent/water/touch_obj(var/obj/O) - if(istype(O, /obj/item/weapon/reagent_containers/food/snacks/monkeycube)) - var/obj/item/weapon/reagent_containers/food/snacks/monkeycube/cube = O - if(!cube.wrapped) - cube.Expand() - -/datum/reagent/water/affect_touch(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(istype(M, /mob/living/carbon/slime)) - var/mob/living/carbon/slime/S = M - S.adjustToxLoss(15 * removed) // Babies have 150 health, adults have 200; So, 10 units and 13.5 - if(!S.client) - if(S.Target) // Like cats - S.Target = null - ++S.Discipline - if(dose == removed) - S.visible_message("[S]'s flesh sizzles where the water touches it!", "Your flesh burns in the water!") - var/needed = M.fire_stacks * 10 - if(volume > needed) - M.fire_stacks = 0 - M.ExtinguishMob() - remove_self(needed) - else - M.adjust_fire_stacks(-(volume / 10)) - remove_self(volume) - return - -/datum/reagent/fuel - name = "Welding fuel" - id = "fuel" - description = "Required for welders. Flamable." - reagent_state = LIQUID - color = "#660000" - - glass_icon_state = "dr_gibb_glass" - glass_name = "glass of welder fuel" - glass_desc = "Unless you are an industrial tool, this is probably not safe for consumption." - -/datum/reagent/fuel/touch_turf(var/turf/T) - new /obj/effect/decal/cleanable/liquid_fuel(T, volume) - remove_self(volume) - return - -/datum/reagent/fuel/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) - M.adjustToxLoss(2 * removed) - -/datum/reagent/fuel/affect_touch(var/mob/living/carbon/M, var/alien, var/removed, var/location) // Splashing people with welding fuel to make them easy to ignite! - M.adjust_fire_stacks(0.1 * removed) - -/* Basic dispenser chemicals */ - -/datum/reagent/aluminum - name = "Aluminum" - id = "aluminum" - description = "A silvery white and ductile member of the boron group of chemical elements." - reagent_state = SOLID - color = "#A8A8A8" - -/datum/reagent/carbon - name = "Carbon" - id = "carbon" - description = "A chemical element, the builing block of life." - reagent_state = SOLID - color = "#1C1300" - -/datum/reagent/carbon/touch_turf(var/turf/T) - if(!istype(T, /turf/space)) - var/obj/effect/decal/cleanable/dirt/dirtoverlay = locate(/obj/effect/decal/cleanable/dirt, T) - if (!dirtoverlay) - dirtoverlay = new/obj/effect/decal/cleanable/dirt(T) - dirtoverlay.alpha = volume * 30 - else - dirtoverlay.alpha = min(dirtoverlay.alpha + volume * 30, 255) - -/datum/reagent/chlorine - name = "Chlorine" - id = "chlorine" - description = "A chemical element with a characteristic odour." - reagent_state = GAS - color = "#808080" - -/datum/reagent/chlorine/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) - M.take_organ_damage(1*REM, 0) - -/datum/reagent/chlorine/affect_touch(var/mob/living/carbon/M, var/alien, var/removed, var/location) - M.take_organ_damage(1*REM, 0) - -/datum/reagent/copper - name = "Copper" - id = "copper" - description = "A highly ductile metal." - color = "#6E3B08" - -/datum/reagent/ethanol - name = "Ethanol" //Parent class for all alcoholic reagents. - id = "ethanol" - description = "A well-known alcohol with a variety of applications." - reagent_state = LIQUID - color = "#404030" - var/nutriment_factor = 0 - var/strength = 10 // This is, essentially, units between stages - the lower, the stronger. Less fine tuning, more clarity. - var/toxicity = 1 - - var/druggy = 0 - var/adj_temp = 0 - var/targ_temp = 310 - var/halluci = 0 - - glass_icon_state = "glass_clear" - glass_name = "glass of ethanol" - glass_desc = "A well-known alcohol with a variety of applications." - -/datum/reagent/ethanol/affect_touch(var/mob/living/carbon/M, var/alien, var/removed, var/location) - M.adjust_fire_stacks(removed / 15) - return - -/datum/reagent/ethanol/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) - M.adjustToxLoss(removed * 2 * toxicity) - return - -/datum/reagent/ethanol/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) - M.nutrition += nutriment_factor * removed - - var/strength_mod = 1 - if(alien == IS_SKRELL) - strength_mod *= 5 - if(alien == IS_DIONA) - strength_mod = 0 - - M.add_chemical_effect(CE_ALCOHOL, 1) - - if(dose / strength_mod >= strength) // Early warning - M.make_dizzy(6) // It is decreased at the speed of 3 per tick - if(dose / strength_mod >= strength * 2) // Slurring - M.slurring = max(M.slurring, 30) - if(dose / strength_mod >= strength * 3) // Confusion - walking in random directions - M.confused = max(M.confused, 20) - if(dose / strength_mod >= strength * 4) // Blurry vision - M.eye_blurry = max(M.eye_blurry, 10) - if(dose / strength_mod >= strength * 5) // Drowsyness - periodically falling asleep - M.drowsyness = max(M.drowsyness, 20) - if(dose / strength_mod >= strength * 6) // Toxic dose - M.add_chemical_effect(CE_ALCOHOL_TOXIC, toxicity) - if(dose / strength_mod >= strength * 7) // Pass out - M.paralysis = max(M.paralysis, 20) - M.sleeping = max(M.sleeping, 30) - - if(druggy != 0) - M.druggy = max(M.druggy, druggy) - - if(adj_temp > 0 && M.bodytemperature < targ_temp) // 310 is the normal bodytemp. 310.055 - M.bodytemperature = min(targ_temp, M.bodytemperature + (adj_temp * TEMPERATURE_DAMAGE_COEFFICIENT)) - if(adj_temp < 0 && M.bodytemperature > targ_temp) - M.bodytemperature = min(targ_temp, M.bodytemperature - (adj_temp * TEMPERATURE_DAMAGE_COEFFICIENT)) - - if(halluci) - M.hallucination = max(M.hallucination, halluci) - -/datum/reagent/ethanol/touch_obj(var/obj/O) - if(istype(O, /obj/item/weapon/paper)) - var/obj/item/weapon/paper/paperaffected = O - paperaffected.clearpaper() - usr << "The solution dissolves the ink on the paper." - return - if(istype(O, /obj/item/weapon/book)) - if(volume < 5) - return - if(istype(O, /obj/item/weapon/book/tome)) - usr << "The solution does nothing. Whatever this is, it isn't normal ink." - return - var/obj/item/weapon/book/affectedbook = O - affectedbook.dat = null - usr << "The solution dissolves the ink on the book." - return - -/datum/reagent/fluorine - name = "Fluorine" - id = "fluorine" - description = "A highly-reactive chemical element." - reagent_state = GAS - color = "#808080" - -/datum/reagent/fluorine/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) - M.adjustToxLoss(removed) - -/datum/reagent/fluorine/affect_touch(var/mob/living/carbon/M, var/alien, var/removed, var/location) - M.adjustToxLoss(removed) - -/datum/reagent/hydrogen - name = "Hydrogen" - id = "hydrogen" - description = "A colorless, odorless, nonmetallic, tasteless, highly combustible diatomic gas." - reagent_state = GAS - color = "#808080" - -/datum/reagent/iron - name = "Iron" - id = "iron" - description = "Pure iron is a metal." - reagent_state = SOLID - color = "#353535" - -/datum/reagent/iron/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(alien != IS_DIONA) - M.add_chemical_effect(CE_BLOODRESTORE, 8 * removed) - -/datum/reagent/lithium - name = "Lithium" - id = "lithium" - description = "A chemical element, used as antidepressant." - reagent_state = SOLID - color = "#808080" - -/datum/reagent/lithium/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(alien != IS_DIONA) - if(M.canmove && !M.restrained() && istype(M.loc, /turf/space)) - step(M, pick(cardinal)) - if(prob(5)) - M.emote(pick("twitch", "drool", "moan")) - -/datum/reagent/mercury - name = "Mercury" - id = "mercury" - description = "A chemical element." - reagent_state = LIQUID - color = "#484848" - -/datum/reagent/mercury/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(alien != IS_DIONA) - if(M.canmove && !M.restrained() && istype(M.loc, /turf/space)) - step(M, pick(cardinal)) - if(prob(5)) - M.emote(pick("twitch", "drool", "moan")) - M.adjustBrainLoss(2) - -/datum/reagent/nitrogen - name = "Nitrogen" - id = "nitrogen" - description = "A colorless, odorless, tasteless gas." - reagent_state = GAS - color = "#808080" - -/datum/reagent/nitrogen/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(alien == IS_VOX) - M.adjustOxyLoss(-removed * 3) - -/datum/reagent/oxygen - name = "Oxygen" - id = "oxygen" - description = "A colorless, odorless gas." - reagent_state = GAS - color = "#808080" - -/datum/reagent/oxygen/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(alien == IS_VOX) - M.adjustToxLoss(removed * 3) - -/datum/reagent/phosphorus - name = "Phosphorus" - id = "phosphorus" - description = "A chemical element, the backbone of biological energy carriers." - reagent_state = SOLID - color = "#832828" - -/datum/reagent/potassium - name = "Potassium" - id = "potassium" - description = "A soft, low-melting solid that can easily be cut with a knife. Reacts violently with water." - reagent_state = SOLID - color = "#A0A0A0" - -/datum/reagent/radium - name = "Radium" - id = "radium" - description = "Radium is an alkaline earth metal. It is extremely radioactive." - reagent_state = SOLID - color = "#C7C7C7" - -/datum/reagent/radium/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) - M.apply_effect(10 * removed, IRRADIATE, 0) // Radium may increase your chances to cure a disease - if(M.virus2.len) - for(var/ID in M.virus2) - var/datum/disease2/disease/V = M.virus2[ID] - if(prob(5)) - M.antibodies |= V.antigen - if(prob(50)) - M.radiation += 50 // curing it that way may kill you instead - var/absorbed = 0 - var/obj/item/organ/diona/nutrients/rad_organ = locate() in M.internal_organs - if(rad_organ && !rad_organ.is_broken()) - absorbed = 1 - if(!absorbed) - M.adjustToxLoss(100) - -/datum/reagent/radium/touch_turf(var/turf/T) - if(volume >= 3) - if(!istype(T, /turf/space)) - var/obj/effect/decal/cleanable/greenglow/glow = locate(/obj/effect/decal/cleanable/greenglow, T) - if(!glow) - new /obj/effect/decal/cleanable/greenglow(T) - return - -/datum/reagent/acid - name = "Sulphuric acid" - id = "sacid" - description = "A very corrosive mineral acid with the molecular formula H2SO4." - reagent_state = LIQUID - color = "#DB5008" - metabolism = REM * 2 - touch_met = 50 // It's acid! - var/power = 5 - var/meltdose = 10 // How much is needed to melt - -/datum/reagent/acid/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) - M.take_organ_damage(0, removed * power * 2) - -/datum/reagent/acid/affect_touch(var/mob/living/carbon/M, var/alien, var/removed, var/location) // This is the most interesting - if(ishuman(M)) - var/mob/living/carbon/human/H = M - if(H.head) - if(H.head.unacidable) - H << "Your [H.head] protects you from the acid." - remove_self(volume) - return - else if(removed > meltdose) - H << "Your [H.head] melts away!" - qdel(H.head) - H.update_inv_head(1) - H.update_hair(1) - removed -= meltdose - if(removed <= 0) - return - - if(H.wear_mask) - if(H.wear_mask.unacidable) - H << "Your [H.wear_mask] protects you from the acid." - remove_self(volume) - return - else if(removed > meltdose) - H << "Your [H.wear_mask] melts away!" - qdel(H.wear_mask) - H.update_inv_wear_mask(1) - H.update_hair(1) - removed -= meltdose - if(removed <= 0) - return - - if(H.glasses) - if(H.glasses.unacidable) - H << "Your [H.glasses] partially protect you from the acid!" - removed /= 2 - else if(removed > meltdose) - H << "Your [H.glasses] melt away!" - qdel(H.glasses) - H.update_inv_glasses(1) - removed -= meltdose / 2 - if(removed <= 0) - return - - if(volume < meltdose) // Not enough to melt anything - M.take_organ_damage(removed * power * 0.2) - return - if(!M.unacidable && removed > 0) - if(istype(M, /mob/living/carbon/human) && volume >= meltdose) - var/mob/living/carbon/human/H = M - var/obj/item/organ/external/affecting = H.get_organ("head") - if(affecting) - if(affecting.take_damage(0, removed * power * 0.1)) - H.UpdateDamageIcon() - if(prob(100 * removed / meltdose)) // Applies disfigurement - if (!(H.species && (H.species.flags & NO_PAIN))) - H.emote("scream") - H.status_flags |= DISFIGURED - else - M.take_organ_damage(0, removed * power * 0.1) // Balance. The damage is instant, so it's weaker. 10 units -> 5 damage, double for pacid. 120 units beaker could deal 60, but a) it's burn, which is not as dangerous, b) it's a one-use weapon, c) missing with it will splash it over the ground and d) clothes give some protection, so not everything will hit - -/datum/reagent/acid/touch_obj(var/obj/O) - if(O.unacidable) - return - if((istype(O, /obj/item) || istype(O, /obj/effect/plant)) && (volume > meltdose)) - var/obj/effect/decal/cleanable/molten_item/I = new/obj/effect/decal/cleanable/molten_item(O.loc) - I.desc = "Looks like this was \an [O] some time ago." - for(var/mob/M in viewers(5, O)) - M << "\The [O] melts." - qdel(O) - remove_self(meltdose) // 10 units of acid will not melt EVERYTHING on the tile - -/datum/reagent/silicon - name = "Silicon" - id = "silicon" - description = "A tetravalent metalloid, silicon is less reactive than its chemical analog carbon." - reagent_state = SOLID - color = "#A8A8A8" - -/datum/reagent/sodium - name = "Sodium" - id = "sodium" - description = "A chemical element, readily reacts with water." - reagent_state = SOLID - color = "#808080" - -/datum/reagent/sugar - name = "Sugar" - id = "sugar" - description = "The organic compound commonly known as table sugar and sometimes called saccharose. This white, odorless, crystalline powder has a pleasing, sweet taste." - reagent_state = SOLID - color = "#FFFFFF" - glass_icon_state = "iceglass" - glass_name = "glass of sugar" - glass_desc = "The organic compound commonly known as table sugar and sometimes called saccharose. This white, odorless, crystalline powder has a pleasing, sweet taste." - -/datum/reagent/sugar/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) - M.nutrition += removed * 3 - -/datum/reagent/sulfur - name = "Sulfur" - id = "sulfur" - description = "A chemical element with a pungent smell." - reagent_state = SOLID - color = "#BF8C00" - -/datum/reagent/tungsten - name = "Tungsten" - id = "tungsten" - description = "A chemical element, and a strong oxidising agent." - reagent_state = SOLID - color = "#DCDCDC" - -/* General medicine */ - -/datum/reagent/inaprovaline - name = "Inaprovaline" - id = "inaprovaline" - description = "Inaprovaline is a synaptic stimulant and cardiostimulant. Commonly used to stabilize patients." - reagent_state = LIQUID - color = "#00BFFF" - overdose = REAGENTS_OVERDOSE * 2 - metabolism = REM * 0.5 - scannable = 1 - -/datum/reagent/inaprovaline/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(alien != IS_DIONA) - M.add_chemical_effect(CE_STABLE) - M.add_chemical_effect(CE_PAINKILLER, 25) - -/datum/reagent/bicaridine - name = "Bicaridine" - id = "bicaridine" - description = "Bicaridine is an analgesic medication and can be used to treat blunt trauma." - reagent_state = LIQUID - color = "#BF0000" - overdose = REAGENTS_OVERDOSE - scannable = 1 - -/datum/reagent/bicaridine/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(alien != IS_DIONA) - M.heal_organ_damage(6 * removed, 0) - -/datum/reagent/kelotane - name = "Kelotane" - id = "kelotane" - description = "Kelotane is a drug used to treat burns." - reagent_state = LIQUID - color = "#FFA800" - overdose = REAGENTS_OVERDOSE - scannable = 1 - -/datum/reagent/kelotane/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(alien != IS_DIONA) - M.heal_organ_damage(0, 6 * removed) - -/datum/reagent/dermaline - name = "Dermaline" - id = "dermaline" - description = "Dermaline is the next step in burn medication. Works twice as good as kelotane and enables the body to restore even the direst heat-damaged tissue." - reagent_state = LIQUID - color = "#FF8000" - overdose = REAGENTS_OVERDOSE * 0.5 - scannable = 1 - -/datum/reagent/dermaline/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(alien != IS_DIONA) - M.heal_organ_damage(0, 12 * removed) - -/datum/reagent/dylovene - name = "Dylovene" - id = "anti_toxin" - description = "Dylovene is a broad-spectrum antitoxin." - reagent_state = LIQUID - color = "#00A000" - scannable = 1 - -/datum/reagent/dylovene/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(alien != IS_DIONA) - M.drowsyness = max(0, M.drowsyness - 6 * removed) - M.hallucination = max(0, M.hallucination - 9 * removed) - M.adjustToxLoss(-4 * removed) - -/datum/reagent/dexalin - name = "Dexalin" - id = "dexalin" - description = "Dexalin is used in the treatment of oxygen deprivation." - reagent_state = LIQUID - color = "#0080FF" - overdose = REAGENTS_OVERDOSE - scannable = 1 - -/datum/reagent/dexalin/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(alien == IS_VOX) - M.adjustToxLoss(removed * 6) - else if(alien != IS_DIONA) - M.adjustOxyLoss(-15 * removed) - - holder.remove_reagent("lexorin", 2 * removed) - -/datum/reagent/dexalinp - name = "Dexalin Plus" - id = "dexalinp" - description = "Dexalin Plus is used in the treatment of oxygen deprivation. It is highly effective." - reagent_state = LIQUID - color = "#0040FF" - overdose = REAGENTS_OVERDOSE * 0.5 - scannable = 1 - -/datum/reagent/dexalin/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(alien == IS_VOX) - M.adjustToxLoss(removed * 9) - else if(alien != IS_DIONA) - M.adjustOxyLoss(-300 * removed) - - holder.remove_reagent("lexorin", 3 * removed) - -/datum/reagent/tricordrazine - name = "Tricordrazine" - id = "tricordrazine" - description = "Tricordrazine is a highly potent stimulant, originally derived from cordrazine. Can be used to treat a wide range of injuries." - reagent_state = LIQUID - color = "#8040FF" - scannable = 1 - -/datum/reagent/tricordrazine/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(alien != IS_DIONA) - M.adjustOxyLoss(-6 * removed) - M.heal_organ_damage(3 * removed, 3 * removed) - M.adjustToxLoss(-3 * removed) - -/datum/reagent/cryoxadone - name = "Cryoxadone" - id = "cryoxadone" - description = "A chemical mixture with almost magical healing powers. Its main limitation is that the targets body temperature must be under 170K for it to metabolise correctly." - reagent_state = LIQUID - color = "#8080FF" - metabolism = REM * 0.5 - scannable = 1 - -/datum/reagent/cryoxadone/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(M.bodytemperature < 170) - M.adjustCloneLoss(-10 * removed) - M.adjustOxyLoss(-10 * removed) - M.heal_organ_damage(10 * removed, 10 * removed) - M.adjustToxLoss(-10 * removed) - -/datum/reagent/clonexadone - name = "Clonexadone" - id = "clonexadone" - description = "A liquid compound similar to that used in the cloning process. Can be used to 'finish' the cloning process when used in conjunction with a cryo tube." - reagent_state = LIQUID - color = "#80BFFF" - metabolism = REM * 0.5 - scannable = 1 - -/datum/reagent/cryoxadone/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(M.bodytemperature < 170) - M.adjustCloneLoss(-30 * removed) - M.adjustOxyLoss(-3 * removed) - M.heal_organ_damage(30 * removed, 30 * removed) - M.adjustToxLoss(-30 * removed) - -/* Painkillers */ - -/datum/reagent/paracetamol - name = "Paracetamol" - id = "paracetamol" - description = "Most probably know this as Tylenol, but this chemical is a mild, simple painkiller." - reagent_state = LIQUID - color = "#C8A5DC" - overdose = 60 - scannable = 1 - metabolism = 0.02 - -/datum/reagent/paracetamol/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) - M.add_chemical_effect(CE_PAINKILLER, 50) - -/datum/reagent/paracetamol/overdose(var/mob/living/carbon/M, var/alien) - ..() - M.hallucination = max(M.hallucination, 2) - -/datum/reagent/tramadol - name = "Tramadol" - id = "tramadol" - description = "A simple, yet effective painkiller." - reagent_state = LIQUID - color = "#CB68FC" - overdose = 30 - scannable = 1 - metabolism = 0.02 - -/datum/reagent/tramadol/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) - M.add_chemical_effect(CE_PAINKILLER, 80) - -/datum/reagent/tramadol/overdose(var/mob/living/carbon/M, var/alien) - ..() - M.hallucination = max(M.hallucination, 2) - -/datum/reagent/oxycodone - name = "Oxycodone" - id = "oxycodone" - description = "An effective and very addictive painkiller." - reagent_state = LIQUID - color = "#800080" - overdose = 20 - metabolism = 0.02 - -/datum/reagent/oxycodone/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) - M.add_chemical_effect(CE_PAINKILLER, 200) - -/datum/reagent/oxycodone/overdose(var/mob/living/carbon/M, var/alien) - ..() - M.druggy = max(M.druggy, 10) - M.hallucination = max(M.hallucination, 3) - -/* Other medicine */ - -/datum/reagent/synaptizine - name = "Synaptizine" - id = "synaptizine" - description = "Synaptizine is used to treat various diseases." - reagent_state = LIQUID - color = "#99CCFF" - metabolism = REM * 0.05 - overdose = REAGENTS_OVERDOSE - scannable = 1 - -/datum/reagent/synaptizine/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(alien == IS_DIONA) - return - M.drowsyness = max(M.drowsyness - 5, 0) - M.AdjustParalysis(-1) - M.AdjustStunned(-1) - M.AdjustWeakened(-1) - holder.remove_reagent("mindbreaker", 5) - M.hallucination = max(0, M.hallucination - 10) - M.adjustToxLoss(5 * removed) // It used to be incredibly deadly due to an oversight. Not anymore! - M.add_chemical_effect(CE_PAINKILLER, 40) - -/datum/reagent/alkysine - name = "Alkysine" - id = "alkysine" - description = "Alkysine is a drug used to lessen the damage to neurological tissue after a catastrophic injury. Can heal brain tissue." - reagent_state = LIQUID - color = "#FFFF66" - metabolism = REM * 0.25 - overdose = REAGENTS_OVERDOSE - scannable = 1 - -/datum/reagent/alkysine/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(alien == IS_DIONA) - return - M.adjustBrainLoss(-30 * removed) - M.add_chemical_effect(CE_PAINKILLER, 10) - -/datum/reagent/imidazoline - name = "Imidazoline" - id = "imidazoline" - description = "Heals eye damage" - reagent_state = LIQUID - color = "#C8A5DC" - overdose = REAGENTS_OVERDOSE - scannable = 1 - -/datum/reagent/imidazoline/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) - M.eye_blurry = max(M.eye_blurry - 5, 0) - M.eye_blind = max(M.eye_blind - 5, 0) - if(ishuman(M)) - var/mob/living/carbon/human/H = M - var/obj/item/organ/eyes/E = H.internal_organs_by_name["eyes"] - if(E && istype(E)) - if(E.damage > 0) - E.damage = max(E.damage - 5 * removed, 0) - -/datum/reagent/peridaxon - name = "Peridaxon" - id = "peridaxon" - description = "Used to encourage recovery of internal organs and nervous systems. Medicate cautiously." - reagent_state = LIQUID - color = "#561EC3" - overdose = 10 - scannable = 1 - -/datum/reagent/peridaxon/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(ishuman(M)) - var/mob/living/carbon/human/H = M - - for(var/obj/item/organ/I in H.internal_organs) - if((I.damage > 0) && (I.robotic != 2)) //Peridaxon heals only non-robotic organs - I.damage = max(I.damage - removed, 0) - -/datum/reagent/ryetalyn - name = "Ryetalyn" - id = "ryetalyn" - description = "Ryetalyn can cure all genetic abnomalities via a catalytic process." - reagent_state = SOLID - color = "#004000" - overdose = REAGENTS_OVERDOSE - -/datum/reagent/ryetalyn/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) - var/needs_update = M.mutations.len > 0 - - M.mutations = list() - M.disabilities = 0 - M.sdisabilities = 0 - - // Might need to update appearance for hulk etc. - if(needs_update && ishuman(M)) - var/mob/living/carbon/human/H = M - H.update_mutations() - -/datum/reagent/hyperzine - name = "Hyperzine" - id = "hyperzine" - description = "Hyperzine is a highly effective, long lasting, muscle stimulant." - reagent_state = LIQUID - color = "#FF3300" - metabolism = REM * 0.15 - overdose = REAGENTS_OVERDOSE * 0.5 - -/datum/reagent/hyperzine/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(alien == IS_DIONA) - return - if(prob(5)) - M.emote(pick("twitch", "blink_r", "shiver")) - M.add_chemical_effect(CE_SPEEDBOOST, 1) - -/datum/reagent/ethylredoxrazine - name = "Ethylredoxrazine" - id = "ethylredoxrazine" - description = "A powerful oxidizer that reacts with ethanol." - reagent_state = SOLID - color = "#605048" - overdose = REAGENTS_OVERDOSE - -/datum/reagent/ethylredoxrazine/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(alien == IS_DIONA) - return - M.dizziness = 0 - M.drowsyness = 0 - M.stuttering = 0 - M.confused = 0 - if(M.ingested) - for(var/datum/reagent/R in M.ingested) - if(istype(R, /datum/reagent/ethanol)) - R.dose = max(R.dose - removed * 5, 0) - -/datum/reagent/hyronalin - name = "Hyronalin" - id = "hyronalin" - description = "Hyronalin is a medicinal drug used to counter the effect of radiation poisoning." - reagent_state = LIQUID - color = "#408000" - metabolism = REM * 0.25 - overdose = REAGENTS_OVERDOSE - scannable = 1 - -/datum/reagent/hyronalin/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) - M.radiation = max(M.radiation - 30 * removed, 0) - -/datum/reagent/arithrazine - name = "Arithrazine" - id = "arithrazine" - description = "Arithrazine is an unstable medication used for the most extreme cases of radiation poisoning." - reagent_state = LIQUID - color = "#008000" - metabolism = REM * 0.25 - overdose = REAGENTS_OVERDOSE - scannable = 1 - -/datum/reagent/arithrazine/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) - M.radiation = max(M.radiation - 70 * removed, 0) - M.adjustToxLoss(-10 * removed) - if(prob(60)) - M.take_organ_damage(4 * removed, 0) - -/datum/reagent/spaceacillin - name = "Spaceacillin" - id = "spaceacillin" - description = "An all-purpose antiviral agent." - reagent_state = LIQUID - color = "#C1C1C1" - metabolism = REM * 0.05 - overdose = REAGENTS_OVERDOSE - scannable = 1 - -/datum/reagent/sterilizine - name = "Sterilizine" - id = "sterilizine" - description = "Sterilizes wounds in preparation for surgery." - reagent_state = LIQUID - color = "#C8A5DC" - touch_met = 5 - -/datum/reagent/sterilizine/affect_touch(var/mob/living/carbon/M, var/alien, var/removed, var/location) - M.germ_level -= min(removed*20, M.germ_level) - -/datum/reagent/sterilizine/touch_obj(var/obj/O) - O.germ_level -= min(volume*20, O.germ_level) - -/datum/reagent/sterilizine/touch_turf(var/turf/T) - T.germ_level -= min(volume*20, T.germ_level) - -/datum/reagent/leporazine - name = "Leporazine" - id = "leporazine" - description = "Leporazine can be use to stabilize an individuals body temperature." - reagent_state = LIQUID - color = "#C8A5DC" - overdose = REAGENTS_OVERDOSE - scannable = 1 - -/datum/reagent/leporazine/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(M.bodytemperature > 310) - M.bodytemperature = max(310, M.bodytemperature - (40 * TEMPERATURE_DAMAGE_COEFFICIENT)) - else if(M.bodytemperature < 311) - M.bodytemperature = min(310, M.bodytemperature + (40 * TEMPERATURE_DAMAGE_COEFFICIENT)) - -/* Antidepressants */ - -#define ANTIDEPRESSANT_MESSAGE_DELAY 5*60*10 - -/datum/reagent/methylphenidate - name = "Methylphenidate" - id = "methylphenidate" - description = "Improves the ability to concentrate." - reagent_state = LIQUID - color = "#BF80BF" - metabolism = 0.01 - data = 0 - -/datum/reagent/methylphenidate/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(alien == IS_DIONA) - return - if(volume <= 0.1 && data != -1) - data = -1 - M << "You lose focus..." - else - if(world.time > data + ANTIDEPRESSANT_MESSAGE_DELAY) - data = world.time - M << "Your mind feels focused and undivided." - -/datum/reagent/citalopram - name = "Citalopram" - id = "citalopram" - description = "Stabilizes the mind a little." - reagent_state = LIQUID - color = "#FF80FF" - metabolism = 0.01 - data = 0 - -/datum/reagent/citalopram/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(alien == IS_DIONA) - return - if(volume <= 0.1 && data != -1) - data = -1 - M << "Your mind feels a little less stable..." - else - if(world.time > data + ANTIDEPRESSANT_MESSAGE_DELAY) - data = world.time - M << "Your mind feels stable... a little stable." - -/datum/reagent/paroxetine - name = "Paroxetine" - id = "paroxetine" - description = "Stabilizes the mind greatly, but has a chance of adverse effects." - reagent_state = LIQUID - color = "#FF80BF" - metabolism = 0.01 - data = 0 - -/datum/reagent/paroxetine/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(alien == IS_DIONA) - return - if(volume <= 0.1 && data != -1) - data = -1 - M << "Your mind feels much less stable..." - else - if(world.time > data + ANTIDEPRESSANT_MESSAGE_DELAY) - data = world.time - if(prob(90)) - M << "Your mind feels much more stable." - else - M << "Your mind breaks apart..." - M.hallucination += 200 - -/* Toxins, poisons, venoms */ -/datum/reagent/toxin - name = "Toxin" - id = "toxin" - description = "A toxic chemical." - reagent_state = LIQUID - color = "#CF3600" - metabolism = REM * 0.05 // 0.01 by default. They last a while and slowly kill you. - var/strength = 4 // How much damage it deals per unit - -/datum/reagent/toxin/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(strength && alien != IS_DIONA) - M.adjustToxLoss(strength * removed) - -/datum/reagent/toxin/plasticide - name = "Plasticide" - id = "plasticide" - description = "Liquid plastic, do not eat." - reagent_state = LIQUID - color = "#CF3600" - strength = 5 - -/datum/reagent/toxin/amatoxin - name = "Amatoxin" - id = "amatoxin" - description = "A powerful poison derived from certain species of mushroom." - reagent_state = LIQUID - color = "#792300" - strength = 10 - -/datum/reagent/toxin/carpotoxin - name = "Carpotoxin" - id = "carpotoxin" - description = "A deadly neurotoxin produced by the dreaded space carp." - reagent_state = LIQUID - color = "#003333" - strength = 10 - -/datum/reagent/toxin/phoron - name = "Phoron" - id = "phoron" - description = "Phoron in its liquid form." - reagent_state = LIQUID - color = "#9D14DB" - strength = 30 - -/datum/reagent/toxin/phoron/affect_touch(var/mob/living/carbon/M, var/alien, var/removed, var/location) - ..() - M.adjust_fire_stacks(removed / 5) - -/datum/reagent/toxin/phoron/touch_turf(var/turf/simulated/T) - if(!istype(T)) - return - T.assume_gas("volatile_fuel", volume, T20C) - remove_self(volume) - -/datum/reagent/toxin/cyanide //Fast and Lethal - name = "Cyanide" - id = "cyanide" - description = "A highly toxic chemical." - reagent_state = LIQUID - color = "#CF3600" - strength = 20 - metabolism = REM * 2 - -/datum/reagent/toxin/cyanide/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) - ..() - M.adjustOxyLoss(20 * removed) - M.sleeping += 1 - -/datum/reagent/toxin/potassium_chloride - name = "Potassium Chloride" - id = "potassium_chloride" - description = "A delicious salt that stops the heart when injected into cardiac muscle." - reagent_state = SOLID - color = "#FFFFFF" - strength = 0 - overdose = REAGENTS_OVERDOSE - -/datum/reagent/toxin/potassium_chloride/overdose(var/mob/living/carbon/M, var/alien) - ..() - if(ishuman(M)) - var/mob/living/carbon/human/H = M - if(H.stat != 1) - if(H.losebreath >= 10) - H.losebreath = max(10, H.losebreath - 10) - H.adjustOxyLoss(2) - H.Weaken(10) - -/datum/reagent/toxin/potassium_chlorophoride - name = "Potassium Chlorophoride" - id = "potassium_chlorophoride" - description = "A specific chemical based on Potassium Chloride to stop the heart for surgery. Not safe to eat!" - reagent_state = SOLID - color = "#FFFFFF" - strength = 10 - overdose = 20 - -/datum/reagent/toxin/potassium_chlorophoride/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) - ..() - if(ishuman(M)) - var/mob/living/carbon/human/H = M - if(H.stat != 1) - if(H.losebreath >= 10) - H.losebreath = max(10, M.losebreath-10) - H.adjustOxyLoss(2) - H.Weaken(10) - -/datum/reagent/toxin/zombiepowder - name = "Zombie Powder" - id = "zombiepowder" - description = "A strong neurotoxin that puts the subject into a death-like state." - reagent_state = SOLID - color = "#669900" - metabolism = REM - strength = 3 - -/datum/reagent/toxin/zombiepowder/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) - ..() - if(alien == IS_DIONA) - return - M.status_flags |= FAKEDEATH - M.adjustOxyLoss(3 * removed) - M.Weaken(10) - M.silent = max(M.silent, 10) - M.tod = worldtime2text() - -/datum/reagent/toxin/zombiepowder/Destroy() - if(holder && holder.my_atom && ismob(holder.my_atom)) - var/mob/M = holder.my_atom - M.status_flags &= ~FAKEDEATH - ..() - -/datum/reagent/toxin/fertilizer //Reagents used for plant fertilizers. - name = "fertilizer" - id = "fertilizer" - description = "A chemical mix good for growing plants with." - reagent_state = LIQUID - strength = 0.5 // It's not THAT poisonous. - color = "#664330" - -/datum/reagent/toxin/fertilizer/eznutrient - name = "EZ Nutrient" - id = "eznutrient" - -/datum/reagent/toxin/fertilizer/left4zed - name = "Left-4-Zed" - id = "left4zed" - -/datum/reagent/toxin/fertilizer/robustharvest - name = "Robust Harvest" - id = "robustharvest" - -/datum/reagent/toxin/plantbgone - name = "Plant-B-Gone" - id = "plantbgone" - description = "A harmful toxic mixture to kill plantlife. Do not ingest!" - reagent_state = LIQUID - color = "#49002E" - strength = 4 - -/datum/reagent/toxin/plantbgone/touch_turf(var/turf/T) - if(istype(T, /turf/simulated/wall)) - var/turf/simulated/wall/W = T - if(W.rotting) - W.rotting = 0 - for(var/obj/effect/E in W) - if(E.name == "Wallrot") - qdel(E) - - W.visible_message("The fungi are completely dissolved by the solution!") - -/datum/reagent/toxin/plantbgone/touch_obj(var/obj/O, var/volume) - if(istype(O, /obj/effect/alien/weeds/)) - var/obj/effect/alien/weeds/alien_weeds = O - alien_weeds.health -= rand(15, 35) - alien_weeds.healthcheck() - else if(istype(O, /obj/effect/plant)) - qdel(O) - -/datum/reagent/toxin/plantbgone/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) - ..() - if(alien == IS_DIONA) - M.adjustToxLoss(50 * removed) - -/datum/reagent/toxin/plantbgone/affect_touch(var/mob/living/carbon/M, var/alien, var/removed, var/location) - ..() - if(alien == IS_DIONA) - M.adjustToxLoss(50 * removed) - -/datum/reagent/acid/polyacid - name = "Polytrinic acid" - id = "pacid" - description = "Polytrinic acid is a an extremely corrosive chemical substance." - reagent_state = LIQUID - color = "#8E18A9" - power = 10 - meltdose = 4 - -/datum/reagent/lexorin - name = "Lexorin" - id = "lexorin" - description = "Lexorin temporarily stops respiration. Causes tissue damage." - reagent_state = LIQUID - color = "#C8A5DC" - overdose = REAGENTS_OVERDOSE - -/datum/reagent/lexorin/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(alien == IS_DIONA) - return - M.take_organ_damage(3 * removed, 0) - if(M.losebreath < 15) - M.losebreath++ - -/datum/reagent/mutagen - name = "Unstable mutagen" - id = "mutagen" - description = "Might cause unpredictable mutations. Keep away from children." - reagent_state = LIQUID - color = "#13BC5E" - -/datum/reagent/mutagen/affect_touch(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(prob(33)) - affect_blood(M, alien, removed) - -/datum/reagent/mutagen/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(prob(67)) - affect_blood(M, alien, removed) - -/datum/reagent/mutagen/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(M.dna) - if(prob(removed * 0.1)) // Approx. one mutation per 10 injected/20 ingested/30 touching units - randmuti(M) - if(prob(98)) - randmutb(M) - else - randmutg(M) - domutcheck(M, null) - M.UpdateAppearance() - M.apply_effect(10 * removed, IRRADIATE, 0) - -/datum/reagent/slimejelly - name = "Slime Jelly" - id = "slimejelly" - description = "A gooey semi-liquid produced from one of the deadliest lifeforms in existence. SO REAL." - reagent_state = LIQUID - color = "#801E28" - -/datum/reagent/slimejelly/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(alien == IS_DIONA) - return - if(prob(10)) - M << "Your insides are burning!" - M.adjustToxLoss(rand(100, 300) * removed) - else if(prob(40)) - M.heal_organ_damage(25 * removed, 0) - -/datum/reagent/soporific - name = "Soporific" - id = "stoxin" - description = "An effective hypnotic used to treat insomnia." - reagent_state = LIQUID - color = "#009CA8" - metabolism = REM * 0.5 - overdose = REAGENTS_OVERDOSE - -/datum/reagent/soporific/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(alien == IS_DIONA) - return - if(dose < 1) - if(dose == metabolism * 2 || prob(5)) - M.emote("yawn") - else if(dose < 1.5) - M.eye_blurry = max(M.eye_blurry, 10) - else if(dose < 5) - if(prob(50)) - M.Weaken(2) - M.drowsyness = max(M.drowsyness, 20) - else - M.sleeping = max(M.sleeping, 20) - M.drowsyness = max(M.drowsyness, 60) - -/datum/reagent/chloralhydrate - name = "Chloral Hydrate" - id = "chloralhydrate" - description = "A powerful sedative." - reagent_state = SOLID - color = "#000067" - metabolism = REM * 0.5 - overdose = REAGENTS_OVERDOSE * 0.5 - -/datum/reagent/chloralhydrate/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(alien == IS_DIONA) - return - if(dose == metabolism) - M.confused += 2 - M.drowsyness += 2 - else if(dose < 2) - M.Weaken(30) - M.eye_blurry = max(M.eye_blurry, 10) - else - M.sleeping = max(M.sleeping, 30) - - if(dose > 1) - M.adjustToxLoss(removed) - -/datum/reagent/chloralhydrate/beer2 //disguised as normal beer for use by emagged brobots - name = "Beer" - id = "beer2" - description = "An alcoholic beverage made from malted grains, hops, yeast, and water. The fermentation appears to be incomplete." //If the players manage to analyze this, they deserve to know something is wrong. - reagent_state = LIQUID - color = "#664300" - - glass_icon_state = "beerglass" - glass_name = "glass of beer" - glass_desc = "A freezing pint of beer" - glass_center_of_mass = list("x"=16, "y"=8) - -/* Drugs */ - -/datum/reagent/space_drugs - name = "Space drugs" - id = "space_drugs" - description = "An illegal chemical compound used as drug." - reagent_state = LIQUID - color = "#60A584" - metabolism = REM * 0.5 - overdose = REAGENTS_OVERDOSE - -/datum/reagent/space_drugs/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(alien == IS_DIONA) - return - M.druggy = max(M.druggy, 15) - if(prob(10) && isturf(M.loc) && !istype(M.loc, /turf/space) && M.canmove && !M.restrained()) - step(M, pick(cardinal)) - if(prob(7)) - M.emote(pick("twitch", "drool", "moan", "giggle")) - -/datum/reagent/serotrotium - name = "Serotrotium" - id = "serotrotium" - description = "A chemical compound that promotes concentrated production of the serotonin neurotransmitter in humans." - reagent_state = LIQUID - color = "#202040" - metabolism = REM * 0.25 - overdose = REAGENTS_OVERDOSE - -/datum/reagent/serotrotium/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(alien == IS_DIONA) - return - if(prob(7)) - M.emote(pick("twitch", "drool", "moan", "gasp")) - return - -/datum/reagent/cryptobiolin - name = "Cryptobiolin" - id = "cryptobiolin" - description = "Cryptobiolin causes confusion and dizzyness." - reagent_state = LIQUID - color = "#000055" - metabolism = REM * 0.5 - overdose = REAGENTS_OVERDOSE - -/datum/reagent/cryptobiolin/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(alien == IS_DIONA) - return - M.make_dizzy(4) - M.confused = max(M.confused, 20) - -/datum/reagent/impedrezene - name = "Impedrezene" - id = "impedrezene" - description = "Impedrezene is a narcotic that impedes one's ability by slowing down the higher brain cell functions." - reagent_state = LIQUID - color = "#C8A5DC" - overdose = REAGENTS_OVERDOSE - -/datum/reagent/impedrezene/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(alien == IS_DIONA) - return - M.jitteriness = max(M.jitteriness - 5, 0) - if(prob(80)) - M.adjustBrainLoss(3 * removed) - if(prob(50)) - M.drowsyness = max(M.drowsyness, 3) - if(prob(10)) - M.emote("drool") - -/datum/reagent/mindbreaker - name = "Mindbreaker Toxin" - id = "mindbreaker" - description = "A powerful hallucinogen, it can cause fatal effects in users." - reagent_state = LIQUID - color = "#B31008" - metabolism = REM * 0.25 - overdose = REAGENTS_OVERDOSE - -/datum/reagent/mindbreaker/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(alien == IS_DIONA) - return - M.hallucination = max(M.hallucination, 100) - -/datum/reagent/psilocybin - name = "Psilocybin" - id = "psilocybin" - description = "A strong psycotropic derived from certain species of mushroom." - color = "#E700E7" - overdose = REAGENTS_OVERDOSE - metabolism = REM * 0.5 - -/datum/reagent/psilocybin/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(alien == IS_DIONA) - return - M.druggy = max(M.druggy, 30) - if(dose < 1) - M.stuttering = max(M.stuttering, 3) - M.make_dizzy(5) - if(prob(10)) - M.emote(pick("twitch", "giggle")) - else if(dose < 2) - M.stuttering = max(M.stuttering, 3) - M.make_jittery(10) - M.make_dizzy(10) - M.druggy = max(M.druggy, 35) - if(prob(20)) - M.emote(pick("twitch","giggle")) - else - M.stuttering = max(M.stuttering, 3) - M.make_jittery(20) - M.make_dizzy(20) - M.druggy = max(M.druggy, 40) - if(prob(30)) - M.emote(pick("twitch", "giggle")) - -/datum/reagent/nicotine - name = "Nicotine" - id = "nicotine" - description = "A highly addictive stimulant extracted from the tobacco plant." - reagent_state = LIQUID - color = "#181818" - -/* Transformations */ - -/datum/reagent/slimetoxin - name = "Mutation Toxin" - id = "mutationtoxin" - description = "A corruptive toxin produced by slimes." - reagent_state = LIQUID - color = "#13BC5E" - -/datum/reagent/slimetoxin/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(ishuman(M)) - var/mob/living/carbon/human/H = M - if(H.species.name != "Slime") - M << "Your flesh rapidly mutates!" - H.set_species("Slime") - -/datum/reagent/aslimetoxin - name = "Advanced Mutation Toxin" - id = "amutationtoxin" - description = "An advanced corruptive toxin produced by slimes." - reagent_state = LIQUID - color = "#13BC5E" - -/datum/reagent/aslimetoxin/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) // TODO: check if there's similar code anywhere else - if(M.monkeyizing) - return - M << "Your flesh rapidly mutates!" - M.monkeyizing = 1 - M.canmove = 0 - M.icon = null - M.overlays.Cut() - M.invisibility = 101 - for(var/obj/item/W in M) - if(istype(W, /obj/item/weapon/implant)) //TODO: Carn. give implants a dropped() or something - qdel(W) - continue - W.layer = initial(W.layer) - W.loc = M.loc - W.dropped(M) - var/mob/living/carbon/slime/new_mob = new /mob/living/carbon/slime(M.loc) - new_mob.a_intent = "hurt" - new_mob.universal_speak = 1 - if(M.mind) - M.mind.transfer_to(new_mob) - else - new_mob.key = M.key - qdel(M) - -/datum/reagent/nanites - name = "Nanomachines" - id = "nanites" - description = "Microscopic construction robots." - reagent_state = LIQUID - color = "#535E66" - -/datum/reagent/nanites/affect_touch(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(prob(10)) - M.contract_disease(new /datum/disease/robotic_transformation(0), 1) - -/datum/reagent/nanites/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) - M.contract_disease(new /datum/disease/robotic_transformation(0), 1) - -/datum/reagent/xenomicrobes - name = "Xenomicrobes" - id = "xenomicrobes" - description = "Microbes with an entirely alien cellular structure." - reagent_state = LIQUID - color = "#535E66" - -/datum/reagent/xenomicrobes/affect_touch(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(prob(10)) - M.contract_disease(new /datum/disease/xeno_transformation(0), 1) - -/datum/reagent/xenomicrobes/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) - M.contract_disease(new /datum/disease/xeno_transformation(0), 1) - -/* Food */ - -/datum/reagent/nutriment - name = "Nutriment" - id = "nutriment" - description = "All the vitamins, minerals, and carbohydrates the body needs in pure form." - reagent_state = SOLID - metabolism = REM * 4 - var/nutriment_factor = 30 // Per unit - var/injectable = 0 - color = "#664330" - -/datum/reagent/nutriment/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(!injectable) - M.adjustToxLoss(0.1 * removed) - return - affect_ingest(M, alien, removed) - -/datum/reagent/nutriment/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) - M.heal_organ_damage(0.5 * removed, 0) - M.nutrition += nutriment_factor * removed // For hunger and fatness - M.add_chemical_effect(CE_BLOODRESTORE, 4 * removed) - -/datum/reagent/nutriment/protein // Bad for Skrell! - name = "animal protein" - id = "protein" - color = "#440000" - -/datum/reagent/nutriment/protein/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(alien && alien == IS_SKRELL) - M.adjustToxLoss(0.5 * removed) - return - ..() - -/datum/reagent/nutriment/egg // Also bad for skrell. Not a child of protein because it might mess up, not sure. - name = "egg yolk" - id = "egg" - color = "#FFFFAA" - -/datum/reagent/nutriment/egg/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(alien && alien == IS_SKRELL) - M.adjustToxLoss(0.5) - return - ..() - -/datum/reagent/nutriment/flour - name = "flour" - id = "flour" - description = "This is what you rub all over yourself to pretend to be a ghost." - reagent_state = SOLID - nutriment_factor = 1 - color = "#FFFFFF" - -/datum/reagent/nutriment/flour/touch_turf(var/turf/simulated/T) - if(!istype(T, /turf/space)) - new /obj/effect/decal/cleanable/flour(T) - -/datum/reagent/nutriment/coco - name = "Coco Powder" - id = "coco" - description = "A fatty, bitter paste made from coco beans." - reagent_state = SOLID - nutriment_factor = 5 - color = "#302000" - -/datum/reagent/nutriment/soysauce - name = "Soysauce" - id = "soysauce" - description = "A salty sauce made from the soy plant." - reagent_state = LIQUID - nutriment_factor = 2 - color = "#792300" - -/datum/reagent/nutriment/ketchup - name = "Ketchup" - id = "ketchup" - description = "Ketchup, catsup, whatever. It's tomato paste." - reagent_state = LIQUID - nutriment_factor = 5 - color = "#731008" - -/datum/reagent/nutriment/rice - name = "Rice" - id = "rice" - description = "Enjoy the great taste of nothing." - reagent_state = SOLID - nutriment_factor = 1 - color = "#FFFFFF" - -/datum/reagent/nutriment/cherryjelly - name = "Cherry Jelly" - id = "cherryjelly" - description = "Totally the best. Only to be spread on foods with excellent lateral symmetry." - reagent_state = LIQUID - nutriment_factor = 1 - color = "#801E28" - -/datum/reagent/nutriment/cornoil - name = "Corn Oil" - id = "cornoil" - description = "An oil derived from various types of corn." - reagent_state = LIQUID - nutriment_factor = 20 - color = "#302000" - -/datum/reagent/nutriment/cornoil/touch_turf(var/turf/simulated/T) - if(!istype(T)) - return - - var/hotspot = (locate(/obj/fire) in T) - if(hotspot && !istype(T, /turf/space)) - var/datum/gas_mixture/lowertemp = T.remove_air(T:air:total_moles) - lowertemp.temperature = max(min(lowertemp.temperature-2000, lowertemp.temperature / 2), 0) - lowertemp.react() - T.assume_air(lowertemp) - qdel(hotspot) - - if(volume >= 3) - if(T.wet >= 1) - return - T.wet = 1 - if(T.wet_overlay) - T.overlays -= T.wet_overlay - T.wet_overlay = null - T.wet_overlay = image('icons/effects/water.dmi',T,"wet_floor") - T.overlays += T.wet_overlay - - spawn(800) // This is terrible and needs to be changed when possible. - if(!T || !istype(T)) - return - if(T.wet >= 2) - return - T.wet = 0 - if(T.wet_overlay) - T.overlays -= T.wet_overlay - T.wet_overlay = null - -/datum/reagent/nutriment/virus_food - name = "Virus Food" - id = "virusfood" - description = "A mixture of water, milk, and oxygen. Virus cells can use this mixture to reproduce." - reagent_state = LIQUID - nutriment_factor = 2 - color = "#899613" - -/datum/reagent/nutriment/sprinkles - name = "Sprinkles" - id = "sprinkles" - description = "Multi-colored little bits of sugar, commonly found on donuts. Loved by cops." - nutriment_factor = 1 - color = "#FF00FF" - -/datum/reagent/nutriment/mint - name = "Mint" - id = "mint" - description = "Also known as Mentha." - reagent_state = LIQUID - color = "#CF3600" - -/datum/reagent/lipozine // The anti-nutriment. - name = "Lipozine" - id = "lipozine" - description = "A chemical compound that causes a powerful fat-burning reaction." - reagent_state = LIQUID - color = "#BBEDA4" - overdose = REAGENTS_OVERDOSE - -/datum/reagent/lipozine/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) - M.nutrition = max(M.nutrition - 10 * removed, 0) - M.overeatduration = 0 - if(M.nutrition < 0) - M.nutrition = 0 - -/* Non-food stuff like condiments */ - -/datum/reagent/sodiumchloride - name = "Table Salt" - id = "sodiumchloride" - description = "A salt made of sodium chloride. Commonly used to season food." - reagent_state = SOLID - color = "#FFFFFF" - overdose = REAGENTS_OVERDOSE - -/datum/reagent/blackpepper - name = "Black Pepper" - id = "blackpepper" - description = "A powder ground from peppercorns. *AAAACHOOO*" - reagent_state = SOLID - color = "#000000" - -/datum/reagent/enzyme - name = "Universal Enzyme" - id = "enzyme" - description = "A universal enzyme used in the preperation of certain chemicals and foods." - reagent_state = LIQUID - color = "#365E30" - overdose = REAGENTS_OVERDOSE - -/datum/reagent/frostoil - name = "Frost Oil" - id = "frostoil" - description = "A special oil that noticably chills the body. Extracted from Ice Peppers." - reagent_state = LIQUID - color = "#B31008" - -/datum/reagent/frostoil/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(alien == IS_DIONA) - return - M.bodytemperature = max(M.bodytemperature - 10 * TEMPERATURE_DAMAGE_COEFFICIENT, 0) - if(prob(1)) - M.emote("shiver") - if(istype(M, /mob/living/carbon/slime)) - M.bodytemperature = max(M.bodytemperature - rand(10,20), 0) - holder.remove_reagent("capsaicin", 5) - -/datum/reagent/capsaicin - name = "Capsaicin Oil" - id = "capsaicin" - description = "This is what makes chilis hot." - reagent_state = LIQUID - color = "#B31008" - -/datum/reagent/capsaicin/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(alien == IS_DIONA) - return - if(ishuman(M)) - var/mob/living/carbon/human/H = M - if(H.species && (H.species.flags & (NO_PAIN | IS_SYNTHETIC))) - return - if(dose < 5 && (dose == metabolism || prob(5))) - M << "Your insides feel uncomfortably hot!" - if(dose >= 5) - M.apply_effect(2, AGONY, 0) - if(prob(5)) - M.visible_message("[M] [pick("dry heaves!","coughs!","splutters!")]", "You feel like your insides are burning!") - if(istype(M, /mob/living/carbon/slime)) - M.bodytemperature += rand(10, 25) - holder.remove_reagent("frostoil", 5) - -/datum/reagent/condensedcapsaicin - name = "Condensed Capsaicin" - id = "condensedcapsaicin" - description = "A chemical agent used for self-defense and in police work." - reagent_state = LIQUID - touch_met = 50 // Get rid of it quickly - color = "#B31008" - -/datum/reagent/condensedcapsaicin/affect_touch(var/mob/living/carbon/M, var/alien, var/removed, var/location) - var/eyes_covered = 0 - var/mouth_covered = 0 - var/obj/item/safe_thing = null - if(istype(M, /mob/living/carbon/human)) - var/mob/living/carbon/human/H = M - if(H.species && (H.species.flags & NO_PAIN)) - return - if(H.head) - if(H.head.flags & MASKCOVERSEYES) - eyes_covered = 1 - safe_thing = H.head - if(H.head.flags & MASKCOVERSMOUTH) - mouth_covered = 1 - safe_thing = H.head - if(H.wear_mask) - if(!eyes_covered && H.wear_mask.flags & MASKCOVERSEYES) - eyes_covered = 1 - safe_thing = H.wear_mask - if(!mouth_covered && H.wear_mask.flags & MASKCOVERSMOUTH) - mouth_covered = 1 - safe_thing = H.wear_mask - if(H.glasses) - if(!eyes_covered) - eyes_covered = 1 - if(!safe_thing) - safe_thing = H.glasses - if(eyes_covered && mouth_covered) - M << "Your [safe_thing] protects you from the pepperspray!" - return - else if(eyes_covered) - M << "Your [safe_thing] protect you from most of the pepperspray!" - M.eye_blurry = max(M.eye_blurry, 15) - M.eye_blind = max(M.eye_blind, 5) - M.Stun(5) - M.Weaken(5) - return - else if (mouth_covered) // Mouth cover is better than eye cover - M << "Your [safe_thing] protects your face from the pepperspray!" - M.eye_blurry = max(M.eye_blurry, 5) - return - else // Oh dear :D - M << "You're sprayed directly in the eyes with pepperspray!" - M.eye_blurry = max(M.eye_blurry, 25) - M.eye_blind = max(M.eye_blind, 10) - M.Stun(5) - M.Weaken(5) - return - -/datum/reagent/condensedcapsaicin/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(ishuman(M)) - var/mob/living/carbon/human/H = M - if(H.species && (H.species.flags & (NO_PAIN | IS_SYNTHETIC))) - return - if(dose == metabolism) - M << "You feel like your insides are burning!" - else - M.apply_effect(4, AGONY, 0) - if(prob(5)) - M.visible_message("[M] [pick("dry heaves!","coughs!","splutters!")]", "You feel like your insides are burning!") - if(istype(M, /mob/living/carbon/slime)) - M.bodytemperature += rand(15, 30) - holder.remove_reagent("frostoil", 5) - -/* Drinks */ - -/datum/reagent/drink - name = "Drink" - id = "drink" - description = "Uh, some kind of drink." - reagent_state = LIQUID - color = "#E78108" - var/nutrition = 0 // Per unit - var/adj_dizzy = 0 // Per tick - var/adj_drowsy = 0 - var/adj_sleepy = 0 - var/adj_temp = 0 - -/datum/reagent/drink/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) - M.adjustToxLoss(removed) // Probably not a good idea; not very deadly though - return - -/datum/reagent/drink/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) - M.nutrition += nutrition * removed - M.dizziness = max(0, M.dizziness + adj_dizzy) - M.drowsyness = max(0, M.drowsyness + adj_drowsy) - M.sleeping = max(0, M.sleeping + adj_sleepy) - if(adj_temp > 0 && M.bodytemperature < 310) // 310 is the normal bodytemp. 310.055 - M.bodytemperature = min(310, M.bodytemperature + (adj_temp * TEMPERATURE_DAMAGE_COEFFICIENT)) - if(adj_temp < 0 && M.bodytemperature > 310) - M.bodytemperature = min(310, M.bodytemperature - (adj_temp * TEMPERATURE_DAMAGE_COEFFICIENT)) - -// Juices - -/datum/reagent/drink/banana - name = "Banana Juice" - id = "banana" - description = "The raw essence of a banana." - color = "#C3AF00" - - glass_icon_state = "banana" - glass_name = "glass of banana juice" - glass_desc = "The raw essence of a banana. HONK!" - -/datum/reagent/drink/berryjuice - name = "Berry Juice" - id = "berryjuice" - description = "A delicious blend of several different kinds of berries." - color = "#990066" - - glass_icon_state = "berryjuice" - glass_name = "glass of berry juice" - glass_desc = "Berry juice. Or maybe it's jam. Who cares?" - -/datum/reagent/drink/carrotjuice - name = "Carrot juice" - id = "carrotjuice" - description = "It is just like a carrot but without crunching." - color = "#FF8C00" // rgb: 255, 140, 0 - - glass_icon_state = "carrotjuice" - glass_name = "glass of carrot juice" - glass_desc = "It is just like a carrot but without crunching." - -/datum/reagent/drink/carrotjuice/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) - ..() - M.reagents.add_reagent("imidazoline", removed * 0.2) - -/datum/reagent/drink/grapejuice - name = "Grape Juice" - id = "grapejuice" - description = "It's grrrrrape!" - color = "#863333" - - glass_icon_state = "grapejuice" - glass_name = "glass of grape juice" - glass_desc = "It's grrrrrape!" - -/datum/reagent/drink/lemonjuice - name = "Lemon Juice" - id = "lemonjuice" - description = "This juice is VERY sour." - color = "#AFAF00" - - glass_icon_state = "lemonjuice" - glass_name = "glass of lemon juice" - glass_desc = "Sour..." - -/datum/reagent/drink/limejuice - name = "Lime Juice" - id = "limejuice" - description = "The sweet-sour juice of limes." - color = "#365E30" - - glass_icon_state = "glass_green" - glass_name = "glass of lime juice" - glass_desc = "A glass of sweet-sour lime juice" - -/datum/reagent/drink/limejuice/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) - ..() - if(alien == IS_DIONA) - return - M.adjustToxLoss(-0.5 * removed) - -/datum/reagent/drink/orangejuice - name = "Orange juice" - id = "orangejuice" - description = "Both delicious AND rich in Vitamin C, what more do you need?" - color = "#E78108" - - glass_icon_state = "glass_orange" - glass_name = "glass of orange juice" - glass_desc = "Vitamins! Yay!" - -/datum/reagent/drink/orangejuice/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) - ..() - if(alien == IS_DIONA) - return - M.adjustOxyLoss(-2 * removed) - -/datum/reagent/toxin/poisonberryjuice // It has more in common with toxins than drinks... but it's a juice - name = "Poison Berry Juice" - id = "poisonberryjuice" - description = "A tasty juice blended from various kinds of very deadly and toxic berries." - color = "#863353" - strength = 5 - - glass_icon_state = "poisonberryjuice" - glass_name = "glass of poison berry juice" - glass_desc = "A glass of deadly juice." - -/datum/reagent/drink/potato_juice - name = "Potato Juice" - id = "potato" - description = "Juice of the potato. Bleh." - nutrition = 2 - color = "#302000" - - glass_icon_state = "glass_brown" - glass_name = "glass of potato juice" - glass_desc = "Juice from a potato. Bleh." - -/datum/reagent/drink/tomatojuice - name = "Tomato Juice" - id = "tomatojuice" - description = "Tomatoes made into juice. What a waste of big, juicy tomatoes, huh?" - color = "#731008" - - glass_icon_state = "glass_red" - glass_name = "glass of tomato juice" - glass_desc = "Are you sure this is tomato juice?" - -/datum/reagent/drink/tomatojuice/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) - ..() - if(alien == IS_DIONA) - return - M.heal_organ_damage(0, 0.5 * removed) - -/datum/reagent/drink/watermelonjuice - name = "Watermelon Juice" - id = "watermelonjuice" - description = "Delicious juice made from watermelon." - color = "#B83333" - - glass_icon_state = "glass_red" - glass_name = "glass of watermelon juice" - glass_desc = "Delicious juice made from watermelon." - -// Everything else - -/datum/reagent/drink/milk - name = "Milk" - id = "milk" - description = "An opaque white liquid produced by the mammary glands of mammals." - color = "#DFDFDF" - - glass_icon_state = "glass_white" - glass_name = "glass of milk" - glass_desc = "White and nutritious goodness!" - -/datum/reagent/drink/milk/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) - ..() - if(alien == IS_DIONA) - return - M.heal_organ_damage(0.5 * removed, 0) - holder.remove_reagent("capsaicin", 10 * removed) - -/datum/reagent/drink/milk/cream - name = "Cream" - id = "cream" - description = "The fatty, still liquid part of milk. Why don't you mix this with sum scotch, eh?" - color = "#DFD7AF" - - glass_icon_state = "glass_white" - glass_name = "glass of cream" - glass_desc = "Ewwww..." - -/datum/reagent/drink/milk/soymilk - name = "Soy Milk" - id = "soymilk" - description = "An opaque white liquid made from soybeans." - color = "#DFDFC7" - - glass_icon_state = "glass_white" - glass_name = "glass of soy milk" - glass_desc = "White and nutritious soy goodness!" - -/datum/reagent/drink/tea - name = "Tea" - id = "tea" - description = "Tasty black tea, it has antioxidants, it's good for you!" - color = "#101000" - adj_dizzy = -2 - adj_drowsy = -1 - adj_sleepy = -3 - adj_temp = 20 - - glass_icon_state = "bigteacup" - glass_name = "cup of tea" - glass_desc = "Tasty black tea, it has antioxidants, it's good for you!" - -/datum/reagent/drink/tea/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) - ..() - if(alien == IS_DIONA) - return - M.adjustToxLoss(-0.5 * removed) - -/datum/reagent/drink/tea/icetea - name = "Iced Tea" - id = "icetea" - description = "No relation to a certain rap artist/ actor." - color = "#104038" // rgb: 16, 64, 56 - adj_temp = -5 - - glass_icon_state = "icedteaglass" - glass_name = "glass of iced tea" - glass_desc = "No relation to a certain rap artist/ actor." - glass_center_of_mass = list("x"=15, "y"=10) - -/datum/reagent/drink/coffee - name = "Coffee" - id = "coffee" - description = "Coffee is a brewed drink prepared from roasted seeds, commonly called coffee beans, of the coffee plant." - color = "#482000" - adj_dizzy = -5 - adj_drowsy = -3 - adj_sleepy = -2 - adj_temp = 25 - - glass_icon_state = "hot_coffee" - glass_name = "cup of coffee" - glass_desc = "Don't drop it, or you'll send scalding liquid and glass shards everywhere." - - -/datum/reagent/drink/coffee/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) - ..() - if(alien == IS_DIONA) - return - M.make_jittery(5) - if(adj_temp > 0) - holder.remove_reagent("frostoil", 10 * removed) - -/datum/reagent/drink/coffee/icecoffee - name = "Iced Coffee" - id = "icecoffee" - description = "Coffee and ice, refreshing and cool." - color = "#102838" - adj_temp = -5 - - glass_icon_state = "icedcoffeeglass" - glass_name = "glass of iced coffee" - glass_desc = "A drink to perk you up and refresh you!" - -/datum/reagent/drink/coffee/soy_latte - name = "Soy Latte" - id = "soy_latte" - description = "A nice and tasty beverage while you are reading your hippie books." - color = "#664300" - adj_temp = 5 - - glass_icon_state = "soy_latte" - glass_name = "glass of soy latte" - glass_desc = "A nice and refrshing beverage while you are reading." - glass_center_of_mass = list("x"=15, "y"=9) - -/datum/reagent/drink/coffee/soy_latte/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) - ..() - M.heal_organ_damage(0.5 * removed, 0) - -/datum/reagent/drink/coffee/cafe_latte - name = "Cafe Latte" - id = "cafe_latte" - description = "A nice, strong and tasty beverage while you are reading." - color = "#664300" // rgb: 102, 67, 0 - adj_temp = 5 - - glass_icon_state = "cafe_latte" - glass_name = "glass of cafe latte" - glass_desc = "A nice, strong and refreshing beverage while you are reading." - glass_center_of_mass = list("x"=15, "y"=9) - -/datum/reagent/drink/coffee/cafe_latte/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) - ..() - M.heal_organ_damage(0.5 * removed, 0) - -/datum/reagent/drink/hot_coco - name = "Hot Chocolate" - id = "hot_coco" - description = "Made with love! And cocoa beans." - reagent_state = LIQUID - color = "#403010" - nutrition = 2 - adj_temp = 5 - - glass_icon_state = "chocolateglass" - glass_name = "glass of hot chocolate" - glass_desc = "Made with love! And cocoa beans." - -/datum/reagent/drink/sodawater - name = "Soda Water" - id = "sodawater" - description = "A can of club soda. Why not make a scotch and soda?" - color = "#619494" - adj_dizzy = -5 - adj_drowsy = -3 - adj_temp = -5 - - glass_icon_state = "glass_clear" - glass_name = "glass of soda water" - glass_desc = "Soda water. Why not make a scotch and soda?" - -/datum/reagent/drink/grapesoda - name = "Grape Soda" - id = "grapesoda" - description = "Grapes made into a fine drank." - color = "#421C52" - adj_drowsy = -3 - - glass_icon_state = "gsodaglass" - glass_name = "glass of grape soda" - glass_desc = "Looks like a delicious drink!" - -/datum/reagent/drink/tonic - name = "Tonic Water" - id = "tonic" - description = "It tastes strange but at least the quinine keeps the Space Malaria at bay." - color = "#664300" - adj_dizzy = -5 - adj_drowsy = -3 - adj_sleepy = -2 - adj_temp = -5 - - glass_icon_state = "glass_clear" - glass_name = "glass of tonic water" - glass_desc = "Quinine tastes funny, but at least it'll keep that Space Malaria away." - -/datum/reagent/drink/lemonade - name = "Lemonade" - description = "Oh the nostalgia..." - id = "lemonade" - color = "#FFFF00" - adj_temp = -5 - - glass_icon_state = "lemonadeglass" - glass_name = "glass of lemonade" - glass_desc = "Oh the nostalgia..." - -/datum/reagent/drink/kiraspecial - name = "Kira Special" - description = "Long live the guy who everyone had mistaken for a girl. Baka!" - id = "kiraspecial" - color = "#CCCC99" - adj_temp = -5 - - glass_icon_state = "kiraspecial" - glass_name = "glass of Kira Special" - glass_desc = "Long live the guy who everyone had mistaken for a girl. Baka!" - glass_center_of_mass = list("x"=16, "y"=12) - -/datum/reagent/drink/brownstar - name = "Brown Star" - description = "It's not what it sounds like..." - id = "brownstar" - color = "#9F3400" - adj_temp = -2 - - glass_icon_state = "brownstar" - glass_name = "glass of Brown Star" - glass_desc = "It's not what it sounds like..." - -/datum/reagent/drink/milkshake - name = "Milkshake" - description = "Glorious brainfreezing mixture." - id = "milkshake" - color = "#AEE5E4" - adj_temp = -9 - - glass_icon_state = "milkshake" - glass_name = "glass of milkshake" - glass_desc = "Glorious brainfreezing mixture." - glass_center_of_mass = list("x"=16, "y"=7) - -/datum/reagent/drink/rewriter - name = "Rewriter" - description = "The secret of the sanctuary of the Libarian..." - id = "rewriter" - color = "#485000" - adj_temp = -5 - - glass_icon_state = "rewriter" - glass_name = "glass of Rewriter" - glass_desc = "The secret of the sanctuary of the Libarian..." - glass_center_of_mass = list("x"=16, "y"=9) - -/datum/reagent/drink/rewriter/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) - ..() - M.make_jittery(5) - -/datum/reagent/drink/nuka_cola - name = "Nuka Cola" - id = "nuka_cola" - description = "Cola, cola never changes." - color = "#100800" - adj_temp = -5 - adj_sleepy = -2 - - glass_icon_state = "nuka_colaglass" - glass_name = "glass of Nuka-Cola" - glass_desc = "Don't cry, Don't raise your eye, It's only nuclear wasteland" - glass_center_of_mass = list("x"=16, "y"=6) - -/datum/reagent/drink/nuka_cola/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) - ..() - M.add_chemical_effect(CE_SPEEDBOOST, 1) - M.make_jittery(20) - M.druggy = max(M.druggy, 30) - M.dizziness += 5 - M.drowsyness = 0 - -/datum/reagent/drink/grenadine - name = "Grenadine Syrup" - id = "grenadine" - description = "Made in the modern day with proper pomegranate substitute. Who uses real fruit, anyways?" - color = "#FF004F" - - glass_icon_state = "grenadineglass" - glass_name = "glass of grenadine syrup" - glass_desc = "Sweet and tangy, a bar syrup used to add color or flavor to drinks." - glass_center_of_mass = list("x"=17, "y"=6) - -/datum/reagent/drink/space_cola - name = "Space Cola" - id = "cola" - description = "A refreshing beverage." - reagent_state = LIQUID - color = "#100800" - adj_drowsy = -3 - adj_temp = -5 - - glass_icon_state = "glass_brown" - glass_name = "glass of Space Cola" - glass_desc = "A glass of refreshing Space Cola" - -/datum/reagent/drink/spacemountainwind - name = "Mountain Wind" - id = "spacemountainwind" - description = "Blows right through you like a space wind." - color = "#102000" - adj_drowsy = -7 - adj_sleepy = -1 - adj_temp = -5 - - glass_icon_state = "Space_mountain_wind_glass" - glass_name = "glass of Space Mountain Wind" - glass_desc = "Space Mountain Wind. As you know, there are no mountains in space, only wind." - -/datum/reagent/drink/dr_gibb - name = "Dr. Gibb" - id = "dr_gibb" - description = "A delicious blend of 42 different flavours" - color = "#102000" - adj_drowsy = -6 - adj_temp = -5 - - glass_icon_state = "dr_gibb_glass" - glass_name = "glass of Dr. Gibb" - glass_desc = "Dr. Gibb. Not as dangerous as the name might imply." - -/datum/reagent/drink/space_up - name = "Space-Up" - id = "space_up" - description = "Tastes like a hull breach in your mouth." - color = "#202800" - adj_temp = -8 - - glass_icon_state = "space-up_glass" - glass_name = "glass of Space-up" - glass_desc = "Space-up. It helps keep your cool." - -/datum/reagent/drink/lemon_lime - name = "Lemon Lime" - description = "A tangy substance made of 0.5% natural citrus!" - id = "lemon_lime" - color = "#878F00" - adj_temp = -8 - - glass_icon_state = "lemonlime" - glass_name = "glass of lemon lime soda" - glass_desc = "A tangy substance made of 0.5% natural citrus!" - -/datum/reagent/drink/doctor_delight - name = "The Doctor's Delight" - id = "doctorsdelight" - description = "A gulp a day keeps the MediBot away. That's probably for the best." - reagent_state = LIQUID - color = "#FF8CFF" - nutrition = 1 - - glass_icon_state = "doctorsdelightglass" - glass_name = "glass of The Doctor's Delight" - glass_desc = "A healthy mixture of juices, guaranteed to keep you healthy until the next toolboxing takes place." - glass_center_of_mass = list("x"=16, "y"=8) - -/datum/reagent/drink/doctor_delight/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) - ..() - if(alien == IS_DIONA) - return - M.adjustOxyLoss(-4 * removed) - M.heal_organ_damage(2 * removed, 2 * removed) - M.adjustToxLoss(-2 * removed) - if(M.dizziness) - M.dizziness = max(0, M.dizziness - 15) - if(M.confused) - M.confused = max(0, M.confused - 5) - -/datum/reagent/drink/dry_ramen - name = "Dry Ramen" - id = "dry_ramen" - description = "Space age food, since August 25, 1958. Contains dried noodles, vegetables, and chemicals that boil in contact with water." - reagent_state = SOLID - nutrition = 1 - color = "#302000" - -/datum/reagent/drink/hot_ramen - name = "Hot Ramen" - id = "hot_ramen" - description = "The noodles are boiled, the flavors are artificial, just like being back in school." - reagent_state = LIQUID - color = "#302000" - nutrition = 5 - adj_temp = 5 - -/datum/reagent/drink/hell_ramen - name = "Hell Ramen" - id = "hell_ramen" - description = "The noodles are boiled, the flavors are artificial, just like being back in school." - reagent_state = LIQUID - color = "#302000" - nutrition = 5 - -/datum/reagent/drink/hell_ramen/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) - ..() - if(alien == IS_DIONA) - return - M.bodytemperature += 10 * TEMPERATURE_DAMAGE_COEFFICIENT - -/datum/reagent/drink/ice - name = "Ice" - id = "ice" - description = "Frozen water, your dentist wouldn't like you chewing this." - reagent_state = SOLID - color = "#619494" - adj_temp = -5 - - glass_icon_state = "iceglass" - glass_name = "glass of ice" - glass_desc = "Generally, you're supposed to put something else in there too..." - -/datum/reagent/drink/nothing - name = "Nothing" - id = "nothing" - description = "Absolutely nothing." - - glass_icon_state = "nothing" - glass_name = "glass of nothing" - glass_desc = "Absolutely nothing." - -/* Alcohol */ - -// Basic - -/datum/reagent/ethanol/absinthe - name = "Absinthe" - id = "absinthe" - description = "Watch out that the Green Fairy doesn't come for you!" - color = "#33EE00" - strength = 12 - - glass_icon_state = "absintheglass" - glass_name = "glass of absinthe" - glass_desc = "Wormwood, anise, oh my." - glass_center_of_mass = list("x"=16, "y"=5) - -/datum/reagent/ethanol/ale - name = "Ale" - id = "ale" - description = "A dark alchoholic beverage made by malted barley and yeast." - color = "#664300" - strength = 50 - - glass_icon_state = "aleglass" - glass_name = "glass of ale" - glass_desc = "A freezing pint of delicious ale" - glass_center_of_mass = list("x"=16, "y"=8) - -/datum/reagent/ethanol/beer - name = "Beer" - id = "beer" - description = "An alcoholic beverage made from malted grains, hops, yeast, and water." - color = "#664300" - strength = 50 - nutriment_factor = 1 - - glass_icon_state = "beerglass" - glass_name = "glass of beer" - glass_desc = "A freezing pint of beer" - glass_center_of_mass = list("x"=16, "y"=8) - -/datum/reagent/ethanol/beer/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) - ..() - if(alien == IS_DIONA) - return - M.jitteriness = max(M.jitteriness - 3, 0) - -/datum/reagent/ethanol/bluecuracao - name = "Blue Curacao" - id = "bluecuracao" - description = "Exotically blue, fruity drink, distilled from oranges." - color = "#0000CD" - strength = 15 - - glass_icon_state = "curacaoglass" - glass_name = "glass of blue curacao" - glass_desc = "Exotically blue, fruity drink, distilled from oranges." - glass_center_of_mass = list("x"=16, "y"=5) - -/datum/reagent/ethanol/cognac - name = "Cognac" - id = "cognac" - description = "A sweet and strongly alchoholic drink, made after numerous distillations and years of maturing. Classy as fornication." - color = "#AB3C05" - strength = 15 - - glass_icon_state = "cognacglass" - glass_name = "glass of cognac" - glass_desc = "Damn, you feel like some kind of French aristocrat just by holding this." - glass_center_of_mass = list("x"=16, "y"=6) - -/datum/reagent/ethanol/deadrum - name = "Deadrum" - id = "deadrum" - description = "Popular with the sailors. Not very popular with everyone else." - color = "#664300" - strength = 50 - - glass_icon_state = "rumglass" - glass_name = "glass of rum" - glass_desc = "Now you want to Pray for a pirate suit, don't you?" - glass_center_of_mass = list("x"=16, "y"=12) - -/datum/reagent/ethanol/deadrum/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) - ..() - if(alien == IS_DIONA) - return - M.dizziness +=5 - -/datum/reagent/ethanol/gin - name = "Gin" - id = "gin" - description = "It's gin. In space. I say, good sir." - color = "#664300" - strength = 50 - - glass_icon_state = "ginvodkaglass" - glass_name = "glass of gin" - glass_desc = "A crystal clear glass of Griffeater gin." - glass_center_of_mass = list("x"=16, "y"=12) - -/datum/reagent/ethanol/kahlua - name = "Kahlua" - id = "kahlua" - description = "A widely known, Mexican coffee-flavoured liqueur. In production since 1936!" - color = "#664300" - strength = 15 - - glass_icon_state = "kahluaglass" - glass_name = "glass of RR coffee liquor" - glass_desc = "DAMN, THIS THING LOOKS ROBUST" - glass_center_of_mass = list("x"=15, "y"=7) - -/datum/reagent/ethanol/kahlua/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) - ..() - if(alien == IS_DIONA) - return - M.dizziness = max(0, M.dizziness - 5) - M.drowsyness = max(0, M.drowsyness - 3) - M.sleeping = max(0, M.sleeping - 2) - if (M.bodytemperature > 310) - M.bodytemperature = max(310, M.bodytemperature - (5 * TEMPERATURE_DAMAGE_COEFFICIENT)) - M.make_jittery(5) - -/datum/reagent/ethanol/melonliquor - name = "Melon Liquor" - id = "melonliquor" - description = "A relatively sweet and fruity 46 proof liquor." - color = "#138808" // rgb: 19, 136, 8 - strength = 50 - - glass_icon_state = "emeraldglass" - glass_name = "glass of melon liquor" - glass_desc = "A relatively sweet and fruity 46 proof liquor." - glass_center_of_mass = list("x"=16, "y"=5) - -/datum/reagent/ethanol/rum - name = "Rum" - id = "rum" - description = "Yohoho and all that." - color = "#664300" - strength = 15 - - glass_icon_state = "rumglass" - glass_name = "glass of rum" - glass_desc = "Now you want to Pray for a pirate suit, don't you?" - glass_center_of_mass = list("x"=16, "y"=12) - -/datum/reagent/ethanol/sake - name = "Sake" - id = "sake" - description = "Anime's favorite drink." - color = "#664300" - strength = 25 - - glass_icon_state = "ginvodkaglass" - glass_name = "glass of sake" - glass_desc = "A glass of sake." - glass_center_of_mass = list("x"=16, "y"=12) - -/datum/reagent/ethanol/tequilla - name = "Tequila" - id = "tequilla" - description = "A strong and mildly flavoured, mexican produced spirit. Feeling thirsty hombre?" - color = "#FFFF91" - strength = 25 - - glass_icon_state = "tequillaglass" - glass_name = "glass of Tequilla" - glass_desc = "Now all that's missing is the weird colored shades!" - glass_center_of_mass = list("x"=16, "y"=12) - -/datum/reagent/ethanol/thirteenloko - name = "Thirteen Loko" - id = "thirteenloko" - description = "A potent mixture of caffeine and alcohol." - color = "#102000" - strength = 25 - nutriment_factor = 1 - - glass_icon_state = "thirteen_loko_glass" - glass_name = "glass of Thirteen Loko" - glass_desc = "This is a glass of Thirteen Loko, it appears to be of the highest quality. The drink, not the glass." - -/datum/reagent/ethanol/thirteenloko/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) - ..() - if(alien == IS_DIONA) - return - M.drowsyness = max(0, M.drowsyness - 7) - if (M.bodytemperature > 310) - M.bodytemperature = max(310, M.bodytemperature - (5 * TEMPERATURE_DAMAGE_COEFFICIENT)) - M.make_jittery(5) - -/datum/reagent/ethanol/vermouth - name = "Vermouth" - id = "vermouth" - description = "You suddenly feel a craving for a martini..." - color = "#91FF91" // rgb: 145, 255, 145 - strength = 15 - - glass_icon_state = "vermouthglass" - glass_name = "glass of vermouth" - glass_desc = "You wonder why you're even drinking this straight." - glass_center_of_mass = list("x"=16, "y"=12) - -/datum/reagent/ethanol/vodka - name = "Vodka" - id = "vodka" - description = "Number one drink AND fueling choice for Russians worldwide." - color = "#0064C8" // rgb: 0, 100, 200 - strength = 15 - - glass_icon_state = "ginvodkaglass" - glass_name = "glass of vodka" - glass_desc = "The glass contain wodka. Xynta." - glass_center_of_mass = list("x"=16, "y"=12) - -/datum/reagent/ethanol/vodka/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) - ..() - M.radiation = max(M.radiation - 1 * removed, 0) - -/datum/reagent/ethanol/whiskey - name = "Whiskey" - id = "whiskey" - description = "A superb and well-aged single-malt whiskey. Damn." - color = "#664300" - strength = 25 - - glass_icon_state = "whiskeyglass" - glass_name = "glass of whiskey" - glass_desc = "The silky, smokey whiskey goodness inside the glass makes the drink look very classy." - glass_center_of_mass = list("x"=16, "y"=12) - -/datum/reagent/ethanol/wine - name = "Wine" - id = "wine" - description = "An premium alchoholic beverage made from distilled grape juice." - color = "#7E4043" // rgb: 126, 64, 67 - strength = 15 - - glass_icon_state = "wineglass" - glass_name = "glass of wine" - glass_desc = "A very classy looking drink." - glass_center_of_mass = list("x"=15, "y"=7) - -// Cocktails - -/datum/reagent/ethanol/acid_spit - name = "Acid Spit" - id = "acidspit" - description = "A drink for the daring, can be deadly if incorrectly prepared!" - reagent_state = LIQUID - color = "#365000" - strength = 30 - - glass_icon_state = "acidspitglass" - glass_name = "glass of Acid Spit" - glass_desc = "A drink from Nanotrasen. Made from live aliens." - glass_center_of_mass = list("x"=16, "y"=7) - -/datum/reagent/ethanol/alliescocktail - name = "Allies Cocktail" - id = "alliescocktail" - description = "A drink made from your allies, not as sweet as when made from your enemies." - color = "#664300" - strength = 25 - - glass_icon_state = "alliescocktail" - glass_name = "glass of Allies cocktail" - glass_desc = "A drink made from your allies." - glass_center_of_mass = list("x"=17, "y"=8) - -/datum/reagent/ethanol/aloe - name = "Aloe" - id = "aloe" - description = "So very, very, very good." - color = "#664300" - strength = 15 - - glass_icon_state = "aloe" - glass_name = "glass of Aloe" - glass_desc = "Very, very, very good." - glass_center_of_mass = list("x"=17, "y"=8) - -/datum/reagent/ethanol/amasec - name = "Amasec" - id = "amasec" - description = "Official drink of the NanoTrasen Gun-Club!" - reagent_state = LIQUID - color = "#664300" - strength = 25 - - glass_icon_state = "amasecglass" - glass_name = "glass of Amasec" - glass_desc = "Always handy before COMBAT!!!" - glass_center_of_mass = list("x"=16, "y"=9) - -/datum/reagent/ethanol/andalusia - name = "Andalusia" - id = "andalusia" - description = "A nice, strangely named drink." - color = "#664300" - strength = 15 - - glass_icon_state = "andalusia" - glass_name = "glass of Andalusia" - glass_desc = "A nice, strange named drink." - glass_center_of_mass = list("x"=16, "y"=9) - -/datum/reagent/ethanol/antifreeze - name = "Anti-freeze" - id = "antifreeze" - description = "Ultimate refreshment." - color = "#664300" - strength = 12 - adj_temp = 20 - targ_temp = 330 - - glass_icon_state = "antifreeze" - glass_name = "glass of Anti-freeze" - glass_desc = "The ultimate refreshment." - glass_center_of_mass = list("x"=16, "y"=8) - -/datum/reagent/ethanol/atomicbomb - name = "Atomic Bomb" - id = "atomicbomb" - description = "Nuclear proliferation never tasted so good." - reagent_state = LIQUID - color = "#666300" - strength = 10 - druggy = 50 - - glass_icon_state = "atomicbombglass" - glass_name = "glass of Atomic Bomb" - glass_desc = "Nanotrasen cannot take legal responsibility for your actions after imbibing." - glass_center_of_mass = list("x"=15, "y"=7) - -/datum/reagent/ethanol/b52 - name = "B-52" - id = "b52" - description = "Coffee, Irish Cream, and cognac. You will get bombed." - color = "#664300" - strength = 12 - - glass_icon_state = "b52glass" - glass_name = "glass of B-52" - glass_desc = "Kahlua, Irish cream, and congac. You will get bombed." - -/datum/reagent/ethanol/bahama_mama - name = "Bahama mama" - id = "bahama_mama" - description = "Tropical cocktail." - color = "#FF7F3B" - strength = 25 - - glass_icon_state = "bahama_mama" - glass_name = "glass of Bahama Mama" - glass_desc = "Tropical cocktail" - glass_center_of_mass = list("x"=16, "y"=5) - -/datum/reagent/ethanol/bananahonk - name = "Banana Mama" - id = "bananahonk" - description = "A drink from Clown Heaven." - nutriment_factor = 1 - color = "#FFFF91" - strength = 12 - - glass_icon_state = "bananahonkglass" - glass_name = "glass of Banana Honk" - glass_desc = "A drink from Banana Heaven." - glass_center_of_mass = list("x"=16, "y"=8) - -/datum/reagent/ethanol/barefoot - name = "Barefoot" - id = "barefoot" - description = "Barefoot and pregnant" - color = "#664300" - strength = 30 - - glass_icon_state = "b&p" - glass_name = "glass of Barefoot" - glass_desc = "Barefoot and pregnant" - glass_center_of_mass = list("x"=17, "y"=8) - -/datum/reagent/ethanol/beepsky_smash - name = "Beepsky Smash" - id = "beepskysmash" - description = "Deny drinking this and prepare for THE LAW." - reagent_state = LIQUID - color = "#664300" - strength = 12 - - glass_icon_state = "beepskysmashglass" - glass_name = "Beepsky Smash" - glass_desc = "Heavy, hot and strong. Just like the Iron fist of the LAW." - glass_center_of_mass = list("x"=18, "y"=10) - -/datum/reagent/ethanol/beepsky_smash/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) - ..() - M.Stun(2) - -/datum/reagent/ethanol/bilk - name = "Bilk" - id = "bilk" - description = "This appears to be beer mixed with milk. Disgusting." - color = "#895C4C" - strength = 50 - nutriment_factor = 2 - - glass_icon_state = "glass_brown" - glass_name = "glass of bilk" - glass_desc = "A brew of milk and beer. For those alcoholics who fear osteoporosis." - -/datum/reagent/ethanol/black_russian - name = "Black Russian" - id = "blackrussian" - description = "For the lactose-intolerant. Still as classy as a White Russian." - color = "#360000" - strength = 15 - - glass_icon_state = "blackrussianglass" - glass_name = "glass of Black Russian" - glass_desc = "For the lactose-intolerant. Still as classy as a White Russian." - glass_center_of_mass = list("x"=16, "y"=9) - -/datum/reagent/ethanol/bloody_mary - name = "Bloody Mary" - id = "bloodymary" - description = "A strange yet pleasurable mixture made of vodka, tomato and lime juice. Or at least you THINK the red stuff is tomato juice." - color = "#664300" - strength = 15 - - glass_icon_state = "bloodymaryglass" - glass_name = "glass of Bloody Mary" - glass_desc = "Tomato juice, mixed with Vodka and a lil' bit of lime. Tastes like liquid murder." - -/datum/reagent/ethanol/booger - name = "Booger" - id = "booger" - description = "Ewww..." - color = "#8CFF8C" - strength = 30 - - glass_icon_state = "booger" - glass_name = "glass of Booger" - glass_desc = "Ewww..." - -/datum/reagent/ethanol/brave_bull - name = "Brave Bull" - id = "bravebull" - description = "It's just as effective as Dutch-Courage!" - color = "#664300" - strength = 15 - - glass_icon_state = "bravebullglass" - glass_name = "glass of Brave Bull" - glass_desc = "Tequilla and coffee liquor, brought together in a mouthwatering mixture. Drink up." - glass_center_of_mass = list("x"=15, "y"=8) - -/datum/reagent/ethanol/changelingsting - name = "Changeling Sting" - id = "changelingsting" - description = "You take a tiny sip and feel a burning sensation..." - color = "#2E6671" - strength = 10 - - glass_icon_state = "changelingsting" - glass_name = "glass of Changeling Sting" - glass_desc = "A stingy drink." - -/datum/reagent/ethanol/classicmartini - name = "Classic Martini" - id = "classicmartini" - description = "Vermouth with Gin. Not quite how 007 enjoyed it, but still delicious." - color = "#664300" - strength = 25 - - glass_icon_state = "martiniglass" - glass_name = "glass of classic martini" - glass_desc = "Damn, the bartender even stirred it, not shook it." - glass_center_of_mass = list("x"=17, "y"=8) - -/datum/reagent/ethanol/cuba_libre - name = "Cuba Libre" - id = "cubalibre" - description = "Rum, mixed with cola. Viva la revolucion." - color = "#3E1B00" - strength = 30 - - glass_icon_state = "cubalibreglass" - glass_name = "glass of Cuba Libre" - glass_desc = "A classic mix of rum and cola." - glass_center_of_mass = list("x"=16, "y"=8) - -/datum/reagent/ethanol/demonsblood - name = "Demons Blood" - id = "demonsblood" - description = "AHHHH!!!!" - color = "#820000" - strength = 15 - - glass_icon_state = "demonsblood" - glass_name = "glass of Demons' Blood" - glass_desc = "Just looking at this thing makes the hair at the back of your neck stand up." - glass_center_of_mass = list("x"=16, "y"=2) - -/datum/reagent/ethanol/devilskiss - name = "Devils Kiss" - id = "devilskiss" - description = "Creepy time!" - color = "#A68310" - strength = 15 - - glass_icon_state = "devilskiss" - glass_name = "glass of Devil's Kiss" - glass_desc = "Creepy time!" - glass_center_of_mass = list("x"=16, "y"=8) - -/datum/reagent/ethanol/driestmartini - name = "Driest Martini" - id = "driestmartini" - description = "Only for the experienced. You think you see sand floating in the glass." - nutriment_factor = 1 - color = "#2E6671" - strength = 12 - - glass_icon_state = "driestmartiniglass" - glass_name = "glass of Driest Martini" - glass_desc = "Only for the experienced. You think you see sand floating in the glass." - glass_center_of_mass = list("x"=17, "y"=8) - -/datum/reagent/ethanol/ginfizz - name = "Gin Fizz" - id = "ginfizz" - description = "Refreshingly lemony, deliciously dry." - color = "#664300" - strength = 30 - - glass_icon_state = "ginfizzglass" - glass_name = "glass of gin fizz" - glass_desc = "Refreshingly lemony, deliciously dry." - glass_center_of_mass = list("x"=16, "y"=7) - -/datum/reagent/ethanol/grog - name = "Grog" - id = "grog" - description = "Watered down rum, NanoTrasen approves!" - reagent_state = LIQUID - color = "#664300" - strength = 100 - - glass_icon_state = "grogglass" - glass_name = "glass of grog" - glass_desc = "A fine and cepa drink for Space." - -/datum/reagent/ethanol/erikasurprise - name = "Erika Surprise" - id = "erikasurprise" - description = "The surprise is, it's green!" - color = "#2E6671" - strength = 15 - - glass_icon_state = "erikasurprise" - glass_name = "glass of Erika Surprise" - glass_desc = "The surprise is, it's green!" - glass_center_of_mass = list("x"=16, "y"=9) - -/datum/reagent/ethanol/gargle_blaster - name = "Pan-Galactic Gargle Blaster" - id = "gargleblaster" - description = "Whoah, this stuff looks volatile!" - reagent_state = LIQUID - color = "#664300" - strength = 10 - - glass_icon_state = "gargleblasterglass" - glass_name = "glass of Pan-Galactic Gargle Blaster" - glass_desc = "Does... does this mean that Arthur and Ford are on the station? Oh joy." - glass_center_of_mass = list("x"=17, "y"=6) - -/datum/reagent/ethanol/gintonic - name = "Gin and Tonic" - id = "gintonic" - description = "An all time classic, mild cocktail." - color = "#664300" - strength = 50 - - glass_icon_state = "gintonicglass" - glass_name = "glass of gin and tonic" - glass_desc = "A mild but still great cocktail. Drink up, like a true Englishman." - glass_center_of_mass = list("x"=16, "y"=7) - -/datum/reagent/ethanol/goldschlager - name = "Goldschlager" - id = "goldschlager" - description = "100 proof cinnamon schnapps, made for alcoholic teen girls on spring break." - color = "#664300" - strength = 15 - - glass_icon_state = "ginvodkaglass" - glass_name = "glass of Goldschlager" - glass_desc = "100 proof that teen girls will drink anything with gold in it." - glass_center_of_mass = list("x"=16, "y"=12) - -/datum/reagent/ethanol/hippies_delight - name = "Hippies' Delight" - id = "hippiesdelight" - description = "You just don't get it maaaan." - reagent_state = LIQUID - color = "#664300" - strength = 15 - druggy = 50 - - glass_icon_state = "hippiesdelightglass" - glass_name = "glass of Hippie's Delight" - glass_desc = "A drink enjoyed by people during the 1960's." - glass_center_of_mass = list("x"=16, "y"=8) - -/datum/reagent/ethanol/hooch - name = "Hooch" - id = "hooch" - description = "Either someone's failure at cocktail making or attempt in alchohol production. In any case, do you really want to drink that?" - color = "#664300" - strength = 25 - toxicity = 2 - - glass_icon_state = "glass_brown2" - glass_name = "glass of Hooch" - glass_desc = "You've really hit rock bottom now... your liver packed its bags and left last night." - -/datum/reagent/ethanol/iced_beer - name = "Iced Beer" - id = "iced_beer" - description = "A beer which is so cold the air around it freezes." - color = "#664300" - strength = 50 - adj_temp = -20 - targ_temp = 270 - - glass_icon_state = "iced_beerglass" - glass_name = "glass of iced beer" - glass_desc = "A beer so frosty, the air around it freezes." - glass_center_of_mass = list("x"=16, "y"=7) - -/datum/reagent/ethanol/irishcarbomb - name = "Irish Car Bomb" - id = "irishcarbomb" - description = "Mmm, tastes like chocolate cake..." - color = "#2E6671" - strength = 15 - - glass_icon_state = "irishcarbomb" - glass_name = "glass of Irish Car Bomb" - glass_desc = "An irish car bomb." - glass_center_of_mass = list("x"=16, "y"=8) - -/datum/reagent/ethanol/irishcoffee - name = "Irish Coffee" - id = "irishcoffee" - description = "Coffee, and alcohol. More fun than a Mimosa to drink in the morning." - color = "#664300" - strength = 15 - - glass_icon_state = "irishcoffeeglass" - glass_name = "glass of Irish coffee" - glass_desc = "Coffee and alcohol. More fun than a Mimosa to drink in the morning." - glass_center_of_mass = list("x"=15, "y"=10) - -/datum/reagent/ethanol/irish_cream - name = "Irish Cream" - id = "irishcream" - description = "Whiskey-imbued cream, what else would you expect from the Irish." - color = "#664300" - strength = 25 - - glass_icon_state = "irishcreamglass" - glass_name = "glass of Irish cream" - glass_desc = "It's cream, mixed with whiskey. What else would you expect from the Irish?" - glass_center_of_mass = list("x"=16, "y"=9) - -/datum/reagent/ethanol/longislandicedtea - name = "Long Island Iced Tea" - id = "longislandicedtea" - description = "The liquor cabinet, brought together in a delicious mix. Intended for middle-aged alcoholic women only." - color = "#664300" - strength = 12 - - glass_icon_state = "longislandicedteaglass" - glass_name = "glass of Long Island iced tea" - glass_desc = "The liquor cabinet, brought together in a delicious mix. Intended for middle-aged alcoholic women only." - glass_center_of_mass = list("x"=16, "y"=8) - -/datum/reagent/ethanol/manhattan - name = "Manhattan" - id = "manhattan" - description = "The Detective's undercover drink of choice. He never could stomach gin..." - color = "#664300" - strength = 15 - - glass_icon_state = "manhattanglass" - glass_name = "glass of Manhattan" - glass_desc = "The Detective's undercover drink of choice. He never could stomach gin..." - glass_center_of_mass = list("x"=17, "y"=8) - -/datum/reagent/ethanol/manhattan_proj - name = "Manhattan Project" - id = "manhattan_proj" - description = "A scientist's drink of choice, for pondering ways to blow up the station." - color = "#664300" - strength = 10 - druggy = 30 - - glass_icon_state = "proj_manhattanglass" - glass_name = "glass of Manhattan Project" - glass_desc = "A scienitst drink of choice, for thinking how to blow up the station." - glass_center_of_mass = list("x"=17, "y"=8) - -/datum/reagent/ethanol/manly_dorf - name = "The Manly Dorf" - id = "manlydorf" - description = "Beer and Ale, brought together in a delicious mix. Intended for true men only." - color = "#664300" - strength = 25 - - glass_icon_state = "manlydorfglass" - glass_name = "glass of The Manly Dorf" - glass_desc = "A manly concotion made from Ale and Beer. Intended for true men only." - -/datum/reagent/ethanol/margarita - name = "Margarita" - id = "margarita" - description = "On the rocks with salt on the rim. Arriba~!" - color = "#8CFF8C" - strength = 15 - - glass_icon_state = "margaritaglass" - glass_name = "glass of margarita" - glass_desc = "On the rocks with salt on the rim. Arriba~!" - glass_center_of_mass = list("x"=16, "y"=8) - -/datum/reagent/ethanol/mead - name = "Mead" - id = "mead" - description = "A Viking's drink, though a cheap one." - reagent_state = LIQUID - color = "#664300" - strength = 30 - nutriment_factor = 1 - - glass_icon_state = "meadglass" - glass_name = "glass of mead" - glass_desc = "A Viking's beverage, though a cheap one." - glass_center_of_mass = list("x"=17, "y"=10) - -/datum/reagent/ethanol/moonshine - name = "Moonshine" - id = "moonshine" - description = "You've really hit rock bottom now... your liver packed its bags and left last night." - color = "#664300" - strength = 12 - - glass_icon_state = "glass_clear" - glass_name = "glass of moonshine" - glass_desc = "You've really hit rock bottom now... your liver packed its bags and left last night." - -/datum/reagent/ethanol/neurotoxin - name = "Neurotoxin" - id = "neurotoxin" - description = "A strong neurotoxin that puts the subject into a death-like state." - reagent_state = LIQUID - color = "#2E2E61" - strength = 10 - - glass_icon_state = "neurotoxinglass" - glass_name = "glass of Neurotoxin" - glass_desc = "A drink that is guaranteed to knock you silly." - glass_center_of_mass = list("x"=16, "y"=8) - -/datum/reagent/ethanol/neurotoxin/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) - ..() - M.Weaken(3) - -/datum/reagent/ethanol/patron - name = "Patron" - id = "patron" - description = "Tequila with silver in it, a favorite of alcoholic women in the club scene." - color = "#585840" - strength = 30 - - glass_icon_state = "patronglass" - glass_name = "glass of Patron" - glass_desc = "Drinking patron in the bar, with all the subpar ladies." - glass_center_of_mass = list("x"=7, "y"=8) - -/datum/reagent/ethanol/pwine - name = "Poison Wine" - id = "pwine" - description = "Is this even wine? Toxic! Hallucinogenic! Probably consumed in boatloads by your superiors!" - color = "#000000" - strength = 10 - druggy = 50 - halluci = 10 - - glass_icon_state = "pwineglass" - glass_name = "glass of ???" - glass_desc = "A black ichor with an oily purple sheer on top. Are you sure you should drink this?" - glass_center_of_mass = list("x"=16, "y"=5) - -/datum/reagent/ethanol/pwine/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) - ..() - if(dose > 30) - M.adjustToxLoss(2 * removed) - if(dose > 60 && ishuman(M) && prob(5)) - var/mob/living/carbon/human/H = M - var/obj/item/organ/heart/L = H.internal_organs_by_name["heart"] - if (L && istype(L)) - if(dose < 120) - L.take_damage(10 * removed, 0) - else - L.take_damage(100, 0) - -/datum/reagent/ethanol/red_mead - name = "Red Mead" - id = "red_mead" - description = "The true Viking's drink! Even though it has a strange red color." - color = "#C73C00" - strength = 30 - - glass_icon_state = "red_meadglass" - glass_name = "glass of red mead" - glass_desc = "A true Viking's beverage, though its color is strange." - glass_center_of_mass = list("x"=17, "y"=10) - -/datum/reagent/ethanol/sbiten - name = "Sbiten" - id = "sbiten" - description = "A spicy Vodka! Might be a little hot for the little guys!" - color = "#664300" - strength = 15 - adj_temp = 50 - targ_temp = 360 - - glass_icon_state = "sbitenglass" - glass_name = "glass of Sbiten" - glass_desc = "A spicy mix of Vodka and Spice. Very hot." - glass_center_of_mass = list("x"=17, "y"=8) - -/datum/reagent/ethanol/screwdrivercocktail - name = "Screwdriver" - id = "screwdrivercocktail" - description = "Vodka, mixed with plain ol' orange juice. The result is surprisingly delicious." - color = "#A68310" - strength = 15 - - glass_icon_state = "screwdriverglass" - glass_name = "glass of Screwdriver" - glass_desc = "A simple, yet superb mixture of Vodka and orange juice. Just the thing for the tired engineer." - glass_center_of_mass = list("x"=15, "y"=10) - -/datum/reagent/ethanol/silencer - name = "Silencer" - id = "silencer" - description = "A drink from Mime Heaven." - nutriment_factor = 1 - color = "#664300" - strength = 12 - - glass_icon_state = "silencerglass" - glass_name = "glass of Silencer" - glass_desc = "A drink from mime Heaven." - glass_center_of_mass = list("x"=16, "y"=9) - -/datum/reagent/ethanol/singulo - name = "Singulo" - id = "singulo" - description = "A blue-space beverage!" - color = "#2E6671" - strength = 10 - - glass_icon_state = "singulo" - glass_name = "glass of Singulo" - glass_desc = "A blue-space beverage." - glass_center_of_mass = list("x"=17, "y"=4) - -/datum/reagent/ethanol/snowwhite - name = "Snow White" - id = "snowwhite" - description = "A cold refreshment" - color = "#FFFFFF" - strength = 30 - - glass_icon_state = "snowwhite" - glass_name = "glass of Snow White" - glass_desc = "A cold refreshment." - glass_center_of_mass = list("x"=16, "y"=8) - -/datum/reagent/ethanol/suidream - name = "Sui Dream" - id = "suidream" - description = "Comprised of: White soda, blue curacao, melon liquor." - color = "#00A86B" - strength = 100 - - glass_icon_state = "sdreamglass" - glass_name = "glass of Sui Dream" - glass_desc = "A froofy, fruity, and sweet mixed drink. Understanding the name only brings shame." - glass_center_of_mass = list("x"=16, "y"=5) - -/datum/reagent/ethanol/syndicatebomb - name = "Syndicate Bomb" - id = "syndicatebomb" - description = "Tastes like terrorism!" - color = "#2E6671" - strength = 10 - - glass_icon_state = "syndicatebomb" - glass_name = "glass of Syndicate Bomb" - glass_desc = "Tastes like terrorism!" - glass_center_of_mass = list("x"=16, "y"=4) - -/datum/reagent/ethanol/tequilla_sunrise - name = "Tequila Sunrise" - id = "tequillasunrise" - description = "Tequila and orange juice. Much like a Screwdriver, only Mexican~" - color = "#FFE48C" - strength = 25 - - glass_icon_state = "tequillasunriseglass" - glass_name = "glass of Tequilla Sunrise" - glass_desc = "Oh great, now you feel nostalgic about sunrises back on Terra..." - -/datum/reagent/ethanol/threemileisland - name = "Three Mile Island Iced Tea" - id = "threemileisland" - description = "Made for a woman, strong enough for a man." - color = "#666340" - strength = 10 - druggy = 50 - - glass_icon_state = "threemileislandglass" - glass_name = "glass of Three Mile Island iced tea" - glass_desc = "A glass of this is sure to prevent a meltdown." - glass_center_of_mass = list("x"=16, "y"=2) - -/datum/reagent/ethanol/toxins_special - name = "Toxins Special" - id = "phoronspecial" - description = "This thing is ON FIRE! CALL THE DAMN SHUTTLE!" - reagent_state = LIQUID - color = "#664300" - strength = 10 - adj_temp = 15 - targ_temp = 330 - - glass_icon_state = "toxinsspecialglass" - glass_name = "glass of Toxins Special" - glass_desc = "Whoah, this thing is on FIRE" - -/datum/reagent/ethanol/vodkamartini - name = "Vodka Martini" - id = "vodkamartini" - description = "Vodka with Gin. Not quite how 007 enjoyed it, but still delicious." - color = "#664300" - strength = 12 - - glass_icon_state = "martiniglass" - glass_name = "glass of vodka martini" - glass_desc ="A bastardisation of the classic martini. Still great." - glass_center_of_mass = list("x"=17, "y"=8) - -/datum/reagent/ethanol/vodkatonic - name = "Vodka and Tonic" - id = "vodkatonic" - description = "For when a gin and tonic isn't russian enough." - color = "#0064C8" // rgb: 0, 100, 200 - strength = 15 - - glass_icon_state = "vodkatonicglass" - glass_name = "glass of vodka and tonic" - glass_desc = "For when a gin and tonic isn't Russian enough." - glass_center_of_mass = list("x"=16, "y"=7) - -/datum/reagent/ethanol/white_russian - name = "White Russian" - id = "whiterussian" - description = "That's just, like, your opinion, man..." - color = "#A68340" - strength = 15 - - glass_icon_state = "whiterussianglass" - glass_name = "glass of White Russian" - glass_desc = "A very nice looking drink. But that's just, like, your opinion, man." - glass_center_of_mass = list("x"=16, "y"=9) - -/datum/reagent/ethanol/whiskey_cola - name = "Whiskey Cola" - id = "whiskeycola" - description = "Whiskey, mixed with cola. Surprisingly refreshing." - color = "#3E1B00" - strength = 25 - - glass_icon_state = "whiskeycolaglass" - glass_name = "glass of whiskey cola" - glass_desc = "An innocent-looking mixture of cola and Whiskey. Delicious." - glass_center_of_mass = list("x"=16, "y"=9) - -/datum/reagent/ethanol/whiskeysoda - name = "Whiskey Soda" - id = "whiskeysoda" - description = "For the more refined griffon." - color = "#664300" - strength = 15 - - glass_icon_state = "whiskeysodaglass2" - glass_name = "glass of whiskey soda" - glass_desc = "Ultimate refreshment." - glass_center_of_mass = list("x"=16, "y"=9) - -/datum/reagent/ethanol/specialwhiskey // I have no idea what this is and where it comes from - name = "Special Blend Whiskey" - id = "specialwhiskey" - description = "Just when you thought regular station whiskey was good... This silky, amber goodness has to come along and ruin everything." - color = "#664300" - strength = 25 - - glass_icon_state = "whiskeyglass" - glass_name = "glass of special blend whiskey" - glass_desc = "Just when you thought regular station whiskey was good... This silky, amber goodness has to come along and ruin everything." - glass_center_of_mass = list("x"=16, "y"=12) - -/* Super secret chemicals with randomized recipes */ - -/datum/reagent/rezadone - name = "Rezadone" - id = "rezadone" - description = "A powder with almost magical properties, this substance can effectively treat genetic damage in humanoids, though excessive consumption has side effects." - reagent_state = SOLID - color = "#669900" - overdose = REAGENTS_OVERDOSE - scannable = 1 - -/datum/reagent/rezadone/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) - M.adjustCloneLoss(-20 * removed) - M.adjustOxyLoss(-2 * removed) - M.heal_organ_damage(20 * removed, 20 * removed) - M.adjustToxLoss(-20 * removed) - if(dose > 3) - M.status_flags &= ~DISFIGURED - if(dose > 10) - M.make_dizzy(5) - M.make_jittery(5) - -/* Paint and crayons */ - -/datum/reagent/crayon_dust - name = "Crayon dust" - id = "crayon_dust" - description = "Intensely coloured powder obtained by grinding crayons." - reagent_state = LIQUID - color = "#888888" - overdose = 5 - -/datum/reagent/crayon_dust/red - name = "Red crayon dust" - id = "crayon_dust_red" - color = "#FE191A" - -/datum/reagent/crayon_dust/orange - name = "Orange crayon dust" - id = "crayon_dust_orange" - color = "#FFBE4F" - -/datum/reagent/crayon_dust/yellow - name = "Yellow crayon dust" - id = "crayon_dust_yellow" - color = "#FDFE7D" - -/datum/reagent/crayon_dust/green - name = "Green crayon dust" - id = "crayon_dust_green" - color = "#18A31A" - -/datum/reagent/crayon_dust/blue - name = "Blue crayon dust" - id = "crayon_dust_blue" - color = "#247CFF" - -/datum/reagent/crayon_dust/purple - name = "Purple crayon dust" - id = "crayon_dust_purple" - color = "#CC0099" - -/datum/reagent/crayon_dust/grey //Mime - name = "Grey crayon dust" - id = "crayon_dust_grey" - color = "#808080" - -/datum/reagent/crayon_dust/brown //Rainbow - name = "Brown crayon dust" - id = "crayon_dust_brown" - color = "#846F35" - -/datum/reagent/paint - name = "Paint" - id = "paint" - description = "This paint will stick to almost any object." - reagent_state = LIQUID - color = "#808080" - overdose = REAGENTS_OVERDOSE * 0.5 - color_weight = 20 - -/datum/reagent/paint/touch_turf(var/turf/T) - if(istype(T) && !istype(T, /turf/space)) - T.color = color - -/datum/reagent/paint/touch_obj(var/obj/O) - if(istype(O)) - O.color = color - -/datum/reagent/paint/touch_mob(var/mob/M) - if(istype(M) && !istype(M, /mob/dead)) //painting ghosts: not allowed - M.color = color - -/datum/reagent/paint/affect_touch(var/mob/living/carbon/M, var/alien, var/removed, var/location) - M.color = color - -/datum/reagent/paint/get_data() - return color - -/datum/reagent/paint/initialize_data(var/newdata) - color = newdata - return - -/datum/reagent/paint/mix_data(var/newdata, var/newamount) - var/list/colors = list(0, 0, 0, 0) - var/tot_w = 0 - - var/hex1 = uppertext(color) - var/hex2 = uppertext(newdata) - if(length(hex1) == 7) - hex1 += "FF" - if(length(hex2) == 7) - hex2 += "FF" - if(length(hex1) != 9 || length(hex2) != 9) - return - colors[1] += hex2num(copytext(hex1, 2, 4)) * volume - colors[2] += hex2num(copytext(hex1, 4, 6)) * volume - colors[3] += hex2num(copytext(hex1, 6, 8)) * volume - colors[4] += hex2num(copytext(hex1, 8, 10)) * volume - tot_w += volume - colors[1] += hex2num(copytext(hex2, 2, 4)) * newamount - colors[2] += hex2num(copytext(hex2, 4, 6)) * newamount - colors[3] += hex2num(copytext(hex2, 6, 8)) * newamount - colors[4] += hex2num(copytext(hex2, 8, 10)) * newamount - tot_w += newamount - - color = rgb(colors[1] / tot_w, colors[2] / tot_w, colors[3] / tot_w, colors[4] / tot_w) - return - -/* Things that didn't fit anywhere else */ - -/datum/reagent/adminordrazine //An OP chemical for admins - name = "Adminordrazine" - id = "adminordrazine" - description = "It's magic. We don't have to explain it." - reagent_state = LIQUID - color = "#C8A5DC" - affects_dead = 1 //This can even heal dead people. - - glass_icon_state = "golden_cup" - glass_name = "golden cup" - glass_desc = "It's magic. We don't have to explain it." - -/datum/reagent/adminordrazine/affect_touch(var/mob/living/carbon/M, var/alien, var/removed, var/location) - affect_blood(M, alien, removed) - -/datum/reagent/adminordrazine/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) - M.setCloneLoss(0) - M.setOxyLoss(0) - M.radiation = 0 - M.heal_organ_damage(5,5) - M.adjustToxLoss(-5) - M.hallucination = 0 - M.setBrainLoss(0) - M.disabilities = 0 - M.sdisabilities = 0 - M.eye_blurry = 0 - M.eye_blind = 0 - M.SetWeakened(0) - M.SetStunned(0) - M.SetParalysis(0) - M.silent = 0 - M.dizziness = 0 - M.drowsyness = 0 - M.stuttering = 0 - M.confused = 0 - M.sleeping = 0 - M.jitteriness = 0 - for(var/datum/disease/D in M.viruses) - D.spread = "Remissive" - D.stage-- - if(D.stage < 1) - D.cure() - -/datum/reagent/gold - name = "Gold" - id = "gold" - description = "Gold is a dense, soft, shiny metal and the most malleable and ductile metal known." - reagent_state = SOLID - color = "#F7C430" - -/datum/reagent/silver - name = "Silver" - id = "silver" - description = "A soft, white, lustrous transition metal, it has the highest electrical conductivity of any element and the highest thermal conductivity of any metal." - reagent_state = SOLID - color = "#D0D0D0" - -/datum/reagent/uranium - name ="Uranium" - id = "uranium" - description = "A silvery-white metallic chemical element in the actinide series, weakly radioactive." - reagent_state = SOLID - color = "#B8B8C0" - -/datum/reagent/uranium/affect_touch(var/mob/living/carbon/M, var/alien, var/removed, var/location) - affect_ingest(M, alien, removed) - -/datum/reagent/uranium/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) - M.apply_effect(5 * removed, IRRADIATE, 0) - -/datum/reagent/uranium/touch_turf(var/turf/T) - if(volume >= 3) - if(!istype(T, /turf/space)) - var/obj/effect/decal/cleanable/greenglow/glow = locate(/obj/effect/decal/cleanable/greenglow, T) - if(!glow) - new /obj/effect/decal/cleanable/greenglow(T) - return - -/datum/reagent/adrenaline - name = "Adrenaline" - id = "adrenaline" - description = "Adrenaline is a hormone used as a drug to treat cardiac arrest and other cardiac dysrhythmias resulting in diminished or absent cardiac output." - reagent_state = LIQUID - color = "#C8A5DC" - -/datum/reagent/adrenaline/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(alien == IS_DIONA) - return - M.SetParalysis(0) - M.SetWeakened(0) - M.adjustToxLoss(rand(3)) - -/datum/reagent/water/holywater - name = "Holy Water" - id = "holywater" - description = "An ashen-obsidian-water mix, this solution will alter certain sections of the brain's rationality." - color = "#E0E8EF" - - glass_icon_state = "glass_clear" - glass_name = "glass of holy water" - glass_desc = "An ashen-obsidian-water mix, this solution will alter certain sections of the brain's rationality." - -/datum/reagent/water/holywater/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) - ..() - if(ishuman(M)) // Any location - if(M.mind && cult.is_antagonist(M.mind) && prob(10)) - cult.remove_antagonist(M.mind) - -/datum/reagent/ammonia - name = "Ammonia" - id = "ammonia" - description = "A caustic substance commonly used in fertilizer or household cleaners." - reagent_state = GAS - color = "#404030" - -/datum/reagent/diethylamine - name = "Diethylamine" - id = "diethylamine" - description = "A secondary amine, mildly corrosive." - reagent_state = LIQUID - color = "#604030" - -/datum/reagent/fluorosurfactant // Foam precursor - name = "Fluorosurfactant" - id = "fluorosurfactant" - description = "A perfluoronated sulfonic acid that forms a foam when mixed with water." - reagent_state = LIQUID - color = "#9E6B38" - -/datum/reagent/foaming_agent // Metal foaming agent. This is lithium hydride. Add other recipes (e.g. LiH + H2O -> LiOH + H2) eventually. - name = "Foaming agent" - id = "foaming_agent" - description = "A agent that yields metallic foam when mixed with light metal and a strong acid." - reagent_state = SOLID - color = "#664B63" - -/datum/reagent/thermite - name = "Thermite" - id = "thermite" - description = "Thermite produces an aluminothermic reaction known as a thermite reaction. Can be used to melt walls." - reagent_state = SOLID - color = "#673910" - touch_met = 50 - -/datum/reagent/thermite/touch_turf(var/turf/T) - if(volume >= 5) - if(istype(T, /turf/simulated/wall)) - var/turf/simulated/wall/W = T - W.thermite = 1 - W.overlays += image('icons/effects/effects.dmi',icon_state = "#673910") - remove_self(5) - return - -/datum/reagent/thermite/affect_touch(var/mob/living/carbon/M, var/alien, var/removed, var/location) - M.adjust_fire_stacks(removed * 0.2) - return - -/datum/reagent/thermite/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) - M.adjustFireLoss(3 * removed) - -/datum/reagent/space_cleaner - name = "Space cleaner" - id = "cleaner" - description = "A compound used to clean things. Now with 50% more sodium hypochlorite!" - reagent_state = LIQUID - color = "#A5F0EE" - touch_met = 50 - -/datum/reagent/space_cleaner/touch_obj(var/obj/O) - if(istype(O, /obj/effect/decal/cleanable)) - qdel(O) - else - O.clean_blood() - -/datum/reagent/space_cleaner/touch_turf(var/turf/T) - if(volume >= 1) - if(istype(T, /turf/simulated)) - var/turf/simulated/S = T - S.dirt = 0 - T.clean_blood() - - for(var/mob/living/carbon/slime/M in T) - M.adjustToxLoss(rand(5, 10)) - -/datum/reagent/space_cleaner/affect_touch(var/mob/living/carbon/M, var/alien, var/removed, var/location) - if(M.r_hand) - M.r_hand.clean_blood() - if(M.l_hand) - M.l_hand.clean_blood() - if(M.wear_mask) - if(M.wear_mask.clean_blood()) - M.update_inv_wear_mask(0) - if(ishuman(M)) - var/mob/living/carbon/human/H = M - if(H.head) - if(H.head.clean_blood()) - H.update_inv_head(0) - if(H.wear_suit) - if(H.wear_suit.clean_blood()) - H.update_inv_wear_suit(0) - else if(H.w_uniform) - if(H.w_uniform.clean_blood()) - H.update_inv_w_uniform(0) - if(H.shoes) - if(H.shoes.clean_blood()) - H.update_inv_shoes(0) - else - H.clean_blood(1) - return - M.clean_blood() - -/datum/reagent/lube // TODO: spraying on borgs speeds them up - name = "Space Lube" - id = "lube" - description = "Lubricant is a substance introduced between two moving surfaces to reduce the friction and wear between them. giggity." - reagent_state = LIQUID - color = "#009CA8" - -/datum/reagent/lube/touch_turf(var/turf/simulated/T) - if(!istype(T)) - return - if(volume >= 1) - if(T.wet >= 2) - return - T.wet = 2 - spawn(800) - if(!T || !istype(T)) - return - T.wet = 0 - if(T.wet_overlay) - T.overlays -= T.wet_overlay - T.wet_overlay = null - -/datum/reagent/silicate - name = "Silicate" - id = "silicate" - description = "A compound that can be used to reinforce glass." - reagent_state = LIQUID - color = "#C7FFFF" - -/datum/reagent/silicate/touch_obj(var/obj/O) - if(istype(O, /obj/structure/window)) - var/obj/structure/window/W = O - W.apply_silicate(volume) - remove_self(volume) - return - -/datum/reagent/glycerol - name = "Glycerol" - id = "glycerol" - description = "Glycerol is a simple polyol compound. Glycerol is sweet-tasting and of low toxicity." - reagent_state = LIQUID - color = "#808080" - -/datum/reagent/nitroglycerin - name = "Nitroglycerin" - id = "nitroglycerin" - description = "Nitroglycerin is a heavy, colorless, oily, explosive liquid obtained by nitrating glycerol." - reagent_state = LIQUID - color = "#808080" - -/datum/reagent/coolant - name = "Coolant" - id = "coolant" - description = "Industrial cooling substance." - reagent_state = LIQUID - color = "#C8A5DC" - -/datum/reagent/ultraglue - name = "Ultra Glue" - id = "glue" - description = "An extremely powerful bonding agent." - color = "#FFFFCC" - -/* Removed xenoarcheology stuff - -/datum/reagent/lithiumsodiumtungstate - name = "Lithium Sodium Tungstate" - id = "lithiumsodiumtungstate" - description = "A reducing agent for geological compounds." - reagent_state = LIQUID - color = "#C0C0C0" // rgb: 192, 192, 192, darker silver - -/datum/reagent/ground_rock - name = "Ground Rock" - id = "ground_rock" - description = "A fine dust made of ground up rock." - reagent_state = SOLID - color = "#A0522D" //rgb: 160, 82, 45, brown - -/datum/reagent/density_separated_sample - name = "Density separated sample" - id = "density_separated_sample" - description = "A watery paste used in chemical analysis, there are some chunks floating in it." - reagent_state = LIQUID - color = "#DEB887" //rgb: 222, 184, 135, light brown - -/datum/reagent/analysis_sample - name = "Analysis liquid" - id = "analysis_sample" - description = "A watery paste used in chemical analysis." - reagent_state = LIQUID - color = "#F5FFFA" //rgb: 245, 255, 250, almost white - -/datum/reagent/chemical_waste - name = "Chemical Waste" - id = "chemical_waste" - description = "A viscous, toxic liquid left over from many chemical processes." - reagent_state = LIQUID - color = "#ADFF2F" //rgb: 173, 255, 47, toxic green -*/ \ No newline at end of file diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Core.dm b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Core.dm new file mode 100644 index 0000000000..cd3da656a9 --- /dev/null +++ b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Core.dm @@ -0,0 +1,198 @@ +/datum/reagent/blood + data = new/list("donor" = null, "viruses" = null, "species" = "Human", "blood_DNA" = null, "blood_type" = null, "blood_colour" = "#A10808", "resistances" = null, "trace_chem" = null, "antibodies" = list()) + name = "Blood" + id = "blood" + reagent_state = LIQUID + metabolism = REM * 5 + color = "#C80000" + + glass_icon_state = "glass_red" + glass_name = "glass of tomato juice" + glass_desc = "Are you sure this is tomato juice?" + +/datum/reagent/blood/initialize_data(var/newdata) + ..() + if(data && data["blood_colour"]) + color = data["blood_colour"] + return + +/datum/reagent/blood/get_data() // Just in case you have a reagent that handles data differently. + var/t = data.Copy() + if(t["virus2"]) + var/list/v = t["virus2"] + t["virus2"] = v.Copy() + return t + +/datum/reagent/blood/mix_data(var/newdata, var/newamount) // You have a reagent with data, and new reagent with its own data get added, how do you deal with that? + if(data["viruses"] || newdata["viruses"]) + var/list/mix1 = data["viruses"] + var/list/mix2 = newdata["viruses"] + var/list/to_mix = list() // Stop issues with the list changing during mixing. + for(var/datum/disease/advance/AD in mix1) + to_mix += AD + for(var/datum/disease/advance/AD in mix2) + to_mix += AD + var/datum/disease/advance/AD = Advance_Mix(to_mix) + if(AD) + var/list/preserve = list(AD) + for(var/D in data["viruses"]) + if(!istype(D, /datum/disease/advance)) + preserve += D + data["viruses"] = preserve + +/datum/reagent/blood/touch_turf(var/turf/simulated/T) + if(!istype(T) || volume < 3) + return + if(!data["donor"] || istype(data["donor"], /mob/living/carbon/human)) + blood_splatter(T, src, 1) + else if(istype(data["donor"], /mob/living/carbon/alien)) + var/obj/effect/decal/cleanable/blood/B = blood_splatter(T, src, 1) + if(B) + B.blood_DNA["UNKNOWN DNA STRUCTURE"] = "X*" + +/datum/reagent/blood/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(dose > 5) + M.adjustToxLoss(removed) + if(dose > 15) + M.adjustToxLoss(removed) + +/datum/reagent/blood/affect_touch(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(data && data["viruses"]) + for(var/datum/disease/D in data["viruses"]) + if(D.spread_type == SPECIAL || D.spread_type == NON_CONTAGIOUS) + continue + M.contract_disease(D) + if(data && data["virus2"]) + var/list/vlist = data["virus2"] + if(vlist.len) + for(var/ID in vlist) + var/datum/disease2/disease/V = vlist[ID] + infect_virus2(M, V.getcopy()) + if(data && data["antibodies"]) + M.antibodies |= data["antibodies"] + +/datum/reagent/blood/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + M.inject_blood(src, volume) + remove_self(volume) + +/datum/reagent/vaccine + name = "Vaccine" + id = "vaccine" + reagent_state = LIQUID + color = "#C81040" + +/datum/reagent/vaccine/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(data) + for(var/datum/disease/D in M.viruses) + if(istype(D, /datum/disease/advance)) + var/datum/disease/advance/A = D + if(A.GetDiseaseID() == data) + D.cure() + else + if(D.type == data) + D.cure() + + M.resistances += data + return + +#define WATER_LATENT_HEAT 19000 // How much heat is removed when applied to a hot turf, in J/unit (19000 makes 120 u of water roughly equivalent to 4L) +/datum/reagent/water + name = "Water" + id = "water" + description = "A ubiquitous chemical substance that is composed of hydrogen and oxygen." + reagent_state = LIQUID + color = "#0064C877" + metabolism = REM * 10 + + glass_icon_state = "glass_clear" + glass_name = "glass of water" + glass_desc = "The father of all refreshments." + +/datum/reagent/water/touch_turf(var/turf/simulated/T) + if(!istype(T)) + return + + var/datum/gas_mixture/environment = T.return_air() + var/min_temperature = T0C + 100 // 100C, the boiling point of water + + var/hotspot = (locate(/obj/fire) in T) + if(hotspot && !istype(T, /turf/space)) + var/datum/gas_mixture/lowertemp = T.remove_air(T:air:total_moles) + lowertemp.temperature = max(min(lowertemp.temperature-2000, lowertemp.temperature / 2), 0) + lowertemp.react() + T.assume_air(lowertemp) + qdel(hotspot) + + if (environment && environment.temperature > min_temperature) // Abstracted as steam or something + var/removed_heat = between(0, volume * WATER_LATENT_HEAT, -environment.get_thermal_energy_change(min_temperature)) + environment.add_thermal_energy(-removed_heat) + if (prob(5)) + T.visible_message("The water sizzles as it lands on \the [T]!") + else + if(volume >= 3) + if(T.wet >= 1) + return + T.wet = 1 + if(T.wet_overlay) + T.overlays -= T.wet_overlay + T.wet_overlay = null + T.wet_overlay = image('icons/effects/water.dmi',T,"wet_floor") + T.overlays += T.wet_overlay + + spawn(800) // This is terrible and needs to be changed when possible. + if(!T || !istype(T)) + return + if(T.wet >= 2) + return + T.wet = 0 + if(T.wet_overlay) + T.overlays -= T.wet_overlay + T.wet_overlay = null + +/datum/reagent/water/touch_obj(var/obj/O) + if(istype(O, /obj/item/weapon/reagent_containers/food/snacks/monkeycube)) + var/obj/item/weapon/reagent_containers/food/snacks/monkeycube/cube = O + if(!cube.wrapped) + cube.Expand() + +/datum/reagent/water/affect_touch(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(istype(M, /mob/living/carbon/slime)) + var/mob/living/carbon/slime/S = M + S.adjustToxLoss(15 * removed) // Babies have 150 health, adults have 200; So, 10 units and 13.5 + if(!S.client) + if(S.Target) // Like cats + S.Target = null + ++S.Discipline + if(dose == removed) + S.visible_message("[S]'s flesh sizzles where the water touches it!", "Your flesh burns in the water!") + var/needed = M.fire_stacks * 10 + if(volume > needed) + M.fire_stacks = 0 + M.ExtinguishMob() + remove_self(needed) + else + M.adjust_fire_stacks(-(volume / 10)) + remove_self(volume) + return + +/datum/reagent/fuel + name = "Welding fuel" + id = "fuel" + description = "Required for welders. Flamable." + reagent_state = LIQUID + color = "#660000" + + glass_icon_state = "dr_gibb_glass" + glass_name = "glass of welder fuel" + glass_desc = "Unless you are an industrial tool, this is probably not safe for consumption." + +/datum/reagent/fuel/touch_turf(var/turf/T) + new /obj/effect/decal/cleanable/liquid_fuel(T, volume) + remove_self(volume) + return + +/datum/reagent/fuel/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + M.adjustToxLoss(2 * removed) + +/datum/reagent/fuel/affect_touch(var/mob/living/carbon/M, var/alien, var/removed, var/location) // Splashing people with welding fuel to make them easy to ignite! + M.adjust_fire_stacks(0.1 * removed) diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Dispenser.dm b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Dispenser.dm new file mode 100644 index 0000000000..9d968aed78 --- /dev/null +++ b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Dispenser.dm @@ -0,0 +1,376 @@ +/datum/reagent/aluminum + name = "Aluminum" + id = "aluminum" + description = "A silvery white and ductile member of the boron group of chemical elements." + reagent_state = SOLID + color = "#A8A8A8" + +/datum/reagent/carbon + name = "Carbon" + id = "carbon" + description = "A chemical element, the builing block of life." + reagent_state = SOLID + color = "#1C1300" + +/datum/reagent/carbon/touch_turf(var/turf/T) + if(!istype(T, /turf/space)) + var/obj/effect/decal/cleanable/dirt/dirtoverlay = locate(/obj/effect/decal/cleanable/dirt, T) + if (!dirtoverlay) + dirtoverlay = new/obj/effect/decal/cleanable/dirt(T) + dirtoverlay.alpha = volume * 30 + else + dirtoverlay.alpha = min(dirtoverlay.alpha + volume * 30, 255) + +/datum/reagent/chlorine + name = "Chlorine" + id = "chlorine" + description = "A chemical element with a characteristic odour." + reagent_state = GAS + color = "#808080" + +/datum/reagent/chlorine/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + M.take_organ_damage(1*REM, 0) + +/datum/reagent/chlorine/affect_touch(var/mob/living/carbon/M, var/alien, var/removed, var/location) + M.take_organ_damage(1*REM, 0) + +/datum/reagent/copper + name = "Copper" + id = "copper" + description = "A highly ductile metal." + color = "#6E3B08" + +/datum/reagent/ethanol + name = "Ethanol" //Parent class for all alcoholic reagents. + id = "ethanol" + description = "A well-known alcohol with a variety of applications." + reagent_state = LIQUID + color = "#404030" + var/nutriment_factor = 0 + var/strength = 10 // This is, essentially, units between stages - the lower, the stronger. Less fine tuning, more clarity. + var/toxicity = 1 + + var/druggy = 0 + var/adj_temp = 0 + var/targ_temp = 310 + var/halluci = 0 + + glass_icon_state = "glass_clear" + glass_name = "glass of ethanol" + glass_desc = "A well-known alcohol with a variety of applications." + +/datum/reagent/ethanol/affect_touch(var/mob/living/carbon/M, var/alien, var/removed, var/location) + M.adjust_fire_stacks(removed / 15) + return + +/datum/reagent/ethanol/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + M.adjustToxLoss(removed * 2 * toxicity) + return + +/datum/reagent/ethanol/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) + M.nutrition += nutriment_factor * removed + + var/strength_mod = 1 + if(alien == IS_SKRELL) + strength_mod *= 5 + if(alien == IS_DIONA) + strength_mod = 0 + + M.add_chemical_effect(CE_ALCOHOL, 1) + + if(dose / strength_mod >= strength) // Early warning + M.make_dizzy(6) // It is decreased at the speed of 3 per tick + if(dose / strength_mod >= strength * 2) // Slurring + M.slurring = max(M.slurring, 30) + if(dose / strength_mod >= strength * 3) // Confusion - walking in random directions + M.confused = max(M.confused, 20) + if(dose / strength_mod >= strength * 4) // Blurry vision + M.eye_blurry = max(M.eye_blurry, 10) + if(dose / strength_mod >= strength * 5) // Drowsyness - periodically falling asleep + M.drowsyness = max(M.drowsyness, 20) + if(dose / strength_mod >= strength * 6) // Toxic dose + M.add_chemical_effect(CE_ALCOHOL_TOXIC, toxicity) + if(dose / strength_mod >= strength * 7) // Pass out + M.paralysis = max(M.paralysis, 20) + M.sleeping = max(M.sleeping, 30) + + if(druggy != 0) + M.druggy = max(M.druggy, druggy) + + if(adj_temp > 0 && M.bodytemperature < targ_temp) // 310 is the normal bodytemp. 310.055 + M.bodytemperature = min(targ_temp, M.bodytemperature + (adj_temp * TEMPERATURE_DAMAGE_COEFFICIENT)) + if(adj_temp < 0 && M.bodytemperature > targ_temp) + M.bodytemperature = min(targ_temp, M.bodytemperature - (adj_temp * TEMPERATURE_DAMAGE_COEFFICIENT)) + + if(halluci) + M.hallucination = max(M.hallucination, halluci) + +/datum/reagent/ethanol/touch_obj(var/obj/O) + if(istype(O, /obj/item/weapon/paper)) + var/obj/item/weapon/paper/paperaffected = O + paperaffected.clearpaper() + usr << "The solution dissolves the ink on the paper." + return + if(istype(O, /obj/item/weapon/book)) + if(volume < 5) + return + if(istype(O, /obj/item/weapon/book/tome)) + usr << "The solution does nothing. Whatever this is, it isn't normal ink." + return + var/obj/item/weapon/book/affectedbook = O + affectedbook.dat = null + usr << "The solution dissolves the ink on the book." + return + +/datum/reagent/fluorine + name = "Fluorine" + id = "fluorine" + description = "A highly-reactive chemical element." + reagent_state = GAS + color = "#808080" + +/datum/reagent/fluorine/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + M.adjustToxLoss(removed) + +/datum/reagent/fluorine/affect_touch(var/mob/living/carbon/M, var/alien, var/removed, var/location) + M.adjustToxLoss(removed) + +/datum/reagent/hydrogen + name = "Hydrogen" + id = "hydrogen" + description = "A colorless, odorless, nonmetallic, tasteless, highly combustible diatomic gas." + reagent_state = GAS + color = "#808080" + +/datum/reagent/iron + name = "Iron" + id = "iron" + description = "Pure iron is a metal." + reagent_state = SOLID + color = "#353535" + +/datum/reagent/iron/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(alien != IS_DIONA) + M.add_chemical_effect(CE_BLOODRESTORE, 8 * removed) + +/datum/reagent/lithium + name = "Lithium" + id = "lithium" + description = "A chemical element, used as antidepressant." + reagent_state = SOLID + color = "#808080" + +/datum/reagent/lithium/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(alien != IS_DIONA) + if(M.canmove && !M.restrained() && istype(M.loc, /turf/space)) + step(M, pick(cardinal)) + if(prob(5)) + M.emote(pick("twitch", "drool", "moan")) + +/datum/reagent/mercury + name = "Mercury" + id = "mercury" + description = "A chemical element." + reagent_state = LIQUID + color = "#484848" + +/datum/reagent/mercury/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(alien != IS_DIONA) + if(M.canmove && !M.restrained() && istype(M.loc, /turf/space)) + step(M, pick(cardinal)) + if(prob(5)) + M.emote(pick("twitch", "drool", "moan")) + M.adjustBrainLoss(2) + +/datum/reagent/nitrogen + name = "Nitrogen" + id = "nitrogen" + description = "A colorless, odorless, tasteless gas." + reagent_state = GAS + color = "#808080" + +/datum/reagent/nitrogen/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(alien == IS_VOX) + M.adjustOxyLoss(-removed * 3) + +/datum/reagent/oxygen + name = "Oxygen" + id = "oxygen" + description = "A colorless, odorless gas." + reagent_state = GAS + color = "#808080" + +/datum/reagent/oxygen/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(alien == IS_VOX) + M.adjustToxLoss(removed * 3) + +/datum/reagent/phosphorus + name = "Phosphorus" + id = "phosphorus" + description = "A chemical element, the backbone of biological energy carriers." + reagent_state = SOLID + color = "#832828" + +/datum/reagent/potassium + name = "Potassium" + id = "potassium" + description = "A soft, low-melting solid that can easily be cut with a knife. Reacts violently with water." + reagent_state = SOLID + color = "#A0A0A0" + +/datum/reagent/radium + name = "Radium" + id = "radium" + description = "Radium is an alkaline earth metal. It is extremely radioactive." + reagent_state = SOLID + color = "#C7C7C7" + +/datum/reagent/radium/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + M.apply_effect(10 * removed, IRRADIATE, 0) // Radium may increase your chances to cure a disease + if(M.virus2.len) + for(var/ID in M.virus2) + var/datum/disease2/disease/V = M.virus2[ID] + if(prob(5)) + M.antibodies |= V.antigen + if(prob(50)) + M.radiation += 50 // curing it that way may kill you instead + var/absorbed = 0 + var/obj/item/organ/diona/nutrients/rad_organ = locate() in M.internal_organs + if(rad_organ && !rad_organ.is_broken()) + absorbed = 1 + if(!absorbed) + M.adjustToxLoss(100) + +/datum/reagent/radium/touch_turf(var/turf/T) + if(volume >= 3) + if(!istype(T, /turf/space)) + var/obj/effect/decal/cleanable/greenglow/glow = locate(/obj/effect/decal/cleanable/greenglow, T) + if(!glow) + new /obj/effect/decal/cleanable/greenglow(T) + return + +/datum/reagent/acid + name = "Sulphuric acid" + id = "sacid" + description = "A very corrosive mineral acid with the molecular formula H2SO4." + reagent_state = LIQUID + color = "#DB5008" + metabolism = REM * 2 + touch_met = 50 // It's acid! + var/power = 5 + var/meltdose = 10 // How much is needed to melt + +/datum/reagent/acid/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + M.take_organ_damage(0, removed * power * 2) + +/datum/reagent/acid/affect_touch(var/mob/living/carbon/M, var/alien, var/removed, var/location) // This is the most interesting + if(ishuman(M)) + var/mob/living/carbon/human/H = M + if(H.head) + if(H.head.unacidable) + H << "Your [H.head] protects you from the acid." + remove_self(volume) + return + else if(removed > meltdose) + H << "Your [H.head] melts away!" + qdel(H.head) + H.update_inv_head(1) + H.update_hair(1) + removed -= meltdose + if(removed <= 0) + return + + if(H.wear_mask) + if(H.wear_mask.unacidable) + H << "Your [H.wear_mask] protects you from the acid." + remove_self(volume) + return + else if(removed > meltdose) + H << "Your [H.wear_mask] melts away!" + qdel(H.wear_mask) + H.update_inv_wear_mask(1) + H.update_hair(1) + removed -= meltdose + if(removed <= 0) + return + + if(H.glasses) + if(H.glasses.unacidable) + H << "Your [H.glasses] partially protect you from the acid!" + removed /= 2 + else if(removed > meltdose) + H << "Your [H.glasses] melt away!" + qdel(H.glasses) + H.update_inv_glasses(1) + removed -= meltdose / 2 + if(removed <= 0) + return + + if(volume < meltdose) // Not enough to melt anything + M.take_organ_damage(removed * power * 0.2) + return + if(!M.unacidable && removed > 0) + if(istype(M, /mob/living/carbon/human) && volume >= meltdose) + var/mob/living/carbon/human/H = M + var/obj/item/organ/external/affecting = H.get_organ("head") + if(affecting) + if(affecting.take_damage(0, removed * power * 0.1)) + H.UpdateDamageIcon() + if(prob(100 * removed / meltdose)) // Applies disfigurement + if (!(H.species && (H.species.flags & NO_PAIN))) + H.emote("scream") + H.status_flags |= DISFIGURED + else + M.take_organ_damage(0, removed * power * 0.1) // Balance. The damage is instant, so it's weaker. 10 units -> 5 damage, double for pacid. 120 units beaker could deal 60, but a) it's burn, which is not as dangerous, b) it's a one-use weapon, c) missing with it will splash it over the ground and d) clothes give some protection, so not everything will hit + +/datum/reagent/acid/touch_obj(var/obj/O) + if(O.unacidable) + return + if((istype(O, /obj/item) || istype(O, /obj/effect/plant)) && (volume > meltdose)) + var/obj/effect/decal/cleanable/molten_item/I = new/obj/effect/decal/cleanable/molten_item(O.loc) + I.desc = "Looks like this was \an [O] some time ago." + for(var/mob/M in viewers(5, O)) + M << "\The [O] melts." + qdel(O) + remove_self(meltdose) // 10 units of acid will not melt EVERYTHING on the tile + +/datum/reagent/silicon + name = "Silicon" + id = "silicon" + description = "A tetravalent metalloid, silicon is less reactive than its chemical analog carbon." + reagent_state = SOLID + color = "#A8A8A8" + +/datum/reagent/sodium + name = "Sodium" + id = "sodium" + description = "A chemical element, readily reacts with water." + reagent_state = SOLID + color = "#808080" + +/datum/reagent/sugar + name = "Sugar" + id = "sugar" + description = "The organic compound commonly known as table sugar and sometimes called saccharose. This white, odorless, crystalline powder has a pleasing, sweet taste." + reagent_state = SOLID + color = "#FFFFFF" + glass_icon_state = "iceglass" + glass_name = "glass of sugar" + glass_desc = "The organic compound commonly known as table sugar and sometimes called saccharose. This white, odorless, crystalline powder has a pleasing, sweet taste." + +/datum/reagent/sugar/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + M.nutrition += removed * 3 + +/datum/reagent/sulfur + name = "Sulfur" + id = "sulfur" + description = "A chemical element with a pungent smell." + reagent_state = SOLID + color = "#BF8C00" + +/datum/reagent/tungsten + name = "Tungsten" + id = "tungsten" + description = "A chemical element, and a strong oxidising agent." + reagent_state = SOLID + color = "#DCDCDC" diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm new file mode 100644 index 0000000000..220bad857b --- /dev/null +++ b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm @@ -0,0 +1,1924 @@ +/* Food */ + +/datum/reagent/nutriment + name = "Nutriment" + id = "nutriment" + description = "All the vitamins, minerals, and carbohydrates the body needs in pure form." + reagent_state = SOLID + metabolism = REM * 4 + var/nutriment_factor = 30 // Per unit + var/injectable = 0 + color = "#664330" + +/datum/reagent/nutriment/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(!injectable) + M.adjustToxLoss(0.1 * removed) + return + affect_ingest(M, alien, removed) + +/datum/reagent/nutriment/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) + M.heal_organ_damage(0.5 * removed, 0) + M.nutrition += nutriment_factor * removed // For hunger and fatness + M.add_chemical_effect(CE_BLOODRESTORE, 4 * removed) + +/datum/reagent/nutriment/protein // Bad for Skrell! + name = "animal protein" + id = "protein" + color = "#440000" + +/datum/reagent/nutriment/protein/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(alien && alien == IS_SKRELL) + M.adjustToxLoss(0.5 * removed) + return + ..() + +/datum/reagent/nutriment/egg // Also bad for skrell. Not a child of protein because it might mess up, not sure. + name = "egg yolk" + id = "egg" + color = "#FFFFAA" + +/datum/reagent/nutriment/egg/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(alien && alien == IS_SKRELL) + M.adjustToxLoss(0.5) + return + ..() + +/datum/reagent/nutriment/flour + name = "flour" + id = "flour" + description = "This is what you rub all over yourself to pretend to be a ghost." + reagent_state = SOLID + nutriment_factor = 1 + color = "#FFFFFF" + +/datum/reagent/nutriment/flour/touch_turf(var/turf/simulated/T) + if(!istype(T, /turf/space)) + new /obj/effect/decal/cleanable/flour(T) + +/datum/reagent/nutriment/coco + name = "Coco Powder" + id = "coco" + description = "A fatty, bitter paste made from coco beans." + reagent_state = SOLID + nutriment_factor = 5 + color = "#302000" + +/datum/reagent/nutriment/soysauce + name = "Soysauce" + id = "soysauce" + description = "A salty sauce made from the soy plant." + reagent_state = LIQUID + nutriment_factor = 2 + color = "#792300" + +/datum/reagent/nutriment/ketchup + name = "Ketchup" + id = "ketchup" + description = "Ketchup, catsup, whatever. It's tomato paste." + reagent_state = LIQUID + nutriment_factor = 5 + color = "#731008" + +/datum/reagent/nutriment/rice + name = "Rice" + id = "rice" + description = "Enjoy the great taste of nothing." + reagent_state = SOLID + nutriment_factor = 1 + color = "#FFFFFF" + +/datum/reagent/nutriment/cherryjelly + name = "Cherry Jelly" + id = "cherryjelly" + description = "Totally the best. Only to be spread on foods with excellent lateral symmetry." + reagent_state = LIQUID + nutriment_factor = 1 + color = "#801E28" + +/datum/reagent/nutriment/cornoil + name = "Corn Oil" + id = "cornoil" + description = "An oil derived from various types of corn." + reagent_state = LIQUID + nutriment_factor = 20 + color = "#302000" + +/datum/reagent/nutriment/cornoil/touch_turf(var/turf/simulated/T) + if(!istype(T)) + return + + var/hotspot = (locate(/obj/fire) in T) + if(hotspot && !istype(T, /turf/space)) + var/datum/gas_mixture/lowertemp = T.remove_air(T:air:total_moles) + lowertemp.temperature = max(min(lowertemp.temperature-2000, lowertemp.temperature / 2), 0) + lowertemp.react() + T.assume_air(lowertemp) + qdel(hotspot) + + if(volume >= 3) + if(T.wet >= 1) + return + T.wet = 1 + if(T.wet_overlay) + T.overlays -= T.wet_overlay + T.wet_overlay = null + T.wet_overlay = image('icons/effects/water.dmi',T,"wet_floor") + T.overlays += T.wet_overlay + + spawn(800) // This is terrible and needs to be changed when possible. + if(!T || !istype(T)) + return + if(T.wet >= 2) + return + T.wet = 0 + if(T.wet_overlay) + T.overlays -= T.wet_overlay + T.wet_overlay = null + +/datum/reagent/nutriment/virus_food + name = "Virus Food" + id = "virusfood" + description = "A mixture of water, milk, and oxygen. Virus cells can use this mixture to reproduce." + reagent_state = LIQUID + nutriment_factor = 2 + color = "#899613" + +/datum/reagent/nutriment/sprinkles + name = "Sprinkles" + id = "sprinkles" + description = "Multi-colored little bits of sugar, commonly found on donuts. Loved by cops." + nutriment_factor = 1 + color = "#FF00FF" + +/datum/reagent/nutriment/mint + name = "Mint" + id = "mint" + description = "Also known as Mentha." + reagent_state = LIQUID + color = "#CF3600" + +/datum/reagent/lipozine // The anti-nutriment. + name = "Lipozine" + id = "lipozine" + description = "A chemical compound that causes a powerful fat-burning reaction." + reagent_state = LIQUID + color = "#BBEDA4" + overdose = REAGENTS_OVERDOSE + +/datum/reagent/lipozine/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + M.nutrition = max(M.nutrition - 10 * removed, 0) + M.overeatduration = 0 + if(M.nutrition < 0) + M.nutrition = 0 + +/* Non-food stuff like condiments */ + +/datum/reagent/sodiumchloride + name = "Table Salt" + id = "sodiumchloride" + description = "A salt made of sodium chloride. Commonly used to season food." + reagent_state = SOLID + color = "#FFFFFF" + overdose = REAGENTS_OVERDOSE + +/datum/reagent/blackpepper + name = "Black Pepper" + id = "blackpepper" + description = "A powder ground from peppercorns. *AAAACHOOO*" + reagent_state = SOLID + color = "#000000" + +/datum/reagent/enzyme + name = "Universal Enzyme" + id = "enzyme" + description = "A universal enzyme used in the preperation of certain chemicals and foods." + reagent_state = LIQUID + color = "#365E30" + overdose = REAGENTS_OVERDOSE + +/datum/reagent/frostoil + name = "Frost Oil" + id = "frostoil" + description = "A special oil that noticably chills the body. Extracted from Ice Peppers." + reagent_state = LIQUID + color = "#B31008" + +/datum/reagent/frostoil/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(alien == IS_DIONA) + return + M.bodytemperature = max(M.bodytemperature - 10 * TEMPERATURE_DAMAGE_COEFFICIENT, 0) + if(prob(1)) + M.emote("shiver") + if(istype(M, /mob/living/carbon/slime)) + M.bodytemperature = max(M.bodytemperature - rand(10,20), 0) + holder.remove_reagent("capsaicin", 5) + +/datum/reagent/capsaicin + name = "Capsaicin Oil" + id = "capsaicin" + description = "This is what makes chilis hot." + reagent_state = LIQUID + color = "#B31008" + +/datum/reagent/capsaicin/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(alien == IS_DIONA) + return + if(ishuman(M)) + var/mob/living/carbon/human/H = M + if(H.species && (H.species.flags & (NO_PAIN | IS_SYNTHETIC))) + return + if(dose < 5 && (dose == metabolism || prob(5))) + M << "Your insides feel uncomfortably hot!" + if(dose >= 5) + M.apply_effect(2, AGONY, 0) + if(prob(5)) + M.visible_message("[M] [pick("dry heaves!","coughs!","splutters!")]", "You feel like your insides are burning!") + if(istype(M, /mob/living/carbon/slime)) + M.bodytemperature += rand(10, 25) + holder.remove_reagent("frostoil", 5) + +/datum/reagent/condensedcapsaicin + name = "Condensed Capsaicin" + id = "condensedcapsaicin" + description = "A chemical agent used for self-defense and in police work." + reagent_state = LIQUID + touch_met = 50 // Get rid of it quickly + color = "#B31008" + +/datum/reagent/condensedcapsaicin/affect_touch(var/mob/living/carbon/M, var/alien, var/removed, var/location) + var/eyes_covered = 0 + var/mouth_covered = 0 + var/obj/item/safe_thing = null + if(istype(M, /mob/living/carbon/human)) + var/mob/living/carbon/human/H = M + if(H.species && (H.species.flags & NO_PAIN)) + return + if(H.head) + if(H.head.flags & MASKCOVERSEYES) + eyes_covered = 1 + safe_thing = H.head + if(H.head.flags & MASKCOVERSMOUTH) + mouth_covered = 1 + safe_thing = H.head + if(H.wear_mask) + if(!eyes_covered && H.wear_mask.flags & MASKCOVERSEYES) + eyes_covered = 1 + safe_thing = H.wear_mask + if(!mouth_covered && H.wear_mask.flags & MASKCOVERSMOUTH) + mouth_covered = 1 + safe_thing = H.wear_mask + if(H.glasses) + if(!eyes_covered) + eyes_covered = 1 + if(!safe_thing) + safe_thing = H.glasses + if(eyes_covered && mouth_covered) + M << "Your [safe_thing] protects you from the pepperspray!" + return + else if(eyes_covered) + M << "Your [safe_thing] protect you from most of the pepperspray!" + M.eye_blurry = max(M.eye_blurry, 15) + M.eye_blind = max(M.eye_blind, 5) + M.Stun(5) + M.Weaken(5) + return + else if (mouth_covered) // Mouth cover is better than eye cover + M << "Your [safe_thing] protects your face from the pepperspray!" + M.eye_blurry = max(M.eye_blurry, 5) + return + else // Oh dear :D + M << "You're sprayed directly in the eyes with pepperspray!" + M.eye_blurry = max(M.eye_blurry, 25) + M.eye_blind = max(M.eye_blind, 10) + M.Stun(5) + M.Weaken(5) + return + +/datum/reagent/condensedcapsaicin/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(ishuman(M)) + var/mob/living/carbon/human/H = M + if(H.species && (H.species.flags & (NO_PAIN | IS_SYNTHETIC))) + return + if(dose == metabolism) + M << "You feel like your insides are burning!" + else + M.apply_effect(4, AGONY, 0) + if(prob(5)) + M.visible_message("[M] [pick("dry heaves!","coughs!","splutters!")]", "You feel like your insides are burning!") + if(istype(M, /mob/living/carbon/slime)) + M.bodytemperature += rand(15, 30) + holder.remove_reagent("frostoil", 5) + +/* Drinks */ + +/datum/reagent/drink + name = "Drink" + id = "drink" + description = "Uh, some kind of drink." + reagent_state = LIQUID + color = "#E78108" + var/nutrition = 0 // Per unit + var/adj_dizzy = 0 // Per tick + var/adj_drowsy = 0 + var/adj_sleepy = 0 + var/adj_temp = 0 + +/datum/reagent/drink/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + M.adjustToxLoss(removed) // Probably not a good idea; not very deadly though + return + +/datum/reagent/drink/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) + M.nutrition += nutrition * removed + M.dizziness = max(0, M.dizziness + adj_dizzy) + M.drowsyness = max(0, M.drowsyness + adj_drowsy) + M.sleeping = max(0, M.sleeping + adj_sleepy) + if(adj_temp > 0 && M.bodytemperature < 310) // 310 is the normal bodytemp. 310.055 + M.bodytemperature = min(310, M.bodytemperature + (adj_temp * TEMPERATURE_DAMAGE_COEFFICIENT)) + if(adj_temp < 0 && M.bodytemperature > 310) + M.bodytemperature = min(310, M.bodytemperature - (adj_temp * TEMPERATURE_DAMAGE_COEFFICIENT)) + +// Juices + +/datum/reagent/drink/banana + name = "Banana Juice" + id = "banana" + description = "The raw essence of a banana." + color = "#C3AF00" + + glass_icon_state = "banana" + glass_name = "glass of banana juice" + glass_desc = "The raw essence of a banana. HONK!" + +/datum/reagent/drink/berryjuice + name = "Berry Juice" + id = "berryjuice" + description = "A delicious blend of several different kinds of berries." + color = "#990066" + + glass_icon_state = "berryjuice" + glass_name = "glass of berry juice" + glass_desc = "Berry juice. Or maybe it's jam. Who cares?" + +/datum/reagent/drink/carrotjuice + name = "Carrot juice" + id = "carrotjuice" + description = "It is just like a carrot but without crunching." + color = "#FF8C00" // rgb: 255, 140, 0 + + glass_icon_state = "carrotjuice" + glass_name = "glass of carrot juice" + glass_desc = "It is just like a carrot but without crunching." + +/datum/reagent/drink/carrotjuice/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) + ..() + M.reagents.add_reagent("imidazoline", removed * 0.2) + +/datum/reagent/drink/grapejuice + name = "Grape Juice" + id = "grapejuice" + description = "It's grrrrrape!" + color = "#863333" + + glass_icon_state = "grapejuice" + glass_name = "glass of grape juice" + glass_desc = "It's grrrrrape!" + +/datum/reagent/drink/lemonjuice + name = "Lemon Juice" + id = "lemonjuice" + description = "This juice is VERY sour." + color = "#AFAF00" + + glass_icon_state = "lemonjuice" + glass_name = "glass of lemon juice" + glass_desc = "Sour..." + +/datum/reagent/drink/limejuice + name = "Lime Juice" + id = "limejuice" + description = "The sweet-sour juice of limes." + color = "#365E30" + + glass_icon_state = "glass_green" + glass_name = "glass of lime juice" + glass_desc = "A glass of sweet-sour lime juice" + +/datum/reagent/drink/limejuice/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) + ..() + if(alien == IS_DIONA) + return + M.adjustToxLoss(-0.5 * removed) + +/datum/reagent/drink/orangejuice + name = "Orange juice" + id = "orangejuice" + description = "Both delicious AND rich in Vitamin C, what more do you need?" + color = "#E78108" + + glass_icon_state = "glass_orange" + glass_name = "glass of orange juice" + glass_desc = "Vitamins! Yay!" + +/datum/reagent/drink/orangejuice/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) + ..() + if(alien == IS_DIONA) + return + M.adjustOxyLoss(-2 * removed) + +/datum/reagent/toxin/poisonberryjuice // It has more in common with toxins than drinks... but it's a juice + name = "Poison Berry Juice" + id = "poisonberryjuice" + description = "A tasty juice blended from various kinds of very deadly and toxic berries." + color = "#863353" + strength = 5 + + glass_icon_state = "poisonberryjuice" + glass_name = "glass of poison berry juice" + glass_desc = "A glass of deadly juice." + +/datum/reagent/drink/potato_juice + name = "Potato Juice" + id = "potato" + description = "Juice of the potato. Bleh." + nutrition = 2 + color = "#302000" + + glass_icon_state = "glass_brown" + glass_name = "glass of potato juice" + glass_desc = "Juice from a potato. Bleh." + +/datum/reagent/drink/tomatojuice + name = "Tomato Juice" + id = "tomatojuice" + description = "Tomatoes made into juice. What a waste of big, juicy tomatoes, huh?" + color = "#731008" + + glass_icon_state = "glass_red" + glass_name = "glass of tomato juice" + glass_desc = "Are you sure this is tomato juice?" + +/datum/reagent/drink/tomatojuice/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) + ..() + if(alien == IS_DIONA) + return + M.heal_organ_damage(0, 0.5 * removed) + +/datum/reagent/drink/watermelonjuice + name = "Watermelon Juice" + id = "watermelonjuice" + description = "Delicious juice made from watermelon." + color = "#B83333" + + glass_icon_state = "glass_red" + glass_name = "glass of watermelon juice" + glass_desc = "Delicious juice made from watermelon." + +// Everything else + +/datum/reagent/drink/milk + name = "Milk" + id = "milk" + description = "An opaque white liquid produced by the mammary glands of mammals." + color = "#DFDFDF" + + glass_icon_state = "glass_white" + glass_name = "glass of milk" + glass_desc = "White and nutritious goodness!" + +/datum/reagent/drink/milk/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) + ..() + if(alien == IS_DIONA) + return + M.heal_organ_damage(0.5 * removed, 0) + holder.remove_reagent("capsaicin", 10 * removed) + +/datum/reagent/drink/milk/cream + name = "Cream" + id = "cream" + description = "The fatty, still liquid part of milk. Why don't you mix this with sum scotch, eh?" + color = "#DFD7AF" + + glass_icon_state = "glass_white" + glass_name = "glass of cream" + glass_desc = "Ewwww..." + +/datum/reagent/drink/milk/soymilk + name = "Soy Milk" + id = "soymilk" + description = "An opaque white liquid made from soybeans." + color = "#DFDFC7" + + glass_icon_state = "glass_white" + glass_name = "glass of soy milk" + glass_desc = "White and nutritious soy goodness!" + +/datum/reagent/drink/tea + name = "Tea" + id = "tea" + description = "Tasty black tea, it has antioxidants, it's good for you!" + color = "#101000" + adj_dizzy = -2 + adj_drowsy = -1 + adj_sleepy = -3 + adj_temp = 20 + + glass_icon_state = "bigteacup" + glass_name = "cup of tea" + glass_desc = "Tasty black tea, it has antioxidants, it's good for you!" + +/datum/reagent/drink/tea/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) + ..() + if(alien == IS_DIONA) + return + M.adjustToxLoss(-0.5 * removed) + +/datum/reagent/drink/tea/icetea + name = "Iced Tea" + id = "icetea" + description = "No relation to a certain rap artist/ actor." + color = "#104038" // rgb: 16, 64, 56 + adj_temp = -5 + + glass_icon_state = "icedteaglass" + glass_name = "glass of iced tea" + glass_desc = "No relation to a certain rap artist/ actor." + glass_center_of_mass = list("x"=15, "y"=10) + +/datum/reagent/drink/coffee + name = "Coffee" + id = "coffee" + description = "Coffee is a brewed drink prepared from roasted seeds, commonly called coffee beans, of the coffee plant." + color = "#482000" + adj_dizzy = -5 + adj_drowsy = -3 + adj_sleepy = -2 + adj_temp = 25 + + glass_icon_state = "hot_coffee" + glass_name = "cup of coffee" + glass_desc = "Don't drop it, or you'll send scalding liquid and glass shards everywhere." + + +/datum/reagent/drink/coffee/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) + ..() + if(alien == IS_DIONA) + return + M.make_jittery(5) + if(adj_temp > 0) + holder.remove_reagent("frostoil", 10 * removed) + +/datum/reagent/drink/coffee/icecoffee + name = "Iced Coffee" + id = "icecoffee" + description = "Coffee and ice, refreshing and cool." + color = "#102838" + adj_temp = -5 + + glass_icon_state = "icedcoffeeglass" + glass_name = "glass of iced coffee" + glass_desc = "A drink to perk you up and refresh you!" + +/datum/reagent/drink/coffee/soy_latte + name = "Soy Latte" + id = "soy_latte" + description = "A nice and tasty beverage while you are reading your hippie books." + color = "#664300" + adj_temp = 5 + + glass_icon_state = "soy_latte" + glass_name = "glass of soy latte" + glass_desc = "A nice and refrshing beverage while you are reading." + glass_center_of_mass = list("x"=15, "y"=9) + +/datum/reagent/drink/coffee/soy_latte/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) + ..() + M.heal_organ_damage(0.5 * removed, 0) + +/datum/reagent/drink/coffee/cafe_latte + name = "Cafe Latte" + id = "cafe_latte" + description = "A nice, strong and tasty beverage while you are reading." + color = "#664300" // rgb: 102, 67, 0 + adj_temp = 5 + + glass_icon_state = "cafe_latte" + glass_name = "glass of cafe latte" + glass_desc = "A nice, strong and refreshing beverage while you are reading." + glass_center_of_mass = list("x"=15, "y"=9) + +/datum/reagent/drink/coffee/cafe_latte/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) + ..() + M.heal_organ_damage(0.5 * removed, 0) + +/datum/reagent/drink/hot_coco + name = "Hot Chocolate" + id = "hot_coco" + description = "Made with love! And cocoa beans." + reagent_state = LIQUID + color = "#403010" + nutrition = 2 + adj_temp = 5 + + glass_icon_state = "chocolateglass" + glass_name = "glass of hot chocolate" + glass_desc = "Made with love! And cocoa beans." + +/datum/reagent/drink/sodawater + name = "Soda Water" + id = "sodawater" + description = "A can of club soda. Why not make a scotch and soda?" + color = "#619494" + adj_dizzy = -5 + adj_drowsy = -3 + adj_temp = -5 + + glass_icon_state = "glass_clear" + glass_name = "glass of soda water" + glass_desc = "Soda water. Why not make a scotch and soda?" + +/datum/reagent/drink/grapesoda + name = "Grape Soda" + id = "grapesoda" + description = "Grapes made into a fine drank." + color = "#421C52" + adj_drowsy = -3 + + glass_icon_state = "gsodaglass" + glass_name = "glass of grape soda" + glass_desc = "Looks like a delicious drink!" + +/datum/reagent/drink/tonic + name = "Tonic Water" + id = "tonic" + description = "It tastes strange but at least the quinine keeps the Space Malaria at bay." + color = "#664300" + adj_dizzy = -5 + adj_drowsy = -3 + adj_sleepy = -2 + adj_temp = -5 + + glass_icon_state = "glass_clear" + glass_name = "glass of tonic water" + glass_desc = "Quinine tastes funny, but at least it'll keep that Space Malaria away." + +/datum/reagent/drink/lemonade + name = "Lemonade" + description = "Oh the nostalgia..." + id = "lemonade" + color = "#FFFF00" + adj_temp = -5 + + glass_icon_state = "lemonadeglass" + glass_name = "glass of lemonade" + glass_desc = "Oh the nostalgia..." + +/datum/reagent/drink/kiraspecial + name = "Kira Special" + description = "Long live the guy who everyone had mistaken for a girl. Baka!" + id = "kiraspecial" + color = "#CCCC99" + adj_temp = -5 + + glass_icon_state = "kiraspecial" + glass_name = "glass of Kira Special" + glass_desc = "Long live the guy who everyone had mistaken for a girl. Baka!" + glass_center_of_mass = list("x"=16, "y"=12) + +/datum/reagent/drink/brownstar + name = "Brown Star" + description = "It's not what it sounds like..." + id = "brownstar" + color = "#9F3400" + adj_temp = -2 + + glass_icon_state = "brownstar" + glass_name = "glass of Brown Star" + glass_desc = "It's not what it sounds like..." + +/datum/reagent/drink/milkshake + name = "Milkshake" + description = "Glorious brainfreezing mixture." + id = "milkshake" + color = "#AEE5E4" + adj_temp = -9 + + glass_icon_state = "milkshake" + glass_name = "glass of milkshake" + glass_desc = "Glorious brainfreezing mixture." + glass_center_of_mass = list("x"=16, "y"=7) + +/datum/reagent/drink/rewriter + name = "Rewriter" + description = "The secret of the sanctuary of the Libarian..." + id = "rewriter" + color = "#485000" + adj_temp = -5 + + glass_icon_state = "rewriter" + glass_name = "glass of Rewriter" + glass_desc = "The secret of the sanctuary of the Libarian..." + glass_center_of_mass = list("x"=16, "y"=9) + +/datum/reagent/drink/rewriter/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) + ..() + M.make_jittery(5) + +/datum/reagent/drink/nuka_cola + name = "Nuka Cola" + id = "nuka_cola" + description = "Cola, cola never changes." + color = "#100800" + adj_temp = -5 + adj_sleepy = -2 + + glass_icon_state = "nuka_colaglass" + glass_name = "glass of Nuka-Cola" + glass_desc = "Don't cry, Don't raise your eye, It's only nuclear wasteland" + glass_center_of_mass = list("x"=16, "y"=6) + +/datum/reagent/drink/nuka_cola/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) + ..() + M.add_chemical_effect(CE_SPEEDBOOST, 1) + M.make_jittery(20) + M.druggy = max(M.druggy, 30) + M.dizziness += 5 + M.drowsyness = 0 + +/datum/reagent/drink/grenadine + name = "Grenadine Syrup" + id = "grenadine" + description = "Made in the modern day with proper pomegranate substitute. Who uses real fruit, anyways?" + color = "#FF004F" + + glass_icon_state = "grenadineglass" + glass_name = "glass of grenadine syrup" + glass_desc = "Sweet and tangy, a bar syrup used to add color or flavor to drinks." + glass_center_of_mass = list("x"=17, "y"=6) + +/datum/reagent/drink/space_cola + name = "Space Cola" + id = "cola" + description = "A refreshing beverage." + reagent_state = LIQUID + color = "#100800" + adj_drowsy = -3 + adj_temp = -5 + + glass_icon_state = "glass_brown" + glass_name = "glass of Space Cola" + glass_desc = "A glass of refreshing Space Cola" + +/datum/reagent/drink/spacemountainwind + name = "Mountain Wind" + id = "spacemountainwind" + description = "Blows right through you like a space wind." + color = "#102000" + adj_drowsy = -7 + adj_sleepy = -1 + adj_temp = -5 + + glass_icon_state = "Space_mountain_wind_glass" + glass_name = "glass of Space Mountain Wind" + glass_desc = "Space Mountain Wind. As you know, there are no mountains in space, only wind." + +/datum/reagent/drink/dr_gibb + name = "Dr. Gibb" + id = "dr_gibb" + description = "A delicious blend of 42 different flavours" + color = "#102000" + adj_drowsy = -6 + adj_temp = -5 + + glass_icon_state = "dr_gibb_glass" + glass_name = "glass of Dr. Gibb" + glass_desc = "Dr. Gibb. Not as dangerous as the name might imply." + +/datum/reagent/drink/space_up + name = "Space-Up" + id = "space_up" + description = "Tastes like a hull breach in your mouth." + color = "#202800" + adj_temp = -8 + + glass_icon_state = "space-up_glass" + glass_name = "glass of Space-up" + glass_desc = "Space-up. It helps keep your cool." + +/datum/reagent/drink/lemon_lime + name = "Lemon Lime" + description = "A tangy substance made of 0.5% natural citrus!" + id = "lemon_lime" + color = "#878F00" + adj_temp = -8 + + glass_icon_state = "lemonlime" + glass_name = "glass of lemon lime soda" + glass_desc = "A tangy substance made of 0.5% natural citrus!" + +/datum/reagent/drink/doctor_delight + name = "The Doctor's Delight" + id = "doctorsdelight" + description = "A gulp a day keeps the MediBot away. That's probably for the best." + reagent_state = LIQUID + color = "#FF8CFF" + nutrition = 1 + + glass_icon_state = "doctorsdelightglass" + glass_name = "glass of The Doctor's Delight" + glass_desc = "A healthy mixture of juices, guaranteed to keep you healthy until the next toolboxing takes place." + glass_center_of_mass = list("x"=16, "y"=8) + +/datum/reagent/drink/doctor_delight/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) + ..() + if(alien == IS_DIONA) + return + M.adjustOxyLoss(-4 * removed) + M.heal_organ_damage(2 * removed, 2 * removed) + M.adjustToxLoss(-2 * removed) + if(M.dizziness) + M.dizziness = max(0, M.dizziness - 15) + if(M.confused) + M.confused = max(0, M.confused - 5) + +/datum/reagent/drink/dry_ramen + name = "Dry Ramen" + id = "dry_ramen" + description = "Space age food, since August 25, 1958. Contains dried noodles, vegetables, and chemicals that boil in contact with water." + reagent_state = SOLID + nutrition = 1 + color = "#302000" + +/datum/reagent/drink/hot_ramen + name = "Hot Ramen" + id = "hot_ramen" + description = "The noodles are boiled, the flavors are artificial, just like being back in school." + reagent_state = LIQUID + color = "#302000" + nutrition = 5 + adj_temp = 5 + +/datum/reagent/drink/hell_ramen + name = "Hell Ramen" + id = "hell_ramen" + description = "The noodles are boiled, the flavors are artificial, just like being back in school." + reagent_state = LIQUID + color = "#302000" + nutrition = 5 + +/datum/reagent/drink/hell_ramen/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) + ..() + if(alien == IS_DIONA) + return + M.bodytemperature += 10 * TEMPERATURE_DAMAGE_COEFFICIENT + +/datum/reagent/drink/ice + name = "Ice" + id = "ice" + description = "Frozen water, your dentist wouldn't like you chewing this." + reagent_state = SOLID + color = "#619494" + adj_temp = -5 + + glass_icon_state = "iceglass" + glass_name = "glass of ice" + glass_desc = "Generally, you're supposed to put something else in there too..." + +/datum/reagent/drink/nothing + name = "Nothing" + id = "nothing" + description = "Absolutely nothing." + + glass_icon_state = "nothing" + glass_name = "glass of nothing" + glass_desc = "Absolutely nothing." + +/* Alcohol */ + +// Basic + +/datum/reagent/ethanol/absinthe + name = "Absinthe" + id = "absinthe" + description = "Watch out that the Green Fairy doesn't come for you!" + color = "#33EE00" + strength = 12 + + glass_icon_state = "absintheglass" + glass_name = "glass of absinthe" + glass_desc = "Wormwood, anise, oh my." + glass_center_of_mass = list("x"=16, "y"=5) + +/datum/reagent/ethanol/ale + name = "Ale" + id = "ale" + description = "A dark alchoholic beverage made by malted barley and yeast." + color = "#664300" + strength = 50 + + glass_icon_state = "aleglass" + glass_name = "glass of ale" + glass_desc = "A freezing pint of delicious ale" + glass_center_of_mass = list("x"=16, "y"=8) + +/datum/reagent/ethanol/beer + name = "Beer" + id = "beer" + description = "An alcoholic beverage made from malted grains, hops, yeast, and water." + color = "#664300" + strength = 50 + nutriment_factor = 1 + + glass_icon_state = "beerglass" + glass_name = "glass of beer" + glass_desc = "A freezing pint of beer" + glass_center_of_mass = list("x"=16, "y"=8) + +/datum/reagent/ethanol/beer/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) + ..() + if(alien == IS_DIONA) + return + M.jitteriness = max(M.jitteriness - 3, 0) + +/datum/reagent/ethanol/bluecuracao + name = "Blue Curacao" + id = "bluecuracao" + description = "Exotically blue, fruity drink, distilled from oranges." + color = "#0000CD" + strength = 15 + + glass_icon_state = "curacaoglass" + glass_name = "glass of blue curacao" + glass_desc = "Exotically blue, fruity drink, distilled from oranges." + glass_center_of_mass = list("x"=16, "y"=5) + +/datum/reagent/ethanol/cognac + name = "Cognac" + id = "cognac" + description = "A sweet and strongly alchoholic drink, made after numerous distillations and years of maturing. Classy as fornication." + color = "#AB3C05" + strength = 15 + + glass_icon_state = "cognacglass" + glass_name = "glass of cognac" + glass_desc = "Damn, you feel like some kind of French aristocrat just by holding this." + glass_center_of_mass = list("x"=16, "y"=6) + +/datum/reagent/ethanol/deadrum + name = "Deadrum" + id = "deadrum" + description = "Popular with the sailors. Not very popular with everyone else." + color = "#664300" + strength = 50 + + glass_icon_state = "rumglass" + glass_name = "glass of rum" + glass_desc = "Now you want to Pray for a pirate suit, don't you?" + glass_center_of_mass = list("x"=16, "y"=12) + +/datum/reagent/ethanol/deadrum/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) + ..() + if(alien == IS_DIONA) + return + M.dizziness +=5 + +/datum/reagent/ethanol/gin + name = "Gin" + id = "gin" + description = "It's gin. In space. I say, good sir." + color = "#664300" + strength = 50 + + glass_icon_state = "ginvodkaglass" + glass_name = "glass of gin" + glass_desc = "A crystal clear glass of Griffeater gin." + glass_center_of_mass = list("x"=16, "y"=12) + +/datum/reagent/ethanol/kahlua + name = "Kahlua" + id = "kahlua" + description = "A widely known, Mexican coffee-flavoured liqueur. In production since 1936!" + color = "#664300" + strength = 15 + + glass_icon_state = "kahluaglass" + glass_name = "glass of RR coffee liquor" + glass_desc = "DAMN, THIS THING LOOKS ROBUST" + glass_center_of_mass = list("x"=15, "y"=7) + +/datum/reagent/ethanol/kahlua/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) + ..() + if(alien == IS_DIONA) + return + M.dizziness = max(0, M.dizziness - 5) + M.drowsyness = max(0, M.drowsyness - 3) + M.sleeping = max(0, M.sleeping - 2) + if (M.bodytemperature > 310) + M.bodytemperature = max(310, M.bodytemperature - (5 * TEMPERATURE_DAMAGE_COEFFICIENT)) + M.make_jittery(5) + +/datum/reagent/ethanol/melonliquor + name = "Melon Liquor" + id = "melonliquor" + description = "A relatively sweet and fruity 46 proof liquor." + color = "#138808" // rgb: 19, 136, 8 + strength = 50 + + glass_icon_state = "emeraldglass" + glass_name = "glass of melon liquor" + glass_desc = "A relatively sweet and fruity 46 proof liquor." + glass_center_of_mass = list("x"=16, "y"=5) + +/datum/reagent/ethanol/rum + name = "Rum" + id = "rum" + description = "Yohoho and all that." + color = "#664300" + strength = 15 + + glass_icon_state = "rumglass" + glass_name = "glass of rum" + glass_desc = "Now you want to Pray for a pirate suit, don't you?" + glass_center_of_mass = list("x"=16, "y"=12) + +/datum/reagent/ethanol/sake + name = "Sake" + id = "sake" + description = "Anime's favorite drink." + color = "#664300" + strength = 25 + + glass_icon_state = "ginvodkaglass" + glass_name = "glass of sake" + glass_desc = "A glass of sake." + glass_center_of_mass = list("x"=16, "y"=12) + +/datum/reagent/ethanol/tequilla + name = "Tequila" + id = "tequilla" + description = "A strong and mildly flavoured, mexican produced spirit. Feeling thirsty hombre?" + color = "#FFFF91" + strength = 25 + + glass_icon_state = "tequillaglass" + glass_name = "glass of Tequilla" + glass_desc = "Now all that's missing is the weird colored shades!" + glass_center_of_mass = list("x"=16, "y"=12) + +/datum/reagent/ethanol/thirteenloko + name = "Thirteen Loko" + id = "thirteenloko" + description = "A potent mixture of caffeine and alcohol." + color = "#102000" + strength = 25 + nutriment_factor = 1 + + glass_icon_state = "thirteen_loko_glass" + glass_name = "glass of Thirteen Loko" + glass_desc = "This is a glass of Thirteen Loko, it appears to be of the highest quality. The drink, not the glass." + +/datum/reagent/ethanol/thirteenloko/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) + ..() + if(alien == IS_DIONA) + return + M.drowsyness = max(0, M.drowsyness - 7) + if (M.bodytemperature > 310) + M.bodytemperature = max(310, M.bodytemperature - (5 * TEMPERATURE_DAMAGE_COEFFICIENT)) + M.make_jittery(5) + +/datum/reagent/ethanol/vermouth + name = "Vermouth" + id = "vermouth" + description = "You suddenly feel a craving for a martini..." + color = "#91FF91" // rgb: 145, 255, 145 + strength = 15 + + glass_icon_state = "vermouthglass" + glass_name = "glass of vermouth" + glass_desc = "You wonder why you're even drinking this straight." + glass_center_of_mass = list("x"=16, "y"=12) + +/datum/reagent/ethanol/vodka + name = "Vodka" + id = "vodka" + description = "Number one drink AND fueling choice for Russians worldwide." + color = "#0064C8" // rgb: 0, 100, 200 + strength = 15 + + glass_icon_state = "ginvodkaglass" + glass_name = "glass of vodka" + glass_desc = "The glass contain wodka. Xynta." + glass_center_of_mass = list("x"=16, "y"=12) + +/datum/reagent/ethanol/vodka/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) + ..() + M.radiation = max(M.radiation - 1 * removed, 0) + +/datum/reagent/ethanol/whiskey + name = "Whiskey" + id = "whiskey" + description = "A superb and well-aged single-malt whiskey. Damn." + color = "#664300" + strength = 25 + + glass_icon_state = "whiskeyglass" + glass_name = "glass of whiskey" + glass_desc = "The silky, smokey whiskey goodness inside the glass makes the drink look very classy." + glass_center_of_mass = list("x"=16, "y"=12) + +/datum/reagent/ethanol/wine + name = "Wine" + id = "wine" + description = "An premium alchoholic beverage made from distilled grape juice." + color = "#7E4043" // rgb: 126, 64, 67 + strength = 15 + + glass_icon_state = "wineglass" + glass_name = "glass of wine" + glass_desc = "A very classy looking drink." + glass_center_of_mass = list("x"=15, "y"=7) + +// Cocktails + +/datum/reagent/ethanol/acid_spit + name = "Acid Spit" + id = "acidspit" + description = "A drink for the daring, can be deadly if incorrectly prepared!" + reagent_state = LIQUID + color = "#365000" + strength = 30 + + glass_icon_state = "acidspitglass" + glass_name = "glass of Acid Spit" + glass_desc = "A drink from Nanotrasen. Made from live aliens." + glass_center_of_mass = list("x"=16, "y"=7) + +/datum/reagent/ethanol/alliescocktail + name = "Allies Cocktail" + id = "alliescocktail" + description = "A drink made from your allies, not as sweet as when made from your enemies." + color = "#664300" + strength = 25 + + glass_icon_state = "alliescocktail" + glass_name = "glass of Allies cocktail" + glass_desc = "A drink made from your allies." + glass_center_of_mass = list("x"=17, "y"=8) + +/datum/reagent/ethanol/aloe + name = "Aloe" + id = "aloe" + description = "So very, very, very good." + color = "#664300" + strength = 15 + + glass_icon_state = "aloe" + glass_name = "glass of Aloe" + glass_desc = "Very, very, very good." + glass_center_of_mass = list("x"=17, "y"=8) + +/datum/reagent/ethanol/amasec + name = "Amasec" + id = "amasec" + description = "Official drink of the NanoTrasen Gun-Club!" + reagent_state = LIQUID + color = "#664300" + strength = 25 + + glass_icon_state = "amasecglass" + glass_name = "glass of Amasec" + glass_desc = "Always handy before COMBAT!!!" + glass_center_of_mass = list("x"=16, "y"=9) + +/datum/reagent/ethanol/andalusia + name = "Andalusia" + id = "andalusia" + description = "A nice, strangely named drink." + color = "#664300" + strength = 15 + + glass_icon_state = "andalusia" + glass_name = "glass of Andalusia" + glass_desc = "A nice, strange named drink." + glass_center_of_mass = list("x"=16, "y"=9) + +/datum/reagent/ethanol/antifreeze + name = "Anti-freeze" + id = "antifreeze" + description = "Ultimate refreshment." + color = "#664300" + strength = 12 + adj_temp = 20 + targ_temp = 330 + + glass_icon_state = "antifreeze" + glass_name = "glass of Anti-freeze" + glass_desc = "The ultimate refreshment." + glass_center_of_mass = list("x"=16, "y"=8) + +/datum/reagent/ethanol/atomicbomb + name = "Atomic Bomb" + id = "atomicbomb" + description = "Nuclear proliferation never tasted so good." + reagent_state = LIQUID + color = "#666300" + strength = 10 + druggy = 50 + + glass_icon_state = "atomicbombglass" + glass_name = "glass of Atomic Bomb" + glass_desc = "Nanotrasen cannot take legal responsibility for your actions after imbibing." + glass_center_of_mass = list("x"=15, "y"=7) + +/datum/reagent/ethanol/b52 + name = "B-52" + id = "b52" + description = "Coffee, Irish Cream, and cognac. You will get bombed." + color = "#664300" + strength = 12 + + glass_icon_state = "b52glass" + glass_name = "glass of B-52" + glass_desc = "Kahlua, Irish cream, and congac. You will get bombed." + +/datum/reagent/ethanol/bahama_mama + name = "Bahama mama" + id = "bahama_mama" + description = "Tropical cocktail." + color = "#FF7F3B" + strength = 25 + + glass_icon_state = "bahama_mama" + glass_name = "glass of Bahama Mama" + glass_desc = "Tropical cocktail" + glass_center_of_mass = list("x"=16, "y"=5) + +/datum/reagent/ethanol/bananahonk + name = "Banana Mama" + id = "bananahonk" + description = "A drink from Clown Heaven." + nutriment_factor = 1 + color = "#FFFF91" + strength = 12 + + glass_icon_state = "bananahonkglass" + glass_name = "glass of Banana Honk" + glass_desc = "A drink from Banana Heaven." + glass_center_of_mass = list("x"=16, "y"=8) + +/datum/reagent/ethanol/barefoot + name = "Barefoot" + id = "barefoot" + description = "Barefoot and pregnant" + color = "#664300" + strength = 30 + + glass_icon_state = "b&p" + glass_name = "glass of Barefoot" + glass_desc = "Barefoot and pregnant" + glass_center_of_mass = list("x"=17, "y"=8) + +/datum/reagent/ethanol/beepsky_smash + name = "Beepsky Smash" + id = "beepskysmash" + description = "Deny drinking this and prepare for THE LAW." + reagent_state = LIQUID + color = "#664300" + strength = 12 + + glass_icon_state = "beepskysmashglass" + glass_name = "Beepsky Smash" + glass_desc = "Heavy, hot and strong. Just like the Iron fist of the LAW." + glass_center_of_mass = list("x"=18, "y"=10) + +/datum/reagent/ethanol/beepsky_smash/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) + ..() + M.Stun(2) + +/datum/reagent/ethanol/bilk + name = "Bilk" + id = "bilk" + description = "This appears to be beer mixed with milk. Disgusting." + color = "#895C4C" + strength = 50 + nutriment_factor = 2 + + glass_icon_state = "glass_brown" + glass_name = "glass of bilk" + glass_desc = "A brew of milk and beer. For those alcoholics who fear osteoporosis." + +/datum/reagent/ethanol/black_russian + name = "Black Russian" + id = "blackrussian" + description = "For the lactose-intolerant. Still as classy as a White Russian." + color = "#360000" + strength = 15 + + glass_icon_state = "blackrussianglass" + glass_name = "glass of Black Russian" + glass_desc = "For the lactose-intolerant. Still as classy as a White Russian." + glass_center_of_mass = list("x"=16, "y"=9) + +/datum/reagent/ethanol/bloody_mary + name = "Bloody Mary" + id = "bloodymary" + description = "A strange yet pleasurable mixture made of vodka, tomato and lime juice. Or at least you THINK the red stuff is tomato juice." + color = "#664300" + strength = 15 + + glass_icon_state = "bloodymaryglass" + glass_name = "glass of Bloody Mary" + glass_desc = "Tomato juice, mixed with Vodka and a lil' bit of lime. Tastes like liquid murder." + +/datum/reagent/ethanol/booger + name = "Booger" + id = "booger" + description = "Ewww..." + color = "#8CFF8C" + strength = 30 + + glass_icon_state = "booger" + glass_name = "glass of Booger" + glass_desc = "Ewww..." + +/datum/reagent/ethanol/brave_bull + name = "Brave Bull" + id = "bravebull" + description = "It's just as effective as Dutch-Courage!" + color = "#664300" + strength = 15 + + glass_icon_state = "bravebullglass" + glass_name = "glass of Brave Bull" + glass_desc = "Tequilla and coffee liquor, brought together in a mouthwatering mixture. Drink up." + glass_center_of_mass = list("x"=15, "y"=8) + +/datum/reagent/ethanol/changelingsting + name = "Changeling Sting" + id = "changelingsting" + description = "You take a tiny sip and feel a burning sensation..." + color = "#2E6671" + strength = 10 + + glass_icon_state = "changelingsting" + glass_name = "glass of Changeling Sting" + glass_desc = "A stingy drink." + +/datum/reagent/ethanol/classicmartini + name = "Classic Martini" + id = "classicmartini" + description = "Vermouth with Gin. Not quite how 007 enjoyed it, but still delicious." + color = "#664300" + strength = 25 + + glass_icon_state = "martiniglass" + glass_name = "glass of classic martini" + glass_desc = "Damn, the bartender even stirred it, not shook it." + glass_center_of_mass = list("x"=17, "y"=8) + +/datum/reagent/ethanol/cuba_libre + name = "Cuba Libre" + id = "cubalibre" + description = "Rum, mixed with cola. Viva la revolucion." + color = "#3E1B00" + strength = 30 + + glass_icon_state = "cubalibreglass" + glass_name = "glass of Cuba Libre" + glass_desc = "A classic mix of rum and cola." + glass_center_of_mass = list("x"=16, "y"=8) + +/datum/reagent/ethanol/demonsblood + name = "Demons Blood" + id = "demonsblood" + description = "AHHHH!!!!" + color = "#820000" + strength = 15 + + glass_icon_state = "demonsblood" + glass_name = "glass of Demons' Blood" + glass_desc = "Just looking at this thing makes the hair at the back of your neck stand up." + glass_center_of_mass = list("x"=16, "y"=2) + +/datum/reagent/ethanol/devilskiss + name = "Devils Kiss" + id = "devilskiss" + description = "Creepy time!" + color = "#A68310" + strength = 15 + + glass_icon_state = "devilskiss" + glass_name = "glass of Devil's Kiss" + glass_desc = "Creepy time!" + glass_center_of_mass = list("x"=16, "y"=8) + +/datum/reagent/ethanol/driestmartini + name = "Driest Martini" + id = "driestmartini" + description = "Only for the experienced. You think you see sand floating in the glass." + nutriment_factor = 1 + color = "#2E6671" + strength = 12 + + glass_icon_state = "driestmartiniglass" + glass_name = "glass of Driest Martini" + glass_desc = "Only for the experienced. You think you see sand floating in the glass." + glass_center_of_mass = list("x"=17, "y"=8) + +/datum/reagent/ethanol/ginfizz + name = "Gin Fizz" + id = "ginfizz" + description = "Refreshingly lemony, deliciously dry." + color = "#664300" + strength = 30 + + glass_icon_state = "ginfizzglass" + glass_name = "glass of gin fizz" + glass_desc = "Refreshingly lemony, deliciously dry." + glass_center_of_mass = list("x"=16, "y"=7) + +/datum/reagent/ethanol/grog + name = "Grog" + id = "grog" + description = "Watered down rum, NanoTrasen approves!" + reagent_state = LIQUID + color = "#664300" + strength = 100 + + glass_icon_state = "grogglass" + glass_name = "glass of grog" + glass_desc = "A fine and cepa drink for Space." + +/datum/reagent/ethanol/erikasurprise + name = "Erika Surprise" + id = "erikasurprise" + description = "The surprise is, it's green!" + color = "#2E6671" + strength = 15 + + glass_icon_state = "erikasurprise" + glass_name = "glass of Erika Surprise" + glass_desc = "The surprise is, it's green!" + glass_center_of_mass = list("x"=16, "y"=9) + +/datum/reagent/ethanol/gargle_blaster + name = "Pan-Galactic Gargle Blaster" + id = "gargleblaster" + description = "Whoah, this stuff looks volatile!" + reagent_state = LIQUID + color = "#664300" + strength = 10 + + glass_icon_state = "gargleblasterglass" + glass_name = "glass of Pan-Galactic Gargle Blaster" + glass_desc = "Does... does this mean that Arthur and Ford are on the station? Oh joy." + glass_center_of_mass = list("x"=17, "y"=6) + +/datum/reagent/ethanol/gintonic + name = "Gin and Tonic" + id = "gintonic" + description = "An all time classic, mild cocktail." + color = "#664300" + strength = 50 + + glass_icon_state = "gintonicglass" + glass_name = "glass of gin and tonic" + glass_desc = "A mild but still great cocktail. Drink up, like a true Englishman." + glass_center_of_mass = list("x"=16, "y"=7) + +/datum/reagent/ethanol/goldschlager + name = "Goldschlager" + id = "goldschlager" + description = "100 proof cinnamon schnapps, made for alcoholic teen girls on spring break." + color = "#664300" + strength = 15 + + glass_icon_state = "ginvodkaglass" + glass_name = "glass of Goldschlager" + glass_desc = "100 proof that teen girls will drink anything with gold in it." + glass_center_of_mass = list("x"=16, "y"=12) + +/datum/reagent/ethanol/hippies_delight + name = "Hippies' Delight" + id = "hippiesdelight" + description = "You just don't get it maaaan." + reagent_state = LIQUID + color = "#664300" + strength = 15 + druggy = 50 + + glass_icon_state = "hippiesdelightglass" + glass_name = "glass of Hippie's Delight" + glass_desc = "A drink enjoyed by people during the 1960's." + glass_center_of_mass = list("x"=16, "y"=8) + +/datum/reagent/ethanol/hooch + name = "Hooch" + id = "hooch" + description = "Either someone's failure at cocktail making or attempt in alchohol production. In any case, do you really want to drink that?" + color = "#664300" + strength = 25 + toxicity = 2 + + glass_icon_state = "glass_brown2" + glass_name = "glass of Hooch" + glass_desc = "You've really hit rock bottom now... your liver packed its bags and left last night." + +/datum/reagent/ethanol/iced_beer + name = "Iced Beer" + id = "iced_beer" + description = "A beer which is so cold the air around it freezes." + color = "#664300" + strength = 50 + adj_temp = -20 + targ_temp = 270 + + glass_icon_state = "iced_beerglass" + glass_name = "glass of iced beer" + glass_desc = "A beer so frosty, the air around it freezes." + glass_center_of_mass = list("x"=16, "y"=7) + +/datum/reagent/ethanol/irishcarbomb + name = "Irish Car Bomb" + id = "irishcarbomb" + description = "Mmm, tastes like chocolate cake..." + color = "#2E6671" + strength = 15 + + glass_icon_state = "irishcarbomb" + glass_name = "glass of Irish Car Bomb" + glass_desc = "An irish car bomb." + glass_center_of_mass = list("x"=16, "y"=8) + +/datum/reagent/ethanol/irishcoffee + name = "Irish Coffee" + id = "irishcoffee" + description = "Coffee, and alcohol. More fun than a Mimosa to drink in the morning." + color = "#664300" + strength = 15 + + glass_icon_state = "irishcoffeeglass" + glass_name = "glass of Irish coffee" + glass_desc = "Coffee and alcohol. More fun than a Mimosa to drink in the morning." + glass_center_of_mass = list("x"=15, "y"=10) + +/datum/reagent/ethanol/irish_cream + name = "Irish Cream" + id = "irishcream" + description = "Whiskey-imbued cream, what else would you expect from the Irish." + color = "#664300" + strength = 25 + + glass_icon_state = "irishcreamglass" + glass_name = "glass of Irish cream" + glass_desc = "It's cream, mixed with whiskey. What else would you expect from the Irish?" + glass_center_of_mass = list("x"=16, "y"=9) + +/datum/reagent/ethanol/longislandicedtea + name = "Long Island Iced Tea" + id = "longislandicedtea" + description = "The liquor cabinet, brought together in a delicious mix. Intended for middle-aged alcoholic women only." + color = "#664300" + strength = 12 + + glass_icon_state = "longislandicedteaglass" + glass_name = "glass of Long Island iced tea" + glass_desc = "The liquor cabinet, brought together in a delicious mix. Intended for middle-aged alcoholic women only." + glass_center_of_mass = list("x"=16, "y"=8) + +/datum/reagent/ethanol/manhattan + name = "Manhattan" + id = "manhattan" + description = "The Detective's undercover drink of choice. He never could stomach gin..." + color = "#664300" + strength = 15 + + glass_icon_state = "manhattanglass" + glass_name = "glass of Manhattan" + glass_desc = "The Detective's undercover drink of choice. He never could stomach gin..." + glass_center_of_mass = list("x"=17, "y"=8) + +/datum/reagent/ethanol/manhattan_proj + name = "Manhattan Project" + id = "manhattan_proj" + description = "A scientist's drink of choice, for pondering ways to blow up the station." + color = "#664300" + strength = 10 + druggy = 30 + + glass_icon_state = "proj_manhattanglass" + glass_name = "glass of Manhattan Project" + glass_desc = "A scienitst drink of choice, for thinking how to blow up the station." + glass_center_of_mass = list("x"=17, "y"=8) + +/datum/reagent/ethanol/manly_dorf + name = "The Manly Dorf" + id = "manlydorf" + description = "Beer and Ale, brought together in a delicious mix. Intended for true men only." + color = "#664300" + strength = 25 + + glass_icon_state = "manlydorfglass" + glass_name = "glass of The Manly Dorf" + glass_desc = "A manly concotion made from Ale and Beer. Intended for true men only." + +/datum/reagent/ethanol/margarita + name = "Margarita" + id = "margarita" + description = "On the rocks with salt on the rim. Arriba~!" + color = "#8CFF8C" + strength = 15 + + glass_icon_state = "margaritaglass" + glass_name = "glass of margarita" + glass_desc = "On the rocks with salt on the rim. Arriba~!" + glass_center_of_mass = list("x"=16, "y"=8) + +/datum/reagent/ethanol/mead + name = "Mead" + id = "mead" + description = "A Viking's drink, though a cheap one." + reagent_state = LIQUID + color = "#664300" + strength = 30 + nutriment_factor = 1 + + glass_icon_state = "meadglass" + glass_name = "glass of mead" + glass_desc = "A Viking's beverage, though a cheap one." + glass_center_of_mass = list("x"=17, "y"=10) + +/datum/reagent/ethanol/moonshine + name = "Moonshine" + id = "moonshine" + description = "You've really hit rock bottom now... your liver packed its bags and left last night." + color = "#664300" + strength = 12 + + glass_icon_state = "glass_clear" + glass_name = "glass of moonshine" + glass_desc = "You've really hit rock bottom now... your liver packed its bags and left last night." + +/datum/reagent/ethanol/neurotoxin + name = "Neurotoxin" + id = "neurotoxin" + description = "A strong neurotoxin that puts the subject into a death-like state." + reagent_state = LIQUID + color = "#2E2E61" + strength = 10 + + glass_icon_state = "neurotoxinglass" + glass_name = "glass of Neurotoxin" + glass_desc = "A drink that is guaranteed to knock you silly." + glass_center_of_mass = list("x"=16, "y"=8) + +/datum/reagent/ethanol/neurotoxin/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) + ..() + M.Weaken(3) + +/datum/reagent/ethanol/patron + name = "Patron" + id = "patron" + description = "Tequila with silver in it, a favorite of alcoholic women in the club scene." + color = "#585840" + strength = 30 + + glass_icon_state = "patronglass" + glass_name = "glass of Patron" + glass_desc = "Drinking patron in the bar, with all the subpar ladies." + glass_center_of_mass = list("x"=7, "y"=8) + +/datum/reagent/ethanol/pwine + name = "Poison Wine" + id = "pwine" + description = "Is this even wine? Toxic! Hallucinogenic! Probably consumed in boatloads by your superiors!" + color = "#000000" + strength = 10 + druggy = 50 + halluci = 10 + + glass_icon_state = "pwineglass" + glass_name = "glass of ???" + glass_desc = "A black ichor with an oily purple sheer on top. Are you sure you should drink this?" + glass_center_of_mass = list("x"=16, "y"=5) + +/datum/reagent/ethanol/pwine/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) + ..() + if(dose > 30) + M.adjustToxLoss(2 * removed) + if(dose > 60 && ishuman(M) && prob(5)) + var/mob/living/carbon/human/H = M + var/obj/item/organ/heart/L = H.internal_organs_by_name["heart"] + if (L && istype(L)) + if(dose < 120) + L.take_damage(10 * removed, 0) + else + L.take_damage(100, 0) + +/datum/reagent/ethanol/red_mead + name = "Red Mead" + id = "red_mead" + description = "The true Viking's drink! Even though it has a strange red color." + color = "#C73C00" + strength = 30 + + glass_icon_state = "red_meadglass" + glass_name = "glass of red mead" + glass_desc = "A true Viking's beverage, though its color is strange." + glass_center_of_mass = list("x"=17, "y"=10) + +/datum/reagent/ethanol/sbiten + name = "Sbiten" + id = "sbiten" + description = "A spicy Vodka! Might be a little hot for the little guys!" + color = "#664300" + strength = 15 + adj_temp = 50 + targ_temp = 360 + + glass_icon_state = "sbitenglass" + glass_name = "glass of Sbiten" + glass_desc = "A spicy mix of Vodka and Spice. Very hot." + glass_center_of_mass = list("x"=17, "y"=8) + +/datum/reagent/ethanol/screwdrivercocktail + name = "Screwdriver" + id = "screwdrivercocktail" + description = "Vodka, mixed with plain ol' orange juice. The result is surprisingly delicious." + color = "#A68310" + strength = 15 + + glass_icon_state = "screwdriverglass" + glass_name = "glass of Screwdriver" + glass_desc = "A simple, yet superb mixture of Vodka and orange juice. Just the thing for the tired engineer." + glass_center_of_mass = list("x"=15, "y"=10) + +/datum/reagent/ethanol/silencer + name = "Silencer" + id = "silencer" + description = "A drink from Mime Heaven." + nutriment_factor = 1 + color = "#664300" + strength = 12 + + glass_icon_state = "silencerglass" + glass_name = "glass of Silencer" + glass_desc = "A drink from mime Heaven." + glass_center_of_mass = list("x"=16, "y"=9) + +/datum/reagent/ethanol/singulo + name = "Singulo" + id = "singulo" + description = "A blue-space beverage!" + color = "#2E6671" + strength = 10 + + glass_icon_state = "singulo" + glass_name = "glass of Singulo" + glass_desc = "A blue-space beverage." + glass_center_of_mass = list("x"=17, "y"=4) + +/datum/reagent/ethanol/snowwhite + name = "Snow White" + id = "snowwhite" + description = "A cold refreshment" + color = "#FFFFFF" + strength = 30 + + glass_icon_state = "snowwhite" + glass_name = "glass of Snow White" + glass_desc = "A cold refreshment." + glass_center_of_mass = list("x"=16, "y"=8) + +/datum/reagent/ethanol/suidream + name = "Sui Dream" + id = "suidream" + description = "Comprised of: White soda, blue curacao, melon liquor." + color = "#00A86B" + strength = 100 + + glass_icon_state = "sdreamglass" + glass_name = "glass of Sui Dream" + glass_desc = "A froofy, fruity, and sweet mixed drink. Understanding the name only brings shame." + glass_center_of_mass = list("x"=16, "y"=5) + +/datum/reagent/ethanol/syndicatebomb + name = "Syndicate Bomb" + id = "syndicatebomb" + description = "Tastes like terrorism!" + color = "#2E6671" + strength = 10 + + glass_icon_state = "syndicatebomb" + glass_name = "glass of Syndicate Bomb" + glass_desc = "Tastes like terrorism!" + glass_center_of_mass = list("x"=16, "y"=4) + +/datum/reagent/ethanol/tequilla_sunrise + name = "Tequila Sunrise" + id = "tequillasunrise" + description = "Tequila and orange juice. Much like a Screwdriver, only Mexican~" + color = "#FFE48C" + strength = 25 + + glass_icon_state = "tequillasunriseglass" + glass_name = "glass of Tequilla Sunrise" + glass_desc = "Oh great, now you feel nostalgic about sunrises back on Terra..." + +/datum/reagent/ethanol/threemileisland + name = "Three Mile Island Iced Tea" + id = "threemileisland" + description = "Made for a woman, strong enough for a man." + color = "#666340" + strength = 10 + druggy = 50 + + glass_icon_state = "threemileislandglass" + glass_name = "glass of Three Mile Island iced tea" + glass_desc = "A glass of this is sure to prevent a meltdown." + glass_center_of_mass = list("x"=16, "y"=2) + +/datum/reagent/ethanol/toxins_special + name = "Toxins Special" + id = "phoronspecial" + description = "This thing is ON FIRE! CALL THE DAMN SHUTTLE!" + reagent_state = LIQUID + color = "#664300" + strength = 10 + adj_temp = 15 + targ_temp = 330 + + glass_icon_state = "toxinsspecialglass" + glass_name = "glass of Toxins Special" + glass_desc = "Whoah, this thing is on FIRE" + +/datum/reagent/ethanol/vodkamartini + name = "Vodka Martini" + id = "vodkamartini" + description = "Vodka with Gin. Not quite how 007 enjoyed it, but still delicious." + color = "#664300" + strength = 12 + + glass_icon_state = "martiniglass" + glass_name = "glass of vodka martini" + glass_desc ="A bastardisation of the classic martini. Still great." + glass_center_of_mass = list("x"=17, "y"=8) + +/datum/reagent/ethanol/vodkatonic + name = "Vodka and Tonic" + id = "vodkatonic" + description = "For when a gin and tonic isn't russian enough." + color = "#0064C8" // rgb: 0, 100, 200 + strength = 15 + + glass_icon_state = "vodkatonicglass" + glass_name = "glass of vodka and tonic" + glass_desc = "For when a gin and tonic isn't Russian enough." + glass_center_of_mass = list("x"=16, "y"=7) + +/datum/reagent/ethanol/white_russian + name = "White Russian" + id = "whiterussian" + description = "That's just, like, your opinion, man..." + color = "#A68340" + strength = 15 + + glass_icon_state = "whiterussianglass" + glass_name = "glass of White Russian" + glass_desc = "A very nice looking drink. But that's just, like, your opinion, man." + glass_center_of_mass = list("x"=16, "y"=9) + +/datum/reagent/ethanol/whiskey_cola + name = "Whiskey Cola" + id = "whiskeycola" + description = "Whiskey, mixed with cola. Surprisingly refreshing." + color = "#3E1B00" + strength = 25 + + glass_icon_state = "whiskeycolaglass" + glass_name = "glass of whiskey cola" + glass_desc = "An innocent-looking mixture of cola and Whiskey. Delicious." + glass_center_of_mass = list("x"=16, "y"=9) + +/datum/reagent/ethanol/whiskeysoda + name = "Whiskey Soda" + id = "whiskeysoda" + description = "For the more refined griffon." + color = "#664300" + strength = 15 + + glass_icon_state = "whiskeysodaglass2" + glass_name = "glass of whiskey soda" + glass_desc = "Ultimate refreshment." + glass_center_of_mass = list("x"=16, "y"=9) + +/datum/reagent/ethanol/specialwhiskey // I have no idea what this is and where it comes from + name = "Special Blend Whiskey" + id = "specialwhiskey" + description = "Just when you thought regular station whiskey was good... This silky, amber goodness has to come along and ruin everything." + color = "#664300" + strength = 25 + + glass_icon_state = "whiskeyglass" + glass_name = "glass of special blend whiskey" + glass_desc = "Just when you thought regular station whiskey was good... This silky, amber goodness has to come along and ruin everything." + glass_center_of_mass = list("x"=16, "y"=12) diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Medicine.dm b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Medicine.dm new file mode 100644 index 0000000000..8a5396cc51 --- /dev/null +++ b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Medicine.dm @@ -0,0 +1,493 @@ +/* General medicine */ + +/datum/reagent/inaprovaline + name = "Inaprovaline" + id = "inaprovaline" + description = "Inaprovaline is a synaptic stimulant and cardiostimulant. Commonly used to stabilize patients." + reagent_state = LIQUID + color = "#00BFFF" + overdose = REAGENTS_OVERDOSE * 2 + metabolism = REM * 0.5 + scannable = 1 + +/datum/reagent/inaprovaline/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(alien != IS_DIONA) + M.add_chemical_effect(CE_STABLE) + M.add_chemical_effect(CE_PAINKILLER, 25) + +/datum/reagent/bicaridine + name = "Bicaridine" + id = "bicaridine" + description = "Bicaridine is an analgesic medication and can be used to treat blunt trauma." + reagent_state = LIQUID + color = "#BF0000" + overdose = REAGENTS_OVERDOSE + scannable = 1 + +/datum/reagent/bicaridine/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(alien != IS_DIONA) + M.heal_organ_damage(6 * removed, 0) + +/datum/reagent/kelotane + name = "Kelotane" + id = "kelotane" + description = "Kelotane is a drug used to treat burns." + reagent_state = LIQUID + color = "#FFA800" + overdose = REAGENTS_OVERDOSE + scannable = 1 + +/datum/reagent/kelotane/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(alien != IS_DIONA) + M.heal_organ_damage(0, 6 * removed) + +/datum/reagent/dermaline + name = "Dermaline" + id = "dermaline" + description = "Dermaline is the next step in burn medication. Works twice as good as kelotane and enables the body to restore even the direst heat-damaged tissue." + reagent_state = LIQUID + color = "#FF8000" + overdose = REAGENTS_OVERDOSE * 0.5 + scannable = 1 + +/datum/reagent/dermaline/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(alien != IS_DIONA) + M.heal_organ_damage(0, 12 * removed) + +/datum/reagent/dylovene + name = "Dylovene" + id = "anti_toxin" + description = "Dylovene is a broad-spectrum antitoxin." + reagent_state = LIQUID + color = "#00A000" + scannable = 1 + +/datum/reagent/dylovene/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(alien != IS_DIONA) + M.drowsyness = max(0, M.drowsyness - 6 * removed) + M.hallucination = max(0, M.hallucination - 9 * removed) + M.adjustToxLoss(-4 * removed) + +/datum/reagent/dexalin + name = "Dexalin" + id = "dexalin" + description = "Dexalin is used in the treatment of oxygen deprivation." + reagent_state = LIQUID + color = "#0080FF" + overdose = REAGENTS_OVERDOSE + scannable = 1 + +/datum/reagent/dexalin/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(alien == IS_VOX) + M.adjustToxLoss(removed * 6) + else if(alien != IS_DIONA) + M.adjustOxyLoss(-15 * removed) + + holder.remove_reagent("lexorin", 2 * removed) + +/datum/reagent/dexalinp + name = "Dexalin Plus" + id = "dexalinp" + description = "Dexalin Plus is used in the treatment of oxygen deprivation. It is highly effective." + reagent_state = LIQUID + color = "#0040FF" + overdose = REAGENTS_OVERDOSE * 0.5 + scannable = 1 + +/datum/reagent/dexalin/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(alien == IS_VOX) + M.adjustToxLoss(removed * 9) + else if(alien != IS_DIONA) + M.adjustOxyLoss(-300 * removed) + + holder.remove_reagent("lexorin", 3 * removed) + +/datum/reagent/tricordrazine + name = "Tricordrazine" + id = "tricordrazine" + description = "Tricordrazine is a highly potent stimulant, originally derived from cordrazine. Can be used to treat a wide range of injuries." + reagent_state = LIQUID + color = "#8040FF" + scannable = 1 + +/datum/reagent/tricordrazine/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(alien != IS_DIONA) + M.adjustOxyLoss(-6 * removed) + M.heal_organ_damage(3 * removed, 3 * removed) + M.adjustToxLoss(-3 * removed) + +/datum/reagent/cryoxadone + name = "Cryoxadone" + id = "cryoxadone" + description = "A chemical mixture with almost magical healing powers. Its main limitation is that the targets body temperature must be under 170K for it to metabolise correctly." + reagent_state = LIQUID + color = "#8080FF" + metabolism = REM * 0.5 + scannable = 1 + +/datum/reagent/cryoxadone/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(M.bodytemperature < 170) + M.adjustCloneLoss(-10 * removed) + M.adjustOxyLoss(-10 * removed) + M.heal_organ_damage(10 * removed, 10 * removed) + M.adjustToxLoss(-10 * removed) + +/datum/reagent/clonexadone + name = "Clonexadone" + id = "clonexadone" + description = "A liquid compound similar to that used in the cloning process. Can be used to 'finish' the cloning process when used in conjunction with a cryo tube." + reagent_state = LIQUID + color = "#80BFFF" + metabolism = REM * 0.5 + scannable = 1 + +/datum/reagent/cryoxadone/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(M.bodytemperature < 170) + M.adjustCloneLoss(-30 * removed) + M.adjustOxyLoss(-3 * removed) + M.heal_organ_damage(30 * removed, 30 * removed) + M.adjustToxLoss(-30 * removed) + +/* Painkillers */ + +/datum/reagent/paracetamol + name = "Paracetamol" + id = "paracetamol" + description = "Most probably know this as Tylenol, but this chemical is a mild, simple painkiller." + reagent_state = LIQUID + color = "#C8A5DC" + overdose = 60 + scannable = 1 + metabolism = 0.02 + +/datum/reagent/paracetamol/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + M.add_chemical_effect(CE_PAINKILLER, 50) + +/datum/reagent/paracetamol/overdose(var/mob/living/carbon/M, var/alien) + ..() + M.hallucination = max(M.hallucination, 2) + +/datum/reagent/tramadol + name = "Tramadol" + id = "tramadol" + description = "A simple, yet effective painkiller." + reagent_state = LIQUID + color = "#CB68FC" + overdose = 30 + scannable = 1 + metabolism = 0.02 + +/datum/reagent/tramadol/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + M.add_chemical_effect(CE_PAINKILLER, 80) + +/datum/reagent/tramadol/overdose(var/mob/living/carbon/M, var/alien) + ..() + M.hallucination = max(M.hallucination, 2) + +/datum/reagent/oxycodone + name = "Oxycodone" + id = "oxycodone" + description = "An effective and very addictive painkiller." + reagent_state = LIQUID + color = "#800080" + overdose = 20 + metabolism = 0.02 + +/datum/reagent/oxycodone/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + M.add_chemical_effect(CE_PAINKILLER, 200) + +/datum/reagent/oxycodone/overdose(var/mob/living/carbon/M, var/alien) + ..() + M.druggy = max(M.druggy, 10) + M.hallucination = max(M.hallucination, 3) + +/* Other medicine */ + +/datum/reagent/synaptizine + name = "Synaptizine" + id = "synaptizine" + description = "Synaptizine is used to treat various diseases." + reagent_state = LIQUID + color = "#99CCFF" + metabolism = REM * 0.05 + overdose = REAGENTS_OVERDOSE + scannable = 1 + +/datum/reagent/synaptizine/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(alien == IS_DIONA) + return + M.drowsyness = max(M.drowsyness - 5, 0) + M.AdjustParalysis(-1) + M.AdjustStunned(-1) + M.AdjustWeakened(-1) + holder.remove_reagent("mindbreaker", 5) + M.hallucination = max(0, M.hallucination - 10) + M.adjustToxLoss(5 * removed) // It used to be incredibly deadly due to an oversight. Not anymore! + M.add_chemical_effect(CE_PAINKILLER, 40) + +/datum/reagent/alkysine + name = "Alkysine" + id = "alkysine" + description = "Alkysine is a drug used to lessen the damage to neurological tissue after a catastrophic injury. Can heal brain tissue." + reagent_state = LIQUID + color = "#FFFF66" + metabolism = REM * 0.25 + overdose = REAGENTS_OVERDOSE + scannable = 1 + +/datum/reagent/alkysine/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(alien == IS_DIONA) + return + M.adjustBrainLoss(-30 * removed) + M.add_chemical_effect(CE_PAINKILLER, 10) + +/datum/reagent/imidazoline + name = "Imidazoline" + id = "imidazoline" + description = "Heals eye damage" + reagent_state = LIQUID + color = "#C8A5DC" + overdose = REAGENTS_OVERDOSE + scannable = 1 + +/datum/reagent/imidazoline/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + M.eye_blurry = max(M.eye_blurry - 5, 0) + M.eye_blind = max(M.eye_blind - 5, 0) + if(ishuman(M)) + var/mob/living/carbon/human/H = M + var/obj/item/organ/eyes/E = H.internal_organs_by_name["eyes"] + if(E && istype(E)) + if(E.damage > 0) + E.damage = max(E.damage - 5 * removed, 0) + +/datum/reagent/peridaxon + name = "Peridaxon" + id = "peridaxon" + description = "Used to encourage recovery of internal organs and nervous systems. Medicate cautiously." + reagent_state = LIQUID + color = "#561EC3" + overdose = 10 + scannable = 1 + +/datum/reagent/peridaxon/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(ishuman(M)) + var/mob/living/carbon/human/H = M + + for(var/obj/item/organ/I in H.internal_organs) + if((I.damage > 0) && (I.robotic != 2)) //Peridaxon heals only non-robotic organs + I.damage = max(I.damage - removed, 0) + +/datum/reagent/ryetalyn + name = "Ryetalyn" + id = "ryetalyn" + description = "Ryetalyn can cure all genetic abnomalities via a catalytic process." + reagent_state = SOLID + color = "#004000" + overdose = REAGENTS_OVERDOSE + +/datum/reagent/ryetalyn/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + var/needs_update = M.mutations.len > 0 + + M.mutations = list() + M.disabilities = 0 + M.sdisabilities = 0 + + // Might need to update appearance for hulk etc. + if(needs_update && ishuman(M)) + var/mob/living/carbon/human/H = M + H.update_mutations() + +/datum/reagent/hyperzine + name = "Hyperzine" + id = "hyperzine" + description = "Hyperzine is a highly effective, long lasting, muscle stimulant." + reagent_state = LIQUID + color = "#FF3300" + metabolism = REM * 0.15 + overdose = REAGENTS_OVERDOSE * 0.5 + +/datum/reagent/hyperzine/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(alien == IS_DIONA) + return + if(prob(5)) + M.emote(pick("twitch", "blink_r", "shiver")) + M.add_chemical_effect(CE_SPEEDBOOST, 1) + +/datum/reagent/ethylredoxrazine + name = "Ethylredoxrazine" + id = "ethylredoxrazine" + description = "A powerful oxidizer that reacts with ethanol." + reagent_state = SOLID + color = "#605048" + overdose = REAGENTS_OVERDOSE + +/datum/reagent/ethylredoxrazine/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(alien == IS_DIONA) + return + M.dizziness = 0 + M.drowsyness = 0 + M.stuttering = 0 + M.confused = 0 + if(M.ingested) + for(var/datum/reagent/R in M.ingested) + if(istype(R, /datum/reagent/ethanol)) + R.dose = max(R.dose - removed * 5, 0) + +/datum/reagent/hyronalin + name = "Hyronalin" + id = "hyronalin" + description = "Hyronalin is a medicinal drug used to counter the effect of radiation poisoning." + reagent_state = LIQUID + color = "#408000" + metabolism = REM * 0.25 + overdose = REAGENTS_OVERDOSE + scannable = 1 + +/datum/reagent/hyronalin/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + M.radiation = max(M.radiation - 30 * removed, 0) + +/datum/reagent/arithrazine + name = "Arithrazine" + id = "arithrazine" + description = "Arithrazine is an unstable medication used for the most extreme cases of radiation poisoning." + reagent_state = LIQUID + color = "#008000" + metabolism = REM * 0.25 + overdose = REAGENTS_OVERDOSE + scannable = 1 + +/datum/reagent/arithrazine/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + M.radiation = max(M.radiation - 70 * removed, 0) + M.adjustToxLoss(-10 * removed) + if(prob(60)) + M.take_organ_damage(4 * removed, 0) + +/datum/reagent/spaceacillin + name = "Spaceacillin" + id = "spaceacillin" + description = "An all-purpose antiviral agent." + reagent_state = LIQUID + color = "#C1C1C1" + metabolism = REM * 0.05 + overdose = REAGENTS_OVERDOSE + scannable = 1 + +/datum/reagent/sterilizine + name = "Sterilizine" + id = "sterilizine" + description = "Sterilizes wounds in preparation for surgery." + reagent_state = LIQUID + color = "#C8A5DC" + touch_met = 5 + +/datum/reagent/sterilizine/affect_touch(var/mob/living/carbon/M, var/alien, var/removed, var/location) + M.germ_level -= min(removed*20, M.germ_level) + +/datum/reagent/sterilizine/touch_obj(var/obj/O) + O.germ_level -= min(volume*20, O.germ_level) + +/datum/reagent/sterilizine/touch_turf(var/turf/T) + T.germ_level -= min(volume*20, T.germ_level) + +/datum/reagent/leporazine + name = "Leporazine" + id = "leporazine" + description = "Leporazine can be use to stabilize an individuals body temperature." + reagent_state = LIQUID + color = "#C8A5DC" + overdose = REAGENTS_OVERDOSE + scannable = 1 + +/datum/reagent/leporazine/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(M.bodytemperature > 310) + M.bodytemperature = max(310, M.bodytemperature - (40 * TEMPERATURE_DAMAGE_COEFFICIENT)) + else if(M.bodytemperature < 311) + M.bodytemperature = min(310, M.bodytemperature + (40 * TEMPERATURE_DAMAGE_COEFFICIENT)) + +/* Antidepressants */ + +#define ANTIDEPRESSANT_MESSAGE_DELAY 5*60*10 + +/datum/reagent/methylphenidate + name = "Methylphenidate" + id = "methylphenidate" + description = "Improves the ability to concentrate." + reagent_state = LIQUID + color = "#BF80BF" + metabolism = 0.01 + data = 0 + +/datum/reagent/methylphenidate/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(alien == IS_DIONA) + return + if(volume <= 0.1 && data != -1) + data = -1 + M << "You lose focus..." + else + if(world.time > data + ANTIDEPRESSANT_MESSAGE_DELAY) + data = world.time + M << "Your mind feels focused and undivided." + +/datum/reagent/citalopram + name = "Citalopram" + id = "citalopram" + description = "Stabilizes the mind a little." + reagent_state = LIQUID + color = "#FF80FF" + metabolism = 0.01 + data = 0 + +/datum/reagent/citalopram/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(alien == IS_DIONA) + return + if(volume <= 0.1 && data != -1) + data = -1 + M << "Your mind feels a little less stable..." + else + if(world.time > data + ANTIDEPRESSANT_MESSAGE_DELAY) + data = world.time + M << "Your mind feels stable... a little stable." + +/datum/reagent/paroxetine + name = "Paroxetine" + id = "paroxetine" + description = "Stabilizes the mind greatly, but has a chance of adverse effects." + reagent_state = LIQUID + color = "#FF80BF" + metabolism = 0.01 + data = 0 + +/datum/reagent/paroxetine/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(alien == IS_DIONA) + return + if(volume <= 0.1 && data != -1) + data = -1 + M << "Your mind feels much less stable..." + else + if(world.time > data + ANTIDEPRESSANT_MESSAGE_DELAY) + data = world.time + if(prob(90)) + M << "Your mind feels much more stable." + else + M << "Your mind breaks apart..." + M.hallucination += 200 + +/datum/reagent/rezadone + name = "Rezadone" + id = "rezadone" + description = "A powder with almost magical properties, this substance can effectively treat genetic damage in humanoids, though excessive consumption has side effects." + reagent_state = SOLID + color = "#669900" + overdose = REAGENTS_OVERDOSE + scannable = 1 + +/datum/reagent/rezadone/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + M.adjustCloneLoss(-20 * removed) + M.adjustOxyLoss(-2 * removed) + M.heal_organ_damage(20 * removed, 20 * removed) + M.adjustToxLoss(-20 * removed) + if(dose > 3) + M.status_flags &= ~DISFIGURED + if(dose > 10) + M.make_dizzy(5) + M.make_jittery(5) diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Other.dm b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Other.dm new file mode 100644 index 0000000000..442a75803f --- /dev/null +++ b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Other.dm @@ -0,0 +1,382 @@ +/* Paint and crayons */ + +/datum/reagent/crayon_dust + name = "Crayon dust" + id = "crayon_dust" + description = "Intensely coloured powder obtained by grinding crayons." + reagent_state = LIQUID + color = "#888888" + overdose = 5 + +/datum/reagent/crayon_dust/red + name = "Red crayon dust" + id = "crayon_dust_red" + color = "#FE191A" + +/datum/reagent/crayon_dust/orange + name = "Orange crayon dust" + id = "crayon_dust_orange" + color = "#FFBE4F" + +/datum/reagent/crayon_dust/yellow + name = "Yellow crayon dust" + id = "crayon_dust_yellow" + color = "#FDFE7D" + +/datum/reagent/crayon_dust/green + name = "Green crayon dust" + id = "crayon_dust_green" + color = "#18A31A" + +/datum/reagent/crayon_dust/blue + name = "Blue crayon dust" + id = "crayon_dust_blue" + color = "#247CFF" + +/datum/reagent/crayon_dust/purple + name = "Purple crayon dust" + id = "crayon_dust_purple" + color = "#CC0099" + +/datum/reagent/crayon_dust/grey //Mime + name = "Grey crayon dust" + id = "crayon_dust_grey" + color = "#808080" + +/datum/reagent/crayon_dust/brown //Rainbow + name = "Brown crayon dust" + id = "crayon_dust_brown" + color = "#846F35" + +/datum/reagent/paint + name = "Paint" + id = "paint" + description = "This paint will stick to almost any object." + reagent_state = LIQUID + color = "#808080" + overdose = REAGENTS_OVERDOSE * 0.5 + color_weight = 20 + +/datum/reagent/paint/touch_turf(var/turf/T) + if(istype(T) && !istype(T, /turf/space)) + T.color = color + +/datum/reagent/paint/touch_obj(var/obj/O) + if(istype(O)) + O.color = color + +/datum/reagent/paint/touch_mob(var/mob/M) + if(istype(M) && !istype(M, /mob/dead)) //painting ghosts: not allowed + M.color = color + +/datum/reagent/paint/affect_touch(var/mob/living/carbon/M, var/alien, var/removed, var/location) + M.color = color + +/datum/reagent/paint/get_data() + return color + +/datum/reagent/paint/initialize_data(var/newdata) + color = newdata + return + +/datum/reagent/paint/mix_data(var/newdata, var/newamount) + var/list/colors = list(0, 0, 0, 0) + var/tot_w = 0 + + var/hex1 = uppertext(color) + var/hex2 = uppertext(newdata) + if(length(hex1) == 7) + hex1 += "FF" + if(length(hex2) == 7) + hex2 += "FF" + if(length(hex1) != 9 || length(hex2) != 9) + return + colors[1] += hex2num(copytext(hex1, 2, 4)) * volume + colors[2] += hex2num(copytext(hex1, 4, 6)) * volume + colors[3] += hex2num(copytext(hex1, 6, 8)) * volume + colors[4] += hex2num(copytext(hex1, 8, 10)) * volume + tot_w += volume + colors[1] += hex2num(copytext(hex2, 2, 4)) * newamount + colors[2] += hex2num(copytext(hex2, 4, 6)) * newamount + colors[3] += hex2num(copytext(hex2, 6, 8)) * newamount + colors[4] += hex2num(copytext(hex2, 8, 10)) * newamount + tot_w += newamount + + color = rgb(colors[1] / tot_w, colors[2] / tot_w, colors[3] / tot_w, colors[4] / tot_w) + return + +/* Things that didn't fit anywhere else */ + +/datum/reagent/adminordrazine //An OP chemical for admins + name = "Adminordrazine" + id = "adminordrazine" + description = "It's magic. We don't have to explain it." + reagent_state = LIQUID + color = "#C8A5DC" + affects_dead = 1 //This can even heal dead people. + + glass_icon_state = "golden_cup" + glass_name = "golden cup" + glass_desc = "It's magic. We don't have to explain it." + +/datum/reagent/adminordrazine/affect_touch(var/mob/living/carbon/M, var/alien, var/removed, var/location) + affect_blood(M, alien, removed) + +/datum/reagent/adminordrazine/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + M.setCloneLoss(0) + M.setOxyLoss(0) + M.radiation = 0 + M.heal_organ_damage(5,5) + M.adjustToxLoss(-5) + M.hallucination = 0 + M.setBrainLoss(0) + M.disabilities = 0 + M.sdisabilities = 0 + M.eye_blurry = 0 + M.eye_blind = 0 + M.SetWeakened(0) + M.SetStunned(0) + M.SetParalysis(0) + M.silent = 0 + M.dizziness = 0 + M.drowsyness = 0 + M.stuttering = 0 + M.confused = 0 + M.sleeping = 0 + M.jitteriness = 0 + for(var/datum/disease/D in M.viruses) + D.spread = "Remissive" + D.stage-- + if(D.stage < 1) + D.cure() + +/datum/reagent/gold + name = "Gold" + id = "gold" + description = "Gold is a dense, soft, shiny metal and the most malleable and ductile metal known." + reagent_state = SOLID + color = "#F7C430" + +/datum/reagent/silver + name = "Silver" + id = "silver" + description = "A soft, white, lustrous transition metal, it has the highest electrical conductivity of any element and the highest thermal conductivity of any metal." + reagent_state = SOLID + color = "#D0D0D0" + +/datum/reagent/uranium + name ="Uranium" + id = "uranium" + description = "A silvery-white metallic chemical element in the actinide series, weakly radioactive." + reagent_state = SOLID + color = "#B8B8C0" + +/datum/reagent/uranium/affect_touch(var/mob/living/carbon/M, var/alien, var/removed, var/location) + affect_ingest(M, alien, removed) + +/datum/reagent/uranium/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + M.apply_effect(5 * removed, IRRADIATE, 0) + +/datum/reagent/uranium/touch_turf(var/turf/T) + if(volume >= 3) + if(!istype(T, /turf/space)) + var/obj/effect/decal/cleanable/greenglow/glow = locate(/obj/effect/decal/cleanable/greenglow, T) + if(!glow) + new /obj/effect/decal/cleanable/greenglow(T) + return + +/datum/reagent/adrenaline + name = "Adrenaline" + id = "adrenaline" + description = "Adrenaline is a hormone used as a drug to treat cardiac arrest and other cardiac dysrhythmias resulting in diminished or absent cardiac output." + reagent_state = LIQUID + color = "#C8A5DC" + +/datum/reagent/adrenaline/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(alien == IS_DIONA) + return + M.SetParalysis(0) + M.SetWeakened(0) + M.adjustToxLoss(rand(3)) + +/datum/reagent/water/holywater + name = "Holy Water" + id = "holywater" + description = "An ashen-obsidian-water mix, this solution will alter certain sections of the brain's rationality." + color = "#E0E8EF" + + glass_icon_state = "glass_clear" + glass_name = "glass of holy water" + glass_desc = "An ashen-obsidian-water mix, this solution will alter certain sections of the brain's rationality." + +/datum/reagent/water/holywater/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) + ..() + if(ishuman(M)) // Any location + if(M.mind && cult.is_antagonist(M.mind) && prob(10)) + cult.remove_antagonist(M.mind) + +/datum/reagent/ammonia + name = "Ammonia" + id = "ammonia" + description = "A caustic substance commonly used in fertilizer or household cleaners." + reagent_state = GAS + color = "#404030" + +/datum/reagent/diethylamine + name = "Diethylamine" + id = "diethylamine" + description = "A secondary amine, mildly corrosive." + reagent_state = LIQUID + color = "#604030" + +/datum/reagent/fluorosurfactant // Foam precursor + name = "Fluorosurfactant" + id = "fluorosurfactant" + description = "A perfluoronated sulfonic acid that forms a foam when mixed with water." + reagent_state = LIQUID + color = "#9E6B38" + +/datum/reagent/foaming_agent // Metal foaming agent. This is lithium hydride. Add other recipes (e.g. LiH + H2O -> LiOH + H2) eventually. + name = "Foaming agent" + id = "foaming_agent" + description = "A agent that yields metallic foam when mixed with light metal and a strong acid." + reagent_state = SOLID + color = "#664B63" + +/datum/reagent/thermite + name = "Thermite" + id = "thermite" + description = "Thermite produces an aluminothermic reaction known as a thermite reaction. Can be used to melt walls." + reagent_state = SOLID + color = "#673910" + touch_met = 50 + +/datum/reagent/thermite/touch_turf(var/turf/T) + if(volume >= 5) + if(istype(T, /turf/simulated/wall)) + var/turf/simulated/wall/W = T + W.thermite = 1 + W.overlays += image('icons/effects/effects.dmi',icon_state = "#673910") + remove_self(5) + return + +/datum/reagent/thermite/affect_touch(var/mob/living/carbon/M, var/alien, var/removed, var/location) + M.adjust_fire_stacks(removed * 0.2) + return + +/datum/reagent/thermite/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + M.adjustFireLoss(3 * removed) + +/datum/reagent/space_cleaner + name = "Space cleaner" + id = "cleaner" + description = "A compound used to clean things. Now with 50% more sodium hypochlorite!" + reagent_state = LIQUID + color = "#A5F0EE" + touch_met = 50 + +/datum/reagent/space_cleaner/touch_obj(var/obj/O) + if(istype(O, /obj/effect/decal/cleanable)) + qdel(O) + else + O.clean_blood() + +/datum/reagent/space_cleaner/touch_turf(var/turf/T) + if(volume >= 1) + if(istype(T, /turf/simulated)) + var/turf/simulated/S = T + S.dirt = 0 + T.clean_blood() + + for(var/mob/living/carbon/slime/M in T) + M.adjustToxLoss(rand(5, 10)) + +/datum/reagent/space_cleaner/affect_touch(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(M.r_hand) + M.r_hand.clean_blood() + if(M.l_hand) + M.l_hand.clean_blood() + if(M.wear_mask) + if(M.wear_mask.clean_blood()) + M.update_inv_wear_mask(0) + if(ishuman(M)) + var/mob/living/carbon/human/H = M + if(H.head) + if(H.head.clean_blood()) + H.update_inv_head(0) + if(H.wear_suit) + if(H.wear_suit.clean_blood()) + H.update_inv_wear_suit(0) + else if(H.w_uniform) + if(H.w_uniform.clean_blood()) + H.update_inv_w_uniform(0) + if(H.shoes) + if(H.shoes.clean_blood()) + H.update_inv_shoes(0) + else + H.clean_blood(1) + return + M.clean_blood() + +/datum/reagent/lube // TODO: spraying on borgs speeds them up + name = "Space Lube" + id = "lube" + description = "Lubricant is a substance introduced between two moving surfaces to reduce the friction and wear between them. giggity." + reagent_state = LIQUID + color = "#009CA8" + +/datum/reagent/lube/touch_turf(var/turf/simulated/T) + if(!istype(T)) + return + if(volume >= 1) + if(T.wet >= 2) + return + T.wet = 2 + spawn(800) + if(!T || !istype(T)) + return + T.wet = 0 + if(T.wet_overlay) + T.overlays -= T.wet_overlay + T.wet_overlay = null + +/datum/reagent/silicate + name = "Silicate" + id = "silicate" + description = "A compound that can be used to reinforce glass." + reagent_state = LIQUID + color = "#C7FFFF" + +/datum/reagent/silicate/touch_obj(var/obj/O) + if(istype(O, /obj/structure/window)) + var/obj/structure/window/W = O + W.apply_silicate(volume) + remove_self(volume) + return + +/datum/reagent/glycerol + name = "Glycerol" + id = "glycerol" + description = "Glycerol is a simple polyol compound. Glycerol is sweet-tasting and of low toxicity." + reagent_state = LIQUID + color = "#808080" + +/datum/reagent/nitroglycerin + name = "Nitroglycerin" + id = "nitroglycerin" + description = "Nitroglycerin is a heavy, colorless, oily, explosive liquid obtained by nitrating glycerol." + reagent_state = LIQUID + color = "#808080" + +/datum/reagent/coolant + name = "Coolant" + id = "coolant" + description = "Industrial cooling substance." + reagent_state = LIQUID + color = "#C8A5DC" + +/datum/reagent/ultraglue + name = "Ultra Glue" + id = "glue" + description = "An extremely powerful bonding agent." + color = "#FFFFCC" diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Toxins.dm b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Toxins.dm new file mode 100644 index 0000000000..a2ec160c17 --- /dev/null +++ b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Toxins.dm @@ -0,0 +1,516 @@ +/* Toxins, poisons, venoms */ +/datum/reagent/toxin + name = "Toxin" + id = "toxin" + description = "A toxic chemical." + reagent_state = LIQUID + color = "#CF3600" + metabolism = REM * 0.05 // 0.01 by default. They last a while and slowly kill you. + var/strength = 4 // How much damage it deals per unit + +/datum/reagent/toxin/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(strength && alien != IS_DIONA) + M.adjustToxLoss(strength * removed) + +/datum/reagent/toxin/plasticide + name = "Plasticide" + id = "plasticide" + description = "Liquid plastic, do not eat." + reagent_state = LIQUID + color = "#CF3600" + strength = 5 + +/datum/reagent/toxin/amatoxin + name = "Amatoxin" + id = "amatoxin" + description = "A powerful poison derived from certain species of mushroom." + reagent_state = LIQUID + color = "#792300" + strength = 10 + +/datum/reagent/toxin/carpotoxin + name = "Carpotoxin" + id = "carpotoxin" + description = "A deadly neurotoxin produced by the dreaded space carp." + reagent_state = LIQUID + color = "#003333" + strength = 10 + +/datum/reagent/toxin/phoron + name = "Phoron" + id = "phoron" + description = "Phoron in its liquid form." + reagent_state = LIQUID + color = "#9D14DB" + strength = 30 + +/datum/reagent/toxin/phoron/affect_touch(var/mob/living/carbon/M, var/alien, var/removed, var/location) + ..() + M.adjust_fire_stacks(removed / 5) + +/datum/reagent/toxin/phoron/touch_turf(var/turf/simulated/T) + if(!istype(T)) + return + T.assume_gas("volatile_fuel", volume, T20C) + remove_self(volume) + +/datum/reagent/toxin/cyanide //Fast and Lethal + name = "Cyanide" + id = "cyanide" + description = "A highly toxic chemical." + reagent_state = LIQUID + color = "#CF3600" + strength = 20 + metabolism = REM * 2 + +/datum/reagent/toxin/cyanide/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + ..() + M.adjustOxyLoss(20 * removed) + M.sleeping += 1 + +/datum/reagent/toxin/potassium_chloride + name = "Potassium Chloride" + id = "potassium_chloride" + description = "A delicious salt that stops the heart when injected into cardiac muscle." + reagent_state = SOLID + color = "#FFFFFF" + strength = 0 + overdose = REAGENTS_OVERDOSE + +/datum/reagent/toxin/potassium_chloride/overdose(var/mob/living/carbon/M, var/alien) + ..() + if(ishuman(M)) + var/mob/living/carbon/human/H = M + if(H.stat != 1) + if(H.losebreath >= 10) + H.losebreath = max(10, H.losebreath - 10) + H.adjustOxyLoss(2) + H.Weaken(10) + +/datum/reagent/toxin/potassium_chlorophoride + name = "Potassium Chlorophoride" + id = "potassium_chlorophoride" + description = "A specific chemical based on Potassium Chloride to stop the heart for surgery. Not safe to eat!" + reagent_state = SOLID + color = "#FFFFFF" + strength = 10 + overdose = 20 + +/datum/reagent/toxin/potassium_chlorophoride/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + ..() + if(ishuman(M)) + var/mob/living/carbon/human/H = M + if(H.stat != 1) + if(H.losebreath >= 10) + H.losebreath = max(10, M.losebreath-10) + H.adjustOxyLoss(2) + H.Weaken(10) + +/datum/reagent/toxin/zombiepowder + name = "Zombie Powder" + id = "zombiepowder" + description = "A strong neurotoxin that puts the subject into a death-like state." + reagent_state = SOLID + color = "#669900" + metabolism = REM + strength = 3 + +/datum/reagent/toxin/zombiepowder/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + ..() + if(alien == IS_DIONA) + return + M.status_flags |= FAKEDEATH + M.adjustOxyLoss(3 * removed) + M.Weaken(10) + M.silent = max(M.silent, 10) + M.tod = worldtime2text() + +/datum/reagent/toxin/zombiepowder/Destroy() + if(holder && holder.my_atom && ismob(holder.my_atom)) + var/mob/M = holder.my_atom + M.status_flags &= ~FAKEDEATH + ..() + +/datum/reagent/toxin/fertilizer //Reagents used for plant fertilizers. + name = "fertilizer" + id = "fertilizer" + description = "A chemical mix good for growing plants with." + reagent_state = LIQUID + strength = 0.5 // It's not THAT poisonous. + color = "#664330" + +/datum/reagent/toxin/fertilizer/eznutrient + name = "EZ Nutrient" + id = "eznutrient" + +/datum/reagent/toxin/fertilizer/left4zed + name = "Left-4-Zed" + id = "left4zed" + +/datum/reagent/toxin/fertilizer/robustharvest + name = "Robust Harvest" + id = "robustharvest" + +/datum/reagent/toxin/plantbgone + name = "Plant-B-Gone" + id = "plantbgone" + description = "A harmful toxic mixture to kill plantlife. Do not ingest!" + reagent_state = LIQUID + color = "#49002E" + strength = 4 + +/datum/reagent/toxin/plantbgone/touch_turf(var/turf/T) + if(istype(T, /turf/simulated/wall)) + var/turf/simulated/wall/W = T + if(W.rotting) + W.rotting = 0 + for(var/obj/effect/E in W) + if(E.name == "Wallrot") + qdel(E) + + W.visible_message("The fungi are completely dissolved by the solution!") + +/datum/reagent/toxin/plantbgone/touch_obj(var/obj/O, var/volume) + if(istype(O, /obj/effect/alien/weeds/)) + var/obj/effect/alien/weeds/alien_weeds = O + alien_weeds.health -= rand(15, 35) + alien_weeds.healthcheck() + else if(istype(O, /obj/effect/plant)) + qdel(O) + +/datum/reagent/toxin/plantbgone/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + ..() + if(alien == IS_DIONA) + M.adjustToxLoss(50 * removed) + +/datum/reagent/toxin/plantbgone/affect_touch(var/mob/living/carbon/M, var/alien, var/removed, var/location) + ..() + if(alien == IS_DIONA) + M.adjustToxLoss(50 * removed) + +/datum/reagent/acid/polyacid + name = "Polytrinic acid" + id = "pacid" + description = "Polytrinic acid is a an extremely corrosive chemical substance." + reagent_state = LIQUID + color = "#8E18A9" + power = 10 + meltdose = 4 + +/datum/reagent/lexorin + name = "Lexorin" + id = "lexorin" + description = "Lexorin temporarily stops respiration. Causes tissue damage." + reagent_state = LIQUID + color = "#C8A5DC" + overdose = REAGENTS_OVERDOSE + +/datum/reagent/lexorin/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(alien == IS_DIONA) + return + M.take_organ_damage(3 * removed, 0) + if(M.losebreath < 15) + M.losebreath++ + +/datum/reagent/mutagen + name = "Unstable mutagen" + id = "mutagen" + description = "Might cause unpredictable mutations. Keep away from children." + reagent_state = LIQUID + color = "#13BC5E" + +/datum/reagent/mutagen/affect_touch(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(prob(33)) + affect_blood(M, alien, removed) + +/datum/reagent/mutagen/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(prob(67)) + affect_blood(M, alien, removed) + +/datum/reagent/mutagen/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(M.dna) + if(prob(removed * 0.1)) // Approx. one mutation per 10 injected/20 ingested/30 touching units + randmuti(M) + if(prob(98)) + randmutb(M) + else + randmutg(M) + domutcheck(M, null) + M.UpdateAppearance() + M.apply_effect(10 * removed, IRRADIATE, 0) + +/datum/reagent/slimejelly + name = "Slime Jelly" + id = "slimejelly" + description = "A gooey semi-liquid produced from one of the deadliest lifeforms in existence. SO REAL." + reagent_state = LIQUID + color = "#801E28" + +/datum/reagent/slimejelly/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(alien == IS_DIONA) + return + if(prob(10)) + M << "Your insides are burning!" + M.adjustToxLoss(rand(100, 300) * removed) + else if(prob(40)) + M.heal_organ_damage(25 * removed, 0) + +/datum/reagent/soporific + name = "Soporific" + id = "stoxin" + description = "An effective hypnotic used to treat insomnia." + reagent_state = LIQUID + color = "#009CA8" + metabolism = REM * 0.5 + overdose = REAGENTS_OVERDOSE + +/datum/reagent/soporific/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(alien == IS_DIONA) + return + if(dose < 1) + if(dose == metabolism * 2 || prob(5)) + M.emote("yawn") + else if(dose < 1.5) + M.eye_blurry = max(M.eye_blurry, 10) + else if(dose < 5) + if(prob(50)) + M.Weaken(2) + M.drowsyness = max(M.drowsyness, 20) + else + M.sleeping = max(M.sleeping, 20) + M.drowsyness = max(M.drowsyness, 60) + +/datum/reagent/chloralhydrate + name = "Chloral Hydrate" + id = "chloralhydrate" + description = "A powerful sedative." + reagent_state = SOLID + color = "#000067" + metabolism = REM * 0.5 + overdose = REAGENTS_OVERDOSE * 0.5 + +/datum/reagent/chloralhydrate/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(alien == IS_DIONA) + return + if(dose == metabolism) + M.confused += 2 + M.drowsyness += 2 + else if(dose < 2) + M.Weaken(30) + M.eye_blurry = max(M.eye_blurry, 10) + else + M.sleeping = max(M.sleeping, 30) + + if(dose > 1) + M.adjustToxLoss(removed) + +/datum/reagent/chloralhydrate/beer2 //disguised as normal beer for use by emagged brobots + name = "Beer" + id = "beer2" + description = "An alcoholic beverage made from malted grains, hops, yeast, and water. The fermentation appears to be incomplete." //If the players manage to analyze this, they deserve to know something is wrong. + reagent_state = LIQUID + color = "#664300" + + glass_icon_state = "beerglass" + glass_name = "glass of beer" + glass_desc = "A freezing pint of beer" + glass_center_of_mass = list("x"=16, "y"=8) + +/* Drugs */ + +/datum/reagent/space_drugs + name = "Space drugs" + id = "space_drugs" + description = "An illegal chemical compound used as drug." + reagent_state = LIQUID + color = "#60A584" + metabolism = REM * 0.5 + overdose = REAGENTS_OVERDOSE + +/datum/reagent/space_drugs/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(alien == IS_DIONA) + return + M.druggy = max(M.druggy, 15) + if(prob(10) && isturf(M.loc) && !istype(M.loc, /turf/space) && M.canmove && !M.restrained()) + step(M, pick(cardinal)) + if(prob(7)) + M.emote(pick("twitch", "drool", "moan", "giggle")) + +/datum/reagent/serotrotium + name = "Serotrotium" + id = "serotrotium" + description = "A chemical compound that promotes concentrated production of the serotonin neurotransmitter in humans." + reagent_state = LIQUID + color = "#202040" + metabolism = REM * 0.25 + overdose = REAGENTS_OVERDOSE + +/datum/reagent/serotrotium/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(alien == IS_DIONA) + return + if(prob(7)) + M.emote(pick("twitch", "drool", "moan", "gasp")) + return + +/datum/reagent/cryptobiolin + name = "Cryptobiolin" + id = "cryptobiolin" + description = "Cryptobiolin causes confusion and dizzyness." + reagent_state = LIQUID + color = "#000055" + metabolism = REM * 0.5 + overdose = REAGENTS_OVERDOSE + +/datum/reagent/cryptobiolin/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(alien == IS_DIONA) + return + M.make_dizzy(4) + M.confused = max(M.confused, 20) + +/datum/reagent/impedrezene + name = "Impedrezene" + id = "impedrezene" + description = "Impedrezene is a narcotic that impedes one's ability by slowing down the higher brain cell functions." + reagent_state = LIQUID + color = "#C8A5DC" + overdose = REAGENTS_OVERDOSE + +/datum/reagent/impedrezene/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(alien == IS_DIONA) + return + M.jitteriness = max(M.jitteriness - 5, 0) + if(prob(80)) + M.adjustBrainLoss(3 * removed) + if(prob(50)) + M.drowsyness = max(M.drowsyness, 3) + if(prob(10)) + M.emote("drool") + +/datum/reagent/mindbreaker + name = "Mindbreaker Toxin" + id = "mindbreaker" + description = "A powerful hallucinogen, it can cause fatal effects in users." + reagent_state = LIQUID + color = "#B31008" + metabolism = REM * 0.25 + overdose = REAGENTS_OVERDOSE + +/datum/reagent/mindbreaker/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(alien == IS_DIONA) + return + M.hallucination = max(M.hallucination, 100) + +/datum/reagent/psilocybin + name = "Psilocybin" + id = "psilocybin" + description = "A strong psycotropic derived from certain species of mushroom." + color = "#E700E7" + overdose = REAGENTS_OVERDOSE + metabolism = REM * 0.5 + +/datum/reagent/psilocybin/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(alien == IS_DIONA) + return + M.druggy = max(M.druggy, 30) + if(dose < 1) + M.stuttering = max(M.stuttering, 3) + M.make_dizzy(5) + if(prob(10)) + M.emote(pick("twitch", "giggle")) + else if(dose < 2) + M.stuttering = max(M.stuttering, 3) + M.make_jittery(10) + M.make_dizzy(10) + M.druggy = max(M.druggy, 35) + if(prob(20)) + M.emote(pick("twitch","giggle")) + else + M.stuttering = max(M.stuttering, 3) + M.make_jittery(20) + M.make_dizzy(20) + M.druggy = max(M.druggy, 40) + if(prob(30)) + M.emote(pick("twitch", "giggle")) + +/datum/reagent/nicotine + name = "Nicotine" + id = "nicotine" + description = "A highly addictive stimulant extracted from the tobacco plant." + reagent_state = LIQUID + color = "#181818" + +/* Transformations */ + +/datum/reagent/slimetoxin + name = "Mutation Toxin" + id = "mutationtoxin" + description = "A corruptive toxin produced by slimes." + reagent_state = LIQUID + color = "#13BC5E" + +/datum/reagent/slimetoxin/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(ishuman(M)) + var/mob/living/carbon/human/H = M + if(H.species.name != "Slime") + M << "Your flesh rapidly mutates!" + H.set_species("Slime") + +/datum/reagent/aslimetoxin + name = "Advanced Mutation Toxin" + id = "amutationtoxin" + description = "An advanced corruptive toxin produced by slimes." + reagent_state = LIQUID + color = "#13BC5E" + +/datum/reagent/aslimetoxin/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) // TODO: check if there's similar code anywhere else + if(M.monkeyizing) + return + M << "Your flesh rapidly mutates!" + M.monkeyizing = 1 + M.canmove = 0 + M.icon = null + M.overlays.Cut() + M.invisibility = 101 + for(var/obj/item/W in M) + if(istype(W, /obj/item/weapon/implant)) //TODO: Carn. give implants a dropped() or something + qdel(W) + continue + W.layer = initial(W.layer) + W.loc = M.loc + W.dropped(M) + var/mob/living/carbon/slime/new_mob = new /mob/living/carbon/slime(M.loc) + new_mob.a_intent = "hurt" + new_mob.universal_speak = 1 + if(M.mind) + M.mind.transfer_to(new_mob) + else + new_mob.key = M.key + qdel(M) + +/datum/reagent/nanites + name = "Nanomachines" + id = "nanites" + description = "Microscopic construction robots." + reagent_state = LIQUID + color = "#535E66" + +/datum/reagent/nanites/affect_touch(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(prob(10)) + M.contract_disease(new /datum/disease/robotic_transformation(0), 1) + +/datum/reagent/nanites/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + M.contract_disease(new /datum/disease/robotic_transformation(0), 1) + +/datum/reagent/xenomicrobes + name = "Xenomicrobes" + id = "xenomicrobes" + description = "Microbes with an entirely alien cellular structure." + reagent_state = LIQUID + color = "#535E66" + +/datum/reagent/xenomicrobes/affect_touch(var/mob/living/carbon/M, var/alien, var/removed, var/location) + if(prob(10)) + M.contract_disease(new /datum/disease/xeno_transformation(0), 1) + +/datum/reagent/xenomicrobes/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/location) + M.contract_disease(new /datum/disease/xeno_transformation(0), 1) From fbede7a1931df4d093f048c5e73a89145ac2b2f2 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Tue, 28 Apr 2015 23:00:56 -0400 Subject: [PATCH 012/305] Minor ZAS-related cleanup --- code/ZAS/Atom.dm | 2 +- code/ZAS/Turf.dm | 7 +++++-- code/__HELPERS/unsorted.dm | 24 ------------------------ code/game/turfs/turf.dm | 12 +----------- 4 files changed, 7 insertions(+), 38 deletions(-) diff --git a/code/ZAS/Atom.dm b/code/ZAS/Atom.dm index 6f75f4ea29..e655295f78 100644 --- a/code/ZAS/Atom.dm +++ b/code/ZAS/Atom.dm @@ -50,7 +50,7 @@ atom/proc/c_airblock(turf/other) #ifdef ZASDBG ASSERT(isturf(other)) #endif - return !CanPass(null, other, 0, 0) + 2*!CanPass(null, other, 1.5, 1) + return (AIR_BLOCKED*!CanPass(null, other, 0, 0))|(ZONE_BLOCKED*!CanPass(null, other, 1.5, 1)) turf/c_airblock(turf/other) diff --git a/code/ZAS/Turf.dm b/code/ZAS/Turf.dm index 9d031ce3d3..1b770590e1 100644 --- a/code/ZAS/Turf.dm +++ b/code/ZAS/Turf.dm @@ -46,6 +46,7 @@ air_master.connect(sim, src) /turf/simulated/update_air_properties() + if(zone && zone.invalid) c_copy_air() zone = null //Easier than iterating through the list at the zone. @@ -120,8 +121,10 @@ //Might have assigned a zone, since this happens for each direction. if(!zone) - //if((block & ZONE_BLOCKED) || (r_block & ZONE_BLOCKED && !(s_block & ZONE_BLOCKED))) - if(((block & ZONE_BLOCKED) && !(r_block & ZONE_BLOCKED)) || (r_block & ZONE_BLOCKED && !(s_block & ZONE_BLOCKED))) + //We do not merge if + // they are blocking us and we are not blocking them, or if + // we are blocking them and not blocking ourselves - this prevents tiny zones from forming on doorways. + if(((block & ZONE_BLOCKED) && !(r_block & ZONE_BLOCKED)) || ((r_block & ZONE_BLOCKED) && !(s_block & ZONE_BLOCKED))) #ifdef ZASDBG if(verbose) world << "[d] is zone blocked." //dbg(zone_blocked, d) diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm index c65698933c..564910d3df 100644 --- a/code/__HELPERS/unsorted.dm +++ b/code/__HELPERS/unsorted.dm @@ -922,30 +922,6 @@ proc/anim(turf/location as turf,target as mob|obj,a_icon,a_icon_state as text,fl refined_trg -= B continue moving - var/list/doors = new/list() - - if(toupdate.len) - for(var/turf/simulated/T1 in toupdate) - for(var/obj/machinery/door/D2 in T1) - doors += D2 - /*if(T1.parent) - air_master.groups_to_rebuild += T1.parent - else - air_master.tiles_to_update += T1*/ - - if(fromupdate.len) - for(var/turf/simulated/T2 in fromupdate) - for(var/obj/machinery/door/D2 in T2) - doors += D2 - /*if(T2.parent) - air_master.groups_to_rebuild += T2.parent - else - air_master.tiles_to_update += T2*/ - - for(var/obj/O in doors) - O:update_nearby_tiles(1) - - proc/DuplicateObject(obj/original, var/perfectcopy = 0 , var/sameloc = 0) if(!original) diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index 29f425d4a3..5e8e5747c0 100644 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -227,12 +227,6 @@ if(S.zone) S.zone.rebuild() if(ispath(N, /turf/simulated/floor)) - //if the old turf had a zone, connect the new turf to it as well - Cael - //Adjusted by SkyMarshal 5/10/13 - The air master will handle the addition of the new turf. - //if(zone) - // zone.RemoveTurf(src) - // if(!zone.CheckStatus()) - // zone.SetStatus(ZONE_ACTIVE) var/turf/simulated/W = new N( locate(src.x, src.y, src.z) ) //W.Assimilate_Air() @@ -249,7 +243,7 @@ W.RemoveLattice() if(air_master) - air_master.mark_for_update(src) + air_master.mark_for_update(src) //handle the addition of the new turf. for(var/turf/space/S in range(W,1)) S.update_starlight() @@ -258,10 +252,6 @@ return W else - //if(zone) - // zone.RemoveTurf(src) - // if(!zone.CheckStatus()) - // zone.SetStatus(ZONE_ACTIVE) var/turf/W = new N( locate(src.x, src.y, src.z) ) W.lighting_lumcount += old_lumcount From 277103f1cdfb149c08925809a1f2a59f06065e36 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Tue, 28 Apr 2015 23:06:07 -0400 Subject: [PATCH 013/305] Fixes tiny door zones Fixes #8987 by deferring the update of self-zone-blocked turfs until after non-self-zone-block turfs have updated (and thus have valid zones). --- code/ZAS/Controller.dm | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/code/ZAS/Controller.dm b/code/ZAS/Controller.dm index 4ba30f47b3..d8cb87a740 100644 --- a/code/ZAS/Controller.dm +++ b/code/ZAS/Controller.dm @@ -154,7 +154,18 @@ Total Unsimulated Turfs: [world.maxx*world.maxy*world.maxz - simulated_turf_coun #ifdef ZASDBG var/updated = 0 #endif + + //defer updating of self-zone-blocked turfs until after all other turfs have been updated. + //this hopefully ensures that non-self-zone-blocked turfs adjacent to self-zone-blocked ones + //have valid zones when the self-zone-blocked turfs update. + var/list/deferred = list() + for(var/turf/T in updating) + //check if the turf is self-zone-blocked + if(T.c_airblock(T) & ZONE_BLOCKED) + deferred += T + continue + T.update_air_properties() T.post_update_air_properties() T.needs_air_update = 0 @@ -164,6 +175,15 @@ Total Unsimulated Turfs: [world.maxx*world.maxy*world.maxz - simulated_turf_coun #endif //sleep(1) + for(var/turf/T in deferred) + T.update_air_properties() + T.post_update_air_properties() + T.needs_air_update = 0 + #ifdef ZASDBG + T.overlays -= mark + updated++ + #endif + #ifdef ZASDBG if(updated != updating.len) tick_progress = "[updating.len - updated] tiles left unupdated." @@ -307,7 +327,7 @@ Total Unsimulated Turfs: [world.maxx*world.maxy*world.maxz - simulated_turf_coun /datum/controller/air_system/proc/mark_edge_sleeping(connection_edge/E) #ifdef ZASDBG - ASSERT(istype(E) + ASSERT(istype(E)) #endif if(E.sleeping) return active_edges.Remove(E) @@ -315,7 +335,7 @@ Total Unsimulated Turfs: [world.maxx*world.maxy*world.maxz - simulated_turf_coun /datum/controller/air_system/proc/mark_edge_active(connection_edge/E) #ifdef ZASDBG - ASSERT(istype(E) + ASSERT(istype(E)) #endif if(!E.sleeping) return active_edges.Add(E) From a80cb1b44eb481f08424c4a12a7fddda3e3546a3 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Wed, 29 Apr 2015 20:27:39 -0400 Subject: [PATCH 014/305] Fixes edges being lost when zones are merged --- code/ZAS/Zone.dm | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/code/ZAS/Zone.dm b/code/ZAS/Zone.dm index 7c9c5f32ed..7bb8afc8c5 100644 --- a/code/ZAS/Zone.dm +++ b/code/ZAS/Zone.dm @@ -105,6 +105,13 @@ Class Procs: #ifdef ZASDBG T.dbg(merged) #endif + + //rebuild the old zone's edges so that the will be possesed by the new zone + for(var/connection_edge/E in edges) + if(E.contains_zone(into)) + continue //don't need to rebuild this edge + for(var/turf/T in E.connecting_turfs) + air_master.mark_for_update(T) /zone/proc/c_invalidate() invalid = 1 From 03e88ca9a5475469b33123a5bbb0e4b37ff60bc8 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Wed, 29 Apr 2015 20:53:50 -0400 Subject: [PATCH 015/305] Updates locate(/obj/machinery/door/airlock) hack --- code/ZAS/Turf.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/ZAS/Turf.dm b/code/ZAS/Turf.dm index 1b770590e1..ab7360643f 100644 --- a/code/ZAS/Turf.dm +++ b/code/ZAS/Turf.dm @@ -59,7 +59,8 @@ #endif if(zone) var/zone/z = zone - if(locate(/obj/machinery/door/airlock) in src) //Hacky, but prevents normal airlocks from rebuilding zones all the time + + if(s_block & ZONE_BLOCKED) //Hacky, but prevents normal airlocks from rebuilding zones all the time z.remove(src) else z.rebuild() From 21291d79262389b5921e608e8c50ea424c40c81f Mon Sep 17 00:00:00 2001 From: mwerezak Date: Thu, 30 Apr 2015 00:50:50 -0400 Subject: [PATCH 016/305] Moves escape shuttle door control to a more visible location, rotates a couple of chairs. --- maps/exodus-2.dmm | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/maps/exodus-2.dmm b/maps/exodus-2.dmm index 0eb63301dc..b27adcaa5c 100644 --- a/maps/exodus-2.dmm +++ b/maps/exodus-2.dmm @@ -1388,7 +1388,7 @@ "AJ" = (/turf/unsimulated/floor{icon_state = "green"; dir = 8},/area/centcom/holding) "AK" = (/turf/unsimulated/wall{icon_state = "iron3"},/area/syndicate_mothership{name = "\improper Raider Base"}) "AL" = (/obj/structure/bed/chair/holochair,/turf/simulated/floor/holofloor{icon_state = "dark"},/area/holodeck/source_courtroom) -"AM" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) +"AM" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/extinguisher,/obj/machinery/camera/network/crescent{c_tag = "Shuttle Bridge West"},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) "AN" = (/obj/structure/window/reinforced/holowindow{dir = 1},/obj/structure/window/reinforced/holowindow{dir = 8},/obj/structure/table/woodentable/holotable,/turf/simulated/floor/holofloor{icon_state = "carpet6-2"; dir = 4},/area/holodeck/source_courtroom) "AO" = (/obj/machinery/door/window/holowindoor{name = "Red Team"},/turf/simulated/floor/holofloor{icon_state = "dark"},/area/holodeck/source_emptycourt) "AP" = (/turf/unsimulated/floor{icon_state = "green"; dir = 4},/area/centcom/holding) @@ -1441,7 +1441,7 @@ "BK" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/shuttle/floor,/area/shuttle/transport1/centcom) "BL" = (/obj/machinery/door/unpowered/shuttle,/turf/simulated/shuttle/floor,/area/shuttle/transport1/centcom) "BM" = (/obj/structure/bed,/obj/item/weapon/bedsheet/orange,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership{name = "\improper Raider Base"}) -"BN" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/extinguisher,/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "escape_shuttle"; pixel_x = 8; pixel_y = 25; req_one_access = list(13); tag_door = "escape_shuttle_hatch"},/obj/machinery/camera/network/crescent{c_tag = "Shuttle Bridge West"},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) +"BN" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "escape_shuttle"; pixel_x = 0; pixel_y = -25; req_one_access = list(13); tag_door = "escape_shuttle_hatch"},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) "BO" = (/obj/machinery/status_display{pixel_y = 30},/obj/structure/table,/obj/item/weapon/storage/firstaid/toxin,/obj/machinery/camera/network/crescent{c_tag = "Shuttle Bridge East"},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) "BP" = (/turf/unsimulated/floor{icon_state = "green"; dir = 10},/area/centcom/holding) "BQ" = (/obj/structure/bed/chair/office/dark,/obj/machinery/door_control{desc = "A remote control switch for port-side blast doors."; icon_state = "doorctrl0"; id = "CentComPort"; name = "Security Doors"; pixel_x = -12; pixel_y = -25; req_access = list(101)},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/holding) @@ -2041,7 +2041,6 @@ "Nm" = (/obj/machinery/computer/med_data,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) "Nn" = (/obj/machinery/door/airlock/hatch{frequency = 1331; icon_state = "door_locked"; id_tag = "vox_northeast_lock"; locked = 1; req_access = list(150)},/turf/simulated/shuttle/plating,/area/shuttle/skipjack/station) "No" = (/mob/living/simple_animal/crab,/turf/unsimulated/beach/sand{tag = "icon-desert3"; icon_state = "desert3"},/area/centcom/holding) -"Np" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) "Nq" = (/obj/machinery/hologram/holopad,/turf/unsimulated/floor{dir = 9; icon_state = "whitegreen"},/area/centcom/holding) "Nr" = (/obj/item/weapon/beach_ball,/turf/unsimulated/beach/sand{tag = "icon-desert_dug"; icon_state = "desert_dug"},/area/centcom/holding) "Ns" = (/obj/machinery/sleeper{icon_state = "sleeper_0-r"; orient = "RIGHT"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) @@ -2287,8 +2286,8 @@ mtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmt mumumumumumumumumumumuAnAnAnAnAnAoArArArAsAnAnAnAnAnAnAnAnAnAnAnmumumumumumumumtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMtvtvtvtvtvtvtvtvtvtvtvtvtvzAzBzBzAtvtvtvtvABxQxQyYyXtvzvzIzIzvzJzQDCzHCNApAfDCAqAFCNaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMzKururzLzLururzKaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM mumumumumumumumumumumuAnAnAnAnAnAKAZASBaAKAnAnAnAnAnAnAnAnAnAnAnmumumumumumumumtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMzMzNzNzNzNBvBvzNzNzPaMtvBzxQxQyYyXtvzvzwzwzvAGzQDCzHCNAJDCDCDCAPCNaMaMaMaMaMaMaMaMaMaMaMaMzRzSNaNaNazTzUaMaMaMaMaMtxzVururururzWtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM mumumumumumumumumumumuAnAnAnAnAnAKBMASASAKAnAnAnAnAnAnAnAnAnAnAnmumumumumumumumtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMzXzYzZAaBYAcAcAdCnzNzPtvtvxcxctvtvtvzvzvzvzvAQzQDCzHCNBcBbBcBdBcCNaMaMaMaMaMaMaMaMaMaMaMzRAiNiNjNkNlNmAlzUaMaMaMaMtxtxtxtxtxtxtxtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -mumumumumumumuAnAnAnArDEArDIAnDUDEArDIEpDWArArArArArAsAnAnAnAnAnmumumumumumumumtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMzXzYAmAcAcAcAcAcAcEsErwoxQxQxQxQxQxOzvBezvBezFzQDCBtBfAJDCBFDCBGCNaMaMaMaMaMaMaMaMaMaMzRAiBNAMADAvADNpBOAlzUaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -mumumumuAnAnAnAnFYFZASASASASASASASASASASASASASASASASAKAnAnAnAnAnmumumumumumumumtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMzXzYAxAyAzAzAzAzAzzNAAxPxQxQxQxQxQxczvBezvBezJzQDCBtBfBPDCBRBQBSCNaMaMaMaMaMaMaMaMaMaMACADADADADNcADADADADACaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +mumumumumumumuAnAnAnArDEArDIAnDUDEArDIEpDWArArArArArAsAnAnAnAnAnmumumumumumumumtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMzXzYAmAcAcAcAcAcAcEsErwoxQxQxQxQxQxOzvBezvBezFzQDCBtBfAJDCBFDCBGCNaMaMaMaMaMaMaMaMaMaMzRAiAMAvADAvADAvBOAlzUaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +mumumumuAnAnAnAnFYFZASASASASASASASASASASASASASASASASAKAnAnAnAnAnmumumumumumumumtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMzXzYAxAyAzAzAzAzAzzNAAxPxQxQxQxQxQxczvBezvBezJzQDCBtBfBPDCBRBQBSCNaMaMaMaMaMaMaMaMaMaMACADADADBNNcADADADADACaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM mumumumuAnAnASHkFYHkASASASASASASASASASASASASASASASASHmIJIIAnAnAnmumumumumumumumtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAEzNzNzNzNzNzNzNzNAAaMxkxQxQxQxQxQtvzvBezvBeAGCeCdCfCNBcCgCiChBcCNaMaMaMaMaMaMaMaMaMaMAtADBuNhNeNgNeNfCrADAtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM mumumumuAnAnFYHkFYAnAnAnDUArArAsEpDUArILDIEpISASASASEpIUITAnAnAnmumumumumumumumtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHCNCNCNCNCNCNCNCNCNCjDCDCCkAPCNCNCNaMaMaMaMaMaMaMaMAtIVACATARAUARATACIVAtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM mumumumuAnFYFYAnAnAnAnAnAnAnAnAKASASBMAKIWASAKASASASEpIUIXAnAnISmumumumumumumumtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAVAWAWAWAWAWAWAWAWAWAWAWAWAWAXAYIYJaClCmCmCmCmCmCNDyCoCpDCDCCuAPCoDyCNaMaMaMaMaMaMaMaMAtADCrAtMQCvMUAtBuADAtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM From 40f0901e3db8a6f7e05d8eb44a02621e1a5cf101 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Thu, 30 Apr 2015 09:35:57 +0200 Subject: [PATCH 017/305] Fixes #9037. Just one of many potential qdel issues. More to come, yay. --- code/controllers/Processes/garbage.dm | 2 +- code/modules/projectiles/projectile.dm | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/code/controllers/Processes/garbage.dm b/code/controllers/Processes/garbage.dm index 7180008ddb..3743e74881 100644 --- a/code/controllers/Processes/garbage.dm +++ b/code/controllers/Processes/garbage.dm @@ -18,7 +18,7 @@ var/list/delayed_garbage = list() /datum/controller/process/garbage_collector/setup() name = "garbage" - schedule_interval = 6 SECONDS + schedule_interval = 2 SECONDS if(!garbage_collector) garbage_collector = src diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index 1a52045159..8f24273eb2 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -35,7 +35,7 @@ var/accuracy = 0 var/dispersion = 0.0 - + var/damage = 10 var/damage_type = BRUTE //BRUTE, BURN, TOX, OXY, CLONE are the only things that should be in here var/nodamage = 0 //Determines if the projectile will skip any damage inflictions @@ -103,7 +103,7 @@ p_x = text2num(mouse_control["icon-x"]) if(mouse_control["icon-y"]) p_y = text2num(mouse_control["icon-y"]) - + //randomize clickpoint a bit based on dispersion if(dispersion) var/radius = round((dispersion*0.443)*world.icon_size*0.8) //0.443 = sqrt(pi)/4 = 2a, where a is the side length of a square that shares the same area as a circle with diameter = dispersion @@ -274,7 +274,7 @@ //plot the initial trajectory setup_trajectory() - spawn while(src) + spawn while(src && src.loc) if(kill_count-- < 1) on_impact(src.loc) //for any final impact behaviours qdel(src) @@ -304,8 +304,8 @@ if(!bumped && !isturf(original)) if(loc == get_turf(original)) if(!(original in permutated)) - Bump(original) - + if(Bump(original)) + return if(!hitscan) sleep(step_delay) //add delay between movement iterations if it's not a hitscan weapon @@ -325,7 +325,7 @@ // plot the initial trajectory trajectory = new() trajectory.setup(starting, original, pixel_x, pixel_y, angle_offset=offset) - + // generate this now since all visual effects the projectile makes can use it effect_transform = new() effect_transform.Scale(trajectory.return_hypotenuse(), 1) From 82a8f32783ee1c870b2bb4f039ff9aaa9f7c45d8 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Thu, 30 Apr 2015 09:45:50 +0200 Subject: [PATCH 018/305] Admins can now toggle LOOC separately from OOC. Also includes what I image to be proper permission checks for toggling the various OOC channels. --- code/controllers/configuration.dm | 2 ++ code/game/verbs/ooc.dm | 4 +-- code/modules/admin/admin.dm | 31 ++++++++++++++++++-- code/modules/admin/admin_verbs.dm | 1 + html/changelogs/PsiOmegaDelta-LOOCToggle.yml | 5 ++++ html/changelogs/PsiOmegaDelta.yml | 3 -- 6 files changed, 39 insertions(+), 7 deletions(-) create mode 100644 html/changelogs/PsiOmegaDelta-LOOCToggle.yml delete mode 100644 html/changelogs/PsiOmegaDelta.yml diff --git a/code/controllers/configuration.dm b/code/controllers/configuration.dm index e92d323062..171080fb32 100644 --- a/code/controllers/configuration.dm +++ b/code/controllers/configuration.dm @@ -185,6 +185,7 @@ var/list/gamemode_cache = list() var/ninjas_allowed = 0 var/abandon_allowed = 1 var/ooc_allowed = 1 + var/looc_allowed = 1 var/dooc_allowed = 1 var/dsay_allowed = 1 @@ -398,6 +399,7 @@ var/list/gamemode_cache = list() if ("disable_ooc") config.ooc_allowed = 0 + config.looc_allowed = 0 if ("disable_entry") config.enter_allowed = 0 diff --git a/code/game/verbs/ooc.dm b/code/game/verbs/ooc.dm index 92b0638b9f..82fef02e97 100644 --- a/code/game/verbs/ooc.dm +++ b/code/game/verbs/ooc.dm @@ -85,8 +85,8 @@ return if(!holder) - if(!config.ooc_allowed) - src << "OOC is globally muted." + if(!config.looc_allowed) + src << "LOOC is globally muted." return if(!config.dooc_allowed && (mob.stat == DEAD)) usr << "OOC for dead mobs has been turned off." diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index 7b5a4558cf..b42313261d 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -747,20 +747,43 @@ var/global/floorIsLava = 0 set category = "Server" set desc="Globally Toggles OOC" set name="Toggle OOC" + + if(!check_rights(R_ADMIN)) + return + config.ooc_allowed = !(config.ooc_allowed) if (config.ooc_allowed) world << "The OOC channel has been globally enabled!" else world << "The OOC channel has been globally disabled!" - log_admin("[key_name(usr)] toggled OOC.") - message_admins("[key_name_admin(usr)] toggled OOC.", 1) + log_and_message_admins("toggled OOC.") feedback_add_details("admin_verb","TOOC") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! +/datum/admins/proc/togglelooc() + set category = "Server" + set desc="Globally Toggles LOOC" + set name="Toggle LOOC" + + if(!check_rights(R_ADMIN)) + return + + config.looc_allowed = !(config.looc_allowed) + if (config.looc_allowed) + world << "The LOOC channel has been globally enabled!" + else + world << "The LOOC channel has been globally disabled!" + log_and_message_admins("toggled LOOC.") + feedback_add_details("admin_verb","TLOOC") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + /datum/admins/proc/toggledsay() set category = "Server" set desc="Globally Toggles DSAY" set name="Toggle DSAY" + + if(!check_rights(R_ADMIN)) + return + config.dsay_allowed = !(config.dsay_allowed) if (config.dsay_allowed) world << "Deadchat has been globally enabled!" @@ -774,6 +797,10 @@ var/global/floorIsLava = 0 set category = "Server" set desc="Toggle Dead OOC." set name="Toggle Dead OOC" + + if(!check_rights(R_ADMIN)) + return + config.dooc_allowed = !( config.dooc_allowed ) log_admin("[key_name(usr)] toggled Dead OOC.") message_admins("[key_name_admin(usr)] toggled Dead OOC.", 1) diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index f5bf7af81d..d495bacecb 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -58,6 +58,7 @@ var/list/admin_verbs_admin = list( /client/proc/investigate_show, /*various admintools for investigation. Such as a singulo grief-log*/ /client/proc/secrets, /datum/admins/proc/toggleooc, /*toggles ooc on/off for everyone*/ + /datum/admins/proc/togglelooc, /*toggles looc on/off for everyone*/ /datum/admins/proc/toggleoocdead, /*toggles ooc on/off for everyone who is dead*/ /datum/admins/proc/toggledsay, /*toggles dsay on/off for everyone*/ /client/proc/game_panel, /*game panel, allows to change game-mode etc*/ diff --git a/html/changelogs/PsiOmegaDelta-LOOCToggle.yml b/html/changelogs/PsiOmegaDelta-LOOCToggle.yml new file mode 100644 index 0000000000..d81a4b7fe2 --- /dev/null +++ b/html/changelogs/PsiOmegaDelta-LOOCToggle.yml @@ -0,0 +1,5 @@ +author: PsiOmegaDelta +delete-after: True +changes: + - rscadd: "Admins can now toggle OOC/LOOC separately." + \ No newline at end of file diff --git a/html/changelogs/PsiOmegaDelta.yml b/html/changelogs/PsiOmegaDelta.yml deleted file mode 100644 index 6fdea55f54..0000000000 --- a/html/changelogs/PsiOmegaDelta.yml +++ /dev/null @@ -1,3 +0,0 @@ -author: PsiOmegaDelta -changes: [] -delete-after: false From a49e6035a9ca96442e058f2764c15504da6b5c73 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Thu, 30 Apr 2015 10:02:24 +0200 Subject: [PATCH 019/305] Fixes #9029. Reduces the announcement message delay for spiders from 800-900 seconds to 180-300 seconds. Number of spiders now based on severity, with a moderate level event spawning as many spiders as before. --- code/modules/events/spider_infestation.dm | 9 ++++----- html/changelogs/PsiOmegaDelta-ChitterChitter.yml | 4 ++++ html/changelogs/PsiOmegaDelta.yml | 3 --- 3 files changed, 8 insertions(+), 8 deletions(-) create mode 100644 html/changelogs/PsiOmegaDelta-ChitterChitter.yml delete mode 100644 html/changelogs/PsiOmegaDelta.yml diff --git a/code/modules/events/spider_infestation.dm b/code/modules/events/spider_infestation.dm index d96e4fb54c..52c3fdf048 100644 --- a/code/modules/events/spider_infestation.dm +++ b/code/modules/events/spider_infestation.dm @@ -1,14 +1,13 @@ /var/global/sent_spiders_to_station = 0 /datum/event/spider_infestation - announceWhen = 400 - + announceWhen = 90 var/spawncount = 1 /datum/event/spider_infestation/setup() - announceWhen = rand(announceWhen, announceWhen + 50) - spawncount = rand(8, 12) //spiderlings only have a 50% chance to grow big and strong + announceWhen = rand(announceWhen, announceWhen + 60) + spawncount = rand(4 * severity, 6 * severity) //spiderlings only have a 50% chance to grow big and strong sent_spiders_to_station = 0 /datum/event/spider_infestation/announce() @@ -26,4 +25,4 @@ var/obj/vent = pick(vents) new /obj/effect/spider/spiderling(vent.loc) vents -= vent - spawncount-- \ No newline at end of file + spawncount-- diff --git a/html/changelogs/PsiOmegaDelta-ChitterChitter.yml b/html/changelogs/PsiOmegaDelta-ChitterChitter.yml new file mode 100644 index 0000000000..8f07219c91 --- /dev/null +++ b/html/changelogs/PsiOmegaDelta-ChitterChitter.yml @@ -0,0 +1,4 @@ +author: PsiOmegaDelta +changes: + - tweak: "The spider infestation event now makes an announcement much sooner." +delete-after: false diff --git a/html/changelogs/PsiOmegaDelta.yml b/html/changelogs/PsiOmegaDelta.yml deleted file mode 100644 index 6fdea55f54..0000000000 --- a/html/changelogs/PsiOmegaDelta.yml +++ /dev/null @@ -1,3 +0,0 @@ -author: PsiOmegaDelta -changes: [] -delete-after: false From 990b7b81a8bd9728453754103615076dbb3df5c1 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Thu, 30 Apr 2015 14:37:52 +0200 Subject: [PATCH 020/305] Another potential qdel sanity check. --- code/modules/projectiles/gun.dm | 56 ++++++++++++++++----------------- 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index bb9c5516d9..0349020e38 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -1,12 +1,12 @@ /* Defines a firing mode for a gun. - + burst number of shots fired when the gun is used burst_delay tick delay between shots in a burst fire_delay tick delay after the last shot before the gun may be used again move_delay tick delay after the last shot before the player may move dispersion dispersion of each shot in the burst measured in tiles per 7 tiles angle ratio - accuracy accuracy modifier applied to each shot in tiles. + accuracy accuracy modifier applied to each shot in tiles. applied on top of the base weapon accuracy. */ /datum/firemode @@ -18,7 +18,7 @@ var/list/accuracy = list(0) var/list/dispersion = list(0) -//using a list makes defining fire modes for new guns much nicer, +//using a list makes defining fire modes for new guns much nicer, //however we convert the lists to datums in part so that firemodes can be VVed if necessary. /datum/firemode/New(list/properties = null) ..() @@ -65,7 +65,7 @@ var/sel_mode = 1 //index of the currently selected mode var/list/firemodes = list() var/firemode_type = /datum/firemode //for subtypes that need custom firemode data - + //aiming system stuff var/keep_aim = 1 //1 for keep shooting until aim is lowered //0 for one bullet after tarrget moves and aim is lowered @@ -82,7 +82,7 @@ else for(var/i in 1 to firemodes.len) firemodes[i] = new firemode_type(firemodes[i]) - + if(isnull(scoped_accuracy)) scoped_accuracy = accuracy @@ -94,9 +94,9 @@ return 0 if(!user.IsAdvancedToolUser()) return 0 - + var/mob/living/M = user - + if(HULK in M.mutations) M << "Your fingers are much too large for the trigger guard!" return 0 @@ -106,7 +106,7 @@ if(process_projectile(P, user, user, pick("l_foot", "r_foot"))) handle_post_fire(user, user) user.visible_message( - "[user] shoots \himself in the foot with \the [src]!", + "[user] shoots \himself in the foot with \the [src]!", "You shoot yourself in the foot with \the [src]!" ) M.drop_item() @@ -159,7 +159,7 @@ if (world.time % 3) //to prevent spam user << "[src] is not ready to fire again!" return - + //unpack firemode data var/datum/firemode/firemode = firemodes[sel_mode] var/_burst = firemode.burst @@ -179,27 +179,27 @@ if(!projectile) handle_click_empty(user) break - + var/acc = firemode.accuracy[min(i, firemode.accuracy.len)] var/disp = firemode.dispersion[min(i, firemode.dispersion.len)] process_accuracy(projectile, user, target, acc, disp) - - if(pointblank) + + if(pointblank) process_point_blank(projectile, user, target) - + if(process_projectile(projectile, user, target, user.zone_sel.selecting, clickparams)) handle_post_fire(user, target, pointblank, reflex) update_icon() - + if(i < _burst) sleep(_burst_delay) - - if(!target) + + if(!(target && target.loc)) target = targloc pointblank = 0 - + update_held_icon() - + //update timing user.next_move = world.time + 4 if(user.client) user.client.move_delay = world.time + _move_delay @@ -213,7 +213,7 @@ /obj/item/weapon/gun/proc/can_hit(atom/target as mob, var/mob/living/user as mob) if(!special_check(user)) return 2 - //just assume we can shoot through glass and stuff. No big deal, the player can just choose to not target someone + //just assume we can shoot through glass and stuff. No big deal, the player can just choose to not target someone //on the other side of a window if it makes a difference. Or if they run behind a window, too bad. return check_trajectory(target, user) @@ -231,7 +231,7 @@ playsound(user, fire_sound, 10, 1) else playsound(user, fire_sound, 50, 1) - + if(reflex) user.visible_message( "\The [user] fires \the [src][pointblank ? " point blank at \the [target]":""] by reflex!", @@ -244,7 +244,7 @@ "You fire \the [src]!", "You hear a [fire_sound_text]!" ) - + if(recoil) spawn() shake_camera(user, recoil+1, recoil) @@ -258,7 +258,7 @@ //default point blank multiplier var/damage_mult = 1.3 - + //determine multiplier due to the target being grabbed if(ismob(target)) var/mob/M = target @@ -276,11 +276,11 @@ var/obj/item/projectile/P = projectile if(!istype(P)) return //default behaviour only applies to true projectiles - + //Accuracy modifiers P.accuracy = accuracy + acc_mod P.dispersion = dispersion - + //accuracy bonus from aiming if (aim_targets && (target in aim_targets)) //If you aim at someone beforehead, it'll hit more often. @@ -293,10 +293,10 @@ var/obj/item/projectile/P = projectile if(!istype(P)) return 0 //default behaviour only applies to true projectiles - + if(params) P.set_clickpoint(params) - + //shooting while in shock var/x_offset = 0 var/y_offset = 0 @@ -317,7 +317,7 @@ if(!ishuman(user)) return var/mob/living/carbon/human/M = user - + mouthshoot = 1 M.visible_message("\red [user] sticks their gun in their mouth, ready to pull the trigger...") if(!do_after(user, 40)) @@ -357,7 +357,7 @@ var/zoom_offset = round(world.view * zoom_amount) var/view_size = round(world.view + zoom_amount) var/scoped_accuracy_mod = zoom_offset - + zoom(zoom_offset, view_size) if(zoom) accuracy = scoped_accuracy + scoped_accuracy_mod From 904efa322fda9e0f4c93b7cd36a0a19ed82b0c39 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Thu, 30 Apr 2015 17:55:11 +0200 Subject: [PATCH 021/305] Breaks up the remote door control button into subtypes, depending on what is remotely controlled. Also ensures that the door button respects cut wires, etc. --- code/game/machinery/door_control.dm | 160 +++++++++++-------- code/game/machinery/doors/airlock.dm | 44 +++-- code/game/objects/items/weapons/cards_ids.dm | 2 +- 3 files changed, 122 insertions(+), 84 deletions(-) diff --git a/code/game/machinery/door_control.dm b/code/game/machinery/door_control.dm index 928dda2541..30eff9661d 100644 --- a/code/game/machinery/door_control.dm +++ b/code/game/machinery/door_control.dm @@ -2,26 +2,13 @@ #define CONTROL_NORMAL_DOORS 1 #define CONTROL_EMITTERS 2 -/obj/machinery/door_control - name = "remote door-control" - desc = "It controls doors, remotely." +/obj/machinery/button/remote + name = "remote object control" + desc = "It controls objects, remotely." icon = 'icons/obj/stationobjs.dmi' icon_state = "doorctrl0" - desc = "A remote control-switch for a door." power_channel = ENVIRON - var/id = null - var/normaldoorcontrol = CONTROL_POD_DOORS - var/desiredstate = 0 // Zero is closed, 1 is open. - var/specialfunctions = 1 - /* - Bitflag, 1= open - 2= idscan, - 4= bolts - 8= shock - 16= door safties - - */ - + var/desiredstate = 0 var/exposedwires = 0 var/wires = 3 /* @@ -34,14 +21,13 @@ idle_power_usage = 2 active_power_usage = 4 - -/obj/machinery/door_control/attack_ai(mob/user as mob) +/obj/machinery/button/remote/attack_ai(mob/user as mob) if(wires & 2) return src.attack_hand(user) else user << "Error, no route to host." -/obj/machinery/door_control/attackby(obj/item/weapon/W, mob/user as mob) +/obj/machinery/button/remote/attackby(obj/item/weapon/W, mob/user as mob) /* For later implementation if (istype(W, /obj/item/weapon/screwdriver)) { @@ -64,7 +50,56 @@ playsound(src.loc, "sparks", 100, 1) return src.attack_hand(user) -/obj/machinery/door_control/proc/handle_door() +/obj/machinery/button/remote/attack_hand(mob/user as mob) + if(..()) + return + + src.add_fingerprint(user) + if(stat & (NOPOWER|BROKEN)) + return + + if(!allowed(user) && (wires & 1)) + user << "Access Denied" + flick("doorctrl-denied",src) + return + + use_power(5) + icon_state = "doorctrl1" + trigger() + desiredstate = !desiredstate + spawn(15) + update_icon() + +/obj/machinery/button/remote/proc/trigger() + return + +/obj/machinery/button/remote/power_change() + ..() + update_icon() + +/obj/machinery/button/remote/update_icon() + if(stat & NOPOWER) + icon_state = "doorctrl-p" + else + icon_state = "doorctrl0" + +/* + Airlock remote control +*/ +/obj/machinery/button/remote/airlock + name = "remote door-control" + desc = "It controls doors, remotely." + + var/specialfunctions = 1 + /* + Bitflag, 1= open + 2= idscan, + 4= bolts + 8= shock + 16= door safties + */ + +/obj/machinery/button/remote/airlock/trigger() for(var/obj/machinery/door/airlock/D in world) if(D.id_tag == src.id) if(specialfunctions & OPEN) @@ -78,24 +113,31 @@ return if(desiredstate == 1) if(specialfunctions & IDSCAN) - D.aiDisabledIdScanner = 1 + D.set_idscan(0) if(specialfunctions & BOLTS) D.lock() if(specialfunctions & SHOCK) D.electrify(-1) if(specialfunctions & SAFE) - D.safe = 0 + D.set_safeties(0) else if(specialfunctions & IDSCAN) - D.aiDisabledIdScanner = 0 + D.set_idscan(1) if(specialfunctions & BOLTS) D.unlock() if(specialfunctions & SHOCK) D.electrify(0) if(specialfunctions & SAFE) - D.safe = 1 + D.set_safeties(1) -/obj/machinery/door_control/proc/handle_pod() +/* + Blast door remote control +*/ +/obj/machinery/button/remote/blast_door + name = "remote blast door-control" + desc = "It controls blast doors, remotely." + +/obj/machinery/button/remote/blast_door/trigger() for(var/obj/machinery/door/blast/M in world) if(M.id == src.id) if(M.density) @@ -107,59 +149,35 @@ M.close() return -/obj/machinery/door_control/proc/handle_emitters(mob/user as mob) +/* + Emitter remote control +*/ +/obj/machinery/button/remote/emitter + name = "remote emitter control" + desc = "It controls emitters, remotely." + +/obj/machinery/button/remote/emitter/trigger(mob/user as mob) for(var/obj/machinery/power/emitter/E in world) if(E.id == src.id) spawn(0) E.activate(user) return -/obj/machinery/door_control/attack_hand(mob/user as mob) - src.add_fingerprint(user) - if(stat & (NOPOWER|BROKEN)) - return - - if(!allowed(user) && (wires & 1)) - user << "\red Access Denied" - flick("doorctrl-denied",src) - return - - use_power(5) - icon_state = "doorctrl1" - add_fingerprint(user) - - switch(normaldoorcontrol) - if(CONTROL_NORMAL_DOORS) - handle_door() - if(CONTROL_POD_DOORS) - handle_pod() - if(CONTROL_EMITTERS) - handle_emitters(user) - - desiredstate = !desiredstate - spawn(15) - if(!(stat & NOPOWER)) - icon_state = "doorctrl0" - -/obj/machinery/door_control/power_change() - ..() - if(stat & NOPOWER) - icon_state = "doorctrl-p" - else - icon_state = "doorctrl0" - -/obj/machinery/button/driver +/* + Mass driver remote control +*/ +/obj/machinery/button/remote/driver name = "mass driver button" desc = "A remote control switch for a mass driver." + icon = 'icons/obj/objects.dmi' + icon_state = "launcherbtt" -/obj/machinery/button/driver/attack_hand(mob/user as mob) +/obj/machinery/button/remote/driver/trigger(mob/user as mob) if(..()) return - use_power(5) - active = 1 - icon_state = "launcheract" + update_icon() for(var/obj/machinery/door/blast/M in machines) if (M.id == src.id) @@ -177,11 +195,17 @@ for(var/obj/machinery/door/blast/M in machines) if (M.id == src.id) - spawn( 0 ) + spawn(0) M.close() return icon_state = "launcherbtt" - active = 0 + update_icon() return + +/obj/machinery/button/remote/driver/update_icon() + if(!active || (stat & NOPOWER)) + icon_state = "launcherbtt" + else + icon_state = "launcheract" diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index 08c9c89ccc..86d1fedb04 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -421,6 +421,33 @@ About the new airlock wires panel: if(feedback && message) usr << message +/obj/machinery/door/airlock/proc/set_idscan(var/activate, var/feedback = 0) + var/message = "" + if(src.isWireCut(AIRLOCK_WIRE_IDSCAN)) + message = "The IdScan wire has been cut - IdScan feature permanently disabled." + else if(activate && src.aiDisabledIdScanner) + src.aiDisabledIdScanner = 0 + message = "IdScan feature has been enabled." + else if(!activate && !src.aiDisabledIdScanner) + src.aiDisabledIdScanner = 1 + message = "IdScan feature has been disabled." + + if(feedback && message) + usr << message + +/obj/machinery/door/airlock/proc/set_safeties(var/activate, var/feedback = 0) + var/message = "" + // Safeties! We don't need no stinking safeties! + if (src.isWireCut(AIRLOCK_WIRE_SAFETY)) + usr << text("The safety wire is cut - Cannot secure the door.") + else if (!activate && src.safe) + safe = 0 + else if (activate && !src.safe) + safe = 1 + + if(feedback && message) + usr << message + // shock user with probability prb (if all connections & power are working) // returns 1 if shocked, 0 otherwise // The preceding comment was borrowed from the grille's shock script @@ -637,14 +664,7 @@ About the new airlock wires panel: var/activate = text2num(href_list["activate"]) switch (href_list["command"]) if("idscan") - if(src.isWireCut(AIRLOCK_WIRE_IDSCAN)) - usr << "The IdScan wire has been cut - IdScan feature permanently disabled." - else if(activate && src.aiDisabledIdScanner) - src.aiDisabledIdScanner = 0 - usr << "IdScan feature has been enabled." - else if(!activate && !src.aiDisabledIdScanner) - src.aiDisabledIdScanner = 1 - usr << "IdScan feature has been disabled." + set_idscan(activate, 1) if("main_power") if(!main_power_lost_until) src.loseMainPower() @@ -672,13 +692,7 @@ About the new airlock wires panel: else if(!activate && !density) close() if("safeties") - // Safeties! We don't need no stinking safeties! - if (src.isWireCut(AIRLOCK_WIRE_SAFETY)) - usr << text("The safety wire is cut - Cannot secure the door.") - else if (activate && src.safe) - safe = 0 - else if (!activate && !src.safe) - safe = 1 + set_safeties(!activate, 1) if("timing") // Door speed control if(src.isWireCut(AIRLOCK_WIRE_SPEED)) diff --git a/code/game/objects/items/weapons/cards_ids.dm b/code/game/objects/items/weapons/cards_ids.dm index e0ea864eee..92d97e3d5d 100644 --- a/code/game/objects/items/weapons/cards_ids.dm +++ b/code/game/objects/items/weapons/cards_ids.dm @@ -92,7 +92,7 @@ /obj/machinery/shield_gen, /obj/machinery/clonepod, /obj/machinery/deployable, - /obj/machinery/door_control, + /obj/machinery/button/remote, /obj/machinery/porta_turret, /obj/machinery/shieldgen, /obj/machinery/turretid, From 9c8446ea1c91b72aaff75778db38a9dbe3793401 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Thu, 30 Apr 2015 18:26:44 +0200 Subject: [PATCH 022/305] Updates maps to use the new paths. --- maps/exodus-1.dmm | 144 +++++++++++++++++++++++----------------------- maps/exodus-2.dmm | 16 +++--- maps/exodus-5.dmm | 20 +++---- 3 files changed, 90 insertions(+), 90 deletions(-) diff --git a/maps/exodus-1.dmm b/maps/exodus-1.dmm index 0a05f5be56..ee4b16614d 100644 --- a/maps/exodus-1.dmm +++ b/maps/exodus-1.dmm @@ -208,7 +208,7 @@ "adZ" = (/turf/simulated/floor{dir = 2; icon_state = "redcorner"},/area/security/main) "aea" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/security/main) "aeb" = (/obj/machinery/hologram/holopad,/turf/simulated/floor,/area/security/main) -"aec" = (/obj/machinery/door_control{id = "Armoury"; name = "Armoury Access"; pixel_x = -1; pixel_y = -28; req_access = list(3)},/turf/simulated/floor{icon_state = "dark"},/area/security/armoury) +"aec" = (/obj/machinery/button/remote/blast_door{id = "Armoury"; name = "Armoury Access"; pixel_x = -1; pixel_y = -28; req_access = list(3)},/turf/simulated/floor{icon_state = "dark"},/area/security/armoury) "aed" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{dir = 2; icon_state = "redcorner"},/area/security/main) "aee" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'INTERNALS REQUIRED'."; name = "INTERNALS REQUIRED"; pixel_x = 32; pixel_y = 32},/turf/simulated/floor/plating,/area/maintenance/security_starboard) "aef" = (/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/door/airlock/glass_security{name = "Briefing Room"; req_access = list(63)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/security/main) @@ -233,7 +233,7 @@ "aey" = (/obj/machinery/portable_atmospherics/powered/scrubber,/turf/simulated/floor/plating,/area/maintenance/security_port) "aez" = (/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/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor{icon_state = "dark"},/area/security/armoury) "aeA" = (/obj/machinery/deployable/barrier,/turf/simulated/floor{icon_state = "delivery"},/area/security/warden) -"aeB" = (/obj/machinery/door_control{id = "Armoury"; name = "Emergency Access"; pixel_x = -28; pixel_y = 4; req_access = list(3)},/turf/simulated/floor,/area/security/main) +"aeB" = (/obj/machinery/button/remote/blast_door{id = "Armoury"; name = "Emergency Access"; pixel_x = -28; pixel_y = 4; req_access = list(3)},/turf/simulated/floor,/area/security/main) "aeC" = (/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{dir = 1; icon_state = "warning"},/area/security/warden) "aeD" = (/obj/structure/closet/l3closet/security,/obj/structure/sign/securearea{name = "\improper ARMORY"; pixel_y = 32},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/security/warden) "aeE" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/closet/bombclosetsecurity,/obj/machinery/firealarm{pixel_y = 27},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/security/warden) @@ -479,7 +479,7 @@ "ajk" = (/obj/structure/table/rack,/obj/item/weapon/storage/toolbox/mechanical,/obj/item/weapon/storage/belt/utility,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/camera/xray/security{c_tag = "Security Escape Pod"; dir = 8},/turf/simulated/floor/plating,/area/maintenance/security_starboard) "ajl" = (/obj/machinery/light/small{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/security_port) "ajm" = (/obj/structure/grille,/obj/structure/disposalpipe/segment,/obj/structure/cable/green,/obj/structure/window/reinforced/polarized{dir = 8},/obj/structure/window/reinforced/polarized,/obj/structure/window/reinforced/polarized{dir = 4},/turf/simulated/floor/plating,/area/crew_quarters/heads/hos) -"ajn" = (/obj/structure/bed/chair/comfy/black{dir = 1},/obj/effect/landmark/start{name = "Head of Security"},/obj/machinery/door_control{id = "HoSdoor"; name = "Office Door"; normaldoorcontrol = 1; pixel_x = -36; pixel_y = 29},/obj/machinery/button/windowtint{pixel_x = -26; pixel_y = 30},/obj/machinery/door_control{id = "Secure Gate"; name = "Brig Lockdown"; pixel_x = -36; pixel_y = 39; req_access = list(2)},/turf/simulated/floor{icon_state = "dark"},/area/crew_quarters/heads/hos) +"ajn" = (/obj/structure/bed/chair/comfy/black{dir = 1},/obj/effect/landmark/start{name = "Head of Security"},/obj/machinery/button/remote/airlock{id = "HoSdoor"; name = "Office Door"; pixel_x = -36; pixel_y = 29},/obj/machinery/button/windowtint{pixel_x = -26; pixel_y = 30},/obj/machinery/button/remote/blast_door{id = "Secure Gate"; name = "Brig Lockdown"; pixel_x = -36; pixel_y = 39; req_access = list(2)},/turf/simulated/floor{icon_state = "dark"},/area/crew_quarters/heads/hos) "ajo" = (/obj/structure/table,/obj/item/weapon/folder/red{pixel_x = 2; pixel_y = 4},/obj/item/weapon/pen,/obj/item/weapon/hand_labeler,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/camera/network/security{c_tag = "Security - Evidence Storage"; dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/security/brig) "ajp" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/security/brig) "ajq" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/security/brig) @@ -566,7 +566,7 @@ "akT" = (/obj/structure/disposalpipe/segment,/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{dir = 4},/turf/simulated/floor/carpet,/area/security/detectives_office) "akU" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/carpet,/area/security/detectives_office) "akV" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/structure/extinguisher_cabinet{pixel_x = 5; pixel_y = -29},/turf/simulated/floor{icon_state = "dark"},/area/crew_quarters/heads/hos) -"akW" = (/obj/structure/table/woodentable,/obj/machinery/door_control{id = "detdoor"; name = "Office Door"; normaldoorcontrol = 1},/obj/item/weapon/handcuffs,/obj/item/device/flash,/turf/simulated/floor/carpet,/area/security/detectives_office) +"akW" = (/obj/structure/table/woodentable,/obj/machinery/button/remote/airlock{id = "detdoor"; name = "Office Door"},/obj/item/weapon/handcuffs,/obj/item/device/flash,/turf/simulated/floor/carpet,/area/security/detectives_office) "akX" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/button/flasher{id = "permflash"; name = "Brig flashes"; pixel_x = 0; pixel_y = -27; tag = "permflash"},/turf/simulated/floor,/area/security/brig) "akY" = (/obj/structure/closet/secure_closet/detective,/obj/item/weapon/reagent_containers/food/drinks/flask/detflask,/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office) "akZ" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating,/area/maintenance/security_starboard) @@ -587,7 +587,7 @@ "alo" = (/obj/machinery/door/blast/regular{id = "Cell 1"; name = "Cell Door"},/turf/simulated/floor,/area/security/prison) "alp" = (/obj/structure/window/reinforced{dir = 1},/obj/machinery/computer/secure_data,/turf/simulated/floor{icon_state = "red"; dir = 9},/area/security/brig) "alq" = (/obj/machinery/door/airlock/maintenance{name = "Firefighting equipment"; req_access = list(12)},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/security_starboard) -"alr" = (/obj/machinery/door_control{id = "Cell 3"; name = "Cell 3 Door"; pixel_x = -1; pixel_y = -28; req_access = list(2)},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor,/area/security/brig) +"alr" = (/obj/machinery/button/remote/blast_door{id = "Cell 3"; name = "Cell 3 Door"; pixel_x = -1; pixel_y = -28; req_access = list(2)},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor,/area/security/brig) "als" = (/obj/structure/window/reinforced{dir = 1},/obj/machinery/computer/security,/turf/simulated/floor{icon_state = "red"; dir = 5},/area/security/brig) "alt" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/security/brig) "alu" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/security/brig) @@ -636,7 +636,7 @@ "aml" = (/obj/structure/disposalpipe/trunk,/obj/machinery/disposal,/turf/simulated/floor{icon_state = "cult"; dir = 2},/area/lawoffice) "amm" = (/obj/structure/closet/lawcloset,/obj/item/clothing/glasses/sunglasses/big,/turf/simulated/floor{icon_state = "cult"; dir = 2},/area/lawoffice) "amn" = (/obj/item/weapon/storage/secure/safe{pixel_x = -23},/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/green,/obj/item/device/taperecorder{pixel_x = -4; pixel_y = 2},/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office) -"amo" = (/obj/structure/disposalpipe/segment,/obj/structure/table/woodentable,/obj/machinery/door_control{id = "detdoor"; name = "Office Door"; normaldoorcontrol = 1},/obj/item/clothing/glasses/sunglasses,/turf/simulated/floor/carpet,/area/security/detectives_office) +"amo" = (/obj/structure/disposalpipe/segment,/obj/structure/table/woodentable,/obj/machinery/button/remote/airlock{id = "detdoor"; name = "Office Door"},/obj/item/clothing/glasses/sunglasses,/turf/simulated/floor/carpet,/area/security/detectives_office) "amp" = (/obj/structure/table/woodentable,/obj/item/ashtray/bronze,/obj/item/weapon/storage/fancy/cigarettes/dromedaryco,/obj/item/device/flash,/obj/item/weapon/handcuffs,/turf/simulated/floor/carpet,/area/security/detectives_office) "amq" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/carpet,/area/security/detectives_office) "amr" = (/obj/item/weapon/storage/secure/safe{pixel_x = 35; pixel_y = 5},/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office) @@ -661,9 +661,9 @@ "amK" = (/obj/machinery/flasher{id = "permentryflash"; name = "Floor mounted flash"; pixel_x = 0},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/security/prison) "amL" = (/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{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/prison) "amM" = (/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/door/airlock/security{name = "Riot Control"; req_access = list(2)},/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor,/area/security/brig) -"amN" = (/obj/structure/bed/chair/office/dark{dir = 4},/obj/machinery/door_control{desc = "A remote control switch for the brig foyer."; id = "BrigFoyer"; name = "Brig Foyer Doors"; normaldoorcontrol = 1; pixel_x = 28; pixel_y = -15},/turf/simulated/floor,/area/security/brig) +"amN" = (/obj/structure/bed/chair/office/dark{dir = 4},/obj/machinery/button/remote/airlock{desc = "A remote control switch for the brig foyer."; id = "BrigFoyer"; name = "Brig Foyer Doors"; pixel_x = 28; pixel_y = -15},/turf/simulated/floor,/area/security/brig) "amO" = (/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/door/window/brigdoor{base_state = "rightsecure"; dir = 8; icon_state = "rightsecure"; req_access = list(2)},/obj/structure/table/reinforced,/turf/simulated/floor,/area/security/brig) -"amP" = (/obj/structure/bed/chair/office/dark{dir = 8},/obj/machinery/door_control{id = "prisonentry"; name = "Entry Doors"; normaldoorcontrol = 1; pixel_x = -6; pixel_y = 24; req_access = list(2)},/obj/machinery/door_control{id = "prisonexit"; name = "Exit Doors"; normaldoorcontrol = 1; pixel_x = 6; pixel_y = 24; req_access = list(2)},/obj/machinery/button/flasher{id = "permentryflash"; name = "entry flash"; pixel_x = -26; pixel_y = 6; req_access = list(2)},/turf/simulated/floor,/area/security/brig) +"amP" = (/obj/structure/bed/chair/office/dark{dir = 8},/obj/machinery/button/remote/airlock{id = "prisonentry"; name = "Entry Doors"; pixel_x = -6; pixel_y = 24; req_access = list(2)},/obj/machinery/button/remote/blast_door{id = "prisonexit"; name = "Exit Doors"; pixel_x = 6; pixel_y = 24; req_access = list(2)},/obj/machinery/button/flasher{id = "permentryflash"; name = "entry flash"; pixel_x = -26; pixel_y = 6; req_access = list(2)},/turf/simulated/floor,/area/security/brig) "amQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/computer/security/telescreen{desc = "Big Brother is watching."; name = "Brig Monitor"; network = list("Prison"); pixel_x = -3; pixel_y = -33},/turf/simulated/floor,/area/security/brig) "amR" = (/obj/machinery/flasher{id = "Cell 3"; pixel_x = -28; pixel_y = 0},/obj/structure/bed,/turf/simulated/floor{icon_state = "red"},/area/security/prison) "amS" = (/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/door/window/southright{dir = 4},/obj/structure/table/reinforced,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor,/area/security/lobby) @@ -688,7 +688,7 @@ "anl" = (/obj/structure/closet/secure_closet/brig{id = "Cell 3"; name = "Cell 3 Locker"},/obj/machinery/camera/network/prison{c_tag = "Security - Brig Cell 3"; dir = 8},/turf/simulated/floor{icon_state = "red"},/area/security/prison) "anm" = (/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/door/window/brigdoor{dir = 8; req_access = list(2)},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/structure/table/reinforced,/turf/simulated/floor,/area/security/brig) "ann" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/computer/security/telescreen{desc = "Big Brother is watching."; name = "Brig Monitor"; network = list("Prison"); pixel_x = 3; pixel_y = -33},/obj/machinery/computer/station_alert/security,/turf/simulated/floor,/area/security/brig) -"ano" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/button/flasher{id = "permflash"; name = "Brig flashes"; pixel_x = -6; pixel_y = -24; req_access = list(2); tag = "permflash"},/obj/machinery/door_control{id = "brigobs"; name = "observation shutters"; pixel_x = 6; pixel_y = -24},/obj/machinery/door_control{id = "Secure Gate"; name = "Brig Lockdown"; pixel_x = -26; pixel_y = -4; req_access = list(2)},/turf/simulated/floor,/area/security/brig) +"ano" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/button/flasher{id = "permflash"; name = "Brig flashes"; pixel_x = -6; pixel_y = -24; req_access = list(2); tag = "permflash"},/obj/machinery/button/remote/blast_door{id = "brigobs"; name = "observation shutters"; pixel_x = 6; pixel_y = -24},/obj/machinery/button/remote/blast_door{id = "Secure Gate"; name = "Brig Lockdown"; pixel_x = -26; pixel_y = -4; req_access = list(2)},/turf/simulated/floor,/area/security/brig) "anp" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/structure/disposalpipe/trunk,/obj/machinery/disposal,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/camera/network/security{c_tag = "Security - Prison Observation"; dir = 1},/turf/simulated/floor,/area/security/brig) "anq" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; 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/plating/airless,/area/solar/auxstarboard) "anr" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"; tag = "icon-intact-f (SOUTHWEST)"},/obj/structure/disposalpipe/trunk{dir = 4},/obj/structure/disposaloutlet,/turf/simulated/wall,/area/security/prison) @@ -777,7 +777,7 @@ "aoW" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "lawyer_blast"; name = "Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/lawoffice) "aoX" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating/airless,/area/solar/auxport) "aoY" = (/obj/structure/cable/yellow,/turf/simulated/floor/plating/airless,/area/solar/auxstarboard) -"aoZ" = (/obj/machinery/door_control{id = "Cell 2"; name = "Cell 2 Door"; pixel_x = 30; pixel_y = 1; req_access = list(2)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/security/brig) +"aoZ" = (/obj/machinery/button/remote/blast_door{id = "Cell 2"; name = "Cell 2 Door"; pixel_x = 30; pixel_y = 1; req_access = list(2)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/security/brig) "apa" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/evahallway) "apb" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/evahallway) "apc" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/plating,/area/security/brig) @@ -871,7 +871,7 @@ "aqM" = (/obj/machinery/power/tracker,/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating/airless,/area/solar/fore) "aqN" = (/obj/structure/bed/chair{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/security/lobby) "aqO" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/security/lobby) -"aqP" = (/obj/machinery/door_control{id = "visitdoor"; name = "Visitation Access"; normaldoorcontrol = 1; pixel_y = -28},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/security/lobby) +"aqP" = (/obj/machinery/button/remote/airlock{id = "visitdoor"; name = "Visitation Access"; pixel_y = -28},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/security/lobby) "aqQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/security/lobby) "aqR" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/junction/yjunction,/turf/simulated/floor,/area/security/lobby) "aqS" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/security/lobby) @@ -913,7 +913,7 @@ "arC" = (/obj/machinery/embedded_controller/radio/airlock/airlock_controller{frequency = 1379; id_tag = "dorm_airlock"; name = "Dormitory Airlock Console"; pixel_x = 25; pixel_y = 0; req_one_access = list(1,5,11,18,24); tag_airpump = "dorm_pump"; tag_chamber_sensor = "dorm_sensor"; tag_exterior_door = "dorm_outer"; tag_interior_door = "dorm_inner"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 6},/area/maintenance/dormitory) "arD" = (/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/plating/airless,/area/solar/fore) "arE" = (/turf/simulated/wall,/area/hallway/primary/fore) -"arF" = (/obj/structure/closet{name = "Evidence Closet"},/obj/machinery/door_control{id = "lawyer_blast"; name = "Privacy Shutters"; pixel_y = -25},/obj/item/device/taperecorder{pixel_x = -4; pixel_y = 2},/obj/item/device/camera{pixel_x = 3; pixel_y = -4},/obj/item/device/flash,/obj/item/device/flash,/obj/item/weapon/storage/secure/briefcase,/turf/simulated/floor{icon_state = "cult"; dir = 2},/area/lawoffice) +"arF" = (/obj/structure/closet{name = "Evidence Closet"},/obj/machinery/button/remote/blast_door{id = "lawyer_blast"; name = "Privacy Shutters"; pixel_y = -25},/obj/item/device/taperecorder{pixel_x = -4; pixel_y = 2},/obj/item/device/camera{pixel_x = 3; pixel_y = -4},/obj/item/device/flash,/obj/item/device/flash,/obj/item/weapon/storage/secure/briefcase,/turf/simulated/floor{icon_state = "cult"; dir = 2},/area/lawoffice) "arG" = (/obj/structure/filingcabinet/chestdrawer,/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor{icon_state = "cult"; dir = 2},/area/lawoffice) "arH" = (/obj/item/weapon/stool,/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/camera/network/security{c_tag = "Security - Solitary Confinement South"},/turf/simulated/floor/plating,/area/security/brig) "arI" = (/obj/structure/disposalpipe/segment,/turf/simulated/wall/r_wall,/area/security/detectives_office) @@ -922,7 +922,7 @@ "arL" = (/turf/simulated/floor/wood{icon_state = "wood-broken4"},/area/maintenance/dormitory) "arM" = (/obj/structure/bed/chair{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/security/lobby) "arN" = (/obj/machinery/vending/cigarette,/turf/simulated/floor/wood,/area/maintenance/dormitory) -"arO" = (/obj/machinery/door_control{id = "Cell 1"; name = "Cell 1 Door"; pixel_x = 30; pixel_y = 1; req_access = list(2)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/security/brig) +"arO" = (/obj/machinery/button/remote/blast_door{id = "Cell 1"; name = "Cell 1 Door"; pixel_x = 30; pixel_y = 1; req_access = list(2)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/security/brig) "arP" = (/obj/structure/closet/secure_closet/brig{id = "Cell 2"; name = "Cell 2 Locker"},/obj/machinery/camera/network/prison{c_tag = "Security - Brig Cell 1"},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/prison) "arQ" = (/obj/structure/bed/chair/office/dark,/obj/effect/landmark/start{name = "Internal Affairs Agent"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "cult"; dir = 2},/area/lawoffice) "arR" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/security/brig) @@ -994,7 +994,7 @@ "atf" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/maintenance/dormitory) "atg" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) "ath" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor,/area/security/prison) -"ati" = (/obj/machinery/button/flasher{id = "IAflash"; pixel_y = -30},/obj/machinery/door_control{id = "visit_blast"; name = "Privacy Shutters"; pixel_x = 25; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor,/area/security/prison) +"ati" = (/obj/machinery/button/flasher{id = "IAflash"; pixel_y = -30},/obj/machinery/button/remote/blast_door{id = "visit_blast"; name = "Privacy Shutters"; pixel_x = 25; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor,/area/security/prison) "atj" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/crew_quarters/fitness) "atk" = (/turf/simulated/shuttle/wall{icon_state = "swall_s6"; dir = 2},/area/shuttle/escape_pod1/station) "atl" = (/obj/structure/window/shuttle,/obj/structure/grille,/turf/simulated/shuttle/plating,/area/shuttle/escape_pod1/station) @@ -1777,7 +1777,7 @@ "aIi" = (/obj/structure/closet/wardrobe/chaplain_black,/obj/item/device/radio/intercom{pixel_y = 25},/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office) "aIj" = (/obj/machinery/light/small{dir = 1},/obj/machinery/requests_console{department = "Chapel"; departmentType = 2; pixel_y = 30},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office) "aIk" = (/obj/machinery/door/airlock/maintenance{name = "Chapel Maintenance"; req_one_access = list(12,22)},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/chapel/main) -"aIl" = (/obj/machinery/door_control{id = "chapel"; name = "Privacy Shutters"; pixel_y = 25},/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office) +"aIl" = (/obj/machinery/button/remote/blast_door{id = "chapel"; name = "Privacy Shutters"; pixel_y = 25},/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office) "aIm" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/glass/rag,/obj/structure/noticeboard{pixel_x = -30; pixel_y = 0},/obj/machinery/door/blast/shutters{dir = 2; id = "bar"; layer = 3.1; name = "Bar Shutters"},/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar) "aIn" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/camera/network/security{c_tag = "Security - Arrival Checkpoint"; dir = 1},/turf/simulated/floor{icon_state = "red"; dir = 10},/area/security/checkpoint2) "aIo" = (/turf/simulated/floor{icon_state = "dark"},/area/chapel/main) @@ -1845,7 +1845,7 @@ "aJy" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/bar) "aJz" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/bar) "aJA" = (/obj/effect/landmark/start{name = "Chaplain"},/obj/structure/bed/chair,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office) -"aJB" = (/obj/machinery/button/driver{id = "chapelgun"; name = "Chapel Mass Driver"; pixel_x = 25},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main) +"aJB" = (/obj/machinery/button/remote/driver{id = "chapelgun"; name = "Chapel Mass Driver"; pixel_x = 25},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main) "aJC" = (/obj/machinery/light/small{dir = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/dormitory) "aJD" = (/obj/structure/table/reinforced,/obj/item/device/radio/intercom{freerange = 1; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 28},/obj/item/weapon/packageWrap,/obj/item/weapon/hand_labeler,/obj/item/weapon/reagent_containers/spray/cleaner{desc = "Someone has crossed out the 'Space' from Space Cleaner and written in Chemistry. Scrawled on the back is, 'Okay, whoever filled this with polytrinic acid, it was only funny the first time. It was hard enough replacing the CMO's first cat!'"; name = "Chemistry Cleaner"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) "aJE" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/sleep/engi_wash) @@ -2092,7 +2092,7 @@ "aOl" = (/obj/structure/extinguisher_cabinet{pixel_x = 5; pixel_y = 30},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/hallway/primary/central_two) "aOm" = (/obj/machinery/alarm{pixel_y = 23},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/hallway/primary/central_two) "aOn" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor,/area/hallway/primary/central_two) -"aOo" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/obj/machinery/door_control{id = "bar"; name = "Bar Shutters"; pixel_y = 25; throw_range = 15},/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar) +"aOo" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/obj/machinery/button/remote/blast_door{id = "bar"; name = "Bar Shutters"; pixel_y = 25},/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar) "aOp" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/table/reinforced,/obj/item/weapon/book/manual/barman_recipes,/obj/item/clothing/head/that{pixel_x = 4; pixel_y = 6},/obj/item/weapon/screwdriver,/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar) "aOq" = (/obj/machinery/door/window/eastright{name = "Hydroponics Delivery"; icon_state = "right"; dir = 2; req_access = list(35)},/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics) "aOr" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar) @@ -2636,7 +2636,7 @@ "aYJ" = (/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/security/vacantoffice) "aYK" = (/obj/structure/table,/obj/structure/window/basic{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/security/vacantoffice) "aYL" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/turf/simulated/floor,/area/security/vacantoffice) -"aYM" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door_control{id = "office_shutter"; name = "Office Shutters"; pixel_x = -8; pixel_y = 22; throw_range = 15},/obj/machinery/light_switch{pixel_x = -8; pixel_y = 32},/turf/simulated/floor,/area/security/vacantoffice) +"aYM" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/button/remote/blast_door{id = "office_shutter"; name = "Office Shutters"; pixel_x = -8; pixel_y = 22},/obj/machinery/light_switch{pixel_x = -8; pixel_y = 32},/turf/simulated/floor,/area/security/vacantoffice) "aYN" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/hand_labeler,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor,/area/security/vacantoffice) "aYO" = (/turf/simulated/wall,/area/security/vacantoffice) "aYP" = (/obj/structure/closet/crate,/obj/item/clothing/mask/gas,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/locker) @@ -2748,7 +2748,7 @@ "baR" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/bridge) "baS" = (/obj/machinery/power/sensor{name = "Powernet Sensor - AI Subgrid"; name_tag = "AI Subgrid"},/obj/structure/cable/cyan{d2 = 8; icon_state = "0-8"},/obj/structure/cable/cyan{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) "baT" = (/obj/machinery/light,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/bridge) -"baU" = (/obj/machinery/door_control{id = "bridge blast"; name = "Bridge Blast Door Control"; pixel_x = 6; pixel_y = -24; req_access = list(19)},/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/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/light_switch{pixel_x = -5; pixel_y = -23},/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/bridge) +"baU" = (/obj/machinery/button/remote/blast_door{id = "bridge blast"; name = "Bridge Blast Door Control"; pixel_x = 6; pixel_y = -24; req_access = list(19)},/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/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/light_switch{pixel_x = -5; pixel_y = -23},/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/bridge) "baV" = (/obj/structure/closet/fireaxecabinet{pixel_y = -32},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/camera/network/command{c_tag = "Bridge Center"; dir = 1},/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/bridge) "baW" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_dock_north_inner"; locked = 1; name = "Escape Airlock"; req_access = list(13)},/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/machinery/mech_sensor{dir = 8; frequency = 1380; id_tag = "escape_dock_north_mech"; pixel_y = -19},/turf/simulated/floor/plating,/area/hallway/secondary/exit) "baX" = (/obj/machinery/requests_console{announcementConsole = 1; department = "Bridge"; departmentType = 5; name = "Bridge RC"; pixel_y = -30},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/bridge) @@ -2953,7 +2953,7 @@ "beO" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/hallway/secondary/entry/aft) "beP" = (/obj/structure/closet/emcloset,/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/hallway/secondary/entry/aft) "beQ" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor{icon_state = "warningcorner"; dir = 4},/area/hallway/secondary/entry/aft) -"beR" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/door_control{id = "kitchen"; name = "Kitchen Shutters Control"; pixel_x = -1; pixel_y = -24; req_access = list(28)},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) +"beR" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/button/remote/blast_door{id = "kitchen"; name = "Kitchen Shutters Control"; pixel_x = -1; pixel_y = -24; req_access = list(28)},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) "beS" = (/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating/airless,/area/solar/auxport) "beT" = (/obj/structure/table,/obj/item/weapon/folder/yellow,/turf/simulated/floor,/area/security/vacantoffice) "beU" = (/obj/machinery/firealarm{dir = 2; pixel_y = -24},/obj/machinery/light,/turf/simulated/floor,/area/security/vacantoffice) @@ -2976,7 +2976,7 @@ "bfl" = (/obj/machinery/conveyor_switch/oneway{id = "packageSort2"},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/quartermaster/office) "bfm" = (/turf/simulated/wall,/area/quartermaster/office) "bfn" = (/obj/machinery/photocopier,/turf/simulated/floor/wood,/area/bridge/meeting_room) -"bfo" = (/obj/machinery/door_control{id = "heads_meeting"; name = "Security Shutters"; pixel_x = 0; pixel_y = 24},/turf/simulated/floor/wood,/area/bridge/meeting_room) +"bfo" = (/obj/machinery/button/remote/blast_door{id = "heads_meeting"; name = "Security Shutters"; pixel_x = 0; pixel_y = 24},/turf/simulated/floor/wood,/area/bridge/meeting_room) "bfp" = (/obj/machinery/newscaster{pixel_y = 32},/obj/machinery/light{dir = 1},/turf/simulated/floor/wood,/area/bridge/meeting_room) "bfq" = (/obj/machinery/door/airlock/maintenance{name = "Cargo Bay Warehouse Maintenance"; req_access = list(31)},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/quartermaster/storage) "bfr" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/wood,/area/bridge/meeting_room) @@ -3261,7 +3261,7 @@ "bkK" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "heads_meeting"; name = "Meeting Room Window Shutters"; opacity = 0},/obj/structure/cable/green,/turf/simulated/floor/plating,/area/bridge/meeting_room) "bkL" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/command{name = "Conference Room"; req_access = list(19)},/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/door/firedoor/border_only,/turf/simulated/floor,/area/maintenance/substation/command) "bkM" = (/obj/machinery/door/window{dir = 4; name = "AI Core Door"; req_access = list(16)},/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) -"bkN" = (/obj/item/device/radio/intercom{anyai = 1; broadcasting = 0; freerange = 1; frequency = 1447; name = "Private Channel"; pixel_x = 28; pixel_y = 5},/obj/item/device/radio/intercom{anyai = 1; freerange = 1; listening = 0; name = "Custom Channel"; pixel_x = -27; pixel_y = 4},/obj/effect/landmark/start{name = "AI"},/obj/item/device/radio/intercom{broadcasting = 1; freerange = 1; listening = 1; name = "Common Channel"; pixel_y = 25},/obj/machinery/newscaster/security_unit{pixel_x = 32; pixel_y = 32},/obj/machinery/requests_console{department = "AI"; departmentType = 5; pixel_x = -32; pixel_y = 32},/obj/structure/cable/cyan{d2 = 2; icon_state = "0-2"},/obj/machinery/door_control{desc = "A remote control-switch for the AI core maintenance door."; id = "AICore"; name = "AI Maintenance Hatch"; pixel_x = 17; pixel_y = 25; req_access = list(109)},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) +"bkN" = (/obj/item/device/radio/intercom{anyai = 1; broadcasting = 0; freerange = 1; frequency = 1447; name = "Private Channel"; pixel_x = 28; pixel_y = 5},/obj/item/device/radio/intercom{anyai = 1; freerange = 1; listening = 0; name = "Custom Channel"; pixel_x = -27; pixel_y = 4},/obj/effect/landmark/start{name = "AI"},/obj/item/device/radio/intercom{broadcasting = 1; freerange = 1; listening = 1; name = "Common Channel"; pixel_y = 25},/obj/machinery/newscaster/security_unit{pixel_x = 32; pixel_y = 32},/obj/machinery/requests_console{department = "AI"; departmentType = 5; pixel_x = -32; pixel_y = 32},/obj/structure/cable/cyan{d2 = 2; icon_state = "0-2"},/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for the AI core maintenance door."; id = "AICore"; name = "AI Maintenance Hatch"; pixel_x = 17; pixel_y = 25; req_access = list(109)},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) "bkO" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/power/apc/high{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green,/turf/simulated/floor,/area/hallway/secondary/entry/aft) "bkP" = (/obj/machinery/door/window{base_state = "right"; dir = 8; icon_state = "right"; name = "AI Core Door"; req_access = list(16)},/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/bluegrid,/area/turret_protected/ai) "bkQ" = (/obj/machinery/conveyor{dir = 4; id = "garbage"},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/maintenance/disposal) @@ -3375,7 +3375,7 @@ "bmU" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/camera/network/civilian_west{c_tag = "Locker Room Toilets"; dir = 8},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/locker/locker_toilet) "bmV" = (/obj/machinery/door/window{dir = 2; name = "AI Core Door"; req_access = list(109)},/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/cyan{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/flasher{id = "AI"; pixel_x = 22; pixel_y = 24},/obj/machinery/turretid/stun{check_synth = 1; name = "AI Chamber turret control"; pixel_x = 36; pixel_y = 24},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) "bmW" = (/obj/structure/table/reinforced,/obj/item/stack/sheet/mineral/phoron,/obj/item/stack/sheet/mineral/phoron,/obj/item/stack/sheet/mineral/phoron,/obj/item/stack/sheet/mineral/phoron,/obj/item/stack/sheet/mineral/phoron,/obj/item/stack/sheet/mineral/phoron,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) -"bmX" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/structure/table/reinforced,/obj/machinery/door_control{id = "chemcounter"; name = "Pharmacy Counter Lockdown Control"; pixel_y = 25},/obj/machinery/reagentgrinder,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) +"bmX" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/structure/table/reinforced,/obj/machinery/button/remote/blast_door{id = "chemcounter"; name = "Pharmacy Counter Lockdown Control"; pixel_y = 25},/obj/machinery/reagentgrinder,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) "bmY" = (/obj/structure/sign/chemistry,/turf/simulated/wall/r_wall,/area/medical/chemistry) "bmZ" = (/obj/structure/reagent_dispensers/water_cooler,/obj/machinery/computer/security/telescreen/entertainment{pixel_x = 0; pixel_y = 32},/turf/simulated/floor{tag = "icon-whiteblue (NORTHWEST)"; icon_state = "whiteblue"; dir = 9},/area/medical/reception) "bna" = (/obj/structure/table,/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/item/weapon/storage/box/cups{pixel_x = 0; pixel_y = 0},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/reception) @@ -3422,12 +3422,12 @@ "bnP" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/locker) "bnQ" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor,/area/hallway/secondary/entry/aft) "bnR" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/locker) -"bnS" = (/obj/machinery/door_control{id = "qm_warehouse"; name = "Warehouse Door Control"; pixel_x = -1; pixel_y = -24; req_access = list(31)},/turf/simulated/floor{icon_state = "floorgrime"},/area/quartermaster/storage) +"bnS" = (/obj/machinery/button/remote/blast_door{id = "qm_warehouse"; name = "Warehouse Door Control"; pixel_x = -1; pixel_y = -24; req_access = list(31)},/turf/simulated/floor{icon_state = "floorgrime"},/area/quartermaster/storage) "bnT" = (/obj/machinery/conveyor_switch/oneway{convdir = -1; id = "garbage"; name = "disposal coveyor"},/turf/simulated/floor/plating,/area/maintenance/disposal) "bnU" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/window{base_state = "right"; dir = 8; icon_state = "right"; name = "Mailing Room"; req_access = list(50)},/turf/simulated/floor{icon_state = "bot"},/area/hallway/primary/central_one) "bnV" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/camera/network/exodus{c_tag = "Primary Hallway Central - West"; dir = 8},/turf/simulated/floor{icon_state = "bluecorner"},/area/hallway/primary/central_one) "bnW" = (/obj/structure/table/woodentable,/obj/machinery/recharger{pixel_y = 4},/turf/simulated/floor/wood,/area/bridge/meeting_room) -"bnX" = (/obj/structure/bed/chair/comfy/brown{dir = 4},/obj/effect/landmark/start{name = "Captain"},/obj/machinery/door_control{desc = "A remote control-switch for the office door."; id = "captaindoor"; name = "Office Door Control"; normaldoorcontrol = 1; pixel_x = 15; pixel_y = 30; req_access = list(20)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door_control{desc = "A remote control-switch for the starboard bridge doors."; id = "sbridgedoor"; name = "Bridge Door Control"; normaldoorcontrol = 1; pixel_x = 15; pixel_y = 39; req_access = list(20)},/turf/simulated/floor/wood,/area/crew_quarters/captain) +"bnX" = (/obj/structure/bed/chair/comfy/brown{dir = 4},/obj/effect/landmark/start{name = "Captain"},/obj/machinery/button/remote/airlock{desc = "A remote control-switch for the office door."; id = "captaindoor"; name = "Office Door Control"; pixel_x = 15; pixel_y = 30; req_access = list(20)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/button/remote/airlock{desc = "A remote control-switch for the starboard bridge doors."; id = "sbridgedoor"; name = "Bridge Door Control"; pixel_x = 15; pixel_y = 39; req_access = list(20)},/turf/simulated/floor/wood,/area/crew_quarters/captain) "bnY" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/maintenance/locker) "bnZ" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/maintenance/locker) "boa" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/locker) @@ -3494,12 +3494,12 @@ "bpj" = (/turf/simulated/wall/r_wall,/area/assembly/chargebay) "bpk" = (/obj/machinery/light_switch{pixel_y = 28},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor,/area/assembly/chargebay) "bpl" = (/turf/simulated/floor,/area/assembly/chargebay) -"bpm" = (/obj/machinery/door_control{dir = 2; id = "Skynet_launch"; name = "Mech Bay Door Control"; pixel_x = 6; pixel_y = 24},/turf/simulated/floor{tag = "icon-warningcorner (WEST)"; icon_state = "warningcorner"; dir = 8},/area/assembly/chargebay) +"bpm" = (/obj/machinery/button/remote/blast_door{dir = 2; id = "Skynet_launch"; name = "Mech Bay Door Control"; pixel_x = 6; pixel_y = 24},/turf/simulated/floor{tag = "icon-warningcorner (WEST)"; icon_state = "warningcorner"; dir = 8},/area/assembly/chargebay) "bpn" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/assembly/chargebay) "bpo" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/camera/network/medbay{c_tag = "Medbay Morgue"},/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/medical/morgue) "bpp" = (/turf/simulated/wall,/area/assembly/robotics) "bpq" = (/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) -"bpr" = (/obj/machinery/door_control{desc = "A remote control switch for the medbay foyer."; id = "MedbayFoyerStar"; name = "Medbay Doors Control"; normaldoorcontrol = 1; pixel_x = 6; pixel_y = 28},/obj/structure/bed/chair/office/dark{dir = 1},/obj/effect/landmark/start{name = "Medical Doctor"},/turf/simulated/floor{tag = "icon-vault (EAST)"; icon_state = "vault"; dir = 4},/area/medical/reception) +"bpr" = (/obj/machinery/button/remote/airlock{desc = "A remote control switch for the medbay foyer."; id = "MedbayFoyerStar"; name = "Medbay Doors Control"; pixel_x = 6; pixel_y = 28},/obj/structure/bed/chair/office/dark{dir = 1},/obj/effect/landmark/start{name = "Medical Doctor"},/turf/simulated/floor{tag = "icon-vault (EAST)"; icon_state = "vault"; dir = 4},/area/medical/reception) "bps" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/door/airlock/research{name = "Mech Bay"; req_access = list(29)},/turf/simulated/floor,/area/hallway/primary/starboard) "bpt" = (/turf/simulated/floor{dir = 1; icon_state = "whitered"},/area/assembly/robotics) "bpu" = (/obj/structure/bed/chair/office/dark{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/medical/exam_room) @@ -3566,7 +3566,7 @@ "bqD" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/wood,/area/crew_quarters/captain) "bqE" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/wood,/area/crew_quarters/captain) "bqF" = (/obj/machinery/light{dir = 8},/obj/structure/disposalpipe/segment,/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/central_two) -"bqG" = (/obj/structure/table/reinforced,/obj/machinery/firealarm{dir = 8; pixel_x = -24; pixel_y = 6},/obj/item/device/mass_spectrometer/adv,/obj/item/clothing/glasses/science,/obj/item/clothing/glasses/science,/obj/item/clothing/glasses/science,/obj/machinery/door_control{id = "chemwindow"; name = "Pharmacy Windows Shutter Control"; pixel_x = -22; pixel_y = -10; pixel_z = 0},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) +"bqG" = (/obj/structure/table/reinforced,/obj/machinery/firealarm{dir = 8; pixel_x = -24; pixel_y = 6},/obj/item/device/mass_spectrometer/adv,/obj/item/clothing/glasses/science,/obj/item/clothing/glasses/science,/obj/item/clothing/glasses/science,/obj/machinery/button/remote/blast_door{id = "chemwindow"; name = "Pharmacy Windows Shutter Control"; pixel_x = -22; pixel_y = -10; pixel_z = 0},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) "bqH" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/beakers,/obj/item/weapon/storage/box/beakers,/obj/item/weapon/reagent_containers/dropper,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) "bqI" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) "bqJ" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) @@ -3608,7 +3608,7 @@ "brt" = (/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1380; id_tag = "admin_shuttle_dock_pump"},/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/hallway/secondary/entry/aft) "bru" = (/obj/machinery/conveyor{dir = 1; id = "garbage"},/obj/machinery/door/blast/regular{density = 1; icon_state = "pdoor1"; id = "Disposal Exit"; name = "Disposal Exit Vent"; opacity = 1},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/maintenance/disposal) "brv" = (/obj/item/weapon/cigbutt{pixel_x = -10; pixel_y = -10},/turf/simulated/floor/plating,/area/maintenance/disposal) -"brw" = (/obj/machinery/door_control{id = "Disposal Exit"; name = "Disposal Vent Control"; pixel_x = -25; pixel_y = 4; req_access = list(12)},/obj/machinery/button/driver{id = "trash"; pixel_x = -26; pixel_y = -6},/obj/item/weapon/cigbutt,/obj/item/weapon/stool,/turf/simulated/floor/plating,/area/maintenance/disposal) +"brw" = (/obj/machinery/button/remote/blast_door{id = "Disposal Exit"; name = "Disposal Vent Control"; pixel_x = -25; pixel_y = 4; req_access = list(12)},/obj/machinery/button/remote/driver{id = "trash"; pixel_x = -26; pixel_y = -6},/obj/item/weapon/cigbutt,/obj/item/weapon/stool,/turf/simulated/floor/plating,/area/maintenance/disposal) "brx" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/locker) "bry" = (/obj/machinery/door/airlock/maintenance{name = "Disposal Access"; req_access = list(12)},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/sign/nosmoking_1{pixel_y = 32},/turf/simulated/floor/plating,/area/maintenance/disposal) "brz" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/turf/simulated/floor,/area/hallway/secondary/entry/aft) @@ -3627,7 +3627,7 @@ "brM" = (/turf/simulated/floor{dir = 8; icon_state = "browncorner"},/area/quartermaster/office) "brN" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/quartermaster/office) "brO" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/item/device/radio/intercom{pixel_y = 23},/turf/simulated/floor,/area/quartermaster/office) -"brP" = (/obj/machinery/door_control{id = "qm_warehouse"; name = "Warehouse Door Control"; pixel_x = -1; pixel_y = 24; req_access = list(31)},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor,/area/quartermaster/storage) +"brP" = (/obj/machinery/button/remote/blast_door{id = "qm_warehouse"; name = "Warehouse Door Control"; pixel_x = -1; pixel_y = 24; req_access = list(31)},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor,/area/quartermaster/storage) "brQ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/quartermaster/office) "brR" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/turf/simulated/floor,/area/quartermaster/office) "brS" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor,/area/quartermaster/office) @@ -3743,7 +3743,7 @@ "btY" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/dropper,/obj/machinery/light{dir = 8},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) "btZ" = (/obj/machinery/chem_master,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) "bua" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) -"bub" = (/obj/machinery/light_switch{pixel_x = 22; pixel_y = -8},/obj/machinery/door_control{id = "chemwindow"; name = "Chemistry Laboratory Window Shutters Control"; pixel_x = 26; pixel_y = 8},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) +"bub" = (/obj/machinery/light_switch{pixel_x = 22; pixel_y = -8},/obj/machinery/button/remote/blast_door{id = "chemwindow"; name = "Chemistry Laboratory Window Shutters Control"; pixel_x = 26; pixel_y = 8},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) "buc" = (/turf/simulated/wall,/area/medical/chemistry) "bud" = (/obj/structure/sign/redcross{desc = "The Star of Life, a symbol of Medical Aid."; icon_state = "lifestar"; name = "Medbay"; pixel_x = -32},/turf/simulated/floor{tag = "icon-whiteblue (SOUTHWEST)"; icon_state = "whiteblue"; dir = 10},/area/medical/reception) "bue" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{tag = "icon-whiteblue"; icon_state = "whiteblue"},/area/medical/reception) @@ -3751,7 +3751,7 @@ "bug" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/quartermaster/office) "buh" = (/obj/structure/table,/obj/item/device/radio{anchored = 1; broadcasting = 0; canhear_range = 1; frequency = 1487; icon = 'icons/obj/items.dmi'; icon_state = "red_phone"; listening = 1; name = "Reception Emergency Phone"},/turf/simulated/floor,/area/medical/reception) "bui" = (/obj/structure/table,/obj/item/weapon/aiModule/oxygen,/obj/item/weapon/aiModule/oneHuman,/obj/machinery/door/window{base_state = "left"; dir = 8; icon_state = "left"; name = "High-Risk Modules"; req_access = list(20)},/obj/item/weapon/aiModule/purge,/obj/structure/window/reinforced,/obj/item/weapon/aiModule/antimov,/obj/item/weapon/aiModule/teleporterOffline,/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload) -"buj" = (/obj/structure/bed/chair/office/dark{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/door_control{desc = "A remote control-switch for shutters."; id = "hop_office_desk"; name = "Desk Privacy Shutter"; pixel_x = 16; pixel_y = 28},/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/crew_quarters/heads/hop) +"buj" = (/obj/structure/bed/chair/office/dark{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for shutters."; id = "hop_office_desk"; name = "Desk Privacy Shutter"; pixel_x = 16; pixel_y = 28},/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/crew_quarters/heads/hop) "buk" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/filingcabinet/medical{pixel_y = 0},/turf/simulated/floor{icon_state = "blue"; dir = 4},/area/medical/reception) "bul" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{tag = "icon-whiteblue"; icon_state = "whiteblue"},/area/medical/reception) "bum" = (/obj/structure/sign/redcross{desc = "The Star of Life, a symbol of Medical Aid."; icon_state = "lifestar"; name = "Medbay"; pixel_x = 32},/turf/simulated/floor{tag = "icon-whiteblue (SOUTHEAST)"; icon_state = "whiteblue"; dir = 6},/area/medical/reception) @@ -3857,9 +3857,9 @@ "bwi" = (/obj/machinery/door/blast/regular{id = "toxinsdriver"; name = "Toxins Launcher Bay Door"},/turf/simulated/floor/plating/airless,/area/rnd/test_area) "bwj" = (/obj/structure/table,/obj/item/roller,/obj/item/roller{pixel_y = 8},/obj/item/roller{pixel_y = 16},/turf/simulated/floor,/area/medical/reception) "bwk" = (/turf/simulated/wall,/area/medical/medbay2) -"bwl" = (/obj/machinery/door_control{desc = "A remote control switch for the medbay foyer."; id = "MedbayFoyerPort"; name = "Medbay Doors Control"; normaldoorcontrol = 1; pixel_x = -16; pixel_y = 28},/obj/structure/bed/chair/office/dark{dir = 1},/obj/effect/landmark/start{name = "Medical Doctor"},/turf/simulated/floor{tag = "icon-vault (NORTH)"; icon_state = "vault"; dir = 1},/area/medical/reception) +"bwl" = (/obj/machinery/button/remote/airlock{desc = "A remote control switch for the medbay foyer."; id = "MedbayFoyerPort"; name = "Medbay Doors Control"; pixel_x = -16; pixel_y = 28},/obj/structure/bed/chair/office/dark{dir = 1},/obj/effect/landmark/start{name = "Medical Doctor"},/turf/simulated/floor{tag = "icon-vault (NORTH)"; icon_state = "vault"; dir = 1},/area/medical/reception) "bwm" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/medical/medbay2) -"bwn" = (/obj/structure/table,/obj/machinery/door_control{id = "medbayrecquar"; name = "Medbay Entrance Lockdown Shutters Control"; pixel_x = 6; pixel_y = 8; req_access = list(5)},/obj/item/device/radio{anchored = 1; broadcasting = 0; canhear_range = 1; frequency = 1487; icon = 'icons/obj/items.dmi'; icon_state = "red_phone"; listening = 1; name = "Reception Emergency Phone"; pixel_x = -5},/turf/simulated/floor,/area/medical/reception) +"bwn" = (/obj/structure/table,/obj/machinery/button/remote/blast_door{id = "medbayrecquar"; name = "Medbay Entrance Lockdown Shutters Control"; pixel_x = 6; pixel_y = 8; req_access = list(5)},/obj/item/device/radio{anchored = 1; broadcasting = 0; canhear_range = 1; frequency = 1487; icon = 'icons/obj/items.dmi'; icon_state = "red_phone"; listening = 1; name = "Reception Emergency Phone"; pixel_x = -5},/turf/simulated/floor,/area/medical/reception) "bwo" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/assembly/chargebay) "bwp" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/assembly/chargebay) "bwq" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/assembly/robotics) @@ -4004,7 +4004,7 @@ "byZ" = (/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay3) "bza" = (/obj/structure/closet/secure_closet/medical3,/obj/machinery/alarm{pixel_y = 25},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor{tag = "icon-whiteblue (NORTHEAST)"; icon_state = "whiteblue"; dir = 5},/area/medical/medbay3) "bzb" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor{tag = "icon-whiteblue (NORTHWEST)"; icon_state = "whiteblue"; dir = 9},/area/medical/medbay2) -"bzc" = (/obj/machinery/door_control{desc = "A remote control switch for the medbay foyer."; id = "MedbayFoyerStar"; name = "Medbay Doors Control"; normaldoorcontrol = 1; pixel_x = 24; pixel_y = 26},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay2) +"bzc" = (/obj/machinery/button/remote/airlock{desc = "A remote control switch for the medbay foyer."; id = "MedbayFoyerStar"; name = "Medbay Doors Control"; pixel_x = 24; pixel_y = 26},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay2) "bzd" = (/turf/simulated/floor{dir = 1; icon_state = "whitebluecorner"; tag = "icon-whitebluecorner"},/area/medical/medbay2) "bze" = (/obj/machinery/door/firedoor,/obj/structure/sign/examroom{pixel_y = 32},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) "bzf" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) @@ -4103,7 +4103,7 @@ "bAU" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/medical/patient_wing) "bAV" = (/obj/machinery/door/airlock/maintenance{name = "Teleporter Maintenance"; req_access = list(17)},/obj/structure/sign/securearea{pixel_x = -32; pixel_y = 0},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/visible/supply,/obj/machinery/atmospherics/pipe/simple/visible/scrubbers,/turf/simulated/floor/plating,/area/teleporter) "bAW" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/floor,/area/crew_quarters/heads/hop) -"bAX" = (/obj/machinery/door_control{desc = "A remote control switch for the medbay foyer."; id = "MedbayFoyerPort"; name = "Medbay Doors Control"; normaldoorcontrol = 1; pixel_x = -24; pixel_y = 26},/obj/machinery/computer/guestpass{pixel_x = -28},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor{tag = "icon-whiteblue (NORTHWEST)"; icon_state = "whiteblue"; dir = 9},/area/medical/medbay) +"bAX" = (/obj/machinery/button/remote/airlock{desc = "A remote control switch for the medbay foyer."; id = "MedbayFoyerPort"; name = "Medbay Doors Control"; pixel_x = -24; pixel_y = 26},/obj/machinery/computer/guestpass{pixel_x = -28},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor{tag = "icon-whiteblue (NORTHWEST)"; icon_state = "whiteblue"; dir = 9},/area/medical/medbay) "bAY" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor,/area/assembly/chargebay) "bAZ" = (/obj/machinery/recharge_station,/turf/simulated/floor{icon_state = "bot"},/area/assembly/chargebay) "bBa" = (/obj/structure/table,/obj/item/weapon/storage/box/bodybags{pixel_x = -1; pixel_y = -2},/obj/item/weapon/pen,/turf/simulated/floor{icon_state = "whitehall"; dir = 4},/area/assembly/robotics) @@ -4290,7 +4290,7 @@ "bEz" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad"},/obj/machinery/light,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -35},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/quartermaster/storage) "bEA" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/quartermaster/storage) "bEB" = (/obj/machinery/light,/turf/simulated/floor{dir = 8; icon_state = "loadingarea"},/area/quartermaster/storage) -"bEC" = (/obj/structure/bed/chair/office/dark{dir = 4},/obj/effect/landmark/start{name = "Head of Personnel"},/obj/machinery/door_control{desc = "A remote control-switch for shutters."; id = "hop_office_desk"; name = "Desk Privacy Shutter"; pixel_x = 26; pixel_y = 17},/obj/machinery/button/windowtint{pixel_x = 36; pixel_y = 18},/obj/machinery/door_control{desc = "A remote control-switch for the office door."; id = "hopdoor"; name = "Office Door Control"; normaldoorcontrol = 1; pixel_x = 26; pixel_y = -17; req_access = list(57)},/turf/simulated/floor,/area/crew_quarters/heads/hop) +"bEC" = (/obj/structure/bed/chair/office/dark{dir = 4},/obj/effect/landmark/start{name = "Head of Personnel"},/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for shutters."; id = "hop_office_desk"; name = "Desk Privacy Shutter"; pixel_x = 26; pixel_y = 17},/obj/machinery/button/windowtint{pixel_x = 36; pixel_y = 18},/obj/machinery/button/remote/airlock{desc = "A remote control-switch for the office door."; id = "hopdoor"; name = "Office Door Control"; pixel_x = 26; pixel_y = -17; req_access = list(57)},/turf/simulated/floor,/area/crew_quarters/heads/hop) "bED" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor,/area/quartermaster/storage) "bEE" = (/obj/machinery/navbeacon{codes_txt = "delivery;dir=8"; freq = 1400; location = "QM #4"},/turf/simulated/floor{icon_state = "bot"},/area/quartermaster/storage) "bEF" = (/obj/structure/table,/obj/machinery/newscaster{pixel_x = -27; pixel_y = 1},/obj/item/weapon/tape_roll,/obj/item/weapon/storage/firstaid/regular{pixel_x = 6; pixel_y = -5},/turf/simulated/floor,/area/quartermaster/office) @@ -4551,7 +4551,7 @@ "bJA" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay) "bJB" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "cmooffice"; name = "CMO Office Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/medbay) "bJC" = (/obj/structure/extinguisher_cabinet{pixel_x = -24},/turf/simulated/floor,/area/rnd/storage) -"bJD" = (/obj/structure/bed/chair/office/light{dir = 8},/obj/effect/landmark/start{name = "Research Director"},/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/door_control{id = "Biohazard"; name = "Biohazard Shutter Control"; pixel_x = -38; pixel_y = 13; req_access = list(47)},/obj/machinery/button/windowtint{pixel_x = -26; pixel_y = 21},/obj/machinery/door_control{desc = "A remote control-switch for the cargo doors."; id = "researchdoor"; name = "Research door control"; normaldoorcontrol = 1; pixel_x = -27; pixel_y = 13; req_access = list(30)},/obj/machinery/computer/security/telescreen{desc = "Used for watching the RD's goons from the safety of his office."; name = "Research Monitor"; network = list("Research","Toxins Test Area","Robots","Anomaly Isolation","Research Outpost"); pixel_x = 0; pixel_y = 34},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/heads/hor) +"bJD" = (/obj/structure/bed/chair/office/light{dir = 8},/obj/effect/landmark/start{name = "Research Director"},/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/button/remote/blast_door{id = "Biohazard"; name = "Biohazard Shutter Control"; pixel_x = -38; pixel_y = 13; req_access = list(47)},/obj/machinery/button/windowtint{pixel_x = -26; pixel_y = 21},/obj/machinery/button/remote/airlock{desc = "A remote control-switch for the cargo doors."; id = "researchdoor"; name = "Research door control"; pixel_x = -27; pixel_y = 13; req_access = list(30)},/obj/machinery/computer/security/telescreen{desc = "Used for watching the RD's goons from the safety of his office."; name = "Research Monitor"; network = list("Research","Toxins Test Area","Robots","Anomaly Isolation","Research Outpost"); pixel_x = 0; pixel_y = 34},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/heads/hor) "bJE" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "cmooffice"; name = "CMO Office Privacy Shutters"; opacity = 0},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/medical/medbay4) "bJF" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "cmooffice"; name = "CMO Office Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/medbay4) "bJG" = (/obj/structure/disposalpipe/segment,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) @@ -4588,7 +4588,7 @@ "bKl" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/turf/simulated/floor/plating,/area/maintenance/research_shuttle) "bKm" = (/obj/structure/closet/crate,/obj/item/device/multitool,/obj/item/device/multitool,/obj/item/device/assembly/prox_sensor,/obj/item/device/flashlight,/obj/item/weapon/storage/backpack,/turf/simulated/floor/plating,/area/maintenance/research_shuttle) "bKn" = (/obj/structure/table/rack,/obj/item/weapon/extinguisher,/obj/item/weapon/storage/belt/utility,/obj/item/clothing/mask/gas,/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor/plating,/area/maintenance/research_shuttle) -"bKo" = (/obj/structure/bed/chair/office/dark,/obj/effect/landmark/start{name = "Quartermaster"},/obj/machinery/button/windowtint{pixel_x = 24; pixel_y = -24},/obj/machinery/door_control{desc = "A remote control-switch for the office door."; id = "qmdoor"; name = "Office Door Control"; normaldoorcontrol = 1; pixel_x = 15; pixel_y = -25; req_access = list(20)},/obj/machinery/door_control{desc = "A remote control-switch for the cargo doors."; id = "cargodoor"; name = "Cargo door control"; normaldoorcontrol = 1; pixel_x = 15; pixel_y = -34; req_access = list(41)},/turf/simulated/floor,/area/quartermaster/qm) +"bKo" = (/obj/structure/bed/chair/office/dark,/obj/effect/landmark/start{name = "Quartermaster"},/obj/machinery/button/windowtint{pixel_x = 24; pixel_y = -24},/obj/machinery/button/remote/airlock{desc = "A remote control-switch for the office door."; id = "qmdoor"; name = "Office Door Control"; pixel_x = 15; pixel_y = -25; req_access = list(20)},/obj/machinery/button/remote/airlock{desc = "A remote control-switch for the cargo doors."; id = "cargodoor"; name = "Cargo door control"; pixel_x = 15; pixel_y = -34; req_access = list(41)},/turf/simulated/floor,/area/quartermaster/qm) "bKp" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/rnd/test_area) "bKq" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/rnd/test_area) "bKr" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless,/area/rnd/test_area) @@ -4709,7 +4709,7 @@ "bMC" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/shuttle/plating,/area/rnd/docking) "bMD" = (/obj/structure/disposalpipe/junction{icon_state = "pipe-j2"; dir = 2},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/light_switch{pixel_x = 22; pixel_y = 0},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) "bME" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall,/area/medical/medbay2) -"bMF" = (/obj/machinery/light{dir = 1},/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/obj/machinery/door_control{id = "staffroom"; name = "Staff Room Shutters Control"; pixel_x = -26; pixel_y = 0},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/medbreak) +"bMF" = (/obj/machinery/light{dir = 1},/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/obj/machinery/button/remote/blast_door{id = "staffroom"; name = "Staff Room Shutters Control"; pixel_x = -26; pixel_y = 0},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/medbreak) "bMG" = (/obj/structure/reagent_dispensers/water_cooler,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/medbreak) "bMH" = (/obj/structure/lattice,/obj/structure/grille,/obj/structure/sign/securearea{desc = "A warning sign which reads 'KEEP CLEAR OF DOCKING AREA'."; name = "KEEP CLEAR: DOCKING AREA"; pixel_y = 0},/turf/space,/area/space) "bMI" = (/obj/structure/noticeboard{pixel_y = 28},/obj/structure/table/woodentable,/obj/item/weapon/book/manual/medical_diagnostics_manual{pixel_y = 7},/obj/item/device/radio{anchored = 1; broadcasting = 0; canhear_range = 4; frequency = 1487; icon = 'icons/obj/items.dmi'; icon_state = "red_phone"; listening = 1; name = "Break Room Emergency Phone"},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/medbreak) @@ -4746,7 +4746,7 @@ "bNn" = (/obj/effect/landmark/start{name = "Shaft Miner"},/turf/simulated/floor,/area/quartermaster/miningdock) "bNo" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor,/area/quartermaster/miningdock) "bNp" = (/obj/structure/disposalpipe/segment,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor,/area/quartermaster/miningdock) -"bNq" = (/obj/machinery/door_control{id = "acute1"; name = "EMT Storage Privacy Shutters"; pixel_x = 26; pixel_y = 25; req_access = list(5)},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) +"bNq" = (/obj/machinery/button/remote/blast_door{id = "acute1"; name = "EMT Storage Privacy Shutters"; pixel_x = 26; pixel_y = 25; req_access = list(5)},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) "bNr" = (/obj/structure/closet/secure_closet/quartermaster,/turf/simulated/floor,/area/quartermaster/qm) "bNs" = (/obj/structure/table,/obj/item/weapon/coin/silver{pixel_x = -3; pixel_y = 3},/obj/item/weapon/coin/silver,/obj/item/device/eftpos{eftpos_name = "Quartermaster EFTPOS scanner"},/turf/simulated/floor,/area/quartermaster/qm) "bNt" = (/obj/structure/table,/obj/item/weapon/cartridge/quartermaster{pixel_x = 6; pixel_y = 5},/obj/item/weapon/cartridge/quartermaster,/obj/item/weapon/cartridge/quartermaster{pixel_x = -4; pixel_y = 7},/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor,/area/quartermaster/qm) @@ -4865,7 +4865,7 @@ "bPC" = (/obj/machinery/door/airlock{name = "Custodial Closet"; req_access = list(26)},/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/hallway/primary/central_three) "bPD" = (/obj/machinery/door/airlock/maintenance{req_access = list(12)},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hallway/primary/central_two) "bPE" = (/obj/structure/table,/obj/machinery/computer/skills{pixel_y = 4},/obj/item/device/megaphone,/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/heads/cmo) -"bPF" = (/obj/machinery/door_control{id = "acutesep"; name = "Acute Separation Shutters"; pixel_y = -25; req_access = list(5)},/obj/item/weapon/stool{pixel_y = 8},/obj/effect/landmark/start{name = "Paramedic"},/obj/machinery/camera/network/medbay{c_tag = "Medbay EMT Storage"; dir = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) +"bPF" = (/obj/machinery/button/remote/blast_door{id = "acutesep"; name = "Acute Separation Shutters"; pixel_y = -25; req_access = list(5)},/obj/item/weapon/stool{pixel_y = 8},/obj/effect/landmark/start{name = "Paramedic"},/obj/machinery/camera/network/medbay{c_tag = "Medbay EMT Storage"; dir = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) "bPG" = (/obj/structure/table,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/computer/med_data/laptop{pixel_x = 3; pixel_y = 4},/turf/simulated/floor{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/crew_quarters/heads/cmo) "bPH" = (/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/camera/network/medbay{c_tag = "Medbay Starboard Corridor"; dir = 4},/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/medical/medbay2) "bPI" = (/obj/structure/disposalpipe/segment,/obj/machinery/newscaster{pixel_x = 30},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) @@ -5037,7 +5037,7 @@ "bSS" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/mixing) "bST" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft) "bSU" = (/turf/simulated/wall,/area/engineering/break_room) -"bSV" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/door_control{id = "acutesep"; name = "Acute Separation Shutters"; pixel_y = 25; req_access = list(5)},/obj/machinery/camera/network/medbay{c_tag = "Medbay Acute"},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) +"bSV" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/button/remote/blast_door{id = "acutesep"; name = "Acute Separation Shutters"; pixel_y = 25; req_access = list(5)},/obj/machinery/camera/network/medbay{c_tag = "Medbay Acute"},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) "bSW" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{autoclose = 0; name = "Acute Treatment"; req_access = list(5)},/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/medbay) "bSX" = (/obj/machinery/disposal,/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = -30; pixel_y = 0},/obj/structure/disposalpipe/trunk,/turf/simulated/floor{icon_state = "warningcorner"; dir = 2},/area/rnd/mixing) "bSY" = (/turf/simulated/floor{icon_state = "warning"},/area/rnd/mixing) @@ -5116,7 +5116,7 @@ "bUt" = (/turf/simulated/floor/airless{dir = 6; icon_state = "warning"},/area/rnd/test_area) "bUu" = (/turf/simulated/floor/airless{dir = 10; icon_state = "warning"},/area/rnd/test_area) "bUv" = (/turf/simulated/wall/r_wall,/area/maintenance/cargo) -"bUw" = (/obj/machinery/button/driver{dir = 2; id = "toxinsdriver"; pixel_y = 24},/obj/machinery/camera/network/research{c_tag = "Research - Toxins Launch Room"},/turf/simulated/floor,/area/rnd/mixing) +"bUw" = (/obj/machinery/button/remote/driver{dir = 2; id = "toxinsdriver"; pixel_y = 24},/obj/machinery/camera/network/research{c_tag = "Research - Toxins Launch Room"},/turf/simulated/floor,/area/rnd/mixing) "bUx" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/maintenance/cargo) "bUy" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/cable/green,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/storage/tech) "bUz" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/storage/tech) @@ -5156,7 +5156,7 @@ "bVh" = (/obj/machinery/iv_drip,/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/patient_wing) "bVi" = (/turf/simulated/wall,/area/medical/patient_wing) "bVj" = (/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) -"bVk" = (/obj/structure/bed/chair/office/dark{dir = 1},/obj/effect/landmark/start{name = "Chief Medical Officer"},/obj/machinery/door_control{desc = "A remote control-switch for shutters."; id = "cmooffice"; name = "CMO Privacy Shutters"; pixel_x = 38; pixel_y = 21},/obj/machinery/door_control{desc = "A remote control switch for the CMO's office."; id = "cmodoor"; name = "CMO Office Door Control"; normaldoorcontrol = 1; pixel_x = 28; pixel_y = 21},/obj/machinery/door_control{desc = "A remote control-switch for shutters."; id = "virologyquar"; name = "Virology Emergency Lockdown Control"; pixel_x = -15; pixel_y = 38; req_access = list(5)},/obj/machinery/door_control{desc = "A remote control-switch for shutters."; id = "medbayquar"; name = "Medbay Emergency Lockdown Control"; pixel_x = -15; pixel_y = 30; req_access = list(5)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/heads/cmo) +"bVk" = (/obj/structure/bed/chair/office/dark{dir = 1},/obj/effect/landmark/start{name = "Chief Medical Officer"},/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for shutters."; id = "cmooffice"; name = "CMO Privacy Shutters"; pixel_x = 38; pixel_y = 21},/obj/machinery/button/remote/airlock{desc = "A remote control switch for the CMO's office."; id = "cmodoor"; name = "CMO Office Door Control"; pixel_x = 28; pixel_y = 21},/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for shutters."; id = "virologyquar"; name = "Virology Emergency Lockdown Control"; pixel_x = -15; pixel_y = 38; req_access = list(5)},/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for shutters."; id = "medbayquar"; name = "Medbay Emergency Lockdown Control"; pixel_x = -15; pixel_y = 30; req_access = list(5)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/heads/cmo) "bVl" = (/obj/structure/disposalpipe/sortjunction/flipped{dir = 2; sortType = "RD Office"; name = "RD Office"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/research) "bVm" = (/obj/machinery/door/airlock/glass_research{name = "Toxins Lab"; req_access = list(8)},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{icon_state = "white"},/area/rnd/research) "bVn" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/atmospherics/pipe/simple/visible{icon_state = "intact"; dir = 6},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor{icon_state = "white"},/area/rnd/misc_lab) @@ -5266,7 +5266,7 @@ "bXn" = (/obj/structure/table,/obj/item/bodybag/cryobag{pixel_x = 6},/obj/item/stack/medical/bruise_pack{pixel_x = -4; pixel_y = 3},/obj/item/stack/medical/bruise_pack{pixel_x = -4; pixel_y = 3},/obj/item/stack/medical/ointment{pixel_y = 10},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor{icon_state = "yellowfull"; dir = 8},/area/crew_quarters/sleep/engi_wash) "bXo" = (/obj/structure/closet/wardrobe/atmospherics_yellow,/turf/simulated/floor{icon_state = "yellowfull"; dir = 8},/area/crew_quarters/sleep/engi_wash) "bXp" = (/obj/machinery/door/airlock/maintenance{name = "Custodial Maintenance"; req_access = list(26)},/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/border_only,/turf/simulated/floor/plating,/area/janitor) -"bXq" = (/obj/machinery/door_control{id = "scanhide"; name = "Diagnostics Room Separation Shutters"; pixel_x = -6; pixel_y = -25; req_access = list(5)},/obj/machinery/door_control{id = "acute2"; name = "Acute Treatment Privacy Shutters"; pixel_x = 6; pixel_y = -25; req_access = list(5)},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) +"bXq" = (/obj/machinery/button/remote/blast_door{id = "scanhide"; name = "Diagnostics Room Separation Shutters"; pixel_x = -6; pixel_y = -25; req_access = list(5)},/obj/machinery/button/remote/blast_door{id = "acute2"; name = "Acute Treatment Privacy Shutters"; pixel_x = 6; pixel_y = -25; req_access = list(5)},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) "bXr" = (/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod_berth{frequency = 1380; id_tag = "escape_pod_5_berth"; pixel_x = -25; pixel_y = 25; tag_door = "escape_pod_5_berth_hatch"},/turf/simulated/floor/plating,/area/maintenance/cargo) "bXs" = (/obj/structure/disposalpipe/segment,/obj/effect/decal/cleanable/dirt,/obj/structure/cable{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/plating,/area/maintenance/cargo) "bXt" = (/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment,/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft) @@ -5371,7 +5371,7 @@ "bZo" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay4) "bZp" = (/obj/structure/disposalpipe/junction{dir = 1; icon_state = "pipe-j2"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay4) "bZq" = (/obj/structure/sign/greencross,/turf/simulated/wall,/area/medical/medbay4) -"bZr" = (/obj/machinery/door_control{id = "scanhide"; name = "Diagnostics Room Separation Shutters"; pixel_x = -6; pixel_y = 25; req_access = list(5)},/obj/machinery/atmospherics/unary/freezer{dir = 8; icon_state = "freezer"},/obj/machinery/door_control{id = "scanhideside"; name = "Diagnostics Room Privacy Shutters"; pixel_x = 6; pixel_y = 25; req_access = list(5)},/turf/simulated/floor{icon_state = "delivery"},/area/medical/sleeper) +"bZr" = (/obj/machinery/button/remote/blast_door{id = "scanhide"; name = "Diagnostics Room Separation Shutters"; pixel_x = -6; pixel_y = 25; req_access = list(5)},/obj/machinery/atmospherics/unary/freezer{dir = 8; icon_state = "freezer"},/obj/machinery/button/remote/blast_door{id = "scanhideside"; name = "Diagnostics Room Privacy Shutters"; pixel_x = 6; pixel_y = 25; req_access = list(5)},/turf/simulated/floor{icon_state = "delivery"},/area/medical/sleeper) "bZs" = (/obj/structure/table,/obj/structure/disposalpipe/segment,/obj/machinery/camera/network/medbay{c_tag = "Medbay Lounge"},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay4) "bZt" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/turf/simulated/floor/plating,/area/hallway/primary/starboard) "bZu" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Sub-Acute A"},/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/floor{icon_state = "white"},/area/medical/patient_wing) @@ -5400,7 +5400,7 @@ "bZR" = (/obj/machinery/atmospherics/pipe/tank/air{dir = 8},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/maintenance/research_starboard) "bZS" = (/obj/structure/lattice,/obj/structure/grille{density = 0; icon_state = "brokengrille"},/turf/space,/area/space) "bZT" = (/obj/structure/disposalpipe/segment,/obj/effect/decal/cleanable/dirt,/obj/structure/cable{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{icon_state = "floorgrime"},/area/maintenance/atmos_control) -"bZU" = (/obj/machinery/button/driver{id = "enginecore"; name = "Emergency Core Eject"; pixel_x = -20; pixel_y = 0},/obj/structure/window/basic{dir = 4},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/heads/chief) +"bZU" = (/obj/machinery/button/remote/driver{id = "enginecore"; name = "Emergency Core Eject"; pixel_x = -20; pixel_y = 0},/obj/structure/window/basic{dir = 4},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/heads/chief) "bZV" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/hologram/holopad,/turf/simulated/floor,/area/medical/sleeper) "bZW" = (/obj/structure/bed/chair{dir = 8},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor,/area/crew_quarters/heads/chief) "bZX" = (/obj/structure/disposalpipe/segment{dir = 4},/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{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "yellowcorner"},/area/engineering/foyer) @@ -5419,7 +5419,7 @@ "cak" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/snacks/chips,/turf/simulated/floor/carpet,/area/engineering/break_room) "cal" = (/obj/machinery/newscaster{pixel_x = 28; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/carpet,/area/engineering/break_room) "cam" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/machinery/iv_drip,/turf/simulated/floor,/area/medical/sleeper) -"can" = (/obj/machinery/door_control{id = "misclab"; name = "Test Chamber Blast Doors"; pixel_x = 6; pixel_y = 30; req_access = list(47)},/obj/item/weapon/stool,/turf/simulated/floor{icon_state = "white"},/area/rnd/misc_lab) +"can" = (/obj/machinery/button/remote/blast_door{id = "misclab"; name = "Test Chamber Blast Doors"; pixel_x = 6; pixel_y = 30; req_access = list(47)},/obj/item/weapon/stool,/turf/simulated/floor{icon_state = "white"},/area/rnd/misc_lab) "cao" = (/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/obj/structure/bed/chair/comfy/teal{tag = "icon-comfychair (EAST)"; icon_state = "comfychair"; dir = 4},/turf/simulated/floor{dir = 9; icon_state = "whitered"},/area/medical/ward) "cap" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/obj/structure/bed/roller,/turf/simulated/floor{icon_state = "white"},/area/medical/patient_wing) "caq" = (/turf/simulated/wall,/area/crew_quarters/sleep/engi_wash) @@ -5463,7 +5463,7 @@ "cbc" = (/mob/living/simple_animal/mouse,/turf/simulated/floor/plating,/area/maintenance/research_starboard) "cbd" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/turf/simulated/floor/engine/vacuum,/area/rnd/mixing) "cbe" = (/obj/structure/sign/fire{pixel_y = -32},/obj/machinery/atmospherics/binary/pump{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/engine,/area/rnd/mixing) -"cbf" = (/obj/machinery/door_control{id = "mixvent"; name = "Mixing Room Vent Control"; pixel_x = -25; pixel_y = 5; req_access = list(7)},/obj/machinery/button/ignition{id = "mixingsparker"; pixel_x = -25; pixel_y = -5},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable/green,/obj/machinery/atmospherics/valve{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor{dir = 4; icon_state = "warnwhitecorner"},/area/rnd/mixing) +"cbf" = (/obj/machinery/button/remote/blast_door{id = "mixvent"; name = "Mixing Room Vent Control"; pixel_x = -25; pixel_y = 5; req_access = list(7)},/obj/machinery/button/ignition{id = "mixingsparker"; pixel_x = -25; pixel_y = -5},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable/green,/obj/machinery/atmospherics/valve{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor{dir = 4; icon_state = "warnwhitecorner"},/area/rnd/mixing) "cbg" = (/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/wall/r_wall,/area/rnd/mixing) "cbh" = (/obj/effect/decal/cleanable/spiderling_remains,/obj/machinery/atmospherics/valve,/turf/simulated/floor/plating,/area/maintenance/research_starboard) "cbi" = (/obj/machinery/door/airlock/glass_research{autoclose = 0; frequency = 1379; glass = 1; icon_state = "door_locked"; id_tag = "tox_airlock_interior"; locked = 1; name = "Mixing Room Interior Airlock"; req_access = list(8)},/turf/simulated/floor/engine,/area/rnd/mixing) @@ -5552,7 +5552,7 @@ "ccN" = (/obj/machinery/newscaster{layer = 3.3; pixel_x = 0; pixel_y = -27},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor,/area/crew_quarters/heads/chief) "ccO" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor,/area/crew_quarters/heads/chief) "ccP" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/turf/simulated/floor/plating,/area/maintenance/research_starboard) -"ccQ" = (/obj/structure/bed/chair/office/light{dir = 4},/obj/effect/landmark/start{name = "Chief Engineer"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/button/windowtint{pixel_x = 36; pixel_y = 18},/obj/machinery/door_control{desc = "A remote control-switch for the office door."; id = "cedoor"; name = "Office Door Control"; normaldoorcontrol = 1; pixel_x = 26; pixel_y = 17; req_access = list(56)},/turf/simulated/floor,/area/crew_quarters/heads/chief) +"ccQ" = (/obj/structure/bed/chair/office/light{dir = 4},/obj/effect/landmark/start{name = "Chief Engineer"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/button/windowtint{pixel_x = 36; pixel_y = 18},/obj/machinery/button/remote/airlock{desc = "A remote control-switch for the office door."; id = "cedoor"; name = "Office Door Control"; pixel_x = 26; pixel_y = 17; req_access = list(56)},/turf/simulated/floor,/area/crew_quarters/heads/chief) "ccR" = (/turf/simulated/floor/plating/airless,/area/maintenance/atmos_control) "ccS" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/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/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{dir = 4},/obj/machinery/door/airlock/command{id_tag = "cedoor"; name = "Chief Engineer"; req_access = list(56)},/turf/simulated/floor,/area/crew_quarters/heads/chief) "ccT" = (/obj/machinery/light/small,/turf/simulated/floor{dir = 10; icon_state = "floorgrimecaution"},/area/maintenance/atmos_control) @@ -5615,7 +5615,7 @@ "cdY" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "eng_eva_inner"; locked = 1; name = "Engineering EVA Internal Access"; req_access = list(13)},/turf/simulated/floor/plating,/area/maintenance/atmos_control) "cdZ" = (/obj/structure/closet/secure_closet/engineering_chief,/obj/item/weapon/tank/emergency_oxygen/engi,/turf/simulated/floor,/area/crew_quarters/heads/chief) "cea" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0; pixel_y = -32},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1379; id_tag = "toxin_test_pump"},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "toxin_test_sensor"; pixel_x = 0; pixel_y = 16},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/maintenance/research_starboard) -"ceb" = (/obj/machinery/keycard_auth{pixel_x = -24; pixel_y = 0},/obj/machinery/door_control{desc = "A remote control-switch for engine core."; id = "EngineVent"; name = "Engine Ventillatory Control"; pixel_x = -24; pixel_y = 10; req_access = list(10)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door_control{desc = "A remote control-switch for the engine core airlock hatch bolts."; id = "engine_access_hatch"; name = "Engine Hatch Bolt Control"; normaldoorcontrol = 1; pixel_x = -24; pixel_y = -10; req_access = list(10); specialfunctions = 4},/turf/simulated/floor,/area/crew_quarters/heads/chief) +"ceb" = (/obj/machinery/keycard_auth{pixel_x = -24; pixel_y = 0},/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for engine core."; id = "EngineVent"; name = "Engine Ventillatory Control"; pixel_x = -24; pixel_y = 10; req_access = list(10)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/button/remote/airlock{desc = "A remote control-switch for the engine core airlock hatch bolts."; id = "engine_access_hatch"; name = "Engine Hatch Bolt Control"; pixel_x = -24; pixel_y = -10; req_access = list(10); specialfunctions = 4},/turf/simulated/floor,/area/crew_quarters/heads/chief) "cec" = (/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/cable/green,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/window/reinforced/polarized{dir = 8},/obj/structure/window/reinforced/polarized{dir = 4},/obj/structure/window/reinforced/polarized{dir = 1},/turf/simulated/floor/plating,/area/crew_quarters/heads/chief) "ced" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering Break Room"; req_one_access = list(10,24,5)},/turf/simulated/floor,/area/engineering/break_room) "cee" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/carpet,/area/engineering/break_room) @@ -5634,7 +5634,7 @@ "cer" = (/obj/structure/table/woodentable,/turf/simulated/floor/wood,/area/medical/psych) "ces" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/disposalpipe/segment,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/maintenance/atmos_control) "cet" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/maintenance/atmos_control) -"ceu" = (/obj/structure/bed/chair/office/dark{dir = 1},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/button/windowtint{pixel_x = -25},/obj/machinery/light_switch{pixel_x = -25; pixel_y = 8},/obj/machinery/door_control{desc = "A remote control-switch for the office door."; id = "mentaldoor"; name = "office door control"; normaldoorcontrol = 1; pixel_x = -34; pixel_y = 7},/turf/simulated/floor/wood,/area/medical/psych) +"ceu" = (/obj/structure/bed/chair/office/dark{dir = 1},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/button/windowtint{pixel_x = -25},/obj/machinery/light_switch{pixel_x = -25; pixel_y = 8},/obj/machinery/button/remote/airlock{desc = "A remote control-switch for the office door."; id = "mentaldoor"; name = "office door control"; pixel_x = -34; pixel_y = 7},/turf/simulated/floor/wood,/area/medical/psych) "cev" = (/obj/structure/bed,/obj/item/weapon/bedsheet/medical,/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 25; pixel_y = 0},/obj/machinery/camera/network/medbay{c_tag = "Medbay Patient Room C"; dir = 8},/turf/simulated/floor{dir = 4; icon_state = "whitered"},/area/medical/patient_c) "cew" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor{dir = 8; icon_state = "yellowcorner"},/area/engineering/foyer) "cex" = (/obj/item/weapon/shard,/mob/living/simple_animal/mouse,/turf/simulated/floor/plating,/area/maintenance/research_port) @@ -5717,7 +5717,7 @@ "cfW" = (/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/medical/surgeryobs) "cfX" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor{icon_state = "blue"; dir = 6},/area/medical/surgeryobs) "cfY" = (/turf/simulated/wall,/area/medical/surgeryprep) -"cfZ" = (/obj/machinery/door_control{desc = "A remote control-switch for Surgery."; id = "Surgery"; name = "Surgery"; normaldoorcontrol = 1; pixel_x = -24; pixel_y = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{dir = 9; icon_state = "blue"},/area/medical/surgeryprep) +"cfZ" = (/obj/machinery/button/remote/airlock{desc = "A remote control-switch for Surgery."; id = "Surgery"; name = "Surgery"; pixel_x = -24; pixel_y = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{dir = 9; icon_state = "blue"},/area/medical/surgeryprep) "cga" = (/obj/structure/disposalpipe/segment,/obj/machinery/light_switch{pixel_x = 22; pixel_y = 0},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{dir = 5; icon_state = "blue"},/area/medical/surgeryprep) "cgb" = (/obj/structure/closet/secure_closet/personal/patient,/turf/simulated/floor{dir = 10; icon_state = "whitered"},/area/medical/ward) "cgc" = (/obj/structure/closet/secure_closet/personal/patient,/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor{dir = 7; icon_state = "whitered"},/area/medical/ward) @@ -5858,13 +5858,13 @@ "ciH" = (/obj/structure/closet/secure_closet/medical2,/obj/machinery/light_switch{pixel_x = -22; pixel_y = 0},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) "ciI" = (/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) "ciJ" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) -"ciK" = (/obj/machinery/door_control{id = "surgeryobs"; name = "Privacy Shutters"; pixel_y = 25},/turf/simulated/floor{dir = 4; icon_state = "whitered"},/area/medical/surgery) +"ciK" = (/obj/machinery/button/remote/blast_door{id = "surgeryobs"; name = "Privacy Shutters"; pixel_y = 25},/turf/simulated/floor{dir = 4; icon_state = "whitered"},/area/medical/surgery) "ciL" = (/obj/machinery/light/small{dir = 4},/obj/effect/decal/cleanable/generic,/obj/machinery/camera/network/engineering{c_tag = "Solar Maintenance Aft Starboard Access"; dir = 1},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 6},/area/maintenance/research_starboard) "ciM" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/medical/surgeryprep) "ciN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/medical/surgeryprep) "ciO" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor{icon_state = "blue"; dir = 4},/area/medical/surgeryprep) "ciP" = (/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/item/clothing/shoes/magboots,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/void/engineering,/obj/machinery/light{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/window/southleft{name = "Engineering Hardsuits"; req_access = list(11)},/obj/item/clothing/suit/space/void/engineering,/turf/simulated/floor,/area/engineering/engine_eva) -"ciQ" = (/obj/machinery/door_control{id = "surgeryobs2"; name = "Privacy Shutters"; pixel_y = 25},/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/surgery2) +"ciQ" = (/obj/machinery/button/remote/blast_door{id = "surgeryobs2"; name = "Privacy Shutters"; pixel_y = 25},/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/surgery2) "ciR" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery2) "ciS" = (/turf/simulated/floor{icon_state = "white"},/area/medical/surgery2) "ciT" = (/obj/structure/closet/secure_closet/medical2,/obj/machinery/light_switch{pixel_x = 22; pixel_y = 0},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery2) @@ -5984,7 +5984,7 @@ "cld" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering/foyer) "cle" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor,/area/engineering/locker_room) "clf" = (/obj/structure/window/basic{dir = 4},/obj/machinery/shower{dir = 1},/obj/machinery/door/window/northleft{name = "Shower"; req_access = list()},/obj/structure/curtain/open/shower/engineering,/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/sleep/engi_wash) -"clg" = (/obj/machinery/door_control{id = "engineering_cubicle"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = -25; pixel_y = 8; specialfunctions = 4},/obj/structure/toilet{dir = 1},/obj/machinery/light/small{dir = 4},/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/sleep/engi_wash) +"clg" = (/obj/machinery/button/remote/airlock{id = "engineering_cubicle"; name = "Door Bolt Control"; pixel_x = -25; pixel_y = 8; specialfunctions = 4},/obj/structure/toilet{dir = 1},/obj/machinery/light/small{dir = 4},/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/sleep/engi_wash) "clh" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/engineering/locker_room) "cli" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/engineering/locker_room) "clj" = (/turf/simulated/floor,/area/engineering/locker_room) @@ -6441,12 +6441,12 @@ "ctS" = (/obj/machinery/computer/security/engineering{network = list("Engineering","Engineering Outpost","Power Alarms","Atmosphere Alarms","Fire Alarms")},/turf/simulated/floor{dir = 8; icon_state = "floorgrimecaution"},/area/engineering/engineering_monitoring) "ctT" = (/obj/effect/decal/cleanable/blood/oil,/turf/simulated/floor/plating,/area/maintenance/medbay) "ctU" = (/obj/structure/table,/obj/item/weapon/storage/box/syringes,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) -"ctV" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/light,/obj/machinery/door_control{desc = "A remote control-switch for shutters."; id = "virologyquar"; name = "Virology Emergency Lockdown Control"; pixel_x = 0; pixel_y = -28; req_access = list(5)},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "greencorner"},/area/medical/virologyaccess) +"ctV" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/light,/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for shutters."; id = "virologyquar"; name = "Virology Emergency Lockdown Control"; pixel_x = 0; pixel_y = -28; req_access = list(5)},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "greencorner"},/area/medical/virologyaccess) "ctW" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) "ctX" = (/obj/machinery/power/solar{id = "starboardsolar"; name = "Starboard Solar Array"},/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/starboard) "ctY" = (/turf/space,/area/syndicate_station/southwest) "ctZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/purple,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"cua" = (/obj/structure/table/reinforced,/obj/machinery/door_control{id = "xenobio3"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access = list(55)},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/rnd/xenobiology) +"cua" = (/obj/structure/table/reinforced,/obj/machinery/button/remote/blast_door{id = "xenobio3"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access = list(55)},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/rnd/xenobiology) "cub" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/shutters{density = 0; dir = 4; icon_state = "shutter0"; id = "surgeryobs"; name = "Operating Theatre Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/surgery) "cuc" = (/obj/structure/bed/chair{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) "cud" = (/obj/structure/bed/chair{dir = 8},/obj/effect/landmark/start{name = "Xenobiologist"},/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/purple,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) @@ -6687,7 +6687,7 @@ "cyE" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/turf/simulated/floor,/area/engineering/atmos) "cyF" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 9},/turf/simulated/floor,/area/engineering/atmos) "cyG" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/engineering/atmos) -"cyH" = (/obj/structure/table/reinforced,/obj/machinery/door_control{id = "xenobio2"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access = list(55)},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/rnd/xenobiology) +"cyH" = (/obj/structure/table/reinforced,/obj/machinery/button/remote/blast_door{id = "xenobio2"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access = list(55)},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/rnd/xenobiology) "cyI" = (/obj/machinery/space_heater,/turf/simulated/floor,/area/engineering/atmos/storage) "cyJ" = (/obj/machinery/atmospherics/unary/freezer{dir = 2; icon_state = "freezer"},/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/engineering/atmos) "cyK" = (/obj/machinery/atmospherics/pipe/simple/hidden/yellow{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/turf/simulated/wall/r_wall,/area/engineering/atmos/storage) @@ -6914,7 +6914,7 @@ "cCX" = (/turf/simulated/floor/plating/airless,/area/maintenance/medbay) "cCY" = (/obj/machinery/door/airlock/medical{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "virologyq_airlock_interior"; locked = 1; name = "Virology Quarantine Airlock"; req_access = list(39)},/obj/machinery/atmospherics/pipe/simple/hidden/purple,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cCZ" = (/obj/structure/bed/chair,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/engineering/drone_fabrication) -"cDa" = (/obj/structure/table/reinforced,/obj/machinery/door_control{id = "xenobio1"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access = list(55)},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/camera/network/research{c_tag = "Xenobiology Southwest"; dir = 4},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/rnd/xenobiology) +"cDa" = (/obj/structure/table/reinforced,/obj/machinery/button/remote/blast_door{id = "xenobio1"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access = list(55)},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/camera/network/research{c_tag = "Xenobiology Southwest"; dir = 4},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/rnd/xenobiology) "cDb" = (/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cDc" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cDd" = (/obj/structure/table,/obj/machinery/microwave{pixel_x = -3; pixel_y = 6},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) @@ -6990,10 +6990,10 @@ "cEv" = (/turf/simulated/floor,/area/engineering/engine_monitoring) "cEw" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/engineering/engine_monitoring) "cEx" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/engineering/engine_monitoring) -"cEy" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/machinery/meter,/obj/machinery/door_control{id = "disvent"; name = "Incinerator Vent Control"; pixel_x = 0; pixel_y = -24; req_one_access = list(12,5)},/turf/simulated/floor{dir = 1; icon_state = "warningcorner"; tag = "icon-warningcorner (WEST)"},/area/maintenance/incinerator) +"cEy" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/machinery/meter,/obj/machinery/button/remote/blast_door{id = "disvent"; name = "Incinerator Vent Control"; pixel_x = 0; pixel_y = -24; req_one_access = list(12,5)},/turf/simulated/floor{dir = 1; icon_state = "warningcorner"; tag = "icon-warningcorner (WEST)"},/area/maintenance/incinerator) "cEz" = (/obj/machinery/shower{icon_state = "shower"; dir = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor,/area/engineering/engine_airlock) "cEA" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor,/area/engineering/engine_airlock) -"cEB" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/table/reinforced,/obj/machinery/door_control{id = "xenobio4"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access = list(55)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/rnd/xenobiology) +"cEB" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/table/reinforced,/obj/machinery/button/remote/blast_door{id = "xenobio4"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access = list(55)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/rnd/xenobiology) "cEC" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 5},/area/maintenance/engi_shuttle) "cED" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/maintenance/engi_shuttle) "cEE" = (/obj/structure/bed,/obj/item/weapon/bedsheet/green,/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) @@ -7022,9 +7022,9 @@ "cFb" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor,/area/engineering/engine_smes) "cFc" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/engineering/engine_smes) "cFd" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor,/area/engineering/engine_monitoring) -"cFe" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/table/reinforced,/obj/machinery/door_control{id = "xenobio5"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access = list(55)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/rnd/xenobiology) +"cFe" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/table/reinforced,/obj/machinery/button/remote/blast_door{id = "xenobio5"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access = list(55)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/rnd/xenobiology) "cFf" = (/obj/machinery/hologram/holopad,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor,/area/engineering/engine_monitoring) -"cFg" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/table/reinforced,/obj/machinery/door_control{id = "xenobio6"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access = list(55)},/obj/machinery/door_control{desc = "A remote control-switch for a door to space."; id = "xenobioout6"; name = "Containment Release Switch"; pixel_x = 24; pixel_y = 4; req_access = list(55)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/rnd/xenobiology) +"cFg" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/table/reinforced,/obj/machinery/button/remote/blast_door{id = "xenobio6"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access = list(55)},/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for a door to space."; id = "xenobioout6"; name = "Containment Release Switch"; pixel_x = 24; pixel_y = 4; req_access = list(55)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/rnd/xenobiology) "cFh" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 6},/area/maintenance/engi_shuttle) "cFi" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/maintenance/engi_shuttle) "cFj" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/engineering/engine_monitoring) @@ -7307,7 +7307,7 @@ "cKA" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/visible/green,/turf/space,/area/space) "cKB" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/visible/purple,/turf/space,/area/space) "cKC" = (/obj/effect/landmark{name = "carpspawn"},/obj/structure/grille{density = 0; icon_state = "brokengrille"},/obj/structure/lattice,/turf/space,/area/space) -"cKD" = (/obj/structure/table/reinforced,/obj/machinery/door_control{desc = "A remote control-switch for the engine control room blast doors."; id = "EngineBlast"; name = "Engine Monitoring Room Blast Doors"; pixel_x = 0; pixel_y = -3; req_access = list(10)},/obj/machinery/door_control{desc = "A remote control-switch for the engine charging port."; id = "SupermatterPort"; name = "Reactor Blast Doors"; pixel_x = -6; pixel_y = 7; req_access = list(10)},/obj/machinery/door_control{desc = "A remote control-switch for the engine emitter."; id = "EngineEmitter"; name = "Engine Emitter"; normaldoorcontrol = 2; pixel_x = 6; pixel_y = 7; req_access = list(10)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/engineering/engine_monitoring) +"cKD" = (/obj/structure/table/reinforced,/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for the engine control room blast doors."; id = "EngineBlast"; name = "Engine Monitoring Room Blast Doors"; pixel_x = 0; pixel_y = -3; req_access = list(10)},/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for the engine charging port."; id = "SupermatterPort"; name = "Reactor Blast Doors"; pixel_x = -6; pixel_y = 7; req_access = list(10)},/obj/machinery/button/remote/emitter{desc = "A remote control-switch for the engine emitter."; id = "EngineEmitter"; name = "Engine Emitter"; pixel_x = 6; pixel_y = 7; req_access = list(10)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/engineering/engine_monitoring) "cKE" = (/turf/simulated/shuttle/wall{icon_state = "swall12"; dir = 2},/area/shuttle/constructionsite/station) "cKF" = (/turf/simulated/shuttle/wall{icon_state = "swall_s6"; dir = 2},/area/shuttle/constructionsite/station) "cKG" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "engineering_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access = list(13)},/turf/simulated/floor/plating,/area/shuttle/constructionsite/station) @@ -7317,7 +7317,7 @@ "cKK" = (/obj/machinery/light/small,/obj/machinery/camera/network/engineering{c_tag = "Atmospherics Tank - Phoron"; dir = 1},/turf/simulated/floor/engine{carbon_dioxide = 0; name = "phoron floor"; nitrogen = 0; oxygen = 0; phoron = 70000},/area/engineering/atmos) "cKL" = (/obj/machinery/light/small,/obj/machinery/camera/network/engineering{c_tag = "Atmospherics Tank - Nitrous Oxide"; dir = 1},/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/engineering/atmos) "cKM" = (/obj/machinery/camera/network/engineering{c_tag = "Atmospherics Tank - Gas Mixing"; dir = 1},/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/engineering/atmos) -"cKN" = (/obj/machinery/power/terminal{dir = 8},/obj/machinery/light,/obj/machinery/door_control{id = "engine_electrical_maintenance"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 5; pixel_y = -25; req_access = list(10); specialfunctions = 4},/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/engineering/engine_smes) +"cKN" = (/obj/machinery/power/terminal{dir = 8},/obj/machinery/light,/obj/machinery/button/remote/airlock{id = "engine_electrical_maintenance"; name = "Door Bolt Control"; pixel_x = 5; pixel_y = -25; req_access = list(10); specialfunctions = 4},/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/engineering/engine_smes) "cKO" = (/obj/machinery/computer/security/engineering,/turf/simulated/floor{icon_state = "warning"},/area/engineering/engine_monitoring) "cKP" = (/turf/simulated/shuttle/wall,/area/shuttle/constructionsite/station) "cKQ" = (/turf/simulated/shuttle/wall{tag = "icon-propulsion (EAST)"; icon_state = "propulsion"; dir = 4},/area/shuttle/constructionsite/station) @@ -7335,7 +7335,7 @@ "cLc" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/shuttle/constructionsite/station) "cLd" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/shuttle/constructionsite/station) "cLe" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/camera/network/engine{c_tag = "Engine Waste Handling"},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplatecorner"},/area/engineering/engine_waste) -"cLf" = (/obj/machinery/door_control{desc = "A remote control-switch for the engine control room blast doors."; id = "EngineEmitterPortWest"; name = "Engine Room Blast Doors"; pixel_x = 0; pixel_y = 25; req_access = list(10)},/obj/machinery/atmospherics/portables_connector{dir = 4},/turf/simulated/floor/plating{icon_state = "platebot"},/area/engineering/engine_room) +"cLf" = (/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for the engine control room blast doors."; id = "EngineEmitterPortWest"; name = "Engine Room Blast Doors"; pixel_x = 0; pixel_y = 25; req_access = list(10)},/obj/machinery/atmospherics/portables_connector{dir = 4},/turf/simulated/floor/plating{icon_state = "platebot"},/area/engineering/engine_room) "cLg" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 10},/obj/machinery/alarm/nobreach{dir = 2; pixel_y = 22},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engineering/engine_room) "cLh" = (/obj/machinery/airlock_sensor/airlock_interior{id_tag = "eng_al_int_snsr"; master_tag = "engine_room_airlock"; pixel_y = 22; req_access = list(10)},/obj/machinery/light{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/turf/simulated/floor/plating,/area/engineering/engine_room) "cLi" = (/obj/structure/cable,/obj/machinery/power/terminal{dir = 8},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/shuttle/constructionsite/station) @@ -7347,14 +7347,14 @@ "cLo" = (/turf/simulated/shuttle/wall{icon_state = "swall_s9"; dir = 2},/area/shuttle/constructionsite/station) "cLp" = (/obj/machinery/door/window/brigdoor{dir = 8; name = "Engine Waste"; req_one_access = list(10,24)},/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 9},/turf/simulated/floor/plating{icon_state = "platebot"},/area/engineering/engine_waste) "cLq" = (/obj/machinery/door/window/brigdoor{dir = 8; name = "Engine Waste"; req_one_access = list(10,24)},/obj/structure/window/reinforced,/obj/machinery/atmospherics/binary/pump{dir = 8; name = "waste pump"},/turf/simulated/floor/plating{icon_state = "platebot"},/area/engineering/engine_waste) -"cLr" = (/obj/machinery/door_control{desc = "A remote control-switch for the engine control room blast doors."; id = "EngineBlast"; name = "Engine Monitoring Room Blast Doors"; pixel_x = 5; pixel_y = -25; req_access = list(10)},/obj/machinery/door_control{desc = "A remote control-switch for the engine charging port."; id = "SupermatterPort"; name = "Reactor Blast Doors"; pixel_x = -5; pixel_y = -25; req_access = list(10)},/obj/machinery/light,/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/engineering/engine_room) +"cLr" = (/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for the engine control room blast doors."; id = "EngineBlast"; name = "Engine Monitoring Room Blast Doors"; pixel_x = 5; pixel_y = -25; req_access = list(10)},/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for the engine charging port."; id = "SupermatterPort"; name = "Reactor Blast Doors"; pixel_x = -5; pixel_y = -25; req_access = list(10)},/obj/machinery/light,/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/engineering/engine_room) "cLs" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/maintenance{name = "Engine Waste Handling"; req_one_access = list(10,24)},/turf/simulated/floor/plating,/area/maintenance/engi_engine) "cLt" = (/obj/machinery/camera/network/engine{c_tag = "Engine Core West"; dir = 8},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engineering/engine_room) "cLu" = (/obj/machinery/door/airlock/hatch{icon_state = "door_locked"; id_tag = "engine_access_hatch"; locked = 1; req_access = list(10)},/obj/machinery/atmospherics/pipe/simple/visible/cyan,/turf/simulated/floor/plating,/area/engineering/engine_room) "cLv" = (/obj/machinery/door/airlock/hatch{icon_state = "door_locked"; id_tag = "engine_access_hatch"; locked = 1; req_access = list(10)},/obj/machinery/atmospherics/pipe/simple/visible/yellow,/turf/simulated/floor/plating,/area/engineering/engine_room) "cLw" = (/obj/machinery/atmospherics/pipe/manifold/visible/yellow{dir = 8},/obj/machinery/meter,/obj/machinery/camera/network/engine{c_tag = "Engine Core East"; dir = 4},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/engineering/engine_room) -"cLx" = (/obj/machinery/door_control{desc = "A remote control-switch for the engine radiator viewport shutters."; id = "EngineRadiatorViewport"; name = "Engine Radiator Viewport Shutters"; pixel_x = 25; pixel_y = 0; req_access = list(10)},/obj/machinery/atmospherics/pipe/manifold/visible/purple{dir = 4},/obj/machinery/meter,/turf/simulated/floor/plating,/area/engineering/engine_room) -"cLy" = (/obj/machinery/door_control{id = "EngineVent"; name = "Reactor Ventillatory Control"; pixel_x = -25; pixel_y = 0; req_access = list(10)},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/engineering/engine_room) +"cLx" = (/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for the engine radiator viewport shutters."; id = "EngineRadiatorViewport"; name = "Engine Radiator Viewport Shutters"; pixel_x = 25; pixel_y = 0; req_access = list(10)},/obj/machinery/atmospherics/pipe/manifold/visible/purple{dir = 4},/obj/machinery/meter,/turf/simulated/floor/plating,/area/engineering/engine_room) +"cLy" = (/obj/machinery/button/remote/blast_door{id = "EngineVent"; name = "Reactor Ventillatory Control"; pixel_x = -25; pixel_y = 0; req_access = list(10)},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/engineering/engine_room) "cLz" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "robotics_solar_outer"; locked = 1; name = "Engineering External Access"; req_access = list(10,13)},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/portsolar) "cLA" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; layer = 3.3; master_tag = "robotics_solar_airlock"; name = "exterior access button"; pixel_x = 25; pixel_y = 25; req_access = list(13)},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating/airless,/area/solar/port) "cLB" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "robotics_solar_inner"; locked = 1; name = "Engineering External Access"; req_access = list(13)},/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/portsolar) @@ -7374,7 +7374,7 @@ "cLP" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/research_starboard) "cLQ" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload) "cLR" = (/obj/machinery/alarm{pixel_y = 23},/obj/machinery/porta_turret,/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload) - + (1,1,1) = {" aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa diff --git a/maps/exodus-2.dmm b/maps/exodus-2.dmm index 0eb63301dc..d23d5d271e 100644 --- a/maps/exodus-2.dmm +++ b/maps/exodus-2.dmm @@ -495,7 +495,7 @@ "jA" = (/obj/structure/table,/obj/machinery/microwave,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) "jB" = (/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) "jC" = (/obj/machinery/computer/security/nuclear,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) -"jD" = (/obj/structure/table,/obj/machinery/door_control{id = "syndieshutters"; name = "remote shutter control"; req_access = list(150)},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) +"jD" = (/obj/structure/table,/obj/machinery/button/remote/blast_door{id = "syndieshutters"; name = "remote shutter control"; req_access = list(150)},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) "jE" = (/obj/machinery/door/airlock/hatch{name = "Infirmary"},/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/centcom/evac) "jF" = (/obj/structure/computerframe,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) "jG" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 8},/area/syndicate_mothership) @@ -687,7 +687,7 @@ "nk" = (/obj/structure/sink/kitchen{pixel_y = 28},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership) "nl" = (/obj/structure/closet/secure_closet/freezer/fridge,/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership) "nm" = (/obj/structure/bed/chair/comfy/black,/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/syndicate_mothership) -"nn" = (/obj/structure/table,/obj/machinery/door_control{id = "syndieshutters"; name = "remote shutter control"; req_access = list(150)},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"nn" = (/obj/structure/table,/obj/machinery/button/remote/blast_door{id = "syndieshutters"; name = "remote shutter control"; req_access = list(150)},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) "no" = (/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership) "np" = (/obj/structure/table/reinforced,/obj/machinery/microwave{pixel_x = -1; pixel_y = 8},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership) "nq" = (/obj/structure/bed/chair/comfy/black{dir = 4},/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/syndicate_mothership) @@ -912,7 +912,7 @@ "rB" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/blast/shutters{density = 0; icon_state = "shutter0"; id = "syndieshutters"; name = "Blast Shutters"; opacity = 0},/turf/simulated/shuttle/plating,/area/syndicate_station/start) "rC" = (/obj/machinery/bodyscanner,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) "rD" = (/obj/machinery/body_scanconsole,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) -"rE" = (/obj/machinery/door_control{id = "syndieshutters_infirmary"; name = "remote shutter control"; pixel_x = -25},/obj/structure/mopbucket,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) +"rE" = (/obj/machinery/button/remote/blast_door{id = "syndieshutters_infirmary"; name = "remote shutter control"; pixel_x = -25},/obj/structure/mopbucket,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) "rF" = (/obj/machinery/door/window{dir = 1; name = "Secure Storage"; req_access = list(150)},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) "rG" = (/obj/item/weapon/stool{pixel_y = 8},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) "rH" = (/obj/structure/table,/obj/effect/spawner/newbomb/timer/syndicate,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) @@ -922,9 +922,9 @@ "rL" = (/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/living) "rM" = (/obj/structure/closet/secure_closet/freezer/meat,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/living) "rN" = (/obj/machinery/chem_master/condimaster{name = "CondiMaster Neo"; pixel_x = -5},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/living) -"rO" = (/obj/machinery/door_control{id = "syndieshutters_telebay"; name = "remote shutter control"; pixel_x = 0; pixel_y = -25; req_access = list(150)},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"rO" = (/obj/machinery/button/remote/blast_door{id = "syndieshutters_telebay"; name = "remote shutter control"; pixel_x = 0; pixel_y = -25; req_access = list(150)},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) "rP" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/shutters{density = 0; icon_state = "shutter0"; id = "syndieshutters"; name = "Blast Shutters"; opacity = 0},/turf/simulated/shuttle/plating,/area/syndicate_station/start) -"rQ" = (/obj/machinery/door_control{id = "syndieshutters_workshop"; name = "remote shutter control"; pixel_x = 25},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"rQ" = (/obj/machinery/button/remote/blast_door{id = "syndieshutters_workshop"; name = "remote shutter control"; pixel_x = 25},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) "rR" = (/obj/machinery/computer/shuttle_control{req_access = list(101); shuttle_tag = "Administration"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) "rS" = (/obj/structure/table,/obj/item/device/aicard,/obj/effect/spawner/newbomb/timer/syndicate,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) "rT" = (/obj/structure/closet/secure_closet/bar{req_access = list(25)},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/living) @@ -1064,7 +1064,7 @@ "ux" = (/obj/structure/window/reinforced,/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{name = "plating"},/area/centcom/control) "uy" = (/obj/structure/table/rack,/obj/item/weapon/gun/energy/gun/nuclear,/obj/item/weapon/gun/energy/gun/nuclear,/obj/item/weapon/gun/energy/gun/nuclear,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) "uz" = (/obj/machinery/vending/tool,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) -"uA" = (/obj/structure/table/woodentable{dir = 10},/obj/machinery/door_control{name = "Spec Ops Ready Room"; desc = "A remote control switch to block view of the singularity."; icon_state = "doorctrl0"; pixel_y = 15; req_access = list(11); id = "CREED"},/obj/machinery/door_control{name = "Mech Storage"; desc = "A remote control switch to block view of the singularity."; icon_state = "doorctrl0"; pixel_y = 0; req_access = list(11); id = "ASSAULT"},/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/creed) +"uA" = (/obj/structure/table/woodentable{dir = 10},/obj/machinery/button/remote/blast_door{name = "Spec Ops Ready Room"; pixel_y = 15; req_access = list(11); id = "CREED"},/obj/machinery/button/remote/blast_door{name = "Mech Storage"; icon_state = "doorctrl0"; pixel_y = 0; req_access = list(11); id = "ASSAULT"},/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/creed) "uB" = (/obj/structure/bed,/turf/unsimulated/floor{icon_state = "panelscorched"},/area/prison/solitary) "uC" = (/obj/structure/bed,/obj/effect/decal/cleanable/cobweb,/turf/unsimulated/floor{name = "plating"},/area/prison/solitary) "uD" = (/turf/unsimulated/floor{icon_state = "green"; dir = 10},/area/centcom/control) @@ -1444,7 +1444,7 @@ "BN" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/extinguisher,/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "escape_shuttle"; pixel_x = 8; pixel_y = 25; req_one_access = list(13); tag_door = "escape_shuttle_hatch"},/obj/machinery/camera/network/crescent{c_tag = "Shuttle Bridge West"},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) "BO" = (/obj/machinery/status_display{pixel_y = 30},/obj/structure/table,/obj/item/weapon/storage/firstaid/toxin,/obj/machinery/camera/network/crescent{c_tag = "Shuttle Bridge East"},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) "BP" = (/turf/unsimulated/floor{icon_state = "green"; dir = 10},/area/centcom/holding) -"BQ" = (/obj/structure/bed/chair/office/dark,/obj/machinery/door_control{desc = "A remote control switch for port-side blast doors."; icon_state = "doorctrl0"; id = "CentComPort"; name = "Security Doors"; pixel_x = -12; pixel_y = -25; req_access = list(101)},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/holding) +"BQ" = (/obj/structure/bed/chair/office/dark,/obj/machinery/button/remote/blast_door{desc = "A remote control switch for port-side blast doors."; id = "CentComPort"; name = "Security Doors"; pixel_x = -12; pixel_y = -25; req_access = list(101)},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/holding) "BR" = (/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/holding) "BS" = (/obj/machinery/computer/secure_data,/obj/machinery/camera/network/crescent{c_tag = "Crescent Arrivals North"; dir = 8},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/holding) "BT" = (/obj/structure/bed/chair{dir = 4},/obj/structure/closet/walllocker/emerglocker{pixel_x = -28},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) @@ -2137,7 +2137,7 @@ "Pe" = (/obj/machinery/camera/network/thunder{c_tag = "Thunderdome Arena"; invisibility = 101},/turf/simulated/floor/bluegrid,/area/tdome) "Pf" = (/obj/effect/landmark{name = "endgame_exit"},/turf/unsimulated/beach/sand,/area/beach) "Pg" = (/obj/structure/bed/chair,/obj/effect/landmark{name = "endgame_exit"},/turf/unsimulated/beach/sand,/area/beach) - + (1,1,1) = {" aaabacadaeafagahaaaiajakalamanaoagafajacadahakaeamaiaoalahajeEapaqarasatauavawaxayazaAaBaCaDaEaFaGaHaIaJaKawaxayazaAaBaCaDaEaFaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMtwtwtwtwtwtwtwtwtwtwtwtwtwaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaNaOaOaOaOaOaOaOaOaOaOaPaOaOaOaOaOaOaOaOaOaOaPaOaOaOaOaOaOaOaOaOaOaPaOaOaOaOaOaOaOaOaOaOaPaOaOaOaOaOaOaOaOaOaOaPaOaOaOaOaOaOaOaOaOaOaPaOaOaOaOaOaOaOaOaOaOaQ ajaRaSaTaUaVaWaXaYaZbabbbcbdbebfaWaVbaaSaTaXbbaUbdaZbfbcaXbaabatauavbgbhbibjaAbkblbmapaqarasatauavbgbhbibjbnbkblbmapaqarasataJaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMtwtItJtwtItKtwtLtMtwtItJtwaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMbobpbpbpbCbpbpbpbpbpbpbrbsbtbsbtbsbsbtbsbtbsbrbubqbqbqbqbqbqbqbqbqbreVeUeSeSeSeSeSeSeSeSbrbwbwbwbwbwbwbwbwbwbwbrbxbxbxbxbxbxbxbxbxbxbreReQePbybzbzbzbzbzbAbB diff --git a/maps/exodus-5.dmm b/maps/exodus-5.dmm index 6b2cf709a7..b395ac3b75 100644 --- a/maps/exodus-5.dmm +++ b/maps/exodus-5.dmm @@ -72,7 +72,7 @@ "bt" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock"},/obj/machinery/door/airlock{id_tag = "rbath"; name = "Kitchen"},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/outpost/research/hallway) "bu" = (/obj/machinery/shower{dir = 4; icon_state = "shower"; pixel_x = 5},/obj/structure/curtain/open/shower,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor{icon_state = "showroomfloor"},/area/outpost/research/hallway) "bv" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock"},/obj/machinery/door/airlock{id_tag = "rbath"; name = "Bathroom"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "showroomfloor"},/area/outpost/research/hallway) -"bw" = (/obj/machinery/door_control{id = "rbath"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 0; pixel_y = -25; specialfunctions = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "showroomfloor"},/area/outpost/research/hallway) +"bw" = (/obj/machinery/button/remote/airlock{id = "rbath"; name = "Door Bolt Control"; pixel_x = 0; pixel_y = -25; specialfunctions = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "showroomfloor"},/area/outpost/research/hallway) "bx" = (/obj/structure/disposaloutlet{dir = 8},/obj/structure/disposalpipe/trunk{dir = 2},/turf/simulated/wall/r_wall,/area/outpost/research/chemistry) "by" = (/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/outpost/research/chemistry) "bz" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/outpost/research/chemistry) @@ -237,7 +237,7 @@ "eC" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/outpost/research/hallway) "eD" = (/obj/structure/sign/deathsposal{pixel_x = 32},/obj/machinery/disposal/deliveryChute{dir = 8; name = "disposal inlet"},/obj/structure/disposalpipe/trunk{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating{dir = 1; icon_state = "warnplate"; nitrogen = 0.01; oxygen = 0.01},/area/outpost/research/disposal) "eE" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/wall/r_wall,/area/outpost/research/disposal) -"eF" = (/obj/structure/cable/blue{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/button/driver{id = "research"; pixel_x = -24; pixel_y = -24},/turf/simulated/floor/plating,/area/outpost/research/disposal) +"eF" = (/obj/structure/cable/blue{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/button/remote/driver{id = "research"; pixel_x = -24; pixel_y = -24},/turf/simulated/floor/plating,/area/outpost/research/disposal) "eG" = (/obj/machinery/conveyor{dir = 4; id = "archgunc"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 9},/area/outpost/research/disposal) "eH" = (/obj/structure/cable/blue{d2 = 4; icon_state = "0-4"},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/turf/simulated/floor/plating,/area/outpost/research/disposal) "eI" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor{icon_state = "white"},/area/outpost/research/hallway) @@ -466,12 +466,12 @@ "iX" = (/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/outpost/research/kitchen) "iY" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored) "iZ" = (/obj/structure/bed,/obj/item/weapon/bedsheet/brown,/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/turf/simulated/floor/carpet,/area/outpost/research/hallway) -"ja" = (/obj/machinery/door_control{id = "rdorm2"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = -25; pixel_y = 0; specialfunctions = 4},/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/carpet,/area/outpost/research/hallway) +"ja" = (/obj/machinery/button/remote/airlock{id = "rdorm2"; name = "Door Bolt Control"; pixel_x = -25; pixel_y = 0; specialfunctions = 4},/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/carpet,/area/outpost/research/hallway) "jb" = (/obj/structure/table/rack,/obj/item/stack/sheet/metal{amount = 50; pixel_x = 5; pixel_y = 5},/obj/item/stack/sheet/glass{amount = 50},/obj/item/weapon/storage/belt/utility{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/toolbox/mechanical,/obj/item/weapon/storage/toolbox/emergency{pixel_x = 5; pixel_y = 5},/turf/simulated/floor/plating,/area/outpost/research/chemistry) "jc" = (/obj/structure/table,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/carpet,/area/outpost/research/hallway) "jd" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/outpost/research/chemistry) "je" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall/r_wall,/area/outpost/research/kitchen) -"jf" = (/obj/machinery/door_control{id = "rddorm1"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 25; pixel_y = 0; specialfunctions = 4},/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/carpet,/area/outpost/research/hallway) +"jf" = (/obj/machinery/button/remote/airlock{id = "rddorm1"; name = "Door Bolt Control"; pixel_x = 25; pixel_y = 0; specialfunctions = 4},/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/carpet,/area/outpost/research/hallway) "jg" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor,/area/outpost/research/chemistry) "jh" = (/obj/machinery/light/small,/obj/structure/closet/walllocker/emerglocker/north{dir = 1; pixel_y = -32},/turf/simulated/floor/plating,/area/outpost/research/chemistry) "ji" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock"},/obj/machinery/door/airlock{id_tag = "rdorm2"; name = "Dorm 2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "carpet"},/area/outpost/research/hallway) @@ -565,14 +565,14 @@ "kS" = (/obj/structure/cable/blue{d2 = 2; icon_state = "0-2"},/obj/structure/cable/blue,/obj/machinery/power/sensor{long_range = 1; name_tag = "Research Outpost"},/turf/simulated/floor,/area/outpost/research/power) "kT" = (/obj/machinery/atmospherics/pipe/simple/visible/universal,/turf/simulated/floor,/area/outpost/research/power) "kU" = (/turf/simulated/wall/r_wall,/area/outpost/research/isolation_a) -"kV" = (/obj/machinery/door_control{id = "riso1"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = -25; pixel_y = 0; specialfunctions = 4},/obj/structure/cable/blue{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor,/area/outpost/research/isolation_monitoring) +"kV" = (/obj/machinery/button/remote/airlock{id = "riso1"; name = "Door Bolt Control"; pixel_x = -25; pixel_y = 0; specialfunctions = 4},/obj/structure/cable/blue{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor,/area/outpost/research/isolation_monitoring) "kW" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/visible/yellow,/turf/simulated/floor/plating,/area/outpost/research/isolation_a) "kX" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/turf/simulated/floor/plating,/area/outpost/research/isolation_a) -"kY" = (/obj/machinery/door_control{id = "riso2"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 0; pixel_y = -25; specialfunctions = 4},/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/blue{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/outpost/research/isolation_monitoring) +"kY" = (/obj/machinery/button/remote/airlock{id = "riso2"; name = "Door Bolt Control"; pixel_x = 0; pixel_y = -25; specialfunctions = 4},/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/blue{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/outpost/research/isolation_monitoring) "kZ" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/visible/yellow,/turf/simulated/floor/plating,/area/outpost/research/isolation_b) "la" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/turf/simulated/floor/plating,/area/outpost/research/isolation_b) "lb" = (/turf/simulated/wall/r_wall,/area/outpost/research/isolation_c) -"lc" = (/obj/machinery/door_control{id = "riso3"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 0; pixel_y = -25; specialfunctions = 4},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/outpost/research/isolation_monitoring) +"lc" = (/obj/machinery/button/remote/airlock{id = "riso3"; name = "Door Bolt Control"; pixel_x = 0; pixel_y = -25; specialfunctions = 4},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/outpost/research/isolation_monitoring) "ld" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/turf/simulated/floor/plating,/area/outpost/research/isolation_c) "le" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/visible/yellow,/turf/simulated/floor/plating,/area/outpost/research/isolation_c) "lf" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1379; id_tag = "research_pump"},/obj/structure/closet/walllocker/emerglocker/east,/turf/simulated/floor,/area/outpost/research/eva) @@ -1570,7 +1570,7 @@ "Ej" = (/turf/simulated/floor{dir = 8; icon_state = "loadingarea"},/area/outpost/mining_main/refinery) "Ek" = (/obj/machinery/conveyor{dir = 8; id = "mining_internal"},/obj/structure/plasticflaps,/turf/simulated/floor{icon_state = "floorgrime"},/area/outpost/mining_main/refinery) "El" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor,/area/outpost/mining_main/east_hall) -"Em" = (/obj/machinery/light/small{dir = 4},/obj/machinery/door_control{id = "miningdorm1"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 25; pixel_y = 0; specialfunctions = 4},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/carpet,/area/outpost/mining_main/dorms) +"Em" = (/obj/machinery/light/small{dir = 4},/obj/machinery/button/remote/airlock{id = "miningdorm1"; name = "Door Bolt Control"; pixel_x = 25; pixel_y = 0; specialfunctions = 4},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/carpet,/area/outpost/mining_main/dorms) "En" = (/obj/machinery/door/airlock/external{name = "Mining Bridge"; req_access = list(54)},/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"},/area/mine/explored) "Eo" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/light{dir = 1},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor/wood,/area/outpost/engineering/meeting) "Ep" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/extinguisher_cabinet{pixel_x = 0; pixel_y = 28},/turf/simulated/floor/wood,/area/outpost/engineering/meeting) @@ -1582,8 +1582,8 @@ "Ev" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/outpost/engineering/hallway) "Ew" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/camera/network/mining{c_tag = "Mining Outpost Crew Area"; dir = 1},/turf/simulated/floor{icon_state = "bar"},/area/outpost/mining_main/dorms) "Ex" = (/obj/machinery/camera/network/mining{c_tag = "Mining Outpost Storage Room"; dir = 1},/turf/simulated/floor,/area/outpost/mining_main/west_hall) -"Ey" = (/obj/machinery/light/small{dir = 4},/obj/machinery/door_control{id = "miningdorm2"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 25; pixel_y = 0; specialfunctions = 4},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/carpet,/area/outpost/mining_main/dorms) -"Ez" = (/obj/machinery/light/small{dir = 4},/obj/machinery/door_control{id = "miningdorm3"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 25; pixel_y = 0; specialfunctions = 4},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/carpet,/area/outpost/mining_main/dorms) +"Ey" = (/obj/machinery/light/small{dir = 4},/obj/machinery/button/remote/airlock{id = "miningdorm2"; name = "Door Bolt Control"; pixel_x = 25; pixel_y = 0; specialfunctions = 4},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/carpet,/area/outpost/mining_main/dorms) +"Ez" = (/obj/machinery/light/small{dir = 4},/obj/machinery/button/remote/airlock{id = "miningdorm3"; name = "Door Bolt Control"; pixel_x = 25; pixel_y = 0; specialfunctions = 4},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/carpet,/area/outpost/mining_main/dorms) "EA" = (/obj/machinery/alarm{dir = 4; pixel_x = -23; pixel_y = 0},/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/camera/network/mining{c_tag = "Mining Outpost EVA"; dir = 4},/turf/simulated/floor,/area/outpost/mining_main/eva) "EB" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/wood,/area/outpost/engineering/meeting) "EC" = (/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/outpost/engineering/hallway) From 5bbe839092e108d51903f90318ba7b94a2831ec7 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Thu, 30 Apr 2015 18:39:24 +0200 Subject: [PATCH 023/305] Fixes an ancient bug where door buttons toggling bolts were inversed, causing the first click to do nothing. --- code/game/machinery/door_control.dm | 9 +-------- code/game/machinery/doors/airlock.dm | 8 ++++---- 2 files changed, 5 insertions(+), 12 deletions(-) diff --git a/code/game/machinery/door_control.dm b/code/game/machinery/door_control.dm index 30eff9661d..e010264d4a 100644 --- a/code/game/machinery/door_control.dm +++ b/code/game/machinery/door_control.dm @@ -1,7 +1,3 @@ -#define CONTROL_POD_DOORS 0 -#define CONTROL_NORMAL_DOORS 1 -#define CONTROL_EMITTERS 2 - /obj/machinery/button/remote name = "remote object control" desc = "It controls objects, remotely." @@ -65,8 +61,8 @@ use_power(5) icon_state = "doorctrl1" - trigger() desiredstate = !desiredstate + trigger() spawn(15) update_icon() @@ -173,9 +169,6 @@ icon_state = "launcherbtt" /obj/machinery/button/remote/driver/trigger(mob/user as mob) - if(..()) - return - active = 1 update_icon() diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index 86d1fedb04..35e8ea3044 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -424,7 +424,7 @@ About the new airlock wires panel: /obj/machinery/door/airlock/proc/set_idscan(var/activate, var/feedback = 0) var/message = "" if(src.isWireCut(AIRLOCK_WIRE_IDSCAN)) - message = "The IdScan wire has been cut - IdScan feature permanently disabled." + message = "The IdScan wire is cut - IdScan feature permanently disabled." else if(activate && src.aiDisabledIdScanner) src.aiDisabledIdScanner = 0 message = "IdScan feature has been enabled." @@ -439,7 +439,7 @@ About the new airlock wires panel: var/message = "" // Safeties! We don't need no stinking safeties! if (src.isWireCut(AIRLOCK_WIRE_SAFETY)) - usr << text("The safety wire is cut - Cannot secure the door.") + message = text("The safety wire is cut - Cannot enable safeties.") else if (!activate && src.safe) safe = 0 else if (activate && !src.safe) @@ -673,7 +673,7 @@ About the new airlock wires panel: src.loseBackupPower() if("bolts") if(src.isWireCut(AIRLOCK_WIRE_DOOR_BOLTS)) - usr << "The door bolt control wire has been cut - Door bolts permanently dropped." + usr << "The door bolt control wire is cut - Door bolts permanently dropped." else if(activate && src.lock()) usr << "The door bolts have been dropped." else if(!activate && src.unlock()) @@ -704,7 +704,7 @@ About the new airlock wires panel: if("lights") // Bolt lights if(src.isWireCut(AIRLOCK_WIRE_LIGHT)) - usr << "The bolt lights wire has been cut - The door bolt lights are permanently disabled." + usr << "The bolt lights wire is cut - The door bolt lights are permanently disabled." else if (!activate && src.lights) lights = 0 usr << "The door bolt lights have been disabled." From cd707d82793ccdfc0671cf77feed3d22300191d4 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Fri, 1 May 2015 00:08:02 -0400 Subject: [PATCH 024/305] Resist verb cleanup Fixes #8922 and cleans up resisting. Moves various code pieces to new procs, subtypes, or other objects where appropriate. --- baystation12.dme | 1 + .../structures/crates_lockers/closets.dm | 66 ++++ code/modules/mob/living/carbon/carbon.dm | 3 +- code/modules/mob/living/carbon/resist.dm | 160 +++++++++ code/modules/mob/living/living.dm | 315 +++--------------- .../simple_animal/borer/borer_captive.dm | 26 +- code/modules/recycling/sortingmachinery.dm | 4 +- 7 files changed, 311 insertions(+), 264 deletions(-) create mode 100644 code/modules/mob/living/carbon/resist.dm diff --git a/baystation12.dme b/baystation12.dme index f6683c342f..06fe933f75 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -1063,6 +1063,7 @@ #include "code\modules\mob\living\carbon\carbon_defines.dm" #include "code\modules\mob\living\carbon\carbon_powers.dm" #include "code\modules\mob\living\carbon\give.dm" +#include "code\modules\mob\living\carbon\resist.dm" #include "code\modules\mob\living\carbon\shock.dm" #include "code\modules\mob\living\carbon\viruses.dm" #include "code\modules\mob\living\carbon\alien\alien.dm" diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm index 40163e7c78..adf9da47e0 100644 --- a/code/game/objects/structures/crates_lockers/closets.dm +++ b/code/game/objects/structures/crates_lockers/closets.dm @@ -308,3 +308,69 @@ dump_contents() spawn(1) del(src) return 1 + +/obj/structure/closet/proc/req_breakout() + if(opened) + return 0 //Door's open... wait, why are you in it's contents then? + if(!welded) + return 0 //closed but not welded... + return 1 + +/obj/structure/closet/secure_closet/req_breakout() + if(!opened && locked) return 1 + return ..() //It's a secure closet, but isn't locked. + +/obj/structure/closet/proc/mob_breakout(var/mob/living/escapee) + var/breakout_time = 2 //2 minutes by default + + if(!req_breakout()) + return + + //okay, so the closet is either welded or locked... resist!!! + escapee.next_move = world.time + 100 + escapee.last_special = world.time + 100 + escapee << "\red You lean on the back of \the [src] and start pushing the door open. (this will take about [breakout_time] minutes)" + + visible_message("The [src] begins to shake violently!") + playsound(src.loc, 'sound/effects/grillehit.ogg', 100, 1) + + for(var/i in 1 to (6*breakout_time * 2)) //minutes * 6 * 5seconds * 2 + if(!do_after(escapee, 50)) //5 seconds + return + if(!escapee || escapee.stat || escapee.loc != src) + return //closet/user destroyed OR user dead/unconcious OR user no longer in closet OR closet opened + //Perform the same set of checks as above for weld and lock status to determine if there is even still a point in 'resisting'... + if(!req_breakout()) + return + playsound(src.loc, 'sound/effects/grillehit.ogg', 100, 1) + + //Well then break it! + escapee << "You successfully break out!" + visible_message("\the [escapee] successfully broke out of \the [src]!") + break_open() + +/obj/structure/closet/proc/break_open() + welded = 0 + update_icon() + //Do this to prevent contents from being opened into nullspace (read: bluespace) + if(istype(loc, /obj/structure/bigDelivery)) + var/obj/structure/bigDelivery/BD = loc + BD.unwrap() + open() + +/obj/structure/closet/secure_closet/break_open() + desc += " It appears to be broken." + icon_state = icon_off + spawn() + flick(icon_broken, src) + sleep(10) + flick(icon_broken, src) + sleep(10) + broken = 1 + locked = 0 + update_icon() + //Do this to prevent contents from being opened into nullspace (read: bluespace) + if(istype(loc, /obj/structure/bigDelivery)) + var/obj/structure/bigDelivery/BD = loc + BD.unwrap() + open() diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index defe2191be..7c3599e726 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -523,4 +523,5 @@ playsound(src.loc, 'sound/misc/slip.ogg', 50, 1, -3) Stun(stun_duration) Weaken(Floor(stun_duration/2)) - return 1 \ No newline at end of file + return 1 + diff --git a/code/modules/mob/living/carbon/resist.dm b/code/modules/mob/living/carbon/resist.dm new file mode 100644 index 0000000000..722fbe3f80 --- /dev/null +++ b/code/modules/mob/living/carbon/resist.dm @@ -0,0 +1,160 @@ + +/mob/living/carbon/resist() + //need to allow !canmove, or otherwise neck grabs can't be resisted + //so just check weakened instead. + if(stat || weakened || next_move > world.time) + return + + //drop && roll + if(on_fire) + fire_stacks -= 2 //reduced + Weaken(3) + spin(32,2) + visible_message("[src] rolls on the floor, trying to put themselves out!", \ + "You stop, drop, and roll!") + sleep(30) + if(fire_stacks <= 0) + visible_message("[src] has successfully extinguished themselves!", \ + "You extinguish yourself.") + ExtinguishMob() + return + + if(handcuffed) + spawn() escape_handcuffs() + else if(legcuffed) + spawn() escape_legcuffs() + + ..() + +/mob/living/carbon/proc/escape_handcuffs() + if(!(last_special <= world.time)) return + + next_move = world.time + 100 + last_special = world.time + 100 + + if(can_break_cuffs()) //Don't want to do a lot of logic gating here. + break_handcuffs() + return + + var/obj/item/weapon/handcuffs/HC = handcuffed + + //A default in case you are somehow handcuffed with something that isn't an obj/item/weapon/handcuffs type + var/breakouttime = 1200 + var/displaytime = 2 //Minutes to display in the "this will take X minutes." + //If you are handcuffed with actual handcuffs... Well what do I know, maybe someone will want to handcuff you with toilet paper in the future... + if(istype(HC)) + breakouttime = HC.breakouttime + displaytime = breakouttime / 600 //Minutes + + src << "\red You attempt to remove \the [HC]. (This will take around [displaytime] minutes and you need to stand still)" + visible_message("\red [src] attempts to remove \the [HC]!") + + if(do_after(src, breakouttime)) + if(!handcuffed || buckled) + return + visible_message("\red [src] manages to remove the handcuffs!") + src << "\blue You successfully remove \the [handcuffed]." + drop_from_inventory(handcuffed) + +/mob/living/carbon/proc/escape_legcuffs() + if(!(last_special <= world.time)) return + + next_move = world.time + 100 + last_special = world.time + 100 + + if(can_break_cuffs()) //Don't want to do a lot of logic gating here. + break_legcuffs() + return + + var/obj/item/weapon/legcuffs/HC = legcuffed + + //A default in case you are somehow legcuffed with something that isn't an obj/item/weapon/legcuffs type + var/breakouttime = 1200 + var/displaytime = 2 //Minutes to display in the "this will take X minutes." + //If you are legcuffed with actual legcuffs... Well what do I know, maybe someone will want to legcuff you with toilet paper in the future... + if(istype(HC)) + breakouttime = HC.breakouttime + displaytime = breakouttime / 600 //Minutes + + src << "\red You attempt to remove \the [HC]. (This will take around [displaytime] minutes and you need to stand still)" + visible_message( "\red [usr] attempts to remove \the [HC]!" ) + + if(do_after(src, breakouttime)) + if(!legcuffed || buckled) + return + visible_message( + "\red [src] manages to remove the legcuffs!", + "\blue You successfully remove \the [legcuffed]." + ) + + drop_from_inventory(legcuffed) + legcuffed = null + update_inv_legcuffed() + +/mob/living/carbon/proc/can_break_cuffs() + if(HULK in mutations) + return 1 + +/mob/living/carbon/proc/break_handcuffs() + src << "\red You attempt to break your handcuffs. (This will take around 5 seconds and you need to stand still)" + visible_message(text("\red [] is trying to break the handcuffs!", src)) + + if(do_after(src, 50)) + if(!handcuffed || buckled) + return + + visible_message( + "\red [src] manages to break the handcuffs!", + "\red You successfully break your handcuffs." + ) + + say(pick(";RAAAAAAAARGH!", ";HNNNNNNNNNGGGGGGH!", ";GWAAAAAAAARRRHHH!", "NNNNNNNNGGGGGGGGHH!", ";AAAAAAARRRGH!" )) + + del(handcuffed) + handcuffed = null + if(buckled && buckled.buckle_require_restraints) + buckled.unbuckle_mob() + update_inv_handcuffed() + +/mob/living/carbon/proc/break_legcuffs() + src << "\red You attempt to break your legcuffs. (This will take around 5 seconds and you need to stand still)" + visible_message("\red [src] is trying to break the legcuffs!") + + if(do_after(src, 50)) + if(!legcuffed || buckled) + return + + visible_message( + "\red [src] manages to break the legcuffs!", + "\red You successfully break your legcuffs." + ) + + say(pick(";RAAAAAAAARGH!", ";HNNNNNNNNNGGGGGGH!", ";GWAAAAAAAARRRHHH!", "NNNNNNNNGGGGGGGGHH!", ";AAAAAAARRRGH!" )) + + del(legcuffed) + legcuffed = null + update_inv_legcuffed() + +/mob/living/carbon/human/can_break_cuffs() + if(species.can_shred(src,1)) + return 1 + return ..() + +/mob/living/carbon/escape_buckle() + if(!buckled) return + if(!(last_special <= world.time)) return + + if(!restrained()) + ..() + else + next_move = world.time + 100 + last_special = world.time + 100 + src << "\red You attempt to unbuckle yourself. (This will take around 2 minutes and you need to stand still)" + visible_message("\red [usr] attempts to unbuckle themself!") + + if(do_after(usr, 1200)) + if(!buckled) + return + visible_message("[usr] manages to unbuckle themself!", + "You successfully unbuckle yourself.") + buckled.user_unbuckle_mob(src) diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index a792c24275..78ca8d1f8b 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -460,284 +460,77 @@ set name = "Resist" set category = "IC" - if(usr.stat || !isliving(usr) || usr.next_move > world.time) + //need to allow !canmove, or otherwise neck grabs can't be resisted + //so just check weakened instead. + if(stat || weakened || next_move > world.time) return - usr.next_move = world.time + 20 - - var/mob/living/L = usr + next_move = world.time + 20 //Getting out of someone's inventory. - if(istype(src.loc,/obj/item/weapon/holder)) - var/obj/item/weapon/holder/H = src.loc //Get our item holder. - var/mob/M = H.loc //Get our mob holder (if any). - - if(istype(M)) - M.drop_from_inventory(H) - M << "[H] wriggles out of your grip!" - src << "You wriggle out of [M]'s grip!" - else if(istype(H.loc,/obj/item)) - src << "You struggle free of [H.loc]." - H.loc = get_turf(H) - - if(istype(M)) - for(var/atom/A in M.contents) - if(istype(A,/mob/living/simple_animal/borer) || istype(A,/obj/item/weapon/holder)) - return - - M.status_flags &= ~PASSEMOTES + if(istype(src.loc, /obj/item/weapon/holder)) + escape_inventory(src.loc) return - //Resisting control by an alien mind. - if(istype(src.loc,/mob/living/simple_animal/borer)) - var/mob/living/simple_animal/borer/B = src.loc - var/mob/living/captive_brain/H = src - - H << "You begin doggedly resisting the parasite's control (this will take approximately sixty seconds)." - B.host << "You feel the captive mind of [src] begin to resist your control." - - spawn(rand(200,250)+B.host.brainloss) - - if(!B || !B.controlling) - return - - B.host.adjustBrainLoss(rand(5,10)) - H << "With an immense exertion of will, you regain control of your body!" - B.host << "You feel control of the host brain ripped from your grasp, and retract your probosci before the wild neural impulses can damage you." - - B.detatch() - - verbs -= /mob/living/carbon/proc/release_control - verbs -= /mob/living/carbon/proc/punish_host - verbs -= /mob/living/carbon/proc/spawn_larvae - - return - //resisting grabs (as if it helps anyone...) - if ((!( L.stat ) && !( L.restrained() ))) - var/resisting = 0 - for(var/obj/O in L.requests) - L.requests.Remove(O) - del(O) - resisting++ - for(var/obj/item/weapon/grab/G in usr.grabbed_by) - resisting++ - switch(G.state) - if(GRAB_PASSIVE) - del(G) - if(GRAB_AGGRESSIVE) - if(prob(60)) //same chance of breaking the grab as disarm - L.visible_message("[L] has broken free of [G.assailant]'s grip!") - del(G) - if(GRAB_NECK) - //If the you move when grabbing someone then it's easier for them to break free. Same if the affected mob is immune to stun. - if (((world.time - G.assailant.l_move_time < 30 || !L.stunned) && prob(15)) || prob(3)) - L.visible_message("[L] has broken free of [G.assailant]'s headlock!") - del(G) - if(resisting) - L.visible_message("[L] resists!") - + if (!restrained()) + resist_grab() //unbuckling yourself - if(L.buckled && (L.last_special <= world.time) ) - if(iscarbon(L)) - var/mob/living/carbon/C = L - if( C.handcuffed ) - C.next_move = world.time + 100 - C.last_special = world.time + 100 - C << "\red You attempt to unbuckle yourself. (This will take around 2 minutes and you need to stand still)" - for(var/mob/O in viewers(L)) - O.show_message("\red [usr] attempts to unbuckle themself!", 1) - spawn(0) - if(do_after(usr, 1200)) - if(!C.buckled) - return - for(var/mob/O in viewers(C)) - O.show_message("\red [usr] manages to unbuckle themself!", 1) - C << "\blue You successfully unbuckle yourself." - C.buckled.user_unbuckle_mob(C) - else - L.buckled.user_unbuckle_mob(L) + if(buckled) + spawn() escape_buckle() //Breaking out of a locker? - else if( src.loc && (istype(src.loc, /obj/structure/closet)) ) - var/breakout_time = 2 //2 minutes by default + if( src.loc && (istype(src.loc, /obj/structure/closet)) ) + var/obj/structure/closet/C = loc + spawn() C.mob_breakout(src) - var/obj/structure/closet/C = L.loc - if(C.opened) - return //Door's open... wait, why are you in it's contents then? - if(istype(L.loc, /obj/structure/closet/secure_closet)) - var/obj/structure/closet/secure_closet/SC = L.loc - if(!SC.locked && !SC.welded) - return //It's a secure closet, but isn't locked. Easily escapable from, no need to 'resist' - else - if(!C.welded) - return //closed but not welded... - // else Meh, lets just keep it at 2 minutes for now - // breakout_time++ //Harder to get out of welded lockers than locked lockers +/mob/living/proc/escape_inventory(obj/item/weapon/holder/H) + if(H != src.loc) return + + var/mob/M = H.loc //Get our mob holder (if any). - //okay, so the closet is either welded or locked... resist!!! - usr.next_move = world.time + 100 - L.last_special = world.time + 100 - L << "\red You lean on the back of \the [C] and start pushing the door open. (this will take about [breakout_time] minutes)" - for(var/mob/O in viewers(usr.loc)) - O.show_message("\red The [L.loc] begins to shake violently!", 1) + if(istype(M)) + M.drop_from_inventory(H) + M << "[H] wriggles out of your grip!" + src << "You wriggle out of [M]'s grip!" + else if(istype(H.loc,/obj/item)) + src << "You struggle free of [H.loc]." + H.loc = get_turf(H) + if(istype(M)) + for(var/atom/A in M.contents) + if(istype(A,/mob/living/simple_animal/borer) || istype(A,/obj/item/weapon/holder)) + return - spawn(0) - if(do_after(usr,(breakout_time*60*10))) //minutes * 60seconds * 10deciseconds - if(!C || !L || L.stat != CONSCIOUS || L.loc != C || C.opened) //closet/user destroyed OR user dead/unconcious OR user no longer in closet OR closet opened - return + M.status_flags &= ~PASSEMOTES - //Perform the same set of checks as above for weld and lock status to determine if there is even still a point in 'resisting'... - if(istype(L.loc, /obj/structure/closet/secure_closet)) - var/obj/structure/closet/secure_closet/SC = L.loc - if(!SC.locked && !SC.welded) - return - else - if(!C.welded) - return +/mob/living/proc/escape_buckle() + if(buckled) + buckled.user_unbuckle_mob(src) - //Well then break it! - if(istype(usr.loc, /obj/structure/closet/secure_closet)) - var/obj/structure/closet/secure_closet/SC = L.loc - SC.desc = "It appears to be broken." - SC.icon_state = SC.icon_off - flick(SC.icon_broken, SC) - sleep(10) - flick(SC.icon_broken, SC) - sleep(10) - SC.broken = 1 - SC.locked = 0 - SC.update_icon() - usr << "\red You successfully break out!" - for(var/mob/O in viewers(L.loc)) - O.show_message("\red \the [usr] successfully broke out of \the [SC]!", 1) - if(istype(SC.loc, /obj/structure/bigDelivery)) //Do this to prevent contents from being opened into nullspace (read: bluespace) - var/obj/structure/bigDelivery/BD = SC.loc - BD.attack_hand(usr) - SC.open() - else - C.welded = 0 - C.update_icon() - usr << "\red You successfully break out!" - for(var/mob/O in viewers(L.loc)) - O.show_message("\red \the [usr] successfully broke out of \the [C]!", 1) - if(istype(C.loc, /obj/structure/bigDelivery)) //nullspace ect.. read the comment above - var/obj/structure/bigDelivery/BD = C.loc - BD.attack_hand(usr) - C.open() - - //drop && roll or breaking out of handcuffs - else if(iscarbon(L)) - var/mob/living/carbon/CM = L - if(CM.on_fire && CM.canmove) - CM.fire_stacks -= 5 - CM.Weaken(3) - CM.spin(32,2) - CM.visible_message("[CM] rolls on the floor, trying to put themselves out!", \ - "You stop, drop, and roll!") - sleep(30) - if(fire_stacks <= 0) - CM.visible_message("[CM] has successfully extinguished themselves!", \ - "You extinguish yourself.") - ExtinguishMob() - return - if(CM.handcuffed && CM.canmove && (CM.last_special <= world.time)) - CM.next_move = world.time + 100 - CM.last_special = world.time + 100 - - var/can_break_cuffs - if(HULK in usr.mutations) - can_break_cuffs = 1 - else if(istype(CM,/mob/living/carbon/human)) - var/mob/living/carbon/human/H = CM - if(H.species.can_shred(H,1)) - can_break_cuffs = 1 - - if(can_break_cuffs) //Don't want to do a lot of logic gating here. - usr << "\red You attempt to break your handcuffs. (This will take around 5 seconds and you need to stand still)" - for(var/mob/O in viewers(CM)) - O.show_message(text("\red [] is trying to break the handcuffs!", CM), 1) - spawn(0) - if(do_after(CM, 50)) - if(!CM.handcuffed || CM.buckled) - return - for(var/mob/O in viewers(CM)) - O.show_message(text("\red [] manages to break the handcuffs!", CM), 1) - CM << "\red You successfully break your handcuffs." - CM.say(pick(";RAAAAAAAARGH!", ";HNNNNNNNNNGGGGGGH!", ";GWAAAAAAAARRRHHH!", "NNNNNNNNGGGGGGGGHH!", ";AAAAAAARRRGH!" )) - del(CM.handcuffed) - CM.handcuffed = null - if(buckled && buckled.buckle_require_restraints) - buckled.unbuckle_mob() - CM.update_inv_handcuffed() - else - var/obj/item/weapon/handcuffs/HC = CM.handcuffed - var/breakouttime = 1200 //A default in case you are somehow handcuffed with something that isn't an obj/item/weapon/handcuffs type - var/displaytime = 2 //Minutes to display in the "this will take X minutes." - if(istype(HC)) //If you are handcuffed with actual handcuffs... Well what do I know, maybe someone will want to handcuff you with toilet paper in the future... - breakouttime = HC.breakouttime - displaytime = breakouttime / 600 //Minutes - CM << "\red You attempt to remove \the [HC]. (This will take around [displaytime] minutes and you need to stand still)" - for(var/mob/O in viewers(CM)) - O.show_message( "\red [usr] attempts to remove \the [HC]!", 1) - spawn(0) - if(do_after(CM, breakouttime)) - if(!CM.handcuffed || CM.buckled) - return // time leniency for lag which also might make this whole thing pointless but the server - for(var/mob/O in viewers(CM))// lags so hard that 40s isn't lenient enough - Quarxink - O.show_message("\red [CM] manages to remove the handcuffs!", 1) - CM << "\blue You successfully remove \the [CM.handcuffed]." - CM.drop_from_inventory(CM.handcuffed) - - else if(CM.legcuffed && CM.canmove && (CM.last_special <= world.time)) - CM.next_move = world.time + 100 - CM.last_special = world.time + 100 - - var/can_break_cuffs - if(HULK in usr.mutations) - can_break_cuffs = 1 - else if(istype(CM,/mob/living/carbon/human)) - var/mob/living/carbon/human/H = CM - if(H.species.can_shred(H,1)) - can_break_cuffs = 1 - - if(can_break_cuffs) //Don't want to do a lot of logic gating here. - usr << "\red You attempt to break your legcuffs. (This will take around 5 seconds and you need to stand still)" - for(var/mob/O in viewers(CM)) - O.show_message(text("\red [] is trying to break the legcuffs!", CM), 1) - spawn(0) - if(do_after(CM, 50)) - if(!CM.legcuffed || CM.buckled) - return - for(var/mob/O in viewers(CM)) - O.show_message(text("\red [] manages to break the legcuffs!", CM), 1) - CM << "\red You successfully break your legcuffs." - CM.say(pick(";RAAAAAAAARGH!", ";HNNNNNNNNNGGGGGGH!", ";GWAAAAAAAARRRHHH!", "NNNNNNNNGGGGGGGGHH!", ";AAAAAAARRRGH!" )) - del(CM.legcuffed) - CM.legcuffed = null - CM.update_inv_legcuffed() - else - var/obj/item/weapon/legcuffs/HC = CM.legcuffed - var/breakouttime = 1200 //A default in case you are somehow legcuffed with something that isn't an obj/item/weapon/legcuffs type - var/displaytime = 2 //Minutes to display in the "this will take X minutes." - if(istype(HC)) //If you are legcuffed with actual legcuffs... Well what do I know, maybe someone will want to legcuff you with toilet paper in the future... - breakouttime = HC.breakouttime - displaytime = breakouttime / 600 //Minutes - CM << "\red You attempt to remove \the [HC]. (This will take around [displaytime] minutes and you need to stand still)" - for(var/mob/O in viewers(CM)) - O.show_message( "\red [usr] attempts to remove \the [HC]!", 1) - spawn(0) - if(do_after(CM, breakouttime)) - if(!CM.legcuffed || CM.buckled) - return // time leniency for lag which also might make this whole thing pointless but the server - for(var/mob/O in viewers(CM))// lags so hard that 40s isn't lenient enough - Quarxink - O.show_message("\red [CM] manages to remove the legcuffs!", 1) - CM << "\blue You successfully remove \the [CM.legcuffed]." - CM.drop_from_inventory(CM.legcuffed) - CM.legcuffed = null - CM.update_inv_legcuffed() +/mob/living/proc/resist_grab() + var/resisting = 0 + for(var/obj/O in requests) + requests.Remove(O) + del(O) + resisting++ + for(var/obj/item/weapon/grab/G in grabbed_by) + resisting++ + switch(G.state) + if(GRAB_PASSIVE) + del(G) + if(GRAB_AGGRESSIVE) + if(prob(60)) //same chance of breaking the grab as disarm + visible_message("[src] has broken free of [G.assailant]'s grip!") + del(G) + if(GRAB_NECK) + //If the you move when grabbing someone then it's easier for them to break free. Same if the affected mob is immune to stun. + if (((world.time - G.assailant.l_move_time < 30 || !stunned) && prob(15)) || prob(3)) + visible_message("[src] has broken free of [G.assailant]'s headlock!") + del(G) + if(resisting) + visible_message("[src] resists!") /mob/living/verb/lay_down() set name = "Rest" diff --git a/code/modules/mob/living/simple_animal/borer/borer_captive.dm b/code/modules/mob/living/simple_animal/borer/borer_captive.dm index eacc058945..79e78b4d5e 100644 --- a/code/modules/mob/living/simple_animal/borer/borer_captive.dm +++ b/code/modules/mob/living/simple_animal/borer/borer_captive.dm @@ -32,4 +32,28 @@ M << "The captive mind of [src] whispers, \"[message]\"" /mob/living/captive_brain/emote(var/message) - return \ No newline at end of file + return + +/mob/living/captive_brain/resist() + //Resisting control by an alien mind. + if(istype(src.loc,/mob/living/simple_animal/borer)) + var/mob/living/simple_animal/borer/B = src.loc + var/mob/living/captive_brain/H = src + + H << "You begin doggedly resisting the parasite's control (this will take approximately sixty seconds)." + B.host << "You feel the captive mind of [src] begin to resist your control." + + spawn(rand(200,250)+B.host.brainloss) + if(!B || !B.controlling) return + + B.host.adjustBrainLoss(rand(5,10)) + H << "With an immense exertion of will, you regain control of your body!" + B.host << "You feel control of the host brain ripped from your grasp, and retract your probosci before the wild neural impulses can damage you." + B.detatch() + verbs -= /mob/living/carbon/proc/release_control + verbs -= /mob/living/carbon/proc/punish_host + verbs -= /mob/living/carbon/proc/spawn_larvae + + return + + ..() diff --git a/code/modules/recycling/sortingmachinery.dm b/code/modules/recycling/sortingmachinery.dm index 5b375ed8f7..d7ef079ef9 100755 --- a/code/modules/recycling/sortingmachinery.dm +++ b/code/modules/recycling/sortingmachinery.dm @@ -15,13 +15,15 @@ var/tag_x attack_hand(mob/user as mob) + unwrap() + + proc/unwrap() if(wrapped) //sometimes items can disappear. For example, bombs. --rastaf0 wrapped.loc = (get_turf(src.loc)) if(istype(wrapped, /obj/structure/closet)) var/obj/structure/closet/O = wrapped O.welded = 0 del(src) - return attackby(obj/item/W as obj, mob/user as mob) if(istype(W, /obj/item/device/destTagger)) From 98a4f54b88e00661dbe0126858936f286427b2ff Mon Sep 17 00:00:00 2001 From: mwerezak Date: Fri, 1 May 2015 00:27:58 -0400 Subject: [PATCH 025/305] Adds span classes, moves secure closet procs --- .../structures/crates_lockers/closets.dm | 23 +------- .../closets/secure/secure_closets.dm | 22 +++++++ code/modules/mob/living/carbon/resist.dm | 58 ++++++++++++------- code/modules/mob/living/living.dm | 6 +- 4 files changed, 62 insertions(+), 47 deletions(-) diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm index adf9da47e0..fc60729c4c 100644 --- a/code/game/objects/structures/crates_lockers/closets.dm +++ b/code/game/objects/structures/crates_lockers/closets.dm @@ -316,10 +316,6 @@ return 0 //closed but not welded... return 1 -/obj/structure/closet/secure_closet/req_breakout() - if(!opened && locked) return 1 - return ..() //It's a secure closet, but isn't locked. - /obj/structure/closet/proc/mob_breakout(var/mob/living/escapee) var/breakout_time = 2 //2 minutes by default @@ -329,7 +325,7 @@ //okay, so the closet is either welded or locked... resist!!! escapee.next_move = world.time + 100 escapee.last_special = world.time + 100 - escapee << "\red You lean on the back of \the [src] and start pushing the door open. (this will take about [breakout_time] minutes)" + escapee << "You lean on the back of \the [src] and start pushing the door open. (this will take about [breakout_time] minutes)" visible_message("The [src] begins to shake violently!") playsound(src.loc, 'sound/effects/grillehit.ogg', 100, 1) @@ -357,20 +353,3 @@ var/obj/structure/bigDelivery/BD = loc BD.unwrap() open() - -/obj/structure/closet/secure_closet/break_open() - desc += " It appears to be broken." - icon_state = icon_off - spawn() - flick(icon_broken, src) - sleep(10) - flick(icon_broken, src) - sleep(10) - broken = 1 - locked = 0 - update_icon() - //Do this to prevent contents from being opened into nullspace (read: bluespace) - if(istype(loc, /obj/structure/bigDelivery)) - var/obj/structure/bigDelivery/BD = loc - BD.unwrap() - open() diff --git a/code/game/objects/structures/crates_lockers/closets/secure/secure_closets.dm b/code/game/objects/structures/crates_lockers/closets/secure/secure_closets.dm index a3b9f39928..df2985c42e 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/secure_closets.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/secure_closets.dm @@ -132,3 +132,25 @@ overlays += "welded" else icon_state = icon_opened + + +/obj/structure/closet/secure_closet/req_breakout() + if(!opened && locked) return 1 + return ..() //It's a secure closet, but isn't locked. + +/obj/structure/closet/secure_closet/break_open() + desc += " It appears to be broken." + icon_state = icon_off + spawn() + flick(icon_broken, src) + sleep(10) + flick(icon_broken, src) + sleep(10) + broken = 1 + locked = 0 + update_icon() + //Do this to prevent contents from being opened into nullspace (read: bluespace) + if(istype(loc, /obj/structure/bigDelivery)) + var/obj/structure/bigDelivery/BD = loc + BD.unwrap() + open() \ No newline at end of file diff --git a/code/modules/mob/living/carbon/resist.dm b/code/modules/mob/living/carbon/resist.dm index 722fbe3f80..775ef920e8 100644 --- a/code/modules/mob/living/carbon/resist.dm +++ b/code/modules/mob/living/carbon/resist.dm @@ -10,12 +10,16 @@ fire_stacks -= 2 //reduced Weaken(3) spin(32,2) - visible_message("[src] rolls on the floor, trying to put themselves out!", \ - "You stop, drop, and roll!") + visible_message( + "[src] rolls on the floor, trying to put themselves out!", + "You stop, drop, and roll!" + ) sleep(30) if(fire_stacks <= 0) - visible_message("[src] has successfully extinguished themselves!", \ - "You extinguish yourself.") + visible_message( + "[src] has successfully extinguished themselves!", + "You extinguish yourself." + ) ExtinguishMob() return @@ -46,14 +50,18 @@ breakouttime = HC.breakouttime displaytime = breakouttime / 600 //Minutes - src << "\red You attempt to remove \the [HC]. (This will take around [displaytime] minutes and you need to stand still)" - visible_message("\red [src] attempts to remove \the [HC]!") + visible_message( + "[src] attempts to remove \the [HC]!", + "You attempt to remove \the [HC]. (This will take around [displaytime] minutes and you need to stand still)" + ) if(do_after(src, breakouttime)) if(!handcuffed || buckled) return - visible_message("\red [src] manages to remove the handcuffs!") - src << "\blue You successfully remove \the [handcuffed]." + visible_message( + "[src] manages to remove \the [handcuffed]!", + "You successfully remove \the [handcuffed]." + ) drop_from_inventory(handcuffed) /mob/living/carbon/proc/escape_legcuffs() @@ -76,15 +84,17 @@ breakouttime = HC.breakouttime displaytime = breakouttime / 600 //Minutes - src << "\red You attempt to remove \the [HC]. (This will take around [displaytime] minutes and you need to stand still)" - visible_message( "\red [usr] attempts to remove \the [HC]!" ) + visible_message( + "[usr] attempts to remove \the [HC]!", + "You attempt to remove \the [HC]. (This will take around [displaytime] minutes and you need to stand still)" + ) if(do_after(src, breakouttime)) if(!legcuffed || buckled) return visible_message( - "\red [src] manages to remove the legcuffs!", - "\blue You successfully remove \the [legcuffed]." + "[src] manages to remove \the [legcuffed]!", + "You successfully remove \the [legcuffed]." ) drop_from_inventory(legcuffed) @@ -96,16 +106,18 @@ return 1 /mob/living/carbon/proc/break_handcuffs() - src << "\red You attempt to break your handcuffs. (This will take around 5 seconds and you need to stand still)" - visible_message(text("\red [] is trying to break the handcuffs!", src)) + visible_message( + "[src] is trying to break \the [handcuffed]!", + "You attempt to break your [handcuffed.name]. (This will take around 5 seconds and you need to stand still)" + ) if(do_after(src, 50)) if(!handcuffed || buckled) return visible_message( - "\red [src] manages to break the handcuffs!", - "\red You successfully break your handcuffs." + "[src] manages to break \the [handcuffed]!", + "You successfully break your [handcuffed.name]." ) say(pick(";RAAAAAAAARGH!", ";HNNNNNNNNNGGGGGGH!", ";GWAAAAAAAARRRHHH!", "NNNNNNNNGGGGGGGGHH!", ";AAAAAAARRRGH!" )) @@ -117,16 +129,16 @@ update_inv_handcuffed() /mob/living/carbon/proc/break_legcuffs() - src << "\red You attempt to break your legcuffs. (This will take around 5 seconds and you need to stand still)" - visible_message("\red [src] is trying to break the legcuffs!") + src << "You attempt to break your legcuffs. (This will take around 5 seconds and you need to stand still)" + visible_message("[src] is trying to break the legcuffs!") if(do_after(src, 50)) if(!legcuffed || buckled) return visible_message( - "\red [src] manages to break the legcuffs!", - "\red You successfully break your legcuffs." + "[src] manages to break the legcuffs!", + "You successfully break your legcuffs." ) say(pick(";RAAAAAAAARGH!", ";HNNNNNNNNNGGGGGGH!", ";GWAAAAAAAARRRHHH!", "NNNNNNNNGGGGGGGGHH!", ";AAAAAAARRRGH!" )) @@ -149,8 +161,10 @@ else next_move = world.time + 100 last_special = world.time + 100 - src << "\red You attempt to unbuckle yourself. (This will take around 2 minutes and you need to stand still)" - visible_message("\red [usr] attempts to unbuckle themself!") + visible_message( + "[usr] attempts to unbuckle themself!", + "You attempt to unbuckle yourself. (This will take around 2 minutes and you need to stand still)" + ) if(do_after(usr, 1200)) if(!buckled) diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 78ca8d1f8b..cb36ac853e 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -492,10 +492,10 @@ if(istype(M)) M.drop_from_inventory(H) - M << "[H] wriggles out of your grip!" - src << "You wriggle out of [M]'s grip!" + M << "[H] wriggles out of your grip!" + src << "You wriggle out of [M]'s grip!" else if(istype(H.loc,/obj/item)) - src << "You struggle free of [H.loc]." + src << "You struggle free of [H.loc]." H.loc = get_turf(H) if(istype(M)) From 8b32d2356eb9bef788798a7a9524a44223825616 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Fri, 1 May 2015 01:21:04 -0400 Subject: [PATCH 026/305] Fixes #9044 Apparently stunned ticks down after grabs are updated. --- code/modules/mob/mob_grab.dm | 2 +- html/changelogs/HarpyEagle-NeckgrabFix.yml | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 html/changelogs/HarpyEagle-NeckgrabFix.yml diff --git a/code/modules/mob/mob_grab.dm b/code/modules/mob/mob_grab.dm index 2b47227dfe..2d26f3b605 100644 --- a/code/modules/mob/mob_grab.dm +++ b/code/modules/mob/mob_grab.dm @@ -96,7 +96,7 @@ affecting.loc = assailant.loc if(state >= GRAB_NECK) - affecting.Stun(1) + affecting.Stun(3) if(isliving(affecting)) var/mob/living/L = affecting L.adjustOxyLoss(1) diff --git a/html/changelogs/HarpyEagle-NeckgrabFix.yml b/html/changelogs/HarpyEagle-NeckgrabFix.yml new file mode 100644 index 0000000000..6ff399b77e --- /dev/null +++ b/html/changelogs/HarpyEagle-NeckgrabFix.yml @@ -0,0 +1,5 @@ +author: HarpyEagle +delete-after: True + +changes: + - bugfix: "Neck-grabbing someone now stuns them properly." From b34e44ab847aed5844ebfef7c427190fe65c1422 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Fri, 1 May 2015 08:54:05 +0200 Subject: [PATCH 027/305] Mice are now numbered. You are not a man. This should also make things easier for admins. --- .../mob/living/simple_animal/friendly/mouse.dm | 12 ++++++++++-- html/changelogs/PsiOmegaDelta-OfMiceAndMen.yml | 5 +++++ 2 files changed, 15 insertions(+), 2 deletions(-) create mode 100644 html/changelogs/PsiOmegaDelta-OfMiceAndMen.yml diff --git a/code/modules/mob/living/simple_animal/friendly/mouse.dm b/code/modules/mob/living/simple_animal/friendly/mouse.dm index 5b207ce2a7..ad41fc28aa 100644 --- a/code/modules/mob/living/simple_animal/friendly/mouse.dm +++ b/code/modules/mob/living/simple_animal/friendly/mouse.dm @@ -56,7 +56,10 @@ verbs += /mob/living/proc/ventcrawl verbs += /mob/living/proc/hide - name = "[name] ([rand(1, 1000)])" + if(name == initial(name)) + name = "[name] ([rand(1, 1000)])" + real_name = name + if(!body_color) body_color = pick( list("brown","gray","white") ) icon_state = "mouse_[body_color]" @@ -112,5 +115,10 @@ name = "Tom" desc = "Jerry the cat is not amused." +/mob/living/simple_animal/mouse/brown/Tom/New() + ..() + // Change my name back, don't want to be named Tom (666) + name = initial(name) + /mob/living/simple_animal/mouse/can_use_vents() - return \ No newline at end of file + return diff --git a/html/changelogs/PsiOmegaDelta-OfMiceAndMen.yml b/html/changelogs/PsiOmegaDelta-OfMiceAndMen.yml new file mode 100644 index 0000000000..0a994dfbc4 --- /dev/null +++ b/html/changelogs/PsiOmegaDelta-OfMiceAndMen.yml @@ -0,0 +1,5 @@ +author: PsiOmegaDelta +delete-after: True + +changes: + - tweak: "Mice are now numbered to aid admins." From 691931cfc18535d764a4b9cf8245341667436e50 Mon Sep 17 00:00:00 2001 From: Ravensdale Date: Fri, 1 May 2015 05:48:08 -0700 Subject: [PATCH 028/305] Fix animation error with dir 4 droid leg --- icons/mob/robots.dmi | Bin 155583 -> 155537 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/mob/robots.dmi b/icons/mob/robots.dmi index 777f68c62e6f10f6b587c24c9e7a02387ff3aa06..e27dcab96d60daf40c3a1ca0ccfea70a27de7a90 100644 GIT binary patch delta 49035 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 N#s+5k)t8*({vQict~&q# delta 49123 zcmafb2RM~~|NjvgQC3CSBTBN8onureMUs%RO0q|VjN2aBWM!oivWt*$?2(-$d+%iL zvYkfrGsBkzc&mxlC1O(aHHN<&Tj&aJ$ z-p}0MTOB_y!ZIGKNFb zUy@(X1eaHaOuO0ppWMuUUiAz8kCYF*aZQ6jdRaney*LlaU2ixwKF6`*#95VpO@6me z!frwB8z#>75M@YJ&u*{G9|5iA)@)ef6ssY&elk5=3OI7Z_fYvx^|IXpULyTf2QPS zK79DFT<3aVV4&yVl7G7yi;hOLaXX0;9hu^PzS6`Of8|cvmQ9~*dvl4p@1g63JRIRA zBDXWSn5?_d3&7s5M4CrXKg{oSyzW6pByA3l6As`aIk^1w^+X{3bw{;gZF@#BW_ z0+o{T|GX+@`zu$jj7>BI!$l}qSqWm^W@J#zb|m}sEwb(Hw>(hzA2$%FIX^#Nv$HxW zdgJL2UW4bocQKgoCZ8`)I!)j=DSKewkox}j?FG`SsH@Wub~_PnF)@bj?(TT8$43SR z2gg^PyLx&qPHnUNVCA&39*!d>k_aF!=C{nulH2qaI}UhKo}102v`s#`#Wx#SD%Zj* z%_Yp$*d!G;{w8jX?zpys!kd6Y!(BIVA~Io z5`@+;{$}Np*WPdPrxGYW_Zn znZXZ8TKyio>A)92o&QrK_x;@BqOzJ=OVO_u)s<+=ueySc-!-I={r!EHqsQ1}#MMaC9*$#r z5drkNXf@%Iw2@EPUL@~dSNQ%O!X?B%+o_jG)KKCbm|pDq#U4(<+T`_EZ*KGD>zEkh z_BWRT!^0`+L_|)9+DWl0vR&jPZI-#mPk28p+Oo#P!V+9jA?HC?^z|z_a+T|Caq)?R zg9Bs-n;~1!(Hlf`{6-2F>ew;b*GB<2Q&m;vGLD5?SzBA9V_~7j;6vxI18lmp3pD5X z|9zDj|9)csTxjY7HV)tY30pHg<(Bs>ZN^emlqlm>bfZ+X&$`lO-Ry5#0Q&^SXnCY^ zh;Xnk9o<3}``B0lNwlB-eu6pl8hrh>k_ZV8_j#-btNv%WJZ`YuNtgn2zr?tTpSgV#L*_=>>&zT_D2t$ z#}6Ni@8Xe`KE)SJHMOkjy`Ztl|8`H~fN0+kR18K*^>gRXGHHdn~fewUw5+tSjKnV+ws zqCzobBl)eo{I<5XZ+_L@k?ZLU0x?HSO-+BpeUvz_nlRIl)TDu)!~t{Hsx2y?M}lgq}pT+?U01_?JcT zX}AmBVv7@SwYss0->{9!)2HV)US9tE<%|95#8rcD�b0eX4o(`0uaQES^EvMa2?m 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%0DX4%D4Ut!$m^3@Cm`YfYA2F z<#Z`vY;aj=GQ4T&A^;>HT53@dE z31yM@0%X*0{sqmiTD~9zzOpe?(KB$%5o0a?YSG(rA!-Rr2y8DNtT%sr*XXfzpEX_T zfgq>e_!-0C>uzUNw!o3mJU7)&(XK7Q7B7~`%oeEp5Q2x+qEU!AF3l2<2D$Bn1SIsG z!Rq2%Zc|kWC5Y>)q8f-x3D$ON`$MVUs#Y)2TNL>1?!wNfEfIj~B4=HG@mp_5hJQHB zy3A%B&TnOihS1q+HgVvc>+p2B`myUetEJ9PV^B_J$?(UtX4=6*KAmj8RQTbob(_7U zdk)%Js|D(&8f_Z@L{#}3>z zW7Vh!G1+|8k97YV6eLL>q4+U^fm{E&gZHAtpG6iYXtp!V>$YR>R+yk0S8^9W>66C7 zFoZO5g?&YUHq;6R3j+{q;D%EG+QcnXPu<^TWlD6k#Roe!{>@BLs;eF?qz#q!GxG^u zq+D*tDEc>Sx)XI8pkvOMqg;T1Ea%XYW#| zA&JV!=;RQ%XPFVr?HBbI=)1pTv9b%y>fKP&^cO51tj7HO*Tl@=i}N^R_A&v`NQ1D~3IWW$LC;O|){=Ch3Lf^^-|9?aA-;h|*aL?d_kN1Wh4h6F*7t+T&ud2tETN~LXqvrk1tynyjEEfE>B|B{o zr78PtA=}PH_e-{)fciY}@bD}w^6H#IB~;&+(z~orJzXTvSge-e=M&B7l=3G^LZVuGtKwn8z13A-$y`nh+s=(_xydqoI#q z)Y5DF>FjhHk}(v8TpSeY_V{Ul9SV%X@BSm zNCsE&EHJK4ikL1b3lxJCmR(6dMClnO7g?&Kb_^2ChCDny6sZ=H`aJ&~gi|NqCu>Rl zuO(;n|4DORn7ZzJobeahPL6boqA1>B9`y3j<)3!0*N_x${L;6e!voB=NSLI z|DZIZf0deLic3Hr%TCyG?=?*}SAP$Qpo+Jar){bN1iuO#Z)hkm=I9?%a4~4sD@{w^ zb9t-wu}k;VKslfGpS1R(p#h(itz@G`oeal1A@zTo;YE8{k=IGUo!QDZ{Eo=~4UiEH z0bF{N{AWO30y|cmv~sZz@h&UkP(@EkYYoZa%?!To?P-=z_Y()ZE@87Z#ay< zXDI`G_~U;A4|$$PBiC z`ewP+-@&&W_p4kKN>qNy&_^dXzWAS7QTaKj`8)!cDFhr{L^D$36rO>G8W0Qp`TF0j zMNp!TyY3ofadA+a8=_TYkl> z-i_mvBH%lo$dGvijMqB+4+j(_wC(KfifDuTVa=vs`cQgiYMy9&AWb92CKb^o*rY;nxhAn^*$;VGUiP>R+JHElh`pY zIaWBZMc^7^Cb9IO*QuMo{8g9L>w`O4rmdHZNE#)5e(HLQj_6cKr(48YTKJZk(9xwt zDn0_LT*cbitIU24Ksrp=Jz(mf@p$@&s4eNuxFZ!@tsWirarKDg>dt}7h7wQVN0eRV zYkQm9niROLimr>+cu{K>8+)5u_djF{5adX&^uNKTx1xos_|2~zH-c!rLJ2p&t{S#Z z0m{0Kn734(M(;X{SSR6CI=F!p*GW%`Wv-AT8k+72hT1YHSWSWIpm-PCe{d;HVqSC? zJjq)1q2^+kyNd7sF29N{8Ft9=aXHPyl>`5fUWGI&60WWyt2{5*4R$09sfL^TLNBY^ zoJXqqu7*RQMGWOJiGGc03q`sS6hQQlC)u$Jc-NpKhg2ht2NL+l}qn83DTBckg3 zugys4zjY%apl<;prkC5sLz>;z>t7YF-4Z+reQTkZ>Z$*rU>r0dsV#CzDku;6@$c#7 zkC;uXw<0YKfz!zA=(rrTSsL3|l`rqF!smD0-96`W8}Q4au`xf{0zJ{hCAId=lxzD< z+WT7J`+*1gRYxFi*#x~p;4UTL28FLxcaB{4b%dP9jd52~AQD++d5~7CRkrWN~p(#Oq&smDmI9 zzrO0p_=c?h_!KBr{l7&t05nNO4#p;-GV%WfprK%cVn@sp0ikT<{~6Ji&_d;(5RFuF zbcuTY4bfgY{b9Al@#yG7+@1lCU+yFP*+1hL`j3PXf723>{i*$)WF7p^NmM8!_hW;1 z0is>BiT^!`diSo{KPFK<{Kg7*R+n~b_Y8!mo63zY3b+i)SE+lTn{C8x$zVr6Su8kNUgrjb`p(l`CmJH!SPlCq>$sYt8tQr zy+^oEaDQoQD0h)eF`gIYGpmb6if-eICm`HDKsd8Ym&A}B1Fs#0^P+NxHG0gwmXfTc zFD+68{=hesokNnWx2k*kxhFVgmBPpvq@`PJNHPI9Xt^beVQx#!S|@!B`*KDVD$6Dl2f&MMnqZNV@)wYUw!(>#zLzjhzcG7hN{1z0&QRyi)a=WH z4zqIGYv;gWz$)syi&W~2-tw2ixfjw6+l|bM%x;5157!P5d~qvNCUzVuGm=|Nyd3$K znM)k6=GDlw7^r!%kvmdr|B*e_Wc&V14$L2FUb~VNu;_u(h^>PiveN&)*ezLd>JlMa;Qvf&quEz^twn$s7b|`?lknpzCB5=lY?+!M#LV4)<>gMFmY=zW8 zD6Wi#R~xTMdV)*d>!vT+fj)LUAD2?LgfkLYnjEwG z_7AF>#S1m&#c+f3t!`lUcixh^69}0(59#px9~y}c+IRJl=89FT_MeRYhIuT%0v>EF zq}d`n!U62BIJHEM-eWuY@Nbz}V|}w{YJKk8?c19ETI-Gn7&}g(6oQ!v7?Kizr)7XY zNf>`paxq)VV(s>>ch9cdqtD9yuVTXjm;ue|k$Jx+5AAV?CP4!XD!=F!5APVfTXqvR$TWxfFY(8bk4yNlez zp%!-lKMWRBsAkFH3M#3WhWh~AuJYg3exE}u&;4=-%M^h(cipqd&dxIq=T95zDuNmd znryaxGvg>Tp6hR_?0*zx(f@3?{okpwxT|{AWCnn^f!}pa%{1$9Gn}e+hi>Nx#d;tW z8vdHFVZhp1n07!&`}+E(zf?z~|E4^8DH|+PoFV4RAqhrfpoE*uIhReg{J+vc{?FsN zqWg;_!Jo_bRR1>I?V?t<=xGNVdZvjQBwk#md4lk~ahU7{))awL)a{b`;Majdiav=? z<+Z1apmH~H$>9VBC-saK+lhJfm^32X^&8(UF9CLP>>6ZSLz98e5r-Z>{*dJ+AjMzn zAQApI!!HoMCmAkG3VtqlbDL=5!glpNJjIZa zSeV0@UDmU7Yt>MQJ&;4@EXx;Ch8vl|voZI;0wC9QZVq#{yR1*nA1~3% z5HIaQDi1b<=Epi87Cq3cIb`Z*bA?&z#LWEjgi&k5XEhkKh<%Np*i_f@Vol^?9Kq_g z6vjVw!fefOPHM_?NXAxrSrHiaOKE~s2?mZHm$5$#U~P0vc`;s z^|tV`CoxZi`jyajCAm2_ca!|Z&au;I*Ld8+ZH$FO-kc|#i@a+Jr6=a32ntWS-c^0Y9(sD35z;Rli{U@=J!W8@^XDGP zqg)*x4yOYjMwU+ilChV_>)<>WG_DGO>sRuq&maJ!=G*YlPKu%<(2cDPGm-CKs^&JlbV zH-_<)Qu5wl)sGoz623Fc0g2-NlF9K(jUF;%+?P?y zO^ur$k7=D&Fzf(;zVDXy;b$t&|X3)V-@n@L^V%rW2MjKpQ>lv1?I{3HAyx$R(m&Ly@D{y zSw^EnS1aQ)w#-PLux(pZUAO9)2k@@IlYmCz!UAO$>50``6JJ?_WMVUWXIai$FLi1|~As|kpipU3^qqj4e z_0_|%Hv$`rIAvtFj}@z;eO9?g*j;~0rHcxbWz!TyQayN7*44jQ!Llmu6g%>~0PZiu z-*FzfEpdN^HN#ra=gc1UQ!{y8jVSB5xA*dGq!s6X3i%yAVzgPebN_E)lN-Gv&$>-+ zQ(5=WV+}qCyAs7Z-kH>EIMDX5(`y#^$CtPWDQMh8qf^>h8m8MEE`0m6*m6(s>D7&| ze~6qFxtCIOkbY&RYvQ_*fYR;lE)#1l?%HjHBXDbH!I!^UY_cx6$JrdHchvm9sfmE9*JzIm6mmb9TOz zX11j_aeco>S-2h~5>=OCDz<(ex%x#&HzNK;fs=89@w4!U_~7i@hiv#>%IqBes6b`g z*CX;0PD7pSef4mr8rR=E9N42+78A+P>*z;^x9( za)A_b9^;UiHvT-i@yAml9OIt7no~P9b(B#3OMBD=jT06JB)nZ>chb)^*F-32HDuo{ zN>X9lf3yz0y%)bsHkZq?%Qs$r!>4jtMatvDsBv?I%{{*)%XMe@QCC3@mA#<0i6(J#)wos3>w z)qS1v!qoUUOb{O#+f|?TtezQggKOofv{vzfn8Xme?&xg+GU|NpfM9t|8n2J`v;}em zE}E7EOwM_RNu4wyvYy5U@p19vb z%X{pG<=`#z`+Kfc$TME_?||EE-4#WN8J}Mr5cefJ-*pZ1jv3}`=2q^SfuLx*ijF&Uq^5MK3gInIPAd!YYINOa)*qO-tud3 z8O!`@mAyTaoH!Xs>2Tezg z)+DD~OP;s8XlcbF&SUU>rH9V>m*xJj8GaR%9HaVLhz`Z8kaK6ZTzt-4s~;9-;pmICM+kivr%rd0=tHX5QM8b z^g)I%kGbLG3cp+<(!fJekBv#hhc%c$_HX_+C1_7k;V#%LJhi_lU-!puNu2v$_Q|pD z&GMIT80x({H5!d>lw_kn)+5C=-kvI{#HTP%n!ak?Q+hnMH@&J*eG}%J=3iPLBDdhR zbxP%$ zDTf!sGUXYT{6%?8j;S7LmyX#d&!6Kr2Uk6inZ2#&M)WQ(w0oI>kvNR)ww`JC3b&2x zecFS9ZgGcHS}(sFx$iW3k2_@bTyJj~`Ftar>%7){@yd$|SGeHUe?WTx?Wgm{yV`b}w6UMXKL+UcSUj4UpH)b6F^Cc@nj3G z^*-19(YA*t&isExop~Ts-}}d}og^en_GAr7!2FTh_dy zv;|EsVYu-mRWV@2`go&!8>ccAW9K^G4PHtQ%BZb&{>>;&%6D~YkT&(pZS^hdv}J{;Z@YaYPGi_RHqZ##vMeE^ep1IQ6a ziz*(^n9Oiq3fR2j^Hc~(+vuK^s$u`zWJF)jLBa(z z+=(Qj?vYql1iH26X2%@=N~tJKf|2OFJ)m=4Q}ZYFc`#3ScA%h(`+h&~@Rn6xwaF5g z+x*{tD%*ZDqC`gDLWgu{-`aZGsN!*ca|M;zQDdkl{V`C_=$tzOZ!S!Jzen1_;rR1N z{StdsOoq{l{QJAIVa5}{H+0a|2|6E;i$yBEyw5i&CgxJ;b$4JC)GT47P!?JY`FMq$ zpZi4Yj)dfiHt?&dh;c03fW5i02!EhC}9ym)T?Gp*n3jD>0OjR{)YMc@5T{@D6P?vXj?G9HT{1x>|c zb6P;%ar4{sFk{W0&WqfywUS6DUw;{zuo`~CZ;Fi zUfTlRlz$qk=3mhp>HrzfCT?)I>esrkH`Zeaqk_B{{m-aeQ={4BwQH1+jid_sHN5AY)jA z+R$*^$pGZxSu;S+$90o(({P^4{Jj&wzrJ7jUf%+aNwKG|%ArWfz%qn{�!0DngLz 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 From 3509178aa8a4b46a1f6dad3d1345c342be92dcb4 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Fri, 1 May 2015 15:13:07 -0400 Subject: [PATCH 029/305] More resist refactoring Reorganizes resist a bit more to allow for cleaner inheritance. --- code/modules/mob/living/carbon/resist.dm | 6 +----- code/modules/mob/living/living.dm | 15 +++++++++++---- .../living/simple_animal/borer/borer_captive.dm | 5 ++++- 3 files changed, 16 insertions(+), 10 deletions(-) diff --git a/code/modules/mob/living/carbon/resist.dm b/code/modules/mob/living/carbon/resist.dm index 775ef920e8..95ee36b1f6 100644 --- a/code/modules/mob/living/carbon/resist.dm +++ b/code/modules/mob/living/carbon/resist.dm @@ -1,9 +1,5 @@ -/mob/living/carbon/resist() - //need to allow !canmove, or otherwise neck grabs can't be resisted - //so just check weakened instead. - if(stat || weakened || next_move > world.time) - return +/mob/living/carbon/process_resist() //drop && roll if(on_fire) diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index cb36ac853e..3bf702b872 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -460,13 +460,20 @@ set name = "Resist" set category = "IC" + if(can_resist()) + next_move = world.time + 20 + process_resist() + +/mob/living/proc/can_resist() //need to allow !canmove, or otherwise neck grabs can't be resisted //so just check weakened instead. - if(stat || weakened || next_move > world.time) - return - - next_move = world.time + 20 + if(stat || weakened) + return 0 + if(next_move > world.time) + return 0 + return 1 +/mob/living/proc/process_resist() //Getting out of someone's inventory. if(istype(src.loc, /obj/item/weapon/holder)) escape_inventory(src.loc) diff --git a/code/modules/mob/living/simple_animal/borer/borer_captive.dm b/code/modules/mob/living/simple_animal/borer/borer_captive.dm index 79e78b4d5e..25cc18cdd2 100644 --- a/code/modules/mob/living/simple_animal/borer/borer_captive.dm +++ b/code/modules/mob/living/simple_animal/borer/borer_captive.dm @@ -34,7 +34,10 @@ /mob/living/captive_brain/emote(var/message) return -/mob/living/captive_brain/resist() +/mob/living/captive_brain/can_resist() + return !(stat || next_move > world.time) + +/mob/living/captive_brain/process_resist() //Resisting control by an alien mind. if(istype(src.loc,/mob/living/simple_animal/borer)) var/mob/living/simple_animal/borer/B = src.loc From b10c64d48bc897efbaaaed285d71f7e6baf60a01 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Fri, 1 May 2015 16:15:17 -0400 Subject: [PATCH 030/305] Adds a closet breakout animation, fixes spamming the breakout proc --- .../structures/crates_lockers/closets.dm | 28 +++++++++++++------ 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm index fc60729c4c..8b46abee49 100644 --- a/code/game/objects/structures/crates_lockers/closets.dm +++ b/code/game/objects/structures/crates_lockers/closets.dm @@ -10,7 +10,7 @@ var/welded = 0 var/wall_mounted = 0 //never solid (You can always pass over it) var/health = 100 - var/lastbang + var/breakout = 0 //if someone is currently breaking out. mutex var/storage_capacity = 30 //This is so that someone can't pack hundreds of items in a locker/crate //then open it in a populated area to crash clients. var/open_sound = 'sound/machines/click.ogg' @@ -255,12 +255,6 @@ if(!src.open()) user << "It won't budge!" - if(!lastbang) - lastbang = 1 - for (var/mob/M in hearers(src, null)) - M << text("BANG, bang!", max(0, 5 - get_dist(src, M))) - spawn(30) - lastbang = 0 /obj/structure/closet/attack_hand(mob/user as mob) src.add_fingerprint(user) @@ -310,6 +304,8 @@ return 1 /obj/structure/closet/proc/req_breakout() + if(breakout) + return 0 //Already breaking out. if(opened) return 0 //Door's open... wait, why are you in it's contents then? if(!welded) @@ -328,22 +324,30 @@ escapee << "You lean on the back of \the [src] and start pushing the door open. (this will take about [breakout_time] minutes)" visible_message("The [src] begins to shake violently!") - playsound(src.loc, 'sound/effects/grillehit.ogg', 100, 1) + breakout = 1 //can't think of a better way to do this right now. for(var/i in 1 to (6*breakout_time * 2)) //minutes * 6 * 5seconds * 2 + playsound(src.loc, 'sound/effects/grillehit.ogg', 100, 1) + animate_shake() + if(!do_after(escapee, 50)) //5 seconds + breakout = 0 return if(!escapee || escapee.stat || escapee.loc != src) + breakout = 0 return //closet/user destroyed OR user dead/unconcious OR user no longer in closet OR closet opened //Perform the same set of checks as above for weld and lock status to determine if there is even still a point in 'resisting'... if(!req_breakout()) + breakout = 0 return - playsound(src.loc, 'sound/effects/grillehit.ogg', 100, 1) //Well then break it! + breakout = 0 escapee << "You successfully break out!" visible_message("\the [escapee] successfully broke out of \the [src]!") + playsound(src.loc, 'sound/effects/grillehit.ogg', 100, 1) break_open() + animate_shake() /obj/structure/closet/proc/break_open() welded = 0 @@ -353,3 +357,9 @@ var/obj/structure/bigDelivery/BD = loc BD.unwrap() open() + +/obj/structure/closet/proc/animate_shake() + var/init_px = pixel_x + var/shake_dir = pick(-1, 1) + animate(src, transform=turn(matrix(), 8*shake_dir), pixel_x=init_px + 2*shake_dir, time=1) + animate(transform=null, pixel_x=init_px, time=6, easing=ELASTIC_EASING) From 6238dabf888f9fd7cc54fc7b3a78ef058ac66015 Mon Sep 17 00:00:00 2001 From: Loganbacca Date: Sat, 2 May 2015 13:33:25 +1200 Subject: [PATCH 031/305] Chem smoke fadeOut sanity checks Ported updates from /tg/ to fadeOut code. Updates written by vista- --- code/game/objects/effects/chemsmoke.dm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/code/game/objects/effects/chemsmoke.dm b/code/game/objects/effects/chemsmoke.dm index e64a84c47c..357996351d 100644 --- a/code/game/objects/effects/chemsmoke.dm +++ b/code/game/objects/effects/chemsmoke.dm @@ -229,6 +229,10 @@ // Fades out the smoke smoothly using it's alpha variable. //------------------------------------------ /datum/effect/effect/system/smoke_spread/chem/proc/fadeOut(var/atom/A, var/frames = 16) + if(A.alpha == 0) //Handle already transparent case + return + if(frames == 0) + frames = 1 //We will just assume that by 0 frames, the coder meant "during one frame". var/step = A.alpha / frames for(var/i = 0, i < frames, i++) A.alpha -= step From e7719157ff7acfb999fbd2a540ad5f513e9bb984 Mon Sep 17 00:00:00 2001 From: Ravensdale Date: Fri, 1 May 2015 19:53:37 -0700 Subject: [PATCH 032/305] Atmos tweaks --- maps/exodus-1.dmm | 238 +++++++++++++++++++++++----------------------- 1 file changed, 119 insertions(+), 119 deletions(-) diff --git a/maps/exodus-1.dmm b/maps/exodus-1.dmm index 0a05f5be56..3b9ab2d0bf 100644 --- a/maps/exodus-1.dmm +++ b/maps/exodus-1.dmm @@ -5766,14 +5766,14 @@ "cgT" = (/turf/simulated/floor/plating,/area/construction) "cgU" = (/turf/simulated/floor,/area/construction) "cgV" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/table,/obj/item/clothing/gloves/black,/obj/item/device/multitool{pixel_x = 5},/obj/random/tech_supply,/turf/simulated/floor,/area/construction) -"cgW" = (/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/engineering/engine_eva) -"cgX" = (/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor,/area/engineering/engine_eva) -"cgY" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering/engine_eva) -"cgZ" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering/engine_eva) -"cha" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/purple,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering/foyer) +"cgW" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor,/area/engineering/engine_eva) +"cgX" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/red{tag = "icon-intact (SOUTHEAST)"; icon_state = "intact"; dir = 6},/turf/simulated/floor,/area/engineering/engine_eva) +"cgY" = (/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{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor,/area/engineering/engine_eva) +"cgZ" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor,/area/engineering/engine_eva) +"cha" = (/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{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/red,/turf/simulated/floor,/area/engineering/foyer) "chb" = (/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/window/reinforced/polarized{dir = 1},/obj/structure/window/reinforced/polarized{dir = 8},/obj/structure/window/reinforced/polarized,/turf/simulated/floor/plating,/area/crew_quarters/heads/chief) "chc" = (/obj/machinery/atmospherics/pipe/manifold/hidden/cyan{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/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{dir = 4},/turf/simulated/floor,/area/engineering/foyer) -"chd" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering/foyer) +"chd" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering EVA Storage"; req_one_access = list(11,24)},/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{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor,/area/engineering/engine_eva) "che" = (/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{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "yellowcorner"},/area/engineering/foyer) "chf" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/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{dir = 4},/turf/simulated/floor,/area/engineering/foyer) "chg" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/engineering/foyer) @@ -5820,7 +5820,7 @@ "chV" = (/obj/item/weapon/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/briefcase/inflatable,/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/table/reinforced{icon_state = "table"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor,/area/engineering/engine_eva) "chW" = (/turf/simulated/wall/r_wall,/area/engineering/engine_eva) "chX" = (/obj/machinery/hologram/holopad,/turf/simulated/floor,/area/engineering/engine_eva) -"chY" = (/obj/machinery/atmospherics/pipe/simple/hidden/purple,/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor,/area/engineering/engine_eva) +"chY" = (/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{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/red{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/turf/simulated/floor,/area/engineering/foyer) "chZ" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) "cia" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) "cib" = (/obj/machinery/power/breakerbox/activated{RCon_tag = "Engineering Substation Bypass"},/turf/simulated/floor/plating,/area/maintenance/substation/engineering) @@ -5889,7 +5889,7 @@ "cjm" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/machinery/atmospherics/pipe/manifold/hidden/purple,/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) "cjn" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/light,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/turf/simulated/floor/plating,/area/rnd/xenobiology/xenoflora) "cjo" = (/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/turf/simulated/floor{icon_state = "hydrofloor"},/area/rnd/xenobiology/xenoflora) -"cjp" = (/obj/machinery/atmospherics/pipe/simple/hidden/purple,/turf/simulated/floor,/area/engineering/engine_eva) +"cjp" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/red,/turf/simulated/floor,/area/engineering/engine_eva) "cjq" = (/obj/machinery/light,/obj/structure/table,/obj/machinery/chemical_dispenser/bar_soft/full,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/engineering/break_room) "cjr" = (/obj/structure/table,/obj/item/clothing/gloves/latex,/obj/item/weapon/hand_labeler,/turf/simulated/floor{icon_state = "hydrofloor"},/area/rnd/xenobiology/xenoflora) "cjs" = (/obj/structure/table,/obj/item/weapon/storage/box/syringes,/turf/simulated/floor{icon_state = "hydrofloor"},/area/rnd/xenobiology/xenoflora) @@ -5957,7 +5957,7 @@ "ckC" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/engineering{name = "Engineering EVA Storage"; req_access = list(12); req_one_access = list(11,24)},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "floorgrime"},/area/engineering/engine_eva) "ckD" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 2; frequency = 1441; icon_state = "map_injector"; id = "n2_in"; use_power = 1},/turf/simulated/floor/engine{name = "n2 floor"; nitrogen = 100000; oxygen = 0},/area/engineering/atmos) "ckE" = (/obj/structure/sign/biohazard,/turf/simulated/wall/r_wall,/area/rnd/xenobiology) -"ckF" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering EVA Storage"; req_one_access = list(11,24)},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering/engine_eva) +"ckF" = (/obj/machinery/atmospherics/pipe/simple/hidden/red,/turf/simulated/floor,/area/engineering/engine_eva) "ckG" = (/obj/structure/sign/biohazard,/turf/simulated/wall/r_wall,/area/rnd/xenobiology/xenoflora) "ckH" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/turf/simulated/floor{tag = "icon-whitegreen (NORTHWEST)"; icon_state = "whitegreen"; dir = 9},/area/rnd/xenobiology/xenoflora) "ckI" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 2; external_pressure_bound = 0; external_pressure_bound_default = 0; frequency = 1441; icon_state = "map_vent_in"; id_tag = "n2_out"; initialize_directions = 1; internal_pressure_bound = 4000; internal_pressure_bound_default = 4000; use_power = 1; pressure_checks = 2; pressure_checks_default = 2; pump_direction = 0},/turf/simulated/floor/engine{name = "n2 floor"; nitrogen = 100000; oxygen = 0},/area/engineering/atmos) @@ -6048,7 +6048,7 @@ "cmp" = (/obj/machinery/light/small{dir = 1},/obj/machinery/camera/network/engineering{c_tag = "Atmospherics Tank - Nitrogen"},/turf/simulated/floor/engine{name = "n2 floor"; nitrogen = 100000; oxygen = 0},/area/engineering/atmos) "cmq" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) "cmr" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) -"cms" = (/obj/structure/grille,/obj/machinery/meter,/obj/machinery/atmospherics/pipe/simple/visible/purple,/turf/simulated/wall/r_wall,/area/engineering/atmos) +"cms" = (/obj/machinery/door/airlock/maintenance{name = "Engineering EVA Storage Maintainance"; req_access = list(12); req_one_access = list(11,24)},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/red,/turf/simulated/floor,/area/engineering/engine_eva) "cmt" = (/obj/structure/grille,/obj/machinery/meter,/obj/machinery/atmospherics/pipe/simple/visible/green,/turf/simulated/wall/r_wall,/area/engineering/atmos) "cmu" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/maintenance/atmos_control) "cmv" = (/obj/structure/sign/securearea{pixel_x = -32},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/atmos_control) @@ -6057,7 +6057,7 @@ "cmy" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact-f (EAST)"},/obj/machinery/light,/turf/simulated/floor,/area/engineering/foyer) "cmz" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/construction) "cmA" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor,/area/construction) -"cmB" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact-f (EAST)"},/obj/machinery/atmospherics/pipe/simple/hidden/purple,/turf/simulated/floor{dir = 4; icon_state = "loadingarea"},/area/engineering/foyer) +"cmB" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact-f (EAST)"},/obj/machinery/atmospherics/pipe/simple/hidden/red,/turf/simulated/floor{dir = 4; icon_state = "loadingarea"},/area/engineering/foyer) "cmC" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact-f (EAST)"},/turf/simulated/floor,/area/engineering/foyer) "cmD" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact-f (EAST)"},/obj/machinery/requests_console{announcementConsole = 0; department = "Engineering"; departmentType = 4; name = "Engineering RC"; pixel_x = 0; pixel_y = -32},/turf/simulated/floor,/area/engineering/foyer) "cmE" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact-f (EAST)"},/obj/machinery/computer/guestpass{pixel_y = -28},/turf/simulated/floor,/area/engineering/foyer) @@ -6121,7 +6121,7 @@ "cnK" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "xeno_airlock_control"; name = "Xenobiology Access Button"; pixel_x = -24; pixel_y = 0; req_access = list(55)},/obj/machinery/door/airlock/research{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "xeno_airlock_exterior"; locked = 1; name = "Xenobiology External Airlock"; req_access = list(55)},/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/purple,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) "cnL" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "solar_xeno_airlock"; name = "interior access button"; pixel_x = -25; pixel_y = -25; req_access = list(10,13)},/obj/machinery/atmospherics/pipe/manifold/visible{dir = 8},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/maintenance/starboardsolar) "cnM" = (/obj/structure/sign/securearea,/turf/simulated/wall/r_wall,/area/engineering/workshop) -"cnN" = (/obj/machinery/door/airlock/maintenance{name = "Engineering EVA Storage Maintainance"; req_access = list(12); req_one_access = list(11,24)},/obj/machinery/atmospherics/pipe/simple/hidden/purple,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/engineering/engine_eva) +"cnN" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/visible/yellow,/turf/space,/area/space) "cnO" = (/turf/simulated/wall/r_wall,/area/engineering/workshop) "cnP" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering Locker Room"; req_one_access = list(11,24)},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering/locker_room) "cnQ" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Operating Theatre 1"; req_access = list(45)},/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{dir = 4},/turf/simulated/floor,/area/medical/surgeryprep) @@ -6158,20 +6158,20 @@ "cov" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/engineering/atmos) "cow" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/engineering/atmos) "cox" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor/plating,/area/engineering/atmos) -"coy" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/purple,/turf/simulated/floor/plating,/area/engineering/atmos) +"coy" = (/obj/machinery/door/airlock/maintenance{name = "Atmospherics Maintenance Access"; req_access = list(12,24)},/obj/machinery/atmospherics/pipe/simple/hidden/red,/turf/simulated/floor,/area/engineering/atmos) "coz" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/hallway/secondary/entry/port) -"coA" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/visible/green{dir = 8},/turf/simulated/floor/plating,/area/engineering/atmos) -"coB" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/green{tag = "icon-intact (SOUTHWEST)"; icon_state = "intact"; dir = 10},/turf/simulated/floor/plating,/area/engineering/atmos) -"coC" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/manifold/visible/green{dir = 8},/turf/simulated/floor/plating,/area/engineering/atmos) +"coA" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/visible/cyan{tag = "icon-map (EAST)"; icon_state = "map"; dir = 4},/turf/simulated/floor/plating,/area/engineering/atmos) +"coB" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/cyan{tag = "icon-intact (SOUTHEAST)"; icon_state = "intact"; dir = 6},/turf/simulated/floor/plating,/area/engineering/atmos) +"coC" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/green,/turf/simulated/floor/plating,/area/engineering/atmos) "coD" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/plating,/area/engineering/atmos) "coE" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/engineering/atmos) -"coF" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/visible/green{tag = "icon-intact (SOUTHWEST)"; icon_state = "intact"; dir = 10},/turf/simulated/floor/plating,/area/engineering/atmos) +"coF" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/visible/yellow{dir = 8},/turf/simulated/floor/plating,/area/engineering/atmos) "coG" = (/obj/machinery/meter{frequency = 1443; id = "dloop_atm_meter"; name = "Distribution Loop"},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold/visible/supply{dir = 8},/turf/simulated/floor,/area/engineering/atmos) "coH" = (/obj/machinery/meter{frequency = 1443; id = "wloop_atm_meter"; name = "Waste Loop"},/obj/machinery/atmospherics/pipe/simple/visible/scrubbers,/turf/simulated/floor,/area/engineering/atmos) "coI" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/machinery/meter,/obj/machinery/firealarm{pixel_y = 24},/turf/simulated/floor,/area/engineering/atmos) -"coJ" = (/obj/machinery/alarm{frequency = 1439; pixel_y = 23},/obj/machinery/atmospherics/pipe/simple/visible/supply{dir = 10},/turf/simulated/floor,/area/engineering/atmos) +"coJ" = (/obj/machinery/alarm{frequency = 1439; pixel_y = 23},/obj/machinery/atmospherics/pipe/simple/visible/supply{dir = 10},/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/engineering/atmos) "coK" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/engineering/atmos/monitoring) -"coL" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/simple/visible/purple,/turf/simulated/floor,/area/engineering/atmos) +"coL" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 10},/turf/simulated/floor/plating,/area/engineering/atmos) "coM" = (/obj/machinery/firealarm{pixel_x = 32; pixel_y = 24},/turf/simulated/floor,/area/engineering/atmos/monitoring) "coN" = (/obj/machinery/computer/general_air_control{frequency = 1443; level = 3; name = "Distribution and Waste Monitor"; sensors = list("mair_in_meter" = "Mixed Air In", "air_sensor" = "Mixed Air Supply Tank", "mair_out_meter" = "Mixed Air Out", "dloop_atm_meter" = "Distribution Loop", "wloop_atm_meter" = "Engine Waste")},/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/engineering/atmos/monitoring) "coO" = (/obj/machinery/computer/atmoscontrol,/turf/simulated/floor,/area/engineering/atmos/monitoring) @@ -6210,29 +6210,29 @@ "cpv" = (/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/engineering/atmos) "cpw" = (/obj/machinery/atmospherics/valve/digital/open{name = "Mixed Air Inlet Valve"},/turf/simulated/floor{icon_state = "arrival"; dir = 5},/area/engineering/atmos) "cpx" = (/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1443; input_tag = "air_in"; name = "Mixed Air Supply Control"; output_tag = "air_out"; pressure_setting = 2000; sensors = list("air_sensor" = "Tank")},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/light{dir = 1},/turf/simulated/floor{dir = 1; icon_state = "arrival"},/area/engineering/atmos) -"cpy" = (/obj/machinery/atmospherics/pipe/simple/visible/purple,/turf/simulated/floor{dir = 9; icon_state = "blue"},/area/engineering/atmos) +"cpy" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/manifold/visible/yellow{dir = 8},/turf/simulated/floor/plating,/area/engineering/atmos) "cpz" = (/obj/machinery/atmospherics/valve/digital/open{name = "Oxygen Outlet Valve"},/turf/simulated/floor{dir = 5; icon_state = "blue"},/area/engineering/atmos) "cpA" = (/obj/machinery/button/holosign{pixel_x = 24; pixel_y = 2},/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/machinery/camera/network/medbay{c_tag = "Medbay Operating Theatre 1"; dir = 8},/turf/simulated/floor{dir = 4; icon_state = "whiteredcorner"},/area/medical/surgery) -"cpB" = (/obj/machinery/atmospherics/pipe/simple/visible/purple,/turf/simulated/floor{icon_state = "red"; dir = 9},/area/engineering/atmos) -"cpC" = (/obj/machinery/atmospherics/binary/pump{name = "O2 to Connector"},/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/engineering/atmos) +"cpB" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 10},/turf/simulated/floor/plating,/area/engineering/atmos) +"cpC" = (/obj/machinery/atmospherics/binary/pump{name = "Air Mix to Connector"},/turf/simulated/floor,/area/engineering/atmos) "cpD" = (/obj/machinery/atmospherics/valve/digital/open{name = "Nitrogen Outlet Valve"},/turf/simulated/floor{icon_state = "red"; dir = 5},/area/engineering/atmos) "cpE" = (/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1441; input_tag = "n2_in"; name = "Nitrogen Supply Control"; output_tag = "n2_out"; sensors = list("n2_sensor" = "Tank")},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/engineering/atmos) "cpF" = (/turf/simulated/floor,/area/engineering/atmos) -"cpG" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/yellow,/turf/space,/area/space) -"cpH" = (/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/binary/pump{name = "N2 to Connector"},/turf/simulated/floor,/area/engineering/atmos) -"cpI" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/turf/space,/area/space) +"cpG" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/simple/visible/red,/turf/simulated/floor,/area/engineering/atmos) +"cpH" = (/obj/machinery/atmospherics/binary/pump{name = "O2 to Connector"},/turf/simulated/floor,/area/engineering/atmos) +"cpI" = (/obj/machinery/atmospherics/binary/pump{name = "N2 to Connector"},/turf/simulated/floor,/area/engineering/atmos) "cpJ" = (/obj/structure/reagent_dispensers/fueltank,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = 25},/turf/simulated/floor,/area/engineering/atmos) "cpK" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor{icon_state = "warningcorner"; dir = 1},/area/hallway/secondary/entry/aft) "cpL" = (/obj/structure/reagent_dispensers/watertank,/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/engineering/atmos) "cpM" = (/obj/structure/table,/obj/item/device/t_scanner,/obj/item/device/multitool{pixel_x = 5},/obj/item/device/radio/headset/headset_eng,/obj/item/weapon/cartridge/atmos,/obj/item/weapon/cartridge/atmos,/obj/item/device/pipe_painter,/obj/machinery/requests_console{department = "Atmospherics"; departmentType = 4; name = "Atmos RC"; pixel_x = 0; pixel_y = 28},/turf/simulated/floor,/area/engineering/atmos) -"cpN" = (/obj/structure/dispenser,/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/engineering/atmos) +"cpN" = (/obj/structure/dispenser,/turf/simulated/floor,/area/engineering/atmos) "cpO" = (/obj/machinery/button/holosign{pixel_x = -24; pixel_y = 2},/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/machinery/camera/network/medbay{c_tag = "Medbay Operating Theatre 2"; dir = 4},/turf/simulated/floor{dir = 1; icon_state = "whiteredcorner"},/area/medical/surgery2) -"cpP" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/purple,/turf/space,/area/space) +"cpP" = (/obj/machinery/atmospherics/pipe/simple/visible/green,/turf/simulated/floor{dir = 9; icon_state = "blue"},/area/engineering/atmos) "cpQ" = (/obj/structure/table,/obj/item/stack/sheet/glass{amount = 50},/obj/item/clothing/head/welding{pixel_x = -5; pixel_y = 3},/obj/item/clothing/glasses/welding,/obj/structure/closet/fireaxecabinet{pixel_y = 32},/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/engineering/atmos) -"cpR" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/green,/turf/space,/area/space) +"cpR" = (/obj/machinery/atmospherics/pipe/simple/visible/green,/turf/simulated/floor{icon_state = "red"; dir = 9},/area/engineering/atmos) "cpS" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Firelock North"},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor,/area/hallway/secondary/entry/port) "cpT" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor,/area/engineering/atmos) -"cpU" = (/obj/structure/table,/obj/machinery/newscaster{pixel_y = 30},/obj/machinery/light{dir = 1},/obj/item/stack/sheet/metal{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/clothing/gloves/black,/obj/item/clothing/gloves/black,/obj/item/weapon/storage/belt/utility/atmostech,/obj/item/weapon/storage/belt/utility/atmostech,/turf/simulated/floor,/area/engineering/atmos) +"cpU" = (/obj/structure/table,/obj/machinery/newscaster{pixel_y = 30},/obj/item/stack/sheet/metal{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/clothing/gloves/black,/obj/item/clothing/gloves/black,/obj/item/weapon/storage/belt/utility/atmostech,/obj/item/weapon/storage/belt/utility/atmostech,/turf/simulated/floor,/area/engineering/atmos) "cpV" = (/obj/structure/disposalpipe/sortjunction/flipped{dir = 1; sortType = "Atmospherics"; name = "Atmospherics"},/obj/machinery/atmospherics/pipe/simple/visible/universal,/turf/simulated/floor,/area/engineering/atmos) "cpW" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/universal,/turf/simulated/floor,/area/engineering/atmos) "cpX" = (/obj/machinery/atmospherics/binary/pump/on{dir = 1; name = "Air to Ports"},/turf/simulated/floor,/area/engineering/atmos) @@ -6267,7 +6267,7 @@ "cqA" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/atmos{name = "Atmospherics Maintenance"; req_access = list(12,24)},/obj/machinery/atmospherics/pipe/simple/visible/scrubbers,/turf/simulated/floor,/area/maintenance/atmos_control) "cqB" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) "cqC" = (/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 5},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) -"cqD" = (/obj/machinery/door/airlock/maintenance{name = "Atmospherics Maintenance Access"; req_access = list(12,24)},/obj/machinery/atmospherics/pipe/simple/hidden/purple,/turf/simulated/floor,/area/engineering/atmos) +"cqD" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/visible/blue,/turf/simulated/floor,/area/engineering/atmos) "cqE" = (/obj/machinery/embedded_controller/radio/airlock/access_controller{tag_exterior_door = "xeno_airlock_exterior"; id_tag = "xeno_airlock_control"; tag_interior_door = "xeno_airlock_interior"; name = "Xenobiology Access Console"; pixel_x = 8; pixel_y = 22},/obj/machinery/light_switch{pixel_x = -6; pixel_y = 26},/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "whitegreencorner"},/area/rnd/xenobiology) "cqF" = (/obj/structure/disposalpipe/segment,/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/machinery/atmospherics/pipe/manifold/hidden/purple{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor{dir = 1; icon_state = "whitegreen"},/area/rnd/xenobiology) "cqG" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{dir = 1; icon_state = "whitegreencorner"},/area/rnd/xenobiology) @@ -6275,9 +6275,9 @@ "cqI" = (/obj/machinery/door/airlock/glass_atmos{name = "Atmospherics Monitoring Room"; req_access = list(24)},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/engineering/atmos/monitoring) "cqJ" = (/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/floor,/area/engineering) "cqK" = (/obj/structure/disposalpipe/segment,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor,/area/engineering) -"cqL" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/obj/structure/lattice,/turf/space,/area/space) +"cqL" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/manifold/visible/yellow{dir = 8},/turf/simulated/floor,/area/engineering/atmos) "cqM" = (/obj/structure/extinguisher_cabinet{pixel_x = 25},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/engineering/workshop) -"cqN" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 9},/turf/space,/area/space) +"cqN" = (/obj/machinery/atmospherics/pipe/simple/visible/green,/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/turf/simulated/floor,/area/engineering/atmos) "cqO" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering Monitoring Room"; req_access = list(11)},/turf/simulated/floor,/area/engineering/engineering_monitoring) "cqP" = (/obj/machinery/shield_capacitor,/turf/simulated/floor/plating,/area/engineering/storage) "cqQ" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 10},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{dir = 2; icon_state = "green"},/area/medical/virologyaccess) @@ -6286,11 +6286,11 @@ "cqT" = (/obj/structure/grille,/turf/simulated/floor/plating/airless,/area/security/prison) "cqU" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan{tag = "icon-map (EAST)"; icon_state = "map"; dir = 4},/obj/machinery/meter,/turf/simulated/floor,/area/engineering/atmos) "cqV" = (/obj/machinery/atmospherics/binary/pump{dir = 8; name = "Air Tank Bypass Pump"},/turf/simulated/floor,/area/engineering/atmos) -"cqW" = (/obj/machinery/atmospherics/pipe/simple/visible/purple,/turf/simulated/floor,/area/engineering/atmos) +"cqW" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/yellow,/turf/simulated/floor,/area/engineering/atmos) "cqX" = (/obj/machinery/atmospherics/pipe/simple/visible/green,/turf/simulated/floor,/area/engineering/atmos) "cqY" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/turf/simulated/floor,/area/engineering/atmos) "cqZ" = (/obj/structure/bed/chair{dir = 1},/obj/effect/landmark/start{name = "Atmospheric Technician"},/turf/simulated/floor,/area/engineering/atmos) -"cra" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor,/area/engineering/atmos) +"cra" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 10},/turf/simulated/floor,/area/engineering/atmos) "crb" = (/obj/machinery/atmospherics/binary/pump/on{name = "Scrubber to Waste"},/turf/simulated/floor,/area/engineering/atmos) "crc" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/turf/simulated/floor,/area/engineering/atmos) "crd" = (/obj/machinery/atmospherics/binary/pump/on{dir = 1; name = "Air to Supply"},/turf/simulated/floor,/area/engineering/atmos) @@ -6336,15 +6336,15 @@ "crR" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor{dir = 1; icon_state = "whitered"},/area/medical/virology) "crS" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/structure/bed,/obj/item/device/radio/intercom{freerange = 1; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 30},/turf/simulated/floor{dir = 1; icon_state = "whitered"},/area/medical/virology) "crT" = (/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/light{dir = 1},/turf/simulated/floor{dir = 1; icon_state = "whitered"},/area/medical/virology) -"crU" = (/obj/machinery/atmospherics/pipe/manifold/visible/green{dir = 8},/obj/machinery/meter,/turf/simulated/floor,/area/engineering/atmos) -"crV" = (/obj/machinery/atmospherics/pipe/simple/visible/purple,/obj/machinery/atmospherics/pipe/simple/visible/green{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor,/area/engineering/atmos) +"crU" = (/obj/machinery/atmospherics/binary/pump{dir = 4; name = "O2 to Mixing"},/turf/simulated/floor,/area/engineering/atmos) +"crV" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/obj/machinery/atmospherics/pipe/simple/visible/green,/turf/simulated/floor,/area/engineering/atmos) "crW" = (/obj/machinery/atmospherics/pipe/simple/visible/green{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor,/area/engineering/atmos) -"crX" = (/obj/machinery/atmospherics/pipe/simple/visible/green,/obj/machinery/atmospherics/pipe/simple/visible/green{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor,/area/engineering/atmos) +"crX" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/turf/simulated/floor,/area/engineering/atmos) "crY" = (/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor/plating,/area/maintenance/engineering) -"crZ" = (/obj/machinery/atmospherics/pipe/simple/visible/green{tag = "icon-intact (SOUTHWEST)"; icon_state = "intact"; dir = 10},/turf/simulated/floor,/area/engineering/atmos) -"csa" = (/obj/machinery/atmospherics/binary/pump{dir = 4; name = "O2 to Transit"},/turf/simulated/floor,/area/engineering/atmos) -"csb" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/turf/simulated/floor,/area/engineering/atmos) -"csc" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 6},/turf/simulated/floor,/area/engineering/atmos) +"crZ" = (/obj/machinery/atmospherics/pipe/manifold/visible/yellow,/turf/simulated/floor,/area/engineering/atmos) +"csa" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/visible/blue,/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor,/area/engineering/atmos) +"csb" = (/obj/machinery/atmospherics/pipe/manifold/visible/yellow{tag = "icon-map (EAST)"; icon_state = "map"; dir = 4},/turf/simulated/floor,/area/engineering/atmos) +"csc" = (/obj/machinery/atmospherics/pipe/simple/visible/blue{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor,/area/engineering/atmos) "csd" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering Workshop"; req_one_access = list(11,24)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/engineering/workshop) "cse" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering Workshop"; req_one_access = list(11,24)},/turf/simulated/floor,/area/engineering/workshop) "csf" = (/obj/structure/extinguisher_cabinet{pixel_x = 25; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) @@ -6384,21 +6384,21 @@ "csN" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/purple,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "csO" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/turf/simulated/floor,/area/engineering/atmos) "csP" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"csQ" = (/obj/machinery/atmospherics/pipe/simple/visible/purple,/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/turf/simulated/floor,/area/engineering/atmos) +"csQ" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/manifold/visible/blue{tag = "icon-map (NORTH)"; icon_state = "map"; dir = 1},/turf/simulated/floor,/area/engineering/atmos) "csR" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/obj/structure/window/reinforced,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/rnd/xenobiology) "csS" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) "csT" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/turf/simulated/floor,/area/engineering/atmos) "csU" = (/obj/machinery/atmospherics/omni/mixer{active_power_usage = 7500; use_power = 1; tag_east = 1; tag_east_con = 0.79; tag_north = 1; tag_north_con = 0.21; tag_west = 2},/turf/simulated/floor,/area/engineering/atmos) "csV" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/obj/machinery/meter,/turf/simulated/floor,/area/engineering/atmos) -"csW" = (/obj/machinery/atmospherics/pipe/simple/visible/green{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/machinery/meter,/turf/simulated/floor,/area/engineering/atmos) -"csX" = (/obj/machinery/atmospherics/pipe/manifold/visible/green,/turf/simulated/floor,/area/engineering/atmos) -"csY" = (/obj/machinery/atmospherics/pipe/manifold/visible/green{tag = "icon-map (EAST)"; icon_state = "map"; dir = 4},/turf/simulated/floor,/area/engineering/atmos) -"csZ" = (/obj/machinery/atmospherics/binary/pump{dir = 4; name = "N2 to Transit"},/turf/simulated/floor,/area/engineering/atmos) +"csW" = (/obj/machinery/atmospherics/pipe/simple/visible/blue{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/turf/simulated/floor,/area/engineering/atmos) +"csX" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/obj/machinery/atmospherics/pipe/simple/visible/yellow,/turf/simulated/floor,/area/engineering/atmos) +"csY" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor,/area/engineering/atmos) +"csZ" = (/obj/machinery/atmospherics/binary/pump{dir = 4; name = "N2 to Mixing"},/turf/simulated/floor,/area/engineering/atmos) "cta" = (/obj/machinery/atmospherics/binary/pump{dir = 8; name = "Supply to Waste"},/turf/simulated/floor,/area/engineering/atmos) "ctb" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Operating Theatre 2 Storage"; req_access = list(45)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery2) "ctc" = (/obj/machinery/door/window/northleft{dir = 4; name = "Containment Pen"; req_access = list(55)},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/rnd/xenobiology) "ctd" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/turf/simulated/floor,/area/engineering/atmos) -"cte" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 1},/obj/machinery/meter,/turf/simulated/floor,/area/engineering/atmos) +"cte" = (/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor,/area/engineering/atmos) "ctf" = (/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/turf/simulated/floor,/area/engineering/atmos) "ctg" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/engineering/atmos/monitoring) "cth" = (/obj/structure/disposalpipe/segment,/obj/machinery/pipedispenser/disposal,/obj/structure/window/reinforced,/turf/simulated/floor,/area/engineering/atmos) @@ -6450,8 +6450,8 @@ "cub" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/shutters{density = 0; dir = 4; icon_state = "shutter0"; id = "surgeryobs"; name = "Operating Theatre Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/surgery) "cuc" = (/obj/structure/bed/chair{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) "cud" = (/obj/structure/bed/chair{dir = 8},/obj/effect/landmark/start{name = "Xenobiologist"},/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/purple,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) -"cue" = (/obj/machinery/atmospherics/pipe/simple/visible/green,/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/turf/simulated/floor,/area/engineering/atmos) -"cuf" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/obj/machinery/atmospherics/binary/pump{dir = 1; name = "Mix to Supply"},/turf/simulated/floor,/area/engineering/atmos) +"cue" = (/obj/machinery/atmospherics/pipe/cap/visible,/turf/simulated/floor,/area/engineering/atmos) +"cuf" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/obj/machinery/atmospherics/binary/pump{dir = 1; name = "Port to Supply"},/turf/simulated/floor,/area/engineering/atmos) "cug" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/turf/simulated/floor,/area/engineering/atmos) "cuh" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan,/obj/machinery/meter,/turf/simulated/floor,/area/engineering/atmos) "cui" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/engineering/atmos) @@ -6508,8 +6508,8 @@ "cvh" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/purple,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cvi" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) "cvj" = (/obj/structure/bed/chair{dir = 8},/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/purple,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) -"cvk" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow,/obj/machinery/meter,/turf/simulated/floor,/area/engineering/atmos) -"cvl" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/visible,/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor,/area/engineering/atmos) +"cvk" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/turf/simulated/wall/r_wall,/area/engineering/atmos/storage) +"cvl" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/simple/visible/green,/turf/simulated/floor,/area/engineering/atmos) "cvm" = (/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "virologyquar"; name = "Virology Emergency Quarantine Blast Doors"; opacity = 0},/turf/simulated/floor{icon_state = "delivery"},/area/medical/virologyaccess) "cvn" = (/obj/machinery/atmospherics/pipe/manifold/visible/red,/turf/simulated/floor,/area/engineering/atmos) "cvo" = (/obj/machinery/constructable_frame/machine_frame,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/engineering/atmos) @@ -6547,7 +6547,7 @@ "cvU" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cvV" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cvW" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow,/turf/simulated/floor,/area/engineering/atmos) -"cvX" = (/obj/machinery/atmospherics/pipe/cap/visible{color = "#ffcc00"},/turf/simulated/floor,/area/engineering/atmos) +"cvX" = (/obj/machinery/atmospherics/pipe/manifold4w/visible,/turf/simulated/floor,/area/engineering/atmos) "cvY" = (/obj/machinery/power/apc/super{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/cyan{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/engineering/atmos) "cvZ" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/cyan{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor,/area/engineering/atmos) "cwa" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{tag = "icon-intact (SOUTHEAST)"; icon_state = "intact"; dir = 6},/turf/simulated/floor,/area/engineering/atmos) @@ -6562,7 +6562,7 @@ "cwj" = (/obj/machinery/power/solar{id = "starboardsolar"; name = "Starboard Solar Array"},/obj/structure/cable/yellow,/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/starboard) "cwk" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/turf/simulated/floor{dir = 8; icon_state = "yellow"},/area/engineering) "cwl" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio3"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/rnd/xenobiology) -"cwm" = (/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 6; icon_state = "intact"; tag = "icon-intact-f (SOUTHEAST)"},/turf/simulated/wall/r_wall,/area/engineering/atmos/storage) +"cwm" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/manifold/visible,/turf/simulated/floor,/area/engineering/atmos) "cwn" = (/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating/airless,/area/solar/port) "cwo" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor,/area/engineering) "cwp" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor,/area/engineering) @@ -6599,13 +6599,13 @@ "cwU" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering Monitoring Room"; req_access = list(11)},/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,/area/engineering/engineering_monitoring) "cwV" = (/turf/simulated/floor{dir = 8; icon_state = "warnwhite"},/area/medical/virology) "cwW" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/camera/network/engineering{c_tag = "Engineering Hallway North"; dir = 4},/turf/simulated/floor,/area/engineering) -"cwX" = (/obj/machinery/atmospherics/pipe/simple/visible/purple,/obj/machinery/meter,/turf/simulated/floor,/area/engineering/atmos) -"cwY" = (/obj/machinery/atmospherics/binary/pump{dir = 8; name = "Mix to Waste"},/turf/simulated/floor,/area/engineering/atmos) +"cwX" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/turf/simulated/floor,/area/engineering/atmos) +"cwY" = (/obj/machinery/atmospherics/binary/pump{dir = 8; name = "Port to Waste"},/turf/simulated/floor,/area/engineering/atmos) "cwZ" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/camera/network/engineering{c_tag = "Engineering Workshop"; dir = 8},/turf/simulated/floor,/area/engineering/workshop) "cxa" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/turf/simulated/floor,/area/engineering/atmos) "cxb" = (/obj/machinery/atmospherics/pipe/manifold4w/visible/yellow,/turf/simulated/floor,/area/engineering/atmos) -"cxc" = (/obj/machinery/atmospherics/pipe/manifold/visible/yellow,/obj/machinery/meter,/turf/simulated/floor,/area/engineering/atmos) -"cxd" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/obj/machinery/meter,/turf/simulated/floor,/area/engineering/atmos) +"cxc" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/turf/simulated/floor,/area/engineering/atmos) +"cxd" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/turf/simulated/floor,/area/engineering/atmos/storage) "cxe" = (/obj/structure/table,/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/storage/box/monkeycubes,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cxf" = (/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating/airless,/area/solar/port) "cxg" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) @@ -6616,12 +6616,12 @@ "cxl" = (/obj/machinery/atmospherics/valve/digital{dir = 4},/turf/simulated/floor,/area/engineering/atmos) "cxm" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/obj/structure/sign/deathsposal{pixel_x = 0; pixel_y = -32},/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/turf/simulated/floor{icon_state = "whitehall"; dir = 1},/area/rnd/xenobiology) "cxn" = (/obj/structure/table,/obj/item/weapon/circular_saw,/obj/item/weapon/scalpel{pixel_y = 12},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor,/area/rnd/xenobiology) -"cxo" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/turf/simulated/floor,/area/engineering/atmos) -"cxp" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/turf/simulated/floor,/area/engineering/atmos/storage) +"cxo" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/atmos{name = "Atmospherics Maintenance"; req_access = list(12,24)},/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/turf/simulated/floor,/area/engineering/atmos/storage) +"cxp" = (/obj/machinery/portable_atmospherics/powered/pump/filled,/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/turf/simulated/floor,/area/engineering/atmos/storage) "cxq" = (/obj/machinery/light_switch{pixel_x = -27; pixel_y = 0},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/camera/network/engineering{c_tag = "Engineering Storage"; dir = 4},/turf/simulated/floor/plating,/area/engineering/storage) "cxr" = (/obj/structure/closet/crate,/obj/item/weapon/circuitboard/smes,/obj/item/weapon/circuitboard/smes,/obj/item/weapon/smes_coil,/obj/item/weapon/smes_coil,/obj/item/weapon/smes_coil/super_capacity,/obj/item/weapon/smes_coil/super_capacity,/obj/item/weapon/smes_coil/super_io,/obj/item/weapon/smes_coil/super_io,/turf/simulated/floor/plating,/area/engineering/storage) "cxs" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance{name = "Operating Theatre 1 Maintenance Access"; req_access = list(45)},/turf/simulated/floor/plating,/area/medical/surgery) -"cxt" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/manifold4w/hidden/yellow,/turf/simulated/wall/r_wall,/area/engineering/atmos/storage) +"cxt" = (/obj/machinery/portable_atmospherics/powered/pump/filled,/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/turf/simulated/floor,/area/engineering/atmos/storage) "cxu" = (/obj/structure/disposalpipe/segment,/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,/area/engineering) "cxv" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/engineering/workshop) "cxw" = (/obj/structure/table,/obj/item/weapon/crowbar,/obj/item/clothing/gloves/black,/obj/item/clothing/gloves/black,/obj/item/weapon/storage/box/lights/mixed,/turf/simulated/floor,/area/engineering/workshop) @@ -6635,7 +6635,7 @@ "cxE" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/turf/simulated/floor/plating,/area/medical/virology) "cxF" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance{name = "Operating Theatre 2 Maintenance Access"; req_access = list(45)},/turf/simulated/floor/plating,/area/medical/surgery2) "cxG" = (/obj/machinery/atmospherics/omni/filter{use_power = 1; tag_east = 1; tag_north = 3; tag_south = 6; tag_west = 2},/turf/simulated/floor,/area/engineering/atmos) -"cxH" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/obj/machinery/meter,/turf/simulated/floor,/area/engineering/atmos) +"cxH" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/manifold4w/hidden,/turf/simulated/wall/r_wall,/area/engineering/atmos/storage) "cxI" = (/obj/machinery/atmospherics/omni/filter{use_power = 1; tag_east = 1; tag_north = 4; tag_south = 7; tag_west = 2},/turf/simulated/floor,/area/engineering/atmos) "cxJ" = (/obj/machinery/smartfridge/secure/virology,/obj/structure/sign/deathsposal{pixel_y = 32},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cxK" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator) @@ -6674,7 +6674,7 @@ "cyr" = (/obj/structure/sign/redcross{desc = "The Star of Life, a symbol of Medical Aid."; icon_state = "lifestar"; name = "Medbay"; pixel_x = 0; pixel_y = 32},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance{name = "Engineering\\Medbay Maintenance"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/engineering) "cys" = (/obj/machinery/portable_atmospherics/powered/scrubber,/turf/simulated/floor,/area/engineering/atmos/storage) "cyt" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/engineering) -"cyu" = (/obj/machinery/atmospherics/pipe/manifold/hidden/yellow{tag = "icon-map (WEST)"; icon_state = "map"; dir = 8},/turf/simulated/wall/r_wall,/area/engineering/atmos/storage) +"cyu" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow,/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor,/area/engineering/atmos) "cyv" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor,/area/engineering) "cyw" = (/obj/structure/table,/obj/item/weapon/storage/belt/utility,/obj/item/weapon/storage/belt/utility,/obj/item/stack/cable_coil,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = 3},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor,/area/engineering/workshop) "cyx" = (/obj/structure/bed/chair,/obj/effect/landmark/start{name = "Station Engineer"},/turf/simulated/floor,/area/engineering/workshop) @@ -6684,13 +6684,13 @@ "cyB" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/turf/simulated/floor/plating,/area/medical/virology) "cyC" = (/obj/machinery/atmospherics/binary/pump{dir = 1; name = "Transit to Waste"},/turf/simulated/floor,/area/engineering/atmos) "cyD" = (/obj/machinery/atmospherics/binary/passive_gate{name = "Waste to Space"},/turf/simulated/floor,/area/engineering/atmos) -"cyE" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/turf/simulated/floor,/area/engineering/atmos) -"cyF" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 9},/turf/simulated/floor,/area/engineering/atmos) +"cyE" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/turf/simulated/wall/r_wall,/area/engineering/atmos/storage) +"cyF" = (/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/turf/simulated/floor,/area/engineering/atmos) "cyG" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/engineering/atmos) "cyH" = (/obj/structure/table/reinforced,/obj/machinery/door_control{id = "xenobio2"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access = list(55)},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/rnd/xenobiology) "cyI" = (/obj/machinery/space_heater,/turf/simulated/floor,/area/engineering/atmos/storage) "cyJ" = (/obj/machinery/atmospherics/unary/freezer{dir = 2; icon_state = "freezer"},/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/engineering/atmos) -"cyK" = (/obj/machinery/atmospherics/pipe/simple/hidden/yellow{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/turf/simulated/wall/r_wall,/area/engineering/atmos/storage) +"cyK" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHEAST)"},/turf/simulated/wall/r_wall,/area/engineering/atmos/storage) "cyL" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical{pixel_y = 5},/obj/item/weapon/storage/toolbox/mechanical{pixel_y = 5},/obj/item/weapon/storage/toolbox/electrical,/turf/simulated/floor,/area/engineering/workshop) "cyM" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator) "cyN" = (/obj/machinery/atmospherics/trinary/mixer,/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator) @@ -6719,11 +6719,11 @@ "czk" = (/obj/machinery/light{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/extinguisher_cabinet{pixel_x = -24},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/rnd/xenobiology) "czl" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/engineering/atmos) "czm" = (/obj/machinery/atmospherics/pipe/simple/visible/green{tag = "icon-intact (SOUTHEAST)"; icon_state = "intact"; dir = 6},/turf/simulated/floor,/area/engineering/atmos) -"czn" = (/obj/machinery/atmospherics/pipe/manifold/visible/green{dir = 1},/turf/simulated/floor,/area/engineering/atmos) -"czo" = (/obj/machinery/atmospherics/pipe/manifold4w/visible/green,/turf/simulated/floor,/area/engineering/atmos) +"czn" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 6},/turf/simulated/floor,/area/engineering/atmos) +"czo" = (/obj/machinery/atmospherics/pipe/manifold/visible/yellow{tag = "icon-map (NORTH)"; icon_state = "map"; dir = 1},/turf/simulated/floor,/area/engineering/atmos) "czp" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/simple/visible/green{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor,/area/engineering/atmos) -"czq" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/purple{tag = "icon-intact (NORTH)"; icon_state = "intact"; dir = 1},/turf/simulated/floor,/area/engineering/atmos) -"czr" = (/obj/machinery/atmospherics/binary/pump{dir = 4; name = "Transit to Mix"},/turf/simulated/floor,/area/engineering/atmos) +"czq" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/red,/turf/simulated/floor,/area/engineering/atmos) +"czr" = (/obj/machinery/atmospherics/pipe/manifold/visible/yellow,/obj/machinery/meter,/turf/simulated/floor,/area/engineering/atmos) "czs" = (/obj/machinery/portable_atmospherics/canister/phoron,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/engineering/atmos) "czt" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/engineering/atmos) "czu" = (/obj/machinery/portable_atmospherics/canister/sleeping_agent,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/engineering/atmos) @@ -6765,7 +6765,7 @@ "cAe" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cAf" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/wall/r_wall,/area/rnd/xenobiology) "cAg" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall/r_wall,/area/rnd/xenobiology) -"cAh" = (/obj/machinery/atmospherics/binary/pump{dir = 1; name = "CO2 to Transit"},/turf/simulated/floor,/area/engineering/atmos) +"cAh" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 1},/obj/machinery/meter,/turf/simulated/floor,/area/engineering/atmos) "cAi" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) "cAj" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) "cAk" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) @@ -6777,17 +6777,17 @@ "cAq" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) "cAr" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/rnd/xenobiology) "cAs" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/maintenance/engineering) -"cAt" = (/obj/machinery/atmospherics/binary/pump{dir = 1; name = "Phoron to Transit"},/turf/simulated/floor,/area/engineering/atmos) +"cAt" = (/obj/machinery/atmospherics/binary/pump{dir = 4; name = "Mixing to Port"},/turf/simulated/floor,/area/engineering/atmos) "cAu" = (/obj/machinery/atmospherics/binary/pump{dir = 1; name = "N2O to Transit"},/turf/simulated/floor,/area/engineering/atmos) -"cAv" = (/obj/machinery/atmospherics/binary/pump{name = "Transit to Mix Tank"},/turf/simulated/floor,/area/engineering/atmos) -"cAw" = (/obj/machinery/atmospherics/binary/pump{dir = 1; name = "Mix Tank to Transit"},/turf/simulated/floor,/area/engineering/atmos) -"cAx" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{tag = "icon-intact (NORTH)"; icon_state = "intact"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor,/area/engineering/atmos) +"cAv" = (/obj/machinery/atmospherics/binary/pump{dir = 1; name = "CO2 to Mixing"},/turf/simulated/floor,/area/engineering/atmos) +"cAw" = (/obj/machinery/atmospherics/binary/pump{dir = 1; name = "Phoron to Mixing"},/turf/simulated/floor,/area/engineering/atmos) +"cAx" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/visible/red,/turf/simulated/floor,/area/engineering/atmos) "cAy" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/portable_atmospherics/canister/phoron,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/engineering/atmos) "cAz" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering/atmos) -"cAA" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/engineering/atmos) +"cAA" = (/obj/machinery/atmospherics/binary/pump{name = "Mixing to Mix Tank"},/turf/simulated/floor,/area/engineering/atmos) "cAB" = (/obj/machinery/portable_atmospherics/canister/sleeping_agent,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/engineering/atmos) "cAC" = (/obj/machinery/portable_atmospherics/canister/air,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/engineering/atmos) -"cAD" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/obj/machinery/light,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/engineering/atmos) +"cAD" = (/obj/machinery/atmospherics/binary/pump{dir = 1; name = "Mix Tank to Port"},/turf/simulated/floor,/area/engineering/atmos) "cAE" = (/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/engineering/atmos) "cAF" = (/obj/machinery/power/terminal{icon_state = "term"; dir = 1},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/engineering/atmos/storage) "cAG" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; layer = 3.1; master_tag = "incinerator_access_control"; name = "Incinerator airlock control"; pixel_x = 10; pixel_y = -22},/obj/structure/sign/fire{pixel_x = -32; pixel_y = 0},/obj/machinery/light/small{dir = 8},/obj/machinery/atmospherics/binary/pump,/turf/simulated/floor/plating,/area/maintenance/incinerator) @@ -6822,32 +6822,32 @@ "cBj" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor,/area/engineering) "cBk" = (/obj/machinery/atmospherics/pipe/manifold/visible/red{tag = "icon-map (WEST)"; icon_state = "map"; dir = 8},/turf/simulated/floor,/area/engineering/atmos) "cBl" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor{icon_state = "hydrofloor"},/area/rnd/xenobiology) -"cBm" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/obj/machinery/door/airlock/atmos{name = "Atmospherics Maintenance"; req_access = list(12,24)},/turf/simulated/floor,/area/engineering/atmos/storage) -"cBn" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/obj/machinery/portable_atmospherics/powered/pump/filled,/turf/simulated/floor,/area/engineering/atmos/storage) +"cBm" = (/obj/machinery/atmospherics/pipe/simple/visible/green,/turf/simulated/floor{dir = 10; icon_state = "yellow"},/area/engineering/atmos) +"cBn" = (/obj/machinery/camera/network/engineering{c_tag = "Atmospherics Southwest"; dir = 1},/obj/machinery/atmospherics/pipe/simple/visible/green,/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/engineering/atmos) "cBo" = (/obj/machinery/light,/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/rnd/xenobiology) "cBp" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/rnd/xenobiology) -"cBq" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/obj/machinery/portable_atmospherics/powered/pump/filled,/obj/machinery/light/small{dir = 1},/turf/simulated/floor,/area/engineering/atmos/storage) +"cBq" = (/obj/machinery/atmospherics/pipe/simple/visible/green,/turf/simulated/floor{dir = 10; icon_state = "escape"},/area/engineering/atmos) "cBr" = (/obj/machinery/light,/obj/structure/closet,/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/rnd/xenobiology) "cBs" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{name = "Virology Laboratory"; req_access = list(39)},/turf/simulated/floor{icon_state = "delivery"},/area/medical/virology) "cBt" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/turf/simulated/floor/plating,/area/medical/virology) -"cBu" = (/obj/machinery/atmospherics/pipe/simple/visible/purple,/turf/simulated/floor{dir = 10; icon_state = "yellow"},/area/engineering/atmos) +"cBu" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/visible/red,/turf/simulated/floor,/area/engineering/atmos) "cBv" = (/obj/machinery/light,/turf/simulated/floor,/area/engineering/atmos) "cBw" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "incinerator_access_control"; name = "Incinerator airlock control"; pixel_x = -8; pixel_y = 24},/obj/structure/sign/fire{pixel_x = 32; pixel_y = 0},/obj/machinery/atmospherics/binary/pump{dir = 1},/turf/simulated/floor/plating,/area/maintenance/incinerator) "cBx" = (/obj/machinery/atmospherics/valve/digital{name = "CO2 Outlet Valve"},/turf/simulated/floor{dir = 6; icon_state = "yellow"},/area/engineering/atmos) "cBy" = (/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1441; input_tag = "co2_in"; name = "Carbon Dioxide Supply Control"; output_tag = "co2_out"; sensors = list("co2_sensor" = "Tank")},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/light,/turf/simulated/floor{dir = 2; icon_state = "yellow"},/area/engineering/atmos) "cBz" = (/obj/machinery/door/window/southright{name = "Virology Isolation Room Two"; req_access = list(39)},/obj/machinery/atmospherics/pipe/simple/hidden/purple,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{dir = 2; icon_state = "whitegreen"; tag = "icon-whitehall (WEST)"},/area/medical/virology) -"cBA" = (/obj/machinery/light,/obj/machinery/atmospherics/binary/pump{dir = 1; name = "CO2 to Connector"},/turf/simulated/floor,/area/engineering/atmos) +"cBA" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/light,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/engineering/atmos) "cBB" = (/obj/machinery/atmospherics/valve/digital{name = "Phoron Outlet Valve"},/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/engineering/atmos) "cBC" = (/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1441; input_tag = "tox_in"; name = "Phoron Supply Control"; output_tag = "tox_out"; sensors = list("tox_sensor" = "Tank")},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/light,/turf/simulated/floor{icon_state = "warning"},/area/engineering/atmos) -"cBD" = (/obj/machinery/atmospherics/pipe/simple/visible/purple,/turf/simulated/floor{dir = 10; icon_state = "escape"},/area/engineering/atmos) -"cBE" = (/obj/machinery/atmospherics/binary/pump{dir = 1; name = "Phoron to Connector"},/obj/machinery/light,/turf/simulated/floor,/area/engineering/atmos) +"cBD" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/green,/turf/simulated/floor/plating,/area/engineering/atmos) +"cBE" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/engineering/atmos) "cBF" = (/obj/machinery/atmospherics/valve/digital{name = "N2O Outlet Valve"},/turf/simulated/floor{icon_state = "escape"; dir = 6},/area/engineering/atmos) "cBG" = (/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1441; input_tag = "n2o_in"; name = "Nitrous Oxide Supply Control"; output_tag = "n2o_out"; sensors = list("n2o_sensor" = "Tank")},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/light,/turf/simulated/floor{dir = 7; icon_state = "escape"},/area/engineering/atmos) -"cBH" = (/obj/machinery/light,/obj/machinery/atmospherics/binary/pump{dir = 1; name = "N2O to Connector"},/turf/simulated/floor,/area/engineering/atmos) +"cBH" = (/obj/machinery/atmospherics/binary/pump{dir = 1; name = "CO2 to Connector"},/turf/simulated/floor,/area/engineering/atmos) "cBI" = (/obj/machinery/door/window/southright{name = "Virology Isolation Room Three"; req_access = list(39)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/purple,/turf/simulated/floor{dir = 2; icon_state = "whitegreen"; tag = "icon-whitehall (WEST)"},/area/medical/virology) "cBJ" = (/obj/machinery/atmospherics/valve/digital{name = "Gas Mix Outlet Valve"},/turf/simulated/floor{icon_state = "green"; dir = 6},/area/engineering/atmos) -"cBK" = (/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1441; input_tag = "waste_in"; name = "Gas Mix Tank Control"; output_tag = "waste_out"; sensors = list("waste_sensor" = "Tank")},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/light,/turf/simulated/floor{dir = 2; icon_state = "green"},/area/engineering/atmos) -"cBL" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{tag = "icon-intact (NORTH)"; icon_state = "intact"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/engineering/atmos) +"cBK" = (/obj/machinery/atmospherics/binary/pump{dir = 1; name = "Phoron to Connector"},/turf/simulated/floor,/area/engineering/atmos) +"cBL" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/green,/turf/simulated/floor/plating,/area/engineering/atmos) "cBM" = (/obj/machinery/atmospherics/binary/pump{dir = 1; name = "Mix Tank to Connector"},/obj/machinery/light,/turf/simulated/floor,/area/engineering/atmos) "cBN" = (/turf/simulated/wall/r_wall,/area/engineering/drone_fabrication) "cBO" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio1"; name = "Containment Blast Doors"; opacity = 0},/obj/machinery/door/window/northleft{base_state = "right"; dir = 8; icon_state = "right"; name = "Containment Pen"; req_access = list(55)},/turf/simulated/floor/engine,/area/rnd/xenobiology) @@ -6866,14 +6866,14 @@ "cCb" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/wall/r_wall,/area/maintenance/incinerator) "cCc" = (/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/machinery/meter,/turf/simulated/floor,/area/engineering/atmos) "cCd" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/visible,/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/incinerator) -"cCe" = (/obj/machinery/atmospherics/pipe/simple/visible/green,/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor,/area/engineering/atmos) +"cCe" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/visible/red,/turf/simulated/floor/plating,/area/engineering/atmos) "cCf" = (/obj/machinery/atmospherics/pipe/manifold/visible/red{tag = "icon-map (NORTH)"; icon_state = "map"; dir = 1},/turf/simulated/floor,/area/engineering/atmos) "cCg" = (/obj/structure/table,/obj/item/weapon/storage/box/cups,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cCh" = (/obj/structure/reagent_dispensers/water_cooler,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cCi" = (/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (SOUTHWEST)"; icon_state = "intact"; dir = 10},/turf/simulated/floor,/area/engineering/atmos) "cCj" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/medical/virology) "cCk" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/status_display,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/medical/virology) -"cCl" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 5},/turf/simulated/floor/plating/airless,/area/space) +"cCl" = (/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/turf/simulated/floor/plating/airless,/area/space) "cCm" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/medical/virology) "cCn" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/obj/machinery/light,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/camera/network/engineering{c_tag = "Atmospherics Southeast"; dir = 1},/turf/simulated/floor,/area/engineering/atmos) "cCo" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/medical/virology) @@ -6889,16 +6889,16 @@ "cCy" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; external_pressure_bound = 140; external_pressure_bound_default = 140; icon_state = "map_vent_out"; pressure_checks = 1; pressure_checks_default = 1; use_power = 1},/turf/simulated/floor/plating/airless,/area/medical/virology) "cCz" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{external_pressure_bound = 140; external_pressure_bound_default = 140; icon_state = "map_vent_out"; pressure_checks = 1; pressure_checks_default = 1; use_power = 1},/turf/simulated/floor/plating/airless,/area/engineering/atmos) "cCA" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/plating,/area/engineering/atmos) -"cCB" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/visible/purple,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/engineering/atmos) +"cCB" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/space,/area/space) "cCC" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/engineering/atmos) "cCD" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/manifold/visible/yellow{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/engineering/atmos) "cCE" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/plating,/area/engineering/atmos) -"cCF" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/visible/purple,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/engineering/atmos) +"cCF" = (/obj/structure/grille,/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/space,/area/space) "cCG" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/engineering/atmos) "cCH" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/plating,/area/engineering/atmos) "cCI" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/engineering/atmos) -"cCJ" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/visible/green,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/engineering/atmos) -"cCK" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/visible/purple{tag = "icon-intact (NORTH)"; icon_state = "intact"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/plating,/area/engineering/atmos) +"cCJ" = (/obj/machinery/atmospherics/binary/pump{dir = 1; name = "N2O to Connector"},/turf/simulated/floor,/area/engineering/atmos) +"cCK" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/visible/green,/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/space,/area/space) "cCL" = (/obj/machinery/cryopod/robot/right,/turf/simulated/floor/plating,/area/engineering/drone_fabrication) "cCM" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) "cCN" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/atmos{name = "Atmospherics Maintenance"; req_access = list(12,24)},/turf/simulated/floor,/area/engineering/atmos/storage) @@ -6937,7 +6937,7 @@ "cDu" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; external_pressure_bound = 140; external_pressure_bound_default = 140; icon_state = "map_vent_out"; pressure_checks = 1; pressure_checks_default = 1; use_power = 1},/turf/simulated/floor/plating/airless,/area/maintenance/incinerator) "cDv" = (/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/obj/structure/sign/securearea{desc = "A warning sign which reads 'HOT EXHAUST'."; name = "\improper HOT EXHAUST"; pixel_x = -32},/turf/simulated/floor/plating/airless,/area/space) "cDw" = (/obj/item/weapon/stool,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"cDx" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/obj/structure/lattice,/turf/space,/area/space) +"cDx" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/visible/yellow,/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/space,/area/space) "cDy" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) "cDz" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) "cDA" = (/obj/machinery/computer/drone_control,/turf/simulated/floor/plating,/area/engineering/drone_fabrication) @@ -6974,7 +6974,7 @@ "cEf" = (/obj/item/weapon/stool,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cEg" = (/obj/structure/grille,/obj/machinery/meter,/obj/machinery/atmospherics/pipe/simple/visible/yellow,/turf/simulated/wall/r_wall,/area/engineering/atmos) "cEh" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/visible/yellow,/obj/machinery/meter,/turf/simulated/wall/r_wall,/area/engineering/atmos) -"cEi" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/visible/green,/obj/machinery/meter,/turf/simulated/wall/r_wall,/area/engineering/atmos) +"cEi" = (/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1441; input_tag = "waste_in"; name = "Gas Mix Tank Control"; output_tag = "waste_out"; sensors = list("waste_sensor" = "Tank")},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor{dir = 2; icon_state = "green"},/area/engineering/atmos) "cEj" = (/obj/structure/table,/obj/item/weapon/storage/box/matches,/obj/item/weapon/storage/fancy/cigarettes,/obj/machinery/light/small{dir = 8},/obj/item/weapon/deck,/turf/simulated/floor/plating,/area/engineering/drone_fabrication) "cEk" = (/obj/machinery/drone_fabricator,/turf/simulated/floor/plating,/area/engineering/drone_fabrication) "cEl" = (/obj/effect/decal/remains/robot,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/engineering/drone_fabrication) @@ -7077,7 +7077,7 @@ "cGe" = (/obj/machinery/power/smes/buildable{charge = 1e+007; cur_coils = 4; input_attempt = 1; input_level = 500000; output_level = 500000; RCon_tag = "Engine - Main"},/obj/structure/cable,/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/engineering/engine_smes) "cGf" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor{icon_state = "warning"},/area/engineering/engine_smes) "cGg" = (/obj/machinery/door/window/southright{name = "Containment Pen"; req_access = list(47)},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio6"; name = "Containment Blast Doors"; opacity = 0},/turf/simulated/floor/engine,/area/rnd/xenobiology) -"cGh" = (/obj/machinery/atmospherics/pipe/simple/visible/purple,/obj/machinery/camera/network/engineering{c_tag = "Atmospherics Southwest"; dir = 1},/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/engineering/atmos) +"cGh" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/turf/space,/area/space) "cGi" = (/obj/machinery/computer/general_air_control/supermatter_core{frequency = 1438; input_tag = "cooling_in"; name = "Engine Cooling Control"; output_tag = "cooling_out"; pressure_setting = 100; sensors = list("engine_sensor" = "Engine Core")},/turf/simulated/floor{icon_state = "warning"},/area/engineering/engine_monitoring) "cGj" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/maintenance/engineering) "cGk" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/computer/power_monitor,/turf/simulated/floor{icon_state = "warning"},/area/engineering/engine_monitoring) @@ -7305,7 +7305,7 @@ "cKy" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/turf/space,/area/space) "cKz" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 5},/obj/structure/lattice,/turf/space,/area/space) "cKA" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/visible/green,/turf/space,/area/space) -"cKB" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/visible/purple,/turf/space,/area/space) +"cKB" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/yellow,/turf/simulated/floor/plating,/area/engineering/atmos) "cKC" = (/obj/effect/landmark{name = "carpspawn"},/obj/structure/grille{density = 0; icon_state = "brokengrille"},/obj/structure/lattice,/turf/space,/area/space) "cKD" = (/obj/structure/table/reinforced,/obj/machinery/door_control{desc = "A remote control-switch for the engine control room blast doors."; id = "EngineBlast"; name = "Engine Monitoring Room Blast Doors"; pixel_x = 0; pixel_y = -3; req_access = list(10)},/obj/machinery/door_control{desc = "A remote control-switch for the engine charging port."; id = "SupermatterPort"; name = "Reactor Blast Doors"; pixel_x = -6; pixel_y = 7; req_access = list(10)},/obj/machinery/door_control{desc = "A remote control-switch for the engine emitter."; id = "EngineEmitter"; name = "Engine Emitter"; normaldoorcontrol = 2; pixel_x = 6; pixel_y = 7; req_access = list(10)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/engineering/engine_monitoring) "cKE" = (/turf/simulated/shuttle/wall{icon_state = "swall12"; dir = 2},/area/shuttle/constructionsite/station) @@ -7536,29 +7536,29 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafccRccRcdBccTcfjcdYccUccWccVbYIcfkccHccIcfmccKccLcfsccNccOcfuccXcdaccZcdecdbcfGcdycdQcdFcekceecemcfIcdccddaJEcdfcaqbTFcbIcdgcdhcdicfLcdkcdlcfMcdncdocfRcdqcdrcdscdtcaEcducdvcdwcaIbZxbWQcenbZycdxceobZAcdzcdAcepbZAcaPbYfbYfcaQbYccbYcbXcbZbYcchBccacjfcdLcdLbyFbBucdLcdOcdPceqcdRcdOcdSbBpbyebydcdScdScdScdScgebyebydcdScdSbXjcdXcgmcgfceacgocgCcgBbycbycbycbycbycbycbycbycbycbycbycbycbycbycbycbyccgOcegcegcehbKtbKtbLTbLTcgRbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacejcejcejcejcejcejcejcetcesbYIbYIbYIbYIbYIchbchnchichichichpcewbXzbXybYeceybYjceEceTceSceWceUceXbSUcezaJFceYaJFcaqbTFcbIceDcfacfacfaceFceGbTJchuchqbTJcbKcbNceJcelcaEchzceLceMcaIbZxbWQceNbZyceOcePbZAbZAbZAbZAbZAccbceRbYfcaQbYcccdchLbYcbYcchBccecjfcdLceZcfbcfbcfccdOcfdchPcffcdOcfgcfhcfhcfhchSciycifcflciCcfncfocfpcdScfqcfrciLbUnbUnbUnbUnaaaaafaaaaaaaaaaahaahaahaafaaaaaaaafaaaaaaaafaafaafcftcfBcfvbNebKsbKtbKtbLTbLUbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaafaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafcejcfwcfxcfycfzcfAcejcfDcfCcfFcfEcfHciPciVciVcfKcfJcfJcjacjlcbqbXzbXybYecfNcaicfOcfQcfPcfUcjqcggbSUaJFaJFcaqceBcaqbTFcbIcfVcfWcfWcfWcfXcbIcfYcfZcgacfYcgbcgccgdcjtcaEcjvceLcgicaIcghccfcgjbZycgkcglbZycjCbLvbVicgnccgcchbYfccjcciccicckcclcclcclcclccmcdLcjIcgycgycgzcgActscgrcgpcgucgtcgGcgGcgGcgxcgIcgIcgJckncgLcgDcgMcdScgNckocgPcgNaaaaaaaaaaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafcgQbKqbKqbKrbKsbKsbKtbKtbKtbKtbKuaafaafaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaafaafaafcgEcgEcgEcgEcgEcgEcgEcgEcgEcgEcgEcgEcgEaaaaaacgScgTcgTcgTcgUcgVcejcgHcgFckCcgKcgXcgWcgZcgYckFchachdchcchfchechhchgchjckNbSUbSUbSUbSUbSUbSUbSUbSUclfckQcaqclgcaqbTFcbIcbIctpctqctrcbIcbIchrchschtcfYcaEcaEcaEcaEcaEcaIchkchlcaIchwclpchwbZychychmbZychAchBbVichCbVichDbYfccobYfbYfccpcdCcdCcdCcdDbYfcdLchIchJchJchKcluchMchochOclCchQckLckLckLckLclGchvckLclVckLchEchFcdSchZciachGcgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaaaaaaaaaaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacgEchHcmgchHcgEchNcmkchNcgEchRcmpchRcgEaaaaaaciicgTcgTcgUcgUcijcejchUchTchWchVchYchXcidciccmwcieciecigciecbqbXzcihbYecikcimcilciocinciocipcirciqciqciAciAciAciAbTFciGciHciIciIciJciKcmGciMciXciOcmPciQciRciSciSciTciUcaIcaIcaIcmQcdEckqbZybZybZybZychBchBbViciYbViciZbYfccobYfaaaaaaaaaaaaaaaaaaaaacdLcjgcisciucitcjjcjkcivcjmcjncjociwcjocjocixcjrcjscgIcmRcgIciWcjucdScmXcjwcjxcgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacgEchHcjbchHcgEchNcjcchNcgEchRcjdchRcgEaaaaaaciicgTcgUcgUcgUcjBcnecjhcjechWcjicjpcnfcnhcngcjzcjycjDcjAcjEcbqbXzcjFchjcjGcnucjHcjJcjJcjJcjKcjMcjLcjNcnwcjOceAciAbTFciGckaciIckbckcckdcubckfckgckhctQckjckkcklciSckmciUcnEcnFckpcjQcjPcdHcdGcdIcdIcdJcdIcdKbVibVibVibVibYfccobYfaaaaaaaaaaaaaaaaaaaaacdLcnIcjRcjTcjSckEcdOcnKcdOckGckHcjXcjUcjUcjYcgIcgIckecjZcjUckickOcdSckPcnLckRcgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacgEckrckuckscgEckzckBckAcgEckDckJckIcgEaaaaafciiclbcgTcgUcgUcgUcejckMckKchWchWcnNchWchWchWchWckTcieckWckYcbqclackZcldclccnPcleclhclhclhclicljcljclkciAcllcgqclwclxciGclyciIclzclAclBcnQclDclEclFcolclHclIclJciSclKciUconcoqclNclnclmclQclNclRclSclTbYfceQcdIcdIcdIcdIcdIcltbYfaaaaaaaaaaaaaaaaaaaaacdLcmacmbcmccmdcdOcmecmfcorcdScmhcmicmicmiclvcotcmlclPclOcmicmicmncdScmocpdcmqcmraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaafaafcgEclXcmmcmjcgEcmscmmcmtcgEcmscmmcmtcgEaaaaafcmzcgTcgTcgUcgUcmAcejcmvcmucmxcpfcmBcmycmCcmCcmEcmDcmCcmFcpgcbqcmIcmHcmKcmJcimcmLcmLcmMcljcmNcpocmOcmOciAcibceVcprcqgciGcnbciIcnccndcpAciGcmSciNcmWcfYcpOcnicnjciScnkciUclLclMclNcnlcqecnlclNaaaaaaaaabYfbYfbYfcnnclSclSclTbYfbYfaaaaaaaaaaaacdOcdOcdOcdOcdOcdOcdOcdOcdOcnocnpcnqcdScdScnrcnscntcdScdScdScdScqrcnscntcdScdScnvcqscnvaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabZSaafaafaafaaaaafcnxaafcnxaafcKBaafcKAaafcKBaafcKAaafaafaaacejcnAcnBcgUcgUcnCcnDcqAcqtcnycnmcqDcnzcnzcqIcnzcnGcqOcnHcnGcnJcrzcrvcrQcnMcnOcnOcnOcnOcsecsdcnRcnRcnRcgscgscgscgscnSciGcnTcnUcnccnVcnWciGcmSciNcnXciUcnYcnZcnjcoacobciUclLclMclNcoccodcoeclNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaacdOcofcogcohcwlcojcokcsfcomcsgcopcoocdOaaLaafaafaafaafaaaaaaaaacsiaaaaaaaaaaafcoscsncosaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaafcoucowcovcoxcovcowcoycoxcoAcoBcoycoDcoCcoFcoEcnycnycnycnycnycnycnycnycoHcoGcoJcoIcoLcoKcoNcoMcoOcnGcoQcoPcoRcnGcoTcoScoUcnOcoWcoVcoYcoXcpacoZcpjcpbcpbcpkcpncpncpjcsDciGciGcpccsLciGciGciGcpeciNcsMciUciUciUctbcphciUciUclLcpiclNcvmcpscvmclNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaafaafcdOcplcpmcplctictccppcpqcomcomctkcomcdOcdOaaaaaaaaaaafaafaaaaacaaaaaaaaaaaaaafaaactmaaaaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaaaaaaaaaaafcptcpvcpucpxcpwcpvcpyctxcpzcpCcpBcpEcpDcpHcpFcpLcpJcpNcpMcpQctBcpUcpTcpWcpVcpYcpXcqacpZcqccqbctIcqdctOcqfctScqzcoTcqJcqKcnOcpacpacpacpacpacqMcpjcqPcqPcqPcpncpncpjbTFcrYciGcqhcqicqjcqkciGcqlciNcqmciUcqncqocqpcqqciUctTclLcpiclNctVcqQcquclNaaaaaaaaaaaaaaaaaacqvcqwcqxcqycqvaafaaaaaaaaaaaacdOcplcplcplcoicuacqBcqCculcqEcqFcqGcqHcdOaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaafaaacmZaaaaafaafaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaafcqRcpFcqScqVcqUcpFcqWcpFcqXcqYcqWcpFcqXcqYcpFcpFcpFcpFcpFcqZcpFcpFcpFcrbcracrdcrccurcpZcrfcrecrhcrgcrjcricrlcrkcoTcqJcrmcnOcrncpacpacrocpacrpcpjcrIcrKcrJcrKcrLcpjbTFcrqciGcrrcrscrtcrucuycrwcrxcrycuEcrAcrBcrCcrDciUcrEcrFcrGcrHcqvcuLcqvcrHaaaaaaaafaaaaaaaaacqvcrRcrTcrScqvaafaafaaaaaaaaacdOcomcomcomcomcrMcppcrNcrNcrNcnpcrNcrOcdOaaaaaaaaaaaaaaacrPcrPcrPbZSaafaafaafaafcnaaafaafaafaafaafaaqcrPcrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaafaafaafcptcpFcrccpFcrccpFcqWcpFcrUcrWcrVcrWcrXcrWcrWcsacrZcpFcpFcuYcuUcuUcuUcvncvlcvscvscvtcpZcvvcshcsjcnGcsmcskcvEcnGcspcsocsrcsqcstcsscsvcsucpacswcpjcsxcrKcsycrKcsKcpjbTFcizciGcszcsAcsBcsCciGcfYcvGcfYciUcsEcsFcsGcsHciUcsIcrGcrGcqvcsJcsNcvOcqvcqvcqvcqvcqvcqvcqvcqvctMctDctNcqvcqvcqvcrHaaaaaacdOcofcogcohcslcsRcqBcrNcrNcrNcnpcrNcsScdOaaaaaaaaaaaaaaacrPaaaaafaaaaafaaaaaaaaackxaaaaafaafaaaaaaaaaaaacrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaafaaaaaacptcpFcrccpFcsOcsTcsQcsVcsUcsWcrVcrWcsXcrWcrWcsZcsYcwacvRcwzctactectdctdctfcrccrccthctgctjcwHcnzcnGcwUcnGcnGcnGcwWctlcsrctncttctoctyctucpacwZcpjcxqcrKcsycrKcxrcpjctvctwciGciGcxsciGciGciGciBctzctAciUciUciUcxFciUciUcsIcrGaaacqvctCctZctEctFctGctHcxJctJctKctLcqvcuVcxVcuVcqvcyactPcqvaafaafcdOcplcplcplcybctcctRcuccycctUcudcrNctWcdOcdOcdOcdOaaaaaacrPaaactXctXctXctXctXaafckxaafctXctXctXctXctXaaacrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacptcpFcsOcsTcsTcsTcsQcsTcsTcsTcsQcsTcsTcsTcsTcsTcuecygcsTcyhcsTcufcsTcsTcsTcuhcugcuicpvcpFcujcyicukcuncumcupcuocumcuqcuscymcuucutcutcuvcutcuwcypcuxcuAcuzcuBcuBcpjcuCcuDcyrcuFcuFcuGcuHcuIcuJcuJcuJcuJcuJcuJcuJcuJcuKcrFcrGaaactFcyzcuPcuNctFcuOcuRcuQcuQcvdcvacuQcuQcvhcuQcuVcuXcuQcqvaaaaaacdOcplcplcplcslcyHcuZcvicvbcvccvjcrNcrNcvecvfcvgcdOaafaafcrPaafckVckSckSckSckSckyckxckwckvckvckvckvckUaafcrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacptcpFcpFcpFcpFcpFcqWcpFcpFcpFcqWcpFcpFcpFcpFcpFcqXcpFcpFcurcpFcvkcpFcyRcyJcvpcvocvrcvqcyScvqcyZcvucvxcvwcvycvucvucvzcvAcsecvBcpacvDcvCcpacpaczBcrKcrKcvFcuBcuBcpjbPxcAscvNcvNcvNcvNczFcvNcvNcvNcvNclMcvPcrGcrGcrGcrGcrGcrGaaactFctFczLctFctFczMcvScvTcvUcvVcvHcvJcvIcvLcvKczVcwbcwccqvaaaaaacdOcomcomcomcomcwdcppcvicwecwfcvQcrNcrNcwhcrNcwicdOaaaaaacrPaafcwjcwjcwjcwjcwjaaackxaaacwjcwjcwjcwjcwjaafcrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaabZSaaaaaaaaaaaacptcpFcpFcpFcpFcpFcqWcpFcpFcpFcqWcpFcpFcpFcpFcpFcqXcpFcpFcurcpFcvWcpFcpFcvWcvWcvXcpFcpFcvZcvYcwgcwgcwgcwgcwmcwkcoTcwocwpcsqcwqcpacwscvCcpacwtcpjcwucrKcwvcwxcwwcpjczXcvMcvNcwIcwJcwKcwLcwMcwNcwOcvNcwPcwQcrGaaaaaaaaaaaaaaaaaacqvcwRcwycwAcAHcwCcwBcwEcwDcwGcwFcwTcwScwVcAJcuWcuQcxecqvaaaaaacdOcofcogcohckXcsRcuZcxgcxhcxhcxicxjcxkcAUcxmcxncdOaaaaaacrPaaaaafaaaaafaafaafaaackxaaaaafaaaaafaaaaafaaacrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacptcpFcpFcpFcpFcpFcwXcpFcpFcpFcwXcpFcpFcpFcpFcpFcqXcpFcpFcBkcwYcxbcxacxacxbcxccxbcxlcxdcxocxacBmcxpcBqcBncxtcwkcoTcxucoTcxvcxwcpacpacxAcpacxBcpjcxCcxCcxDcwxcwwcpjbPxcvMcvNcxKcxLcxMcxNcxOcxNcxPcvNcxQcxRcrGaaaaaaaaaaaaaaaaaacqvcxScxTcxUcBscxWcxXcxYcxZcuTcBzcuScxEcuTcBIcqvcqvcqvcqvaaaaaacdOcplcpmcplcBOctccppcrNcrNcyecyfcrNcBRcomcomcomcdOaaaaaacrPaaactXctXctXctXctXaafckxaafctXctXctXctXctXaafcrPaaacBSaaaaaacBSaaaaaaaaacBSaaaaaaaaaaaaaaacBSaaaaaaaaacBSaaaaaacBSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaaaaaaaaacptcpFcsccsbcsbcxHcxGcuUcCccuUcxIcCccuUcuUcuUcuUcCecuUcCfcvncCicvWcpFcpFcyjcylcykcyncCncyocpFcCNcyqcyscyscyucytcoTcxucyvcnOcywcpacyxcpacCOcyycpjcpjcpjcpjcpjcpjcpjbPxcvMcvNcyMcyNcxLcyOcxLcxNcyPcvNcyQcCQcrGaaaaaaaaaaaaaaaaaacqvcuVcCYctFctFcyTcyAcyVcyWctMctDctNcyBctMcvhcyYcqvaaaaaaaaaaaacdOcplcplcplckXcDaczacrNcrNcrNcyfcrNczbcrNczccrNczdaafaafcrPaafckVckSckSckSckSckyckxckwckvckvckvckvckUaafcrPaaacBScBScBScBSaaaaaaaaacBScBScBScBScBScBScBSaaaaaaaaacBScBScBScBSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaaaaaaaaacptcpFcqWcpFcpFcpFcwXcpFcpFcpFcwXcpFcpFcpFcpFcpFcqXcpFcyCcpFcyDcvWcpFcpFcyEcxccyFcyGcwgcDmcwgcwgcyqcDpcyIcyKcytcoTcxucoTcnOcyUcyLczecyXczfcpacnOczgczJczJczhcDtcDNczNczOcvNcxNczPczQcxNczRczSczTcvNczUcDOcrGaaaaaaaaaaaaaaaaaacqvczWcuMcDUcuVczYczZcAactFcAbcAccsPcyBczWczjcAecqvaaaaaaaaaaaackEcdOcAfcAgcAgczkcAicAjcAkcAlcAmcAncAocApcAqcokcAraaaaaacrPaafcwjcwjcwjcwjcwjaaackxaafcwjcwjcwjcwjcwjaaacrPaaacBScBScBScBSaaaaaacBScBScBScBScBScBScBScBScBSaaaaaacBScBScBScBSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaIaaaaaaczlcpFcqWcpFczmcrWcrVcrWczncrWcrVcrWczncrWcrWcrWczoczpczoczrczqcyFczsczucztczwczvczxcwgczzczycwgcwgcwgcwgcwgczAcrzcEccrzcnOcnOcnOcnOcnOcnOcnOcnOczDczJczJczEcANcAObPxcAPcvNcAQcARcErcATcEycAVcAWcvNcAXcAYcrGaaaaaaaaaaaaaaaaaacqvcuQcAZcAectFcBacBbcBcctFcBdcBeczHczGczIcBeczKcqvaafaafaaaaaaaaaaaabquaaacdOcBlcEXcEBcBocBpcEXcFecBrcBpcEXcFgcdOaaaaaabZSaaaaafaaaaafaaaaafaaackxaaaaafaaaaafaafaafaafcrPaaacBScBScBScBSaaaaaacBScBScBScBScBScBScBScBScBSaaaaaacBScBScBScBSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabZSaaaaaaaaaaaIaaaaaacAdcpFcqWcpFcAhcylcqWcpFcAtcylcqWcpFcAucylcpFcpFcAvcpFcAwcylcAxcAzcAycABcAAcADcACcAEcwgcFrcAFcFCcAIcAKcumcAMcALcumcAScumcBfcuocBgcBicBhcBhcBjcFEcBVcBWcBWcBXcBYcAObPxcBZcvNcvNcCacCbcFFcCbcCacCdcvNcrGcFKcrGaaaaaaaaaaaaaaaaaacqvctFcFLcuVctFcCgcChcFUctFcCjcCkcqycgvcBtcCkcCocrHaaaaaaaaaaaaaaaaaacgwaafcdOcCqcFVclUcomclscFWclqcomclocGgclWcdOaaaaaacrPaaactXctXctXctXctXaafckxaafctXctXctXctXctXaafcrPaaacBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaafaafaafaaIaafaafcAdcBvcBucBycBxcBAcGhcBCcBBcBEcBDcBGcBFcBHcpFcBvcGocBKcBJcBMcBLcnycnycnycnycnycnycnycnycGucBNczAcBPcBQcoTcGvcoTcoTcxucoTcoTcGAcoTcBQcBTcCpcBUcCrcGEcGOcGMcCPcHacAObPwcCRcCScCTcCacAGcAVcBwcCacCtcCscCucHjcCXaaaaaaaaaaaaaaaaaacqvcCvctDcuQcHCcDbcuQcDccDdcDeaafaaachxcCxcCwcCyaaaaaaaaaaacaaaaaaaaaaaaaaacdOcDhcplcplcomcDicplcplcomcDicplcplcdOaafaafcrPaafckVckSckSckSckSckyckxckwckvckvckvckvckUaafcrPaaacBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPcCzaaaaaaaaIaaaaaacCAcCCcCBcCEcCDcCGcCFcCHcCDcCGcCFcCHcCDcCGcCIcCIcCJcCHcCDcCGcCKcnyaaacCMcCLcCVcCUcCZcCWcDjcDgcDkcDkcHVcDlcDocDncDqcIAcDncDqcDocDrcIMcDscDrczAczAcAOcITcIRcDPcDQcAObNUcDRcDScDTcCacCbcIZcCbcCacDvcDucDfaafaaaaaaaaaaaaaaaaaaaaacqvcCvcDVcDwcDXcDXcDwcsPcDYcqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacdOcDZcplcplcomcEacplcplcomcEacplcplcdOaaaaaacrPaafcwjcwjcwjcwjcwjaaackxaaacwjcwjcwjcwjcwjaaacrPaaacBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPcClcqLcpIcDxcpIcpIcqLcpIcpPcpIcpGcpIcpPcpIcpGcpIcpPcpIcpGcpIcqLcpIcpRcpIcpGcpIcqNaafaaacDzcDycDBcDAcDDcDCcDjcDEcDkcDFcDHcDGcDJcDIcDLcDKcDWcDMcDJcEbcEdcJhcDraaaaafcAOcJlcECcEDaafaaabNUbPxbPxbSkcCaclZcEFclYcCaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacqvcEecuXcEfcEJcEJcEfcuQcEKcqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacdOcplcplcplcomcELcplcplcomcELcplcplcdOaacaaacrPaaaaaaaafaafaafaaaaaacmTaafaaaaaaaafaafaaaaaacrPaaacBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaabgaaaaaaaaaaaaaaaaaaaaacrPaafaafaaaaaqaaaaaaaafcgEcmscmmcEgcgEcmscmmcEgcgEcmscmmcEhcgEaaacgEcEicmmcEhcgEaaaaafaaacDzcEjcElcEkcEncEmcEpcEocDkcEqcEscJpcDJcEtcEvcEucExcEwcDJcJzcEAcEzcDraaaaaacAOcJAcFhcFiaaaaaabNUbPxbPxbNUcCacmUcmUcmUcCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacqvcEEcFncuQcuQcuQcuQcuQcFocqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaackEcdOcdOcdOcdOcdOcdOcdOcdOcmYcmYcmYckEaaaaaacrPcrPcrPcrPcrPaaaaaaaaacmZaaaaaaaaacrPcrPcrPbZScrPaaacBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaafaafaafcgEcgEcgEcgEcgEcgEcgEcgEcgEcgEcgEcgEcgEaaaaaacgScgTcgTcgTcgUcgVcejcgHcgFckCcgKcgXcgWcgZcgYchdchachYchcchfchechhchgchjckNbSUbSUbSUbSUbSUbSUbSUbSUclfckQcaqclgcaqbTFcbIcbIctpctqctrcbIcbIchrchschtcfYcaEcaEcaEcaEcaEcaIchkchlcaIchwclpchwbZychychmbZychAchBbVichCbVichDbYfccobYfbYfccpcdCcdCcdCcdDbYfcdLchIchJchJchKcluchMchochOclCchQckLckLckLckLclGchvckLclVckLchEchFcdSchZciachGcgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaaaaaaaaaaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacgEchHcmgchHcgEchNcmkchNcgEchRcmpchRcgEaaaaaaciicgTcgTcgUcgUcijcejchUchTchWchVcjpchXcidciccmwcieciecigciecbqbXzcihbYecikcimcilciocinciocipcirciqciqciAciAciAciAbTFciGciHciIciIciJciKcmGciMciXciOcmPciQciRciSciSciTciUcaIcaIcaIcmQcdEckqbZybZybZybZychBchBbViciYbViciZbYfccobYfaaaaaaaaaaaaaaaaaaaaacdLcjgcisciucitcjjcjkcivcjmcjncjociwcjocjocixcjrcjscgIcmRcgIciWcjucdScmXcjwcjxcgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacgEchHcjbchHcgEchNcjcchNcgEchRcjdchRcgEaaaaaaciicgTcgUcgUcgUcjBcnecjhcjechWcjickFcnfcnhcngcjzcjycjDcjAcjEcbqbXzcjFchjcjGcnucjHcjJcjJcjJcjKcjMcjLcjNcnwcjOceAciAbTFciGckaciIckbckcckdcubckfckgckhctQckjckkcklciSckmciUcnEcnFckpcjQcjPcdHcdGcdIcdIcdJcdIcdKbVibVibVibVibYfccobYfaaaaaaaaaaaaaaaaaaaaacdLcnIcjRcjTcjSckEcdOcnKcdOckGckHcjXcjUcjUcjYcgIcgIckecjZcjUckickOcdSckPcnLckRcgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacgEckrckuckscgEckzckBckAcgEckDckJckIcgEaaaaafciiclbcgTcgUcgUcgUcejckMckKchWchWcmschWchWchWchWckTcieckWckYcbqclackZcldclccnPcleclhclhclhclicljcljclkciAcllcgqclwclxciGclyciIclzclAclBcnQclDclEclFcolclHclIclJciSclKciUconcoqclNclnclmclQclNclRclSclTbYfceQcdIcdIcdIcdIcdIcltbYfaaaaaaaaaaaaaaaaaaaaacdLcmacmbcmccmdcdOcmecmfcorcdScmhcmicmicmiclvcotcmlclPclOcmicmicmncdScmocpdcmqcmraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaafaafcgEclXcmmcmjcgEcmtcmmcEgcgEcmtcmmcEgcgEaaaaafcmzcgTcgTcgUcgUcmAcejcmvcmucmxcpfcmBcmycmCcmCcmEcmDcmCcmFcpgcbqcmIcmHcmKcmJcimcmLcmLcmMcljcmNcpocmOcmOciAcibceVcprcqgciGcnbciIcnccndcpAciGcmSciNcmWcfYcpOcnicnjciScnkciUclLclMclNcnlcqecnlclNaaaaaaaaabYfbYfbYfcnnclSclSclTbYfbYfaaaaaaaaaaaacdOcdOcdOcdOcdOcdOcdOcdOcdOcnocnpcnqcdScdScnrcnscntcdScdScdScdScqrcnscntcdScdScnvcqscnvaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabZSaafaafaafaaaaafcnxaafcnxaafcKAaafcnNaafcKAaafcnNaafaafaaacejcnAcnBcgUcgUcnCcnDcqAcqtcnycnmcoycnzcnzcqIcnzcnGcqOcnHcnGcnJcrzcrvcrQcnMcnOcnOcnOcnOcsecsdcnRcnRcnRcgscgscgscgscnSciGcnTcnUcnccnVcnWciGcmSciNcnXciUcnYcnZcnjcoacobciUclLclMclNcoccodcoeclNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaacdOcofcogcohcwlcojcokcsfcomcsgcopcoocdOaaLaafaafaafaafaaaaaaaaacsiaaaaaaaaaaafcoscsncosaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaafcoucoBcoAcoxcovcowcoCcoxcoFcoLcoCcoDcpycpBcoEcnycnycnycnycnycnycnycnycoHcoGcoJcoIcpGcoKcoNcoMcoOcnGcoQcoPcoRcnGcoTcoScoUcnOcoWcoVcoYcoXcpacoZcpjcpbcpbcpkcpncpncpjcsDciGciGcpccsLciGciGciGcpeciNcsMciUciUciUctbcphciUciUclLcpiclNcvmcpscvmclNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaafaafcdOcplcpmcplctictccppcpqcomcomctkcomcdOcdOaaaaaaaaaaafaafaaaaacaaaaaaaaaaaaaafaaactmaaaaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaaaaaaaaaaafcptcpCcpucpxcpwcpFcpPctxcpzcpHcpRcpEcpDcpIcpFcpLcpJcpNcpMcpQctBcpUcpTcpWcpVcpYcpXcqacpZcqccqbctIcqdctOcqfctScqzcoTcqJcqKcnOcpacpacpacpacpacqMcpjcqPcqPcqPcpncpncpjbTFcrYciGcqhcqicqjcqkciGcqlciNcqmciUcqncqocqpcqqciUctTclLcpiclNctVcqQcquclNaaaaaaaaaaaaaaaaaacqvcqwcqxcqycqvaafaaaaaaaaaaaacdOcplcplcplcoicuacqBcqCculcqEcqFcqGcqHcdOaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaafaaacmZaaaaafaafaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaafcqRcqYcqScqVcqUcpFcqXcpFcvWcqYcqXcpFcvWcqYcpFcpFcpFcpFcpFcqZcpFcpFcpFcrbcqDcrdcrccurcpZcrfcrecrhcrgcrjcricrlcrkcoTcqJcrmcnOcrncpacpacrocpacrpcpjcrIcrKcrJcrKcrLcpjbTFcrqciGcrrcrscrtcrucuycrwcrxcrycuEcrAcrBcrCcrDciUcrEcrFcrGcrHcqvcuLcqvcrHaaaaaaaafaaaaaaaaacqvcrRcrTcrScqvaafaafaaaaaaaaacdOcomcomcomcomcrMcppcrNcrNcrNcnpcrNcrOcdOaaaaaaaaaaaaaaacrPcrPcrPbZSaafaafaafaafcnaaafaafaafaafaafaaqcrPcrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaafaafaafcptcpFcrccpFcrccpFcqXcpFcqLcxacqNcxacqWcxacxacrUcracpFcpFcuYcuUcuUcuUcvncsacvscvscvtcpZcvvcshcsjcnGcsmcskcvEcnGcspcsocsrcsqcstcsscsvcsucpacswcpjcsxcrKcsycrKcsKcpjbTFcizciGcszcsAcsBcsCciGcfYcvGcfYciUcsEcsFcsGcsHciUcsIcrGcrGcqvcsJcsNcvOcqvcqvcqvcqvcqvcqvcqvcqvctMctDctNcqvcqvcqvcrHaaaaaacdOcofcogcohcslcsRcqBcrNcrNcrNcnpcrNcsScdOaaaaaaaaaaaaaaacrPaaaaafaaaaafaaaaaaaaackxaaaaafaafaaaaaaaaaaaacrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaafaaaaaacptcpFcrccpFcsOcsTcrVcsVcsUcrXcqNcxacrZcxacxacsZcsbcwacvRcwzctacsQcsccsccsWcrccrccthctgctjcwHcnzcnGcwUcnGcnGcnGcwWctlcsrctncttctoctyctucpacwZcpjcxqcrKcsycrKcxrcpjctvctwciGciGcxsciGciGciGciBctzctAciUciUciUcxFciUciUcsIcrGaaacqvctCctZctEctFctGctHcxJctJctKctLcqvcuVcxVcuVcqvcyactPcqvaafaafcdOcplcplcplcybctcctRcuccycctUcudcrNctWcdOcdOcdOcdOaaaaaacrPaaactXctXctXctXctXaafckxaafctXctXctXctXctXaaacrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacptcpFcsOcsTcsTcsTcrVcsTcsTcsTcrVcsTcsTcsTcsTcsTcsXcygcsTcyhcsTcufcsTcsTcsTcuhcugcuicpvcpFcujcyicukcuncumcupcuocumcuqcuscymcuucutcutcuvcutcuwcypcuxcuAcuzcuBcuBcpjcuCcuDcyrcuFcuFcuGcuHcuIcuJcuJcuJcuJcuJcuJcuJcuJcuKcrFcrGaaactFcyzcuPcuNctFcuOcuRcuQcuQcvdcvacuQcuQcvhcuQcuVcuXcuQcqvaaaaaacdOcplcplcplcslcyHcuZcvicvbcvccvjcrNcrNcvecvfcvgcdOaafaafcrPaafckVckSckSckSckSckyckxckwckvckvckvckvckUaafcrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacptcpFcpFcpFcpFcpFcqXcpFcpFcpFcqXcpFcpFcpFcpFcpFcvWcpFcpFcurcpFcsYcpFcyRcyJcvpcvocvrcvqcyScvqcyZcvucvxcvwcvycvucvucvzcvAcsecvBcpacvDcvCcpacpaczBcrKcrKcvFcuBcuBcpjbPxcAscvNcvNcvNcvNczFcvNcvNcvNcvNclMcvPcrGcrGcrGcrGcrGcrGaaactFctFczLctFctFczMcvScvTcvUcvVcvHcvJcvIcvLcvKczVcwbcwccqvaaaaaacdOcomcomcomcomcwdcppcvicwecwfcvQcrNcrNcwhcrNcwicdOaaaaaacrPaafcwjcwjcwjcwjcwjaaackxaaacwjcwjcwjcwjcwjaafcrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaabZSaaaaaaaaaaaacptcpFcpFcpFcpFcpFcqXcpFcpFcpFcqXcpFcpFcpFcpFcpFcvWcpFcpFcurcpFctecpFcpFctectecuecpFcpFcvZcvYcwgcwgcwgcwgcvkcwkcoTcwocwpcsqcwqcpacwscvCcpacwtcpjcwucrKcwvcwxcwwcpjczXcvMcvNcwIcwJcwKcwLcwMcwNcwOcvNcwPcwQcrGaaaaaaaaaaaaaaaaaacqvcwRcwycwAcAHcwCcwBcwEcwDcwGcwFcwTcwScwVcAJcuWcuQcxecqvaaaaaacdOcofcogcohckXcsRcuZcxgcxhcxhcxicxjcxkcAUcxmcxncdOaaaaaacrPaaaaafaaaaafaafaafaaackxaaaaafaaaaafaaaaafaaacrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacptcpFcpFcpFcpFcpFcvlcpFcpFcpFcvlcpFcpFcpFcpFcpFcvWcpFcpFcBkcwYcvXctdctdcvXcwmcvXcxlcwXcxcctdcxocxdcxtcxpcxHcwkcoTcxucoTcxvcxwcpacpacxAcpacxBcpjcxCcxCcxDcwxcwwcpjbPxcvMcvNcxKcxLcxMcxNcxOcxNcxPcvNcxQcxRcrGaaaaaaaaaaaaaaaaaacqvcxScxTcxUcBscxWcxXcxYcxZcuTcBzcuScxEcuTcBIcqvcqvcqvcqvaaaaaacdOcplcpmcplcBOctccppcrNcrNcyecyfcrNcBRcomcomcomcdOaaaaaacrPaaactXctXctXctXctXaafckxaafctXctXctXctXctXaafcrPaaacBSaaaaaacBSaaaaaaaaacBSaaaaaaaaaaaaaaacBSaaaaaaaaacBSaaaaaacBSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaaaaaaaaacptcpFczmcrWcrWczpcxGcrWczpcrWcxIcCccuUcuUcCfcuUcyucuUcuUcvncCictecpFcpFcyjcylcykcyncCncyocpFcCNcyqcyscyscyEcytcoTcxucyvcnOcywcpacyxcpacCOcyycpjcpjcpjcpjcpjcpjcpjbPxcvMcvNcyMcyNcxLcyOcxLcxNcyPcvNcyQcCQcrGaaaaaaaaaaaaaaaaaacqvcuVcCYctFctFcyTcyAcyVcyWctMctDctNcyBctMcvhcyYcqvaaaaaaaaaaaacdOcplcplcplckXcDaczacrNcrNcrNcyfcrNczbcrNczccrNczdaafaafcrPaafckVckSckSckSckSckyckxckwckvckvckvckvckUaafcrPaaacBScBScBScBSaaaaaaaaacBScBScBScBScBScBScBSaaaaaaaaacBScBScBScBSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaaaaaaaaacptcpFcqXcpFcpFcpFcvlcpFcpFcpFcvlcpFcpFcpFcyCcpFcvWcpFcpFcpFcyDctecpFcpFcyFcwmctfcyGcwgcDmcwgcwgcyqcDpcyIcyKcytcoTcxucoTcnOcyUcyLczecyXczfcpacnOczgczJczJczhcDtcDNczNczOcvNcxNczPczQcxNczRczSczTcvNczUcDOcrGaaaaaaaaaaaaaaaaaacqvczWcuMcDUcuVczYczZcAactFcAbcAccsPcyBczWczjcAecqvaaaaaaaaaaaackEcdOcAfcAgcAgczkcAicAjcAkcAlcAmcAncAocApcAqcokcAraaaaaacrPaafcwjcwjcwjcwjcwjaaackxaafcwjcwjcwjcwjcwjaaacrPaaacBScBScBScBSaaaaaacBScBScBScBScBScBScBScBScBSaaaaaacBScBScBScBSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaIaaaaaaczlcpFcqXcpFczncxacqNcxaczocxacqNcxaczocxaczrcxacxbcAtcAhctdczqctfczsczucztczwczvczxcwgczzczycwgcwgcwgcwgcwgczAcrzcEccrzcnOcnOcnOcnOcnOcnOcnOcnOczDczJczJczEcANcAObPxcAPcvNcAQcARcErcATcEycAVcAWcvNcAXcAYcrGaaaaaaaaaaaaaaaaaacqvcuQcAZcAectFcBacBbcBcctFcBdcBeczHczGczIcBeczKcqvaafaafaaaaaaaaaaaabquaaacdOcBlcEXcEBcBocBpcEXcFecBrcBpcEXcFgcdOaaaaaabZSaaaaafaaaaafaaaaafaaackxaaaaafaaaaafaafaafaafcrPaaacBScBScBScBSaaaaaacBScBScBScBScBScBScBScBScBSaaaaaacBScBScBScBSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabZSaaaaaaaaaaaIaaaaaacAdcpFcqXcpFcAvcylcqXcpFcAwcylcqXcpFcAucylcpFcpFcAAcpFcADcylcAxcAzcAycABcBAcBEcACcAEcwgcFrcAFcFCcAIcAKcumcAMcALcumcAScumcBfcuocBgcBicBhcBhcBjcFEcBVcBWcBWcBXcBYcAObPxcBZcvNcvNcCacCbcFFcCbcCacCdcvNcrGcFKcrGaaaaaaaaaaaaaaaaaacqvctFcFLcuVctFcCgcChcFUctFcCjcCkcqycgvcBtcCkcCocrHaaaaaaaaaaaaaaaaaacgwaafcdOcCqcFVclUcomclscFWclqcomclocGgclWcdOaaaaaacrPaaactXctXctXctXctXaafckxaafctXctXctXctXctXaafcrPaaacBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaafaafaafaaIaafaafcAdcpFcBmcBycBxcBHcBncBCcBBcBKcBqcBGcBFcCJcpFcBvcGocEicBJcBMcBucnycnycnycnycnycnycnycnycGucBNczAcBPcBQcoTcGvcoTcoTcxucoTcoTcGAcoTcBQcBTcCpcBUcCrcGEcGOcGMcCPcHacAObPwcCRcCScCTcCacAGcAVcBwcCacCtcCscCucHjcCXaaaaaaaaaaaaaaaaaacqvcCvctDcuQcHCcDbcuQcDccDdcDeaafaaachxcCxcCwcCyaaaaaaaaaaacaaaaaaaaaaaaaaacdOcDhcplcplcomcDicplcplcomcDicplcplcdOaafaafcrPaafckVckSckSckSckSckyckxckwckvckvckvckvckUaafcrPaaacBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPcCzaaaaaaaaIaaaaaacCAcCCcBDcCEcCDcCGcBLcCHcCDcCGcBLcCHcCDcCGcCIcCIcKBcCHcCDcCGcCecnyaaacCMcCLcCVcCUcCZcCWcDjcDgcDkcDkcHVcDlcDocDncDqcIAcDncDqcDocDrcIMcDscDrczAczAcAOcITcIRcDPcDQcAObNUcDRcDScDTcCacCbcIZcCbcCacDvcDucDfaafaaaaaaaaaaaaaaaaaaaaacqvcCvcDVcDwcDXcDXcDwcsPcDYcqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacdOcDZcplcplcomcEacplcplcomcEacplcplcdOaaaaaacrPaafcwjcwjcwjcwjcwjaaackxaaacwjcwjcwjcwjcwjaaacrPaaacBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPcClcCBcCBcCFcCBcCBcCBcCBcCKcCBcDxcCBcCKcCBcDxcCBcCKcCBcDxcCBcCBcCBcDxcCBcDxcCBcGhaafaaacDzcDycDBcDAcDDcDCcDjcDEcDkcDFcDHcDGcDJcDIcDLcDKcDWcDMcDJcEbcEdcJhcDraaaaafcAOcJlcECcEDaafaaabNUbPxbPxbSkcCaclZcEFclYcCaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacqvcEecuXcEfcEJcEJcEfcuQcEKcqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacdOcplcplcplcomcELcplcplcomcELcplcplcdOaacaaacrPaaaaaaaafaafaafaaaaaacmTaafaaaaaaaafaafaaaaaacrPaaacBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaabgaaaaaaaaaaaaaaaaaaaaacrPaafaafaaaaaqaaaaaaaafcgEcmtcmmcEgcgEcmtcmmcEgcgEcmtcmmcEhcgEaaacgEcEgcmmcEhcgEaaaaafaaacDzcEjcElcEkcEncEmcEpcEocDkcEqcEscJpcDJcEtcEvcEucExcEwcDJcJzcEAcEzcDraaaaaacAOcJAcFhcFiaaaaaabNUbPxbPxbNUcCacmUcmUcmUcCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacqvcEEcFncuQcuQcuQcuQcuQcFocqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaackEcdOcdOcdOcdOcdOcdOcdOcdOcmYcmYcmYckEaaaaaacrPcrPcrPcrPcrPaaaaaaaaacmZaaaaaaaaacrPcrPcrPbZScrPaaacBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaaaaafaafaaIaaaaaaaafcgEcEGcEIcEHcgEcEMcEOcENcgEcEPcERcEQcgEaafcgEcEScEUcETcgEaaaaafaaacDzcEVcDBcEncEncEWcEYcJBcFacEZcFccFbcJCcFdcFjcFfcFlcFkcFpcFmcJFcFqcDraafaaacFJcJVcJUcAOcKdaaabNUcFMcKocFNcFOaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrHcqvcqvcFPcFQcEfcEfcEfcFRcFPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqpbqpbqpaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaafcfTaafcrPaaaaaaaaaaaaaaaaaaaaacBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaIaaaaafaafcgEcFscFtcFscgEcFucFvcFucgEcFwcFxcFwcgEaaacgEcFwcFwcFycgEaaaaafaaacDzcCLcFzcEkcEncDCcFAcDEcDkcFBcFDcKpcDJcKqcFGcKDcFGcFHcDJcFIcFTcFScDraaLcKFcKEcKHcKGcKEcKEcKIbNUciEciDcGjaafaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacGlcEJcEJcEJcEJcEJcGlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaaaaafaaacrPaaaaaaaaaaaaaaaaaacBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaIaafaafaaacgEcFscKJcFscgEcFucKKcFucgEcFwcKLcFwcgEaafcgEcFwcKMcFwcgEaafaafaafcFYcFXcGacFZcGccGbcGdcDEcDkcGecKNcGfcDJcGicGmcGkcKOcGncDJcGpcGrcGqcDraaacKQcKPcKScKRcKUcKTcKVcGFcGGcGHbNUaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacqvcCmcqxcqxcqxcCocqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPcrPcrPcrPcrPaaaaaaaaaaaaaaaaaacBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa From 93d120a24ced76a098e8ed8ed8bb0714e0161ff6 Mon Sep 17 00:00:00 2001 From: volas Date: Sat, 2 May 2015 11:16:15 +0300 Subject: [PATCH 033/305] merge fix --- code/modules/paperwork/paper.dm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm index 2bf4516b7c..ef90f7aaff 100644 --- a/code/modules/paperwork/paper.dm +++ b/code/modules/paperwork/paper.dm @@ -68,7 +68,7 @@ if(!new_text) return - free_space -= length(strip_html_properly(new_text, 0)) + free_space -= length(strip_html_properly(new_text)) /obj/item/weapon/paper/examine(mob/user) ..() @@ -95,15 +95,15 @@ usr << "You cut yourself on the paper." return var/n_name = sanitizeSafe(input(usr, "What would you like to label the paper?", "Paper Labelling", null) as text, MAX_NAME_LEN) - + // We check loc one level up, so we can rename in clipboards and such. See also: /obj/item/weapon/photo/rename() if((loc == usr || loc.loc && loc.loc == usr) && usr.stat == 0 && n_name) name = n_name if(n_name != "paper") desc = "This is a paper titled '" + name + "'." - + add_fingerprint(usr) - return + return /obj/item/weapon/paper/attack_self(mob/living/user as mob) user.examinate(src) @@ -343,7 +343,7 @@ usr << "There isn't enough space left on \the [src] to write anything." return - var/t = strip_html_properly(input("Enter what you want to write:", "Write", null, null) as message) + var/t = sanitize(input("Enter what you want to write:", "Write", null, null) as message, free_space, extra = 0) if(!t) return @@ -450,7 +450,7 @@ user << "You clip the [P.name] to [(src.name == "paper") ? "the paper" : src.name]." src.loc = B P.loc = B - + B.pages.Add(src) B.pages.Add(P) B.update_icon() From 471988b080a857f4c5e0dbe7f70e4ea5889920e7 Mon Sep 17 00:00:00 2001 From: Jarcolr Date: Sat, 2 May 2015 11:19:52 +0300 Subject: [PATCH 034/305] Adds foxeye's custom item http://baystation12.net/forums/viewtopic.php?f=33&t=12421 --- code/modules/customitems/item_defines.dm | 7 +++++++ icons/mob/uniform.dmi | Bin 262014 -> 263894 bytes icons/obj/custom_items.dmi | Bin 65339 -> 65819 bytes 3 files changed, 7 insertions(+) diff --git a/code/modules/customitems/item_defines.dm b/code/modules/customitems/item_defines.dm index 6a3720b679..f1237cb721 100644 --- a/code/modules/customitems/item_defines.dm +++ b/code/modules/customitems/item_defines.dm @@ -944,6 +944,13 @@ item_state = "gy_suit" worn_state = "milohachert" +/obj/item/clothing/under/fluff/john_saaland //GA Jumpsuit-John Saaland-Foxeye + name = "GA jumpsuit" + desc = "A tan jumpsuit, robustly constructed, with various velcro strips for name and ranking patches distributed over the torso and shoulders. Only one of these strips is in use, holding a patch with 'J. SAALAND' written on it in block lettering over the right breast pocket." + icon = 'icons/obj/custom_items.dmi' + icon_state = "saaland" + item_state = "saaland_suit" + worn_state = "saaland" /obj/item/clothing/under/fluff/kaine_kalim_2 name = "Formal Medical Uniform" diff --git a/icons/mob/uniform.dmi b/icons/mob/uniform.dmi index 8bcb5920ed002f251c2230d29dec610a2afd2590..d03314d62383f6b55192a8921beb60637c169946 100644 GIT binary patch delta 22746 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%0D^!a#64~#oB+)M*e{cKFa3^LRMyGs9& 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 G)c*k=yt}{v delta 21214 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 A>Hq)$ delta 6574 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 Date: Sat, 2 May 2015 21:33:37 +0200 Subject: [PATCH 035/305] Grilles and rods. Grilles no longer return more rods than they were created from when destroyed (by method other than wirecutters). Rods are now acquired from and returned to a pool. Also adds a pre-broken grille for mapping, avoids the case where one might be able to destroy the same grille twice. --- code/TriDimension/Structures.dm | 2 +- code/__HELPERS/datum_pool.dm | 26 +++++++++---------- code/game/machinery/bots/mulebot.dm | 4 +-- code/game/machinery/deployable.dm | 2 +- code/game/machinery/doors/door.dm | 2 +- .../objects/items/weapons/flamethrower.dm | 2 +- code/game/objects/items/weapons/twohanded.dm | 4 +-- code/game/objects/structures/grille.dm | 16 +++++++++--- .../objects/structures/windoor_assembly.dm | 2 +- code/game/objects/structures/window.dm | 4 +-- code/game/turfs/simulated/floor_types.dm | 2 +- code/game/turfs/simulated/walls_reinforced.dm | 6 ++--- code/modules/mob/living/bot/floorbot.dm | 2 +- .../simple_animal/hostile/retaliate/drone.dm | 8 +++--- code/modules/vehicles/vehicle.dm | 4 +-- 15 files changed, 48 insertions(+), 38 deletions(-) diff --git a/code/TriDimension/Structures.dm b/code/TriDimension/Structures.dm index e9f0f9e82f..9224facba2 100644 --- a/code/TriDimension/Structures.dm +++ b/code/TriDimension/Structures.dm @@ -97,7 +97,7 @@ src.d_state = 1 if(target) - var/obj/item/stack/rods/R = new /obj/item/stack/rods(target.loc) + var/obj/item/stack/rods/R = PoolOrNew(/obj/item/stack/rods, target.loc) R.amount = 2 qdel(Target) diff --git a/code/__HELPERS/datum_pool.dm b/code/__HELPERS/datum_pool.dm index 16594ed048..79970faf7b 100644 --- a/code/__HELPERS/datum_pool.dm +++ b/code/__HELPERS/datum_pool.dm @@ -23,24 +23,20 @@ var/global/list/GlobalPool = list() //Either way it gets passed to new /proc/PoolOrNew(var/get_type,var/second_arg) - if(!get_type) - return - var/datum/D D = GetFromPool(get_type,second_arg) if(!D) - if(ispath(get_type)) - if(islist(second_arg)) - return new get_type (arglist(second_arg)) - else - return new get_type (second_arg) + // So the GC knows we're pooling this type. + if(!GlobalPool[get_type]) + GlobalPool[get_type] = list(new get_type) + if(islist(second_arg)) + return new get_type (arglist(second_arg)) + else + return new get_type (second_arg) return D /proc/GetFromPool(var/get_type,var/second_arg) - if(!get_type) - return 0 - if(isnull(GlobalPool[get_type])) return 0 @@ -75,9 +71,10 @@ var/global/list/GlobalPool = list() D.Destroy() D.ResetVars() + D.disposed = 1 //Set to stop processing while pooled /proc/IsPooled(var/datum/D) - if(isnull(GlobalPool[D.type]) || length(GlobalPool[D.type]) == 0) + if(isnull(GlobalPool[D.type])) return 0 return 1 @@ -86,10 +83,13 @@ var/global/list/GlobalPool = list() New(arglist(args)) else New(args) + disposed = null /atom/movable/Prepare(args) - if(islist(args)) + var/list/args_list = args + if(istype(args_list) && args_list.len) loc = args[1] + else loc = args ..() diff --git a/code/game/machinery/bots/mulebot.dm b/code/game/machinery/bots/mulebot.dm index e6df495a10..125345c518 100644 --- a/code/game/machinery/bots/mulebot.dm +++ b/code/game/machinery/bots/mulebot.dm @@ -868,8 +868,8 @@ var/turf/Tsec = get_turf(src) new /obj/item/device/assembly/prox_sensor(Tsec) - new /obj/item/stack/rods(Tsec) - new /obj/item/stack/rods(Tsec) + PoolOrNew(/obj/item/stack/rods, Tsec) + PoolOrNew(/obj/item/stack/rods, Tsec) new /obj/item/stack/cable_coil/cut(Tsec) if (cell) cell.loc = Tsec diff --git a/code/game/machinery/deployable.dm b/code/game/machinery/deployable.dm index c9dfe8c5f0..e49fb26283 100644 --- a/code/game/machinery/deployable.dm +++ b/code/game/machinery/deployable.dm @@ -264,7 +264,7 @@ for reference: var/turf/Tsec = get_turf(src) /* var/obj/item/stack/rods/ =*/ - new /obj/item/stack/rods(Tsec) + PoolOrNew(/obj/item/stack/rods, Tsec) var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread s.set_up(3, 1, src) diff --git a/code/game/machinery/doors/door.dm b/code/game/machinery/doors/door.dm index bbe3da7541..e02be363f4 100644 --- a/code/game/machinery/doors/door.dm +++ b/code/game/machinery/doors/door.dm @@ -164,7 +164,7 @@ switch (Proj.damage_type) if(BRUTE) new /obj/item/stack/sheet/metal(src.loc, 2) - new /obj/item/stack/rods(src.loc, 3) + PoolOrNew(/obj/item/stack/rods, list(src.loc, 3)) if(BURN) new /obj/effect/decal/cleanable/ash(src.loc) // Turn it to ashes! qdel(src) diff --git a/code/game/objects/items/weapons/flamethrower.dm b/code/game/objects/items/weapons/flamethrower.dm index d90709d9c3..f57ffaf84c 100644 --- a/code/game/objects/items/weapons/flamethrower.dm +++ b/code/game/objects/items/weapons/flamethrower.dm @@ -82,7 +82,7 @@ if(ptank) ptank.loc = T ptank = null - new /obj/item/stack/rods(T) + PoolOrNew(/obj/item/stack/rods, T) qdel(src) return diff --git a/code/game/objects/items/weapons/twohanded.dm b/code/game/objects/items/weapons/twohanded.dm index 480709c34a..edf09f6ea8 100644 --- a/code/game/objects/items/weapons/twohanded.dm +++ b/code/game/objects/items/weapons/twohanded.dm @@ -144,11 +144,11 @@ var/obj/structure/window/W = A new /obj/item/weapon/shard( W.loc ) - if(W.reinf) new /obj/item/stack/rods( W.loc) + if(W.reinf) PoolOrNew(/obj/item/stack/rods, W.loc) if (W.dir == SOUTHWEST) new /obj/item/weapon/shard( W.loc ) - if(W.reinf) new /obj/item/stack/rods( W.loc) + if(W.reinf) PoolOrNew(/obj/item/stack/rods, W.loc) qdel(A) diff --git a/code/game/objects/structures/grille.dm b/code/game/objects/structures/grille.dm index 54536dd400..28036840c8 100644 --- a/code/game/objects/structures/grille.dm +++ b/code/game/objects/structures/grille.dm @@ -103,7 +103,7 @@ if(iswirecutter(W)) if(!shock(user, 100)) playsound(loc, 'sound/items/Wirecutter.ogg', 100, 1) - new /obj/item/stack/rods(loc, 2) + PoolOrNew(/obj/item/stack/rods, list(get_turf(src), destroyed ? 1 : 2)) qdel(src) else if((isscrewdriver(W)) && (istype(loc, /turf/simulated) || anchored)) if(!shock(user, 90)) @@ -173,11 +173,11 @@ density = 0 destroyed = 1 update_icon() - new /obj/item/stack/rods(loc) + PoolOrNew(/obj/item/stack/rods, get_turf(src)) else if(health <= -6) - new /obj/item/stack/rods(loc) + PoolOrNew(/obj/item/stack/rods, get_turf(src)) qdel(src) return return @@ -221,6 +221,16 @@ spawn(1) healthcheck() return 1 +// Used in mapping to avoid +/obj/structure/grille/broken + destroyed = 1 + icon_state = "grille-b" + density = 0 + New() + ..() + health -= rand(initial(health)*0.8, initial(health)*0.9) //Largely under broken threshold, this is used to adjust the health, NOT to break it + healthcheck() //Send this to healthcheck just in case we want to do something else with it + /obj/structure/grille/cult name = "cult grille" desc = "A matrice built out of an unknown material, with some sort of force field blocking air around it" diff --git a/code/game/objects/structures/windoor_assembly.dm b/code/game/objects/structures/windoor_assembly.dm index 0aaeb83c98..36135a775e 100644 --- a/code/game/objects/structures/windoor_assembly.dm +++ b/code/game/objects/structures/windoor_assembly.dm @@ -78,7 +78,7 @@ obj/structure/windoor_assembly/Destroy() user << "\blue You dissasembled the windoor assembly!" new /obj/item/stack/sheet/glass/reinforced(get_turf(src), 5) if(secure) - new /obj/item/stack/rods(get_turf(src), 4) + PoolOrNew(/obj/item/stack/rods, list(get_turf(src), 4)) qdel(src) else user << "\blue You need more welding fuel to dissassemble the windoor assembly." diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm index c6afa5e2c1..36d5bcc657 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/window.dm @@ -88,11 +88,11 @@ index = 0 while(index < 2) new shardtype(loc) - if(reinf) new /obj/item/stack/rods(loc) + if(reinf) PoolOrNew(/obj/item/stack/rods, loc) index++ else new shardtype(loc) - if(reinf) new /obj/item/stack/rods(loc) + if(reinf) PoolOrNew(/obj/item/stack/rods, loc) qdel(src) return diff --git a/code/game/turfs/simulated/floor_types.dm b/code/game/turfs/simulated/floor_types.dm index e0ba3b7f4d..b036df007a 100644 --- a/code/game/turfs/simulated/floor_types.dm +++ b/code/game/turfs/simulated/floor_types.dm @@ -64,7 +64,7 @@ user << "\blue Removing rods..." playsound(src, 'sound/items/Ratchet.ogg', 80, 1) if(do_after(user, 30)) - new /obj/item/stack/rods(src, 2) + PoolOrNew(/obj/item/stack/rods, list(loc, 2)) ChangeTurf(/turf/simulated/floor) var/turf/simulated/floor/F = src F.make_plating() diff --git a/code/game/turfs/simulated/walls_reinforced.dm b/code/game/turfs/simulated/walls_reinforced.dm index 102a51b2b4..0ddf0c34e7 100644 --- a/code/game/turfs/simulated/walls_reinforced.dm +++ b/code/game/turfs/simulated/walls_reinforced.dm @@ -98,7 +98,7 @@ playsound(src, 'sound/items/Wirecutter.ogg', 100, 1) src.d_state = 1 src.icon_state = "r_wall-1" - new /obj/item/stack/rods( src ) + PoolOrNew(/obj/item/stack/rods, src) user << "You cut the outer grille." return @@ -206,7 +206,7 @@ if( d_state == 5 && user.loc == T && user.get_active_hand() == WT ) src.d_state = 6 src.icon_state = "r_wall-6" - new /obj/item/stack/rods( src ) + PoolOrNew(/obj/item/stack/rods, src) user << "The support rods drop out as you cut them loose from the frame." else user << "You need more welding fuel to complete this task." @@ -223,7 +223,7 @@ if( d_state == 5 && user.loc == T && user.get_active_hand() == W ) src.d_state = 6 src.icon_state = "r_wall-6" - new /obj/item/stack/rods( src ) + PoolOrNew(/obj/item/stack/rods, src) user << "The support rods drop out as you cut them loose from the frame." return diff --git a/code/modules/mob/living/bot/floorbot.dm b/code/modules/mob/living/bot/floorbot.dm index e729e3eb58..08c5ac1c4b 100644 --- a/code/modules/mob/living/bot/floorbot.dm +++ b/code/modules/mob/living/bot/floorbot.dm @@ -217,7 +217,7 @@ if(building == 1) I = new /obj/item/stack/tile/plasteel(src) else - I = new /obj/item/stack/rods(src) + I = PoolOrNew(/obj/item/stack/rods, src) A.attackby(I, src) target = null repairing = 0 diff --git a/code/modules/mob/living/simple_animal/hostile/retaliate/drone.dm b/code/modules/mob/living/simple_animal/hostile/retaliate/drone.dm index 15b6ddc0c6..a2e9e21f75 100644 --- a/code/modules/mob/living/simple_animal/hostile/retaliate/drone.dm +++ b/code/modules/mob/living/simple_animal/hostile/retaliate/drone.dm @@ -183,16 +183,16 @@ step_to(O, get_turf(pick(view(7, src)))) //rods - O = new /obj/item/stack/rods(src.loc) + O = PoolOrNew(/obj/item/stack/rods, src.loc) step_to(O, get_turf(pick(view(7, src)))) if(prob(75)) - O = new /obj/item/stack/rods(src.loc) + O = PoolOrNew(/obj/item/stack/rods, src.loc) step_to(O, get_turf(pick(view(7, src)))) if(prob(50)) - O = new /obj/item/stack/rods(src.loc) + O = PoolOrNew(/obj/item/stack/rods, src.loc) step_to(O, get_turf(pick(view(7, src)))) if(prob(25)) - O = new /obj/item/stack/rods(src.loc) + O = PoolOrNew(/obj/item/stack/rods, src.loc) step_to(O, get_turf(pick(view(7, src)))) //plasteel diff --git a/code/modules/vehicles/vehicle.dm b/code/modules/vehicles/vehicle.dm index 164f486b33..e733ad8df4 100644 --- a/code/modules/vehicles/vehicle.dm +++ b/code/modules/vehicles/vehicle.dm @@ -201,8 +201,8 @@ src.visible_message("\red [src] blows apart!", 1) var/turf/Tsec = get_turf(src) - new /obj/item/stack/rods(Tsec) - new /obj/item/stack/rods(Tsec) + PoolOrNew(/obj/item/stack/rods, Tsec) + PoolOrNew(/obj/item/stack/rods, Tsec) new /obj/item/stack/cable_coil/cut(Tsec) if(cell) From d6f59326c1d086b556b752ac9c92aa51f8faee87 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Sat, 2 May 2015 21:37:01 +0200 Subject: [PATCH 036/305] Updates maps to use the new grilles. --- maps/exodus-1.dmm | 66 +++++++++++++++++++++++------------------------ maps/exodus-2.dmm | 4 +-- maps/exodus-3.dmm | 6 ++--- maps/exodus-5.dmm | 4 +-- 4 files changed, 40 insertions(+), 40 deletions(-) diff --git a/maps/exodus-1.dmm b/maps/exodus-1.dmm index ee4b16614d..3072d7c1a4 100644 --- a/maps/exodus-1.dmm +++ b/maps/exodus-1.dmm @@ -11,11 +11,11 @@ "aak" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/airless{icon_state = "circuit"},/area/space) "aal" = (/obj/structure/girder/displaced,/turf/simulated/floor/airless{icon_state = "circuit"},/area/space) "aam" = (/obj/structure/grille,/turf/space,/area/space) -"aan" = (/obj/structure/grille{density = 0; icon_state = "brokengrille"},/turf/space,/area/space) +"aan" = (/obj/structure/grille/broken,/turf/space,/area/space) "aao" = (/turf/simulated/floor/airless{icon_state = "damaged2"},/area/space) "aap" = (/turf/simulated/floor/airless,/area/space) -"aaq" = (/obj/structure/grille{density = 0; icon_state = "brokengrille"},/obj/structure/lattice,/turf/space,/area/space) -"aar" = (/obj/structure/grille{density = 0; icon_state = "brokengrille"},/obj/item/weapon/shard{icon_state = "small"},/turf/simulated/floor/airless{icon_state = "circuit"},/area/space) +"aaq" = (/obj/structure/grille/broken,/obj/item/weapon/shard{icon_state = "small"},/turf/simulated/floor/airless{icon_state = "circuit"},/area/space) +"aar" = (/obj/structure/grille/broken,/obj/structure/lattice,/turf/space,/area/space) "aas" = (/obj/item/clothing/suit/ianshirt,/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/space) "aat" = (/turf/simulated/wall/r_wall,/area/space) "aau" = (/turf/space,/area/skipjack_station/northwest_solars) @@ -229,7 +229,7 @@ "aeu" = (/obj/machinery/flasher/portable,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/security/armoury) "aev" = (/obj/machinery/light,/obj/machinery/flasher/portable,/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/security/armoury) "aew" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/security_port) -"aex" = (/obj/structure/grille{density = 0; icon_state = "brokengrille"},/obj/item/weapon/shard,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/security_port) +"aex" = (/obj/structure/grille/broken,/obj/item/weapon/shard,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/security_port) "aey" = (/obj/machinery/portable_atmospherics/powered/scrubber,/turf/simulated/floor/plating,/area/maintenance/security_port) "aez" = (/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/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor{icon_state = "dark"},/area/security/armoury) "aeA" = (/obj/machinery/deployable/barrier,/turf/simulated/floor{icon_state = "delivery"},/area/security/warden) @@ -251,7 +251,7 @@ "aeQ" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating,/area/maintenance/security_starboard) "aeR" = (/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/door/airlock/glass_security{name = "Briefing Room"; req_access = list(63)},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/security/main) "aeS" = (/turf/simulated/wall/r_wall,/area/maintenance/security_starboard) -"aeT" = (/obj/structure/grille{density = 0; icon_state = "brokengrille"},/obj/structure/lattice,/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/turf/space,/area/space) +"aeT" = (/obj/structure/grille/broken,/obj/structure/lattice,/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/turf/space,/area/space) "aeU" = (/obj/structure/grille,/turf/simulated/floor/plating,/area/maintenance/security_port) "aeV" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/maintenance/security_port) "aeW" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/barricade/wooden,/turf/simulated/floor/plating,/area/maintenance/security_port) @@ -1226,7 +1226,7 @@ "axD" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/maintenance/evahallway) "axE" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/maintenance/evahallway) "axF" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/maintenance/evahallway) -"axG" = (/obj/structure/grille{density = 0; icon_state = "brokengrille"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = -32; pixel_y = 0},/turf/simulated/floor/plating{dir = 4; icon_state = "warnplatecorner"},/area/maintenance/evahallway) +"axG" = (/obj/structure/grille/broken,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = -32; pixel_y = 0},/turf/simulated/floor/plating{dir = 4; icon_state = "warnplatecorner"},/area/maintenance/evahallway) "axH" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/evahallway) "axI" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/maintenance/evahallway) "axJ" = (/obj/machinery/alarm{pixel_y = 23},/obj/structure/table/rack,/obj/item/clothing/glasses/sunglasses,/obj/item/clothing/suit/storage/hazardvest,/turf/simulated/floor/plating,/area/maintenance/evahallway) @@ -4854,7 +4854,7 @@ "bPr" = (/obj/item/weapon/reagent_containers/glass/bucket,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor,/area/janitor) "bPs" = (/obj/structure/mopbucket,/obj/item/weapon/mop,/turf/simulated/floor,/area/janitor) "bPt" = (/turf/simulated/wall,/area/janitor) -"bPu" = (/obj/structure/grille{density = 0; icon_state = "brokengrille"},/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/engineering) +"bPu" = (/obj/structure/grille/broken,/turf/simulated/floor/plating,/area/maintenance/research_port) "bPv" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock/mining{id_tag = "qmdoor"; name = "Quartermaster"; req_access = list(41)},/turf/simulated/floor,/area/quartermaster/qm) "bPw" = (/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor/plating,/area/maintenance/engineering) "bPx" = (/turf/simulated/floor/plating,/area/maintenance/engineering) @@ -4998,7 +4998,7 @@ "bSf" = (/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/obj/structure/bed/chair/office/dark,/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/patient_b) "bSg" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "mining_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access = list(13)},/turf/simulated/shuttle/floor,/area/shuttle/mining/station) "bSh" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/maintenance/engineering) -"bSi" = (/obj/structure/grille{density = 0; icon_state = "brokengrille"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/engineering) +"bSi" = (/obj/structure/lattice,/obj/structure/grille/broken,/turf/space,/area/space) "bSj" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/engineering) "bSk" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/maintenance/engineering) "bSl" = (/obj/structure/table,/obj/item/device/t_scanner,/turf/simulated/floor/plating,/area/maintenance/engineering) @@ -5398,7 +5398,7 @@ "bZP" = (/obj/item/weapon/wrench,/turf/simulated/floor/plating,/area/maintenance/research_starboard) "bZQ" = (/obj/machinery/atmospherics/pipe/manifold/hidden/cyan{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/obj/machinery/meter,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 10},/area/maintenance/research_starboard) "bZR" = (/obj/machinery/atmospherics/pipe/tank/air{dir = 8},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/maintenance/research_starboard) -"bZS" = (/obj/structure/lattice,/obj/structure/grille{density = 0; icon_state = "brokengrille"},/turf/space,/area/space) +"bZS" = (/obj/structure/grille/broken,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/engineering) "bZT" = (/obj/structure/disposalpipe/segment,/obj/effect/decal/cleanable/dirt,/obj/structure/cable{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{icon_state = "floorgrime"},/area/maintenance/atmos_control) "bZU" = (/obj/machinery/button/remote/driver{id = "enginecore"; name = "Emergency Core Eject"; pixel_x = -20; pixel_y = 0},/obj/structure/window/basic{dir = 4},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/heads/chief) "bZV" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/hologram/holopad,/turf/simulated/floor,/area/medical/sleeper) @@ -5514,7 +5514,7 @@ "ccb" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor{icon_state = "freezerfloor"},/area/medical/patient_wing) "ccc" = (/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "psych"; name = "Mental Health Privacy Shutters"; opacity = 0},/obj/structure/window/reinforced/polarized,/obj/structure/window/reinforced/polarized{dir = 8},/obj/structure/window/reinforced/polarized{dir = 1},/turf/simulated/floor/plating,/area/medical/psych) "ccd" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = 0},/turf/simulated/wall,/area/maintenance/substation/research) -"cce" = (/obj/structure/grille{density = 0; icon_state = "brokengrille"},/turf/simulated/floor/plating,/area/maintenance/research_port) +"cce" = (/obj/structure/grille/broken,/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/engineering) "ccf" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor{dir = 2; icon_state = "whitegreen"},/area/medical/patient_wing) "ccg" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/turf/simulated/floor{icon_state = "freezerfloor"},/area/medical/patient_wing) "cch" = (/turf/simulated/floor{icon_state = "freezerfloor"},/area/medical/patient_wing) @@ -7306,7 +7306,7 @@ "cKz" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 5},/obj/structure/lattice,/turf/space,/area/space) "cKA" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/visible/green,/turf/space,/area/space) "cKB" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/visible/purple,/turf/space,/area/space) -"cKC" = (/obj/effect/landmark{name = "carpspawn"},/obj/structure/grille{density = 0; icon_state = "brokengrille"},/obj/structure/lattice,/turf/space,/area/space) +"cKC" = (/obj/effect/landmark{name = "carpspawn"},/obj/structure/grille/broken,/obj/structure/lattice,/turf/space,/area/space) "cKD" = (/obj/structure/table/reinforced,/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for the engine control room blast doors."; id = "EngineBlast"; name = "Engine Monitoring Room Blast Doors"; pixel_x = 0; pixel_y = -3; req_access = list(10)},/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for the engine charging port."; id = "SupermatterPort"; name = "Reactor Blast Doors"; pixel_x = -6; pixel_y = 7; req_access = list(10)},/obj/machinery/button/remote/emitter{desc = "A remote control-switch for the engine emitter."; id = "EngineEmitter"; name = "Engine Emitter"; pixel_x = 6; pixel_y = 7; req_access = list(10)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/engineering/engine_monitoring) "cKE" = (/turf/simulated/shuttle/wall{icon_state = "swall12"; dir = 2},/area/shuttle/constructionsite/station) "cKF" = (/turf/simulated/shuttle/wall{icon_state = "swall_s6"; dir = 2},/area/shuttle/constructionsite/station) @@ -7374,7 +7374,7 @@ "cLP" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/research_starboard) "cLQ" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload) "cLR" = (/obj/machinery/alarm{pixel_y = 23},/obj/machinery/porta_turret,/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload) - + (1,1,1) = {" aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -7435,7 +7435,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaafaaiaajaahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaajaakaalaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaamaamaamaamaamaanaamaamaamaamaamaamaamaamaamaaaaaaaaaaaaaaaaaaaaaaajaaoaapaahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaaaaaaaafaaaaaaaaaaaaaaraapaasaataafaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaraaaaaaaafaaaaaaaaaaaaaaqaapaasaataafaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaauaaaaaaaauaaaaaaaaaaauaaaaaaaaaaaaaaaaauaaaaaaaaaaauaaaaaaaauaaaaaaaaaaaaaaaaamaaacKraawaavaaacKraawaavaaacKraawaavaafaafaamaaaaaaaaaaaaaaaaafaafaahaaxaataataaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaayaayaayaayaayaayaayaayaayaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaauaauaauaauaaaaaaaaaaauaauaauaauaauaauaauaaaaaaaaaaauaauaauaauaaaaaaaaaaacaaaaamaaacKraazaavaaacKraazaavaaacKraazaavaafaafaafaafaaaaaaaaaaaaaaaaaaaafaaaaaaaafaaAaaBaaaaaaaaaaaaaaaaaaaaaaaaaaaaayaaCaaDaaEaaDaaEaaDaaFaayaayaaGaaHaayaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaauaauaauaauaaaaaaaauaauaauaauaauaauaauaauaauaaaaaaaauaauaauaauaaaaaaaaaaaaaaaaaIaafcKraazaavaaacKraazaavaafcKraazaavaafaaaaaaaafaafaaJaaaaaaaaaaaaaafaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaKaaLaafaayaaMaaNaaNaaNaaNaaNaaOaaPaaQaaRaaSaayaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -7448,7 +7448,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaaaaaaaaaaaaaaaaaaaaacKrapgaavaafcKrapgaavaaacKrapgaavaaaaaaaaaaafaaaaafaafaaaaaaaaaaaaabfacVacuaduadCadzadGadFadOadKadWadsadaacQadvadcaddadwadxadyacQadMadMadMaddadAacradBadladXadladlaicadXaaLaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaaaaaaaaaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaaaaaaaaaaaaaaIaafcKrapgaavaaacKrapgaavaaacKrapgaavaafaaaaaaaaaaaaaafaafaaaaaaaaaaaaadDadEacuadYadradradradradfadraecadsadaacQadvadHadIadJaefadLadUadNadNadNadVadPacradQadlabbadRadSaicabbaaLaaLaafaaaaafaaaaaLaafaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaaaaaaaaaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaaaaaaaaaaaaaaIaafcKrapgaavaaacKrapgaavaafcKrapgaavaafaafaafaaaaafaafaaaaaaaaaaaaaaaadTadEacuacuaeoaehaeuaeqaezaevacuacuaeBacQadbaebaddadZaeaadyadUadNaebadNaetaedacradQaeeabbabbabbabbabbaaLaaaaaaaaaaaaaaaaaaaafaafaafaaaaaaaafaafaaLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaaaaaaaaaaaaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaaaaaaaaaaaaaaaaaqaafcKrarDaavaaacKrarDaavaaacKrarDaavaafaaaaafaafaafaaaaaaaaaaaaaaaaaaadTaegacuacuacuacuacuacuaePacuacuacuaeiaejaekaelaemaenaeRaepaeMaeraesaerafAafaacradBafeabbaaaaafaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaaaaaaaaaaaaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaaaaaaaaaaaaaaaaaraafcKrarDaavaaacKrarDaavaaacKrarDaavaafaaaaafaafaafaaaaaaaaaaaaaaaaaaadTaegacuacuacuacuacuacuaePacuacuacuaeiaejaekaelaemaenaeRaepaeMaeraesaerafAafaacradBafeabbaaaaafaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaauaauaauaauaauaauaauaauaauaauaauaauaauaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaaaaafaaaaaaaaaaafaafaafaaaaaaaafaafaaaaaaaafaafaaaaaaaaaaaaaaaaafaaaaewadEaexaeyafmaaTaeAafyaeCaeDaeEaeFaeGaeHaeIaeHaddadZaeJaeKaeLaeLafBaeLaeNaeOafHaeQafIabbaeSaeSaeSaeSaeSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaauaauaauaauaauaauaauaauaauaauaauaauaauabgaaaaaaaaaaaaaaaaaaaaaaaaaamaamaaIaeTaamaamaamaamaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaafaafabfadEaeUaeVaeWaaTaeAaeAaeXaeYaeZaeFafLafbafcafdaddafMaffafgacQacQafhacQafiafjacrafkajkabbaNGafnafoafoafpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaaaaaaaaaacaaaaaaaaaaaaaauaauaauaauaauaauaauaauaauaauaauaauaauaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfabfabfabfabfabfabfabfabfabfabfabfabfadEafqafrafsaaTaftafuafvafwafxaggafzafNafOafNafCafDadxafEafFacQafhacQafGagqagrafJafKagsadlagtaghaguafPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -7458,24 +7458,24 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaaaaeaaeaaeaaeaaeaaaaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfafQafRahAabfahBadEagWahCahDahEahFaihahHagDagZahIahFaioahKahLahLahMaiiahOaixacXacXacEacXaikaiLahSacQacQaebaddahTaiWahVahWajaahYahZaiaaibagvahxaicabOaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaigaigaigaigaaaaaaaaaaigaigaigaigaigaigaigaaaaaaaaaaigaigaigaigaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadDaidaieaifabfajdadEagWajeaimaijaipailaisagDagZahIainagWajjahLaizaiqahKahOairaiFacXaitacXacXaiuacZahSacQacQaddaiwajmaiyagPagPajnagPagPaiAagvaiBaiCactaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaigaigaigaigaaaaaaaigaigaigaigaigaigaigaigaigaaaaaaaigaigaigaigaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaewagbagbaiDabfagbadEagWaiEakfaiGaiHaiIahFagDaiJaiKajoagWaiMaiNaiOajraiPaiQaiRaiSaiTacEaiUaiVaeFajtaiXaiYaiZakNakEajcajxakVajfajgajhagPajiagvahxabbabbabbabbaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaaIaaIaamaamaaaaaaaaaaaaaaaaaaaaaaaaaigaigaigaigaaaaaaaigaigaigaigaigaigaigaigaigaaaaaaaigaigaigaigaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfabfajAabfabfadmajlagWagWajBagWagWajIagWagWagWakkagWagWajpajsakAantakFajuagWajvajwakRajyajqagWagWajzalealaagWagWagWagpajCagpagpagpagpagpagvahxabbajDajEaboaaaaafaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaaaaafaaaaaqaaaaaaaaaaaaaaaaaaaaaaaaaigaigaigaigaigaigaigaigaigaigaigaigaigaigaigaigaigaigaigaigaigaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfabfajAabfabfadmajlagWagWajBagWagWajIagWagWagWakkagWagWajpajsakAantakFajuagWajvajwakRajyajqagWagWajzalealaagWagWagWagpajCagpagpagpagpagpagvahxabbajDajEaboaaaaafaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaaaaafaaaaaraaaaaaaaaaaaaaaaaaaaaaaaaigaigaigaigaigaigaigaigaigaigaigaigaigaigaigaigaigaigaigaigaigaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfagBafYajFafYajGajHalfajJajKajLajMajNajOajPajQajRajSajTajUajVajWajXajUajYajWajWajZakaakaakbakcakdahOakeajbakgajzakhakiakjalnaklakmaknakoakpalqakZakqabOaaaaaaaaaaaaaaaaaaaaaaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafabQaafaaIaaaaaaaaaaaaaaaaaaaaaaaaaigaigaigaigaigaigaigaigaigaigaigaigaigaigaigaigaigaigaigaigaigaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaamaamaaIaamaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfadEagWagWagWagWagWagWaksaktakuakvakwakxakyakzalrakBakCakDakXalvakwakGakwakwakHakIakJakKakLakMalxakOakPakJakQalNakSakTakUalbakWalCakYakoalIabbalOamaactaaaaaaaaaaafaaaaaaaaaaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaaIaaIaaIaaIaaaaaaaaaabpaaaaaaaaaaaIaaIaamaamaamaaaaaaaigaigaigaigaigaigaigaigaigaigaigaigaigaigaigaigaigaigaigaigaigaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaafaaaaaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfadEagWalcaldalQalPagWalgalhahLalialjagWacTalZacTagWabVamsabUagWalpamuamtalsagDaltaluamxalwamyagWabTabSabSabRagWalBamcalDalEalFalGalHakoamAanQamDanQanQaaaaaaaafaafaaaaaaaaaaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaaaaaaaafaafaafaaaaaaaoYaafaafaaaaafaafaaaaaaaamaaaaaaaigaigaigaigaigaigaigaigaigaigaigaigaigaigaigaigaigaigaigaigaigaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaafaaaaaraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfadEagWalcaldalQalPagWalgalhahLalialjagWacTalZacTagWabVamsabUagWalpamuamtalsagDaltaluamxalwamyagWabTabSabSabRagWalBamcalDalEalFalGalHakoamAanQamDanQanQaaaaaaaafaafaaaaaaaaaaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaraaaaaaaafaafaafaaaaaaaoYaafaafaaaaafaafaaaaaaaamaaaaaaaigaigaigaigaigaigaigaigaigaigaigaigaigaigaigaigaigaigaigaigaigaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafabMaafaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafabfadEamEalMalMamHamFamMamJalRahKalSaljagWalTalUalValWalXalYamOamPahKambahKamNamdameameamfamgamhamiamjamkamlammakoamnamoampamqalDalDamrakoadQanQamvawKamwaaaaaaaaLaaaaaaaaaaafaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafanTanTanTanTanTaafalJaafanTanTanTanTanTaafaaIaaaaaaaigaigaigaigaigaigaigaigaigaigaigaigaigaigaigaigaigaigaigaigaigaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaamaamaaIaaIaaaaaaaaaaoXaaaaaaaaaaaIaaIaamaamaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfadEagWamUamBamCamWagWamZalRaljankamGagWamRamIanlalWamKamLanmanoannanpamQanaamSamgamgamfamgamTaoWamVanfamXanhakoanPanWalDamqalDalDanbakoancandaneaocangaafaaLaafaafaaLaafaafaafakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafanianjanjanjanjanualJansanqanqanqanqanwaafaaIaaaaaaaigaigaigaigaigaigaigaigaigaigaigaigaigaigaigaigaigaigaigaigaigaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaafaafaaaaaaaaaaoVaafaafaaaaafaafaaaaaaaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaoeagWagWagWagWagWagWaofaojaohaohaohaohaosaotaosanraoQaoCaoRanvaoSaoTaoUanzanAamgamgamfanBanCamianDanEamXanFanGanHanIanJanKanLanManNanGanOaoGapqanRanSaaaaaaaafaaaaafaaLaafaacakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafapIapIapIapIapIaafalJaafapIapIapIapIapIaafaaIaaaaigaigaigaigaigaigaigaigaigaigaigaigaigaigaigaigaigaigaigaigaigaigaigaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafanVanVanVanVanVaafalkaafanVanVanVanVanVaafaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanXanYanZaoaagDaobaoPagWaodaoZalKaogapdaoiappaokaolaomaonaooaonaopaoqaoraonaoOapDamgamgaouaovaowamiaoxapHamXaoyanGaozaoAaoBaqgaoDaoEaoFanGaqqanQanQanQanQaoIaoJaoHaoLaqCaaaaafaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaafaaaaaaaafalJaaaaaaaaaaafaaaaaaaaaaamaaaaigaigaigaigaigaigaigaigaigaigaigaigaigaigaigaigaigaigaigaigaigaigaigaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaIaafalzalyalyalyalyalAalkallaivaivaivaivagEaafaaIaaaaaaaaaaaaaaaaaaaacaaaaaaaaaanXanXapaapbagDalMapcaqJapeapfaqXaphapiaoMaonaonapkaplaonapmapnaoraonapoaonaoNapEapramgamfamgamTaraamYanEamXaptanGapuapvapwapxapyapzapAanGapBaoHapCapLapGapFapPaoHaoHarjaoHaoHaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafanTanTanTanTanTaafalJaafanTanTanTanTanTaafaaIaaaaaaaigaigaigaigaigaigaigaigaigaigaigaigaigaigaigaigaigaigaigaigaigaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafapJapJapJapJapJaafalkaafapJapJapJapJapJaafaaIaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaapKapaapbagDapUapMagWalgapNalKapOapVapQapRaokapSaqmaqcaqpapWapXapYapZaqaanUaqNaqdaovaqeaovaqfarnaqhaqiaqjaqkanGaqlaqWapyaqnaqoarlaqoaroaqraqsapFaqtaquapFaqvaoHaqwaqxaqyaoHaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafanianjanjanjanjanualJansanqanqanqanqanwaafaaIaaaaaaaaaaaaaaaaaaaigaigaigaigaigaigaigaigaigaigaigaigaigaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaafaaaaaaaafalkaaaaaaaaaaafaaaaaaaaaaaqaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaqzaqAaqBagDagWagWagWarvalRagWalWalWalWaqDaqEapkaqFaqGaqHaonaqIarwaqKaqLanyarMaqOaqPaqQaqRaqSanxaqUaqVarQamVanGaryaqYaqZarzarbarcardanGarearfapFaqtaqtapFargaoHarhariarCaoHaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafapIapIapIapIapIaafalJaafapIapIapIapIapIaafaaIaaaaaaaaaaaaabgaaaaigaigaigaigaigaigaigaigaigaigaigaigaigaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaafaaaaaaaafalkaaaaaaaaaaafaaaaaaaaaaaraafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaqzaqAaqBagDagWagWagWarvalRagWalWalWalWaqDaqEapkaqFaqGaqHaonaqIarwaqKaqLanyarMaqOaqPaqQaqRaqSanxaqUaqVarQamVanGaryaqYaqZarzarbarcardanGarearfapFaqtaqtapFargaoHarhariarCaoHaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafapIapIapIapIapIaafalJaafapIapIapIapIapIaafaaIaaaaaaaaaaaaabgaaaaigaigaigaigaigaigaigaigaigaigaigaigaigaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafanVanVanVanVanVaafalkaafanVanVanVanVanVaafaaIaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaqzarkaqBagDaobarHagWarmarOalKaogarPaoiaokarparqarrarsartaonarualWarZarSarxalLasnarAasBamzasOarEarFarGasWamjanGanGarIanGanGanGanGanGanGarJarKarLasaasaapFarNaoHaoHasXaoHaoHaaaaaaakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaafaaaaaaaaaalJaaaaaaaaaaafaaaaaaaaaaamaaaaaaaaaaaaaaaaaaaigaigaigaigaigaigaigaigaigaigaigaigaigaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaLasYaaLaaaaaaaaaaaaaaaaaaaaaaaIaafalzalyalyalyalyalAalkallaivaivaivaivagEaafaaIaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaqzataaqBagDarRapcatIarTarUatJapharWaloaonaonarYasFasyasMaonascalWasdasealmasgasharAasiasjaskarEaoHaoHaoHaoHaoHaslatXatQasoasoaspaspasqasrassastastasuasvasvaswasxauiaszaqsaaaaafaafaafaaaaaaaafaafaafaafaaaaaaaafaafaafaaaaaaaaaaaaaaIaafanTanTanTanTanTaafalJaafanTanTanTanTanTaafaaIaaaaaaaaaaaaaaaaaaaigaigaigaigaigaigaigaigaigaigaigaigaigaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafasAauoasAaaaaaaaaaaaaaaaaaaaaaaaIaafapJapJapJapJapJaafalkaafapJapJapJapJapJaafaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasCasbapbagDapUapMagWasDasEalKapOasPaoiasGasGasHasIaonasJaonasKalWasLatgauuathatiarAasQasRasSarEasTasUasUasVauvasVauYauSasZasZasZasZasZasZasZasZasZasmavbatbatcaoKatdateatfaaaaafatPatratjatjatjatjavCatjatjatjatjatUaafaaaaaaaaaaaaaamaafanianjanjanjanjanualJansanqanqanqanqanwaafaaIaaaaaaaaaaaaaaaaaaaaaaaaaigaigaigaigaigaigaigaigaigaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatkatlatmaaaatnatoatpaaaaafatqatWatqaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaafaaaaaaaaaalkaaaaaaaaaaafaaaaaaaaaaamaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaanXatsattagDagDagDagWagWagWagWalWalWalWalWalWatuaonaoratvaqEatwalWalWalWatxatxatxarAatyatzatAarEatBasZasZasZasZatCatDatEatFatGatHavFavRatKatLatMatNatOatPatPatPatPatPatPatPatPatPatPatRatRatRatRatRatRatRatRatRatRaumaafaaaaaaaaaaaaaamaaaapIapIapIapIapIaafalJaafapIapIapIapIapIaaaaaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaigaigaigaigaigaigaigaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatkatlatmaaaatnatoatpaaaaafatqatWatqaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaafaaaaaaaaaalkaaaaaaaaaaafaaaaaaaaaaamaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaanXatsattagDagDagDagWagWagWagWalWalWalWalWalWatuaonaoratvaqEatwalWalWalWatxatxatxarAatyatzatAarEatBasZasZasZasZatCatDatEatFatGatHavFavRatKatLatMatNatOatPatPatPatPatPatPatPatPatPatPatRatRatRatRatRatRatRatRatRatRaumaafaaaaaaaaaaaaaamaaaapIapIapIapIapIaafalJaafapIapIapIapIapIaaaaaraaaaaaaaaaaaaaaaaaaaaaaaaaaaigaigaigaigaigaigaigaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatSatTavTatTatSatVavUatVatSaafatqavYatYaaaaaaaaaaaaaaaaaaaaaaaIaafanVanVanVanVanVaafalkaafanVanVanVanVanVaafaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafatZauaanYaubaucanXaafaafalWaudaueaufaugauhawiaonapnaonasJaqEaujaukaulawkaunauKauparAauqaurausarEatBasZauLawnauMatCauxauyatFatGauzauAauBauCauDatMatNauEauFauGauHauIauHauJauwauOauPaxsatRatRatRatRatRatRatRatRatRatRavcaafaaaaaaaaaaaaaamaaaaafaaaaafaafaaaaaabepaaaaaaaafaaaaaaaafaaaaaIaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauNatTavmatTauNatVavyatVauNauQauRawoauTauUauUauVauQauQaafaaaaaIaafalzalyalyalyalyalAalkallaivaivaivaivagEaafaaIaaaaaaaaaaaaaaaaaaaaaaaaanXanXanXauWanXanXapbaucanXaaaaaaalWauXalWawvauZavaalWawMavzaonavdaveaveavfavgaveavhaviavjarAavkauravlarEatBasZavAavoavJatCawravqatFatGauzauAavravsavtatMatNavuavvauGauHauHauHauJavwavQawfavVatRatRatRatRatRatRatRatRatRatRavcaafaaaaaaaaaaaaaamaamaaIaaaaaaaafaaaaaaabpaaaaafaafaafaafaaIaaIaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauNavBawRavDauNavEaxdavGauNavHavIaxuavKavLavMavNavOauQaaaaaaaaqaaaapJapJapJapJapJaafbeSaafapJapJapJapJapJaaaaaIaaaaaaaaaaaaaaaaaaaaaaaaaxwaxyavSaxCaxAaxOavWavXanXaaaaaaalWalWalWayqavZawaalWawbawcawdaweawpawgaukawhawxautawyawlarAawmaurayzarEatBasZawzawUawYaxaaxbawZatFatFatFawsawtawuatFatFatNayNawwauGauHauHauHauJawAavxawfaykatRatRatRatRatRatRatRatRatRatRavcaafaaaaaaaaaaaaaaaaaaaafaafaaaaafaaaaaaayOaaaaaaaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauNavBawRavDauNavEaxdavGauNavHavIaxuavKavLavMavNavOauQaaaaaaaaraaaapJapJapJapJapJaafbeSaafapJapJapJapJapJaaaaaIaaaaaaaaaaaaaaaaaaaaaaaaaxwaxyavSaxCaxAaxOavWavXanXaaaaaaalWalWalWayqavZawaalWawbawcawdaweawpawgaukawhawxautawyawlarAawmaurayzarEatBasZawzawUawYaxaaxbawZatFatFatFawsawtawuatFatFatNayNawwauGauHauHauHauJawAavxawfaykatRatRatRatRatRatRatRatRatRatRavcaafaaaaaaaaaaaaaaaaaaaafaafaaaaafaaaaaaayOaaaaaaaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauNawGawHawIauNawGawHawIauNawJavHavHavHavHavHavHavHasAaaaaaaaaIaaaaafaaaaafaafaaaaaaaySaaaaaaaafaaaaaaaafaaaaaIaafaaaaaaaafaafaaaaaaaafawPaxyawQazgaxAawSaucawTanXaafaaLcqTatxatxatxatxatxatxatxatxatxatxatxatxatxatxatxatxatxatxarAawVaurawWarEatBasZawBaxjawCatCaxVavnazpaxcaxfaxeaxhaxgaxhaxiaxkaxlaxmaxnaxoaxoaxoaxnaxmavxawEawDatRatRatRatRatRatRatRatRatRatRavcaafaaaaaaaaaaaaaaaaaaaaaaafaafaafaaaazoazBazoaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaatSauNazFaxxatSauNazUaxxatSauNaAbauNauNauNauNauNavHatqaaaaaaaaIaaIaaIaaaaaaaafaaaaxBaAraxBaafaafaafaafaaIaaIaaIaafanXanXanXanXaxDaxEaxEaxFanXanXanXanXaxGaucaucanXaxHaxIanXanXaxJaxKaxLaxMaxMaxMaxMaxMaxMaxMaxMaxNaxMaxMaxMaxMaxMaAvaxPaxQaxRaAvavpasZaxSawjcfSatCaxVaxXaxXaxXaxZaxYayaawLaxXavqaydayeayfaygayhayhayhayhawXavxawEawDatRatRatRatRatRatRatRatRatRatRavcaafaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaAuaAHaAuaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaynayoaypayoaBaayoayrayoaysaytayvayvayvayvaywauNawNatqaaaaafaafaaaaaaaaaaaaaafaaaayyaBcayAaafaaaaafaaaaaaaaaaaaaaaanXayBayCayDayCayCayCayCayEayCayCayFayGayDayHayIaxMaxMaxMaxMaxMaxMayJayKayLayLayLayLayMayLayLaBkayLayMayLayLayLarAaBwayPayQarEaAiasZcfSaycaxUatCayUayTayWaxpayYayXayYaxqayTazaazbazcazdazeazdazdazfaxraBEaxtaxTaxvatRatRatRatRatRatRatRatRatRatRavcaafaaaaaaaaaaaaaaaaaaaaaaaaaafaafaBuaBvaBOaBxaByaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -7523,46 +7523,46 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnaaaaaaaaaaaaaaaaaaaaaaaabKvbKwbKxbKwbKyaaaaaaaaabGtbGtbOcbKAbIVbKAbOdbKCbOfbKDbKEbtCbKFbvtbKGbKHbAabKIbAabzZbHHbKJbAabKKbKLbKMbKNbKObAcbAabKPbKQbHLbKRbHLbHLbKSbKTbOnbOibKWbKXbcLbKYaRpaRpaRpaJlbOtbFlbFnbOIbJmbONbJybJxbFIbLgbLhbLibLjbHgbDEbIkbIabIzbHhbDJbDJbLobLobLobCpbLpbLqbLrbLsbLtbCpbLubLvbIxbLwbFGbLybOQbLAbLBbLCbIFbJCbLEbKbbKbbzAbRsbLFbCvbwwbLGbLHbORbLJbLKbLLbGabLMbLNbLObLObLObLPbGdaaaaaaaaaaaaaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafbLQbLRbLSbLRbKsbKtbKtbLTbLUbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabLVbLWbLXbOTbLVbLZbMabMbbGtbMcbMdbMebMfbMgbPvbOUbMjbMjbMkbtCbtCbtCbPAbtCbtCbtCbtCbtCbtCbtCbtCbtCbtCbtCbtCbtCbMmbMnbMobtCbtCbtCbtCbtCbPCbtCbtCbtCaJlaJlbPDaJlaKSaMpbMraJlbKZbJXbPFbGFbLdbxCbDzbLDbxCbMybMzbMAbMBbwkbPHbMDbMEbMFbMGbPSbMIbMJbMKbMLbItbJObFDbFDbMMbJObCpbMNbMObMObMObMObMObMObMObMObMObMObPXbMQbMRbMRbzAbQjbMTbMUbwwbMVbMVbMVbMWbMXbMYbMVbMVbMVbMVbMVbMVbNabNbaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymbQpbLRbLRbNebKtbKtbLTbLTbQubLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabKxbNgbMsbNgbKxbNibNjbQBbNlbNmbNnbKAbNobNpbGvbQXbNrbNsbNtbGvbNubNvbNwbNxaaaaaaaaaaaabNybNzbNAbRdbNDbNCbNEbNFbNGbNHbNIbNFbNJbNKbRebNMbNNbNObNPbRvbNRbNSbNTbNUbNUbNUbNUbDtbDtbDtbDtbMtbMtbxCbRxbOabRybMzbMvbMubOebRzbOgbOhbRAbOjbMxbMwbOmbNhbMKbOobFDbFDbNVbJObJObOobCpbMNbMObOqbOrbOsbRBbOubOvbOwbOxbMObOybOzbOAbOAbzAbOBbOCbCvbzIbMZbOEbODbOGbOFbOJbOHbOLbOKbOMbVFbMVbRWbEnbOObOObOObOObOOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabOPbKtbQpbKtbKtbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabLVbNgbNgbNgbSgbScbKAbOSbSubSnbKAbSwbOVbOWbGvbGvbGvbGvbGvbGvbOXbOYbOZbPaaaabPbbPcbPcbPdbPebPfbPgbPhbPfbPibNFbPjbPkbPlbNFbPmbNXbPobPpbPqbPrbPsbPtbPtbNSbPubSEbPwbPxbPybDtbNYbLbbSVbGFbGFbSWbDzbTgbxCbTAbPEbTObPGbwkbUbbPIbwkbOkbPKbPLbOlbPNbMKbCpbCpbCpbCpbCpbCpbCpbCpbPObMObPPbQYbPRbOsbOsbOsbOsbUobMObPTbLEbPUbPUbzAbBhbPVbPWbUqbPYbPYbPZbQbbQabQdbQcbQgbQebQgbRDbMVbQfbRFbOObQhbUwbOpbQkaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbKsbKtbQlbQmbQmbLTbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabLVbNgbNgbNgbSgbScbKAbOSbSubSnbKAbSwbOVbOWbGvbGvbGvbGvbGvbGvbOXbOYbOZbPaaaabPbbPcbPcbPdbPebPfbPgbPhbPfbPibNFbPjbPkbPlbNFbPmbNXbPobPpbPqbPrbPsbPtbPtbNSccebSEbPwbPxbPybDtbNYbLbbSVbGFbGFbSWbDzbTgbxCbTAbPEbTObPGbwkbUbbPIbwkbOkbPKbPLbOlbPNbMKbCpbCpbCpbCpbCpbCpbCpbCpbPObMObPPbQYbPRbOsbOsbOsbOsbUobMObPTbLEbPUbPUbzAbBhbPVbPWbUqbPYbPYbPZbQbbQabQdbQcbQgbQebQgbRDbMVbQfbRFbOObQhbUwbOpbQkaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbKsbKtbQlbQmbQmbLTbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabKxbMsbMsbMsbKxbQnbQobUPbQqbQrbKAbKAbQsbQtbURbQvbQvbQvbQvbQvbQvbQwbQxbQyaaabQzbQAbUWbQCbQDbPfbQEbQGbQFbPfbNFbQIbQJbQKbNFbQLbQMbQNbQObQPbQQbQRbPtbQSbPxbQTbNUbPxbPxbQUbDtbPnbGFbQVbVjbGFbPzbDzbLebRCbQZbPBbVkbRcbRGbDEbIkbSpbOkbPLbPLbOlbRfbMKbRgbRhbPJbRjbRkbRlbPMbRnbPObMObOsbOsbRobOsbOsbOsbOsbRpbMObRqbLEbRrbRrbzAbRsbRtbRubVmbRwbVybRJbSMbSrbSObSNbSQbSPbSSbSRbWobREbUkbWVbRHbRIbQibRKaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabKtbKtbRLbLTbLTbLTbLTbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaabLVbRMbRNbRObLVbRPbMabMbbGtbGtbRQbRQbRQbGtbGtbNxbRRbRRbRSbRSbRSbRSbNwbQyaaabRTbRUbRVbXcbRXbRYbRZbSabSbbSbbXebSdbSebXfbNFbPtbPtbPtbPtbPtbXpbPtbPtbShbSibSjbNUbPxbSkbSlbDtbQHbLbbQVbSmbXqbPzbSobJAbJBbSqbRabSsbStbJzbFsbSvbIEbSxbRibRbbSAbSBbMKbRmbSDbXvbRjbSfbSGbXxbRnbPObMObMObMObRobOsbOsbOsbMObMObMObSIbSJbRrbRrbzAbSKbSLbCvbzIbUGbVvbUObQdbVzbVObVGbWibWgbWMbWkbMVbQfbYwbOObSXbSYbSybTaaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbKtbLTbLTbLTbLTbLTbLTbTbbLTbTcbLTbLTbLTbLTbLTbKtbKtaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaabLVbRMbRNbRObLVbRPbMabMbbGtbGtbRQbRQbRQbGtbGtbNxbRRbRRbRSbRSbRSbRSbNwbQyaaabRTbRUbRVbXcbRXbRYbRZbSabSbbSbbXebSdbSebXfbNFbPtbPtbPtbPtbPtbXpbPtbPtbShbZSbSjbNUbPxbSkbSlbDtbQHbLbbQVbSmbXqbPzbSobJAbJBbSqbRabSsbStbJzbFsbSvbIEbSxbRibRbbSAbSBbMKbRmbSDbXvbRjbSfbSGbXxbRnbPObMObMObMObRobOsbOsbOsbMObMObMObSIbSJbRrbRrbzAbSKbSLbCvbzIbUGbVvbUObQdbVzbVObVGbWibWgbWMbWkbMVbQfbYwbOObSXbSYbSybTaaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbKtbLTbLTbLTbLTbLTbLTbTbbLTbTcbLTbLTbLTbLTbLTbKtbKtaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabTdbKwbTebKwbTfbYHaafaaaaaabGtbThbTibTjbGtaaabNxbTkbTlbTmbTnbTnbTnbTobQyaaabQzbTpbTqbTrbTsbPfbTtbTvbTubTwbNFbSzbTybTzbYMbTBbTBbTBbTCbTCbTDbTEbULbPxbPxbTFbNUbNUbNUbNUbDtbDtbLfbLkbLcbDtbTJbTKbTLbJFbJEbTJbRybLlbLmbTRbTSbTJbMKbMKbMKbMKbMKbMKbTTbTUbTVbRjbTWbTXbTYbRnbPObMObTZbQWbPQbYYbYSbNWbNcbTZbUgbUhbUibIIbIJbzAbIKbSLbUjbwwbMVbMVbXabXibMVbMVbMVbMVbXubSCbVFbMVbZbbUnbOObUpbZcbUrbOOaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabKtbUsbUsbUsbUsbUsbUsbUtbLTbUubUsbTcbLTbLTbLTbLTbKtaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabMHaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbUvbNxbNxbNxbNxbRSbZibNwbUxaaabUybPcbPcbUzbUAbPfbPfbUBbPfbSFbNFbUDbSHbSTbNFbSUbSUbSUbSUbSUbSUbSUbSUbUHbUIbUJbUKbUKbUMbNUbDtbUNbSZbTxbUQbZrbwabUTbUUbTMbZsbTNbUTbUYbUZbVabVbbUebTPbVdbVebVgbVhbVibUlbZubUmbRjbUCbZvbUCbRnbPObMObVnbUFbVpbVqbVrbVsbVtbVubUgbzAbZzbzAbzAbVwbCxbSLbCxbVxaafbnxbYabYoblSbVBbYtbYZbYzbZebUVbMVbVHbVIbOObVJbVKbVKbwhaaLaaLaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwibLRbLRbLRbLRbLRbLRbLRbVNbLUbLTbLTbLTbLTbZCbLUbKuaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabVPbVQbVQbVRbVSbNxbVTbRSbVUbNxaaaaaaaaaaaabNybVVbVWbVXbVZbVYbPfbNFbWabWbbNIbNFbSUbUXbVfbVcbVDbVCbVEbSUcaqcaqcaqcaqcaqbTFbWjbZLbWlbWcbWdbZVbWpbxgbWrbWsbWtbWubWtbWvbWtbWwbWxbWybWzbWAbWBbWAbWCbWDbWEbWFbWGbWebWIbWfbWKbWLcaabxVbMObxWcanbzlbWSbWTbWhbWSbWScaxbWWbWXbWYbWZbCxbCxbSLbCxbFTaafbnxbZBbZBbXbcaWbXdcbibZObXgbXhbMVbVHbZPbOObOObOObOObOOaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabKtbQmbQmbQmbQmbQmbQmbXkbLTbQlbQmbXlbLTbLTbLTbLTbKtaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXmcbkbWmcbmbRScbnbXrbRSbXsbNxaaKaaaaaaaaabNybNybNybNybNybNybNybNFbUDbUEbXtbNFbSUbWnbWJbWHbWHbWJbWRbSUbXnbWUbWUbXocaqbXBbDtbDtbXCbXDbXEbXFbXGblRbXIbXJbXKbXLbXMbXNbXObXPbXQbXRbXSbXTbXUbznbzpbzobAPbzqbARbAQbATbAScbrbAUbYfbYgbIwbYhbVobCqbWObWNbWPbYmbYncbtbYpbYqbYrbYscbybYrbYubYvbILaafbnxcaJcbdbrBbVBcbecbgcbfcbjbYAbMVbVHbYBbYCbUnaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbKtbLTbLTbLTbLTbLTbLTbTbbLTbXlbLTbLTbLTbLTbLTbKtbKtaafaaaaaaaaaaaaabgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabYDbVQbVQbVRbYEbYFbYGbNxcbDbNxbYIbYJbYKbYIbYIbYLcbJbYNbYObYPcbLbXwbXzbXybYebXAbYjbWJbYybYxbYRbYQbYTcbObYVbYUbYXbYWcaqbZhbNScbQbZjbZkbZlbZlbZmbnEbZobZpbTJbTJbZqcbWbTJbTJccncccccrcaIccubWQbZxbZyccEbZybZAbZaccGbZabZAccJbYfbMNbIwbZEbXWbXVbZdccMbZJbZKbMObMObwwbwwbwwbwwbwwboIbnFbofbwwbMVbMVbMVbMVbMVbMVbMVbMVbMVbMVbMVbMVcbAbZQbZRbUnaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabKtbKtbRLbLTbLTbLTbLTbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaambZSaamaamaamaamaamaaaaaaaaaaaaaaaaaaaafaafaaabZfbZgbZgbZgbZHbZgbZgbZTbZIbYIbZYbZZbYIbZUcabccQcadbZWcafccSbZXcaecaccahcagcaibWJbYycajcakbYQcalbSUcaqcaqcaqcaqcaqcarbNSbDtcascatccYcamcawcdjcaycazbTJcaocaBcaCcaDcaEcaFcaGcaHcaIbZxbWQcapbZycaKcaLbZAcaMcaNcaObZAbXXbYfbPObIwbXYcdmbXZbXYbXYbIwbIwbIwcaRcaScaTcaUcaVbwwbwwcdpbwwbwwcaXcaYcaucaAcavcctcaZcbacbccfeccvcLKcLJcbhbUnbUnbUnaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbKsbKtbUubUsbUsbLTbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaambSiaamaamaamaamaamaaaaaaaaaaaaaaaaaaaafaafaaabZfbZgbZgbZgbZHbZgbZgbZTbZIbYIbZYbZZbYIbZUcabccQcadbZWcafccSbZXcaecaccahcagcaibWJbYycajcakbYQcalbSUcaqcaqcaqcaqcaqcarbNSbDtcascatccYcamcawcdjcaycazbTJcaocaBcaCcaDcaEcaFcaGcaHcaIbZxbWQcapbZycaKcaLbZAcaMcaNcaObZAbXXbYfbPObIwbXYcdmbXZbXYbXYbIwbIwbIwcaRcaScaTcaUcaVbwwbwwcdpbwwbwwcaXcaYcaucaAcavcctcaZcbacbccfeccvcLKcLJcbhbUnbUnbUnaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbKsbKtbUubUsbUsbLTbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabgaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafcbbcdNcdBcblcdTcdYcdUcbpcbobYIcdZcbsbYIbYIcebcbucbvcbwcbxceccbqbXzbXybYecbzcedbWJbWJcbBcbCbWJcefbSUcbFcbGcaqcbHcaqbTFcbIcbIcbIcbIcbIcbIcbIbTJceicbEbTJcbKcbMcbNcelcaEcbPcerceucaIbZxbWQcbRbZycbScbTbZAcbUcbVcevbZAccqbYfbYbbYdbYcbYiccsccAbYccexbYkbYlcktbZDbZwbZFcktceCbZGccCccBceHccDccPccFceKceIcLMcLLceIcficLOcLNcLPccwccxccycczbUnbUnbUnbUnaaaaafaaaaaaaaaaahaahaahaafaaaaaaaafaaaaaaaafaaaaaabOPbKtbQpbKtbKtbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafccRccRcdBccTcfjcdYccUccWccVbYIcfkccHccIcfmccKccLcfsccNccOcfuccXcdaccZcdecdbcfGcdycdQcdFcekceecemcfIcdccddaJEcdfcaqbTFcbIcdgcdhcdicfLcdkcdlcfMcdncdocfRcdqcdrcdscdtcaEcducdvcdwcaIbZxbWQcenbZycdxceobZAcdzcdAcepbZAcaPbYfbYfcaQbYccbYcbXcbZbYcchBccacjfcdLcdLbyFbBucdLcdOcdPceqcdRcdOcdSbBpbyebydcdScdScdScdScgebyebydcdScdSbXjcdXcgmcgfceacgocgCcgBbycbycbycbycbycbycbycbycbycbycbycbycbycbycbycbyccgOcegcegcehbKtbKtbLTbLTcgRbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacejcejcejcejcejcejcejcetcesbYIbYIbYIbYIbYIchbchnchichichichpcewbXzbXybYeceybYjceEceTceSceWceUceXbSUcezaJFceYaJFcaqbTFcbIceDcfacfacfaceFceGbTJchuchqbTJcbKcbNceJcelcaEchzceLceMcaIbZxbWQceNbZyceOcePbZAbZAbZAbZAbZAccbceRbYfcaQbYcccdchLbYcbYcchBccecjfcdLceZcfbcfbcfccdOcfdchPcffcdOcfgcfhcfhcfhchSciycifcflciCcfncfocfpcdScfqcfrciLbUnbUnbUnbUnaaaaafaaaaaaaaaaahaahaahaafaaaaaaaafaaaaaaaafaafaafcftcfBcfvbNebKsbKtbKtbLTbLUbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacejcejcejcejcejcejcejcetcesbYIbYIbYIbYIbYIchbchnchichichichpcewbXzbXybYeceybYjceEceTceSceWceUceXbSUcezaJFceYaJFcaqbTFcbIceDcfacfacfaceFceGbTJchuchqbTJcbKcbNceJcelcaEchzceLceMcaIbZxbWQceNbZyceOcePbZAbZAbZAbZAbZAccbceRbYfcaQbYcccdchLbYcbYcchBbPucjfcdLceZcfbcfbcfccdOcfdchPcffcdOcfgcfhcfhcfhchSciycifcflciCcfncfocfpcdScfqcfrciLbUnbUnbUnbUnaaaaafaaaaaaaaaaahaahaahaafaaaaaaaafaaaaaaaafaafaafcftcfBcfvbNebKsbKtbKtbLTbLUbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaafaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafcejcfwcfxcfycfzcfAcejcfDcfCcfFcfEcfHciPciVciVcfKcfJcfJcjacjlcbqbXzbXybYecfNcaicfOcfQcfPcfUcjqcggbSUaJFaJFcaqceBcaqbTFcbIcfVcfWcfWcfWcfXcbIcfYcfZcgacfYcgbcgccgdcjtcaEcjvceLcgicaIcghccfcgjbZycgkcglbZycjCbLvbVicgnccgcchbYfccjcciccicckcclcclcclcclccmcdLcjIcgycgycgzcgActscgrcgpcgucgtcgGcgGcgGcgxcgIcgIcgJckncgLcgDcgMcdScgNckocgPcgNaaaaaaaaaaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafcgQbKqbKqbKrbKsbKsbKtbKtbKtbKtbKuaafaafaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaafaafaafcgEcgEcgEcgEcgEcgEcgEcgEcgEcgEcgEcgEcgEaaaaaacgScgTcgTcgTcgUcgVcejcgHcgFckCcgKcgXcgWcgZcgYckFchachdchcchfchechhchgchjckNbSUbSUbSUbSUbSUbSUbSUbSUclfckQcaqclgcaqbTFcbIcbIctpctqctrcbIcbIchrchschtcfYcaEcaEcaEcaEcaEcaIchkchlcaIchwclpchwbZychychmbZychAchBbVichCbVichDbYfccobYfbYfccpcdCcdCcdCcdDbYfcdLchIchJchJchKcluchMchochOclCchQckLckLckLckLclGchvckLclVckLchEchFcdSchZciachGcgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaaaaaaaaaaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacgEchHcmgchHcgEchNcmkchNcgEchRcmpchRcgEaaaaaaciicgTcgTcgUcgUcijcejchUchTchWchVchYchXcidciccmwcieciecigciecbqbXzcihbYecikcimcilciocinciocipcirciqciqciAciAciAciAbTFciGciHciIciIciJciKcmGciMciXciOcmPciQciRciSciSciTciUcaIcaIcaIcmQcdEckqbZybZybZybZychBchBbViciYbViciZbYfccobYfaaaaaaaaaaaaaaaaaaaaacdLcjgcisciucitcjjcjkcivcjmcjncjociwcjocjocixcjrcjscgIcmRcgIciWcjucdScmXcjwcjxcgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacgEchHcjbchHcgEchNcjcchNcgEchRcjdchRcgEaaaaaaciicgTcgUcgUcgUcjBcnecjhcjechWcjicjpcnfcnhcngcjzcjycjDcjAcjEcbqbXzcjFchjcjGcnucjHcjJcjJcjJcjKcjMcjLcjNcnwcjOceAciAbTFciGckaciIckbckcckdcubckfckgckhctQckjckkcklciSckmciUcnEcnFckpcjQcjPcdHcdGcdIcdIcdJcdIcdKbVibVibVibVibYfccobYfaaaaaaaaaaaaaaaaaaaaacdLcnIcjRcjTcjSckEcdOcnKcdOckGckHcjXcjUcjUcjYcgIcgIckecjZcjUckickOcdSckPcnLckRcgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacgEckrckuckscgEckzckBckAcgEckDckJckIcgEaaaaafciiclbcgTcgUcgUcgUcejckMckKchWchWcnNchWchWchWchWckTcieckWckYcbqclackZcldclccnPcleclhclhclhclicljcljclkciAcllcgqclwclxciGclyciIclzclAclBcnQclDclEclFcolclHclIclJciSclKciUconcoqclNclnclmclQclNclRclSclTbYfceQcdIcdIcdIcdIcdIcltbYfaaaaaaaaaaaaaaaaaaaaacdLcmacmbcmccmdcdOcmecmfcorcdScmhcmicmicmiclvcotcmlclPclOcmicmicmncdScmocpdcmqcmraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaafaafcgEclXcmmcmjcgEcmscmmcmtcgEcmscmmcmtcgEaaaaafcmzcgTcgTcgUcgUcmAcejcmvcmucmxcpfcmBcmycmCcmCcmEcmDcmCcmFcpgcbqcmIcmHcmKcmJcimcmLcmLcmMcljcmNcpocmOcmOciAcibceVcprcqgciGcnbciIcnccndcpAciGcmSciNcmWcfYcpOcnicnjciScnkciUclLclMclNcnlcqecnlclNaaaaaaaaabYfbYfbYfcnnclSclSclTbYfbYfaaaaaaaaaaaacdOcdOcdOcdOcdOcdOcdOcdOcdOcnocnpcnqcdScdScnrcnscntcdScdScdScdScqrcnscntcdScdScnvcqscnvaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabZSaafaafaafaaaaafcnxaafcnxaafcKBaafcKAaafcKBaafcKAaafaafaaacejcnAcnBcgUcgUcnCcnDcqAcqtcnycnmcqDcnzcnzcqIcnzcnGcqOcnHcnGcnJcrzcrvcrQcnMcnOcnOcnOcnOcsecsdcnRcnRcnRcgscgscgscgscnSciGcnTcnUcnccnVcnWciGcmSciNcnXciUcnYcnZcnjcoacobciUclLclMclNcoccodcoeclNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaacdOcofcogcohcwlcojcokcsfcomcsgcopcoocdOaaLaafaafaafaafaaaaaaaaacsiaaaaaaaaaaafcoscsncosaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabSiaafaafaafaaaaafcnxaafcnxaafcKBaafcKAaafcKBaafcKAaafaafaaacejcnAcnBcgUcgUcnCcnDcqAcqtcnycnmcqDcnzcnzcqIcnzcnGcqOcnHcnGcnJcrzcrvcrQcnMcnOcnOcnOcnOcsecsdcnRcnRcnRcgscgscgscgscnSciGcnTcnUcnccnVcnWciGcmSciNcnXciUcnYcnZcnjcoacobciUclLclMclNcoccodcoeclNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaacdOcofcogcohcwlcojcokcsfcomcsgcopcoocdOaaLaafaafaafaafaaaaaaaaacsiaaaaaaaaaaafcoscsncosaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaafcoucowcovcoxcovcowcoycoxcoAcoBcoycoDcoCcoFcoEcnycnycnycnycnycnycnycnycoHcoGcoJcoIcoLcoKcoNcoMcoOcnGcoQcoPcoRcnGcoTcoScoUcnOcoWcoVcoYcoXcpacoZcpjcpbcpbcpkcpncpncpjcsDciGciGcpccsLciGciGciGcpeciNcsMciUciUciUctbcphciUciUclLcpiclNcvmcpscvmclNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaafaafcdOcplcpmcplctictccppcpqcomcomctkcomcdOcdOaaaaaaaaaaafaafaaaaacaaaaaaaaaaaaaafaaactmaaaaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaaaaaaaaaaafcptcpvcpucpxcpwcpvcpyctxcpzcpCcpBcpEcpDcpHcpFcpLcpJcpNcpMcpQctBcpUcpTcpWcpVcpYcpXcqacpZcqccqbctIcqdctOcqfctScqzcoTcqJcqKcnOcpacpacpacpacpacqMcpjcqPcqPcqPcpncpncpjbTFcrYciGcqhcqicqjcqkciGcqlciNcqmciUcqncqocqpcqqciUctTclLcpiclNctVcqQcquclNaaaaaaaaaaaaaaaaaacqvcqwcqxcqycqvaafaaaaaaaaaaaacdOcplcplcplcoicuacqBcqCculcqEcqFcqGcqHcdOaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaafaaacmZaaaaafaafaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaafcqRcpFcqScqVcqUcpFcqWcpFcqXcqYcqWcpFcqXcqYcpFcpFcpFcpFcpFcqZcpFcpFcpFcrbcracrdcrccurcpZcrfcrecrhcrgcrjcricrlcrkcoTcqJcrmcnOcrncpacpacrocpacrpcpjcrIcrKcrJcrKcrLcpjbTFcrqciGcrrcrscrtcrucuycrwcrxcrycuEcrAcrBcrCcrDciUcrEcrFcrGcrHcqvcuLcqvcrHaaaaaaaafaaaaaaaaacqvcrRcrTcrScqvaafaafaaaaaaaaacdOcomcomcomcomcrMcppcrNcrNcrNcnpcrNcrOcdOaaaaaaaaaaaaaaacrPcrPcrPbZSaafaafaafaafcnaaafaafaafaafaafaaqcrPcrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaafcqRcpFcqScqVcqUcpFcqWcpFcqXcqYcqWcpFcqXcqYcpFcpFcpFcpFcpFcqZcpFcpFcpFcrbcracrdcrccurcpZcrfcrecrhcrgcrjcricrlcrkcoTcqJcrmcnOcrncpacpacrocpacrpcpjcrIcrKcrJcrKcrLcpjbTFcrqciGcrrcrscrtcrucuycrwcrxcrycuEcrAcrBcrCcrDciUcrEcrFcrGcrHcqvcuLcqvcrHaaaaaaaafaaaaaaaaacqvcrRcrTcrScqvaafaafaaaaaaaaacdOcomcomcomcomcrMcppcrNcrNcrNcnpcrNcrOcdOaaaaaaaaaaaaaaacrPcrPcrPbSiaafaafaafaafcnaaafaafaafaafaafaarcrPcrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaafaafaafcptcpFcrccpFcrccpFcqWcpFcrUcrWcrVcrWcrXcrWcrWcsacrZcpFcpFcuYcuUcuUcuUcvncvlcvscvscvtcpZcvvcshcsjcnGcsmcskcvEcnGcspcsocsrcsqcstcsscsvcsucpacswcpjcsxcrKcsycrKcsKcpjbTFcizciGcszcsAcsBcsCciGcfYcvGcfYciUcsEcsFcsGcsHciUcsIcrGcrGcqvcsJcsNcvOcqvcqvcqvcqvcqvcqvcqvcqvctMctDctNcqvcqvcqvcrHaaaaaacdOcofcogcohcslcsRcqBcrNcrNcrNcnpcrNcsScdOaaaaaaaaaaaaaaacrPaaaaafaaaaafaaaaaaaaackxaaaaafaafaaaaaaaaaaaacrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaafaaaaaacptcpFcrccpFcsOcsTcsQcsVcsUcsWcrVcrWcsXcrWcrWcsZcsYcwacvRcwzctactectdctdctfcrccrccthctgctjcwHcnzcnGcwUcnGcnGcnGcwWctlcsrctncttctoctyctucpacwZcpjcxqcrKcsycrKcxrcpjctvctwciGciGcxsciGciGciGciBctzctAciUciUciUcxFciUciUcsIcrGaaacqvctCctZctEctFctGctHcxJctJctKctLcqvcuVcxVcuVcqvcyactPcqvaafaafcdOcplcplcplcybctcctRcuccycctUcudcrNctWcdOcdOcdOcdOaaaaaacrPaaactXctXctXctXctXaafckxaafctXctXctXctXctXaaacrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacptcpFcsOcsTcsTcsTcsQcsTcsTcsTcsQcsTcsTcsTcsTcsTcuecygcsTcyhcsTcufcsTcsTcsTcuhcugcuicpvcpFcujcyicukcuncumcupcuocumcuqcuscymcuucutcutcuvcutcuwcypcuxcuAcuzcuBcuBcpjcuCcuDcyrcuFcuFcuGcuHcuIcuJcuJcuJcuJcuJcuJcuJcuJcuKcrFcrGaaactFcyzcuPcuNctFcuOcuRcuQcuQcvdcvacuQcuQcvhcuQcuVcuXcuQcqvaaaaaacdOcplcplcplcslcyHcuZcvicvbcvccvjcrNcrNcvecvfcvgcdOaafaafcrPaafckVckSckSckSckSckyckxckwckvckvckvckvckUaafcrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacptcpFcpFcpFcpFcpFcqWcpFcpFcpFcqWcpFcpFcpFcpFcpFcqXcpFcpFcurcpFcvkcpFcyRcyJcvpcvocvrcvqcyScvqcyZcvucvxcvwcvycvucvucvzcvAcsecvBcpacvDcvCcpacpaczBcrKcrKcvFcuBcuBcpjbPxcAscvNcvNcvNcvNczFcvNcvNcvNcvNclMcvPcrGcrGcrGcrGcrGcrGaaactFctFczLctFctFczMcvScvTcvUcvVcvHcvJcvIcvLcvKczVcwbcwccqvaaaaaacdOcomcomcomcomcwdcppcvicwecwfcvQcrNcrNcwhcrNcwicdOaaaaaacrPaafcwjcwjcwjcwjcwjaaackxaaacwjcwjcwjcwjcwjaafcrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaabZSaaaaaaaaaaaacptcpFcpFcpFcpFcpFcqWcpFcpFcpFcqWcpFcpFcpFcpFcpFcqXcpFcpFcurcpFcvWcpFcpFcvWcvWcvXcpFcpFcvZcvYcwgcwgcwgcwgcwmcwkcoTcwocwpcsqcwqcpacwscvCcpacwtcpjcwucrKcwvcwxcwwcpjczXcvMcvNcwIcwJcwKcwLcwMcwNcwOcvNcwPcwQcrGaaaaaaaaaaaaaaaaaacqvcwRcwycwAcAHcwCcwBcwEcwDcwGcwFcwTcwScwVcAJcuWcuQcxecqvaaaaaacdOcofcogcohckXcsRcuZcxgcxhcxhcxicxjcxkcAUcxmcxncdOaaaaaacrPaaaaafaaaaafaafaafaaackxaaaaafaaaaafaaaaafaaacrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaabSiaaaaaaaaaaaacptcpFcpFcpFcpFcpFcqWcpFcpFcpFcqWcpFcpFcpFcpFcpFcqXcpFcpFcurcpFcvWcpFcpFcvWcvWcvXcpFcpFcvZcvYcwgcwgcwgcwgcwmcwkcoTcwocwpcsqcwqcpacwscvCcpacwtcpjcwucrKcwvcwxcwwcpjczXcvMcvNcwIcwJcwKcwLcwMcwNcwOcvNcwPcwQcrGaaaaaaaaaaaaaaaaaacqvcwRcwycwAcAHcwCcwBcwEcwDcwGcwFcwTcwScwVcAJcuWcuQcxecqvaaaaaacdOcofcogcohckXcsRcuZcxgcxhcxhcxicxjcxkcAUcxmcxncdOaaaaaacrPaaaaafaaaaafaafaafaaackxaaaaafaaaaafaaaaafaaacrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacptcpFcpFcpFcpFcpFcwXcpFcpFcpFcwXcpFcpFcpFcpFcpFcqXcpFcpFcBkcwYcxbcxacxacxbcxccxbcxlcxdcxocxacBmcxpcBqcBncxtcwkcoTcxucoTcxvcxwcpacpacxAcpacxBcpjcxCcxCcxDcwxcwwcpjbPxcvMcvNcxKcxLcxMcxNcxOcxNcxPcvNcxQcxRcrGaaaaaaaaaaaaaaaaaacqvcxScxTcxUcBscxWcxXcxYcxZcuTcBzcuScxEcuTcBIcqvcqvcqvcqvaaaaaacdOcplcpmcplcBOctccppcrNcrNcyecyfcrNcBRcomcomcomcdOaaaaaacrPaaactXctXctXctXctXaafckxaafctXctXctXctXctXaafcrPaaacBSaaaaaacBSaaaaaaaaacBSaaaaaaaaaaaaaaacBSaaaaaaaaacBSaaaaaacBSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaaaaaaaaacptcpFcsccsbcsbcxHcxGcuUcCccuUcxIcCccuUcuUcuUcuUcCecuUcCfcvncCicvWcpFcpFcyjcylcykcyncCncyocpFcCNcyqcyscyscyucytcoTcxucyvcnOcywcpacyxcpacCOcyycpjcpjcpjcpjcpjcpjcpjbPxcvMcvNcyMcyNcxLcyOcxLcxNcyPcvNcyQcCQcrGaaaaaaaaaaaaaaaaaacqvcuVcCYctFctFcyTcyAcyVcyWctMctDctNcyBctMcvhcyYcqvaaaaaaaaaaaacdOcplcplcplckXcDaczacrNcrNcrNcyfcrNczbcrNczccrNczdaafaafcrPaafckVckSckSckSckSckyckxckwckvckvckvckvckUaafcrPaaacBScBScBScBSaaaaaaaaacBScBScBScBScBScBScBSaaaaaaaaacBScBScBScBSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaaaaaaaaacptcpFcqWcpFcpFcpFcwXcpFcpFcpFcwXcpFcpFcpFcpFcpFcqXcpFcyCcpFcyDcvWcpFcpFcyEcxccyFcyGcwgcDmcwgcwgcyqcDpcyIcyKcytcoTcxucoTcnOcyUcyLczecyXczfcpacnOczgczJczJczhcDtcDNczNczOcvNcxNczPczQcxNczRczSczTcvNczUcDOcrGaaaaaaaaaaaaaaaaaacqvczWcuMcDUcuVczYczZcAactFcAbcAccsPcyBczWczjcAecqvaaaaaaaaaaaackEcdOcAfcAgcAgczkcAicAjcAkcAlcAmcAncAocApcAqcokcAraaaaaacrPaafcwjcwjcwjcwjcwjaaackxaafcwjcwjcwjcwjcwjaaacrPaaacBScBScBScBSaaaaaacBScBScBScBScBScBScBScBScBSaaaaaacBScBScBScBSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaIaaaaaaczlcpFcqWcpFczmcrWcrVcrWczncrWcrVcrWczncrWcrWcrWczoczpczoczrczqcyFczsczucztczwczvczxcwgczzczycwgcwgcwgcwgcwgczAcrzcEccrzcnOcnOcnOcnOcnOcnOcnOcnOczDczJczJczEcANcAObPxcAPcvNcAQcARcErcATcEycAVcAWcvNcAXcAYcrGaaaaaaaaaaaaaaaaaacqvcuQcAZcAectFcBacBbcBcctFcBdcBeczHczGczIcBeczKcqvaafaafaaaaaaaaaaaabquaaacdOcBlcEXcEBcBocBpcEXcFecBrcBpcEXcFgcdOaaaaaabZSaaaaafaaaaafaaaaafaaackxaaaaafaaaaafaafaafaafcrPaaacBScBScBScBSaaaaaacBScBScBScBScBScBScBScBScBSaaaaaacBScBScBScBSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabZSaaaaaaaaaaaIaaaaaacAdcpFcqWcpFcAhcylcqWcpFcAtcylcqWcpFcAucylcpFcpFcAvcpFcAwcylcAxcAzcAycABcAAcADcACcAEcwgcFrcAFcFCcAIcAKcumcAMcALcumcAScumcBfcuocBgcBicBhcBhcBjcFEcBVcBWcBWcBXcBYcAObPxcBZcvNcvNcCacCbcFFcCbcCacCdcvNcrGcFKcrGaaaaaaaaaaaaaaaaaacqvctFcFLcuVctFcCgcChcFUctFcCjcCkcqycgvcBtcCkcCocrHaaaaaaaaaaaaaaaaaacgwaafcdOcCqcFVclUcomclscFWclqcomclocGgclWcdOaaaaaacrPaaactXctXctXctXctXaafckxaafctXctXctXctXctXaafcrPaaacBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaIaaaaaaczlcpFcqWcpFczmcrWcrVcrWczncrWcrVcrWczncrWcrWcrWczoczpczoczrczqcyFczsczucztczwczvczxcwgczzczycwgcwgcwgcwgcwgczAcrzcEccrzcnOcnOcnOcnOcnOcnOcnOcnOczDczJczJczEcANcAObPxcAPcvNcAQcARcErcATcEycAVcAWcvNcAXcAYcrGaaaaaaaaaaaaaaaaaacqvcuQcAZcAectFcBacBbcBcctFcBdcBeczHczGczIcBeczKcqvaafaafaaaaaaaaaaaabquaaacdOcBlcEXcEBcBocBpcEXcFecBrcBpcEXcFgcdOaaaaaabSiaaaaafaaaaafaaaaafaaackxaaaaafaaaaafaafaafaafcrPaaacBScBScBScBSaaaaaacBScBScBScBScBScBScBScBScBSaaaaaacBScBScBScBSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabSiaaaaaaaaaaaIaaaaaacAdcpFcqWcpFcAhcylcqWcpFcAtcylcqWcpFcAucylcpFcpFcAvcpFcAwcylcAxcAzcAycABcAAcADcACcAEcwgcFrcAFcFCcAIcAKcumcAMcALcumcAScumcBfcuocBgcBicBhcBhcBjcFEcBVcBWcBWcBXcBYcAObPxcBZcvNcvNcCacCbcFFcCbcCacCdcvNcrGcFKcrGaaaaaaaaaaaaaaaaaacqvctFcFLcuVctFcCgcChcFUctFcCjcCkcqycgvcBtcCkcCocrHaaaaaaaaaaaaaaaaaacgwaafcdOcCqcFVclUcomclscFWclqcomclocGgclWcdOaaaaaacrPaaactXctXctXctXctXaafckxaafctXctXctXctXctXaafcrPaaacBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaafaafaafaaIaafaafcAdcBvcBucBycBxcBAcGhcBCcBBcBEcBDcBGcBFcBHcpFcBvcGocBKcBJcBMcBLcnycnycnycnycnycnycnycnycGucBNczAcBPcBQcoTcGvcoTcoTcxucoTcoTcGAcoTcBQcBTcCpcBUcCrcGEcGOcGMcCPcHacAObPwcCRcCScCTcCacAGcAVcBwcCacCtcCscCucHjcCXaaaaaaaaaaaaaaaaaacqvcCvctDcuQcHCcDbcuQcDccDdcDeaafaaachxcCxcCwcCyaaaaaaaaaaacaaaaaaaaaaaaaaacdOcDhcplcplcomcDicplcplcomcDicplcplcdOaafaafcrPaafckVckSckSckSckSckyckxckwckvckvckvckvckUaafcrPaaacBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPcCzaaaaaaaaIaaaaaacCAcCCcCBcCEcCDcCGcCFcCHcCDcCGcCFcCHcCDcCGcCIcCIcCJcCHcCDcCGcCKcnyaaacCMcCLcCVcCUcCZcCWcDjcDgcDkcDkcHVcDlcDocDncDqcIAcDncDqcDocDrcIMcDscDrczAczAcAOcITcIRcDPcDQcAObNUcDRcDScDTcCacCbcIZcCbcCacDvcDucDfaafaaaaaaaaaaaaaaaaaaaaacqvcCvcDVcDwcDXcDXcDwcsPcDYcqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacdOcDZcplcplcomcEacplcplcomcEacplcplcdOaaaaaacrPaafcwjcwjcwjcwjcwjaaackxaaacwjcwjcwjcwjcwjaaacrPaaacBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPcClcqLcpIcDxcpIcpIcqLcpIcpPcpIcpGcpIcpPcpIcpGcpIcpPcpIcpGcpIcqLcpIcpRcpIcpGcpIcqNaafaaacDzcDycDBcDAcDDcDCcDjcDEcDkcDFcDHcDGcDJcDIcDLcDKcDWcDMcDJcEbcEdcJhcDraaaaafcAOcJlcECcEDaafaaabNUbPxbPxbSkcCaclZcEFclYcCaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacqvcEecuXcEfcEJcEJcEfcuQcEKcqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacdOcplcplcplcomcELcplcplcomcELcplcplcdOaacaaacrPaaaaaaaafaafaafaaaaaacmTaafaaaaaaaafaafaaaaaacrPaaacBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaabgaaaaaaaaaaaaaaaaaaaaacrPaafaafaaaaaqaaaaaaaafcgEcmscmmcEgcgEcmscmmcEgcgEcmscmmcEhcgEaaacgEcEicmmcEhcgEaaaaafaaacDzcEjcElcEkcEncEmcEpcEocDkcEqcEscJpcDJcEtcEvcEucExcEwcDJcJzcEAcEzcDraaaaaacAOcJAcFhcFiaaaaaabNUbPxbPxbNUcCacmUcmUcmUcCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacqvcEEcFncuQcuQcuQcuQcuQcFocqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaackEcdOcdOcdOcdOcdOcdOcdOcdOcmYcmYcmYckEaaaaaacrPcrPcrPcrPcrPaaaaaaaaacmZaaaaaaaaacrPcrPcrPbZScrPaaacBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaabgaaaaaaaaaaaaaaaaaaaaacrPaafaafaaaaaraaaaaaaafcgEcmscmmcEgcgEcmscmmcEgcgEcmscmmcEhcgEaaacgEcEicmmcEhcgEaaaaafaaacDzcEjcElcEkcEncEmcEpcEocDkcEqcEscJpcDJcEtcEvcEucExcEwcDJcJzcEAcEzcDraaaaaacAOcJAcFhcFiaaaaaabNUbPxbPxbNUcCacmUcmUcmUcCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacqvcEEcFncuQcuQcuQcuQcuQcFocqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaackEcdOcdOcdOcdOcdOcdOcdOcdOcmYcmYcmYckEaaaaaacrPcrPcrPcrPcrPaaaaaaaaacmZaaaaaaaaacrPcrPcrPbSicrPaaacBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaaaaafaafaaIaaaaaaaafcgEcEGcEIcEHcgEcEMcEOcENcgEcEPcERcEQcgEaafcgEcEScEUcETcgEaaaaafaaacDzcEVcDBcEncEncEWcEYcJBcFacEZcFccFbcJCcFdcFjcFfcFlcFkcFpcFmcJFcFqcDraafaaacFJcJVcJUcAOcKdaaabNUcFMcKocFNcFOaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrHcqvcqvcFPcFQcEfcEfcEfcFRcFPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqpbqpbqpaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaafcfTaafcrPaaaaaaaaaaaaaaaaaaaaacBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaIaaaaafaafcgEcFscFtcFscgEcFucFvcFucgEcFwcFxcFwcgEaaacgEcFwcFwcFycgEaaaaafaaacDzcCLcFzcEkcEncDCcFAcDEcDkcFBcFDcKpcDJcKqcFGcKDcFGcFHcDJcFIcFTcFScDraaLcKFcKEcKHcKGcKEcKEcKIbNUciEciDcGjaafaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacGlcEJcEJcEJcEJcEJcGlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaaaaafaaacrPaaaaaaaaaaaaaaaaaacBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaIaafaafaaacgEcFscKJcFscgEcFucKKcFucgEcFwcKLcFwcgEaafcgEcFwcKMcFwcgEaafaafaafcFYcFXcGacFZcGccGbcGdcDEcDkcGecKNcGfcDJcGicGmcGkcKOcGncDJcGpcGrcGqcDraaacKQcKPcKScKRcKUcKTcKVcGFcGGcGHbNUaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacqvcCmcqxcqxcqxcCocqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPcrPcrPcrPcrPaaaaaaaaaaaaaaaaaacBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabZSaaaaaacgEcgEcgEcgEcgEcgEcgEcgEcgEcgEcgEcgEcgEaaacGscgEcgEcgEcgEaaaaaaaaaaaacBNcBNcBNcBNcBNcKWcGtcGtcGtcGtcKXcGtcGwcGycGxcGycGzcGtcGtcKYcGtcGtcGtcKQcKPcLacKZcLccLbcLdaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabSiaaaaaacgEcgEcgEcgEcgEcgEcgEcgEcgEcgEcgEcgEcgEaaacGscgEcgEcgEcgEaaaaaaaaaaaacBNcBNcBNcBNcBNcKWcGtcGtcGtcGtcKXcGtcGwcGycGxcGycGzcGtcGtcKYcGtcGtcGtcKQcKPcLacKZcLccLbcLdaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBScBSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaaaaaaaafaafaaaaafaafaaaaaaaafaafaafaaaaaaaaaaaaaaaaaaaafaaacGQcGRcGRcGRcGScGBcGDcGCcGIcLecGKcGJcLfcGLcLgcGNcGTcGPcGVcGUcGXcGWcGZcGYcHbcLhcGYcGtcKQcKPcLjcLicLccLkcLlaafaaacGQcHccGQcHccGQcHcaafcHdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacBScBScBScBScBScBScBScBScBScBScBScBScBSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafcHncjVcHpaaacHncjVcHpaaacHncjVcHpaafaafaaaaafaafaafaafaafcHqcGRcGRcGRcGScGBcHfcHecHhcHgcLmcHicHlcHkcHocHmcHscHrcHucHtcHucHucHucHvcHucHwcHxcGtcLncKEcKEcKEcKEcKEcLoaafaafcHycHycHycHycHycHyaafcHdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaabgaaacBScBScBScBScBScBScBScBScBScBScBScBScBSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaacHncjWcHpaaacHncjWcHpaaacHncjWcHpaafaafaaaaafaaaaaacHKaafcGQcGRcGRcGRcGScGBcHfcHzcHBcHAcLpcHicHEcHDcHFcHbcHbcHbcHHcHGcHIcHbcHbcHDcHLcHJcHMcGtcGtcGtcHNaaaaaaaaaaaacHOaaacHPcHPcHPcHPcHPcHPaafcHdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacBScBScBScBScBScBScBScBScBScBScBScBScBSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -7575,10 +7575,10 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYaaactYctYctYctYctYaaactYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaamaaIaafaafcHncwrcHpaaacHncwrcHpaaacHncwrcHpaafaaaaaaaaaaaaaafaafcKfcIKcIKcIKcIKcKgcKhcKicKicKjcKgcKgcGtcGtcGJcGtcGtcGtcGtcGtcKwcGtcGtcGtcGtcGtcGJcGtcGtcGtcGtaafcHycHycHycHycHycHycHycHycHycHycHycHyaafaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacHncwrcHpaafcHncwrcHpaaacHncwrcHpaaaaaaaaaaafaaaaafaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaafaaacKxaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaacHqcKycHqcKycKzcKycHqcKycHqcKycHqcKyaafaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafcHncwrcHpaaacHncwrcHpaaacHncwrcHpaafaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaLaaaaaaaaaaafaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafcHncwrcHpaaacHncwrcHpaafcHncwrcHpaafaafaafaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaaIaaIbZSbZSaaIaaIaaaaaaaaaaaIaaIaaIaaIaaIaaqaaIaaIaaIaaIaaIaaIaaIaaIcKCaaIaaIaaIaaIaaqaaIaaIaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaafcHncwncHpaaacHncwncHpaaacHncwncHpaafaaIaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafcHncwrcHpaaacHncwrcHpaafcHncwrcHpaafaafaafaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaaIaaIbSibSiaaIaaIaaaaaaaaaaaIaaIaaIaaIaaIaaraaIaaIaaIaaIaaIaaIaaIaaIcKCaaIaaIaaIaaIaaraaIaaIaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaraafcHncwncHpaaacHncwncHpaaacHncwncHpaafaaIaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaaaaafaaaaaaaaaaafaafaafaaaaaaaafaafaaaaaIaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKncKncKncKncKncKncKnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaamaaIaamaamaaqaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaacHKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKncKncKncKncKncKncKncKncKnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaamaaIaamaamaaraaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaacHKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKncKncKncKncKncKncKncKncKnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacLIaaaaaacLIaaaaaaaaacLIaaaaaaaaaaaaaaacLIaaaaaaaaacLIaaaaaacLIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKncKncKncKncKncKncKncKncKnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacLIcLIcLIcLIaaaaaaaaacLIcLIcLIcLIcLIcLIcLIaaaaaaaaacLIcLIcLIcLIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKncKncKncKncKncKncKncKncKnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacLIcLIcLIcLIaaaaaacLIcLIcLIcLIcLIcLIcLIcLIcLIaaaaaacLIcLIcLIcLIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabgcKncKncKncKncKncKncKncKncKnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa diff --git a/maps/exodus-2.dmm b/maps/exodus-2.dmm index d23d5d271e..db9f7de348 100644 --- a/maps/exodus-2.dmm +++ b/maps/exodus-2.dmm @@ -663,7 +663,7 @@ "mM" = (/turf/unsimulated/wall{icon_state = "phoron4"},/area/alien) "mN" = (/turf/unsimulated/wall{icon_state = "phoron13"},/area/alien) "mO" = (/turf/unsimulated/wall{icon_state = "phoron9"},/area/alien) -"mP" = (/obj/structure/lattice,/obj/structure/grille{density = 0; icon_state = "brokengrille"},/turf/space,/area/space) +"mP" = (/obj/structure/lattice,/obj/structure/grille/broken,/turf/space,/area/space) "mQ" = (/obj/structure/table,/obj/item/device/flashlight/lamp{pixel_x = 4; pixel_y = 8},/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership) "mR" = (/obj/structure/table,/obj/effect/landmark{name = "Nuclear-Code"},/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership) "mS" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 8},/obj/item/weapon/pen{pixel_y = 4},/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership) @@ -2137,7 +2137,7 @@ "Pe" = (/obj/machinery/camera/network/thunder{c_tag = "Thunderdome Arena"; invisibility = 101},/turf/simulated/floor/bluegrid,/area/tdome) "Pf" = (/obj/effect/landmark{name = "endgame_exit"},/turf/unsimulated/beach/sand,/area/beach) "Pg" = (/obj/structure/bed/chair,/obj/effect/landmark{name = "endgame_exit"},/turf/unsimulated/beach/sand,/area/beach) - + (1,1,1) = {" aaabacadaeafagahaaaiajakalamanaoagafajacadahakaeamaiaoalahajeEapaqarasatauavawaxayazaAaBaCaDaEaFaGaHaIaJaKawaxayazaAaBaCaDaEaFaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMtwtwtwtwtwtwtwtwtwtwtwtwtwaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaNaOaOaOaOaOaOaOaOaOaOaPaOaOaOaOaOaOaOaOaOaOaPaOaOaOaOaOaOaOaOaOaOaPaOaOaOaOaOaOaOaOaOaOaPaOaOaOaOaOaOaOaOaOaOaPaOaOaOaOaOaOaOaOaOaOaPaOaOaOaOaOaOaOaOaOaOaQ ajaRaSaTaUaVaWaXaYaZbabbbcbdbebfaWaVbaaSaTaXbbaUbdaZbfbcaXbaabatauavbgbhbibjaAbkblbmapaqarasatauavbgbhbibjbnbkblbmapaqarasataJaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMtwtItJtwtItKtwtLtMtwtItJtwaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMbobpbpbpbCbpbpbpbpbpbpbrbsbtbsbtbsbsbtbsbtbsbrbubqbqbqbqbqbqbqbqbqbreVeUeSeSeSeSeSeSeSeSbrbwbwbwbwbwbwbwbwbwbwbrbxbxbxbxbxbxbxbxbxbxbreReQePbybzbzbzbzbzbAbB diff --git a/maps/exodus-3.dmm b/maps/exodus-3.dmm index 53e6a59fe9..dc486ee6d4 100644 --- a/maps/exodus-3.dmm +++ b/maps/exodus-3.dmm @@ -103,7 +103,7 @@ "bY" = (/obj/structure/lattice,/obj/structure/grille,/turf/space,/area/space) "bZ" = (/obj/machinery/power/solar/fake,/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/space) "ca" = (/turf/simulated/floor/plating/airless,/area/space) -"cb" = (/obj/structure/lattice,/obj/structure/grille{density = 0; icon_state = "brokengrille"},/turf/space,/area/space) +"cb" = (/obj/structure/lattice,/obj/structure/grille/broken,/turf/space,/area/space) "cc" = (/obj/structure/table,/obj/item/weapon/folder/yellow,/obj/item/weapon/folder/yellow,/obj/machinery/light{dir = 1},/obj/machinery/camera/network/telecom{c_tag = "Telecoms Main Computer Room"},/turf/simulated/floor,/area/tcommsat/computer) "cd" = (/obj/structure/grille,/turf/simulated/floor/plating/airless,/area/space) "ce" = (/turf/simulated/wall/r_wall,/area/space) @@ -385,13 +385,13 @@ "hu" = (/obj/structure/table/rack,/obj/item/clothing/gloves/yellow,/turf/simulated/floor/plating/airless,/area/AIsattele) "hv" = (/obj/structure/girder,/turf/simulated/floor/plating/airless,/area/AIsattele) "hw" = (/obj/item/weapon/cell,/turf/simulated/floor/plating/airless,/area/AIsattele) -"hx" = (/obj/structure/grille{density = 0; icon_state = "brokengrille"},/turf/simulated/floor/plating/airless,/area/AIsattele) +"hx" = (/obj/structure/grille/broken,/turf/simulated/floor/plating/airless,/area/AIsattele) "hy" = (/turf/space,/area/AIsattele) "hz" = (/obj/item/weapon/table_parts,/turf/simulated/floor/plating/airless,/area/AIsattele) "hA" = (/obj/structure/lattice,/turf/space,/area/AIsattele) "hB" = (/obj/structure/closet,/turf/simulated/floor/plating/airless,/area/AIsattele) "hC" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating/airless,/area/AIsattele) -"hD" = (/obj/structure/grille{density = 0; icon_state = "brokengrille"},/turf/space,/area/AIsattele) +"hD" = (/obj/structure/grille/broken,/turf/space,/area/AIsattele) "hE" = (/obj/item/weapon/storage/toolbox/electrical{pixel_x = 1; pixel_y = -1},/turf/simulated/floor/plating/airless,/area/AIsattele) (1,1,1) = {" diff --git a/maps/exodus-5.dmm b/maps/exodus-5.dmm index b395ac3b75..cf6158a1fc 100644 --- a/maps/exodus-5.dmm +++ b/maps/exodus-5.dmm @@ -763,8 +763,8 @@ "oI" = (/obj/item/weapon/shard{icon_state = "medium"},/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 2},/area/outpost/abandoned) "oJ" = (/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 2},/area/outpost/abandoned) "oK" = (/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/outpost/research/power) -"oL" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille{density = 0; icon_state = "brokengrille"},/obj/item/stack/rods,/obj/item/weapon/shard,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/outpost/abandoned) -"oM" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/grille{density = 0; icon_state = "brokengrille"},/obj/item/weapon/shard{icon_state = "small"},/obj/item/stack/rods,/turf/simulated/floor/plating/airless,/area/outpost/abandoned) +"oL" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille/broken,/obj/item/stack/rods,/obj/item/weapon/shard,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/outpost/abandoned) +"oM" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/grille/broken,/obj/item/weapon/shard{icon_state = "small"},/obj/item/stack/rods,/turf/simulated/floor/plating/airless,/area/outpost/abandoned) "oN" = (/obj/structure/table,/obj/item/device/flashlight/lamp,/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/outpost/research/isolation_b) "oO" = (/obj/machinery/artifact_scanpad,/obj/machinery/light,/turf/simulated/floor/bluegrid,/area/outpost/research/isolation_a) "oP" = (/obj/machinery/artifact_analyser,/turf/simulated/floor/bluegrid,/area/outpost/research/isolation_a) From 632ef4dd86f4814cf9ee27c04a51149f04910d03 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Sat, 2 May 2015 21:38:06 +0200 Subject: [PATCH 037/305] Changelog entry. --- html/changelogs/PsiOmegaDelta-BrokenGrilles.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/PsiOmegaDelta-BrokenGrilles.yml diff --git a/html/changelogs/PsiOmegaDelta-BrokenGrilles.yml b/html/changelogs/PsiOmegaDelta-BrokenGrilles.yml new file mode 100644 index 0000000000..fec228bad6 --- /dev/null +++ b/html/changelogs/PsiOmegaDelta-BrokenGrilles.yml @@ -0,0 +1,4 @@ +author: PsiOmegaDelta +delete-after: True +changes: + - tweak: "Grilles no longer return too many rods when destroyed (using means other than wirecutters)." From 46ad005b50158317ff2249046e0f7701daa913ae Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Sat, 2 May 2015 21:39:24 +0200 Subject: [PATCH 038/305] Adds two missing pooling instances and corrects broken grilles health status. --- code/game/objects/structures/grille.dm | 4 ++-- code/game/objects/structures/lattice.dm | 2 +- code/modules/research/xenoarchaeology/finds/finds.dm | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/code/game/objects/structures/grille.dm b/code/game/objects/structures/grille.dm index 28036840c8..f035069d8a 100644 --- a/code/game/objects/structures/grille.dm +++ b/code/game/objects/structures/grille.dm @@ -228,8 +228,8 @@ density = 0 New() ..() - health -= rand(initial(health)*0.8, initial(health)*0.9) //Largely under broken threshold, this is used to adjust the health, NOT to break it - healthcheck() //Send this to healthcheck just in case we want to do something else with it + health = rand(-5, -1) //In the destroyed but not utterly threshold. + healthcheck() //Send this to healthcheck just in case we want to do something else with it. /obj/structure/grille/cult name = "cult grille" diff --git a/code/game/objects/structures/lattice.dm b/code/game/objects/structures/lattice.dm index 788a6711f0..078f4bc06b 100644 --- a/code/game/objects/structures/lattice.dm +++ b/code/game/objects/structures/lattice.dm @@ -61,7 +61,7 @@ var/obj/item/weapon/weldingtool/WT = C if(WT.remove_fuel(0, user)) user << "\blue Slicing lattice joints ..." - new /obj/item/stack/rods(src.loc) + PoolOrNew(/obj/item/stack/rods, src.loc) qdel(src) return diff --git a/code/modules/research/xenoarchaeology/finds/finds.dm b/code/modules/research/xenoarchaeology/finds/finds.dm index 5855ee7d73..521da5e4aa 100644 --- a/code/modules/research/xenoarchaeology/finds/finds.dm +++ b/code/modules/research/xenoarchaeology/finds/finds.dm @@ -323,7 +323,7 @@ apply_material_decorations = 0 if(23) apply_prefix = 0 - new_item = new /obj/item/stack/rods(src.loc) + new_item = PoolOrNew(/obj/item/stack/rods, src.loc) apply_image_decorations = 0 apply_material_decorations = 0 if(24) From d068b5738823e748c94f69bfc8559748fd7379bd Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Sat, 2 May 2015 21:55:13 +0200 Subject: [PATCH 039/305] Changelog update. --- html/changelog.html | 20 +++++++++++++++++++ html/changelogs/.all_changelog.yml | 20 +++++++++++++++++++ html/changelogs/HarpyEagle-NeckgrabFix.yml | 5 ----- .../PsiOmegaDelta-ChitterChitter.yml | 4 ---- html/changelogs/PsiOmegaDelta-LOOCToggle.yml | 5 ----- .../changelogs/PsiOmegaDelta-OfMiceAndMen.yml | 5 ----- html/changelogs/Yoshax-emergencymessage.YML | 8 -------- 7 files changed, 40 insertions(+), 27 deletions(-) delete mode 100644 html/changelogs/HarpyEagle-NeckgrabFix.yml delete mode 100644 html/changelogs/PsiOmegaDelta-ChitterChitter.yml delete mode 100644 html/changelogs/PsiOmegaDelta-LOOCToggle.yml delete mode 100644 html/changelogs/PsiOmegaDelta-OfMiceAndMen.yml delete mode 100644 html/changelogs/Yoshax-emergencymessage.YML diff --git a/html/changelog.html b/html/changelog.html index 0a5085ca88..134f72f306 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -56,6 +56,26 @@ -->

+

02 May 2015

+

HarpyEagle updated:

+
    +
  • Neck-grabbing someone now stuns them properly.
  • +
+

PsiOmegaDelta updated:

+
    +
  • The spider infestation event now makes an announcement much sooner.
  • +
  • Admins can now toggle OOC/LOOC separately.
  • +
  • Mice are now numbered to aid admins.
  • +
+

Yoshax updated:

+
    +
  • Adds an option and verb to the AI to send emergency messages to Central, functions same as comms console option.
  • +
  • Changes comms console to only have one level of ID require, meaning all heads of staff have what was captain access, allowing them to change alert, send emergency messages and make announcements.
  • +
  • Adds an emergency bluespace relay machine which is mapped into teletcomms, this machine takes emergency messages and sends them to central, if one does not exist on any Z, you cannot send any emergency messages.
  • +
  • Adds an emergency bluespace relay assembly kit orderable from cargo for when the ones on telecomms are destroyed. Assembly is required.
  • +
  • Adds the emergency bluespace relay circuitboard to be researchable and printable in R&D, with sufficient tech levels.
  • +
+

30 April 2015

Yoshax updated:

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 AT>t<8 literal 13043 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 delta 12140 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 XrLTcB$C`%$z<%=5%2E{)Mgji^ir+z6 diff --git a/maps/exodus-1.dmm b/maps/exodus-1.dmm index 5c2853fbab..d500809847 100644 --- a/maps/exodus-1.dmm +++ b/maps/exodus-1.dmm @@ -548,7 +548,7 @@ "akB" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/security/brig) "akC" = (/obj/machinery/light,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/security/brig) "akD" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor,/area/security/brig) -"akE" = (/obj/structure/table,/obj/machinery/recharger/wallcharger{pixel_x = 4; pixel_y = -28},/obj/item/clothing/accessory/holobadge,/obj/item/clothing/accessory/holobadge,/obj/item/clothing/accessory/holobadge/cord,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor{dir = 2; icon_state = "redcorner"},/area/security/main) +"akE" = (/obj/structure/table,/obj/machinery/recharger/wallcharger{pixel_x = 4; pixel_y = -28},/obj/item/clothing/accessory/badge/holo,/obj/item/clothing/accessory/badge/holo,/obj/item/clothing/accessory/badge/holo/cord,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor{dir = 2; icon_state = "redcorner"},/area/security/main) "akF" = (/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/door/airlock/glass_security{name = "Security Processing"; req_access = list(1)},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/security/brig) "akG" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/security/brig) "akH" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor,/area/security/brig) diff --git a/maps/exodus-4.dmm b/maps/exodus-4.dmm index 30e1b823d6..3819e505cb 100644 --- a/maps/exodus-4.dmm +++ b/maps/exodus-4.dmm @@ -172,7 +172,7 @@ "dp" = (/obj/machinery/power/emitter{anchored = 1; dir = 4; state = 2},/turf/simulated/floor/plating/airless,/area/space) "dq" = (/obj/machinery/field_generator,/turf/simulated/floor/plating/airless,/area/space) "dr" = (/obj/machinery/power/emitter{anchored = 1; dir = 8; id = "EngineEmitter"; state = 2},/turf/simulated/floor/plating/airless,/area/space) - + (1,1,1) = {" aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -430,3 +430,4 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa "} + From ed60b17f8d35bdcebdd1491662235b091db720c7 Mon Sep 17 00:00:00 2001 From: Miniature Date: Thu, 16 Oct 2014 05:41:44 +1030 Subject: [PATCH 153/305] Cherrypicking Mini's custom item code. --- code/modules/customitems/item_spawning.dm | 158 ++++++++++++---------- config/example/custom_items.txt | 15 +- 2 files changed, 99 insertions(+), 74 deletions(-) diff --git a/code/modules/customitems/item_spawning.dm b/code/modules/customitems/item_spawning.dm index beb8e6b2a7..966e789c5d 100644 --- a/code/modules/customitems/item_spawning.dm +++ b/code/modules/customitems/item_spawning.dm @@ -1,19 +1,19 @@ //switch this out to use a database at some point //list of ckey/ real_name and item paths //gives item to specific people when they join if it can -//for multiple items just add mutliple entries, unless i change it to be a listlistlist +//see config/custom_items.txt how to to add things to it (yes crazy idea i know) //yes, it has to be an item, you can't pick up nonitems /var/list/custom_items = list() +//parses the config file into the above listlist /hook/startup/proc/loadCustomItems() var/custom_items_file = file2text("config/custom_items.txt") - custom_items = text2list(custom_items_file, "\n") - return 1 + var/list/file_list = text2list(custom_items_file, "\n") + for(var/line in file_list) + if(findtext(line, "#", 1, 2)) + continue -/proc/EquipCustomItems(mob/living/carbon/human/M) - for(var/line in custom_items) - // split & clean up var/list/Entry = text2list(line, ":") for(var/i = 1 to Entry.len) Entry[i] = trim(Entry[i]) @@ -21,75 +21,87 @@ if(Entry.len < 3) continue; - if(Entry[1] == M.ckey && Entry[2] == M.real_name) + if(!custom_items[Entry[1]]) + custom_items[Entry[1]] = list() + custom_items[Entry[1]] += Entry + + return 1 + +//gets the relevant list for the key from the listlist if it exists, check to make sure they are meant to have it and then calls the giving function +/proc/EquipCustomItems(mob/living/carbon/human/M) + var/list/key_list = custom_items[M.ckey] + if(!key_list || key_list.len < 1) + return + + for(var/list/Entry in key_list) + if(Entry.len < 3) + continue; + + if(Entry[1] != M.ckey || Entry[2] != "" || Entry[2] != M.real_name) + continue + + //required access/job + var/obj/item/weapon/card/id/ID = M.wear_id //should be an id even though pdas can also be there, due to this being run at spawn, before there is a chance to change it + if(Entry.len>=4 && length(Entry[4]) > 0) + var/required_access = 0; + required_access = text2num(Entry[4]) + + if(!required_access) + var/list/JobTitles = text2list(Entry[4]) + var/ok = 0 + var/CurrentTitle = M.mind.role_alt_title ? M.mind.role_alt_title : M.mind.assigned_role + for(var/title in JobTitles) + if(title == CurrentTitle) + ok = 1 + if(ok == 0) + continue + + else if(required_access != 0) + if(!(required_access in ID.access)) + continue + + //the else looks redundant and that it should probably be not an else and just not have the if, but then if there was a name/desc/icon_state set then all the items would get the same one, and i dont want the config file to be wider than it already has to be + if(findtext(Entry[3], ",")) var/list/Paths = text2list(Entry[3], ",") for(var/P in Paths) - var/ok = 0 // 1 if the item was placed successfully - P = trim(P) - var/path = text2path(P) - if(!path) continue + //ids make the standard id be different, instead of spawning a new one (because clunky as fuck) + if(P == "/obj/item/weapon/card/id") + continue + PlaceCustomItem(M, P) + else + var/obj/item/Item + if(Entry[3] == "/obj/item/weapon/card/id") + Item = ID + else + Item = PlaceCustomItem(M,Entry[3]) + if(!istype(Item)) + continue + if(Entry.len < 5) + continue + if(Entry[5] != "") + Item.name = Entry[5] + if(istype(Item, /obj/item/weapon/card/id)) + Item.name += "[M.mind.role_alt_title ? M.mind.role_alt_title : M.mind.assigned_role]" + if(Entry.len < 6) + continue + if(Entry[6] != "") + Item.desc = Entry[6] - var/obj/item/Item = new path() - if(istype(Item,/obj/item/weapon/card/id)) - //id card needs to replace the original ID - if(M.ckey == "nerezza" && M.real_name == "Asher Spock" && M.mind.role_alt_title && M.mind.role_alt_title != "Emergency Physician") - //only spawn ID if asher is joining as an emergency physician - ok = 1 - qdel(Item) - goto skip - var/obj/item/weapon/card/id/I = Item - for(var/obj/item/weapon/card/id/C in M) - //default settings - I.name = "[M.real_name]'s ID Card ([M.mind.role_alt_title ? M.mind.role_alt_title : M.mind.assigned_role])" - I.registered_name = M.real_name - I.access = C.access - I.assignment = C.assignment - I.blood_type = C.blood_type - I.dna_hash = C.dna_hash - I.fingerprint_hash = C.fingerprint_hash - //I.pin = C.pin +//actually sticks the item on the person +/proc/PlaceCustomItem(mob/living/carbon/human/M, var/path) + if(!path) return - //custom stuff - if(M.ckey == "fastler" && M.real_name == "Fastler Greay") //This is a Lifetime ID - I.name = "[M.real_name]'s Lifetime ID Card ([M.mind.role_alt_title ? M.mind.role_alt_title : M.mind.assigned_role])" - else if(M.ckey == "nerezza" && M.real_name == "Asher Spock") //This is an Odysseus Specialist ID - I.name = "[M.real_name]'s Odysseus Specialist ID Card ([M.mind.role_alt_title ? M.mind.role_alt_title : M.mind.assigned_role])" - I.access += list(access_robotics) //Station-based mecha pilots need this to access the recharge bay. - else if(M.ckey == "roaper" && M.real_name == "Ian Colm") //This is a Technician ID - I.name = "[M.real_name]'s Technician ID ([M.mind.role_alt_title ? M.mind.role_alt_title : M.mind.assigned_role])" + var/obj/item/Item = new path() - //replace old ID - qdel(C) - ok = M.equip_to_slot_if_possible(I, slot_wear_id, 0) //if 1, last argument deletes on fail - break - else if(istype(Item,/obj/item/weapon/storage/belt)) - if(M.ckey == "jakksergal" && M.real_name == "Nashi Ra'hal" && M.mind.role_alt_title && M.mind.role_alt_title != "Nurse" && M.mind.role_alt_title != "Chemist") - ok = 1 - qdel(Item) - goto skip - var/obj/item/weapon/storage/belt/medical/fluff/nashi_belt/I = Item - if(istype(M.belt,/obj/item/weapon/storage/belt)) - for(var/obj/item/weapon/storage/belt/B in M) - qdel(B) - M.belt=null - ok = M.equip_to_slot_if_possible(I, slot_belt, 0) - break - if(istype(M.belt,/obj/item/device/pda)) - for(var/obj/item/device/pda/Pda in M) - M.belt=null - M.equip_to_slot_if_possible(Pda, slot_l_store, 0) - ok = M.equip_to_slot_if_possible(I, slot_belt, 0) - else if(istype(M.back,/obj/item/weapon/storage) && M.back:contents.len < M.back:storage_slots) // Try to place it in something on the mob's back - Item.loc = M.back - ok = 1 - - else - for(var/obj/item/weapon/storage/S in M.contents) // Try to place it in any item that can store stuff, on the mob. - if (S.contents.len < S.storage_slots) - Item.loc = S - ok = 1 - break - - skip: - if (ok == 0) // Finally, since everything else failed, place it on the ground - Item.loc = get_turf(M.loc) + if(M.equip_to_appropriate_slot(Item)) + return Item + if(istype(M.back,/obj/item/weapon/storage) && M.back:contents.len < M.back:storage_slots) // Try to place it in something on the mob's back + Item.loc = M.back + return Item + else + for(var/obj/item/weapon/storage/S in M.contents) // Try to place it in any item that can store stuff, on the mob. + if (S.contents.len < S.storage_slots) + Item.loc = S + return Item + Item.loc = get_turf(M.loc) + return Item \ No newline at end of file diff --git a/config/example/custom_items.txt b/config/example/custom_items.txt index f4bb1a7028..86c6bd31c0 100644 --- a/config/example/custom_items.txt +++ b/config/example/custom_items.txt @@ -1 +1,14 @@ -ckey: name: /path/to/obj +# custom items for people and shit in here +# basic: +# ckey: name: /path/to/obj +# additional options +# ckey: name: /path/to/obj: required access OR job title: item name: description: icon state +# required access is one of the numbers from +# if required access is 0 or blank then always gets it +# job title means if the item wants chemist but they are pharmacist then it wont do it (can be comma separated to have multiple, eg Chemist, Pharmacist if it's for both jobs +# yes they have to be in that order, and if you want a custom description you need to have a custom name too +# you can leave any othe than the ckey and path blank if you want and it will use the default for whatever the item is +# paths can be comma separated, but you wont be able to set custom name/desc/icon in this file, it will have to be done via an item definition (in code/modules/customitems/item_defines.dm) or by having multiple entries in this config +# unless its an id, because fuck code duplication +# if icon state is set then the icon had better be in icons/obj/custom_items.dmi otherwise it'll be invisible +# also # at the start means the line is a comment \ No newline at end of file From 569e785014200518354b51552383bfa8faab2a6e Mon Sep 17 00:00:00 2001 From: ccomp5950 Date: Mon, 11 May 2015 22:11:46 -0400 Subject: [PATCH 154/305] Holodeck items no longer spam admin attack logs. /obj/items now has no_attack_log variable if set to 1, it won't log. All holodeck items and lasertag weapons have no_attack_log set. <3 Mangled --- code/_onclick/item_attack.dm | 7 +++--- code/game/objects/items.dm | 3 ++- code/modules/holodeck/HolodeckObjects.dm | 1 + code/modules/projectiles/projectile.dm | 23 ++++++++++---------- code/modules/projectiles/projectile/beams.dm | 2 ++ 5 files changed, 21 insertions(+), 15 deletions(-) diff --git a/code/_onclick/item_attack.dm b/code/_onclick/item_attack.dm index a81c6f30fa..2f9b786283 100644 --- a/code/_onclick/item_attack.dm +++ b/code/_onclick/item_attack.dm @@ -29,9 +29,10 @@ user.lastattacked = M M.lastattacker = user - user.attack_log += "\[[time_stamp()]\] Attacked [M.name] ([M.ckey]) with [name] (INTENT: [uppertext(user.a_intent)]) (DAMTYE: [uppertext(damtype)])" - M.attack_log += "\[[time_stamp()]\] Attacked by [user.name] ([user.ckey]) with [name] (INTENT: [uppertext(user.a_intent)]) (DAMTYE: [uppertext(damtype)])" - msg_admin_attack("[key_name(user)] attacked [key_name(M)] with [name] (INTENT: [uppertext(user.a_intent)]) (DAMTYE: [uppertext(damtype)])" ) + if(!no_attack_log) + user.attack_log += "\[[time_stamp()]\] Attacked [M.name] ([M.ckey]) with [name] (INTENT: [uppertext(user.a_intent)]) (DAMTYE: [uppertext(damtype)])" + M.attack_log += "\[[time_stamp()]\] Attacked by [user.name] ([user.ckey]) with [name] (INTENT: [uppertext(user.a_intent)]) (DAMTYE: [uppertext(damtype)])" + msg_admin_attack("[key_name(user)] attacked [key_name(M)] with [name] (INTENT: [uppertext(user.a_intent)]) (DAMTYE: [uppertext(damtype)])" ) ///////////////////////// var/power = force diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index ccef76c0f1..00693ec0a9 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -11,6 +11,7 @@ var/hitsound = null var/w_class = 3.0 var/slot_flags = 0 //This is used to determine on which slots an item can fit. + var/no_attack_log = 0 //If it's an item we don't want to log attack_logs with, set this to 1 pass_flags = PASSTABLE pressure_resistance = 5 // causeerrorheresoifixthis @@ -706,4 +707,4 @@ modules/mob/living/carbon/human/life.dm if you die, you will be zoomed out. if(!cannotzoom) usr.visible_message("[zoomdevicename ? "[usr] looks up from the [src.name]" : "[usr] lowers the [src.name]"].") - return \ No newline at end of file + return diff --git a/code/modules/holodeck/HolodeckObjects.dm b/code/modules/holodeck/HolodeckObjects.dm index 7a7526b150..39680d70bf 100644 --- a/code/modules/holodeck/HolodeckObjects.dm +++ b/code/modules/holodeck/HolodeckObjects.dm @@ -192,6 +192,7 @@ /obj/item/weapon/holo damtype = HALLOSS + no_attack_log = 1 /obj/item/weapon/holo/esword desc = "May the force be within you. Sorta." diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index 0ec99be4e9..f477deb25a 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -166,16 +166,17 @@ visible_message("\The [target_mob] is hit by \the [src] in the [parse_zone(def_zone)]!")//X has fired Y is now given by the guns so you cant tell who shot you if you could not see the shooter //admin logs - if(istype(firer, /mob)) - target_mob.attack_log += "\[[time_stamp()]\] [firer]/[firer.ckey] shot [target_mob]/[target_mob.ckey] with a [src.type]" - firer.attack_log += "\[[time_stamp()]\] [firer]/[firer.ckey] shot [target_mob]/[target_mob.ckey] with a [src.type]" - msg_admin_attack("[firer] ([firer.ckey]) shot [target_mob] ([target_mob.ckey]) with a [src] (JMP)") //BS12 EDIT ALG - else if(firer) - target_mob.attack_log += "\[[time_stamp()]\] UNKNOWN SUBJECT (No longer exists) shot [target_mob]/[target_mob.ckey] with a [src]" - msg_admin_attack("UNKNOWN shot [target_mob] ([target_mob.ckey]) with a [src] (JMP)") //BS12 EDIT ALG - else - target_mob.attack_log += "\[[time_stamp()]\] UNKNOWN SUBJECT (No longer exists) shot [target_mob]/[target_mob.ckey] with a [src]" - msg_admin_attack("UNKNOWN shot [target_mob] ([target_mob.ckey]) with a [src] (JMP)") //BS12 EDIT ALG + if(!no_attack_log) + if(istype(firer, /mob)) + target_mob.attack_log += "\[[time_stamp()]\] [firer]/[firer.ckey] shot [target_mob]/[target_mob.ckey] with a [src.type]" + firer.attack_log += "\[[time_stamp()]\] [firer]/[firer.ckey] shot [target_mob]/[target_mob.ckey] with a [src.type]" + msg_admin_attack("[firer] ([firer.ckey]) shot [target_mob] ([target_mob.ckey]) with a [src] (JMP)") //BS12 EDIT ALG + else if(firer) + target_mob.attack_log += "\[[time_stamp()]\] UNKNOWN SUBJECT (No longer exists) shot [target_mob]/[target_mob.ckey] with a [src]" + msg_admin_attack("UNKNOWN shot [target_mob] ([target_mob.ckey]) with a [src] (JMP)") //BS12 EDIT ALG + else + target_mob.attack_log += "\[[time_stamp()]\] UNKNOWN SUBJECT (No longer exists) shot [target_mob]/[target_mob.ckey] with a [src]" + msg_admin_attack("UNKNOWN shot [target_mob] ([target_mob.ckey]) with a [src] (JMP)") //BS12 EDIT ALG //sometimes bullet_act() will want the projectile to continue flying if (target_mob.bullet_act(src, def_zone) == -1) @@ -324,4 +325,4 @@ trace.firer = user var/output = trace.process() //Test it! del(trace) //No need for it anymore - return output //Send it back to the gun! \ No newline at end of file + return output //Send it back to the gun! diff --git a/code/modules/projectiles/projectile/beams.dm b/code/modules/projectiles/projectile/beams.dm index b5ce31b168..9dbfce92f1 100644 --- a/code/modules/projectiles/projectile/beams.dm +++ b/code/modules/projectiles/projectile/beams.dm @@ -120,6 +120,7 @@ var/list/beam_master = list() icon_state = "bluelaser" pass_flags = PASSTABLE | PASSGLASS | PASSGRILLE damage = 0 + no_attack_log = 1 damage_type = BURN check_armour = "laser" @@ -135,6 +136,7 @@ var/list/beam_master = list() icon_state = "laser" pass_flags = PASSTABLE | PASSGLASS | PASSGRILLE damage = 0 + no_attack_log = 1 damage_type = BURN check_armour = "laser" From b1bfbf346d8a0abd3d151f69eb6590104407c902 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Mon, 11 May 2015 22:17:24 -0400 Subject: [PATCH 155/305] Snacks, drinks, and pills now check mouth coverage Mouth coverage is defined somewhat conservatively so that breath masks and the like do not prevent eating. In general only things that completely cover your face or head like gasmasks and space suit helmets block eating and drinking, or forcing the same on someone. --- .../mob/living/carbon/human/human_defense.dm | 8 ++++++++ .../reagents/reagent_containers/food/drinks.dm | 12 +++++++++++- .../reagents/reagent_containers/food/snacks.dm | 13 ++++++++++++- code/modules/reagents/reagent_containers/pill.dm | 12 +++++++++++- 4 files changed, 42 insertions(+), 3 deletions(-) diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index a0c78d7572..1f50fb83f5 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -138,6 +138,14 @@ emp_act return 1 return 0 +//Used to check if they can be fed food/drinks/pills +/mob/living/carbon/human/proc/check_mouth_coverage() + var/list/protective_gear = list(head, wear_mask, wear_suit, w_uniform) + for(var/obj/item/gear in protective_gear) + if(istype(gear) && (gear.body_parts_covered & FACE) && (gear.flags & (MASKCOVERSMOUTH|HEADCOVERSMOUTH))) + return gear + return null + /mob/living/carbon/human/proc/check_shields(var/damage = 0, var/attack_text = "the attack") if(l_hand && istype(l_hand, /obj/item/weapon))//Current base is the prob(50-d/3) var/obj/item/weapon/I = l_hand diff --git a/code/modules/reagents/reagent_containers/food/drinks.dm b/code/modules/reagents/reagent_containers/food/drinks.dm index 58b11a61ac..161dbee93c 100644 --- a/code/modules/reagents/reagent_containers/food/drinks.dm +++ b/code/modules/reagents/reagent_containers/food/drinks.dm @@ -33,6 +33,11 @@ if(H.species.flags & IS_SYNTHETIC) H << "\red You have a monitor for a head, where do you think you're going to put that?" return + + var/obj/item/blocked = H.check_mouth_coverage() + if(blocked) + user << "\The [blocked] is in the way!" + return M << "\blue You swallow a gulp from \the [src]." if(reagents.total_volume) @@ -44,7 +49,12 @@ var/mob/living/carbon/human/H = M if(H.species.flags & IS_SYNTHETIC) - H << "\red They have a monitor for a head, where do you think you're going to put that?" + user << "\red They have a monitor for a head, where do you think you're going to put that?" + return + + var/obj/item/blocked = H.check_mouth_coverage() + if(blocked) + user << "\The [blocked] is in the way!" return for(var/mob/O in viewers(world.view, user)) diff --git a/code/modules/reagents/reagent_containers/food/snacks.dm b/code/modules/reagents/reagent_containers/food/snacks.dm index 3af092f0cc..8a8213576b 100644 --- a/code/modules/reagents/reagent_containers/food/snacks.dm +++ b/code/modules/reagents/reagent_containers/food/snacks.dm @@ -49,6 +49,12 @@ if(H.species.flags & IS_SYNTHETIC) H << "\red You have a monitor for a head, where do you think you're going to put that?" return + + var/obj/item/blocked = H.check_mouth_coverage() + if(blocked) + user << "\The [blocked] is in the way!" + return + if (fullness <= 50) M << "\red You hungrily chew out a piece of [src] and gobble it!" if (fullness > 50 && fullness <= 150) @@ -64,7 +70,12 @@ if(istype(M,/mob/living/carbon/human)) var/mob/living/carbon/human/H = M if(H.species.flags & IS_SYNTHETIC) - H << "\red They have a monitor for a head, where do you think you're going to put that?" + user << "\red They have a monitor for a head, where do you think you're going to put that?" + return + + var/obj/item/blocked = H.check_mouth_coverage() + if(blocked) + user << "\The [blocked] is in the way!" return if(!istype(M, /mob/living/carbon/slime)) //If you're feeding it to someone else. diff --git a/code/modules/reagents/reagent_containers/pill.dm b/code/modules/reagents/reagent_containers/pill.dm index d0f678ddd9..c5bb2a0795 100644 --- a/code/modules/reagents/reagent_containers/pill.dm +++ b/code/modules/reagents/reagent_containers/pill.dm @@ -26,6 +26,11 @@ if(H.species.flags & IS_SYNTHETIC) H << "\red You have a monitor for a head, where do you think you're going to put that?" return + + var/obj/item/blocked = H.check_mouth_coverage() + if(blocked) + user << "\The [blocked] is in the way!" + return M << "\blue You swallow [src]." M.drop_from_inventory(src) //icon update @@ -40,7 +45,12 @@ var/mob/living/carbon/human/H = M if(H.species.flags & IS_SYNTHETIC) - H << "\red They have a monitor for a head, where do you think you're going to put that?" + user << "\red They have a monitor for a head, where do you think you're going to put that?" + return + + var/obj/item/blocked = H.check_mouth_coverage() + if(blocked) + user << "\The [blocked] is in the way!" return for(var/mob/O in viewers(world.view, user)) From 29823e35521b54fa22565eca56222cc5355042cd Mon Sep 17 00:00:00 2001 From: Chinsky Date: Tue, 12 May 2015 05:55:49 +0300 Subject: [PATCH 156/305] Changed update_preview_icon to use a human dolly to get all those icons instead of... old way. I guess it's more hacky, but fairly shorter and means you don't need to touch that... thing when you add a new job/change existing loadout. Also changed preference transfer to use appearance procs to properly sync with organ colors. --- code/modules/client/preferences.dm | 28 +- .../mob/new_player/preferences_setup.dm | 543 ++---------------- 2 files changed, 40 insertions(+), 531 deletions(-) diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 5a5e09a5ac..7a2262b9e0 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -1642,30 +1642,18 @@ datum/preferences character.gen_record = gen_record character.exploit_record = exploit_record - character.gender = gender + character.change_gender(gender) character.age = age character.b_type = b_type - character.r_eyes = r_eyes - character.g_eyes = g_eyes - character.b_eyes = b_eyes + character.change_eye_color(r_eyes,g_eyes,b_eyes) + character.change_hair_color(r_hair,g_hair,b_hair) + character.change_facial_hair_color(r_facial,g_facial,b_facial) + character.change_skin_color(r_skin,g_skin,b_skin) + character.change_skin_tone(s_tone) - character.r_hair = r_hair - character.g_hair = g_hair - character.b_hair = b_hair - - character.r_facial = r_facial - character.g_facial = g_facial - character.b_facial = b_facial - - character.r_skin = r_skin - character.g_skin = g_skin - character.b_skin = b_skin - - character.s_tone = s_tone - - character.h_style = h_style - character.f_style = f_style + character.change_hair(h_style) + character.change_facial_hair(f_style) character.home_system = home_system character.citizenship = citizenship diff --git a/code/modules/mob/new_player/preferences_setup.dm b/code/modules/mob/new_player/preferences_setup.dm index 6330504e3c..c8bbe97368 100644 --- a/code/modules/mob/new_player/preferences_setup.dm +++ b/code/modules/mob/new_player/preferences_setup.dm @@ -179,518 +179,39 @@ datum/preferences proc/update_preview_icon() //seriously. This is horrendous. - del(preview_icon_front) - del(preview_icon_side) - del(preview_icon) + var/mob/living/carbon/human/H = new + H.set_species(species) + H.flags |= GODMODE + copy_to(H) - var/g = "m" - if(gender == FEMALE) g = "f" + var/jobflag + var/dept + if(job_civilian_high) + jobflag = job_civilian_high + dept = CIVILIAN + else if (job_medsci_high) + jobflag = job_medsci_high + dept = MEDSCI + else if (job_engsec_high) + jobflag = job_engsec_high + dept = ENGSEC - var/icon/icobase - var/datum/species/current_species = all_species[species] - - if(current_species) - icobase = current_species.icobase - else - icobase = 'icons/mob/human_races/r_human.dmi' - - preview_icon = new /icon(icobase, "torso_[g]") - preview_icon.Blend(new /icon(icobase, "groin_[g]"), ICON_OVERLAY) - preview_icon.Blend(new /icon(icobase, "head_[g]"), ICON_OVERLAY) - - for(var/name in list("r_arm","r_hand","r_leg","r_foot","l_leg","l_foot","l_arm","l_hand")) - if(organ_data[name] == "amputated") continue - if(organ_data[name] == "cyborg") - var/datum/robolimb/R - if(rlimb_data[name]) R = all_robolimbs[rlimb_data[name]] - if(!R) R = basic_robolimb - preview_icon.Blend(icon(R.icon, "[name]"), ICON_OVERLAY) // This doesn't check gendered_icon. Not an issue while only limbs can be robotic. - continue - preview_icon.Blend(new /icon(icobase, "[name]"), ICON_OVERLAY) - - //Tail - if(current_species && (current_species.tail)) - var/icon/temp = new/icon("icon" = 'icons/effects/species.dmi', "icon_state" = "[current_species.tail]_s") - preview_icon.Blend(temp, ICON_OVERLAY) - - // Skin color - if(current_species && (current_species.flags & HAS_SKIN_COLOR)) - preview_icon.Blend(rgb(r_skin, g_skin, b_skin), ICON_ADD) - - // Skin tone - if(current_species && (current_species.flags & HAS_SKIN_TONE)) - if (s_tone >= 0) - preview_icon.Blend(rgb(s_tone, s_tone, s_tone), ICON_ADD) - else - preview_icon.Blend(rgb(-s_tone, -s_tone, -s_tone), ICON_SUBTRACT) - - var/icon/eyes_s = new/icon("icon" = 'icons/mob/human_face.dmi', "icon_state" = current_species ? current_species.eyes : "eyes_s") - if ((current_species && (current_species.flags & HAS_EYE_COLOR))) - eyes_s.Blend(rgb(r_eyes, g_eyes, b_eyes), ICON_ADD) - - var/datum/sprite_accessory/hair_style = hair_styles_list[h_style] - if(hair_style) - var/icon/hair_s = new/icon("icon" = hair_style.icon, "icon_state" = "[hair_style.icon_state]_s") - hair_s.Blend(rgb(r_hair, g_hair, b_hair), ICON_ADD) - eyes_s.Blend(hair_s, ICON_OVERLAY) - - var/datum/sprite_accessory/facial_hair_style = facial_hair_styles_list[f_style] - if(facial_hair_style) - var/icon/facial_s = new/icon("icon" = facial_hair_style.icon, "icon_state" = "[facial_hair_style.icon_state]_s") - facial_s.Blend(rgb(r_facial, g_facial, b_facial), ICON_ADD) - eyes_s.Blend(facial_s, ICON_OVERLAY) - - var/icon/underwear_s = null - if(underwear && current_species.flags & HAS_UNDERWEAR) - underwear_s = new/icon("icon" = 'icons/mob/human.dmi', "icon_state" = underwear) - - var/icon/undershirt_s = null - if(undershirt && current_species.flags & HAS_UNDERWEAR) - undershirt_s = new/icon("icon" = 'icons/mob/human.dmi', "icon_state" = undershirt) - - var/icon/clothes_s = null - if(job_civilian_low & ASSISTANT)//This gives the preview icon clothes depending on which job(if any) is set to 'high' - clothes_s = new /icon('icons/mob/uniform.dmi', "grey_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY) - if(backbag == 2) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "backpack"), ICON_OVERLAY) - else if(backbag == 3 || backbag == 4) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel"), ICON_OVERLAY) - - else if(job_civilian_high)//I hate how this looks, but there's no reason to go through this switch if it's empty - switch(job_civilian_high) - if(HOP) - clothes_s = new /icon('icons/mob/uniform.dmi', "hop_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "brown"), ICON_UNDERLAY) - if(prob(1)) - clothes_s.Blend(new /icon('icons/mob/suit.dmi', "ianshirt"), ICON_OVERLAY) - switch(backbag) - if(2) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "backpack"), ICON_OVERLAY) - if(3) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel-norm"), ICON_OVERLAY) - if(4) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel"), ICON_OVERLAY) - if(BARTENDER) - clothes_s = new /icon('icons/mob/uniform.dmi', "ba_suit_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY) - if(prob(1)) - clothes_s.Blend(new /icon('icons/mob/head.dmi', "tophat"), ICON_OVERLAY) - switch(backbag) - if(2) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "backpack"), ICON_OVERLAY) - if(3) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel-norm"), ICON_OVERLAY) - if(4) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel"), ICON_OVERLAY) - if(BOTANIST) - clothes_s = new /icon('icons/mob/uniform.dmi', "hydroponics_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY) - clothes_s.Blend(new /icon('icons/mob/hands.dmi', "ggloves"), ICON_UNDERLAY) - clothes_s.Blend(new /icon('icons/mob/suit.dmi', "apron"), ICON_OVERLAY) - if(prob(1)) - clothes_s.Blend(new /icon('icons/mob/head.dmi', "nymph"), ICON_OVERLAY) - switch(backbag) - if(2) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "backpack"), ICON_OVERLAY) - if(3) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel-hyd"), ICON_OVERLAY) - if(4) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel"), ICON_OVERLAY) - if(CHEF) - clothes_s = new /icon('icons/mob/uniform.dmi', "chef_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY) - clothes_s.Blend(new /icon('icons/mob/head.dmi', "chefhat"), ICON_OVERLAY) - if(prob(1)) - clothes_s.Blend(new /icon('icons/mob/suit.dmi', "apronchef"), ICON_OVERLAY) - switch(backbag) - if(2) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "backpack"), ICON_OVERLAY) - if(3) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel-norm"), ICON_OVERLAY) - if(4) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel"), ICON_OVERLAY) - if(JANITOR) - clothes_s = new /icon('icons/mob/uniform.dmi', "janitor_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY) - if(prob(1)) - clothes_s.Blend(new /icon('icons/mob/suit.dmi', "bio_janitor"), ICON_OVERLAY) - switch(backbag) - if(2) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "backpack"), ICON_OVERLAY) - if(3) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel-norm"), ICON_OVERLAY) - if(4) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel"), ICON_OVERLAY) - if(LIBRARIAN) - clothes_s = new /icon('icons/mob/uniform.dmi', "red_suit_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY) - if(prob(1)) - clothes_s.Blend(new /icon('icons/mob/head.dmi', "hairflower"), ICON_OVERLAY) - switch(backbag) - if(2) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "backpack"), ICON_OVERLAY) - if(3) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel-norm"), ICON_OVERLAY) - if(4) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel"), ICON_OVERLAY) - if(QUARTERMASTER) - clothes_s = new /icon('icons/mob/uniform.dmi', "qm_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "brown"), ICON_UNDERLAY) - clothes_s.Blend(new /icon('icons/mob/hands.dmi', "bgloves"), ICON_UNDERLAY) - if(prob(1)) - clothes_s.Blend(new /icon('icons/mob/suit.dmi', "poncho"), ICON_OVERLAY) - switch(backbag) - if(2) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "backpack"), ICON_OVERLAY) - if(3) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel-norm"), ICON_OVERLAY) - if(4) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel"), ICON_OVERLAY) - if(CARGOTECH) - clothes_s = new /icon('icons/mob/uniform.dmi', "cargotech_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY) - clothes_s.Blend(new /icon('icons/mob/hands.dmi', "bgloves"), ICON_UNDERLAY) - if(prob(1)) - clothes_s.Blend(new /icon('icons/mob/head.dmi', "flat_cap"), ICON_OVERLAY) - switch(backbag) - if(2) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "backpack"), ICON_OVERLAY) - if(3) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel-norm"), ICON_OVERLAY) - if(4) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel"), ICON_OVERLAY) - if(MINER) - clothes_s = new /icon('icons/mob/uniform.dmi', "miner_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY) - clothes_s.Blend(new /icon('icons/mob/hands.dmi', "bgloves"), ICON_UNDERLAY) - if(prob(1)) - clothes_s.Blend(new /icon('icons/mob/head.dmi', "bearpelt"), ICON_OVERLAY) - switch(backbag) - if(2) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "backpack"), ICON_OVERLAY) - if(3) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel-eng"), ICON_OVERLAY) - if(4) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel"), ICON_OVERLAY) - if(LAWYER) - clothes_s = new /icon('icons/mob/uniform.dmi', "internalaffairs_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "brown"), ICON_UNDERLAY) - clothes_s.Blend(new /icon(INV_R_HAND_DEF_ICON, "briefcase"), ICON_UNDERLAY) - if(prob(1)) - clothes_s.Blend(new /icon('icons/mob/suit.dmi', "suitjacket_blue"), ICON_OVERLAY) - switch(backbag) - if(2) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "backpack"), ICON_OVERLAY) - if(3) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel-norm"), ICON_OVERLAY) - if(4) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel"), ICON_OVERLAY) - if(CHAPLAIN) - clothes_s = new /icon('icons/mob/uniform.dmi', "chapblack_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY) - if(prob(1)) - clothes_s.Blend(new /icon('icons/mob/suit.dmi', "imperium_monk"), ICON_OVERLAY) - switch(backbag) - if(2) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "backpack"), ICON_OVERLAY) - if(3) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel-norm"), ICON_OVERLAY) - if(4) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel"), ICON_OVERLAY) - if(CLOWN) - clothes_s = new /icon('icons/mob/uniform.dmi', "clown_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "clown"), ICON_UNDERLAY) - clothes_s.Blend(new /icon('icons/mob/mask.dmi', "clown"), ICON_OVERLAY) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "clownpack"), ICON_OVERLAY) - if(MIME) - clothes_s = new /icon('icons/mob/uniform.dmi', "mime_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY) - clothes_s.Blend(new /icon('icons/mob/hands.dmi', "lgloves"), ICON_UNDERLAY) - clothes_s.Blend(new /icon('icons/mob/mask.dmi', "mime"), ICON_OVERLAY) - clothes_s.Blend(new /icon('icons/mob/head.dmi', "beret"), ICON_OVERLAY) - clothes_s.Blend(new /icon('icons/mob/suit.dmi', "suspenders"), ICON_OVERLAY) - switch(backbag) - if(2) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "backpack"), ICON_OVERLAY) - if(3) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel-norm"), ICON_OVERLAY) - if(4) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel"), ICON_OVERLAY) - - else if(job_medsci_high) - switch(job_medsci_high) - if(RD) - clothes_s = new /icon('icons/mob/uniform.dmi', "director_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "brown"), ICON_UNDERLAY) - clothes_s.Blend(new /icon('icons/mob/suit.dmi', "labcoat_open"), ICON_OVERLAY) - if(prob(1)) - clothes_s.Blend(new /icon('icons/mob/head.dmi', "petehat"), ICON_OVERLAY) - switch(backbag) - if(2) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "backpack"), ICON_OVERLAY) - if(3) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel-tox"), ICON_OVERLAY) - if(4) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel"), ICON_OVERLAY) - if(SCIENTIST) - clothes_s = new /icon('icons/mob/uniform.dmi', "sciencewhite_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "white"), ICON_UNDERLAY) - clothes_s.Blend(new /icon('icons/mob/suit.dmi', "labcoat_tox_open"), ICON_OVERLAY) - if(prob(1)) - clothes_s.Blend(new /icon('icons/mob/head.dmi', "metroid"), ICON_OVERLAY) - switch(backbag) - if(2) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "backpack"), ICON_OVERLAY) - if(3) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel-tox"), ICON_OVERLAY) - if(4) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel"), ICON_OVERLAY) - if(XENOBIOLOGIST) - clothes_s = new /icon('icons/mob/uniform.dmi', "sciencewhite_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "white"), ICON_UNDERLAY) - clothes_s.Blend(new /icon('icons/mob/suit.dmi', "labcoat_tox_open"), ICON_OVERLAY) - if(prob(1)) - clothes_s.Blend(new /icon('icons/mob/head.dmi', "metroid"), ICON_OVERLAY) - switch(backbag) - if(2) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "backpack"), ICON_OVERLAY) - if(3) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel-tox"), ICON_OVERLAY) - if(4) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel"), ICON_OVERLAY) - if(CHEMIST) - clothes_s = new /icon('icons/mob/uniform.dmi', "chemistrywhite_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "white"), ICON_UNDERLAY) - if(prob(1)) - clothes_s.Blend(new /icon('icons/mob/suit.dmi', "labgreen"), ICON_OVERLAY) - else - clothes_s.Blend(new /icon('icons/mob/suit.dmi', "labcoat_chem_open"), ICON_OVERLAY) - switch(backbag) - if(2) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "backpack"), ICON_OVERLAY) - if(3) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel-chem"), ICON_OVERLAY) - if(4) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel"), ICON_OVERLAY) - if(CMO) - clothes_s = new /icon('icons/mob/uniform.dmi', "cmo_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "brown"), ICON_UNDERLAY) - if(prob(1)) - clothes_s.Blend(new /icon('icons/mob/suit.dmi', "bio_cmo"), ICON_OVERLAY) - else - clothes_s.Blend(new /icon('icons/mob/suit.dmi', "labcoat_cmo_open"), ICON_OVERLAY) - switch(backbag) - if(2) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "medicalpack"), ICON_OVERLAY) - if(3) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel-med"), ICON_OVERLAY) - if(4) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel"), ICON_OVERLAY) - if(DOCTOR) - clothes_s = new /icon('icons/mob/uniform.dmi', "medical_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "white"), ICON_UNDERLAY) - if(prob(1)) - clothes_s.Blend(new /icon('icons/mob/suit.dmi', "surgeon"), ICON_OVERLAY) - else - clothes_s.Blend(new /icon('icons/mob/suit.dmi', "labcoat_open"), ICON_OVERLAY) - switch(backbag) - if(2) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "medicalpack"), ICON_OVERLAY) - if(3) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel-med"), ICON_OVERLAY) - if(4) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel"), ICON_OVERLAY) - if(GENETICIST) - clothes_s = new /icon('icons/mob/uniform.dmi', "geneticswhite_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "white"), ICON_UNDERLAY) - if(prob(1)) - clothes_s.Blend(new /icon('icons/mob/suit.dmi', "monkeysuit"), ICON_OVERLAY) - else - clothes_s.Blend(new /icon('icons/mob/suit.dmi', "labcoat_gen_open"), ICON_OVERLAY) - switch(backbag) - if(2) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "backpack"), ICON_OVERLAY) - if(3) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel-gen"), ICON_OVERLAY) - if(4) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel"), ICON_OVERLAY) - if(VIROLOGIST) - clothes_s = new /icon('icons/mob/uniform.dmi', "virologywhite_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "white"), ICON_UNDERLAY) - clothes_s.Blend(new /icon('icons/mob/mask.dmi', "sterile"), ICON_OVERLAY) - clothes_s.Blend(new /icon('icons/mob/suit.dmi', "labcoat_vir_open"), ICON_OVERLAY) - if(prob(1)) - clothes_s.Blend(new /icon('icons/mob/head.dmi', "plaguedoctor"), ICON_OVERLAY) - switch(backbag) - if(2) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "medicalpack"), ICON_OVERLAY) - if(3) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel-vir"), ICON_OVERLAY) - if(4) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel"), ICON_OVERLAY) - if(ROBOTICIST) - clothes_s = new /icon('icons/mob/uniform.dmi', "robotics_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY) - clothes_s.Blend(new /icon('icons/mob/hands.dmi', "bgloves"), ICON_UNDERLAY) - clothes_s.Blend(new /icon('icons/mob/suit.dmi', "labcoat_open"), ICON_OVERLAY) - if(prob(1)) - clothes_s.Blend(new /icon(INV_R_HAND_DEF_ICON, "toolbox_blue"), ICON_OVERLAY) - switch(backbag) - if(2) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "backpack"), ICON_OVERLAY) - if(3) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel-norm"), ICON_OVERLAY) - if(4) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel"), ICON_OVERLAY) - - else if(job_engsec_high) - switch(job_engsec_high) - if(CAPTAIN) - clothes_s = new /icon('icons/mob/uniform.dmi', "captain_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "brown"), ICON_UNDERLAY) - if(prob(1)) - clothes_s.Blend(new /icon('icons/mob/head.dmi', "centcomcaptain"), ICON_OVERLAY) - else - clothes_s.Blend(new /icon('icons/mob/head.dmi', "captain"), ICON_OVERLAY) - switch(backbag) - if(2) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "backpack"), ICON_OVERLAY) - if(3) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel-cap"), ICON_OVERLAY) - if(4) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel"), ICON_OVERLAY) - if(HOS) - clothes_s = new /icon('icons/mob/uniform.dmi', "hosred_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "jackboots"), ICON_UNDERLAY) - clothes_s.Blend(new /icon('icons/mob/hands.dmi', "bgloves"), ICON_UNDERLAY) - if(prob(1)) - clothes_s.Blend(new /icon('icons/mob/head.dmi', "hosberet"), ICON_OVERLAY) - switch(backbag) - if(2) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "securitypack"), ICON_OVERLAY) - if(3) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel-sec"), ICON_OVERLAY) - if(4) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel"), ICON_OVERLAY) - if(WARDEN) - clothes_s = new /icon('icons/mob/uniform.dmi', "warden_s") - if(prob(1)) - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "slippers_worn"), ICON_OVERLAY) - else - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "jackboots"), ICON_UNDERLAY) - clothes_s.Blend(new /icon('icons/mob/hands.dmi', "bgloves"), ICON_UNDERLAY) - switch(backbag) - if(2) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "securitypack"), ICON_OVERLAY) - if(3) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel-sec"), ICON_OVERLAY) - if(4) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel"), ICON_OVERLAY) - if(DETECTIVE) - clothes_s = new /icon('icons/mob/uniform.dmi', "detective_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "brown"), ICON_UNDERLAY) - clothes_s.Blend(new /icon('icons/mob/hands.dmi', "bgloves"), ICON_UNDERLAY) - if(prob(1)) - clothes_s.Blend(new /icon('icons/mob/mask.dmi', "cigaron"), ICON_OVERLAY) - clothes_s.Blend(new /icon('icons/mob/head.dmi', "detective"), ICON_OVERLAY) - clothes_s.Blend(new /icon('icons/mob/suit.dmi', "detective"), ICON_OVERLAY) - switch(backbag) - if(2) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "backpack"), ICON_OVERLAY) - if(3) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel-norm"), ICON_OVERLAY) - if(4) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel"), ICON_OVERLAY) - if(OFFICER) - clothes_s = new /icon('icons/mob/uniform.dmi', "secred_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "jackboots"), ICON_UNDERLAY) - if(prob(1)) - clothes_s.Blend(new /icon('icons/mob/head.dmi', "officerberet"), ICON_OVERLAY) - switch(backbag) - if(2) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "securitypack"), ICON_OVERLAY) - if(3) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel-sec"), ICON_OVERLAY) - if(4) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel"), ICON_OVERLAY) - if(CHIEF) - clothes_s = new /icon('icons/mob/uniform.dmi', "chief_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "brown"), ICON_UNDERLAY) - clothes_s.Blend(new /icon('icons/mob/hands.dmi', "bgloves"), ICON_UNDERLAY) - clothes_s.Blend(new /icon('icons/mob/belt.dmi', "utility"), ICON_OVERLAY) - clothes_s.Blend(new /icon('icons/mob/head.dmi', "hardhat0_white"), ICON_OVERLAY) - if(prob(1)) - clothes_s.Blend(new /icon(INV_R_HAND_DEF_ICON, "blueprints"), ICON_OVERLAY) - switch(backbag) - if(2) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "engiepack"), ICON_OVERLAY) - if(3) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel-eng"), ICON_OVERLAY) - if(4) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel"), ICON_OVERLAY) - if(ENGINEER) - clothes_s = new /icon('icons/mob/uniform.dmi', "engine_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "orange"), ICON_UNDERLAY) - clothes_s.Blend(new /icon('icons/mob/belt.dmi', "utility"), ICON_OVERLAY) - clothes_s.Blend(new /icon('icons/mob/head.dmi', "hardhat0_yellow"), ICON_OVERLAY) - if(prob(1)) - clothes_s.Blend(new /icon('icons/mob/suit.dmi', "hazard"), ICON_OVERLAY) - switch(backbag) - if(2) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "engiepack"), ICON_OVERLAY) - if(3) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel-eng"), ICON_OVERLAY) - if(4) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel"), ICON_OVERLAY) - if(ATMOSTECH) - clothes_s = new /icon('icons/mob/uniform.dmi', "atmos_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY) - clothes_s.Blend(new /icon('icons/mob/hands.dmi', "bgloves"), ICON_UNDERLAY) - clothes_s.Blend(new /icon('icons/mob/belt.dmi', "utility"), ICON_OVERLAY) - if(prob(1)) - clothes_s.Blend(new /icon('icons/mob/suit.dmi', "firesuit"), ICON_OVERLAY) - switch(backbag) - if(2) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "backpack"), ICON_OVERLAY) - if(3) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel-norm"), ICON_OVERLAY) - if(4) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel"), ICON_OVERLAY) - - if(AI)//Gives AI and borgs assistant-wear, so they can still customize their character - clothes_s = new /icon('icons/mob/uniform.dmi', "grey_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY) - clothes_s.Blend(new /icon('icons/mob/suit.dmi', "straight_jacket"), ICON_OVERLAY) - clothes_s.Blend(new /icon('icons/mob/head.dmi', "cardborg_h"), ICON_OVERLAY) - if(backbag == 2) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "backpack"), ICON_OVERLAY) - else if(backbag == 3 || backbag == 4) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel"), ICON_OVERLAY) - if(CYBORG) - clothes_s = new /icon('icons/mob/uniform.dmi', "grey_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY) - clothes_s.Blend(new /icon('icons/mob/suit.dmi', "cardborg"), ICON_OVERLAY) - clothes_s.Blend(new /icon('icons/mob/head.dmi', "cardborg_h"), ICON_OVERLAY) - if(backbag == 2) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "backpack"), ICON_OVERLAY) - else if(backbag == 3 || backbag == 4) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel"), ICON_OVERLAY) - - if(disabilities & NEARSIGHTED) - preview_icon.Blend(new /icon('icons/mob/eyes.dmi', "glasses"), ICON_OVERLAY) - - preview_icon.Blend(eyes_s, ICON_OVERLAY) - if(underwear_s) - preview_icon.Blend(underwear_s, ICON_OVERLAY) - if(undershirt_s) - preview_icon.Blend(undershirt_s, ICON_OVERLAY) - if(clothes_s) - preview_icon.Blend(clothes_s, ICON_OVERLAY) + if(jobflag && dept && job_master) + for (var/datum/job/J in job_master.occupations) + if((J.department_flag & dept) && (J.flag & jobflag)) + var/alt = GetPlayerAltTitle(J) + if(alt) //more hacks + H.mind = new + H.mind.role_alt_title = alt + J.equip(H) + break + H.update_eyes() + H.force_update_limbs() + H.regenerate_icons() + preview_icon = icon(H.icon) + for(var/image/I in H.overlays_standing) + if(I && I.icon) + preview_icon.Blend(icon(I.icon, I.icon_state), ICON_OVERLAY) preview_icon_front = new(preview_icon, dir = SOUTH) preview_icon_side = new(preview_icon, dir = WEST) - - del(eyes_s) - del(underwear_s) - del(undershirt_s) - del(clothes_s) + del(H) //RIP \ No newline at end of file From bab998d01182038a9b9fe522280eaffdd2cabcea Mon Sep 17 00:00:00 2001 From: mwerezak Date: Wed, 6 May 2015 22:37:17 -0400 Subject: [PATCH 157/305] Improves overshoot when filling air tanks. Estimating the transfer amount assuming that the sink temperature remains unchanged, and then using that estimate to obtain an estimate for the final sink temperature. This is then used to obtain a final transfer amount in predictor-corrector fashion. --- code/ATMOSPHERICS/_atmospherics_helpers.dm | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/code/ATMOSPHERICS/_atmospherics_helpers.dm b/code/ATMOSPHERICS/_atmospherics_helpers.dm index 5ea54e7a56..f85fa84b93 100644 --- a/code/ATMOSPHERICS/_atmospherics_helpers.dm +++ b/code/ATMOSPHERICS/_atmospherics_helpers.dm @@ -427,10 +427,19 @@ //If set, sink_volume_mod adjusts the effective output volume used in the calculation. This is useful when the output gas_mixture is //part of a pipenetwork, and so it's volume isn't representative of the actual volume since the gas will be shared across the pipenetwork when it processes. /proc/calculate_transfer_moles(datum/gas_mixture/source, datum/gas_mixture/sink, var/pressure_delta, var/sink_volume_mod=0) - //Make the approximation that the sink temperature is unchanged after transferring gas - var/air_temperature = (sink.temperature > 0)? sink.temperature : source.temperature - var/output_volume = (sink.volume * sink.group_multiplier) + sink_volume_mod + if(source.temperature == 0 || source.total_moles == 0) return 0 + var/output_volume = (sink.volume * sink.group_multiplier) + sink_volume_mod + var/source_total_moles = source.total_moles * source.group_multiplier + + var/air_temperature = source.temperature + if(sink.total_moles > 0 && sink.temperature > 0) + //estimate the final temperature of the sink after transfer + var/estimate_moles = pressure_delta*output_volume/(sink.temperature * R_IDEAL_GAS_EQUATION) + var/sink_heat_capacity = sink.heat_capacity() + var/transfer_heat_capacity = source.heat_capacity()*estimate_moles/source_total_moles + air_temperature = (sink.temperature*sink_heat_capacity + source.temperature*transfer_heat_capacity) / (sink_heat_capacity + transfer_heat_capacity) + //get the number of moles that would have to be transfered to bring sink to the target pressure return pressure_delta*output_volume/(air_temperature * R_IDEAL_GAS_EQUATION) From 37c16ff6e2ebfc846112ea3862c435bd53d4bd0b Mon Sep 17 00:00:00 2001 From: Atlantiscze Date: Tue, 12 May 2015 05:33:55 +0200 Subject: [PATCH 158/305] Merge powernet process into machinery process. --- baystation12.dme | 1 - code/controllers/Processes/machinery.dm | 13 ++++++++++--- code/controllers/Processes/powernet.dm | 20 -------------------- 3 files changed, 10 insertions(+), 24 deletions(-) delete mode 100644 code/controllers/Processes/powernet.dm diff --git a/baystation12.dme b/baystation12.dme index 2584fc6002..0e31e70812 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -108,7 +108,6 @@ #include "code\controllers\Processes\nanoui.dm" #include "code\controllers\Processes\obj.dm" #include "code\controllers\Processes\pipenet.dm" -#include "code\controllers\Processes\powernet.dm" #include "code\controllers\Processes\Shuttle.dm" #include "code\controllers\Processes\sun.dm" #include "code\controllers\Processes\supply.dm" diff --git a/code/controllers/Processes/machinery.dm b/code/controllers/Processes/machinery.dm index 232ef91973..702a4c7121 100644 --- a/code/controllers/Processes/machinery.dm +++ b/code/controllers/Processes/machinery.dm @@ -14,9 +14,16 @@ machines = dd_sortedObjectList(machines) /datum/controller/process/machinery/proc/internal_process() -//#ifdef PROFILE_MACHINES - //machine_profiling.len = 0 - //#endif + for(var/datum/powernet/powerNetwork in powernets) + if(istype(powerNetwork) && !powerNetwork.disposed) + powerNetwork.reset() + scheck() + continue + + powernets.Remove(powerNetwork) + + for(var/obj/item/device/powersink/S in processing_objects) + S.drain() for(var/obj/machinery/M in machines) if(M && !M.gcDestroyed) diff --git a/code/controllers/Processes/powernet.dm b/code/controllers/Processes/powernet.dm deleted file mode 100644 index 4a85ea4150..0000000000 --- a/code/controllers/Processes/powernet.dm +++ /dev/null @@ -1,20 +0,0 @@ -/datum/controller/process/powernet/setup() - name = "powernet" - schedule_interval = 20 // every 2 seconds - -/datum/controller/process/powernet/doWork() - for(var/datum/powernet/powerNetwork in powernets) - if(istype(powerNetwork) && !powerNetwork.disposed) - powerNetwork.reset() - scheck() - continue - - powernets.Remove(powerNetwork) - - // This is necessary to ensure powersinks are always the first devices that drain power from powernet. - // Otherwise APCs or other stuff go first, resulting in bad things happening. - for(var/obj/item/device/powersink/S in processing_objects) - S.drain() - -/datum/controller/process/powernet/getStatName() - return ..()+"([powernets.len])" From 28134c9c8cab2bd107023a9ebc8616bdf22edfca Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Tue, 12 May 2015 13:06:54 +0930 Subject: [PATCH 159/305] Readded wallbreaker check to wall destruction. --- code/game/turfs/simulated/wall_attacks.dm | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/code/game/turfs/simulated/wall_attacks.dm b/code/game/turfs/simulated/wall_attacks.dm index 5c146be2fe..8d625a99af 100644 --- a/code/game/turfs/simulated/wall_attacks.dm +++ b/code/game/turfs/simulated/wall_attacks.dm @@ -73,11 +73,15 @@ try_touch(user, rotting) return - if(rotting || !prob(material.hardness)) - success_smash(user) - else - fail_smash(user) - return 1 + if(rotting) + return success_smash(user) + + if(reinf_material) + if((wallbreaker == 2) || (damage >= max(material.hardness,reinf_material.hardness))) + return success_smash(user) + else if(damage >= material.hardness) + return success_smash(user) + return fail_smash(user) /turf/simulated/wall/attackby(obj/item/weapon/W as obj, mob/user as mob) From 495952ff5d263f1e144e0133823001120066a8f0 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Tue, 12 May 2015 13:08:41 +0930 Subject: [PATCH 160/305] Changed steel material name to a define. --- code/defines/obj/weapon.dm | 50 ++++++------- code/game/gamemodes/nuclear/pinpointer.dm | 2 +- code/game/gamemodes/objective.dm | 2 +- code/game/machinery/alarm.dm | 4 +- code/game/machinery/autolathe.dm | 6 +- code/game/machinery/camera/camera_assembly.dm | 2 +- code/game/machinery/doors/airlock.dm | 2 +- .../machinery/doors/airlock_electronics.dm | 2 +- code/game/machinery/robot_fabricator.dm | 2 +- code/game/mecha/equipment/mecha_equipment.dm | 2 +- .../mecha/equipment/tools/medical_tools.dm | 4 +- code/game/mecha/equipment/tools/tools.dm | 18 ++--- code/game/mecha/equipment/weapons/weapons.dm | 2 +- code/game/mecha/mech_fabricator.dm | 10 +-- code/game/mecha/mecha_control_console.dm | 2 +- code/game/mecha/mecha_parts.dm | 72 +++++++++---------- code/game/objects/items/ashtray.dm | 4 +- code/game/objects/items/devices/debugger.dm | 2 +- code/game/objects/items/devices/flash.dm | 2 +- code/game/objects/items/devices/flashlight.dm | 2 +- code/game/objects/items/devices/multitool.dm | 2 +- code/game/objects/items/devices/powersink.dm | 2 +- .../items/devices/radio/electropack.dm | 2 +- .../objects/items/devices/radio/headset.dm | 2 +- .../game/objects/items/devices/radio/radio.dm | 2 +- code/game/objects/items/devices/scanners.dm | 12 ++-- .../objects/items/devices/taperecorder.dm | 2 +- code/game/objects/items/robot/robot_parts.dm | 16 ++--- .../objects/items/robot/robot_upgrades.dm | 14 ++-- code/game/objects/items/stacks/rods.dm | 2 +- .../game/objects/items/stacks/sheets/glass.dm | 4 +- .../items/stacks/sheets/sheet_types.dm | 8 +-- .../objects/items/stacks/tiles/plasteel.dm | 2 +- code/game/objects/items/toys.dm | 4 +- code/game/objects/items/weapons/RCD.dm | 4 +- .../objects/items/weapons/extinguisher.dm | 2 +- .../objects/items/weapons/flamethrower.dm | 2 +- code/game/objects/items/weapons/handcuffs.dm | 2 +- code/game/objects/items/weapons/kitchen.dm | 6 +- code/game/objects/items/weapons/paint.dm | 2 +- .../game/objects/items/weapons/power_cells.dm | 22 +++--- code/game/objects/items/weapons/shields.dm | 2 +- .../objects/items/weapons/surgery_tools.dm | 12 ++-- .../objects/items/weapons/table_rack_parts.dm | 4 +- .../objects/items/weapons/teleportation.dm | 4 +- code/game/objects/items/weapons/tools.dm | 16 ++--- code/game/objects/items/weapons/weaponry.dm | 6 +- code/game/objects/structures/mineral_doors.dm | 2 +- code/game/turfs/simulated/floor.dm | 2 +- code/game/turfs/simulated/wall_icon.dm | 2 +- code/game/turfs/simulated/wall_types.dm | 2 +- code/game/turfs/simulated/walls.dm | 2 +- code/modules/assembly/assembly.dm | 2 +- code/modules/assembly/igniter.dm | 2 +- code/modules/assembly/infrared.dm | 2 +- code/modules/assembly/mousetrap.dm | 2 +- code/modules/assembly/proximity.dm | 2 +- code/modules/assembly/signaler.dm | 2 +- code/modules/assembly/timer.dm | 2 +- code/modules/assembly/voice.dm | 2 +- code/modules/clothing/head/misc_special.dm | 2 +- .../spacesuits/rig/modules/modules.dm | 2 +- .../hydroponics/trays/tray_reagents.dm | 2 +- code/modules/hydroponics/trays/tray_tools.dm | 4 +- code/modules/materials/materials.dm | 2 +- code/modules/mining/alloys.dm | 2 +- code/modules/mining/drilling/scanner.dm | 2 +- code/modules/mining/machine_stacking.dm | 4 +- code/modules/mining/mine_items.dm | 4 +- code/modules/mining/mint.dm | 6 +- code/modules/mob/living/carbon/brain/MMI.dm | 2 +- .../mob/living/carbon/brain/posibrain.dm | 2 +- .../mob/living/silicon/robot/analyzer.dm | 2 +- .../mob/living/silicon/robot/component.dm | 2 +- code/modules/paperwork/pen.dm | 2 +- code/modules/paperwork/photography.dm | 2 +- code/modules/paperwork/stamps.dm | 2 +- code/modules/power/antimatter/shielding.dm | 2 +- code/modules/power/cable.dm | 2 +- code/modules/power/lighting.dm | 2 +- code/modules/projectiles/ammunition.dm | 2 +- code/modules/projectiles/ammunition/boxes.dm | 24 +++---- .../modules/projectiles/ammunition/bullets.dm | 14 ++-- code/modules/projectiles/gun.dm | 2 +- code/modules/projectiles/guns/energy/laser.dm | 4 +- code/modules/projectiles/guns/energy/stun.dm | 4 +- .../guns/launcher/grenade_launcher.dm | 2 +- .../projectiles/guns/launcher/syringe_gun.dm | 4 +- code/modules/projectiles/guns/projectile.dm | 8 +-- .../reagents/reagent_containers/glass.dm | 2 +- .../recycling/disposal-construction.dm | 2 +- code/modules/research/rdconsole.dm | 10 +-- code/modules/research/research.dm | 4 +- .../research/xenoarchaeology/finds/finds.dm | 4 +- code/setup.dm | 6 +- 95 files changed, 260 insertions(+), 258 deletions(-) diff --git a/code/defines/obj/weapon.dm b/code/defines/obj/weapon.dm index ecd56b079b..99ff26c89a 100644 --- a/code/defines/obj/weapon.dm +++ b/code/defines/obj/weapon.dm @@ -83,7 +83,7 @@ force = 5.0 throwforce = 7.0 w_class = 2.0 - matter = list("steel" = 50) + matter = list(DEFAULT_WALL_MATERIAL = 50) attack_verb = list("bludgeoned", "whacked", "disciplined", "thrashed") /obj/item/weapon/cane/concealed @@ -271,7 +271,7 @@ w_class = 2.0 throw_speed = 4 throw_range = 20 - matter = list("steel" = 100) + matter = list(DEFAULT_WALL_MATERIAL = 100) origin_tech = "magnets=1" /obj/item/weapon/staff @@ -321,7 +321,7 @@ var/amount = 1.0 var/laying = 0.0 var/old_lay = null - matter = list("steel" = 40) + matter = list(DEFAULT_WALL_MATERIAL = 40) attack_verb = list("whipped", "lashed", "disciplined", "tickled") suicide_act(mob/user) @@ -345,7 +345,7 @@ name = "power control module" icon_state = "power_mod" desc = "Heavy-duty switching circuits for power control." - matter = list("steel" = 50, "glass" = 50) + matter = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 50) /obj/item/weapon/module/power_control/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob) if (istype(W, /obj/item/device/multitool)) @@ -467,35 +467,35 @@ desc = "A basic capacitor used in the construction of a variety of devices." icon_state = "capacitor" origin_tech = "powerstorage=1" - matter = list("steel" = 50,"glass" = 50) + matter = list(DEFAULT_WALL_MATERIAL = 50,"glass" = 50) /obj/item/weapon/stock_parts/scanning_module name = "scanning module" desc = "A compact, high resolution scanning module used in the construction of certain devices." icon_state = "scan_module" origin_tech = "magnets=1" - matter = list("steel" = 50,"glass" = 20) + matter = list(DEFAULT_WALL_MATERIAL = 50,"glass" = 20) /obj/item/weapon/stock_parts/manipulator name = "micro-manipulator" desc = "A tiny little manipulator used in the construction of certain devices." icon_state = "micro_mani" origin_tech = "materials=1;programming=1" - matter = list("steel" = 30) + matter = list(DEFAULT_WALL_MATERIAL = 30) /obj/item/weapon/stock_parts/micro_laser name = "micro-laser" desc = "A tiny laser used in certain devices." icon_state = "micro_laser" origin_tech = "magnets=1" - matter = list("steel" = 10,"glass" = 20) + matter = list(DEFAULT_WALL_MATERIAL = 10,"glass" = 20) /obj/item/weapon/stock_parts/matter_bin name = "matter bin" desc = "A container for hold compressed matter awaiting re-construction." icon_state = "matter_bin" origin_tech = "materials=1" - matter = list("steel" = 80) + matter = list(DEFAULT_WALL_MATERIAL = 80) //Rank 2 @@ -504,7 +504,7 @@ desc = "An advanced capacitor used in the construction of a variety of devices." origin_tech = "powerstorage=3" rating = 2 - matter = list("steel" = 50,"glass" = 50) + matter = list(DEFAULT_WALL_MATERIAL = 50,"glass" = 50) /obj/item/weapon/stock_parts/scanning_module/adv name = "advanced scanning module" @@ -512,7 +512,7 @@ icon_state = "scan_module" origin_tech = "magnets=3" rating = 2 - matter = list("steel" = 50,"glass" = 20) + matter = list(DEFAULT_WALL_MATERIAL = 50,"glass" = 20) /obj/item/weapon/stock_parts/manipulator/nano name = "nano-manipulator" @@ -520,7 +520,7 @@ icon_state = "nano_mani" origin_tech = "materials=3,programming=2" rating = 2 - matter = list("steel" = 30) + matter = list(DEFAULT_WALL_MATERIAL = 30) /obj/item/weapon/stock_parts/micro_laser/high name = "high-power micro-laser" @@ -528,7 +528,7 @@ icon_state = "high_micro_laser" origin_tech = "magnets=3" rating = 2 - matter = list("steel" = 10,"glass" = 20) + matter = list(DEFAULT_WALL_MATERIAL = 10,"glass" = 20) /obj/item/weapon/stock_parts/matter_bin/adv name = "advanced matter bin" @@ -536,7 +536,7 @@ icon_state = "advanced_matter_bin" origin_tech = "materials=3" rating = 2 - matter = list("steel" = 80) + matter = list(DEFAULT_WALL_MATERIAL = 80) //Rating 3 @@ -545,14 +545,14 @@ desc = "A super-high capacity capacitor used in the construction of a variety of devices." origin_tech = "powerstorage=5;materials=4" rating = 3 - matter = list("steel" = 50,"glass" = 50) + matter = list(DEFAULT_WALL_MATERIAL = 50,"glass" = 50) /obj/item/weapon/stock_parts/scanning_module/phasic name = "phasic scanning module" desc = "A compact, high resolution phasic scanning module used in the construction of certain devices." origin_tech = "magnets=5" rating = 3 - matter = list("steel" = 50,"glass" = 20) + matter = list(DEFAULT_WALL_MATERIAL = 50,"glass" = 20) /obj/item/weapon/stock_parts/manipulator/pico name = "pico-manipulator" @@ -560,7 +560,7 @@ icon_state = "pico_mani" origin_tech = "materials=5,programming=2" rating = 3 - matter = list("steel" = 30) + matter = list(DEFAULT_WALL_MATERIAL = 30) /obj/item/weapon/stock_parts/micro_laser/ultra name = "ultra-high-power micro-laser" @@ -568,7 +568,7 @@ desc = "A tiny laser used in certain devices." origin_tech = "magnets=5" rating = 3 - matter = list("steel" = 10,"glass" = 20) + matter = list(DEFAULT_WALL_MATERIAL = 10,"glass" = 20) /obj/item/weapon/stock_parts/matter_bin/super name = "super matter bin" @@ -576,7 +576,7 @@ icon_state = "super_matter_bin" origin_tech = "materials=5" rating = 3 - matter = list("steel" = 80) + matter = list(DEFAULT_WALL_MATERIAL = 80) // Subspace stock parts @@ -585,35 +585,35 @@ icon_state = "subspace_ansible" desc = "A compact module capable of sensing extradimensional activity." origin_tech = "programming=3;magnets=5;materials=4;bluespace=2" - matter = list("steel" = 30,"glass" = 10) + matter = list(DEFAULT_WALL_MATERIAL = 30,"glass" = 10) /obj/item/weapon/stock_parts/subspace/filter name = "hyperwave filter" icon_state = "hyperwave_filter" desc = "A tiny device capable of filtering and converting super-intense radiowaves." origin_tech = "programming=4;magnets=2" - matter = list("steel" = 30,"glass" = 10) + matter = list(DEFAULT_WALL_MATERIAL = 30,"glass" = 10) /obj/item/weapon/stock_parts/subspace/amplifier name = "subspace amplifier" icon_state = "subspace_amplifier" desc = "A compact micro-machine capable of amplifying weak subspace transmissions." origin_tech = "programming=3;magnets=4;materials=4;bluespace=2" - matter = list("steel" = 30,"glass" = 10) + matter = list(DEFAULT_WALL_MATERIAL = 30,"glass" = 10) /obj/item/weapon/stock_parts/subspace/treatment name = "subspace treatment disk" icon_state = "treatment_disk" desc = "A compact micro-machine capable of stretching out hyper-compressed radio waves." origin_tech = "programming=3;magnets=2;materials=5;bluespace=2" - matter = list("steel" = 30,"glass" = 10) + matter = list(DEFAULT_WALL_MATERIAL = 30,"glass" = 10) /obj/item/weapon/stock_parts/subspace/analyzer name = "subspace wavelength analyzer" icon_state = "wavelength_analyzer" desc = "A sophisticated analyzer capable of analyzing cryptic subspace wavelengths." origin_tech = "programming=3;magnets=4;materials=4;bluespace=2" - matter = list("steel" = 30,"glass" = 10) + matter = list(DEFAULT_WALL_MATERIAL = 30,"glass" = 10) /obj/item/weapon/stock_parts/subspace/crystal name = "ansible crystal" @@ -627,7 +627,7 @@ icon_state = "subspace_transmitter" desc = "A large piece of equipment used to open a window into the subspace dimension." origin_tech = "magnets=5;materials=5;bluespace=3" - matter = list("steel" = 50) + matter = list(DEFAULT_WALL_MATERIAL = 50) /obj/item/weapon/ectoplasm name = "ectoplasm" diff --git a/code/game/gamemodes/nuclear/pinpointer.dm b/code/game/gamemodes/nuclear/pinpointer.dm index aae35f4e65..530b9b9567 100644 --- a/code/game/gamemodes/nuclear/pinpointer.dm +++ b/code/game/gamemodes/nuclear/pinpointer.dm @@ -8,7 +8,7 @@ item_state = "electronic" throw_speed = 4 throw_range = 20 - matter = list("steel" = 500) + matter = list(DEFAULT_WALL_MATERIAL = 500) var/obj/item/weapon/disk/nuclear/the_disk = null var/active = 0 diff --git a/code/game/gamemodes/objective.dm b/code/game/gamemodes/objective.dm index ec4d45b8fe..d13f90d2be 100644 --- a/code/game/gamemodes/objective.dm +++ b/code/game/gamemodes/objective.dm @@ -798,7 +798,7 @@ datum/objective/heist/salvage choose_target() switch(rand(1,8)) if(1) - target = "steel" + target = DEFAULT_WALL_MATERIAL target_amount = 300 if(2) target = "glass" diff --git a/code/game/machinery/alarm.dm b/code/game/machinery/alarm.dm index 7efeb9ff98..bdb7e9897c 100644 --- a/code/game/machinery/alarm.dm +++ b/code/game/machinery/alarm.dm @@ -865,7 +865,7 @@ Just a object used in constructing air alarms icon_state = "door_electronics" desc = "Looks like a circuit. Probably is." w_class = 2.0 - matter = list("steel" = 50, "glass" = 50) + matter = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 50) /* FIRE ALARM @@ -1139,7 +1139,7 @@ Just a object used in constructing fire alarms icon_state = "door_electronics" desc = "A circuit. It has a label on it, it says \"Can handle heat levels up to 40 degrees celsius!\"" w_class = 2.0 - matter = list("steel" = 50, "glass" = 50) + matter = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 50) /obj/machinery/partyalarm name = "\improper PARTY BUTTON" diff --git a/code/game/machinery/autolathe.dm b/code/game/machinery/autolathe.dm index e4300f8b66..2c3758ba8e 100644 --- a/code/game/machinery/autolathe.dm +++ b/code/game/machinery/autolathe.dm @@ -9,8 +9,8 @@ active_power_usage = 2000 var/list/machine_recipes - var/list/stored_material = list("steel" = 0, "glass" = 0) - var/list/storage_capacity = list("steel" = 0, "glass" = 0) + var/list/stored_material = list(DEFAULT_WALL_MATERIAL = 0, "glass" = 0) + var/list/storage_capacity = list(DEFAULT_WALL_MATERIAL = 0, "glass" = 0) var/show_category = "All" var/hacked = 0 @@ -279,7 +279,7 @@ for(var/obj/item/weapon/stock_parts/manipulator/M in component_parts) man_rating += M.rating - storage_capacity["steel"] = mb_rating * 25000 + storage_capacity[DEFAULT_WALL_MATERIAL] = mb_rating * 25000 storage_capacity["glass"] = mb_rating * 12500 build_time = 50 / man_rating mat_efficiency = 1.1 - man_rating * 0.1// Normally, price is 1.25 the amount of material, so this shouldn't go higher than 0.8. Maximum rating of parts is 3 diff --git a/code/game/machinery/camera/camera_assembly.dm b/code/game/machinery/camera/camera_assembly.dm index 312e6de7f1..28691004f3 100644 --- a/code/game/machinery/camera/camera_assembly.dm +++ b/code/game/machinery/camera/camera_assembly.dm @@ -6,7 +6,7 @@ w_class = 2 anchored = 0 - matter = list("steel" = 700,"glass" = 300) + matter = list(DEFAULT_WALL_MATERIAL = 700,"glass" = 300) // Motion, EMP-Proof, X-Ray var/list/obj/item/possible_upgrades = list(/obj/item/device/assembly/prox_sensor, /obj/item/stack/sheet/mineral/osmium, /obj/item/weapon/stock_parts/scanning_module) diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index b75c3f985a..0857d2d175 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -609,7 +609,7 @@ About the new airlock wires panel: if (src.isElectrified()) if (istype(mover, /obj/item)) var/obj/item/i = mover - if (i.matter && ("steel" in i.matter) && i.matter["steel"] > 0) + if (i.matter && (DEFAULT_WALL_MATERIAL in i.matter) && i.matter[DEFAULT_WALL_MATERIAL] > 0) var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread s.set_up(5, 1, src) s.start() diff --git a/code/game/machinery/doors/airlock_electronics.dm b/code/game/machinery/doors/airlock_electronics.dm index f1299ea07c..78b8808d28 100644 --- a/code/game/machinery/doors/airlock_electronics.dm +++ b/code/game/machinery/doors/airlock_electronics.dm @@ -6,7 +6,7 @@ icon_state = "door_electronics" w_class = 2.0 //It should be tiny! -Agouri - matter = list("steel" = 50,"glass" = 50) + matter = list(DEFAULT_WALL_MATERIAL = 50,"glass" = 50) req_access = list(access_engine) diff --git a/code/game/machinery/robot_fabricator.dm b/code/game/machinery/robot_fabricator.dm index 5489856ba5..6b0cb71fbd 100644 --- a/code/game/machinery/robot_fabricator.dm +++ b/code/game/machinery/robot_fabricator.dm @@ -22,7 +22,7 @@ if(!M.get_amount()) return while(metal_amount < 150000 && M.amount) - src.metal_amount += O.matter["steel"] /*O:height * O:width * O:length * 100000.0*/ + src.metal_amount += O.matter[DEFAULT_WALL_MATERIAL] /*O:height * O:width * O:length * 100000.0*/ M.use(1) count++ diff --git a/code/game/mecha/equipment/mecha_equipment.dm b/code/game/mecha/equipment/mecha_equipment.dm index 2fc9e04c4f..36f3ea6f85 100644 --- a/code/game/mecha/equipment/mecha_equipment.dm +++ b/code/game/mecha/equipment/mecha_equipment.dm @@ -9,7 +9,7 @@ force = 5 origin_tech = "materials=2" construction_time = 100 - construction_cost = list("steel"=10000) + construction_cost = list(DEFAULT_WALL_MATERIAL=10000) var/equip_cooldown = 0 var/equip_ready = 1 var/energy_drain = 0 diff --git a/code/game/mecha/equipment/tools/medical_tools.dm b/code/game/mecha/equipment/tools/medical_tools.dm index dc29e708fd..b3c5180c7a 100644 --- a/code/game/mecha/equipment/tools/medical_tools.dm +++ b/code/game/mecha/equipment/tools/medical_tools.dm @@ -6,7 +6,7 @@ origin_tech = "programming=2;biotech=3" energy_drain = 20 range = MELEE - construction_cost = list("steel"=5000,"glass"=10000) + construction_cost = list(DEFAULT_WALL_MATERIAL=5000,"glass"=10000) reliability = 1000 equip_cooldown = 20 var/mob/living/carbon/occupant = null @@ -394,7 +394,7 @@ equip_cooldown = 10 origin_tech = "materials=3;biotech=4;magnets=4;programming=3" construction_time = 200 - construction_cost = list("steel"=3000,"glass"=2000) + construction_cost = list(DEFAULT_WALL_MATERIAL=3000,"glass"=2000) required_type = /obj/mecha/medical New() diff --git a/code/game/mecha/equipment/tools/tools.dm b/code/game/mecha/equipment/tools/tools.dm index d750051047..67d8e5667c 100644 --- a/code/game/mecha/equipment/tools/tools.dm +++ b/code/game/mecha/equipment/tools/tools.dm @@ -128,7 +128,7 @@ desc = "This is an upgraded version of the drill that'll pierce the heavens! (Can be attached to: Combat and Engineering Exosuits)" icon_state = "mecha_diamond_drill" origin_tech = "materials=4;engineering=3" - construction_cost = list("steel"=10000,"diamond"=6500) + construction_cost = list(DEFAULT_WALL_MATERIAL=10000,"diamond"=6500) equip_cooldown = 20 force = 15 @@ -261,7 +261,7 @@ energy_drain = 250 range = MELEE|RANGED construction_time = 1200 - construction_cost = list("steel"=30000,"phoron"=25000,"silver"=20000,"gold"=20000) + construction_cost = list(DEFAULT_WALL_MATERIAL=30000,"phoron"=25000,"silver"=20000,"gold"=20000) var/mode = 0 //0 - deconstruct, 1 - wall or floor, 2 - airlock. var/disabled = 0 //malf @@ -511,7 +511,7 @@ equip_cooldown = 10 energy_drain = 50 range = 0 - construction_cost = list("steel"=20000,"silver"=5000) + construction_cost = list(DEFAULT_WALL_MATERIAL=20000,"silver"=5000) var/deflect_coeff = 1.15 var/damage_coeff = 0.8 @@ -561,7 +561,7 @@ equip_cooldown = 10 energy_drain = 50 range = 0 - construction_cost = list("steel"=20000,"gold"=5000) + construction_cost = list(DEFAULT_WALL_MATERIAL=20000,"gold"=5000) var/deflect_coeff = 1.15 var/damage_coeff = 0.8 @@ -632,7 +632,7 @@ equip_cooldown = 20 energy_drain = 100 range = 0 - construction_cost = list("steel"=10000,"gold"=1000,"silver"=2000,"glass"=5000) + construction_cost = list(DEFAULT_WALL_MATERIAL=10000,"gold"=1000,"silver"=2000,"glass"=5000) var/health_boost = 2 var/datum/global_iterator/pr_repair_droid var/icon/droid_overlay @@ -727,7 +727,7 @@ equip_cooldown = 10 energy_drain = 0 range = 0 - construction_cost = list("steel"=10000,"gold"=2000,"silver"=3000,"glass"=2000) + construction_cost = list(DEFAULT_WALL_MATERIAL=10000,"gold"=2000,"silver"=3000,"glass"=2000) var/datum/global_iterator/pr_energy_relay var/coeff = 100 var/list/use_channels = list(EQUIP,ENVIRON,LIGHT) @@ -844,7 +844,7 @@ equip_cooldown = 10 energy_drain = 0 range = MELEE - construction_cost = list("steel"=10000,"silver"=500,"glass"=1000) + construction_cost = list(DEFAULT_WALL_MATERIAL=10000,"silver"=500,"glass"=1000) var/datum/global_iterator/pr_mech_generator var/coeff = 100 var/obj/item/stack/sheet/fuel @@ -984,7 +984,7 @@ desc = "Generates power using uranium. Pollutes the environment." icon_state = "tesla" origin_tech = "powerstorage=3;engineering=3" - construction_cost = list("steel"=10000,"silver"=500,"glass"=1000) + construction_cost = list(DEFAULT_WALL_MATERIAL=10000,"silver"=500,"glass"=1000) max_fuel = 50000 fuel_per_cycle_idle = 10 fuel_per_cycle_active = 30 @@ -1095,7 +1095,7 @@ origin_tech = "engineering=1;biotech=1" energy_drain = 10 range = MELEE - construction_cost = list("steel"=5000,"glass"=5000) + construction_cost = list(DEFAULT_WALL_MATERIAL=5000,"glass"=5000) reliability = 1000 equip_cooldown = 20 var/mob/living/carbon/occupant = null diff --git a/code/game/mecha/equipment/weapons/weapons.dm b/code/game/mecha/equipment/weapons/weapons.dm index c53f378d7e..61eaa214da 100644 --- a/code/game/mecha/equipment/weapons/weapons.dm +++ b/code/game/mecha/equipment/weapons/weapons.dm @@ -274,7 +274,7 @@ /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/flashbang/clusterbang//Because I am a heartless bastard -Sieve name = "\improper SOP-6 grenade launcher" projectile = /obj/item/weapon/grenade/flashbang/clusterbang - construction_cost = list("steel"=20000,"gold"=6000,"uranium"=6000) + construction_cost = list(DEFAULT_WALL_MATERIAL=20000,"gold"=6000,"uranium"=6000) /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/flashbang/clusterbang/limited/get_equip_info()//Limited version of the clusterbang launcher that can't reload return "* [chassis.selected==src?"":""][src.name][chassis.selected==src?"":""]\[[src.projectiles]\]" diff --git a/code/game/mecha/mech_fabricator.dm b/code/game/mecha/mech_fabricator.dm index de2f7e78e1..9dadd13554 100644 --- a/code/game/mecha/mech_fabricator.dm +++ b/code/game/mecha/mech_fabricator.dm @@ -17,7 +17,7 @@ var/time_coeff = 1.5 //can be upgraded with research var/resource_coeff = 1.5 //can be upgraded with research var/list/resources = list( - "steel"=0, + DEFAULT_WALL_MATERIAL=0, "glass"=0, "gold"=0, "silver"=0, @@ -719,7 +719,7 @@ /obj/machinery/mecha_part_fabricator/proc/remove_material(var/mat_string, var/amount) var/type switch(mat_string) - if("steel") + if(DEFAULT_WALL_MATERIAL) type = /obj/item/stack/sheet/metal if("glass") type = /obj/item/stack/sheet/glass @@ -774,9 +774,9 @@ if(I.reliability != 100 && crit_fail) I.crit_fail = 1 I.loc = src.loc - if(src.resources["steel"] >= 3750) + if(src.resources[DEFAULT_WALL_MATERIAL] >= 3750) var/obj/item/stack/sheet/metal/G = new /obj/item/stack/sheet/metal(src.loc) - G.amount = round(src.resources["steel"] / G.perunit) + G.amount = round(src.resources[DEFAULT_WALL_MATERIAL] / G.perunit) if(src.resources["glass"] >= 3750) var/obj/item/stack/sheet/glass/G = new /obj/item/stack/sheet/glass(src.loc) G.amount = round(src.resources["glass"] / G.perunit) @@ -816,7 +816,7 @@ if(/obj/item/stack/sheet/mineral/phoron) material = "phoron" if(/obj/item/stack/sheet/metal) - material = "steel" + material = DEFAULT_WALL_MATERIAL if(/obj/item/stack/sheet/glass) material = "glass" if(/obj/item/stack/sheet/mineral/uranium) diff --git a/code/game/mecha/mecha_control_console.dm b/code/game/mecha/mecha_control_console.dm index b8d8a3d298..d334d6eb29 100644 --- a/code/game/mecha/mecha_control_console.dm +++ b/code/game/mecha/mecha_control_console.dm @@ -70,7 +70,7 @@ icon_state = "motion2" origin_tech = "programming=2;magnets=2" construction_time = 50 - construction_cost = list("steel"=500) + construction_cost = list(DEFAULT_WALL_MATERIAL=500) proc/get_mecha_info() if(!in_mecha()) diff --git a/code/game/mecha/mecha_parts.dm b/code/game/mecha/mecha_parts.dm index eecc3b9095..6dba12db0c 100644 --- a/code/game/mecha/mecha_parts.dm +++ b/code/game/mecha/mecha_parts.dm @@ -12,14 +12,14 @@ flags = CONDUCT origin_tech = "programming=2;materials=2" var/construction_time = 100 - var/list/construction_cost = list("steel"=20000,"glass"=5000) + var/list/construction_cost = list(DEFAULT_WALL_MATERIAL=20000,"glass"=5000) /obj/item/mecha_parts/chassis name="Mecha Chassis" icon_state = "backbone" var/datum/construction/construct - construction_cost = list("steel"=20000) + construction_cost = list(DEFAULT_WALL_MATERIAL=20000) flags = CONDUCT attackby(obj/item/W as obj, mob/user as mob) @@ -45,7 +45,7 @@ icon_state = "ripley_harness" origin_tech = "programming=2;materials=2;biotech=2;engineering=2" construction_time = 200 - construction_cost = list("steel"=40000,"glass"=15000) + construction_cost = list(DEFAULT_WALL_MATERIAL=40000,"glass"=15000) /obj/item/mecha_parts/part/ripley_left_arm name="Ripley Left Arm" @@ -53,7 +53,7 @@ icon_state = "ripley_l_arm" origin_tech = "programming=2;materials=2;engineering=2" construction_time = 150 - construction_cost = list("steel"=25000) + construction_cost = list(DEFAULT_WALL_MATERIAL=25000) /obj/item/mecha_parts/part/ripley_right_arm name="Ripley Right Arm" @@ -61,7 +61,7 @@ icon_state = "ripley_r_arm" origin_tech = "programming=2;materials=2;engineering=2" construction_time = 150 - construction_cost = list("steel"=25000) + construction_cost = list(DEFAULT_WALL_MATERIAL=25000) /obj/item/mecha_parts/part/ripley_left_leg name="Ripley Left Leg" @@ -69,7 +69,7 @@ icon_state = "ripley_l_leg" origin_tech = "programming=2;materials=2;engineering=2" construction_time = 150 - construction_cost = list("steel"=30000) + construction_cost = list(DEFAULT_WALL_MATERIAL=30000) /obj/item/mecha_parts/part/ripley_right_leg name="Ripley Right Leg" @@ -77,13 +77,13 @@ icon_state = "ripley_r_leg" origin_tech = "programming=2;materials=2;engineering=2" construction_time = 150 - construction_cost = list("steel"=30000) + construction_cost = list(DEFAULT_WALL_MATERIAL=30000) ///////// Gygax /obj/item/mecha_parts/chassis/gygax name = "Gygax Chassis" - construction_cost = list("steel"=25000) + construction_cost = list(DEFAULT_WALL_MATERIAL=25000) New() ..() @@ -95,7 +95,7 @@ icon_state = "gygax_harness" origin_tech = "programming=2;materials=2;biotech=3;engineering=3" construction_time = 300 - construction_cost = list("steel"=50000,"glass"=20000) + construction_cost = list(DEFAULT_WALL_MATERIAL=50000,"glass"=20000) /obj/item/mecha_parts/part/gygax_head name="Gygax Head" @@ -103,7 +103,7 @@ icon_state = "gygax_head" origin_tech = "programming=2;materials=2;magnets=3;engineering=3" construction_time = 200 - construction_cost = list("steel"=20000,"glass"=10000) + construction_cost = list(DEFAULT_WALL_MATERIAL=20000,"glass"=10000) /obj/item/mecha_parts/part/gygax_left_arm name="Gygax Left Arm" @@ -111,7 +111,7 @@ icon_state = "gygax_l_arm" origin_tech = "programming=2;materials=2;engineering=3" construction_time = 200 - construction_cost = list("steel"=30000) + construction_cost = list(DEFAULT_WALL_MATERIAL=30000) /obj/item/mecha_parts/part/gygax_right_arm name="Gygax Right Arm" @@ -119,35 +119,35 @@ icon_state = "gygax_r_arm" origin_tech = "programming=2;materials=2;engineering=3" construction_time = 200 - construction_cost = list("steel"=30000) + construction_cost = list(DEFAULT_WALL_MATERIAL=30000) /obj/item/mecha_parts/part/gygax_left_leg name="Gygax Left Leg" icon_state = "gygax_l_leg" origin_tech = "programming=2;materials=2;engineering=3" construction_time = 200 - construction_cost = list("steel"=35000) + construction_cost = list(DEFAULT_WALL_MATERIAL=35000) /obj/item/mecha_parts/part/gygax_right_leg name="Gygax Right Leg" icon_state = "gygax_r_leg" origin_tech = "programming=2;materials=2;engineering=3" construction_time = 200 - construction_cost = list("steel"=35000) + construction_cost = list(DEFAULT_WALL_MATERIAL=35000) /obj/item/mecha_parts/part/gygax_armour name="Gygax Armour Plates" icon_state = "gygax_armour" origin_tech = "materials=6;combat=4;engineering=5" construction_time = 600 - construction_cost = list("steel"=50000,"diamond"=10000) + construction_cost = list(DEFAULT_WALL_MATERIAL=50000,"diamond"=10000) //////////// Durand /obj/item/mecha_parts/chassis/durand name = "Durand Chassis" - construction_cost = list("steel"=25000) + construction_cost = list(DEFAULT_WALL_MATERIAL=25000) New() ..() @@ -158,49 +158,49 @@ icon_state = "durand_harness" origin_tech = "programming=2;materials=3;biotech=3;engineering=3" construction_time = 300 - construction_cost = list("steel"=55000,"glass"=20000,"silver"=10000) + construction_cost = list(DEFAULT_WALL_MATERIAL=55000,"glass"=20000,"silver"=10000) /obj/item/mecha_parts/part/durand_head name="Durand Head" icon_state = "durand_head" origin_tech = "programming=2;materials=3;magnets=3;engineering=3" construction_time = 200 - construction_cost = list("steel"=25000,"glass"=10000,"silver"=3000) + construction_cost = list(DEFAULT_WALL_MATERIAL=25000,"glass"=10000,"silver"=3000) /obj/item/mecha_parts/part/durand_left_arm name="Durand Left Arm" icon_state = "durand_l_arm" origin_tech = "programming=2;materials=3;engineering=3" construction_time = 200 - construction_cost = list("steel"=35000,"silver"=3000) + construction_cost = list(DEFAULT_WALL_MATERIAL=35000,"silver"=3000) /obj/item/mecha_parts/part/durand_right_arm name="Durand Right Arm" icon_state = "durand_r_arm" origin_tech = "programming=2;materials=3;engineering=3" construction_time = 200 - construction_cost = list("steel"=35000,"silver"=3000) + construction_cost = list(DEFAULT_WALL_MATERIAL=35000,"silver"=3000) /obj/item/mecha_parts/part/durand_left_leg name="Durand Left Leg" icon_state = "durand_l_leg" origin_tech = "programming=2;materials=3;engineering=3" construction_time = 200 - construction_cost = list("steel"=40000,"silver"=3000) + construction_cost = list(DEFAULT_WALL_MATERIAL=40000,"silver"=3000) /obj/item/mecha_parts/part/durand_right_leg name="Durand Right Leg" icon_state = "durand_r_leg" origin_tech = "programming=2;materials=3;engineering=3" construction_time = 200 - construction_cost = list("steel"=40000,"silver"=3000) + construction_cost = list(DEFAULT_WALL_MATERIAL=40000,"silver"=3000) /obj/item/mecha_parts/part/durand_armour name="Durand Armour Plates" icon_state = "durand_armour" origin_tech = "materials=5;combat=4;engineering=5" construction_time = 600 - construction_cost = list("steel"=50000,"uranium"=10000) + construction_cost = list(DEFAULT_WALL_MATERIAL=50000,"uranium"=10000) @@ -248,42 +248,42 @@ name="Phazon Torso" icon_state = "phazon_harness" construction_time = 300 - construction_cost = list("steel"=35000,"glass"=10000,"phoron"=20000) + construction_cost = list(DEFAULT_WALL_MATERIAL=35000,"glass"=10000,"phoron"=20000) origin_tech = "programming=5;materials=7;bluespace=6;powerstorage=6" /obj/item/mecha_parts/part/phazon_head name="Phazon Head" icon_state = "phazon_head" construction_time = 200 - construction_cost = list("steel"=15000,"glass"=5000,"phoron"=10000) + construction_cost = list(DEFAULT_WALL_MATERIAL=15000,"glass"=5000,"phoron"=10000) origin_tech = "programming=4;materials=5;magnets=6" /obj/item/mecha_parts/part/phazon_left_arm name="Phazon Left Arm" icon_state = "phazon_l_arm" construction_time = 200 - construction_cost = list("steel"=20000,"phoron"=10000) + construction_cost = list(DEFAULT_WALL_MATERIAL=20000,"phoron"=10000) origin_tech = "materials=5;bluespace=2;magnets=2" /obj/item/mecha_parts/part/phazon_right_arm name="Phazon Right Arm" icon_state = "phazon_r_arm" construction_time = 200 - construction_cost = list("steel"=20000,"phoron"=10000) + construction_cost = list(DEFAULT_WALL_MATERIAL=20000,"phoron"=10000) origin_tech = "materials=5;bluespace=2;magnets=2" /obj/item/mecha_parts/part/phazon_left_leg name="Phazon Left Leg" icon_state = "phazon_l_leg" construction_time = 200 - construction_cost = list("steel"=20000,"phoron"=10000) + construction_cost = list(DEFAULT_WALL_MATERIAL=20000,"phoron"=10000) origin_tech = "materials=5;bluespace=3;magnets=3" /obj/item/mecha_parts/part/phazon_right_leg name="Phazon Right Leg" icon_state = "phazon_r_leg" construction_time = 200 - construction_cost = list("steel"=20000,"phoron"=10000) + construction_cost = list(DEFAULT_WALL_MATERIAL=20000,"phoron"=10000) origin_tech = "materials=5;bluespace=3;magnets=3" ///////// Odysseus @@ -300,7 +300,7 @@ name="Odysseus Head" icon_state = "odysseus_head" construction_time = 100 - construction_cost = list("steel"=2000,"glass"=10000) + construction_cost = list(DEFAULT_WALL_MATERIAL=2000,"glass"=10000) origin_tech = "programming=3;materials=2" /obj/item/mecha_parts/part/odysseus_torso @@ -309,7 +309,7 @@ icon_state = "odysseus_torso" origin_tech = "programming=2;materials=2;biotech=2;engineering=2" construction_time = 180 - construction_cost = list("steel"=25000) + construction_cost = list(DEFAULT_WALL_MATERIAL=25000) /obj/item/mecha_parts/part/odysseus_left_arm name="Odysseus Left Arm" @@ -317,7 +317,7 @@ icon_state = "odysseus_l_arm" origin_tech = "programming=2;materials=2;engineering=2" construction_time = 120 - construction_cost = list("steel"=10000) + construction_cost = list(DEFAULT_WALL_MATERIAL=10000) /obj/item/mecha_parts/part/odysseus_right_arm name="Odysseus Right Arm" @@ -325,7 +325,7 @@ icon_state = "odysseus_r_arm" origin_tech = "programming=2;materials=2;engineering=2" construction_time = 120 - construction_cost = list("steel"=10000) + construction_cost = list(DEFAULT_WALL_MATERIAL=10000) /obj/item/mecha_parts/part/odysseus_left_leg name="Odysseus Left Leg" @@ -333,7 +333,7 @@ icon_state = "odysseus_l_leg" origin_tech = "programming=2;materials=2;engineering=2" construction_time = 130 - construction_cost = list("steel"=15000) + construction_cost = list(DEFAULT_WALL_MATERIAL=15000) /obj/item/mecha_parts/part/odysseus_right_leg name="Odysseus Right Leg" @@ -341,11 +341,11 @@ icon_state = "odysseus_r_leg" origin_tech = "programming=2;materials=2;engineering=2" construction_time = 130 - construction_cost = list("steel"=15000) + construction_cost = list(DEFAULT_WALL_MATERIAL=15000) /*/obj/item/mecha_parts/part/odysseus_armour name="Odysseus Carapace" icon_state = "odysseus_armour" origin_tech = "materials=3;engineering=3" construction_time = 200 - construction_cost = list("steel"=15000)*/ + construction_cost = list(DEFAULT_WALL_MATERIAL=15000)*/ diff --git a/code/game/objects/items/ashtray.dm b/code/game/objects/items/ashtray.dm index 564665ccdd..abb6adb48d 100644 --- a/code/game/objects/items/ashtray.dm +++ b/code/game/objects/items/ashtray.dm @@ -82,7 +82,7 @@ icon_broken = "ashtray_bork_bl" max_butts = 14 health = 24.0 - matter = list("steel" = 30,"glass" = 30) + matter = list(DEFAULT_WALL_MATERIAL = 30,"glass" = 30) empty_desc = "Cheap plastic ashtray." throwforce = 3.0 die() @@ -102,7 +102,7 @@ icon_broken = "ashtray_bork_br" max_butts = 10 health = 72.0 - matter = list("steel" = 80) + matter = list(DEFAULT_WALL_MATERIAL = 80) empty_desc = "Massive bronze ashtray." throwforce = 10.0 diff --git a/code/game/objects/items/devices/debugger.dm b/code/game/objects/items/devices/debugger.dm index c90b98b3e6..0e066a4817 100644 --- a/code/game/objects/items/devices/debugger.dm +++ b/code/game/objects/items/devices/debugger.dm @@ -17,7 +17,7 @@ throw_speed = 3 desc = "You can use this on airlocks or APCs to try to hack them without cutting wires." - matter = list("steel" = 50,"glass" = 20) + matter = list(DEFAULT_WALL_MATERIAL = 50,"glass" = 20) origin_tech = "magnets=1;engineering=1" var/obj/machinery/telecomms/buffer // simple machine buffer for device linkage diff --git a/code/game/objects/items/devices/flash.dm b/code/game/objects/items/devices/flash.dm index 1f1d145205..42a4967bfe 100644 --- a/code/game/objects/items/devices/flash.dm +++ b/code/game/objects/items/devices/flash.dm @@ -194,7 +194,7 @@ desc = "When a problem arises, SCIENCE is the solution." icon_state = "sflash" origin_tech = "magnets=2;combat=1" - var/construction_cost = list("steel"=750,"glass"=750) + var/construction_cost = list(DEFAULT_WALL_MATERIAL=750,"glass"=750) var/construction_time=100 /obj/item/device/flash/synthetic/attack(mob/living/M as mob, mob/user as mob) diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm index 8ea696520c..a4151f375b 100644 --- a/code/game/objects/items/devices/flashlight.dm +++ b/code/game/objects/items/devices/flashlight.dm @@ -8,7 +8,7 @@ flags = CONDUCT slot_flags = SLOT_BELT - matter = list("steel" = 50,"glass" = 20) + matter = list(DEFAULT_WALL_MATERIAL = 50,"glass" = 20) icon_action_button = "action_flashlight" var/on = 0 diff --git a/code/game/objects/items/devices/multitool.dm b/code/game/objects/items/devices/multitool.dm index beb3bbc60e..b876fbd27a 100644 --- a/code/game/objects/items/devices/multitool.dm +++ b/code/game/objects/items/devices/multitool.dm @@ -16,7 +16,7 @@ throw_speed = 3 desc = "You can use this on airlocks or APCs to try to hack them without cutting wires." - matter = list("steel" = 50,"glass" = 20) + matter = list(DEFAULT_WALL_MATERIAL = 50,"glass" = 20) origin_tech = "magnets=1;engineering=1" var/obj/machinery/telecomms/buffer // simple machine buffer for device linkage diff --git a/code/game/objects/items/devices/powersink.dm b/code/game/objects/items/devices/powersink.dm index 796ed8e0a6..21d0474a68 100644 --- a/code/game/objects/items/devices/powersink.dm +++ b/code/game/objects/items/devices/powersink.dm @@ -11,7 +11,7 @@ throw_speed = 1 throw_range = 2 - matter = list("steel" = 750,"waste" = 750) + matter = list(DEFAULT_WALL_MATERIAL = 750,"waste" = 750) origin_tech = "powerstorage=3;syndicate=5" var/drain_rate = 1500000 // amount of power to drain per tick diff --git a/code/game/objects/items/devices/radio/electropack.dm b/code/game/objects/items/devices/radio/electropack.dm index 0109b36030..e5e94fc93d 100644 --- a/code/game/objects/items/devices/radio/electropack.dm +++ b/code/game/objects/items/devices/radio/electropack.dm @@ -8,7 +8,7 @@ slot_flags = SLOT_BACK w_class = 5.0 - matter = list("steel" = 10000,"glass" = 2500) + matter = list(DEFAULT_WALL_MATERIAL = 10000,"glass" = 2500) var/code = 2 diff --git a/code/game/objects/items/devices/radio/headset.dm b/code/game/objects/items/devices/radio/headset.dm index 623f38c6b2..85f4ed4b89 100644 --- a/code/game/objects/items/devices/radio/headset.dm +++ b/code/game/objects/items/devices/radio/headset.dm @@ -4,7 +4,7 @@ var/radio_desc = "" icon_state = "headset" item_state = "headset" - matter = list("steel" = 75) + matter = list(DEFAULT_WALL_MATERIAL = 75) subspace_transmission = 1 canhear_range = 0 // can't hear headsets from very far away diff --git a/code/game/objects/items/devices/radio/radio.dm b/code/game/objects/items/devices/radio/radio.dm index d3e7265834..2018aa7919 100644 --- a/code/game/objects/items/devices/radio/radio.dm +++ b/code/game/objects/items/devices/radio/radio.dm @@ -26,7 +26,7 @@ throw_range = 9 w_class = 2 - matter = list("glass" = 25,"steel" = 75) + matter = list("glass" = 25,DEFAULT_WALL_MATERIAL = 75) var/const/FREQ_LISTENING = 1 diff --git a/code/game/objects/items/devices/scanners.dm b/code/game/objects/items/devices/scanners.dm index 1ee6d2b80b..f42a3995dc 100644 --- a/code/game/objects/items/devices/scanners.dm +++ b/code/game/objects/items/devices/scanners.dm @@ -16,7 +16,7 @@ REAGENT SCANNER w_class = 2 item_state = "electronic" - matter = list("steel" = 150) + matter = list(DEFAULT_WALL_MATERIAL = 150) origin_tech = "magnets=1;engineering=1" @@ -73,7 +73,7 @@ REAGENT SCANNER w_class = 2.0 throw_speed = 5 throw_range = 10 - matter = list("steel" = 200) + matter = list(DEFAULT_WALL_MATERIAL = 200) origin_tech = "magnets=1;biotech=1" var/mode = 1; @@ -238,7 +238,7 @@ REAGENT SCANNER throw_speed = 4 throw_range = 20 - matter = list("steel" = 30,"glass" = 20) + matter = list(DEFAULT_WALL_MATERIAL = 30,"glass" = 20) origin_tech = "magnets=1;engineering=1" @@ -285,7 +285,7 @@ REAGENT SCANNER throw_speed = 4 throw_range = 20 - matter = list("steel" = 30,"glass" = 20) + matter = list(DEFAULT_WALL_MATERIAL = 30,"glass" = 20) origin_tech = "magnets=2;biotech=2" var/details = 0 @@ -358,7 +358,7 @@ REAGENT SCANNER throwforce = 5 throw_speed = 4 throw_range = 20 - matter = list("steel" = 30,"glass" = 20) + matter = list(DEFAULT_WALL_MATERIAL = 30,"glass" = 20) origin_tech = "magnets=2;biotech=2" var/details = 0 @@ -417,7 +417,7 @@ REAGENT SCANNER throwforce = 0 throw_speed = 3 throw_range = 7 - matter = list("steel" = 30,"glass" = 20) + matter = list(DEFAULT_WALL_MATERIAL = 30,"glass" = 20) /obj/item/device/slime_scanner/attack(mob/living/M as mob, mob/living/user as mob) if (!isslime(M)) diff --git a/code/game/objects/items/devices/taperecorder.dm b/code/game/objects/items/devices/taperecorder.dm index 3ac2ed3493..35d04e4d08 100644 --- a/code/game/objects/items/devices/taperecorder.dm +++ b/code/game/objects/items/devices/taperecorder.dm @@ -5,7 +5,7 @@ item_state = "analyzer" w_class = 2.0 - matter = list("steel" = 60,"glass" = 30) + matter = list(DEFAULT_WALL_MATERIAL = 60,"glass" = 30) var/emagged = 0.0 var/recording = 0.0 diff --git a/code/game/objects/items/robot/robot_parts.dm b/code/game/objects/items/robot/robot_parts.dm index 781e54ef4e..e1ebc9fdc1 100644 --- a/code/game/objects/items/robot/robot_parts.dm +++ b/code/game/objects/items/robot/robot_parts.dm @@ -6,7 +6,7 @@ flags = CONDUCT slot_flags = SLOT_BELT var/construction_time = 100 - var/list/construction_cost = list("steel"=20000,"glass"=5000) + var/list/construction_cost = list(DEFAULT_WALL_MATERIAL=20000,"glass"=5000) var/list/part = null // Order of args is important for installing robolimbs. var/sabotaged = 0 //Emagging limbs can have repercussions when installed as prosthetics. var/model_info @@ -33,7 +33,7 @@ desc = "A skeletal limb wrapped in pseudomuscles, with a low-conductivity case." icon_state = "l_arm" construction_time = 200 - construction_cost = list("steel"=18000) + construction_cost = list(DEFAULT_WALL_MATERIAL=18000) part = list("l_arm","l_hand") model_info = 1 @@ -42,7 +42,7 @@ desc = "A skeletal limb wrapped in pseudomuscles, with a low-conductivity case." icon_state = "r_arm" construction_time = 200 - construction_cost = list("steel"=18000) + construction_cost = list(DEFAULT_WALL_MATERIAL=18000) part = list("r_arm","r_hand") model_info = 1 @@ -51,7 +51,7 @@ desc = "A skeletal limb wrapped in pseudomuscles, with a low-conductivity case." icon_state = "l_leg" construction_time = 200 - construction_cost = list("steel"=15000) + construction_cost = list(DEFAULT_WALL_MATERIAL=15000) part = list("l_leg","l_foot") model_info = 1 @@ -60,7 +60,7 @@ desc = "A skeletal limb wrapped in pseudomuscles, with a low-conductivity case." icon_state = "r_leg" construction_time = 200 - construction_cost = list("steel"=15000) + construction_cost = list(DEFAULT_WALL_MATERIAL=15000) part = list("r_leg","r_foot") model_info = 1 @@ -69,7 +69,7 @@ desc = "A heavily reinforced case containing cyborg logic boards, with space for a standard power cell." icon_state = "chest" construction_time = 350 - construction_cost = list("steel"=40000) + construction_cost = list(DEFAULT_WALL_MATERIAL=40000) var/wires = 0.0 var/obj/item/weapon/cell/cell = null @@ -78,7 +78,7 @@ desc = "A standard reinforced braincase, with spine-plugged neural socket and sensor gimbals." icon_state = "head" construction_time = 350 - construction_cost = list("steel"=25000) + construction_cost = list(DEFAULT_WALL_MATERIAL=25000) var/obj/item/device/flash/flash1 = null var/obj/item/device/flash/flash2 = null @@ -87,7 +87,7 @@ desc = "A complex metal backbone with standard limb sockets and pseudomuscle anchors." icon_state = "robo_suit" construction_time = 500 - construction_cost = list("steel"=50000) + construction_cost = list(DEFAULT_WALL_MATERIAL=50000) var/obj/item/robot_parts/l_arm/l_arm = null var/obj/item/robot_parts/r_arm/r_arm = null var/obj/item/robot_parts/l_leg/l_leg = null diff --git a/code/game/objects/items/robot/robot_upgrades.dm b/code/game/objects/items/robot/robot_upgrades.dm index 9e4acf3aed..10fb1dc6fd 100644 --- a/code/game/objects/items/robot/robot_upgrades.dm +++ b/code/game/objects/items/robot/robot_upgrades.dm @@ -7,7 +7,7 @@ icon = 'icons/obj/module.dmi' icon_state = "cyborg_upgrade" var/construction_time = 120 - var/construction_cost = list("steel"=10000) + var/construction_cost = list(DEFAULT_WALL_MATERIAL=10000) var/locked = 0 var/require_module = 0 var/installed = 0 @@ -43,7 +43,7 @@ name = "robot reclassification board" desc = "Used to rename a cyborg." icon_state = "cyborg_upgrade1" - construction_cost = list("steel"=35000) + construction_cost = list(DEFAULT_WALL_MATERIAL=35000) var/heldname = "default name" /obj/item/borg/upgrade/rename/attack_self(mob/user as mob) @@ -61,7 +61,7 @@ /obj/item/borg/upgrade/restart name = "robot emergency restart module" desc = "Used to force a restart of a disabled-but-repaired robot, bringing it back online." - construction_cost = list("steel"=60000 , "glass"=5000) + construction_cost = list(DEFAULT_WALL_MATERIAL=60000 , "glass"=5000) icon_state = "cyborg_upgrade1" @@ -85,7 +85,7 @@ /obj/item/borg/upgrade/vtec name = "robotic VTEC Module" desc = "Used to kick in a robot's VTEC systems, increasing their speed." - construction_cost = list("steel"=80000 , "glass"=6000 , "gold"= 5000) + construction_cost = list(DEFAULT_WALL_MATERIAL=80000 , "glass"=6000 , "gold"= 5000) icon_state = "cyborg_upgrade2" require_module = 1 @@ -102,7 +102,7 @@ /obj/item/borg/upgrade/tasercooler name = "robotic Rapid Taser Cooling Module" desc = "Used to cool a mounted taser, increasing the potential current in it and thus its recharge rate." - construction_cost = list("steel"=80000 , "glass"=6000 , "gold"= 2000, "diamond" = 500) + construction_cost = list(DEFAULT_WALL_MATERIAL=80000 , "glass"=6000 , "gold"= 2000, "diamond" = 500) icon_state = "cyborg_upgrade3" require_module = 1 @@ -137,7 +137,7 @@ /obj/item/borg/upgrade/jetpack name = "mining robot jetpack" desc = "A carbon dioxide jetpack suitable for low-gravity mining operations." - construction_cost = list("steel"=10000,"phoron"=15000,"uranium" = 20000) + construction_cost = list(DEFAULT_WALL_MATERIAL=10000,"phoron"=15000,"uranium" = 20000) icon_state = "cyborg_upgrade3" require_module = 1 @@ -159,7 +159,7 @@ /obj/item/borg/upgrade/syndicate/ name = "illegal equipment module" desc = "Unlocks the hidden, deadlier functions of a robot" - construction_cost = list("steel"=10000,"glass"=15000,"diamond" = 10000) + construction_cost = list(DEFAULT_WALL_MATERIAL=10000,"glass"=15000,"diamond" = 10000) icon_state = "cyborg_upgrade3" require_module = 1 diff --git a/code/game/objects/items/stacks/rods.dm b/code/game/objects/items/stacks/rods.dm index b2a31ecc84..e3bbce8386 100644 --- a/code/game/objects/items/stacks/rods.dm +++ b/code/game/objects/items/stacks/rods.dm @@ -9,7 +9,7 @@ throwforce = 15.0 throw_speed = 5 throw_range = 20 - matter = list("steel" = 1875) + matter = list(DEFAULT_WALL_MATERIAL = 1875) max_amount = 60 attack_verb = list("hit", "bludgeoned", "whacked") diff --git a/code/game/objects/items/stacks/sheets/glass.dm b/code/game/objects/items/stacks/sheets/glass.dm index 7d479edebc..a4d9e631e8 100644 --- a/code/game/objects/items/stacks/sheets/glass.dm +++ b/code/game/objects/items/stacks/sheets/glass.dm @@ -144,7 +144,7 @@ singular_name = "reinforced glass sheet" icon_state = "sheet-rglass" - matter = list("steel" = 1875,"glass" = 3750) + matter = list(DEFAULT_WALL_MATERIAL = 1875,"glass" = 3750) origin_tech = "materials=2" created_window = /obj/structure/window/reinforced @@ -200,7 +200,7 @@ desc = "Phoron glass which has been reinforced with metal rods." singular_name = "reinforced phoron glass sheet" icon_state = "sheet-phoronrglass" - matter = list("glass" = 7500,"steel" = 1875) + matter = list("glass" = 7500,DEFAULT_WALL_MATERIAL = 1875) origin_tech = "materials=4;phorontech=2" created_window = /obj/structure/window/phoronreinforced diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index abaf5b5195..1fefeca1ab 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -80,15 +80,15 @@ var/global/list/datum/stack_recipe/metal_recipes = list ( \ ) /obj/item/stack/sheet/metal - name = "steel" + name = DEFAULT_WALL_MATERIAL desc = "Sheets made out off steel." singular_name = "metal sheet" icon_state = "sheet-metal" - matter = list("steel" = 3750) + matter = list(DEFAULT_WALL_MATERIAL = 3750) throwforce = 14.0 flags = CONDUCT origin_tech = "materials=1" - sheettype = "steel" + sheettype = DEFAULT_WALL_MATERIAL /obj/item/stack/sheet/metal/cyborg name = "steel synthesizer" @@ -121,7 +121,7 @@ var/global/list/datum/stack_recipe/plasteel_recipes = list ( \ desc = "This sheet is an alloy of iron and platinum." icon_state = "sheet-plasteel" item_state = "sheet-metal" - matter = list("steel" = 7500) + matter = list(DEFAULT_WALL_MATERIAL = 7500) throwforce = 15.0 flags = CONDUCT origin_tech = "materials=2" diff --git a/code/game/objects/items/stacks/tiles/plasteel.dm b/code/game/objects/items/stacks/tiles/plasteel.dm index 8fae680820..86af65a2fa 100644 --- a/code/game/objects/items/stacks/tiles/plasteel.dm +++ b/code/game/objects/items/stacks/tiles/plasteel.dm @@ -4,7 +4,7 @@ desc = "Those could work as a pretty decent throwing weapon" icon_state = "tile" force = 6.0 - matter = list("steel" = 937.5) + matter = list(DEFAULT_WALL_MATERIAL = 937.5) throwforce = 15.0 throw_speed = 5 throw_range = 20 diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index 8bd8289168..5f5fbff188 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -146,7 +146,7 @@ slot_flags = SLOT_BELT|SLOT_HOLSTER w_class = 3.0 - matter = list("glass" = 10,"steel" = 10) + matter = list("glass" = 10,DEFAULT_WALL_MATERIAL = 10) attack_verb = list("struck", "pistol whipped", "hit", "bashed") var/bullets = 7.0 @@ -201,7 +201,7 @@ flags = CONDUCT w_class = 1.0 - matter = list("steel" = 10,"glass" = 10) + matter = list(DEFAULT_WALL_MATERIAL = 10,"glass" = 10) var/amount_left = 7.0 diff --git a/code/game/objects/items/weapons/RCD.dm b/code/game/objects/items/weapons/RCD.dm index 202b5e2576..da169c6dfc 100644 --- a/code/game/objects/items/weapons/RCD.dm +++ b/code/game/objects/items/weapons/RCD.dm @@ -13,7 +13,7 @@ throw_speed = 1 throw_range = 5 w_class = 3.0 - matter = list("steel" = 50000) + matter = list(DEFAULT_WALL_MATERIAL = 50000) origin_tech = "engineering=4;materials=2" var/datum/effect/effect/system/spark_spread/spark_system var/stored_matter = 0 @@ -159,7 +159,7 @@ density = 0 anchored = 0.0 origin_tech = "materials=2" - matter = list("steel" = 30000,"glass" = 15000) + matter = list(DEFAULT_WALL_MATERIAL = 30000,"glass" = 15000) /obj/item/weapon/rcd/borg canRwall = 1 diff --git a/code/game/objects/items/weapons/extinguisher.dm b/code/game/objects/items/weapons/extinguisher.dm index eed2538e00..d787921c18 100644 --- a/code/game/objects/items/weapons/extinguisher.dm +++ b/code/game/objects/items/weapons/extinguisher.dm @@ -11,7 +11,7 @@ throw_speed = 2 throw_range = 10 force = 10.0 - matter = list("steel" = 90) + matter = list(DEFAULT_WALL_MATERIAL = 90) attack_verb = list("slammed", "whacked", "bashed", "thunked", "battered", "bludgeoned", "thrashed") var/spray_particles = 6 diff --git a/code/game/objects/items/weapons/flamethrower.dm b/code/game/objects/items/weapons/flamethrower.dm index 3f8900e6b8..a8d03b9539 100644 --- a/code/game/objects/items/weapons/flamethrower.dm +++ b/code/game/objects/items/weapons/flamethrower.dm @@ -10,7 +10,7 @@ throw_speed = 1 throw_range = 5 w_class = 3.0 - matter = list("steel" = 500) + matter = list(DEFAULT_WALL_MATERIAL = 500) origin_tech = "combat=1;phorontech=1" var/status = 0 var/throw_amount = 100 diff --git a/code/game/objects/items/weapons/handcuffs.dm b/code/game/objects/items/weapons/handcuffs.dm index 4c042bbdeb..af8ab05d34 100644 --- a/code/game/objects/items/weapons/handcuffs.dm +++ b/code/game/objects/items/weapons/handcuffs.dm @@ -10,7 +10,7 @@ w_class = 2.0 throw_speed = 2 throw_range = 5 - matter = list("steel" = 500) + matter = list(DEFAULT_WALL_MATERIAL = 500) origin_tech = "materials=1" var/dispenser = 0 var/breakouttime = 1200 //Deciseconds = 120s = 2 minutes diff --git a/code/game/objects/items/weapons/kitchen.dm b/code/game/objects/items/weapons/kitchen.dm index f47083c2a8..4eef78e45c 100644 --- a/code/game/objects/items/weapons/kitchen.dm +++ b/code/game/objects/items/weapons/kitchen.dm @@ -145,7 +145,7 @@ throwforce = 6.0 throw_speed = 3 throw_range = 6 - matter = list("steel" = 12000) + matter = list(DEFAULT_WALL_MATERIAL = 12000) origin_tech = "materials=1" attack_verb = list("slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") @@ -175,7 +175,7 @@ throwforce = 8.0 throw_speed = 3 throw_range = 6 - matter = list("steel" = 12000) + matter = list(DEFAULT_WALL_MATERIAL = 12000) origin_tech = "materials=1" attack_verb = list("cleaved", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") sharp = 1 @@ -247,7 +247,7 @@ throw_range = 5 w_class = 3.0 flags = CONDUCT - matter = list("steel" = 3000) + matter = list(DEFAULT_WALL_MATERIAL = 3000) /* // NOPE var/food_total= 0 var/burger_amt = 0 diff --git a/code/game/objects/items/weapons/paint.dm b/code/game/objects/items/weapons/paint.dm index e1a392c2d9..8e5e61aa24 100644 --- a/code/game/objects/items/weapons/paint.dm +++ b/code/game/objects/items/weapons/paint.dm @@ -9,7 +9,7 @@ var/global/list/cached_icons = list() icon = 'icons/obj/items.dmi' icon_state = "paint_neutral" item_state = "paintcan" - matter = list("steel" = 200) + matter = list(DEFAULT_WALL_MATERIAL = 200) w_class = 3.0 amount_per_transfer_from_this = 10 possible_transfer_amounts = list(10,20,30,60) diff --git a/code/game/objects/items/weapons/power_cells.dm b/code/game/objects/items/weapons/power_cells.dm index e9627f1c61..5f7336089d 100644 --- a/code/game/objects/items/weapons/power_cells.dm +++ b/code/game/objects/items/weapons/power_cells.dm @@ -14,9 +14,9 @@ var/maxcharge = 1000 var/rigged = 0 // true if rigged to explode var/minor_fault = 0 //If not 100% reliable, it will build up faults. - var/construction_cost = list("steel"=750,"glass"=75) + var/construction_cost = list(DEFAULT_WALL_MATERIAL=750,"glass"=75) var/construction_time=100 - matter = list("steel" = 700, "glass" = 50) + matter = list(DEFAULT_WALL_MATERIAL = 700, "glass" = 50) suicide_act(mob/user) viewers(user) << "\red [user] is licking the electrodes of the [src.name]! It looks like \he's trying to commit suicide." @@ -27,7 +27,7 @@ desc = "You can't top the plasma top." //TOTALLY TRADEMARK INFRINGEMENT origin_tech = "powerstorage=0" maxcharge = 500 - matter = list("steel" = 700, "glass" = 40) + matter = list(DEFAULT_WALL_MATERIAL = 700, "glass" = 40) /obj/item/weapon/cell/crap/empty/New() ..() @@ -37,7 +37,7 @@ name = "security borg rechargable D battery" origin_tech = "powerstorage=0" maxcharge = 600 //600 max charge / 100 charge per shot = six shots - matter = list("steel" = 700, "glass" = 40) + matter = list(DEFAULT_WALL_MATERIAL = 700, "glass" = 40) /obj/item/weapon/cell/secborg/empty/New() ..() @@ -47,14 +47,14 @@ name = "heavy-duty power cell" origin_tech = "powerstorage=1" maxcharge = 5000 - matter = list("steel" = 700, "glass" = 50) + matter = list(DEFAULT_WALL_MATERIAL = 700, "glass" = 50) /obj/item/weapon/cell/high name = "high-capacity power cell" origin_tech = "powerstorage=2" icon_state = "hcell" maxcharge = 10000 - matter = list("steel" = 700, "glass" = 60) + matter = list(DEFAULT_WALL_MATERIAL = 700, "glass" = 60) /obj/item/weapon/cell/high/empty/New() ..() @@ -65,8 +65,8 @@ origin_tech = "powerstorage=5" icon_state = "scell" maxcharge = 20000 - matter = list("steel" = 700, "glass" = 70) - construction_cost = list("steel"=750,"glass"=100) + matter = list(DEFAULT_WALL_MATERIAL = 700, "glass" = 70) + construction_cost = list(DEFAULT_WALL_MATERIAL=750,"glass"=100) /obj/item/weapon/cell/super/empty/New() ..() @@ -77,8 +77,8 @@ origin_tech = "powerstorage=6" icon_state = "hpcell" maxcharge = 30000 - matter = list("steel" = 700, "glass" = 80) - construction_cost = list("steel"=500,"glass"=150,"gold"=200,"silver"=200) + matter = list(DEFAULT_WALL_MATERIAL = 700, "glass" = 80) + construction_cost = list(DEFAULT_WALL_MATERIAL=500,"glass"=150,"gold"=200,"silver"=200) /obj/item/weapon/cell/hyper/empty/New() ..() @@ -89,7 +89,7 @@ icon_state = "icell" origin_tech = null maxcharge = 30000 - matter = list("steel" = 700, "glass" = 80) + matter = list(DEFAULT_WALL_MATERIAL = 700, "glass" = 80) use() return 1 diff --git a/code/game/objects/items/weapons/shields.dm b/code/game/objects/items/weapons/shields.dm index 1e98ebef0b..436eea0339 100644 --- a/code/game/objects/items/weapons/shields.dm +++ b/code/game/objects/items/weapons/shields.dm @@ -13,7 +13,7 @@ throw_speed = 1 throw_range = 4 w_class = 4.0 - matter = list("glass" = 7500, "steel" = 1000) + matter = list("glass" = 7500, DEFAULT_WALL_MATERIAL = 1000) origin_tech = "materials=2" attack_verb = list("shoved", "bashed") var/cooldown = 0 //shield bash cooldown. based on world.time diff --git a/code/game/objects/items/weapons/surgery_tools.dm b/code/game/objects/items/weapons/surgery_tools.dm index c941f1e0d4..55d233e3bc 100644 --- a/code/game/objects/items/weapons/surgery_tools.dm +++ b/code/game/objects/items/weapons/surgery_tools.dm @@ -16,7 +16,7 @@ desc = "Retracts stuff." icon = 'icons/obj/surgery.dmi' icon_state = "retractor" - matter = list("steel" = 10000, "glass" = 5000) + matter = list(DEFAULT_WALL_MATERIAL = 10000, "glass" = 5000) flags = CONDUCT w_class = 2.0 origin_tech = "materials=1;biotech=1" @@ -29,7 +29,7 @@ desc = "You think you have seen this before." icon = 'icons/obj/surgery.dmi' icon_state = "hemostat" - matter = list("steel" = 5000, "glass" = 2500) + matter = list(DEFAULT_WALL_MATERIAL = 5000, "glass" = 2500) flags = CONDUCT w_class = 2.0 origin_tech = "materials=1;biotech=1" @@ -43,7 +43,7 @@ desc = "This stops bleeding." icon = 'icons/obj/surgery.dmi' icon_state = "cautery" - matter = list("steel" = 5000, "glass" = 2500) + matter = list(DEFAULT_WALL_MATERIAL = 5000, "glass" = 2500) flags = CONDUCT w_class = 2.0 origin_tech = "materials=1;biotech=1" @@ -58,7 +58,7 @@ icon = 'icons/obj/surgery.dmi' icon_state = "drill" hitsound = 'sound/weapons/circsawhit.ogg' - matter = list("steel" = 15000, "glass" = 10000) + matter = list(DEFAULT_WALL_MATERIAL = 15000, "glass" = 10000) flags = CONDUCT force = 15.0 w_class = 2.0 @@ -86,7 +86,7 @@ throwforce = 5.0 throw_speed = 3 throw_range = 5 - matter = list("steel" = 10000, "glass" = 5000) + matter = list(DEFAULT_WALL_MATERIAL = 10000, "glass" = 5000) origin_tech = "materials=1;biotech=1" attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") @@ -140,7 +140,7 @@ throwforce = 9.0 throw_speed = 3 throw_range = 5 - matter = list("steel" = 20000,"glass" = 10000) + matter = list(DEFAULT_WALL_MATERIAL = 20000,"glass" = 10000) origin_tech = "materials=1;biotech=1" attack_verb = list("attacked", "slashed", "sawed", "cut") sharp = 1 diff --git a/code/game/objects/items/weapons/table_rack_parts.dm b/code/game/objects/items/weapons/table_rack_parts.dm index d8475bdb25..8437a5e29f 100644 --- a/code/game/objects/items/weapons/table_rack_parts.dm +++ b/code/game/objects/items/weapons/table_rack_parts.dm @@ -6,7 +6,7 @@ gender = PLURAL icon = 'icons/obj/items.dmi' icon_state = "table_parts" - matter = list("steel" = 3750) + matter = list(DEFAULT_WALL_MATERIAL = 3750) flags = CONDUCT attack_verb = list("slammed", "bashed", "battered", "bludgeoned", "thrashed", "whacked") @@ -49,7 +49,7 @@ desc = "Hard table parts. Well... harder." icon = 'icons/obj/items.dmi' icon_state = "reinf_tableparts" - matter = list("steel" = 7500) + matter = list(DEFAULT_WALL_MATERIAL = 7500) flags = CONDUCT stack_types = list(/obj/item/stack/sheet/metal, /obj/item/stack/rods) diff --git a/code/game/objects/items/weapons/teleportation.dm b/code/game/objects/items/weapons/teleportation.dm index d085d1813a..996be52663 100644 --- a/code/game/objects/items/weapons/teleportation.dm +++ b/code/game/objects/items/weapons/teleportation.dm @@ -21,7 +21,7 @@ item_state = "electronic" throw_speed = 4 throw_range = 20 - matter = list("steel" = 400) + matter = list(DEFAULT_WALL_MATERIAL = 400) origin_tech = "magnets=1" /obj/item/weapon/locator/attack_self(mob/user as mob) @@ -132,7 +132,7 @@ Frequency: w_class = 2.0 throw_speed = 3 throw_range = 5 - matter = list("steel" = 10000) + matter = list(DEFAULT_WALL_MATERIAL = 10000) origin_tech = "magnets=1;bluespace=3" /obj/item/weapon/hand_tele/attack_self(mob/user as mob) diff --git a/code/game/objects/items/weapons/tools.dm b/code/game/objects/items/weapons/tools.dm index 0af08c5b4b..91b5ff6027 100644 --- a/code/game/objects/items/weapons/tools.dm +++ b/code/game/objects/items/weapons/tools.dm @@ -24,7 +24,7 @@ force = 5.0 throwforce = 7.0 w_class = 2.0 - matter = list("steel" = 150) + matter = list(DEFAULT_WALL_MATERIAL = 150) origin_tech = "materials=1;engineering=1" attack_verb = list("bashed", "battered", "bludgeoned", "whacked") @@ -44,7 +44,7 @@ throwforce = 5.0 throw_speed = 3 throw_range = 5 - matter = list("steel" = 75) + matter = list(DEFAULT_WALL_MATERIAL = 75) attack_verb = list("stabbed") suicide_act(mob/user) @@ -102,7 +102,7 @@ throw_speed = 2 throw_range = 9 w_class = 2.0 - matter = list("steel" = 80) + matter = list(DEFAULT_WALL_MATERIAL = 80) origin_tech = "materials=1;engineering=1" attack_verb = list("pinched", "nipped") sharp = 1 @@ -144,7 +144,7 @@ w_class = 2.0 //Cost to make in the autolathe - matter = list("steel" = 70, "glass" = 30) + matter = list(DEFAULT_WALL_MATERIAL = 70, "glass" = 30) //R&D tech level origin_tech = "engineering=1" @@ -403,21 +403,21 @@ /obj/item/weapon/weldingtool/largetank name = "industrial welding tool" max_fuel = 40 - matter = list("steel" = 70, "glass" = 60) + matter = list(DEFAULT_WALL_MATERIAL = 70, "glass" = 60) origin_tech = "engineering=2" /obj/item/weapon/weldingtool/hugetank name = "upgraded welding tool" max_fuel = 80 w_class = 3.0 - matter = list("steel" = 70, "glass" = 120) + matter = list(DEFAULT_WALL_MATERIAL = 70, "glass" = 120) origin_tech = "engineering=3" /obj/item/weapon/weldingtool/experimental name = "experimental welding tool" max_fuel = 40 w_class = 3.0 - matter = list("steel" = 70, "glass" = 120) + matter = list(DEFAULT_WALL_MATERIAL = 70, "glass" = 120) origin_tech = "engineering=4;phorontech=3" var/last_gen = 0 @@ -444,7 +444,7 @@ throwforce = 7.0 item_state = "crowbar" w_class = 2.0 - matter = list("steel" = 50) + matter = list(DEFAULT_WALL_MATERIAL = 50) origin_tech = "engineering=1" attack_verb = list("attacked", "bashed", "battered", "bludgeoned", "whacked") diff --git a/code/game/objects/items/weapons/weaponry.dm b/code/game/objects/items/weapons/weaponry.dm index b6cc5bfb96..fbbc731f2a 100644 --- a/code/game/objects/items/weapons/weaponry.dm +++ b/code/game/objects/items/weapons/weaponry.dm @@ -185,14 +185,14 @@ desc = "A knife blade. Unusable as a weapon without a grip." icon = 'icons/obj/buildingobject.dmi' icon_state = "butterfly2" - matter = list("steel" = 5000) + matter = list(DEFAULT_WALL_MATERIAL = 5000) /obj/item/butterflyhandle name = "concealed knife grip" desc = "A plasteel grip with screw fittings for a blade." icon = 'icons/obj/buildingobject.dmi' icon_state = "butterfly1" - matter = list("steel" = 4000) + matter = list(DEFAULT_WALL_MATERIAL = 4000) /obj/item/butterflyhandle/attackby(obj/item/W as obj, mob/user as mob) if(istype(W,/obj/item/butterflyblade)) @@ -276,7 +276,7 @@ obj/item/weapon/wirerod/attackby(var/obj/item/I, mob/user as mob) throw_range = 15 sharp = 1 edge = 1 - matter = list("steel" = 500) + matter = list(DEFAULT_WALL_MATERIAL = 500) var/poisoned = 0 diff --git a/code/game/objects/structures/mineral_doors.dm b/code/game/objects/structures/mineral_doors.dm index 60f6ee333d..17b2646fb9 100644 --- a/code/game/objects/structures/mineral_doors.dm +++ b/code/game/objects/structures/mineral_doors.dm @@ -10,7 +10,7 @@ icon = 'icons/obj/doors/mineral_doors.dmi' icon_state = "metal" - var/mineralType = "steel" + var/mineralType = DEFAULT_WALL_MATERIAL var/state = 0 //closed, 1 == open var/isSwitchingStates = 0 var/hardness = 1 diff --git a/code/game/turfs/simulated/floor.dm b/code/game/turfs/simulated/floor.dm index 18add6c991..bb7d93fbf1 100644 --- a/code/game/turfs/simulated/floor.dm +++ b/code/game/turfs/simulated/floor.dm @@ -41,7 +41,7 @@ var/list/wood_icons = list("wood","wood-broken") var/lava = 0 var/broken = 0 var/burnt = 0 - var/mineral = "steel" + var/mineral = DEFAULT_WALL_MATERIAL var/floor_type = /obj/item/stack/tile/plasteel var/lightfloor_state // for light floors, this is the state of the tile. 0-7, 0x4 is on-bit - use the helper procs below diff --git a/code/game/turfs/simulated/wall_icon.dm b/code/game/turfs/simulated/wall_icon.dm index 50aaa849f4..b02311ee98 100644 --- a/code/game/turfs/simulated/wall_icon.dm +++ b/code/game/turfs/simulated/wall_icon.dm @@ -8,7 +8,7 @@ else construction_stage = null if(!material) - material = name_to_material["steel"] + material = name_to_material[DEFAULT_WALL_MATERIAL] if(material) explosion_resistance = material.explosion_resistance if(reinf_material && reinf_material.explosion_resistance > explosion_resistance) diff --git a/code/game/turfs/simulated/wall_types.dm b/code/game/turfs/simulated/wall_types.dm index 22909cc0e7..dc9346e323 100644 --- a/code/game/turfs/simulated/wall_types.dm +++ b/code/game/turfs/simulated/wall_types.dm @@ -1,7 +1,7 @@ /turf/simulated/wall/r_wall icon_state = "rgeneric" /turf/simulated/wall/r_wall/New(var/newloc) - ..(newloc, "steel","plasteel") //3strong + ..(newloc, DEFAULT_WALL_MATERIAL,"plasteel") //3strong /turf/simulated/wall/cult icon_state = "cult" /turf/simulated/wall/cult/New(var/newloc) diff --git a/code/game/turfs/simulated/walls.dm b/code/game/turfs/simulated/walls.dm index 09cc6c3322..b04bb4749d 100644 --- a/code/game/turfs/simulated/walls.dm +++ b/code/game/turfs/simulated/walls.dm @@ -28,7 +28,7 @@ var/list/global/wall_cache = list() if(!name_to_material) populate_material_list() if(!materialtype) - materialtype = "steel" + materialtype = DEFAULT_WALL_MATERIAL material = name_to_material[materialtype] if(!isnull(rmaterialtype)) reinf_material = name_to_material[rmaterialtype] diff --git a/code/modules/assembly/assembly.dm b/code/modules/assembly/assembly.dm index 1d0fdf00d9..e73856b85f 100644 --- a/code/modules/assembly/assembly.dm +++ b/code/modules/assembly/assembly.dm @@ -5,7 +5,7 @@ icon_state = "" flags = CONDUCT w_class = 2.0 - matter = list("steel" = 100) + matter = list(DEFAULT_WALL_MATERIAL = 100) throwforce = 2 throw_speed = 3 throw_range = 10 diff --git a/code/modules/assembly/igniter.dm b/code/modules/assembly/igniter.dm index fb6d02c123..d44f45fa97 100644 --- a/code/modules/assembly/igniter.dm +++ b/code/modules/assembly/igniter.dm @@ -2,7 +2,7 @@ name = "igniter" desc = "A small electronic device able to ignite combustable substances." icon_state = "igniter" - matter = list("steel" = 500, "glass" = 50, "waste" = 10) + matter = list(DEFAULT_WALL_MATERIAL = 500, "glass" = 50, "waste" = 10) origin_tech = "magnets=1" secured = 1 diff --git a/code/modules/assembly/infrared.dm b/code/modules/assembly/infrared.dm index acf5597ade..d163a9d29f 100644 --- a/code/modules/assembly/infrared.dm +++ b/code/modules/assembly/infrared.dm @@ -4,7 +4,7 @@ name = "infrared emitter" desc = "Emits a visible or invisible beam and is triggered when the beam is interrupted." icon_state = "infrared" - matter = list("steel" = 1000, "glass" = 500, "waste" = 100) + matter = list(DEFAULT_WALL_MATERIAL = 1000, "glass" = 500, "waste" = 100) origin_tech = "magnets=2" wires = WIRE_PULSE diff --git a/code/modules/assembly/mousetrap.dm b/code/modules/assembly/mousetrap.dm index 9753ba124f..a2cbe632c7 100644 --- a/code/modules/assembly/mousetrap.dm +++ b/code/modules/assembly/mousetrap.dm @@ -2,7 +2,7 @@ name = "mousetrap" desc = "A handy little spring-loaded trap for catching pesty rodents." icon_state = "mousetrap" - matter = list("steel" = 100, "waste" = 10) + matter = list(DEFAULT_WALL_MATERIAL = 100, "waste" = 10) origin_tech = "combat=1" var/armed = 0 diff --git a/code/modules/assembly/proximity.dm b/code/modules/assembly/proximity.dm index 998e122e55..39bf3f2fcc 100644 --- a/code/modules/assembly/proximity.dm +++ b/code/modules/assembly/proximity.dm @@ -2,7 +2,7 @@ name = "proximity sensor" desc = "Used for scanning and alerting when someone enters a certain proximity." icon_state = "prox" - matter = list("steel" = 800, "glass" = 200, "waste" = 50) + matter = list(DEFAULT_WALL_MATERIAL = 800, "glass" = 200, "waste" = 50) origin_tech = "magnets=1" wires = WIRE_PULSE diff --git a/code/modules/assembly/signaler.dm b/code/modules/assembly/signaler.dm index 4b7e00eef2..4d93ad26ee 100644 --- a/code/modules/assembly/signaler.dm +++ b/code/modules/assembly/signaler.dm @@ -3,7 +3,7 @@ desc = "Used to remotely activate devices." icon_state = "signaller" item_state = "signaler" - matter = list("steel" = 1000, "glass" = 200, "waste" = 100) + matter = list(DEFAULT_WALL_MATERIAL = 1000, "glass" = 200, "waste" = 100) origin_tech = "magnets=1" wires = WIRE_RECEIVE | WIRE_PULSE | WIRE_RADIO_PULSE | WIRE_RADIO_RECEIVE diff --git a/code/modules/assembly/timer.dm b/code/modules/assembly/timer.dm index b6f48d1f0f..d4fb73a764 100644 --- a/code/modules/assembly/timer.dm +++ b/code/modules/assembly/timer.dm @@ -2,7 +2,7 @@ name = "timer" desc = "Used to time things. Works well with contraptions which has to count down. Tick tock." icon_state = "timer" - matter = list("steel" = 500, "glass" = 50, "waste" = 10) + matter = list(DEFAULT_WALL_MATERIAL = 500, "glass" = 50, "waste" = 10) origin_tech = "magnets=1" wires = WIRE_PULSE diff --git a/code/modules/assembly/voice.dm b/code/modules/assembly/voice.dm index 586f4098db..ca33f9d106 100644 --- a/code/modules/assembly/voice.dm +++ b/code/modules/assembly/voice.dm @@ -2,7 +2,7 @@ name = "voice analyzer" desc = "A small electronic device able to record a voice sample, and send a signal when that sample is repeated." icon_state = "voice" - matter = list("steel" = 500, "glass" = 50, "waste" = 10) + matter = list(DEFAULT_WALL_MATERIAL = 500, "glass" = 50, "waste" = 10) origin_tech = "magnets=1" var/listening = 0 var/recorded //the activation message diff --git a/code/modules/clothing/head/misc_special.dm b/code/modules/clothing/head/misc_special.dm index efbaf05db8..1a0052d316 100644 --- a/code/modules/clothing/head/misc_special.dm +++ b/code/modules/clothing/head/misc_special.dm @@ -17,7 +17,7 @@ icon_state = "welding" flags = HEADCOVERSEYES | HEADCOVERSMOUTH item_state = "welding" - matter = list("steel" = 3000, "glass" = 1000) + matter = list(DEFAULT_WALL_MATERIAL = 3000, "glass" = 1000) var/up = 0 armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) flags_inv = (HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE) diff --git a/code/modules/clothing/spacesuits/rig/modules/modules.dm b/code/modules/clothing/spacesuits/rig/modules/modules.dm index bba895039c..3eaf324709 100644 --- a/code/modules/clothing/spacesuits/rig/modules/modules.dm +++ b/code/modules/clothing/spacesuits/rig/modules/modules.dm @@ -13,7 +13,7 @@ desc = "It looks pretty sciency." icon = 'icons/obj/rig_modules.dmi' icon_state = "module" - matter = list("steel" = 20000, "plastic" = 30000, "glass" = 5000) + matter = list(DEFAULT_WALL_MATERIAL = 20000, "plastic" = 30000, "glass" = 5000) var/damage = 0 var/obj/item/weapon/rig/holder diff --git a/code/modules/hydroponics/trays/tray_reagents.dm b/code/modules/hydroponics/trays/tray_reagents.dm index 31eed72da0..8dac48ca8a 100644 --- a/code/modules/hydroponics/trays/tray_reagents.dm +++ b/code/modules/hydroponics/trays/tray_reagents.dm @@ -58,7 +58,7 @@ force = 5.0 throwforce = 7.0 w_class = 2.0 - matter = list("steel" = 50) + matter = list(DEFAULT_WALL_MATERIAL = 50) attack_verb = list("slashed", "sliced", "cut", "clawed") diff --git a/code/modules/hydroponics/trays/tray_tools.dm b/code/modules/hydroponics/trays/tray_tools.dm index 82a1c4ba8a..934cc119fc 100644 --- a/code/modules/hydroponics/trays/tray_tools.dm +++ b/code/modules/hydroponics/trays/tray_tools.dm @@ -215,7 +215,7 @@ force = 5.0 throwforce = 7.0 w_class = 2.0 - matter = list("steel" = 50) + matter = list(DEFAULT_WALL_MATERIAL = 50) attack_verb = list("slashed", "sliced", "cut", "clawed") //Hatchets and things to kill kudzu @@ -232,7 +232,7 @@ throw_range = 4 sharp = 1 edge = 1 - matter = list("steel" = 15000) + matter = list(DEFAULT_WALL_MATERIAL = 15000) origin_tech = "materials=2;combat=1" attack_verb = list("chopped", "torn", "cut") diff --git a/code/modules/materials/materials.dm b/code/modules/materials/materials.dm index 649cb86500..04e8d485ba 100644 --- a/code/modules/materials/materials.dm +++ b/code/modules/materials/materials.dm @@ -95,7 +95,7 @@ var/list/name_to_material icon_colour = "#D9C179" /material/steel - name = "steel" + name = DEFAULT_WALL_MATERIAL stack_type = /obj/item/stack/sheet/metal icon_base = "solid" icon_reinf = "reinf_over" diff --git a/code/modules/mining/alloys.dm b/code/modules/mining/alloys.dm index ce29725d87..6495d706b4 100644 --- a/code/modules/mining/alloys.dm +++ b/code/modules/mining/alloys.dm @@ -19,7 +19,7 @@ product = /obj/item/stack/sheet/plasteel /datum/alloy/steel - metaltag = "steel" + metaltag = DEFAULT_WALL_MATERIAL requires = list( "coal" = 1, "hematite" = 1 diff --git a/code/modules/mining/drilling/scanner.dm b/code/modules/mining/drilling/scanner.dm index 5a948e7b6f..6903256d92 100644 --- a/code/modules/mining/drilling/scanner.dm +++ b/code/modules/mining/drilling/scanner.dm @@ -4,7 +4,7 @@ icon = 'icons/obj/device.dmi' icon_state = "forensic0-old" //GET A BETTER SPRITE. item_state = "electronic" - matter = list("steel" = 150) + matter = list(DEFAULT_WALL_MATERIAL = 150) origin_tech = "magnets=1;engineering=1" /obj/item/weapon/mining_scanner/attack_self(mob/user as mob) diff --git a/code/modules/mining/machine_stacking.dm b/code/modules/mining/machine_stacking.dm index 39a02dbdb2..e9f193cd73 100644 --- a/code/modules/mining/machine_stacking.dm +++ b/code/modules/mining/machine_stacking.dm @@ -89,8 +89,8 @@ stack_storage["glass"] = 0 stack_paths["glass"] = /obj/item/stack/sheet/glass - stack_storage["steel"] = 0 - stack_paths["steel"] = /obj/item/stack/sheet/metal + stack_storage[DEFAULT_WALL_MATERIAL] = 0 + stack_paths[DEFAULT_WALL_MATERIAL] = /obj/item/stack/sheet/metal stack_storage["plasteel"] = 0 stack_paths["plasteel"] = /obj/item/stack/sheet/plasteel diff --git a/code/modules/mining/mine_items.dm b/code/modules/mining/mine_items.dm index 5295c26bd4..02b1a77174 100644 --- a/code/modules/mining/mine_items.dm +++ b/code/modules/mining/mine_items.dm @@ -49,7 +49,7 @@ icon_state = "pickaxe" item_state = "jackhammer" w_class = 4.0 - matter = list("steel" = 3750) + matter = list(DEFAULT_WALL_MATERIAL = 3750) var/digspeed = 40 //moving the delay to an item var so R&D can make improved picks. --NEO origin_tech = "materials=1;engineering=1" attack_verb = list("hit", "pierced", "sliced", "attacked") @@ -152,7 +152,7 @@ throwforce = 4.0 item_state = "shovel" w_class = 3.0 - matter = list("steel" = 50) + matter = list(DEFAULT_WALL_MATERIAL = 50) origin_tech = "materials=1;engineering=1" attack_verb = list("bashed", "bludgeoned", "thrashed", "whacked") sharp = 0 diff --git a/code/modules/mining/mint.dm b/code/modules/mining/mint.dm index 35ad4793e4..5d989d1ce1 100644 --- a/code/modules/mining/mint.dm +++ b/code/modules/mining/mint.dm @@ -17,7 +17,7 @@ var/amt_uranium = 0 var/newCoins = 0 //how many coins the machine made in it's last load var/processing = 0 - var/chosen = "steel" //which material will be used to make coins + var/chosen = DEFAULT_WALL_MATERIAL //which material will be used to make coins var/coinsToProduce = 10 @@ -81,7 +81,7 @@ else dat += text("Choose") dat += text("
Iron inserted: [amt_iron] ") - if (chosen == "steel") + if (chosen == DEFAULT_WALL_MATERIAL) dat += text("chosen") else dat += text("Choose") @@ -133,7 +133,7 @@ icon_state = "coinpress1" var/obj/item/weapon/moneybag/M switch(chosen) - if("steel") + if(DEFAULT_WALL_MATERIAL) while(amt_iron > 0 && coinsToProduce > 0) if (locate(/obj/item/weapon/moneybag,output.loc)) M = locate(/obj/item/weapon/moneybag,output.loc) diff --git a/code/modules/mob/living/carbon/brain/MMI.dm b/code/modules/mob/living/carbon/brain/MMI.dm index 1f793c5525..4e9ef55280 100644 --- a/code/modules/mob/living/carbon/brain/MMI.dm +++ b/code/modules/mob/living/carbon/brain/MMI.dm @@ -25,7 +25,7 @@ w_class = 3 origin_tech = "biotech=3" - var/list/construction_cost = list("steel"=1000,"glass"=500) + var/list/construction_cost = list(DEFAULT_WALL_MATERIAL=1000,"glass"=500) var/construction_time = 75 //these vars are so the mecha fabricator doesn't shit itself anymore. --NEO diff --git a/code/modules/mob/living/carbon/brain/posibrain.dm b/code/modules/mob/living/carbon/brain/posibrain.dm index 9f51220886..b9ff795aaa 100644 --- a/code/modules/mob/living/carbon/brain/posibrain.dm +++ b/code/modules/mob/living/carbon/brain/posibrain.dm @@ -6,7 +6,7 @@ w_class = 3 origin_tech = "engineering=4;materials=4;bluespace=2;programming=4" - construction_cost = list("steel"=500,"glass"=500,"silver"=200,"gold"=200,"phoron"=100,"diamond"=10) + construction_cost = list(DEFAULT_WALL_MATERIAL=500,"glass"=500,"silver"=200,"gold"=200,"phoron"=100,"diamond"=10) construction_time = 75 var/searching = 0 var/askDelay = 10 * 60 * 1 diff --git a/code/modules/mob/living/silicon/robot/analyzer.dm b/code/modules/mob/living/silicon/robot/analyzer.dm index 8c1b3a42d7..75556cf304 100644 --- a/code/modules/mob/living/silicon/robot/analyzer.dm +++ b/code/modules/mob/living/silicon/robot/analyzer.dm @@ -12,7 +12,7 @@ w_class = 2.0 throw_speed = 5 throw_range = 10 - matter = list("steel" = 500, "glass" = 200) + matter = list(DEFAULT_WALL_MATERIAL = 500, "glass" = 200) origin_tech = "magnets=2;biotech=1;engineering=2" var/mode = 1; diff --git a/code/modules/mob/living/silicon/robot/component.dm b/code/modules/mob/living/silicon/robot/component.dm index cd7d7dd5d8..1894d62942 100644 --- a/code/modules/mob/living/silicon/robot/component.dm +++ b/code/modules/mob/living/silicon/robot/component.dm @@ -218,7 +218,7 @@ icon = 'icons/obj/robot_component.dmi' icon_state = "working" construction_time = 200 - construction_cost = list("steel"=5000) + construction_cost = list(DEFAULT_WALL_MATERIAL=5000) var/brute = 0 var/burn = 0 var/icon_state_broken = "broken" diff --git a/code/modules/paperwork/pen.dm b/code/modules/paperwork/pen.dm index c83e71ba8f..2be70ad5e7 100644 --- a/code/modules/paperwork/pen.dm +++ b/code/modules/paperwork/pen.dm @@ -20,7 +20,7 @@ w_class = 1.0 throw_speed = 7 throw_range = 15 - matter = list("steel" = 10) + matter = list(DEFAULT_WALL_MATERIAL = 10) var/colour = "black" //what colour the ink is! pressure_resistance = 2 diff --git a/code/modules/paperwork/photography.dm b/code/modules/paperwork/photography.dm index 4b7f2ea845..46853a978c 100644 --- a/code/modules/paperwork/photography.dm +++ b/code/modules/paperwork/photography.dm @@ -124,7 +124,7 @@ var/global/photo_count = 0 w_class = 2.0 flags = CONDUCT slot_flags = SLOT_BELT - matter = list("steel" = 2000) + matter = list(DEFAULT_WALL_MATERIAL = 2000) var/pictures_max = 10 var/pictures_left = 10 var/on = 1 diff --git a/code/modules/paperwork/stamps.dm b/code/modules/paperwork/stamps.dm index 4db4a78a21..a6954e9e2f 100644 --- a/code/modules/paperwork/stamps.dm +++ b/code/modules/paperwork/stamps.dm @@ -8,7 +8,7 @@ w_class = 1.0 throw_speed = 7 throw_range = 15 - matter = list("steel" = 60) + matter = list(DEFAULT_WALL_MATERIAL = 60) pressure_resistance = 2 attack_verb = list("stamped") diff --git a/code/modules/power/antimatter/shielding.dm b/code/modules/power/antimatter/shielding.dm index 0b1bdd163c..700fad25ad 100644 --- a/code/modules/power/antimatter/shielding.dm +++ b/code/modules/power/antimatter/shielding.dm @@ -210,7 +210,7 @@ proc/cardinalrange(var/center) throwforce = 5 throw_speed = 1 throw_range = 2 - matter = list("steel" = 100, "waste" = 2000) + matter = list(DEFAULT_WALL_MATERIAL = 100, "waste" = 2000) /obj/item/device/am_shielding_container/attackby(var/obj/item/I, var/mob/user) if(istype(I, /obj/item/device/multitool) && istype(src.loc,/turf)) diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm index ab2715ab36..e5be56b944 100644 --- a/code/modules/power/cable.dm +++ b/code/modules/power/cable.dm @@ -475,7 +475,7 @@ obj/structure/cable/proc/cableColor(var/colorC) w_class = 2.0 throw_speed = 2 throw_range = 5 - matter = list("steel" = 50, "glass" = 20) + matter = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 20) flags = CONDUCT slot_flags = SLOT_BELT item_state = "coil" diff --git a/code/modules/power/lighting.dm b/code/modules/power/lighting.dm index 9a8f2af0cc..ba3c539c77 100644 --- a/code/modules/power/lighting.dm +++ b/code/modules/power/lighting.dm @@ -601,7 +601,7 @@ var/status = 0 // LIGHT_OK, LIGHT_BURNED or LIGHT_BROKEN var/base_state var/switchcount = 0 // number of times switched - matter = list("steel" = 60) + matter = list(DEFAULT_WALL_MATERIAL = 60) var/rigged = 0 // true if rigged to explode var/brightness_range = 2 //how much light it gives off var/brightness_power = 1 diff --git a/code/modules/projectiles/ammunition.dm b/code/modules/projectiles/ammunition.dm index 32b7fcfec4..515d5596b6 100644 --- a/code/modules/projectiles/ammunition.dm +++ b/code/modules/projectiles/ammunition.dm @@ -66,7 +66,7 @@ flags = CONDUCT slot_flags = SLOT_BELT item_state = "syringe_kit" - matter = list("steel" = 500) + matter = list(DEFAULT_WALL_MATERIAL = 500) throwforce = 5 w_class = 2 throw_speed = 4 diff --git a/code/modules/projectiles/ammunition/boxes.dm b/code/modules/projectiles/ammunition/boxes.dm index 34929043b9..75b1680d0b 100644 --- a/code/modules/projectiles/ammunition/boxes.dm +++ b/code/modules/projectiles/ammunition/boxes.dm @@ -6,7 +6,7 @@ icon_state = "T38" caliber = "357" ammo_type = /obj/item/ammo_casing/a357 - matter = list("steel" = 1260) + matter = list(DEFAULT_WALL_MATERIAL = 1260) max_ammo = 7 multiple_sprites = 1 @@ -14,7 +14,7 @@ name = "speed loader (.38)" icon_state = "38" caliber = "38" - matter = list("steel" = 360) + matter = list(DEFAULT_WALL_MATERIAL = 360) ammo_type = /obj/item/ammo_casing/c38 max_ammo = 6 multiple_sprites = 1 @@ -28,7 +28,7 @@ icon_state = "45" mag_type = MAGAZINE ammo_type = /obj/item/ammo_casing/c45 - matter = list("steel" = 525) //metal costs are very roughly based around 1 .45 casing = 75 metal + matter = list(DEFAULT_WALL_MATERIAL = 525) //metal costs are very roughly based around 1 .45 casing = 75 metal caliber = ".45" max_ammo = 7 multiple_sprites = 1 @@ -53,7 +53,7 @@ icon_state = "9x19p" origin_tech = "combat=2" mag_type = MAGAZINE - matter = list("steel" = 600) + matter = list(DEFAULT_WALL_MATERIAL = 600) caliber = "9mm" ammo_type = /obj/item/ammo_casing/c9mm max_ammo = 10 @@ -69,7 +69,7 @@ name = "ammunition Box (9mm)" icon_state = "9mm" origin_tech = "combat=2" - matter = list("steel" = 1800) + matter = list(DEFAULT_WALL_MATERIAL = 1800) caliber = "9mm" ammo_type = /obj/item/ammo_casing/c9mm max_ammo = 30 @@ -82,7 +82,7 @@ icon_state = "9mmt" mag_type = MAGAZINE ammo_type = /obj/item/ammo_casing/c9mm - matter = list("steel" = 1200) + matter = list(DEFAULT_WALL_MATERIAL = 1200) caliber = "9mm" max_ammo = 20 multiple_sprites = 1 @@ -103,7 +103,7 @@ icon_state = "9mm" origin_tech = "combat=2" caliber = ".45" - matter = list("steel" = 2250) + matter = list(DEFAULT_WALL_MATERIAL = 2250) ammo_type = /obj/item/ammo_casing/c45 max_ammo = 30 @@ -116,7 +116,7 @@ origin_tech = "combat=2" mag_type = MAGAZINE caliber = "12mm" - matter = list("steel" = 1500) + matter = list(DEFAULT_WALL_MATERIAL = 1500) ammo_type = "/obj/item/ammo_casing/a12mm" max_ammo = 20 multiple_sprites = 1 @@ -130,7 +130,7 @@ origin_tech = "combat=2" mag_type = MAGAZINE caliber = "a556" - matter = list("steel" = 1800) + matter = list(DEFAULT_WALL_MATERIAL = 1800) ammo_type = /obj/item/ammo_casing/a556 max_ammo = 10 multiple_sprites = 1 @@ -148,7 +148,7 @@ origin_tech = "combat=2" mag_type = MAGAZINE caliber = ".50" - matter = list("steel" = 1260) + matter = list(DEFAULT_WALL_MATERIAL = 1260) ammo_type = /obj/item/ammo_casing/a50 max_ammo = 7 multiple_sprites = 1 @@ -174,7 +174,7 @@ origin_tech = "combat=2" mag_type = MAGAZINE caliber = "a762" - matter = list("steel" = 4500) + matter = list(DEFAULT_WALL_MATERIAL = 4500) ammo_type = /obj/item/ammo_casing/a762 max_ammo = 50 multiple_sprites = 1 @@ -187,7 +187,7 @@ icon_state = "c762" mag_type = MAGAZINE caliber = "a762" - matter = list("steel" = 1800) + matter = list(DEFAULT_WALL_MATERIAL = 1800) ammo_type = /obj/item/ammo_casing/a762 max_ammo = 20 multiple_sprites = 1 diff --git a/code/modules/projectiles/ammunition/bullets.dm b/code/modules/projectiles/ammunition/bullets.dm index d02aa69820..4bb8cbf10f 100644 --- a/code/modules/projectiles/ammunition/bullets.dm +++ b/code/modules/projectiles/ammunition/bullets.dm @@ -76,21 +76,21 @@ icon_state = "slshell" caliber = "shotgun" projectile_type = /obj/item/projectile/bullet/shotgun - matter = list("steel" = 360) + matter = list(DEFAULT_WALL_MATERIAL = 360) /obj/item/ammo_casing/shotgun/pellet name = "shotgun shell" desc = "A 12 gauge shell." icon_state = "gshell" projectile_type = /obj/item/projectile/bullet/pellet/shotgun - matter = list("steel" = 360) + matter = list(DEFAULT_WALL_MATERIAL = 360) /obj/item/ammo_casing/shotgun/blank name = "shotgun shell" desc = "A blank shell." icon_state = "blshell" projectile_type = /obj/item/projectile/bullet/blank - matter = list("steel" = 90) + matter = list(DEFAULT_WALL_MATERIAL = 90) /obj/item/ammo_casing/shotgun/practice name = "shotgun shell" @@ -104,7 +104,7 @@ desc = "A beanbag shell." icon_state = "bshell" projectile_type = /obj/item/projectile/bullet/shotgun/beanbag - matter = list("steel" = 180) + matter = list(DEFAULT_WALL_MATERIAL = 180) //Can stun in one hit if aimed at the head, but //is blocked by clothing that stops tasers and is vulnerable to EMP @@ -114,7 +114,7 @@ icon_state = "stunshell" spent_icon = "stunshell-spent" projectile_type = /obj/item/projectile/energy/electrode/stunshot - matter = list("steel" = 360, "glass" = 720) + matter = list(DEFAULT_WALL_MATERIAL = 360, "glass" = 720) /obj/item/ammo_casing/shotgun/stunshell/emp_act(severity) if(prob(100/severity)) BB = null @@ -126,7 +126,7 @@ desc = "A chemical shell used to signal distress or provide illumination." icon_state = "fshell" projectile_type = /obj/item/projectile/energy/flash/flare - matter = list("steel" = 90, "glass" = 90) + matter = list(DEFAULT_WALL_MATERIAL = 90, "glass" = 90) /obj/item/ammo_casing/a762 desc = "A 7.62mm bullet casing." @@ -140,7 +140,7 @@ spent_icon = "lcasing-spent" caliber = "14.5mm" projectile_type = /obj/item/projectile/bullet/rifle/a145 - matter = list("steel" = 1250) + matter = list(DEFAULT_WALL_MATERIAL = 1250) /obj/item/ammo_casing/a556 desc = "A 5.56mm bullet casing." diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index 4de049391a..dc53d788f1 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -41,7 +41,7 @@ item_state = "gun" flags = CONDUCT slot_flags = SLOT_BELT|SLOT_HOLSTER - matter = list("steel" = 2000) + matter = list(DEFAULT_WALL_MATERIAL = 2000) w_class = 3 throwforce = 5 throw_speed = 4 diff --git a/code/modules/projectiles/guns/energy/laser.dm b/code/modules/projectiles/guns/energy/laser.dm index 45ae5b8350..334a7c4b65 100644 --- a/code/modules/projectiles/guns/energy/laser.dm +++ b/code/modules/projectiles/guns/energy/laser.dm @@ -7,7 +7,7 @@ slot_flags = SLOT_BELT|SLOT_BACK w_class = 3 force = 10 - matter = list("steel" = 2000) + matter = list(DEFAULT_WALL_MATERIAL = 2000) origin_tech = "combat=3;magnets=2" projectile_type = /obj/item/projectile/beam fire_delay = 1 //rapid fire @@ -106,7 +106,7 @@ obj/item/weapon/gun/energy/retro desc = "Standard issue weapon of the Imperial Guard" origin_tech = "combat=1;magnets=2" self_recharge = 1 - matter = list("steel" = 2000) + matter = list(DEFAULT_WALL_MATERIAL = 2000) fire_sound = 'sound/weapons/Laser.ogg' projectile_type = /obj/item/projectile/beam/lastertag/blue var/required_vest diff --git a/code/modules/projectiles/guns/energy/stun.dm b/code/modules/projectiles/guns/energy/stun.dm index 78140303a6..cca5f9c1c6 100644 --- a/code/modules/projectiles/guns/energy/stun.dm +++ b/code/modules/projectiles/guns/energy/stun.dm @@ -37,7 +37,7 @@ icon_state = "crossbow" w_class = 2.0 item_state = "crossbow" - matter = list("steel" = 2000) + matter = list(DEFAULT_WALL_MATERIAL = 2000) origin_tech = "combat=2;magnets=2;syndicate=5" slot_flags = SLOT_BELT silenced = 1 @@ -56,5 +56,5 @@ desc = "A weapon favored by mercenary infiltration teams." w_class = 4 force = 10 - matter = list("steel" = 200000) + matter = list(DEFAULT_WALL_MATERIAL = 200000) projectile_type = /obj/item/projectile/energy/bolt/large diff --git a/code/modules/projectiles/guns/launcher/grenade_launcher.dm b/code/modules/projectiles/guns/launcher/grenade_launcher.dm index b4cf0abef8..fe27d35790 100644 --- a/code/modules/projectiles/guns/launcher/grenade_launcher.dm +++ b/code/modules/projectiles/guns/launcher/grenade_launcher.dm @@ -15,7 +15,7 @@ var/obj/item/weapon/grenade/chambered var/list/grenades = new/list() var/max_grenades = 5 //holds this + one in the chamber - matter = list("steel" = 2000) + matter = list(DEFAULT_WALL_MATERIAL = 2000) //revolves the magazine, allowing players to choose between multiple grenade types /obj/item/weapon/gun/launcher/grenade/proc/pump(mob/M as mob) diff --git a/code/modules/projectiles/guns/launcher/syringe_gun.dm b/code/modules/projectiles/guns/launcher/syringe_gun.dm index 6a4622e599..755ca336a7 100644 --- a/code/modules/projectiles/guns/launcher/syringe_gun.dm +++ b/code/modules/projectiles/guns/launcher/syringe_gun.dm @@ -4,7 +4,7 @@ icon = 'icons/obj/ammo.dmi' icon_state = "syringe-cartridge" var/icon_flight = "syringe-cartridge-flight" //so it doesn't look so weird when shot - matter = list("steel" = 125, "glass" = 375) + matter = list(DEFAULT_WALL_MATERIAL = 125, "glass" = 375) flags = CONDUCT slot_flags = SLOT_BELT throwforce = 3 @@ -67,7 +67,7 @@ item_state = "syringegun" w_class = 3 force = 7 - matter = list("steel" = 2000) + matter = list(DEFAULT_WALL_MATERIAL = 2000) slot_flags = SLOT_BELT fire_sound = 'sound/weapons/empty.ogg' diff --git a/code/modules/projectiles/guns/projectile.dm b/code/modules/projectiles/guns/projectile.dm index 279cbca944..576488e774 100644 --- a/code/modules/projectiles/guns/projectile.dm +++ b/code/modules/projectiles/guns/projectile.dm @@ -8,7 +8,7 @@ icon_state = "revolver" origin_tech = "combat=2;materials=2" w_class = 3 - matter = list("steel" = 1000) + matter = list(DEFAULT_WALL_MATERIAL = 1000) recoil = 1 var/caliber = "357" //determines which casings will fit @@ -213,8 +213,8 @@ set name = "Unload Ammo" set category = "Object" set src in usr - + if(usr.stat || usr.restrained()) return - + unload_ammo(usr) -*/ +*/ diff --git a/code/modules/reagents/reagent_containers/glass.dm b/code/modules/reagents/reagent_containers/glass.dm index b8b9755d6b..181df457d4 100644 --- a/code/modules/reagents/reagent_containers/glass.dm +++ b/code/modules/reagents/reagent_containers/glass.dm @@ -260,7 +260,7 @@ icon = 'icons/obj/janitor.dmi' icon_state = "bucket" item_state = "bucket" - matter = list("steel" = 200) + matter = list(DEFAULT_WALL_MATERIAL = 200) w_class = 3.0 amount_per_transfer_from_this = 20 possible_transfer_amounts = list(10,20,30,60,120) diff --git a/code/modules/recycling/disposal-construction.dm b/code/modules/recycling/disposal-construction.dm index c90cbeafb3..4032d00a89 100644 --- a/code/modules/recycling/disposal-construction.dm +++ b/code/modules/recycling/disposal-construction.dm @@ -10,7 +10,7 @@ anchored = 0 density = 0 pressure_resistance = 5*ONE_ATMOSPHERE - matter = list("steel" = 1850) + matter = list(DEFAULT_WALL_MATERIAL = 1850) level = 2 var/ptype = 0 // 0=straight, 1=bent, 2=junction-j1, 3=junction-j2, 4=junction-y, 5=trunk, 6=disposal bin, 7=outlet, 8=inlet diff --git a/code/modules/research/rdconsole.dm b/code/modules/research/rdconsole.dm index a12cccb90c..8f1113043d 100644 --- a/code/modules/research/rdconsole.dm +++ b/code/modules/research/rdconsole.dm @@ -67,7 +67,7 @@ won't update every console in existence) but it's more of a hassle to do. Also, if (copytext(ID, 1, 2) == "$") return_name = copytext(ID, 2) switch(return_name) - if("steel") + if(DEFAULT_WALL_MATERIAL) return_name = "Steel" if("glass") return_name = "Glass" @@ -263,7 +263,7 @@ won't update every console in existence) but it's more of a hassle to do. Also, if(linked_destroy.loaded_item.reliability < 100 && linked_destroy.loaded_item.crit_fail) files.UpdateDesign(linked_destroy.loaded_item.type) if(linked_lathe && linked_destroy.loaded_item.matter) //Also sends salvaged materials to a linked protolathe, if any. - linked_lathe.m_amount += min((linked_lathe.max_material_storage - linked_lathe.TotalMaterials()), (linked_destroy.loaded_item.matter["steel"]*linked_destroy.decon_mod)) + linked_lathe.m_amount += min((linked_lathe.max_material_storage - linked_lathe.TotalMaterials()), (linked_destroy.loaded_item.matter[DEFAULT_WALL_MATERIAL]*linked_destroy.decon_mod)) linked_lathe.g_amount += min((linked_lathe.max_material_storage - linked_lathe.TotalMaterials()), (linked_destroy.loaded_item.matter["glass"]*linked_destroy.decon_mod)) linked_destroy.loaded_item = null for(var/obj/I in linked_destroy.contents) @@ -444,7 +444,7 @@ won't update every console in existence) but it's more of a hassle to do. Also, type = M.stack_type switch(name_to_material[href_list["lathe_ejectsheet"]]) - if("steel") + if(DEFAULT_WALL_MATERIAL) res_amount = "m_amount" if("glass") res_amount = "g_amount" @@ -815,11 +815,11 @@ won't update every console in existence) but it's more of a hassle to do. Also, dat += "Protolathe Menu
" dat += "Material Storage

" dat += "
T2p(y}jR1+DfxVv&W>!E27uJpMoX4sUWik1#l0 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 CWB$kh diff --git a/icons/obj/clothing/hats.dmi b/icons/obj/clothing/hats.dmi index ec29f0ce41bd4e5494bbedfc41b205338e8b6499..999e6b61c61666e033f9733c44cb15048c9fb70b 100644 GIT binary patch delta 25907 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 delta 26020 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

O&F@XOFoy`k?$0hRF2>G<<}WKh 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 diff --git a/icons/obj/clothing/suits.dmi b/icons/obj/clothing/suits.dmi index 5dbeea2cdd766f18f15b5c8eeebea09b341f38c4..bc3f111fd3ee51b10a05c45acc6de80420098755 100644 GIT binary patch delta 28493 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

-eFH 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 delta 29789 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 delta 811 zcmV+`1JwNg;{$-?1CS&E^|2-F0e^0UZ75>cDf)en;*Kxyid zfw&@`O`j-Z-`!eD5h&tCJa3Px^@F+hl(RWX0&T5hiR{5dN(ERFwVpxtsOn6i)-%TU zG`60XNF`O&zBAr?B%@|FErH{pNyBo9MIXr&TrL{Grf%zmMh#cpz8bXTsHM4Y{@CnZ z_BXS))T4VgB?>Z)i`I^=TKof0+h>>@jTDN&K3dRwZpTv@lAy6>y_NxFJyRLrMIN~< z6BtO6=bQ%tPJ$;99JK`A9)Guw9O@m=lTuB+px%?Obp5We@~ZLG?bLAKs}0C2Vpf3* znpFt~j9IG^43uS7B^WfxtV%Foj#-sp1STs-%1d}bGFp{juw1k%0ZzqvH%gMw8-3v9 zsorr$l28nfv7jtczGo7fO3ZBFsU)Bh&NMj0m|?8Q&nz}X`lc6{4}Z<*gQ$nbPWph9 z_lPt(If^~d<5lpYBJOTBw=YVftH_=k%>VI`3H?Y!!7pSF;O%&z;9L?9L>&0>r_%yd z>M4(8r&0i0kL(?cT^Z6`40m>yn=qS@fxGDwS#PenCwp2(9}@>#?;k*H)|qYMqe}wy zQ~!;vKSf=@z>Cxwet)+FzFPwSx&;0WxGy?mlO9_FIslOCB(dSgBB7ro572|x_agOK zrKiG=EqSlOv`961Auy#}kbCS|rtWtoVA8D=frp!{6dn5sIJdG=%%|W4Z-IeX_b5UB z`cU7vnXB(s(IZe9=f1$w0hrLRGjTxfm*iWZ4~>JCdcSXJgIKn7<@Egh pRTDP*&F#%)R~LBIac`RspWip{KYd*P3tn+YB!RI|S+gMp-t5GkjBEe^ From f908119b989a42e7bf5b5aa8baeb11a0def51e94 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Tue, 12 May 2015 23:56:51 +0930 Subject: [PATCH 183/305] Very minor oversight. --- code/modules/customitems/item_spawning.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/customitems/item_spawning.dm b/code/modules/customitems/item_spawning.dm index d8e7d5b07b..7904b60b5c 100644 --- a/code/modules/customitems/item_spawning.dm +++ b/code/modules/customitems/item_spawning.dm @@ -22,7 +22,7 @@ var/character_name var/item_icon var/item_desc - var/name = "unnamed item" + var/name var/item_path = /obj/item var/req_access = 0 var/list/req_titles = list() From c952507f3cc77e327ee5ca47252c17ee0871e397 Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Tue, 12 May 2015 15:53:28 +0100 Subject: [PATCH 184/305] Fixes carp attacking mechs over z-levels Fixes #9198. --- code/modules/mob/living/simple_animal/hostile/hostile.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/simple_animal/hostile/hostile.dm b/code/modules/mob/living/simple_animal/hostile/hostile.dm index 03bf90b0f5..aa29a02547 100644 --- a/code/modules/mob/living/simple_animal/hostile/hostile.dm +++ b/code/modules/mob/living/simple_animal/hostile/hostile.dm @@ -115,7 +115,7 @@ var/list/L = hearers(src, dist) for (var/obj/mecha/M in mechas_list) - if (get_dist(src, M) <= dist) + if (M.z == src.z && get_dist(src, M) <= dist) L += M return L From 32b463237f5d231f462a2729de277b11c85216a4 Mon Sep 17 00:00:00 2001 From: Hubblenaut Date: Tue, 12 May 2015 16:35:35 +0200 Subject: [PATCH 185/305] Final adjustments to icons, adds delay to pinning --- code/_onclick/item_attack.dm | 4 +++- code/modules/mob/mob_grab.dm | 40 +++++++++++++++++++++-------------- icons/mob/screen1.dmi | Bin 160276 -> 168715 bytes 3 files changed, 27 insertions(+), 17 deletions(-) diff --git a/code/_onclick/item_attack.dm b/code/_onclick/item_attack.dm index b10439ab92..7bb85445d4 100644 --- a/code/_onclick/item_attack.dm +++ b/code/_onclick/item_attack.dm @@ -28,12 +28,14 @@ // Knifing if(edge) for(var/obj/item/weapon/grab/G in M.grabbed_by) - if(G.assailant == user && G.state >= GRAB_NECK) + if(G.assailant == user && G.state >= GRAB_NECK && world.time >= (G.last_action + 20)) //TODO: better alternative for applying damage multiple times? Nice knifing sound? M.apply_damage(20, BRUTE, "head", 0, sharp=sharp, edge=edge) M.apply_damage(20, BRUTE, "head", 0, sharp=sharp, edge=edge) M.apply_damage(20, BRUTE, "head", 0, sharp=sharp, edge=edge) M.adjustOxyLoss(60) // Brain lacks oxygen immediately, pass out + flick(G.hud.icon_state, G.hud) + G.last_action = world.time user.visible_message("[user] slit [M]'s throat open with \the [name]!") user.attack_log += "\[[time_stamp()]\] Knifed [M.name] ([M.ckey]) with [name] (INTENT: [uppertext(user.a_intent)]) (DAMTYE: [uppertext(damtype)])" M.attack_log += "\[[time_stamp()]\] Got knifed by [user.name] ([user.ckey]) with [name] (INTENT: [uppertext(user.a_intent)]) (DAMTYE: [uppertext(damtype)])" diff --git a/code/modules/mob/mob_grab.dm b/code/modules/mob/mob_grab.dm index af0ef28676..bc41cb1418 100644 --- a/code/modules/mob/mob_grab.dm +++ b/code/modules/mob/mob_grab.dm @@ -280,13 +280,14 @@ if(!affecting) return - if(world.time < (last_action + 10)) + if(world.time < (last_action + 20)) return if(M == affecting) if(ishuman(M)) last_action = world.time var/hit_zone = assailant.zone_sel.selecting + flick(hud.icon_state, hud) switch(assailant.a_intent) if(I_HELP) if(force_down) @@ -345,26 +346,35 @@ var/obj/item/clothing/hat = assailant.head if(istype(hat)) damage += hat.force * 10 - affecting.apply_damage(damage*rand(90, 110)/100, BRUTE, "head", affecting:run_armor_check(affecting, "melee")) + var/armor = affecting:run_armor_check(affecting, "melee") + affecting.apply_damage(damage*rand(90, 110)/100, BRUTE, "head", armor) assailant.apply_damage(10*rand(90, 110)/100, BRUTE, "head", assailant:run_armor_check("head", "melee")) + if(!armor && prob(damage)) + affecting.apply_effect(20, PARALYZE) + affecting.visible_message("[affecting] has been knocked unconscious!") playsound(assailant.loc, "swing_hit", 25, 1, -1) assailant.attack_log += text("\[[time_stamp()]\] Headbutted [affecting.name] ([affecting.ckey])") affecting.attack_log += text("\[[time_stamp()]\] Headbutted by [assailant.name] ([assailant.ckey])") msg_admin_attack("[key_name(assailant)] has headbutted [key_name(affecting)]") + assailant.drop_from_inventory(src) + src.loc = null + qdel(src) return if(I_DISARM) if(state < GRAB_AGGRESSIVE) assailant << "You require a better grab to do this." return + assailant << "You start forcing [affecting] to the ground." if(!force_down) - assailant.visible_message("[assailant] is forcing [affecting] to the ground!") - force_down = 1 - affecting.Weaken(3) - affecting.lying = 1 - step_to(assailant, affecting) - assailant.set_dir(EAST) //face the victim - affecting.set_dir(SOUTH) //face up - return + if(do_after(assailant, 20) && affecting) + assailant.visible_message("[assailant] is forcing [affecting] to the ground!") + force_down = 1 + affecting.Weaken(3) + affecting.lying = 1 + step_to(assailant, affecting) + assailant.set_dir(EAST) //face the victim + affecting.set_dir(SOUTH) //face up + return else assailant << "You are already pinning [affecting] to the ground." return @@ -396,10 +406,12 @@ /obj/item/weapon/grab/dropped() - del(src) + loc = null + qdel(src) /obj/item/weapon/grab/Destroy() - //make sure the grabbed_by list doesn't fill up with nulls + animate(affecting, pixel_x = 0, pixel_y = 0, 4, 1, LINEAR_EASING) + affecting.layer = 4 if(affecting) affecting.grabbed_by -= src affecting = null @@ -407,10 +419,6 @@ if(assailant.client) assailant.client.screen -= hud assailant = null - - animate(affecting, pixel_x = 0, pixel_y = 0, 4, 1, LINEAR_EASING) - affecting.layer = 4 - loc = null qdel(hud) hud = null ..() \ No newline at end of file diff --git a/icons/mob/screen1.dmi b/icons/mob/screen1.dmi index 8cf6599edd3047e7046340ee32c72dc776325ba7..8181013f7ee1be7be12bec1c7496197e1c2a0c74 100644 GIT binary patch literal 168715 zcmdqIgv zv=y>Ud8k%FjeX$v4QOBKQ~OQBuhsHdT`S|)i}T*yxN6s#AER5>Y8vBK6}wq*!tb6FVp4K5uKJ z>+WYiB6p!vo&4FQxxVB6GmUN|jczlIZtE&LWOH6fs5OtspN`3&fO4W@?A7TyesZ?^ zng}CX*{6r_f${Oz#tu8X08s|!>AgdHoEj4SUqkw%fht2}BGk+5&2cXgjP9D|nI@Oe z*OaB&o08+UUSkuK@DDi-Csd(Ak7JZ_eY0{oC4Wu(gouWyc91##S&?$8)GVTvd^v9l0`Is z|Nd-M=9y*am@T^dWUu2xph|F$nRd<>Z7Sts)yi{6Vf^i*U+1Yo_W=>FxH_(XJ^w|!4^ zy>I5ctI)%&uaqW+Z{pXZr0_9E2l~oVENUKk(@Jmoq2j&zF9HIuMdV7q{<^?p&PLA* z6+M5kMbE7IHP85wF{h-xe*zx;7?Anq@08joj?Ca0%O`{B@p zc7qB-_(m1gTZFTAvtE-;7 zPJJ)g3zCu;Gf01OX z^&fFj4isTDYUsb>u8V}XIqS&x7yDh4#jmI)=$a2Zu0QrF5rwh>bbsDr7bwROpEc_~ z3LhQSR8JGY3YTYFa}y0XYd&U-E%{oB6{_LZ}|rW7-b=Z~=1= zUeB`}^UGDmJZ%9*)@13RRwrQ-4%QZg{d3i-xOR7{?vZ{!nn*5onDdbW;2YPUlOcWs zEy)e)y83#hin++@hv^(l1!j*+tEV3lYx!D z^^e$NlcJOE!-Gb6ygGWjAmPHGh{fx<{Ydy8`J;}UTfz6In~p1c;%r_cm%36^@>`%$ zbdTE@ZwIWj&qI8-%t}tls5tvCAAnAvCk5rG?@<;Swa4}3@51iSS5LGLzR>!0In*zk zxL*gh+}A{^87M$uSh9P`p?m$PT}4VRD2$9q+4#vqW>!FZU(H|obDx9x@WR6F?q@D8 zF7(27v0Df5plg?#poNBkGk(0sxH1$;2*WBl!>VmoJNbCY@N^*E;OY&WWfcLV0gu8m z5m)>7yQQ5qpif`)v47h>*44A+`ieCiX8(~MXm<7OWwD`KM?Qrh|GJ`)itBmr!5KA} z`8=hw81UHzoD6MiN`K-JD4E6vNE3H6Q(HPhUBYwJr$$sQklw#v&{hUp1hR8|W$85i z{o)+f9u!!{6=rSV?lM<{7YPb#T7Odz5KUK%Gw$vGfbk1RPU{JA*F!-NAaje0Q@N$J zRma@T*5HFj+t`7Yz3Yz_lhLaE`l60l3vhg9fPh%tq0K2Rmtt(d6F`-!VTFpkh%*N( z#-5J@fSQj!ML($)R$aPvpGipZOn~&pEgTy$c%=_#ifhTN#|o1UacN|P`JHYSS7!o8 z0t|Q7Tdp(+#XB7tB|54$A+)LGXr9!9 zVcV=v%7TQ(JC=r(-n|odbaLVlXJdZsWoec$WZqBYzRdTeUju9yyfofXYtv4TSOL3Z z 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 z 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 V019{d5DfH3UHP?Aor2ZJ{|BlEo!kHb literal 160276 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

T~C&Mkj`vAcaz1mgYd5ntCjyf6)|fki+PkEL-B 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 Date: Tue, 12 May 2015 13:42:18 -0400 Subject: [PATCH 186/305] Fix issue with alert monitor template not sending: Short version: We had two files that were exact matches, because of the way byond optimizes resoureces it only sends one file when the MD5 matches. We're not using atmosphere_monitor.tmpl anywhere in the code and it's just a copy of alarm_monitor.tmpl byond was sending atmosphere_monitor.tmpl instead of alarm_monitor.tmpl No copy / paste nanotemplates allowed, there must be SOMETHING different about them even if it's just comments. --- nano/templates/atmosphere_monitor.tmpl | 37 -------------------------- 1 file changed, 37 deletions(-) delete mode 100644 nano/templates/atmosphere_monitor.tmpl diff --git a/nano/templates/atmosphere_monitor.tmpl b/nano/templates/atmosphere_monitor.tmpl deleted file mode 100644 index 0089467e43..0000000000 --- a/nano/templates/atmosphere_monitor.tmpl +++ /dev/null @@ -1,37 +0,0 @@ - - -{{for data.categories}} -

{{:value.category}}

- {{for value.alarms :alarmValue:alarmIndex}} - {{if alarmValue.origin_lost}} - {{:alarmValue.name}} Alarm Origin Lost
- {{else}} - {{:alarmValue.name}}
- {{/if}} - {{if alarmValue.has_cameras || alarmValue.lost_sources != ""}} -
- {{if alarmValue.has_cameras}} -
- {{for alarmValue.cameras :cameraValue:cameraIndex}} - {{if cameraValue.deact}} - {{:helper.link(cameraValue.name + " (deactivated)", '', {}, 'inactive')}} - {{else}} - {{:helper.link(cameraValue.name, '', {'switchTo' : cameraValue.camera})}} - {{/if}} - {{/for}} -
- {{/if}} - {{if alarmValue.lost_sources != ""}} -
-

Lost Alarm Sources: {{:alarmValue.lost_sources}}

-
- {{/if}} -
- {{/if}} - {{empty}} - --All Systems Nominal - {{/for}} -{{/for}} \ No newline at end of file From bdf440069537caafbb7cb8d59a95717b62486781 Mon Sep 17 00:00:00 2001 From: Techhead0 Date: Tue, 12 May 2015 13:22:38 -0400 Subject: [PATCH 187/305] PAPs now use external pressure when pumping in. This allows Portable Air Pumps to be effectively used for draining rooms and air tanks. Also, default cells in pumps and scrubbers changed from 1k basic cells to 5k heavy-duty cells. --- code/game/machinery/atmoalter/pump.dm | 4 ++-- code/game/machinery/atmoalter/scrubber.dm | 2 +- html/changelogs/Techhead-PAPin.yml | 4 ++++ 3 files changed, 7 insertions(+), 3 deletions(-) create mode 100644 html/changelogs/Techhead-PAPin.yml diff --git a/code/game/machinery/atmoalter/pump.dm b/code/game/machinery/atmoalter/pump.dm index 659e17d4b2..8d80e57e78 100644 --- a/code/game/machinery/atmoalter/pump.dm +++ b/code/game/machinery/atmoalter/pump.dm @@ -22,7 +22,7 @@ /obj/machinery/portable_atmospherics/powered/pump/New() ..() - cell = new/obj/item/weapon/cell(src) + cell = new/obj/item/weapon/cell/apc(src) var/list/air_mix = StandardAirMix() src.air_contents.adjust_multi("oxygen", air_mix["oxygen"], "nitrogen", air_mix["nitrogen"]) @@ -78,7 +78,7 @@ output_volume = environment.volume * environment.group_multiplier air_temperature = environment.temperature? environment.temperature : air_contents.temperature else - pressure_delta = target_pressure - air_contents.return_pressure() + pressure_delta = environment.return_pressure() - target_pressure output_volume = air_contents.volume * air_contents.group_multiplier air_temperature = air_contents.temperature? air_contents.temperature : environment.temperature diff --git a/code/game/machinery/atmoalter/scrubber.dm b/code/game/machinery/atmoalter/scrubber.dm index 1977e55646..6e52f88b3e 100644 --- a/code/game/machinery/atmoalter/scrubber.dm +++ b/code/game/machinery/atmoalter/scrubber.dm @@ -20,7 +20,7 @@ /obj/machinery/portable_atmospherics/powered/scrubber/New() ..() - cell = new/obj/item/weapon/cell(src) + cell = new/obj/item/weapon/cell/apc(src) /obj/machinery/portable_atmospherics/powered/scrubber/emp_act(severity) if(stat & (BROKEN|NOPOWER)) diff --git a/html/changelogs/Techhead-PAPin.yml b/html/changelogs/Techhead-PAPin.yml new file mode 100644 index 0000000000..3e6eccdf62 --- /dev/null +++ b/html/changelogs/Techhead-PAPin.yml @@ -0,0 +1,4 @@ +author: Techhead +delete-after: True +changes: + - bugfix: "Portable air pumps now fill based on external/airtank pressure when pumping in." From eef2f589cefe16332382bc30939c1dfd99dbabfe Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Wed, 13 May 2015 10:32:26 +0930 Subject: [PATCH 188/305] Housekeeping. --- code/datums/supplypacks.dm | 8 -------- code/modules/clothing/under/jobs/medsci.dm | 2 +- 2 files changed, 1 insertion(+), 9 deletions(-) diff --git a/code/datums/supplypacks.dm b/code/datums/supplypacks.dm index 7b38c0fdb1..8b5124eae1 100644 --- a/code/datums/supplypacks.dm +++ b/code/datums/supplypacks.dm @@ -310,14 +310,6 @@ var/list/all_supply_groups = list("Operations","Security","Hospitality","Enginee access = access_hydroponics group = "Hydroponics" -/datum/supply_packs/lisa - name = "Corgi crate" - contains = list() - cost = 50 - containertype = /obj/structure/largecrate/animal/corgi - containername = "Corgi crate" - group = "Hydroponics" - /datum/supply_packs/seeds name = "Seeds crate" contains = list(/obj/item/seeds/chiliseed, diff --git a/code/modules/clothing/under/jobs/medsci.dm b/code/modules/clothing/under/jobs/medsci.dm index 1e9acac452..3ceab6cee0 100644 --- a/code/modules/clothing/under/jobs/medsci.dm +++ b/code/modules/clothing/under/jobs/medsci.dm @@ -115,7 +115,7 @@ /obj/item/clothing/under/rank/medical/paramedic name = "short sleeve medical jumpsuit" - desc = "Made of a special fiber that gives special protection against biohazards. Has a cross on the chest denoting that the wearer is trained medical personnel and short sleeves." + desc = "It's made of a special fiber that provides minor protection against biohazards. This one has a cross on the chest denoting that the wearer is trained medical personnel." icon_state = "medical_short" item_state = "medical_short" body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS From a9f936fe42e4046a305b70975990ac24ebf39357 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Wed, 13 May 2015 11:20:54 +0930 Subject: [PATCH 189/305] Added exosuit customisation kits to cargo. --- code/controllers/communications.dm | 2 +- code/datums/supplypacks.dm | 29 ++++++++- code/game/mecha/combat/gygax.dm | 2 +- code/game/objects/items/paintkit.dm | 83 ++++++++++++++++++++++++- code/modules/admin/verbs/striketeam.dm | 6 +- code/modules/clothing/suits/jobs.dm | 2 +- icons/mecha/mecha.dmi | Bin 150214 -> 168092 bytes 7 files changed, 113 insertions(+), 11 deletions(-) diff --git a/code/controllers/communications.dm b/code/controllers/communications.dm index 9e82c55d05..723d2e001a 100644 --- a/code/controllers/communications.dm +++ b/code/controllers/communications.dm @@ -72,7 +72,7 @@ Radio: 1355 - Medical 1357 - Engineering 1359 - Security -1341 - death squad +1341 - deathsquad 1443 - Confession Intercom 1347 - Cargo techs 1349 - Service people diff --git a/code/datums/supplypacks.dm b/code/datums/supplypacks.dm index 8b5124eae1..f88149cf3a 100644 --- a/code/datums/supplypacks.dm +++ b/code/datums/supplypacks.dm @@ -1511,7 +1511,32 @@ var/list/all_supply_groups = list("Operations","Security","Hospitality","Enginee /obj/item/weapon/stock_parts/subspace/crystal, /obj/item/weapon/storage/toolbox/electrical) +/datum/supply_packs/randomised/exosuit_mod + num_contained = 1 + contains = list( + /obj/item/device/kit/paint/ripley, + /obj/item/device/kit/paint/ripley/death, + /obj/item/device/kit/paint/ripley/flames_red, + /obj/item/device/kit/paint/ripley/flames_blue + ) + name = "Random APLU modkit" + cost = 200 + containertype = /obj/structure/closet/crate + containername = "heavy crate" + group = "Miscellaneous" +/datum/supply_packs/randomised/exosuit_mod/durand + contains = list( + /obj/item/device/kit/paint/durand, + /obj/item/device/kit/paint/durand/seraph, + /obj/item/device/kit/paint/durand/phazon + ) + name = "Random Durand exosuit modkit" - - +/datum/supply_packs/randomised/exosuit_mod/gygax + contains = list( + /obj/item/device/kit/paint/gygax, + /obj/item/device/kit/paint/gygax/darkgygax, + /obj/item/device/kit/paint/gygax/recitence + ) + name = "Random Gygax exosuit modkit" diff --git a/code/game/mecha/combat/gygax.dm b/code/game/mecha/combat/gygax.dm index 7e8df94015..b47564e2b3 100644 --- a/code/game/mecha/combat/gygax.dm +++ b/code/game/mecha/combat/gygax.dm @@ -17,7 +17,7 @@ max_equip = 3 /obj/mecha/combat/gygax/dark - desc = "A lightweight exosuit used by Nanotrasen Death Squads. A significantly upgraded Gygax security mech." + desc = "A lightweight exosuit used by NanoTrasen Heavy Asset Protection. A significantly upgraded Gygax security mech." name = "Dark Gygax" icon_state = "darkgygax" initial_icon = "darkgygax" diff --git a/code/game/objects/items/paintkit.dm b/code/game/objects/items/paintkit.dm index a562528fa5..f626af6ff3 100644 --- a/code/game/objects/items/paintkit.dm +++ b/code/game/objects/items/paintkit.dm @@ -7,6 +7,10 @@ var/new_icon_file var/uses = 1 // Uses before the kit deletes itself. +/obj/item/device/kit/examine() + ..() + usr << "It has [uses] [uses>1?"uses":"use"] left." + /obj/item/device/kit/proc/use(var/amt, var/mob/user) uses -= amt playsound(get_turf(user), 'sound/items/Screwdriver.ogg', 50, 1) @@ -63,13 +67,19 @@ return 1 return ..() -// Actual application of this kit is handled in mecha.dm attackby(). /obj/item/device/kit/paint name = "mecha customisation kit" - desc = "A generic kit containing all the needed tools and parts to turn a mech into another mech." + desc = "A kit containing all the needed tools and parts to repaint a mech." var/removable = null var/list/allowed_types = list() +/obj/item/device/kit/paint/examine() + ..() + usr << "This kit will convert an exosuit into: [new_name]." + usr << "This kit can be used on the following exosuit models:" + for(var/exotype in allowed_types) + usr << "- [capitalize(exotype)]" + /obj/mecha/attackby(var/obj/item/weapon/W, var/mob/user) if(istype(W, /obj/item/device/kit/paint)) if(occupant) @@ -98,4 +108,71 @@ P.use(1, user) return 1 else - return ..() \ No newline at end of file + return ..() + +//Ripley APLU kits. +/obj/item/device/kit/paint/ripley + name = "\"Classic\" APLU customisation kit" + new_name = "APLU \"Classic\"" + new_desc = "A very retro APLU unit; didn't they retire these back in 2543?" + new_icon = "ripley-old" + allowed_types = list("ripley") + +/obj/item/device/kit/paint/ripley/death + name = "\"Reaper\" APLU customisation kit" + new_name = "APLU \"Reaper\"" + new_desc = "A terrifying, grim power loader. Why do those clamps have spikes?" + new_icon = "deathripley" + allowed_types = list("ripley","firefighter") + +/obj/item/device/kit/paint/ripley/flames_red + name = "\"Firestarter\" APLU customisation kit" + new_name = "APLU \"Firestarter\"" + new_desc = "A standard APLU exosuit with stylish orange flame decals." + new_icon = "ripley_flames_red" + +/obj/item/device/kit/paint/ripley/flames_blue + name = "\"Burning Chrome\" APLU customisation kit" + new_name = "APLU \"Burning Chrome\"" + new_desc = "A standard APLU exosuit with stylish blue flame decals." + new_icon = "ripley_flames_blue" + +// Durand kits. +/obj/item/device/kit/paint/durand + name = "\"Classic\" Durand customisation kit" + new_name = "Durand \"Classic\"" + new_desc = "An older model of Durand combat exosuit. This model was retired for rotating a pilot's torso 180 degrees." + new_icon = "old_durand" + allowed_types = list("durand") + +/obj/item/device/kit/paint/durand/seraph + name = "\"Cherubim\" Durand customisation kit" + new_name = "Durand \"Cherubim\"" + new_desc = "A Durand combat exosuit modelled after ancient Earth entertainment. Your heart goes doki-doki just looking at it." + new_icon = "old_durand" + +/obj/item/device/kit/paint/durand/phazon + name = "\"Sypher\" Durand customisation kit" + new_name = "Durand \"Sypher\"" + new_desc = "A Durand combat exosuit with some very stylish neons and decals. Seems to blur slightly at the edges; probably an optical illusion." + new_icon = "phazon" + +// Gygax kits. +/obj/item/device/kit/paint/gygax + name = "\"Jester\" Gygax customisation kit" + new_name = "Gygax \"Jester\"" + new_desc = "A Gygax exosuit modelled after the infamous combat-troubadors of Earth's distant past. Terrifying to behold." + new_icon = "honker" + allowed_types = list("gygax") + +/obj/item/device/kit/paint/gygax/darkgygax + name = "\"Silhouette\" Gygax customisation kit" + new_name = "Gygax \"Silhouette\"" + new_desc = "An ominous Gygax exosuit modelled after the fictional corporate 'death squads' that were popular back in 2554." + new_icon = "darkgygax" + +/obj/item/device/kit/paint/gygax/recitence + name = "\"Gaoler\" Gygax customisation kit" + new_name = "Durand \"Gaoler\"" + new_desc = "A bulky silver Gygax exosuit. The extra armour appears to be painted on, but it's very shiny." + new_icon = "recitence" \ No newline at end of file diff --git a/code/modules/admin/verbs/striketeam.dm b/code/modules/admin/verbs/striketeam.dm index c49e09d554..ef217b16f9 100644 --- a/code/modules/admin/verbs/striketeam.dm +++ b/code/modules/admin/verbs/striketeam.dm @@ -4,7 +4,7 @@ var/const/commandos_possible = 6 //if more Commandos are needed in the future /client/proc/strike_team() set category = "Fun" set name = "Spawn Strike Team" - set desc = "Spawns a death squad if you want to run an admin event." + set desc = "Spawns a strike team if you want to run an admin event." if(!src.holder) src << "Only administrators may use this command." @@ -20,12 +20,12 @@ var/const/commandos_possible = 6 //if more Commandos are needed in the future var/datum/antagonist/deathsquad/team - var/choice = input(usr, "Select type of strike team:") as null|anything in list("Death Squad", "Mercenaries") + var/choice = input(usr, "Select type of strike team:") as null|anything in list("Heavy Asset Protection", "Mercenaries") if(!choice) return switch(choice) - if("Death Squad") + if("Heavy Asset Protection") team = deathsquad if("Mercenaries") team = commandos diff --git a/code/modules/clothing/suits/jobs.dm b/code/modules/clothing/suits/jobs.dm index efa2e01a2d..e0fa47f64f 100644 --- a/code/modules/clothing/suits/jobs.dm +++ b/code/modules/clothing/suits/jobs.dm @@ -187,7 +187,7 @@ /obj/item/clothing/suit/storage/toggle/fr_jacket/ems name = "\improper EMS jacket" - desc = "A dark blue, martian-pattern, EMS jacket. It sports high-visibility reflective stripes, a star of life on the back, and has a nametag on the right side of the chest that reads 'Lombardi B-'." + desc = "A dark blue, martian-pattern, EMS jacket. It sports high-visibility reflective stripes and a star of life on the back." icon_state = "ems_jacket_closed" item_state = "ems_jacket_closed" icon_open = "ems_jacket_open" diff --git a/icons/mecha/mecha.dmi b/icons/mecha/mecha.dmi index b1f35226f829deb904c4c528f5978a6f9e0f4c50..c5d882a5032dddc7cc18f7435119b8a473a75dd7 100644 GIT binary patch literal 168092 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

rKJal0_mZ2;2~)5iSB%Tw5z>Jq1Nc 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%0Ake)n#ritn6F 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 literal 150214 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 literal 0 HcmV?d00001 From f9f99d61b27bcdf28e2490ddf30f506316f4fd62 Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Wed, 13 May 2015 19:09:40 +0100 Subject: [PATCH 203/305] Map changes. sed -rbi 's#obj/structure/table([^/])#obj/structure/table/standard\1#g' maps/**/*.dmm --- maps/RandomZLevels/Academy.dmm | 52 +- maps/RandomZLevels/blackmarketpackers.dmm | 32 +- maps/RandomZLevels/challenge.dmm | 8 +- maps/RandomZLevels/example.dmm | 44 +- maps/RandomZLevels/listeningpost.dmm | 10 +- maps/RandomZLevels/stationCollision.dmm | 80 +-- maps/RandomZLevels/zresearchlabs.dmm | 160 +++--- maps/exodus-1.dmm | 634 +++++++++++----------- maps/exodus-2.dmm | 266 ++++----- maps/exodus-3.dmm | 42 +- maps/exodus-5.dmm | 156 +++--- maps/exodus-6.dmm | 3 +- maps/overmap/bearcat/bearcat.dmm | 42 +- maps/overmap/example_sector1.dmm | 26 +- maps/overmap/example_sector2.dmm | 10 +- 15 files changed, 782 insertions(+), 783 deletions(-) diff --git a/maps/RandomZLevels/Academy.dmm b/maps/RandomZLevels/Academy.dmm index 878f74e61a..7de78aa9f3 100644 --- a/maps/RandomZLevels/Academy.dmm +++ b/maps/RandomZLevels/Academy.dmm @@ -102,13 +102,13 @@ "bX" = (/turf/simulated/floor/engine,/area/awaymission/academy/classrooms) "bY" = (/obj/structure/target_stake,/obj/item/target/alien,/turf/simulated/floor/engine,/area/awaymission/academy/classrooms) "bZ" = (/obj/machinery/vending/cigarette,/turf/simulated/floor,/area/awaymission/academy/headmaster) -"ca" = (/obj/structure/table,/obj/item/weapon/lighter/random,/turf/simulated/floor,/area/awaymission/academy/headmaster) +"ca" = (/obj/structure/table/standard,/obj/item/weapon/lighter/random,/turf/simulated/floor,/area/awaymission/academy/headmaster) "cb" = (/turf/simulated/floor{icon_state = "dark"},/area/awaymission/academy/headmaster) "cc" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/awaymission/academy/headmaster) "cd" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 5; health = 1e+007},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating,/area/awaymission/academy/headmaster) "ce" = (/obj/machinery/portable_atmospherics/canister/toxins,/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/academy/headmaster) "cf" = (/obj/structure/stool,/obj/machinery/light/small{dir = 4},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/academy/headmaster) -"cg" = (/obj/structure/table,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor{icon_state = "floorgrime"},/area/awaymission/academy/classrooms) +"cg" = (/obj/structure/table/standard,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor{icon_state = "floorgrime"},/area/awaymission/academy/classrooms) "ch" = (/obj/effect/decal/cleanable/oil,/turf/simulated/floor/plating,/area/awaymission/academy/classrooms) "ci" = (/obj/machinery/door/airlock/plasma,/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster) "cj" = (/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/awaymission/academy/headmaster) @@ -116,7 +116,7 @@ "cl" = (/obj/machinery/computer/area_atmos/area,/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/awaymission/academy/headmaster) "cm" = (/obj/machinery/portable_atmospherics/scrubber/huge/stationary,/turf/simulated/floor/plating,/area/awaymission/academy/headmaster) "cn" = (/obj/structure/stool,/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/academy/headmaster) -"co" = (/obj/structure/table,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/item/weapon/pen/red,/turf/simulated/floor,/area/awaymission/academy/classrooms) +"co" = (/obj/structure/table/standard,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/item/weapon/pen/red,/turf/simulated/floor,/area/awaymission/academy/classrooms) "cp" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor,/area/awaymission/academy/classrooms) "cq" = (/turf/simulated/shuttle/wall{tag = "icon-swall1"; icon_state = "swall1"},/area/awaymission/academy/classrooms) "cr" = (/obj/structure/stool/bed/chair,/turf/simulated/floor,/area/awaymission/academy/headmaster) @@ -124,16 +124,16 @@ "ct" = (/obj/machinery/door/window{dir = 8},/turf/simulated/floor/plating,/area/awaymission/academy/headmaster) "cu" = (/turf/simulated/floor/plating,/area/awaymission/academy/headmaster) "cv" = (/obj/machinery/door/window{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating,/area/awaymission/academy/headmaster) -"cw" = (/obj/structure/table,/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/academy/headmaster) -"cx" = (/obj/structure/table,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/item/stack/cable_coil/random,/turf/simulated/floor,/area/awaymission/academy/classrooms) +"cw" = (/obj/structure/table/standard,/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/academy/headmaster) +"cx" = (/obj/structure/table/standard,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/item/stack/cable_coil/random,/turf/simulated/floor,/area/awaymission/academy/classrooms) "cy" = (/turf/simulated/floor{icon_state = "red"; dir = 8},/area/awaymission/academy/classrooms) "cz" = (/obj/item/target,/turf/simulated/floor/engine,/area/awaymission/academy/classrooms) "cA" = (/turf/simulated/floor{icon_state = "red"; dir = 4},/area/awaymission/academy/classrooms) -"cB" = (/obj/structure/table,/turf/simulated/floor,/area/awaymission/academy/headmaster) +"cB" = (/obj/structure/table/standard,/turf/simulated/floor,/area/awaymission/academy/headmaster) "cC" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster) "cD" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/awaymission/academy/headmaster) "cE" = (/obj/structure/sign/nosmoking_1,/turf/simulated/wall,/area/awaymission/academy/headmaster) -"cF" = (/obj/structure/table,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor,/area/awaymission/academy/classrooms) +"cF" = (/obj/structure/table/standard,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor,/area/awaymission/academy/classrooms) "cG" = (/obj/item/stack/sheet/metal,/turf/simulated/floor/plating,/area/awaymission/academy/classrooms) "cH" = (/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/awaymission/academy/classrooms) "cI" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor,/area/awaymission/academy/headmaster) @@ -245,7 +245,7 @@ "eK" = (/turf/simulated/floor{dir = 4; icon_state = "chapel"},/area/awaymission/academy/classrooms) "eL" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor{dir = 1; icon_state = "chapel"},/area/awaymission/academy/classrooms) "eM" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor{icon_state = "grimy"},/area/awaymission/academy/classrooms) -"eN" = (/obj/structure/table,/turf/simulated/floor{icon_state = "escape"; dir = 6},/area/awaymission/academy/classrooms) +"eN" = (/obj/structure/table/standard,/turf/simulated/floor{icon_state = "escape"; dir = 6},/area/awaymission/academy/classrooms) "eO" = (/obj/machinery/processor,/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/awaymission/academy/classrooms) "eP" = (/turf/simulated/floor{icon_state = "yellow"},/area/awaymission/academy/classrooms) "eQ" = (/turf/simulated/floor{dir = 6; icon_state = "yellow"},/area/awaymission/academy/classrooms) @@ -254,7 +254,7 @@ "eT" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "chapel"},/area/awaymission/academy/classrooms) "eU" = (/obj/structure/mineral_door/wood,/turf/simulated/floor{icon_state = "bar"},/area/awaymission/academy/classrooms) "eV" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor{icon_state = "escape"; dir = 6},/area/awaymission/academy/classrooms) -"eW" = (/obj/structure/table,/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/item/weapon/reagent_containers/food/snacks/spellburger,/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/awaymission/academy/classrooms) +"eW" = (/obj/structure/table/standard,/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/item/weapon/reagent_containers/food/snacks/spellburger,/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/awaymission/academy/classrooms) "eX" = (/turf/simulated/floor/plating{tag = "icon-warnplate (SOUTHWEST)"; icon_state = "warnplate"; dir = 10},/area/awaymission/academy) "eY" = (/obj/structure/window/reinforced,/turf/simulated/floor,/area/awaymission/academy/classrooms) "eZ" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/carpet,/area/awaymission/academy/classrooms) @@ -263,17 +263,17 @@ "fc" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor{icon_state = "grimy"},/area/awaymission/academy/classrooms) "fd" = (/obj/structure/mineral_door/wood,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor{icon_state = "bar"},/area/awaymission/academy/classrooms) "fe" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor{icon_state = "escape"; dir = 6},/area/awaymission/academy/classrooms) -"ff" = (/obj/structure/table,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor{icon_state = "escape"; dir = 6},/area/awaymission/academy/classrooms) +"ff" = (/obj/structure/table/standard,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor{icon_state = "escape"; dir = 6},/area/awaymission/academy/classrooms) "fg" = (/obj/structure/table/reinforced,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/awaymission/academy/classrooms) "fh" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/awaymission/academy/classrooms) "fi" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/awaymission/academy/classrooms) -"fj" = (/obj/structure/table,/obj/machinery/microwave,/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/awaymission/academy/classrooms) +"fj" = (/obj/structure/table/standard,/obj/machinery/microwave,/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/awaymission/academy/classrooms) "fk" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor{dir = 5; icon_state = "yellow"},/area/awaymission/academy/classrooms) "fl" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor{dir = 9; icon_state = "yellow"},/area/awaymission/academy/classrooms) "fm" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor{icon_state = "escape"; dir = 6},/area/awaymission/academy/classrooms) -"fn" = (/obj/structure/table,/obj/item/trash/semki,/turf/simulated/floor{icon_state = "escape"; dir = 6},/area/awaymission/academy/classrooms) +"fn" = (/obj/structure/table/standard,/obj/item/trash/semki,/turf/simulated/floor{icon_state = "escape"; dir = 6},/area/awaymission/academy/classrooms) "fo" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor{icon_state = "escape"; dir = 6},/area/awaymission/academy/classrooms) -"fp" = (/obj/structure/table,/obj/machinery/reagentgrinder,/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/awaymission/academy/classrooms) +"fp" = (/obj/structure/table/standard,/obj/machinery/reagentgrinder,/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/awaymission/academy/classrooms) "fq" = (/turf/simulated/floor{icon_state = "cautioncorner"; dir = 4},/area/awaymission/academy/classrooms) "fr" = (/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor{dir = 1; icon_state = "yellow"},/area/awaymission/academy/classrooms) "fs" = (/turf/simulated/floor{dir = 1; icon_state = "yellowcorner"},/area/awaymission/academy/classrooms) @@ -309,8 +309,8 @@ "fW" = (/obj/effect/landmark{name = "awaystart"},/turf/simulated/floor/plating,/area/awaymission/academy/classrooms) "fX" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 5; health = 1e+007},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating,/area/awaymission/academy/classrooms) "fY" = (/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/awaymission/academy/classrooms) -"fZ" = (/obj/structure/table,/obj/item/weapon/pen/red,/turf/simulated/floor,/area/awaymission/academy/classrooms) -"ga" = (/obj/structure/table,/obj/item/weapon/scalpel,/turf/simulated/floor{icon_state = "whitehall"; dir = 4},/area/awaymission/academy/classrooms) +"fZ" = (/obj/structure/table/standard,/obj/item/weapon/pen/red,/turf/simulated/floor,/area/awaymission/academy/classrooms) +"ga" = (/obj/structure/table/standard,/obj/item/weapon/scalpel,/turf/simulated/floor{icon_state = "whitehall"; dir = 4},/area/awaymission/academy/classrooms) "gb" = (/obj/structure/stool/bed/chair/wood/normal,/turf/simulated/floor/wood,/area/awaymission/academy/classrooms) "gc" = (/obj/structure/bookcase,/obj/item/weapon/book/manual/engineering_hacking,/turf/simulated/floor/wood,/area/awaymission/academy/classrooms) "gd" = (/obj/structure/bookcase,/turf/simulated/floor/wood,/area/awaymission/academy/classrooms) @@ -323,7 +323,7 @@ "gk" = (/obj/machinery/door/window{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/awaymission/academy/classrooms) "gl" = (/obj/item/weapon/storage/box/monkeycubes,/turf/simulated/floor/plating,/area/awaymission/academy/classrooms) "gm" = (/obj/machinery/door/window{dir = 4},/obj/machinery/door/window{dir = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating,/area/awaymission/academy/classrooms) -"gn" = (/obj/structure/table,/turf/simulated/floor,/area/awaymission/academy/classrooms) +"gn" = (/obj/structure/table/standard,/turf/simulated/floor,/area/awaymission/academy/classrooms) "go" = (/turf/simulated/floor{icon_state = "whitehall"; dir = 4},/area/awaymission/academy/classrooms) "gp" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/awaymission/academy/classrooms) "gq" = (/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/awaymission/academy/classrooms) @@ -337,9 +337,9 @@ "gy" = (/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/awaymission/academy/classrooms) "gz" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor/carpet,/area/awaymission/academy/academyaft) "gA" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/carpet,/area/awaymission/academy/academyaft) -"gB" = (/obj/structure/table,/obj/item/weapon/gun/projectile/shotgun/pump/sc_pump,/obj/item/weapon/paper{info = "Grade: A+ Educator's Notes: Excellent form."; name = "Summoning Midterm Exam"},/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/awaymission/academy/classrooms) -"gC" = (/obj/structure/table,/obj/item/weapon/gun/projectile/russian,/obj/item/weapon/paper{info = "Grade: B- Educator's Notes: Keep applying yourself, you're showing improvement."; name = "Summoning Midterm Exam"},/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/awaymission/academy/classrooms) -"gD" = (/obj/structure/table,/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/awaymission/academy/classrooms) +"gB" = (/obj/structure/table/standard,/obj/item/weapon/gun/projectile/shotgun/pump/sc_pump,/obj/item/weapon/paper{info = "Grade: A+ Educator's Notes: Excellent form."; name = "Summoning Midterm Exam"},/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/awaymission/academy/classrooms) +"gC" = (/obj/structure/table/standard,/obj/item/weapon/gun/projectile/russian,/obj/item/weapon/paper{info = "Grade: B- Educator's Notes: Keep applying yourself, you're showing improvement."; name = "Summoning Midterm Exam"},/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/awaymission/academy/classrooms) +"gD" = (/obj/structure/table/standard,/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/awaymission/academy/classrooms) "gE" = (/obj/structure/window/reinforced,/obj/item/ammo_casing,/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/awaymission/academy/classrooms) "gF" = (/mob/living/simple_animal/hostile/bear,/turf/simulated/floor/plating,/area/awaymission/academy/classrooms) "gG" = (/obj/structure/bookcase,/obj/item/weapon/book/manual/hydroponics_pod_people,/turf/simulated/floor/wood,/area/awaymission/academy/classrooms) @@ -352,7 +352,7 @@ "gN" = (/obj/machinery/door/airlock/gold{locked = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/carpet,/area/awaymission/academy/classrooms) "gO" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/awaymission/academy/classrooms) "gP" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/awaymission/academy/classrooms) -"gQ" = (/obj/structure/table,/obj/item/weapon/gun/energy/floragun,/obj/item/weapon/paper{info = "Grade: D- Educator's Notes: SEE ME AFTER CLASS."; name = "Summoning Midterm Exam"},/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/awaymission/academy/classrooms) +"gQ" = (/obj/structure/table/standard,/obj/item/weapon/gun/energy/floragun,/obj/item/weapon/paper{info = "Grade: D- Educator's Notes: SEE ME AFTER CLASS."; name = "Summoning Midterm Exam"},/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/awaymission/academy/classrooms) "gR" = (/obj/structure/closet/crate,/obj/item/stack/sheet/glass,/obj/item/target,/obj/item/target,/turf/simulated/floor,/area/awaymission/academy/classrooms) "gS" = (/obj/machinery/shieldwallgen,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/awaymission/academy/classrooms) "gT" = (/turf/simulated/floor{icon_state = "whitehall"; dir = 2},/area/awaymission/academy/classrooms) @@ -449,13 +449,13 @@ "iG" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/wood,/area/awaymission/academy/academyaft) "iH" = (/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor/engine,/area/awaymission/academy/academyaft) "iI" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/awaymission/academy/academyaft) -"iJ" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/table,/obj/item/weapon/beach_ball/holoball,/turf/simulated/floor{icon_state = "red"; dir = 1},/area/awaymission/academy/academyaft) +"iJ" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/table/standard,/obj/item/weapon/beach_ball/holoball,/turf/simulated/floor{icon_state = "red"; dir = 1},/area/awaymission/academy/academyaft) "iK" = (/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor{icon_state = "red"; dir = 5},/area/awaymission/academy/academyaft) "iL" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 5; health = 1e+007},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating,/area/awaymission/academy/academyaft) "iM" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor/carpet,/area/awaymission/academy/academyaft) "iN" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 5; health = 1e+007},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating,/area/awaymission/academy/academyaft) "iO" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/airless{tag = "icon-white (EAST)"; icon_state = "white"; dir = 4},/area/awaymission/academy/academyaft) -"iP" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/table,/obj/item/device/soulstone,/turf/simulated/floor/airless{tag = "icon-whitered (EAST)"; icon_state = "whitered"; dir = 4},/area/awaymission/academy/academyaft) +"iP" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/table/standard,/obj/item/device/soulstone,/turf/simulated/floor/airless{tag = "icon-whitered (EAST)"; icon_state = "whitered"; dir = 4},/area/awaymission/academy/academyaft) "iQ" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion_l"; icon_state = "propulsion_l"},/turf/space,/area/awaymission/academy/academyaft) "iR" = (/obj/structure/shuttle/engine/propulsion,/turf/space,/area/awaymission/academy/academyaft) "iS" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion_r"; icon_state = "propulsion_r"},/turf/space,/area/awaymission/academy/academyaft) @@ -465,24 +465,24 @@ "iW" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/airless{tag = "icon-white (EAST)"; icon_state = "white"; dir = 4},/area/awaymission/academy/academyaft) "iX" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor/airless{tag = "icon-whitered (EAST)"; icon_state = "whitered"; dir = 4},/area/awaymission/academy/academyaft) "iY" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 5; health = 1e+007},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/awaymission/academy/academyaft) -"iZ" = (/obj/structure/table,/obj/item/clothing/glasses/meson/truesight,/turf/simulated/floor,/area/awaymission/academy/academyaft) +"iZ" = (/obj/structure/table/standard,/obj/item/clothing/glasses/meson/truesight,/turf/simulated/floor,/area/awaymission/academy/academyaft) "ja" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/carpet,/area/awaymission/academy/academyaft) "jb" = (/obj/structure/noticeboard,/turf/simulated/wall,/area/awaymission/academy/academyaft) "jc" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/carpet,/area/awaymission/academy/academyaft) "jd" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/airless{tag = "icon-white (EAST)"; icon_state = "white"; dir = 4},/area/awaymission/academy/academyaft) -"je" = (/obj/structure/table,/obj/item/brain{name = "The preserved brain of Harry Houdini"},/turf/simulated/floor/airless{tag = "icon-whitered (EAST)"; icon_state = "whitered"; dir = 4},/area/awaymission/academy/academyaft) +"je" = (/obj/structure/table/standard,/obj/item/brain{name = "The preserved brain of Harry Houdini"},/turf/simulated/floor/airless{tag = "icon-whitered (EAST)"; icon_state = "whitered"; dir = 4},/area/awaymission/academy/academyaft) "jf" = (/obj/effect/landmark{name = "awaystart"},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/awaymission/academy/academyaft) "jg" = (/turf/simulated/floor{dir = 8; icon_state = "yellow"},/area/awaymission/academy/academyaft) "jh" = (/turf/simulated/floor{dir = 4; icon_state = "yellow"},/area/awaymission/academy/academyaft) "ji" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/airless{tag = "icon-white (EAST)"; icon_state = "white"; dir = 4},/area/awaymission/academy/academyaft) "jj" = (/obj/structure/grille,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/item/weapon/shard,/turf/simulated/floor/plating/airless,/area/awaymission/academy/academyaft) -"jk" = (/obj/structure/window/reinforced,/obj/structure/table,/obj/item/weapon/reagent_containers/food/drinks/golden_cup,/turf/simulated/floor{icon_state = "red"},/area/awaymission/academy/academyaft) +"jk" = (/obj/structure/window/reinforced,/obj/structure/table/standard,/obj/item/weapon/reagent_containers/food/drinks/golden_cup,/turf/simulated/floor{icon_state = "red"},/area/awaymission/academy/academyaft) "jl" = (/obj/structure/window/reinforced,/turf/simulated/floor{icon_state = "red"; dir = 6},/area/awaymission/academy/academyaft) "jm" = (/obj/structure/cult/pylon,/turf/simulated/floor{icon_state = "yellow"; dir = 10},/area/awaymission/academy/academyaft) "jn" = (/turf/simulated/floor{icon_state = "yellow"},/area/awaymission/academy/academyaft) "jo" = (/obj/structure/cult/pylon,/turf/simulated/floor{dir = 6; icon_state = "yellow"},/area/awaymission/academy/academyaft) "jp" = (/obj/structure/window/reinforced,/turf/simulated/floor/airless{tag = "icon-white (EAST)"; icon_state = "white"; dir = 4},/area/awaymission/academy/academyaft) -"jq" = (/obj/structure/table,/obj/structure/window/reinforced,/obj/item/device/batterer,/turf/simulated/floor/airless{tag = "icon-whitered (EAST)"; icon_state = "whitered"; dir = 4},/area/awaymission/academy/academyaft) +"jq" = (/obj/structure/table/standard,/obj/structure/window/reinforced,/obj/item/device/batterer,/turf/simulated/floor/airless{tag = "icon-whitered (EAST)"; icon_state = "whitered"; dir = 4},/area/awaymission/academy/academyaft) "jr" = (/obj/item/weapon/shard{icon_state = "medium"},/turf/space,/area) "js" = (/obj/machinery/igniter,/turf/simulated/floor/plating,/area/awaymission/academy/academyaft) "jt" = (/obj/structure/window/reinforced,/turf/simulated/floor/carpet,/area/awaymission/academy/academyaft) diff --git a/maps/RandomZLevels/blackmarketpackers.dmm b/maps/RandomZLevels/blackmarketpackers.dmm index d6c1ca8455..293a212f96 100644 --- a/maps/RandomZLevels/blackmarketpackers.dmm +++ b/maps/RandomZLevels/blackmarketpackers.dmm @@ -42,8 +42,8 @@ "aP" = (/turf/simulated/floor/plating{tag = "icon-warnplate (NORTHWEST)"; icon_state = "warnplate"; dir = 9},/area/awaymission/BMPship1) "aQ" = (/obj/structure/closet/crate/freezer,/obj/item/weapon/reagent_containers/food/snacks/appendix,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/turf/simulated/floor/plating{tag = "icon-warnplate (NORTH)"; icon_state = "warnplate"; dir = 1},/area/awaymission/BMPship1) "aR" = (/obj/structure/closet/crate/freezer,/obj/item/brain,/obj/item/weapon/reagent_containers/food/snacks/appendix,/obj/item/weapon/reagent_containers/food/snacks/meat,/turf/simulated/floor/plating{tag = "icon-warnplate (NORTH)"; icon_state = "warnplate"; dir = 1},/area/awaymission/BMPship1) -"aS" = (/obj/structure/table,/obj/item/weapon/packageWrap,/turf/simulated/floor/plating{tag = "icon-warnplate (NORTH)"; icon_state = "warnplate"; dir = 1},/area/awaymission/BMPship1) -"aT" = (/obj/structure/table,/obj/item/weapon/storage/box,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating{tag = "icon-warnplate (NORTH)"; icon_state = "warnplate"; dir = 1},/area/awaymission/BMPship1) +"aS" = (/obj/structure/table/standard,/obj/item/weapon/packageWrap,/turf/simulated/floor/plating{tag = "icon-warnplate (NORTH)"; icon_state = "warnplate"; dir = 1},/area/awaymission/BMPship1) +"aT" = (/obj/structure/table/standard,/obj/item/weapon/storage/box,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating{tag = "icon-warnplate (NORTH)"; icon_state = "warnplate"; dir = 1},/area/awaymission/BMPship1) "aU" = (/turf/simulated/floor/plating{tag = "icon-warnplate (NORTH)"; icon_state = "warnplate"; dir = 1},/area/awaymission/BMPship1) "aV" = (/turf/simulated/floor/plating{tag = "icon-warnplate (NORTHEAST)"; icon_state = "warnplate"; dir = 5},/turf/simulated/shuttle/wall{tag = "icon-swall_f5"; icon_state = "swall_f5"; dir = 2},/area/awaymission/BMPship1) "aW" = (/turf/simulated/floor/plating/airless{tag = "icon-platingdmg2"; icon_state = "platingdmg2"},/area/awaymission/BMPship1) @@ -130,7 +130,7 @@ "cz" = (/turf/simulated/floor{tag = "icon-carpet"; icon_state = "carpet"},/area/awaymission/BMPship3) "cA" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/apc{dir = 1; locked = 0; req_access = ""},/turf/simulated/floor{tag = "icon-carpet"; icon_state = "carpet"},/area/awaymission/BMPship3) "cB" = (/turf/simulated/shuttle/wall{tag = "icon-swall3"; icon_state = "swall3"; dir = 2},/area/awaymission/BMPship2) -"cC" = (/obj/structure/table,/obj/item/weapon/screwdriver,/obj/item/weapon/screwdriver,/obj/item/weapon/paper{info = "The next person who takes one of my screwdrivers gets stabbed with one. They are MINE. - Love, Madsen"; name = "scribbled note"},/obj/item/weapon/screwdriver,/turf/simulated/floor{icon_state = "bar"},/area/awaymission/BMPship2) +"cC" = (/obj/structure/table/standard,/obj/item/weapon/screwdriver,/obj/item/weapon/screwdriver,/obj/item/weapon/paper{info = "The next person who takes one of my screwdrivers gets stabbed with one. They are MINE. - Love, Madsen"; name = "scribbled note"},/obj/item/weapon/screwdriver,/turf/simulated/floor{icon_state = "bar"},/area/awaymission/BMPship2) "cD" = (/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "bar"},/area/awaymission/BMPship2) "cE" = (/obj/machinery/hydroponics,/turf/simulated/floor{tag = "icon-green (WEST)"; icon_state = "green"; dir = 8},/area/awaymission/BMPship2) "cF" = (/obj/structure/sink{dir = 2},/turf/simulated/floor{dir = 1; icon_state = "yellow"},/area/awaymission/BMPship2) @@ -139,14 +139,14 @@ "cI" = (/obj/machinery/hydroponics,/turf/simulated/floor{tag = "icon-green (EAST)"; icon_state = "green"; dir = 4},/area/awaymission/BMPship2) "cJ" = (/turf/simulated/floor{icon_state = "bar"},/area/awaymission/BMPship2) "cK" = (/turf/simulated/shuttle/wall{tag = "icon-swall3"; icon_state = "swall3"},/area/awaymission/BMPship2) -"cL" = (/obj/structure/table,/obj/item/weapon/butch,/obj/item/weapon/reagent_containers/food/drinks/beer,/obj/item/weapon/reagent_containers/food/snacks/meat,/turf/simulated/floor{tag = "icon-barber"; icon_state = "barber"},/area/awaymission/BMPship2) -"cM" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets,/turf/simulated/floor{tag = "icon-barber"; icon_state = "barber"},/area/awaymission/BMPship2) -"cN" = (/obj/structure/table,/obj/machinery/microwave,/turf/simulated/floor{tag = "icon-barber"; icon_state = "barber"},/area/awaymission/BMPship2) +"cL" = (/obj/structure/table/standard,/obj/item/weapon/butch,/obj/item/weapon/reagent_containers/food/drinks/beer,/obj/item/weapon/reagent_containers/food/snacks/meat,/turf/simulated/floor{tag = "icon-barber"; icon_state = "barber"},/area/awaymission/BMPship2) +"cM" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/donkpockets,/turf/simulated/floor{tag = "icon-barber"; icon_state = "barber"},/area/awaymission/BMPship2) +"cN" = (/obj/structure/table/standard,/obj/machinery/microwave,/turf/simulated/floor{tag = "icon-barber"; icon_state = "barber"},/area/awaymission/BMPship2) "cO" = (/obj/machinery/processor,/obj/machinery/light{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor{tag = "icon-barber"; icon_state = "barber"},/area/awaymission/BMPship2) -"cP" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/drinks/beer,/turf/simulated/floor{icon_state = "bar"},/area/awaymission/BMPship2) -"cQ" = (/obj/structure/table,/obj/item/weapon/kitchenknife,/turf/simulated/floor{icon_state = "bar"},/area/awaymission/BMPship2) -"cR" = (/obj/structure/table,/obj/machinery/light/small{dir = 1},/turf/simulated/floor{icon_state = "bar"},/area/awaymission/BMPship2) -"cS" = (/obj/structure/table,/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor{icon_state = "bar"},/area/awaymission/BMPship2) +"cP" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/food/drinks/beer,/turf/simulated/floor{icon_state = "bar"},/area/awaymission/BMPship2) +"cQ" = (/obj/structure/table/standard,/obj/item/weapon/kitchenknife,/turf/simulated/floor{icon_state = "bar"},/area/awaymission/BMPship2) +"cR" = (/obj/structure/table/standard,/obj/machinery/light/small{dir = 1},/turf/simulated/floor{icon_state = "bar"},/area/awaymission/BMPship2) +"cS" = (/obj/structure/table/standard,/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor{icon_state = "bar"},/area/awaymission/BMPship2) "cT" = (/turf/simulated/shuttle/wall{tag = "icon-swall7"; icon_state = "swall7"},/area/awaymission/BMPship1) "cU" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/poddoor/shutters{id = "packerCargo"},/turf/simulated/floor/plating,/area/awaymission/BMPship1) "cV" = (/turf/simulated/floor{tag = "icon-carpet15-13 (EAST)"; icon_state = "carpet15-13"; dir = 4},/area/awaymission/BMPship3) @@ -189,8 +189,8 @@ "dG" = (/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/awaymission/BMPship1) "dH" = (/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/power/apc{dir = 1; environ = 0; equipment = 3; locked = 0; req_access = ""},/turf/simulated/floor/plating,/area/awaymission/BMPship1) "dI" = (/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/awaymission/BMPship1) -"dJ" = (/obj/structure/table,/obj/item/weapon/paper{info = "I'm no scientist, but judging from the design and components, it seems to be some kind of gateway. This thing is gonna be worth a lot of cash to the right man. The boys are excited, as they have every right to be, and I've let them crack into that case of beer we got. I normally wouldn't allow such a thing, but this is a time for celebration! It's not like a couple drinks will hurt anything."; name = "Captain's log entry"},/turf/simulated/floor{tag = "icon-carpet6-0 (EAST)"; icon_state = "carpet6-0"; dir = 4},/area/awaymission/BMPship3) -"dK" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/drinks/beer,/turf/simulated/floor{tag = "icon-carpet14-2 (EAST)"; icon_state = "carpet14-2"; dir = 4},/area/awaymission/BMPship3) +"dJ" = (/obj/structure/table/standard,/obj/item/weapon/paper{info = "I'm no scientist, but judging from the design and components, it seems to be some kind of gateway. This thing is gonna be worth a lot of cash to the right man. The boys are excited, as they have every right to be, and I've let them crack into that case of beer we got. I normally wouldn't allow such a thing, but this is a time for celebration! It's not like a couple drinks will hurt anything."; name = "Captain's log entry"},/turf/simulated/floor{tag = "icon-carpet6-0 (EAST)"; icon_state = "carpet6-0"; dir = 4},/area/awaymission/BMPship3) +"dK" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/food/drinks/beer,/turf/simulated/floor{tag = "icon-carpet14-2 (EAST)"; icon_state = "carpet14-2"; dir = 4},/area/awaymission/BMPship3) "dL" = (/obj/structure/computerframe{anchored = 1},/turf/simulated/floor{tag = "icon-carpet14-8 (EAST)"; icon_state = "carpet14-8"; dir = 4},/area/awaymission/BMPship3) "dM" = (/turf/simulated/floor{tag = "icon-carpet10-0 (EAST)"; icon_state = "carpet10-0"; dir = 4},/area/awaymission/BMPship3) "dN" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{tag = "icon-carpet"; icon_state = "carpet"},/area/awaymission/BMPship3) @@ -212,7 +212,7 @@ "ed" = (/obj/structure/shuttle/engine/heater{tag = "icon-heater (EAST)"; icon_state = "heater"; dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/airless{tag = "icon-engine"; icon_state = "engine"},/area/awaymission/BMPship1) "ee" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion (WEST)"; icon_state = "propulsion"; dir = 8},/turf/space,/area/awaymission/BMPship1) "ef" = (/turf/simulated/floor{tag = "icon-carpet15-15 (EAST)"; icon_state = "carpet15-15"; dir = 4},/area/awaymission/BMPship3) -"eg" = (/obj/structure/table,/obj/machinery/recharger,/turf/simulated/floor{tag = "icon-carpet5-0 (EAST)"; icon_state = "carpet5-0"; dir = 4},/area/awaymission/BMPship3) +"eg" = (/obj/structure/table/standard,/obj/machinery/recharger,/turf/simulated/floor{tag = "icon-carpet5-0 (EAST)"; icon_state = "carpet5-0"; dir = 4},/area/awaymission/BMPship3) "eh" = (/obj/structure/stool,/turf/simulated/floor{tag = "icon-carpet13-1 (EAST)"; icon_state = "carpet13-1"; dir = 4},/area/awaymission/BMPship3) "ei" = (/turf/simulated/floor{tag = "icon-carpet13-4 (EAST)"; icon_state = "carpet13-4"; dir = 4},/area/awaymission/BMPship3) "ej" = (/turf/simulated/floor{tag = "icon-carpet9-0 (EAST)"; icon_state = "carpet9-0"; dir = 4},/area/awaymission/BMPship3) @@ -255,7 +255,7 @@ "eU" = (/obj/machinery/power/terminal{dir = 8},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/awaymission/BMPship1) "eV" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/awaymission/BMPship1) "eW" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/turf/simulated/floor/plating,/area/awaymission/BMPship3) -"eX" = (/obj/structure/table,/turf/simulated/floor{tag = "icon-carpet7-3 (EAST)"; icon_state = "carpet7-3"; dir = 4},/area/awaymission/BMPship3) +"eX" = (/obj/structure/table/standard,/turf/simulated/floor{tag = "icon-carpet7-3 (EAST)"; icon_state = "carpet7-3"; dir = 4},/area/awaymission/BMPship3) "eY" = (/obj/structure/stool/bed/chair/office{dir = 8},/turf/simulated/floor{tag = "icon-carpet11-12 (EAST)"; icon_state = "carpet11-12"; dir = 4},/area/awaymission/BMPship3) "eZ" = (/obj/item/weapon/shard{icon_state = "medium"},/turf/simulated/floor{tag = "icon-carpet15-14 (EAST)"; icon_state = "carpet15-14"; dir = 4},/area/awaymission/BMPship3) "fa" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{tag = "icon-carpet15-15 (EAST)"; icon_state = "carpet15-15"; dir = 4},/area/awaymission/BMPship3) @@ -382,8 +382,8 @@ "hr" = (/turf/simulated/shuttle/wall{tag = "icon-swall15"; icon_state = "swall15"},/area/awaymission/BMPship2) "hs" = (/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/awaymission/BMPship1) "ht" = (/obj/structure/stool,/turf/simulated/floor,/area/awaymission/BMPship1) -"hu" = (/obj/structure/table,/obj/item/weapon/paper{info = "DEAR DAIRY: So we was doing our typpical route when the captain says we've been picking up weird signals on some backwatter planet. Madsen wanted to stay on course but he ain't the captain, so we went out of the way to check it out. There was lots of rocks on the way, but we got to the planet fine. Found a big fancy camp with nobody around and this big metal donut thing with NT stamps all over it right in the middle. Case of beer too. Captain reckons we can pass it off to some buyer in the Syndicate. Ingram says it's bad luck and that someone is going to come look for it but it sounds like better money than selling bad meat to jerky companies."; name = "Old Diary"},/turf/simulated/floor,/area/awaymission/BMPship1) -"hv" = (/obj/structure/table,/obj/item/weapon/pen/red,/obj/item/weapon/reagent_containers/food/drinks/beer,/turf/simulated/floor,/area/awaymission/BMPship1) +"hu" = (/obj/structure/table/standard,/obj/item/weapon/paper{info = "DEAR DAIRY: So we was doing our typpical route when the captain says we've been picking up weird signals on some backwatter planet. Madsen wanted to stay on course but he ain't the captain, so we went out of the way to check it out. There was lots of rocks on the way, but we got to the planet fine. Found a big fancy camp with nobody around and this big metal donut thing with NT stamps all over it right in the middle. Case of beer too. Captain reckons we can pass it off to some buyer in the Syndicate. Ingram says it's bad luck and that someone is going to come look for it but it sounds like better money than selling bad meat to jerky companies."; name = "Old Diary"},/turf/simulated/floor,/area/awaymission/BMPship1) +"hv" = (/obj/structure/table/standard,/obj/item/weapon/pen/red,/obj/item/weapon/reagent_containers/food/drinks/beer,/turf/simulated/floor,/area/awaymission/BMPship1) "hw" = (/obj/structure/closet,/obj/item/clothing/under/overalls,/turf/simulated/floor,/area/awaymission/BMPship1) "hx" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/turf/simulated/floor/engine,/area/awaymission/BMPship3) "hy" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/engine,/area/awaymission/BMPship3) diff --git a/maps/RandomZLevels/challenge.dmm b/maps/RandomZLevels/challenge.dmm index 627db267fe..fc91bdf165 100644 --- a/maps/RandomZLevels/challenge.dmm +++ b/maps/RandomZLevels/challenge.dmm @@ -160,11 +160,11 @@ "dd" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/door/poddoor{icon_state = "pdoor1"; id = "challenge"; name = "Gateway Shutters"; p_open = 0},/turf/simulated/floor{icon_state = "dark"},/area/awaymission/challenge/end) "de" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/space,/area) "df" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/awaymission/challenge/end) -"dg" = (/obj/structure/table,/obj/item/weapon/paper/pamphlet,/turf/simulated/floor{icon_state = "dark"},/area/awaymission/challenge/end) -"dh" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/regular,/turf/simulated/floor{icon_state = "dark"},/area/awaymission/challenge/end) +"dg" = (/obj/structure/table/standard,/obj/item/weapon/paper/pamphlet,/turf/simulated/floor{icon_state = "dark"},/area/awaymission/challenge/end) +"dh" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/regular,/turf/simulated/floor{icon_state = "dark"},/area/awaymission/challenge/end) "di" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/awaymission/challenge/end) -"dj" = (/obj/structure/table,/obj/machinery/recharger{pixel_y = 4},/turf/simulated/floor{icon_state = "dark"},/area/awaymission/challenge/end) -"dk" = (/obj/structure/table,/obj/item/weapon/implanter/explosive,/obj/item/weapon/implanter/explosive{pixel_y = 4},/obj/item/weapon/implanter/explosive{pixel_y = 8},/obj/item/weapon/implanter/explosive{pixel_y = 12},/turf/simulated/floor{icon_state = "dark"},/area/awaymission/challenge/end) +"dj" = (/obj/structure/table/standard,/obj/machinery/recharger{pixel_y = 4},/turf/simulated/floor{icon_state = "dark"},/area/awaymission/challenge/end) +"dk" = (/obj/structure/table/standard,/obj/item/weapon/implanter/explosive,/obj/item/weapon/implanter/explosive{pixel_y = 4},/obj/item/weapon/implanter/explosive{pixel_y = 8},/obj/item/weapon/implanter/explosive{pixel_y = 12},/turf/simulated/floor{icon_state = "dark"},/area/awaymission/challenge/end) "dl" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/space,/area) "dm" = (/obj/machinery/door/airlock/centcom{name = "Gateway Access"; opacity = 1; req_access_txt = "109"},/turf/simulated/floor{icon_state = "dark"},/area/awaymission/challenge/end) "dn" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/awaymission/challenge/end) diff --git a/maps/RandomZLevels/example.dmm b/maps/RandomZLevels/example.dmm index 246137e61d..2fd222eacf 100644 --- a/maps/RandomZLevels/example.dmm +++ b/maps/RandomZLevels/example.dmm @@ -25,14 +25,14 @@ "ay" = (/obj/machinery/light/small,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/awaymission/example) "az" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/awaymission/example) "aA" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/effect/decal/cleanable/oil,/turf/simulated/floor,/area/awaymission/example) -"aB" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/structure/table,/obj/item/weapon/paper/pamphlet,/turf/simulated/floor,/area/awaymission/example) +"aB" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/structure/table/standard,/obj/item/weapon/paper/pamphlet,/turf/simulated/floor,/area/awaymission/example) "aC" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor,/area/awaymission/example) "aD" = (/obj/machinery/light,/turf/simulated/floor,/area/awaymission/example) -"aE" = (/obj/structure/table,/obj/item/device/flashlight,/turf/simulated/floor,/area/awaymission/example) -"aF" = (/obj/structure/table,/obj/item/weapon/crowbar,/turf/simulated/floor,/area/awaymission/example) +"aE" = (/obj/structure/table/standard,/obj/item/device/flashlight,/turf/simulated/floor,/area/awaymission/example) +"aF" = (/obj/structure/table/standard,/obj/item/weapon/crowbar,/turf/simulated/floor,/area/awaymission/example) "aG" = (/obj/effect/decal/cleanable/vomit,/turf/simulated/floor,/area/awaymission/example) "aH" = (/obj/structure/ladder{height = 1; id = "example"},/turf/simulated/floor/plating,/area/awaymission/example) -"aI" = (/obj/structure/table,/obj/effect/spawner/lootdrop{loot = "/obj/item/weapon/wrench;/obj/item/weapon/screwdriver;/obj/item/weapon/cigpacket/dromedaryco"; lootcount = 2},/turf/simulated/floor,/area/awaymission/example) +"aI" = (/obj/structure/table/standard,/obj/effect/spawner/lootdrop{loot = "/obj/item/weapon/wrench;/obj/item/weapon/screwdriver;/obj/item/weapon/cigpacket/dromedaryco"; lootcount = 2},/turf/simulated/floor,/area/awaymission/example) "aJ" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/awaymission/example) "aK" = (/obj/machinery/door/airlock/command,/turf/simulated/floor,/area/awaymission/example) "aL" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor,/area/awaymission/example) @@ -51,14 +51,14 @@ "aY" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/machinery/door/poddoor/shutters{density = 0; icon_state = "shutter0"; id = "example"; name = "Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/awaymission/example) "aZ" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/poddoor/shutters{density = 0; icon_state = "shutter0"; id = "example"; name = "Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/awaymission/example) "ba" = (/obj/machinery/door_control{id = "example"; name = "Privacy Shutters"; pixel_y = 25},/turf/simulated/floor{icon_state = "white"},/area/awaymission/example) -"bb" = (/obj/structure/table,/obj/item/device/healthanalyzer,/turf/simulated/floor{icon_state = "white"},/area/awaymission/example) +"bb" = (/obj/structure/table/standard,/obj/item/device/healthanalyzer,/turf/simulated/floor{icon_state = "white"},/area/awaymission/example) "bc" = (/obj/structure/stool/bed,/turf/simulated/floor{icon_state = "white"},/area/awaymission/example) "bd" = (/obj/structure/stool,/turf/simulated/floor{icon_state = "white"},/area/awaymission/example) -"be" = (/obj/structure/table,/obj/item/device/mass_spectrometer/adv,/turf/simulated/floor{icon_state = "white"},/area/awaymission/example) -"bf" = (/obj/structure/table,/obj/item/weapon/reagent_containers/glass/beaker,/turf/simulated/floor{icon_state = "white"},/area/awaymission/example) -"bg" = (/obj/structure/table,/obj/item/weapon/folder/white,/obj/item/weapon/pen/red,/turf/simulated/floor{icon_state = "white"},/area/awaymission/example) +"be" = (/obj/structure/table/standard,/obj/item/device/mass_spectrometer/adv,/turf/simulated/floor{icon_state = "white"},/area/awaymission/example) +"bf" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/glass/beaker,/turf/simulated/floor{icon_state = "white"},/area/awaymission/example) +"bg" = (/obj/structure/table/standard,/obj/item/weapon/folder/white,/obj/item/weapon/pen/red,/turf/simulated/floor{icon_state = "white"},/area/awaymission/example) "bh" = (/obj/machinery/light,/turf/simulated/floor{icon_state = "white"},/area/awaymission/example) -"bi" = (/obj/structure/table,/obj/item/weapon/clipboard,/obj/item/weapon/reagent_containers/syringe/antiviral,/turf/simulated/floor{icon_state = "white"},/area/awaymission/example) +"bi" = (/obj/structure/table/standard,/obj/item/weapon/clipboard,/obj/item/weapon/reagent_containers/syringe/antiviral,/turf/simulated/floor{icon_state = "white"},/area/awaymission/example) "bj" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor,/area/awaymission/example) "bk" = (/turf/simulated/floor{dir = 4; icon_state = "yellowcorner"},/area/awaymission/example) "bl" = (/turf/simulated/floor{dir = 1; icon_state = "yellow"},/area/awaymission/example) @@ -74,7 +74,7 @@ "bv" = (/obj/effect/landmark{name = "awaystart"},/turf/space,/area) "bw" = (/obj/machinery/door/airlock{name = "Unit 1"},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/example) "bx" = (/obj/machinery/door/airlock{name = "Unit 2"},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/example) -"by" = (/obj/structure/table,/turf/simulated/floor{icon_state = "bar"},/area/awaymission/example) +"by" = (/obj/structure/table/standard,/turf/simulated/floor{icon_state = "bar"},/area/awaymission/example) "bz" = (/obj/structure/stool,/turf/simulated/floor{icon_state = "bar"},/area/awaymission/example) "bA" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor{icon_state = "bar"},/area/awaymission/example) "bB" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor{icon_state = "bar"},/area/awaymission/example) @@ -84,7 +84,7 @@ "bF" = (/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/example) "bG" = (/obj/machinery/door/airlock{name = "Unisex Restrooms"; req_access_txt = "0"},/turf/simulated/floor,/area/awaymission/example) "bH" = (/obj/machinery/vending/boozeomat{density = 0; pixel_x = -32},/turf/simulated/floor{icon_state = "bar"},/area/awaymission/example) -"bI" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/drinks/sodawater,/turf/simulated/floor{icon_state = "bar"},/area/awaymission/example) +"bI" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/food/drinks/sodawater,/turf/simulated/floor{icon_state = "bar"},/area/awaymission/example) "bJ" = (/obj/structure/bookcase{density = 0; pixel_y = 32},/obj/item/weapon/book/manual/barman_recipes,/obj/item/weapon/book/manual/chef_recipes,/obj/item/weapon/book/manual/ripley_build_and_repair,/turf/simulated/floor{icon_state = "bar"},/area/awaymission/example) "bK" = (/obj/structure/stool/bed/chair/wood/normal{tag = "icon-wooden_chair (EAST)"; icon_state = "wooden_chair"; dir = 4},/turf/simulated/floor{icon_state = "bar"},/area/awaymission/example) "bL" = (/obj/structure/table/woodentable,/turf/simulated/floor{icon_state = "bar"},/area/awaymission/example) @@ -93,25 +93,25 @@ "bO" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/drinks/bottle/wine,/turf/simulated/floor{icon_state = "bar"},/area/awaymission/example) "bP" = (/obj/structure/stool/bed/chair/wood/normal{tag = "icon-wooden_chair (NORTH)"; icon_state = "wooden_chair"; dir = 1},/turf/simulated/floor{icon_state = "bar"},/area/awaymission/example) "bQ" = (/obj/machinery/vending/snack,/turf/simulated/floor,/area/awaymission/example) -"bR" = (/obj/structure/table,/obj/machinery/light/small,/obj/item/weapon/paper{info = "X X O
X O X
O X"},/turf/simulated/floor{icon_state = "bar"},/area/awaymission/example) +"bR" = (/obj/structure/table/standard,/obj/machinery/light/small,/obj/item/weapon/paper{info = "X X O
X O X
O X"},/turf/simulated/floor{icon_state = "bar"},/area/awaymission/example) "bS" = (/obj/structure/device/piano,/turf/simulated/floor{icon_state = "bar"},/area/awaymission/example) "bT" = (/obj/machinery/light/small,/turf/simulated/floor{icon_state = "bar"},/area/awaymission/example) "bU" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/snacks/validsalad,/turf/simulated/floor{icon_state = "bar"},/area/awaymission/example) "bV" = (/obj/machinery/vending/cigarette,/turf/simulated/floor,/area/awaymission/example) -"bW" = (/obj/structure/table,/turf/simulated/floor,/area/awaymission/example) -"bX" = (/obj/structure/table,/obj/item/device/analyzer,/turf/simulated/floor,/area/awaymission/example) -"bY" = (/obj/structure/table,/obj/item/weapon/rack_parts,/turf/simulated/floor,/area/awaymission/example) -"bZ" = (/obj/structure/table,/obj/item/device/toner,/turf/simulated/floor,/area/awaymission/example) -"ca" = (/obj/structure/table,/obj/item/weapon/wirecutters,/obj/item/stack/cable_coil/yellow,/turf/simulated/floor,/area/awaymission/example) -"cb" = (/obj/structure/table,/obj/item/weapon/wrench,/turf/simulated/floor,/area/awaymission/example) +"bW" = (/obj/structure/table/standard,/turf/simulated/floor,/area/awaymission/example) +"bX" = (/obj/structure/table/standard,/obj/item/device/analyzer,/turf/simulated/floor,/area/awaymission/example) +"bY" = (/obj/structure/table/standard,/obj/item/weapon/rack_parts,/turf/simulated/floor,/area/awaymission/example) +"bZ" = (/obj/structure/table/standard,/obj/item/device/toner,/turf/simulated/floor,/area/awaymission/example) +"ca" = (/obj/structure/table/standard,/obj/item/weapon/wirecutters,/obj/item/stack/cable_coil/yellow,/turf/simulated/floor,/area/awaymission/example) +"cb" = (/obj/structure/table/standard,/obj/item/weapon/wrench,/turf/simulated/floor,/area/awaymission/example) "cc" = (/obj/machinery/vending/assist,/turf/simulated/floor,/area/awaymission/example) "cd" = (/obj/structure/ladder{id = "example"},/turf/simulated/floor/plating,/area/awaymission/example) "ce" = (/obj/structure/filingcabinet,/obj/item/weapon/paper{info = "Todo: write up a lawsuit for Ted, fuck what the pamphlets say, nothing good is gonna come out of that gate. Ted'll thank me later, I'll bet."; name = "documents"},/turf/simulated/floor,/area/awaymission/example) -"cf" = (/obj/structure/table,/obj/item/weapon/paper_bin,/obj/item/weapon/pen/blue,/turf/simulated/floor,/area/awaymission/example) +"cf" = (/obj/structure/table/standard,/obj/item/weapon/paper_bin,/obj/item/weapon/pen/blue,/turf/simulated/floor,/area/awaymission/example) "cg" = (/obj/machinery/photocopier,/turf/simulated/floor,/area/awaymission/example) -"ch" = (/obj/structure/table,/obj/item/weapon/screwdriver,/obj/item/weapon/hand_labeler,/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor,/area/awaymission/example) +"ch" = (/obj/structure/table/standard,/obj/item/weapon/screwdriver,/obj/item/weapon/hand_labeler,/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor,/area/awaymission/example) "ci" = (/obj/structure/stool/bed/chair/office/dark{dir = 4},/turf/simulated/floor,/area/awaymission/example) -"cj" = (/obj/structure/table,/obj/item/weapon/paper/pamphlet,/turf/simulated/floor,/area/awaymission/example) +"cj" = (/obj/structure/table/standard,/obj/item/weapon/paper/pamphlet,/turf/simulated/floor,/area/awaymission/example) "ck" = (/obj/machinery/door/airlock,/turf/simulated/floor,/area/awaymission/example) "cl" = (/turf/simulated/floor{dir = 4; icon_state = "yellow"},/area/awaymission/example) "cm" = (/obj/item/weapon/paper{info = "Hey Ted, remind me to take Angeline out some time before I ship out. You know how bad my memory is, so don't get all high and mighty with me. READ THIS."; name = "note"},/turf/simulated/floor,/area/awaymission/example) @@ -124,7 +124,7 @@ "ct" = (/obj/effect/landmark{name = "awaystart"},/obj/machinery/light_construct/small{tag = "icon-bulb-construct-stage1 (WEST)"; icon_state = "bulb-construct-stage1"; dir = 8},/turf/simulated/floor,/area/awaymission/example) "cu" = (/obj/effect/landmark{name = "awaystart"},/obj/item/weapon/mop,/turf/simulated/floor,/area/awaymission/example) "cv" = (/obj/structure/closet,/turf/simulated/floor,/area/awaymission/example) -"cw" = (/obj/structure/table,/obj/item/weapon/cell/high,/turf/simulated/floor,/area/awaymission/example) +"cw" = (/obj/structure/table/standard,/obj/item/weapon/cell/high,/turf/simulated/floor,/area/awaymission/example) "cx" = (/obj/structure/stool,/obj/effect/landmark{name = "awaystart"},/turf/simulated/floor,/area/awaymission/example) "cy" = (/obj/structure/mopbucket,/obj/machinery/light_construct/small{dir = 4},/turf/simulated/floor,/area/awaymission/example) diff --git a/maps/RandomZLevels/listeningpost.dmm b/maps/RandomZLevels/listeningpost.dmm index 6c0fbf52f3..a6c4014fa1 100644 --- a/maps/RandomZLevels/listeningpost.dmm +++ b/maps/RandomZLevels/listeningpost.dmm @@ -5,14 +5,14 @@ "e" = (/obj/machinery/power/smes/magical{desc = "A high-capacity superconducting magnetic energy storage (SMES) unit."; name = "power storage unit"},/turf/simulated/floor/plating,/area/awaymission/listeningpost) "f" = (/obj/machinery/door/airlock,/turf/simulated/floor,/area/awaymission/listeningpost) "g" = (/turf/simulated/wall,/area/awaymission/listeningpost) -"h" = (/obj/structure/table,/obj/item/weapon/paper/monitorkey,/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; freerange = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_x = 32; subspace_transmission = 1; syndie = 1},/obj/item/clothing/glasses/regular,/turf/simulated/floor,/area/awaymission/listeningpost) -"i" = (/obj/structure/table,/turf/simulated/floor,/area/awaymission/listeningpost) +"h" = (/obj/structure/table/standard,/obj/item/weapon/paper/monitorkey,/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; freerange = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_x = 32; subspace_transmission = 1; syndie = 1},/obj/item/clothing/glasses/regular,/turf/simulated/floor,/area/awaymission/listeningpost) +"i" = (/obj/structure/table/standard,/turf/simulated/floor,/area/awaymission/listeningpost) "j" = (/turf/simulated/floor,/area/awaymission/listeningpost) "k" = (/obj/machinery/door/airlock/external,/turf/simulated/floor/plating,/area/awaymission/listeningpost) "l" = (/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored) "m" = (/obj/machinery/computer/message_monitor,/turf/simulated/floor,/area/awaymission/listeningpost) "n" = (/obj/structure/stool/bed/chair{dir = 4},/mob/living/simple_animal/hostile/syndicate{desc = "A weary looking syndicate operative."; faction = "syndicate"},/turf/simulated/floor,/area/awaymission/listeningpost) -"o" = (/obj/structure/table,/obj/item/weapon/paper{info = "Nothing of interest to report."; name = "november report"},/obj/item/weapon/pen,/turf/simulated/floor,/area/awaymission/listeningpost) +"o" = (/obj/structure/table/standard,/obj/item/weapon/paper{info = "Nothing of interest to report."; name = "november report"},/obj/item/weapon/pen,/turf/simulated/floor,/area/awaymission/listeningpost) "p" = (/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; freerange = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_x = 32; subspace_transmission = 1; syndie = 1},/turf/simulated/floor,/area/awaymission/listeningpost) "q" = (/obj/structure/rack,/obj/item/clothing/suit/space/syndicate,/obj/item/clothing/mask/gas,/obj/item/clothing/head/helmet/space/syndicate,/turf/simulated/floor,/area/awaymission/listeningpost) "r" = (/obj/machinery/door/airlock,/obj/item/weapon/paper{info = "I wonder how much longer they will accept my empty reports. They will cancel the case soon without results. When the pickup comes, I will tell them I have lost faith in our cause, and beg them to consider a diplomatic solution. How many nuclear teams have been dispatched with those nukes? I must try and prevent more from ever being sent. If they will not listen to reason, I will detonate the warehouse myself. Maybe some day in the immediate future, space will be peaceful, though I don't intend to live to see it. And that is why I write this down- it is my sacrifice that stabilised your worlds, traveller. Spare a thought for me, and please attempt to prevent nuclear proliferation, should it ever rear it's ugly head again. -Donk Co. Operative #451"; name = "odd report"},/obj/item/weapon/gun/projectile/pistol,/obj/item/weapon/silencer,/turf/simulated/floor,/area/awaymission/listeningpost) @@ -20,13 +20,13 @@ "t" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/mineral,/area/mine/unexplored) "u" = (/obj/structure/disposaloutlet{dir = 4},/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor/plating/airless,/area) "v" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/brown,/turf/simulated/floor,/area/awaymission/listeningpost) -"w" = (/obj/structure/table,/obj/item/device/flashlight/lamp,/turf/simulated/floor,/area/awaymission/listeningpost) +"w" = (/obj/structure/table/standard,/obj/item/device/flashlight/lamp,/turf/simulated/floor,/area/awaymission/listeningpost) "x" = (/obj/machinery/vending/snack,/turf/simulated/floor,/area/awaymission/listeningpost) "y" = (/obj/structure/disposalpipe/segment,/turf/simulated/mineral,/area/mine/unexplored) "z" = (/obj/machinery/vending/cola,/turf/simulated/floor,/area/awaymission/listeningpost) "A" = (/obj/structure/closet,/obj/item/clothing/gloves/boxing,/turf/simulated/floor,/area/awaymission/listeningpost) "B" = (/obj/structure/filingcabinet,/obj/item/weapon/paper{info = "A good start to the operation: intercepted Nanotrasen military communications. A convoy is scheduled to transfer nuclear warheads to a new military base. This is as good a chance as any to get our hands on some heavy weaponry, I suggest we take it."; name = "april report"},/obj/item/weapon/paper{info = "Nothing of real interest to report this month. I have intercepted faint transmissions from what appears to be some sort of pirate radio station. They do not appear to be relevant to my assignment."; name = "may report"},/obj/item/weapon/paper{info = "Nanotrasen communications have been noticably less frequent recently. The pirate radio station I found last month has been transmitting pro-Nanotrasen propaganda. I will continue to monitor it."; name = "june report"},/obj/item/weapon/paper{info = "Nothing of interest to report."; name = "july report"},/obj/item/weapon/paper{info = "Nothing of interest to report."; name = "august report"},/obj/item/weapon/paper{info = "Nothing of interest to report."; name = "september report"},/obj/item/weapon/paper{info = "Nothing of interest to report."; name = "october report"},/obj/item/weapon/paper{info = "1 x Stechtkin pistol - $600
1 x silencer - $200
shipping charge - $4360
total - $5160"; name = "receipt"},/turf/simulated/floor,/area/awaymission/listeningpost) -"C" = (/obj/structure/table,/obj/item/weapon/paper{info = "Mission Details: You have been assigned to a newly constructed listening post constructed within an asteroid in Nanotrasen space to monitor their plasma mining operations. Accurate intel is crucial to the success of our operatives onboard, do not fail us."; name = "mission briefing"},/turf/simulated/floor,/area/awaymission/listeningpost) +"C" = (/obj/structure/table/standard,/obj/item/weapon/paper{info = "Mission Details: You have been assigned to a newly constructed listening post constructed within an asteroid in Nanotrasen space to monitor their plasma mining operations. Accurate intel is crucial to the success of our operatives onboard, do not fail us."; name = "mission briefing"},/turf/simulated/floor,/area/awaymission/listeningpost) "D" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor,/area/awaymission/listeningpost) "E" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall/r_wall,/area/awaymission/listeningpost) "F" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/mineral,/area/mine/unexplored) diff --git a/maps/RandomZLevels/stationCollision.dmm b/maps/RandomZLevels/stationCollision.dmm index cbdd44a7c8..7a6add9b68 100644 --- a/maps/RandomZLevels/stationCollision.dmm +++ b/maps/RandomZLevels/stationCollision.dmm @@ -19,7 +19,7 @@ "as" = (/obj/machinery/power/solar_control{stat = 1},/turf/simulated/floor,/area/awaymission/northblock) "at" = (/obj/machinery/power/solar_control,/turf/simulated/floor,/area/awaymission/northblock) "au" = (/obj/structure/computerframe{anchored = 1},/turf/simulated/floor,/area/awaymission/northblock) -"av" = (/obj/structure/window/reinforced/tinted,/obj/structure/window/reinforced/tinted{dir = 8; icon_state = "twindow"; tag = ""},/obj/structure/table,/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/glass,/obj/item/stack/sheet/plasteel,/turf/simulated/floor/airless,/area/awaymission/northblock) +"av" = (/obj/structure/window/reinforced/tinted,/obj/structure/window/reinforced/tinted{dir = 8; icon_state = "twindow"; tag = ""},/obj/structure/table/standard,/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/glass,/obj/item/stack/sheet/plasteel,/turf/simulated/floor/airless,/area/awaymission/northblock) "aw" = (/obj/structure/window/reinforced/tinted,/turf/simulated/floor/airless,/area/awaymission/northblock) "ax" = (/obj/structure/window/reinforced/tinted,/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/floor/airless,/area/awaymission/northblock) "ay" = (/obj/structure/window/reinforced/tinted,/obj/machinery/portable_atmospherics/scrubber,/turf/simulated/floor/airless,/area/awaymission/northblock) @@ -36,7 +36,7 @@ "aJ" = (/turf/simulated/floor/plating/airless,/area/awaymission/syndishuttle) "aK" = (/turf/space,/area/awaymission/syndishuttle) "aL" = (/obj/machinery/recharge_station,/turf/simulated/floor,/area/awaymission/northblock) -"aM" = (/obj/structure/table,/turf/simulated/floor,/area/awaymission/northblock) +"aM" = (/obj/structure/table/standard,/turf/simulated/floor,/area/awaymission/northblock) "aN" = (/obj/machinery/robotic_fabricator,/turf/simulated/floor,/area/awaymission/northblock) "aO" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion_r (EAST)"; icon_state = "propulsion_r"; dir = 4},/turf/space,/area/awaymission/syndishuttle) "aP" = (/obj/structure/shuttle/engine/heater{tag = "icon-heater (WEST)"; icon_state = "heater"; dir = 8},/turf/simulated/floor/plating/airless,/area/awaymission/syndishuttle) @@ -78,8 +78,8 @@ "bz" = (/obj/machinery/portable_atmospherics/canister/toxins,/turf/simulated/shuttle/plating,/area/awaymission/syndishuttle) "bA" = (/obj/machinery/bot/medbot/mysterious{desc = "A dark little medical robot. She looks somewhat underwhelmed."; name = "Nightingale"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/syndishuttle) "bB" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/syndishuttle) -"bC" = (/obj/structure/table,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/syndishuttle) -"bD" = (/obj/structure/table,/obj/item/weapon/paper/sc_safehint_paper_shuttle,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/syndishuttle) +"bC" = (/obj/structure/table/standard,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/syndishuttle) +"bD" = (/obj/structure/table/standard,/obj/item/weapon/paper/sc_safehint_paper_shuttle,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/syndishuttle) "bE" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/syndishuttle) "bF" = (/turf/space,/turf/simulated/shuttle/wall{dir = 4; icon_state = "diagonalWall3"},/area/awaymission/syndishuttle) "bG" = (/turf/simulated/floor/airless{icon_state = "damaged3"},/area/awaymission/research) @@ -114,7 +114,7 @@ "cj" = (/obj/machinery/door/window/southleft,/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/awaymission/research) "ck" = (/obj/item/weapon/shard{icon_state = "small"},/mob/living/carbon/alien/larva{bruteloss = 50; fireloss = 150; stat = 2},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/awaymission/research) "cl" = (/obj/item/weapon/shard{icon_state = "medium"},/obj/item/weapon/shard{icon_state = "small"},/obj/effect/alien/weeds/node,/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/awaymission/research) -"cm" = (/obj/structure/table,/obj/item/weapon/clipboard,/obj/item/weapon/paper,/obj/item/weapon/paper,/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) +"cm" = (/obj/structure/table/standard,/obj/item/weapon/clipboard,/obj/item/weapon/paper,/obj/item/weapon/paper,/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) "cn" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/mob/living/simple_animal/hostile/hivebot{opensdoors = 0},/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/awaymission/research) "co" = (/obj/structure/window/reinforced,/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/awaymission/research) "cp" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/awaymission/research) @@ -137,7 +137,7 @@ "cG" = (/obj/machinery/power/emitter{anchored = 1; dir = 1; icon_state = "emitter"; state = 2},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) "cH" = (/obj/item/clothing/mask/facehugger,/mob/living/carbon/alien/humanoid/queen{fireloss = 300; stat = 2},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) "cI" = (/obj/effect/decal/remains/human,/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) -"cJ" = (/obj/structure/table,/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) +"cJ" = (/obj/structure/table/standard,/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) "cK" = (/obj/structure/shuttle/engine/heater{tag = "icon-heater (WEST)"; icon_state = "heater"; dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/awaymission/research) "cL" = (/obj/effect/decal/remains/human{desc = "This guy seemed to have died in terrible way! Half his remains are dust."; icon_state = "remains"; name = "Syndicate agent remains"},/obj/item/clothing/suit/storage/labcoat,/obj/item/weapon/clipboard{pixel_x = -7; pixel_y = -4},/turf/simulated/floor{icon_state = "dark"},/area/awaymission/research) "cM" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/awaymission/research) @@ -204,13 +204,13 @@ "dV" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/awaymission/northblock) "dW" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) "dX" = (/obj/item/weapon/table_parts,/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) -"dY" = (/obj/structure/table,/obj/item/stack/cable_coil{amount = 5},/obj/item/weapon/screwdriver,/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) +"dY" = (/obj/structure/table/standard,/obj/item/stack/cable_coil{amount = 5},/obj/item/weapon/screwdriver,/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) "dZ" = (/obj/structure/computerframe{anchored = 1},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) "ea" = (/obj/machinery/light,/obj/structure/computerframe{anchored = 1},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) "eb" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) "ec" = (/turf/simulated/wall,/area/awaymission/research) "ed" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/item/weapon/shard,/turf/simulated/floor/plating,/area/awaymission/northblock) -"ee" = (/obj/structure/table,/turf/simulated/floor{icon_state = "bluecorner"},/area/awaymission/northblock) +"ee" = (/obj/structure/table/standard,/turf/simulated/floor{icon_state = "bluecorner"},/area/awaymission/northblock) "ef" = (/turf/simulated/floor{icon_state = "blue"; dir = 6},/area/awaymission/northblock) "eg" = (/turf/simulated/floor{icon_state = "blue"; dir = 10},/area/awaymission/northblock) "eh" = (/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/awaymission/northblock) @@ -244,14 +244,14 @@ "eJ" = (/obj/machinery/atmospherics/pipe/simple{dir = 9; icon_state = "intact"; level = 2},/obj/machinery/light/small{dir = 4},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) "eK" = (/obj/structure/shuttle/engine/heater{tag = "icon-heater (WEST)"; icon_state = "heater"; dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating/airless,/area/awaymission/research) "eL" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/item/weapon/shard{icon_state = "small"},/turf/simulated/floor/plating,/area/awaymission/northblock) -"eM" = (/obj/structure/table,/turf/simulated/floor{dir = 4; icon_state = "bluecorner"},/area/awaymission/northblock) +"eM" = (/obj/structure/table/standard,/turf/simulated/floor{dir = 4; icon_state = "bluecorner"},/area/awaymission/northblock) "eN" = (/obj/machinery/power/apc{cell_type = 5000; dir = 4; name = "North Block APC"; pixel_x = 28},/obj/structure/cable,/turf/simulated/floor{dir = 9; icon_state = "blue"},/area/awaymission/northblock) "eO" = (/obj/structure/window/reinforced,/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/awaymission/northblock) "eP" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/airless{icon_state = "damaged2"},/area/awaymission/northblock) -"eQ" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/snacks/grown/potato,/obj/item/stack/cable_coil{amount = 1},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) -"eR" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/table,/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) +"eQ" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/food/snacks/grown/potato,/obj/item/stack/cable_coil{amount = 1},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) +"eR" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/table/standard,/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) "eS" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/computerframe{anchored = 1},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) -"eT" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/table,/obj/item/weapon/book/manual/research_and_development,/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) +"eT" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/table/standard,/obj/item/weapon/book/manual/research_and_development,/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) "eU" = (/obj/structure/window/reinforced{dir = 8},/obj/effect/decal/remains/human,/obj/item/clothing/suit/storage/labcoat,/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) "eV" = (/obj/machinery/door/window/eastleft{name = "Windoor"},/obj/machinery/door/window/westleft{name = "Windoor"},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) "eW" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 120; icon_state = "in"; initialize_directions = 1; internal_pressure_bound = 4000; on = 1; pressure_checks = 2; pump_direction = 0},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) @@ -263,16 +263,16 @@ "fc" = (/turf/simulated/floor,/area/awaymission/northblock) "fd" = (/obj/machinery/light/small,/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/awaymission/northblock) "fe" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/airless{icon_state = "floorscorched2"},/area/awaymission/northblock) -"ff" = (/obj/structure/table,/obj/item/weapon/stock_parts/capacitor,/obj/item/weapon/stock_parts/capacitor{pixel_x = -3},/obj/item/weapon/stock_parts/scanning_module{pixel_x = 3; pixel_y = 3},/obj/item/weapon/stock_parts/scanning_module{pixel_y = -3},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) +"ff" = (/obj/structure/table/standard,/obj/item/weapon/stock_parts/capacitor,/obj/item/weapon/stock_parts/capacitor{pixel_x = -3},/obj/item/weapon/stock_parts/scanning_module{pixel_x = 3; pixel_y = 3},/obj/item/weapon/stock_parts/scanning_module{pixel_y = -3},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) "fg" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) -"fh" = (/obj/structure/table,/obj/item/weapon/stock_parts/manipulator,/obj/item/weapon/stock_parts/manipulator{pixel_x = -3; pixel_y = 3},/obj/item/weapon/stock_parts/micro_laser{pixel_x = -3; pixel_y = -3},/obj/item/weapon/stock_parts/micro_laser{pixel_x = 3; pixel_y = 3},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) +"fh" = (/obj/structure/table/standard,/obj/item/weapon/stock_parts/manipulator,/obj/item/weapon/stock_parts/manipulator{pixel_x = -3; pixel_y = 3},/obj/item/weapon/stock_parts/micro_laser{pixel_x = -3; pixel_y = -3},/obj/item/weapon/stock_parts/micro_laser{pixel_x = 3; pixel_y = 3},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) "fi" = (/obj/machinery/computer/crew,/turf/simulated/floor{dir = 4; icon_state = "bluecorner"},/area/awaymission/northblock) "fj" = (/obj/machinery/light/small,/obj/structure/computerframe{anchored = 1},/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/awaymission/northblock) -"fk" = (/obj/structure/table,/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/awaymission/northblock) +"fk" = (/obj/structure/table/standard,/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/awaymission/northblock) "fl" = (/obj/structure/computerframe{anchored = 1},/turf/simulated/floor{dir = 1; icon_state = "bluecorner"},/area/awaymission/northblock) "fm" = (/obj/machinery/door/airlock/gold{name = "Airlock"},/turf/simulated/floor,/area/awaymission/northblock) -"fn" = (/obj/structure/table,/obj/item/stack/cable_coil,/obj/item/stack/cable_coil{pixel_x = -3; pixel_y = 5},/obj/item/weapon/cell/crap,/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) -"fo" = (/obj/structure/table,/obj/item/weapon/stock_parts/matter_bin{pixel_x = 3},/obj/item/weapon/stock_parts/matter_bin{pixel_x = -3},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) +"fn" = (/obj/structure/table/standard,/obj/item/stack/cable_coil,/obj/item/stack/cable_coil{pixel_x = -3; pixel_y = 5},/obj/item/weapon/cell/crap,/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) +"fo" = (/obj/structure/table/standard,/obj/item/weapon/stock_parts/matter_bin{pixel_x = 3},/obj/item/weapon/stock_parts/matter_bin{pixel_x = -3},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) "fp" = (/obj/machinery/door/window/eastleft{name = "Windoor"},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) "fq" = (/obj/structure/target_stake,/obj/item/target/syndicate,/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) "fr" = (/obj/structure/closet/secure_closet/captains,/turf/simulated/floor{icon_state = "grimy"},/area/awaymission/northblock) @@ -281,12 +281,12 @@ "fu" = (/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/awaymission/midblock) "fv" = (/turf/simulated/floor/airless{icon_state = "damaged2"},/area/awaymission/midblock) "fw" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/awaymission/midblock) -"fx" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical,/obj/item/weapon/storage/toolbox/mechanical{pixel_y = 5},/obj/item/weapon/stock_parts/console_screen,/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) -"fy" = (/obj/structure/table,/obj/item/stack/sheet/metal{amount = 20; pixel_x = -3; pixel_y = -3},/obj/item/stack/sheet/glass{amount = 10; pixel_x = 3; pixel_y = 3},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) +"fx" = (/obj/structure/table/standard,/obj/item/weapon/storage/toolbox/mechanical,/obj/item/weapon/storage/toolbox/mechanical{pixel_y = 5},/obj/item/weapon/stock_parts/console_screen,/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) +"fy" = (/obj/structure/table/standard,/obj/item/stack/sheet/metal{amount = 20; pixel_x = -3; pixel_y = -3},/obj/item/stack/sheet/glass{amount = 10; pixel_x = 3; pixel_y = 3},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) "fz" = (/obj/machinery/r_n_d/circuit_imprinter,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) "fA" = (/obj/machinery/r_n_d/protolathe,/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) "fB" = (/obj/machinery/r_n_d/destructive_analyzer,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) -"fC" = (/obj/structure/table,/obj/item/device/analyzer,/obj/item/device/mass_spectrometer{pixel_x = 5; pixel_y = 5},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) +"fC" = (/obj/structure/table/standard,/obj/item/device/analyzer,/obj/item/device/mass_spectrometer{pixel_x = 5; pixel_y = 5},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) "fD" = (/obj/structure/table/holotable,/obj/item/weapon/gun/energy/floragun{pixel_x = 2; pixel_y = 3},/obj/machinery/light,/obj/item/weapon/gun/energy/taser{pixel_x = -2; pixel_y = -2},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) "fE" = (/obj/structure/target_stake,/obj/item/weapon/grown/sunflower,/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) "fF" = (/obj/item/ammo_casing/c45,/obj/item/ammo_casing/c45{pixel_x = 7},/turf/simulated/floor{icon_state = "grimy"},/area/awaymission/northblock) @@ -328,9 +328,9 @@ "gp" = (/obj/structure/closet/crate,/turf/simulated/floor,/area/awaymission/midblock) "gq" = (/obj/machinery/gibber,/turf/simulated/floor,/area/awaymission/midblock) "gr" = (/obj/machinery/vending/boozeomat,/obj/machinery/light/small{dir = 1},/turf/simulated/floor,/area/awaymission/midblock) -"gs" = (/obj/structure/table,/obj/item/weapon/book/manual/barman_recipes,/obj/item/weapon/reagent_containers/food/drinks/shaker,/turf/simulated/floor,/area/awaymission/midblock) +"gs" = (/obj/structure/table/standard,/obj/item/weapon/book/manual/barman_recipes,/obj/item/weapon/reagent_containers/food/drinks/shaker,/turf/simulated/floor,/area/awaymission/midblock) "gt" = (/obj/item/ammo_casing/shotgun,/turf/simulated/floor,/area/awaymission/midblock) -"gu" = (/obj/structure/table,/turf/simulated/floor,/area/awaymission/midblock) +"gu" = (/obj/structure/table/standard,/turf/simulated/floor,/area/awaymission/midblock) "gv" = (/obj/structure/stool,/turf/simulated/floor,/area/awaymission/midblock) "gw" = (/obj/structure/stool/bed/chair,/turf/simulated/floor,/area/awaymission/midblock) "gx" = (/obj/structure/table/woodentable,/obj/item/candle,/turf/simulated/floor{icon_state = "dark"},/area/awaymission/midblock) @@ -345,7 +345,7 @@ "gG" = (/obj/item/ammo_casing/shotgun,/obj/machinery/power/apc{cell_type = 5000; dir = 8; name = "Mid Block APC"; pixel_x = -28},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor,/area/awaymission/midblock) "gH" = (/obj/item/ammo_casing/shotgun,/obj/item/ammo_casing/shotgun,/obj/item/ammo_casing/shotgun,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/awaymission/midblock) "gI" = (/obj/item/ammo_casing/shotgun,/obj/effect/decal/remains/human,/obj/item/clothing/under/rank/bartender,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/effect/decal/cleanable/blood/splatter,/obj/item/weapon/gun/projectile/shotgun/pump/sc_pump,/turf/simulated/floor,/area/awaymission/midblock) -"gJ" = (/obj/structure/table,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/awaymission/midblock) +"gJ" = (/obj/structure/table/standard,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/awaymission/midblock) "gK" = (/obj/structure/stool,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/awaymission/midblock) "gL" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor,/area/awaymission/midblock) "gM" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor,/area/awaymission/midblock) @@ -362,7 +362,7 @@ "gX" = (/obj/effect/decal/remains/human,/turf/simulated/floor{tag = "icon-warningcorner (NORTH)"; icon_state = "warningcorner"; dir = 1},/area/awaymission/arrivalblock) "gY" = (/obj/machinery/computer/security,/turf/simulated/floor{icon_state = "red"; dir = 9},/area/awaymission/arrivalblock) "gZ" = (/obj/machinery/computer/secure_data,/turf/simulated/floor{icon_state = "red"; dir = 1},/area/awaymission/arrivalblock) -"ha" = (/obj/structure/table,/obj/item/weapon/book/manual/security_space_law,/obj/item/weapon/melee/baton,/obj/item/clothing/head/helmet/warden,/turf/simulated/floor{icon_state = "red"; dir = 1},/area/awaymission/arrivalblock) +"ha" = (/obj/structure/table/standard,/obj/item/weapon/book/manual/security_space_law,/obj/item/weapon/melee/baton,/obj/item/clothing/head/helmet/warden,/turf/simulated/floor{icon_state = "red"; dir = 1},/area/awaymission/arrivalblock) "hb" = (/obj/structure/closet/wardrobe/red,/obj/machinery/light{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/awaymission/arrivalblock) "hc" = (/obj/structure/closet/secure_closet/security,/turf/simulated/floor{icon_state = "red"; dir = 1},/area/awaymission/arrivalblock) "hd" = (/obj/structure/closet/secure_closet/security,/turf/simulated/floor{icon_state = "red"; dir = 5},/area/awaymission/arrivalblock) @@ -372,8 +372,8 @@ "hh" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/purple,/obj/structure/window/reinforced/tinted{dir = 1},/obj/effect/decal/remains/human,/turf/simulated/floor,/area/awaymission/midblock) "hi" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/purple,/obj/structure/window/reinforced/tinted{dir = 1},/turf/simulated/floor,/area/awaymission/midblock) "hj" = (/obj/machinery/door/airlock,/turf/simulated/floor,/area/awaymission/midblock) -"hk" = (/obj/structure/table,/obj/item/ammo_casing/shotgun,/turf/simulated/floor,/area/awaymission/midblock) -"hl" = (/obj/structure/table,/obj/item/ammo_casing/shotgun,/obj/item/ammo_casing/shotgun,/obj/item/ammo_casing/shotgun,/turf/simulated/floor,/area/awaymission/midblock) +"hk" = (/obj/structure/table/standard,/obj/item/ammo_casing/shotgun,/turf/simulated/floor,/area/awaymission/midblock) +"hl" = (/obj/structure/table/standard,/obj/item/ammo_casing/shotgun,/obj/item/ammo_casing/shotgun,/obj/item/ammo_casing/shotgun,/turf/simulated/floor,/area/awaymission/midblock) "hm" = (/obj/structure/stool,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/awaymission/midblock) "hn" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor,/area/awaymission/midblock) "ho" = (/obj/structure/table/woodentable,/turf/simulated/floor{icon_state = "dark"},/area/awaymission/midblock) @@ -393,19 +393,19 @@ "hC" = (/obj/item/ammo_casing/a12mm{pixel_x = 2; pixel_y = 5},/obj/item/ammo_casing/a12mm{pixel_x = -4; pixel_y = -5},/obj/item/ammo_casing/a12mm,/turf/simulated/floor/airless,/area/awaymission/midblock) "hD" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/airless,/area/awaymission/midblock) "hE" = (/obj/structure/sink/kitchen{pixel_y = 32},/turf/simulated/floor,/area/awaymission/midblock) -"hF" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/condiment/enzyme,/obj/item/weapon/reagent_containers/food/condiment/peppermill,/obj/item/weapon/reagent_containers/food/condiment/saltshaker{pixel_x = 4; pixel_y = 4},/turf/simulated/floor,/area/awaymission/midblock) -"hG" = (/obj/structure/table,/obj/machinery/reagentgrinder,/turf/simulated/floor,/area/awaymission/midblock) +"hF" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/food/condiment/enzyme,/obj/item/weapon/reagent_containers/food/condiment/peppermill,/obj/item/weapon/reagent_containers/food/condiment/saltshaker{pixel_x = 4; pixel_y = 4},/turf/simulated/floor,/area/awaymission/midblock) +"hG" = (/obj/structure/table/standard,/obj/machinery/reagentgrinder,/turf/simulated/floor,/area/awaymission/midblock) "hH" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/awaymission/midblock) "hI" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/shuttle/plating,/area/awaymission/arrivalblock) "hJ" = (/turf/simulated/floor{icon_state = "red"; dir = 8},/area/awaymission/arrivalblock) "hK" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor,/area/awaymission/arrivalblock) -"hL" = (/obj/structure/table,/obj/item/weapon/storage/fancy/donut_box,/turf/simulated/floor,/area/awaymission/arrivalblock) -"hM" = (/obj/structure/table,/obj/item/weapon/handcuffs,/obj/item/device/flash,/turf/simulated/floor,/area/awaymission/arrivalblock) +"hL" = (/obj/structure/table/standard,/obj/item/weapon/storage/fancy/donut_box,/turf/simulated/floor,/area/awaymission/arrivalblock) +"hM" = (/obj/structure/table/standard,/obj/item/weapon/handcuffs,/obj/item/device/flash,/turf/simulated/floor,/area/awaymission/arrivalblock) "hN" = (/turf/simulated/floor{icon_state = "red"; dir = 4},/area/awaymission/arrivalblock) "hO" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/blue,/obj/effect/decal/remains/human,/turf/simulated/floor,/area/awaymission/midblock) "hP" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/purple,/turf/simulated/floor,/area/awaymission/midblock) "hQ" = (/obj/machinery/processor,/turf/simulated/floor,/area/awaymission/midblock) -"hR" = (/obj/structure/table,/obj/item/weapon/book/manual/chef_recipes,/obj/item/weapon/kitchen/rollingpin,/turf/simulated/floor,/area/awaymission/midblock) +"hR" = (/obj/structure/table/standard,/obj/item/weapon/book/manual/chef_recipes,/obj/item/weapon/kitchen/rollingpin,/turf/simulated/floor,/area/awaymission/midblock) "hS" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/effect/decal/cleanable/blood/splatter,/turf/simulated/floor,/area/awaymission/midblock) "hT" = (/obj/effect/decal/remains/human,/obj/item/weapon/butch,/obj/item/weapon/kitchenknife,/obj/item/clothing/head/chefhat,/obj/effect/decal/cleanable/blood/splatter,/turf/simulated/floor,/area/awaymission/midblock) "hU" = (/obj/effect/decal/cleanable/blood/splatter,/turf/simulated/floor,/area/awaymission/midblock) @@ -422,12 +422,12 @@ "if" = (/obj/machinery/door/airlock/glass_security{name = "Glass Airlock"; req_access_txt = "0"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/awaymission/arrivalblock) "ig" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/airless,/area/awaymission/midblock) "ih" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/awaymission/midblock) -"ii" = (/obj/machinery/microwave{pixel_x = -2; pixel_y = 7},/obj/structure/table,/turf/simulated/floor,/area/awaymission/midblock) +"ii" = (/obj/machinery/microwave{pixel_x = -2; pixel_y = 7},/obj/structure/table/standard,/turf/simulated/floor,/area/awaymission/midblock) "ij" = (/obj/structure/stool,/obj/item/ammo_casing/a12mm,/turf/simulated/floor,/area/awaymission/midblock) "ik" = (/obj/item/ammo_casing/a12mm,/obj/item/ammo_casing/a12mm,/obj/effect/decal/cleanable/blood/splatter,/turf/simulated/floor,/area/awaymission/midblock) "il" = (/obj/effect/decal/remains/human{desc = "This guy seemed to have died in terrible way! Half his remains are dust."; icon_state = "remains"; name = "Syndicate agent remains"},/obj/item/ammo_casing/a12mm,/obj/item/clothing/under/syndicate,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/item/weapon/gun/projectile/automatic/c20r/sc_c20r,/turf/simulated/floor,/area/awaymission/midblock) "im" = (/obj/structure/stool/bed/chair{dir = 4},/obj/item/ammo_casing/a12mm,/obj/effect/decal/cleanable/blood/splatter,/turf/simulated/floor,/area/awaymission/midblock) -"in" = (/obj/structure/table,/obj/item/ammo_casing/a12mm,/turf/simulated/floor,/area/awaymission/midblock) +"in" = (/obj/structure/table/standard,/obj/item/ammo_casing/a12mm,/turf/simulated/floor,/area/awaymission/midblock) "io" = (/obj/structure/stool/bed/chair{dir = 8},/obj/item/ammo_casing/a12mm,/obj/item/ammo_casing/a12mm,/obj/effect/decal/cleanable/blood/splatter,/turf/simulated/floor,/area/awaymission/midblock) "ip" = (/obj/item/ammo_casing/a12mm,/turf/simulated/floor,/area/awaymission/arrivalblock) "iq" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor,/area/awaymission/arrivalblock) @@ -505,7 +505,7 @@ "jK" = (/obj/structure/closet/emcloset,/turf/simulated/floor,/area/awaymission/southblock) "jL" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/awaymission/southblock) "jM" = (/turf/simulated/floor{icon_state = "whitehall"; dir = 1},/area/awaymission/southblock) -"jN" = (/obj/structure/table,/obj/item/weapon/pen,/turf/simulated/floor{icon_state = "whitehall"; dir = 1},/area/awaymission/southblock) +"jN" = (/obj/structure/table/standard,/obj/item/weapon/pen,/turf/simulated/floor{icon_state = "whitehall"; dir = 1},/area/awaymission/southblock) "jO" = (/obj/structure/noticeboard{dir = 1; pixel_y = 32},/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor{icon_state = "white"},/area/awaymission/southblock) "jP" = (/turf/simulated/floor,/area/awaymission/southblock) "jQ" = (/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/awaymission/gateroom) @@ -528,7 +528,7 @@ "kh" = (/obj/structure/stool/bed/chair{dir = 4},/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/awaymission/southblock) "ki" = (/obj/machinery/light/small,/turf/simulated/floor{icon_state = "whitehall"; dir = 2},/area/awaymission/southblock) "kj" = (/turf/simulated/floor{icon_state = "whitehall"; dir = 2},/area/awaymission/southblock) -"kk" = (/obj/structure/table,/obj/item/weapon/paper_bin,/turf/simulated/floor{icon_state = "whitehall"; dir = 2},/area/awaymission/southblock) +"kk" = (/obj/structure/table/standard,/obj/item/weapon/paper_bin,/turf/simulated/floor{icon_state = "whitehall"; dir = 2},/area/awaymission/southblock) "kl" = (/turf/simulated/floor{icon_state = "white"},/area/awaymission/southblock) "km" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/awaymission/southblock) "kn" = (/obj/machinery/gateway{dir = 8},/turf/simulated/floor,/area/awaymission/gateroom) @@ -562,10 +562,10 @@ "kP" = (/obj/structure/morgue,/turf/simulated/floor{icon_state = "white"},/area/awaymission/southblock) "kQ" = (/obj/machinery/vending/medical,/turf/simulated/floor{icon_state = "white"},/area/awaymission/southblock) "kR" = (/obj/structure/stool/bed/roller,/turf/simulated/floor{icon_state = "whitehall"; dir = 1},/area/awaymission/southblock) -"kS" = (/obj/structure/table,/obj/item/weapon/paper/pamphlet{pixel_x = 2; pixel_y = 2},/obj/item/weapon/paper/pamphlet{pixel_x = -2; pixel_y = -2},/turf/simulated/floor{tag = "icon-warningcorner (WEST)"; icon_state = "warningcorner"; dir = 8},/area/awaymission/gateroom) +"kS" = (/obj/structure/table/standard,/obj/item/weapon/paper/pamphlet{pixel_x = 2; pixel_y = 2},/obj/item/weapon/paper/pamphlet{pixel_x = -2; pixel_y = -2},/turf/simulated/floor{tag = "icon-warningcorner (WEST)"; icon_state = "warningcorner"; dir = 8},/area/awaymission/gateroom) "kT" = (/obj/effect/landmark{name = "awaystart"},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/awaymission/gateroom) "kU" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/effect/landmark{name = "awaystart"},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/awaymission/gateroom) -"kV" = (/obj/structure/table,/obj/item/device/camera,/turf/simulated/floor{tag = "icon-warningcorner (EAST)"; icon_state = "warningcorner"; dir = 4},/area/awaymission/gateroom) +"kV" = (/obj/structure/table/standard,/obj/item/device/camera,/turf/simulated/floor{tag = "icon-warningcorner (EAST)"; icon_state = "warningcorner"; dir = 4},/area/awaymission/gateroom) "kW" = (/obj/structure/stool/bed/chair/comfy/brown{tag = "icon-comfychair_brown (WEST)"; icon_state = "comfychair_brown"; dir = 8},/turf/simulated/floor/wood,/area/awaymission/southblock) "kX" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/awaymission/arrivalblock) "kY" = (/obj/structure/stool/bed/chair,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/awaymission/arrivalblock) @@ -585,7 +585,7 @@ "lm" = (/obj/machinery/suit_storage_unit/standard_unit,/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/awaymission/gateroom) "ln" = (/obj/machinery/light/small,/turf/simulated/floor/wood,/area/awaymission/southblock) "lo" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor,/area/awaymission/arrivalblock) -"lp" = (/obj/structure/table,/obj/item/weapon/book/manual/hydroponics_pod_people,/turf/simulated/floor,/area/awaymission/arrivalblock) +"lp" = (/obj/structure/table/standard,/obj/item/weapon/book/manual/hydroponics_pod_people,/turf/simulated/floor,/area/awaymission/arrivalblock) "lq" = (/obj/item/weapon/grown/deathnettle,/obj/item/clothing/shoes/brown,/obj/item/clothing/under/rank/hydroponics,/obj/effect/decal/remains/human,/obj/effect/decal/cleanable/blood/splatter,/turf/simulated/floor,/area/awaymission/arrivalblock) "lr" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor{tag = "icon-whitehall (WEST)"; icon_state = "whitehall"; dir = 8},/area/awaymission/southblock) "ls" = (/obj/structure/window/reinforced/tinted{dir = 8; icon_state = "twindow"; tag = ""},/turf/simulated/floor,/area/awaymission/southblock) @@ -600,7 +600,7 @@ "lB" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/plating,/area/awaymission/arrivalblock) "lC" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s9"; icon_state = "swall_s9"; dir = 2},/area/awaymission/arrivalblock) "lD" = (/obj/structure/closet/crate/hydroponics,/turf/simulated/floor,/area/awaymission/arrivalblock) -"lE" = (/obj/structure/table,/obj/item/weapon/reagent_containers/glass/bucket,/turf/simulated/floor,/area/awaymission/arrivalblock) +"lE" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/glass/bucket,/turf/simulated/floor,/area/awaymission/arrivalblock) "lF" = (/obj/effect/decal/cleanable/blood/splatter,/obj/effect/decal/cleanable/blood/splatter,/turf/simulated/floor,/area/awaymission/arrivalblock) "lG" = (/obj/machinery/computer/operating,/turf/simulated/floor{icon_state = "white"},/area/awaymission/southblock) "lH" = (/obj/machinery/optable,/obj/machinery/light/small{dir = 1},/obj/effect/decal/remains/human,/obj/item/weapon/tank/anesthetic,/obj/item/clothing/mask/breath,/turf/simulated/floor{icon_state = "white"},/area/awaymission/southblock) @@ -612,7 +612,7 @@ "lN" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/awaymission/gateroom) "lO" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/smes/magical{desc = "A high-capacity superconducting magnetic energy storage (SMES) unit."; name = "power storage unit"},/turf/simulated/floor,/area/awaymission/gateroom) "lP" = (/obj/structure/closet/secure_closet/hydroponics,/turf/simulated/floor,/area/awaymission/arrivalblock) -"lQ" = (/obj/structure/table,/obj/item/weapon/shovel/spade,/obj/item/weapon/reagent_containers/spray/plantbgone,/turf/simulated/floor,/area/awaymission/arrivalblock) +"lQ" = (/obj/structure/table/standard,/obj/item/weapon/shovel/spade,/obj/item/weapon/reagent_containers/spray/plantbgone,/turf/simulated/floor,/area/awaymission/arrivalblock) "lR" = (/obj/machinery/light,/turf/simulated/floor,/area/awaymission/arrivalblock) "lS" = (/obj/effect/decal/remains/human,/obj/item/clothing/mask/surgical,/obj/item/clothing/suit/storage/labcoat,/obj/item/clothing/gloves/latex,/turf/simulated/floor{icon_state = "white"},/area/awaymission/southblock) "lT" = (/obj/machinery/door/window/westright{name = "Windoor"},/turf/simulated/floor,/area/awaymission/southblock) diff --git a/maps/RandomZLevels/zresearchlabs.dmm b/maps/RandomZLevels/zresearchlabs.dmm index 28309859e9..a14c5a3558 100644 --- a/maps/RandomZLevels/zresearchlabs.dmm +++ b/maps/RandomZLevels/zresearchlabs.dmm @@ -17,26 +17,26 @@ "aq" = (/obj/machinery/door/airlock/maintenance_hatch{name = "Underground Maintenance"},/turf/simulated/floor/plating,/area/awaymission/labs/cave) "ar" = (/obj/effect/critter/fleshmonster,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/awaymission/labs/cave) "as" = (/obj/effect/critter/fleshmonster,/turf/simulated/floor/plating,/area/awaymission/labs/cave) -"at" = (/obj/structure/table,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/stack/cable_coil,/obj/item/weapon/airlock_electronics,/obj/item/weapon/airlock_electronics,/turf/simulated/floor/plating,/area/awaymission/labs/cave) -"au" = (/obj/structure/table,/obj/item/weapon/folder/yellow,/obj/item/clothing/ears/earmuffs{pixel_x = -3; pixel_y = -2},/turf/simulated/floor/plating,/area/awaymission/labs/cave) -"av" = (/obj/structure/table,/obj/item/weapon/camera_assembly,/turf/simulated/floor/plating,/area/awaymission/labs/cave) +"at" = (/obj/structure/table/standard,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/stack/cable_coil,/obj/item/weapon/airlock_electronics,/obj/item/weapon/airlock_electronics,/turf/simulated/floor/plating,/area/awaymission/labs/cave) +"au" = (/obj/structure/table/standard,/obj/item/weapon/folder/yellow,/obj/item/clothing/ears/earmuffs{pixel_x = -3; pixel_y = -2},/turf/simulated/floor/plating,/area/awaymission/labs/cave) +"av" = (/obj/structure/table/standard,/obj/item/weapon/camera_assembly,/turf/simulated/floor/plating,/area/awaymission/labs/cave) "aw" = (/obj/machinery/power/port_gen,/turf/simulated/floor/plating,/area/awaymission/labs/cave) "ax" = (/obj/effect/decal/cleanable/dirt,/obj/effect/alien/flesh/weeds/node,/turf/simulated/floor/plating,/area/awaymission/labs/cave) "ay" = (/obj/machinery/artifact,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/awaymission/labs/cave) "az" = (/obj/machinery/floodlight,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/awaymission/labs/cave) "aA" = (/obj/structure/reagent_dispensers/fueltank,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/awaymission/labs/cave) -"aB" = (/obj/structure/table,/obj/machinery/cell_charger,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/awaymission/labs/cave) -"aC" = (/obj/structure/table,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/awaymission/labs/cave) +"aB" = (/obj/structure/table/standard,/obj/machinery/cell_charger,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/awaymission/labs/cave) +"aC" = (/obj/structure/table/standard,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/awaymission/labs/cave) "aD" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/storage/belt/utility,/obj/item/weapon/wrench,/obj/item/weapon/weldingtool,/obj/item/clothing/head/welding{pixel_x = -3; pixel_y = 5},/turf/simulated/floor/plating,/area/awaymission/labs/cave) "aE" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/gloves/yellow,/obj/item/weapon/storage/belt/utility,/turf/simulated/floor/plating,/area/awaymission/labs/cave) "aF" = (/obj/structure/closet/radiation,/turf/simulated/floor/plating,/area/awaymission/labs/cave) "aG" = (/obj/structure/closet/secure_closet/engineering_electrical,/turf/simulated/floor/plating,/area/awaymission/labs/cave) "aH" = (/obj/structure/closet/secure_closet/engineering_welding,/turf/simulated/floor/plating,/area/awaymission/labs/cave) "aI" = (/turf/unsimulated/desert,/area/awaymission/labs/cave) -"aJ" = (/obj/structure/table,/obj/item/stack/cable_coil{pixel_x = -1; pixel_y = 7},/obj/item/stack/cable_coil{pixel_x = 0; pixel_y = 3},/obj/item/stack/cable_coil{pixel_x = 0; pixel_y = 0},/turf/simulated/floor/plating,/area/awaymission/labs/cave) -"aK" = (/obj/structure/table,/turf/simulated/floor/plating,/area/awaymission/labs/cave) -"aL" = (/obj/structure/table,/obj/machinery/cell_charger,/obj/machinery/camera{c_tag = "Engineering SMES Room"; dir = 4; network = "SS13"},/turf/simulated/floor/plating,/area/awaymission/labs/cave) -"aM" = (/obj/structure/table,/obj/item/weapon/airlock_electronics,/obj/item/weapon/airlock_electronics,/obj/item/weapon/module/power_control,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/machinery/light,/turf/simulated/floor/plating,/area/awaymission/labs/cave) +"aJ" = (/obj/structure/table/standard,/obj/item/stack/cable_coil{pixel_x = -1; pixel_y = 7},/obj/item/stack/cable_coil{pixel_x = 0; pixel_y = 3},/obj/item/stack/cable_coil{pixel_x = 0; pixel_y = 0},/turf/simulated/floor/plating,/area/awaymission/labs/cave) +"aK" = (/obj/structure/table/standard,/turf/simulated/floor/plating,/area/awaymission/labs/cave) +"aL" = (/obj/structure/table/standard,/obj/machinery/cell_charger,/obj/machinery/camera{c_tag = "Engineering SMES Room"; dir = 4; network = "SS13"},/turf/simulated/floor/plating,/area/awaymission/labs/cave) +"aM" = (/obj/structure/table/standard,/obj/item/weapon/airlock_electronics,/obj/item/weapon/airlock_electronics,/obj/item/weapon/module/power_control,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/machinery/light,/turf/simulated/floor/plating,/area/awaymission/labs/cave) "aN" = (/obj/effect/alien/flesh/weeds/node,/turf/unsimulated/desert,/area/awaymission/labs/cave) "aO" = (/obj/effect/critter/fleshmonster/fleshslime,/turf/unsimulated/desert,/area/awaymission/labs/cave) "aP" = (/obj/machinery/door/airlock/engineering,/turf/simulated/floor/plating,/area/awaymission/labs/cave) @@ -54,13 +54,13 @@ "bb" = (/obj/item/apc_frame,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/cave) "bc" = (/obj/structure/closet/toolcloset,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/cave) "bd" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/cave) -"be" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/cave) -"bf" = (/obj/structure/table,/obj/item/blueprints,/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/cave) -"bg" = (/obj/structure/table,/obj/item/weapon/camera_assembly,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/cave) +"be" = (/obj/structure/table/standard,/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/cave) +"bf" = (/obj/structure/table/standard,/obj/item/blueprints,/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/cave) +"bg" = (/obj/structure/table/standard,/obj/item/weapon/camera_assembly,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/cave) "bh" = (/obj/structure/girder,/turf/simulated/floor/plating,/area/awaymission/labs/cave) "bi" = (/obj/effect/decal/cleanable/blood,/obj/effect/decal/cleanable/dirt,/obj/effect/landmark/corpse/alien/laborer,/turf/simulated/floor/plating,/area/awaymission/labs/cave) "bj" = (/obj/effect/critter/fleshmonster,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/cave) -"bk" = (/obj/structure/table,/obj/item/stack/cable_coil{pixel_x = -1; pixel_y = 7},/obj/item/weapon/circuitboard/autolathe,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/cave) +"bk" = (/obj/structure/table/standard,/obj/item/stack/cable_coil{pixel_x = -1; pixel_y = 7},/obj/item/weapon/circuitboard/autolathe,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/cave) "bl" = (/obj/effect/decal/cleanable/blood/tracks,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/cave) "bm" = (/obj/structure/door_assembly/door_assembly_research,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/cave) "bn" = (/obj/item/weapon/table_parts,/turf/simulated/floor/plating,/area/awaymission/labs/cave) @@ -171,8 +171,8 @@ "do" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) "dp" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) "dq" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) -"dr" = (/obj/structure/table,/obj/item/weapon/implanter/nanoaug/strength,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) -"ds" = (/obj/structure/table,/obj/item/weapon/clipboard,/obj/item/weapon/paper{icon_state = "paper_words"; info = "Study of the Soghun genome has proven successful. Using their blood as a base, we have managed to develop a series of nanoaugmentations that operate on a biological basis. With it, we can supply our commandos with implants that would give them the strength of at least ten Soghun, or the combat skills of many more. Further research is required to develop safer solutions, but the soldiers seem receptive to the current batch of test implants. They are to be kept under watch at all times in their quarters."; name = "Research Notes"; text = "p"},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) +"dr" = (/obj/structure/table/standard,/obj/item/weapon/implanter/nanoaug/strength,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) +"ds" = (/obj/structure/table/standard,/obj/item/weapon/clipboard,/obj/item/weapon/paper{icon_state = "paper_words"; info = "Study of the Soghun genome has proven successful. Using their blood as a base, we have managed to develop a series of nanoaugmentations that operate on a biological basis. With it, we can supply our commandos with implants that would give them the strength of at least ten Soghun, or the combat skills of many more. Further research is required to develop safer solutions, but the soldiers seem receptive to the current batch of test implants. They are to be kept under watch at all times in their quarters."; name = "Research Notes"; text = "p"},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) "dt" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 2; on = 1},/obj/effect/alien/flesh/weeds/node,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) "du" = (/obj/machinery/vending/coffee,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) "dv" = (/obj/machinery/vending/snack,/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) @@ -189,11 +189,11 @@ "dG" = (/obj/effect/decal/cleanable/blood,/obj/effect/landmark/corpse/alien/testsubject,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) "dH" = (/obj/machinery/power/apc{dir = 4; name = "Worn-out APC"; pixel_x = 24; pixel_y = 0},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) "dI" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) -"dJ" = (/obj/structure/table,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) -"dK" = (/obj/structure/table,/obj/item/pizzabox,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) +"dJ" = (/obj/structure/table/standard,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) +"dK" = (/obj/structure/table/standard,/obj/item/pizzabox,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) "dL" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor{icon_state = "freezerfloor"},/area/awaymission/labs/researchdivision) "dM" = (/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor{icon_state = "freezerfloor"},/area/awaymission/labs/researchdivision) -"dN" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/table,/obj/machinery/microwave,/turf/simulated/floor{icon_state = "freezerfloor"},/area/awaymission/labs/researchdivision) +"dN" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/table/standard,/obj/machinery/microwave,/turf/simulated/floor{icon_state = "freezerfloor"},/area/awaymission/labs/researchdivision) "dO" = (/obj/structure/closet/secure_closet/security,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) "dP" = (/obj/machinery/light,/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/obj/effect/alien/flesh/weeds/node,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) "dQ" = (/obj/structure/stool/bed/chair/office/light,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) @@ -202,7 +202,7 @@ "dT" = (/obj/structure/closet/secure_closet/freezer/meat,/turf/simulated/floor{icon_state = "freezerfloor"},/area/awaymission/labs/researchdivision) "dU" = (/turf/simulated/wall/r_wall,/area/awaymission/labs/gateway) "dV" = (/obj/machinery/door/airlock/hatch{name = "Gateway Maintenance Storage"},/turf/simulated/floor,/area/awaymission/labs/gateway) -"dW" = (/obj/structure/table,/obj/machinery/light,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) +"dW" = (/obj/structure/table/standard,/obj/machinery/light,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) "dX" = (/obj/machinery/bodyscanner,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) "dY" = (/obj/machinery/body_scanconsole,/obj/machinery/light,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) "dZ" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) @@ -218,8 +218,8 @@ "ej" = (/obj/structure/noticeboard{pixel_y = -3},/turf/simulated/wall/r_wall,/area/awaymission/labs/researchdivision) "ek" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/wall/r_wall,/area/awaymission/labs/researchdivision) "el" = (/obj/machinery/light,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) -"em" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/table,/obj/machinery/reagentgrinder,/turf/simulated/floor{icon_state = "freezerfloor"},/area/awaymission/labs/researchdivision) -"en" = (/obj/structure/table,/turf/simulated/floor{icon_state = "freezerfloor"},/area/awaymission/labs/researchdivision) +"em" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/table/standard,/obj/machinery/reagentgrinder,/turf/simulated/floor{icon_state = "freezerfloor"},/area/awaymission/labs/researchdivision) +"en" = (/obj/structure/table/standard,/turf/simulated/floor{icon_state = "freezerfloor"},/area/awaymission/labs/researchdivision) "eo" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 5; health = 1e+007},/obj/machinery/door/poddoor{density = 1; icon_state = "pdoor1"; id = "sandstorm shutters"; layer = 2.4; name = "Sandstorm Shutters"; opacity = 1},/turf/simulated/floor,/area/awaymission/labs/militarydivision) "ep" = (/obj/structure/rack,/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/awaymission/labs/militarydivision) "eq" = (/obj/structure/rack,/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "warning"},/area/awaymission/labs/militarydivision) @@ -232,8 +232,8 @@ "ex" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/awaymission/labs/gateway) "ey" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/awaymission/labs/gateway) "ez" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/wall/r_wall,/area/awaymission/labs/gateway) -"eA" = (/obj/structure/table,/obj/item/weapon/paper/pamphlet,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/awaymission/labs/gateway) -"eB" = (/obj/structure/table,/obj/item/weapon/phone,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/awaymission/labs/gateway) +"eA" = (/obj/structure/table/standard,/obj/item/weapon/paper/pamphlet,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/awaymission/labs/gateway) +"eB" = (/obj/structure/table/standard,/obj/item/weapon/phone,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/awaymission/labs/gateway) "eC" = (/obj/structure/filingcabinet,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/unary/vent_pump,/turf/simulated/floor,/area/awaymission/labs/gateway) "eD" = (/obj/machinery/power/smes,/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/awaymission/labs/researchdivision) "eE" = (/obj/machinery/power/smes{charge = 0},/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/awaymission/labs/researchdivision) @@ -310,7 +310,7 @@ "fX" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/awaymission/labs/gateway) "fY" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor,/area/awaymission/labs/gateway) "fZ" = (/obj/machinery/turretid{name = "Gateway Turret Control"; pixel_x = -24},/turf/simulated/floor,/area/awaymission/labs/gateway) -"ga" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -2; pixel_y = 7},/turf/simulated/floor,/area/awaymission/labs/gateway) +"ga" = (/obj/structure/table/standard,/obj/item/weapon/paper_bin{pixel_x = -2; pixel_y = 7},/turf/simulated/floor,/area/awaymission/labs/gateway) "gb" = (/obj/machinery/door/airlock/glass_research{name = "Storage"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/awaymission/labs/researchdivision) "gc" = (/obj/structure/table/reinforced,/obj/item/weapon/gun/energy/xray,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) "gd" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/awaymission/desert{lighting_use_dynamic = 1; luminosity = 1; name = "Desert"}) @@ -415,7 +415,7 @@ "hY" = (/obj/structure/stool/bed/chair/comfy/black,/turf/simulated/floor{icon_state = "wood"},/area/awaymission/labs/militarydivision) "hZ" = (/obj/effect/decal/cleanable/blood/splatter,/obj/effect/landmark/corpse/officer,/turf/simulated/floor{icon_state = "wood"},/area/awaymission/labs/militarydivision) "ia" = (/turf/simulated/floor{icon_state = "wood"},/area/awaymission/labs/militarydivision) -"ib" = (/obj/structure/table,/obj/machinery/light{dir = 1},/turf/simulated/floor{dir = 2; icon_state = "carpet"},/area/awaymission/labs/militarydivision) +"ib" = (/obj/structure/table/standard,/obj/machinery/light{dir = 1},/turf/simulated/floor{dir = 2; icon_state = "carpet"},/area/awaymission/labs/militarydivision) "ic" = (/obj/structure/filingcabinet/chestdrawer,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "carpet"},/area/awaymission/labs/militarydivision) "id" = (/turf/simulated/floor{dir = 2; icon_state = "carpet"},/area/awaymission/labs/militarydivision) "ie" = (/obj/structure/closet/secure_closet/personal,/turf/simulated/floor{dir = 2; icon_state = "carpet"},/area/awaymission/labs/militarydivision) @@ -450,7 +450,7 @@ "iH" = (/obj/machinery/recharge_station,/obj/effect/decal/cleanable/cobweb2,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{temperature = 393.15},/area/awaymission/labs/researchdivision) "iI" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/simulated/floor,/area/awaymission/labs/researchdivision) "iJ" = (/obj/structure/rack,/turf/simulated/floor,/area/awaymission/labs/researchdivision) -"iK" = (/obj/item/weapon/stock_parts/console_screen,/obj/structure/table,/obj/item/weapon/stock_parts/console_screen,/obj/item/weapon/stock_parts/console_screen,/obj/item/weapon/stock_parts/matter_bin,/obj/item/weapon/stock_parts/matter_bin,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) +"iK" = (/obj/item/weapon/stock_parts/console_screen,/obj/structure/table/standard,/obj/item/weapon/stock_parts/console_screen,/obj/item/weapon/stock_parts/console_screen,/obj/item/weapon/stock_parts/matter_bin,/obj/item/weapon/stock_parts/matter_bin,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) "iL" = (/obj/structure/table/reinforced,/obj/item/metroid_core,/obj/item/weapon/camera_assembly{pixel_x = 2; pixel_y = 8},/obj/machinery/atmospherics/unary/vent_pump{dir = 8; frequency = 1379; id_tag = "mining_maineast_pump"; on = 1},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) "iM" = (/obj/machinery/door/airlock/maintenance_hatch,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/awaymission/labs/solars) "iN" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor{icon_state = "wood"},/area/awaymission/labs/militarydivision) @@ -471,8 +471,8 @@ "jc" = (/obj/structure/table/reinforced,/obj/item/weapon/book/manual/research_and_development{pixel_x = -1; pixel_y = 4},/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) "jd" = (/obj/structure/stool/bed/chair/office/dark,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) "je" = (/obj/structure/table/reinforced,/obj/item/stack/cable_coil{pixel_y = 3},/obj/item/stack/cable_coil{pixel_y = 3},/obj/item/stack/cable_coil{pixel_y = 3},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) -"jf" = (/obj/structure/table,/turf/simulated/floor/plating,/area/awaymission/labs/solars) -"jg" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor/plating,/area/awaymission/labs/solars) +"jf" = (/obj/structure/table/standard,/turf/simulated/floor/plating,/area/awaymission/labs/solars) +"jg" = (/obj/structure/table/standard,/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor/plating,/area/awaymission/labs/solars) "jh" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/awaymission/labs/solars) "ji" = (/obj/structure/closet/secure_closet/engineering_electrical,/turf/simulated/floor/plating,/area/awaymission/labs/solars) "jj" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"},/obj/item/clothing/under/rank/navysecurity,/obj/item/clothing/suit/armor/navysecvest,/turf/simulated/floor{icon_state = "wood"},/area/awaymission/labs/militarydivision) @@ -484,8 +484,8 @@ "jp" = (/obj/structure/table/woodentable,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "carpet"},/area/awaymission/labs/militarydivision) "jq" = (/obj/structure/stool/bed/chair/office/dark{dir = 8},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "carpet"},/area/awaymission/labs/militarydivision) "jr" = (/obj/machinery/camera{c_tag = "Central Hallway South-West"; dir = 8},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "carpet"},/area/awaymission/labs/militarydivision) -"js" = (/obj/structure/table,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaymission/labs/militarydivision) -"jt" = (/obj/structure/table,/obj/item/weapon/paper{icon_state = "paper_words"; info = "We got back from another ship-out today. Those idiots on the NSV Icarus somehow managed to land themselves in the middle of a fleet of pirates. Frigates were downed easily, and they boarded with the intent to take the artillery cannon. Thankfully, those implants the doctors gave us worked like a charm. I think they made me sick, though, I've got this terrible rash on my arm that is a pain to scratch. Making my skin look all pink and nasty. Gonna go see Doc Brown in the monring, I need some rest after all we've been through."; name = "Journal Page"},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaymission/labs/militarydivision) +"js" = (/obj/structure/table/standard,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaymission/labs/militarydivision) +"jt" = (/obj/structure/table/standard,/obj/item/weapon/paper{icon_state = "paper_words"; info = "We got back from another ship-out today. Those idiots on the NSV Icarus somehow managed to land themselves in the middle of a fleet of pirates. Frigates were downed easily, and they boarded with the intent to take the artillery cannon. Thankfully, those implants the doctors gave us worked like a charm. I think they made me sick, though, I've got this terrible rash on my arm that is a pain to scratch. Making my skin look all pink and nasty. Gonna go see Doc Brown in the monring, I need some rest after all we've been through."; name = "Journal Page"},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaymission/labs/militarydivision) "ju" = (/obj/item/ammo_casing/c9mm{pixel_y = -8},/turf/simulated/floor,/area/awaymission/labs/militarydivision) "jv" = (/obj/item/ammo_casing/c9mm{pixel_x = -28; pixel_y = -4},/turf/simulated/floor,/area/awaymission/labs/militarydivision) "jw" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/hos,/turf/simulated/floor,/area/awaymission/labs/militarydivision) @@ -506,7 +506,7 @@ "jL" = (/obj/structure/closet/secure_closet/engineering_welding,/turf/simulated/floor/plating,/area/awaymission/labs/solars) "jM" = (/obj/structure/stool/bed/chair/office/dark{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "carpet"},/area/awaymission/labs/militarydivision) "jN" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "carpet"},/area/awaymission/labs/militarydivision) -"jO" = (/obj/structure/table,/obj/item/weapon/butch{pixel_y = 3},/obj/item/weapon/kitchenknife{pixel_x = -4; pixel_y = 4},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaymission/labs/militarydivision) +"jO" = (/obj/structure/table/standard,/obj/item/weapon/butch{pixel_y = 3},/obj/item/weapon/kitchenknife{pixel_x = -4; pixel_y = 4},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaymission/labs/militarydivision) "jP" = (/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaymission/labs/militarydivision) "jQ" = (/obj/effect/decal/cleanable/blood/splatter,/obj/effect/landmark/corpse/officer,/obj/item/weapon/gun/projectile/silenced/sc_silenced{desc = "A sidearm commonly favored by terrestrial security forces."; icon_state = "g115 Pistol"; name = "Pistol"; silenced = 0},/turf/simulated/floor,/area/awaymission/labs/militarydivision) "jR" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/hos,/obj/machinery/camera{c_tag = "Central Hallway South-West"; dir = 8},/turf/simulated/floor,/area/awaymission/labs/militarydivision) @@ -515,10 +515,10 @@ "jU" = (/obj/machinery/computer/mech_bay_power_console,/turf/simulated/floor{temperature = 393.15},/area/awaymission/labs/researchdivision) "jV" = (/obj/effect/decal/cleanable/dirt,/obj/effect/critter/fleshmonster,/turf/simulated/floor{temperature = 393.15},/area/awaymission/labs/researchdivision) "jW" = (/obj/machinery/door/airlock/glass_research{name = "Thermal Suit Storage"},/turf/simulated/floor,/area/awaymission/labs/researchdivision) -"jX" = (/obj/structure/table,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/awaymission/labs/solars) +"jX" = (/obj/structure/table/standard,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/awaymission/labs/solars) "jY" = (/obj/machinery/turretcover,/turf/unsimulated/desert,/area/awaymission/desert{lighting_use_dynamic = 1; luminosity = 1; name = "Desert"}) "jZ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor{dir = 2; icon_state = "carpet"},/area/awaymission/labs/militarydivision) -"ka" = (/obj/structure/table,/obj/machinery/microwave{pixel_x = -2; pixel_y = 8},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaymission/labs/militarydivision) +"ka" = (/obj/structure/table/standard,/obj/machinery/microwave{pixel_x = -2; pixel_y = 8},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaymission/labs/militarydivision) "kb" = (/obj/item/device/violin,/turf/simulated/floor,/area/awaymission/labs/militarydivision) "kc" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/light,/turf/simulated/floor{temperature = 393.15},/area/awaymission/labs/researchdivision) "kd" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{icon_state = "delivery"; name = "floor"; temperature = 393.15},/area/awaymission/labs/researchdivision) @@ -608,7 +608,7 @@ "lJ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/awaymission/labs/solars) "lK" = (/obj/structure/cable,/obj/effect/decal/cleanable/dirt,/obj/machinery/power/solar_control,/turf/simulated/floor/plating,/area/awaymission/labs/solars) "lL" = (/obj/machinery/camera{c_tag = "Aft Port Solar Control"; dir = 1},/obj/machinery/power/apc{dir = 4; name = "Worn-out APC"; pixel_x = 24; pixel_y = 0},/obj/structure/cable,/obj/machinery/power/terminal{dir = 4},/turf/simulated/floor/plating,/area/awaymission/labs/solars) -"lM" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/electrical,/turf/simulated/floor/plating,/area/awaymission/labs/solars) +"lM" = (/obj/structure/table/standard,/obj/item/weapon/storage/toolbox/electrical,/turf/simulated/floor/plating,/area/awaymission/labs/solars) "lN" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/solar{id = "portsolar"; name = "Port Solar Array"},/turf/simulated/floor/plating{icon_state = "solarpanel"; temperature = 393.15},/area/awaymission/desert{lighting_use_dynamic = 1; luminosity = 1; name = "Desert"}) "lO" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{temperature = 393.15},/area/awaymission/desert{lighting_use_dynamic = 1; luminosity = 1; name = "Desert"}) "lP" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{temperature = 393.15},/area/awaymission/desert{lighting_use_dynamic = 1; luminosity = 1; name = "Desert"}) @@ -617,8 +617,8 @@ "lS" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{temperature = 393.15},/area/awaymission/desert{lighting_use_dynamic = 1; luminosity = 1; name = "Desert"}) "lT" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/solar{id = "portsolar"; name = "Port Solar Array"},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{icon_state = "solarpanel"; temperature = 393.15},/area/awaymission/desert{lighting_use_dynamic = 1; luminosity = 1; name = "Desert"}) "lU" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/awaymission/labs/solars) -"lV" = (/obj/structure/table,/obj/item/weapon/reagent_containers/spray/cleaner,/turf/simulated/floor/plating,/area/awaymission/labs/solars) -"lW" = (/obj/structure/table,/obj/item/stack/cable_coil{pixel_y = -3},/obj/item/stack/cable_coil{pixel_y = 3},/obj/item/stack/cable_coil{pixel_y = 0},/turf/simulated/floor/plating,/area/awaymission/labs/solars) +"lV" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/spray/cleaner,/turf/simulated/floor/plating,/area/awaymission/labs/solars) +"lW" = (/obj/structure/table/standard,/obj/item/stack/cable_coil{pixel_y = -3},/obj/item/stack/cable_coil{pixel_y = 3},/obj/item/stack/cable_coil{pixel_y = 0},/turf/simulated/floor/plating,/area/awaymission/labs/solars) "lX" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{temperature = 393.15},/area/awaymission/desert{lighting_use_dynamic = 1; luminosity = 1; name = "Desert"}) "lY" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{temperature = 393.15},/area/awaymission/desert{lighting_use_dynamic = 1; luminosity = 1; name = "Desert"}) "lZ" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{temperature = 393.15},/area/awaymission/desert{lighting_use_dynamic = 1; luminosity = 1; name = "Desert"}) @@ -660,9 +660,9 @@ "mJ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/awaymission/labs/cargo) "mK" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor,/area/awaymission/labs/cargo) "mL" = (/obj/effect/landmark{name = "awaystart"},/turf/simulated/floor,/area/awaymission/labs/cargo) -"mM" = (/obj/structure/table,/obj/machinery/microwave{pixel_x = -3; pixel_y = 6},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/awaymission/labs/civilian) -"mN" = (/obj/structure/table,/obj/machinery/microwave{pixel_x = -3; pixel_y = 6},/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/awaymission/labs/civilian) -"mO" = (/obj/machinery/atmospherics/pipe/simple{color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/table,/obj/item/weapon/book/manual/chef_recipes,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaymission/labs/civilian) +"mM" = (/obj/structure/table/standard,/obj/machinery/microwave{pixel_x = -3; pixel_y = 6},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/awaymission/labs/civilian) +"mN" = (/obj/structure/table/standard,/obj/machinery/microwave{pixel_x = -3; pixel_y = 6},/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/awaymission/labs/civilian) +"mO" = (/obj/machinery/atmospherics/pipe/simple{color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/table/standard,/obj/item/weapon/book/manual/chef_recipes,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaymission/labs/civilian) "mP" = (/obj/structure/closet/secure_closet/freezer/meat,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaymission/labs/civilian) "mQ" = (/obj/structure/closet/secure_closet/freezer/fridge,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaymission/labs/civilian) "mR" = (/obj/structure/sink/kitchen{pixel_y = 23},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaymission/labs/civilian) @@ -698,7 +698,7 @@ "nv" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/oil,/turf/simulated/floor,/area/awaymission/labs/cargo) "nw" = (/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/awaymission/labs/cargo) "nx" = (/obj/machinery/bot/mulebot,/turf/simulated/floor{icon_state = "bot"},/area/awaymission/labs/cargo) -"ny" = (/obj/structure/table,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/item/weapon/wrapping_paper,/turf/simulated/floor,/area/awaymission/labs/cargo) +"ny" = (/obj/structure/table/standard,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/item/weapon/wrapping_paper,/turf/simulated/floor,/area/awaymission/labs/cargo) "nz" = (/obj/structure/closet/crate/secure/bin{name = "Valuable Ores"},/obj/item/weapon/ore/diamond,/obj/item/weapon/ore/diamond,/obj/item/weapon/ore/uranium,/obj/item/weapon/ore/uranium,/obj/item/weapon/ore/uranium,/obj/item/weapon/ore/clown,/turf/simulated/floor,/area/awaymission/labs/cargo) "nA" = (/obj/structure/closet/crate/secure/bin,/turf/simulated/floor,/area/awaymission/labs/cargo) "nB" = (/obj/machinery/recharge_station,/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/awaymission/labs/cave) @@ -725,35 +725,35 @@ "nW" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/awaymission/labs/cargo) "nX" = (/obj/machinery/bot/mulebot,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "bot"},/area/awaymission/labs/cargo) "nY" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/wall,/area/awaymission/labs/cargo) -"nZ" = (/obj/structure/table,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/item/weapon/reagent_containers/spray/cleaner,/turf/simulated/floor,/area/awaymission/labs/cargo) +"nZ" = (/obj/structure/table/standard,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/item/weapon/reagent_containers/spray/cleaner,/turf/simulated/floor,/area/awaymission/labs/cargo) "oa" = (/obj/effect/critter/fleshmonster/fleshslime,/turf/simulated/floor,/area/awaymission/labs/cargo) "ob" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/awaymission/labs/cave) "oc" = (/obj/machinery/power/apc{dir = 4; name = "Worn-out APC"; pixel_x = 24; pixel_y = 0},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/awaymission/labs/cave) -"od" = (/obj/structure/table,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaymission/labs/civilian) -"oe" = (/obj/structure/table,/obj/item/weapon/kitchen/rollingpin,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaymission/labs/civilian) -"of" = (/obj/structure/table,/obj/machinery/reagentgrinder{pixel_x = -1; pixel_y = 7},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaymission/labs/civilian) +"od" = (/obj/structure/table/standard,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaymission/labs/civilian) +"oe" = (/obj/structure/table/standard,/obj/item/weapon/kitchen/rollingpin,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaymission/labs/civilian) +"of" = (/obj/structure/table/standard,/obj/machinery/reagentgrinder{pixel_x = -1; pixel_y = 7},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaymission/labs/civilian) "og" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor,/area/awaymission/labs/civilian) "oh" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 2; on = 1},/turf/simulated/floor,/area/awaymission/labs/civilian) "oi" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor,/area/awaymission/labs/civilian) "oj" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/awaymission/labs/command) -"ok" = (/obj/structure/table,/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/item/device/multitool,/turf/simulated/floor{icon_state = "red"; dir = 9},/area/awaymission/labs/command) +"ok" = (/obj/structure/table/standard,/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/item/device/multitool,/turf/simulated/floor{icon_state = "red"; dir = 9},/area/awaymission/labs/command) "ol" = (/obj/machinery/computer/secure_data,/turf/simulated/floor{icon_state = "red"; dir = 1},/area/awaymission/labs/command) "om" = (/obj/item/weapon/wrench,/obj/structure/table/reinforced,/obj/machinery/camera{c_tag = "Bridge West"; dir = 2},/obj/item/device/assembly/timer,/obj/item/device/assembly/signaler,/obj/item/device/assembly/signaler,/turf/simulated/floor{icon_state = "red"; dir = 1},/area/awaymission/labs/command) "on" = (/turf/simulated/floor{icon_state = "blue"; dir = 4},/area/awaymission/labs/command) "oo" = (/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/awaymission/labs/command) -"op" = (/obj/structure/table,/obj/machinery/camera{c_tag = "Bridge East"; dir = 2},/obj/item/weapon/storage/fancy/donut_box,/turf/simulated/floor{icon_state = "whitehall"; dir = 1},/area/awaymission/labs/command) +"op" = (/obj/structure/table/standard,/obj/machinery/camera{c_tag = "Bridge East"; dir = 2},/obj/item/weapon/storage/fancy/donut_box,/turf/simulated/floor{icon_state = "whitehall"; dir = 1},/area/awaymission/labs/command) "oq" = (/obj/machinery/computer/med_data,/turf/simulated/floor{icon_state = "whitehall"; dir = 1},/area/awaymission/labs/command) -"or" = (/obj/structure/table,/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/item/weapon/storage/toolbox/emergency,/turf/simulated/floor{icon_state = "whitehall"; dir = 5},/area/awaymission/labs/command) +"or" = (/obj/structure/table/standard,/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/item/weapon/storage/toolbox/emergency,/turf/simulated/floor{icon_state = "whitehall"; dir = 5},/area/awaymission/labs/command) "os" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor,/area/awaymission/labs/command) "ot" = (/obj/machinery/door/airlock/glass_mining{name = "Cargo Bay"},/turf/simulated/floor,/area/awaymission/labs/command) "ou" = (/obj/structure/ore_box,/turf/simulated/floor,/area/awaymission/labs/cargo) "ov" = (/turf/simulated/floor{icon_state = "bot"},/area/awaymission/labs/cargo) -"ow" = (/obj/structure/table,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/awaymission/labs/cargo) +"ow" = (/obj/structure/table/standard,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/awaymission/labs/cargo) "ox" = (/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/awaymission/labs/cargo) "oy" = (/obj/effect/landmark/corpse/alien/cargo,/obj/effect/decal/cleanable/blood,/turf/simulated/floor,/area/awaymission/labs/cave) "oz" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/awaymission/labs/cave) "oA" = (/obj/effect/decal/cleanable/blood/splatter,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaymission/labs/civilian) -"oB" = (/obj/structure/table,/obj/item/weapon/butch{pixel_y = 3},/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaymission/labs/civilian) +"oB" = (/obj/structure/table/standard,/obj/item/weapon/butch{pixel_y = 3},/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaymission/labs/civilian) "oC" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/awaymission/labs/civilian) "oD" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/awaymission/labs/civilian) "oE" = (/obj/machinery/door/airlock/glass{name = "Civilian Division"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/awaymission/labs/civilian) @@ -785,7 +785,7 @@ "pe" = (/obj/machinery/conveyor{dir = 5; id = "garbage"},/turf/simulated/floor,/area/awaymission/labs/cargo) "pf" = (/obj/machinery/conveyor{dir = 4; id = "mining_internal"},/turf/simulated/floor,/area/awaymission/labs/cargo) "pg" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 140; on = 1; pressure_checks = 0},/obj/effect/alien/flesh/weeds/node,/turf/simulated/floor,/area/awaymission/labs/cargo) -"ph" = (/obj/structure/table,/turf/simulated/floor,/area/awaymission/labs/cave) +"ph" = (/obj/structure/table/standard,/turf/simulated/floor,/area/awaymission/labs/cave) "pi" = (/obj/structure/dispenser/oxygen,/turf/simulated/floor,/area/awaymission/labs/cave) "pj" = (/obj/structure/largecrate,/turf/simulated/floor,/area/awaymission/labs/cave) "pk" = (/obj/structure/table/reinforced,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaymission/labs/civilian) @@ -852,7 +852,7 @@ "qt" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/unsimulated/desert,/area/awaymission/labs/cave) "qu" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor{icon_state = "bar"},/area/awaymission/labs/civilian) "qv" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor{icon_state = "bar"},/area/awaymission/labs/civilian) -"qw" = (/obj/structure/table,/obj/item/weapon/kitchen/utensil/fork,/turf/simulated/floor{icon_state = "bar"},/area/awaymission/labs/civilian) +"qw" = (/obj/structure/table/standard,/obj/item/weapon/kitchen/utensil/fork,/turf/simulated/floor{icon_state = "bar"},/area/awaymission/labs/civilian) "qx" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor{icon_state = "bar"},/area/awaymission/labs/civilian) "qy" = (/obj/structure/barricade/wooden,/turf/simulated/floor{icon_state = "bar"},/area/awaymission/labs/civilian) "qz" = (/obj/machinery/door/airlock/glass{name = "Mess Hall"},/turf/simulated/floor{icon_state = "bar"},/area/awaymission/labs/civilian) @@ -878,7 +878,7 @@ "qT" = (/obj/machinery/nuclearbomb{r_code = "LOLNO"},/turf/simulated/floor{tag = "icon-vault (WEST)"; icon_state = "vault"; dir = 8},/area/awaymission/labs/command) "qU" = (/obj/item/weapon/coin/silver{pixel_x = 7; pixel_y = 12},/obj/item/weapon/coin/silver{pixel_x = 12; pixel_y = 7},/obj/item/weapon/coin/silver{pixel_x = 4; pixel_y = 8},/obj/item/weapon/coin/silver{pixel_x = -6; pixel_y = 5},/obj/item/weapon/coin/silver{pixel_x = 5; pixel_y = -8},/obj/structure/closet/crate{name = "Silver Crate"},/turf/simulated/floor{tag = "icon-vault (EAST)"; icon_state = "vault"; dir = 4},/area/awaymission/labs/command) "qV" = (/obj/effect/alien/flesh/weeds,/turf/unsimulated/desert,/area/awaymission/labs/cave) -"qW" = (/obj/structure/table,/obj/item/weapon/kitchen/utensil/fork,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "bar"},/area/awaymission/labs/civilian) +"qW" = (/obj/structure/table/standard,/obj/item/weapon/kitchen/utensil/fork,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "bar"},/area/awaymission/labs/civilian) "qX" = (/obj/machinery/door/airlock/glass{name = "Civilian Division"},/turf/simulated/floor,/area/awaymission/labs/civilian) "qY" = (/obj/machinery/door/airlock/glass{name = "Command Rotunda"},/turf/simulated/floor,/area/awaymission/labs/command) "qZ" = (/obj/item/weapon/coin/silver{pixel_x = 12; pixel_y = 11},/turf/simulated/floor{tag = "icon-vault (EAST)"; icon_state = "vault"; dir = 4},/area/awaymission/labs/command) @@ -907,8 +907,8 @@ "rw" = (/obj/structure/toilet,/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/labs/civilian) "rx" = (/obj/machinery/washing_machine,/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/awaymission/labs/civilian) "ry" = (/obj/effect/decal/cleanable/blood,/obj/machinery/light{dir = 1},/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/awaymission/labs/civilian) -"rz" = (/obj/structure/table,/obj/structure/bedsheetbin{pixel_x = -2; pixel_y = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/awaymission/labs/civilian) -"rA" = (/obj/structure/table,/obj/item/clothing/suit/storage/labcoat{pixel_y = 3},/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/awaymission/labs/civilian) +"rz" = (/obj/structure/table/standard,/obj/structure/bedsheetbin{pixel_x = -2; pixel_y = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/awaymission/labs/civilian) +"rA" = (/obj/structure/table/standard,/obj/item/clothing/suit/storage/labcoat{pixel_y = 3},/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/awaymission/labs/civilian) "rB" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor,/area/awaymission/labs/civilian) "rC" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor,/area/awaymission/labs/civilian) "rD" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor,/area/awaymission/labs/civilian) @@ -936,9 +936,9 @@ "rZ" = (/obj/effect/alien/flesh/weeds{icon_state = "flesh1"},/obj/effect/decal/cleanable/blood/gibs/limb,/turf/unsimulated/desert,/area/awaymission/labs/cave) "sa" = (/obj/machinery/shower{tag = "icon-shower (EAST)"; icon_state = "shower"; dir = 4},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/labs/civilian) "sb" = (/obj/structure/stool,/turf/simulated/floor,/area/awaymission/labs/civilian) -"sc" = (/obj/structure/table,/obj/item/weapon/paper{icon_state = "paper_words"; info = "

Memo to all Personnel


Greetings,

I have recently heard of rumors amongst our workers that we 'kidnap' some in their sleep and drag them off to the high-security laboratories. This has caused enough stir in our ranks that I personally am writing to you to denounce these naysayings. We at NanoTrasen would never do such things to harm our personnel, especially ones who put their lives on the line in dangerous caverns and extreme temperatures to excavate century-old artifacts. Rest assured, the laboratories in the high-security section are for nothing but the studying of the artifacts that you bring back to us.

Now that that is out of the way, allow me to personally give my congratulations to our Head of Excavation, S'rrsa Unoyo, who is celebrating her twenty-seventh birthday today. Celebrations will be held in the mess hall after work hours, and all staff are invited.

As always, please have a productive shift, and do not listen to the fearmongering of certain individuals. You are safe here, with us, at NanoTrasen.

-Overseer McDonald"; name = "Personnel Memo"},/turf/simulated/floor,/area/awaymission/labs/civilian) -"sd" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor,/area/awaymission/labs/civilian) -"se" = (/obj/structure/table,/turf/simulated/floor,/area/awaymission/labs/civilian) +"sc" = (/obj/structure/table/standard,/obj/item/weapon/paper{icon_state = "paper_words"; info = "
Memo to all Personnel


Greetings,

I have recently heard of rumors amongst our workers that we 'kidnap' some in their sleep and drag them off to the high-security laboratories. This has caused enough stir in our ranks that I personally am writing to you to denounce these naysayings. We at NanoTrasen would never do such things to harm our personnel, especially ones who put their lives on the line in dangerous caverns and extreme temperatures to excavate century-old artifacts. Rest assured, the laboratories in the high-security section are for nothing but the studying of the artifacts that you bring back to us.

Now that that is out of the way, allow me to personally give my congratulations to our Head of Excavation, S'rrsa Unoyo, who is celebrating her twenty-seventh birthday today. Celebrations will be held in the mess hall after work hours, and all staff are invited.

As always, please have a productive shift, and do not listen to the fearmongering of certain individuals. You are safe here, with us, at NanoTrasen.

-Overseer McDonald"; name = "Personnel Memo"},/turf/simulated/floor,/area/awaymission/labs/civilian) +"sd" = (/obj/structure/table/standard,/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor,/area/awaymission/labs/civilian) +"se" = (/obj/structure/table/standard,/turf/simulated/floor,/area/awaymission/labs/civilian) "sf" = (/obj/structure/closet/toolcloset,/turf/simulated/floor,/area/awaymission/labs/civilian) "sg" = (/obj/machinery/portable_atmospherics/scrubber,/turf/simulated/floor,/area/awaymission/labs/civilian) "sh" = (/obj/structure/closet/secure_closet/engineering_electrical,/turf/simulated/floor,/area/awaymission/labs/civilian) @@ -951,7 +951,7 @@ "so" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor,/area/awaymission/labs/civilian) "sp" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor,/area/awaymission/labs/civilian) "sq" = (/obj/machinery/power/apc{dir = 4; name = "Worn-out APC"; pixel_x = 24; pixel_y = 0},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/awaymission/labs/civilian) -"sr" = (/obj/structure/table,/obj/item/weapon/paper{icon_state = "paper_words"; info = "Hey, Carlos, when you get this, get down into the sewers and fix the damn piping, will you? That nasty fleshy shit's been growing again. Blocked off half the pipes and it's stil clogging the vents. Has to be coming from the high security section, that's the only pipe I hadn't tried to seal yet. Dunno what those freaks in research are doing but tell them to fucking knock it off. I'm not paid enough to scrape that crap off the walls down there. It's starting to get into the air as well, smells terrible. Yell at the head egghead or something."; name = "Note"},/turf/simulated/floor,/area/awaymission/labs/civilian) +"sr" = (/obj/structure/table/standard,/obj/item/weapon/paper{icon_state = "paper_words"; info = "Hey, Carlos, when you get this, get down into the sewers and fix the damn piping, will you? That nasty fleshy shit's been growing again. Blocked off half the pipes and it's stil clogging the vents. Has to be coming from the high security section, that's the only pipe I hadn't tried to seal yet. Dunno what those freaks in research are doing but tell them to fucking knock it off. I'm not paid enough to scrape that crap off the walls down there. It's starting to get into the air as well, smells terrible. Yell at the head egghead or something."; name = "Note"},/turf/simulated/floor,/area/awaymission/labs/civilian) "ss" = (/turf/simulated/wall/r_wall,/area/awaymission/labs/security) "st" = (/obj/structure/grille{layer = 3.3},/obj/structure/window/reinforced{dir = 5; health = 1e+007; layer = 3.4},/obj/machinery/door/poddoor{density = 1; icon_state = "pdoor1"; id = "sandstorm shutters"; layer = 2.4; name = "Sandstorm Shutters"; opacity = 1},/turf/simulated/floor,/area/awaymission/labs/security) "su" = (/turf/simulated/wall,/area/awaymission/labs/medical) @@ -965,9 +965,9 @@ "sC" = (/obj/structure/reagent_dispensers/water_cooler,/turf/simulated/floor,/area/awaymission/labs/security) "sD" = (/obj/structure/closet/secure_closet/security,/turf/simulated/floor,/area/awaymission/labs/security) "sE" = (/obj/machinery/vending/medical,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) -"sF" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/adv,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) -"sG" = (/obj/structure/table,/obj/machinery/computer/med_data/laptop{pixel_x = 1; pixel_y = 3},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) -"sH" = (/obj/structure/table,/obj/item/weapon/storage/beakerbox,/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) +"sF" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/adv,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) +"sG" = (/obj/structure/table/standard,/obj/machinery/computer/med_data/laptop{pixel_x = 1; pixel_y = 3},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) +"sH" = (/obj/structure/table/standard,/obj/item/weapon/storage/beakerbox,/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) "sI" = (/obj/structure/closet/secure_closet/medical1,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) "sJ" = (/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) "sK" = (/obj/structure/stool/bed/chair,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) @@ -981,8 +981,8 @@ "sS" = (/obj/machinery/door/airlock/glass_medical{name = "Medical"},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) "sT" = (/obj/machinery/door/airlock/glass_medical{name = "Medical"},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/command) "sU" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor,/area/awaymission/labs/security) -"sV" = (/obj/structure/table,/obj/item/weapon/book/manual/security_space_law,/turf/simulated/floor,/area/awaymission/labs/security) -"sW" = (/obj/structure/table,/turf/simulated/floor,/area/awaymission/labs/security) +"sV" = (/obj/structure/table/standard,/obj/item/weapon/book/manual/security_space_law,/turf/simulated/floor,/area/awaymission/labs/security) +"sW" = (/obj/structure/table/standard,/turf/simulated/floor,/area/awaymission/labs/security) "sX" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor,/area/awaymission/labs/security) "sY" = (/obj/effect/decal/cleanable/blood/tracks,/turf/simulated/floor,/area/awaymission/labs/security) "sZ" = (/obj/effect/critter/creature{armor = 20; atksame = 0; desc = "A blob of pulsating human-like flesh, bearing one angry eye and a huge mouth."; health = 130; max_health = 130; name = "Failed Experiment"},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) @@ -995,14 +995,14 @@ "tg" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/wall/r_wall,/area/awaymission/labs/security) "th" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/awaymission/labs/security) "ti" = (/obj/structure/stool/bed/chair{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/awaymission/labs/security) -"tj" = (/obj/structure/table,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/unary/vent_pump{dir = 2; on = 1},/turf/simulated/floor,/area/awaymission/labs/security) -"tk" = (/obj/structure/table,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/awaymission/labs/security) +"tj" = (/obj/structure/table/standard,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/unary/vent_pump{dir = 2; on = 1},/turf/simulated/floor,/area/awaymission/labs/security) +"tk" = (/obj/structure/table/standard,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/awaymission/labs/security) "tl" = (/obj/structure/stool/bed/chair{dir = 8},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/awaymission/labs/security) "tm" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/awaymission/labs/security) "tn" = (/obj/structure/closet/secure_closet/personal/patient,/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) "to" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/medical,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) "tp" = (/obj/machinery/vending/wallmed1{pixel_y = 28},/obj/structure/stool/bed/chair/office/light{dir = 4},/obj/machinery/light/small{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) -"tq" = (/obj/structure/table,/obj/item/weapon/folder/white,/obj/item/clothing/tie/stethoscope,/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) +"tq" = (/obj/structure/table/standard,/obj/item/weapon/folder/white,/obj/item/clothing/tie/stethoscope,/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) "tr" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/space,/area/awaymission/labs/medical) "ts" = (/obj/effect/decal/cleanable/blood/tracks,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) "tt" = (/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor,/area/awaymission/labs/security) @@ -1010,23 +1010,23 @@ "tv" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/orange,/turf/simulated/floor,/area/awaymission/labs/security) "tw" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/awaymission/labs/security) "tx" = (/obj/machinery/door/airlock/medical{name = "Patient Room"},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) -"ty" = (/obj/structure/table,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) +"ty" = (/obj/structure/table/standard,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) "tz" = (/obj/machinery/sleeper,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) "tA" = (/obj/machinery/sleep_console,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) "tB" = (/obj/structure/table/woodentable,/turf/simulated/floor,/area/awaymission/labs/security) "tC" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor,/area/awaymission/labs/security) "tD" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) -"tE" = (/obj/item/weapon/gun/syringe/rapidsyringe,/obj/structure/table,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) +"tE" = (/obj/item/weapon/gun/syringe/rapidsyringe,/obj/structure/table/standard,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) "tF" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) "tG" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) "tH" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) -"tI" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/regular{empty = 1; name = "First-Aid (empty)"},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) +"tI" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/regular{empty = 1; name = "First-Aid (empty)"},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) "tJ" = (/obj/machinery/chem_master,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) "tK" = (/obj/machinery/chem_dispenser,/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) "tL" = (/obj/machinery/bodyscanner,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) "tM" = (/obj/machinery/body_scanconsole,/obj/machinery/atmospherics/unary/vent_pump{dir = 8; frequency = 1379; id_tag = "engineering_aux_pump"; on = 1},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) "tN" = (/obj/structure/closet/secure_closet/personal/patient,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) -"tO" = (/obj/structure/table,/obj/item/weapon/storage/pill_bottle,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) +"tO" = (/obj/structure/table/standard,/obj/item/weapon/storage/pill_bottle,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) "tP" = (/obj/effect/decal/cleanable/greenglow,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) "tQ" = (/obj/effect/critter/fleshmonster,/turf/simulated/floor,/area/awaymission/labs/security) "tR" = (/obj/structure/rack,/turf/simulated/floor{tag = "icon-vault (WEST)"; icon_state = "vault"; dir = 8},/area/awaymission/labs/security) @@ -1049,18 +1049,18 @@ "ui" = (/obj/structure/closet/secure_closet/warden,/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/labs/security) "uj" = (/obj/structure/rack,/obj/item/ammo_magazine/c45,/turf/simulated/floor{tag = "icon-vault (WEST)"; icon_state = "vault"; dir = 8},/area/awaymission/labs/security) "uk" = (/obj/structure/rack,/obj/item/ammo_magazine/c45,/obj/item/weapon/gun/projectile/silenced/sc_silenced{desc = "A sidearm commonly favored by terrestrial security forces."; icon_state = "g115 Pistol"; name = "Pistol"; silenced = 0},/turf/simulated/floor{tag = "icon-vault (WEST)"; icon_state = "vault"; dir = 8},/area/awaymission/labs/security) -"ul" = (/obj/structure/table,/obj/item/weapon/storage/backpack/satchel_med,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) +"ul" = (/obj/structure/table/standard,/obj/item/weapon/storage/backpack/satchel_med,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) "um" = (/obj/machinery/computer/prisoner,/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/labs/security) "un" = (/obj/machinery/computer/security,/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/labs/security) -"uo" = (/obj/structure/table,/obj/item/weapon/gun/syringe/rapidsyringe,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) -"up" = (/obj/structure/table,/obj/item/weapon/scalpel,/obj/item/weapon/retractor,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) -"uq" = (/obj/structure/table,/obj/item/weapon/surgicaldrill,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) -"ur" = (/obj/structure/table,/obj/machinery/light,/obj/machinery/power/apc{dir = 0; name = "Worn-out APC"; pixel_y = -24},/obj/structure/cable,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) +"uo" = (/obj/structure/table/standard,/obj/item/weapon/gun/syringe/rapidsyringe,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) +"up" = (/obj/structure/table/standard,/obj/item/weapon/scalpel,/obj/item/weapon/retractor,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) +"uq" = (/obj/structure/table/standard,/obj/item/weapon/surgicaldrill,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) +"ur" = (/obj/structure/table/standard,/obj/machinery/light,/obj/machinery/power/apc{dir = 0; name = "Worn-out APC"; pixel_y = -24},/obj/structure/cable,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) "us" = (/obj/structure/reagent_dispensers/water_cooler,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) "ut" = (/obj/structure/closet/secure_closet/medical3,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) -"uu" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/fire,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) -"uv" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/o2,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) -"uw" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/toxin,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) +"uu" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/fire,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) +"uv" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/o2,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) +"uw" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/toxin,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) "ux" = (/obj/machinery/iv_drip,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) "uy" = (/obj/machinery/vending/cola,/turf/simulated/floor,/area/awaymission/labs/security) "uz" = (/obj/structure/table/reinforced,/obj/machinery/door/window/westright,/obj/machinery/door/window/eastright,/obj/item/weapon/paper{icon_state = "paper_words"; info = "
Incident Report


Arresting Officer: Meyers

Suspect: Laborer #24

Charge: Assault

Description of events: Damn fool clocked another lizard upside the head with his wrench, started screaming about how the voices in his head wanted him to bring bodies to research to 'feed the mother' or something. Probably spent too much time down in those caves. Give him a good couple of days in the brig, he'll snap out of it quick enough."; name = "Incident Report"},/turf/simulated/floor,/area/awaymission/labs/security) @@ -1072,13 +1072,13 @@ "uF" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/awaymission/labs/security) "uG" = (/obj/structure/toilet,/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/awaymission/labs/security) "uH" = (/obj/machinery/shower,/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/awaymission/labs/security) -"uI" = (/obj/structure/table,/obj/item/weapon/folder/red,/obj/item/weapon/book/manual/security_space_law{pixel_x = -3; pixel_y = 5},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/labs/security) +"uI" = (/obj/structure/table/standard,/obj/item/weapon/folder/red,/obj/item/weapon/book/manual/security_space_law{pixel_x = -3; pixel_y = 5},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/labs/security) "uJ" = (/obj/machinery/door/airlock/glass_security{name = "Armory"},/turf/simulated/floor,/area/awaymission/labs/security) "uK" = (/obj/machinery/computer/arcade,/turf/simulated/floor,/area/awaymission/labs/security) "uL" = (/obj/machinery/door/window/westright,/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/awaymission/labs/security) "uM" = (/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/awaymission/labs/security) "uN" = (/obj/structure/closet/secure_closet/brig,/turf/simulated/floor,/area/awaymission/labs/security) -"uO" = (/obj/structure/table,/obj/machinery/recharger,/obj/item/weapon/gun/energy/stunrevolver{pixel_y = 6},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/labs/security) +"uO" = (/obj/structure/table/standard,/obj/machinery/recharger,/obj/item/weapon/gun/energy/stunrevolver{pixel_y = 6},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/labs/security) "uP" = (/obj/machinery/recharger,/obj/structure/table/reinforced,/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/awaymission/labs/security) "uQ" = (/obj/machinery/recharger,/obj/structure/reagent_dispensers/peppertank{pixel_x = 0; pixel_y = -30},/obj/structure/table/reinforced,/obj/machinery/light,/turf/simulated/floor{icon_state = "red"; dir = 1},/area/awaymission/labs/security) "uR" = (/obj/machinery/recharger,/obj/structure/table/reinforced,/turf/simulated/floor{icon_state = "red"; dir = 5},/area/awaymission/labs/security) diff --git a/maps/exodus-1.dmm b/maps/exodus-1.dmm index 837031cf89..182358213e 100644 --- a/maps/exodus-1.dmm +++ b/maps/exodus-1.dmm @@ -134,12 +134,12 @@ "acD" = (/obj/structure/table/rack,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/window/brigdoor{dir = 2; name = "Weapons locker"; req_access = list(3)},/obj/random/projectile,/obj/random/projectile,/obj/random/projectile,/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/security/armoury) "acE" = (/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{icon_state = "dark"},/area/security/warden) "acF" = (/obj/structure/table/rack,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/window/brigdoor{dir = 2; name = "Weapons locker"; req_access = list(3)},/obj/structure/window/reinforced{dir = 8},/obj/random/energy,/obj/random/energy,/obj/random/energy,/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/security/armoury) -"acG" = (/obj/structure/table,/obj/machinery/cell_charger,/obj/item/weapon/screwdriver{pixel_y = 15},/obj/machinery/light{dir = 8},/turf/simulated/floor,/area/security/main) -"acH" = (/obj/structure/table,/obj/machinery/recharger,/turf/simulated/floor,/area/security/main) -"acI" = (/obj/structure/disposalpipe/segment,/obj/structure/table,/obj/machinery/recharger,/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/security/main) +"acG" = (/obj/structure/table/standard,/obj/machinery/cell_charger,/obj/item/weapon/screwdriver{pixel_y = 15},/obj/machinery/light{dir = 8},/turf/simulated/floor,/area/security/main) +"acH" = (/obj/structure/table/standard,/obj/machinery/recharger,/turf/simulated/floor,/area/security/main) +"acI" = (/obj/structure/disposalpipe/segment,/obj/structure/table/standard,/obj/machinery/recharger,/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/security/main) "acJ" = (/obj/structure/table/rack,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/light{dir = 1},/obj/machinery/door/window/brigdoor{dir = 2; name = "Weapons locker"; req_access = list(3)},/obj/item/ammo_magazine/c45m/flash,/obj/item/ammo_magazine/c45m/flash,/obj/item/ammo_magazine/c45m/flash,/obj/item/ammo_magazine/c45m/rubber,/obj/item/ammo_magazine/c45m/rubber,/obj/item/ammo_magazine/c45m/rubber,/obj/item/ammo_magazine/c45m/rubber,/obj/item/ammo_magazine/c45m/rubber,/obj/item/ammo_magazine/c45m/rubber,/obj/item/ammo_magazine/mc9mmt/rubber,/obj/item/ammo_magazine/mc9mmt/rubber,/obj/item/ammo_magazine/mc9mmt/rubber,/obj/item/weapon/storage/box/beanbags,/obj/item/weapon/storage/box/beanbags,/obj/item/weapon/storage/box/flashshells,/obj/item/weapon/storage/box/stunshells,/obj/item/ammo_magazine/c45m/practice,/obj/item/ammo_magazine/c45m/practice,/obj/item/ammo_magazine/c45m/practice,/obj/item/ammo_magazine/c45m/practice,/obj/item/ammo_magazine/mc9mmt/practice,/obj/item/ammo_magazine/mc9mmt/practice,/obj/item/weapon/storage/box/practiceshells,/obj/item/weapon/storage/box/practiceshells,/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/security/armoury) -"acK" = (/obj/structure/table,/obj/item/weapon/reagent_containers/syringe/inaprovaline,/obj/item/weapon/reagent_containers/syringe/inaprovaline{pixel_x = -2; pixel_y = 5},/obj/item/weapon/reagent_containers/syringe/inaprovaline{pixel_y = 10},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor{dir = 1; icon_state = "whitered"},/area/security/main) -"acL" = (/obj/structure/table,/obj/item/bodybag/cryobag{pixel_x = 6},/obj/item/weapon/storage/firstaid/regular{pixel_x = 5; pixel_y = 5},/turf/simulated/floor{dir = 5; icon_state = "whitered"},/area/security/main) +"acK" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/syringe/inaprovaline,/obj/item/weapon/reagent_containers/syringe/inaprovaline{pixel_x = -2; pixel_y = 5},/obj/item/weapon/reagent_containers/syringe/inaprovaline{pixel_y = 10},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor{dir = 1; icon_state = "whitered"},/area/security/main) +"acL" = (/obj/structure/table/standard,/obj/item/bodybag/cryobag{pixel_x = 6},/obj/item/weapon/storage/firstaid/regular{pixel_x = 5; pixel_y = 5},/turf/simulated/floor{dir = 5; icon_state = "whitered"},/area/security/main) "acM" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green,/turf/simulated/floor/plating,/area/security/main) "acN" = (/obj/machinery/computer/secure_data,/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/security/main) "acO" = (/obj/machinery/computer/security,/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/security/main) @@ -153,12 +153,12 @@ "acW" = (/obj/structure/table/rack,/obj/machinery/door/window/brigdoor{dir = 2; name = "Weapons locker"; req_access = list(3)},/obj/structure/window/reinforced{dir = 1},/obj/item/weapon/gun/energy/ionrifle,/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/security/armoury) "acX" = (/turf/simulated/floor{icon_state = "dark"},/area/security/warden) "acY" = (/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "dark"},/area/security/armoury) -"acZ" = (/obj/structure/table,/obj/machinery/recharger,/obj/item/weapon/reagent_containers/spray/cleaner,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/main) +"acZ" = (/obj/structure/table/standard,/obj/machinery/recharger,/obj/item/weapon/reagent_containers/spray/cleaner,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/main) "ada" = (/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/security/main) "adb" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/security/main) "adc" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/security/main) "add" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/security/main) -"ade" = (/obj/structure/table,/obj/item/device/healthanalyzer,/obj/item/stack/medical/bruise_pack{pixel_x = -4; pixel_y = 3},/obj/item/stack/medical/bruise_pack{pixel_x = 10},/obj/item/stack/medical/ointment{pixel_y = 10},/turf/simulated/floor{dir = 4; icon_state = "whitered"},/area/security/main) +"ade" = (/obj/structure/table/standard,/obj/item/device/healthanalyzer,/obj/item/stack/medical/bruise_pack{pixel_x = -4; pixel_y = 3},/obj/item/stack/medical/bruise_pack{pixel_x = 10},/obj/item/stack/medical/ointment{pixel_y = 10},/turf/simulated/floor{dir = 4; icon_state = "whitered"},/area/security/main) "adf" = (/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{icon_state = "dark"},/area/security/armoury) "adg" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/security/main) "adh" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/vending/snack,/turf/simulated/floor,/area/security/main) @@ -182,7 +182,7 @@ "adz" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/window/brigdoor{dir = 4; name = "Weapons locker"; req_access = list(3)},/obj/structure/table/rack,/obj/item/clothing/suit/armor/riot,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/shield/riot,/obj/item/clothing/head/helmet/riot,/obj/machinery/light{dir = 8},/obj/machinery/camera/network/security{c_tag = "Armoury - Secure"; dir = 4},/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/security/armoury) "adA" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/noticeboard{pixel_x = 32; pixel_y = 0},/turf/simulated/floor{dir = 2; icon_state = "redcorner"},/area/security/main) "adB" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/security_starboard) -"adC" = (/obj/structure/table,/obj/machinery/recharger,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/security/armoury) +"adC" = (/obj/structure/table/standard,/obj/machinery/recharger,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/security/armoury) "adD" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/security_port) "adE" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/security_port) "adF" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/security/armoury) @@ -193,7 +193,7 @@ "adK" = (/obj/structure/table/rack,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/item/weapon/reagent_containers/spray/pepper,/obj/item/weapon/reagent_containers/spray/pepper,/obj/item/weapon/reagent_containers/spray/pepper,/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/security/armoury) "adL" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/security/main) "adM" = (/obj/structure/bed/chair/office/dark,/obj/effect/landmark/start{name = "Security Officer"},/turf/simulated/floor,/area/security/main) -"adN" = (/obj/structure/table,/obj/item/weapon/folder/red,/turf/simulated/floor,/area/security/main) +"adN" = (/obj/structure/table/standard,/obj/item/weapon/folder/red,/turf/simulated/floor,/area/security/main) "adO" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/security/armoury) "adP" = (/obj/machinery/requests_console{department = "Security"; departmentType = 5; pixel_x = 30; pixel_y = 0},/turf/simulated/floor{dir = 2; icon_state = "redcorner"},/area/security/main) "adQ" = (/obj/structure/disposalpipe/segment,/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/security_starboard) @@ -214,17 +214,17 @@ "aef" = (/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/door/airlock/glass_security{name = "Briefing Room"; req_access = list(63)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/security/main) "aeg" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/security_port) "aeh" = (/obj/machinery/light/small,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/security_starboard) -"aei" = (/obj/machinery/light{dir = 8},/obj/structure/window/reinforced,/obj/structure/table,/obj/item/device/megaphone,/obj/item/device/megaphone,/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/security/main) -"aej" = (/obj/structure/window/reinforced,/obj/structure/table,/obj/item/device/taperecorder{pixel_y = 0},/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/security/main) -"aek" = (/obj/structure/disposalpipe/segment,/obj/structure/window/reinforced,/obj/structure/table,/obj/item/weapon/packageWrap,/obj/item/weapon/storage/box,/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/security/main) +"aei" = (/obj/machinery/light{dir = 8},/obj/structure/window/reinforced,/obj/structure/table/standard,/obj/item/device/megaphone,/obj/item/device/megaphone,/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/security/main) +"aej" = (/obj/structure/window/reinforced,/obj/structure/table/standard,/obj/item/device/taperecorder{pixel_y = 0},/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/security/main) +"aek" = (/obj/structure/disposalpipe/segment,/obj/structure/window/reinforced,/obj/structure/table/standard,/obj/item/weapon/packageWrap,/obj/item/weapon/storage/box,/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/security/main) "ael" = (/obj/structure/window/reinforced,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/security/main) "aem" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/security/main) "aen" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "redcorner"},/area/security/main) "aeo" = (/obj/structure/table/rack,/obj/structure/window/reinforced,/obj/machinery/door/window/brigdoor{dir = 1; name = "Weapons locker"; req_access = list(3)},/obj/structure/window/reinforced{dir = 4},/obj/item/clothing/suit/armor/laserproof{pixel_x = 2; pixel_y = 2},/obj/item/clothing/suit/armor/laserproof{pixel_x = -2; pixel_y = -2},/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/security/armoury) "aep" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/security/main) "aeq" = (/obj/structure/table/rack,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/window/brigdoor{dir = 1; name = "Weapons locker"; req_access = list(3)},/obj/item/clothing/suit/armor/bulletproof{pixel_x = 2; pixel_y = 2},/obj/item/clothing/suit/armor/bulletproof{pixel_x = -2; pixel_y = -2},/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/security/armoury) -"aer" = (/obj/structure/table,/obj/item/weapon/folder/red,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/security/main) -"aes" = (/obj/structure/table,/obj/item/weapon/book/manual/security_space_law,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor,/area/security/main) +"aer" = (/obj/structure/table/standard,/obj/item/weapon/folder/red,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/security/main) +"aes" = (/obj/structure/table/standard,/obj/item/weapon/book/manual/security_space_law,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor,/area/security/main) "aet" = (/obj/structure/bed/chair/office/dark{dir = 8},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor,/area/security/main) "aeu" = (/obj/machinery/light,/obj/machinery/flasher/portable,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/security/armoury) "aev" = (/obj/machinery/flasher/portable,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/security/armoury) @@ -287,7 +287,7 @@ "afA" = (/obj/structure/bed/chair/office/dark{dir = 8},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor,/area/security/main) "afB" = (/obj/structure/bed/chair/office/dark{dir = 1},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor,/area/security/main) "afC" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/main) -"afD" = (/obj/structure/table,/obj/item/weapon/hand_labeler,/turf/simulated/floor{dir = 2; icon_state = "redcorner"},/area/security/main) +"afD" = (/obj/structure/table/standard,/obj/item/weapon/hand_labeler,/turf/simulated/floor{dir = 2; icon_state = "redcorner"},/area/security/main) "afE" = (/obj/machinery/vending/cola,/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/security/main) "afF" = (/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/security/main) "afG" = (/obj/machinery/light,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor,/area/security/main) @@ -296,7 +296,7 @@ "afJ" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/meter,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/security_starboard) "afK" = (/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod_berth{frequency = 1380; id_tag = "escape_pod_3_berth"; pixel_x = 25; pixel_y = 25; tag_door = "escape_pod_3_berth_hatch"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/security_starboard) "afL" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/camera/network/security{c_tag = "Security - Equipment North"; dir = 4},/turf/simulated/floor,/area/security/main) -"afM" = (/obj/structure/table,/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/item/weapon/storage/box/donut,/turf/simulated/floor{dir = 2; icon_state = "redcorner"},/area/security/main) +"afM" = (/obj/structure/table/standard,/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/item/weapon/storage/box/donut,/turf/simulated/floor{dir = 2; icon_state = "redcorner"},/area/security/main) "afN" = (/obj/item/weapon/stool,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "redfull"; dir = 9},/area/security/main) "afO" = (/obj/structure/disposalpipe/segment,/obj/item/weapon/stool,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "redfull"; dir = 9},/area/security/main) "afP" = (/obj/structure/window/shuttle,/obj/structure/grille,/turf/simulated/shuttle/plating,/area/shuttle/escape_pod3/station) @@ -323,7 +323,7 @@ "agk" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/main) "agl" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/main) "agm" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/security/main) -"agn" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/table,/obj/structure/reagent_dispensers/peppertank{pixel_x = 30},/obj/item/device/radio,/obj/item/device/radio,/obj/item/device/radio,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/item/weapon/crowbar,/obj/item/weapon/crowbar,/obj/item/weapon/crowbar,/turf/simulated/floor{dir = 2; icon_state = "redcorner"},/area/security/main) +"agn" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/table/standard,/obj/structure/reagent_dispensers/peppertank{pixel_x = 30},/obj/item/device/radio,/obj/item/device/radio,/obj/item/device/radio,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/item/weapon/crowbar,/obj/item/weapon/crowbar,/obj/item/weapon/crowbar,/turf/simulated/floor{dir = 2; icon_state = "redcorner"},/area/security/main) "ago" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/wall,/area/crew_quarters/heads/hos) "agp" = (/turf/simulated/wall,/area/crew_quarters/heads/hos) "agq" = (/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/door/airlock/security{name = "Armoury"; req_access = list(2)},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/security/warden) @@ -362,8 +362,8 @@ "agX" = (/obj/structure/closet{name = "Evidence Closet"},/obj/machinery/light/small{dir = 8},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/security/brig) "agY" = (/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor{icon_state = "dark"},/area/security/brig) "agZ" = (/obj/structure/closet{name = "Evidence Closet"},/turf/simulated/floor{icon_state = "dark"},/area/security/brig) -"aha" = (/obj/structure/table,/obj/item/device/camera,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor,/area/security/brig) -"ahb" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/security/brig) +"aha" = (/obj/structure/table/standard,/obj/item/device/camera,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor,/area/security/brig) +"ahb" = (/obj/structure/table/standard,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/security/brig) "ahc" = (/obj/machinery/light{dir = 1},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/security/brig) "ahd" = (/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/security/brig) "ahe" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/security/brig) @@ -390,8 +390,8 @@ "ahz" = (/obj/structure/grille,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/window/reinforced/polarized{dir = 1},/obj/structure/window/reinforced/polarized{dir = 8},/obj/structure/window/reinforced/polarized,/turf/simulated/floor/plating,/area/crew_quarters/heads/hos) "ahA" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/maintenance/security_port) "ahB" = (/obj/machinery/space_heater,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/security_port) -"ahC" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/turf/simulated/floor,/area/security/brig) -"ahD" = (/obj/structure/table,/obj/item/stack/medical/ointment,/obj/item/weapon/folder/red,/obj/item/stack/medical/bruise_pack{pixel_x = 10; pixel_y = 2},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor,/area/security/brig) +"ahC" = (/obj/structure/table/standard,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/turf/simulated/floor,/area/security/brig) +"ahD" = (/obj/structure/table/standard,/obj/item/stack/medical/ointment,/obj/item/weapon/folder/red,/obj/item/stack/medical/bruise_pack{pixel_x = 10; pixel_y = 2},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor,/area/security/brig) "ahE" = (/obj/structure/window/reinforced/tinted{dir = 1},/obj/structure/window/reinforced/tinted{dir = 4; icon_state = "twindow"},/obj/structure/window/reinforced/tinted{dir = 8; icon_state = "twindow"},/obj/structure/grille,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/security/brig) "ahF" = (/turf/simulated/floor{icon_state = "dark"},/area/security/brig) "ahG" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/command{id_tag = "HoSdoor"; name = "Head of Security"; req_access = list(58)},/turf/simulated/floor{icon_state = "dark"},/area/crew_quarters/heads/hos) @@ -400,7 +400,7 @@ "ahJ" = (/obj/structure/grille,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/window/reinforced/polarized{dir = 1},/obj/structure/window/reinforced/polarized,/obj/structure/window/reinforced/polarized{dir = 4},/turf/simulated/floor/plating,/area/crew_quarters/heads/hos) "ahK" = (/turf/simulated/floor,/area/security/brig) "ahL" = (/turf/simulated/floor{icon_state = "floorgrime"},/area/security/brig) -"ahM" = (/obj/structure/table,/obj/item/device/flashlight/lamp,/turf/simulated/floor,/area/security/brig) +"ahM" = (/obj/structure/table/standard,/obj/item/device/flashlight/lamp,/turf/simulated/floor,/area/security/brig) "ahN" = (/obj/structure/closet/wardrobe/red,/obj/structure/window/reinforced,/obj/item/clothing/accessory/holster/waist,/obj/item/clothing/accessory/holster/waist,/obj/item/clothing/accessory/holster/waist,/obj/item/clothing/accessory/armband,/obj/item/clothing/accessory/armband,/obj/item/clothing/accessory/armband,/turf/simulated/floor,/area/security/main) "ahO" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/security/brig) "ahP" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/effect/decal/cleanable/blood/oil,/obj/item/trash/tastybread,/turf/simulated/floor/plating,/area/maintenance/security_starboard) @@ -419,18 +419,18 @@ "aic" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/security_starboard) "aid" = (/obj/structure/table/rack{dir = 1},/obj/item/clothing/suit/fire/firefighter,/obj/item/weapon/tank/oxygen,/obj/item/clothing/mask/gas,/obj/item/weapon/extinguisher,/obj/item/clothing/head/hardhat/red,/obj/item/clothing/glasses/meson,/turf/simulated/floor/plating,/area/maintenance/security_port) "aie" = (/obj/structure/closet,/obj/item/clothing/head/ushanka,/turf/simulated/floor/plating,/area/maintenance/security_port) -"aif" = (/obj/structure/table,/obj/item/device/t_scanner,/turf/simulated/floor/plating,/area/maintenance/security_port) +"aif" = (/obj/structure/table/standard,/obj/item/device/t_scanner,/turf/simulated/floor/plating,/area/maintenance/security_port) "aig" = (/obj/structure/grille,/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/window/reinforced/polarized{dir = 1},/obj/structure/window/reinforced/polarized{dir = 8},/obj/structure/window/reinforced/polarized{dir = 4},/turf/simulated/floor/plating,/area/crew_quarters/heads/hos) "aih" = (/turf/space,/area/skipjack_station/northeast_solars) "aii" = (/obj/structure/bed/chair,/turf/simulated/floor,/area/security/brig) "aij" = (/obj/structure/window/reinforced/tinted{dir = 4; icon_state = "twindow"},/obj/structure/window/reinforced/tinted{dir = 8; icon_state = "twindow"},/obj/structure/grille,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green,/turf/simulated/floor/plating,/area/security/brig) "aik" = (/obj/structure/bed/chair/office/dark{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/security/warden) -"ail" = (/obj/structure/table,/obj/item/device/flashlight/lamp,/obj/item/device/taperecorder,/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "dark"},/area/security/brig) +"ail" = (/obj/structure/table/standard,/obj/item/device/flashlight/lamp,/obj/item/device/taperecorder,/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "dark"},/area/security/brig) "aim" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/computer/security/telescreen{layer = 4; name = "Observation Screen"; network = list("Interrogation"); pixel_x = 32; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/brig) "ain" = (/obj/structure/filingcabinet/filingcabinet,/turf/simulated/floor{icon_state = "dark"},/area/security/brig) "aio" = (/obj/item/device/radio/intercom{broadcasting = 1; frequency = 1449; listening = 0; pixel_x = 0; pixel_y = 25},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/camera/network/security{c_tag = "Security - Interrogation"},/turf/simulated/floor{icon_state = "dark"},/area/security/brig) "aip" = (/obj/structure/bed/chair{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "dark"},/area/security/brig) -"aiq" = (/obj/structure/table,/turf/simulated/floor,/area/security/brig) +"aiq" = (/obj/structure/table/standard,/turf/simulated/floor,/area/security/brig) "air" = (/obj/machinery/computer/secure_data,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/security/warden) "ais" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/security/brig) "ait" = (/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/hologram/holopad,/turf/simulated/floor{icon_state = "dark"},/area/security/warden) @@ -452,13 +452,13 @@ "aiJ" = (/obj/structure/closet{name = "Evidence Closet"},/obj/machinery/light/small{dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/security/brig) "aiK" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "dark"},/area/security/brig) "aiL" = (/obj/item/device/eftpos{eftpos_name = "Brig EFTPOS scanner"},/obj/structure/table/reinforced,/obj/machinery/door/window/brigdoor{dir = 8; name = "Warden's Desk"; req_access = list(3)},/turf/simulated/floor{icon_state = "dark"},/area/security/warden) -"aiM" = (/obj/structure/table,/obj/item/device/radio/intercom{broadcasting = 1; freerange = 0; frequency = 1475; listening = 0; name = "Station Intercom (Security)"; pixel_x = -30; pixel_y = 0},/obj/item/weapon/hand_labeler,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor,/area/security/brig) -"aiN" = (/obj/structure/table,/obj/item/weapon/storage/box/evidence,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/security/brig) +"aiM" = (/obj/structure/table/standard,/obj/item/device/radio/intercom{broadcasting = 1; freerange = 0; frequency = 1475; listening = 0; name = "Station Intercom (Security)"; pixel_x = -30; pixel_y = 0},/obj/item/weapon/hand_labeler,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor,/area/security/brig) +"aiN" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/evidence,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/security/brig) "aiO" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/security/brig) "aiP" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/brig) "aiQ" = (/obj/machinery/computer/secure_data,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor,/area/security/brig) "aiR" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/computer/security{pixel_y = 0},/turf/simulated/floor{icon_state = "dark"},/area/security/warden) -"aiS" = (/obj/structure/table,/obj/item/weapon/book/manual/security_space_law{pixel_x = -3; pixel_y = 5},/turf/simulated/floor{icon_state = "dark"},/area/security/warden) +"aiS" = (/obj/structure/table/standard,/obj/item/weapon/book/manual/security_space_law{pixel_x = -3; pixel_y = 5},/turf/simulated/floor{icon_state = "dark"},/area/security/warden) "aiT" = (/obj/machinery/computer/prisoner,/turf/simulated/floor{icon_state = "dark"},/area/security/warden) "aiU" = (/obj/structure/table/rack,/obj/item/weapon/crowbar,/obj/item/device/radio/off,/obj/item/weapon/wrench,/turf/simulated/floor{icon_state = "dark"},/area/security/warden) "aiV" = (/obj/structure/closet/secure_closet/warden,/obj/item/device/megaphone,/obj/item/device/radio/intercom{broadcasting = 0; freerange = 0; frequency = 1475; listening = 1; name = "Station Intercom (Security)"; pixel_x = 30; pixel_y = 0},/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/security/warden) @@ -476,16 +476,16 @@ "ajh" = (/obj/structure/filingcabinet,/turf/simulated/floor{icon_state = "dark"},/area/crew_quarters/heads/hos) "aji" = (/obj/structure/closet/secure_closet/hos,/obj/item/device/radio/intercom{pixel_x = 27},/turf/simulated/floor{icon_state = "dark"},/area/crew_quarters/heads/hos) "ajj" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/camera/network/security{c_tag = "Security - Interrogation Observation"; dir = 4},/turf/simulated/floor,/area/security/brig) -"ajk" = (/obj/structure/table,/obj/item/weapon/folder/red,/obj/item/weapon/folder/red,/obj/machinery/camera/network/security{c_tag = "Security - Processing"; dir = 4},/turf/simulated/floor,/area/security/brig) +"ajk" = (/obj/structure/table/standard,/obj/item/weapon/folder/red,/obj/item/weapon/folder/red,/obj/machinery/camera/network/security{c_tag = "Security - Processing"; dir = 4},/turf/simulated/floor,/area/security/brig) "ajl" = (/obj/machinery/light/small{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/security_port) "ajm" = (/obj/structure/grille,/obj/structure/disposalpipe/segment,/obj/structure/cable/green,/obj/structure/window/reinforced/polarized{dir = 8},/obj/structure/window/reinforced/polarized,/obj/structure/window/reinforced/polarized{dir = 4},/turf/simulated/floor/plating,/area/crew_quarters/heads/hos) "ajn" = (/obj/structure/bed/chair/comfy/black{dir = 1},/obj/effect/landmark/start{name = "Head of Security"},/obj/machinery/button/remote/airlock{id = "HoSdoor"; name = "Office Door"; pixel_x = -36; pixel_y = 29},/obj/machinery/button/windowtint{pixel_x = -26; pixel_y = 30},/obj/machinery/button/remote/blast_door{id = "Secure Gate"; name = "Brig Lockdown"; pixel_x = -36; pixel_y = 39; req_access = list(2)},/turf/simulated/floor{icon_state = "dark"},/area/crew_quarters/heads/hos) -"ajo" = (/obj/structure/table,/obj/item/weapon/folder/red{pixel_x = 2; pixel_y = 4},/obj/item/weapon/pen,/obj/item/weapon/hand_labeler,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/camera/network/security{c_tag = "Security - Evidence Storage"; dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/security/brig) +"ajo" = (/obj/structure/table/standard,/obj/item/weapon/folder/red{pixel_x = 2; pixel_y = 4},/obj/item/weapon/pen,/obj/item/weapon/hand_labeler,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/camera/network/security{c_tag = "Security - Evidence Storage"; dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/security/brig) "ajp" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/security/brig) "ajq" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/security/brig) "ajr" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/hologram/holopad,/turf/simulated/floor,/area/security/brig) "ajs" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/security/brig) -"ajt" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/machinery/camera/network/security{c_tag = "Security - Equipment South"; dir = 4},/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/security/main) +"ajt" = (/obj/structure/table/standard,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/machinery/camera/network/security{c_tag = "Security - Equipment South"; dir = 4},/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/security/main) "aju" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/security/brig) "ajv" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/security/brig) "ajw" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/security/brig) @@ -548,7 +548,7 @@ "akB" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/security/brig) "akC" = (/obj/machinery/light,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/security/brig) "akD" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor,/area/security/brig) -"akE" = (/obj/structure/table,/obj/machinery/recharger/wallcharger{pixel_x = 4; pixel_y = -28},/obj/item/clothing/accessory/holobadge,/obj/item/clothing/accessory/holobadge,/obj/item/clothing/accessory/holobadge/cord,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor{dir = 2; icon_state = "redcorner"},/area/security/main) +"akE" = (/obj/structure/table/standard,/obj/machinery/recharger/wallcharger{pixel_x = 4; pixel_y = -28},/obj/item/clothing/accessory/holobadge,/obj/item/clothing/accessory/holobadge,/obj/item/clothing/accessory/holobadge/cord,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor{dir = 2; icon_state = "redcorner"},/area/security/main) "akF" = (/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/door/airlock/glass_security{name = "Security Processing"; req_access = list(1)},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/security/brig) "akG" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/security/brig) "akH" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor,/area/security/brig) @@ -622,7 +622,7 @@ "alX" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0},/turf/simulated/floor,/area/security/prison) "alY" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/prison) "alZ" = (/obj/machinery/meter,/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"; tag = "icon-intact-f (SOUTHWEST)"},/turf/simulated/floor/plating,/area/security/brig) -"ama" = (/obj/structure/table,/obj/item/device/t_scanner,/turf/simulated/floor/plating{dir = 1; icon_state = "warnplatecorner"},/area/maintenance/security_starboard) +"ama" = (/obj/structure/table/standard,/obj/item/device/t_scanner,/turf/simulated/floor/plating{dir = 1; icon_state = "warnplatecorner"},/area/maintenance/security_starboard) "amb" = (/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,/area/security/brig) "amc" = (/obj/structure/disposalpipe/segment,/obj/item/weapon/stool,/turf/simulated/floor/carpet,/area/security/detectives_office) "amd" = (/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/door/window/southright{base_state = "left"; dir = 4; icon_state = "left"},/obj/structure/table/reinforced,/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor,/area/security/lobby) @@ -727,7 +727,7 @@ "anY" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/maintenance/evahallway) "anZ" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/evahallway) "aoa" = (/obj/structure/closet/crate,/obj/item/weapon/tank/emergency_oxygen/engi,/obj/item/weapon/tank/emergency_oxygen/double,/obj/effect/decal/cleanable/cobweb2,/obj/effect/landmark{name = "blobstart"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating,/area/maintenance/evahallway) -"aob" = (/obj/structure/table,/obj/item/weapon/pen,/obj/item/weapon/paper,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/security/brig) +"aob" = (/obj/structure/table/standard,/obj/item/weapon/pen,/obj/item/weapon/paper,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/security/brig) "aoc" = (/obj/structure/cable/green,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Substation - Security"},/turf/simulated/floor/plating,/area/maintenance/substation/security) "aod" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/brig) "aoe" = (/obj/machinery/computer/security/wooden_tv,/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office) @@ -738,7 +738,7 @@ "aoj" = (/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/wall,/area/security/brig) "aok" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/security/prison) "aol" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor,/area/security/prison) -"aom" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/structure/table,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/window/southleft,/turf/simulated/floor,/area/security/prison) +"aom" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/structure/table/standard,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/window/southleft,/turf/simulated/floor,/area/security/prison) "aon" = (/turf/simulated/floor,/area/security/prison) "aoo" = (/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,/area/security/prison) "aop" = (/obj/item/device/radio/intercom{desc = "Talk... listen through this."; name = "Station Intercom (Brig Radio)"; pixel_x = 0; pixel_y = 26; wires = 7},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) @@ -811,7 +811,7 @@ "apE" = (/obj/machinery/light{dir = 8},/obj/structure/bed/chair{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/security/lobby) "apF" = (/turf/simulated/floor/wood,/area/maintenance/dormitory) "apG" = (/obj/structure/bed/chair/wood/wings,/turf/simulated/floor/wood,/area/maintenance/dormitory) -"apH" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/table,/obj/item/weapon/book/manual/security_space_law{pixel_y = 6},/obj/machinery/camera/network/security{c_tag = "Security - Lobby"; dir = 4},/turf/simulated/floor,/area/security/lobby) +"apH" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/table/standard,/obj/item/weapon/book/manual/security_space_law{pixel_y = 6},/obj/machinery/camera/network/security{c_tag = "Security - Lobby"; dir = 4},/turf/simulated/floor,/area/security/lobby) "apI" = (/obj/machinery/power/solar{id = "auxsolareast"; name = "Port Auxiliary Solar Array"},/obj/structure/cable/yellow,/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/auxstarboard) "apJ" = (/obj/machinery/power/solar{id = "auxsolareast"; name = "Port Auxiliary Solar Array"},/obj/structure/cable/yellow,/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/auxport) "apK" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/evahallway) @@ -851,7 +851,7 @@ "aqs" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/maintenance/dormitory) "aqt" = (/obj/structure/table/gamblingtable,/turf/simulated/floor/wood,/area/maintenance/dormitory) "aqu" = (/obj/structure/table/gamblingtable,/obj/item/weapon/deck{pixel_y = 4},/turf/simulated/floor/wood,/area/maintenance/dormitory) -"aqv" = (/obj/structure/table,/obj/item/weapon/dice,/turf/simulated/floor/wood,/area/maintenance/dormitory) +"aqv" = (/obj/structure/table/standard,/obj/item/weapon/dice,/turf/simulated/floor/wood,/area/maintenance/dormitory) "aqw" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1379; id_tag = "dorm_pump"},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 9},/area/maintenance/dormitory) "aqx" = (/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (SOUTHWEST)"; icon_state = "intact"; dir = 10},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/dormitory) "aqy" = (/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "dorm_sensor"; pixel_x = 25; pixel_y = -8},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 5},/area/maintenance/dormitory) @@ -859,15 +859,15 @@ "aqA" = (/obj/effect/decal/cleanable/dirt,/obj/structure/closet/crate,/obj/item/weapon/reagent_containers/food/drinks/bottle/wine,/turf/simulated/floor/plating,/area/maintenance/evahallway) "aqB" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/evahallway) "aqC" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/maintenance{name = "Dormitory\\Security Maintenance"; req_access = list(12)},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating{dir = 8; icon_state = "warnplatecorner"},/area/maintenance/dormitory) -"aqD" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0},/obj/machinery/librarycomp{pixel_y = 0},/obj/structure/table,/turf/simulated/floor,/area/security/prison) +"aqD" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0},/obj/machinery/librarycomp{pixel_y = 0},/obj/structure/table/standard,/turf/simulated/floor,/area/security/prison) "aqE" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor,/area/security/prison) -"aqF" = (/obj/structure/table,/obj/item/device/taperecorder{pixel_x = -4; pixel_y = 2},/turf/simulated/floor,/area/security/prison) -"aqG" = (/obj/structure/table,/obj/item/weapon/dice,/turf/simulated/floor,/area/security/prison) -"aqH" = (/obj/structure/table,/obj/item/ashtray/plastic,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) +"aqF" = (/obj/structure/table/standard,/obj/item/device/taperecorder{pixel_x = -4; pixel_y = 2},/turf/simulated/floor,/area/security/prison) +"aqG" = (/obj/structure/table/standard,/obj/item/weapon/dice,/turf/simulated/floor,/area/security/prison) +"aqH" = (/obj/structure/table/standard,/obj/item/ashtray/plastic,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) "aqI" = (/obj/structure/reagent_dispensers/water_cooler,/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor,/area/security/prison) "aqJ" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "dorm_airlock"; name = "exterior access button"; pixel_x = -25; pixel_y = -25; req_access = list(13)},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating/airless,/area/maintenance/dormitory) "aqK" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/security/prison) -"aqL" = (/obj/structure/table,/obj/item/weapon/storage/box/cups,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/security/prison) +"aqL" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/cups,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/security/prison) "aqM" = (/obj/machinery/power/tracker,/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating/airless,/area/solar/fore) "aqN" = (/obj/structure/bed/chair{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/security/lobby) "aqO" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/security/lobby) @@ -883,12 +883,12 @@ "aqY" = (/obj/structure/disposalpipe/segment,/obj/item/device/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_y = -30},/turf/simulated/floor{icon_state = "white"},/area/security/detectives_office) "aqZ" = (/obj/structure/closet{name = "Evidence Closet"},/obj/item/weapon/storage/box/bodybags,/obj/item/weapon/storage/box/evidence,/turf/simulated/floor{icon_state = "white"},/area/security/detectives_office) "ara" = (/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "lawyer_blast"; name = "Privacy Shutters"; opacity = 0},/obj/structure/table/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/door/window/eastright{base_state = "left"; dir = 4; icon_state = "left"; name = "Internal Affairs Desk"; req_access = list(38)},/turf/simulated/floor,/area/lawoffice) -"arb" = (/obj/structure/table,/obj/machinery/newscaster{pixel_y = -32},/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/item/weapon/hand_labeler,/turf/simulated/floor{icon_state = "white"},/area/security/detectives_office) -"arc" = (/obj/structure/table,/obj/item/weapon/folder/red,/obj/item/weapon/folder/red,/obj/item/weapon/folder/blue,/obj/item/weapon/pen/blue{pixel_x = 4; pixel_y = 4},/obj/item/weapon/pen/red,/turf/simulated/floor{icon_state = "white"},/area/security/detectives_office) +"arb" = (/obj/structure/table/standard,/obj/machinery/newscaster{pixel_y = -32},/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/item/weapon/hand_labeler,/turf/simulated/floor{icon_state = "white"},/area/security/detectives_office) +"arc" = (/obj/structure/table/standard,/obj/item/weapon/folder/red,/obj/item/weapon/folder/red,/obj/item/weapon/folder/blue,/obj/item/weapon/pen/blue{pixel_x = 4; pixel_y = 4},/obj/item/weapon/pen/red,/turf/simulated/floor{icon_state = "white"},/area/security/detectives_office) "ard" = (/obj/machinery/computer/security,/turf/simulated/floor{icon_state = "white"},/area/security/detectives_office) "are" = (/obj/structure/disposalpipe/segment,/obj/machinery/light/small{dir = 8},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/structure/cable{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/plating,/area/maintenance/dormitory) "arf" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/maintenance/dormitory) -"arg" = (/obj/structure/table,/obj/item/weapon/dice/d20,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/wood,/area/maintenance/dormitory) +"arg" = (/obj/structure/table/standard,/obj/item/weapon/dice/d20,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/wood,/area/maintenance/dormitory) "arh" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1379; id_tag = "dorm_pump"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 10},/area/maintenance/dormitory) "ari" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/dormitory) "arj" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "dorm_outer"; locked = 1; name = "Dormitory External Access"; req_access = list(13)},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/dormitory) @@ -899,18 +899,18 @@ "aro" = (/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/door/airlock/maintenance{name = "Detective Maintenance"; req_access = list(4)},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/security/detectives_office) "arp" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/security/prison) "arq" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor,/area/security/prison) -"arr" = (/obj/structure/table,/obj/item/weapon/book/manual/security_space_law,/turf/simulated/floor,/area/security/prison) -"ars" = (/obj/structure/table,/obj/item/weapon/deck,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) -"art" = (/obj/structure/table,/obj/item/weapon/newspaper,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/security/prison) +"arr" = (/obj/structure/table/standard,/obj/item/weapon/book/manual/security_space_law,/turf/simulated/floor,/area/security/prison) +"ars" = (/obj/structure/table/standard,/obj/item/weapon/deck,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) +"art" = (/obj/structure/table/standard,/obj/item/weapon/newspaper,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/security/prison) "aru" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor,/area/security/prison) "arv" = (/obj/item/device/radio/intercom{freerange = 1; frequency = 1459; name = "Station Intercom (General)"; pixel_x = -30},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/camera/network/security{c_tag = "Security - Brig West"; dir = 4},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/brig) -"arw" = (/obj/structure/table,/obj/machinery/vending/wallmed1{pixel_y = -32},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/security/prison) +"arw" = (/obj/structure/table/standard,/obj/machinery/vending/wallmed1{pixel_y = -32},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/security/prison) "arx" = (/turf/simulated/wall/r_wall,/area/security/lobby) "ary" = (/obj/machinery/button/remote/airlock{id = "visitdoor"; name = "Visitation Access"; pixel_y = -28},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/security/lobby) "arz" = (/obj/machinery/computer/secure_data,/turf/simulated/floor{icon_state = "white"},/area/security/detectives_office) "arA" = (/turf/simulated/wall/r_wall,/area/hallway/primary/fore) "arB" = (/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating/airless,/area/solar/fore) -"arC" = (/obj/machinery/light,/obj/structure/table,/obj/item/device/mass_spectrometer,/obj/item/device/reagent_scanner,/obj/machinery/camera/network/security{c_tag = "Security - Forensic Office Aft"; dir = 1},/turf/simulated/floor{icon_state = "white"},/area/security/detectives_office) +"arC" = (/obj/machinery/light,/obj/structure/table/standard,/obj/item/device/mass_spectrometer,/obj/item/device/reagent_scanner,/obj/machinery/camera/network/security{c_tag = "Security - Forensic Office Aft"; dir = 1},/turf/simulated/floor{icon_state = "white"},/area/security/detectives_office) "arD" = (/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/plating/airless,/area/solar/fore) "arE" = (/turf/simulated/wall,/area/hallway/primary/fore) "arF" = (/obj/machinery/embedded_controller/radio/airlock/airlock_controller{frequency = 1379; id_tag = "dorm_airlock"; name = "Dormitory Airlock Console"; pixel_x = 25; pixel_y = 0; req_one_access = list(1,5,11,18,24); tag_airpump = "dorm_pump"; tag_chamber_sensor = "dorm_sensor"; tag_exterior_door = "dorm_outer"; tag_interior_door = "dorm_inner"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 6},/area/maintenance/dormitory) @@ -963,7 +963,7 @@ "asA" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/arrivals) "asB" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Prison Gate"; name = "Security Blast Door"; opacity = 0},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/door/airlock/glass_security{name = "Security Lobby"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/hallway/primary/fore) "asC" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/evahallway) -"asD" = (/obj/structure/table,/obj/item/device/radio/intercom{broadcasting = 1; freerange = 0; frequency = 1475; listening = 0; name = "Station Intercom (Security)"; pixel_x = 0; pixel_y = -30},/obj/item/device/radio/headset,/obj/item/device/radio/headset,/obj/item/device/radio/headset,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor{icon_state = "red"; dir = 10},/area/security/brig) +"asD" = (/obj/structure/table/standard,/obj/item/device/radio/intercom{broadcasting = 1; freerange = 0; frequency = 1475; listening = 0; name = "Station Intercom (Security)"; pixel_x = 0; pixel_y = -30},/obj/item/device/radio/headset,/obj/item/device/radio/headset,/obj/item/device/radio/headset,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor{icon_state = "red"; dir = 10},/area/security/brig) "asE" = (/obj/item/device/radio/intercom{pixel_x = 30},/obj/machinery/door_timer/cell_1{pixel_x = 32; pixel_y = -32},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor{icon_state = "red"; dir = 6},/area/security/brig) "asF" = (/obj/effect/decal/cleanable/dirt,/obj/structure/bed/chair{dir = 1},/turf/simulated/floor,/area/security/prison) "asG" = (/obj/machinery/portable_atmospherics/powered/scrubber/huge,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/security/brig) @@ -1143,12 +1143,12 @@ "avY" = (/obj/machinery/shower{dir = 4; icon_state = "shower"; pixel_x = 5; pixel_y = 0},/obj/structure/curtain/open/shower/security,/turf/simulated/floor{icon_state = "freezerfloor"},/area/security/prison) "avZ" = (/obj/machinery/light/small,/obj/structure/mopbucket,/obj/item/weapon/mop,/turf/simulated/floor{icon_state = "freezerfloor"},/area/security/prison) "awa" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/structure/mirror{pixel_x = 30},/obj/item/weapon/soap/nanotrasen,/turf/simulated/floor{icon_state = "freezerfloor"},/area/security/prison) -"awb" = (/obj/structure/table,/obj/machinery/light{dir = 8},/obj/machinery/microwave,/turf/simulated/floor,/area/security/prison) -"awc" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets,/obj/item/weapon/storage/box/donkpockets{pixel_x = -3; pixel_y = -3},/turf/simulated/floor,/area/security/prison) -"awd" = (/obj/structure/table,/obj/item/weapon/minihoe,/obj/item/device/analyzer/plant_analyzer,/obj/item/clothing/head/greenbandana,/turf/simulated/floor,/area/security/prison) +"awb" = (/obj/structure/table/standard,/obj/machinery/light{dir = 8},/obj/machinery/microwave,/turf/simulated/floor,/area/security/prison) +"awc" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/donkpockets,/obj/item/weapon/storage/box/donkpockets{pixel_x = -3; pixel_y = -3},/turf/simulated/floor,/area/security/prison) +"awd" = (/obj/structure/table/standard,/obj/item/weapon/minihoe,/obj/item/device/analyzer/plant_analyzer,/obj/item/clothing/head/greenbandana,/turf/simulated/floor,/area/security/prison) "awe" = (/obj/machinery/vending/hydronutrients,/turf/simulated/floor,/area/security/prison) "awf" = (/obj/item/weapon/stool,/turf/simulated/floor{icon_state = "blue"; dir = 4},/area/crew_quarters/fitness) -"awg" = (/obj/structure/table,/obj/structure/bedsheetbin,/turf/simulated/floor,/area/security/prison) +"awg" = (/obj/structure/table/standard,/obj/structure/bedsheetbin,/turf/simulated/floor,/area/security/prison) "awh" = (/obj/structure/closet{name = "Prisoner's Locker"},/obj/item/clothing/head/soft/orange,/obj/item/clothing/shoes/sandal,/turf/simulated/floor,/area/security/prison) "awi" = (/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/shuttle/floor,/area/shuttle/arrival/station) "awj" = (/turf/simulated/floor/wood,/area/crew_quarters/sleep/bedrooms) @@ -1216,7 +1216,7 @@ "axt" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor,/area/crew_quarters/fitness) "axu" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "arrivals_inner"; locked = 1; name = "Engineering External Access"; req_access = list(13)},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/arrivals) "axv" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/crew_quarters/fitness) -"axw" = (/obj/structure/table,/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/obj/machinery/camera/network/prison{c_tag = "Security - Common Brig Southwest"; dir = 4},/turf/simulated/floor,/area/security/prison) +"axw" = (/obj/structure/table/standard,/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/obj/machinery/camera/network/prison{c_tag = "Security - Common Brig Southwest"; dir = 4},/turf/simulated/floor,/area/security/prison) "axx" = (/obj/structure/sign/pods,/turf/simulated/wall,/area/hallway/secondary/entry/fore) "axy" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_1_hatch"; locked = 1; name = "Escape Pod Hatch"; req_access = list(13)},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod1/station) "axz" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/power/apc/high{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor{dir = 4; icon_state = "arrival"},/area/hallway/secondary/entry/port) @@ -1308,7 +1308,7 @@ "azh" = (/obj/machinery/light_switch{pixel_y = -25},/obj/structure/undies_wardrobe,/turf/simulated/floor{icon_state = "neutral"},/area/crew_quarters/sleep) "azi" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor,/area/crew_quarters/fitness) "azj" = (/obj/structure/grille,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/plating,/area/crew_quarters/fitness) -"azk" = (/obj/structure/table,/obj/item/weapon/paper{desc = ""; info = "Brusies sustained in the holodeck can be healed simply by sleeping."; name = "Holodeck Disclaimer"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/light/small{dir = 1},/turf/simulated/floor,/area/crew_quarters/fitness) +"azk" = (/obj/structure/table/standard,/obj/item/weapon/paper{desc = ""; info = "Brusies sustained in the holodeck can be healed simply by sleeping."; name = "Holodeck Disclaimer"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/light/small{dir = 1},/turf/simulated/floor,/area/crew_quarters/fitness) "azl" = (/obj/item/weapon/stool{pixel_y = 8},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard) "azm" = (/obj/item/weapon/stool{pixel_y = 8},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/plating,/area/maintenance/auxsolarport) "azn" = (/obj/structure/bed,/obj/item/weapon/bedsheet/mime,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/wood,/area/crew_quarters/sleep/bedrooms) @@ -1560,12 +1560,12 @@ "aDZ" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = 0},/turf/simulated/wall/r_wall,/area/maintenance/auxsolarport) "aEa" = (/obj/machinery/vending/assist,/turf/simulated/floor,/area/storage/primary) "aEb" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/storage/primary) -"aEc" = (/obj/structure/table,/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor,/area/storage/primary) -"aEd" = (/obj/structure/table,/obj/machinery/alarm{pixel_y = 23},/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor,/area/storage/primary) +"aEc" = (/obj/structure/table/standard,/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor,/area/storage/primary) +"aEd" = (/obj/structure/table/standard,/obj/machinery/alarm{pixel_y = 23},/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor,/area/storage/primary) "aEe" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/camera/network/engineering{c_tag = "Solar Maintenance Fore Port"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/auxsolarport) -"aEf" = (/obj/structure/table,/obj/item/device/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_y = 20},/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor,/area/storage/primary) -"aEg" = (/obj/structure/table,/obj/machinery/light_switch{pixel_y = 28},/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor,/area/storage/primary) -"aEh" = (/obj/structure/table,/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 32},/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor,/area/storage/primary) +"aEf" = (/obj/structure/table/standard,/obj/item/device/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_y = 20},/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor,/area/storage/primary) +"aEg" = (/obj/structure/table/standard,/obj/machinery/light_switch{pixel_y = 28},/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor,/area/storage/primary) +"aEh" = (/obj/structure/table/standard,/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 32},/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor,/area/storage/primary) "aEi" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor,/area/storage/primary) "aEj" = (/obj/machinery/vending/tool,/turf/simulated/floor,/area/storage/primary) "aEk" = (/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor{icon_state = "vault"; dir = 1},/area/security/nuke_storage) @@ -1644,7 +1644,7 @@ "aFF" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/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{dir = 4; icon_state = "whitecorner"},/area/hallway/secondary/entry/port) "aFG" = (/obj/machinery/door/airlock/engineering{icon_state = "door_closed"; locked = 0; name = "Fore Port Solar Access"; req_access = list(10)},/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/auxsolarport) "aFH" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/substation/civilian_west) -"aFI" = (/obj/structure/table,/obj/machinery/requests_console{department = "Tool Storage"; departmentType = 0; pixel_y = 30},/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/machinery/camera/network/civilian_west{c_tag = "Tool Storage - Primary"},/turf/simulated/floor,/area/storage/primary) +"aFI" = (/obj/structure/table/standard,/obj/machinery/requests_console{department = "Tool Storage"; departmentType = 0; pixel_y = 30},/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/machinery/camera/network/civilian_west{c_tag = "Tool Storage - Primary"},/turf/simulated/floor,/area/storage/primary) "aFJ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/storage/primary) "aFK" = (/obj/effect/landmark/start{name = "Assistant"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/turf/simulated/floor,/area/storage/primary) "aFL" = (/obj/effect/landmark/start{name = "Assistant"},/turf/simulated/floor,/area/storage/primary) @@ -1716,8 +1716,8 @@ "aGZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{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"},/turf/simulated/floor{icon_state = "bot"},/area/hallway/secondary/entry/starboard) "aHa" = (/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 20},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "bot"},/area/hallway/secondary/entry/starboard) "aHb" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "bot"},/area/hallway/secondary/entry/starboard) -"aHc" = (/obj/structure/table,/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor,/area/storage/primary) -"aHd" = (/obj/structure/table,/obj/machinery/light{dir = 4},/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor,/area/storage/primary) +"aHc" = (/obj/structure/table/standard,/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor,/area/storage/primary) +"aHd" = (/obj/structure/table/standard,/obj/machinery/light{dir = 4},/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor,/area/storage/primary) "aHe" = (/turf/simulated/floor{icon_state = "vault"; dir = 1},/area/security/nuke_storage) "aHf" = (/mob/living/simple_animal/mouse/brown/Tom,/turf/simulated/floor{icon_state = "vault"; dir = 6},/area/security/nuke_storage) "aHg" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "vault"},/area/security/nuke_storage) @@ -1802,7 +1802,7 @@ "aIH" = (/obj/structure/extinguisher_cabinet{pixel_x = -5; pixel_y = 30},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/hallway/secondary/entry/starboard) "aII" = (/obj/machinery/door/airlock/maintenance{req_access = list(12)},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/substation/civilian_east) "aIJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/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 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor,/area/hallway/secondary/entry/starboard) -"aIK" = (/obj/structure/table,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor,/area/storage/primary) +"aIK" = (/obj/structure/table/standard,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor,/area/storage/primary) "aIL" = (/obj/effect/landmark/start{name = "Assistant"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor,/area/storage/primary) "aIM" = (/obj/effect/landmark/start{name = "Assistant"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor,/area/storage/primary) "aIN" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/maintenance/library) @@ -1810,7 +1810,7 @@ "aIP" = (/obj/effect/landmark/start{name = "Assistant"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor,/area/storage/primary) "aIQ" = (/obj/structure/sign/securearea,/turf/simulated/wall/r_wall,/area/security/nuke_storage) "aIR" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/meter,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/library) -"aIS" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/table,/obj/item/weapon/deck,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor,/area/gateway) +"aIS" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/table/standard,/obj/item/weapon/deck,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor,/area/gateway) "aIT" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/gateway) "aIU" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/gateway) "aIV" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor,/area/gateway) @@ -1885,7 +1885,7 @@ "aKm" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/storage/primary) "aKn" = (/turf/simulated/floor,/area/storage/primary) "aKo" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor,/area/storage/primary) -"aKp" = (/obj/structure/table,/obj/machinery/recharger{pixel_y = 0},/turf/simulated/floor,/area/storage/primary) +"aKp" = (/obj/structure/table/standard,/obj/machinery/recharger{pixel_y = 0},/turf/simulated/floor,/area/storage/primary) "aKq" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor,/area/storage/primary) "aKr" = (/turf/simulated/floor{icon_state = "delivery"},/area/storage/primary) "aKs" = (/obj/machinery/navbeacon{codes_txt = "delivery;dir=8"; freq = 1400; location = "Tool Storage"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "bot"},/area/storage/primary) @@ -1893,7 +1893,7 @@ "aKu" = (/turf/simulated/wall/r_wall,/area/hallway/primary/port) "aKv" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/hallway/primary/port) "aKw" = (/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{icon_state = "vault"; dir = 5},/area/security/nuke_storage) -"aKx" = (/obj/structure/table,/obj/item/weapon/storage/fancy/cigarettes{pixel_y = 2},/turf/simulated/floor,/area/gateway) +"aKx" = (/obj/structure/table/standard,/obj/item/weapon/storage/fancy/cigarettes{pixel_y = 2},/turf/simulated/floor,/area/gateway) "aKy" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor,/area/gateway) "aKz" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor,/area/gateway) "aKA" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor,/area/gateway) @@ -1944,7 +1944,7 @@ "aLt" = (/obj/structure/table/woodentable,/obj/item/weapon/nullrod,/obj/item/device/eftpos{eftpos_name = "Chapel EFTPOS scanner"},/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office) "aLu" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor,/area/hallway/secondary/exit) "aLv" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/bed/chair/comfy/brown{dir = 4},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/carpet,/area/crew_quarters/bar) -"aLw" = (/obj/structure/table,/turf/simulated/floor{dir = 4; icon_state = "chapel"},/area/chapel/main) +"aLw" = (/obj/structure/table/standard,/turf/simulated/floor{dir = 4; icon_state = "chapel"},/area/chapel/main) "aLx" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/chapel/main) "aLy" = (/turf/simulated/shuttle/wall{icon_state = "swall_s5"; dir = 2},/area/shuttle/arrival/station) "aLz" = (/turf/simulated/shuttle/wall{icon_state = "swall13"; dir = 2},/area/shuttle/arrival/station) @@ -2030,7 +2030,7 @@ "aNb" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office) "aNc" = (/obj/structure/closet/coffin,/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "chapel"; name = "Privacy Shutters"; opacity = 0},/obj/machinery/door/window/eastleft{dir = 8; name = "Coffin Storage"; req_access = list(22)},/turf/simulated/floor{icon_state = "dark"},/area/chapel/office) "aNd" = (/obj/structure/bed/chair/comfy/brown{dir = 8},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/carpet,/area/crew_quarters/bar) -"aNe" = (/obj/structure/table,/obj/machinery/light/small,/turf/simulated/floor{icon_state = "chapel"},/area/chapel/main) +"aNe" = (/obj/structure/table/standard,/obj/machinery/light/small,/turf/simulated/floor{icon_state = "chapel"},/area/chapel/main) "aNf" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/chapel/main) "aNg" = (/turf/simulated/shuttle/wall{icon_state = "swall_s9"; dir = 2},/area/shuttle/arrival/station) "aNh" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/hallway/secondary/entry/port) @@ -2193,7 +2193,7 @@ "aQi" = (/obj/machinery/gibber,/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) "aQj" = (/obj/structure/closet/crate/freezer,/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) "aQk" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) -"aQl" = (/obj/structure/table,/obj/item/weapon/reagent_containers/glass/bucket,/turf/simulated/floor{icon_state = "green"; dir = 8},/area/hydroponics) +"aQl" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/glass/bucket,/turf/simulated/floor{icon_state = "green"; dir = 8},/area/hydroponics) "aQm" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics) "aQn" = (/turf/simulated/floor,/area/hydroponics) "aQo" = (/obj/structure/disposalpipe/segment,/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "green"; dir = 4},/area/hydroponics) @@ -2258,7 +2258,7 @@ "aRv" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/carpet,/area/crew_quarters/bar) "aRw" = (/obj/machinery/vending/cigarette{pixel_x = 0; pixel_y = 0},/obj/structure/window/reinforced,/turf/simulated/floor/carpet,/area/crew_quarters/bar) "aRx" = (/obj/machinery/door/window{dir = 4; name = "Bar"; req_access = list(25)},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar) -"aRy" = (/obj/structure/table,/obj/item/weapon/hatchet,/obj/item/weapon/minihoe,/turf/simulated/floor{icon_state = "green"; dir = 8},/area/hydroponics) +"aRy" = (/obj/structure/table/standard,/obj/item/weapon/hatchet,/obj/item/weapon/minihoe,/turf/simulated/floor{icon_state = "green"; dir = 8},/area/hydroponics) "aRz" = (/obj/machinery/biogenerator,/turf/simulated/floor,/area/hydroponics) "aRA" = (/obj/machinery/seed_extractor,/turf/simulated/floor,/area/hydroponics) "aRB" = (/obj/machinery/vending/hydronutrients,/turf/simulated/floor,/area/hydroponics) @@ -2307,7 +2307,7 @@ "aSs" = (/obj/machinery/door/airlock/glass{name = "Art Storage"},/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,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/hallway/primary/port) "aSt" = (/obj/machinery/door/morgue{dir = 2; name = "Confession Booth (Chaplain)"; req_access = list(22)},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main) "aSu" = (/obj/item/device/radio/beacon,/obj/machinery/camera/network/exodus{c_tag = "Arrivals South"},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/hallway/secondary/entry/port) -"aSv" = (/obj/structure/table,/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor,/area/hallway/primary/port) +"aSv" = (/obj/structure/table/standard,/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor,/area/hallway/primary/port) "aSw" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/obj/structure/closet/emcloset,/turf/simulated/floor,/area/hallway/primary/port) "aSx" = (/obj/structure/closet/emcloset,/turf/simulated/floor,/area/hallway/primary/port) "aSy" = (/obj/structure/extinguisher_cabinet{pixel_x = -24},/obj/machinery/camera/network/exodus{c_tag = "Arrivals Southeast"; dir = 4},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/hallway/secondary/entry/port) @@ -2395,11 +2395,11 @@ "aUc" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor,/area/crew_quarters/locker) "aUd" = (/obj/structure/closet/secure_closet/personal,/turf/simulated/floor,/area/crew_quarters/locker) "aUe" = (/turf/simulated/wall,/area/storage/art) -"aUf" = (/obj/structure/table,/obj/item/stack/cable_coil/random,/obj/item/stack/cable_coil/random,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor,/area/storage/art) +"aUf" = (/obj/structure/table/standard,/obj/item/stack/cable_coil/random,/obj/item/stack/cable_coil/random,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor,/area/storage/art) "aUg" = (/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{dir = 9; pixel_y = 0},/turf/simulated/floor,/area/storage/art) "aUh" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor,/area/storage/art) "aUi" = (/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/plating,/area/maintenance/locker) -"aUj" = (/obj/structure/table,/obj/machinery/camera/network/exodus{c_tag = "Primary Hallway Port - East"; dir = 1},/turf/simulated/floor,/area/hallway/primary/port) +"aUj" = (/obj/structure/table/standard,/obj/machinery/camera/network/exodus{c_tag = "Primary Hallway Port - East"; dir = 1},/turf/simulated/floor,/area/hallway/primary/port) "aUk" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/port) "aUl" = (/obj/structure/sign/directions/security{dir = 4; icon_state = "direction_sec"; pixel_y = 4; tag = "icon-direction_sec (EAST)"},/obj/structure/sign/directions/medical{dir = 4; icon_state = "direction_med"; pixel_y = -4; tag = "icon-direction_med (EAST)"},/turf/simulated/wall,/area/hallway/primary/port) "aUm" = (/turf/simulated/wall,/area/storage/tools) @@ -2433,8 +2433,8 @@ "aUO" = (/obj/structure/flora/pottedplant{tag = "icon-plant-22"; icon_state = "plant-22"},/obj/machinery/camera/network/civilian_east{c_tag = "Bar East"},/turf/simulated/floor/wood,/area/crew_quarters/bar) "aUP" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) "aUQ" = (/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) -"aUR" = (/obj/structure/table,/obj/machinery/microwave{pixel_x = -3; pixel_y = 6},/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen) -"aUS" = (/obj/structure/table,/obj/machinery/microwave{pixel_x = -3; pixel_y = 6},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen) +"aUR" = (/obj/structure/table/standard,/obj/machinery/microwave{pixel_x = -3; pixel_y = 6},/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen) +"aUS" = (/obj/structure/table/standard,/obj/machinery/microwave{pixel_x = -3; pixel_y = 6},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen) "aUT" = (/obj/structure/closet/secure_closet/freezer/kitchen,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) "aUU" = (/obj/machinery/light_switch{pixel_y = 28},/turf/simulated/floor{icon_state = "grimy"},/area/hydroponics/garden) "aUV" = (/obj/structure/table/reinforced,/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor{icon_state = "grimy"},/area/hydroponics/garden) @@ -2483,7 +2483,7 @@ "aVM" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor,/area/storage/tools) "aVN" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor,/area/storage/tools) "aVO" = (/obj/machinery/light_switch{pixel_y = 28},/turf/simulated/floor,/area/storage/tools) -"aVP" = (/obj/structure/table,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor,/area/storage/tools) +"aVP" = (/obj/structure/table/standard,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor,/area/storage/tools) "aVQ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/hallway/primary/central_one) "aVR" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor{icon_state = "red"; dir = 9},/area/bridge) "aVS" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/structure/bed/chair/wood/wings{icon_state = "wooden_chair_wings"; dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/wood,/area/crew_quarters/bar) @@ -2554,21 +2554,21 @@ "aXf" = (/obj/effect/decal/cleanable/generic,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/plating,/area/maintenance/locker) "aXg" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/structure/closet/wardrobe/white,/turf/simulated/floor,/area/crew_quarters/locker) "aXh" = (/obj/item/weapon/stool,/turf/simulated/floor{icon_state = "chapel"},/area/chapel/main) -"aXi" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/turf/simulated/floor,/area/crew_quarters/locker) -"aXj" = (/obj/structure/table,/turf/simulated/floor,/area/crew_quarters/locker) -"aXk" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/structure/disposalpipe/segment,/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,/area/crew_quarters/locker) +"aXi" = (/obj/structure/table/standard,/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/turf/simulated/floor,/area/crew_quarters/locker) +"aXj" = (/obj/structure/table/standard,/turf/simulated/floor,/area/crew_quarters/locker) +"aXk" = (/obj/structure/table/standard,/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/structure/disposalpipe/segment,/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,/area/crew_quarters/locker) "aXl" = (/obj/machinery/door/morgue{dir = 2; name = "Private Study"; req_access = list(37)},/turf/simulated/floor{icon_state = "cult"; dir = 2},/area/library) -"aXm" = (/obj/structure/table,/obj/item/weapon/hand_labeler,/turf/simulated/floor,/area/storage/art) +"aXm" = (/obj/structure/table/standard,/obj/item/weapon/hand_labeler,/turf/simulated/floor,/area/storage/art) "aXn" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/machinery/camera/network/civilian_east{c_tag = "Chapel South"; dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main) -"aXo" = (/obj/structure/table,/obj/item/device/camera_film,/obj/item/device/camera,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor,/area/storage/art) +"aXo" = (/obj/structure/table/standard,/obj/item/device/camera_film,/obj/item/device/camera,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor,/area/storage/art) "aXp" = (/obj/machinery/portable_atmospherics/canister/air,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/plating,/area/storage/emergency2) "aXq" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/plating,/area/maintenance/research_port) "aXr" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/storage/emergency2) "aXs" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/tank/oxygen,/obj/item/weapon/tank/oxygen,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/item/weapon/storage/box/lights/mixed,/obj/item/weapon/extinguisher,/turf/simulated/floor/plating,/area/storage/emergency2) "aXt" = (/obj/structure/extinguisher_cabinet{pixel_x = -24},/turf/simulated/floor,/area/storage/tools) -"aXu" = (/obj/structure/table,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/storage/tools) +"aXu" = (/obj/structure/table/standard,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/storage/tools) "aXv" = (/turf/simulated/floor,/area/storage/tools) -"aXw" = (/obj/structure/table,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/machinery/cell_charger,/turf/simulated/floor,/area/storage/tools) +"aXw" = (/obj/structure/table/standard,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/machinery/cell_charger,/turf/simulated/floor,/area/storage/tools) "aXx" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/hallway/primary/central_one) "aXy" = (/turf/simulated/wall,/area/bridge) "aXz" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1331; id_tag = "nuke_shuttle_dock_pump"},/obj/machinery/airlock_sensor{frequency = 1331; id_tag = "nuke_shuttle_dock_sensor"; pixel_x = 0; pixel_y = -25},/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/hallway/secondary/entry/port) @@ -2594,10 +2594,10 @@ "aXT" = (/obj/structure/table/reinforced,/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar) "aXU" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/crew_quarters/kitchen) "aXV" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) -"aXW" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/snacks/mint,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen) +"aXW" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/food/snacks/mint,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen) "aXX" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/airlock/glass{name = "Kitchen"; req_access = list(28)},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/hydroponics/garden) -"aXY" = (/obj/structure/table,/obj/item/weapon/kitchen/rollingpin,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) -"aXZ" = (/obj/structure/table,/obj/item/weapon/book/manual/chef_recipes,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) +"aXY" = (/obj/structure/table/standard,/obj/item/weapon/kitchen/rollingpin,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) +"aXZ" = (/obj/structure/table/standard,/obj/item/weapon/book/manual/chef_recipes,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) "aYa" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) "aYb" = (/obj/structure/closet/secure_closet/freezer/fridge,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) "aYc" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/hydroponics/garden) @@ -2621,7 +2621,7 @@ "aYu" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/hallway/secondary/exit) "aYv" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/turf/simulated/floor,/area/hallway/secondary/exit) "aYw" = (/obj/structure/closet/secure_closet/personal,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/light{dir = 4},/obj/machinery/camera/network/civilian_west{c_tag = "Locker Room East"; dir = 8},/turf/simulated/floor,/area/crew_quarters/locker) -"aYx" = (/obj/structure/table,/obj/item/weapon/storage/fancy/crayons,/obj/item/weapon/storage/fancy/crayons,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/light/small,/obj/machinery/camera/network/civilian_west{c_tag = "Art Supply Storage"; dir = 1},/turf/simulated/floor,/area/storage/art) +"aYx" = (/obj/structure/table/standard,/obj/item/weapon/storage/fancy/crayons,/obj/item/weapon/storage/fancy/crayons,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/light/small,/obj/machinery/camera/network/civilian_west{c_tag = "Art Supply Storage"; dir = 1},/turf/simulated/floor,/area/storage/art) "aYy" = (/obj/machinery/camera/network/command{c_tag = "Bridge West"},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/bridge) "aYz" = (/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "escape_dock_north_sensor"; pixel_x = 0; pixel_y = -25},/turf/simulated/floor/plating,/area/hallway/secondary/exit) "aYA" = (/obj/item/device/radio/beacon,/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/bridge) @@ -2631,20 +2631,20 @@ "aYE" = (/turf/simulated/floor{dir = 8; icon_state = "whitecorner"},/area/hallway/secondary/entry/port) "aYF" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/hallway/secondary/entry/aft) "aYG" = (/obj/item/weapon/stool,/turf/simulated/floor{dir = 4; icon_state = "chapel"},/area/chapel/main) -"aYH" = (/obj/structure/table,/turf/simulated/floor,/area/security/vacantoffice) +"aYH" = (/obj/structure/table/standard,/turf/simulated/floor,/area/security/vacantoffice) "aYI" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor,/area/security/vacantoffice) -"aYJ" = (/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/security/vacantoffice) -"aYK" = (/obj/structure/table,/obj/structure/window/basic{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/security/vacantoffice) +"aYJ" = (/obj/structure/table/standard,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/security/vacantoffice) +"aYK" = (/obj/structure/table/standard,/obj/structure/window/basic{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/security/vacantoffice) "aYL" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/turf/simulated/floor,/area/security/vacantoffice) "aYM" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/hologram/holopad,/turf/simulated/floor,/area/bridge) -"aYN" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/hand_labeler,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor,/area/security/vacantoffice) +"aYN" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/table/standard,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/hand_labeler,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor,/area/security/vacantoffice) "aYO" = (/turf/simulated/wall,/area/security/vacantoffice) "aYP" = (/obj/structure/closet/crate,/obj/item/clothing/mask/gas,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/locker) "aYQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/plating,/area/maintenance/locker) "aYR" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/plating,/area/maintenance/locker) "aYS" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/maintenance/locker) "aYT" = (/obj/structure/closet/wardrobe/grey,/obj/machinery/requests_console{department = "Locker Room"; pixel_x = -32; pixel_y = 0},/turf/simulated/floor,/area/crew_quarters/locker) -"aYU" = (/obj/structure/table,/obj/item/clothing/head/soft/grey{pixel_x = -2; pixel_y = 3},/turf/simulated/floor,/area/crew_quarters/locker) +"aYU" = (/obj/structure/table/standard,/obj/item/clothing/head/soft/grey{pixel_x = -2; pixel_y = 3},/turf/simulated/floor,/area/crew_quarters/locker) "aYV" = (/obj/structure/noticeboard{pixel_y = 27},/obj/machinery/camera/network/command{c_tag = "Bridge East"},/turf/simulated/floor{icon_state = "whitehall"; dir = 1},/area/bridge) "aYW" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor,/area/crew_quarters/locker) "aYX" = (/obj/item/weapon/stool,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{dir = 1; icon_state = "chapel"},/area/chapel/main) @@ -2657,7 +2657,7 @@ "aZe" = (/obj/item/weapon/stool,/turf/simulated/floor{dir = 1; icon_state = "chapel"},/area/chapel/main) "aZf" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/bridge) "aZg" = (/obj/machinery/atm{pixel_x = -25},/obj/machinery/camera/network/civilian_east{c_tag = "Bar West"; dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"aZh" = (/obj/structure/table,/obj/machinery/chemical_dispenser/bar_soft/full,/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen) +"aZh" = (/obj/structure/table/standard,/obj/machinery/chemical_dispenser/bar_soft/full,/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen) "aZi" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "escape"},/area/hallway/secondary/exit) "aZj" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor{icon_state = "whitehall"; dir = 4},/area/bridge) "aZk" = (/obj/structure/bed/chair/office/light{dir = 8},/turf/simulated/floor,/area/security/vacantoffice) @@ -2667,10 +2667,10 @@ "aZo" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/table/woodentable,/turf/simulated/floor/wood,/area/crew_quarters/bar) "aZp" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/condiment/saltshaker{pixel_x = -2; pixel_y = 4},/obj/item/weapon/reagent_containers/food/condiment/peppermill{pixel_x = 2; pixel_y = 6},/turf/simulated/floor/wood,/area/crew_quarters/bar) "aZq" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/crew_quarters/kitchen) -"aZr" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/condiment/enzyme{layer = 5},/obj/item/weapon/packageWrap,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen) -"aZs" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/reagent_containers/glass/beaker{pixel_x = 5},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen) -"aZt" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/condiment/saltshaker{pixel_x = -3; pixel_y = 0},/obj/item/weapon/reagent_containers/food/condiment/peppermill{pixel_x = 3},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen) -"aZu" = (/obj/structure/table,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) +"aZr" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/food/condiment/enzyme{layer = 5},/obj/item/weapon/packageWrap,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen) +"aZs" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/reagent_containers/glass/beaker{pixel_x = 5},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen) +"aZt" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/food/condiment/saltshaker{pixel_x = -3; pixel_y = 0},/obj/item/weapon/reagent_containers/food/condiment/peppermill{pixel_x = 3},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen) +"aZu" = (/obj/structure/table/standard,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) "aZv" = (/obj/structure/bed/chair/office/dark{dir = 4},/turf/simulated/floor,/area/security/vacantoffice) "aZw" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/hydroponics/garden) "aZx" = (/obj/machinery/portable_atmospherics/hydroponics/soil,/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor/grass,/area/hydroponics/garden) @@ -2700,14 +2700,14 @@ "aZV" = (/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/hallway/secondary/entry/aft) "aZW" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/hallway/secondary/entry/aft) "aZX" = (/obj/machinery/hologram/holopad,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main) -"aZY" = (/obj/structure/table,/obj/item/ashtray/plastic{pixel_x = 4; pixel_y = 6},/turf/simulated/floor,/area/security/vacantoffice) +"aZY" = (/obj/structure/table/standard,/obj/item/ashtray/plastic{pixel_x = 4; pixel_y = 6},/turf/simulated/floor,/area/security/vacantoffice) "aZZ" = (/obj/structure/disposalpipe/segment,/obj/machinery/light{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor,/area/hallway/primary/starboard) "baa" = (/turf/simulated/floor,/area/security/vacantoffice) "bab" = (/obj/structure/bed/chair/office/dark{dir = 8},/turf/simulated/floor,/area/security/vacantoffice) -"bac" = (/obj/structure/table,/obj/structure/window/basic{dir = 4},/obj/item/weapon/folder/blue{pixel_x = 5},/turf/simulated/floor,/area/security/vacantoffice) +"bac" = (/obj/structure/table/standard,/obj/structure/window/basic{dir = 4},/obj/item/weapon/folder/blue{pixel_x = 5},/turf/simulated/floor,/area/security/vacantoffice) "bad" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor,/area/security/vacantoffice) "bae" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/security/vacantoffice) -"baf" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/table,/obj/item/weapon/stamp,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/item/weapon/pen,/turf/simulated/floor,/area/security/vacantoffice) +"baf" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/table/standard,/obj/item/weapon/stamp,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/item/weapon/pen,/turf/simulated/floor,/area/security/vacantoffice) "bag" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/locker) "bah" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple/visible/universal,/turf/simulated/floor/plating,/area/maintenance/locker) "bai" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/locker) @@ -2777,7 +2777,7 @@ "bbu" = (/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) "bbv" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) "bbw" = (/obj/effect/landmark/start{name = "Chef"},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) -"bbx" = (/obj/structure/table,/obj/machinery/reagentgrinder,/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen) +"bbx" = (/obj/structure/table/standard,/obj/machinery/reagentgrinder,/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen) "bby" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/hydroponics/garden) "bbz" = (/obj/structure/table/reinforced,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "grimy"},/area/hydroponics/garden) "bbA" = (/obj/structure/table/reinforced,/obj/item/weapon/hatchet,/obj/item/weapon/minihoe,/turf/simulated/floor{icon_state = "grimy"},/area/hydroponics/garden) @@ -2799,7 +2799,7 @@ "bbQ" = (/obj/structure/table/reinforced,/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/item/weapon/storage/toolbox/mechanical,/obj/item/weapon/storage/box/lights/mixed,/obj/item/device/flashlight,/obj/item/device/multitool,/turf/simulated/floor{icon_state = "blue"; dir = 6},/area/bridge) "bbR" = (/obj/structure/table/reinforced,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable/green,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/item/weapon/storage/box/donut,/turf/simulated/floor{icon_state = "blue"; dir = 10},/area/bridge) "bbS" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light_switch{pixel_x = 25; pixel_y = -25},/turf/simulated/floor,/area/bridge) -"bbT" = (/obj/structure/table,/obj/structure/disposalpipe/segment,/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/item/weapon/tape_roll,/turf/simulated/floor,/area/crew_quarters/locker) +"bbT" = (/obj/structure/table/standard,/obj/structure/disposalpipe/segment,/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/item/weapon/tape_roll,/turf/simulated/floor,/area/crew_quarters/locker) "bbU" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/hallway/secondary/entry/aft) "bbV" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/security/vacantoffice) "bbW" = (/obj/machinery/door/airlock/glass_command{id_tag = "sbridgedoor"; name = "Bridge"; req_access = list(19)},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/bridge) @@ -2836,7 +2836,7 @@ "bcB" = (/obj/item/device/radio/intercom{pixel_x = -25},/obj/machinery/camera/network/exodus{c_tag = "Departures West"; dir = 4},/turf/simulated/floor{dir = 8; icon_state = "escape"},/area/hallway/secondary/exit) "bcC" = (/obj/structure/lattice,/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "escape_dock_north_airlock"; name = "exterior access button"; pixel_x = 5; pixel_y = 25; req_one_access = list(13)},/turf/space,/area/space) "bcD" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/wall/r_wall,/area/bridge) -"bcE" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/table,/obj/machinery/recharger{pixel_y = 4},/turf/simulated/floor/plating,/area/maintenance/substation/command) +"bcE" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/table/standard,/obj/machinery/recharger{pixel_y = 4},/turf/simulated/floor/plating,/area/maintenance/substation/command) "bcF" = (/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1380; id_tag = "centcom_shuttle_dock_airlock"; pixel_x = 0; pixel_y = 30; req_one_access = list(13); tag_airpump = "centcom_shuttle_dock_pump"; tag_chamber_sensor = "centcom_shuttle_dock_sensor"; tag_exterior_door = "centcom_shuttle_dock_outer"; tag_interior_door = "centcom_shuttle_dock_inner"},/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "centcom_shuttle_dock_sensor"; pixel_x = 0; pixel_y = -25},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1380; id_tag = "centcom_shuttle_dock_pump"},/turf/simulated/floor/plating,/area/hallway/secondary/entry/aft) "bcG" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/bridge) "bcH" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/turf/simulated/floor{icon_state = "blue"; dir = 10},/area/hallway/primary/central_two) @@ -2877,13 +2877,13 @@ "bdq" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/obj/machinery/door/airlock/glass{name = "Chapel"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main) "bdr" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor{dir = 8; icon_state = "escape"},/area/hallway/secondary/exit) "bds" = (/obj/machinery/hologram/holopad,/turf/simulated/floor,/area/hallway/secondary/exit) -"bdt" = (/obj/structure/table,/obj/machinery/photocopier/faxmachine{anchored = 1; department = "Vacant Office"},/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/machinery/status_display{pixel_x = 32},/turf/simulated/floor,/area/security/vacantoffice) +"bdt" = (/obj/structure/table/standard,/obj/machinery/photocopier/faxmachine{anchored = 1; department = "Vacant Office"},/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/machinery/status_display{pixel_x = 32},/turf/simulated/floor,/area/security/vacantoffice) "bdu" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/hallway/secondary/entry/aft) "bdv" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/hallway/secondary/entry/aft) "bdw" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/hallway/secondary/entry/aft) "bdx" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor,/area/hallway/secondary/entry/aft) "bdy" = (/obj/effect/decal/cleanable/cobweb2,/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/bluegrid,/area/turret_protected/ai) -"bdz" = (/obj/structure/table,/obj/structure/window/basic{dir = 4},/turf/simulated/floor,/area/security/vacantoffice) +"bdz" = (/obj/structure/table/standard,/obj/structure/window/basic{dir = 4},/turf/simulated/floor,/area/security/vacantoffice) "bdA" = (/obj/machinery/photocopier,/turf/simulated/floor,/area/security/vacantoffice) "bdB" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor,/area/hallway/primary/starboard) "bdC" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/manifold/hidden/cyan{dir = 4},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 5},/area/maintenance/locker) @@ -2891,7 +2891,7 @@ "bdE" = (/obj/machinery/door/airlock{name = "Unit 1"},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/locker/locker_toilet) "bdF" = (/obj/machinery/light_switch{pixel_y = 28},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/locker/locker_toilet) "bdG" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/locker/locker_toilet) -"bdH" = (/obj/structure/table,/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/crew_quarters/locker) +"bdH" = (/obj/structure/table/standard,/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/crew_quarters/locker) "bdI" = (/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/crew_quarters/locker) "bdJ" = (/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/closet/wardrobe/suit,/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/crew_quarters/locker) "bdK" = (/obj/machinery/door/airlock{name = "Unisex Restrooms"},/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,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/locker/locker_toilet) @@ -2955,7 +2955,7 @@ "beQ" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor{icon_state = "warningcorner"; dir = 4},/area/hallway/secondary/entry/aft) "beR" = (/obj/machinery/portable_atmospherics/powered/pump/filled,/turf/simulated/floor{icon_state = "delivery"},/area/crew_quarters/locker) "beS" = (/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating/airless,/area/solar/auxport) -"beT" = (/obj/structure/table,/obj/item/weapon/folder/yellow,/turf/simulated/floor,/area/security/vacantoffice) +"beT" = (/obj/structure/table/standard,/obj/item/weapon/folder/yellow,/turf/simulated/floor,/area/security/vacantoffice) "beU" = (/obj/machinery/firealarm{dir = 2; pixel_y = -24},/obj/machinery/light,/turf/simulated/floor,/area/security/vacantoffice) "beV" = (/obj/machinery/door/airlock/maintenance{name = "Cargo Bay Warehouse Maintenance"; req_access = list(31)},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/quartermaster/storage) "beW" = (/obj/machinery/door/airlock/command{name = "Conference Room"; req_access = list(19)},/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,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/wood,/area/bridge/meeting_room) @@ -3034,7 +3034,7 @@ "bgr" = (/turf/simulated/wall,/area/hallway/secondary/entry/aft) "bgs" = (/obj/item/device/radio/intercom{freerange = 0; frequency = 1459; name = "Station Intercom (General)"; pixel_x = -30},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor,/area/hallway/secondary/entry/aft) "bgt" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/hallway/secondary/entry/aft) -"bgu" = (/obj/structure/table,/obj/machinery/newscaster{pixel_y = -32},/turf/simulated/floor,/area/security/vacantoffice) +"bgu" = (/obj/structure/table/standard,/obj/machinery/newscaster{pixel_y = -32},/turf/simulated/floor,/area/security/vacantoffice) "bgv" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor/plating,/area/maintenance/locker) "bgw" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/locker) "bgx" = (/obj/machinery/door/airlock{name = "Unit 2"},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/locker/locker_toilet) @@ -3047,9 +3047,9 @@ "bgE" = (/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/quartermaster/office) "bgF" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/quartermaster/office) "bgG" = (/turf/simulated/floor,/area/quartermaster/office) -"bgH" = (/obj/item/weapon/storage/box,/obj/structure/table,/obj/item/weapon/storage/box,/obj/item/weapon/storage/box,/obj/item/device/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_y = 20},/turf/simulated/floor{icon_state = "arrival"; dir = 1},/area/quartermaster/office) -"bgI" = (/obj/structure/table,/obj/item/weapon/wrapping_paper,/obj/item/weapon/wrapping_paper,/obj/machinery/requests_console{department = "Cargo Bay"; departmentType = 2; pixel_y = 30},/turf/simulated/floor{icon_state = "arrival"; dir = 1},/area/quartermaster/office) -"bgJ" = (/obj/structure/table,/obj/item/weapon/packageWrap,/obj/item/weapon/packageWrap,/obj/item/weapon/packageWrap,/obj/item/weapon/packageWrap,/obj/item/weapon/packageWrap,/obj/item/weapon/packageWrap,/obj/item/weapon/packageWrap,/obj/item/weapon/packageWrap,/turf/simulated/floor{icon_state = "arrival"; dir = 5},/area/quartermaster/office) +"bgH" = (/obj/item/weapon/storage/box,/obj/structure/table/standard,/obj/item/weapon/storage/box,/obj/item/weapon/storage/box,/obj/item/device/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_y = 20},/turf/simulated/floor{icon_state = "arrival"; dir = 1},/area/quartermaster/office) +"bgI" = (/obj/structure/table/standard,/obj/item/weapon/wrapping_paper,/obj/item/weapon/wrapping_paper,/obj/machinery/requests_console{department = "Cargo Bay"; departmentType = 2; pixel_y = 30},/turf/simulated/floor{icon_state = "arrival"; dir = 1},/area/quartermaster/office) +"bgJ" = (/obj/structure/table/standard,/obj/item/weapon/packageWrap,/obj/item/weapon/packageWrap,/obj/item/weapon/packageWrap,/obj/item/weapon/packageWrap,/obj/item/weapon/packageWrap,/obj/item/weapon/packageWrap,/obj/item/weapon/packageWrap,/obj/item/weapon/packageWrap,/turf/simulated/floor{icon_state = "arrival"; dir = 5},/area/quartermaster/office) "bgK" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor,/area/hallway/primary/central_one) "bgL" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor,/area/hallway/primary/central_one) "bgM" = (/obj/structure/filingcabinet,/turf/simulated/floor,/area/security/vacantoffice) @@ -3129,7 +3129,7 @@ "bii" = (/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor{icon_state = "floorgrime"},/area/quartermaster/storage) "bij" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor{icon_state = "floorgrime"},/area/quartermaster/storage) "bik" = (/obj/machinery/conveyor_switch/oneway{id = "packageSort1"},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/quartermaster/office) -"bil" = (/obj/structure/table,/obj/item/device/destTagger{pixel_x = 4; pixel_y = 3},/obj/item/device/destTagger{pixel_x = 4; pixel_y = 3},/obj/machinery/light{dir = 4},/turf/simulated/floor{icon_state = "arrival"; dir = 4},/area/quartermaster/office) +"bil" = (/obj/structure/table/standard,/obj/item/device/destTagger{pixel_x = 4; pixel_y = 3},/obj/item/device/destTagger{pixel_x = 4; pixel_y = 3},/obj/machinery/light{dir = 4},/turf/simulated/floor{icon_state = "arrival"; dir = 4},/area/quartermaster/office) "bim" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = -32; pixel_y = 0},/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor,/area/hallway/primary/central_one) "bin" = (/obj/structure/closet/coffin,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "chapel"; name = "Privacy Shutters"; opacity = 0},/turf/simulated/floor{icon_state = "dark"},/area/chapel/office) "bio" = (/obj/item/weapon/hand_labeler,/obj/item/device/assembly/timer,/obj/item/device/eftpos{eftpos_name = "Bridge EFTPOS scanner"},/obj/structure/table/woodentable,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/wood,/area/bridge/meeting_room) @@ -3378,7 +3378,7 @@ "bmX" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_one_access = list(5,12,47)},/turf/simulated/floor/plating,/area/hallway/primary/starboard) "bmY" = (/obj/structure/sign/chemistry,/turf/simulated/wall/r_wall,/area/medical/chemistry) "bmZ" = (/obj/structure/reagent_dispensers/water_cooler,/obj/machinery/computer/security/telescreen/entertainment{pixel_x = 0; pixel_y = 32},/turf/simulated/floor{tag = "icon-whiteblue (NORTHWEST)"; icon_state = "whiteblue"; dir = 9},/area/medical/reception) -"bna" = (/obj/structure/table,/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/item/weapon/storage/box/cups{pixel_x = 0; pixel_y = 0},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/reception) +"bna" = (/obj/structure/table/standard,/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/item/weapon/storage/box/cups{pixel_x = 0; pixel_y = 0},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/reception) "bnb" = (/obj/machinery/door/airlock/maintenance{name = "Maintenance Access"; req_access = list(12)},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hallway/secondary/exit) "bnc" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Substation - Command"},/turf/simulated/floor/plating,/area/maintenance/substation/command) "bnd" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{dir = 1; icon_state = "whitebluecorner"; tag = "icon-whitebluecorner"},/area/medical/reception) @@ -3392,7 +3392,7 @@ "bnl" = (/obj/item/weapon/stool,/turf/simulated/floor{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/medical/reception) "bnm" = (/obj/machinery/light{dir = 1},/obj/machinery/disposal,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/medical/exam_room) "bnn" = (/turf/simulated/wall,/area/medical/exam_room) -"bno" = (/obj/structure/table,/obj/item/device/camera{name = "Autopsy Camera"; pixel_x = -2; pixel_y = 7},/obj/item/weapon/paper_bin{pixel_y = -6},/obj/item/weapon/pen/red{pixel_x = -1; pixel_y = -9},/obj/item/weapon/pen/blue{pixel_x = 3; pixel_y = -5},/turf/simulated/floor{dir = 9; icon_state = "blue"},/area/medical/morgue) +"bno" = (/obj/structure/table/standard,/obj/item/device/camera{name = "Autopsy Camera"; pixel_x = -2; pixel_y = 7},/obj/item/weapon/paper_bin{pixel_y = -6},/obj/item/weapon/pen/red{pixel_x = -1; pixel_y = -9},/obj/item/weapon/pen/blue{pixel_x = 3; pixel_y = -5},/turf/simulated/floor{dir = 9; icon_state = "blue"},/area/medical/morgue) "bnp" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/medical/morgue) "bnq" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/medical/morgue) "bnr" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/medical/morgue) @@ -3404,14 +3404,14 @@ "bnx" = (/obj/machinery/door/blast/regular{id = "mixvent"; name = "Mixer Room Vent"},/turf/simulated/floor/engine/vacuum,/area/rnd/mixing) "bny" = (/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/assembly/chargebay) "bnz" = (/obj/machinery/computer/rdconsole/robotics,/obj/machinery/alarm{pixel_y = 25},/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) -"bnA" = (/obj/structure/table,/obj/item/weapon/book/manual/robotics_cyborgs{pixel_x = 2; pixel_y = 5},/obj/item/weapon/storage/belt/utility,/obj/machinery/requests_console{department = "Robotics"; departmentType = 2; name = "Robotics RC"; pixel_y = 30},/obj/machinery/light{dir = 1},/obj/item/weapon/storage/belt/utility,/obj/item/weapon/reagent_containers/glass/beaker/large,/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) +"bnA" = (/obj/structure/table/standard,/obj/item/weapon/book/manual/robotics_cyborgs{pixel_x = 2; pixel_y = 5},/obj/item/weapon/storage/belt/utility,/obj/machinery/requests_console{department = "Robotics"; departmentType = 2; name = "Robotics RC"; pixel_y = 30},/obj/machinery/light{dir = 1},/obj/item/weapon/storage/belt/utility,/obj/item/weapon/reagent_containers/glass/beaker/large,/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) "bnB" = (/obj/machinery/r_n_d/circuit_imprinter,/obj/item/weapon/reagent_containers/glass/beaker/sulphuric,/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) "bnC" = (/obj/structure/reagent_dispensers/acid{density = 0; pixel_x = -32},/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) "bnD" = (/obj/structure/bed/chair/office/light{dir = 1},/obj/effect/landmark/start{name = "Roboticist"},/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) "bnE" = (/obj/machinery/door/firedoor,/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/blast/shutters{density = 0; dir = 4; icon_state = "shutter0"; id = "scanhideside"; name = "Diagnostics Room Privacy Shutters"; opacity = 0},/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/medbay4) "bnF" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/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/floor{icon_state = "white"},/area/rnd/research) "bnG" = (/obj/machinery/autolathe,/turf/simulated/floor{icon_state = "white"},/area/rnd/lab) -"bnH" = (/obj/structure/table,/obj/item/weapon/storage/belt/utility,/obj/item/clothing/gloves/latex,/turf/simulated/floor{icon_state = "white"},/area/rnd/lab) +"bnH" = (/obj/structure/table/standard,/obj/item/weapon/storage/belt/utility,/obj/item/clothing/gloves/latex,/turf/simulated/floor{icon_state = "white"},/area/rnd/lab) "bnI" = (/turf/simulated/wall/r_wall,/area/rnd/lab) "bnJ" = (/obj/structure/closet/hydrant{pixel_x = -32},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/storage/emergency) "bnK" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/storage/emergency) @@ -3484,7 +3484,7 @@ "boZ" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/medical/exam_room) "bpa" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/medical/exam_room) "bpb" = (/obj/structure/filingcabinet/medical,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/medical/exam_room) -"bpc" = (/obj/structure/table,/obj/item/weapon/autopsy_scanner,/obj/item/weapon/scalpel,/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/medical/morgue) +"bpc" = (/obj/structure/table/standard,/obj/item/weapon/autopsy_scanner,/obj/item/weapon/scalpel,/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/medical/morgue) "bpd" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor,/area/medical/morgue) "bpe" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/medical/morgue) "bpf" = (/turf/simulated/floor,/area/medical/morgue) @@ -3506,9 +3506,9 @@ "bpv" = (/obj/item/weapon/stool,/obj/effect/landmark/start{name = "Roboticist"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/assembly/robotics) "bpw" = (/obj/structure/closet/emcloset,/obj/machinery/camera/network/exodus{c_tag = "Arrivals Auxiliary Docking South"},/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/hallway/secondary/entry/aft) "bpx" = (/obj/structure/sign/securearea,/turf/simulated/wall,/area/hallway/primary/starboard) -"bpy" = (/obj/structure/table,/obj/item/stack/sheet/glass{amount = 50; pixel_x = 3; pixel_y = 3},/obj/item/stack/sheet/metal{amount = 50},/obj/item/clothing/glasses/welding,/turf/simulated/floor{dir = 1; icon_state = "whitepurple"},/area/rnd/lab) +"bpy" = (/obj/structure/table/standard,/obj/item/stack/sheet/glass{amount = 50; pixel_x = 3; pixel_y = 3},/obj/item/stack/sheet/metal{amount = 50},/obj/item/clothing/glasses/welding,/turf/simulated/floor{dir = 1; icon_state = "whitepurple"},/area/rnd/lab) "bpz" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/firealarm{pixel_y = 27},/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor,/area/quartermaster/office) -"bpA" = (/obj/structure/table,/turf/simulated/floor{dir = 1; icon_state = "whitepurple"},/area/rnd/lab) +"bpA" = (/obj/structure/table/standard,/turf/simulated/floor{dir = 1; icon_state = "whitepurple"},/area/rnd/lab) "bpB" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/maintenance/disposal) "bpC" = (/turf/simulated/floor{icon_state = "white"},/area/rnd/lab) "bpD" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor{icon_state = "white"},/area/rnd/lab) @@ -3533,9 +3533,9 @@ "bpW" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/locker) "bpX" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/decal/cleanable/dirt,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/locker) "bpY" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/effect/decal/cleanable/dirt,/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{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/maintenance/locker) -"bpZ" = (/obj/structure/table,/obj/item/clothing/head/soft,/obj/item/weapon/stamp{pixel_x = -3; pixel_y = 3},/obj/item/clothing/head/soft,/turf/simulated/floor,/area/quartermaster/storage) -"bqa" = (/obj/structure/table,/obj/item/weapon/hand_labeler,/obj/machinery/requests_console{department = "Cargo Bay"; departmentType = 2; pixel_x = 0; pixel_y = 30},/obj/item/weapon/stamp{pixel_x = -3; pixel_y = 3},/obj/item/weapon/hand_labeler,/turf/simulated/floor,/area/quartermaster/storage) -"bqb" = (/obj/structure/table,/obj/machinery/cell_charger,/obj/item/device/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_y = 20},/turf/simulated/floor,/area/quartermaster/storage) +"bpZ" = (/obj/structure/table/standard,/obj/item/clothing/head/soft,/obj/item/weapon/stamp{pixel_x = -3; pixel_y = 3},/obj/item/clothing/head/soft,/turf/simulated/floor,/area/quartermaster/storage) +"bqa" = (/obj/structure/table/standard,/obj/item/weapon/hand_labeler,/obj/machinery/requests_console{department = "Cargo Bay"; departmentType = 2; pixel_x = 0; pixel_y = 30},/obj/item/weapon/stamp{pixel_x = -3; pixel_y = 3},/obj/item/weapon/hand_labeler,/turf/simulated/floor,/area/quartermaster/storage) +"bqb" = (/obj/structure/table/standard,/obj/machinery/cell_charger,/obj/item/device/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_y = 20},/turf/simulated/floor,/area/quartermaster/storage) "bqc" = (/obj/structure/disposalpipe/trunk,/obj/structure/disposaloutlet{dir = 1},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/quartermaster/office) "bqd" = (/obj/structure/closet/secure_closet/cargotech,/turf/simulated/floor,/area/quartermaster/storage) "bqe" = (/obj/machinery/light{dir = 1},/obj/machinery/alarm{dir = 2; pixel_y = 24},/turf/simulated/floor,/area/quartermaster/storage) @@ -3579,7 +3579,7 @@ "bqQ" = (/obj/machinery/conveyor{dir = 1; id = "garbage"},/obj/machinery/door/blast/regular{density = 1; icon_state = "pdoor1"; id = "Disposal Exit"; name = "Disposal Exit Vent"; opacity = 1},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/maintenance/disposal) "bqR" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/medical/exam_room) "bqS" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/medical/exam_room) -"bqT" = (/obj/structure/table,/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000; pixel_x = 5; pixel_y = -5},/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) +"bqT" = (/obj/structure/table/standard,/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000; pixel_x = 5; pixel_y = -5},/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) "bqU" = (/obj/structure/filingcabinet/chestdrawer{desc = "A large drawer filled with autopsy reports."; name = "Autopsy Reports"},/obj/machinery/light{dir = 8},/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/medical/morgue) "bqV" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/medical/morgue) "bqW" = (/obj/machinery/optable,/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/medical/morgue) @@ -3640,9 +3640,9 @@ "brZ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/hallway/primary/central_one) "bsa" = (/obj/machinery/power/breakerbox/activated{RCon_tag = "Command Substation Bypass"},/obj/machinery/light,/turf/simulated/floor/plating,/area/maintenance/substation/command) "bsb" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/plating,/area/maintenance/substation/command) -"bsc" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/electrical,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/plating,/area/maintenance/substation/command) +"bsc" = (/obj/structure/table/standard,/obj/item/weapon/storage/toolbox/electrical,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/plating,/area/maintenance/substation/command) "bsd" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{dir = 2; icon_state = "whitepurple"},/area/medical/medbay2) -"bse" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/table,/obj/machinery/cell_charger,/turf/simulated/floor/plating,/area/maintenance/substation/command) +"bse" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/table/standard,/obj/machinery/cell_charger,/turf/simulated/floor/plating,/area/maintenance/substation/command) "bsf" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/turf/simulated/floor/plating,/area/maintenance/substation/medical) "bsg" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green,/obj/machinery/power/sensor{name = "Powernet Sensor - Medbay Subgrid"; name_tag = "Medbay Subgrid"},/turf/simulated/floor/plating,/area/maintenance/substation/medical) "bsh" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/vault/bolted{name = "AI core"; req_access = list(16)},/obj/machinery/door/blast/regular{id = "AICore"; name = "AI core maintenance hatch"},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) @@ -3661,24 +3661,24 @@ "bsu" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) "bsv" = (/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1380; id_tag = "admin_shuttle_dock_airlock"; pixel_x = 0; pixel_y = 30; req_one_access = list(13); tag_airpump = "admin_shuttle_dock_pump"; tag_chamber_sensor = "admin_shuttle_dock_sensor"; tag_exterior_door = "admin_shuttle_dock_outer"; tag_interior_door = "admin_shuttle_dock_inner"},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/hallway/secondary/entry/aft) "bsw" = (/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/medical/reception) -"bsx" = (/obj/structure/table,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/item/weapon/storage/box/cups,/obj/item/weapon/storage/box/cups{pixel_x = 2; pixel_y = 5},/turf/simulated/floor{dir = 9; icon_state = "blue"},/area/medical/reception) +"bsx" = (/obj/structure/table/standard,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/item/weapon/storage/box/cups,/obj/item/weapon/storage/box/cups{pixel_x = 2; pixel_y = 5},/turf/simulated/floor{dir = 9; icon_state = "blue"},/area/medical/reception) "bsy" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "admin_shuttle_dock_airlock"; name = "interior access button"; pixel_x = -8; pixel_y = 25; req_one_access = list(13)},/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/hallway/secondary/entry/aft) -"bsz" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/table,/obj/machinery/computer/med_data/laptop,/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/medical/reception) -"bsA" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/table,/obj/item/weapon/paper_bin,/obj/item/weapon/folder/white,/obj/item/weapon/pen,/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/medical/reception) +"bsz" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/table/standard,/obj/machinery/computer/med_data/laptop,/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/medical/reception) +"bsA" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/table/standard,/obj/item/weapon/paper_bin,/obj/item/weapon/folder/white,/obj/item/weapon/pen,/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/medical/reception) "bsB" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "admin_shuttle_dock_inner"; locked = 1; name = "Docking Port Airlock"; req_access = list(13)},/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor/plating,/area/hallway/secondary/entry/aft) "bsC" = (/obj/structure/filingcabinet/chestdrawer{name = "Medical Forms"},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor{dir = 5; icon_state = "blue"},/area/medical/reception) "bsD" = (/obj/item/device/radio/intercom{freerange = 1; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 30},/turf/simulated/floor{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/medical/reception) -"bsE" = (/obj/structure/table,/obj/structure/closet/secure_closet/medical_wall{name = "Pill Cabinet"; pixel_y = -32},/obj/item/weapon/reagent_containers/syringe/antiviral,/obj/item/weapon/storage/pill_bottle/antitox,/obj/item/weapon/storage/pill_bottle/tramadol,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/medical/exam_room) +"bsE" = (/obj/structure/table/standard,/obj/structure/closet/secure_closet/medical_wall{name = "Pill Cabinet"; pixel_y = -32},/obj/item/weapon/reagent_containers/syringe/antiviral,/obj/item/weapon/storage/pill_bottle/antitox,/obj/item/weapon/storage/pill_bottle/tramadol,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/medical/exam_room) "bsF" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/medical/exam_room) -"bsG" = (/obj/structure/table,/obj/item/weapon/cane,/obj/item/weapon/cane{pixel_x = -3; pixel_y = 2},/obj/item/weapon/cane{pixel_x = -6; pixel_y = 4},/obj/item/weapon/storage/box/rxglasses,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/medical/exam_room) +"bsG" = (/obj/structure/table/standard,/obj/item/weapon/cane,/obj/item/weapon/cane{pixel_x = -3; pixel_y = 2},/obj/item/weapon/cane{pixel_x = -6; pixel_y = 4},/obj/item/weapon/storage/box/rxglasses,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/medical/exam_room) "bsH" = (/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/hallway/secondary/entry/aft) -"bsI" = (/obj/structure/table,/obj/item/weapon/storage/box/bodybags,/obj/item/weapon/storage/box/bodybags,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/medical/morgue) +"bsI" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/bodybags,/obj/item/weapon/storage/box/bodybags,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/medical/morgue) "bsJ" = (/obj/machinery/mech_bay_recharge_port,/turf/simulated/floor/plating,/area/assembly/chargebay) "bsK" = (/turf/simulated/floor/mech_bay_recharge_floor,/area/assembly/chargebay) "bsL" = (/obj/machinery/computer/mech_bay_power_console,/turf/simulated/floor/bluegrid,/area/assembly/chargebay) "bsM" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/assembly/chargebay) "bsN" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/assembly/robotics) -"bsO" = (/obj/structure/table,/obj/item/stack/sheet/glass{amount = 20; pixel_x = -3; pixel_y = 6},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/assembly/robotics) +"bsO" = (/obj/structure/table/standard,/obj/item/stack/sheet/glass{amount = 20; pixel_x = -3; pixel_y = 6},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/assembly/robotics) "bsP" = (/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/assembly/robotics) "bsQ" = (/obj/machinery/mecha_part_fabricator,/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/assembly/robotics) "bsR" = (/obj/machinery/mecha_part_fabricator,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/assembly/robotics) @@ -3693,7 +3693,7 @@ "bta" = (/obj/machinery/r_n_d/protolathe,/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/rnd/lab) "btb" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{dir = 8; icon_state = "warnwhite"},/area/rnd/lab) "btc" = (/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "white"},/area/rnd/lab) -"btd" = (/obj/structure/table,/obj/item/weapon/hand_labeler,/obj/item/weapon/pen,/obj/item/weapon/packageWrap,/obj/item/weapon/packageWrap,/obj/item/device/radio/intercom{freerange = 0; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 29},/turf/simulated/floor{icon_state = "white"},/area/rnd/lab) +"btd" = (/obj/structure/table/standard,/obj/item/weapon/hand_labeler,/obj/item/weapon/pen,/obj/item/weapon/packageWrap,/obj/item/weapon/packageWrap,/obj/item/device/radio/intercom{freerange = 0; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 29},/turf/simulated/floor{icon_state = "white"},/area/rnd/lab) "bte" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/tank/oxygen,/obj/item/weapon/storage/belt/utility,/obj/item/clothing/mask/breath,/turf/simulated/floor/plating,/area/storage/emergency) "btf" = (/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "admin_shuttle_dock_sensor"; pixel_x = -30; pixel_y = 8},/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/hallway/secondary/entry/aft) "btg" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "admin_shuttle_dock_pump"},/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/hallway/secondary/entry/aft) @@ -3711,7 +3711,7 @@ "bts" = (/obj/machinery/light{dir = 1},/obj/machinery/firealarm{pixel_y = 27},/turf/simulated/floor,/area/quartermaster/storage) "btt" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/quartermaster/storage) "btu" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/quartermaster/storage) -"btv" = (/obj/structure/table,/obj/item/weapon/deck{pixel_y = 4},/turf/simulated/floor/plating,/area/maintenance/disposal) +"btv" = (/obj/structure/table/standard,/obj/item/weapon/deck{pixel_y = 4},/turf/simulated/floor/plating,/area/maintenance/disposal) "btw" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor{dir = 8; icon_state = "brown"},/area/quartermaster/office) "btx" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor,/area/quartermaster/office) "bty" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/quartermaster/office) @@ -3730,7 +3730,7 @@ "btL" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload) "btM" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/turret_protected/ai_upload) "btN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/cyan{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/cyan{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload) -"btO" = (/obj/structure/table,/obj/item/weapon/aiModule/asimov,/obj/item/weapon/aiModule/freeformcore,/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"; name = "Core Modules"; req_access = list(20)},/obj/structure/window/reinforced,/obj/item/weapon/aiModule/corp,/obj/item/weapon/aiModule/paladin,/obj/item/weapon/aiModule/robocop,/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload) +"btO" = (/obj/structure/table/standard,/obj/item/weapon/aiModule/asimov,/obj/item/weapon/aiModule/freeformcore,/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"; name = "Core Modules"; req_access = list(20)},/obj/structure/window/reinforced,/obj/item/weapon/aiModule/corp,/obj/item/weapon/aiModule/paladin,/obj/item/weapon/aiModule/robocop,/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload) "btP" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/cable/cyan{d2 = 2; icon_state = "0-2"},/obj/structure/cable/cyan{d2 = 8; icon_state = "0-8"},/obj/structure/cable/cyan,/turf/simulated/floor/plating,/area/turret_protected/ai_upload) "btQ" = (/obj/structure/displaycase,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/carpet,/area/crew_quarters/captain) "btR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/carpet,/area/crew_quarters/captain) @@ -3743,13 +3743,13 @@ "btY" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/dropper,/obj/machinery/light{dir = 8},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) "btZ" = (/obj/machinery/chem_master,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) "bua" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) -"bub" = (/obj/structure/table,/obj/item/weapon/aiModule/oxygen,/obj/item/weapon/aiModule/oneHuman,/obj/machinery/door/window{base_state = "left"; dir = 8; icon_state = "left"; name = "High-Risk Modules"; req_access = list(20)},/obj/item/weapon/aiModule/purge,/obj/structure/window/reinforced,/obj/item/weapon/aiModule/antimov,/obj/item/weapon/aiModule/teleporterOffline,/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload) +"bub" = (/obj/structure/table/standard,/obj/item/weapon/aiModule/oxygen,/obj/item/weapon/aiModule/oneHuman,/obj/machinery/door/window{base_state = "left"; dir = 8; icon_state = "left"; name = "High-Risk Modules"; req_access = list(20)},/obj/item/weapon/aiModule/purge,/obj/structure/window/reinforced,/obj/item/weapon/aiModule/antimov,/obj/item/weapon/aiModule/teleporterOffline,/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload) "buc" = (/turf/simulated/wall,/area/medical/chemistry) "bud" = (/obj/structure/sign/redcross{desc = "The Star of Life, a symbol of Medical Aid."; icon_state = "lifestar"; name = "Medbay"; pixel_x = -32},/turf/simulated/floor{tag = "icon-whiteblue (SOUTHWEST)"; icon_state = "whiteblue"; dir = 10},/area/medical/reception) "bue" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{tag = "icon-whiteblue"; icon_state = "whiteblue"},/area/medical/reception) "buf" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/computer/crew,/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/medical/reception) "bug" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/quartermaster/office) -"buh" = (/obj/structure/table,/obj/item/device/radio{anchored = 1; broadcasting = 0; canhear_range = 1; frequency = 1487; icon = 'icons/obj/items.dmi'; icon_state = "red_phone"; listening = 1; name = "Reception Emergency Phone"},/turf/simulated/floor,/area/medical/reception) +"buh" = (/obj/structure/table/standard,/obj/item/device/radio{anchored = 1; broadcasting = 0; canhear_range = 1; frequency = 1487; icon = 'icons/obj/items.dmi'; icon_state = "red_phone"; listening = 1; name = "Reception Emergency Phone"},/turf/simulated/floor,/area/medical/reception) "bui" = (/obj/machinery/door/airlock/command{name = "Captain's Quarters"; req_access = list(20)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/carpet,/area/crew_quarters/captain) "buj" = (/obj/machinery/door/airlock/maintenance{name = "Captain's Office Maintenance"; req_access = list(20)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/visible/supply,/obj/machinery/atmospherics/pipe/simple/visible/scrubbers,/turf/simulated/floor/plating,/area/crew_quarters/captain) "buk" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/filingcabinet/medical{pixel_y = 0},/turf/simulated/floor{icon_state = "blue"; dir = 4},/area/medical/reception) @@ -3757,7 +3757,7 @@ "bum" = (/obj/structure/sign/redcross{desc = "The Star of Life, a symbol of Medical Aid."; icon_state = "lifestar"; name = "Medbay"; pixel_x = 32},/turf/simulated/floor{tag = "icon-whiteblue (SOUTHEAST)"; icon_state = "whiteblue"; dir = 6},/area/medical/reception) "bun" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/medical/exam_room) "buo" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/syringes,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/item/weapon/screwdriver,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) -"bup" = (/obj/structure/table,/obj/machinery/computer/med_data/laptop,/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = -28},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/medical/exam_room) +"bup" = (/obj/structure/table/standard,/obj/machinery/computer/med_data/laptop,/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = -28},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/medical/exam_room) "buq" = (/obj/structure/morgue,/turf/simulated/floor{icon_state = "blue"; dir = 10},/area/medical/morgue) "bur" = (/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 0; pixel_y = -22},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/medical/morgue) "bus" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor,/area/medical/morgue) @@ -3765,30 +3765,30 @@ "buu" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/medical/morgue) "buv" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/medical/morgue) "buw" = (/obj/structure/morgue{tag = "icon-morgue1 (WEST)"; icon_state = "morgue1"; dir = 8},/turf/simulated/floor{icon_state = "blue"; dir = 6},/area/medical/morgue) -"bux" = (/obj/structure/table,/obj/machinery/door/window/northright{name = "Medbay Lobby"; req_access = list(5)},/obj/item/weapon/reagent_containers/spray/cleaner{pixel_x = -5},/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/medical/reception) +"bux" = (/obj/structure/table/standard,/obj/machinery/door/window/northright{name = "Medbay Lobby"; req_access = list(5)},/obj/item/weapon/reagent_containers/spray/cleaner{pixel_x = -5},/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/medical/reception) "buy" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/hologram/holopad,/turf/simulated/floor,/area/assembly/chargebay) "buz" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/assembly/robotics) -"buA" = (/obj/structure/table,/obj/item/stack/sheet/plasteel{amount = 10},/obj/item/stack/cable_coil,/obj/item/device/flash,/obj/item/device/flash,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/assembly/robotics) +"buA" = (/obj/structure/table/standard,/obj/item/stack/sheet/plasteel{amount = 10},/obj/item/stack/cable_coil,/obj/item/device/flash,/obj/item/device/flash,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/assembly/robotics) "buB" = (/obj/structure/table/woodentable,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/obj/item/weapon/storage/box/matches,/obj/item/clothing/mask/smokable/cigarette/cigar,/obj/item/weapon/reagent_containers/food/drinks/flask{pixel_x = 8},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/carpet,/area/crew_quarters/captain) "buC" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "bot"},/area/assembly/robotics) "buD" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor{icon_state = "bot"},/area/assembly/robotics) "buE" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/hologram/holopad,/turf/simulated/floor{dir = 8; icon_state = "warnwhite"},/area/assembly/robotics) "buF" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) -"buG" = (/obj/structure/table,/obj/machinery/cell_charger,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/device/radio/intercom{freerange = 0; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 29},/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) +"buG" = (/obj/structure/table/standard,/obj/machinery/cell_charger,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/device/radio/intercom{freerange = 0; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 29},/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) "buH" = (/obj/structure/closet/firecloset,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor{dir = 10; icon_state = "warnwhite"},/area/rnd/research) "buI" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor{icon_state = "white"},/area/rnd/research) "buJ" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/simulated/floor{dir = 6; icon_state = "warnwhite"},/area/rnd/research) "buK" = (/obj/machinery/computer/rdconsole/core,/turf/simulated/floor,/area/rnd/lab) "buL" = (/obj/effect/landmark/start{name = "Scientist"},/turf/simulated/floor,/area/rnd/lab) "buM" = (/obj/machinery/r_n_d/circuit_imprinter,/obj/item/weapon/reagent_containers/glass/beaker/sulphuric,/turf/simulated/floor,/area/rnd/lab) -"buN" = (/obj/structure/table,/obj/item/weapon/stock_parts/manipulator,/obj/item/weapon/stock_parts/capacitor,/obj/item/weapon/stock_parts/capacitor,/obj/item/weapon/stock_parts/manipulator,/obj/item/weapon/stock_parts/micro_laser,/obj/item/weapon/stock_parts/micro_laser,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{icon_state = "white"},/area/rnd/lab) -"buO" = (/obj/structure/table,/obj/item/weapon/storage/box/lights/mixed,/obj/item/weapon/storage/box/lights/mixed,/obj/item/weapon/extinguisher,/turf/simulated/floor/plating,/area/storage/emergency) +"buN" = (/obj/structure/table/standard,/obj/item/weapon/stock_parts/manipulator,/obj/item/weapon/stock_parts/capacitor,/obj/item/weapon/stock_parts/capacitor,/obj/item/weapon/stock_parts/manipulator,/obj/item/weapon/stock_parts/micro_laser,/obj/item/weapon/stock_parts/micro_laser,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{icon_state = "white"},/area/rnd/lab) +"buO" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/lights/mixed,/obj/item/weapon/storage/box/lights/mixed,/obj/item/weapon/extinguisher,/turf/simulated/floor/plating,/area/storage/emergency) "buP" = (/turf/simulated/shuttle/wall{icon_state = "swall_s6"; dir = 2},/area/shuttle/research/station) "buQ" = (/turf/simulated/shuttle/wall{icon_state = "swall12"; dir = 2},/area/shuttle/research/station) "buR" = (/obj/structure/window/shuttle,/obj/structure/grille,/turf/simulated/shuttle/plating,/area/shuttle/research/station) "buS" = (/turf/simulated/shuttle/wall{icon_state = "swall_s10"; dir = 2},/area/shuttle/research/station) -"buT" = (/obj/structure/table,/obj/machinery/door/window/northright{name = "Medbay Lobby"; req_access = list(5)},/obj/item/device/radio/intercom{broadcasting = 0; canhear_range = 5; freerange = 0; frequency = 1485; listening = 0; name = "Station Intercom (Medbay)"; pixel_x = 0; pixel_y = 3},/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/medical/reception) -"buU" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_y = -10},/obj/item/weapon/folder/white{pixel_y = 0},/obj/item/weapon/pen,/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 25; pixel_y = 16},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/medical/exam_room) +"buT" = (/obj/structure/table/standard,/obj/machinery/door/window/northright{name = "Medbay Lobby"; req_access = list(5)},/obj/item/device/radio/intercom{broadcasting = 0; canhear_range = 5; freerange = 0; frequency = 1485; listening = 0; name = "Station Intercom (Medbay)"; pixel_x = 0; pixel_y = 3},/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/medical/reception) +"buU" = (/obj/structure/table/standard,/obj/item/weapon/paper_bin{pixel_y = -10},/obj/item/weapon/folder/white{pixel_y = 0},/obj/item/weapon/pen,/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 25; pixel_y = 16},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/medical/exam_room) "buV" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0; pixel_y = 0},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/hallway/secondary/entry/aft) "buW" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/hallway/secondary/entry/aft) "buX" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/hallway/secondary/entry/aft) @@ -3807,8 +3807,8 @@ "bvk" = (/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{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "brown"},/area/quartermaster/office) "bvl" = (/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{dir = 4},/turf/simulated/floor,/area/quartermaster/office) "bvm" = (/obj/structure/disposalpipe/tagger/partial{name = "Sorting Office"; sort_tag = "Sorting Office"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor,/area/quartermaster/office) -"bvn" = (/obj/item/weapon/stamp{pixel_x = -3; pixel_y = 3},/obj/item/weapon/stamp/denied{pixel_x = 4; pixel_y = -2},/obj/structure/table,/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor,/area/quartermaster/office) -"bvo" = (/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/clipboard,/obj/item/weapon/pen/red{pixel_x = 2; pixel_y = 6},/obj/structure/table,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor,/area/quartermaster/office) +"bvn" = (/obj/item/weapon/stamp{pixel_x = -3; pixel_y = 3},/obj/item/weapon/stamp/denied{pixel_x = 4; pixel_y = -2},/obj/structure/table/standard,/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor,/area/quartermaster/office) +"bvo" = (/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/clipboard,/obj/item/weapon/pen/red{pixel_x = 2; pixel_y = 6},/obj/structure/table/standard,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor,/area/quartermaster/office) "bvp" = (/obj/machinery/computer/ordercomp,/turf/simulated/floor,/area/quartermaster/office) "bvq" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/obj/machinery/door/airlock/glass_mining{name = "Cargo Bay"; req_access = list(31)},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor,/area/quartermaster/storage) "bvr" = (/obj/machinery/light/small{dir = 1},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/plating,/area/maintenance/substation/medical) @@ -3817,8 +3817,8 @@ "bvu" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/hallway/primary/central_three) "bvv" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 27},/turf/simulated/floor{dir = 2; icon_state = "redcorner"},/area/hallway/primary/central_three) "bvw" = (/turf/simulated/wall/r_wall,/area/crew_quarters/heads/hop) -"bvx" = (/obj/machinery/computer/skills{icon_state = "medlaptop"},/obj/structure/table,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor{dir = 9; icon_state = "blue"},/area/crew_quarters/heads/hop) -"bvy" = (/obj/structure/table,/obj/machinery/newscaster/security_unit{pixel_x = 0; pixel_y = 32},/obj/machinery/recharger{pixel_y = 0},/obj/item/weapon/packageWrap,/obj/item/weapon/hand_labeler,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/crew_quarters/heads/hop) +"bvx" = (/obj/machinery/computer/skills{icon_state = "medlaptop"},/obj/structure/table/standard,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor{dir = 9; icon_state = "blue"},/area/crew_quarters/heads/hop) +"bvy" = (/obj/structure/table/standard,/obj/machinery/newscaster/security_unit{pixel_x = 0; pixel_y = 32},/obj/machinery/recharger{pixel_y = 0},/obj/item/weapon/packageWrap,/obj/item/weapon/hand_labeler,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/crew_quarters/heads/hop) "bvz" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/obj/machinery/recharger/wallcharger{pixel_x = 0; pixel_y = 30},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/crew_quarters/heads/hop) "bvA" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/crew_quarters/heads/hop) "bvB" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor,/area/crew_quarters/heads/hop) @@ -3831,7 +3831,7 @@ "bvI" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/computer/aiupload,/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload) "bvJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload) "bvK" = (/obj/machinery/hologram/holopad,/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload) -"bvL" = (/obj/structure/table,/obj/item/stack/cable_coil,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = 3},/obj/item/weapon/stock_parts/scanning_module{pixel_x = 2; pixel_y = 3},/obj/item/weapon/stock_parts/scanning_module,/obj/machinery/light_switch{pixel_x = 27},/obj/structure/reagent_dispensers/acid{density = 0; pixel_y = -32},/turf/simulated/floor{icon_state = "white"},/area/rnd/lab) +"bvL" = (/obj/structure/table/standard,/obj/item/stack/cable_coil,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = 3},/obj/item/weapon/stock_parts/scanning_module{pixel_x = 2; pixel_y = 3},/obj/item/weapon/stock_parts/scanning_module,/obj/machinery/light_switch{pixel_x = 27},/obj/structure/reagent_dispensers/acid{density = 0; pixel_y = -32},/turf/simulated/floor{icon_state = "white"},/area/rnd/lab) "bvM" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload) "bvN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload) "bvO" = (/obj/machinery/door/airlock{name = "Private Restroom"},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/captain) @@ -3847,7 +3847,7 @@ "bvY" = (/obj/machinery/smartfridge/secure/medbay,/turf/simulated/wall,/area/medical/chemistry) "bvZ" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/camera/network/exodus{c_tag = "Primary Hallway Central - East Southwest"; dir = 8},/turf/simulated/floor,/area/hallway/primary/central_two) "bwa" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/shutters{density = 0; dir = 4; icon_state = "shutter0"; id = "scanhideside"; name = "Diagnostics Room Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/medbay4) -"bwb" = (/obj/structure/table,/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/obj/item/weapon/reagent_containers/glass/bottle/stoxin{pixel_x = -6; pixel_y = 10},/obj/item/weapon/reagent_containers/glass/bottle/antitoxin{pixel_x = 5; pixel_y = 5},/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline{pixel_x = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/random/medical,/turf/simulated/floor{dir = 8; icon_state = "whiteyellow"},/area/medical/chemistry) +"bwb" = (/obj/structure/table/standard,/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/obj/item/weapon/reagent_containers/glass/bottle/stoxin{pixel_x = -6; pixel_y = 10},/obj/item/weapon/reagent_containers/glass/bottle/antitoxin{pixel_x = 5; pixel_y = 5},/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline{pixel_x = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/random/medical,/turf/simulated/floor{dir = 8; icon_state = "whiteyellow"},/area/medical/chemistry) "bwc" = (/obj/machinery/light_switch{pixel_x = 22; pixel_y = -8},/obj/machinery/button/remote/blast_door{id = "chemwindow"; name = "Chemistry Laboratory Window Shutters Control"; pixel_x = 26; pixel_y = 8},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) "bwd" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor,/area/medical/reception) "bwe" = (/turf/simulated/floor,/area/medical/reception) @@ -3855,9 +3855,9 @@ "bwg" = (/obj/machinery/button/remote/airlock{desc = "A remote control switch for the medbay foyer."; id = "MedbayFoyerPort"; name = "Medbay Doors Control"; pixel_x = -16; pixel_y = 28},/obj/structure/bed/chair/office/dark{dir = 1},/obj/effect/landmark/start{name = "Medical Doctor"},/turf/simulated/floor{tag = "icon-vault (NORTH)"; icon_state = "vault"; dir = 1},/area/medical/reception) "bwh" = (/obj/machinery/door/blast/regular{id = "toxinsdriver"; name = "Toxins Launcher Bay Door"},/turf/simulated/floor/plating/airless,/area/rnd/mixing) "bwi" = (/obj/machinery/door/blast/regular{id = "toxinsdriver"; name = "Toxins Launcher Bay Door"},/turf/simulated/floor/plating/airless,/area/rnd/test_area) -"bwj" = (/obj/structure/table,/obj/item/roller,/obj/item/roller{pixel_y = 8},/obj/item/roller{pixel_y = 16},/turf/simulated/floor,/area/medical/reception) +"bwj" = (/obj/structure/table/standard,/obj/item/roller,/obj/item/roller{pixel_y = 8},/obj/item/roller{pixel_y = 16},/turf/simulated/floor,/area/medical/reception) "bwk" = (/turf/simulated/wall,/area/medical/medbay2) -"bwl" = (/obj/structure/table,/obj/machinery/button/remote/blast_door{id = "medbayrecquar"; name = "Medbay Entrance Lockdown Shutters Control"; pixel_x = 6; pixel_y = 8; req_access = list(5)},/obj/item/device/radio{anchored = 1; broadcasting = 0; canhear_range = 1; frequency = 1487; icon = 'icons/obj/items.dmi'; icon_state = "red_phone"; listening = 1; name = "Reception Emergency Phone"; pixel_x = -5},/turf/simulated/floor,/area/medical/reception) +"bwl" = (/obj/structure/table/standard,/obj/machinery/button/remote/blast_door{id = "medbayrecquar"; name = "Medbay Entrance Lockdown Shutters Control"; pixel_x = 6; pixel_y = 8; req_access = list(5)},/obj/item/device/radio{anchored = 1; broadcasting = 0; canhear_range = 1; frequency = 1487; icon = 'icons/obj/items.dmi'; icon_state = "red_phone"; listening = 1; name = "Reception Emergency Phone"; pixel_x = -5},/turf/simulated/floor,/area/medical/reception) "bwm" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/medical/medbay2) "bwn" = (/obj/machinery/button/remote/airlock{desc = "A remote control switch for the medbay foyer."; id = "MedbayFoyerStar"; name = "Medbay Doors Control"; pixel_x = 6; pixel_y = 28},/obj/structure/bed/chair/office/dark{dir = 1},/obj/effect/landmark/start{name = "Medical Doctor"},/turf/simulated/floor{tag = "icon-vault (EAST)"; icon_state = "vault"; dir = 4},/area/medical/reception) "bwo" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/assembly/chargebay) @@ -3875,14 +3875,14 @@ "bwA" = (/turf/simulated/floor{icon_state = "warnwhite"; dir = 1},/area/rnd/lab) "bwB" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor{icon_state = "warnwhite"; dir = 1},/area/rnd/lab) "bwC" = (/obj/structure/disposalpipe/segment,/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{dir = 10},/turf/simulated/floor{dir = 4; icon_state = "warnwhitecorner"},/area/rnd/lab) -"bwD" = (/obj/item/weapon/stock_parts/console_screen,/obj/structure/table,/obj/item/weapon/stock_parts/console_screen,/obj/item/weapon/stock_parts/console_screen,/obj/item/weapon/stock_parts/matter_bin,/obj/item/weapon/stock_parts/matter_bin,/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor{icon_state = "white"},/area/rnd/lab) +"bwD" = (/obj/item/weapon/stock_parts/console_screen,/obj/structure/table/standard,/obj/item/weapon/stock_parts/console_screen,/obj/item/weapon/stock_parts/console_screen,/obj/item/weapon/stock_parts/matter_bin,/obj/item/weapon/stock_parts/matter_bin,/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor{icon_state = "white"},/area/rnd/lab) "bwE" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/storage/emergency) "bwF" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/storage/emergency) "bwG" = (/turf/simulated/shuttle/wall{icon_state = "swall3"; dir = 2},/area/shuttle/research/station) "bwH" = (/obj/structure/closet/crate,/turf/simulated/shuttle/floor,/area/shuttle/research/station) "bwI" = (/obj/structure/grille,/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = -32},/obj/structure/cable/green,/obj/structure/window/reinforced/polarized,/obj/structure/window/reinforced/polarized{dir = 4},/obj/structure/window/reinforced/polarized{dir = 8},/turf/simulated/floor/plating,/area/crew_quarters/heads/hop) "bwJ" = (/turf/simulated/shuttle/floor,/area/shuttle/research/station) -"bwK" = (/obj/structure/table,/turf/simulated/shuttle/floor,/area/shuttle/research/station) +"bwK" = (/obj/structure/table/standard,/turf/simulated/shuttle/floor,/area/shuttle/research/station) "bwL" = (/turf/space,/area/shuttle/administration/station) "bwM" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/quartermaster/storage) "bwN" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/quartermaster/storage) @@ -3896,16 +3896,16 @@ "bwV" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/quartermaster/office) "bwW" = (/obj/structure/disposalpipe/sortjunction/flipped{dir = 1; sortType = "Cargo Bay"; name = "Cargo Bay"},/turf/simulated/floor,/area/quartermaster/office) "bwX" = (/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,/area/quartermaster/office) -"bwY" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/fire{pixel_x = 5; pixel_y = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/random/firstaid,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) +"bwY" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/fire{pixel_x = 5; pixel_y = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/random/firstaid,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) "bwZ" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "admin_shuttle_dock_airlock"; name = "exterior access button"; pixel_x = 30; pixel_y = -5; req_one_access = list(13)},/turf/space,/area/space) "bxa" = (/turf/simulated/floor{icon_state = "delivery"},/area/quartermaster/office) -"bxb" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/toxin{pixel_x = 5; pixel_y = 5},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/random/firstaid,/turf/simulated/floor{dir = 8; icon_state = "whiteyellowcorner"},/area/medical/chemistry) +"bxb" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/toxin{pixel_x = 5; pixel_y = 5},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/random/firstaid,/turf/simulated/floor{dir = 8; icon_state = "whiteyellowcorner"},/area/medical/chemistry) "bxc" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/hallway/primary/central_three) "bxd" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/hallway/primary/central_three) "bxe" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "loadingarea"},/area/hallway/primary/central_three) "bxf" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor{icon_state = "delivery"},/area/hallway/primary/central_three) "bxg" = (/obj/machinery/door/firedoor,/obj/machinery/door/blast/shutters{density = 0; dir = 4; icon_state = "shutter0"; id = "scanhideside"; name = "Diagnostics Room Privacy Shutters"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/medbay4) -"bxh" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/o2{pixel_x = 5; pixel_y = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/random/firstaid,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) +"bxh" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/o2{pixel_x = 5; pixel_y = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/random/firstaid,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) "bxi" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/carpet,/area/crew_quarters/heads/hop) "bxj" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/carpet,/area/crew_quarters/heads/hop) "bxk" = (/turf/simulated/floor/carpet,/area/crew_quarters/heads/hop) @@ -3921,7 +3921,7 @@ "bxu" = (/obj/machinery/cryopod/robot/right,/turf/simulated/floor,/area/assembly/chargebay) "bxv" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/maintenance/disposal) "bxw" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/hallway/primary/central_two) -"bxx" = (/obj/structure/table,/obj/item/weapon/packageWrap,/obj/item/weapon/hand_labeler,/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor{dir = 1; icon_state = "whiteyellowcorner"},/area/medical/chemistry) +"bxx" = (/obj/structure/table/standard,/obj/item/weapon/packageWrap,/obj/item/weapon/hand_labeler,/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor{dir = 1; icon_state = "whiteyellowcorner"},/area/medical/chemistry) "bxy" = (/obj/structure/closet/secure_closet/medical1,/turf/simulated/floor{dir = 1; icon_state = "whiteyellow"},/area/medical/chemistry) "bxz" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/obj/machinery/door/airlock/glass_mining{name = "Cargo Bay"; req_access = list(31)},/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{dir = 4},/turf/simulated/floor,/area/quartermaster/storage) "bxA" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) @@ -3931,8 +3931,8 @@ "bxE" = (/obj/machinery/door/firedoor,/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/medical/medbay) "bxF" = (/turf/simulated/wall,/area/medical/medbay3) "bxG" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/medical/medbay3) -"bxH" = (/obj/structure/table,/obj/item/weapon/aiModule/nanotrasen,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/item/weapon/aiModule/reset,/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload) -"bxI" = (/obj/structure/table,/obj/item/weapon/aiModule/freeform,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/item/weapon/aiModule/protectStation,/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload) +"bxH" = (/obj/structure/table/standard,/obj/item/weapon/aiModule/nanotrasen,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/item/weapon/aiModule/reset,/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload) +"bxI" = (/obj/structure/table/standard,/obj/item/weapon/aiModule/freeform,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/item/weapon/aiModule/protectStation,/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload) "bxJ" = (/obj/machinery/door/firedoor,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/medical/medbay2) "bxK" = (/obj/structure/disposalpipe/segment,/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/floor{tag = "icon-white_ex"; icon_state = "white_ex"; dir = 2},/area/medical/medbay2) "bxL" = (/obj/machinery/light{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) @@ -3950,14 +3950,14 @@ "bxX" = (/obj/structure/extinguisher_cabinet{pixel_x = -27},/obj/machinery/light{dir = 8},/turf/simulated/floor/bluegrid,/area/assembly/chargebay) "bxY" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/assembly/chargebay) "bxZ" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/assembly/chargebay) -"bya" = (/obj/structure/table,/obj/item/device/mmi,/obj/item/device/mmi,/obj/item/device/mmi,/turf/simulated/floor,/area/assembly/robotics) -"byb" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/regular{empty = 1; name = "First-Aid (empty)"},/obj/item/weapon/storage/firstaid/regular{empty = 1; name = "First-Aid (empty)"},/obj/item/weapon/storage/firstaid/regular{empty = 1; name = "First-Aid (empty)"},/obj/item/device/healthanalyzer,/obj/item/device/healthanalyzer,/obj/item/device/healthanalyzer,/obj/machinery/newscaster{pixel_x = 26; pixel_y = 1},/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) +"bya" = (/obj/structure/table/standard,/obj/item/device/mmi,/obj/item/device/mmi,/obj/item/device/mmi,/turf/simulated/floor,/area/assembly/robotics) +"byb" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/regular{empty = 1; name = "First-Aid (empty)"},/obj/item/weapon/storage/firstaid/regular{empty = 1; name = "First-Aid (empty)"},/obj/item/weapon/storage/firstaid/regular{empty = 1; name = "First-Aid (empty)"},/obj/item/device/healthanalyzer,/obj/item/device/healthanalyzer,/obj/item/device/healthanalyzer,/obj/machinery/newscaster{pixel_x = 26; pixel_y = 1},/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) "byc" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating/airless,/area/space) "byd" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/turf/simulated/floor/plating,/area/rnd/xenobiology/xenoflora) "bye" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/turf/simulated/floor/plating,/area/rnd/xenobiology/xenoflora) -"byf" = (/obj/item/weapon/folder/white,/obj/structure/table,/obj/item/weapon/disk/tech_disk{pixel_x = 0; pixel_y = 0},/obj/item/weapon/disk/tech_disk{pixel_x = 0; pixel_y = 0},/obj/item/weapon/disk/design_disk,/obj/item/weapon/disk/design_disk,/obj/item/weapon/reagent_containers/dropper{pixel_y = -4},/turf/simulated/floor{icon_state = "white"},/area/rnd/lab) -"byg" = (/obj/structure/table,/obj/machinery/cell_charger,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/turf/simulated/floor{icon_state = "white"},/area/rnd/lab) -"byh" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical{pixel_x = 2; pixel_y = 3},/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/turf/simulated/floor{icon_state = "white"},/area/rnd/lab) +"byf" = (/obj/item/weapon/folder/white,/obj/structure/table/standard,/obj/item/weapon/disk/tech_disk{pixel_x = 0; pixel_y = 0},/obj/item/weapon/disk/tech_disk{pixel_x = 0; pixel_y = 0},/obj/item/weapon/disk/design_disk,/obj/item/weapon/disk/design_disk,/obj/item/weapon/reagent_containers/dropper{pixel_y = -4},/turf/simulated/floor{icon_state = "white"},/area/rnd/lab) +"byg" = (/obj/structure/table/standard,/obj/machinery/cell_charger,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/turf/simulated/floor{icon_state = "white"},/area/rnd/lab) +"byh" = (/obj/structure/table/standard,/obj/item/weapon/storage/toolbox/mechanical{pixel_x = 2; pixel_y = 3},/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/turf/simulated/floor{icon_state = "white"},/area/rnd/lab) "byi" = (/obj/structure/disposalpipe/segment,/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/floor{icon_state = "white"},/area/rnd/lab) "byj" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/floor,/area/quartermaster/office) "byk" = (/obj/structure/closet/crate,/obj/item/weapon/coin/silver,/turf/simulated/floor/plating,/area/storage/emergency) @@ -3999,7 +3999,7 @@ "byU" = (/obj/machinery/door/airlock/research{id_tag = "researchdoor"; name = "Research Division Access"; req_access = list(47)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/rnd/research) "byV" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor{tag = "icon-whiteblue (NORTHEAST)"; icon_state = "whiteblue"; dir = 5},/area/medical/medbay) "byW" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/medical/medbay) -"byX" = (/obj/structure/table,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/device/flashlight/pen,/obj/item/device/flashlight/pen,/obj/item/device/flashlight/pen,/obj/item/device/flashlight/pen,/obj/item/device/flashlight/pen,/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor{tag = "icon-whiteblue (NORTHWEST)"; icon_state = "whiteblue"; dir = 9},/area/medical/medbay3) +"byX" = (/obj/structure/table/standard,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/device/flashlight/pen,/obj/item/device/flashlight/pen,/obj/item/device/flashlight/pen,/obj/item/device/flashlight/pen,/obj/item/device/flashlight/pen,/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor{tag = "icon-whiteblue (NORTHWEST)"; icon_state = "whiteblue"; dir = 9},/area/medical/medbay3) "byY" = (/obj/structure/closet/secure_closet/medical3,/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay3) "byZ" = (/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay3) "bza" = (/obj/structure/closet/secure_closet/medical3,/obj/machinery/alarm{pixel_y = 25},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor{tag = "icon-whiteblue (NORTHEAST)"; icon_state = "whiteblue"; dir = 5},/area/medical/medbay3) @@ -4025,9 +4025,9 @@ "bzu" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/assembly/chargebay) "bzv" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/turf/simulated/floor,/area/assembly/chargebay) "bzw" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green,/turf/simulated/floor,/area/assembly/chargebay) -"bzx" = (/obj/structure/table,/obj/item/weapon/circular_saw,/obj/item/weapon/scalpel{pixel_y = 12},/obj/item/weapon/hemostat,/obj/item/weapon/retractor,/turf/simulated/floor{dir = 2; icon_state = "whitecorner"},/area/assembly/robotics) -"bzy" = (/obj/structure/table,/obj/item/device/flash/synthetic,/obj/item/device/flash/synthetic,/obj/item/device/flash/synthetic,/obj/item/device/flash/synthetic,/obj/item/device/flash/synthetic,/obj/item/device/flash/synthetic,/obj/structure/window/reinforced/tinted{dir = 4; icon_state = "twindow"},/obj/item/device/mmi/digital/posibrain,/obj/item/device/robotanalyzer,/turf/simulated/floor{dir = 8; icon_state = "whitecorner"},/area/assembly/robotics) -"bzz" = (/obj/structure/table,/obj/item/weapon/crowbar,/obj/item/device/radio/headset/headset_sci{pixel_x = -3},/obj/item/device/multitool{pixel_x = 3},/obj/item/device/multitool{pixel_x = 3},/obj/item/clothing/glasses/welding,/obj/item/clothing/glasses/welding,/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) +"bzx" = (/obj/structure/table/standard,/obj/item/weapon/circular_saw,/obj/item/weapon/scalpel{pixel_y = 12},/obj/item/weapon/hemostat,/obj/item/weapon/retractor,/turf/simulated/floor{dir = 2; icon_state = "whitecorner"},/area/assembly/robotics) +"bzy" = (/obj/structure/table/standard,/obj/item/device/flash/synthetic,/obj/item/device/flash/synthetic,/obj/item/device/flash/synthetic,/obj/item/device/flash/synthetic,/obj/item/device/flash/synthetic,/obj/item/device/flash/synthetic,/obj/structure/window/reinforced/tinted{dir = 4; icon_state = "twindow"},/obj/item/device/mmi/digital/posibrain,/obj/item/device/robotanalyzer,/turf/simulated/floor{dir = 8; icon_state = "whitecorner"},/area/assembly/robotics) +"bzz" = (/obj/structure/table/standard,/obj/item/weapon/crowbar,/obj/item/device/radio/headset/headset_sci{pixel_x = -3},/obj/item/device/multitool{pixel_x = 3},/obj/item/device/multitool{pixel_x = 3},/obj/item/clothing/glasses/welding,/obj/item/clothing/glasses/welding,/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) "bzA" = (/turf/simulated/wall,/area/rnd/research) "bzB" = (/obj/machinery/light{dir = 8},/obj/machinery/computer/guestpass{pixel_x = -28},/obj/machinery/door/firedoor/border_only{dir = 1; name = "hazard door north"},/turf/simulated/floor{dir = 2; icon_state = "whitecorner"},/area/rnd/research) "bzC" = (/obj/effect/landmark{name = "lightsout"},/obj/machinery/door/firedoor/border_only{dir = 1; name = "hazard door north"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "whitehall"; dir = 2},/area/rnd/research) @@ -4064,15 +4064,15 @@ "bAh" = (/turf/simulated/wall/r_wall,/area/turret_protected/ai_server_room) "bAi" = (/obj/machinery/door/window/eastright{base_state = "left"; dir = 1; icon_state = "left"; name = "Shower"},/obj/machinery/shower{icon_state = "shower"; dir = 4},/obj/item/weapon/soap/deluxe,/obj/item/weapon/bikehorn/rubberducky,/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/captain) "bAj" = (/turf/simulated/wall/r_wall,/area/turret_protected/ai_cyborg_station) -"bAk" = (/obj/structure/extinguisher_cabinet{pixel_x = -27; pixel_y = 1},/obj/structure/table,/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor,/area/teleporter) -"bAl" = (/obj/machinery/light{dir = 1},/obj/structure/table,/obj/item/weapon/hand_tele,/turf/simulated/floor,/area/teleporter) +"bAk" = (/obj/structure/extinguisher_cabinet{pixel_x = -27; pixel_y = 1},/obj/structure/table/standard,/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor,/area/teleporter) +"bAl" = (/obj/machinery/light{dir = 1},/obj/structure/table/standard,/obj/item/weapon/hand_tele,/turf/simulated/floor,/area/teleporter) "bAm" = (/obj/item/device/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_y = 20},/obj/structure/closet/crate,/obj/item/weapon/crowbar,/turf/simulated/floor,/area/teleporter) "bAn" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor,/area/teleporter) "bAo" = (/obj/machinery/light{dir = 1},/obj/structure/closet/secure_closet/chemical,/obj/item/weapon/storage/box/pillbottles,/obj/item/device/radio/headset/headset_med,/obj/machinery/camera/network/medbay{c_tag = "Medbay Drug Storage"},/turf/simulated/floor{dir = 1; icon_state = "whiteyellow"},/area/medical/chemistry) "bAp" = (/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/teleporter) "bAq" = (/obj/machinery/light_switch{pixel_x = 27},/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,/area/teleporter) "bAr" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/hallway/primary/central_two) -"bAs" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/regular{pixel_x = 5; pixel_y = 5},/obj/machinery/light_switch{pixel_x = -23; pixel_y = 0},/obj/random/firstaid,/turf/simulated/floor{dir = 8; icon_state = "whiteyellowcorner"},/area/medical/chemistry) +"bAs" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/regular{pixel_x = 5; pixel_y = 5},/obj/machinery/light_switch{pixel_x = -23; pixel_y = 0},/obj/random/firstaid,/turf/simulated/floor{dir = 8; icon_state = "whiteyellowcorner"},/area/medical/chemistry) "bAt" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/multi_tile/glass{id_tag = "MedbayFoyerPort"; req_access = list(5)},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/medical/medbay) "bAu" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{name = "Medbay Reception"; req_access = list(5)},/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/medbay3) "bAv" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) @@ -4106,7 +4106,7 @@ "bAX" = (/obj/machinery/button/remote/airlock{desc = "A remote control switch for the medbay foyer."; id = "MedbayFoyerPort"; name = "Medbay Doors Control"; pixel_x = -24; pixel_y = 26},/obj/machinery/computer/guestpass{pixel_x = -28},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor{tag = "icon-whiteblue (NORTHWEST)"; icon_state = "whiteblue"; dir = 9},/area/medical/medbay) "bAY" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor,/area/assembly/chargebay) "bAZ" = (/obj/machinery/recharge_station,/turf/simulated/floor{icon_state = "bot"},/area/assembly/chargebay) -"bBa" = (/obj/structure/table,/obj/item/weapon/storage/box/bodybags{pixel_x = -1; pixel_y = -2},/obj/item/weapon/pen,/turf/simulated/floor{icon_state = "whitehall"; dir = 4},/area/assembly/robotics) +"bBa" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/bodybags{pixel_x = -1; pixel_y = -2},/obj/item/weapon/pen,/turf/simulated/floor{icon_state = "whitehall"; dir = 4},/area/assembly/robotics) "bBb" = (/obj/machinery/optable{name = "Robotics Operating Table"},/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) "bBc" = (/obj/machinery/computer/operating{name = "Robotics Operating Computer"},/obj/machinery/light,/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) "bBd" = (/obj/machinery/light_switch{pixel_x = -23; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "warnwhite"},/area/assembly/robotics) @@ -4136,16 +4136,16 @@ "bBB" = (/turf/simulated/shuttle/wall{icon_state = "swall_s9"; dir = 2},/area/shuttle/research/station) "bBC" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/grille,/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/quartermaster/storage) "bBD" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/quartermaster/storage) -"bBE" = (/obj/structure/table,/obj/machinery/requests_console{department = "Cargo Bay"; departmentType = 2; pixel_x = -30; pixel_y = 0},/obj/item/stack/sheet/glass{amount = 50; pixel_x = 3; pixel_y = 3},/obj/item/stack/sheet/metal{amount = 50},/obj/item/device/multitool,/obj/machinery/camera/network/civilian_west{c_tag = "Cargo Office"; dir = 4},/turf/simulated/floor,/area/quartermaster/office) +"bBE" = (/obj/structure/table/standard,/obj/machinery/requests_console{department = "Cargo Bay"; departmentType = 2; pixel_x = -30; pixel_y = 0},/obj/item/stack/sheet/glass{amount = 50; pixel_x = 3; pixel_y = 3},/obj/item/stack/sheet/metal{amount = 50},/obj/item/device/multitool,/obj/machinery/camera/network/civilian_west{c_tag = "Cargo Office"; dir = 4},/turf/simulated/floor,/area/quartermaster/office) "bBF" = (/obj/machinery/navbeacon{codes_txt = "delivery;dir=8"; freq = 1400; location = "QM #2"},/obj/machinery/bot/mulebot{home_destination = "QM #2"; suffix = "#2"},/turf/simulated/floor{icon_state = "bot"},/area/quartermaster/storage) -"bBG" = (/obj/structure/table,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/item/weapon/folder/yellow,/obj/item/device/eftpos{eftpos_name = "Cargo Bay EFTPOS scanner"},/turf/simulated/floor,/area/quartermaster/office) +"bBG" = (/obj/structure/table/standard,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/item/weapon/folder/yellow,/obj/item/device/eftpos{eftpos_name = "Cargo Bay EFTPOS scanner"},/turf/simulated/floor,/area/quartermaster/office) "bBH" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor,/area/quartermaster/office) "bBI" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/quartermaster/office) "bBJ" = (/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/hologram/holopad,/turf/simulated/floor,/area/quartermaster/office) "bBK" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/structure/cable/cyan{d2 = 2; icon_state = "0-2"},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_server_room) "bBL" = (/obj/structure/closet/secure_closet/hop2,/turf/simulated/floor,/area/crew_quarters/heads/hop) "bBM" = (/turf/simulated/floor,/area/crew_quarters/heads/hop) -"bBN" = (/obj/structure/table,/obj/item/weapon/pen,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/item/device/megaphone,/turf/simulated/floor,/area/crew_quarters/heads/hop) +"bBN" = (/obj/structure/table/standard,/obj/item/weapon/pen,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/item/device/megaphone,/turf/simulated/floor,/area/crew_quarters/heads/hop) "bBO" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 32; pixel_y = 0},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/crew_quarters/heads/hop) "bBP" = (/obj/machinery/message_server,/turf/simulated/floor/bluegrid,/area/turret_protected/ai_server_room) "bBQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/cyan{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload_foyer) @@ -4168,7 +4168,7 @@ "bCh" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/structure/disposalpipe/segment,/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/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/medical/medbay) "bCi" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/medical/medbay3) "bCj" = (/turf/simulated/floor{icon_state = "white"},/area/medical/medbay3) -"bCk" = (/obj/structure/table,/obj/item/weapon/storage/box/beakers,/obj/item/weapon/storage/box/syringes{pixel_x = 4; pixel_y = 4},/obj/item/weapon/storage/box/syringes,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/item/device/radio/intercom{freerange = 1; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 28},/turf/simulated/floor{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/medical/medbay3) +"bCk" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/beakers,/obj/item/weapon/storage/box/syringes{pixel_x = 4; pixel_y = 4},/obj/item/weapon/storage/box/syringes,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/item/device/radio/intercom{freerange = 1; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 28},/turf/simulated/floor{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/medical/medbay3) "bCl" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/medical/medbay2) "bCm" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) "bCn" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{name = "Medical Equipment"; req_access = list(5)},/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{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) @@ -4195,19 +4195,19 @@ "bCI" = (/turf/simulated/floor{dir = 4; icon_state = "whitebluecorner"},/area/rnd/docking) "bCJ" = (/turf/simulated/wall,/area/rnd/docking) "bCK" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/shuttle/plating,/area/rnd/docking) -"bCL" = (/obj/structure/table,/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "research_shuttle"; pixel_x = -8; pixel_y = -25; req_one_access = list(13,65); tag_door = "research_shuttle_hatch"},/turf/simulated/shuttle/floor,/area/shuttle/research/station) +"bCL" = (/obj/structure/table/standard,/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "research_shuttle"; pixel_x = -8; pixel_y = -25; req_one_access = list(13,65); tag_door = "research_shuttle_hatch"},/turf/simulated/shuttle/floor,/area/shuttle/research/station) "bCM" = (/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/quartermaster/storage) "bCN" = (/obj/machinery/conveyor_switch/oneway{convdir = -1; id = "QMLoad"},/turf/simulated/floor,/area/quartermaster/storage) "bCO" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor,/area/quartermaster/storage) "bCP" = (/obj/machinery/navbeacon{codes_txt = "delivery;dir=8"; freq = 1400; location = "QM #3"},/turf/simulated/floor{icon_state = "bot"},/area/quartermaster/storage) -"bCQ" = (/obj/structure/table,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/item/weapon/storage/belt/utility,/turf/simulated/floor,/area/quartermaster/office) +"bCQ" = (/obj/structure/table/standard,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/item/weapon/storage/belt/utility,/turf/simulated/floor,/area/quartermaster/office) "bCR" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor,/area/quartermaster/office) "bCS" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) "bCT" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "bluecorner"},/area/hallway/primary/central_three) "bCU" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor{icon_state = "bot"},/area/hallway/primary/central_three) "bCV" = (/obj/machinery/keycard_auth{pixel_x = -24; pixel_y = 0},/obj/machinery/account_database,/turf/simulated/floor{dir = 9; icon_state = "blue"},/area/crew_quarters/heads/hop) "bCW" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) -"bCX" = (/obj/structure/table,/obj/item/weapon/folder/blue,/obj/item/weapon/stamp/hop,/obj/item/device/eftpos{eftpos_name = "HoP EFTPOS scanner"},/turf/simulated/floor,/area/crew_quarters/heads/hop) +"bCX" = (/obj/structure/table/standard,/obj/item/weapon/folder/blue,/obj/item/weapon/stamp/hop,/obj/item/device/eftpos{eftpos_name = "HoP EFTPOS scanner"},/turf/simulated/floor,/area/crew_quarters/heads/hop) "bCY" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "cargo_bay"; name = "cargo bay hatch controller"; pixel_x = -30; pixel_y = 0; req_one_access = list(13,31); tag_door = "cargo_bay_door"},/obj/machinery/camera/network/civilian_west{c_tag = "Cargo Recieving Dock"; dir = 4},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/quartermaster/storage) "bCZ" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/obj/machinery/door/airlock/glass_mining{id_tag = "cargodoor"; name = "Cargo Office"; req_access = list(50)},/turf/simulated/floor,/area/quartermaster/office) "bDa" = (/turf/simulated/floor/bluegrid,/area/turret_protected/ai_server_room) @@ -4237,9 +4237,9 @@ "bDy" = (/obj/machinery/status_display,/turf/simulated/wall,/area/medical/medbay) "bDz" = (/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) "bDA" = (/obj/structure/disposalpipe/segment,/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{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/medical/medbay) -"bDB" = (/obj/structure/table,/obj/item/clothing/suit/straight_jacket,/obj/item/clothing/mask/muzzle,/obj/machinery/light,/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/turf/simulated/floor{tag = "icon-whiteblue (SOUTHWEST)"; icon_state = "whiteblue"; dir = 10},/area/medical/medbay3) +"bDB" = (/obj/structure/table/standard,/obj/item/clothing/suit/straight_jacket,/obj/item/clothing/mask/muzzle,/obj/machinery/light,/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/turf/simulated/floor{tag = "icon-whiteblue (SOUTHWEST)"; icon_state = "whiteblue"; dir = 10},/area/medical/medbay3) "bDC" = (/obj/machinery/door/firedoor,/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "acute1"; name = "EMT Storage Privacy Shutters"; opacity = 0},/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/sleeper) -"bDD" = (/obj/structure/table,/obj/machinery/light,/obj/item/weapon/storage/box/gloves{pixel_x = 4; pixel_y = 4},/obj/item/weapon/storage/box/masks{pixel_y = 0},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor{tag = "icon-whiteblue (SOUTHEAST)"; icon_state = "whiteblue"; dir = 6},/area/medical/medbay3) +"bDD" = (/obj/structure/table/standard,/obj/machinery/light,/obj/item/weapon/storage/box/gloves{pixel_x = 4; pixel_y = 4},/obj/item/weapon/storage/box/masks{pixel_y = 0},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor{tag = "icon-whiteblue (SOUTHEAST)"; icon_state = "whiteblue"; dir = 6},/area/medical/medbay3) "bDE" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/medical/medbay2) "bDF" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) "bDG" = (/obj/machinery/atmospherics/unary/cryo_cell,/turf/simulated/floor{dir = 9; icon_state = "whitered"},/area/medical/cryo) @@ -4293,7 +4293,7 @@ "bEC" = (/obj/structure/bed/chair{dir = 8},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -28},/obj/machinery/light,/turf/simulated/floor,/area/quartermaster/office) "bED" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor,/area/quartermaster/storage) "bEE" = (/obj/machinery/navbeacon{codes_txt = "delivery;dir=8"; freq = 1400; location = "QM #4"},/turf/simulated/floor{icon_state = "bot"},/area/quartermaster/storage) -"bEF" = (/obj/structure/table,/obj/machinery/newscaster{pixel_x = -27; pixel_y = 1},/obj/item/weapon/tape_roll,/obj/item/weapon/storage/firstaid/regular{pixel_x = 6; pixel_y = -5},/turf/simulated/floor,/area/quartermaster/office) +"bEF" = (/obj/structure/table/standard,/obj/machinery/newscaster{pixel_x = -27; pixel_y = 1},/obj/item/weapon/tape_roll,/obj/item/weapon/storage/firstaid/regular{pixel_x = 6; pixel_y = -5},/turf/simulated/floor,/area/quartermaster/office) "bEG" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor,/area/quartermaster/office) "bEH" = (/obj/machinery/light,/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/computer/guestpass{pixel_y = -28},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{dir = 2; icon_state = "browncorner"},/area/quartermaster/office) "bEI" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/quartermaster/office) @@ -4306,7 +4306,7 @@ "bEP" = (/turf/simulated/floor{dir = 4; icon_state = "loadingarea"},/area/hallway/primary/central_three) "bEQ" = (/obj/structure/filingcabinet/chestdrawer,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/turf/simulated/floor{icon_state = "blue"; dir = 10},/area/crew_quarters/heads/hop) "bER" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_server_room) -"bES" = (/obj/structure/table,/obj/machinery/photocopier/faxmachine{department = "Head of Personnel's Office"},/turf/simulated/floor,/area/crew_quarters/heads/hop) +"bES" = (/obj/structure/table/standard,/obj/machinery/photocopier/faxmachine{department = "Head of Personnel's Office"},/turf/simulated/floor,/area/crew_quarters/heads/hop) "bET" = (/obj/machinery/light_switch{pixel_x = 27},/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor,/area/crew_quarters/heads/hop) "bEU" = (/turf/simulated/wall/r_wall,/area/turret_protected/ai_upload_foyer) "bEV" = (/obj/effect/landmark/start{name = "Cyborg"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_cyborg_station) @@ -4315,7 +4315,7 @@ "bEY" = (/obj/structure/table/reinforced,/obj/machinery/door/window/eastright{dir = 1; name = "Emergency Kit"; req_access = list(5)},/obj/machinery/door/firedoor,/obj/item/weapon/storage/toolbox/emergency,/obj/item/bodybag/cryobag{pixel_x = 6},/obj/item/bodybag/cryobag{pixel_x = 6},/obj/item/bodybag/cryobag,/obj/item/device/radio{frequency = 1487; name = "Medbay Emergency Radio Link"},/turf/simulated/floor{dir = 1; icon_state = "whiteyellow"},/area/medical/sleeper) "bEZ" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{name = "Medicine Storage"; req_access = list(5)},/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) "bFa" = (/obj/structure/table/rack,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/clothing/accessory/stethoscope,/obj/item/clothing/accessory/stethoscope,/obj/item/clothing/accessory/stethoscope,/obj/item/clothing/accessory/stethoscope,/obj/item/clothing/accessory/stethoscope,/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 0; pixel_y = -22},/obj/machinery/camera/network/medbay{c_tag = "Medbay Equipment Storage"; dir = 1},/turf/simulated/floor{dir = 2; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay3) -"bFb" = (/obj/structure/table,/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/item/device/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_y = 20},/obj/item/weapon/wrench,/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{pixel_x = 7; pixel_y = 1},/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{pixel_x = -4; pixel_y = 0},/obj/machinery/camera/network/medbay{c_tag = "Medbay Cryogenics"},/turf/simulated/floor{dir = 5; icon_state = "whitered"},/area/medical/cryo) +"bFb" = (/obj/structure/table/standard,/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/item/device/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_y = 20},/obj/item/weapon/wrench,/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{pixel_x = 7; pixel_y = 1},/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{pixel_x = -4; pixel_y = 0},/obj/machinery/camera/network/medbay{c_tag = "Medbay Cryogenics"},/turf/simulated/floor{dir = 5; icon_state = "whitered"},/area/medical/cryo) "bFc" = (/obj/machinery/recharge_station,/turf/simulated/floor/bluegrid,/area/turret_protected/ai_cyborg_station) "bFd" = (/obj/machinery/computer/teleporter,/turf/simulated/floor/plating,/area/teleporter) "bFe" = (/obj/machinery/teleport/station,/turf/simulated/floor/plating,/area/teleporter) @@ -4338,7 +4338,7 @@ "bFv" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 8},/turf/simulated/floor{dir = 1; icon_state = "whiteredcorner"},/area/medical/cryo) "bFw" = (/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/turf/simulated/floor{icon_state = "white"},/area/medical/cryo) "bFx" = (/obj/machinery/power/apc/high{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor{icon_state = "white"},/area/medical/cryo) -"bFy" = (/obj/structure/table,/obj/item/weapon/storage/box/bodybags{pixel_x = 1; pixel_y = 2},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor{icon_state = "white"},/area/medical/genetics_cloning) +"bFy" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/bodybags{pixel_x = 1; pixel_y = 2},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor{icon_state = "white"},/area/medical/genetics_cloning) "bFz" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/medical/genetics_cloning) "bFA" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/medical/genetics) "bFB" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/medical/genetics) @@ -4360,7 +4360,7 @@ "bFR" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{dir = 5; icon_state = "whitehall"},/area/rnd/research) "bFS" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/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/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/research) "bFT" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/rnd/research) -"bFU" = (/obj/structure/table,/obj/item/weapon/folder/white,/obj/item/weapon/stamp/rd{pixel_x = 3; pixel_y = -2},/obj/item/weapon/paper/monitorkey,/obj/item/device/megaphone,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/weapon/pen,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/heads/hor) +"bFU" = (/obj/structure/table/standard,/obj/item/weapon/folder/white,/obj/item/weapon/stamp/rd{pixel_x = 3; pixel_y = -2},/obj/item/weapon/paper/monitorkey,/obj/item/device/megaphone,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/weapon/pen,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/heads/hor) "bFV" = (/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced/polarized{dir = 1},/obj/structure/window/reinforced/polarized{dir = 8},/turf/simulated/floor/plating,/area/rnd/research) "bFW" = (/obj/machinery/computer/aifixer,/obj/machinery/requests_console{announcementConsole = 1; department = "Research Director's Desk"; departmentType = 5; name = "Research Director RC"; pixel_x = -2; pixel_y = 30},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/heads/hor) "bFX" = (/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor{dir = 8; icon_state = "warnwhite"},/area/crew_quarters/heads/hor) @@ -4439,7 +4439,7 @@ "bHs" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor{icon_state = "white"},/area/rnd/docking) "bHt" = (/obj/machinery/computer/shuttle_control/research,/turf/simulated/floor{dir = 4; icon_state = "whitebluecorner"},/area/rnd/docking) "bHu" = (/obj/structure/lattice,/obj/structure/sign/securearea{desc = "A warning sign which reads 'KEEP CLEAR OF DOCKING AREA'."; name = "KEEP CLEAR: DOCKING AREA"; pixel_y = 32},/turf/space,/area/space) -"bHv" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/turf/simulated/floor,/area/quartermaster/miningdock) +"bHv" = (/obj/structure/table/standard,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/turf/simulated/floor,/area/quartermaster/miningdock) "bHw" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor,/area/quartermaster/miningdock) "bHx" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/quartermaster/miningdock) "bHy" = (/obj/structure/table/rack{dir = 1},/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/machinery/light{dir = 1},/obj/machinery/light_switch{pixel_y = 24},/obj/item/weapon/storage/belt/utility,/turf/simulated/floor,/area/quartermaster/miningdock) @@ -4462,7 +4462,7 @@ "bHP" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/research{name = "Genetics Research"; req_access = list(9)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics) "bHQ" = (/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/airlock/research{name = "Research Division Access"; req_access = list(47)},/turf/simulated/floor{icon_state = "white"},/area/rnd/research) "bHR" = (/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced/polarized{dir = 8},/obj/structure/window/reinforced/polarized{dir = 4},/turf/simulated/floor/plating,/area/rnd/research) -"bHS" = (/obj/structure/table,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/heads/hor) +"bHS" = (/obj/structure/table/standard,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/heads/hor) "bHT" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor,/area/hallway/primary/central_three) "bHU" = (/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor{dir = 4; icon_state = "whitebluecorner"},/area/rnd/docking) "bHV" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "research_dock_airlock"; name = "interior access button"; pixel_x = 25; pixel_y = -25; req_one_access = list(13,65)},/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor{dir = 4; icon_state = "whitebluecorner"},/area/rnd/docking) @@ -4513,16 +4513,16 @@ "bIO" = (/obj/machinery/computer/mecha,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/heads/hor) "bIP" = (/obj/machinery/computer/area_atmos,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/heads/hor) "bIQ" = (/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/heads/hor) -"bIR" = (/obj/structure/table,/obj/item/device/taperecorder{pixel_x = -3},/obj/item/device/paicard{pixel_x = 4},/obj/item/device/radio/intercom{freerange = 0; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 29},/obj/item/weapon/circuitboard/teleporter,/obj/item/weapon/circuitboard/aicore{pixel_x = -2; pixel_y = 4},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/heads/hor) +"bIR" = (/obj/structure/table/standard,/obj/item/device/taperecorder{pixel_x = -3},/obj/item/device/paicard{pixel_x = 4},/obj/item/device/radio/intercom{freerange = 0; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 29},/obj/item/weapon/circuitboard/teleporter,/obj/item/weapon/circuitboard/aicore{pixel_x = -2; pixel_y = 4},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/heads/hor) "bIS" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/plating,/area/maintenance/research_shuttle) -"bIT" = (/obj/structure/table,/obj/item/weapon/folder/yellow,/obj/item/weapon/pen,/obj/machinery/requests_console{department = "Cargo Bay"; departmentType = 2; pixel_x = -30; pixel_y = 0},/turf/simulated/floor,/area/quartermaster/miningdock) +"bIT" = (/obj/structure/table/standard,/obj/item/weapon/folder/yellow,/obj/item/weapon/pen,/obj/machinery/requests_console{department = "Cargo Bay"; departmentType = 2; pixel_x = -30; pixel_y = 0},/turf/simulated/floor,/area/quartermaster/miningdock) "bIU" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/hallway/primary/central_three) "bIV" = (/obj/structure/disposalpipe/segment,/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,/area/quartermaster/miningdock) "bIW" = (/obj/structure/table/rack{dir = 1},/obj/item/weapon/pickaxe{pixel_x = 5},/obj/item/weapon/shovel{pixel_x = -5},/turf/simulated/floor,/area/quartermaster/miningdock) "bIX" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/hallway/primary/central_three) -"bIY" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/device/megaphone,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/quartermaster/qm) -"bIZ" = (/obj/structure/table,/obj/item/weapon/folder/yellow,/obj/item/weapon/pen{pixel_x = 4; pixel_y = 4},/obj/item/weapon/pen/red{pixel_x = 2; pixel_y = 6},/turf/simulated/floor,/area/quartermaster/qm) -"bJa" = (/obj/structure/table,/obj/item/weapon/clipboard,/obj/item/weapon/stamp{name = "Quartermaster's stamp"; pixel_x = 0; pixel_y = 0},/turf/simulated/floor,/area/quartermaster/qm) +"bIY" = (/obj/structure/table/standard,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/device/megaphone,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/quartermaster/qm) +"bIZ" = (/obj/structure/table/standard,/obj/item/weapon/folder/yellow,/obj/item/weapon/pen{pixel_x = 4; pixel_y = 4},/obj/item/weapon/pen/red{pixel_x = 2; pixel_y = 6},/turf/simulated/floor,/area/quartermaster/qm) +"bJa" = (/obj/structure/table/standard,/obj/item/weapon/clipboard,/obj/item/weapon/stamp{name = "Quartermaster's stamp"; pixel_x = 0; pixel_y = 0},/turf/simulated/floor,/area/quartermaster/qm) "bJb" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/highsecurity{name = "Cyborg Station"; req_access = list(16)},/turf/simulated/floor{icon_state = "dark"},/area/hallway/primary/central_three) "bJc" = (/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=AIW"; location = "QM"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor,/area/hallway/primary/central_three) "bJd" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor,/area/hallway/primary/central_three) @@ -4588,7 +4588,7 @@ "bKl" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/turf/simulated/floor/plating,/area/maintenance/research_shuttle) "bKm" = (/obj/structure/closet/crate,/obj/item/device/multitool,/obj/item/device/multitool,/obj/item/device/assembly/prox_sensor,/obj/item/device/flashlight,/obj/item/weapon/storage/backpack,/turf/simulated/floor/plating,/area/maintenance/research_shuttle) "bKn" = (/obj/structure/table/rack,/obj/item/weapon/extinguisher,/obj/item/weapon/storage/belt/utility,/obj/item/clothing/mask/gas,/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor/plating,/area/maintenance/research_shuttle) -"bKo" = (/obj/structure/table,/obj/machinery/computer/skills{icon_state = "medlaptop"},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/heads/hor) +"bKo" = (/obj/structure/table/standard,/obj/machinery/computer/skills{icon_state = "medlaptop"},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/heads/hor) "bKp" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/rnd/test_area) "bKq" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/rnd/test_area) "bKr" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless,/area/rnd/test_area) @@ -4659,7 +4659,7 @@ "bLE" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/rnd/storage) "bLF" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "white"},/area/rnd/research) "bLG" = (/obj/machinery/light_switch{pixel_y = -23},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/green,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/heads/hor) -"bLH" = (/obj/machinery/keycard_auth{pixel_x = 0; pixel_y = -24},/obj/machinery/light,/obj/structure/table,/obj/machinery/photocopier/faxmachine{department = "Research Director's Office"},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/heads/hop) +"bLH" = (/obj/machinery/keycard_auth{pixel_x = 0; pixel_y = -24},/obj/machinery/light,/obj/structure/table/standard,/obj/machinery/photocopier/faxmachine{department = "Research Director's Office"},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/heads/hop) "bLI" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor{icon_state = "warningcorner"; dir = 8},/area/hallway/primary/central_three) "bLJ" = (/obj/structure/closet/secure_closet/RD,/obj/structure/window/reinforced,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/heads/hor) "bLK" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/obj/structure/window/reinforced,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/heads/hor) @@ -4674,7 +4674,7 @@ "bLT" = (/turf/simulated/floor/airless,/area/rnd/test_area) "bLU" = (/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/simulated/floor/airless,/area/rnd/test_area) "bLV" = (/turf/simulated/shuttle/wall{icon_state = "swall3"; dir = 2},/area/shuttle/mining/station) -"bLW" = (/obj/structure/table,/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/shuttle/floor,/area/shuttle/mining/station) +"bLW" = (/obj/structure/table/standard,/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/shuttle/floor,/area/shuttle/mining/station) "bLX" = (/obj/machinery/computer/shuttle_control/mining,/turf/simulated/shuttle/floor,/area/shuttle/mining/station) "bLY" = (/obj/machinery/camera/network/exodus{c_tag = "Primary Hallway Central - South Southeast"},/obj/structure/sign/securearea{pixel_y = 32},/turf/simulated/floor{icon_state = "warningcorner"; dir = 4},/area/hallway/primary/central_three) "bLZ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/quartermaster/miningdock) @@ -4702,7 +4702,7 @@ "bMv" = (/obj/structure/bed/chair,/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/heads/cmo) "bMw" = (/obj/item/weapon/stool,/obj/effect/landmark/start{name = "Medical Doctor"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/medbreak) "bMx" = (/obj/item/weapon/stool,/obj/effect/landmark/start{name = "Medical Doctor"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/medbreak) -"bMy" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/structure/table,/obj/machinery/photocopier/faxmachine{department = "CMO's Office"},/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/crew_quarters/heads/cmo) +"bMy" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/structure/table/standard,/obj/machinery/photocopier/faxmachine{department = "CMO's Office"},/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/crew_quarters/heads/cmo) "bMz" = (/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/heads/cmo) "bMA" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/heads/cmo) "bMB" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/closet/secure_closet/CMO,/obj/item/clothing/mask/gas,/turf/simulated/floor{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/crew_quarters/heads/cmo) @@ -4748,14 +4748,14 @@ "bNp" = (/obj/structure/disposalpipe/segment,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor,/area/quartermaster/miningdock) "bNq" = (/obj/machinery/hologram/holopad,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/hallway/primary/central_three) "bNr" = (/obj/structure/closet/secure_closet/quartermaster,/turf/simulated/floor,/area/quartermaster/qm) -"bNs" = (/obj/structure/table,/obj/item/weapon/coin/silver{pixel_x = -3; pixel_y = 3},/obj/item/weapon/coin/silver,/obj/item/device/eftpos{eftpos_name = "Quartermaster EFTPOS scanner"},/turf/simulated/floor,/area/quartermaster/qm) -"bNt" = (/obj/structure/table,/obj/item/weapon/cartridge/quartermaster{pixel_x = 6; pixel_y = 5},/obj/item/weapon/cartridge/quartermaster,/obj/item/weapon/cartridge/quartermaster{pixel_x = -4; pixel_y = 7},/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor,/area/quartermaster/qm) +"bNs" = (/obj/structure/table/standard,/obj/item/weapon/coin/silver{pixel_x = -3; pixel_y = 3},/obj/item/weapon/coin/silver,/obj/item/device/eftpos{eftpos_name = "Quartermaster EFTPOS scanner"},/turf/simulated/floor,/area/quartermaster/qm) +"bNt" = (/obj/structure/table/standard,/obj/item/weapon/cartridge/quartermaster{pixel_x = 6; pixel_y = 5},/obj/item/weapon/cartridge/quartermaster,/obj/item/weapon/cartridge/quartermaster{pixel_x = -4; pixel_y = 7},/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor,/area/quartermaster/qm) "bNu" = (/obj/structure/closet/crate,/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor/plating,/area/maintenance/cargo) "bNv" = (/obj/structure/closet/crate,/turf/simulated/floor/plating,/area/maintenance/cargo) "bNw" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{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/plating,/area/maintenance/cargo) "bNx" = (/turf/simulated/wall,/area/maintenance/cargo) "bNy" = (/turf/simulated/wall,/area/storage/tech) -"bNz" = (/obj/structure/table,/obj/item/device/flashlight{pixel_x = 1; pixel_y = 5},/obj/item/device/flashlight{pixel_x = 1; pixel_y = 5},/obj/item/device/flash,/obj/item/device/flash,/obj/machinery/ai_status_display{pixel_x = -32; pixel_y = 0},/turf/simulated/floor/plating,/area/storage/tech) +"bNz" = (/obj/structure/table/standard,/obj/item/device/flashlight{pixel_x = 1; pixel_y = 5},/obj/item/device/flashlight{pixel_x = 1; pixel_y = 5},/obj/item/device/flash,/obj/item/device/flash,/obj/machinery/ai_status_display{pixel_x = -32; pixel_y = 0},/turf/simulated/floor/plating,/area/storage/tech) "bNA" = (/obj/machinery/light/small{dir = 1},/obj/machinery/alarm{frequency = 1439; pixel_y = 23},/turf/simulated/floor/plating,/area/storage/tech) "bNB" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor,/area/hallway/primary/central_three) "bNC" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/stock_parts/manipulator,/obj/item/weapon/stock_parts/matter_bin,/obj/item/weapon/stock_parts/matter_bin,/obj/item/weapon/stock_parts/capacitor,/obj/item/weapon/stock_parts/capacitor,/turf/simulated/floor/plating,/area/storage/tech) @@ -4805,7 +4805,7 @@ "bOu" = (/obj/item/device/radio/intercom{pixel_y = 25},/turf/simulated/floor/engine,/area/rnd/misc_lab) "bOv" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/engine,/area/rnd/misc_lab) "bOw" = (/obj/structure/reagent_dispensers/fueltank,/obj/machinery/light{dir = 1},/turf/simulated/floor/engine,/area/rnd/misc_lab) -"bOx" = (/obj/structure/table,/obj/item/stack/sheet/metal{amount = 10},/turf/simulated/floor/engine,/area/rnd/misc_lab) +"bOx" = (/obj/structure/table/standard,/obj/item/stack/sheet/metal{amount = 10},/turf/simulated/floor/engine,/area/rnd/misc_lab) "bOy" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/light/small{dir = 8},/turf/simulated/floor,/area/rnd/storage) "bOz" = (/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/rnd/storage) "bOA" = (/obj/machinery/portable_atmospherics/canister/sleeping_agent,/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/rnd/storage) @@ -4816,8 +4816,8 @@ "bOF" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) "bOG" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{autoclose = 1; name = "EMT Storage"; req_access = list(5)},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/medbay) "bOH" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/sign/securearea{desc = "A warning sign which reads 'SERVER ROOM'."; name = "SERVER ROOM"; pixel_y = -32},/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor/plating,/area/server) -"bOI" = (/obj/structure/table,/obj/item/weapon/cartridge/signal/science,/obj/item/weapon/cartridge/signal/science{pixel_x = -4; pixel_y = 2},/obj/item/weapon/cartridge/signal/science{pixel_x = 4; pixel_y = 6},/obj/item/clothing/glasses/welding/superior,/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/machinery/camera/network/research{c_tag = "Research - RD's Office"; dir = 1},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/heads/hor) -"bOJ" = (/obj/structure/table,/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "mining_shuttle"; pixel_x = 25; pixel_y = -8; req_one_access = list(13,48); tag_door = "mining_shuttle_hatch"},/obj/machinery/light{dir = 4},/turf/simulated/shuttle/floor,/area/shuttle/mining/station) +"bOI" = (/obj/structure/table/standard,/obj/item/weapon/cartridge/signal/science,/obj/item/weapon/cartridge/signal/science{pixel_x = -4; pixel_y = 2},/obj/item/weapon/cartridge/signal/science{pixel_x = 4; pixel_y = 6},/obj/item/clothing/glasses/welding/superior,/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/machinery/camera/network/research{c_tag = "Research - RD's Office"; dir = 1},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/heads/hor) +"bOJ" = (/obj/structure/table/standard,/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "mining_shuttle"; pixel_x = 25; pixel_y = -8; req_one_access = list(13,48); tag_door = "mining_shuttle_hatch"},/obj/machinery/light{dir = 4},/turf/simulated/shuttle/floor,/area/shuttle/mining/station) "bOK" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/light_switch{pixel_x = -24; pixel_y = -24},/turf/simulated/floor,/area/quartermaster/qm) "bOL" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock/mining{id_tag = "qmdoor"; name = "Quartermaster"; req_access = list(41)},/turf/simulated/floor,/area/quartermaster/qm) "bOM" = (/obj/machinery/door/airlock/maintenance{req_access = list(12)},/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hallway/primary/central_three) @@ -4838,7 +4838,7 @@ "bPb" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/storage/tech) "bPc" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/storage/tech) "bPd" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/storage/tech) -"bPe" = (/obj/structure/table,/obj/item/weapon/module/power_control,/obj/item/weapon/airlock_electronics,/turf/simulated/floor/plating,/area/storage/tech) +"bPe" = (/obj/structure/table/standard,/obj/item/weapon/module/power_control,/obj/item/weapon/airlock_electronics,/turf/simulated/floor/plating,/area/storage/tech) "bPf" = (/turf/simulated/floor/plating,/area/storage/tech) "bPg" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/storage/tech) "bPh" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/plating,/area/storage/tech) @@ -4864,15 +4864,15 @@ "bPB" = (/mob/living/simple_animal/cat/fluff/Runtime,/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/heads/cmo) "bPC" = (/obj/machinery/door/airlock/external{name = "Toxins Test Chamber"},/turf/simulated/floor/plating/airless,/area/rnd/test_area) "bPD" = (/obj/machinery/light{dir = 1},/obj/machinery/camera/network/research{c_tag = "Research - Toxins Test Chamber North"; network = list("Research","Toxins Test Area")},/turf/simulated/floor/airless,/area/rnd/test_area) -"bPE" = (/obj/structure/table,/obj/machinery/computer/skills{pixel_y = 4},/obj/item/device/megaphone,/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/heads/cmo) +"bPE" = (/obj/structure/table/standard,/obj/machinery/computer/skills{pixel_y = 4},/obj/item/device/megaphone,/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/heads/cmo) "bPF" = (/obj/machinery/light/small{dir = 4; pixel_y = 8},/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1380; id_tag = "mining_dock_airlock"; pixel_x = 25; pixel_y = -5; req_one_access = list(13,48); tag_airpump = "mining_dock_pump"; tag_chamber_sensor = "mining_dock_sensor"; tag_exterior_door = "mining_dock_outer"; tag_interior_door = "mining_dock_inner"},/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "mining_dock_sensor"; pixel_x = 25; pixel_y = 8},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/quartermaster/miningdock) -"bPG" = (/obj/structure/table,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/computer/med_data/laptop{pixel_x = 3; pixel_y = 4},/turf/simulated/floor{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/crew_quarters/heads/cmo) +"bPG" = (/obj/structure/table/standard,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/computer/med_data/laptop{pixel_x = 3; pixel_y = 4},/turf/simulated/floor{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/crew_quarters/heads/cmo) "bPH" = (/obj/structure/closet,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor,/area/quartermaster/qm) "bPI" = (/obj/structure/disposalpipe/segment,/obj/machinery/newscaster{pixel_x = 30},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) -"bPJ" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/table,/obj/item/weapon/clipboard,/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 0; pixel_y = 36},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/button/windowtint{id = "isoA_window_tint"; pixel_y = 26},/turf/simulated/floor{dir = 5; icon_state = "whitered"},/area/medical/patient_a) -"bPK" = (/obj/structure/table,/obj/machinery/recharger{pixel_y = 0},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/medbreak) -"bPL" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/drinks/britcup,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/medbreak) -"bPM" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/table,/obj/item/weapon/clipboard,/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 0; pixel_y = 36},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/button/windowtint{id = "isoB_window_tint"; pixel_y = 26},/turf/simulated/floor{dir = 5; icon_state = "whitered"},/area/medical/patient_b) +"bPJ" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/table/standard,/obj/item/weapon/clipboard,/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 0; pixel_y = 36},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/button/windowtint{id = "isoA_window_tint"; pixel_y = 26},/turf/simulated/floor{dir = 5; icon_state = "whitered"},/area/medical/patient_a) +"bPK" = (/obj/structure/table/standard,/obj/machinery/recharger{pixel_y = 0},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/medbreak) +"bPL" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/food/drinks/britcup,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/medbreak) +"bPM" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/table/standard,/obj/item/weapon/clipboard,/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 0; pixel_y = 36},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/button/windowtint{id = "isoB_window_tint"; pixel_y = 26},/turf/simulated/floor{dir = 5; icon_state = "whitered"},/area/medical/patient_b) "bPN" = (/obj/machinery/computer/med_data,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/medbreak) "bPO" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{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/plating,/area/maintenance/research_port) "bPP" = (/obj/machinery/sparker{id = "Xenobio"; pixel_x = -25},/turf/simulated/floor/engine,/area/rnd/misc_lab) @@ -4915,7 +4915,7 @@ "bQA" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/circuitboard/borgupload{pixel_x = -1; pixel_y = 1},/obj/item/weapon/circuitboard/aiupload{pixel_x = 2; pixel_y = -2},/turf/simulated/floor,/area/storage/tech) "bQB" = (/obj/machinery/portable_atmospherics/canister,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/rnd/mixing) "bQC" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"},/turf/simulated/wall/r_wall,/area/storage/tech) -"bQD" = (/obj/structure/table,/obj/item/device/aicard,/obj/item/weapon/aiModule/reset,/turf/simulated/floor/plating,/area/storage/tech) +"bQD" = (/obj/structure/table/standard,/obj/item/device/aicard,/obj/item/weapon/aiModule/reset,/turf/simulated/floor/plating,/area/storage/tech) "bQE" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/circuitboard/pandemic{pixel_x = -3; pixel_y = 3},/obj/item/weapon/circuitboard/rdconsole,/obj/item/weapon/circuitboard/destructive_analyzer,/obj/item/weapon/circuitboard/protolathe,/obj/item/weapon/circuitboard/rdserver{pixel_x = 3; pixel_y = -3},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/storage/tech) "bQF" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/circuitboard/arcade,/obj/item/weapon/circuitboard/message_monitor{pixel_x = 3; pixel_y = -3},/turf/simulated/floor/plating,/area/storage/tech) "bQG" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/circuitboard/security/mining,/obj/item/weapon/circuitboard/autolathe{pixel_x = 3; pixel_y = -3},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/storage/tech) @@ -4923,8 +4923,8 @@ "bQI" = (/obj/item/device/radio/intercom{freerange = 1; frequency = 1459; name = "Station Intercom (General)"; pixel_x = -27},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor{dir = 8; icon_state = "cautioncorner"},/area/hallway/primary/aft) "bQJ" = (/turf/simulated/floor,/area/hallway/primary/aft) "bQK" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/structure/disposalpipe/segment,/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft) -"bQL" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/turf/simulated/floor,/area/janitor) -"bQM" = (/obj/structure/table,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/machinery/requests_console{department = "Janitorial"; departmentType = 1; pixel_y = -29},/obj/item/weapon/reagent_containers/spray/cleaner,/turf/simulated/floor,/area/janitor) +"bQL" = (/obj/structure/table/standard,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/turf/simulated/floor,/area/janitor) +"bQM" = (/obj/structure/table/standard,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/machinery/requests_console{department = "Janitorial"; departmentType = 1; pixel_y = -29},/obj/item/weapon/reagent_containers/spray/cleaner,/turf/simulated/floor,/area/janitor) "bQN" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/obj/machinery/light,/turf/simulated/floor,/area/janitor) "bQO" = (/obj/structure/janitorialcart,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor,/area/janitor) "bQP" = (/obj/item/weapon/legcuffs/beartrap,/obj/item/weapon/legcuffs/beartrap,/obj/item/weapon/storage/box/mousetraps,/obj/item/weapon/storage/box/mousetraps,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/janitor) @@ -4940,7 +4940,7 @@ "bQZ" = (/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/crew_quarters/heads/cmo) "bRa" = (/obj/structure/table/rack,/obj/item/clothing/accessory/stethoscope,/obj/item/clothing/glasses/hud/health,/obj/item/device/flashlight/pen,/obj/item/weapon/storage/belt/medical,/obj/machinery/keycard_auth{pixel_x = 0; pixel_y = -24},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = -38},/turf/simulated/floor{dir = 2; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/crew_quarters/heads/cmo) "bRb" = (/obj/item/weapon/stool,/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = -30},/obj/effect/landmark/start{name = "Chemist"},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/medbreak) -"bRc" = (/obj/structure/table,/obj/item/weapon/folder/white{pixel_y = 10},/obj/item/weapon/clipboard,/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/obj/item/weapon/stamp/cmo,/turf/simulated/floor{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/crew_quarters/heads/cmo) +"bRc" = (/obj/structure/table/standard,/obj/item/weapon/folder/white{pixel_y = 10},/obj/item/weapon/clipboard,/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/obj/item/weapon/stamp/cmo,/turf/simulated/floor{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/crew_quarters/heads/cmo) "bRd" = (/obj/machinery/portable_atmospherics/powered/pump/filled,/obj/machinery/atmospherics/portables_connector,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/rnd/mixing) "bRe" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 1},/obj/machinery/meter,/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/rnd/mixing) "bRf" = (/obj/machinery/computer/crew,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/medbreak) @@ -4953,7 +4953,7 @@ "bRm" = (/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/obj/structure/bed/chair/office/dark,/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/patient_a) "bRn" = (/turf/simulated/wall,/area/medical/patient_b) "bRo" = (/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor/engine,/area/rnd/misc_lab) -"bRp" = (/obj/structure/table,/obj/item/device/assembly/igniter,/turf/simulated/floor/engine,/area/rnd/misc_lab) +"bRp" = (/obj/structure/table/standard,/obj/item/device/assembly/igniter,/turf/simulated/floor/engine,/area/rnd/misc_lab) "bRq" = (/obj/effect/decal/cleanable/blood/oil,/turf/simulated/floor{icon_state = "floorgrime"},/area/rnd/storage) "bRr" = (/obj/machinery/portable_atmospherics/canister/phoron,/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/rnd/storage) "bRs" = (/obj/structure/extinguisher_cabinet{pixel_x = -24},/turf/simulated/floor{dir = 5; icon_state = "whitehall"},/area/rnd/research) @@ -5001,18 +5001,18 @@ "bSi" = (/obj/structure/disposalpipe/segment,/obj/machinery/light_switch{pixel_x = 22; pixel_y = -9},/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/camera/network/medbay{c_tag = "Medbay Port Corridor"; dir = 8},/turf/simulated/floor{dir = 4; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay) "bSj" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/engineering) "bSk" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/maintenance/engineering) -"bSl" = (/obj/structure/table,/obj/item/device/t_scanner,/turf/simulated/floor/plating,/area/maintenance/engineering) +"bSl" = (/obj/structure/table/standard,/obj/item/device/t_scanner,/turf/simulated/floor/plating,/area/maintenance/engineering) "bSm" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) "bSn" = (/obj/machinery/light_switch{pixel_x = -22; pixel_y = -9},/obj/machinery/requests_console{announcementConsole = 1; department = "Chief Medical Officer's Desk"; departmentType = 5; name = "Chief Medical Officer RC"; pixel_x = -34; pixel_y = 2},/obj/machinery/camera/network/medbay{c_tag = "Medbay - CMO's Office"; dir = 4},/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/crew_quarters/heads/cmo) "bSo" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) "bSp" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "staffroom"; name = "Staff Room Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/medbay2) "bSq" = (/obj/machinery/light,/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/turf/simulated/floor{dir = 10; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/crew_quarters/heads/cmo) -"bSr" = (/obj/structure/table,/obj/item/weapon/paper{desc = "A few notes scratched out by the last CMO before they departed the station."; info = "\[i]\[center]To the incoming CMO of Exodus:\[/i]\[/center]\[br]\[br]I wish you and your crew well. Do take note:\[br]\[br]\[br]The Medical Emergency Red Phone system has proven itself well. Take care to keep the phones in their designated places as they have been optimised for broadcast. The two handheld green radios (I have left one in this office, and one near the Emergency Entrance) are free to be used. The system has proven effective at alerting Medbay of important details, especially during power outages.\[br]\[br]I think I may have left the toilet cubicle doors shut. It might be a good idea to open them so the staff and patients know they are not engaged.\[br]\[br]The new syringe gun has been stored in secondary storage. I tend to prefer it stored in my office, but 'guidelines' are 'guidelines'.\[br]\[br]Also in secondary storage is the grenade equipment crate. I've just realised I've left it open - you may wish to shut it.\[br]\[br]There were a few problems with their installation, but the Medbay Quarantine shutters should now be working again - they lock down the Emergency and Main entrances to prevent travel in and out. Pray you shan't have to use them.\[br]\[br]The new version of the Medical Diagnostics Manual arrived. I distributed them to the shelf in the staff break room, and one on the table in the corner of this room.\[br]\[br]The exam/triage room has the walking canes in it. I'm not sure why we'd need them - but there you have it.\[br]\[br]Emergency Cryo bags are beside the emergency entrance, along with a kit.\[br]\[br]Spare paper cups for the reception are on the left side of the reception desk.\[br]\[br]I've fed Runtime. She should be fine.\[br]\[br]\[br]\[center]That should be all. Good luck!\[/center]"; name = "Outgoing CMO's Notes"},/obj/item/device/radio{frequency = 1487; name = "Medbay Emergency Radio Link"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/heads/cmo) +"bSr" = (/obj/structure/table/standard,/obj/item/weapon/paper{desc = "A few notes scratched out by the last CMO before they departed the station."; info = "\[i]\[center]To the incoming CMO of Exodus:\[/i]\[/center]\[br]\[br]I wish you and your crew well. Do take note:\[br]\[br]\[br]The Medical Emergency Red Phone system has proven itself well. Take care to keep the phones in their designated places as they have been optimised for broadcast. The two handheld green radios (I have left one in this office, and one near the Emergency Entrance) are free to be used. The system has proven effective at alerting Medbay of important details, especially during power outages.\[br]\[br]I think I may have left the toilet cubicle doors shut. It might be a good idea to open them so the staff and patients know they are not engaged.\[br]\[br]The new syringe gun has been stored in secondary storage. I tend to prefer it stored in my office, but 'guidelines' are 'guidelines'.\[br]\[br]Also in secondary storage is the grenade equipment crate. I've just realised I've left it open - you may wish to shut it.\[br]\[br]There were a few problems with their installation, but the Medbay Quarantine shutters should now be working again - they lock down the Emergency and Main entrances to prevent travel in and out. Pray you shan't have to use them.\[br]\[br]The new version of the Medical Diagnostics Manual arrived. I distributed them to the shelf in the staff break room, and one on the table in the corner of this room.\[br]\[br]The exam/triage room has the walking canes in it. I'm not sure why we'd need them - but there you have it.\[br]\[br]Emergency Cryo bags are beside the emergency entrance, along with a kit.\[br]\[br]Spare paper cups for the reception are on the left side of the reception desk.\[br]\[br]I've fed Runtime. She should be fine.\[br]\[br]\[br]\[center]That should be all. Good luck!\[/center]"; name = "Outgoing CMO's Notes"},/obj/item/device/radio{frequency = 1487; name = "Medbay Emergency Radio Link"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/heads/cmo) "bSs" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/heads/cmo) "bSt" = (/obj/machinery/computer/crew,/obj/machinery/light,/turf/simulated/floor{dir = 6; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/crew_quarters/heads/cmo) "bSu" = (/obj/machinery/light_switch{pixel_x = -22; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/medical/medbay2) "bSv" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) -"bSw" = (/obj/structure/table,/obj/structure/table,/obj/item/stack/cable_coil,/obj/item/device/multitool,/obj/machinery/cell_charger,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/turf/simulated/floor/engine,/area/rnd/misc_lab) +"bSw" = (/obj/structure/table/standard,/obj/structure/table/standard,/obj/item/stack/cable_coil,/obj/item/device/multitool,/obj/machinery/cell_charger,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/turf/simulated/floor/engine,/area/rnd/misc_lab) "bSx" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/machinery/light,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/medbreak) "bSy" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/computer/security/telescreen{desc = "Used for watching the test chamber."; layer = 4; name = "Test Chamber Telescreen"; network = list("Toxins Test Area"); pixel_x = 32; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor{icon_state = "warningcorner"; dir = 1},/area/rnd/mixing) "bSz" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/structure/extinguisher_cabinet{pixel_x = -24},/turf/simulated/floor{dir = 8; icon_state = "cautioncorner"},/area/hallway/primary/aft) @@ -5060,7 +5060,7 @@ "bTp" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/circuitboard/robotics{pixel_x = -2; pixel_y = 2},/obj/item/weapon/circuitboard/mecha_control{pixel_x = 1; pixel_y = -1},/turf/simulated/floor,/area/storage/tech) "bTq" = (/turf/simulated/floor,/area/storage/tech) "bTr" = (/obj/structure/sign/securearea,/turf/simulated/wall/r_wall,/area/storage/tech) -"bTs" = (/obj/structure/table,/obj/item/weapon/screwdriver{pixel_y = 16},/obj/item/weapon/wirecutters,/turf/simulated/floor/plating,/area/storage/tech) +"bTs" = (/obj/structure/table/standard,/obj/item/weapon/screwdriver{pixel_y = 16},/obj/item/weapon/wirecutters,/turf/simulated/floor/plating,/area/storage/tech) "bTt" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/circuitboard/cloning{pixel_x = 0},/obj/item/weapon/circuitboard/clonescanner,/obj/item/weapon/circuitboard/clonepod,/obj/item/weapon/circuitboard/scan_consolenew,/obj/item/weapon/circuitboard/med_data{pixel_x = 3; pixel_y = -3},/turf/simulated/floor/plating,/area/storage/tech) "bTu" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/circuitboard/powermonitor{pixel_x = -2; pixel_y = 2},/obj/item/weapon/circuitboard/stationalert_engineering{pixel_x = 1; pixel_y = -1},/obj/item/weapon/circuitboard/security/engineering,/obj/item/weapon/circuitboard/atmos_alert{pixel_x = 3; pixel_y = -3},/turf/simulated/floor/plating,/area/storage/tech) "bTv" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/circuitboard/secure_data{pixel_x = -2; pixel_y = 2},/obj/item/weapon/circuitboard/security{pixel_x = 1; pixel_y = -1},/obj/item/weapon/circuitboard/skills{pixel_x = 4; pixel_y = -3},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/storage/tech) @@ -5087,10 +5087,10 @@ "bTQ" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{icon_state = "bot"},/area/rnd/research) "bTR" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/medical/medbay4) "bTS" = (/obj/machinery/door/firedoor,/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay4) -"bTT" = (/obj/structure/table,/obj/machinery/computer/med_data/laptop,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor{dir = 10; icon_state = "whitered"},/area/medical/patient_a) +"bTT" = (/obj/structure/table/standard,/obj/machinery/computer/med_data/laptop,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor{dir = 10; icon_state = "whitered"},/area/medical/patient_a) "bTU" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor{dir = 3; icon_state = "whitered"},/area/medical/patient_a) "bTV" = (/obj/machinery/iv_drip,/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{dir = 6; icon_state = "whitered"},/area/medical/patient_a) -"bTW" = (/obj/structure/table,/obj/machinery/computer/med_data/laptop,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor{dir = 10; icon_state = "whitered"},/area/medical/patient_b) +"bTW" = (/obj/structure/table/standard,/obj/machinery/computer/med_data/laptop,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor{dir = 10; icon_state = "whitered"},/area/medical/patient_b) "bTX" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor{dir = 3; icon_state = "whitered"},/area/medical/patient_b) "bTY" = (/obj/machinery/iv_drip,/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{dir = 6; icon_state = "whitered"},/area/medical/patient_b) "bTZ" = (/obj/machinery/shieldwallgen{anchored = 1; req_access = list(47)},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor{icon_state = "white"},/area/rnd/misc_lab) @@ -5120,7 +5120,7 @@ "bUx" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/maintenance/cargo) "bUy" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/cable/green,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/storage/tech) "bUz" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/storage/tech) -"bUA" = (/obj/structure/table,/obj/item/stack/cable_coil{pixel_x = -3; pixel_y = 3},/obj/item/stack/cable_coil,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/turf/simulated/floor/plating,/area/storage/tech) +"bUA" = (/obj/structure/table/standard,/obj/item/stack/cable_coil{pixel_x = -3; pixel_y = 3},/obj/item/stack/cable_coil,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/turf/simulated/floor/plating,/area/storage/tech) "bUB" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/plating,/area/storage/tech) "bUC" = (/obj/structure/grille,/obj/structure/window/reinforced/polarized{id = "isoB_window_tint"},/obj/structure/window/reinforced/polarized{dir = 4; id = "isoB_window_tint"},/obj/structure/window/reinforced/polarized{dir = 1; id = "isoB_window_tint"},/obj/structure/window/reinforced/polarized{dir = 8; id = "isoB_window_tint"},/turf/simulated/floor/plating,/area/medical/patient_b) "bUD" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{dir = 8; icon_state = "yellowcorner"},/area/hallway/primary/aft) @@ -5150,7 +5150,7 @@ "bVb" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay4) "bVc" = (/obj/structure/table/woodentable,/obj/item/weapon/dice,/turf/simulated/floor/carpet,/area/engineering/break_room) "bVd" = (/obj/item/device/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_y = 20},/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/patient_wing) -"bVe" = (/obj/structure/table,/obj/item/weapon/reagent_containers/spray/cleaner,/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/patient_wing) +"bVe" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/spray/cleaner,/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/patient_wing) "bVf" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/green,/turf/simulated/floor/carpet,/area/engineering/break_room) "bVg" = (/obj/structure/closet/secure_closet/personal/patient,/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/patient_wing) "bVh" = (/obj/machinery/iv_drip,/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/patient_wing) @@ -5193,7 +5193,7 @@ "bVS" = (/obj/structure/closet/emcloset,/turf/simulated/floor/plating,/area/maintenance/cargo) "bVT" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/maintenance/cargo) "bVU" = (/obj/structure/disposalpipe/segment,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/cable{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/plating,/area/maintenance/cargo) -"bVV" = (/obj/structure/table,/obj/machinery/cell_charger{pixel_y = 5},/obj/item/device/multitool,/obj/machinery/status_display{layer = 4; pixel_x = -32; pixel_y = 0},/turf/simulated/floor/plating,/area/storage/tech) +"bVV" = (/obj/structure/table/standard,/obj/machinery/cell_charger{pixel_y = 5},/obj/item/device/multitool,/obj/machinery/status_display{layer = 4; pixel_x = -32; pixel_y = 0},/turf/simulated/floor/plating,/area/storage/tech) "bVW" = (/obj/machinery/light/small,/turf/simulated/floor/plating,/area/storage/tech) "bVX" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/storage/toolbox/electrical{pixel_x = 1; pixel_y = -1},/obj/item/clothing/gloves/yellow,/obj/item/device/t_scanner,/obj/item/clothing/glasses/meson,/obj/item/device/multitool,/turf/simulated/floor/plating,/area/storage/tech) "bVY" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/device/analyzer/plant_analyzer,/obj/item/device/healthanalyzer,/obj/item/device/analyzer,/obj/item/device/analyzer,/turf/simulated/floor/plating,/area/storage/tech) @@ -5232,7 +5232,7 @@ "bWF" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "whiteredcorner"},/area/medical/patient_wing) "bWG" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor{dir = 1; icon_state = "whitered_a"; tag = "icon-whitered_a (WEST)"},/area/medical/patient_wing) "bWH" = (/obj/structure/bed/chair/comfy/beige,/obj/effect/landmark/start{name = "Station Engineer"},/turf/simulated/floor/carpet,/area/engineering/break_room) -"bWI" = (/obj/machinery/light{dir = 1},/obj/machinery/alarm{pixel_y = 25},/obj/structure/table,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/patient_wing) +"bWI" = (/obj/machinery/light{dir = 1},/obj/machinery/alarm{pixel_y = 25},/obj/structure/table/standard,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/patient_wing) "bWJ" = (/turf/simulated/floor/carpet,/area/engineering/break_room) "bWK" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/turf/simulated/floor{dir = 1; icon_state = "whitered_b"; tag = "icon-whitered_b (WEST)"},/area/medical/patient_wing) "bWL" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor{dir = 1; icon_state = "whiteredcorner"},/area/medical/patient_wing) @@ -5263,7 +5263,7 @@ "bXk" = (/turf/simulated/floor/airless{dir = 5; icon_state = "warning"},/area/rnd/test_area) "bXl" = (/turf/simulated/floor/airless{icon_state = "warningcorner"; dir = 4},/area/rnd/test_area) "bXm" = (/obj/structure/window/shuttle,/obj/structure/grille,/turf/simulated/shuttle/plating,/area/shuttle/escape_pod5/station) -"bXn" = (/obj/structure/table,/obj/item/bodybag/cryobag{pixel_x = 6},/obj/item/stack/medical/bruise_pack{pixel_x = -4; pixel_y = 3},/obj/item/stack/medical/bruise_pack{pixel_x = -4; pixel_y = 3},/obj/item/stack/medical/ointment{pixel_y = 10},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor{icon_state = "yellowfull"; dir = 8},/area/crew_quarters/sleep/engi_wash) +"bXn" = (/obj/structure/table/standard,/obj/item/bodybag/cryobag{pixel_x = 6},/obj/item/stack/medical/bruise_pack{pixel_x = -4; pixel_y = 3},/obj/item/stack/medical/bruise_pack{pixel_x = -4; pixel_y = 3},/obj/item/stack/medical/ointment{pixel_y = 10},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor{icon_state = "yellowfull"; dir = 8},/area/crew_quarters/sleep/engi_wash) "bXo" = (/obj/structure/closet/wardrobe/atmospherics_yellow,/turf/simulated/floor{icon_state = "yellowfull"; dir = 8},/area/crew_quarters/sleep/engi_wash) "bXp" = (/obj/machinery/atmospherics/pipe/manifold/visible,/obj/machinery/meter,/turf/simulated/floor{icon_state = "white"},/area/rnd/mixing) "bXq" = (/obj/machinery/atmospherics/unary/heat_exchanger{dir = 4},/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/rnd/mixing) @@ -5362,7 +5362,7 @@ "bZf" = (/turf/simulated/wall/r_wall,/area/maintenance/atmos_control) "bZg" = (/turf/simulated/wall,/area/maintenance/atmos_control) "bZh" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/maintenance/engineering) -"bZi" = (/obj/structure/table,/obj/structure/disposalpipe/segment,/obj/machinery/camera/network/medbay{c_tag = "Medbay Lounge"},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay4) +"bZi" = (/obj/structure/table/standard,/obj/structure/disposalpipe/segment,/obj/machinery/camera/network/medbay{c_tag = "Medbay Lounge"},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay4) "bZj" = (/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor,/area/medical/sleeper) "bZk" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor,/area/medical/sleeper) "bZl" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/medical/sleeper) @@ -5443,8 +5443,8 @@ "caI" = (/turf/simulated/wall,/area/medical/psych) "caJ" = (/obj/machinery/door/airlock/glass_research{autoclose = 0; frequency = 1379; glass = 1; icon_state = "door_locked"; id_tag = "tox_airlock_exterior"; locked = 1; name = "Mixing Room Exterior Airlock"; req_access = list(8)},/turf/simulated/floor/engine,/area/rnd/mixing) "caK" = (/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{dir = 5},/turf/simulated/floor{icon_state = "dark"},/area/medical/biostorage) -"caL" = (/obj/structure/table,/obj/item/weapon/storage/box/lights/mixed,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 0; pixel_y = 22},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/medical/biostorage) -"caM" = (/obj/structure/table,/obj/machinery/computer/med_data/laptop,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor{dir = 9; icon_state = "whitered"},/area/medical/patient_c) +"caL" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/lights/mixed,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 0; pixel_y = 22},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/medical/biostorage) +"caM" = (/obj/structure/table/standard,/obj/machinery/computer/med_data/laptop,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor{dir = 9; icon_state = "whitered"},/area/medical/patient_c) "caN" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/turf/simulated/floor{dir = 1; icon_state = "whitered"},/area/medical/patient_c) "caO" = (/obj/machinery/iv_drip,/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{dir = 5; icon_state = "whitered"},/area/medical/patient_c) "caP" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "freezerfloor"},/area/medical/patient_wing) @@ -5581,7 +5581,7 @@ "cdq" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/ward) "cdr" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/ward) "cds" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "white"},/area/medical/ward) -"cdt" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/machinery/newscaster{pixel_x = 30},/obj/structure/table,/obj/machinery/computer/med_data/laptop{pixel_x = 3; pixel_y = 4},/turf/simulated/floor{dir = 4; icon_state = "whitered"},/area/medical/ward) +"cdt" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/machinery/newscaster{pixel_x = 30},/obj/structure/table/standard,/obj/machinery/computer/med_data/laptop{pixel_x = 3; pixel_y = 4},/turf/simulated/floor{dir = 4; icon_state = "whitered"},/area/medical/ward) "cdu" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor{icon_state = "bcarpet01"},/area/medical/psych) "cdv" = (/turf/simulated/floor{icon_state = "bcarpet02"},/area/medical/psych) "cdw" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{icon_state = "bcarpet03"},/area/medical/psych) @@ -5628,8 +5628,8 @@ "cel" = (/obj/structure/closet/secure_closet/engineering_chief,/obj/item/weapon/tank/emergency_oxygen/engi,/turf/simulated/floor,/area/crew_quarters/heads/chief) "cem" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/carpet,/area/engineering/break_room) "cen" = (/obj/machinery/iv_drip,/turf/simulated/floor{icon_state = "white"},/area/medical/patient_wing) -"ceo" = (/obj/structure/table,/obj/item/weapon/storage/box/cdeathalarm_kit,/obj/item/bodybag/cryobag{pixel_x = -3},/obj/item/bodybag/cryobag{pixel_x = -3},/turf/simulated/floor{icon_state = "dark"},/area/medical/biostorage) -"cep" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/table,/obj/item/weapon/clipboard,/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 0; pixel_y = -36},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/button/windowtint{id = "isoC_window_tint"; pixel_y = -26},/turf/simulated/floor{dir = 6; icon_state = "whitered"},/area/medical/patient_c) +"ceo" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/cdeathalarm_kit,/obj/item/bodybag/cryobag{pixel_x = -3},/obj/item/bodybag/cryobag{pixel_x = -3},/turf/simulated/floor{icon_state = "dark"},/area/medical/biostorage) +"cep" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/table/standard,/obj/item/weapon/clipboard,/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 0; pixel_y = -36},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/button/windowtint{id = "isoC_window_tint"; pixel_y = -26},/turf/simulated/floor{dir = 6; icon_state = "whitered"},/area/medical/patient_c) "ceq" = (/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/purple,/turf/simulated/floor{dir = 2; icon_state = "whitegreen"},/area/rnd/xenobiology) "cer" = (/obj/machinery/keycard_auth{pixel_x = -24; pixel_y = 0},/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for engine core."; id = "EngineVent"; name = "Engine Ventillatory Control"; pixel_x = -24; pixel_y = 10; req_access = list(10)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/button/remote/airlock{desc = "A remote control-switch for the engine core airlock hatch bolts."; id = "engine_access_hatch"; name = "Engine Hatch Bolt Control"; pixel_x = -24; pixel_y = -10; req_access = list(10); specialfunctions = 4},/turf/simulated/floor,/area/crew_quarters/heads/chief) "ces" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/disposalpipe/segment,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/maintenance/atmos_control) @@ -5665,7 +5665,7 @@ "ceW" = (/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/engineering/break_room) "ceX" = (/obj/structure/noticeboard{pixel_x = 32; pixel_y = 0},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/engineering/break_room) "ceY" = (/obj/machinery/light,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/sleep/engi_wash) -"ceZ" = (/obj/structure/table,/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/obj/machinery/light{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/item/weapon/hand_labeler,/turf/simulated/floor{tag = "icon-whitegreen (NORTHWEST)"; icon_state = "whitegreen"; dir = 9},/area/rnd/xenobiology/xenoflora_storage) +"ceZ" = (/obj/structure/table/standard,/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/obj/machinery/light{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/item/weapon/hand_labeler,/turf/simulated/floor{tag = "icon-whitegreen (NORTHWEST)"; icon_state = "whitegreen"; dir = 9},/area/rnd/xenobiology/xenoflora_storage) "cfa" = (/obj/structure/bed/chair,/turf/simulated/floor,/area/medical/surgeryobs) "cfb" = (/obj/structure/closet/secure_closet/hydroponics{req_access = list(47)},/turf/simulated/floor{dir = 1; icon_state = "whitegreen"},/area/rnd/xenobiology/xenoflora_storage) "cfc" = (/obj/machinery/light{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/obj/machinery/light_switch{pixel_x = 27},/obj/machinery/smartfridge/drying_rack,/turf/simulated/floor{tag = "icon-whitegreen_v (NORTHEAST)"; icon_state = "whitegreen_v"; dir = 5},/area/rnd/xenobiology/xenoflora_storage) @@ -5677,10 +5677,10 @@ "cfi" = (/obj/item/weapon/shard,/mob/living/simple_animal/mouse,/turf/simulated/floor/plating,/area/maintenance/research_port) "cfj" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance{req_one_access = list(12,47)},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/rnd/xenobiology) "cfk" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance{req_one_access = list(12,47)},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/turf/simulated/floor/plating,/area/rnd/xenobiology) -"cfl" = (/obj/machinery/light{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/structure/table,/obj/item/weapon/storage/box/botanydisk,/turf/simulated/floor{dir = 8; icon_state = "whitegreen"},/area/rnd/xenobiology/xenoflora) +"cfl" = (/obj/machinery/light{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/structure/table/standard,/obj/item/weapon/storage/box/botanydisk,/turf/simulated/floor{dir = 8; icon_state = "whitegreen"},/area/rnd/xenobiology/xenoflora) "cfm" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 4},/turf/simulated/floor/plating,/area/maintenance/research_starboard) "cfn" = (/obj/machinery/botany/extractor,/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology/xenoflora) -"cfo" = (/obj/structure/table,/obj/machinery/reagentgrinder,/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology/xenoflora) +"cfo" = (/obj/structure/table/standard,/obj/machinery/reagentgrinder,/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology/xenoflora) "cfp" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/machinery/smartfridge,/turf/simulated/floor{dir = 4; icon_state = "whitegreen"},/area/rnd/xenobiology/xenoflora) "cfq" = (/obj/structure/closet/emcloset,/turf/simulated/floor/plating{dir = 2; icon_state = "warnplatecorner"},/area/maintenance/research_starboard) "cfr" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/maintenance/research_starboard) @@ -5690,9 +5690,9 @@ "cfv" = (/obj/machinery/light/small,/turf/simulated/floor/plating/airless,/area/rnd/test_area) "cfw" = (/obj/machinery/light{dir = 8},/turf/simulated/floor/plating,/area/construction) "cfx" = (/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor/plating,/area/construction) -"cfy" = (/obj/structure/table,/obj/item/weapon/tank/emergency_oxygen/engi,/obj/random/tech_supply,/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor/plating,/area/construction) -"cfz" = (/obj/structure/table,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor,/area/construction) -"cfA" = (/obj/structure/table,/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor,/area/construction) +"cfy" = (/obj/structure/table/standard,/obj/item/weapon/tank/emergency_oxygen/engi,/obj/random/tech_supply,/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor/plating,/area/construction) +"cfz" = (/obj/structure/table/standard,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor,/area/construction) +"cfA" = (/obj/structure/table/standard,/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor,/area/construction) "cfB" = (/obj/item/clothing/mask/smokable/cigarette,/turf/simulated/floor/plating/airless,/area/rnd/test_area) "cfC" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/atmos_control) "cfD" = (/obj/machinery/light/small{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/atmos_control) @@ -5712,7 +5712,7 @@ "cfR" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/research_starboard) "cfS" = (/obj/structure/closet/secure_closet/personal,/turf/simulated/floor/wood,/area/crew_quarters/sleep/bedrooms) "cfT" = (/obj/machinery/power/tracker,/obj/structure/cable/yellow,/turf/simulated/floor/plating/airless,/area/solar/starboard) -"cfU" = (/obj/structure/table,/obj/item/weapon/storage/box/drinkingglasses{pixel_x = 1; pixel_y = 4},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/engineering/break_room) +"cfU" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/drinkingglasses{pixel_x = 1; pixel_y = 4},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/engineering/break_room) "cfV" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor{icon_state = "blue"; dir = 10},/area/medical/surgeryobs) "cfW" = (/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/medical/surgeryobs) "cfX" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor{icon_state = "blue"; dir = 6},/area/medical/surgeryobs) @@ -5727,7 +5727,7 @@ "cgg" = (/obj/machinery/vending/snack,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/engineering/break_room) "cgh" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "whitegreen"},/area/medical/patient_wing) "cgi" = (/obj/structure/bed/chair/comfy/brown,/obj/effect/landmark/start{name = "Psychiatrist"},/turf/simulated/floor{icon_state = "bcarpet06"},/area/medical/psych) -"cgj" = (/obj/structure/table,/turf/simulated/floor{dir = 2; icon_state = "whitegreen"},/area/medical/patient_wing) +"cgj" = (/obj/structure/table/standard,/turf/simulated/floor{dir = 2; icon_state = "whitegreen"},/area/medical/patient_wing) "cgk" = (/obj/item/weapon/storage/toolbox/emergency,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "dark"},/area/medical/biostorage) "cgl" = (/obj/structure/table/rack,/obj/item/clothing/suit/radiation,/obj/item/clothing/head/radiation,/turf/simulated/floor{icon_state = "dark"},/area/medical/biostorage) "cgm" = (/obj/item/device/radio/intercom{layer = 4; name = "Station Intercom (General)"; pixel_y = -29},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/camera/network/engineering{c_tag = "Engineering - CE's Office"; dir = 1},/turf/simulated/floor,/area/crew_quarters/heads/chief) @@ -5765,7 +5765,7 @@ "cgS" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/construction) "cgT" = (/turf/simulated/floor/plating,/area/construction) "cgU" = (/turf/simulated/floor,/area/construction) -"cgV" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/table,/obj/item/clothing/gloves/black,/obj/item/device/multitool{pixel_x = 5},/obj/random/tech_supply,/turf/simulated/floor,/area/construction) +"cgV" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/table/standard,/obj/item/clothing/gloves/black,/obj/item/device/multitool{pixel_x = 5},/obj/random/tech_supply,/turf/simulated/floor,/area/construction) "cgW" = (/obj/machinery/door/airlock/glass_medical{name = "Patient Ward"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay4) "cgX" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/turf/simulated/floor/plating,/area/rnd/xenobiology/xenoflora) "cgY" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "toxin_test_inner"; locked = 1; name = "Engineering External Access"; req_access = list(13)},/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/research_starboard) @@ -5782,19 +5782,19 @@ "chj" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/engineering/foyer) "chk" = (/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/obj/structure/bed/chair/comfy/brown{dir = 4},/turf/simulated/floor{icon_state = "bcarpet08"},/area/medical/psych) "chl" = (/obj/structure/bed/psych,/obj/item/weapon/bedsheet/brown,/turf/simulated/floor{icon_state = "bcarpet09"},/area/medical/psych) -"chm" = (/obj/structure/table,/obj/item/weapon/gun/launcher/syringe,/obj/item/weapon/storage/box/syringegun,/turf/simulated/floor{icon_state = "dark"},/area/medical/biostorage) +"chm" = (/obj/structure/table/standard,/obj/item/weapon/gun/launcher/syringe,/obj/item/weapon/storage/box/syringegun,/turf/simulated/floor{icon_state = "dark"},/area/medical/biostorage) "chn" = (/obj/machinery/light,/obj/machinery/camera/network/research{c_tag = "Research - Toxins Test Chamber South"; dir = 1; network = list("Research","Toxins Test Area")},/turf/simulated/floor/airless,/area/rnd/test_area) "cho" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/purple,/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) "chp" = (/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/window/reinforced/polarized{dir = 1},/obj/structure/window/reinforced/polarized{dir = 8},/obj/structure/window/reinforced/polarized,/turf/simulated/floor/plating,/area/crew_quarters/heads/chief) "chq" = (/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/window/reinforced/polarized{dir = 1},/obj/structure/window/reinforced/polarized,/turf/simulated/floor/plating,/area/crew_quarters/heads/chief) -"chr" = (/obj/structure/table,/obj/item/weapon/storage/box/gloves{pixel_x = 4; pixel_y = 4},/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/item/weapon/storage/box/masks,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor{dir = 9; icon_state = "blue"},/area/medical/surgeryprep) +"chr" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/gloves{pixel_x = 4; pixel_y = 4},/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/item/weapon/storage/box/masks,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor{dir = 9; icon_state = "blue"},/area/medical/surgeryprep) "chs" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{dir = 1; icon_state = "bluecorner"},/area/medical/surgeryprep) "cht" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor{dir = 4; icon_state = "blue"},/area/medical/surgeryprep) "chu" = (/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/window/reinforced/polarized{dir = 1},/turf/simulated/floor/plating,/area/crew_quarters/heads/chief) -"chv" = (/obj/structure/table,/obj/item/weapon/tape_roll,/obj/item/device/analyzer/plant_analyzer,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "hydrofloor"},/area/rnd/xenobiology/xenoflora) +"chv" = (/obj/structure/table/standard,/obj/item/weapon/tape_roll,/obj/item/device/analyzer/plant_analyzer,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "hydrofloor"},/area/rnd/xenobiology/xenoflora) "chw" = (/obj/structure/sign/biohazard,/turf/simulated/wall,/area/medical/virologyaccess) "chx" = (/obj/structure/disposaloutlet,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/plating/airless,/area/medical/virology) -"chy" = (/obj/structure/bedsheetbin,/obj/structure/table,/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/green,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor{icon_state = "dark"},/area/medical/biostorage) +"chy" = (/obj/structure/bedsheetbin,/obj/structure/table/standard,/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/green,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor{icon_state = "dark"},/area/medical/biostorage) "chz" = (/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/cable/green,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/window/reinforced/polarized,/obj/structure/window/reinforced/polarized{dir = 4},/turf/simulated/floor/plating,/area/crew_quarters/heads/chief) "chA" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/research_port) "chB" = (/turf/simulated/floor/plating,/area/maintenance/research_port) @@ -5831,7 +5831,7 @@ "cig" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan,/turf/simulated/floor,/area/engineering/foyer) "cih" = (/obj/machinery/hologram/holopad,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/engineering/foyer) "cii" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/construction) -"cij" = (/obj/structure/table,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor,/area/construction) +"cij" = (/obj/structure/table/standard,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor,/area/construction) "cik" = (/obj/machinery/firealarm{dir = 4; layer = 3.3; pixel_x = 26},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/engineering/foyer) "cil" = (/obj/structure/closet/secure_closet/engineering_personal,/obj/item/weapon/tank/emergency_oxygen/engi,/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor,/area/engineering/locker_room) "cim" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/engineering/locker_room) @@ -5890,11 +5890,11 @@ "cjn" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/light,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/turf/simulated/floor/plating,/area/rnd/xenobiology/xenoflora) "cjo" = (/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/turf/simulated/floor{icon_state = "hydrofloor"},/area/rnd/xenobiology/xenoflora) "cjp" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/atmospherics/portables_connector,/obj/machinery/portable_atmospherics/powered/pump/filled,/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/engineering/foyer) -"cjq" = (/obj/machinery/light,/obj/structure/table,/obj/machinery/chemical_dispenser/bar_soft/full,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/engineering/break_room) -"cjr" = (/obj/structure/table,/obj/item/clothing/gloves/latex,/obj/item/weapon/hand_labeler,/turf/simulated/floor{icon_state = "hydrofloor"},/area/rnd/xenobiology/xenoflora) -"cjs" = (/obj/structure/table,/obj/item/weapon/storage/box/syringes,/turf/simulated/floor{icon_state = "hydrofloor"},/area/rnd/xenobiology/xenoflora) +"cjq" = (/obj/machinery/light,/obj/structure/table/standard,/obj/machinery/chemical_dispenser/bar_soft/full,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/engineering/break_room) +"cjr" = (/obj/structure/table/standard,/obj/item/clothing/gloves/latex,/obj/item/weapon/hand_labeler,/turf/simulated/floor{icon_state = "hydrofloor"},/area/rnd/xenobiology/xenoflora) +"cjs" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/syringes,/turf/simulated/floor{icon_state = "hydrofloor"},/area/rnd/xenobiology/xenoflora) "cjt" = (/obj/machinery/button/remote/airlock{desc = "A remote control-switch for Surgery."; id = "Surgery"; name = "Surgery"; pixel_x = -24; pixel_y = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{dir = 9; icon_state = "blue"},/area/medical/surgeryprep) -"cju" = (/obj/structure/table,/turf/simulated/floor{icon_state = "hydrofloor"},/area/rnd/xenobiology/xenoflora) +"cju" = (/obj/structure/table/standard,/turf/simulated/floor{icon_state = "hydrofloor"},/area/rnd/xenobiology/xenoflora) "cjv" = (/obj/structure/closet/secure_closet/personal/patient,/obj/machinery/camera/network/medbay{c_tag = "Medbay Recovery Ward"; dir = 1},/turf/simulated/floor{dir = 6; icon_state = "whitered"},/area/medical/ward) "cjw" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/effect/decal/cleanable/dirt,/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) "cjx" = (/obj/machinery/power/terminal{icon_state = "term"; dir = 1},/obj/machinery/light/small{dir = 4},/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) @@ -5926,19 +5926,19 @@ "cjX" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor{dir = 1; icon_state = "whitegreen"},/area/rnd/xenobiology/xenoflora) "cjY" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor{tag = "icon-whitegreen_v (NORTHEAST)"; icon_state = "whitegreen_v"; dir = 5},/area/rnd/xenobiology/xenoflora) "cjZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/turf/simulated/floor{dir = 1; icon_state = "whitegreen"},/area/rnd/xenobiology/xenoflora) -"cka" = (/obj/structure/table,/obj/item/weapon/FixOVein,/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/obj/item/weapon/surgicaldrill,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) +"cka" = (/obj/structure/table/standard,/obj/item/weapon/FixOVein,/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/obj/item/weapon/surgicaldrill,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) "ckb" = (/obj/machinery/computer/operating,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) "ckc" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) -"ckd" = (/obj/structure/table,/obj/item/weapon/reagent_containers/spray/cleaner{desc = "Someone has crossed out the Space from Space Cleaner and written in Surgery. 'Do not remove under punishment of death!!!' is scrawled on the back."; name = "Surgery Cleaner"},/turf/simulated/floor{dir = 4; icon_state = "whitered"},/area/medical/surgery) +"ckd" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/spray/cleaner{desc = "Someone has crossed out the Space from Space Cleaner and written in Surgery. 'Do not remove under punishment of death!!!' is scrawled on the back."; name = "Surgery Cleaner"},/turf/simulated/floor{dir = 4; icon_state = "whitered"},/area/medical/surgery) "cke" = (/turf/simulated/floor{tag = "icon-whitegreen (NORTHWEST)"; icon_state = "whitegreen"; dir = 9},/area/rnd/xenobiology/xenoflora) -"ckf" = (/obj/structure/table,/obj/item/device/radio{anchored = 1; broadcasting = 0; canhear_range = 7; frequency = 1487; icon = 'icons/obj/items.dmi'; icon_state = "red_phone"; listening = 1; name = "Surgery Emergency Phone"},/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/medical/surgeryprep) +"ckf" = (/obj/structure/table/standard,/obj/item/device/radio{anchored = 1; broadcasting = 0; canhear_range = 7; frequency = 1487; icon = 'icons/obj/items.dmi'; icon_state = "red_phone"; listening = 1; name = "Surgery Emergency Phone"},/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/medical/surgeryprep) "ckg" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/medical/surgeryprep) "ckh" = (/obj/structure/disposalpipe/segment,/obj/item/roller,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "blue"; dir = 4},/area/medical/surgeryprep) "cki" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor{dir = 1; icon_state = "whitegreen"},/area/rnd/xenobiology/xenoflora) -"ckj" = (/obj/structure/table,/obj/item/weapon/reagent_containers/spray/cleaner{desc = "Someone has crossed out the Space from Space Cleaner and written in Surgery. 'Do not remove under punishment of death!!!' is scrawled on the back."; name = "Surgery Cleaner"},/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/surgery2) +"ckj" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/spray/cleaner{desc = "Someone has crossed out the Space from Space Cleaner and written in Surgery. 'Do not remove under punishment of death!!!' is scrawled on the back."; name = "Surgery Cleaner"},/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/surgery2) "ckk" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery2) "ckl" = (/obj/machinery/computer/operating,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery2) -"ckm" = (/obj/structure/table,/obj/item/weapon/FixOVein,/obj/item/device/radio/intercom{freerange = 1; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 30},/obj/item/weapon/surgicaldrill,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery2) +"ckm" = (/obj/structure/table/standard,/obj/item/weapon/FixOVein,/obj/item/device/radio/intercom{freerange = 1; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 30},/obj/item/weapon/surgicaldrill,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery2) "ckn" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/closet/crate/hydroponics/prespawned,/obj/machinery/camera/network/research{c_tag = "Xenoflora Storage"; dir = 4},/turf/simulated/floor{dir = 8; icon_state = "whitegreen"},/area/rnd/xenobiology/xenoflora_storage) "cko" = (/obj/item/weapon/stool,/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/turf/simulated/floor{dir = 2; icon_state = "whitegreen"},/area/rnd/xenobiology/xenoflora) "ckp" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance,/obj/structure/disposalpipe/segment,/obj/structure/sign/redcross{desc = "The Star of Life, a symbol of Medical Aid."; icon_state = "lifestar"; name = "Medbay"; pixel_x = 0; pixel_y = 32},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/medical/virologyaccess) @@ -5995,14 +5995,14 @@ "clo" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio6"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/disposalpipe/segment,/obj/structure/cable/green,/turf/simulated/floor/plating,/area/rnd/xenobiology) "clp" = (/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{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/red,/turf/simulated/floor,/area/engineering/foyer) "clq" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio5"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/cable/green,/turf/simulated/floor/plating,/area/rnd/xenobiology) -"clr" = (/obj/structure/table,/obj/item/stack/cable_coil/random,/obj/item/stack/cable_coil/random,/obj/machinery/light{dir = 8},/turf/simulated/floor,/area/storage/art) +"clr" = (/obj/structure/table/standard,/obj/item/stack/cable_coil/random,/obj/item/stack/cable_coil/random,/obj/machinery/light{dir = 8},/turf/simulated/floor,/area/storage/art) "cls" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio5"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/disposalpipe/segment,/obj/structure/cable/green,/turf/simulated/floor/plating,/area/rnd/xenobiology) "clt" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor/plating,/area/maintenance/research_port) "clu" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering EVA Storage"; req_one_access = list(11,24)},/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{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor,/area/engineering/engine_eva) "clv" = (/obj/machinery/light,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/obj/machinery/portable_atmospherics/hydroponics,/turf/simulated/floor{dir = 4; icon_state = "whitegreen"},/area/rnd/xenobiology/xenoflora) "clw" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = 0},/turf/simulated/wall,/area/maintenance/substation/engineering) "clx" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable{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/plating{dir = 1; icon_state = "warnplatecorner"},/area/maintenance/engineering) -"cly" = (/obj/structure/table,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/item/weapon/circular_saw{pixel_y = 8},/obj/item/weapon/scalpel,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) +"cly" = (/obj/structure/table/standard,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/item/weapon/circular_saw{pixel_y = 8},/obj/item/weapon/scalpel,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) "clz" = (/obj/machinery/optable,/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) "clA" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) "clB" = (/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{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "whitered"},/area/medical/surgery) @@ -6014,7 +6014,7 @@ "clH" = (/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{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/surgery2) "clI" = (/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},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery2) "clJ" = (/obj/machinery/optable,/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery2) -"clK" = (/obj/structure/table,/obj/item/weapon/circular_saw{pixel_y = 8},/obj/item/weapon/scalpel,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery2) +"clK" = (/obj/structure/table/standard,/obj/item/weapon/circular_saw{pixel_y = 8},/obj/item/weapon/scalpel,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery2) "clL" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/medbay) "clM" = (/turf/simulated/floor/plating,/area/maintenance/medbay) "clN" = (/turf/simulated/wall/r_wall,/area/medical/virologyaccess) @@ -6057,7 +6057,7 @@ "cmy" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact-f (EAST)"},/obj/machinery/light,/turf/simulated/floor,/area/engineering/foyer) "cmz" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/construction) "cmA" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor,/area/construction) -"cmB" = (/obj/structure/table,/obj/item/weapon/storage/box/beakers{pixel_x = 2; pixel_y = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "hydrofloor"},/area/rnd/xenobiology/xenoflora) +"cmB" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/beakers{pixel_x = 2; pixel_y = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "hydrofloor"},/area/rnd/xenobiology/xenoflora) "cmC" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact-f (EAST)"},/turf/simulated/floor,/area/engineering/foyer) "cmD" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact-f (EAST)"},/obj/machinery/requests_console{announcementConsole = 0; department = "Engineering"; departmentType = 4; name = "Engineering RC"; pixel_x = 0; pixel_y = -32},/turf/simulated/floor,/area/engineering/foyer) "cmE" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact-f (EAST)"},/obj/machinery/computer/guestpass{pixel_y = -28},/turf/simulated/floor,/area/engineering/foyer) @@ -6070,7 +6070,7 @@ "cmL" = (/obj/structure/closet/secure_closet/atmos_personal,/obj/item/weapon/tank/emergency_oxygen/engi,/turf/simulated/floor,/area/engineering/locker_room) "cmM" = (/obj/structure/closet/secure_closet/atmos_personal,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/obj/item/weapon/tank/emergency_oxygen/engi,/turf/simulated/floor,/area/engineering/locker_room) "cmN" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor,/area/engineering/locker_room) -"cmO" = (/obj/structure/table,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor,/area/engineering/locker_room) +"cmO" = (/obj/structure/table/standard,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor,/area/engineering/locker_room) "cmP" = (/obj/machinery/light/small{dir = 1},/obj/machinery/camera/network/engineering{c_tag = "Atmospherics Tank - Air"},/turf/simulated/floor/engine{name = "air floor"; nitrogen = 10580; oxygen = 2644},/area/engineering/atmos) "cmQ" = (/obj/machinery/light/small{dir = 1},/obj/machinery/camera/network/engineering{c_tag = "Atmospherics Tank - Oxygen"},/turf/simulated/floor/engine{name = "o2 floor"; nitrogen = 0; oxygen = 100000},/area/engineering/atmos) "cmR" = (/obj/machinery/light/small{dir = 1},/obj/machinery/camera/network/engineering{c_tag = "Atmospherics Tank - Nitrogen"},/turf/simulated/floor/engine{name = "n2 floor"; nitrogen = 100000; oxygen = 0},/area/engineering/atmos) @@ -6083,7 +6083,7 @@ "cmY" = (/obj/machinery/door/blast/regular{desc = "By gods, release the hounds!"; id = "xenobioout6"; name = "Containment Release"},/turf/simulated/floor/engine,/area/rnd/xenobiology) "cmZ" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating/airless,/area/solar/starboard) "cna" = (/obj/structure/cable/yellow,/turf/simulated/floor/plating/airless,/area/solar/starboard) -"cnb" = (/obj/structure/table,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/item/stack/medical/advanced/bruise_pack,/obj/item/weapon/retractor,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) +"cnb" = (/obj/structure/table/standard,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/item/stack/medical/advanced/bruise_pack,/obj/item/weapon/retractor,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) "cnc" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) "cnd" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) "cne" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering EVA Storage"; req_one_access = list(11,24)},/turf/simulated/floor,/area/engineering/engine_eva) @@ -6092,7 +6092,7 @@ "cnh" = (/obj/machinery/button/remote/blast_door{id = "surgeryobs2"; name = "Privacy Shutters"; pixel_y = 25},/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/surgery2) "cni" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery2) "cnj" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery2) -"cnk" = (/obj/structure/table,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/item/stack/medical/advanced/bruise_pack,/obj/item/weapon/retractor,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery2) +"cnk" = (/obj/structure/table/standard,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/item/stack/medical/advanced/bruise_pack,/obj/item/weapon/retractor,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery2) "cnl" = (/obj/structure/sign/biohazard,/turf/simulated/wall/r_wall,/area/medical/virologyaccess) "cnm" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan,/turf/simulated/wall/r_wall,/area/engineering/atmos) "cnn" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/maintenance/research_port) @@ -6127,15 +6127,15 @@ "cnQ" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering Locker Room"; req_one_access = list(11,24)},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/engineering/locker_room) "cnR" = (/turf/simulated/wall/r_wall,/area/engineering/locker_room) "cnS" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable{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/plating{dir = 4; icon_state = "warnplatecorner"},/area/maintenance/engineering) -"cnT" = (/obj/structure/table,/obj/item/weapon/hemostat,/obj/machinery/light,/obj/item/weapon/cautery,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) -"cnU" = (/obj/structure/table,/obj/item/weapon/bonesetter,/obj/item/weapon/bonegel,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) -"cnV" = (/obj/structure/table,/obj/machinery/vending/wallmed1{pixel_y = -32},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/random/medical,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) +"cnT" = (/obj/structure/table/standard,/obj/item/weapon/hemostat,/obj/machinery/light,/obj/item/weapon/cautery,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) +"cnU" = (/obj/structure/table/standard,/obj/item/weapon/bonesetter,/obj/item/weapon/bonegel,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) +"cnV" = (/obj/structure/table/standard,/obj/machinery/vending/wallmed1{pixel_y = -32},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/random/medical,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) "cnW" = (/obj/machinery/computer/med_data,/obj/machinery/light,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) -"cnX" = (/obj/structure/table,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{icon_state = "blue"; dir = 4},/area/medical/surgeryprep) +"cnX" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{icon_state = "blue"; dir = 4},/area/medical/surgeryprep) "cnY" = (/obj/machinery/computer/med_data,/obj/machinery/light,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery2) -"cnZ" = (/obj/structure/table,/obj/machinery/vending/wallmed1{pixel_y = -32},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/random/medical,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery2) -"coa" = (/obj/structure/table,/obj/item/weapon/bonesetter,/obj/item/weapon/bonegel,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery2) -"cob" = (/obj/structure/table,/obj/item/weapon/hemostat,/obj/machinery/light,/obj/item/weapon/cautery,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery2) +"cnZ" = (/obj/structure/table/standard,/obj/machinery/vending/wallmed1{pixel_y = -32},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/random/medical,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery2) +"coa" = (/obj/structure/table/standard,/obj/item/weapon/bonesetter,/obj/item/weapon/bonegel,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery2) +"cob" = (/obj/structure/table/standard,/obj/item/weapon/hemostat,/obj/machinery/light,/obj/item/weapon/cautery,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery2) "coc" = (/obj/machinery/light{dir = 1},/turf/simulated/floor{dir = 1; icon_state = "bluecorner"},/area/medical/virologyaccess) "cod" = (/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/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/medical/virologyaccess) "coe" = (/obj/machinery/light{dir = 1},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{dir = 4; icon_state = "bluecorner"},/area/medical/virologyaccess) @@ -6212,7 +6212,7 @@ "cpx" = (/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1443; input_tag = "air_in"; name = "Mixed Air Supply Control"; output_tag = "air_out"; pressure_setting = 2000; sensors = list("air_sensor" = "Tank")},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/light{dir = 1},/turf/simulated/floor{dir = 1; icon_state = "arrival"},/area/engineering/atmos) "cpy" = (/obj/machinery/door/window/eastright{name = "Engineering Reception Desk"; req_one_access = list(10,24)},/obj/machinery/light,/turf/simulated/floor,/area/engineering/foyer) "cpz" = (/obj/machinery/atmospherics/valve/digital/open{name = "Oxygen Outlet Valve"},/turf/simulated/floor{dir = 5; icon_state = "blue"},/area/engineering/atmos) -"cpA" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/table,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/machinery/camera/network/engineering{c_tag = "Engineering Locker Room"; dir = 1},/turf/simulated/floor,/area/engineering/locker_room) +"cpA" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/table/standard,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/machinery/camera/network/engineering{c_tag = "Engineering Locker Room"; dir = 1},/turf/simulated/floor,/area/engineering/locker_room) "cpB" = (/obj/machinery/door/airlock/maintenance{req_one_access = list(10,24)},/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/substation/engineering) "cpC" = (/obj/machinery/button/holosign{pixel_x = 24; pixel_y = 2},/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/machinery/camera/network/medbay{c_tag = "Medbay Operating Theatre 1"; dir = 8},/turf/simulated/floor{dir = 4; icon_state = "whiteredcorner"},/area/medical/surgery) "cpD" = (/obj/machinery/atmospherics/valve/digital/open{name = "Nitrogen Outlet Valve"},/turf/simulated/floor{icon_state = "red"; dir = 5},/area/engineering/atmos) @@ -6224,11 +6224,11 @@ "cpJ" = (/obj/structure/reagent_dispensers/fueltank,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = 25},/turf/simulated/floor,/area/engineering/atmos) "cpK" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor{icon_state = "warningcorner"; dir = 1},/area/hallway/secondary/entry/aft) "cpL" = (/obj/structure/reagent_dispensers/watertank,/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/engineering/atmos) -"cpM" = (/obj/structure/table,/obj/item/device/t_scanner,/obj/item/device/multitool{pixel_x = 5},/obj/item/device/radio/headset/headset_eng,/obj/item/weapon/cartridge/atmos,/obj/item/weapon/cartridge/atmos,/obj/item/device/pipe_painter,/obj/machinery/requests_console{department = "Atmospherics"; departmentType = 4; name = "Atmos RC"; pixel_x = 0; pixel_y = 28},/turf/simulated/floor,/area/engineering/atmos) +"cpM" = (/obj/structure/table/standard,/obj/item/device/t_scanner,/obj/item/device/multitool{pixel_x = 5},/obj/item/device/radio/headset/headset_eng,/obj/item/weapon/cartridge/atmos,/obj/item/weapon/cartridge/atmos,/obj/item/device/pipe_painter,/obj/machinery/requests_console{department = "Atmospherics"; departmentType = 4; name = "Atmos RC"; pixel_x = 0; pixel_y = 28},/turf/simulated/floor,/area/engineering/atmos) "cpN" = (/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "solar_xeno_pump"; tag_exterior_door = "solar_xeno_outer"; frequency = 1379; id_tag = "solar_xeno_airlock"; tag_interior_door = "solar_xeno_inner"; pixel_x = 25; req_access = list(13); tag_chamber_sensor = "solar_xeno_sensor"},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "solar_xeno_sensor"; pixel_x = 25; pixel_y = 12},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1379; id_tag = "solar_xeno_pump"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/decal/warning_stripes,/turf/simulated/floor/plating,/area/maintenance/starboardsolar) "cpO" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/visible/yellow,/turf/space,/area/space) "cpP" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/atmos{name = "Atmospherics Maintenance"; req_access = list(12,24)},/obj/machinery/atmospherics/pipe/simple/visible/supply,/turf/simulated/floor,/area/maintenance/atmos_control) -"cpQ" = (/obj/structure/table,/obj/item/stack/sheet/glass{amount = 50},/obj/item/clothing/head/welding{pixel_x = -5; pixel_y = 3},/obj/item/clothing/glasses/welding,/obj/structure/closet/fireaxecabinet{pixel_y = 32},/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/engineering/atmos) +"cpQ" = (/obj/structure/table/standard,/obj/item/stack/sheet/glass{amount = 50},/obj/item/clothing/head/welding{pixel_x = -5; pixel_y = 3},/obj/item/clothing/glasses/welding,/obj/structure/closet/fireaxecabinet{pixel_y = 32},/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/engineering/atmos) "cpR" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/atmos{name = "Atmospherics Maintenance"; req_access = list(12,24)},/obj/machinery/atmospherics/pipe/simple/visible/scrubbers,/turf/simulated/floor,/area/maintenance/atmos_control) "cpS" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Firelock North"},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor,/area/hallway/secondary/entry/port) "cpT" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor,/area/engineering/atmos) @@ -6250,7 +6250,7 @@ "cqj" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor{icon_state = "freezerfloor"},/area/medical/surgery) "cqk" = (/obj/machinery/iv_drip,/turf/simulated/floor{icon_state = "freezerfloor"},/area/medical/surgery) "cql" = (/obj/structure/closet/secure_closet/medical3,/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/medical/surgeryprep) -"cqm" = (/obj/structure/table,/obj/item/weapon/reagent_containers/blood/AMinus,/obj/item/weapon/reagent_containers/blood/APlus,/obj/item/weapon/reagent_containers/blood/BMinus,/obj/item/weapon/reagent_containers/blood/BPlus,/obj/item/weapon/reagent_containers/blood/OPlus,/turf/simulated/floor{icon_state = "blue"; dir = 4},/area/medical/surgeryprep) +"cqm" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/blood/AMinus,/obj/item/weapon/reagent_containers/blood/APlus,/obj/item/weapon/reagent_containers/blood/BMinus,/obj/item/weapon/reagent_containers/blood/BPlus,/obj/item/weapon/reagent_containers/blood/OPlus,/turf/simulated/floor{icon_state = "blue"; dir = 4},/area/medical/surgeryprep) "cqn" = (/obj/machinery/iv_drip,/turf/simulated/floor{icon_state = "freezerfloor"},/area/medical/surgery2) "cqo" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor{icon_state = "freezerfloor"},/area/medical/surgery2) "cqp" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "freezerfloor"},/area/medical/surgery2) @@ -6345,7 +6345,7 @@ "csa" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/simple/visible/red,/turf/simulated/floor,/area/engineering/atmos) "csb" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/maintenance/engineering) "csc" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Operating Theatre 1 Storage"; req_access = list(45)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) -"csd" = (/obj/item/weapon/reagent_containers/blood/empty,/obj/item/weapon/reagent_containers/blood/empty,/obj/item/weapon/reagent_containers/blood/empty,/obj/item/weapon/reagent_containers/blood/empty,/obj/item/weapon/reagent_containers/blood/empty,/obj/structure/table,/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/camera/network/medbay{c_tag = "Medbay Surgery Prep"; dir = 8},/turf/simulated/floor{icon_state = "blue"; dir = 4},/area/medical/surgeryprep) +"csd" = (/obj/item/weapon/reagent_containers/blood/empty,/obj/item/weapon/reagent_containers/blood/empty,/obj/item/weapon/reagent_containers/blood/empty,/obj/item/weapon/reagent_containers/blood/empty,/obj/item/weapon/reagent_containers/blood/empty,/obj/structure/table/standard,/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/camera/network/medbay{c_tag = "Medbay Surgery Prep"; dir = 8},/turf/simulated/floor{icon_state = "blue"; dir = 4},/area/medical/surgeryprep) "cse" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Operating Theatre 2 Storage"; req_access = list(45)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery2) "csf" = (/obj/machinery/door/window/northleft{dir = 4; name = "Containment Pen"; req_access = list(55)},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/rnd/xenobiology) "csg" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio3"; name = "Containment Blast Doors"; opacity = 0},/obj/machinery/door/window/northleft{base_state = "right"; dir = 8; icon_state = "right"; name = "Containment Pen"; req_access = list(55)},/turf/simulated/floor/engine,/area/rnd/xenobiology) @@ -6393,9 +6393,9 @@ "csW" = (/obj/machinery/atmospherics/binary/pump{name = "O2 to Connector"},/turf/simulated/floor,/area/engineering/atmos) "csX" = (/obj/machinery/atmospherics/binary/pump{name = "N2 to Connector"},/turf/simulated/floor,/area/engineering/atmos) "csY" = (/obj/structure/dispenser,/turf/simulated/floor,/area/engineering/atmos) -"csZ" = (/obj/structure/table,/obj/item/weapon/wrench,/obj/structure/sign/atmosplaque{pixel_x = 0; pixel_y = 32},/obj/machinery/cell_charger,/obj/machinery/camera/network/engineering{c_tag = "Atmospherics Northeast"},/turf/simulated/floor,/area/engineering/atmos) +"csZ" = (/obj/structure/table/standard,/obj/item/weapon/wrench,/obj/structure/sign/atmosplaque{pixel_x = 0; pixel_y = 32},/obj/machinery/cell_charger,/obj/machinery/camera/network/engineering{c_tag = "Atmospherics Northeast"},/turf/simulated/floor,/area/engineering/atmos) "cta" = (/obj/machinery/atmospherics/binary/pump{dir = 8; name = "Supply to Waste"},/turf/simulated/floor,/area/engineering/atmos) -"ctb" = (/obj/structure/table,/obj/machinery/newscaster{pixel_y = 30},/obj/item/stack/sheet/metal{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/clothing/gloves/black,/obj/item/clothing/gloves/black,/obj/item/weapon/storage/belt/utility/atmostech,/obj/item/weapon/storage/belt/utility/atmostech,/turf/simulated/floor,/area/engineering/atmos) +"ctb" = (/obj/structure/table/standard,/obj/machinery/newscaster{pixel_y = 30},/obj/item/stack/sheet/metal{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/clothing/gloves/black,/obj/item/clothing/gloves/black,/obj/item/weapon/storage/belt/utility/atmostech,/obj/item/weapon/storage/belt/utility/atmostech,/turf/simulated/floor,/area/engineering/atmos) "ctc" = (/obj/structure/bed/chair/office/dark{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/camera/network/engineering{c_tag = "Atmospherics Monitoring Room"; dir = 8},/turf/simulated/floor,/area/engineering/atmos/monitoring) "ctd" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/turf/simulated/floor,/area/engineering/atmos) "cte" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 1},/obj/machinery/meter,/turf/simulated/floor,/area/engineering/atmos) @@ -6426,7 +6426,7 @@ "ctD" = (/obj/machinery/atmospherics/pipe/simple/hidden/purple,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "ctE" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/structure/closet/l3closet/virology,/obj/item/clothing/mask/gas,/turf/simulated/floor{dir = 4; icon_state = "warnwhite"},/area/medical/virology) "ctF" = (/turf/simulated/wall,/area/medical/virology) -"ctG" = (/obj/structure/table,/obj/item/weapon/hand_labeler,/obj/structure/reagent_dispensers/virusfood{pixel_x = -30},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) +"ctG" = (/obj/structure/table/standard,/obj/item/weapon/hand_labeler,/obj/structure/reagent_dispensers/virusfood{pixel_x = -30},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "ctH" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/obj/item/device/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_y = 26},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "ctI" = (/obj/machinery/requests_console{department = "Science"; departmentType = 2; name = "Science Requests Console"; pixel_x = 0; pixel_y = 30},/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/obj/machinery/camera/network/research{c_tag = "Xenobiology North"},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) "ctJ" = (/obj/machinery/disease2/incubator,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) @@ -6440,7 +6440,7 @@ "ctR" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) "ctS" = (/obj/machinery/atmospherics/pipe/simple/visible/red,/turf/simulated/floor,/area/engineering/atmos) "ctT" = (/obj/machinery/door/airlock/medical{name = "Operating Theatre 1 Storage"; req_access = list(45)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "freezerfloor"},/area/medical/surgeryprep) -"ctU" = (/obj/structure/table,/obj/item/weapon/storage/box/syringes,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) +"ctU" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/syringes,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) "ctV" = (/obj/machinery/door/airlock/medical{name = "Operating Theatre 2 Storage"; req_access = list(45)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "freezerfloor"},/area/medical/surgeryprep) "ctW" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) "ctX" = (/obj/machinery/power/solar{id = "starboardsolar"; name = "Starboard Solar Array"},/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/starboard) @@ -6486,7 +6486,7 @@ "cuL" = (/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (SOUTHEAST)"; icon_state = "intact"; dir = 6},/turf/simulated/floor,/area/engineering/atmos) "cuM" = (/obj/machinery/atmospherics/pipe/manifold/hidden/purple{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cuN" = (/obj/structure/closet/l3closet/virology,/obj/item/clothing/mask/gas,/turf/simulated/floor{dir = 6; icon_state = "warnwhite"},/area/medical/virology) -"cuO" = (/obj/structure/table,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/item/weapon/folder/white,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) +"cuO" = (/obj/structure/table/standard,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/item/weapon/folder/white,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cuP" = (/obj/machinery/atmospherics/pipe/manifold/hidden/purple{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cuQ" = (/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cuR" = (/obj/structure/bed/chair/office/dark{dir = 8},/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) @@ -6499,8 +6499,8 @@ "cuY" = (/obj/machinery/atmospherics/pipe/manifold/visible/red,/turf/simulated/floor,/area/engineering/atmos) "cuZ" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) "cva" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"cvb" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/snacks/monkeycube/wrapped,/obj/item/weapon/reagent_containers/spray/cleaner,/obj/item/clothing/gloves/latex,/obj/item/device/slime_scanner,/obj/item/device/slime_scanner,/obj/item/weapon/hand_labeler,/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) -"cvc" = (/obj/structure/table,/obj/machinery/reagentgrinder,/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) +"cvb" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/food/snacks/monkeycube/wrapped,/obj/item/weapon/reagent_containers/spray/cleaner,/obj/item/clothing/gloves/latex,/obj/item/device/slime_scanner,/obj/item/device/slime_scanner,/obj/item/weapon/hand_labeler,/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) +"cvc" = (/obj/structure/table/standard,/obj/machinery/reagentgrinder,/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) "cvd" = (/obj/structure/bed/chair/office/dark{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cve" = (/obj/machinery/smartfridge/secure/extract,/turf/simulated/floor{dir = 2; icon_state = "whitecorner"},/area/rnd/xenobiology) "cvf" = (/obj/machinery/optable{name = "Xenobiology Operating Table"},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "whitehall"; dir = 2},/area/rnd/xenobiology) @@ -6554,8 +6554,8 @@ "cwb" = (/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cwc" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cwd" = (/obj/structure/closet/l3closet/scientist,/obj/machinery/light{dir = 8},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/rnd/xenobiology) -"cwe" = (/obj/structure/table,/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/storage/box/monkeycubes,/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) -"cwf" = (/obj/structure/table,/obj/item/stack/sheet/mineral/phoron{amount = 5; layer = 2.9},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) +"cwe" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/storage/box/monkeycubes,/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) +"cwf" = (/obj/structure/table/standard,/obj/item/stack/sheet/mineral/phoron{amount = 5; layer = 2.9},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) "cwg" = (/turf/simulated/wall/r_wall,/area/engineering/atmos/storage) "cwh" = (/turf/simulated/floor{icon_state = "whitehall"; dir = 4},/area/rnd/xenobiology) "cwi" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/simulated/floor{icon_state = "whitehall"; dir = 8},/area/rnd/xenobiology) @@ -6579,10 +6579,10 @@ "cwA" = (/obj/machinery/light_switch{pixel_y = 28},/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "green"; dir = 4},/area/medical/virology) "cwB" = (/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cwC" = (/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "whitegreen"},/area/medical/virology) -"cwD" = (/obj/structure/table,/obj/item/weapon/storage/lockbox/vials,/obj/item/weapon/reagent_containers/syringe/antiviral,/obj/item/weapon/reagent_containers/syringe/antiviral,/obj/item/weapon/reagent_containers/syringe/antiviral,/obj/item/weapon/reagent_containers/syringe/antiviral,/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"cwE" = (/obj/structure/table,/obj/item/weapon/storage/fancy/vials,/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) +"cwD" = (/obj/structure/table/standard,/obj/item/weapon/storage/lockbox/vials,/obj/item/weapon/reagent_containers/syringe/antiviral,/obj/item/weapon/reagent_containers/syringe/antiviral,/obj/item/weapon/reagent_containers/syringe/antiviral,/obj/item/weapon/reagent_containers/syringe/antiviral,/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) +"cwE" = (/obj/structure/table/standard,/obj/item/weapon/storage/fancy/vials,/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cwF" = (/obj/machinery/atmospherics/pipe/manifold/hidden/purple{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"cwG" = (/obj/structure/table,/obj/item/weapon/storage/box/syringes{pixel_x = 4; pixel_y = 4},/obj/item/weapon/storage/box/beakers,/obj/item/weapon/reagent_containers/dropper,/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) +"cwG" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/syringes{pixel_x = 4; pixel_y = 4},/obj/item/weapon/storage/box/beakers,/obj/item/weapon/reagent_containers/dropper,/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cwH" = (/obj/machinery/atmospherics/pipe/simple/visible/blue{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor,/area/engineering/atmos) "cwI" = (/obj/machinery/atmospherics/pipe/tank/phoron{dir = 2; volume = 3200},/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator) "cwJ" = (/obj/machinery/atmospherics/pipe/tank/oxygen{dir = 2; volume = 3200},/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator) @@ -6606,7 +6606,7 @@ "cxb" = (/obj/machinery/atmospherics/pipe/manifold4w/visible/yellow,/turf/simulated/floor,/area/engineering/atmos) "cxc" = (/obj/machinery/atmospherics/pipe/manifold/visible/yellow,/obj/machinery/meter,/turf/simulated/floor,/area/engineering/atmos) "cxd" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/camera/network/engineering{c_tag = "Engineering Workshop"; dir = 8},/turf/simulated/floor,/area/engineering/workshop) -"cxe" = (/obj/structure/table,/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/storage/box/monkeycubes,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) +"cxe" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/storage/box/monkeycubes,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cxf" = (/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating/airless,/area/solar/port) "cxg" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) "cxh" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) @@ -6615,7 +6615,7 @@ "cxk" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) "cxl" = (/obj/machinery/atmospherics/valve/digital{dir = 4},/turf/simulated/floor,/area/engineering/atmos) "cxm" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/obj/structure/sign/deathsposal{pixel_x = 0; pixel_y = -32},/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/turf/simulated/floor{icon_state = "whitehall"; dir = 1},/area/rnd/xenobiology) -"cxn" = (/obj/structure/table,/obj/item/weapon/circular_saw,/obj/item/weapon/scalpel{pixel_y = 12},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor,/area/rnd/xenobiology) +"cxn" = (/obj/structure/table/standard,/obj/item/weapon/circular_saw,/obj/item/weapon/scalpel{pixel_y = 12},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor,/area/rnd/xenobiology) "cxo" = (/obj/machinery/light_switch{pixel_x = -27; pixel_y = 0},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/camera/network/engineering{c_tag = "Engineering Storage"; dir = 4},/turf/simulated/floor/plating,/area/engineering/storage) "cxp" = (/obj/structure/closet/crate,/obj/item/weapon/circuitboard/smes,/obj/item/weapon/circuitboard/smes,/obj/item/weapon/smes_coil,/obj/item/weapon/smes_coil,/obj/item/weapon/smes_coil/super_capacity,/obj/item/weapon/smes_coil/super_capacity,/obj/item/weapon/smes_coil/super_io,/obj/item/weapon/smes_coil/super_io,/turf/simulated/floor/plating,/area/engineering/storage) "cxq" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance{name = "Operating Theatre 1 Maintenance Access"; req_access = list(45)},/turf/simulated/floor/plating,/area/medical/surgery) @@ -6624,7 +6624,7 @@ "cxt" = (/obj/machinery/door/window/southright{dir = 1; name = "Virology Isolation Room One"; req_access = list(39)},/obj/machinery/atmospherics/pipe/simple/hidden/purple,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{dir = 1; icon_state = "whitegreen"},/area/medical/virology) "cxu" = (/obj/structure/disposalpipe/segment,/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,/area/engineering) "cxv" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/engineering/workshop) -"cxw" = (/obj/structure/table,/obj/item/weapon/crowbar,/obj/item/clothing/gloves/black,/obj/item/clothing/gloves/black,/obj/item/weapon/storage/box/lights/mixed,/turf/simulated/floor,/area/engineering/workshop) +"cxw" = (/obj/structure/table/standard,/obj/item/weapon/crowbar,/obj/item/clothing/gloves/black,/obj/item/clothing/gloves/black,/obj/item/weapon/storage/box/lights/mixed,/turf/simulated/floor,/area/engineering/workshop) "cxx" = (/turf/simulated/floor/plating/airless,/area/solar/port) "cxy" = (/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless,/area/solar/port) "cxz" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating/airless,/area/solar/port) @@ -6637,7 +6637,7 @@ "cxG" = (/obj/machinery/atmospherics/omni/filter{use_power = 1; tag_east = 1; tag_north = 3; tag_south = 6; tag_west = 2},/turf/simulated/floor,/area/engineering/atmos) "cxH" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio2"; name = "Containment Blast Doors"; opacity = 0},/obj/machinery/door/window/northleft{base_state = "right"; dir = 8; icon_state = "right"; name = "Containment Pen"; req_access = list(55)},/turf/simulated/floor/engine,/area/rnd/xenobiology) "cxI" = (/obj/machinery/atmospherics/omni/filter{use_power = 1; tag_east = 1; tag_north = 4; tag_south = 7; tag_west = 2},/turf/simulated/floor,/area/engineering/atmos) -"cxJ" = (/obj/structure/table,/obj/item/weapon/storage/box/beakers{pixel_x = 2; pixel_y = 2},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/glass_jar,/obj/item/glass_jar,/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) +"cxJ" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/beakers{pixel_x = 2; pixel_y = 2},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/glass_jar,/obj/item/glass_jar,/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) "cxK" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator) "cxL" = (/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator) "cxM" = (/obj/machinery/atmospherics/binary/pump,/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator) @@ -6652,7 +6652,7 @@ "cxV" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/obj/machinery/atmospherics/pipe/simple/visible/yellow,/turf/simulated/floor,/area/engineering/atmos) "cxW" = (/turf/simulated/floor{dir = 8; icon_state = "whitegreen"},/area/medical/virology) "cxX" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"cxY" = (/obj/structure/table,/obj/machinery/computer/med_data/laptop,/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) +"cxY" = (/obj/structure/table/standard,/obj/machinery/computer/med_data/laptop,/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cxZ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/medical/virology) "cya" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan,/turf/simulated/floor,/area/engineering/atmos) "cyb" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/obj/machinery/atmospherics/pipe/simple/visible/red,/turf/simulated/floor,/area/engineering/atmos) @@ -6676,7 +6676,7 @@ "cyt" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/engineering) "cyu" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor,/area/engineering/atmos) "cyv" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor,/area/engineering) -"cyw" = (/obj/structure/table,/obj/item/weapon/storage/belt/utility,/obj/item/weapon/storage/belt/utility,/obj/item/stack/cable_coil,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = 3},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor,/area/engineering/workshop) +"cyw" = (/obj/structure/table/standard,/obj/item/weapon/storage/belt/utility,/obj/item/weapon/storage/belt/utility,/obj/item/stack/cable_coil,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = 3},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor,/area/engineering/workshop) "cyx" = (/obj/structure/bed/chair,/obj/effect/landmark/start{name = "Station Engineer"},/turf/simulated/floor,/area/engineering/workshop) "cyy" = (/obj/machinery/constructable_frame/machine_frame,/turf/simulated/floor,/area/engineering/workshop) "cyz" = (/obj/machinery/atmospherics/unary/freezer{dir = 2; icon_state = "freezer"},/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/engineering/atmos) @@ -6691,26 +6691,26 @@ "cyI" = (/obj/machinery/space_heater,/turf/simulated/floor,/area/engineering/atmos/storage) "cyJ" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/engineering{name = "Engineering Hard Storage"; req_access = list(11)},/turf/simulated/floor,/area/engineering/storage) "cyK" = (/obj/machinery/door/airlock/maintenance{name = "Incinerator Access"; req_one_access = list(5,12)},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/maintenance/incinerator) -"cyL" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical{pixel_y = 5},/obj/item/weapon/storage/toolbox/mechanical{pixel_y = 5},/obj/item/weapon/storage/toolbox/electrical,/turf/simulated/floor,/area/engineering/workshop) +"cyL" = (/obj/structure/table/standard,/obj/item/weapon/storage/toolbox/mechanical{pixel_y = 5},/obj/item/weapon/storage/toolbox/mechanical{pixel_y = 5},/obj/item/weapon/storage/toolbox/electrical,/turf/simulated/floor,/area/engineering/workshop) "cyM" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator) "cyN" = (/obj/machinery/atmospherics/trinary/mixer,/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator) "cyO" = (/mob/living/simple_animal/mouse,/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator) "cyP" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/obj/structure/sign/deathsposal{pixel_x = 32},/turf/simulated/floor/plating,/area/maintenance/incinerator) "cyQ" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/wall,/area/maintenance/medbay) "cyR" = (/obj/machinery/door/airlock/medical{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "virology_airlock_interior"; locked = 1; name = "Virology Interior Airlock"; req_access = list(39)},/obj/machinery/atmospherics/pipe/simple/hidden/purple,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"cyS" = (/obj/structure/table,/obj/machinery/light{dir = 8},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/item/weapon/storage/box/gloves{pixel_x = 4; pixel_y = 4},/obj/item/weapon/storage/box/masks,/obj/machinery/camera/network/medbay{c_tag = "Virology Port"; dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"cyT" = (/obj/structure/table,/obj/item/device/antibody_scanner,/obj/machinery/requests_console{department = "Virology"; name = "Virology Requests Console"; pixel_x = -32},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"cyU" = (/obj/structure/table,/obj/item/device/floor_painter,/obj/item/device/multitool{pixel_x = 5},/obj/item/device/t_scanner,/obj/item/weapon/reagent_containers/spray/cleaner,/turf/simulated/floor,/area/engineering/workshop) -"cyV" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 8},/obj/structure/disposalpipe/segment,/obj/item/device/radio{anchored = 1; broadcasting = 0; canhear_range = 7; frequency = 1487; icon = 'icons/obj/items.dmi'; icon_state = "red_phone"; listening = 1; name = "Virology Emergency Phone"; pixel_x = -6; pixel_y = 8},/obj/item/weapon/reagent_containers/spray/cleaner,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) +"cyS" = (/obj/structure/table/standard,/obj/machinery/light{dir = 8},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/item/weapon/storage/box/gloves{pixel_x = 4; pixel_y = 4},/obj/item/weapon/storage/box/masks,/obj/machinery/camera/network/medbay{c_tag = "Virology Port"; dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) +"cyT" = (/obj/structure/table/standard,/obj/item/device/antibody_scanner,/obj/machinery/requests_console{department = "Virology"; name = "Virology Requests Console"; pixel_x = -32},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) +"cyU" = (/obj/structure/table/standard,/obj/item/device/floor_painter,/obj/item/device/multitool{pixel_x = 5},/obj/item/device/t_scanner,/obj/item/weapon/reagent_containers/spray/cleaner,/turf/simulated/floor,/area/engineering/workshop) +"cyV" = (/obj/structure/table/standard,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 8},/obj/structure/disposalpipe/segment,/obj/item/device/radio{anchored = 1; broadcasting = 0; canhear_range = 7; frequency = 1487; icon = 'icons/obj/items.dmi'; icon_state = "red_phone"; listening = 1; name = "Virology Emergency Phone"; pixel_x = -6; pixel_y = 8},/obj/item/weapon/reagent_containers/spray/cleaner,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cyW" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/medical/virology) -"cyX" = (/obj/structure/table,/obj/item/device/radio/off{pixel_y = 6},/obj/item/device/radio/off{pixel_x = 6; pixel_y = 4},/obj/item/device/radio/off{pixel_x = -6; pixel_y = 4},/obj/item/device/radio/off,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor,/area/engineering/workshop) +"cyX" = (/obj/structure/table/standard,/obj/item/device/radio/off{pixel_y = 6},/obj/item/device/radio/off{pixel_x = 6; pixel_y = 4},/obj/item/device/radio/off{pixel_x = -6; pixel_y = 4},/obj/item/device/radio/off,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor,/area/engineering/workshop) "cyY" = (/obj/item/roller,/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cyZ" = (/obj/machinery/door/window/southright{dir = 4; name = "Primate Pen"; req_access = list(39)},/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "whitegreen"},/area/medical/virology) "cza" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) "czb" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) "czc" = (/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) "czd" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/rnd/xenobiology) -"cze" = (/obj/structure/table,/obj/machinery/light,/obj/item/weapon/wrench,/obj/item/device/flashlight,/obj/machinery/cell_charger,/turf/simulated/floor,/area/engineering/workshop) +"cze" = (/obj/structure/table/standard,/obj/machinery/light,/obj/item/weapon/wrench,/obj/item/device/flashlight,/obj/machinery/cell_charger,/turf/simulated/floor,/area/engineering/workshop) "czf" = (/obj/machinery/requests_console{announcementConsole = 0; department = "Engineering"; departmentType = 4; name = "Engineering RC"; pixel_x = 0; pixel_y = -32},/turf/simulated/floor,/area/engineering/workshop) "czg" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/floor/plating,/area/maintenance/engi_shuttle) "czh" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/maintenance/engi_shuttle) @@ -6741,7 +6741,7 @@ "czG" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/yellow{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/turf/simulated/floor/plating,/area/medical/virology) "czH" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor{dir = 3; icon_state = "whitered"},/area/medical/virology) "czI" = (/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 10},/turf/simulated/floor{dir = 3; icon_state = "whitered"},/area/medical/virology) -"czJ" = (/obj/structure/table,/turf/simulated/floor/plating,/area/maintenance/engi_shuttle) +"czJ" = (/obj/structure/table/standard,/turf/simulated/floor/plating,/area/maintenance/engi_shuttle) "czK" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/obj/item/device/radio/intercom{freerange = 1; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 30},/turf/simulated/floor{dir = 3; icon_state = "whitered"},/area/medical/virology) "czL" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = -7; pixel_y = -32},/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/obj/structure/extinguisher_cabinet{pixel_x = 7; pixel_y = -32},/turf/simulated/floor,/area/rnd/xenobiology) "czM" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/simple/visible/green,/turf/simulated/floor,/area/engineering/atmos) @@ -6868,7 +6868,7 @@ "cCd" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/visible,/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/incinerator) "cCe" = (/obj/machinery/space_heater,/obj/machinery/light/small,/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor,/area/engineering/atmos/storage) "cCf" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHEAST)"},/turf/simulated/wall/r_wall,/area/engineering/atmos/storage) -"cCg" = (/obj/structure/table,/obj/item/weapon/storage/box/cups,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) +"cCg" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/cups,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cCh" = (/obj/structure/reagent_dispensers/water_cooler,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cCi" = (/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/maintenance/engi_shuttle) "cCj" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/medical/virology) @@ -6916,8 +6916,8 @@ "cCZ" = (/obj/structure/bed/chair,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/engineering/drone_fabrication) "cDa" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/table/reinforced,/obj/machinery/button/remote/blast_door{id = "xenobio4"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access = list(55)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/rnd/xenobiology) "cDb" = (/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"cDc" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"cDd" = (/obj/structure/table,/obj/machinery/microwave{pixel_x = -3; pixel_y = 6},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) +"cDc" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) +"cDd" = (/obj/structure/table/standard,/obj/machinery/microwave{pixel_x = -3; pixel_y = 6},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cDe" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/medical/virology) "cDf" = (/obj/structure/disposaloutlet,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/plating/airless,/area/space) "cDg" = (/obj/machinery/recharge_station,/obj/machinery/light_switch{pixel_x = 0; pixel_y = 27},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) @@ -6945,13 +6945,13 @@ "cDC" = (/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engineering/drone_fabrication) "cDD" = (/obj/machinery/computer/security/engineering{name = "Drone Monitoring Cameras"; network = list("Engineering")},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) "cDE" = (/obj/machinery/recharge_station,/turf/simulated/floor/plating,/area/engineering/drone_fabrication) -"cDF" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = 25},/obj/structure/table,/obj/item/stack/cable_coil,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = 3},/obj/item/device/multitool{pixel_x = 5},/obj/item/clothing/gloves/yellow,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor,/area/engineering/engine_smes) +"cDF" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = 25},/obj/structure/table/standard,/obj/item/stack/cable_coil,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = 3},/obj/item/device/multitool{pixel_x = 5},/obj/item/clothing/gloves/yellow,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor,/area/engineering/engine_smes) "cDG" = (/obj/machinery/light_switch{pixel_x = 0; pixel_y = 27},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/engineering/engine_smes) "cDH" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor,/area/engineering/engine_smes) -"cDI" = (/obj/structure/table,/obj/machinery/microwave{pixel_x = -2; pixel_y = 5},/turf/simulated/floor,/area/engineering/engine_monitoring) +"cDI" = (/obj/structure/table/standard,/obj/machinery/microwave{pixel_x = -2; pixel_y = 5},/turf/simulated/floor,/area/engineering/engine_monitoring) "cDJ" = (/turf/simulated/wall/r_wall,/area/engineering/engine_monitoring) "cDK" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/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,/area/engineering/engine_monitoring) -"cDL" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor,/area/engineering/engine_monitoring) +"cDL" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/donkpockets,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor,/area/engineering/engine_monitoring) "cDM" = (/obj/structure/closet/radiation,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = 28},/turf/simulated/floor,/area/engineering/engine_monitoring) "cDN" = (/obj/machinery/atmospherics/binary/pump{dir = 1; name = "Phoron to Mixing"},/turf/simulated/floor,/area/engineering/atmos) "cDO" = (/obj/machinery/atmospherics/binary/pump{name = "Mixing to Mix Tank"},/turf/simulated/floor,/area/engineering/atmos) @@ -6963,7 +6963,7 @@ "cDU" = (/obj/machinery/atmospherics/binary/pump{dir = 1; name = "Mix Tank to Port"},/turf/simulated/floor,/area/engineering/atmos) "cDV" = (/obj/machinery/atmospherics/pipe/simple/hidden/purple,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cDW" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/obj/machinery/ai_status_display{layer = 4; pixel_y = 32},/turf/simulated/floor,/area/engineering/engine_monitoring) -"cDX" = (/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) +"cDX" = (/obj/structure/table/standard,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cDY" = (/obj/machinery/washing_machine,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cDZ" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/engine,/area/rnd/xenobiology) "cEa" = (/obj/machinery/light/small{dir = 8},/obj/structure/disposalpipe/segment,/turf/simulated/floor/engine,/area/rnd/xenobiology) @@ -6975,14 +6975,14 @@ "cEg" = (/obj/structure/grille,/obj/machinery/meter,/obj/machinery/atmospherics/pipe/simple/visible/yellow,/turf/simulated/wall/r_wall,/area/engineering/atmos) "cEh" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/visible/yellow,/obj/machinery/meter,/turf/simulated/wall/r_wall,/area/engineering/atmos) "cEi" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/light,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/engineering/atmos) -"cEj" = (/obj/structure/table,/obj/item/weapon/storage/box/matches,/obj/item/weapon/storage/fancy/cigarettes,/obj/machinery/light/small{dir = 8},/obj/item/weapon/deck,/turf/simulated/floor/plating,/area/engineering/drone_fabrication) +"cEj" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/matches,/obj/item/weapon/storage/fancy/cigarettes,/obj/machinery/light/small{dir = 8},/obj/item/weapon/deck,/turf/simulated/floor/plating,/area/engineering/drone_fabrication) "cEk" = (/obj/machinery/drone_fabricator,/turf/simulated/floor/plating,/area/engineering/drone_fabrication) "cEl" = (/obj/effect/decal/remains/robot,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/engineering/drone_fabrication) "cEm" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engineering/drone_fabrication) "cEn" = (/turf/simulated/floor/plating,/area/engineering/drone_fabrication) "cEo" = (/obj/structure/disposalpipe/trunk{dir = 8},/obj/machinery/disposal,/turf/simulated/floor/plating,/area/engineering/drone_fabrication) "cEp" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/engineering/drone_fabrication) -"cEq" = (/obj/structure/table,/obj/item/stack/cable_coil,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = 3},/turf/simulated/floor,/area/engineering/engine_smes) +"cEq" = (/obj/structure/table/standard,/obj/item/stack/cable_coil,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = 3},/turf/simulated/floor,/area/engineering/engine_smes) "cEr" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/engineering/atmos) "cEs" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/engineering/engine_smes) "cEt" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor,/area/engineering/engine_monitoring) @@ -7001,7 +7001,7 @@ "cEG" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 1; frequency = 1441; icon_state = "map_injector"; id = "co2_in"; use_power = 1; pixel_y = 1},/turf/simulated/floor/engine{carbon_dioxide = 50000; name = "co2 floor"; nitrogen = 0; oxygen = 0},/area/engineering/atmos) "cEH" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 0; external_pressure_bound_default = 0; frequency = 1441; icon_state = "map_vent_in"; id_tag = "co2_out"; initialize_directions = 1; internal_pressure_bound = 4000; internal_pressure_bound_default = 4000; use_power = 1; pressure_checks = 2; pressure_checks_default = 2; pump_direction = 0},/turf/simulated/floor/engine{carbon_dioxide = 50000; name = "co2 floor"; nitrogen = 0; oxygen = 0},/area/engineering/atmos) "cEI" = (/obj/machinery/air_sensor{frequency = 1441; id_tag = "co2_sensor"},/turf/simulated/floor/engine{carbon_dioxide = 50000; name = "co2 floor"; nitrogen = 0; oxygen = 0},/area/engineering/atmos) -"cEJ" = (/obj/structure/table,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) +"cEJ" = (/obj/structure/table/standard,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cEK" = (/obj/machinery/computer/arcade,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cEL" = (/obj/structure/disposaloutlet{dir = 4},/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/engine,/area/rnd/xenobiology) "cEM" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 1; frequency = 1441; icon_state = "map_injector"; id = "tox_in"; use_power = 1; pixel_y = 1},/turf/simulated/floor/engine{carbon_dioxide = 0; name = "phoron floor"; nitrogen = 0; oxygen = 0; phoron = 70000},/area/engineering/atmos) @@ -7017,7 +7017,7 @@ "cEW" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engineering/drone_fabrication) "cEX" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance{req_one_access = list(10,24)},/turf/simulated/floor/plating,/area/engineering) "cEY" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) -"cEZ" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/table,/obj/item/stack/cable_coil,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/box/lights/mixed,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor,/area/engineering/engine_smes) +"cEZ" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/table/standard,/obj/item/stack/cable_coil,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/box/lights/mixed,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor,/area/engineering/engine_smes) "cFa" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/wall/r_wall,/area/engineering/engine_smes) "cFb" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor,/area/engineering/engine_smes) "cFc" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/engineering/engine_smes) @@ -7306,7 +7306,7 @@ "cKz" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 5},/obj/structure/lattice,/turf/space,/area/space) "cKA" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/visible/green,/turf/space,/area/space) "cKB" = (/obj/machinery/light_switch{pixel_x = 22; pixel_y = -10},/turf/simulated/floor,/area/engineering/engine_smes) -"cKC" = (/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/obj/machinery/light_switch{pixel_x = -27; pixel_y = 0},/obj/machinery/airlock_sensor/airlock_exterior{id_tag = "eng_al_ext_snsr"; layer = 3.3; master_tag = "engine_room_airlock"; pixel_y = -22; req_access = list(10)},/obj/structure/table,/obj/item/weapon/book/manual/supermatter_engine,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor,/area/engineering/engine_airlock) +"cKC" = (/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/obj/machinery/light_switch{pixel_x = -27; pixel_y = 0},/obj/machinery/airlock_sensor/airlock_exterior{id_tag = "eng_al_ext_snsr"; layer = 3.3; master_tag = "engine_room_airlock"; pixel_y = -22; req_access = list(10)},/obj/structure/table/standard,/obj/item/weapon/book/manual/supermatter_engine,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor,/area/engineering/engine_airlock) "cKD" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1380; id_tag = "engineering_dock_pump"},/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "engineering_dock_sensor"; pixel_x = -25; pixel_y = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 10},/area/maintenance/engi_shuttle) "cKE" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/toolbox/electrical,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/camera/network/engineering{c_tag = "Engineering Drone Fabrication"; dir = 8},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) "cKF" = (/obj/machinery/door/airlock/maintenance_hatch{name = "SMES Access"; req_access = list(11)},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor,/area/engineering/engine_monitoring) diff --git a/maps/exodus-2.dmm b/maps/exodus-2.dmm index a0c8550f82..54f5f95db4 100644 --- a/maps/exodus-2.dmm +++ b/maps/exodus-2.dmm @@ -405,9 +405,9 @@ "hO" = (/turf/simulated/shuttle/wall{dir = 2; icon_state = "swall_floor_f9"},/area/centcom/evac) "hP" = (/obj/structure/closet/emcloset,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) "hQ" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_2_recovery_hatch"; locked = 1; name = "Recovery Shuttle Dock"; req_access = list(13)},/turf/unsimulated/floor,/area/centcom/evac) -"hR" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/toxin{pixel_x = -2; pixel_y = 4},/obj/item/weapon/storage/firstaid/toxin,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) -"hS" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/storage/firstaid/fire{pixel_x = -2; pixel_y = 4},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) -"hT" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 0},/obj/item/weapon/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) +"hR" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/toxin{pixel_x = -2; pixel_y = 4},/obj/item/weapon/storage/firstaid/toxin,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) +"hS" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/storage/firstaid/fire{pixel_x = -2; pixel_y = 4},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) +"hT" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 0},/obj/item/weapon/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) "hU" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "escape_pod_1_recovery"; pixel_x = 25; pixel_y = 30; req_one_access = list(13); tag_door = "escape_pod_1_recovery_hatch"},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor2"},/area/centcom/evac) "hV" = (/turf/simulated/shuttle/wall{dir = 2; icon_state = "swall_floor_f5"},/area/centcom/evac) "hW" = (/turf/simulated/shuttle/plating,/turf/simulated/shuttle/wall{dir = 3; icon_state = "swall_f10"; layer = 2},/area/centcom/evac) @@ -467,7 +467,7 @@ "iY" = (/turf/space/transit/north/shuttlespace_ns9,/area/shuttle/escape_pod2/transit) "iZ" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns5,/area/space) "ja" = (/obj/structure/flora/bush,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/area/syndicate_mothership) -"jb" = (/obj/structure/table,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) +"jb" = (/obj/structure/table/standard,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) "jc" = (/obj/structure/bed/chair{dir = 4},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) "jd" = (/obj/structure/bed/chair{dir = 8},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) "je" = (/obj/machinery/vending/snack,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) @@ -476,7 +476,7 @@ "jh" = (/turf/space/transit/north/shuttlespace_ns15,/area/shuttle/escape_pod2/transit) "ji" = (/turf/space/transit/north/shuttlespace_ns8,/area/shuttle/escape_pod2/transit) "jj" = (/turf/space,/area/shuttle/escape_pod5/centcom) -"jk" = (/obj/structure/table,/obj/item/weapon/hand_labeler,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) +"jk" = (/obj/structure/table/standard,/obj/item/weapon/hand_labeler,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) "jl" = (/turf/space,/area/shuttle/escape_pod3/centcom) "jm" = (/obj/machinery/door/airlock/maintenance_hatch{req_access = list(101)},/turf/simulated/shuttle/plating,/area/centcom/evac) "jn" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_5_recovery_hatch"; locked = 1; name = "Recovery Shuttle Dock"; req_access = list(13)},/turf/unsimulated/floor,/area/centcom/evac) @@ -492,10 +492,10 @@ "jx" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/simulated/shuttle/wall{dir = 1; icon_state = "diagonalWall3"},/area/syndicate_mothership) "jy" = (/turf/simulated/shuttle/wall{dir = 2; icon_state = "swallc1"},/area/centcom/evac) "jz" = (/obj/machinery/computer/arcade,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) -"jA" = (/obj/structure/table,/obj/machinery/microwave,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) +"jA" = (/obj/structure/table/standard,/obj/machinery/microwave,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) "jB" = (/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) "jC" = (/obj/machinery/computer/security/nuclear,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) -"jD" = (/obj/structure/table,/obj/machinery/button/remote/blast_door{id = "syndieshutters"; name = "remote shutter control"; req_access = list(150)},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) +"jD" = (/obj/structure/table/standard,/obj/machinery/button/remote/blast_door{id = "syndieshutters"; name = "remote shutter control"; req_access = list(150)},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) "jE" = (/obj/machinery/door/airlock/hatch{name = "Infirmary"},/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/centcom/evac) "jF" = (/obj/structure/computerframe,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) "jG" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 8},/area/syndicate_mothership) @@ -505,7 +505,7 @@ "jK" = (/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 6},/obj/item/weapon/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor3"},/area/centcom/evac) "jL" = (/obj/structure/window/shuttle{icon_state = "window2"},/obj/structure/grille,/turf/simulated/shuttle/plating,/area/centcom/evac) "jM" = (/obj/structure/grille,/obj/structure/window/shuttle,/turf/simulated/shuttle/plating,/area/centcom/evac) -"jN" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) +"jN" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) "jO" = (/obj/item/weapon/stool{pixel_y = 8},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) "jP" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 4},/area/syndicate_mothership) "jQ" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 9},/area/syndicate_mothership) @@ -517,15 +517,15 @@ "jW" = (/obj/structure/table/reinforced,/obj/item/weapon/paper_bin,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor4"},/area/centcom/evac) "jX" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor4"},/area/centcom/evac) "jY" = (/obj/structure/table/reinforced,/obj/item/weapon/pen,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor4"},/area/centcom/evac) -"jZ" = (/obj/structure/table,/obj/item/stack/sheet/glass{amount = 15},/obj/item/weapon/cell{charge = 100; maxcharge = 15000},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) +"jZ" = (/obj/structure/table/standard,/obj/item/stack/sheet/glass{amount = 15},/obj/item/weapon/cell{charge = 100; maxcharge = 15000},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) "ka" = (/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; freerange = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_y = -32; subspace_transmission = 1; syndie = 1},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) "kb" = (/obj/structure/closet/syndicate/personal,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) "kc" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 1},/area/syndicate_mothership) "kd" = (/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) "ke" = (/obj/structure/sign/double/map/left{pixel_y = 32},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) "kf" = (/obj/structure/sign/double/map/right{pixel_y = 32},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) -"kg" = (/obj/structure/table,/obj/machinery/microwave,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/syndicate_mothership) -"kh" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/syndicate_mothership) +"kg" = (/obj/structure/table/standard,/obj/machinery/microwave,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/syndicate_mothership) +"kh" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/syndicate_mothership) "ki" = (/obj/machinery/sleeper,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor3"},/area/centcom/evac) "kj" = (/obj/machinery/sleep_console,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor3"},/area/centcom/evac) "kk" = (/obj/machinery/door/window{dir = 1; name = "Cockpit"; req_access = list(150)},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) @@ -549,14 +549,14 @@ "kC" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 6},/area/syndicate_mothership) "kD" = (/turf/unsimulated/wall/fakeglass,/area/syndicate_mothership) "kE" = (/obj/structure/bed/chair/comfy/black{dir = 4},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) -"kF" = (/obj/structure/table,/obj/item/weapon/folder,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) +"kF" = (/obj/structure/table/standard,/obj/item/weapon/folder,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) "kG" = (/obj/structure/bed/chair/comfy/black{dir = 8},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) "kH" = (/obj/structure/closet/crate/freezer,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/syndicate_mothership) "kI" = (/obj/machinery/door/airlock/hatch{name = "Cockpit"; req_access = list(109)},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor2"},/area/centcom/evac) -"kJ" = (/obj/structure/table,/obj/item/weapon/storage/box/handcuffs,/obj/item/device/flash,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor4"},/area/centcom/evac) +"kJ" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/handcuffs,/obj/item/device/flash,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor4"},/area/centcom/evac) "kK" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) "kL" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) -"kM" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) +"kM" = (/obj/structure/table/standard,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) "kN" = (/turf/simulated/shuttle/wall{icon_state = "swall14"; dir = 2},/area/centcom/evac) "kO" = (/turf/simulated/shuttle/wall{icon_state = "swall13"; dir = 2},/area/centcom/evac) "kP" = (/obj/machinery/door/airlock/external{req_access = list(150)},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) @@ -572,24 +572,24 @@ "kZ" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 8},/area/syndicate_mothership) "la" = (/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership) "lb" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/structure/mirror{pixel_x = 28},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership) -"lc" = (/obj/structure/table,/obj/item/device/radio/off,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) +"lc" = (/obj/structure/table/standard,/obj/item/device/radio/off,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) "ld" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns8,/area/space) -"le" = (/obj/structure/table,/obj/item/weapon/gun/energy/ionrifle,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) +"le" = (/obj/structure/table/standard,/obj/item/weapon/gun/energy/ionrifle,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) "lf" = (/turf/simulated/shuttle/plating,/area/syndicate_mothership) "lg" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0},/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/syndicate_mothership) "lh" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/simulated/shuttle/wall{dir = 1; icon_state = "diagonalWall3"},/turf/unsimulated/floor{dir = 1; icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"},/area/syndicate_mothership) "li" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 5},/area/syndicate_mothership) "lj" = (/obj/machinery/door/airlock/centcom{name = "Barracks"},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) "lk" = (/obj/structure/mopbucket,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership) -"ll" = (/obj/structure/table,/obj/item/weapon/storage/lockbox,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) -"lm" = (/obj/structure/table,/obj/item/weapon/stamp/captain,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) +"ll" = (/obj/structure/table/standard,/obj/item/weapon/storage/lockbox,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) +"lm" = (/obj/structure/table/standard,/obj/item/weapon/stamp/captain,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) "ln" = (/obj/machinery/computer/shuttle,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) -"lo" = (/obj/structure/table,/obj/item/weapon/clipboard,/obj/item/weapon/pen,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) -"lp" = (/obj/structure/table,/obj/item/weapon/paper_bin,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) +"lo" = (/obj/structure/table/standard,/obj/item/weapon/clipboard,/obj/item/weapon/pen,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) +"lp" = (/obj/structure/table/standard,/obj/item/weapon/paper_bin,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) "lq" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'FOURTH WALL'."; name = "\improper FOURTH WALL"; pixel_x = -32},/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/area/syndicate_mothership) -"lr" = (/obj/structure/table,/obj/item/device/aicard,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) +"lr" = (/obj/structure/table/standard,/obj/item/device/aicard,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) "ls" = (/obj/machinery/door/window{dir = 4; name = "Brig"; req_access = list(150)},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) -"lt" = (/obj/structure/table,/obj/machinery/computer/pod/old/syndicate{id = "smindicate"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) +"lt" = (/obj/structure/table/standard,/obj/machinery/computer/pod/old/syndicate{id = "smindicate"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) "lu" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/obj/structure/flora/grass/brown,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 8},/area/syndicate_mothership) "lv" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{dir = 1; icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"},/area/syndicate_mothership) "lw" = (/obj/structure/bed,/obj/item/weapon/bedsheet/red,/turf/simulated/floor/wood,/area/syndicate_mothership) @@ -610,26 +610,26 @@ "lL" = (/obj/machinery/sleeper,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_mothership) "lM" = (/obj/machinery/sleep_console,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_mothership) "lN" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_mothership) -"lO" = (/obj/structure/table,/obj/item/stack/medical/bruise_pack,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_mothership) -"lP" = (/obj/structure/table,/obj/item/stack/medical/ointment,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_mothership) -"lQ" = (/obj/structure/table,/obj/machinery/cell_charger,/obj/item/clothing/gloves/yellow,/obj/item/device/assembly/signaler,/obj/item/clothing/glasses/night,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) -"lR" = (/obj/structure/table,/obj/item/clothing/gloves/yellow,/obj/item/device/assembly/signaler,/obj/item/clothing/glasses/night,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) -"lS" = (/obj/structure/table,/obj/item/weapon/wrench,/obj/item/clothing/gloves/yellow,/obj/item/device/assembly/infra,/obj/item/clothing/glasses/night,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) -"lT" = (/obj/structure/table,/obj/item/clothing/gloves/yellow,/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/clothing/glasses/night,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) -"lU" = (/obj/structure/table,/obj/item/weapon/crowbar,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/clothing/gloves/yellow,/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/clothing/glasses/night,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) +"lO" = (/obj/structure/table/standard,/obj/item/stack/medical/bruise_pack,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_mothership) +"lP" = (/obj/structure/table/standard,/obj/item/stack/medical/ointment,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_mothership) +"lQ" = (/obj/structure/table/standard,/obj/machinery/cell_charger,/obj/item/clothing/gloves/yellow,/obj/item/device/assembly/signaler,/obj/item/clothing/glasses/night,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) +"lR" = (/obj/structure/table/standard,/obj/item/clothing/gloves/yellow,/obj/item/device/assembly/signaler,/obj/item/clothing/glasses/night,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) +"lS" = (/obj/structure/table/standard,/obj/item/weapon/wrench,/obj/item/clothing/gloves/yellow,/obj/item/device/assembly/infra,/obj/item/clothing/glasses/night,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) +"lT" = (/obj/structure/table/standard,/obj/item/clothing/gloves/yellow,/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/clothing/glasses/night,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) +"lU" = (/obj/structure/table/standard,/obj/item/weapon/crowbar,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/clothing/gloves/yellow,/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/clothing/glasses/night,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) "lV" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 4},/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 8},/area/syndicate_mothership) "lW" = (/turf/simulated/floor/wood{icon_state = "wood-broken3"},/area/syndicate_mothership) "lX" = (/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_mothership) "lY" = (/obj/machinery/door/window/westright{name = "Tool Storage"; req_access = list(150)},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) "lZ" = (/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"; name = "Infirmary"; req_access = list(150)},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_mothership) -"ma" = (/obj/structure/table,/obj/item/weapon/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/toolbox/syndicate{pixel_x = -3; pixel_y = -3},/obj/effect/spawner/newbomb/timer/syndicate,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) +"ma" = (/obj/structure/table/standard,/obj/item/weapon/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/toolbox/syndicate{pixel_x = -3; pixel_y = -3},/obj/effect/spawner/newbomb/timer/syndicate,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) "mb" = (/obj/machinery/door/window{dir = 8; name = "Tool Storage"; req_access = list(150)},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) "mc" = (/obj/machinery/door/window{dir = 1; name = "Secure Storage"; req_access = list(150)},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_mothership) "md" = (/obj/structure/closet/crate/medical,/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/storage/firstaid/o2,/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/storage/firstaid/toxin,/obj/item/weapon/storage/firstaid/adv,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_mothership) "me" = (/obj/item/weapon/weldingtool,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_mothership) "mf" = (/obj/machinery/door/airlock/centcom{name = "Barracks"; opacity = 1; req_access = list(150)},/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership) "mg" = (/obj/item/weapon/crowbar,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_mothership) -"mh" = (/obj/structure/table,/obj/effect/spawner/newbomb/timer/syndicate,/turf/unsimulated/floor{icon_state = "floor4"},/area/syndicate_mothership) +"mh" = (/obj/structure/table/standard,/obj/effect/spawner/newbomb/timer/syndicate,/turf/unsimulated/floor{icon_state = "floor4"},/area/syndicate_mothership) "mi" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 4; icon_state = "shutter0"; id = "syndieshutters_workshop"; name = "Blast Shutters"; opacity = 0},/turf/simulated/shuttle/plating,/area/syndicate_station/start) "mj" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/obj/structure/flora/bush,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 8},/area/syndicate_mothership) "mk" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/syndicate/black/orange,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/syndicate/black/orange,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) @@ -664,9 +664,9 @@ "mN" = (/turf/unsimulated/wall{icon_state = "phoron13"},/area/alien) "mO" = (/turf/unsimulated/wall{icon_state = "phoron9"},/area/alien) "mP" = (/obj/structure/lattice,/obj/structure/grille/broken,/turf/space,/area/space) -"mQ" = (/obj/structure/table,/obj/item/device/flashlight/lamp{pixel_x = 4; pixel_y = 8},/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership) -"mR" = (/obj/structure/table,/obj/effect/landmark{name = "Nuclear-Code"},/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership) -"mS" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 8},/obj/item/weapon/pen{pixel_y = 4},/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership) +"mQ" = (/obj/structure/table/standard,/obj/item/device/flashlight/lamp{pixel_x = 4; pixel_y = 8},/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership) +"mR" = (/obj/structure/table/standard,/obj/effect/landmark{name = "Nuclear-Code"},/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership) +"mS" = (/obj/structure/table/standard,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 8},/obj/item/weapon/pen{pixel_y = 4},/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership) "mT" = (/obj/structure/bed/alien,/turf/unsimulated/floor{icon_state = "floor5"},/area/alien) "mU" = (/obj/structure/bed,/obj/item/weapon/bedsheet/hos,/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership) "mV" = (/obj/effect/landmark{name = "Syndicate-Spawn"},/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership) @@ -676,23 +676,23 @@ "mZ" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/turf/unsimulated/floor{icon_state = "floor5"},/area/syndicate_mothership) "na" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/turf/unsimulated/floor{icon_state = "floor5"},/area/syndicate_mothership) "nb" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{icon_state = "floor5"},/area/syndicate_mothership) -"nc" = (/obj/structure/table,/obj/machinery/chemical_dispenser/bar_soft/full{pixel_x = 2; pixel_y = 6},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership) +"nc" = (/obj/structure/table/standard,/obj/machinery/chemical_dispenser/bar_soft/full{pixel_x = 2; pixel_y = 6},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership) "nd" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/turf/unsimulated/floor{icon_state = "floor5"},/area/syndicate_mothership) "ne" = (/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/syndicate_mothership) "nf" = (/obj/structure/sign/double/map/left{pixel_y = 32},/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/syndicate_mothership) "ng" = (/obj/structure/sign/double/map/right{pixel_y = 32},/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/syndicate_mothership) "nh" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "syndieshutters_infirmary"; name = "Blast Shutters"; opacity = 0},/turf/simulated/shuttle/plating,/area/syndicate_station/start) "ni" = (/obj/machinery/computer/shuttle_control/multi/syndicate,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"nj" = (/obj/structure/table,/obj/item/weapon/storage/box/drinkingglasses{pixel_x = 1; pixel_y = 4},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership) +"nj" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/drinkingglasses{pixel_x = 1; pixel_y = 4},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership) "nk" = (/obj/structure/sink/kitchen{pixel_y = 28},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership) "nl" = (/obj/structure/closet/secure_closet/freezer/fridge,/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership) "nm" = (/obj/structure/bed/chair/comfy/black,/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/syndicate_mothership) -"nn" = (/obj/structure/table,/obj/machinery/button/remote/blast_door{id = "syndieshutters"; name = "remote shutter control"; req_access = list(150)},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"nn" = (/obj/structure/table/standard,/obj/machinery/button/remote/blast_door{id = "syndieshutters"; name = "remote shutter control"; req_access = list(150)},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) "no" = (/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership) "np" = (/obj/structure/table/reinforced,/obj/machinery/microwave{pixel_x = -1; pixel_y = 8},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership) "nq" = (/obj/structure/bed/chair/comfy/black{dir = 4},/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/syndicate_mothership) -"nr" = (/obj/structure/table,/obj/item/weapon/folder{pixel_y = 2},/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/syndicate_mothership) -"ns" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen{pixel_y = 4},/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/syndicate_mothership) +"nr" = (/obj/structure/table/standard,/obj/item/weapon/folder{pixel_y = 2},/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/syndicate_mothership) +"ns" = (/obj/structure/table/standard,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen{pixel_y = 4},/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/syndicate_mothership) "nt" = (/obj/structure/bed/chair/comfy/black{dir = 8},/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/syndicate_mothership) "nu" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership) "nv" = (/turf/space,/turf/simulated/shuttle/wall{dir = 8; icon_state = "diagonalWall3"},/area/syndicate_station/start) @@ -708,7 +708,7 @@ "nF" = (/obj/structure/table/rack,/obj/item/weapon/storage/belt/security,/obj/item/weapon/storage/belt/security,/obj/item/ammo_magazine/mc9mm/flash,/obj/item/weapon/gun/projectile/pistol/flash,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) "nG" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/syndicate/black/red,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/syndicate/black/red,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) "nH" = (/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/syndicate_station/start) -"nI" = (/obj/structure/table,/obj/machinery/recharger,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"nI" = (/obj/structure/table/standard,/obj/machinery/recharger,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) "nJ" = (/obj/machinery/computer/security/nuclear,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) "nK" = (/obj/structure/closet/secure_closet/freezer/kitchen{req_access = list(150)},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership) "nL" = (/obj/structure/computerframe,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) @@ -716,7 +716,7 @@ "nN" = (/obj/machinery/door/blast/regular{id = "syndieshutters_telebay"; name = "Outer Airlock"},/turf/simulated/shuttle/plating,/area/syndicate_station/start) "nO" = (/obj/structure/table/rack,/obj/item/weapon/gun/energy/ionrifle,/obj/machinery/recharger/wallcharger{pixel_x = 5; pixel_y = 32},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) "nP" = (/obj/structure/table/rack,/obj/item/ammo_magazine/a12mm,/obj/item/ammo_magazine/a12mm,/obj/item/ammo_magazine/a12mm,/obj/item/ammo_magazine/a12mm,/obj/item/ammo_magazine/a12mm,/obj/item/ammo_magazine/a12mm,/obj/item/weapon/gun/projectile/automatic/c20r,/obj/item/weapon/gun/projectile/automatic/c20r,/obj/item/weapon/gun/projectile/automatic/c20r,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"nQ" = (/obj/structure/table,/obj/machinery/microwave{pixel_x = -1; pixel_y = 2},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"nQ" = (/obj/structure/table/standard,/obj/machinery/microwave{pixel_x = -1; pixel_y = 2},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) "nR" = (/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) "nS" = (/obj/structure/bed/chair{dir = 1},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) "nT" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/turf/unsimulated/floor{icon_state = "floor5"},/area/syndicate_mothership) @@ -731,9 +731,9 @@ "oc" = (/obj/machinery/door/airlock/centcom{name = "Bathroom"; opacity = 1},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership) "od" = (/obj/machinery/shower{dir = 1},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership) "oe" = (/obj/structure/table/rack,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"of" = (/obj/structure/table,/obj/item/stack/sheet/glass{amount = 15},/obj/item/weapon/cell{charge = 100; maxcharge = 15000},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"of" = (/obj/structure/table/standard,/obj/item/stack/sheet/glass{amount = 15},/obj/item/weapon/cell{charge = 100; maxcharge = 15000},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) "og" = (/obj/machinery/light{dir = 4},/turf/simulated/shuttle/floor,/area/supply/dock) -"oh" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 8},/obj/item/weapon/pen{pixel_y = 4},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"oh" = (/obj/structure/table/standard,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 8},/obj/item/weapon/pen{pixel_y = 4},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) "oi" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/structure/window/reinforced,/turf/unsimulated/floor{icon_state = "floor5"},/area/syndicate_mothership) "oj" = (/obj/structure/mirror{dir = 4; pixel_x = -32; pixel_y = 0},/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership) "ok" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/unsimulated/floor{icon_state = "floor5"},/area/syndicate_mothership) @@ -783,7 +783,7 @@ "pc" = (/obj/machinery/door/airlock/centcom{name = "Hardsuit Storage"; opacity = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) "pd" = (/turf/unsimulated/floor{name = "plating"},/turf/simulated/shuttle/wall{dir = 8; icon_state = "diagonalWall3"},/area/shuttle/administration/centcom) "pe" = (/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/shuttle/administration/centcom) -"pf" = (/obj/structure/table,/obj/machinery/computer/pod/old/syndicate{id = "smindicate"},/obj/machinery/door/window{dir = 4; name = "Blast Door Control"; req_access = list(150)},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"pf" = (/obj/structure/table/standard,/obj/machinery/computer/pod/old/syndicate{id = "smindicate"},/obj/machinery/door/window{dir = 4; name = "Blast Door Control"; req_access = list(150)},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) "pg" = (/turf/unsimulated/floor{name = "plating"},/turf/simulated/shuttle/wall{dir = 1; icon_state = "diagonalWall3"},/area/shuttle/administration/centcom) "ph" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/unsimulated/floor{icon_state = "floor5"},/area/syndicate_station/start) "pi" = (/obj/structure/toilet{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor7"},/area/syndicate_station/start) @@ -802,12 +802,12 @@ "pv" = (/obj/item/device/multitool,/obj/item/weapon/reagent_containers/spray/cleaner,/obj/structure/table/reinforced{icon_state = "table"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) "pw" = (/obj/item/weapon/storage/toolbox/mechanical,/obj/structure/table/reinforced{icon_state = "table"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) "px" = (/obj/machinery/vending/cigarette{name = "hacked cigarette machine"; prices = list(); products = list(/obj/item/weapon/storage/fancy/cigarettes = 10, /obj/item/weapon/storage/box/matches = 10, /obj/item/weapon/flame/lighter/zippo = 4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana = 2)},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"py" = (/obj/structure/table,/obj/item/weapon/kitchen/utensil/knife{pixel_x = -6},/obj/item/weapon/reagent_containers/syringe/drugs{pixel_x = 3; pixel_y = -1},/obj/item/weapon/reagent_containers/syringe/drugs{pixel_x = 3; pixel_y = 4},/obj/item/weapon/reagent_containers/syringe/drugs{pixel_x = 3; pixel_y = 9},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"py" = (/obj/structure/table/standard,/obj/item/weapon/kitchen/utensil/knife{pixel_x = -6},/obj/item/weapon/reagent_containers/syringe/drugs{pixel_x = 3; pixel_y = -1},/obj/item/weapon/reagent_containers/syringe/drugs{pixel_x = 3; pixel_y = 4},/obj/item/weapon/reagent_containers/syringe/drugs{pixel_x = 3; pixel_y = 9},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) "pz" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/shuttle/plating,/area/syndicate_station/start) "pA" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "admin_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access = list(13)},/turf/simulated/floor/plating,/area/shuttle/administration/centcom) "pB" = (/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) "pC" = (/obj/machinery/door/window{dir = 4; name = "Brig"; req_access = list(150)},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"pD" = (/obj/structure/table,/obj/machinery/recharger{pixel_y = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) +"pD" = (/obj/structure/table/standard,/obj/machinery/recharger{pixel_y = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) "pE" = (/obj/machinery/cell_charger,/obj/structure/table/reinforced{icon_state = "table"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) "pF" = (/turf/unsimulated/wall,/area/centcom/living) "pG" = (/obj/structure/table/woodentable/holotable,/turf/simulated/floor/holofloor{icon_state = "carpet15-15"; dir = 4},/area/holodeck/source_courtroom) @@ -823,7 +823,7 @@ "pQ" = (/obj/machinery/door/airlock/glass,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) "pR" = (/obj/item/stack/sheet/glass{amount = 50},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) "pS" = (/obj/item/stack/sheet/metal{amount = 50},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) -"pT" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/living) +"pT" = (/obj/structure/table/standard,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/living) "pU" = (/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/living) "pV" = (/obj/structure/closet/secure_closet/personal,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/living) "pW" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor,/area/centcom/living) @@ -849,8 +849,8 @@ "qq" = (/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/centcom/living) "qr" = (/obj/machinery/atm{pixel_y = 24},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/centcom/living) "qs" = (/obj/item/weapon/stool{pixel_y = 8},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/centcom/living) -"qt" = (/obj/item/weapon/reagent_containers/food/condiment/peppermill{pixel_x = 2; pixel_y = 6},/obj/structure/table,/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/centcom/living) -"qu" = (/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/obj/structure/table,/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/centcom/living) +"qt" = (/obj/item/weapon/reagent_containers/food/condiment/peppermill{pixel_x = 2; pixel_y = 6},/obj/structure/table/standard,/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/centcom/living) +"qu" = (/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/obj/structure/table/standard,/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/centcom/living) "qv" = (/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/centcom/living) "qw" = (/obj/machinery/vending/cola,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/centcom/living) "qx" = (/obj/machinery/vending/cigarette,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/centcom/living) @@ -860,12 +860,12 @@ "qB" = (/turf/unsimulated/wall{desc = "Why it no open!"; icon_state = "pdoor1"; name = "Shuttle Bay Blast Door"},/area/centcom/suppy) "qC" = (/obj/structure/closet{name = "custodial"},/obj/item/weapon/reagent_containers/glass/bucket,/obj/item/weapon/mop,/obj/item/weapon/reagent_containers/spray/cleaner,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) "qD" = (/obj/machinery/door/airlock/centcom{name = "General Access"; opacity = 1; req_access = list(101)},/turf/simulated/floor/plating,/area/shuttle/administration/centcom) -"qE" = (/obj/structure/table,/obj/structure/closet/secure_closet/medical_wall{pixel_y = 32; req_access = list(150)},/obj/item/bodybag,/obj/item/weapon/reagent_containers/syringe/antiviral,/obj/item/weapon/reagent_containers/syringe/antiviral,/obj/item/weapon/reagent_containers/syringe/antiviral,/obj/item/weapon/reagent_containers/glass/bottle/antitoxin{pixel_x = -4; pixel_y = 8},/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline{pixel_x = 4; pixel_y = 7},/obj/item/weapon/reagent_containers/syringe,/obj/machinery/light{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) -"qF" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/syndicate{pixel_x = -1; pixel_y = 3},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"qE" = (/obj/structure/table/standard,/obj/structure/closet/secure_closet/medical_wall{pixel_y = 32; req_access = list(150)},/obj/item/bodybag,/obj/item/weapon/reagent_containers/syringe/antiviral,/obj/item/weapon/reagent_containers/syringe/antiviral,/obj/item/weapon/reagent_containers/syringe/antiviral,/obj/item/weapon/reagent_containers/glass/bottle/antitoxin{pixel_x = -4; pixel_y = 8},/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline{pixel_x = 4; pixel_y = 7},/obj/item/weapon/reagent_containers/syringe,/obj/machinery/light{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) +"qF" = (/obj/structure/table/standard,/obj/item/weapon/storage/toolbox/syndicate{pixel_x = -1; pixel_y = 3},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) "qG" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_r"; dir = 4},/turf/space,/area/shuttle/administration/centcom) "qH" = (/turf/unsimulated/floor{name = "plating"},/turf/simulated/shuttle/wall{dir = 4; icon_state = "diagonalWall3"},/area/shuttle/administration/centcom) "qI" = (/obj/machinery/door/airlock/centcom{name = "Living Quarters"; opacity = 1; req_access = list(105)},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/centcom/living) -"qJ" = (/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/obj/structure/table,/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/centcom/living) +"qJ" = (/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/obj/structure/table/standard,/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/centcom/living) "qK" = (/obj/machinery/suit_cycler/syndicate{locked = 0},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) "qL" = (/obj/machinery/door/airlock/external,/turf/unsimulated/floor{name = "plating"},/area/centcom/living) "qM" = (/turf/unsimulated/floor{name = "plating"},/area/centcom/living) @@ -887,12 +887,12 @@ "rc" = (/obj/structure/table/rack,/obj/item/clothing/suit/storage/vest/heavy/merc{pixel_x = 2; pixel_y = 2},/obj/item/clothing/suit/storage/vest/heavy/merc{pixel_x = -2; pixel_y = -2},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) "rd" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "admin_shuttle_bay"; name = "shuttle bay controller"; pixel_x = 25; pixel_y = 0; tag_door = "admin_shuttle_bay_door"},/turf/unsimulated/floor{name = "plating"},/area/centcom) "re" = (/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; freerange = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_x = -32; subspace_transmission = 1; syndie = 1},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"rf" = (/obj/structure/table,/obj/item/clothing/gloves/yellow,/obj/item/device/assembly/signaler{pixel_y = 2},/obj/item/clothing/glasses/night,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"rg" = (/obj/structure/table,/obj/item/clothing/gloves/yellow,/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/clothing/glasses/night,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"rf" = (/obj/structure/table/standard,/obj/item/clothing/gloves/yellow,/obj/item/device/assembly/signaler{pixel_y = 2},/obj/item/clothing/glasses/night,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"rg" = (/obj/structure/table/standard,/obj/item/clothing/gloves/yellow,/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/clothing/glasses/night,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) "rh" = (/obj/structure/bed/chair/comfy/black{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) "ri" = (/obj/machinery/door/window{dir = 4; name = "Infirmary"; req_access = list(150)},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) "rj" = (/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) -"rk" = (/obj/structure/table,/obj/item/weapon/screwdriver,/obj/effect/spawner/newbomb/timer/syndicate,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"rk" = (/obj/structure/table/standard,/obj/item/weapon/screwdriver,/obj/effect/spawner/newbomb/timer/syndicate,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) "rl" = (/obj/machinery/vending/snack{name = "hacked Getmore Chocolate Corp"; prices = list()},/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/syndicate_mothership) "rm" = (/obj/machinery/dna_scannernew,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration/centcom) "rn" = (/obj/machinery/computer/cloning,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration/centcom) @@ -915,10 +915,10 @@ "rE" = (/obj/machinery/button/remote/blast_door{id = "syndieshutters_infirmary"; name = "remote shutter control"; pixel_x = -25},/obj/structure/mopbucket,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) "rF" = (/obj/machinery/door/window{dir = 1; name = "Secure Storage"; req_access = list(150)},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) "rG" = (/obj/item/weapon/stool{pixel_y = 8},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"rH" = (/obj/structure/table,/obj/effect/spawner/newbomb/timer/syndicate,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"rH" = (/obj/structure/table/standard,/obj/effect/spawner/newbomb/timer/syndicate,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) "rI" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/blast/shutters{density = 0; icon_state = "shutter0"; id = "syndieshutters"; name = "Blast Shutters"; opacity = 0},/turf/simulated/shuttle/plating,/area/syndicate_station/start) "rJ" = (/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration/centcom) -"rK" = (/obj/item/weapon/reagent_containers/food/condiment/saltshaker{pixel_x = -6},/obj/structure/table,/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/centcom/living) +"rK" = (/obj/item/weapon/reagent_containers/food/condiment/saltshaker{pixel_x = -6},/obj/structure/table/standard,/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/centcom/living) "rL" = (/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/living) "rM" = (/obj/structure/closet/secure_closet/freezer/meat,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/living) "rN" = (/obj/machinery/chem_master/condimaster{name = "CondiMaster Neo"; pixel_x = -5},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/living) @@ -926,44 +926,44 @@ "rP" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/shutters{density = 0; icon_state = "shutter0"; id = "syndieshutters"; name = "Blast Shutters"; opacity = 0},/turf/simulated/shuttle/plating,/area/syndicate_station/start) "rQ" = (/obj/machinery/button/remote/blast_door{id = "syndieshutters_workshop"; name = "remote shutter control"; pixel_x = 25},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) "rR" = (/obj/machinery/computer/shuttle_control{req_access = list(101); shuttle_tag = "Administration"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) -"rS" = (/obj/structure/table,/obj/item/device/aicard,/obj/effect/spawner/newbomb/timer/syndicate,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"rS" = (/obj/structure/table/standard,/obj/item/device/aicard,/obj/effect/spawner/newbomb/timer/syndicate,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) "rT" = (/obj/structure/closet/secure_closet/bar{req_access = list(25)},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/living) "rU" = (/obj/machinery/optable,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration/centcom) "rV" = (/obj/structure/table/reinforced,/obj/machinery/librarycomp,/turf/simulated/floor{dir = 1; icon_state = "chapel"},/area/shuttle/administration/centcom) "rW" = (/obj/structure/bookcase,/turf/simulated/floor{dir = 4; icon_state = "chapel"},/area/shuttle/administration/centcom) -"rX" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/drinks/shaker,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/living) -"rY" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/living) +"rX" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/food/drinks/shaker,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/living) +"rY" = (/obj/structure/table/standard,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/living) "rZ" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad2"},/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "supply_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access = list(13)},/turf/simulated/shuttle/plating,/area/supply/dock) "sa" = (/obj/machinery/door/window{dir = 1; name = "Surgery"; req_access = list(150)},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) "sb" = (/obj/machinery/telecomms/allinone{intercept = 1},/obj/machinery/door/window/northright{name = "Telecoms Mainframe"; req_access = list(150)},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"sc" = (/obj/structure/table,/obj/item/clothing/gloves/yellow,/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/clothing/glasses/night,/obj/machinery/light{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"sc" = (/obj/structure/table/standard,/obj/item/clothing/gloves/yellow,/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/clothing/glasses/night,/obj/machinery/light{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) "sd" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "supply_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access = list(13)},/turf/simulated/shuttle/floor,/area/supply/dock) "se" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/structure/sign/nosmoking_1{pixel_y = 32},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) "sf" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/item/weapon/reagent_containers/glass/bottle/stoxin,/obj/item/weapon/reagent_containers/glass/bottle/stoxin,/obj/item/weapon/reagent_containers/syringe,/obj/item/clothing/mask/surgical,/obj/item/clothing/gloves/latex,/obj/item/weapon/surgicaldrill,/obj/structure/closet/secure_closet/medical_wall{pixel_x = 32; pixel_y = 0; req_access = list(150)},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) "sg" = (/obj/machinery/door/window/northright{icon_state = "right"; dir = 2},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration/centcom) -"sh" = (/obj/structure/table,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration/centcom) -"si" = (/obj/structure/table,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) +"sh" = (/obj/structure/table/standard,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration/centcom) +"si" = (/obj/structure/table/standard,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) "sj" = (/turf/simulated/floor{dir = 8; icon_state = "chapel"},/area/shuttle/administration/centcom) "sk" = (/turf/simulated/floor{icon_state = "chapel"},/area/shuttle/administration/centcom) "sl" = (/obj/structure/closet/secure_closet/medical_wall{pixel_y = 0; req_access = list(150)},/obj/item/weapon/surgicaldrill,/obj/item/clothing/gloves/latex,/obj/item/clothing/mask/surgical,/obj/item/weapon/reagent_containers/glass/bottle/stoxin,/obj/item/weapon/reagent_containers/glass/bottle/stoxin,/obj/item/weapon/reagent_containers/syringe,/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/syndicate_station/start) "sm" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{name = "plating"},/area/centcom/living) "sn" = (/obj/item/weapon/stool{pixel_y = 8},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/living) "so" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/machinery/meter,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"sp" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/table,/obj/item/weapon/bonesetter,/obj/item/weapon/bonegel,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) +"sp" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/table/standard,/obj/item/weapon/bonesetter,/obj/item/weapon/bonegel,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) "sq" = (/obj/machinery/door/airlock/centcom{name = "Living Quarters"; opacity = 1; req_access = list(105)},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/living) -"sr" = (/obj/structure/table,/obj/item/roller{pixel_y = 8},/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) -"ss" = (/obj/structure/table,/obj/structure/window/reinforced{dir = 8},/obj/item/weapon/storage/firstaid/toxin{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/firstaid/adv{pixel_x = 1},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) -"st" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/o2{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/firstaid/fire{pixel_x = 1},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) -"su" = (/obj/structure/table,/obj/item/clothing/gloves/yellow,/obj/item/device/assembly/signaler{pixel_y = 2},/obj/item/clothing/glasses/night,/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"sr" = (/obj/structure/table/standard,/obj/item/roller{pixel_y = 8},/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) +"ss" = (/obj/structure/table/standard,/obj/structure/window/reinforced{dir = 8},/obj/item/weapon/storage/firstaid/toxin{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/firstaid/adv{pixel_x = 1},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) +"st" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/o2{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/firstaid/fire{pixel_x = 1},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) +"su" = (/obj/structure/table/standard,/obj/item/clothing/gloves/yellow,/obj/item/device/assembly/signaler{pixel_y = 2},/obj/item/clothing/glasses/night,/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) "sv" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "supply_shuttle"; pixel_x = 25; pixel_y = 0; req_one_access = list(13,31); tag_door = "supply_shuttle_hatch"},/turf/simulated/shuttle/floor,/area/supply/dock) "sw" = (/obj/machinery/door/airlock/centcom{name = "Commander Quarters"; opacity = 1; req_access = list(109)},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/centcom/living) -"sx" = (/obj/structure/table,/turf/unsimulated/floor{dir = 9; icon_state = "carpetside"},/area/centcom/living) +"sx" = (/obj/structure/table/standard,/turf/unsimulated/floor{dir = 9; icon_state = "carpetside"},/area/centcom/living) "sy" = (/turf/unsimulated/floor{dir = 1; icon_state = "carpetside"},/area/centcom/living) "sz" = (/obj/machinery/sleeper,/turf/unsimulated/floor{dir = 5; icon_state = "carpetside"},/area/centcom/living) "sA" = (/obj/structure/mirror{pixel_y = 28},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/living) "sB" = (/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/living) "sC" = (/obj/machinery/computer/card/centcom,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/living) -"sD" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/kitchen/rollingpin,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/living) +"sD" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/kitchen/rollingpin,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/living) "sE" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad"},/turf/simulated/shuttle/floor,/area/supply/dock) "sF" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad"},/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "supply_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access = list(13)},/turf/simulated/shuttle/plating,/area/supply/dock) "sG" = (/obj/machinery/light/small{dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) @@ -978,13 +978,13 @@ "sP" = (/turf/unsimulated/floor{dir = 2; icon_state = "carpetside"},/area/centcom/living) "sQ" = (/turf/unsimulated/floor{dir = 6; icon_state = "carpetside"},/area/centcom/living) "sR" = (/turf/unsimulated/floor{dir = 2; icon_state = "carpetsymbol"},/area/centcom/living) -"sS" = (/obj/structure/table,/obj/item/weapon/card/id/centcom,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/living) +"sS" = (/obj/structure/table/standard,/obj/item/weapon/card/id/centcom,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/living) "sT" = (/obj/machinery/vending/dinnerware,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/living) -"sU" = (/obj/structure/table,/obj/item/weapon/reagent_containers/glass/beaker,/obj/item/weapon/reagent_containers/food/condiment/enzyme,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/living) -"sV" = (/obj/structure/table,/obj/machinery/microwave{pixel_x = -3; pixel_y = 6},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/living) -"sW" = (/obj/structure/table,/obj/item/weapon/cautery,/obj/item/weapon/hemostat,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) +"sU" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/glass/beaker,/obj/item/weapon/reagent_containers/food/condiment/enzyme,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/living) +"sV" = (/obj/structure/table/standard,/obj/machinery/microwave{pixel_x = -3; pixel_y = 6},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/living) +"sW" = (/obj/structure/table/standard,/obj/item/weapon/cautery,/obj/item/weapon/hemostat,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) "sX" = (/obj/machinery/optable,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) -"sY" = (/obj/structure/table,/obj/item/stack/medical/advanced/bruise_pack,/obj/item/weapon/retractor,/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; freerange = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_x = 32; subspace_transmission = 1; syndie = 1},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) +"sY" = (/obj/structure/table/standard,/obj/item/stack/medical/advanced/bruise_pack,/obj/item/weapon/retractor,/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; freerange = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_x = 32; subspace_transmission = 1; syndie = 1},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) "sZ" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/syndicate_station/start) "ta" = (/obj/machinery/teleport/station,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) "tb" = (/obj/machinery/teleport/hub,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) @@ -1053,7 +1053,7 @@ "um" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/unsimulated/floor{name = "plating"},/area/centcom/control) "un" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/unsimulated/floor{name = "plating"},/area/centcom/control) "uo" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control) -"up" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control) +"up" = (/obj/structure/table/standard,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control) "uq" = (/obj/structure/closet/secure_closet/security,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control) "ur" = (/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control) "us" = (/turf/space,/area/centcom/specops) @@ -1136,7 +1136,7 @@ "vR" = (/obj/structure/table/rack,/obj/item/weapon/rig/ert/security,/obj/item/clothing/accessory/storage/black_vest,/obj/item/weapon/rig/ert/security,/obj/item/clothing/accessory/storage/black_vest,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) "vS" = (/obj/structure/table/rack,/obj/item/rig_module/mounted,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) "vT" = (/obj/structure/table/reinforced,/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/metal{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/sheet/metal{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/sheet/metal{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/sheet/metal{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/sheet/plasteel{amount = 50},/obj/item/stack/sheet/plasteel{amount = 50},/obj/item/stack/sheet/plasteel{amount = 50},/obj/item/stack/sheet/plasteel{amount = 50},/obj/item/stack/sheet/glass/reinforced{amount = 50},/obj/item/stack/sheet/glass/reinforced{amount = 50},/obj/item/stack/sheet/glass/reinforced{amount = 50},/obj/item/weapon/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) -"vU" = (/obj/structure/table,/obj/item/weapon/scalpel,/obj/item/weapon/circular_saw{pixel_y = 8},/obj/machinery/light/small{dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) +"vU" = (/obj/structure/table/standard,/obj/item/weapon/scalpel,/obj/item/weapon/circular_saw{pixel_y = 8},/obj/machinery/light/small{dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) "vV" = (/turf/unsimulated/floor{icon_state = "green"; dir = 4},/area/centcom/control) "vW" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/control) "vX" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/control) @@ -1243,11 +1243,11 @@ "xU" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor,/area/centcom/control) "xV" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor,/area/centcom/control) "xW" = (/obj/machinery/door/airlock/centcom{name = "Courthouse"; opacity = 1},/turf/unsimulated/floor{icon_state = "whiteshiny"},/area/centcom/control) -"xX" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/control) +"xX" = (/obj/structure/table/standard,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/control) "xY" = (/obj/structure/sign/nosmoking_2,/turf/unsimulated/wall,/area/centcom/control) "xZ" = (/obj/machinery/vending/cigarette,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control) "ya" = (/obj/structure/bed/chair,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"yb" = (/obj/structure/table,/obj/machinery/recharger{pixel_y = 4},/obj/item/weapon/handcuffs,/obj/item/weapon/storage/pill_bottle/dice,/obj/item/weapon/deck,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"yb" = (/obj/structure/table/standard,/obj/machinery/recharger{pixel_y = 4},/obj/item/weapon/handcuffs,/obj/item/weapon/storage/pill_bottle/dice,/obj/item/weapon/deck,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "yc" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops) "yd" = (/obj/structure/bed/chair/office/light,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "ye" = (/obj/structure/undies_wardrobe,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) @@ -1284,7 +1284,7 @@ "yJ" = (/obj/structure/table/rack,/obj/item/weapon/storage/backpack/security,/obj/item/clothing/under/syndicate/combat,/obj/item/clothing/shoes/galoshes,/obj/item/clothing/head/bio_hood/janitor,/obj/item/clothing/suit/bio_suit/janitor,/obj/item/clothing/gloves/purple,/obj/item/clothing/glasses/science,/obj/item/weapon/storage/backpack/security,/obj/item/clothing/under/syndicate/combat,/obj/item/clothing/shoes/galoshes,/obj/item/clothing/head/bio_hood/janitor,/obj/item/clothing/suit/bio_suit/janitor,/obj/item/clothing/gloves/purple,/obj/item/clothing/glasses/science,/obj/item/weapon/reagent_containers/spray/cleaner{pixel_x = 6; pixel_y = 3},/obj/item/weapon/reagent_containers/spray/cleaner{pixel_x = 6; pixel_y = 3},/obj/item/weapon/reagent_containers/spray/plantbgone,/obj/item/weapon/reagent_containers/spray/plantbgone,/obj/item/weapon/storage/box/lights/mixed,/obj/item/weapon/storage/box/lights/mixed,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) "yK" = (/obj/machinery/chemical_dispenser/ert,/obj/item/weapon/reagent_containers/glass/beaker/large,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) "yL" = (/obj/structure/table/woodentable,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/control) -"yM" = (/obj/structure/table,/obj/machinery/microwave{pixel_x = -3; pixel_y = 6},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/evac) +"yM" = (/obj/structure/table/standard,/obj/machinery/microwave{pixel_x = -3; pixel_y = 6},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/evac) "yN" = (/obj/structure/bed/chair{dir = 4},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control) "yO" = (/obj/structure/bed/chair{dir = 8},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control) "yP" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor,/area/centcom/control) @@ -1303,7 +1303,7 @@ "zc" = (/obj/structure/table/reinforced,/obj/item/device/megaphone,/obj/item/device/megaphone,/obj/item/device/megaphone,/obj/item/device/megaphone,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) "zd" = (/obj/machinery/telecomms/relay/preset/centcom,/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/creed) "ze" = (/obj/structure/closet/crate,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) -"zf" = (/obj/structure/table,/obj/item/device/assembly/signaler,/obj/item/weapon/handcuffs,/obj/item/weapon/melee/classic_baton,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/control) +"zf" = (/obj/structure/table/standard,/obj/item/device/assembly/signaler,/obj/item/weapon/handcuffs,/obj/item/weapon/melee/classic_baton,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/control) "zg" = (/obj/structure/bed/chair{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "zh" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "specops_centcom_dock"; name = "docking port controller"; pixel_x = 0; pixel_y = -25; req_one_access = list(103); tag_door = "specops_centcom_dock_door"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops) "zi" = (/obj/machinery/door/airlock/centcom{name = "Holding Cell"; opacity = 1; req_access = list(101)},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) @@ -1388,7 +1388,7 @@ "AJ" = (/turf/unsimulated/floor{icon_state = "green"; dir = 8},/area/centcom/holding) "AK" = (/turf/unsimulated/wall{icon_state = "iron3"},/area/syndicate_mothership{name = "\improper Raider Base"}) "AL" = (/obj/structure/bed/chair/holochair,/turf/simulated/floor/holofloor{icon_state = "dark"},/area/holodeck/source_courtroom) -"AM" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/extinguisher,/obj/machinery/camera/network/crescent{c_tag = "Shuttle Bridge West"},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) +"AM" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/extinguisher,/obj/machinery/camera/network/crescent{c_tag = "Shuttle Bridge West"},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) "AN" = (/obj/structure/window/reinforced/holowindow{dir = 1},/obj/structure/window/reinforced/holowindow{dir = 8},/obj/structure/table/woodentable/holotable,/turf/simulated/floor/holofloor{icon_state = "carpet6-2"; dir = 4},/area/holodeck/source_courtroom) "AO" = (/obj/machinery/door/window/holowindoor{name = "Red Team"},/turf/simulated/floor/holofloor{icon_state = "dark"},/area/holodeck/source_emptycourt) "AP" = (/turf/unsimulated/floor{icon_state = "green"; dir = 4},/area/centcom/holding) @@ -1402,13 +1402,13 @@ "AX" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{name = "plating"},/area/centcom/ferry) "AY" = (/turf/unsimulated/floor{icon_state = "warnplate"; dir = 8},/area/centcom/ferry) "AZ" = (/obj/effect/landmark{name = "voxstart"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership{name = "\improper Raider Base"}) -"Ba" = (/obj/structure/table,/obj/effect/decal/cleanable/cobweb2,/obj/effect/decal/cleanable/cobweb2{icon_state = "spiderling"; name = "dead spider"; tag = "icon-spiderling"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership{name = "\improper Raider Base"}) +"Ba" = (/obj/structure/table/standard,/obj/effect/decal/cleanable/cobweb2,/obj/effect/decal/cleanable/cobweb2{icon_state = "spiderling"; name = "dead spider"; tag = "icon-spiderling"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership{name = "\improper Raider Base"}) "Bb" = (/obj/machinery/door/blast/regular{id = "CentComPort"; name = "Security Doors"},/turf/unsimulated/floor{icon_state = "green"; dir = 8},/area/centcom/holding) "Bc" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/holding) "Bd" = (/obj/machinery/door/airlock/centcom{name = "Arrivals Processing"; opacity = 1; req_access = list(101)},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/holding) "Be" = (/obj/structure/bed,/obj/item/weapon/bedsheet/red,/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/centcom/holding) "Bf" = (/obj/machinery/door/airlock/glass_security{name = "Holding Cell"; req_access = list(2)},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/holding) -"Bg" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 3},/obj/item/weapon/extinguisher,/obj/item/weapon/crowbar,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) +"Bg" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 3},/obj/item/weapon/extinguisher,/obj/item/weapon/crowbar,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) "Bh" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/brflowers,/turf/simulated/floor/holofloor{dir = 4; icon_state = "wood_siding8"},/area/holodeck/source_picnicarea) "Bi" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/ywflowers,/turf/simulated/floor/holofloor{icon_state = "wood_siding6"; dir = 2},/area/holodeck/source_picnicarea) "Bj" = (/turf/simulated/floor/holofloor{icon_state = "asteroid"; dir = 2},/area/holodeck/source_picnicarea) @@ -1442,7 +1442,7 @@ "BL" = (/obj/machinery/door/unpowered/shuttle,/turf/simulated/shuttle/floor,/area/shuttle/transport1/centcom) "BM" = (/obj/structure/bed,/obj/item/weapon/bedsheet/orange,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership{name = "\improper Raider Base"}) "BN" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "escape_shuttle"; pixel_x = 0; pixel_y = -25; req_one_access = list(13); tag_door = "escape_shuttle_hatch"},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) -"BO" = (/obj/machinery/status_display{pixel_y = 30},/obj/structure/table,/obj/item/weapon/storage/firstaid/toxin,/obj/machinery/camera/network/crescent{c_tag = "Shuttle Bridge East"},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) +"BO" = (/obj/machinery/status_display{pixel_y = 30},/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/toxin,/obj/machinery/camera/network/crescent{c_tag = "Shuttle Bridge East"},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) "BP" = (/turf/unsimulated/floor{icon_state = "green"; dir = 10},/area/centcom/holding) "BQ" = (/obj/structure/bed/chair/office/dark,/obj/machinery/button/remote/blast_door{desc = "A remote control switch for port-side blast doors."; id = "CentComPort"; name = "Security Doors"; pixel_x = -12; pixel_y = -25; req_access = list(101)},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/holding) "BR" = (/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/holding) @@ -1512,7 +1512,7 @@ "Dd" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/holding) "De" = (/obj/item/weapon/weldingtool,/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) "Df" = (/obj/structure/window/shuttle{icon_state = "window1"},/obj/structure/grille,/turf/simulated/shuttle/plating,/area/shuttle/escape/centcom) -"Dg" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets{pixel_x = 2; pixel_y = 3},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"Dg" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/donkpockets{pixel_x = 2; pixel_y = 3},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) "Dh" = (/turf/unsimulated/beach/sand{tag = "icon-desert3"; icon_state = "desert3"},/turf/unsimulated/floor{tag = "icon-siding4"; name = "plating"; icon_state = "siding4"},/area/centcom/holding) "Di" = (/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/obj/structure/bed/chair/wood/wings{icon_state = "wooden_chair_wings"; dir = 4},/turf/unsimulated/floor{tag = "icon-siding8"; name = "plating"; icon_state = "siding8"},/area/centcom/holding) "Dj" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/amanita_pie,/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding) @@ -1610,7 +1610,7 @@ "EX" = (/obj/structure/bed/chair{dir = 4},/turf/unsimulated/floor{icon_state = "greencorner"; dir = 8},/area/centcom/holding) "EY" = (/obj/machinery/hologram/holopad,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/holding) "EZ" = (/turf/unsimulated/beach/sand{tag = "icon-seashallow"; icon_state = "seashallow"},/area/centcom/holding) -"Fa" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "floor"},/area/tdome) +"Fa" = (/obj/structure/table/standard,/turf/unsimulated/floor{icon_state = "floor"},/area/tdome) "Fb" = (/turf/unsimulated/floor{icon_state = "floor"},/area/tdome) "Fc" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/tdome) "Fd" = (/turf/unsimulated/floor{icon_state = "neutral"; dir = 8},/area/tdome) @@ -1625,11 +1625,11 @@ "Fm" = (/obj/structure/bed/chair{dir = 4},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome) "Fn" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{icon_state = "floor"},/area/tdome) "Fo" = (/obj/structure/bed/chair{dir = 8},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome) -"Fp" = (/obj/structure/table,/obj/item/weapon/FixOVein{pixel_x = -6; pixel_y = 1},/turf/unsimulated/floor{tag = "icon-whitecorner"; name = "plating"; icon_state = "whitecorner"},/area/centcom/holding) -"Fq" = (/obj/structure/table,/obj/item/weapon/cautery{pixel_y = 4},/obj/item/weapon/hemostat{pixel_y = 4},/turf/unsimulated/floor{dir = 2; icon_state = "whitehall"; tag = "icon-whitehall (SOUTHEAST)"},/area/centcom/holding) -"Fr" = (/obj/structure/table,/obj/item/weapon/retractor{pixel_x = 0; pixel_y = 6},/obj/item/weapon/scalpel,/turf/unsimulated/floor{dir = 2; icon_state = "whitehall"; tag = "icon-whitehall (SOUTHEAST)"},/area/centcom/holding) -"Fs" = (/obj/structure/table,/obj/item/weapon/bonesetter,/obj/item/weapon/bonegel{pixel_x = 4; pixel_y = 3},/turf/unsimulated/floor{dir = 2; icon_state = "whitehall"; tag = "icon-whitehall (SOUTHEAST)"},/area/centcom/holding) -"Ft" = (/obj/structure/table,/obj/item/weapon/surgicaldrill,/obj/item/weapon/circular_saw,/turf/unsimulated/floor{tag = "icon-whitecorner (WEST)"; icon_state = "whitecorner"; dir = 8},/area/centcom/holding) +"Fp" = (/obj/structure/table/standard,/obj/item/weapon/FixOVein{pixel_x = -6; pixel_y = 1},/turf/unsimulated/floor{tag = "icon-whitecorner"; name = "plating"; icon_state = "whitecorner"},/area/centcom/holding) +"Fq" = (/obj/structure/table/standard,/obj/item/weapon/cautery{pixel_y = 4},/obj/item/weapon/hemostat{pixel_y = 4},/turf/unsimulated/floor{dir = 2; icon_state = "whitehall"; tag = "icon-whitehall (SOUTHEAST)"},/area/centcom/holding) +"Fr" = (/obj/structure/table/standard,/obj/item/weapon/retractor{pixel_x = 0; pixel_y = 6},/obj/item/weapon/scalpel,/turf/unsimulated/floor{dir = 2; icon_state = "whitehall"; tag = "icon-whitehall (SOUTHEAST)"},/area/centcom/holding) +"Fs" = (/obj/structure/table/standard,/obj/item/weapon/bonesetter,/obj/item/weapon/bonegel{pixel_x = 4; pixel_y = 3},/turf/unsimulated/floor{dir = 2; icon_state = "whitehall"; tag = "icon-whitehall (SOUTHEAST)"},/area/centcom/holding) +"Ft" = (/obj/structure/table/standard,/obj/item/weapon/surgicaldrill,/obj/item/weapon/circular_saw,/turf/unsimulated/floor{tag = "icon-whitecorner (WEST)"; icon_state = "whitecorner"; dir = 8},/area/centcom/holding) "Fu" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/simulated/shuttle/plating,/area/centcom/holding) "Fv" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/tdome) "Fw" = (/turf/unsimulated/floor{tag = "icon-whitehall (EAST)"; icon_state = "whitehall"; dir = 4},/area/centcom/holding) @@ -1643,23 +1643,23 @@ "FE" = (/obj/machinery/optable,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding) "FF" = (/turf/unsimulated/floor{tag = "icon-whitehall (NORTHWEST)"; icon_state = "whitehall"; dir = 9},/area/centcom/holding) "FG" = (/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 0},/turf/unsimulated/wall,/area/centcom/holding) -"FH" = (/obj/structure/table,/obj/item/weapon/storage/box/gloves{pixel_x = 3; pixel_y = 4},/obj/item/weapon/storage/box/masks{pixel_x = 0; pixel_y = 0},/turf/unsimulated/floor{dir = 4; icon_state = "whitegreen"},/area/centcom/holding) +"FH" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/gloves{pixel_x = 3; pixel_y = 4},/obj/item/weapon/storage/box/masks{pixel_x = 0; pixel_y = 0},/turf/unsimulated/floor{dir = 4; icon_state = "whitegreen"},/area/centcom/holding) "FI" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/simulated/shuttle/plating,/area/centcom/holding) "FJ" = (/turf/unsimulated/floor{icon_state = "red"; dir = 10},/area/tdome) "FK" = (/turf/unsimulated/floor{icon_state = "red"; dir = 2},/area/tdome) "FL" = (/turf/unsimulated/floor{icon_state = "green"},/area/tdome) "FM" = (/turf/unsimulated/floor{icon_state = "green"; dir = 6},/area/tdome) -"FN" = (/obj/structure/table,/obj/item/weapon/storage/box/gloves{pixel_x = 3; pixel_y = 4},/obj/item/weapon/storage/box/masks,/obj/item/weapon/reagent_containers/spray/cleaner,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/holding) +"FN" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/gloves{pixel_x = 3; pixel_y = 4},/obj/item/weapon/storage/box/masks,/obj/item/weapon/reagent_containers/spray/cleaner,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/holding) "FO" = (/turf/unsimulated/floor{tag = "icon-escapecorner (EAST)"; icon_state = "escapecorner"; dir = 4},/area/centcom/holding) "FP" = (/obj/machinery/computer/operating,/turf/unsimulated/floor{dir = 1; icon_state = "whitehall"; tag = "icon-whitehall (SOUTHEAST)"},/area/centcom/holding) "FQ" = (/obj/machinery/iv_drip,/turf/unsimulated/floor{tag = "icon-whitecorner (NORTH)"; icon_state = "whitecorner"; dir = 1},/area/centcom/holding) -"FR" = (/obj/structure/table,/obj/item/weapon/reagent_containers/blood/OPlus{pixel_x = 4; pixel_y = 2},/obj/item/weapon/reagent_containers/blood/OPlus{pixel_x = 4; pixel_y = 2},/obj/item/weapon/reagent_containers/blood/OMinus{pixel_x = -5; pixel_y = -1},/obj/item/weapon/reagent_containers/blood/OMinus{pixel_x = -5; pixel_y = -1},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/holding) +"FR" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/blood/OPlus{pixel_x = 4; pixel_y = 2},/obj/item/weapon/reagent_containers/blood/OPlus{pixel_x = 4; pixel_y = 2},/obj/item/weapon/reagent_containers/blood/OMinus{pixel_x = -5; pixel_y = -1},/obj/item/weapon/reagent_containers/blood/OMinus{pixel_x = -5; pixel_y = -1},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/holding) "FS" = (/obj/machinery/bodyscanner,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/holding) "FT" = (/obj/machinery/body_scanconsole,/turf/unsimulated/floor{tag = "icon-whitehall (EAST)"; icon_state = "whitehall"; dir = 4},/area/centcom/holding) "FU" = (/obj/structure/bed/roller,/turf/unsimulated/floor{dir = 0; icon_state = "whitegreen"},/area/centcom/holding) -"FV" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 6},/obj/item/weapon/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/obj/item/weapon/storage/firstaid/adv{pixel_x = 2; pixel_y = 2},/obj/item/weapon/storage/firstaid/adv{pixel_x = -2},/turf/unsimulated/floor{dir = 0; icon_state = "whitegreen"},/area/centcom/holding) -"FW" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/o2{layer = 2.8; pixel_x = 4; pixel_y = 6},/obj/item/weapon/storage/firstaid/toxin,/obj/item/weapon/storage/firstaid/fire{layer = 2.9; pixel_x = 2; pixel_y = 3},/turf/unsimulated/floor{dir = 0; icon_state = "whitegreen"},/area/centcom/holding) -"FX" = (/obj/structure/table,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/weapon/reagent_containers/spray/cleaner,/turf/unsimulated/floor{dir = 6; icon_state = "whitegreen"},/area/centcom/holding) +"FV" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 6},/obj/item/weapon/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/obj/item/weapon/storage/firstaid/adv{pixel_x = 2; pixel_y = 2},/obj/item/weapon/storage/firstaid/adv{pixel_x = -2},/turf/unsimulated/floor{dir = 0; icon_state = "whitegreen"},/area/centcom/holding) +"FW" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/o2{layer = 2.8; pixel_x = 4; pixel_y = 6},/obj/item/weapon/storage/firstaid/toxin,/obj/item/weapon/storage/firstaid/fire{layer = 2.9; pixel_x = 2; pixel_y = 3},/turf/unsimulated/floor{dir = 0; icon_state = "whitegreen"},/area/centcom/holding) +"FX" = (/obj/structure/table/standard,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/weapon/reagent_containers/spray/cleaner,/turf/unsimulated/floor{dir = 6; icon_state = "whitegreen"},/area/centcom/holding) "FY" = (/turf/unsimulated/floor{tag = "icon-asteroid"; icon_state = "asteroid"},/area/syndicate_mothership{name = "\improper Raider Base"}) "FZ" = (/obj/item/tape/engineering{tag = "icon-engineering_v"; icon_state = "engineering_v"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership{name = "\improper Raider Base"}) "Ga" = (/obj/structure/closet/secure_closet/bar,/turf/unsimulated/floor{icon_state = "white"},/area/tdome) @@ -1667,8 +1667,8 @@ "Gc" = (/obj/machinery/gibber,/turf/unsimulated/floor{icon_state = "white"},/area/tdome) "Gd" = (/obj/machinery/door/airlock/command{name = "Thunderdome"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome) "Ge" = (/obj/machinery/vending/cigarette,/turf/unsimulated/floor{icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) -"Gf" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/obj/item/weapon/flame/lighter/zippo,/obj/item/weapon/storage/fancy/cigarettes,/turf/unsimulated/floor{icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) -"Gg" = (/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/obj/structure/table,/turf/unsimulated/floor{icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) +"Gf" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/obj/item/weapon/flame/lighter/zippo,/obj/item/weapon/storage/fancy/cigarettes,/turf/unsimulated/floor{icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) +"Gg" = (/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/obj/structure/table/standard,/turf/unsimulated/floor{icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) "Gh" = (/obj/structure/reagent_dispensers/beerkeg,/turf/unsimulated/floor{icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) "Gi" = (/turf/unsimulated/floor{icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) "Gj" = (/obj/machinery/vending/coffee,/turf/unsimulated/floor{icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) @@ -1677,8 +1677,8 @@ "Gm" = (/obj/structure/bed/chair,/obj/effect/landmark{name = "tdomeobserve"},/turf/unsimulated/floor{icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) "Gn" = (/obj/structure/disposalpipe/trunk,/obj/structure/disposaloutlet,/turf/unsimulated/floor{icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) "Go" = (/obj/machinery/vending/snack,/turf/unsimulated/floor{icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) -"Gp" = (/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/structure/table,/turf/unsimulated/floor{icon_state = "white"},/area/tdome) -"Gq" = (/obj/structure/table,/obj/machinery/microwave,/turf/unsimulated/floor{icon_state = "white"},/area/tdome) +"Gp" = (/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/structure/table/standard,/turf/unsimulated/floor{icon_state = "white"},/area/tdome) +"Gq" = (/obj/structure/table/standard,/obj/machinery/microwave,/turf/unsimulated/floor{icon_state = "white"},/area/tdome) "Gr" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{icon_state = "white"},/area/tdome) "Gs" = (/obj/machinery/computer/security/telescreen,/turf/unsimulated/floor{icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) "Gt" = (/obj/item/device/camera,/turf/unsimulated/floor{icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) @@ -1739,22 +1739,22 @@ "Hw" = (/obj/item/weapon/wrench,/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) "Hx" = (/obj/structure/disposalpipe/trunk{dir = 1},/obj/machinery/disposal,/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) "Hy" = (/obj/structure/bed/chair,/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) -"Hz" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/turf/unsimulated/beach/sand,/area/beach) -"HA" = (/obj/structure/table,/obj/item/clothing/under/rainbow,/obj/item/clothing/glasses/sunglasses,/obj/item/clothing/head/collectable/petehat{pixel_y = 5},/turf/unsimulated/beach/sand,/area/beach) -"HB" = (/obj/structure/table,/obj/machinery/recharger{pixel_y = 4},/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) -"HC" = (/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/structure/table,/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) +"Hz" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/turf/unsimulated/beach/sand,/area/beach) +"HA" = (/obj/structure/table/standard,/obj/item/clothing/under/rainbow,/obj/item/clothing/glasses/sunglasses,/obj/item/clothing/head/collectable/petehat{pixel_y = 5},/turf/unsimulated/beach/sand,/area/beach) +"HB" = (/obj/structure/table/standard,/obj/machinery/recharger{pixel_y = 4},/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) +"HC" = (/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/structure/table/standard,/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) "HD" = (/obj/machinery/computer/pod{id = "thunderdomeaxe"; name = "Thunderdome Axe Supply"},/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) "HE" = (/obj/machinery/computer/pod{id = "thunderdomegen"; name = "Thunderdome General Supply"},/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) "HF" = (/obj/machinery/computer/pod{id = "thunderdomehea"; name = "Thunderdome Heavy Supply"},/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) "HG" = (/obj/machinery/computer/pod{id = "thunderdome"; name = "Thunderdome Blast Door Control"},/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) -"HH" = (/obj/item/stack/medical/ointment,/obj/item/stack/medical/ointment,/obj/item/stack/medical/ointment,/obj/structure/table,/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) -"HI" = (/obj/structure/table,/obj/item/stack/medical/bruise_pack,/obj/item/stack/medical/bruise_pack,/obj/item/stack/medical/bruise_pack,/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) -"HJ" = (/obj/structure/table,/obj/item/weapon/storage/box/handcuffs,/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) -"HK" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) -"HL" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/electrical,/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) -"HM" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical,/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) -"HN" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/snacks/chips,/turf/unsimulated/beach/sand,/area/beach) -"HO" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/turf/unsimulated/beach/sand,/area/beach) +"HH" = (/obj/item/stack/medical/ointment,/obj/item/stack/medical/ointment,/obj/item/stack/medical/ointment,/obj/structure/table/standard,/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) +"HI" = (/obj/structure/table/standard,/obj/item/stack/medical/bruise_pack,/obj/item/stack/medical/bruise_pack,/obj/item/stack/medical/bruise_pack,/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) +"HJ" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/handcuffs,/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) +"HK" = (/obj/structure/table/standard,/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) +"HL" = (/obj/structure/table/standard,/obj/item/weapon/storage/toolbox/electrical,/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) +"HM" = (/obj/structure/table/standard,/obj/item/weapon/storage/toolbox/mechanical,/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) +"HN" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/food/snacks/chips,/turf/unsimulated/beach/sand,/area/beach) +"HO" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/turf/unsimulated/beach/sand,/area/beach) "HP" = (/obj/item/weapon/beach_ball,/turf/unsimulated/beach/sand,/area/beach) "HQ" = (/obj/machinery/camera/network/crescent{c_tag = "Crescent Bar Center"},/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding) "HR" = (/mob/living/simple_animal/crab/Coffee,/turf/unsimulated/beach/sand,/area/beach) @@ -1800,7 +1800,7 @@ "IF" = (/obj/machinery/vending/magivend,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) "IG" = (/obj/structure/mineral_door/wood{tag = "icon-wood"; icon_state = "wood"},/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station) "IH" = (/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; freerange = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_x = 32; subspace_transmission = 1; syndie = 1},/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station) -"II" = (/obj/structure/table,/obj/item/weapon/storage/box/drinkingglasses{pixel_x = 1; pixel_y = 4},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership{name = "\improper Raider Base"}) +"II" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/drinkingglasses{pixel_x = 1; pixel_y = 4},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership{name = "\improper Raider Base"}) "IJ" = (/obj/structure/table/reinforced,/obj/item/weapon/tray{pixel_y = 5},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership{name = "\improper Raider Base"}) "IK" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/camera/network/crescent{c_tag = "Crescent Arrivals South"; dir = 4},/turf/unsimulated/floor{icon_state = "green"; dir = 8},/area/centcom/holding) "IL" = (/turf/unsimulated/wall{icon_state = "iron14"},/area/syndicate_mothership{name = "\improper Raider Base"}) @@ -1811,7 +1811,7 @@ "IQ" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"},/obj/item/clothing/shoes/sandal/marisa{desc = "A set of fancy shoes that are as functional as they are comfortable."; name = "Gentlemans Shoes"},/obj/item/clothing/under/gentlesuit,/obj/item/clothing/suit/wizrobe/gentlecoat,/obj/item/clothing/head/wizard/cap,/obj/item/weapon/staff/gentcane,/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station) "IR" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"},/obj/item/clothing/suit/wizrobe/magusred,/obj/item/clothing/head/wizard/magus,/obj/item/weapon/staff,/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station) "IS" = (/turf/unsimulated/wall{tag = "icon-iron2"; icon_state = "iron2"},/area/syndicate_mothership{name = "\improper Raider Base"}) -"IT" = (/obj/structure/table,/obj/machinery/chemical_dispenser/bar_soft/full,/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/syndicate_mothership{name = "\improper Raider Base"}) +"IT" = (/obj/structure/table/standard,/obj/machinery/chemical_dispenser/bar_soft/full,/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/syndicate_mothership{name = "\improper Raider Base"}) "IU" = (/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership{name = "\improper Raider Base"}) "IV" = (/obj/machinery/door/airlock/glass_command{name = "Escape Shuttle Cockpit"; req_access = list(19)},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) "IW" = (/obj/structure/bed,/obj/item/weapon/bedsheet/orange,/obj/effect/decal/cleanable/cobweb2{tag = "icon-cobweb1"; icon_state = "cobweb1"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership{name = "\improper Raider Base"}) @@ -1819,7 +1819,7 @@ "IY" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "centcom_shuttle_bay"; name = "shuttle bay controller"; pixel_x = 0; pixel_y = 25; tag_door = "centcom_shuttle_bay_door"},/turf/unsimulated/floor{name = "plating"},/area/centcom/ferry) "IZ" = (/obj/structure/flora/pottedplant{tag = "icon-plant-06"; icon_state = "plant-06"},/turf/simulated/floor/holofloor{icon_state = "wood"; dir = 4},/area/holodeck/source_theatre) "Ja" = (/obj/machinery/computer/shuttle_control{req_access = list(101); shuttle_tag = "Centcom"},/turf/unsimulated/floor{name = "plating"},/area/centcom/ferry) -"Jb" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership{name = "\improper Raider Base"}) +"Jb" = (/obj/structure/table/standard,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership{name = "\improper Raider Base"}) "Jc" = (/turf/unsimulated/wall{icon_state = "iron11"},/area/syndicate_mothership{name = "\improper Raider Base"}) "Jd" = (/obj/structure/bed/chair/wood/wings{icon_state = "wooden_chair_wings"; dir = 4},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) "Je" = (/obj/structure/table/woodentable,/obj/item/weapon/dice/d20,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) @@ -1930,7 +1930,7 @@ "Lf" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1331; master_tag = "vox_west_control"; req_one_access = list(150)},/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/shuttle/skipjack/station) "Lg" = (/turf/simulated/shuttle/wall{dir = 2; icon = 'icons/turf/walls.dmi'; icon_state = "iron6"},/area/shuttle/skipjack/station) "Lh" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/skipjack/station) -"Li" = (/obj/structure/table,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/skipjack/station) +"Li" = (/obj/structure/table/standard,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/skipjack/station) "Lj" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/skipjack/station) "Lk" = (/turf/simulated/shuttle/wall{dir = 2; icon = 'icons/turf/walls.dmi'; icon_state = "iron10"},/area/shuttle/skipjack/station) "Ll" = (/obj/machinery/door/airlock/hatch{req_access = list(150)},/turf/simulated/shuttle/plating,/area/shuttle/skipjack/station) @@ -1941,7 +1941,7 @@ "Lq" = (/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; freerange = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_y = -32; subspace_transmission = 1; syndie = 1},/obj/machinery/light,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) "Lr" = (/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/shuttle/skipjack/station) "Ls" = (/turf/simulated/shuttle/wall{dir = 2; icon = 'icons/turf/walls.dmi'; icon_state = "iron3"},/area/shuttle/skipjack/station) -"Lt" = (/obj/structure/table,/obj/item/weapon/deck,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/skipjack/station) +"Lt" = (/obj/structure/table/standard,/obj/item/weapon/deck,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/skipjack/station) "Lu" = (/turf/unsimulated/floor{tag = "icon-ironsand7"; icon_state = "ironsand7"},/turf/unsimulated/floor{tag = "icon-asteroid7"; name = "plating"; icon_state = "asteroid7"},/area/wizard_station) "Lv" = (/turf/unsimulated/floor{tag = "icon-ironsand12"; icon_state = "ironsand12"},/turf/unsimulated/floor{tag = "icon-asteroid2"; name = "plating"; icon_state = "asteroid2"},/area/wizard_station) "Lw" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast{id = "skipjack"; name = "Skipjack Blast Shielding"},/turf/simulated/shuttle/plating,/area/shuttle/skipjack/station) @@ -1993,15 +1993,15 @@ "Mq" = (/obj/machinery/door/airlock/medical{name = "Operating Theatre"; req_access = list(45)},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding) "Mr" = (/obj/structure/table/rack,/obj/item/weapon/gun/energy/ionrifle,/obj/item/weapon/harpoon,/obj/item/clothing/suit/space/void/merc,/obj/item/clothing/head/helmet/space/void/merc,/obj/item/clothing/head/helmet/space/void/engineering,/obj/item/clothing/suit/space/void/engineering,/obj/item/weapon/tank/oxygen,/obj/item/weapon/tank/oxygen,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/weapon/rig/light/stealth,/turf/simulated/shuttle/plating,/area/shuttle/skipjack/station) "Ms" = (/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/shuttle/plating,/area/shuttle/skipjack/station) -"Mt" = (/obj/structure/table,/obj/item/seeds/potatoseed,/obj/item/seeds/potatoseed,/obj/item/seeds/ambrosiavulgarisseed,/obj/item/weapon/minihoe,/turf/simulated/shuttle/plating,/area/shuttle/skipjack/station) -"Mu" = (/obj/structure/table,/obj/machinery/microwave{pixel_x = -1; pixel_y = 8},/turf/simulated/shuttle/plating,/area/shuttle/skipjack/station) +"Mt" = (/obj/structure/table/standard,/obj/item/seeds/potatoseed,/obj/item/seeds/potatoseed,/obj/item/seeds/ambrosiavulgarisseed,/obj/item/weapon/minihoe,/turf/simulated/shuttle/plating,/area/shuttle/skipjack/station) +"Mu" = (/obj/structure/table/standard,/obj/machinery/microwave{pixel_x = -1; pixel_y = 8},/turf/simulated/shuttle/plating,/area/shuttle/skipjack/station) "Mv" = (/obj/machinery/vending/hydroseeds,/turf/simulated/shuttle/plating,/area/shuttle/skipjack/station) "Mw" = (/obj/machinery/airlock_sensor{frequency = 1331; id_tag = "vox_west_sensor"; pixel_x = 25},/turf/simulated/shuttle/plating,/area/shuttle/skipjack/station) "Mx" = (/obj/machinery/washing_machine,/turf/simulated/shuttle/plating,/area/shuttle/skipjack/station) "My" = (/obj/structure/table/rack,/obj/item/weapon/storage/belt/utility/full,/obj/item/weapon/storage/belt/utility/full,/obj/item/device/multitool,/obj/item/device/multitool,/obj/item/clothing/shoes/magboots,/turf/simulated/shuttle/plating,/area/shuttle/skipjack/station) "Mz" = (/obj/structure/table/rack,/obj/item/weapon/gun/energy/sniperrifle,/obj/item/clothing/suit/space/void/mining,/obj/item/clothing/head/helmet/space/void/mining,/obj/item/clothing/head/helmet/space/void/atmos,/obj/item/clothing/suit/space/void/atmos,/obj/item/weapon/tank/oxygen,/obj/item/weapon/tank/oxygen,/turf/simulated/shuttle/plating,/area/shuttle/skipjack/station) "MA" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/north/shuttlespace_ns12,/area/space) -"MB" = (/obj/structure/table,/obj/item/weapon/storage/fancy/cigarettes,/obj/structure/table/reinforced{icon_state = "table"},/obj/item/weapon/flame/lighter/zippo,/obj/item/clothing/gloves/yellow,/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/weapon/card/emag,/turf/simulated/shuttle/plating,/area/shuttle/skipjack/station) +"MB" = (/obj/structure/table/standard,/obj/item/weapon/storage/fancy/cigarettes,/obj/structure/table/reinforced{icon_state = "table"},/obj/item/weapon/flame/lighter/zippo,/obj/item/clothing/gloves/yellow,/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/weapon/card/emag,/turf/simulated/shuttle/plating,/area/shuttle/skipjack/station) "MC" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = 28},/turf/unsimulated/floor{tag = "icon-whitecorner (NORTH)"; icon_state = "whitecorner"; dir = 1},/area/centcom/holding) "MD" = (/turf/simulated/shuttle/plating,/area/shuttle/skipjack/station) "ME" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 1},/obj/machinery/airlock_sensor{frequency = 1331; id_tag = "merc_shuttle_sensor"; pixel_x = 8; pixel_y = 25},/obj/machinery/light/small{dir = 1},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) @@ -2047,7 +2047,7 @@ "Ns" = (/obj/machinery/sleeper{icon_state = "sleeper_0-r"; orient = "RIGHT"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) "Nt" = (/obj/machinery/sleep_console{icon_state = "sleeperconsole-r"; orient = "RIGHT"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) "Nu" = (/obj/structure/closet/crate/freezer/rations,/obj/machinery/camera/network/crescent{c_tag = "Shuttle West Storage"; dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/shuttle/escape/centcom) -"Nv" = (/obj/structure/table,/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{pixel_x = 5; pixel_y = 5},/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{pixel_x = 0; pixel_y = 0},/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{pixel_x = 7; pixel_y = 1},/obj/item/weapon/wrench,/turf/unsimulated/floor{dir = 8; icon_state = "whitegreen"},/area/centcom/holding) +"Nv" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{pixel_x = 5; pixel_y = 5},/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{pixel_x = 0; pixel_y = 0},/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{pixel_x = 7; pixel_y = 1},/obj/item/weapon/wrench,/turf/unsimulated/floor{dir = 8; icon_state = "whitegreen"},/area/centcom/holding) "Nw" = (/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/obj/machinery/camera/network/crescent{c_tag = "Shuttle Medical"; dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) "Nx" = (/obj/machinery/recharge_station,/obj/machinery/camera/network/crescent{c_tag = "Shuttle East Storage"; dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/shuttle/escape/centcom) "Ny" = (/obj/machinery/hologram/holopad,/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding) @@ -2062,7 +2062,7 @@ "NH" = (/obj/machinery/atmospherics/unary/cryo_cell{layer = 3.3},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) "NI" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/portable_atmospherics/canister/oxygen/prechilled,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) "NJ" = (/obj/structure/closet/crate/medical,/obj/item/weapon/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/obj/item/weapon/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/obj/item/bodybag/cryobag{pixel_x = 5},/obj/item/bodybag/cryobag{pixel_x = 5},/obj/item/weapon/storage/firstaid/o2{layer = 2.8; pixel_x = 4; pixel_y = 6},/obj/item/weapon/storage/box/masks{pixel_x = 0; pixel_y = 0},/obj/item/weapon/storage/box/gloves{pixel_x = 3; pixel_y = 4},/obj/item/weapon/storage/firstaid/toxin,/obj/item/weapon/storage/firstaid/fire{layer = 2.9; pixel_x = 2; pixel_y = 3},/obj/item/weapon/storage/firstaid/adv{pixel_x = -2},/obj/item/weapon/reagent_containers/blood/empty,/obj/item/weapon/reagent_containers/blood/empty,/obj/item/weapon/reagent_containers/blood/empty,/obj/item/weapon/reagent_containers/blood/empty,/obj/item/weapon/reagent_containers/blood/empty,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) -"NK" = (/obj/structure/table,/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{pixel_x = -4; pixel_y = 0},/obj/item/weapon/wrench,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) +"NK" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{pixel_x = -4; pixel_y = 0},/obj/item/weapon/wrench,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) "NL" = (/obj/structure/closet/hydrant{pixel_x = -30; pixel_y = 0},/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/shuttle/escape/centcom) "NM" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/shuttle/plating,/area/shuttle/skipjack/station) "NN" = (/obj/machinery/door/airlock/glass_mining{name = "Shuttle Cargo"},/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/shuttle/escape/centcom) @@ -2078,8 +2078,8 @@ "NX" = (/turf/unsimulated/beach/sand{tag = "icon-beach (SOUTHEAST)"; icon_state = "beach"; dir = 6},/area/centcom/holding) "NY" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/light/small{dir = 1},/turf/simulated/shuttle/floor4,/area/shuttle/escape/centcom) "NZ" = (/obj/machinery/door/airlock/centcom{name = "General Access"; opacity = 1; req_access = list(101)},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome) -"Oa" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/centcom/living) -"Ob" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/evac) +"Oa" = (/obj/structure/table/standard,/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/centcom/living) +"Ob" = (/obj/structure/table/standard,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/evac) "Oc" = (/obj/structure/table/rack,/obj/item/weapon/rig/light/hacker,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/skipjack/station) "Od" = (/obj/structure/table/rack,/obj/item/weapon/rig/industrial,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/skipjack/station) "Oe" = (/obj/machinery/door/airlock/hatch{frequency = 1331; icon_state = "door_locked"; id_tag = "vox_southwest_lock"; locked = 1; req_access = list(150)},/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/shuttle/plating,/area/shuttle/skipjack/station) @@ -2104,20 +2104,20 @@ "Ox" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/skipjack/station) "Oy" = (/turf/space,/turf/simulated/shuttle/wall{dir = 4; icon_state = "diagonalWall3"},/area/shuttle/skipjack/station) "Oz" = (/obj/structure/shuttle/engine/propulsion,/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/shuttle/skipjack/station) -"OA" = (/obj/structure/table,/obj/item/weapon/deck,/turf/simulated/shuttle/floor{icon_state = "floor7"},/area/shuttle/skipjack/station) -"OB" = (/obj/structure/table,/obj/item/weapon/legcuffs,/turf/simulated/shuttle/floor{icon_state = "floor7"},/area/shuttle/skipjack/station) -"OC" = (/obj/structure/table,/obj/item/weapon/circular_saw{pixel_y = 8},/obj/item/weapon/hemostat,/obj/item/weapon/scalpel,/obj/item/stack/medical/advanced/bruise_pack,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/skipjack/station) +"OA" = (/obj/structure/table/standard,/obj/item/weapon/deck,/turf/simulated/shuttle/floor{icon_state = "floor7"},/area/shuttle/skipjack/station) +"OB" = (/obj/structure/table/standard,/obj/item/weapon/legcuffs,/turf/simulated/shuttle/floor{icon_state = "floor7"},/area/shuttle/skipjack/station) +"OC" = (/obj/structure/table/standard,/obj/item/weapon/circular_saw{pixel_y = 8},/obj/item/weapon/hemostat,/obj/item/weapon/scalpel,/obj/item/stack/medical/advanced/bruise_pack,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/skipjack/station) "OD" = (/obj/machinery/optable,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/skipjack/station) -"OE" = (/obj/structure/table,/obj/item/weapon/cautery,/obj/item/weapon/retractor,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/skipjack/station) +"OE" = (/obj/structure/table/standard,/obj/item/weapon/cautery,/obj/item/weapon/retractor,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/skipjack/station) "OF" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/simulated/shuttle/floor{icon_state = "floor7"},/area/shuttle/skipjack/station) "OG" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/blast{dir = 2; id = "skipjack"; name = "Skipjack Blast Shielding"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/skipjack/station) "OH" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/blast{dir = 2; id = "skipjack"; name = "Skipjack Blast Shielding"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/skipjack/station) -"OI" = (/obj/structure/table,/obj/item/weapon/bonesetter,/obj/item/weapon/bonegel,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/skipjack/station) +"OI" = (/obj/structure/table/standard,/obj/item/weapon/bonesetter,/obj/item/weapon/bonegel,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/skipjack/station) "OJ" = (/obj/machinery/status_display{pixel_y = 30},/obj/machinery/light{dir = 1},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) "OK" = (/obj/machinery/light,/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) "OL" = (/obj/structure/table/rack,/obj/item/weapon/melee/energy/sword/pirate,/obj/item/clothing/suit/space/pirate,/obj/item/clothing/suit/space/pirate,/obj/item/weapon/tank/oxygen,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/skipjack/station) "OM" = (/obj/machinery/atmospherics/pipe/tank/air,/obj/machinery/light/small{dir = 4},/turf/simulated/shuttle/plating,/area/shuttle/skipjack/station) -"ON" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/fire{pixel_x = 1},/obj/item/weapon/storage/firstaid/o2{pixel_x = 3; pixel_y = 3},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/skipjack/station) +"ON" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/fire{pixel_x = 1},/obj/item/weapon/storage/firstaid/o2{pixel_x = 3; pixel_y = 3},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/skipjack/station) "OO" = (/obj/machinery/body_scanconsole,/obj/machinery/light/small{dir = 1},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/skipjack/station) "OP" = (/obj/machinery/atmospherics/pipe/tank/air,/obj/machinery/light/small{dir = 8},/turf/simulated/shuttle/plating,/area/shuttle/skipjack/station) "OQ" = (/obj/structure/table/rack,/obj/item/clothing/suit/space/vox/stealth,/obj/item/clothing/head/helmet/space/vox/stealth,/obj/item/clothing/shoes/magboots/vox,/obj/item/clothing/gloves/yellow/vox,/obj/item/clothing/glasses/thermal/plain/monocle,/obj/item/clothing/under/vox/vox_robes,/turf/unsimulated/floor{tag = "icon-asteroid"; icon_state = "asteroid"},/area/syndicate_mothership{name = "\improper Raider Base"}) @@ -2140,7 +2140,7 @@ "Ph" = (/obj/machinery/light/small{dir = 1},/turf/simulated/shuttle/floor{icon_state = "floor7"},/area/shuttle/skipjack/station) "Pi" = (/obj/machinery/light/small,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/skipjack/station) "Pj" = (/obj/structure/toilet{dir = 4},/obj/machinery/light/small{dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor7"},/area/shuttle/skipjack/station) -"Pk" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/adv{pixel_x = 1},/obj/item/weapon/storage/firstaid/toxin{pixel_x = 3; pixel_y = 3},/obj/machinery/light/small{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/skipjack/station) +"Pk" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/adv{pixel_x = 1},/obj/item/weapon/storage/firstaid/toxin{pixel_x = 3; pixel_y = 3},/obj/machinery/light/small{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/skipjack/station) "Pl" = (/obj/structure/bed,/obj/item/weapon/bedsheet/green,/obj/machinery/light/small{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/skipjack/station) "Pm" = (/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "vox_east_vent"; tag_exterior_door = "vox_northeast_lock"; frequency = 1331; id_tag = "vox_east_control"; tag_interior_door = "vox_southeast_lock"; pixel_x = -24; req_access = list(150); tag_chamber_sensor = "vox_east_sensor"},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1331; id_tag = "vox_east_vent"},/obj/machinery/light/small,/turf/simulated/shuttle/plating,/area/shuttle/skipjack/station) "Pn" = (/obj/machinery/light/small{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/skipjack/station) diff --git a/maps/exodus-3.dmm b/maps/exodus-3.dmm index 62f0eb6eda..9c37abf823 100644 --- a/maps/exodus-3.dmm +++ b/maps/exodus-3.dmm @@ -12,7 +12,7 @@ "al" = (/obj/structure/shuttle/engine/propulsion{icon_state = "burst_r"; dir = 8},/turf/space,/area/derelict/ship) "am" = (/turf/simulated/shuttle/wall{icon_state = "swall11"; dir = 2},/area/derelict/ship) "an" = (/obj/machinery/computer/med_data,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) -"ao" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/regular{pixel_x = 6; pixel_y = -5},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) +"ao" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/regular{pixel_x = 6; pixel_y = -5},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) "ap" = (/turf/simulated/shuttle/wall{icon_state = "swall15"; dir = 2},/area/derelict/ship) "aq" = (/turf/simulated/shuttle/plating,/turf/simulated/shuttle/wall{icon_state = "swall_f9"; dir = 2},/area/derelict/ship) "ar" = (/obj/structure/shuttle/engine/heater{icon_state = "heater"; dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/derelict/ship) @@ -27,7 +27,7 @@ "aA" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/shuttle/plating,/area/derelict/ship) "aB" = (/obj/machinery/door/airlock/glass{name = "Hibernation Pods"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) "aC" = (/obj/structure/bed/chair{dir = 1},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) -"aD" = (/obj/structure/table,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) +"aD" = (/obj/structure/table/standard,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) "aE" = (/turf/simulated/shuttle/wall{icon_state = "swall3"; dir = 2},/area/derelict/ship) "aF" = (/obj/item/device/multitool,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) "aG" = (/obj/item/weapon/cell{charge = 100; maxcharge = 15000},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) @@ -35,7 +35,7 @@ "aI" = (/turf/simulated/shuttle/plating,/turf/simulated/shuttle/wall{icon_state = "swall_f6"; dir = 2},/area/derelict/ship) "aJ" = (/obj/structure/shuttle/engine/propulsion{icon_state = "burst_l"; dir = 8},/turf/space,/area/derelict/ship) "aK" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/shuttle/plating,/area/derelict/ship) -"aL" = (/obj/structure/table,/obj/machinery/light{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) +"aL" = (/obj/structure/table/standard,/obj/machinery/light{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) "aM" = (/turf/simulated/shuttle/floor{icon_state = "floor3"},/turf/simulated/shuttle/wall{icon_state = "swall_f6"; dir = 2},/area/derelict/ship) "aN" = (/obj/machinery/door/airlock/glass,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) "aO" = (/obj/machinery/light_switch{pixel_x = 27},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) @@ -45,17 +45,17 @@ "aS" = (/obj/machinery/door/window,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) "aT" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) "aU" = (/obj/structure/lattice,/turf/space,/area/space) -"aV" = (/obj/structure/table,/obj/item/weapon/gun/energy/retro,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) +"aV" = (/obj/structure/table/standard,/obj/item/weapon/gun/energy/retro,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) "aW" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/shuttle/plating,/area/derelict/ship) "aX" = (/obj/machinery/light/small{dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) -"aY" = (/obj/structure/table,/obj/item/weapon/tank/oxygen,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) +"aY" = (/obj/structure/table/standard,/obj/item/weapon/tank/oxygen,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) "aZ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/shuttle/plating,/area/derelict/ship) "ba" = (/obj/machinery/light{dir = 1},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) "bb" = (/turf/simulated/shuttle/wall{icon_state = "swall_s6"; dir = 2},/area/space) "bc" = (/turf/simulated/shuttle/wall{icon_state = "swall14"; dir = 2},/area/space) "bd" = (/turf/simulated/shuttle/wall{icon_state = "swall12"; dir = 2},/area/space) "be" = (/turf/simulated/shuttle/wall{icon_state = "swall_s10"; dir = 2},/area/space) -"bf" = (/obj/structure/table,/obj/item/device/analyzer,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) +"bf" = (/obj/structure/table/standard,/obj/item/device/analyzer,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) "bg" = (/obj/structure/bed/chair{dir = 8},/obj/effect/decal/remains/human,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) "bh" = (/obj/machinery/door/airlock/glass{name = "Living Module"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) "bi" = (/obj/machinery/door/unpowered/shuttle,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) @@ -98,13 +98,13 @@ "bT" = (/obj/effect/decal/remains/human,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) "bU" = (/turf/simulated/shuttle/plating,/turf/simulated/shuttle/wall{icon_state = "swall_f10"; dir = 2},/area/derelict/ship) "bV" = (/obj/machinery/computer/pod{id = "oldship_gun"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) -"bW" = (/obj/structure/table,/obj/item/weapon/screwdriver,/obj/machinery/light,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) -"bX" = (/obj/structure/table,/obj/item/device/radio/off,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) +"bW" = (/obj/structure/table/standard,/obj/item/weapon/screwdriver,/obj/machinery/light,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) +"bX" = (/obj/structure/table/standard,/obj/item/device/radio/off,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) "bY" = (/obj/structure/lattice,/obj/structure/grille,/turf/space,/area/space) "bZ" = (/obj/machinery/power/solar/fake,/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/space) "ca" = (/turf/simulated/floor/plating/airless,/area/space) "cb" = (/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh{name = "Cuban Pete-Meat"},/obj/item/weapon/spacecash/c1,/turf/simulated/floor/engine,/area/tcommsat/computer) -"cc" = (/obj/structure/table,/obj/item/weapon/folder/yellow,/obj/item/weapon/folder/yellow,/obj/machinery/light{dir = 1},/obj/machinery/camera/network/telecom{c_tag = "Telecoms Main Computer Room"},/turf/simulated/floor,/area/tcommsat/computer) +"cc" = (/obj/structure/table/standard,/obj/item/weapon/folder/yellow,/obj/item/weapon/folder/yellow,/obj/machinery/light{dir = 1},/obj/machinery/camera/network/telecom{c_tag = "Telecoms Main Computer Room"},/turf/simulated/floor,/area/tcommsat/computer) "cd" = (/obj/structure/grille,/turf/simulated/floor/plating/airless,/area/space) "ce" = (/turf/simulated/wall/r_wall,/area/space) "cf" = (/turf/simulated/wall/r_wall,/area/turret_protected/tcomsat) @@ -133,9 +133,9 @@ "cC" = (/obj/structure/lattice,/obj/structure/window/reinforced{dir = 8},/turf/space,/area/turret_protected/tcomsat) "cD" = (/obj/structure/filingcabinet,/turf/simulated/floor,/area/tcommsat/computer) "cE" = (/obj/machinery/camera/network/telecom{c_tag = "Telecoms West Solars"; dir = 8},/turf/space,/area/space) -"cF" = (/obj/structure/table,/obj/item/weapon/paper_bin,/obj/item/weapon/pen/blue{pixel_x = -3; pixel_y = 2},/turf/simulated/floor,/area/tcommsat/computer) -"cG" = (/obj/structure/table,/obj/item/device/flashlight/lamp,/turf/simulated/floor,/area/tcommsat/computer) -"cH" = (/obj/structure/table,/obj/item/weapon/storage/fancy/cigarettes,/turf/simulated/floor,/area/tcommsat/computer) +"cF" = (/obj/structure/table/standard,/obj/item/weapon/paper_bin,/obj/item/weapon/pen/blue{pixel_x = -3; pixel_y = 2},/turf/simulated/floor,/area/tcommsat/computer) +"cG" = (/obj/structure/table/standard,/obj/item/device/flashlight/lamp,/turf/simulated/floor,/area/tcommsat/computer) +"cH" = (/obj/structure/table/standard,/obj/item/weapon/storage/fancy/cigarettes,/turf/simulated/floor,/area/tcommsat/computer) "cI" = (/obj/structure/bed,/obj/item/weapon/bedsheet/orange,/obj/machinery/light{dir = 8},/turf/simulated/floor,/area/tcommsat/computer) "cJ" = (/obj/structure/window/reinforced{dir = 4},/turf/space,/area/turret_protected/tcomsat) "cK" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/plating,/area/turret_protected/tcomsat) @@ -173,7 +173,7 @@ "dq" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/door/airlock/hatch{name = "Telecoms Control Room"; req_access = list(61)},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/tcommsat/computer) "dr" = (/obj/structure/lattice,/obj/structure/grille/broken,/turf/space,/area/space) "ds" = (/obj/machinery/atmospherics/unary/freezer{dir = 2; icon_state = "freezer_1"; set_temperature = 73; use_power = 1},/turf/simulated/floor,/area/tcommsat/computer) -"dt" = (/obj/machinery/light{dir = 8},/obj/structure/table,/obj/item/device/multitool,/obj/structure/sign/electricshock{pixel_x = -32},/turf/simulated/floor,/area/tcommsat/computer) +"dt" = (/obj/machinery/light{dir = 8},/obj/structure/table/standard,/obj/item/device/multitool,/obj/structure/sign/electricshock{pixel_x = -32},/turf/simulated/floor,/area/tcommsat/computer) "du" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor,/area/tcommsat/computer) "dv" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor,/area/tcommsat/computer) "dw" = (/turf/simulated/wall/r_wall,/area/tcommsat/chamber) @@ -235,7 +235,7 @@ "eA" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/space,/area/turret_protected/tcomsat) "eB" = (/obj/machinery/airlock_sensor/airlock_interior{frequency = 1381; id_tag = "server_access_in_sensor"; name = "interior sensor"; pixel_y = 25},/obj/structure/sign/securearea{desc = "A warning sign which reads 'SERVER ROOM'."; name = "SERVER ROOM"; pixel_y = 32},/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) "eC" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/turret_protected/tcomsat) -"eD" = (/obj/structure/table,/obj/item/weapon/stock_parts/micro_laser,/obj/item/weapon/stock_parts/manipulator,/obj/item/weapon/stock_parts/manipulator,/obj/item/weapon/stock_parts/manipulator,/obj/item/weapon/stock_parts/manipulator,/obj/item/weapon/stock_parts/capacitor,/obj/item/weapon/stock_parts/micro_laser/high,/obj/item/weapon/stock_parts/micro_laser/high,/obj/item/weapon/stock_parts/micro_laser/high,/obj/item/weapon/stock_parts/micro_laser/high,/turf/simulated/floor,/area/turret_protected/tcomsat) +"eD" = (/obj/structure/table/standard,/obj/item/weapon/stock_parts/micro_laser,/obj/item/weapon/stock_parts/manipulator,/obj/item/weapon/stock_parts/manipulator,/obj/item/weapon/stock_parts/manipulator,/obj/item/weapon/stock_parts/manipulator,/obj/item/weapon/stock_parts/capacitor,/obj/item/weapon/stock_parts/micro_laser/high,/obj/item/weapon/stock_parts/micro_laser/high,/obj/item/weapon/stock_parts/micro_laser/high,/obj/item/weapon/stock_parts/micro_laser/high,/turf/simulated/floor,/area/turret_protected/tcomsat) "eE" = (/obj/machinery/camera/network/telecom{c_tag = "Telecoms East Solars"; dir = 4},/turf/space,/area/space) "eF" = (/obj/structure/table/rack,/obj/item/weapon/circuitboard/telecomms/processor,/obj/item/weapon/circuitboard/telecomms/processor,/obj/item/weapon/circuitboard/telecomms/receiver,/obj/item/weapon/circuitboard/telecomms/server,/obj/item/weapon/circuitboard/telecomms/server,/obj/item/weapon/circuitboard/telecomms/bus,/obj/item/weapon/circuitboard/telecomms/bus,/obj/item/weapon/circuitboard/telecomms/broadcaster,/turf/simulated/floor,/area/turret_protected/tcomsat) "eG" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light{dir = 1},/obj/machinery/camera/network/telecom{c_tag = "Telecoms Central Compartment North"},/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) @@ -246,9 +246,9 @@ "eL" = (/obj/machinery/airlock_sensor/airlock_interior{frequency = 1381; id_tag = "server_access_in_sensor"; master_tag = "server_access_airlock"; name = "interior sensor"; pixel_x = 8; pixel_y = 25},/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) "eM" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/space,/area/turret_protected/tcomsat) "eN" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/turret_protected/tcomsat) -"eO" = (/obj/structure/table,/obj/item/weapon/stock_parts/subspace/treatment,/obj/item/weapon/stock_parts/subspace/treatment,/obj/item/weapon/stock_parts/subspace/treatment,/turf/simulated/floor,/area/turret_protected/tcomsat) +"eO" = (/obj/structure/table/standard,/obj/item/weapon/stock_parts/subspace/treatment,/obj/item/weapon/stock_parts/subspace/treatment,/obj/item/weapon/stock_parts/subspace/treatment,/turf/simulated/floor,/area/turret_protected/tcomsat) "eP" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/turret_protected/tcomsat) -"eQ" = (/obj/structure/table,/obj/item/weapon/stock_parts/subspace/analyzer,/obj/item/weapon/stock_parts/subspace/analyzer,/obj/item/weapon/stock_parts/subspace/analyzer,/turf/simulated/floor,/area/turret_protected/tcomsat) +"eQ" = (/obj/structure/table/standard,/obj/item/weapon/stock_parts/subspace/analyzer,/obj/item/weapon/stock_parts/subspace/analyzer,/obj/item/weapon/stock_parts/subspace/analyzer,/turf/simulated/floor,/area/turret_protected/tcomsat) "eR" = (/obj/machinery/camera/network/telecom{c_tag = "Telecoms North Solars"; dir = 8},/turf/space,/area/space) "eS" = (/turf/simulated/floor/plating,/area/space) "eT" = (/obj/structure/lattice,/obj/structure/window/reinforced{dir = 8},/obj/machinery/light{dir = 4},/turf/space,/area/turret_protected/tcomsat) @@ -266,7 +266,7 @@ "ff" = (/obj/machinery/door/airlock/maintenance_hatch{name = "Telecoms Storage"; req_access = list(61)},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/turret_protected/tcomsat) "fg" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/turret_protected/tcomsat) "fh" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/turf/simulated/floor,/area/turret_protected/tcomsat) -"fi" = (/obj/structure/table,/obj/item/weapon/stock_parts/subspace/amplifier,/obj/item/weapon/stock_parts/subspace/amplifier,/obj/item/weapon/stock_parts/subspace/amplifier,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_x = 29; pixel_y = 0},/obj/machinery/light/small{dir = 4},/turf/simulated/floor,/area/turret_protected/tcomsat) +"fi" = (/obj/structure/table/standard,/obj/item/weapon/stock_parts/subspace/amplifier,/obj/item/weapon/stock_parts/subspace/amplifier,/obj/item/weapon/stock_parts/subspace/amplifier,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_x = 29; pixel_y = 0},/obj/machinery/light/small{dir = 4},/turf/simulated/floor,/area/turret_protected/tcomsat) "fj" = (/obj/machinery/telecomms/bus/preset_one,/turf/simulated/floor{dir = 1; icon_state = "vault"; name = "Mainframe floor"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) "fk" = (/obj/machinery/telecomms/processor/preset_one,/turf/simulated/floor{dir = 1; icon_state = "vault"; name = "Mainframe floor"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) "fl" = (/obj/machinery/bluespacerelay,/turf/simulated/floor/bluegrid{icon_state = "dark"; name = "Mainframe Floor"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) @@ -278,10 +278,10 @@ "fr" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/turret_protected/tcomsat) "fs" = (/turf/simulated/floor,/area/turret_protected/tcomsat) "ft" = (/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor,/area/turret_protected/tcomsat) -"fu" = (/obj/structure/table,/obj/item/weapon/stock_parts/subspace/ansible,/obj/item/weapon/stock_parts/subspace/ansible,/obj/item/weapon/stock_parts/subspace/ansible,/turf/simulated/floor,/area/turret_protected/tcomsat) -"fv" = (/obj/structure/table,/obj/item/weapon/stock_parts/subspace/transmitter,/obj/item/weapon/stock_parts/subspace/transmitter,/turf/simulated/floor,/area/turret_protected/tcomsat) -"fw" = (/obj/structure/table,/obj/item/weapon/stock_parts/subspace/filter,/obj/item/weapon/stock_parts/subspace/filter,/obj/item/weapon/stock_parts/subspace/filter,/obj/item/weapon/stock_parts/subspace/filter,/obj/item/weapon/stock_parts/subspace/filter,/turf/simulated/floor,/area/turret_protected/tcomsat) -"fx" = (/obj/structure/table,/obj/item/weapon/stock_parts/subspace/crystal,/obj/item/weapon/stock_parts/subspace/crystal,/obj/item/weapon/stock_parts/subspace/crystal,/turf/simulated/floor,/area/turret_protected/tcomsat) +"fu" = (/obj/structure/table/standard,/obj/item/weapon/stock_parts/subspace/ansible,/obj/item/weapon/stock_parts/subspace/ansible,/obj/item/weapon/stock_parts/subspace/ansible,/turf/simulated/floor,/area/turret_protected/tcomsat) +"fv" = (/obj/structure/table/standard,/obj/item/weapon/stock_parts/subspace/transmitter,/obj/item/weapon/stock_parts/subspace/transmitter,/turf/simulated/floor,/area/turret_protected/tcomsat) +"fw" = (/obj/structure/table/standard,/obj/item/weapon/stock_parts/subspace/filter,/obj/item/weapon/stock_parts/subspace/filter,/obj/item/weapon/stock_parts/subspace/filter,/obj/item/weapon/stock_parts/subspace/filter,/obj/item/weapon/stock_parts/subspace/filter,/turf/simulated/floor,/area/turret_protected/tcomsat) +"fx" = (/obj/structure/table/standard,/obj/item/weapon/stock_parts/subspace/crystal,/obj/item/weapon/stock_parts/subspace/crystal,/obj/item/weapon/stock_parts/subspace/crystal,/turf/simulated/floor,/area/turret_protected/tcomsat) "fy" = (/obj/machinery/telecomms/server/presets/science,/turf/simulated/floor{dir = 1; icon_state = "vault"; name = "Mainframe floor"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) "fz" = (/obj/machinery/telecomms/server/presets/medical,/turf/simulated/floor{dir = 1; icon_state = "vault"; name = "Mainframe floor"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) "fA" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/structure/cable,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/turf/simulated/floor/plating,/area/tcommsat/chamber) diff --git a/maps/exodus-5.dmm b/maps/exodus-5.dmm index 114e31ec87..712411bb11 100644 --- a/maps/exodus-5.dmm +++ b/maps/exodus-5.dmm @@ -14,8 +14,8 @@ "an" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/outpost/research/hallway) "ao" = (/obj/structure/closet/walllocker/emerglocker/west,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{dir = 2; icon_state = "whitecorner"},/area/outpost/research/hallway) "ap" = (/obj/machinery/door/window/westleft{dir = 1; name = "Sample Preparation Loading"; req_access = list(65)},/turf/simulated/floor{dir = 1; icon_state = "whiteblue"},/area/outpost/research/chemistry) -"aq" = (/obj/structure/table,/obj/item/weapon/storage/box/solution_trays,/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor{dir = 4; icon_state = "whitebluecorner"},/area/outpost/research/chemistry) -"ar" = (/obj/structure/table,/obj/machinery/light{dir = 1},/obj/machinery/reagentgrinder,/turf/simulated/floor{icon_state = "white"},/area/outpost/research/chemistry) +"aq" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/solution_trays,/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor{dir = 4; icon_state = "whitebluecorner"},/area/outpost/research/chemistry) +"ar" = (/obj/structure/table/standard,/obj/machinery/light{dir = 1},/obj/machinery/reagentgrinder,/turf/simulated/floor{icon_state = "white"},/area/outpost/research/chemistry) "as" = (/obj/structure/sign/nosmoking_2{pixel_y = 32},/turf/simulated/floor{icon_state = "white"},/area/outpost/research/chemistry) "at" = (/obj/machinery/light/small{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/outpost/research/chemistry) "au" = (/obj/machinery/portable_atmospherics/hydroponics/soil,/turf/simulated/floor/grass,/area/outpost/research/chemistry) @@ -25,7 +25,7 @@ "ay" = (/obj/item/device/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_y = 20},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/outpost/research/kitchen) "az" = (/turf/simulated/wall/r_wall,/area/outpost/research/kitchen) "aA" = (/turf/simulated/wall/r_wall,/area/outpost/research/analysis) -"aB" = (/obj/structure/table,/obj/machinery/light/small{dir = 1},/obj/item/stack/nanopaste,/obj/item/stack/nanopaste,/obj/item/stack/nanopaste,/turf/simulated/floor{icon_state = "dark"},/area/outpost/research/analysis) +"aB" = (/obj/structure/table/standard,/obj/machinery/light/small{dir = 1},/obj/item/stack/nanopaste,/obj/item/stack/nanopaste,/obj/item/stack/nanopaste,/turf/simulated/floor{icon_state = "dark"},/area/outpost/research/analysis) "aC" = (/obj/item/weapon/stool,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/outpost/research/analysis) "aD" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor{dir = 4; icon_state = "whitegreen"},/area/outpost/research/analysis) "aE" = (/obj/machinery/door/airlock/research{name = "Spectrometry Lab Sample Preparation"; req_access = list(65)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/outpost/research/analysis) @@ -37,7 +37,7 @@ "aK" = (/turf/simulated/floor,/area/outpost/research/chemistry) "aL" = (/turf/simulated/floor{icon_state = "warning"},/area/outpost/research/chemistry) "aM" = (/obj/structure/sign/botany{pixel_x = 32},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "warningcorner"; dir = 1},/area/outpost/research/chemistry) -"aN" = (/obj/structure/table,/obj/item/weapon/reagent_containers/glass/bucket,/turf/simulated/floor{icon_state = "white"},/area/outpost/research/analysis) +"aN" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/glass/bucket,/turf/simulated/floor{icon_state = "white"},/area/outpost/research/analysis) "aO" = (/obj/structure/reagent_dispensers/coolanttank,/turf/simulated/floor{dir = 4; icon_state = "whitegreen"},/area/outpost/research/analysis) "aP" = (/obj/structure/window/reinforced{dir = 4},/obj/item/weapon/shard{icon_state = "small"},/turf/simulated/floor/plating/airless,/area/outpost/abandoned) "aQ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/outpost/abandoned) @@ -57,13 +57,13 @@ "be" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/blue{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor{icon_state = "white"},/area/outpost/research/chemistry) "bf" = (/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "white"},/area/outpost/research/chemistry) "bg" = (/obj/item/weapon/stool,/turf/simulated/floor{icon_state = "white"},/area/outpost/research/chemistry) -"bh" = (/obj/structure/table,/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/outpost/research/kitchen) +"bh" = (/obj/structure/table/standard,/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/outpost/research/kitchen) "bi" = (/obj/effect/landmark{name = "bluespacerift"},/turf/simulated/floor/plating,/area/outpost/research/chemistry) "bj" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/outpost/research/kitchen) "bk" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/outpost/abandoned) "bl" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/outpost/abandoned) "bm" = (/turf/simulated/floor,/area/outpost/abandoned) -"bn" = (/obj/structure/table,/obj/item/weapon/storage/box/beakers{pixel_x = 2; pixel_y = 2},/turf/simulated/floor{icon_state = "white"},/area/outpost/research/chemistry) +"bn" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/beakers{pixel_x = 2; pixel_y = 2},/turf/simulated/floor{icon_state = "white"},/area/outpost/research/chemistry) "bo" = (/turf/simulated/floor{icon_state = "white"},/area/outpost/research/analysis) "bp" = (/obj/machinery/disposal,/obj/structure/sign/deathsposal{pixel_y = 32},/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor,/area/outpost/research/chemistry) "bq" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/outpost/research/hallway) @@ -77,13 +77,13 @@ "by" = (/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/outpost/research/chemistry) "bz" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/outpost/research/chemistry) "bA" = (/turf/simulated/floor{icon_state = "white"},/area/outpost/research/chemistry) -"bB" = (/obj/structure/table,/obj/machinery/bunsen_burner,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/outpost/research/chemistry) +"bB" = (/obj/structure/table/standard,/obj/machinery/bunsen_burner,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/outpost/research/chemistry) "bC" = (/turf/simulated/floor/airless{icon_state = "damaged5"},/area/outpost/abandoned) "bD" = (/obj/item/weapon/shard{icon_state = "medium"},/obj/effect/alien/weeds{icon_state = "weeds"},/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/outpost/abandoned) "bE" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/outpost/abandoned) "bF" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock"},/obj/machinery/door/airlock/research{name = "Sample Preparation"; req_access = list(65)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "white"},/area/outpost/research/hallway) "bG" = (/obj/machinery/artifact_analyser,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor/bluegrid,/area/outpost/research/lab) -"bH" = (/obj/structure/table,/obj/item/weapon/flame/lighter/random,/obj/item/weapon/crowbar,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/outpost/research/lab) +"bH" = (/obj/structure/table/standard,/obj/item/weapon/flame/lighter/random,/obj/item/weapon/crowbar,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/outpost/research/lab) "bI" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/item/device/radio/intercom{freerange = 1; frequency = 1459; name = "Station Intercom (General)"; pixel_x = -27},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{dir = 4; icon_state = "whitepurple"},/area/outpost/research/lab) "bJ" = (/obj/machinery/conveyor{dir = 1; id = "anolaser"},/obj/structure/plasticflaps,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/outpost/research/lab) "bK" = (/obj/machinery/conveyor_switch{id = "anolaser"},/turf/simulated/floor{icon_state = "white"},/area/outpost/research/lab) @@ -92,15 +92,15 @@ "bN" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock"},/turf/simulated/floor/plating,/area/outpost/research/hallway) "bO" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor{dir = 4; icon_state = "whiteyellow"},/area/outpost/research/hallway) "bP" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/outpost/research/hallway) -"bQ" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets,/turf/simulated/floor/wood,/area/outpost/research/kitchen) -"bR" = (/obj/structure/table,/turf/simulated/floor/wood,/area/outpost/research/kitchen) -"bS" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/turf/simulated/floor/wood,/area/outpost/research/kitchen) +"bQ" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/donkpockets,/turf/simulated/floor/wood,/area/outpost/research/kitchen) +"bR" = (/obj/structure/table/standard,/turf/simulated/floor/wood,/area/outpost/research/kitchen) +"bS" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/turf/simulated/floor/wood,/area/outpost/research/kitchen) "bT" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'KEEP CLEAR OF DOCKING AREA'."; name = "KEEP CLEAR: DOCKING AREA"; pixel_x = 32; pixel_y = 0},/obj/structure/lattice,/turf/space,/area/space) "bU" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock"},/obj/machinery/door/airlock/research{name = "Spectrometry Lab"; req_access = list(65)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "white"},/area/outpost/research/hallway) "bV" = (/obj/effect/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/outpost/abandoned) "bW" = (/obj/item/stack/rods,/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/outpost/abandoned) "bX" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/camera/network/research_outpost{c_tag = "Research Outpost Hallway Fore"; dir = 4},/turf/simulated/floor,/area/outpost/research/hallway) -"bY" = (/obj/structure/table,/obj/item/weapon/reagent_containers/glass/beaker/large,/obj/item/weapon/reagent_containers/dropper{pixel_y = -4},/turf/simulated/floor{dir = 2; icon_state = "whiteblue"},/area/outpost/research/chemistry) +"bY" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/glass/beaker/large,/obj/item/weapon/reagent_containers/dropper{pixel_y = -4},/turf/simulated/floor{dir = 2; icon_state = "whiteblue"},/area/outpost/research/chemistry) "bZ" = (/turf/simulated/floor{dir = 2; icon_state = "whiteblue"},/area/outpost/research/chemistry) "ca" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{dir = 2; icon_state = "whiteblue"},/area/outpost/research/chemistry) "cb" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/blue{d2 = 2; icon_state = "0-2"},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/turf/simulated/floor{dir = 2; icon_state = "whitepurplecorner"},/area/outpost/research/lab) @@ -141,7 +141,7 @@ "cK" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock"},/obj/machinery/door/airlock/research{name = "Anomalous Materials"; req_access = list(65)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "white"},/area/outpost/research/hallway) "cL" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{dir = 1; icon_state = "whitepurple"},/area/outpost/research/lab) "cM" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{dir = 1; icon_state = "whitepurple"},/area/outpost/research/lab) -"cN" = (/obj/structure/table,/obj/machinery/microwave,/turf/simulated/floor/wood,/area/outpost/research/kitchen) +"cN" = (/obj/structure/table/standard,/obj/machinery/microwave,/turf/simulated/floor/wood,/area/outpost/research/kitchen) "cO" = (/obj/machinery/vending/snack,/turf/simulated/floor/wood,/area/outpost/research/kitchen) "cP" = (/obj/item/weapon/shard,/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/outpost/abandoned) "cQ" = (/obj/machinery/alarm{dir = 2; pixel_y = 25},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/outpost/research/hallway) @@ -153,11 +153,11 @@ "cW" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/machinery/requests_console{department = "Science"; departmentType = 2; name = "Science Requests Console"; pixel_x = -30; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor{icon_state = "white"},/area/outpost/research/hallway) "cX" = (/obj/structure/noticeboard/anomaly{icon_state = "nboard05"; pixel_y = 32},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/outpost/research/hallway) "cY" = (/obj/structure/disposalpipe/segment,/obj/machinery/light/small{dir = 8},/obj/structure/extinguisher_cabinet{pixel_x = -25; pixel_y = 0},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{dir = 4; icon_state = "whitepurple"},/area/outpost/research/lab) -"cZ" = (/obj/structure/table,/obj/item/weapon/reagent_containers/dropper{pixel_y = -4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/outpost/research/lab) +"cZ" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/dropper{pixel_y = -4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/outpost/research/lab) "da" = (/obj/item/weapon/stool,/turf/simulated/floor{icon_state = "white"},/area/outpost/research/lab) "db" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/outpost/research/hallway) "dc" = (/obj/structure/closet/walllocker/emerglocker/north,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor{dir = 4; icon_state = "whitebluecorner"},/area/outpost/research/hallway) -"dd" = (/obj/structure/table,/obj/effect/landmark{name = "bluespacerift"},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/outpost/research/kitchen) +"dd" = (/obj/structure/table/standard,/obj/effect/landmark{name = "bluespacerift"},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/outpost/research/kitchen) "de" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/outpost/research/hallway) "df" = (/turf/simulated/floor{dir = 4; icon_state = "whiteyellow"},/area/outpost/research/hallway) "dg" = (/obj/structure/extinguisher_cabinet{pixel_x = -25; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{dir = 8; icon_state = "whitepurplecorner"},/area/outpost/research/hallway) @@ -183,8 +183,8 @@ "dA" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "white"},/area/outpost/research/hallway) "dB" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/wood,/area/outpost/research/hallway) "dC" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/floor/wood,/area/outpost/research/hallway) -"dD" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -2; pixel_y = 5},/obj/item/weapon/clipboard,/obj/item/weapon/pen,/obj/item/weapon/tape_roll,/turf/simulated/floor/wood,/area/outpost/research/hallway) -"dE" = (/obj/structure/table,/obj/item/device/camera,/obj/item/weapon/stamp,/obj/item/weapon/folder,/turf/simulated/floor/wood,/area/outpost/research/hallway) +"dD" = (/obj/structure/table/standard,/obj/item/weapon/paper_bin{pixel_x = -2; pixel_y = 5},/obj/item/weapon/clipboard,/obj/item/weapon/pen,/obj/item/weapon/tape_roll,/turf/simulated/floor/wood,/area/outpost/research/hallway) +"dE" = (/obj/structure/table/standard,/obj/item/device/camera,/obj/item/weapon/stamp,/obj/item/weapon/folder,/turf/simulated/floor/wood,/area/outpost/research/hallway) "dF" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/floor/wood,/area/outpost/research/hallway) "dG" = (/turf/simulated/floor/wood,/area/outpost/research/hallway) "dH" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/outpost/research/hallway) @@ -194,8 +194,8 @@ "dL" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/outpost/abandoned) "dM" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless,/area/outpost/abandoned) "dN" = (/obj/machinery/light/small,/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "white"},/area/outpost/research/lab) -"dO" = (/obj/structure/table,/obj/machinery/cell_charger,/obj/item/weapon/screwdriver{pixel_y = 15},/obj/item/weapon/melee/baton/loaded,/turf/simulated/floor{icon_state = "white"},/area/outpost/research/lab) -"dP" = (/obj/structure/table,/obj/item/weapon/reagent_containers/glass/beaker/water,/obj/item/weapon/reagent_containers/glass/beaker/fuel,/obj/item/weapon/reagent_containers/glass/bottle/toxin,/obj/item/weapon/reagent_containers/glass/beaker/sulphuric{name = "beaker 'sulphuric acid'"},/obj/machinery/camera/network/research_outpost{c_tag = "Research Outpost Sample Preparation"; dir = 1},/turf/simulated/floor{dir = 2; icon_state = "whiteblue"},/area/outpost/research/chemistry) +"dO" = (/obj/structure/table/standard,/obj/machinery/cell_charger,/obj/item/weapon/screwdriver{pixel_y = 15},/obj/item/weapon/melee/baton/loaded,/turf/simulated/floor{icon_state = "white"},/area/outpost/research/lab) +"dP" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/glass/beaker/water,/obj/item/weapon/reagent_containers/glass/beaker/fuel,/obj/item/weapon/reagent_containers/glass/bottle/toxin,/obj/item/weapon/reagent_containers/glass/beaker/sulphuric{name = "beaker 'sulphuric acid'"},/obj/machinery/camera/network/research_outpost{c_tag = "Research Outpost Sample Preparation"; dir = 1},/turf/simulated/floor{dir = 2; icon_state = "whiteblue"},/area/outpost/research/chemistry) "dQ" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion"; dir = 4},/obj/structure/window/reinforced/tinted{dir = 4; icon_state = "twindow"},/turf/simulated/floor/plating/airless,/area/shuttle/alien/mine) "dR" = (/obj/effect/alien/weeds{icon_state = "weeds2"},/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/shuttle/alien/mine) "dS" = (/obj/effect/alien/weeds{icon_state = "weeds"},/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/shuttle/alien/mine) @@ -213,8 +213,8 @@ "ee" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/wall/r_wall,/area/outpost/research/disposal) "ef" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating/airless/asteroid,/area/outpost/research/disposal) "eg" = (/obj/structure/disposaloutlet{dir = 2},/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor/plating/airless/asteroid,/area/outpost/research/disposal) -"eh" = (/obj/structure/table,/turf/simulated/floor/wood,/area/outpost/research/hallway) -"ei" = (/obj/structure/table,/obj/item/weapon/storage/box/drinkingglasses{pixel_x = 1; pixel_y = 4},/turf/simulated/floor/wood,/area/outpost/research/hallway) +"eh" = (/obj/structure/table/standard,/turf/simulated/floor/wood,/area/outpost/research/hallway) +"ei" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/drinkingglasses{pixel_x = 1; pixel_y = 4},/turf/simulated/floor/wood,/area/outpost/research/hallway) "ej" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/outpost/research/hallway) "ek" = (/obj/effect/alien/weeds,/turf/simulated/floor/airless{icon_state = "damaged5"},/area/outpost/abandoned) "el" = (/obj/effect/alien/weeds{icon_state = "weeds2"},/obj/item/clothing/mask/facehugger{icon_state = "facehugger_dead"; stat = 2},/turf/simulated/floor/airless{icon_state = "damaged2"},/area/outpost/abandoned) @@ -289,8 +289,8 @@ "fC" = (/obj/machinery/portable_atmospherics/powered/scrubber,/turf/simulated/floor/plating,/area/outpost/research/disposal) "fD" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/outpost/research/disposal) "fE" = (/turf/simulated/floor/plating/airless,/area/outpost/abandoned) -"fF" = (/obj/structure/table,/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/outpost/abandoned) -"fG" = (/obj/structure/table,/turf/simulated/floor/airless{icon_state = "floorscorched2"},/area/outpost/abandoned) +"fF" = (/obj/structure/table/standard,/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/outpost/abandoned) +"fG" = (/obj/structure/table/standard,/turf/simulated/floor/airless{icon_state = "floorscorched2"},/area/outpost/abandoned) "fH" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless,/area/outpost/abandoned) "fI" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock"},/turf/simulated/floor{icon_state = "white"},/area/outpost/research/hallway) "fJ" = (/obj/structure/bed/chair{dir = 8},/obj/structure/extinguisher_cabinet{pixel_x = 25; pixel_y = 0},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/outpost/research/kitchen) @@ -357,17 +357,17 @@ "gS" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor,/area/outpost/research/dock) "gT" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'VACUUM'"; icon_state = "space"; layer = 4; name = "VACUUM"; pixel_x = 0; pixel_y = 32},/turf/simulated/floor{icon_state = "warningcorner"; dir = 4},/area/outpost/research/dock) "gU" = (/obj/structure/window/reinforced{dir = 5; health = 1e+007},/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock"},/turf/simulated/floor{icon_state = "white"},/area/outpost/research/medical) -"gV" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/storage/firstaid/toxin,/turf/simulated/floor{icon_state = "white"},/area/outpost/research/medical) +"gV" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/storage/firstaid/toxin,/turf/simulated/floor{icon_state = "white"},/area/outpost/research/medical) "gW" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/outpost/research/dock) "gX" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/outpost/research/dock) "gY" = (/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/outpost/research/eva) "gZ" = (/turf/simulated/floor{tag = "icon-vault (NORTH)"; icon_state = "vault"; dir = 1},/area/outpost/research/eva) -"ha" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/o2{pixel_x = 2; pixel_y = 2},/obj/item/weapon/storage/firstaid/fire,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor{icon_state = "white"},/area/outpost/research/medical) +"ha" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/o2{pixel_x = 2; pixel_y = 2},/obj/item/weapon/storage/firstaid/fire,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor{icon_state = "white"},/area/outpost/research/medical) "hb" = (/obj/item/weapon/shard{icon_state = "small"},/turf/simulated/floor/plating/airless,/area/outpost/abandoned) "hc" = (/obj/effect/alien/weeds{icon_state = "weeds1"},/obj/effect/decal/remains/xeno,/turf/simulated/floor/plating,/area/outpost/abandoned) "hd" = (/obj/effect/gibspawner/human,/turf/simulated/floor/airless{icon_state = "damaged2"},/area/outpost/abandoned) "he" = (/obj/effect/gibspawner/robot,/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/outpost/abandoned) -"hf" = (/obj/structure/table,/obj/machinery/alarm{dir = 1; pixel_y = -25},/turf/simulated/floor{dir = 2; icon_state = "arrival"},/area/outpost/research/dock) +"hf" = (/obj/structure/table/standard,/obj/machinery/alarm{dir = 1; pixel_y = -25},/turf/simulated/floor{dir = 2; icon_state = "arrival"},/area/outpost/research/dock) "hg" = (/obj/machinery/camera/network/research_outpost{c_tag = "Research Outpost Kitchen"; dir = 8},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/outpost/research/kitchen) "hh" = (/obj/structure/closet/emcloset,/obj/machinery/alarm{dir = 1; pixel_y = -25},/turf/simulated/floor,/area/outpost/research/dock) "hi" = (/obj/machinery/light,/turf/simulated/floor{icon_state = "bluecorner"},/area/outpost/research/dock) @@ -386,7 +386,7 @@ "hv" = (/obj/machinery/door/airlock/maintenance{name = "Maintenance Storage"; req_one_access = list(12,65)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/outpost/research/emergency_storage) "hw" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock"},/turf/simulated/floor/plating,/area/outpost/research/isolation_monitoring) "hx" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock"},/turf/simulated/floor/plating,/area/outpost/research/isolation_monitoring) -"hy" = (/obj/structure/table,/obj/item/weapon/anobattery{pixel_x = -6; pixel_y = 2},/obj/item/weapon/anobattery{pixel_x = -2; pixel_y = -2},/obj/item/weapon/anobattery{pixel_x = 2; pixel_y = 2},/obj/item/weapon/anobattery{pixel_x = 6; pixel_y = 6},/obj/machinery/light/small{dir = 4},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/outpost/research/anomaly_analysis) +"hy" = (/obj/structure/table/standard,/obj/item/weapon/anobattery{pixel_x = -6; pixel_y = 2},/obj/item/weapon/anobattery{pixel_x = -2; pixel_y = -2},/obj/item/weapon/anobattery{pixel_x = 2; pixel_y = 2},/obj/item/weapon/anobattery{pixel_x = 6; pixel_y = 6},/obj/machinery/light/small{dir = 4},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/outpost/research/anomaly_analysis) "hz" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/outpost/research/anomaly_analysis) "hA" = (/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/outpost/research/anomaly_analysis) "hB" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'RADIOACTIVE AREA'"; icon_state = "radiation"; name = "RADIOACTIVE AREA"; pixel_x = -32; pixel_y = 0},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/outpost/research/anomaly_analysis) @@ -402,7 +402,7 @@ "hL" = (/obj/effect/alien/weeds,/turf/simulated/floor/airless{icon_state = "damaged2"},/area/outpost/abandoned) "hM" = (/obj/structure/table/rack,/turf/simulated/floor/airless{icon_state = "damaged2"},/area/outpost/abandoned) "hN" = (/obj/item/clothing/mask/facehugger{icon_state = "facehugger_dead"; stat = 2},/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/outpost/abandoned) -"hO" = (/obj/structure/table,/turf/simulated/floor/airless,/area/outpost/abandoned) +"hO" = (/obj/structure/table/standard,/turf/simulated/floor/airless,/area/outpost/abandoned) "hP" = (/obj/effect/decal/remains/human,/turf/simulated/floor/airless{icon_state = "damaged5"},/area/outpost/abandoned) "hQ" = (/obj/effect/alien/weeds,/turf/simulated/floor/plating/airless,/area/outpost/abandoned) "hR" = (/turf/simulated/floor/airless{icon_state = "damaged4"},/area/outpost/abandoned) @@ -436,7 +436,7 @@ "it" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{dir = 8; icon_state = "whitepurplecorner"},/area/outpost/research/hallway) "iu" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/blue{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor{icon_state = "white"},/area/outpost/research/hallway) "iv" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/outpost/research/anomaly_analysis) -"iw" = (/obj/structure/table,/obj/item/weapon/anodevice{pixel_x = 3; pixel_y = 3},/obj/item/weapon/anodevice,/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/outpost/research/anomaly_analysis) +"iw" = (/obj/structure/table/standard,/obj/item/weapon/anodevice{pixel_x = 3; pixel_y = 3},/obj/item/weapon/anodevice,/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/outpost/research/anomaly_analysis) "ix" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/outpost/research/anomaly_analysis) "iy" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/outpost/research/anomaly_analysis) "iz" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock"},/obj/machinery/door/airlock/external{name = "Access Airlock"; req_access = list(65)},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/outpost/research/anomaly_analysis) @@ -455,20 +455,20 @@ "iM" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/outpost/research/hallway) "iN" = (/obj/structure/reagent_dispensers/fueltank,/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/turf/simulated/floor/plating,/area/outpost/research/chemistry) "iO" = (/obj/structure/closet/hydrant{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/plating,/area/outpost/research/chemistry) -"iP" = (/obj/structure/table,/obj/item/device/analyzer/plant_analyzer,/obj/item/weapon/cell,/obj/item/stack/cable_coil/random,/obj/item/stack/cable_coil/random,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/outpost/research/chemistry) +"iP" = (/obj/structure/table/standard,/obj/item/device/analyzer/plant_analyzer,/obj/item/weapon/cell,/obj/item/stack/cable_coil/random,/obj/item/stack/cable_coil/random,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/outpost/research/chemistry) "iQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor,/area/outpost/research/hallway) "iR" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor,/area/outpost/research/hallway) "iS" = (/obj/structure/reagent_dispensers/watertank,/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor,/area/outpost/research/chemistry) "iT" = (/turf/simulated/floor/plating,/area/outpost/research/chemistry) "iU" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/outpost/research/chemistry) "iV" = (/turf/simulated/wall,/area/outpost/research/chemistry) -"iW" = (/obj/structure/table,/obj/machinery/light/small{dir = 8},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor,/area/outpost/research/chemistry) +"iW" = (/obj/structure/table/standard,/obj/machinery/light/small{dir = 8},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor,/area/outpost/research/chemistry) "iX" = (/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/outpost/research/kitchen) "iY" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored) "iZ" = (/obj/structure/bed,/obj/item/weapon/bedsheet/brown,/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/turf/simulated/floor/carpet,/area/outpost/research/hallway) "ja" = (/obj/machinery/button/remote/airlock{id = "rdorm2"; name = "Door Bolt Control"; pixel_x = -25; pixel_y = 0; specialfunctions = 4},/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/carpet,/area/outpost/research/hallway) "jb" = (/obj/structure/table/rack,/obj/item/stack/sheet/metal{amount = 50; pixel_x = 5; pixel_y = 5},/obj/item/stack/sheet/glass{amount = 50},/obj/item/weapon/storage/belt/utility{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/toolbox/mechanical,/obj/item/weapon/storage/toolbox/emergency{pixel_x = 5; pixel_y = 5},/turf/simulated/floor/plating,/area/outpost/research/chemistry) -"jc" = (/obj/structure/table,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/carpet,/area/outpost/research/hallway) +"jc" = (/obj/structure/table/standard,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/carpet,/area/outpost/research/hallway) "jd" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/outpost/research/chemistry) "je" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall/r_wall,/area/outpost/research/kitchen) "jf" = (/obj/machinery/button/remote/airlock{id = "rddorm1"; name = "Door Bolt Control"; pixel_x = 25; pixel_y = 0; specialfunctions = 4},/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/carpet,/area/outpost/research/hallway) @@ -480,7 +480,7 @@ "jl" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/outpost/research/hallway) "jm" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/carpet,/area/outpost/research/hallway) "jn" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock"},/obj/machinery/door/airlock{id_tag = "rddorm1"; name = "Dorm 1"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "carpet"},/area/outpost/research/hallway) -"jo" = (/obj/structure/table,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/carpet,/area/outpost/research/hallway) +"jo" = (/obj/structure/table/standard,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/carpet,/area/outpost/research/hallway) "jp" = (/obj/structure/closet/crate/hydroponics,/obj/item/weapon/shovel/spade,/obj/item/weapon/reagent_containers/glass/bucket,/obj/item/weapon/minihoe,/obj/item/weapon/reagent_containers/spray/plantbgone{pixel_x = 13; pixel_y = 5},/obj/item/weedkiller/triclopyr,/obj/item/weapon/reagent_containers/glass/fertilizer/ez,/turf/simulated/floor/plating,/area/outpost/research/chemistry) "jq" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/mine/explored) "jr" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock"},/obj/machinery/door/airlock/maintenance{name = "Auxiliary Storage"; req_one_access = list(65,12)},/turf/simulated/floor{icon_state = "white"},/area/outpost/research/chemistry) @@ -521,7 +521,7 @@ "ka" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock"},/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/research{name = "Anomalous Materials Locker Room"; req_access = list(65)},/turf/simulated/floor{icon_state = "white"},/area/outpost/research/hallway) "kb" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/plating,/area/outpost/mining_north) "kc" = (/obj/effect/decal/cleanable/cobweb,/obj/item/stack/sheet/metal{amount = 10},/obj/item/weapon/storage/toolbox/mechanical,/obj/item/clothing/glasses/meson,/obj/item/weapon/storage/box/lights/mixed,/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/plating,/area/outpost/mining_north) -"kd" = (/obj/structure/table,/obj/effect/decal/cleanable/cobweb2,/obj/machinery/microwave{pixel_y = 6},/turf/simulated/floor{icon_state = "floorgrime"},/area/outpost/mining_north) +"kd" = (/obj/structure/table/standard,/obj/effect/decal/cleanable/cobweb2,/obj/machinery/microwave{pixel_y = 6},/turf/simulated/floor{icon_state = "floorgrime"},/area/outpost/mining_north) "ke" = (/obj/machinery/recharge_station,/turf/simulated/floor{icon_state = "floorgrime"},/area/outpost/mining_north) "kf" = (/obj/structure/bed/chair,/obj/effect/decal/cleanable/dirt,/obj/item/weapon/storage/box/donkpockets,/turf/simulated/floor{icon_state = "floorgrime"},/area/outpost/mining_north) "kg" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor,/area/outpost/mining_north) @@ -535,7 +535,7 @@ "ko" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/camera/network/research_outpost{c_tag = "Research Outpost Hallway Central"; dir = 4},/turf/simulated/floor{icon_state = "white"},/area/outpost/research/hallway) "kp" = (/obj/machinery/atmospherics/pipe/simple/visible/supply{tag = "icon-intact-supply (NORTHEAST)"; icon_state = "intact-supply"; dir = 5},/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{tag = "icon-intact-scrubbers (NORTHEAST)"; icon_state = "intact-scrubbers"; dir = 5},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/outpost/research/power) "kq" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "mining_north_outpost_airlock"; name = "interior access button"; pixel_x = -25; pixel_y = 25; req_one_access = list(13,54)},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor{icon_state = "floorgrime"},/area/outpost/mining_north) -"kr" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets,/obj/machinery/light,/turf/simulated/floor/wood,/area/outpost/research/kitchen) +"kr" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/donkpockets,/obj/machinery/light,/turf/simulated/floor/wood,/area/outpost/research/kitchen) "ks" = (/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{tag = "icon-intact-scrubbers (SOUTHWEST)"; icon_state = "intact-scrubbers"; dir = 10},/turf/simulated/floor,/area/outpost/research/power) "kt" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor{icon_state = "floorgrime"},/area/outpost/mining_north) "ku" = (/obj/structure/cable/blue{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/outpost/research/isolation_monitoring) @@ -588,7 +588,7 @@ "lp" = (/obj/machinery/mineral/unloading_machine,/turf/simulated/floor{icon_state = "floorgrime"},/area/outpost/research/eva) "lq" = (/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor,/area/outpost/research/eva) "lr" = (/obj/machinery/conveyor_switch{id = "anotempload"; name = "conveyor switch"; pixel_x = 0; pixel_y = 0; req_access = list(65)},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored) -"ls" = (/obj/structure/table,/obj/item/weapon/storage/box/excavation,/obj/item/weapon/pickaxe,/obj/machinery/status_display{layer = 4; pixel_x = 32; pixel_y = 0},/obj/item/weapon/wrench,/obj/item/device/measuring_tape,/obj/item/stack/flag/yellow,/turf/simulated/floor,/area/outpost/research/eva) +"ls" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/excavation,/obj/item/weapon/pickaxe,/obj/machinery/status_display{layer = 4; pixel_x = 32; pixel_y = 0},/obj/item/weapon/wrench,/obj/item/device/measuring_tape,/obj/item/stack/flag/yellow,/turf/simulated/floor,/area/outpost/research/eva) "lt" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"; tag = "icon-intact-f (SOUTHWEST)"},/turf/simulated/floor,/area/outpost/research/eva) "lu" = (/turf/simulated/wall/r_wall,/area/outpost/research/anomaly_storage) "lv" = (/obj/structure/table/rack,/obj/item/weapon/storage/box/gloves{pixel_x = 4; pixel_y = 5},/obj/item/weapon/storage/box/samplebags{pixel_x = 3; pixel_y = -3},/obj/item/weapon/storage/toolbox/emergency{pixel_x = 5; pixel_y = 5},/turf/simulated/floor/plating,/area/outpost/research/emergency_storage) @@ -615,7 +615,7 @@ "lQ" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor{dir = 2; icon_state = "whitepurple"},/area/outpost/research/hallway) "lR" = (/obj/machinery/suspension_gen,/turf/simulated/floor,/area/outpost/research/eva) "lS" = (/obj/machinery/conveyor{dir = 2; id = "anominerals"},/obj/machinery/mineral/output,/turf/simulated/floor{icon_state = "floorgrime"},/area/outpost/research/eva) -"lT" = (/obj/structure/table,/obj/item/weapon/storage/box/excavation,/obj/item/weapon/pickaxe,/obj/item/weapon/wrench,/obj/item/device/measuring_tape,/obj/item/stack/flag/green,/turf/simulated/floor,/area/outpost/research/eva) +"lT" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/excavation,/obj/item/weapon/pickaxe,/obj/item/weapon/wrench,/obj/item/device/measuring_tape,/obj/item/stack/flag/green,/turf/simulated/floor,/area/outpost/research/eva) "lU" = (/obj/machinery/door/airlock/external{id_tag = "riso1"; name = "Access Airlock"; req_access = list(65)},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/outpost/research/isolation_a) "lV" = (/obj/machinery/door/airlock/external{id_tag = "riso2"; name = "Access Airlock"; req_access = list(65)},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/outpost/research/isolation_b) "lW" = (/obj/machinery/atmospherics/unary/freezer{dir = 4; icon_state = "freezer"},/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor,/area/outpost/research/isolation_monitoring) @@ -640,16 +640,16 @@ "mp" = (/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/outpost/research/anomaly_storage) "mq" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/outpost/research/emergency_storage) "mr" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/camera/network/research_outpost{c_tag = "Research Outpost Hallway Aft"; dir = 1},/turf/simulated/floor{dir = 2; icon_state = "whitepurple"},/area/outpost/research/hallway) -"ms" = (/obj/structure/table,/obj/item/weapon/folder,/obj/item/device/camera,/obj/item/weapon/pen,/turf/simulated/floor,/area/outpost/research/isolation_monitoring) +"ms" = (/obj/structure/table/standard,/obj/item/weapon/folder,/obj/item/device/camera,/obj/item/weapon/pen,/turf/simulated/floor,/area/outpost/research/isolation_monitoring) "mt" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/outpost/research/anomaly_storage) "mu" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/outpost/research/emergency_storage) "mv" = (/obj/machinery/atmospherics/binary/pump{dir = 8},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/outpost/research/isolation_monitoring) "mw" = (/obj/machinery/atmospherics/pipe/simple/visible/universal{dir = 4},/turf/simulated/floor,/area/outpost/research/isolation_monitoring) "mx" = (/obj/machinery/atmospherics/binary/pump{dir = 4},/turf/simulated/floor,/area/outpost/research/isolation_monitoring) -"my" = (/obj/structure/table,/obj/item/clothing/gloves/latex,/turf/simulated/floor,/area/outpost/research/isolation_monitoring) +"my" = (/obj/structure/table/standard,/obj/item/clothing/gloves/latex,/turf/simulated/floor,/area/outpost/research/isolation_monitoring) "mz" = (/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/machinery/door/window{dir = 4; name = "Air Tank Access"; req_one_access = list(47,10,24)},/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor,/area/outpost/research/eva) "mA" = (/obj/machinery/atmospherics/pipe/simple/visible/scrubbers,/obj/machinery/atmospherics/pipe/manifold/visible/supply,/turf/simulated/floor,/area/outpost/research/isolation_monitoring) -"mB" = (/obj/structure/table,/obj/item/device/flashlight/lamp,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor,/area/outpost/research/isolation_monitoring) +"mB" = (/obj/structure/table/standard,/obj/item/device/flashlight/lamp,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor,/area/outpost/research/isolation_monitoring) "mC" = (/obj/structure/plasticflaps/mining,/obj/machinery/conveyor{dir = 2; id = "anotempload"},/turf/simulated/floor/plating,/area/outpost/research/eva) "mD" = (/obj/machinery/conveyor{dir = 1; id = "anosample"},/obj/structure/plasticflaps/mining,/turf/simulated/floor/plating,/area/outpost/research/eva) "mE" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/turf/simulated/floor,/area/outpost/research/isolation_monitoring) @@ -700,14 +700,14 @@ "nx" = (/obj/machinery/door/airlock/glass{name = "Glass Airlock"},/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"},/area/outpost/abandoned) "ny" = (/obj/machinery/artifact_scanpad,/obj/machinery/light/small,/turf/simulated/floor/bluegrid,/area/outpost/research/anomaly_analysis) "nz" = (/obj/machinery/alarm{dir = 1; pixel_y = -24},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/outpost/research/anomaly_analysis) -"nA" = (/obj/structure/table,/obj/machinery/computer/atmoscontrol/laptop{monitored_alarm_ids = list("isolation_one","isolation_two","isolation_three"); req_one_access = list(47,24,11)},/turf/simulated/floor,/area/outpost/research/isolation_monitoring) +"nA" = (/obj/structure/table/standard,/obj/machinery/computer/atmoscontrol/laptop{monitored_alarm_ids = list("isolation_one","isolation_two","isolation_three"); req_one_access = list(47,24,11)},/turf/simulated/floor,/area/outpost/research/isolation_monitoring) "nB" = (/obj/structure/disposalpipe/segment,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/outpost/research/anomaly_storage) "nC" = (/obj/structure/bed,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/plating,/area/outpost/research/emergency_storage) "nD" = (/obj/machinery/light_construct/small{dir = 4},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored) "nE" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/blue,/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/turf/simulated/floor/plating,/area/outpost/research/emergency_storage) "nF" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 27},/turf/simulated/floor,/area/outpost/research/isolation_monitoring) "nG" = (/obj/machinery/atmospherics/pipe/simple/visible/scrubbers,/obj/machinery/atmospherics/pipe/simple/visible/supply,/turf/simulated/floor,/area/outpost/research/isolation_monitoring) -"nH" = (/obj/structure/table,/obj/item/weapon/paper_bin,/obj/item/weapon/tape_roll,/turf/simulated/floor,/area/outpost/research/isolation_monitoring) +"nH" = (/obj/structure/table/standard,/obj/item/weapon/paper_bin,/obj/item/weapon/tape_roll,/turf/simulated/floor,/area/outpost/research/isolation_monitoring) "nI" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/blue{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/outpost/research/isolation_monitoring) "nJ" = (/obj/structure/cable/blue{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/turf/simulated/floor,/area/outpost/research/isolation_monitoring) "nK" = (/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/turf/simulated/floor,/area/outpost/research/isolation_monitoring) @@ -728,13 +728,13 @@ "nZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/outpost/research/eva) "oa" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/turf/simulated/floor,/area/outpost/research/eva) "ob" = (/obj/machinery/atmospherics/omni/filter{tag_east = 1; tag_south = 2; tag_west = 3},/turf/simulated/floor,/area/outpost/research/isolation_monitoring) -"oc" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor{dir = 2; icon_state = "cmo"},/area/outpost/research/dock) +"oc" = (/obj/structure/table/standard,/obj/item/weapon/storage/toolbox/mechanical,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor{dir = 2; icon_state = "cmo"},/area/outpost/research/dock) "od" = (/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/alarm{pixel_y = 24},/turf/simulated/floor,/area/outpost/research/eva) "oe" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/outpost/research/eva) "of" = (/obj/structure/table/rack,/obj/item/weapon/storage/belt/archaeology,/obj/item/clothing/suit/space/anomaly,/obj/item/clothing/head/helmet/space/anomaly,/obj/item/clothing/mask/breath,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor,/area/outpost/research/eva) "og" = (/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/outpost/research/eva) "oh" = (/obj/structure/closet/excavation,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor,/area/outpost/research/eva) -"oi" = (/obj/structure/table,/turf/simulated/floor,/area/outpost/research/isolation_monitoring) +"oi" = (/obj/structure/table/standard,/turf/simulated/floor,/area/outpost/research/isolation_monitoring) "oj" = (/obj/structure/bed/chair/office/light,/turf/simulated/floor,/area/outpost/research/isolation_monitoring) "ok" = (/obj/machinery/portable_atmospherics/canister/sleeping_agent,/turf/simulated/floor,/area/outpost/research/isolation_monitoring) "ol" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor,/area/outpost/research/isolation_monitoring) @@ -756,7 +756,7 @@ "oB" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/structure/cable/blue{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/outpost/research/anomaly_storage) "oC" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/closet/walllocker/emerglocker/west,/turf/simulated/floor/plating,/area/outpost/research/emergency_storage) "oD" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/item/weapon/shard{icon_state = "medium"},/turf/simulated/floor/plating/airless,/area/outpost/abandoned) -"oE" = (/obj/structure/table,/obj/item/weapon/paper/crumpled,/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/outpost/abandoned) +"oE" = (/obj/structure/table/standard,/obj/item/weapon/paper/crumpled,/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/outpost/abandoned) "oF" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/outpost/abandoned) "oG" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/outpost/abandoned) "oH" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/outpost/abandoned) @@ -765,7 +765,7 @@ "oK" = (/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/outpost/research/power) "oL" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille/broken,/obj/item/stack/rods,/obj/item/weapon/shard,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/outpost/abandoned) "oM" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/grille/broken,/obj/item/weapon/shard{icon_state = "small"},/obj/item/stack/rods,/turf/simulated/floor/plating/airless,/area/outpost/abandoned) -"oN" = (/obj/structure/table,/obj/item/device/flashlight/lamp,/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/outpost/research/isolation_b) +"oN" = (/obj/structure/table/standard,/obj/item/device/flashlight/lamp,/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/outpost/research/isolation_b) "oO" = (/obj/machinery/artifact_scanpad,/obj/machinery/light,/turf/simulated/floor/bluegrid,/area/outpost/research/isolation_a) "oP" = (/obj/machinery/artifact_analyser,/turf/simulated/floor/bluegrid,/area/outpost/research/isolation_a) "oQ" = (/obj/structure/bed/chair{dir = 1},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/outpost/research/isolation_c) @@ -774,18 +774,18 @@ "oT" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/structure/sign/securearea{desc = "A warning sign which reads 'MOVING PARTS'."; name = "\improper MOVING PARTS"; pixel_x = 0; pixel_y = -32},/turf/simulated/floor/plating{dir = 1; icon_state = "warnplatecorner"},/area/outpost/research/power) "oU" = (/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/supply{dir = 4},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor,/area/outpost/research/power) "oV" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/mine/explored) -"oW" = (/obj/structure/table,/obj/item/device/flashlight/lamp,/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/outpost/research/isolation_a) +"oW" = (/obj/structure/table/standard,/obj/item/device/flashlight/lamp,/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/outpost/research/isolation_a) "oX" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/structure/cable/blue{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/outpost/research/power) "oY" = (/obj/machinery/light{dir = 8},/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"},/area/mine/explored) "oZ" = (/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{tag = "icon-intact-scrubbers (NORTHWEST)"; icon_state = "intact-scrubbers"; dir = 9},/turf/simulated/floor,/area/outpost/research/power) "pa" = (/obj/structure/bed,/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/outpost/research/isolation_c) -"pb" = (/obj/structure/table,/obj/item/device/flashlight/lamp,/obj/machinery/light,/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/outpost/research/isolation_c) +"pb" = (/obj/structure/table/standard,/obj/item/device/flashlight/lamp,/obj/machinery/light,/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/outpost/research/isolation_c) "pc" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"},/area/mine/explored) "pd" = (/obj/structure/window/reinforced{dir = 5; health = 1e+007},/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock"},/obj/machinery/camera/network/research_outpost{c_tag = "Research Outpost Medbay"; dir = 1},/turf/simulated/floor{icon_state = "white"},/area/outpost/research/medical) "pe" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 4},/area/mine/explored) "pf" = (/turf/simulated/wall/r_wall,/area/outpost/research/isolation_b) "pg" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 2},/area/mine/explored) -"ph" = (/obj/structure/table,/turf/simulated/floor/airless{icon_state = "damaged5"},/area/outpost/abandoned) +"ph" = (/obj/structure/table/standard,/turf/simulated/floor/airless{icon_state = "damaged5"},/area/outpost/abandoned) "pi" = (/obj/structure/girder,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/outpost/abandoned) "pj" = (/obj/structure/window/reinforced,/obj/structure/lattice,/turf/space,/area/mine/explored) "pk" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/disposalpipe/segment,/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/outpost/research/eva) @@ -822,7 +822,7 @@ "pP" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/camera/network/research_outpost{c_tag = "Research Outpost Isolation Port"; dir = 4},/turf/simulated/floor,/area/outpost/research/isolation_monitoring) "pQ" = (/obj/structure/table/rack,/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored) "pR" = (/obj/item/device/radio/intercom{freerange = 1; frequency = 1459; name = "Station Intercom (General)"; pixel_x = -27},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/outpost/research/isolation_b) -"pS" = (/obj/structure/table,/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored) +"pS" = (/obj/structure/table/standard,/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored) "pT" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored) "pU" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored) "pV" = (/obj/structure/table/rack,/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored) @@ -1061,7 +1061,7 @@ "uu" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock"},/turf/simulated/floor/plating,/area/outpost/engineering/hallway) "uv" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "eoutpost_main_outer"; locked = 1; name = "Engineering Outpost"},/turf/simulated/floor,/area/outpost/engineering/hallway) "uw" = (/turf/simulated/floor,/area/outpost/engineering/storage) -"ux" = (/obj/structure/table,/obj/item/stack/sheet/plasteel{amount = 10},/obj/item/stack/sheet/wood{amount = 30},/obj/item/stack/sheet/mineral/plastic{amount = 10},/turf/simulated/floor,/area/outpost/engineering/storage) +"ux" = (/obj/structure/table/standard,/obj/item/stack/sheet/plasteel{amount = 10},/obj/item/stack/sheet/wood{amount = 30},/obj/item/stack/sheet/mineral/plastic{amount = 10},/turf/simulated/floor,/area/outpost/engineering/storage) "uy" = (/turf/simulated/wall/r_wall,/area/outpost/engineering/storage) "uz" = (/obj/structure/table/rack,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor,/area/outpost/engineering/storage) "uA" = (/turf/simulated/floor/wood,/area/outpost/engineering/meeting) @@ -1073,12 +1073,12 @@ "uG" = (/obj/machinery/vending/snack,/turf/simulated/floor/wood,/area/outpost/engineering/meeting) "uH" = (/obj/structure/flora/pottedplant{tag = "icon-plant-21"; icon_state = "plant-21"},/turf/simulated/floor/wood,/area/outpost/engineering/meeting) "uI" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/floor/carpet,/area/outpost/engineering/meeting) -"uJ" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets,/turf/simulated/floor/carpet,/area/outpost/engineering/meeting) -"uK" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/turf/simulated/floor/carpet,/area/outpost/engineering/meeting) +"uJ" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/donkpockets,/turf/simulated/floor/carpet,/area/outpost/engineering/meeting) +"uK" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/table/standard,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/turf/simulated/floor/carpet,/area/outpost/engineering/meeting) "uL" = (/turf/simulated/wall/r_wall,/area/outpost/engineering/power) "uM" = (/obj/structure/bed/chair,/turf/simulated/floor/carpet,/area/outpost/engineering/meeting) "uN" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/bed/chair,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/carpet,/area/outpost/engineering/meeting) -"uO" = (/obj/structure/table,/obj/random/tech_supply,/turf/simulated/floor/wood,/area/outpost/engineering/meeting) +"uO" = (/obj/structure/table/standard,/obj/random/tech_supply,/turf/simulated/floor/wood,/area/outpost/engineering/meeting) "uP" = (/turf/simulated/floor/carpet,/area/outpost/engineering/meeting) "uQ" = (/obj/structure/table/rack,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/item/stack/cable_coil/yellow,/obj/item/stack/cable_coil,/turf/simulated/floor,/area/outpost/engineering/storage) "uR" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor,/area/outpost/engineering/storage) @@ -1126,16 +1126,16 @@ "vH" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/obj/effect/decal/cleanable/dirt,/obj/machinery/light/small,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/sign/vacuum{pixel_y = -32},/turf/simulated/floor{icon_state = "floorgrime"},/area/outpost/mining_north) "vI" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor,/area/outpost/engineering/storage) "vJ" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Storage"; req_access = list(10)},/turf/simulated/floor,/area/outpost/engineering/storage) -"vK" = (/obj/machinery/light{dir = 8},/obj/structure/table,/obj/machinery/microwave,/turf/simulated/floor/wood,/area/outpost/engineering/meeting) +"vK" = (/obj/machinery/light{dir = 8},/obj/structure/table/standard,/obj/machinery/microwave,/turf/simulated/floor/wood,/area/outpost/engineering/meeting) "vL" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor/wood,/area/outpost/engineering/meeting) "vM" = (/turf/simulated/wall/r_wall,/area/outpost/engineering/telecomms) "vN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/structure/cable/blue{d2 = 4; icon_state = "0-4"},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 82.1472; oxygen = 21.8366; temperature = 293.15},/area/outpost/engineering/telecomms) "vO" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/cable/blue{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/bluegrid{icon_state = "dark"; name = "Server Walkway"; nitrogen = 82.1472; oxygen = 21.8366; temperature = 293.15},/area/outpost/engineering/telecomms) "vP" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 6; icon_state = "intact"; tag = "icon-intact-f (SOUTHEAST)"},/obj/machinery/light{dir = 1},/obj/structure/closet/walllocker/emerglocker/north,/turf/simulated/floor,/area/outpost/engineering/hallway) -"vQ" = (/obj/structure/table,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"},/area/mine/explored) +"vQ" = (/obj/structure/table/standard,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"},/area/mine/explored) "vR" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock"},/turf/simulated/floor/plating,/area/outpost/engineering/storage) -"vS" = (/obj/structure/table,/obj/item/weapon/storage/box/lights/mixed,/turf/simulated/floor/wood,/area/outpost/engineering/meeting) -"vT" = (/obj/structure/table,/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/turf/simulated/floor,/area/outpost/engineering/storage) +"vS" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/lights/mixed,/turf/simulated/floor/wood,/area/outpost/engineering/meeting) +"vT" = (/obj/structure/table/standard,/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/turf/simulated/floor,/area/outpost/engineering/storage) "vU" = (/obj/structure/dispenser/oxygen,/turf/simulated/floor,/area/outpost/engineering/storage) "vV" = (/obj/machinery/telecomms/relay/preset/mining,/obj/machinery/light{dir = 1},/turf/simulated/floor/bluegrid{icon_state = "dark"; name = "Server Walkway"; nitrogen = 82.1472; oxygen = 21.8366; temperature = 293.15},/area/outpost/engineering/telecomms) "vW" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/alarm{frequency = 1439; pixel_y = 22},/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 82.1472; oxygen = 21.8366; temperature = 293.15},/area/outpost/engineering/telecomms) @@ -1161,7 +1161,7 @@ "wq" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating/airless,/area/space) "wr" = (/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating/airless,/area/space) "ws" = (/obj/machinery/power/tracker,/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless,/area/space) -"wt" = (/obj/structure/table,/obj/machinery/cell_charger,/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"},/area/mine/explored) +"wt" = (/obj/structure/table/standard,/obj/machinery/cell_charger,/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"},/area/mine/explored) "wu" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/machinery/power/apc/super{dir = 1; pixel_y = 24},/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"},/area/mine/explored) "wv" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{tag = "icon-intact (SOUTHWEST)"; icon_state = "intact"; dir = 10},/turf/simulated/floor,/area/outpost/engineering/hallway) "ww" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact-f (EAST)"},/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock"},/turf/simulated/floor/plating,/area/outpost/engineering/hallway) @@ -1172,13 +1172,13 @@ "wB" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/terminal,/turf/simulated/floor,/area/outpost/engineering/power) "wC" = (/obj/structure/extinguisher_cabinet{pixel_x = 0; pixel_y = 28},/turf/simulated/floor,/area/outpost/engineering/hallway) "wD" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/machinery/power/sensor{long_range = 1; name_tag = "Asteroid Main Grid"},/turf/simulated/floor,/area/outpost/engineering/power) -"wE" = (/obj/structure/table,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/carpet,/area/outpost/engineering/meeting) -"wF" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/turf/simulated/floor/carpet,/area/outpost/engineering/meeting) +"wE" = (/obj/structure/table/standard,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/carpet,/area/outpost/engineering/meeting) +"wF" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/table/standard,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/turf/simulated/floor/carpet,/area/outpost/engineering/meeting) "wG" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/machinery/pipedispenser,/turf/simulated/floor/wood,/area/outpost/engineering/meeting) "wH" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock"},/turf/simulated/floor/plating,/area/outpost/engineering/storage) "wI" = (/obj/machinery/vending/coffee,/turf/simulated/floor/wood,/area/outpost/engineering/meeting) "wJ" = (/obj/structure/table/rack,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/item/stack/cable_coil/yellow,/obj/machinery/light{dir = 8},/turf/simulated/floor,/area/outpost/engineering/storage) -"wK" = (/obj/structure/table,/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/turf/simulated/floor,/area/outpost/engineering/storage) +"wK" = (/obj/structure/table/standard,/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/turf/simulated/floor,/area/outpost/engineering/storage) "wL" = (/obj/structure/cable/yellow,/turf/simulated/floor/plating/airless,/area/space) "wM" = (/obj/machinery/status_display{layer = 4; pixel_x = -32; pixel_y = 0},/turf/simulated/floor,/area/outpost/mining_main/east_hall) "wN" = (/turf/simulated/wall,/area/outpost/mining_main/east_hall) @@ -1195,7 +1195,7 @@ "wY" = (/obj/structure/cable/blue{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/turf/simulated/floor{icon_state = "white"},/area/outpost/mining_main/medbay) "wZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/blue{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor{icon_state = "white"},/area/outpost/mining_main/medbay) "xa" = (/obj/machinery/door/firedoor/border_only{dir = 2},/obj/effect/decal/cleanable/dirt,/obj/structure/sign/securearea{desc = "A warning sign which reads 'MOVING PARTS'."; name = "\improper MOVING PARTS"; pixel_y = -32},/turf/simulated/floor{dir = 8; icon_state = "loadingarea"},/area/outpost/mining_north) -"xb" = (/obj/item/device/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_y = 20},/obj/structure/table,/obj/random/tech_supply,/turf/simulated/floor/wood,/area/outpost/engineering/meeting) +"xb" = (/obj/item/device/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_y = 20},/obj/structure/table/standard,/obj/random/tech_supply,/turf/simulated/floor/wood,/area/outpost/engineering/meeting) "xc" = (/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/outpost/mining_main/maintenance) "xd" = (/obj/structure/cable/blue{d2 = 8; icon_state = "0-8"},/obj/structure/cable/blue{d2 = 4; icon_state = "0-4"},/obj/machinery/power/sensor{long_range = 1; name_tag = "Mining Outpost"},/turf/simulated/floor/plating,/area/outpost/mining_main/maintenance) "xe" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "eoutpost_solar_airlock"; name = "exterior access button"; pixel_x = -25; pixel_y = -25; req_access = list(10)},/turf/simulated/floor/plating/airless,/area/outpost/engineering/hallway) @@ -1217,7 +1217,7 @@ "xu" = (/obj/machinery/sleep_console,/turf/simulated/floor{icon_state = "warnwhite"; dir = 5},/area/outpost/mining_main/medbay) "xv" = (/obj/structure/ore_box,/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"},/area/mine/explored) "xw" = (/obj/machinery/sleeper,/turf/simulated/floor{icon_state = "warnwhite"; dir = 1},/area/outpost/mining_main/medbay) -"xx" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/o2{pixel_x = 2; pixel_y = 2},/obj/item/weapon/storage/firstaid/regular,/turf/simulated/floor{icon_state = "white"},/area/outpost/mining_main/medbay) +"xx" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/o2{pixel_x = 2; pixel_y = 2},/obj/item/weapon/storage/firstaid/regular,/turf/simulated/floor{icon_state = "white"},/area/outpost/mining_main/medbay) "xy" = (/obj/structure/disposaloutlet{dir = 1},/obj/structure/disposalpipe/trunk,/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored) "xz" = (/obj/machinery/power/terminal{icon_state = "term"; dir = 1},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0},/obj/machinery/light/small{dir = 8},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/plating,/area/outpost/mining_main/maintenance) "xA" = (/obj/machinery/atmospherics/valve/digital/open{dir = 4},/turf/simulated/floor/plating,/area/outpost/mining_main/maintenance) @@ -1305,7 +1305,7 @@ "ze" = (/obj/structure/disposalpipe/segment,/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/item/device/radio/intercom{freerange = 1; frequency = 1459; name = "Station Intercom (General)"; pixel_x = -27},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor,/area/outpost/mining_main/east_hall) "zf" = (/turf/simulated/wall/r_wall,/area/outpost/mining_main/east_hall) "zg" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock"},/turf/simulated/floor,/area/outpost/engineering/hallway) -"zh" = (/obj/structure/table,/obj/machinery/microwave{pixel_y = 6},/turf/simulated/floor{icon_state = "bar"},/area/outpost/mining_main/dorms) +"zh" = (/obj/structure/table/standard,/obj/machinery/microwave{pixel_y = 6},/turf/simulated/floor{icon_state = "bar"},/area/outpost/mining_main/dorms) "zi" = (/turf/simulated/wall,/area/outpost/mining_main/dorms) "zj" = (/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor{icon_state = "bar"},/area/outpost/mining_main/dorms) "zk" = (/turf/simulated/floor{icon_state = "bar"},/area/outpost/mining_main/dorms) @@ -1313,7 +1313,7 @@ "zm" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/outpost/mining_west) "zn" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/outpost/mining_west) "zo" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1379; id_tag = "eoutpost_solar_pump"},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{frequency = 1379; id_tag = "eoutpost_solar_airlock"; pixel_x = 0; pixel_y = -25; req_access = list(10); tag_airpump = "eoutpost_solar_pump"; tag_chamber_sensor = "eoutpost_solar_sensor"; tag_exterior_door = "eoutpost_solar_outer"; tag_interior_door = "eoutpost_solar_inner"},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "eoutpost_solar_sensor"; pixel_x = 0; pixel_y = 25},/obj/machinery/light/small{dir = 1},/obj/machinery/camera/network/engineering_outpost{c_tag = "Engineering Outpost Solar Access"},/turf/simulated/floor/plating,/area/outpost/engineering/hallway) -"zp" = (/obj/structure/table,/obj/machinery/microwave,/turf/simulated/floor,/area/outpost/mining_west) +"zp" = (/obj/structure/table/standard,/obj/machinery/microwave,/turf/simulated/floor,/area/outpost/mining_west) "zq" = (/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/turf/simulated/floor,/area/outpost/mining_west) "zr" = (/obj/machinery/recharge_station,/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor,/area/outpost/mining_west) "zs" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/outpost/mining_west) @@ -1321,7 +1321,7 @@ "zu" = (/obj/structure/dispenser/oxygen,/turf/simulated/floor,/area/outpost/mining_west) "zv" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor,/area/outpost/mining_west) "zw" = (/obj/structure/table/rack,/turf/simulated/floor,/area/outpost/mining_west) -"zx" = (/obj/structure/table,/obj/item/weapon/pickaxe,/turf/simulated/floor,/area/outpost/mining_west) +"zx" = (/obj/structure/table/standard,/obj/item/weapon/pickaxe,/turf/simulated/floor,/area/outpost/mining_west) "zy" = (/turf/simulated/wall,/area/outpost/mining_west) "zz" = (/obj/structure/cable{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/airless{icon_state = "asteroidwarning"; dir = 4},/area/mine/explored) "zA" = (/turf/simulated/wall,/area/outpost/mining_main/eva) @@ -1336,14 +1336,14 @@ "zJ" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/outpost/mining_main/dorms) "zK" = (/obj/machinery/door/airlock{id_tag = "miningdorm3"; name = "Room 3"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "carpet"},/area/outpost/mining_main/dorms) "zL" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/carpet,/area/outpost/mining_main/dorms) -"zM" = (/obj/structure/table,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/carpet,/area/outpost/mining_main/dorms) +"zM" = (/obj/structure/table/standard,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/carpet,/area/outpost/mining_main/dorms) "zN" = (/obj/structure/closet/secure_closet/miner,/turf/simulated/floor,/area/outpost/mining_main/west_hall) "zO" = (/obj/machinery/recharge_station,/obj/machinery/light/small{dir = 1},/turf/simulated/floor,/area/outpost/mining_main/west_hall) "zP" = (/obj/structure/ore_box,/turf/simulated/floor,/area/outpost/mining_main/west_hall) "zQ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/outpost/mining_main/west_hall) "zR" = (/obj/structure/closet/secure_closet/miner,/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor,/area/outpost/mining_main/west_hall) "zS" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/floor{icon_state = "bar"},/area/outpost/mining_main/dorms) -"zT" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/turf/simulated/floor{icon_state = "bar"},/area/outpost/mining_main/dorms) +"zT" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/turf/simulated/floor{icon_state = "bar"},/area/outpost/mining_main/dorms) "zU" = (/obj/structure/lattice,/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "mining_outpost_airlock"; name = "exterior access button"; pixel_x = -8; pixel_y = 25; req_one_access = list(13,48)},/turf/space,/area/space) "zV" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "mining_west_outpost_airlock"; name = "exterior access button"; pixel_x = -25; pixel_y = -25},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"},/area/mine/explored) "zW" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"},/area/mine/explored) @@ -1351,9 +1351,9 @@ "zY" = (/turf/simulated/floor,/area/outpost/mining_west) "zZ" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/outpost/mining_west) "Aa" = (/turf/space,/area/skipjack_station/mining) -"Ab" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets,/turf/simulated/floor,/area/outpost/mining_west) +"Ab" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/donkpockets,/turf/simulated/floor,/area/outpost/mining_west) "Ac" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor{icon_state = "floorgrime"},/area/outpost/mining_west) -"Ad" = (/obj/structure/table,/obj/item/weapon/shovel,/turf/simulated/floor,/area/outpost/mining_west) +"Ad" = (/obj/structure/table/standard,/obj/item/weapon/shovel,/turf/simulated/floor,/area/outpost/mining_west) "Ae" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"},/area/mine/explored) "Af" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/floor,/area/outpost/engineering/storage) "Ag" = (/obj/structure/table/rack,/obj/item/clothing/suit/space/void/mining,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/void/mining,/obj/item/weapon/mining_scanner,/turf/simulated/floor,/area/outpost/mining_main/eva) @@ -1364,7 +1364,7 @@ "Al" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 4},/area/mine/explored) "Am" = (/obj/machinery/light,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 9},/area/mine/explored) "An" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "bar"},/area/outpost/mining_main/dorms) -"Ao" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/turf/simulated/floor{icon_state = "bar"},/area/outpost/mining_main/dorms) +"Ao" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/turf/simulated/floor{icon_state = "bar"},/area/outpost/mining_main/dorms) "Ap" = (/obj/structure/ore_box,/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 6},/area/mine/explored) "Aq" = (/obj/machinery/light{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "bar"},/area/outpost/mining_main/dorms) "Ar" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/outpost/mining_main/dorms) @@ -1377,7 +1377,7 @@ "Ay" = (/obj/structure/table/rack,/obj/item/clothing/head/helmet/space/void/engineering,/obj/item/clothing/suit/space/void/engineering,/obj/item/clothing/shoes/magboots,/obj/item/clothing/gloves/yellow,/obj/machinery/firealarm{dir = 4; layer = 3.3; pixel_x = 26},/obj/item/weapon/storage/briefcase/inflatable,/obj/machinery/camera/network/engineering_outpost{c_tag = "Engineering Outpost Storage"; dir = 1},/turf/simulated/floor,/area/outpost/engineering/storage) "Az" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 2},/area/mine/explored) "AA" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/outpost/mining_west) -"AB" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets,/turf/simulated/floor{icon_state = "bar"},/area/outpost/mining_main/dorms) +"AB" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/donkpockets,/turf/simulated/floor{icon_state = "bar"},/area/outpost/mining_main/dorms) "AC" = (/obj/machinery/light/small{dir = 4},/obj/machinery/camera/network/engineering_outpost{c_tag = "Engineering Outpost Airlock Entry"; dir = 8},/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"},/area/mine/explored) "AD" = (/obj/structure/cable/blue{d2 = 4; icon_state = "0-4"},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/turf/simulated/floor{icon_state = "bar"},/area/outpost/mining_main/dorms) "AE" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/outpost/mining_west) @@ -1386,7 +1386,7 @@ "AH" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor,/area/outpost/mining_west) "AI" = (/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "mining_west_outpost_outer"; locked = 1; name = "Mining External Access"; req_access = list(10,13)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/outpost/mining_west) "AJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor,/area/outpost/mining_west) -"AK" = (/obj/structure/table,/obj/item/weapon/storage/backpack/satchel,/obj/item/clothing/glasses/meson,/obj/machinery/light/small{dir = 8},/turf/simulated/floor,/area/outpost/mining_west) +"AK" = (/obj/structure/table/standard,/obj/item/weapon/storage/backpack/satchel,/obj/item/clothing/glasses/meson,/obj/machinery/light/small{dir = 8},/turf/simulated/floor,/area/outpost/mining_west) "AL" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor,/area/outpost/mining_main/dorms) "AM" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/outpost/mining_main/dorms) "AN" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/cable/blue{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor,/area/outpost/mining_main/dorms) @@ -1411,21 +1411,21 @@ "Bg" = (/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "mining_west_outpost_pump"; tag_exterior_door = "mining_west_outpost_outer"; frequency = 1379; id_tag = "mining_west_outpost_airlock"; tag_interior_door = "mining_west_outpost_inner"; pixel_x = 0; pixel_y = -25; tag_chamber_sensor = "mining_west_outpost_sensor"},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1379; id_tag = "mining_west_outpost_pump"},/turf/simulated/floor,/area/outpost/mining_west) "Bh" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"},/area/mine/explored) "Bi" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor,/area/outpost/mining_west) -"Bj" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor,/area/outpost/mining_west) +"Bj" = (/obj/structure/table/standard,/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor,/area/outpost/mining_west) "Bk" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/outpost/mining_west) "Bl" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/outpost/mining_main/dorms) "Bm" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/outpost/mining_main/dorms) "Bn" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor,/area/outpost/mining_west) "Bo" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/outpost/mining_main/west_hall) "Bp" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/outpost/mining_main/west_hall) -"Bq" = (/obj/machinery/alarm{pixel_y = 24},/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/item/stack/flag/yellow,/obj/item/stack/flag/red,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor,/area/outpost/mining_main/east_hall) +"Bq" = (/obj/machinery/alarm{pixel_y = 24},/obj/structure/table/standard,/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/item/stack/flag/yellow,/obj/item/stack/flag/red,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor,/area/outpost/mining_main/east_hall) "Br" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/outpost/mining_main/eva) "Bs" = (/obj/structure/dispenser/oxygen,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor,/area/outpost/mining_main/eva) "Bt" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor,/area/outpost/mining_main/eva) "Bu" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/outpost/mining_main/eva) "Bv" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/outpost/mining_main/eva) -"Bw" = (/obj/structure/table,/obj/item/weapon/storage/belt/utility,/obj/item/weapon/pickaxe,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/outpost/mining_main/east_hall) -"Bx" = (/obj/structure/table,/obj/item/weapon/storage/backpack/satchel,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor,/area/outpost/mining_main/east_hall) +"Bw" = (/obj/structure/table/standard,/obj/item/weapon/storage/belt/utility,/obj/item/weapon/pickaxe,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/outpost/mining_main/east_hall) +"Bx" = (/obj/structure/table/standard,/obj/item/weapon/storage/backpack/satchel,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor,/area/outpost/mining_main/east_hall) "By" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/outpost/mining_main/eva) "Bz" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1379; id_tag = "eoutpost_main_pump"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/camera/network/engineering_outpost{c_tag = "Engineering Outpost Airlock"; dir = 1},/turf/simulated/floor,/area/outpost/engineering/hallway) "BA" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1379; id_tag = "mining_east_pump"},/obj/structure/closet/walllocker/emerglocker/north,/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/outpost/mining_main/eva) diff --git a/maps/exodus-6.dmm b/maps/exodus-6.dmm index df2be4562e..25a83f2dc9 100644 --- a/maps/exodus-6.dmm +++ b/maps/exodus-6.dmm @@ -1,5 +1,5 @@ "a" = (/turf/space,/area/space) - + (1,1,1) = {" aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -257,4 +257,3 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa "} - diff --git a/maps/overmap/bearcat/bearcat.dmm b/maps/overmap/bearcat/bearcat.dmm index be6541ec91..27ee41d46f 100644 --- a/maps/overmap/bearcat/bearcat.dmm +++ b/maps/overmap/bearcat/bearcat.dmm @@ -8,9 +8,9 @@ "ah" = (/obj/machinery/computer/helm,/turf/simulated/floor/bluegrid,/area/ship/scrap/command) "ai" = (/obj/machinery/computer/station_alert,/turf/simulated/floor/bluegrid,/area/ship/scrap/command) "aj" = (/obj/effect/mapinfo/ship/bearcat,/turf/space,/area) -"ak" = (/obj/structure/table,/obj/machinery/light,/obj/item/device/radio,/obj/item/device/radio/intercom{pixel_y = -32},/turf/simulated/floor{tag = "icon-gcircuit (SOUTHEAST)"; icon_state = "gcircuit"; dir = 6},/area/ship/scrap/command) +"ak" = (/obj/structure/table/standard,/obj/machinery/light,/obj/item/device/radio,/obj/item/device/radio/intercom{pixel_y = -32},/turf/simulated/floor{tag = "icon-gcircuit (SOUTHEAST)"; icon_state = "gcircuit"; dir = 6},/area/ship/scrap/command) "al" = (/obj/structure/stool/bed/chair/comfy/teal{tag = "icon-comfychair_teal (NORTH)"; icon_state = "comfychair_teal"; dir = 1},/obj/machinery/atmospherics/unary/vent_pump{dir = 2; on = 1},/obj/effect/landmark/start{name = "Captain"},/turf/simulated/floor{tag = "icon-gcircuitoff"; icon_state = "gcircuitoff"; dir = 2},/area/ship/scrap/command) -"am" = (/obj/structure/table,/obj/machinery/light,/obj/machinery/newscaster{pixel_y = -32},/obj/machinery/door_control{id = "scraplock"; name = "External Lockdown"},/turf/simulated/floor{tag = "icon-gcircuit (SOUTHEAST)"; icon_state = "gcircuit"; dir = 6},/area/ship/scrap/command) +"am" = (/obj/structure/table/standard,/obj/machinery/light,/obj/machinery/newscaster{pixel_y = -32},/obj/machinery/door_control{id = "scraplock"; name = "External Lockdown"},/turf/simulated/floor{tag = "icon-gcircuit (SOUTHEAST)"; icon_state = "gcircuit"; dir = 6},/area/ship/scrap/command) "an" = (/turf/simulated/wall/r_wall,/area/ship/scrap/command) "ao" = (/obj/machinery/door/airlock/hatch,/obj/machinery/atmospherics/pipe/simple{dir = 2; icon_state = "intact"; level = 1; tag = "icon-intact"},/turf/simulated/floor,/area/ship/scrap/command) "ap" = (/turf/simulated/wall/r_wall,/area/ship/scrap/comms) @@ -37,7 +37,7 @@ "aK" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_x = 0; pixel_y = -32; tag = "icon-alarm0 (NORTH)"},/turf/simulated/floor/bluegrid,/area/ship/scrap/comms) "aL" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/structure/window/reinforced{dir = 8},/obj/item/device/radio/intercom{pixel_y = -32},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/ship/scrap/comms) "aM" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple{dir = 2; icon_state = "intact"; level = 1; tag = "icon-intact"},/turf/simulated/floor{tag = "icon-neutralfull (EAST)"; icon_state = "neutralfull"; dir = 4},/area/ship/scrap/command) -"aN" = (/obj/machinery/light{tag = "icon-tube1 (WEST)"; icon_state = "tube1"; dir = 8},/obj/item/device/radio/intercom{pixel_x = -32},/obj/structure/table,/obj/item/weapon/gun/projectile/shotgun/pump/combat{desc = "When words don't strike hard enough."; name = "Solid Argument"},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/ship/scrap/command/captain) +"aN" = (/obj/machinery/light{tag = "icon-tube1 (WEST)"; icon_state = "tube1"; dir = 8},/obj/item/device/radio/intercom{pixel_x = -32},/obj/structure/table/standard,/obj/item/weapon/gun/projectile/shotgun/pump/combat{desc = "When words don't strike hard enough."; name = "Solid Argument"},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/ship/scrap/command/captain) "aO" = (/obj/structure/cable{tag = "icon-4-9"; icon_state = "4-9"},/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/ship/scrap/command/captain) "aP" = (/obj/structure/table/woodentable,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "Captain's Quarters APC"},/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/ship/scrap/command/captain) "aQ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple{dir = 2; icon_state = "intact"; level = 1; tag = "icon-intact"},/turf/simulated/floor{tag = "icon-neutralfull (EAST)"; icon_state = "neutralfull"; dir = 4},/area/ship/scrap/command) @@ -134,7 +134,7 @@ "cD" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/machinery/door/airlock/maintenance_hatch{name = "Hatch"; normalspeed = 0},/turf/simulated/floor{tag = "icon-floorgrime (SOUTHEAST)"; icon_state = "floorgrime"; dir = 6},/area/ship/scrap/crew/saloon) "cE" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor{tag = "icon-orange (WEST)"; icon_state = "orange"; dir = 8},/area/ship/scrap/crew/saloon) "cF" = (/obj/structure/stool,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor{tag = "icon-floorgrime (SOUTHEAST)"; icon_state = "floorgrime"; dir = 6},/area/ship/scrap/crew/saloon) -"cG" = (/obj/structure/table,/obj/machinery/atmospherics/pipe/manifold{dir = 8; icon_state = "manifold"; level = 2},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/effect/landmark{name = "Observer-Start"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/item/ashtray/glass,/turf/simulated/floor{tag = "icon-floorgrime (SOUTHEAST)"; icon_state = "floorgrime"; dir = 6},/area/ship/scrap/crew/saloon) +"cG" = (/obj/structure/table/standard,/obj/machinery/atmospherics/pipe/manifold{dir = 8; icon_state = "manifold"; level = 2},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/effect/landmark{name = "Observer-Start"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/item/ashtray/glass,/turf/simulated/floor{tag = "icon-floorgrime (SOUTHEAST)"; icon_state = "floorgrime"; dir = 6},/area/ship/scrap/crew/saloon) "cH" = (/obj/structure/stool,/obj/machinery/atmospherics/unary/vent_pump{dir = 8; level = 2; on = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor,/area/ship/scrap/crew/saloon) "cI" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor{tag = "icon-orange (EAST)"; icon_state = "orange"; dir = 4},/area/ship/scrap/crew/saloon) "cJ" = (/obj/machinery/atmospherics/pipe/manifold{dir = 8; icon_state = "manifold"; level = 2},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor{tag = "icon-floorgrime (SOUTHEAST)"; icon_state = "floorgrime"; dir = 6},/area/ship/scrap/crew) @@ -164,7 +164,7 @@ "dh" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable,/obj/machinery/power/apc{name = "Dorms APC"},/obj/machinery/light_switch{pixel_x = -25},/turf/simulated/floor,/area/ship/scrap/crew/dorms) "di" = (/obj/structure/stool/bed,/obj/structure/closet/walllocker/emerglocker/south,/obj/item/weapon/bedsheet/green,/turf/simulated/floor,/area/ship/scrap/crew/dorms) "dj" = (/obj/structure/closet/secure_closet/personal,/obj/machinery/light/small{tag = "icon-bulb1 (EAST)"; icon_state = "bulb1"; dir = 4},/turf/simulated/floor,/area/ship/scrap/crew/dorms) -"dk" = (/obj/structure/table,/obj/machinery/reagentgrinder,/turf/simulated/floor{tag = "icon-bar (SOUTHEAST)"; icon_state = "bar"; dir = 6},/area/ship/scrap/crew/kitchen) +"dk" = (/obj/structure/table/standard,/obj/machinery/reagentgrinder,/turf/simulated/floor{tag = "icon-bar (SOUTHEAST)"; icon_state = "bar"; dir = 6},/area/ship/scrap/crew/kitchen) "dl" = (/obj/machinery/processor,/obj/item/device/radio/intercom{pixel_y = 32},/turf/simulated/floor{tag = "icon-bar (SOUTHEAST)"; icon_state = "bar"; dir = 6},/area/ship/scrap/crew/kitchen) "dm" = (/obj/structure/closet/walllocker/emerglocker/north,/obj/structure/closet/secure_closet/freezer/fridge,/obj/machinery/light/small{tag = "icon-bulb1 (EAST)"; icon_state = "bulb1"; dir = 4},/turf/simulated/floor{tag = "icon-stage_bleft (SOUTHEAST)"; icon_state = "stage_bleft"; dir = 6},/area/ship/scrap/crew/kitchen) "dn" = (/obj/machinery/atmospherics/pipe/simple{tag = "icon-intact"; icon_state = "intact"; dir = 2; level = 2},/obj/structure/disposalpipe/segment,/obj/machinery/power/apc{dir = 4; name = "Crew Deck APC"},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor,/area/ship/scrap/crew) @@ -179,7 +179,7 @@ "dw" = (/turf/simulated/wall/r_wall,/area/ship/scrap/maintenance/engine) "dx" = (/turf/simulated/floor{tag = "icon-wall_thermite"; icon_state = "wall_thermite"; dir = 2},/area/ship/scrap/maintenance/engine) "dy" = (/obj/structure/window/reinforced{dir = 5; health = 1e+007},/obj/structure/grille,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "scraplock"; name = "External Blast Doors"; opacity = 0},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/simulated/floor{icon_state = "white"},/area/ship/scrap/crew/kitchen) -"dz" = (/obj/structure/table,/turf/simulated/floor{tag = "icon-bar (SOUTHEAST)"; icon_state = "bar"; dir = 6},/area/ship/scrap/crew/kitchen) +"dz" = (/obj/structure/table/standard,/turf/simulated/floor{tag = "icon-bar (SOUTHEAST)"; icon_state = "bar"; dir = 6},/area/ship/scrap/crew/kitchen) "dA" = (/obj/effect/landmark/start{name = "Chef"},/obj/structure/stool,/turf/simulated/floor{tag = "icon-bar (SOUTHEAST)"; icon_state = "bar"; dir = 6},/area/ship/scrap/crew/kitchen) "dB" = (/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/power/apc{dir = 4; name = "Galley APC"},/turf/simulated/floor{tag = "icon-stage_bleft (SOUTHEAST)"; icon_state = "stage_bleft"; dir = 6},/area/ship/scrap/crew/kitchen) "dC" = (/obj/machinery/atmospherics/pipe/simple{tag = "icon-intact"; icon_state = "intact"; dir = 2; level = 2},/obj/structure/disposalpipe/segment,/obj/machinery/light/small{tag = "icon-bulb1 (WEST)"; icon_state = "bulb1"; dir = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor{tag = "icon-floorgrime (SOUTHEAST)"; icon_state = "floorgrime"; dir = 6},/area/ship/scrap/crew) @@ -193,7 +193,7 @@ "dK" = (/obj/machinery/sleep_console,/obj/machinery/light{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/turf/simulated/floor{icon_state = "white"},/area/ship/scrap/crew/medbay) "dL" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/medical,/obj/item/device/radio/intercom{pixel_y = 32},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{icon_state = "white"},/area/ship/scrap/crew/medbay) "dM" = (/turf/simulated/floor{tag = "icon-wall_thermite (SOUTHEAST)"; icon_state = "wall_thermite"; dir = 6},/area/ship/scrap/maintenance/engine) -"dN" = (/obj/structure/table,/obj/machinery/light/small{tag = "icon-bulb1 (WEST)"; icon_state = "bulb1"; dir = 8},/obj/item/weapon/storage/box/donkpockets,/turf/simulated/floor{tag = "icon-bar (SOUTHEAST)"; icon_state = "bar"; dir = 6},/area/ship/scrap/crew/kitchen) +"dN" = (/obj/structure/table/standard,/obj/machinery/light/small{tag = "icon-bulb1 (WEST)"; icon_state = "bulb1"; dir = 8},/obj/item/weapon/storage/box/donkpockets,/turf/simulated/floor{tag = "icon-bar (SOUTHEAST)"; icon_state = "bar"; dir = 6},/area/ship/scrap/crew/kitchen) "dO" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{tag = "icon-bar (SOUTHEAST)"; icon_state = "bar"; dir = 6},/area/ship/scrap/crew/kitchen) "dP" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; layer = 2.4; level = 2; on = 1},/obj/structure/disposalpipe/segment{tag = "icon-conpipe-c (EAST)"; icon_state = "conpipe-c"; dir = 4},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor{tag = "icon-stage_bleft (SOUTHEAST)"; icon_state = "stage_bleft"; dir = 6},/area/ship/scrap/crew/kitchen) "dQ" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact"; level = 2; tag = "icon-intact"},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/machinery/door/airlock/maintenance_hatch{name = "Hatch"; normalspeed = 0},/turf/simulated/floor,/area/ship/scrap/crew/kitchen) @@ -215,15 +215,15 @@ "eg" = (/obj/machinery/light/small{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"; tag = "icon-warnplate (NORTH)"},/area/ship/scrap/maintenance/engine) "eh" = (/obj/machinery/door/airlock/maintenance_hatch{name = "Hatch"; normalspeed = 0},/turf/simulated/floor/plating,/area/ship/scrap/maintenance/engine) "ei" = (/turf/simulated/floor{tag = "icon-platingdmg1"; icon_state = "platingdmg1"; dir = 2},/area) -"ej" = (/obj/structure/table,/obj/machinery/microwave,/obj/machinery/light/small{tag = "icon-bulb1 (WEST)"; icon_state = "bulb1"; dir = 8},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -24; tag = "icon-alarm0 (EAST)"},/turf/simulated/floor{tag = "icon-bar (SOUTHEAST)"; icon_state = "bar"; dir = 6},/area/ship/scrap/crew/kitchen) +"ej" = (/obj/structure/table/standard,/obj/machinery/microwave,/obj/machinery/light/small{tag = "icon-bulb1 (WEST)"; icon_state = "bulb1"; dir = 8},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -24; tag = "icon-alarm0 (EAST)"},/turf/simulated/floor{tag = "icon-bar (SOUTHEAST)"; icon_state = "bar"; dir = 6},/area/ship/scrap/crew/kitchen) "ek" = (/obj/structure/closet/secure_closet/freezer/meat,/turf/simulated/floor{tag = "icon-bar (SOUTHEAST)"; icon_state = "bar"; dir = 6},/area/ship/scrap/crew/kitchen) "el" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{tag = "icon-pipe-t (NORTH)"; icon_state = "pipe-t"; dir = 1},/obj/machinery/light_switch{pixel_x = 28},/turf/simulated/floor{tag = "icon-stage_bleft (SOUTHEAST)"; icon_state = "stage_bleft"; dir = 6},/area/ship/scrap/crew/kitchen) "em" = (/obj/machinery/atmospherics/pipe/simple{tag = "icon-intact"; icon_state = "intact"; dir = 2; level = 2},/obj/structure/disposalpipe/segment,/turf/simulated/floor{tag = "icon-floorgrime (SOUTHEAST)"; icon_state = "floorgrime"; dir = 6},/area/ship/scrap/crew) "en" = (/obj/machinery/light/small{tag = "icon-bulb1 (WEST)"; icon_state = "bulb1"; dir = 8},/obj/machinery/light_switch{pixel_x = -25},/turf/simulated/floor{tag = "icon-bot"; icon_state = "bot"; dir = 2},/area/ship/scrap/cargo) "eo" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable,/obj/machinery/power/apc{dir = 4; name = "Cargo Hold APC"},/turf/simulated/floor{tag = "icon-bot"; icon_state = "bot"; dir = 2},/area/ship/scrap/cargo) -"ep" = (/obj/structure/table,/obj/item/weapon/storage/pill_bottle/kelotane,/obj/item/weapon/storage/box/syringes,/obj/structure/cable,/obj/machinery/power/apc{name = "Medical Bay APC"},/obj/machinery/light_switch{pixel_x = -25},/turf/simulated/floor{icon_state = "white"},/area/ship/scrap/crew/medbay) -"eq" = (/obj/structure/table,/obj/item/weapon/storage/pill_bottle/antitox,/obj/item/weapon/storage/pill_bottle/kelotane,/obj/item/clothing/tie/stethoscope,/turf/simulated/floor{icon_state = "white"},/area/ship/scrap/crew/medbay) -"er" = (/obj/structure/table,/obj/item/weapon/storage/firstaid,/obj/item/device/healthanalyzer,/turf/simulated/floor{icon_state = "white"},/area/ship/scrap/crew/medbay) +"ep" = (/obj/structure/table/standard,/obj/item/weapon/storage/pill_bottle/kelotane,/obj/item/weapon/storage/box/syringes,/obj/structure/cable,/obj/machinery/power/apc{name = "Medical Bay APC"},/obj/machinery/light_switch{pixel_x = -25},/turf/simulated/floor{icon_state = "white"},/area/ship/scrap/crew/medbay) +"eq" = (/obj/structure/table/standard,/obj/item/weapon/storage/pill_bottle/antitox,/obj/item/weapon/storage/pill_bottle/kelotane,/obj/item/clothing/tie/stethoscope,/turf/simulated/floor{icon_state = "white"},/area/ship/scrap/crew/medbay) +"er" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid,/obj/item/device/healthanalyzer,/turf/simulated/floor{icon_state = "white"},/area/ship/scrap/crew/medbay) "es" = (/obj/item/device/radio,/turf/simulated/floor/plating,/area) "et" = (/obj/machinery/light/small{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/obj/item/weapon/coin/gold,/obj/item/weapon/coin/silver,/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"; tag = "icon-warnplate (NORTH)"},/area/ship/scrap/maintenance/engine) "eu" = (/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"; tag = "icon-warnplate (NORTH)"},/area/ship/scrap/maintenance/engine) @@ -263,25 +263,25 @@ "fc" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1; pressure_checks = 0},/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/ship/scrap/crew/wash) "fd" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{tag = "icon-pipe-t (NORTH)"; icon_state = "pipe-t"; dir = 1},/obj/machinery/light_switch{pixel_x = 28},/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/ship/scrap/crew/wash) "fe" = (/obj/machinery/light/small{tag = "icon-bulb1 (WEST)"; icon_state = "bulb1"; dir = 8},/obj/machinery/atmospherics/pipe/simple{tag = "icon-intact"; icon_state = "intact"; dir = 2; level = 2},/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{tag = "icon-stage_stairs (SOUTHEAST)"; icon_state = "stage_stairs"; dir = 6},/area/ship/scrap/crew) -"ff" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/electrical,/obj/item/weapon/storage/toolbox/electrical{pixel_x = 7; pixel_y = 4},/obj/item/device/t_scanner,/obj/item/weapon/cell/high,/obj/machinery/light_switch{pixel_y = 25},/turf/simulated/floor{tag = "icon-orange (WEST)"; icon_state = "orange"; dir = 8},/area/ship/scrap/maintenance/storage) +"ff" = (/obj/structure/table/standard,/obj/item/weapon/storage/toolbox/electrical,/obj/item/weapon/storage/toolbox/electrical{pixel_x = 7; pixel_y = 4},/obj/item/device/t_scanner,/obj/item/weapon/cell/high,/obj/machinery/light_switch{pixel_y = 25},/turf/simulated/floor{tag = "icon-orange (WEST)"; icon_state = "orange"; dir = 8},/area/ship/scrap/maintenance/storage) "fg" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/light/small{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/obj/item/device/radio/intercom{pixel_y = 32},/obj/machinery/vending/tool,/turf/simulated/floor,/area/ship/scrap/maintenance/storage) "fh" = (/obj/machinery/atmospherics/pipe/simple{tag = "icon-intact"; icon_state = "intact"; dir = 2; level = 2},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{tag = "icon-stage_stairs (SOUTHEAST)"; icon_state = "stage_stairs"; dir = 6},/area/ship/scrap/maintenance/storage) -"fi" = (/obj/structure/window/reinforced{dir = 8},/obj/item/stack/rods,/obj/item/stack/rods,/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/structure/table,/turf/simulated/floor,/area/ship/scrap/maintenance/storage) -"fj" = (/obj/structure/table,/obj/item/weapon/tank/jetpack/oxygen,/obj/item/clothing/suit/space/rig,/obj/item/clothing/shoes/magboots,/obj/item/clothing/head/helmet/space/rig,/obj/item/clothing/mask/breath,/turf/simulated/floor{tag = "icon-orange (EAST)"; icon_state = "orange"; dir = 4},/area/ship/scrap/maintenance/storage) +"fi" = (/obj/structure/window/reinforced{dir = 8},/obj/item/stack/rods,/obj/item/stack/rods,/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/structure/table/standard,/turf/simulated/floor,/area/ship/scrap/maintenance/storage) +"fj" = (/obj/structure/table/standard,/obj/item/weapon/tank/jetpack/oxygen,/obj/item/clothing/suit/space/rig,/obj/item/clothing/shoes/magboots,/obj/item/clothing/head/helmet/space/rig,/obj/item/clothing/mask/breath,/turf/simulated/floor{tag = "icon-orange (EAST)"; icon_state = "orange"; dir = 4},/area/ship/scrap/maintenance/storage) "fk" = (/obj/structure/closet/walllocker/emerglocker/west,/obj/machinery/atmospherics/pipe/simple{tag = "icon-intact"; icon_state = "intact"; dir = 2; level = 2},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{tag = "icon-stage_stairs (SOUTHEAST)"; icon_state = "stage_stairs"; dir = 6},/area/ship/scrap/crew) "fl" = (/obj/effect/decal/cleanable/generic,/obj/item/device/flashlight,/turf/simulated/floor/plating,/area/ship/scrap/unused2) "fm" = (/turf/simulated/floor/plating,/area/ship/scrap/unused2) "fn" = (/obj/structure/grille,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "scraplock"; name = "External Blast Doors"; opacity = 0},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/simulated/floor{icon_state = "white"},/area/ship/scrap/unused2) "fo" = (/turf/simulated/floor{tag = "icon-platingdmg3"; icon_state = "platingdmg3"; dir = 2},/area) "fp" = (/obj/machinery/washing_machine,/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/ship/scrap/crew/wash) -"fq" = (/obj/structure/table,/obj/machinery/light/small,/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/ship/scrap/crew/wash) +"fq" = (/obj/structure/table/standard,/obj/machinery/light/small,/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/ship/scrap/crew/wash) "fr" = (/turf/simulated/floor{tag = "icon-wall_thermite"; icon_state = "wall_thermite"; dir = 2},/area/ship/scrap/crew/wash) "fs" = (/obj/structure/closet/walllocker/emerglocker/east,/obj/machinery/atmospherics/pipe/simple{tag = "icon-intact"; icon_state = "intact"; dir = 2; level = 2},/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{tag = "icon-floorgrime (SOUTHEAST)"; icon_state = "floorgrime"; dir = 6},/area/ship/scrap/crew) -"ft" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical{pixel_x = 5; pixel_y = -7},/obj/item/weapon/storage/toolbox/mechanical,/obj/item/clothing/head/welding,/obj/item/device/analyzer,/turf/simulated/floor{tag = "icon-orange (WEST)"; icon_state = "orange"; dir = 8},/area/ship/scrap/maintenance/storage) +"ft" = (/obj/structure/table/standard,/obj/item/weapon/storage/toolbox/mechanical{pixel_x = 5; pixel_y = -7},/obj/item/weapon/storage/toolbox/mechanical,/obj/item/clothing/head/welding,/obj/item/device/analyzer,/turf/simulated/floor{tag = "icon-orange (WEST)"; icon_state = "orange"; dir = 8},/area/ship/scrap/maintenance/storage) "fu" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/stool,/turf/simulated/floor{tag = "icon-floorgrime (SOUTHEAST)"; icon_state = "floorgrime"; dir = 6},/area/ship/scrap/maintenance/storage) "fv" = (/obj/machinery/atmospherics/pipe/manifold{dir = 8; icon_state = "manifold"; level = 2},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/ship/scrap/maintenance/storage) "fw" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; level = 2; on = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor{tag = "icon-floorgrime (SOUTHEAST)"; icon_state = "floorgrime"; dir = 6},/area/ship/scrap/maintenance/storage) -"fx" = (/obj/structure/table,/obj/item/weapon/tank/jetpack/oxygen,/obj/item/clothing/suit/space/rig,/obj/item/clothing/shoes/magboots,/obj/item/clothing/head/helmet/space/rig,/obj/item/clothing/mask/breath,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{tag = "icon-orange (EAST)"; icon_state = "orange"; dir = 4},/area/ship/scrap/maintenance/storage) +"fx" = (/obj/structure/table/standard,/obj/item/weapon/tank/jetpack/oxygen,/obj/item/clothing/suit/space/rig,/obj/item/clothing/shoes/magboots,/obj/item/clothing/head/helmet/space/rig,/obj/item/clothing/mask/breath,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{tag = "icon-orange (EAST)"; icon_state = "orange"; dir = 4},/area/ship/scrap/maintenance/storage) "fy" = (/obj/machinery/light/small{tag = "icon-bulb1 (EAST)"; icon_state = "bulb1"; dir = 4},/obj/machinery/atmospherics/pipe/simple{tag = "icon-intact"; icon_state = "intact"; dir = 2; level = 2},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/ship/scrap/crew) "fz" = (/turf/simulated/floor{tag = "icon-wall_thermite"; icon_state = "wall_thermite"; dir = 2},/area/ship/scrap/unused2) "fA" = (/turf/simulated/wall/r_wall,/area/ship/scrap/unused1) @@ -301,8 +301,8 @@ "fO" = (/obj/machinery/alarm{pixel_y = 25},/obj/machinery/light/small{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/turf/simulated/floor{tag = "icon-floorgrime (SOUTHEAST)"; icon_state = "floorgrime"; dir = 6},/area/ship/scrap/unused1) "fP" = (/obj/structure/closet/walllocker/emerglocker/east,/obj/structure/reagent_dispensers,/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor{tag = "icon-floorgrime (SOUTHEAST)"; icon_state = "floorgrime"; dir = 6},/area/ship/scrap/unused1) "fQ" = (/obj/machinery/atmospherics/pipe/simple{tag = "icon-intact"; icon_state = "intact"; dir = 2; level = 2},/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/door/airlock/maintenance_hatch{name = "Hatch"; normalspeed = 0},/turf/simulated/floor{tag = "icon-floorgrime (SOUTHEAST)"; icon_state = "floorgrime"; dir = 6},/area/ship/scrap/maintenance) -"fR" = (/obj/structure/table,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/item/weapon/storage/box/lights/bulbs,/obj/item/weapon/storage/box/lights/mixed,/obj/structure/cable,/obj/machinery/power/apc{name = "Tools Storage APC"},/turf/simulated/floor{tag = "icon-orange (WEST)"; icon_state = "orange"; dir = 8},/area/ship/scrap/maintenance/storage) -"fS" = (/obj/structure/table,/obj/item/clothing/head/welding,/obj/item/device/radio,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor,/area/ship/scrap/maintenance/storage) +"fR" = (/obj/structure/table/standard,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/item/weapon/storage/box/lights/bulbs,/obj/item/weapon/storage/box/lights/mixed,/obj/structure/cable,/obj/machinery/power/apc{name = "Tools Storage APC"},/turf/simulated/floor{tag = "icon-orange (WEST)"; icon_state = "orange"; dir = 8},/area/ship/scrap/maintenance/storage) +"fS" = (/obj/structure/table/standard,/obj/item/clothing/head/welding,/obj/item/device/radio,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor,/area/ship/scrap/maintenance/storage) "fT" = (/obj/machinery/atmospherics/pipe/simple{tag = "icon-intact"; icon_state = "intact"; dir = 2; level = 2},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{tag = "icon-floorgrime (SOUTHEAST)"; icon_state = "floorgrime"; dir = 6},/area/ship/scrap/maintenance/storage) "fU" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/light/small,/obj/effect/decal/cleanable/dirt,/obj/structure/dispenser/oxygen,/turf/simulated/floor{tag = "icon-floorgrime (SOUTHEAST)"; icon_state = "floorgrime"; dir = 6},/area/ship/scrap/maintenance/storage) "fV" = (/obj/machinery/recharge_station,/turf/simulated/floor{tag = "icon-orange (EAST)"; icon_state = "orange"; dir = 4},/area/ship/scrap/maintenance/storage) @@ -343,11 +343,11 @@ "gE" = (/obj/machinery/light/small{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/alarm{pixel_y = 32},/obj/structure/closet/secure_closet/engineering_electrical,/turf/simulated/floor{tag = "icon-bot"; icon_state = "bot"; dir = 2},/area/ship/scrap/maintenance) "gF" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/item/device/radio/intercom{pixel_y = 32},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/closet/toolcloset,/turf/simulated/floor{tag = "icon-bot"; icon_state = "bot"; dir = 2},/area/ship/scrap/maintenance) "gG" = (/obj/machinery/atmospherics/pipe/simple{tag = "icon-intact"; icon_state = "intact"; dir = 2; level = 2},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{tag = "icon-floorgrime (SOUTHEAST)"; icon_state = "floorgrime"; dir = 6},/area/ship/scrap/maintenance) -"gH" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/light_switch{pixel_y = 25},/obj/structure/table,/obj/item/ashtray/plastic,/turf/simulated/floor{tag = "icon-floorgrime (SOUTHEAST)"; icon_state = "floorgrime"; dir = 6},/area/ship/scrap/maintenance) +"gH" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/light_switch{pixel_y = 25},/obj/structure/table/standard,/obj/item/ashtray/plastic,/turf/simulated/floor{tag = "icon-floorgrime (SOUTHEAST)"; icon_state = "floorgrime"; dir = 6},/area/ship/scrap/maintenance) "gI" = (/obj/structure/stool/bed/chair/comfy/brown,/obj/effect/landmark/start{name = "Chief Engineer"},/turf/simulated/floor{tag = "icon-floorgrime (SOUTHEAST)"; icon_state = "floorgrime"; dir = 6},/area/ship/scrap/maintenance) "gJ" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/obj/machinery/light/small{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/turf/simulated/floor{tag = "icon-floorgrime (SOUTHEAST)"; icon_state = "floorgrime"; dir = 6},/area/ship/scrap/maintenance) "gK" = (/obj/machinery/power/port_gen/pacman/super,/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/power/apc{dir = 1; name = "Power APC"},/turf/simulated/floor/plating,/area/ship/scrap/maintenance/power) -"gL" = (/obj/structure/table,/obj/item/device/flashlight,/obj/item/weapon/storage/toolbox/electrical{pixel_x = 7; pixel_y = 4},/obj/machinery/light_switch{pixel_y = 25},/turf/simulated/floor/plating,/area/ship/scrap/maintenance/power) +"gL" = (/obj/structure/table/standard,/obj/item/device/flashlight,/obj/item/weapon/storage/toolbox/electrical{pixel_x = 7; pixel_y = 4},/obj/machinery/light_switch{pixel_y = 25},/turf/simulated/floor/plating,/area/ship/scrap/maintenance/power) "gM" = (/obj/structure/closet/crate,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/item/stack/sheet/mineral/uranium{amount = 50},/turf/simulated/floor/plating,/area/ship/scrap/maintenance/power) "gN" = (/obj/structure/window/reinforced{dir = 5; health = 1e+007},/obj/structure/grille,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "scraplock"; name = "External Blast Doors"; opacity = 0},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/simulated/floor{icon_state = "white"},/area/ship/scrap/maintenance/atmos) "gO" = (/obj/machinery/atmospherics/pipe/simple{dir = 5; icon_state = "intact"; level = 2},/obj/machinery/meter,/turf/simulated/floor/plating,/area/ship/scrap/maintenance/atmos) diff --git a/maps/overmap/example_sector1.dmm b/maps/overmap/example_sector1.dmm index 55e125eaf4..ec4ff9bf07 100644 --- a/maps/overmap/example_sector1.dmm +++ b/maps/overmap/example_sector1.dmm @@ -27,9 +27,9 @@ "aA" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/tank/air{dir = 8},/turf/simulated/floor/plating,/area/turret_protected/tcomsat) "aB" = (/obj/structure/lattice,/obj/structure/window/reinforced{dir = 8},/turf/space,/area/turret_protected/tcomsat) "aC" = (/obj/structure/filingcabinet,/turf/simulated/floor,/area/tcommsat/computer) -"aD" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 140; on = 1; pressure_checks = 0},/obj/machinery/camera{c_tag = "Main Computer Room"; dir = 2; network = list("Tcomsat")},/obj/structure/table,/obj/item/weapon/folder/yellow,/obj/item/weapon/folder/yellow,/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/tcommsat/computer) -"aE" = (/obj/structure/table,/obj/item/weapon/paper_bin,/obj/item/weapon/pen/blue{pixel_x = -3; pixel_y = 2},/turf/simulated/floor,/area/tcommsat/computer) -"aF" = (/obj/structure/table,/obj/item/device/flashlight/lamp,/turf/simulated/floor,/area/tcommsat/computer) +"aD" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 140; on = 1; pressure_checks = 0},/obj/machinery/camera{c_tag = "Main Computer Room"; dir = 2; network = list("Tcomsat")},/obj/structure/table/standard,/obj/item/weapon/folder/yellow,/obj/item/weapon/folder/yellow,/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/tcommsat/computer) +"aE" = (/obj/structure/table/standard,/obj/item/weapon/paper_bin,/obj/item/weapon/pen/blue{pixel_x = -3; pixel_y = 2},/turf/simulated/floor,/area/tcommsat/computer) +"aF" = (/obj/structure/table/standard,/obj/item/device/flashlight/lamp,/turf/simulated/floor,/area/tcommsat/computer) "aG" = (/obj/item/weapon/syntiflesh{name = "Cuban Pete-Meat"},/turf/simulated/floor/engine,/area/tcommsat/computer) "aH" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_x = -29; pixel_y = 0},/turf/simulated/floor,/area/tcommsat/computer) "aI" = (/obj/structure/window/reinforced{dir = 4},/turf/space,/area/turret_protected/tcomsat) @@ -58,7 +58,7 @@ "bf" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; layer = 2.4; on = 1},/turf/simulated/floor,/area/tcommsat/computer) "bg" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor,/area/tcommsat/computer) "bh" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor,/area/tcommsat/computer) -"bi" = (/obj/structure/table,/obj/item/weapon/storage/fancy/cigarettes,/turf/simulated/floor,/area/tcommsat/computer) +"bi" = (/obj/structure/table/standard,/obj/item/weapon/storage/fancy/cigarettes,/turf/simulated/floor,/area/tcommsat/computer) "bj" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor,/area/tcommsat/computer) "bk" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/turret_protected/tcomsat) "bl" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/turret_protected/tcomsat) @@ -84,7 +84,7 @@ "bF" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/space,/area/turret_protected/tcomsat) "bG" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/lattice,/obj/machinery/light,/turf/space,/area/turret_protected/tcomsat) "bH" = (/obj/structure/window/reinforced{dir = 1},/turf/space,/area/turret_protected/tcomsat) -"bI" = (/obj/machinery/light{dir = 8},/obj/structure/table,/obj/item/device/multitool,/obj/structure/sign/electricshock{pixel_x = -32},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor,/area/tcommsat/computer) +"bI" = (/obj/machinery/light{dir = 8},/obj/structure/table/standard,/obj/item/device/multitool,/obj/structure/sign/electricshock{pixel_x = -32},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor,/area/tcommsat/computer) "bJ" = (/obj/machinery/atmospherics/unary/cold_sink/freezer{current_temperature = 80; dir = 1; on = 1},/turf/simulated/floor,/area/tcommsat/computer) "bK" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/tcommsat/computer) "bL" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor,/area/tcommsat/computer) @@ -128,7 +128,7 @@ "cx" = (/obj/machinery/telecomms/server/presets/common,/turf/simulated/floor{dir = 4; icon_state = "vault"; name = "Mainframe floor"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) "cy" = (/obj/machinery/telecomms/server/presets/engineering,/turf/simulated/floor{dir = 4; icon_state = "vault"; name = "Mainframe floor"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) "cz" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/turret_protected/tcomsat) -"cA" = (/obj/structure/table,/obj/item/weapon/stock_parts/micro_laser,/obj/item/weapon/stock_parts/manipulator,/obj/item/weapon/stock_parts/manipulator,/obj/item/weapon/stock_parts/manipulator,/obj/item/weapon/stock_parts/manipulator,/obj/item/weapon/stock_parts/capacitor,/obj/item/weapon/stock_parts/micro_laser/high,/obj/item/weapon/stock_parts/micro_laser/high,/obj/item/weapon/stock_parts/micro_laser/high,/obj/item/weapon/stock_parts/micro_laser/high,/turf/simulated/floor,/area/turret_protected/tcomsat) +"cA" = (/obj/structure/table/standard,/obj/item/weapon/stock_parts/micro_laser,/obj/item/weapon/stock_parts/manipulator,/obj/item/weapon/stock_parts/manipulator,/obj/item/weapon/stock_parts/manipulator,/obj/item/weapon/stock_parts/manipulator,/obj/item/weapon/stock_parts/capacitor,/obj/item/weapon/stock_parts/micro_laser/high,/obj/item/weapon/stock_parts/micro_laser/high,/obj/item/weapon/stock_parts/micro_laser/high,/obj/item/weapon/stock_parts/micro_laser/high,/turf/simulated/floor,/area/turret_protected/tcomsat) "cB" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/obj/machinery/camera{c_tag = "Telecoms Storage"; network = list("Tcomsat")},/turf/simulated/floor,/area/turret_protected/tcomsat) "cC" = (/obj/structure/rack,/obj/item/weapon/circuitboard/telecomms/processor,/obj/item/weapon/circuitboard/telecomms/processor,/obj/item/weapon/circuitboard/telecomms/receiver,/obj/item/weapon/circuitboard/telecomms/server,/obj/item/weapon/circuitboard/telecomms/server,/obj/item/weapon/circuitboard/telecomms/bus,/obj/item/weapon/circuitboard/telecomms/bus,/obj/item/weapon/circuitboard/telecomms/broadcaster,/turf/simulated/floor,/area/turret_protected/tcomsat) "cD" = (/obj/machinery/camera{c_tag = "West Solars"; dir = 8; network = list("Tcomsat")},/turf/space,/area) @@ -140,9 +140,9 @@ "cJ" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/turret_protected/tcomsat) "cK" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/space,/area/turret_protected/tcomsat) "cL" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/turret_protected/tcomsat) -"cM" = (/obj/structure/table,/obj/item/weapon/stock_parts/subspace/treatment,/obj/item/weapon/stock_parts/subspace/treatment,/obj/item/weapon/stock_parts/subspace/treatment,/turf/simulated/floor,/area/turret_protected/tcomsat) +"cM" = (/obj/structure/table/standard,/obj/item/weapon/stock_parts/subspace/treatment,/obj/item/weapon/stock_parts/subspace/treatment,/obj/item/weapon/stock_parts/subspace/treatment,/turf/simulated/floor,/area/turret_protected/tcomsat) "cN" = (/turf/simulated/floor,/area/turret_protected/tcomsat) -"cO" = (/obj/structure/table,/obj/item/weapon/stock_parts/subspace/analyzer,/obj/item/weapon/stock_parts/subspace/analyzer,/obj/item/weapon/stock_parts/subspace/analyzer,/turf/simulated/floor,/area/turret_protected/tcomsat) +"cO" = (/obj/structure/table/standard,/obj/item/weapon/stock_parts/subspace/analyzer,/obj/item/weapon/stock_parts/subspace/analyzer,/obj/item/weapon/stock_parts/subspace/analyzer,/turf/simulated/floor,/area/turret_protected/tcomsat) "cP" = (/turf/simulated/floor/plating,/area) "cQ" = (/obj/structure/lattice,/obj/structure/window/reinforced{dir = 8},/obj/machinery/light{dir = 4},/turf/space,/area/turret_protected/tcomsat) "cR" = (/obj/structure/sign/nosmoking_2{pixel_x = -32; pixel_y = 0},/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) @@ -158,7 +158,7 @@ "db" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/turret_protected/tcomsat) "dc" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/turret_protected/tcomsat) "dd" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/door/airlock/maintenance_hatch{name = "Telecoms Storage"; req_access_txt = "61"},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/turret_protected/tcomsat) -"de" = (/obj/structure/table,/obj/item/weapon/stock_parts/subspace/amplifier,/obj/item/weapon/stock_parts/subspace/amplifier,/obj/item/weapon/stock_parts/subspace/amplifier,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_x = 29; pixel_y = 0},/obj/machinery/light/small{dir = 4},/turf/simulated/floor,/area/turret_protected/tcomsat) +"de" = (/obj/structure/table/standard,/obj/item/weapon/stock_parts/subspace/amplifier,/obj/item/weapon/stock_parts/subspace/amplifier,/obj/item/weapon/stock_parts/subspace/amplifier,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_x = 29; pixel_y = 0},/obj/machinery/light/small{dir = 4},/turf/simulated/floor,/area/turret_protected/tcomsat) "df" = (/obj/machinery/telecomms/bus/preset_one,/turf/simulated/floor{dir = 1; icon_state = "vault"; name = "Mainframe floor"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) "dg" = (/obj/machinery/telecomms/processor/preset_one,/turf/simulated/floor{dir = 1; icon_state = "vault"; name = "Mainframe floor"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) "dh" = (/obj/machinery/telecomms/receiver/preset_left,/turf/simulated/floor{dir = 1; icon_state = "vault"; name = "Mainframe floor"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) @@ -168,11 +168,11 @@ "dl" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/space,/area/turret_protected/tcomsat) "dm" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/turret_protected/tcomsat) "dn" = (/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor,/area/turret_protected/tcomsat) -"do" = (/obj/structure/table,/obj/item/weapon/stock_parts/subspace/ansible,/obj/item/weapon/stock_parts/subspace/ansible,/obj/item/weapon/stock_parts/subspace/ansible,/turf/simulated/floor,/area/turret_protected/tcomsat) +"do" = (/obj/structure/table/standard,/obj/item/weapon/stock_parts/subspace/ansible,/obj/item/weapon/stock_parts/subspace/ansible,/obj/item/weapon/stock_parts/subspace/ansible,/turf/simulated/floor,/area/turret_protected/tcomsat) "dp" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/turret_protected/tcomsat) -"dq" = (/obj/structure/table,/obj/item/weapon/stock_parts/subspace/transmitter,/obj/item/weapon/stock_parts/subspace/transmitter,/turf/simulated/floor,/area/turret_protected/tcomsat) -"dr" = (/obj/structure/table,/obj/item/weapon/stock_parts/subspace/filter,/obj/item/weapon/stock_parts/subspace/filter,/obj/item/weapon/stock_parts/subspace/filter,/obj/item/weapon/stock_parts/subspace/filter,/obj/item/weapon/stock_parts/subspace/filter,/turf/simulated/floor,/area/turret_protected/tcomsat) -"ds" = (/obj/structure/table,/obj/item/weapon/stock_parts/subspace/crystal,/obj/item/weapon/stock_parts/subspace/crystal,/obj/item/weapon/stock_parts/subspace/crystal,/turf/simulated/floor,/area/turret_protected/tcomsat) +"dq" = (/obj/structure/table/standard,/obj/item/weapon/stock_parts/subspace/transmitter,/obj/item/weapon/stock_parts/subspace/transmitter,/turf/simulated/floor,/area/turret_protected/tcomsat) +"dr" = (/obj/structure/table/standard,/obj/item/weapon/stock_parts/subspace/filter,/obj/item/weapon/stock_parts/subspace/filter,/obj/item/weapon/stock_parts/subspace/filter,/obj/item/weapon/stock_parts/subspace/filter,/obj/item/weapon/stock_parts/subspace/filter,/turf/simulated/floor,/area/turret_protected/tcomsat) +"ds" = (/obj/structure/table/standard,/obj/item/weapon/stock_parts/subspace/crystal,/obj/item/weapon/stock_parts/subspace/crystal,/obj/item/weapon/stock_parts/subspace/crystal,/turf/simulated/floor,/area/turret_protected/tcomsat) "dt" = (/obj/machinery/telecomms/server/presets/science,/turf/simulated/floor{dir = 1; icon_state = "vault"; name = "Mainframe floor"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) "du" = (/obj/machinery/telecomms/server/presets/medical,/turf/simulated/floor{dir = 1; icon_state = "vault"; name = "Mainframe floor"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) "dv" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/turf/simulated/floor/bluegrid{icon_state = "dark"; name = "Mainframe Floor"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) diff --git a/maps/overmap/example_sector2.dmm b/maps/overmap/example_sector2.dmm index 48fa14cd97..9b71bc687d 100644 --- a/maps/overmap/example_sector2.dmm +++ b/maps/overmap/example_sector2.dmm @@ -42,8 +42,8 @@ "aP" = (/obj/item/weapon/shard,/obj/item/stack/rods,/turf/simulated/floor/plating/airless,/area/mine/abandoned) "aQ" = (/turf/simulated/floor/plating/airless,/area/mine/abandoned) "aR" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless,/area/mine/abandoned) -"aS" = (/obj/structure/table,/turf/simulated/floor/airless{icon_state = "floorscorched2"},/area/mine/abandoned) -"aT" = (/obj/structure/table,/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/mine/abandoned) +"aS" = (/obj/structure/table/standard,/turf/simulated/floor/airless{icon_state = "floorscorched2"},/area/mine/abandoned) +"aT" = (/obj/structure/table/standard,/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/mine/abandoned) "aU" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/mine/abandoned) "aV" = (/obj/effect/alien/weeds{icon_state = "weeds"},/turf/simulated/floor,/area/mine/abandoned) "aW" = (/obj/effect/alien/weeds,/turf/simulated/floor/plating,/area/mine/abandoned) @@ -78,7 +78,7 @@ "bz" = (/turf/simulated/floor/airless,/area/mine/abandoned) "bA" = (/obj/effect/alien/weeds,/turf/simulated/floor,/area/mine/abandoned) "bB" = (/obj/effect/decal/remains/xeno,/turf/simulated/floor/airless{icon_state = "damaged3"},/area/mine/abandoned) -"bC" = (/obj/structure/table,/turf/simulated/floor,/area/mine/abandoned) +"bC" = (/obj/structure/table/standard,/turf/simulated/floor,/area/mine/abandoned) "bD" = (/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/abandoned) "bE" = (/obj/structure/rack,/turf/simulated/floor,/area/mine/abandoned) "bF" = (/obj/effect/alien/weeds,/turf/simulated/floor/airless{icon_state = "damaged2"},/area/mine/abandoned) @@ -86,13 +86,13 @@ "bH" = (/obj/effect/alien/weeds,/turf/simulated/floor/plating/airless,/area/mine/abandoned) "bI" = (/obj/effect/alien/weeds,/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/mine/abandoned) "bJ" = (/obj/item/clothing/mask/facehugger{icon_state = "facehugger_dead"; stat = 2},/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/mine/abandoned) -"bK" = (/obj/structure/table,/turf/simulated/floor/airless,/area/mine/abandoned) +"bK" = (/obj/structure/table/standard,/turf/simulated/floor/airless,/area/mine/abandoned) "bL" = (/obj/effect/alien/weeds{icon_state = "weeds"},/turf/simulated/floor/airless{icon_state = "damaged5"},/area/mine/abandoned) "bM" = (/obj/item/weapon/shard,/turf/simulated/floor/airless{icon_state = "floorscorched2"},/area/mine/abandoned) "bN" = (/obj/item/weapon/shard{icon_state = "small"},/turf/simulated/floor/airless,/area/mine/abandoned) "bO" = (/obj/effect/alien/weeds,/turf/simulated/floor/airless{icon_state = "damaged3"},/area/mine/abandoned) "bP" = (/obj/machinery/hydroponics,/turf/simulated/floor{icon_state = "dark"},/area/mine/abandoned) -"bQ" = (/obj/structure/table,/obj/item/weapon/paper/crumpled,/turf/simulated/floor/airless{icon_state = "floorscorched2"},/area/mine/abandoned) +"bQ" = (/obj/structure/table/standard,/obj/item/weapon/paper/crumpled,/turf/simulated/floor/airless{icon_state = "floorscorched2"},/area/mine/abandoned) "bR" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/mine/abandoned) "bS" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/item/weapon/shard{icon_state = "medium"},/turf/simulated/floor/plating,/area/mine/abandoned) "bT" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/mine/abandoned) From 5f65565f4565598298b2f7c6b6b0bd66d455764d Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Wed, 13 May 2015 20:40:00 +0100 Subject: [PATCH 204/305] Bugfixes, removing the remnants of table_parts, changelog. --- code/game/gamemodes/cult/cultify/obj.dm | 7 --- .../items/stacks/sheets/sheet_types.dm | 1 - code/modules/materials/materials.dm | 2 + .../artifact/artifact_replicator.dm | 1 - code/modules/tables/flipping.dm | 5 +- code/modules/tables/presets.dm | 55 ++----------------- code/modules/tables/tables.dm | 44 ++++++++++++++- html/changelogs/GinjaNinja32_new_tables.yml | 5 ++ maps/RandomZLevels/stationCollision.dmm | 2 +- maps/RandomZLevels/zresearchlabs.dmm | 4 +- maps/exodus-1.dmm | 4 +- maps/exodus-3.dmm | 4 +- maps/exodus-5.dmm | 4 +- maps/overmap/example_sector2.dmm | 2 +- 14 files changed, 68 insertions(+), 72 deletions(-) create mode 100644 html/changelogs/GinjaNinja32_new_tables.yml diff --git a/code/game/gamemodes/cult/cultify/obj.dm b/code/game/gamemodes/cult/cultify/obj.dm index fd239df50f..90a96f72ab 100644 --- a/code/game/gamemodes/cult/cultify/obj.dm +++ b/code/game/gamemodes/cult/cultify/obj.dm @@ -32,13 +32,6 @@ /obj/item/weapon/storage/backpack/cultpack/cultify() return -/obj/item/weapon/table_parts/cultify() - new /obj/item/weapon/table_parts/wood(loc) - ..() - -/obj/item/weapon/table_parts/wood/cultify() - return - /obj/machinery/cultify() // We keep the number of cultified machines down by only converting those that are dense // The alternative is to keep a separate file of exceptions. diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index bf35253b08..4ba9ae9913 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -147,7 +147,6 @@ var/global/list/datum/stack_recipe/plasteel_recipes = list ( \ var/global/list/datum/stack_recipe/wood_recipes = list ( \ new/datum/stack_recipe("wooden sandals", /obj/item/clothing/shoes/sandal, 1), \ new/datum/stack_recipe("wood floor tile", /obj/item/stack/tile/wood, 1, 4, 20), \ - new/datum/stack_recipe("table parts", /obj/item/weapon/table_parts/wood, 2), \ new/datum/stack_recipe("wooden chair", /obj/structure/bed/chair/wood, 3, time = 10, one_per_turf = 1, on_floor = 1), \ new/datum/stack_recipe("wooden barricade", /obj/structure/barricade/wooden, 5, time = 50, one_per_turf = 1, on_floor = 1), \ new/datum/stack_recipe("crossbow frame", /obj/item/weapon/crossbowframe, 5, time = 25, one_per_turf = 0, on_floor = 0), \ diff --git a/code/modules/materials/materials.dm b/code/modules/materials/materials.dm index 55d51c772f..5afb1f27e0 100644 --- a/code/modules/materials/materials.dm +++ b/code/modules/materials/materials.dm @@ -1,6 +1,7 @@ var/list/name_to_material /proc/populate_material_list() + if(name_to_material) return // Already set up! name_to_material = list() for(var/type in typesof(/material) - /material) var/material/new_mineral = new type @@ -116,6 +117,7 @@ var/list/name_to_material stack_type = /obj/item/stack/sheet/glass icon_colour = "#00E1FF" opacity = 0.3 + integrity = 100 /material/plastic name = "plastic" diff --git a/code/modules/research/xenoarchaeology/artifact/artifact_replicator.dm b/code/modules/research/xenoarchaeology/artifact/artifact_replicator.dm index 7617468b41..8e6097a39b 100644 --- a/code/modules/research/xenoarchaeology/artifact/artifact_replicator.dm +++ b/code/modules/research/xenoarchaeology/artifact/artifact_replicator.dm @@ -59,7 +59,6 @@ /obj/item/weapon/light/tube,\ /obj/item/weapon/pickaxe,\ /obj/item/weapon/shovel,\ - /obj/item/weapon/table_parts,\ /obj/item/weapon/weldingtool,\ /obj/item/weapon/wirecutters,\ /obj/item/weapon/wrench,\ diff --git a/code/modules/tables/flipping.dm b/code/modules/tables/flipping.dm index 1714d390b4..210498f169 100644 --- a/code/modules/tables/flipping.dm +++ b/code/modules/tables/flipping.dm @@ -1,5 +1,7 @@ /obj/structure/table/proc/straight_table_check(var/direction) + if(health > 100) + return 0 var/obj/structure/table/T for(var/angle in list(-90,90)) T = locate() in get_step(src.loc,turn(direction,angle)) @@ -8,8 +10,6 @@ T = locate() in get_step(src.loc,direction) if (!T || T.flipped == 1 || T.material != material) return 1 - if(T.health > 100) - return 0 return T.straight_table_check(direction) /obj/structure/table/verb/do_flip() @@ -92,6 +92,7 @@ var/obj/structure/table/T = locate() in get_step(src,D) if(T && T.flipped == 0 && T.material == material && material) T.flip(direction) + take_damage(rand(5, 20)) update_connections(1) update_icon() diff --git a/code/modules/tables/presets.dm b/code/modules/tables/presets.dm index 481897c48d..91badda696 100644 --- a/code/modules/tables/presets.dm +++ b/code/modules/tables/presets.dm @@ -7,6 +7,7 @@ var/global/material/material_holographic_wood = null icon_state = "plain_preview" color = "#666666" New() + if(!name_to_material) populate_material_list() material = name_to_material[DEFAULT_WALL_MATERIAL] ..() @@ -14,6 +15,7 @@ var/global/material/material_holographic_wood = null icon_state = "reinf_preview" color = "#666666" New() + if(!name_to_material) populate_material_list() material = name_to_material[DEFAULT_WALL_MATERIAL] reinforced = name_to_material[DEFAULT_WALL_MATERIAL] ..() @@ -22,12 +24,14 @@ var/global/material/material_holographic_wood = null icon_state = "plain_preview" color = "#824B28" New() + if(!name_to_material) populate_material_list() material = name_to_material["wood"] ..() gamblingtable icon_state = "gamble_preview" New() + if(!name_to_material) populate_material_list() material = name_to_material["wood"] carpeted = 1 ..() @@ -37,6 +41,7 @@ var/global/material/material_holographic_wood = null color = "#00E1FF" alpha = 77 // 0.3 * 255 New() + if(!name_to_material) populate_material_list() material = name_to_material["glass"] ..() @@ -58,53 +63,3 @@ var/global/material/material_holographic_wood = null material_holographic_wood.stack_type = null // Tables with null-stacktype materials cannot be deconstructed material = material_holographic_wood ..() - -/* - -/obj/structure/table/holotable - name = "table" - desc = "A square piece of metal standing on four metal legs. It can not move." - icon = 'icons/obj/structures.dmi' - icon_state = "table" - density = 1 - anchored = 1.0 - layer = 2.8 - throwpass = 1 //You can throw objects over this, despite it's density. - -/obj/structure/table/holotable/attack_hand(mob/user as mob) - return // HOLOTABLE DOES NOT GIVE A FUCK - - -/obj/structure/table/holotable/attackby(obj/item/weapon/W as obj, mob/user as mob) - if (istype(W, /obj/item/weapon/wrench)) - user << "It's a holotable! There are no bolts!" - return - - if(isrobot(user)) - return - - ..() - -/obj/structure/table/woodentable/holotable - name = "table" - desc = "A square piece of wood standing on four wooden legs. It can not move." - icon = 'icons/obj/structures.dmi' - icon_state = "wood_table" - - -/obj/structure/table/rack/holorack - name = "rack" - desc = "Different from the Middle Ages version." - icon = 'icons/obj/objects.dmi' - icon_state = "rack" - -/obj/structure/table/rack/holorack/attack_hand(mob/user as mob) - return - -/obj/structure/table/rack/holorack/attackby(obj/item/weapon/W as obj, mob/user as mob) - if (istype(W, /obj/item/weapon/wrench)) - user << "It's a holorack! You can't unwrench it!" - return - - -*/ diff --git a/code/modules/tables/tables.dm b/code/modules/tables/tables.dm index 1b389323f9..0d58e8bd9c 100644 --- a/code/modules/tables/tables.dm +++ b/code/modules/tables/tables.dm @@ -37,6 +37,12 @@ health += maxhealth - old_maxhealth +/obj/structure/table/proc/take_damage(amount) + health -= amount + if(health <= 0) + visible_message("\The [src] breaks down!") + break_to_parts() + /obj/structure/table/New() ..() // One table per turf. @@ -55,6 +61,7 @@ update_connections(1) update_icon() update_desc() + update_material() /obj/structure/table/Destroy() material = null @@ -63,6 +70,17 @@ T.update_icon() ..() +/obj/structure/table/examine(mob/user) + . = ..() + if(health < maxhealth) + switch(health / maxhealth) + if(0.0 to 0.5) + user << "It looks severely damaged!" + if(0.25 to 0.5) + user << "It looks damaged!" + if(0.5 to 1.0) + user << "It has a few scrapes and dents." + /obj/structure/table/attackby(obj/item/weapon/W, mob/user) if(reinforced && istype(W, /obj/item/weapon/screwdriver)) @@ -70,6 +88,7 @@ if(!reinforced) update_desc() update_icon() + update_material() return 1 if(!reinforced && material && istype(W, /obj/item/weapon/wrench)) @@ -77,17 +96,34 @@ if(!material) update_connections(1) update_icon() + for(var/obj/structure/table/T in oview(src, 1)) + T.update_icon() + update_desc() + update_material() return 1 if(!reinforced && !material && istype(W, /obj/item/weapon/wrench)) dismantle(W, user) return 1 + if(health < maxhealth && istype(W, /obj/item/weapon/weldingtool)) + var/obj/item/weapon/weldingtool/F = W + if(F.welding) + user << "You begin reparing damage to \the [src]." + if(!do_after(user, 20) || !F.remove_fuel(1, user)) + return + user.visible_message("\The [user] repairs some damage to \the [src].", + "You repair some damage to \the [src].") + health = max(health+(maxhealth/5), maxhealth) // 20% repair per application + return 1 + if(!material && can_plate && istype(W, /obj/item/stack/sheet)) material = common_material_add(W, user, "plat") if(material) update_connections(1) update_icon() + update_desc() + update_material() return 1 return ..() @@ -105,11 +141,17 @@ if(!can_reinforce) user << "\The [src] cannot be reinforced!" + return + + if(!material) + user << "Plate \the [src] before reinforcing it!" + return reinforced = common_material_add(S, user, "reinforc") if(reinforced) update_desc() update_icon() + update_material() /obj/structure/table/proc/update_desc() if(material) @@ -334,4 +376,4 @@ #undef CORNER_NONE #undef CORNER_EASTWEST #undef CORNER_DIAGONAL -#undef CORNER_NORTHSOUTH \ No newline at end of file +#undef CORNER_NORTHSOUTH diff --git a/html/changelogs/GinjaNinja32_new_tables.yml b/html/changelogs/GinjaNinja32_new_tables.yml new file mode 100644 index 0000000000..31126155b1 --- /dev/null +++ b/html/changelogs/GinjaNinja32_new_tables.yml @@ -0,0 +1,5 @@ +author: GinjaNinja32 +delete-after: True + +changes: + - rscadd: "Rewrote tables. To construct a table, use steel to make a table frame, then plate the frame with a material such as steel, gold, wood, etc. Hold a stack in your hand and drag it to the table to reinforce it. To deconstruct a table, use a screwdriver to remove the reinforcements (if present), then a wrench to remove the plating, and a wrench again to dismantle the frame. Use a welder to repair any damage." diff --git a/maps/RandomZLevels/stationCollision.dmm b/maps/RandomZLevels/stationCollision.dmm index 7a6add9b68..a95cf0e32b 100644 --- a/maps/RandomZLevels/stationCollision.dmm +++ b/maps/RandomZLevels/stationCollision.dmm @@ -203,7 +203,7 @@ "dU" = (/obj/structure/sign/atmosplaque{pixel_y = 31},/turf/simulated/floor/airless{icon_state = "damaged2"},/area/awaymission/northblock) "dV" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/awaymission/northblock) "dW" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) -"dX" = (/obj/item/weapon/table_parts,/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) +"dX" = (/obj/structure/table,/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) "dY" = (/obj/structure/table/standard,/obj/item/stack/cable_coil{amount = 5},/obj/item/weapon/screwdriver,/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) "dZ" = (/obj/structure/computerframe{anchored = 1},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) "ea" = (/obj/machinery/light,/obj/structure/computerframe{anchored = 1},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) diff --git a/maps/RandomZLevels/zresearchlabs.dmm b/maps/RandomZLevels/zresearchlabs.dmm index a14c5a3558..ab02373084 100644 --- a/maps/RandomZLevels/zresearchlabs.dmm +++ b/maps/RandomZLevels/zresearchlabs.dmm @@ -63,8 +63,8 @@ "bk" = (/obj/structure/table/standard,/obj/item/stack/cable_coil{pixel_x = -1; pixel_y = 7},/obj/item/weapon/circuitboard/autolathe,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/cave) "bl" = (/obj/effect/decal/cleanable/blood/tracks,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/cave) "bm" = (/obj/structure/door_assembly/door_assembly_research,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/cave) -"bn" = (/obj/item/weapon/table_parts,/turf/simulated/floor/plating,/area/awaymission/labs/cave) -"bo" = (/obj/item/weapon/table_parts,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/cave) +"bn" = (/obj/structure/table,/turf/simulated/floor/plating,/area/awaymission/labs/cave) +"bo" = (/obj/structure/table,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/cave) "bp" = (/obj/structure/girder,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/cave) "bq" = (/obj/effect/decal/cleanable/blood/tracks,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/awaymission/labs/cave) "br" = (/obj/effect/decal/cleanable/dirt,/obj/effect/critter/fleshmonster/fleshslime,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/cave) diff --git a/maps/exodus-1.dmm b/maps/exodus-1.dmm index 182358213e..68bef42d96 100644 --- a/maps/exodus-1.dmm +++ b/maps/exodus-1.dmm @@ -4252,7 +4252,7 @@ "bDN" = (/obj/item/apc_frame,/obj/effect/decal/cleanable/dirt,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/medical/genetics) "bDO" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/medical/genetics) "bDP" = (/obj/machinery/door/firedoor,/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "acute1"; name = "EMT Storage Privacy Shutters"; opacity = 0},/obj/machinery/light_switch{pixel_x = 22; pixel_y = 0},/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/sleeper) -"bDQ" = (/obj/item/weapon/table_parts,/turf/simulated/floor/plating,/area/medical/genetics) +"bDQ" = (/obj/structure/table,/turf/simulated/floor/plating,/area/medical/genetics) "bDR" = (/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor/plating,/area/medical/genetics) "bDS" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "cmooffice"; name = "CMO Office Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/medbay2) "bDT" = (/obj/structure/extinguisher_cabinet{pixel_x = -25},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics_cloning) @@ -4490,7 +4490,7 @@ "bIr" = (/obj/structure/closet/wardrobe/black,/obj/machinery/light{dir = 1},/turf/simulated/shuttle/floor,/area/shuttle/arrival/station) "bIs" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/medical/genetics) "bIt" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{icon_state = "floorgrime"},/area/medical/genetics) -"bIu" = (/obj/item/weapon/table_parts,/turf/simulated/floor{icon_state = "floorgrime"},/area/medical/genetics) +"bIu" = (/obj/structure/table,/turf/simulated/floor{icon_state = "floorgrime"},/area/medical/genetics) "bIv" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor/border_only{dir = 1; name = "Firelock North"},/obj/machinery/door/airlock/mining{id_tag = "cargodoor"; name = "Mining Dock"; req_access = list(48)},/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,/area/quartermaster/miningdock) "bIw" = (/turf/simulated/wall/r_wall,/area/maintenance/research_port) "bIx" = (/turf/simulated/wall/r_wall,/area/server) diff --git a/maps/exodus-3.dmm b/maps/exodus-3.dmm index 9c37abf823..caf3272970 100644 --- a/maps/exodus-3.dmm +++ b/maps/exodus-3.dmm @@ -71,7 +71,7 @@ "bs" = (/turf/simulated/shuttle/wall{icon_state = "swall_s9"; dir = 2},/area/derelict/ship) "bt" = (/turf/simulated/shuttle/wall{icon_state = "swall_s5"; dir = 2},/area/derelict/ship) "bu" = (/turf/simulated/shuttle/floor{icon_state = "floor3"},/turf/simulated/shuttle/wall{icon_state = "swall_f10"; dir = 2},/area/space) -"bv" = (/obj/item/weapon/table_parts,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/space) +"bv" = (/obj/structure/table,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/space) "bw" = (/turf/simulated/shuttle/floor{icon_state = "floor3"},/turf/simulated/shuttle/wall{icon_state = "swall_f6"; dir = 2},/area/space) "bx" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/shuttle/plating,/area/derelict/ship) "by" = (/obj/machinery/light_switch{pixel_x = 27},/obj/machinery/light{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) @@ -387,7 +387,7 @@ "hw" = (/obj/item/weapon/cell,/turf/simulated/floor/plating/airless,/area/AIsattele) "hx" = (/obj/structure/sign/electricshock,/turf/simulated/wall/r_wall,/area/tcommsat/entrance) "hy" = (/turf/space,/area/AIsattele) -"hz" = (/obj/item/weapon/table_parts,/turf/simulated/floor/plating/airless,/area/AIsattele) +"hz" = (/obj/structure/table,/turf/simulated/floor/plating/airless,/area/AIsattele) "hA" = (/obj/structure/lattice,/turf/space,/area/AIsattele) "hB" = (/obj/structure/closet,/turf/simulated/floor/plating/airless,/area/AIsattele) "hC" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating/airless,/area/AIsattele) diff --git a/maps/exodus-5.dmm b/maps/exodus-5.dmm index 712411bb11..162b9c2a0d 100644 --- a/maps/exodus-5.dmm +++ b/maps/exodus-5.dmm @@ -494,7 +494,7 @@ "jz" = (/obj/machinery/mineral/unloading_machine{icon_state = "unloader-corner"},/turf/simulated/floor{icon_state = "floorgrime"},/area/outpost/mining_north) "jA" = (/obj/effect/decal/cleanable/dirt,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor{icon_state = "floorgrime"},/area/outpost/mining_north) "jB" = (/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/item/device/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_y = 20},/obj/machinery/camera/network/research_outpost{c_tag = "Research Outpost Lobby Port"},/turf/simulated/floor{dir = 4; icon_state = "whitegreencorner"},/area/outpost/research/hallway) -"jC" = (/obj/item/weapon/table_parts,/obj/structure/table/rack,/obj/item/stack/sheet/glass/reinforced{amount = 8},/obj/item/stack/rods{amount = 6},/turf/simulated/floor{icon_state = "floorgrime"},/area/outpost/mining_north) +"jC" = (/obj/structure/table,/obj/structure/table/rack,/obj/item/stack/sheet/glass/reinforced{amount = 8},/obj/item/stack/rods{amount = 6},/turf/simulated/floor{icon_state = "floorgrime"},/area/outpost/mining_north) "jD" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/outpost/mining_north) "jE" = (/obj/structure/girder,/turf/simulated/floor/plating,/area/outpost/mining_north) "jF" = (/turf/simulated/wall,/area/outpost/mining_north) @@ -555,7 +555,7 @@ "kI" = (/obj/machinery/disposal/deliveryChute{dir = 1},/obj/structure/disposalpipe/trunk,/turf/simulated/floor{icon_state = "floorgrime"},/area/outpost/research/eva) "kJ" = (/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"},/area/outpost/abandoned) "kK" = (/obj/structure/table/rack,/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"},/area/outpost/abandoned) -"kL" = (/obj/item/weapon/table_parts,/turf/simulated/floor/airless,/area/outpost/abandoned) +"kL" = (/obj/structure/table,/turf/simulated/floor/airless,/area/outpost/abandoned) "kM" = (/obj/effect/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor/airless{icon_state = "damaged4"},/area/outpost/abandoned) "kN" = (/obj/effect/alien/weeds{icon_state = "weeds"},/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/outpost/abandoned) "kO" = (/obj/effect/decal/remains/human,/obj/item/clothing/mask/facehugger{icon_state = "facehugger_dead"; stat = 2},/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/outpost/abandoned) diff --git a/maps/overmap/example_sector2.dmm b/maps/overmap/example_sector2.dmm index 9b71bc687d..24f46b33bf 100644 --- a/maps/overmap/example_sector2.dmm +++ b/maps/overmap/example_sector2.dmm @@ -119,7 +119,7 @@ "co" = (/obj/machinery/door/airlock/glass{name = "Glass Airlock"; req_access_txt = "0"},/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"},/area/mine/abandoned) "cp" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/mine/abandoned) "cq" = (/obj/effect/decal/remains/human,/obj/item/clothing/mask/facehugger{icon_state = "facehugger_dead"; stat = 2},/turf/simulated/floor,/area/mine/abandoned) -"cr" = (/obj/item/weapon/table_parts,/turf/simulated/floor,/area/mine/abandoned) +"cr" = (/obj/structure/table,/turf/simulated/floor,/area/mine/abandoned) "cs" = (/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"},/area/mine/abandoned) "ct" = (/obj/structure/rack,/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"},/area/mine/abandoned) "cu" = (/turf/simulated/floor/plating/airless/asteroid,/area/mine/unexplored) From a353c90159ed1ee475dcd54b087ebc90b9c7abb7 Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Wed, 13 May 2015 20:41:40 +0100 Subject: [PATCH 205/305] Super-small fix. --- code/game/gamemodes/cult/cultify/obj.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/gamemodes/cult/cultify/obj.dm b/code/game/gamemodes/cult/cultify/obj.dm index 90a96f72ab..cbc3571896 100644 --- a/code/game/gamemodes/cult/cultify/obj.dm +++ b/code/game/gamemodes/cult/cultify/obj.dm @@ -150,4 +150,4 @@ update_desc() update_connections(1) update_icon() - + update_material() From a7d0047b27e69dcbc62c6b377c6ba747dd98bf71 Mon Sep 17 00:00:00 2001 From: I HATE GITHUB SO MUCH! Date: Wed, 13 May 2015 20:46:36 +0100 Subject: [PATCH 206/305] Fixes a problem with sql population logging where players and admins are placed on different rows Replaces two procs: proc/sql_poll_admins() proc/sql_poll_players() With the proc: proc/sql_poll_population() Which does the same thing, except fixes and issue with sql logging, where player counts and admin counts would be placed in different rows: Pictures for comparison: Before: https://i.imgur.com/As4hAV8.png After: http://i.imgur.com/ssm20IQ.png --- code/defines/procs/statistics.dm | 30 +++++++----------------------- 1 file changed, 7 insertions(+), 23 deletions(-) diff --git a/code/defines/procs/statistics.dm b/code/defines/procs/statistics.dm index 8a9eb4042d..07856d9251 100644 --- a/code/defines/procs/statistics.dm +++ b/code/defines/procs/statistics.dm @@ -1,34 +1,20 @@ -proc/sql_poll_players() +proc/sql_poll_population() if(!sqllogging) return + var/admincount = admins.len var/playercount = 0 for(var/mob/M in player_list) if(M.client) playercount += 1 establish_db_connection() if(!dbcon.IsConnected()) - log_game("SQL ERROR during player polling. Failed to connect.") + log_game("SQL ERROR during population polling. Failed to connect.") else var/sqltime = time2text(world.realtime, "YYYY-MM-DD hh:mm:ss") - var/DBQuery/query = dbcon_old.NewQuery("INSERT INTO population (playercount, time) VALUES ([playercount], '[sqltime]')") + var/DBQuery/query = dbcon_old.NewQuery("INSERT INTO `tgstation`.`population` (`playercount`, `admincount`, `time`) VALUES ([playercount], [admincount], '[sqltime]')") if(!query.Execute()) var/err = query.ErrorMsg() - log_game("SQL ERROR during player polling. Error : \[[err]\]\n") - - -proc/sql_poll_admins() - if(!sqllogging) - return - var/admincount = admins.len - establish_db_connection() - if(!dbcon.IsConnected()) - log_game("SQL ERROR during admin polling. Failed to connect.") - else - var/sqltime = time2text(world.realtime, "YYYY-MM-DD hh:mm:ss") - var/DBQuery/query = dbcon_old.NewQuery("INSERT INTO population (admincount, time) VALUES ([admincount], '[sqltime]')") - if(!query.Execute()) - var/err = query.ErrorMsg() - log_game("SQL ERROR during admin polling. Error : \[[err]\]\n") + log_game("SQL ERROR during population polling. Error : \[[err]\]\n") proc/sql_report_round_start() // TODO @@ -111,10 +97,8 @@ proc/statistic_cycle() if(!sqllogging) return while(1) - sql_poll_players() + sql_poll_population() sleep(600) - sql_poll_admins() - sleep(6000) // Poll every ten minutes //This proc is used for feedback. It is executed at round end. proc/sql_commit_feedback() @@ -157,4 +141,4 @@ proc/sql_commit_feedback() var/DBQuery/query = dbcon.NewQuery("INSERT INTO erro_feedback (id, roundid, time, variable, value) VALUES (null, [newroundid], Now(), '[variable]', '[value]')") if(!query.Execute()) var/err = query.ErrorMsg() - log_game("SQL ERROR during death reporting. Error : \[[err]\]\n") \ No newline at end of file + log_game("SQL ERROR during death reporting. Error : \[[err]\]\n") From 5820873dabe7df616ccfb1c46d6ce569e535901b Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Wed, 13 May 2015 21:34:31 +0100 Subject: [PATCH 207/305] Makes gambling tables constructable. --- code/modules/tables/tables.dm | 25 +++++++++++++++++++-- html/changelogs/GinjaNinja32_new_tables.yml | 2 +- 2 files changed, 24 insertions(+), 3 deletions(-) diff --git a/code/modules/tables/tables.dm b/code/modules/tables/tables.dm index 0d58e8bd9c..7ad07de1ac 100644 --- a/code/modules/tables/tables.dm +++ b/code/modules/tables/tables.dm @@ -91,7 +91,26 @@ update_material() return 1 - if(!reinforced && material && istype(W, /obj/item/weapon/wrench)) + if(carpeted && istype(W, /obj/item/weapon/crowbar)) + user.visible_message("\The [user] removes the carpet from \the [src].", + "You remove the carpet from \the [src].") + new /obj/item/stack/tile/carpet(loc) + carpeted = 0 + update_icon() + return 1 + + if(!carpeted && material && istype(W, /obj/item/stack/tile/carpet)) + var/obj/item/stack/tile/carpet/C = W + if(C.use(1)) + user.visible_message("\The [user] adds \the [C] to \the [src].", + "You add \the [C] to \the [src].") + carpeted = 1 + update_icon() + return 1 + else + user << "You don't have enough carpet!" + + if(!reinforced && !carpeted && material && istype(W, /obj/item/weapon/wrench)) remove_material(W, user) if(!material) update_connections(1) @@ -102,7 +121,7 @@ update_material() return 1 - if(!reinforced && !material && istype(W, /obj/item/weapon/wrench)) + if(!carpeted && !reinforced && !material && istype(W, /obj/item/weapon/wrench)) dismantle(W, user) return 1 @@ -212,6 +231,8 @@ new reinforced.stack_type(src.loc) if(material && material.stack_type && (full_return || prob(50))) new material.stack_type(src.loc) + if(carpeted && (full_return || prob(50))) + new /obj/item/stack/tile/carpet(src.loc) if(full_return || prob(50)) new /obj/item/stack/sheet/metal(src.loc) qdel(src) diff --git a/html/changelogs/GinjaNinja32_new_tables.yml b/html/changelogs/GinjaNinja32_new_tables.yml index 31126155b1..5668126e2e 100644 --- a/html/changelogs/GinjaNinja32_new_tables.yml +++ b/html/changelogs/GinjaNinja32_new_tables.yml @@ -2,4 +2,4 @@ author: GinjaNinja32 delete-after: True changes: - - rscadd: "Rewrote tables. To construct a table, use steel to make a table frame, then plate the frame with a material such as steel, gold, wood, etc. Hold a stack in your hand and drag it to the table to reinforce it. To deconstruct a table, use a screwdriver to remove the reinforcements (if present), then a wrench to remove the plating, and a wrench again to dismantle the frame. Use a welder to repair any damage." + - rscadd: "Rewrote tables. To construct a table, use steel to make a table frame, then plate the frame with a material such as steel, gold, wood, etc. Hold a stack in your hand and drag it to the table to reinforce it. To deconstruct a table, use a screwdriver to remove the reinforcements (if present), then a wrench to remove the plating, and a wrench again to dismantle the frame. Use a welder to repair any damage. Use a carpet tile on a table to add felt, and a crowbar to remove it." From 91f67e5dc5b40d6ab0bf1f5fd5fe88aa649f2990 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Wed, 13 May 2015 22:26:48 +0200 Subject: [PATCH 208/305] Adjusts rig stealth module costs. Activation and active power costs were previously a tenth of the same costs for a mere energy blade. Now costs matches that of an energy blade. --- code/modules/clothing/spacesuits/rig/modules/ninja.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/clothing/spacesuits/rig/modules/ninja.dm b/code/modules/clothing/spacesuits/rig/modules/ninja.dm index 6d572cdcb3..f2d94d56d0 100644 --- a/code/modules/clothing/spacesuits/rig/modules/ninja.dm +++ b/code/modules/clothing/spacesuits/rig/modules/ninja.dm @@ -16,8 +16,8 @@ disruptable = 1 disruptive = 0 - use_power_cost = 5 - active_power_cost = 1 + use_power_cost = 50 + active_power_cost = 10 passive_power_cost = 0 module_cooldown = 30 From 2fac0b4d6412adb7148e6276c1c2ae249d430669 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Wed, 13 May 2015 23:02:41 +0200 Subject: [PATCH 209/305] Changelog entry. --- html/changelogs/PsiOmegaDelta-StealthFixes.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/PsiOmegaDelta-StealthFixes.yml diff --git a/html/changelogs/PsiOmegaDelta-StealthFixes.yml b/html/changelogs/PsiOmegaDelta-StealthFixes.yml new file mode 100644 index 0000000000..e13cf9e6f0 --- /dev/null +++ b/html/changelogs/PsiOmegaDelta-StealthFixes.yml @@ -0,0 +1,5 @@ +author: PsiOmegaDelta +delete-after: True + +changes: + - tweak: "The rig stealth module now requires as much power to run as the energy blade module." From 428014c37230ae6369c42f7ed9ea71edfd881c6c Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Wed, 13 May 2015 22:06:27 +0100 Subject: [PATCH 210/305] Layer and throwpass fix. --- code/modules/tables/tables.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/modules/tables/tables.dm b/code/modules/tables/tables.dm index 7ad07de1ac..895938898a 100644 --- a/code/modules/tables/tables.dm +++ b/code/modules/tables/tables.dm @@ -8,6 +8,8 @@ density = 1 anchored = 1 climbable = 1 + layer = 2.8 + throwpass = 1 var/flipped = 0 var/maxhealth = 10 var/health = 10 From 3d1b6717035a494e1e1e85a070ff87914770cecf Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Wed, 13 May 2015 23:04:33 +0200 Subject: [PATCH 211/305] Asking for more energy than a cell has stored now drains the cell. Fixes #9252. --- code/modules/power/cell.dm | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/code/modules/power/cell.dm b/code/modules/power/cell.dm index 55c78538d6..553891565c 100644 --- a/code/modules/power/cell.dm +++ b/code/modules/power/cell.dm @@ -42,10 +42,8 @@ if(rigged && amount > 0) explode() return 0 - - if(charge < amount) return 0 - charge = (charge - amount) - return 1 + charge = max(0, charge - amount) + return charge // recharge the cell /obj/item/weapon/cell/proc/give(var/amount) From 09754dbd1808c101088a9e90d155be31624d92f0 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Wed, 13 May 2015 23:39:03 +0200 Subject: [PATCH 212/305] Changelog entry. --- html/changelogs/PsiOmegaDelta-BatteryDepletion.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/PsiOmegaDelta-BatteryDepletion.yml diff --git a/html/changelogs/PsiOmegaDelta-BatteryDepletion.yml b/html/changelogs/PsiOmegaDelta-BatteryDepletion.yml new file mode 100644 index 0000000000..e36fc586da --- /dev/null +++ b/html/changelogs/PsiOmegaDelta-BatteryDepletion.yml @@ -0,0 +1,5 @@ +author: PsiOmegaDelta +delete-after: True + +changes: + - bugfix: "Cells now drain when using more charge than what is available." From 3c557b9137d00c0cd94014156b9244e469921d93 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Thu, 14 May 2015 00:14:47 -0400 Subject: [PATCH 213/305] Adds tail icon caching, adds frame offset to dmi for looped animations. --- .../living/carbon/human/species/species.dm | 3 +- .../carbon/human/species/station/station.dm | 2 + .../mob/living/carbon/human/update_icons.dm | 54 +++++++++++++----- icons/effects/species.dmi | Bin 39972 -> 22708 bytes icons/mob/species/tajaran/tail.dmi | Bin 0 -> 5960 bytes icons/mob/species/unathi/tail.dmi | Bin 0 -> 19340 bytes 6 files changed, 44 insertions(+), 15 deletions(-) create mode 100644 icons/mob/species/tajaran/tail.dmi create mode 100644 icons/mob/species/unathi/tail.dmi diff --git a/code/modules/mob/living/carbon/human/species/species.dm b/code/modules/mob/living/carbon/human/species/species.dm index 5c01ea38b4..6889529e6c 100644 --- a/code/modules/mob/living/carbon/human/species/species.dm +++ b/code/modules/mob/living/carbon/human/species/species.dm @@ -23,7 +23,8 @@ var/blood_color = "#A10808" // Red. var/flesh_color = "#FFC896" // Pink. var/base_color // Used by changelings. Should also be used for icon previes.. - var/tail // Name of tail image in species effects icon file. + var/tail // Name of tail state in species effects icon file. + var/tail_animation // If set, the icon to obtain tail animation states from. var/race_key = 0 // Used for mob icon cache string. var/icon/icon_template // Used for mob icon generation for non-32x32 species. var/is_small diff --git a/code/modules/mob/living/carbon/human/species/station/station.dm b/code/modules/mob/living/carbon/human/species/station/station.dm index ee8a1438d2..6fde25abd5 100644 --- a/code/modules/mob/living/carbon/human/species/station/station.dm +++ b/code/modules/mob/living/carbon/human/species/station/station.dm @@ -19,6 +19,7 @@ deform = 'icons/mob/human_races/r_def_lizard.dmi' language = "Sinta'unathi" tail = "sogtail" + tail_animation = 'icons/mob/species/unathi/tail.dmi' unarmed_types = list(/datum/unarmed_attack/stomp, /datum/unarmed_attack/kick, /datum/unarmed_attack/claws, /datum/unarmed_attack/bite/sharp) primitive_form = "Stok" darksight = 3 @@ -66,6 +67,7 @@ deform = 'icons/mob/human_races/r_def_tajaran.dmi' language = "Siik'tajr" tail = "tajtail" + tail_animation = 'icons/mob/species/tajaran/tail.dmi' unarmed_types = list(/datum/unarmed_attack/stomp, /datum/unarmed_attack/kick, /datum/unarmed_attack/claws, /datum/unarmed_attack/bite/sharp) darksight = 8 slowdown = -1 diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index e1231d97a7..7cb748374f 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -5,6 +5,7 @@ icon_key is [species.race_key][g][husk][fat][hulk][skeleton][s_tone] */ var/global/list/human_icon_cache = list() +var/global/list/tail_icon_cache = list() //key is [species.race_key][r_skin][g_skin][b_skin] var/global/list/light_overlay_cache = list() /////////////////////// @@ -883,14 +884,36 @@ var/global/list/damage_icon_parts = list() overlays_standing[TAIL_LAYER] = null if(species.tail && !(wear_suit && wear_suit.flags_inv & HIDETAIL)) - var/icon/tail_s = new/icon(icon = 'icons/effects/species.dmi') - tail_s.Blend(rgb(r_skin, g_skin, b_skin), ICON_ADD) - - overlays_standing[TAIL_LAYER] = image(tail_s, icon_state = "[species.tail]_s") + var/icon/tail_s = get_tail_icon() + overlays_standing[TAIL_LAYER] = image(tail_s, icon_state = "[species.tail]_s") + animate_tail_reset(0) if(update_icons) update_icons() +/mob/living/carbon/human/proc/get_tail_icon() + var/icon_key = "[species.race_key][r_skin][g_skin][b_skin]" + + var/icon/tail_icon = tail_icon_cache[icon_key] + if(!tail_icon) + + //generate a new one + tail_icon = new/icon(icon = (species.tail_animation? species.tail_animation : 'icons/effects/species.dmi')) + tail_icon.Blend(rgb(r_skin, g_skin, b_skin), ICON_ADD) + + tail_icon_cache[icon_key] = tail_icon + + return tail_icon + + +/mob/living/carbon/human/proc/set_tail_state(var/t_state) + var/image/tail_overlay = overlays_standing[TAIL_LAYER] + + if(tail_overlay && species.tail_animation) + tail_overlay.icon_state = t_state + return tail_overlay + return null + //Not really once, since BYOND can't do that. //Update this if the ability to flick() images or make looping animation start at the first frame is ever added. /mob/living/carbon/human/proc/animate_tail_once(var/update_icons=1) @@ -911,30 +934,33 @@ var/global/list/damage_icon_parts = list() update_icons() /mob/living/carbon/human/proc/animate_tail_start(var/update_icons=1) - set_tail_state("[species.tail]_slow") + set_tail_state("[species.tail]_slow[rand(0,9)]") if(update_icons) update_icons() /mob/living/carbon/human/proc/animate_tail_fast(var/update_icons=1) - set_tail_state("[species.tail]_loop") + set_tail_state("[species.tail]_loop[rand(0,9)]") + + if(update_icons) + update_icons() + +/mob/living/carbon/human/proc/animate_tail_reset(var/update_icons=1) + if(stat != DEAD) + set_tail_state("[species.tail]_idle[rand(0,9)]") + else + set_tail_state("[species.tail]_static") + if(update_icons) update_icons() /mob/living/carbon/human/proc/animate_tail_stop(var/update_icons=1) - set_tail_state("[species.tail]_s") + set_tail_state("[species.tail]_static") if(update_icons) update_icons() -/mob/living/carbon/human/proc/set_tail_state(var/t_state) - var/image/tail_overlay = overlays_standing[TAIL_LAYER] - - if(tail_overlay && (t_state in icon_states(tail_overlay.icon))) - tail_overlay.icon_state = t_state - return tail_overlay - return null //Adds a collar overlay above the helmet layer if the suit has one // Suit needs an identically named sprite in icons/mob/collar.dmi diff --git a/icons/effects/species.dmi b/icons/effects/species.dmi index e652652e5e5715fe6dcfe1d729428ddf265355b8..99588092d0852790db10434851a12a953e236a77 100644 GIT binary patch literal 22708 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 F^=|}$pxFQb literal 39972 zcmaHSWmp_r*Jb09;1+@gw?G2H3GNU)xVuAeZy>lk!JR;GcN%v>u;3ot2`=4J-21&V z-^?>JKf0?a`l+t7YoC4AUTd9jB?T!A^w;Ph5C}s?T3iJLf?t1rp&|okW>;>&D7PS^YZe;)iks)I zT+$4U$@Nd`CHhb@(pX>jt|X{NNth71p*w{IKkjACMaCyT3mYtl@xQpQN2$rswH8%I zBb<>#McLa`eDX^*kq(s`lT|Cpvl_KKZc4g?%{{O}3QcEor54l`Fuam<7G7sbjq)uH zjyvc|J&b8-Zy44<8_zUhh8n zCDQKF-fih6eDh4J`7P*_pv&j2#a+5ny~t|Rq7`c3RF`>_B%Lk^0#Slw#6{FRGLJfZ zT}(7QVGk=(wWeCNk5t|)=5%Q?L-KU?uabkpRc}R*u`Y4p7;SikzXff|s86dbx~NzN zz~40>Ts9Uh7wTHt_sX&duopf`9y;ZHae85b+?>P{KtmqJ!S<#qTO@{d;dkVf-}Td0 zrf<6|%Yqm0u5`+cMMa%yN0voS2gRY!gmd*3f-9zm5U0Ol5`Y=3HE{?6d-0KH-7u%i-*pqtg zS`^oZCBHhWqH~8n!BTpZ$LEWC-G|oi4$o&6(XXplgZoJ;d&+hvs8bc-K|gbz8qBEn zO2bWDmQI-AK$xj0M0QIdyM9+Q#W*4r@1Wz2Y>$eR*dM;0E5%_(@zw9f4`&upl@J`c z-_v@8Xl$mcH;RBChtuHMjXbBr&eUIl3y$V818W_j!MNvepls+HmP~Mf`fWtsUO!eH z?4ZieKHQh^&gVo!5l#s)tarP+aYZ9VTw=T)Vs}IGq0L99yn4+x2!;lX4RJgmJXTi? z8T2Qg9a)mBjH=dr$zo~_Q`6pntrM<`q*`Yx1h_3Pgrdfey>2e|w4?XAY4sVfS(>h# zbRNmX8eUKrQ9@IS0G)|*agP7o667;{*M^fATMx9Qy437p~=_-@|QGIQb1Hd*(`1fAcMJ3R-!3& zk{v7X-y7&9z5{;GXO|4p-E)4r&VPD~@r_||%;)!C5GgAbbUjumoCvy2@zOo$`LIXv zcuv3J=(@#`{Qy`0)Nijv%F4~!abf+~aLla910{PtHeZgEaaVxafdgFm?HUlL^d0b$ zn}OCQc&t&Fa-I}lbwqKrb73_>>bmvw^^1eQfhSky>t{0BLf;6`cB$7M%)K|x?0()8 zAMb!Uqc=Zye>H{95}og?qkupfuwx;3&?@O8Xve^J@{&}|+<@&C7=hdohtvKH(}Q
Y;LL!5PUNhYg2=vhhB;j-~@czx8+`iT; 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 V8RzL3=np8=e(!*Nm7Wpl{{?9GkK6zN diff --git a/icons/mob/species/tajaran/tail.dmi b/icons/mob/species/tajaran/tail.dmi new file mode 100644 index 0000000000000000000000000000000000000000..62a432ae76da0d9f81c9c439ec0431e3b17bb0b6 GIT binary patch literal 5960 zcmZvf3s@6Z_Q0w9yR`LzZFSR@1^nu^YJH^Ic3F!_T6~~oE526TA_-P2RjjE-31*n2 zuC1u3xK>JAHK|e-6)`H05W*x_N>R{8KtLdwkx&SbWQLf>B$-UIcLH?%zWwukoVoYT zf0z&sM*eTkGjqXX(we_*SYB6G zw_w47=;&zBxV39=6&QbN-@4W7!`>TsxE-{Ok`0^oE&D{Yb?=VP_w5kw4hzdZS60YL zu77jtVe>%Brt2GL@A>}zq9o!boB7y0{O5MttI(mA9q~sdE{tz3zq3N6op^rT_OGWnMP_ldxghuc68mt&+|Od5 z{w2p}b^X|0lviGUXXgga&shs2>(d|nrQ+=NSF{bCiGdx>L+0t!bMf<@dj7WXsR?Lf z!&AtzFQ`IG$9t=Jf`#)>a?{rKYp^X#Z!J8txa`!WguT<=Df@KI(mM;^uDGyb@>?AV zD?eI$@z}BAOD`oIe0gX0nt_Uhn6>BHj(xxJ?Zio<6~FCR3jcin%|9lz9(!T!OPQUU zuB|^=aJzopxu*J8&o3`%r+;o1P14WKe&>W@OZJM&%uoHd%IBCC7q33;|M;YR@&0QUz0-fm*r3i9O^Y?2 zJ^sS1p?e2LzIw~_vTOeC$rA)yvsdiNi#mI(BiY}V;IU7?yK!IEOEq-UWPKbD1 z!#QtUJM`zkci9n!58l{3X>V9uSlINZRxNvfL-skFfpdDMx!~~HXWrlXeaE~l=Qhr+ zes12DNq;%?{=|PLlwNx6_`)AQ%zb`Z%H;`b{_*U#*H7IJQfcS5Uiy3WiG-{ha~3Dp zYNA05F@HVY-Ij=IqB->_N!#F{Ti~+E+(Hc-OEbo6m-f-+JnRtFIMMau+j918I*D%D zBc>ZYdjpR>iEyx=E@tyO2`m=Ebbf~l`}`8$lS;;Iwn}q`1EKdktu*lO=6r_$8)j)~ zs=6n*Nf-1-$LM4}hf$Xz2-w_Tbwq8{2x2@*Ft3WBbkZwwNELJ`RmM))Mv@*P9v2FA zRxWL~(er}>x}YccxbX%_!wO!%w>0uv%wV5lza?q`OdNQ`xjIxM)C)auNR2%gNMmq~gb&zDl!0{U>@DVDSoeG5j_GTG4H-nC&B$*R~ChrK5y(Jh1k~-mX=gxAKjz>Fr`#=jk_~w>l^XVsqO)o>|0NM2RS#g z)99H&U)F-7-H3~#^V`@ud3~XlB*|9F7pTJNhmM>Qb_T&r<2on^?)M(7f-E%d?~(pB zh;|zF(%u-PJ5nI#Q7(z|8a*-`ceP4k zJXHhUD$6vAv?OB@Aqn_Pi46U`UHM#-Uhy#xDvudEfL~NSOLbqEcfV9vt~{?xiL7EI z7JEgx)S77~+EdxPG|Wh>uP%wmEFs#9Z2y&gc&6FfJ`;>v+lzp-v`<7kSGSZh=>zLPgCR@zoOD_|RZrF<=ElJ|( z)K}Oc7k+~8dtaF5MmzKtDHe~=NS(<@%gDl zCOa!1(~PPATt9&_v=r3nqiOkW1@y>KCS~^ZwN(_y7QZx z7*{;PXL=4tk!yI!trp*cT>B`)34MM~sjB#)c}mat2H!M%3FB+tm5|_d`4X&-I)!rX zaK%m(p%3N`f3=8ImvAwfO6_!XcFuyBuWmr3@mfGU8+>I&XMm|NLI7 zD1tDu7uiIt7EMOCc|nOd`KCT?Ga=7b#4jhNjM}s=^O=@ZmYA>@DT%osva}N65cwrg zZv^Jdb>m*QdMk-POEMC)4~1m&kTG*PAxcJsEgBZ0=eV@{3BHvpK8+%uSZG@VZimF9 z(|_T84K<&fW9O1DD0qz7;&TZ3XNq_UA>XBlmlFJ>8~SLSSa*60)04hd&lUSo_=~-6 zb!@H7fx<^_y44y?x1Zo{+Cv#8r;@nngByBeU;g;=k3EM2Up<%%QwBRk-h+nZR2__a z5Gt?+KEIVwhf0=qQHH0T_&wn!H&;A=C!?DB;6BPBxZ?XLJw2q$h0^_Qbrc~$#4;C* zw?ksekk8XO(Xp^jf4;#gDx3-IJcnFD8Ez4-!c}gyN)xN7NeQlOwTgseL3a(R0Y4`W zNyz4?bv98WZqyUamHKFnShuoLpO!$#cPKQ!q41e9QVo;|yRIe*d@(xl*kS!vaEmg; z{p7^^2@z%pcjHXJ#0vAeH6=afYu6S+*B~3kzN{U&_r}~%GIpMPE9D;%@#4PiTPBf zA*2T$H6jOqGj7%tzNCbo*h!hFIFV{~VGg1A#hnn2M$`lY%#vK*qtxR2$0cxZ-`l?L`>4S`u{vd1ZwYFUCbmNo)%fU3|B9ZXXnK%pERSXV%DM7D>SOZk1RFrw>tvUWgnBpRQ$$ zmkdm(dqRQ{mEP#_e~vKD{l%PXF}_HMN(PNjjq2Ofa+o7If=b-b!x+vzu#Xrdu*lCP z?Uy0YY>6jbt?MO^FOysKj`P~%SWzQpUfoetSgt?+V`8LEfBtGBZzA% zoc@gS?x>FU)GMqRxl<8V>h^r9lz&??Lv{wmhp}q9adM zE0gnUl`7EszJx_s%3LN_xxO`zbal)EKV8z9$7@RkvpN38MtvW#x%V6j!ENpSp>c&_ z(N5ERiQV`r;<*ddedaP56*>^3k+w3nV7MU`(e*h}*@F!{?dD6YSbv?wo=@gm8gkto z5_@uy#C{8@kWq4i>W9xx-H*p4|uewFP8V%u05^-oFIN&cq}m;g$v-8r;lA zyTOE5PQc0xf5etj-nU4TjSpJ-d5EXd5u7{JK%6aN3E?03IUI9hN8VW0oqCd=^BvXf zGL@1Yu14*4HWw+;%5*uGS;8g3J}?1S#6~-lEDafW10~skWcN8r+$I>Q;MaP+z|v?) zM>Q~XAy`1%6=3LMm&wwSr>EZ>I}CSce#j1_V>R!yQP=Pzer+XVgd9b8p2}TDGCRxe zgm;eZ01Do)I3nC8jaysE_q%DwcyoXT8`5kfuCjD+@Gj!9O)QaxJ54G=P{HESZ6G$V zAW*QJ9dn%jr%}Z-F06y>e?&YLkN|8UeryXFNHzw4%0}D%I{^HfEgYTs0l!uy1{=}J ze&N?HXQOs0lC1|ZH68J!OYG{{Ka5VDo>>N45~c&K?y@MSsSPhv2pGF_Z7Ai)#6egQ zOoFGR(i3nd;_;YyS+LY%PKhVLt6XmII^X}x4)DG9bGFpB!8F|9GJ&9x*w5y-faO4ONOI^h|6>cvR@!q5WtTfZ=^hUhx!6+GrQ9fi3ncS z3XS$aA=oCWJkhP%T^sBN%O<;!UF^Vb@P}&1K8qL&j7cLuaeRxAiWt~NTlJXp3daYq z0%?*~#UQSO&3Fdj^T-M-=)(JmCA)d4`P>SzyhcGk=J@WT2eh=c)7lb2{`wZ4q1%?v ztr1VTsYu(*G*0Ri=P!-}`iy@?AkY!CrkWZ=;Y!-tO00)SUvq)GyblFVDskf{P_?p9 z-uiW-E|#r(KyIbDm13o?S3-5Q;H7T7Fmm&LUc419Kxx0)f@dUZlsy{3)fz>#O}m`X z4oI`AsSbo{rMk8d?@P#UE;Eha87&Nd89>;2FMvL2U;;yxaRjEFC1mm|R?FL*FW;k} zd~~mb;X(kMzsnYgq?!z76vPto#$E-)(url4s$u-_b%c5bq#G69K6Y<>+j0ox{Eyua zib#NSJj(H5b;Qu+5}d&!jkfoK=z!_4%zrZFL=L|DlX7O4q8$;wU_=E%$ zrG;@I0a2s@egbvXf^32TpBE4@k*bJ8(Nb4J z1#Qz(_RAptp&uAH>+3J{Nq1o?!bm{_gQPq*y8=a284CtbV;;a3C^X1lvYC*+AORSR zwlSm0351X|DnKs%GK9F9`U)l}0fy*|VuEN`>Kv!HeGk(W@iprJk7MBYB;M)PKJVa0jwf`q3f}7=4)V`lhS03KH4RRfnUZ;>bVmErR`kCY#usF zokO70;J0I?FTmaWQQSQr!d*_li`B?wZWPgFEZC)h1|3SHhKI!iC1vFPgpjeU_0Vhar&;W4De~h&f zV-T!InUUzo%|5sX<@7Q|DI-JP6JxN2@#6TCEGK7#jufc2pP=8jK32s4`)A6qkO1dW zh2No=^GR`KmQdLciUttiAk2XQLcvZIfZ_(QY39qJbIdG1kuc`21ZCoW<#?HR{B?lR zDS)6sL1W=dz{waZ5rH--f%*=ALWo%RHF3P_|9hB#mR~4vv4C|%5uj4azyMoobR%5x z6V=TQw>od6YA$g8zZSXGFU|o4#fd@6FtiMi>}*hWCfoq!-hJl&$gse8VO1A5&S(|# boUtFRdxM*G^tDJPl2+WS5>W#xOF)G{0*NR{6_vUX zQ6cUqTUdkuVF-dqH7p`R2q6jkmJJ9=2wCQR5^!t#p7)RMeE;b=9_M5xGZ}d1zOVat zUGeOW?atG`nD>Q|kPr`a1)ctJPzvSojk1yZ;dF|0r1#iQK{k{ozR^9&0OUbn= zw@M<=(&+N%9wjuM^!}oHO(zuAc18M2&k0wHH@|=D)$`YV^}3MNKc*FIe$#fpO1bBj zkCl5ed7Gy%WzGX#x-eqS;EKA+?{^@r-8J{(+j4%N5+VQLMnL!J<<^eRvDdyDdGZH8 z#cSzpNHCkTr>J8q5*2V|#dkiuX)tp!B>zHS*YgH>-{ZjE<6%XtM_Z3~esNbYGqPe> zq#Ho|aGN>T9ouVe`u)ZICyy%X4r#x;b+!DEWBK9B6DBS^-1+1(yUl*?(596sN%x;} zresmB{BSeMes#|k?X91WOr$!WO1ia(Gw;-uI{TcPX4c}?cGLY!QrwBJHz&B0NV|KU z;5`pqt6u)#`LsXMFMIDO|1!<1^zWD*8J_kPM`tfT=Kbd6vsAO?$M3vZhS;8c^z$lD zd+ZfA?Pr^8PNg1i`zp=O=*5Pe_n$4ER(kBx)o)2xoE|Q^%RMvy{Kfq(bi2G8XVPy2J(eLYj-5qvI z%<~H6{+)1p=l5JK`g`lYurA;3ikuwen(1(o@L1*Y0Q+Oo`p-$xrzd_t#an94YWJS` z?b@9`S4)q51{Tx%KPM0Np)EtIk+A%cpVJvE7cS7&uI$egRGOZb4CQqG*@s5kbjXkb zSpB)LXQ( zVrb1J@E#>uG2&3F87}3nd(*VR$LhAkK_kZhNf}g85(S@~bI=^KVEo-8OO!anB@uI} zR7<4k$YU|JP|NcRE_!cp3s7uDs46=xc|?ej!AnPEfpfXp zQY2{`-?z(xf1$e8vGfG$ob*f&lCH+5MLqgB%Bh@Y}Me1 zwQQG7G?Y$5pI*@pcP5^_?#=(~`v?aYa4*u37 z+#gFeae7u_vAm*-F*1wGfOviblh@y2$gQ}InvT&_d0fn0E(YA3&MJ9%wi?y3qEb51 zvFm16iMFSPh+XyL@whcNE%|>9dn`I8WX9phg>bu?nV7PMWV$G#DS;MkEs1Hw z{nC6uJDZDH)}Q3M{&Rk~Y(Y|_`r`-4$Z{=Gx^sBw>(?w+9m~N2Dvq_^ij-0sq4eA; zVb=wREl8=;a{S=L;rwI*8cBm2My9T0z|8GPsZ|Ei9W(Y?A~9UaeUnd-ACj$tiq*#Q zp`V~){`z`! z+qDOS%AwH7NMT_&k`OK(9va0+TUZXWp<+BCTuU>3!*aNl5|MigjjlOM2=`xyMB**l zE*;&8yZS@B2r9_Mq28AU{Z{D|$f2orDiL3Zp6i=}M-;dF(?qS1t&D(Al&5T!F!w+? zjnFDtK#yE9in&0|S~>Mx7%e>nR~^9(hZs87J6d|CYd#*A5rUNTf_r1AjXj1XPOC&o zVvdI&FV0~!A`}+#0$LdAmfQGz-|+(}ojPW({#B1B`;S!e_X*K0b>I>!h>N6-*Kl@@-#Vz9{RmYA?(6qoYp4M@slg> zDJOk=f4{PHzUp11&nL(ALE=QWY|XQAAg znd?CldPB=0#)4t~bF7kFNXn;N6Ndyenbb2pR?w7<@KH^4A`h;U=R)cJv?UyqEy|bs zl#Tmpg^--NFB`rmv?jXupzgD#V}; z^P67mlE6Iu`EGIfkOO4nR;&8>Bd=}ZpuYN5deLH;2(n1xThw}cO9TE8qPeg66uyOv zcd#_zE_-%w-UYB;hM>Y2JB+j@B2ZTjK3yZcpCwV&sW@nl!HhvOA4w1^lZN-z9qEQ` z)$ZBaiKJBas(NleI?l{z19E9$2|r2Yn+S)j%B}S!1fP10W_#jv|pb8El^~iJOXJlHFYqe7^?66Wj^;3*TOEpj(m24 zxWXa{&F||Z905PHe1u)!w^q=73cK{#{5MXrK6G|s|exC2<{y8z8rRfq@u4&&V0>^tD^T^SU^1T0_{(eCDBD}QRH5GHb?>aA*;apeQYwXh1Q|%>H{Hh15j~i`y;4ND{DZP6`GZpt`uAL`dBY-ZLI&>5w+o%i_0C4`(?6F1A<|{dai9`k!%)G` z{5HDfeC2T20q65Pw};!P@e>IV*7_xn?yXDpnGZh|*~K2vN@ZEuDUA zI?=t`)E-lBQj7`ONuzlqS(>))Sms}S#yVLg);*~aS}L1-gE`H`9xBC)}u-YYtRu*qg}gH7;Q(CV0<3g38Jxc$o@gmg$0?oTX;PCBmm<4~Fg? zs&u(tm^M|JvzUWspMkQ*`-=+-(>wmeG_z70YZXP8p{x^zMx&{(rBIMgjPT*_NKPy> z33iX5YJ9i9RNpynsettAl06@q+ct7(r?TYSjZIG|dBN|?Y}R<+sfh^F1>9D0MDHIT zm?LRJ@8xkfj}_js4Mgl|J|`KveETu;K^BRvuw!PR2qE{E|;vm{>C13P=%^VzIU+`CZ z;|M*om!`0dKmKi$KDSiPTIdV!maV$lD4pjVm1`(ekG|rb` zEwE0!IHDWPM)rH{9X@XnRNAWZM(49r5Ml7aBE$$CNSu`9T1ES1 zsOSU|$raX{XnG#rCq^+ddz+w)3q-%uszXQ{PTCgb&}GO8Disr=lxNo|^HXt$dSW4Z zlT23h+)UgM(8BVl7YZ?(kU_cV{VqauqmPWzHWiU%HOxN+6+E4asPe^{78KFxcfqxr zn4f_K==@C{J%o~Ewc7hMRB*wiAP7n87sn7I5m4!nVoesJsfd#ID^3{SqQUydRuF>a z7M9|M28eMODgC2lO4dXDiRiw_fy0*d9&uut{^1M>k=it~7+*oq9;ih91l@|QMYp!C zF+8C~h9{I}%?9__`Da;dfNFDC`_9g9am}Nhzm&~yxXWMk`!fzP{NE3%QR~vZ!|l%} zCm@gTHAi|}huez=qYC3^`|8^Fe_%)fd+%v2Q zU5kvw4v+0veR+IiAV2y4NTb$Qcb*|s;%~7bQTs+>FDX@0>Qu~wY zQes5~8olu756C+%6V{}P6uwH-WZBS9*97j0oe{VWWQPpbkvLge$ZxcqlSu{Bn~qw1 zCqrqqt0+jC`VCct#X9|nSB>t{KkfOjx0*btyE!tIab4x|exy^Uu~|3P?C-Wr#%Zta z1vA}lTv{^K-n)AST{OxO3xeQEB9@|n^6IM*_>rz(Y?mt|9;)k@NX+w|luDMNpC)+~ zoS;=q&Ap3A@C0+<3oW((n)Xc*J+w$QG();ElOU2x1WW5DwW(NQ9S`)_-8f;SCJ(h@ zbS6rm-keG0>pFF{!!Mn>@sf-@Nkv{VO)^ls$0YQrXXAdIJeTWmONx0EvC*Dn93o94 zC$17A*hwwA0Ugbt)7}=4Ou6PJlcXVve!G%0*)!xcak8exjCw#3I9Pk6WDf?@;ky;yaFUyI{C*I*coC^IgdGF(-;j&lb4i2WZ#Wj~r&)I%^&?Iw#FIa+Q2UP)qOz=@(pxXYJ!vmNSD$cP=n@FuI_qpN zbH47P1TX9ox&)B>f}mxx7=Pq;%$Ksyz;9l6-Pp3y!)bLpjYQ@JwGpj5Ic9)>y%O}mzPaDfy zQ(~Y@f29A=%6?`6=TP@sitzNLD^Qp?>m|GEt-BhaEmP4NW_-2-S9&FvQ0#FMDWz- z6lG_ux2C%$3|{BYTeDY{bFdiEc;1e9Y*WM3?j+Zbf89n#)oUd4x7O(Hd`XC!h9!pZ zSgiHavF@NR<#1_;F#AHZXTGb_R`-(=Go51hI7AxQr`r<9M7Mrn7QaJXl|l?Q6*gd< z`c}VTm|x?;i~uHj|A`WHqzGr#%zCM4w-q&Pvs`}Mw3e>hCS2G^74l{a=ApcOl;mRo z?+A?-c6$uxsG;;|FF^1rO-9*TH%MO)hh5+%qEnzbTJ= zf@`g`&cj>?RgjpE{npf>z5WlNLqimhNU{88?0w}NQH4QrE+Llg;R+mDdy+@Kl0mlX zROg3&8DwqGgVh1CpyU8(10>oTjrGRN6>t2^Ij#GVf&V9-kx#Hord|_fM0ytK;`Spm zOUmy-MMZf01?mbdm*^3C@hgcs&7k%9R$49Oqdh=&relynLe<>(z6^cqoDr|+@8^3V zPzQ)~I`M*&&ul-zX#52~U2r6*WWUvk*(NP@yGq<`_-RWpwhW)`i5{Jt;ej*v1;1VL zfW0Er@(C_B|3)gKF@o@liJ$We{|l-#-9mpWaz@VlZF`f+t*~gfs$x}xtf$x5vWSk= z4ak66u`C2zBl;~{5jGLk8nF#IKzh0XDmeq>Z0t?&$Uj7k)LK!nA^Vg$RaS>}KdosS zoRO`@^G69fT`CeiLL91n*eAZ>e#p|$pw z(3+1I@RWTD6qh z%*ID&QbTzef7t@%-JQ9xg_U}U=w+@b+bh@Ofhv?X;tp}y_Up5uti#B(eJHMQv!d+v z7+V3_7hN(U>aL3&Q7v^TpzMiU`F1x%)MJqD(=z6@T630fbcgdso_g`o@9WTw&!Nm9 zWO`=ydhn>eQ><+&dKBL`mr}ckX2ullhO%_Nj98+32yRK_f7Afl4QbM!bls1Q)y1~U zS6E50d)_gIm!`5UYPq3O&~7qO{5h!BB4HUB*RMR&IGl41vEnY2S)`mTj%l#=f1>X< zVTOKlOLYQAdnAp{@nU9r1KQ!X=sj^bD}VVDP-7j-hj4eAZc}DUL#`nmo)f*R!*Z=x zdldH_so3eJ=WtoK(1?$J8%E|pz+AtjUAJI(!rYezNqeu}WKEJM(uSMHQVcE3lkk!< z^_no`s_Fz%;tds5Sv$rO@b`u%oL199kiy43xlqA$Vn`YxoP(yKTeb0h=vDz(ILQPj zZrm0{|7)n&pXP!bpx(SJG1e8`J*dpLm1IoszM`)oHaylA#pv(^y3m+!J%h(hExBaq zHnp|Fc`i>}>A^_cHX4om9aLIPh;jrS>1H+NjJ4+p(kr5gqJ5IJ=W^;b$JTy6{~WmX zet439qsceHZ}^Q~p`^~}>7bf9wUt4|sdR)y?lnAt#g&z!_k-Rw3CchnlTorQ<_Ieq z@L^9}U6qo%Q1KSk_oX-VClVw>rT4@kwO74ft zQj#!ral+@5yPfu?htR5vRSB}k=$2W;fbMGgt=i%C(7v&Tp^V7zMh3-?b)e(5zVU)> z#3+Yh!*T*@_VOAMlB=A6T5&9H#+$g6WQodGWK7CwwmL`-zY4}V!#niY?~=&42C4Xq zKTp&F6tE0Idd{D>v~%PiE~SPo%mk zb_w~-ecddFV)MfOY$k)8yVX2;%!D9#fomuS*}7-F>ogJ4CF3?k{Sx(cL7{%CU=vD; z%2BS%nv9RTpH{JJ1EoPF72?YZ_eN3s*OHtVIw8P zBi@%646{hvCKh}&J%bBMOCsYPQ&f8+BlR5%@mV0N=2Dq<@a|hY1rPdEk5g~ zF(+VC!ojC#&cG_k7$MH+K}CFI6-2(X3OxSHDsWhb3^EbuWWK}h-oYxr?yH3{qKwdS>0z`MgmH3A)QKF%r?kX zRH63xLd&))D{nA!*PCq3K;>y4l*{w05IGQN^DUz$`OJL-hd&U!DdPfkAHj)Zcn8cG z6RM;UlMN?GO~g1YX%{6nx6#eoO>yvj6UP;`}x$B zuT84FDks@}KF5KGl!~|?lc3Ts0AMeK*UT_?YtqB@lT?Gw&3aLL_=vV{MOIn`lo=~8 zn?tteJacKPsJe+;4SVOa^SqJ%dkl1^SXDg+PG6wiid-9u=stYSUKumfN1^gGNM13| z1K0>FVQf!j!$crXy$+sLygUQtI*zqQrbH91CkTiJYfsRKddF>tm2gatwLiJ6g7j?q zyG}+8D*2Gf9OR8L8QpoAft{NJFA44b94P$(w|D5}#dmwGujA4G9I1bn6~r%Jt&ZK? zYy8tyaYG0aX}0Pr7An5S(yQ3EPC_sT&Et-+Ml?BS{{2RX@c@{GT0+#4t!sW0ucS&U z9MfGXs{1`Vq=CCbVQD_tRi~0Dvzd{HkxRI7+$>kS@X{*BHG)yQjGJ!2`*V%(GZ+sq zz_3a~T)&R1)9YX$TL07MOmBk64g?aE!f)OW))Q!QML#Y3Qp)2=1WC=hLN1vob~*3# ztX9hG9PI-d&(o3Vj0;Ft&QWV0W)7|=hBSaEHk!(z^@>Y?a596c(oYj96 zNNMepJ@H;)^KI;IO>|AT9_Yh&d`~+2bEj1Gn)(N&c^jl3?6s+zf@Xkur z#t8Z7JOvP}N5o1Xg2u7{f#C5^M7N^Io(T;{cmUnrRK;LR;AI(8smw+ru2#pZqeu^`td$ zy0Ap=fmKVzkqh*)x2bcwyl#bPG1r8f!Io#Co7zpC$M_D?9{lF&E>)>!zd+tqVtM;DUH2}TJtKaTc7|2YbX$`#B3AdCw z>!Q_Mz+xVqT~Bm3R~D5)Sw+vk1QRUr?F1X!BbY>>R->Kn6>rz%?2?y_QpJ`MYy*@r z{2%pzd9(!oJ%2RC%}&-_`YfWDvPYg@24#v}3YvaIRUyS}LzQ6$>U3cqnv=pz6Bv3d zFy99lE&AD?5Zfje)RZ@JmR#wDyUU{#j? z&5Sv48ojrey{AOh~2TmM=3jAp{T;Py^*{;Z-4|jqOP!KEc|A{*MO+W9#Ym;db=38V72IP$XE-Wz; zAX(HyVifr;yS8fPc9cL=%X_B?NG7t$CI^ zGU(Y(q6eO%x@2bC6vrKjHc<|x^3erse4WWsT@Rf;KQ+ z^B8f8A)Br^BR~C#B8iF#@!cz+ye3`h2U56>>(L-&xCo8W3X!p8&ATBrPB}z42JUg~ z#c{9Sa>Iblx3 zyAc@TfXt*2f}KTqiFSfxPW5rz2YSt;hp~BQpi;-TWS8nlvJ)FiUKy4XP_|o!Mj(HI ziRRhg%YNB`tkD$qP_q#uFOHJWYrA$5f&mK#??Bmj!5eZA_ROYr1i!3!poVKOBXfy< zS$}o>a}>H=SQ+{Gv#r}Zze)&T#<$v2B%_h-^XrgTtPU%Rq7{ ze0(_)xl5IVwW=_%7T7j9d>~mEAogwp;1yWwFU*?>@QMc}%FLI8FVK6tuN$C z4Lu_8aNtD*$6_)MP6S%M$V#go!bXq?#cNtq2wwG^m@NhdL-5x3C~6D*7|n6XAo``; zL`nw&J5wul5?%FA0W*`CEudBPhisGQ^D8l9ksFAnZ&of6cq>hGkkm8IIQ#YSn*E3> z?DTF7iUF0YbTKc%uO z-tC%UXj`Y$Os6&g)_xraYXGcLFI#)UKXShJlAA3IEhrW`qFdgTmk4dYB9>0pyY=rU zX>dWc!clRn+e0qbcQ4H61b+pB2XO^s zATBQ%9#}RqQyp6R6-C@QV>(4Jb&jFB{w{oQ5p!n8)@oO6L>2)?T(hm}2(NT)%i z%OcdZ)H>goiY{8>uI@RbN7fX4*GJ#c*+@nRbjRQdB^lUDg%|$a-9T}gHS1g|>DPZ- z9^>9*RbmUNB-L|_)pjas6T_lclB2==4Ipct?u~*ngU$U3^S7SV9v32;bVr}w`#}6s z1INUuUmx(04DawA7p-l`uj*9Z(q(!Bw*%l;8pczp8Pmaf#&cJ8dR%V|Pq+t|Sw znmI>VWZ7uqp=mp0hVn+}?H^6-M=oc#-A$M)@~v1%^zK8u3;8#~WggXV(G5<|afAFF z%hA+mfbr#Ox}NAAa$y1R4;176K_XlvGt<)q%x-EBXhd)0G&LGTGBry(6``JG_pXzX z%TyonnUHZlv$BQ_(GDa1!2%&*^#t(g!S@&@c6ZW#e)vDf>sM7BPGy}UtHpN^fA7e5 zWkbbV-|R?`4_&lj0NEOQMOXm{ufZ&05yG$RQ%Vvf%uWDdGnWre$*YYhLMXG)Ufoxc z*FlV(94(Uzc5Uoo2r6}oJ0L@2@EtopTd5p~5DK0I9?%x@y$r#MP}mv_t^oWVDA}Ob z#CieyVI|2YcPsFEQ|Q3>fk2LW5#D-|!k14r731*?GXAK#ClD5oc|lD0vM@!j_v9K& zC@-7uAyVEnc$9mD_@`ZyWi+Z-+7UJ?a&&@fVhwwEf)wHTM(EcB1Z#n+4S9$V1#5!c_ojpZbQ{$TOdBA2 z*j5zzXtSQ*`k;{mIUA5!`n|t`xuH3NH2A-*u8PC%t`}>3?0obCwRx9z6mh!9cF99 zW6dItKHqb+3`*bp;m8UC35X(gd$fC}Rtd%K&}Y(R_f3uRgVye(jYeH)xxX_ZVi?~Sx2 zj++DxCPH#P5zt{}{_Fp$0jVnf*)SpX0I$k#qM2+Ey|;n;g|a9ggg4*Yi8Y!cmAWHf zaAGFIMx%U4!W{;THf+}XaY*~t`1y0(_;FDx&W&zg#FY!@>7j4TTjo36<+>YfX~zm^ z)r|S@oO9C&?t^I8caG5I+=`pYd%uYRrg^wAt1sjqqjOevWn}aV4r=#r$iMCwB(1|Q zP-*=OdAlLGfcrzp=YdcQ(1gy3z!4>I!5HsND!!$LOszch1C2i8!MdTw8%F^?^!fIg0~$ z*dFKYO$NipriGP8Ahw|eV8IqUnu_$ni-1?$(fM{{LypK(pCcMiBV0vJNbl31NX#)= za|6Ub4ye=k@8$0X9BvOy>Xd;9{bLHwwyWH}% zAVua`BvhV_U(ei1I^+|aO`)8f_hL)$6{GmY3@t}n`?R=tYZpEt@+*OXwQ$3_pAs|a zd9g77yn=YTHSVxbTY1%{g|WC2#4;0IUV4@2uIit5F}X>HDTc?4n|c*f*PuSoKa0?< z>zC&&G`(IJ+v9 z$^!ZGzQLiBR3KM<5jOg)d3tZm0?@$7$KVtK76qK!q`;Ema>k`JOEp7n$9nQ>nC=*8 zParMWz$I9b$6$=IMBkuLh44x!Ctj6gU|bnJX%3p>4X3=8Q&wFk13WyVM~zqv24u{y zJas=tk4HnS>8N5@_)!7zbA-ETR&x9HdP-6nCP*<$6=wP^L00_y3LY=W+w-nvf2{cM+KNt{(S#AQR1 z$ZNkU@_@6k)u>F`KBn8EBCT8(CxP3hnlYFwfh98_Mv*sCXV0N9^}b|p%3$kzUy`Lo z2w-3@_1OMLN8^WYSidNB)cD_)$GA7S-1nGTm3nN9)n4JEeA{Q$Xl8+#8$i}Kqr146 zUp(Ju6PWweX~yx5?*%WpXiR|89`sxpdj~aOO!3AtcdR$Wqoj5r7o3sHi@|sz8`r*o z>%`TVj%$p1lk=IFh}Dd-6V)mjN%L-H0rm0R`WCviYFrUt7QJ(RoxA}V{sUSYIy|NY zs9A(4@5ktG9SAS^H_-dHA62iO54dxPf6%)9*}2N0niB2D4_|tgh@7CV?Z}EUgcPQY z95LwJo0{_pjaC*D8T(p<1UIDrVCb#uz6>C2 zLD_hKwWXX8lITL1A(w2#D&at|>+2*b$x6+QRp>(qz<0bdxvHgHmO-vBIxFuX;4A3Q zU9NMqRDG6-03y0`^g0-j8R3VOq*<596&OsRw+8|V+V|Fz%v@6c{UD#GPdkaJ3@v@k z3)1MefUFbHcnvb*aN~0VE?a=>*L#$%83JR9RTYzz&y0N+G3JxCtaNu~fyAKJse(K7 z(7AnMK^dFtwR#6gp`0;NXzf%HL95;|&e_B;iR%qY4oEnGv27K6_LAQ;dGkhFdjs1M zq851EPa~B*n?b=t+K_(~4Di7&^!RoW-i>7Aa@9*8ZBp!CDOE<79;+yzlG5TJ-dqp!{cd+9I*%MT<>>YYFj30jId1mT|-f&yT z;&($Y_y|`_{vBN+wc*i&Mp1Z4#P9#>!22nTi>n6O_fr`6QyBMC823{c_fr`6QyBMC z823{c_fr`6{dcARzl3qmJ?5V`GMYL||NjDf3g&(a=6(w1z8!);1#>?Ib3X-hKLv9? z1#|zOgSqsio|KQW3Weckd{9el-~I;|RXyEvuS-Kdz_)rUdv zerzZ>Q>_C*9!4=g@H(cMrnf@z!{K`$efWj5>tnv7MP%}-w_l1@Fqq&wBd04DV?xg> q%We$%xXgI`%hO`n7bhpGVC(+rJ}nD!AL@DT?;EzS&-`uwss90@X@U*_ literal 0 HcmV?d00001 From d6f4828f2a881690f5832af1a3e53b7a10162357 Mon Sep 17 00:00:00 2001 From: Mloc Date: Thu, 14 May 2015 10:58:52 +0100 Subject: [PATCH 214/305] fix an issue with destroying light sources that have 0 light_range Signed-off-by: Mloc --- code/modules/lighting/light_source.dm | 4 ++-- code/modules/lighting/lighting_process.dm | 6 ++---- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/code/modules/lighting/light_source.dm b/code/modules/lighting/light_source.dm index 6322446204..1897272118 100644 --- a/code/modules/lighting/light_source.dm +++ b/code/modules/lighting/light_source.dm @@ -69,7 +69,7 @@ lighting_update_lights += src /datum/light_source/proc/check() - if(!source_atom) + if(!source_atom || !light_range || !light_power) destroy() return 1 @@ -97,7 +97,7 @@ light_color = source_atom.light_color parse_light_color() . = 1 - + if(light_range && light_power && !applied) . = 1 diff --git a/code/modules/lighting/lighting_process.dm b/code/modules/lighting/lighting_process.dm index e2e422bd60..28e1f1fa5e 100644 --- a/code/modules/lighting/lighting_process.dm +++ b/code/modules/lighting/lighting_process.dm @@ -7,11 +7,9 @@ /datum/controller/process/lighting/doWork() for(var/datum/light_source/L in lighting_update_lights) if(L.needs_update) - if(L.destroyed) + if(L.destroyed || L.check() || L.force_update) L.remove_lum() - else if(L.check() || L.force_update) - L.remove_lum() - L.apply_lum() + if(!L.destroyed) L.apply_lum() L.force_update = 0 L.needs_update = 0 From e3564a5d80930924cb295ae2a1437dbd048d7628 Mon Sep 17 00:00:00 2001 From: Loganbacca Date: Fri, 15 May 2015 00:03:38 +1200 Subject: [PATCH 215/305] MULE destination update - MULE destination selection is now handled using a list --- code/game/machinery/bots/mulebot.dm | 14 ++++++++------ code/game/machinery/navbeacon.dm | 11 +++++++++++ html/changelogs/Loganbacca-QOLMULE.yml | 4 ++++ 3 files changed, 23 insertions(+), 6 deletions(-) create mode 100644 html/changelogs/Loganbacca-QOLMULE.yml diff --git a/code/game/machinery/bots/mulebot.dm b/code/game/machinery/bots/mulebot.dm index 125345c518..3e6f0d8e33 100644 --- a/code/game/machinery/bots/mulebot.dm +++ b/code/game/machinery/bots/mulebot.dm @@ -305,7 +305,14 @@ if("destination") refresh=0 - var/new_dest = input("Enter new destination tag", "Mulebot [suffix ? "([suffix])" : ""]", destination) as text|null + var/new_dest + var/list/beaconlist = new() + for(var/obj/machinery/navbeacon/N in navbeacons) + beaconlist.Add(N.location) + if(beaconlist.len) + new_dest = input("Select new destination tag", "Mulebot [suffix ? "([suffix])" : ""]", destination) in beaconlist + else + alert("No destination beacons available.") refresh=1 if(new_dest) set_destination(new_dest) @@ -741,11 +748,6 @@ if(!on) return - /* - world << "rec signal: [signal.source]" - for(var/x in signal.data) - world << "* [x] = [signal.data[x]]" - */ var/recv = signal.data["command"] // process all-bot input if(recv=="bot_status" && wires.RemoteRX()) diff --git a/code/game/machinery/navbeacon.dm b/code/game/machinery/navbeacon.dm index d7224f2212..c9228000e2 100644 --- a/code/game/machinery/navbeacon.dm +++ b/code/game/machinery/navbeacon.dm @@ -1,6 +1,9 @@ // Navigation beacon for AI robots // Functions as a transponder: looks for incoming signal matching + +var/global/list/navbeacons // no I don't like putting this in, but it will do for now + /obj/machinery/navbeacon icon = 'icons/obj/objects.dmi' @@ -27,6 +30,13 @@ var/turf/T = loc hide(T.intact) + + // add beacon to MULE bot beacon list + if(freq == 1400) + if(!navbeacons) + navbeacons = new() + navbeacons += src + spawn(5) // must wait for map loading to finish if(radio_controller) @@ -241,6 +251,7 @@ Transponder Codes:
    "} updateDialog() /obj/machinery/navbeacon/Destroy() + navbeacons.Remove(src) if(radio_controller) radio_controller.remove_object(src, freq) ..() diff --git a/html/changelogs/Loganbacca-QOLMULE.yml b/html/changelogs/Loganbacca-QOLMULE.yml new file mode 100644 index 0000000000..c5df55e25f --- /dev/null +++ b/html/changelogs/Loganbacca-QOLMULE.yml @@ -0,0 +1,4 @@ +author: Loganbacca +delete-after: True +changes: + - tweak: "Changed MULE destination selection to be list based." From 9006419fcd47e48def0fb5512306196763922cba Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Wed, 13 May 2015 16:34:24 +0200 Subject: [PATCH 216/305] Creates a default vent for atmospherics tanks. --- code/ATMOSPHERICS/components/unary/vent_pump.dm | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/code/ATMOSPHERICS/components/unary/vent_pump.dm b/code/ATMOSPHERICS/components/unary/vent_pump.dm index d9cfb93a18..4674d52251 100644 --- a/code/ATMOSPHERICS/components/unary/vent_pump.dm +++ b/code/ATMOSPHERICS/components/unary/vent_pump.dm @@ -61,6 +61,16 @@ use_power = 1 icon_state = "map_vent_in" +/obj/machinery/atmospherics/unary/vent_pump/siphon/on/atmos + use_power = 1 + icon_state = "map_vent_in" + external_pressure_bound = 0 + external_pressure_bound_default = 0 + internal_pressure_bound = 2000 + internal_pressure_bound_default = 2000 + pressure_checks = 2 + pressure_checks_default = 2 + /obj/machinery/atmospherics/unary/vent_pump/New() ..() air_contents.volume = ATMOS_DEFAULT_VOLUME_PUMP From be02c74508ccc63953874e2e112d1aae6d43d772 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Thu, 14 May 2015 15:32:01 +0200 Subject: [PATCH 217/305] Makes use of the new pre-definer atmospheric tank vents on the engineering outpost. --- maps/exodus-5.dmm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/maps/exodus-5.dmm b/maps/exodus-5.dmm index 8dc6ee6d17..8f0fe1ad59 100644 --- a/maps/exodus-5.dmm +++ b/maps/exodus-5.dmm @@ -1465,13 +1465,13 @@ "Ci" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/blue{d2 = 2; icon_state = "0-2"},/turf/simulated/floor,/area/outpost/mining_main/west_hall) "Cj" = (/obj/machinery/alarm{pixel_y = 24},/turf/simulated/floor,/area/outpost/mining_main/west_hall) "Ck" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor,/area/outpost/mining_main/west_hall) -"Cl" = (/obj/machinery/atmospherics/unary/vent_pump/siphon/on{dir = 1; frequency = 1441; id_tag = "outpost_o2_out"},/turf/simulated/floor/engine{name = "o2 floor"; nitrogen = 0; oxygen = 100000},/area/outpost/engineering/atmospherics) +"Cl" = (/obj/machinery/atmospherics/unary/vent_pump/siphon/on/atmos{dir = 1; frequency = 1441; id_tag = "outpost_o2_out"},/turf/simulated/floor/engine{name = "o2 floor"; nitrogen = 0; oxygen = 100000},/area/outpost/engineering/atmospherics) "Cm" = (/obj/machinery/door/airlock{name = "Toilet"},/turf/simulated/floor{icon_state = "showroomfloor"},/area/outpost/mining_main/west_hall) "Cn" = (/obj/structure/sink{pixel_y = 30},/obj/machinery/light/small,/obj/structure/mirror{pixel_y = -32},/turf/simulated/floor{icon_state = "showroomfloor"},/area/outpost/mining_main/west_hall) "Co" = (/obj/structure/toilet{dir = 4},/turf/simulated/floor{icon_state = "showroomfloor"},/area/outpost/mining_main/west_hall) "Cp" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/outpost/mining_main/west_hall) "Cq" = (/obj/machinery/conveyor{backwards = 2; dir = 2; forwards = 1; id = "mining_west"},/obj/structure/plasticflaps/mining,/turf/simulated/floor,/area/outpost/mining_west) -"Cr" = (/obj/machinery/atmospherics/unary/vent_pump/siphon/on{dir = 1; frequency = 1441; id_tag = "outpost_n2_out"},/turf/simulated/floor/engine{name = "n2 floor"; nitrogen = 100000; oxygen = 0},/area/outpost/engineering/atmospherics) +"Cr" = (/obj/machinery/atmospherics/unary/vent_pump/siphon/on/atmos{dir = 1; frequency = 1441; id_tag = "outpost_n2_out"},/turf/simulated/floor/engine{name = "n2 floor"; nitrogen = 100000; oxygen = 0},/area/outpost/engineering/atmospherics) "Cs" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/outpost/mining_main/eva) "Ct" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/structure/cable/blue{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/outpost/mining_main/east_hall) "Cu" = (/obj/machinery/computer/mech_bay_power_console,/turf/simulated/floor,/area/outpost/mining_main/eva) From d95701a7b5518fbe9b4d09c30b1efc054b55b3fd Mon Sep 17 00:00:00 2001 From: Mloc Date: Thu, 14 May 2015 18:03:18 +0100 Subject: [PATCH 218/305] fix for "cleaning light" Signed-off-by: Mloc --- code/game/objects/effects/chemsmoke.dm | 2 +- code/modules/reagents/Chemistry-Holder.dm | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/code/game/objects/effects/chemsmoke.dm b/code/game/objects/effects/chemsmoke.dm index 37ea4fd096..f641561ba8 100644 --- a/code/game/objects/effects/chemsmoke.dm +++ b/code/game/objects/effects/chemsmoke.dm @@ -149,7 +149,7 @@ if(!dist) dist = 1 R.reaction_mob(A, volume = R.volume / dist) - else if(istype(A, /obj)) + else if(istype(A, /obj) && !A.simulated) R.reaction_obj(A, R.volume) sleep(30) diff --git a/code/modules/reagents/Chemistry-Holder.dm b/code/modules/reagents/Chemistry-Holder.dm index a9562ca861..71b73800b3 100644 --- a/code/modules/reagents/Chemistry-Holder.dm +++ b/code/modules/reagents/Chemistry-Holder.dm @@ -435,6 +435,8 @@ var/const/INGEST = 2 return 0 /datum/reagents/proc/reaction(var/atom/A, var/method=TOUCH, var/volume_modifier=0) + if(!istype(A) || !A.simulated) + return switch(method) if(TOUCH) From dfd3a679a8149dff249a5fb9bb49f8c374469080 Mon Sep 17 00:00:00 2001 From: Hubblenaut Date: Thu, 14 May 2015 20:02:09 +0200 Subject: [PATCH 219/305] camera rebalance --- code/game/machinery/camera/camera.dm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/code/game/machinery/camera/camera.dm b/code/game/machinery/camera/camera.dm index 4a7aed5555..ec9c17f241 100644 --- a/code/game/machinery/camera/camera.dm +++ b/code/game/machinery/camera/camera.dm @@ -138,8 +138,10 @@ else if(iswelder(W) && (wires.CanDeconstruct() || (stat & BROKEN))) if(weld(W, user)) if (stat & BROKEN) - new /obj/item/weapon/circuitboard/broken(src.loc) - new /obj/item/stack/cable_coil(src.loc, length=2) + stat &= ~BROKEN + cancelCameraAlarm() + update_icon() + update_coverage() else if(assembly) assembly.loc = src.loc assembly.state = 1 From 5ca2e74a470649bcf33948ed6f80747d71c92a45 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Thu, 14 May 2015 22:22:02 +0200 Subject: [PATCH 220/305] Changelog update. --- html/changelog.html | 17 +++++++++++++++++ html/changelogs/.all_changelog.yml | 17 +++++++++++++++++ html/changelogs/PsiOmega-BrigGarbage.yml | 5 ----- .../PsiOmegaDelta-BatteryDepletion.yml | 5 ----- html/changelogs/PsiOmegaDelta-StealthFixes.yml | 5 ----- html/changelogs/Techhead-InternalBoxes.yml | 9 --------- html/changelogs/Techhead-PAPin.yml | 4 ---- 7 files changed, 34 insertions(+), 28 deletions(-) delete mode 100644 html/changelogs/PsiOmega-BrigGarbage.yml delete mode 100644 html/changelogs/PsiOmegaDelta-BatteryDepletion.yml delete mode 100644 html/changelogs/PsiOmegaDelta-StealthFixes.yml delete mode 100644 html/changelogs/Techhead-InternalBoxes.yml delete mode 100644 html/changelogs/Techhead-PAPin.yml diff --git a/html/changelog.html b/html/changelog.html index 8e4e854561..227e839d13 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -56,6 +56,23 @@ -->
    +

    14 May 2015

    +

    PsiOmegaDelta updated:

    +
      +
    • Should now be more evident that the brig disposal chute sends its goods to the common brig area.
    • +
    • Cells now drain when using more charge than what is available.
    • +
    • The rig stealth module now requires as much power to run as the energy blade module.
    • +
    +

    Techhead updated:

    +
      +
    • Vox will spawn with emergency nitrogen tanks in their survival boxes.
    • +
    • Diona will spawn with an emergency flare instead of a survival box.
    • +
    • Engineers no longer spawn with extended-capacity oxygen tanks.
    • +
    • Vox spawning without backpacks will have their nitrogen tank equipped to their back.
    • +
    • The Bartender's spare beanbag shells have been moved into bar backroom with the shotgun.
    • +
    • Portable air pumps now fill based on external/airtank pressure when pumping in.
    • +
    +

    12 May 2015

    Dennok updated:

      diff --git a/html/changelogs/.all_changelog.yml b/html/changelogs/.all_changelog.yml index f6b7d619d1..549c473270 100644 --- a/html/changelogs/.all_changelog.yml +++ b/html/changelogs/.all_changelog.yml @@ -1762,3 +1762,20 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py. - tweak: Changed the pAI sprite and added several new expressions. PsiOmegaDelta: - rscadd: The space vine event now comes with a station announcement. +2015-05-14: + PsiOmegaDelta: + - maptweak: Should now be more evident that the brig disposal chute sends its goods + to the common brig area. + - bugfix: Cells now drain when using more charge than what is available. + - tweak: The rig stealth module now requires as much power to run as the energy + blade module. + Techhead: + - rscadd: Vox will spawn with emergency nitrogen tanks in their survival boxes. + - rscadd: Diona will spawn with an emergency flare instead of a survival box. + - rscdel: Engineers no longer spawn with extended-capacity oxygen tanks. + - bugfix: Vox spawning without backpacks will have their nitrogen tank equipped + to their back. + - tweak: The Bartender's spare beanbag shells have been moved into bar backroom + with the shotgun. + - bugfix: Portable air pumps now fill based on external/airtank pressure when pumping + in. diff --git a/html/changelogs/PsiOmega-BrigGarbage.yml b/html/changelogs/PsiOmega-BrigGarbage.yml deleted file mode 100644 index c376528d84..0000000000 --- a/html/changelogs/PsiOmega-BrigGarbage.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: PsiOmegaDelta -delete-after: True - -changes: - - maptweak: "Should now be more evident that the brig disposal chute sends its goods to the common brig area." diff --git a/html/changelogs/PsiOmegaDelta-BatteryDepletion.yml b/html/changelogs/PsiOmegaDelta-BatteryDepletion.yml deleted file mode 100644 index e36fc586da..0000000000 --- a/html/changelogs/PsiOmegaDelta-BatteryDepletion.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: PsiOmegaDelta -delete-after: True - -changes: - - bugfix: "Cells now drain when using more charge than what is available." diff --git a/html/changelogs/PsiOmegaDelta-StealthFixes.yml b/html/changelogs/PsiOmegaDelta-StealthFixes.yml deleted file mode 100644 index e13cf9e6f0..0000000000 --- a/html/changelogs/PsiOmegaDelta-StealthFixes.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: PsiOmegaDelta -delete-after: True - -changes: - - tweak: "The rig stealth module now requires as much power to run as the energy blade module." diff --git a/html/changelogs/Techhead-InternalBoxes.yml b/html/changelogs/Techhead-InternalBoxes.yml deleted file mode 100644 index 3cbb8f0114..0000000000 --- a/html/changelogs/Techhead-InternalBoxes.yml +++ /dev/null @@ -1,9 +0,0 @@ -author: Techhead -delete-after: True -changes: - - rscadd: "Vox will spawn with emergency nitrogen tanks in their survival boxes." - - rscadd: "Diona will spawn with an emergency flare instead of a survival box." - - rscdel: "Engineers no longer spawn with extended-capacity oxygen tanks." - - bugfix: "Vox spawning without backpacks will have their nitrogen tank equipped to their back." - - tweak: "The Bartender's spare beanbag shells have been moved into bar backroom with the shotgun." - diff --git a/html/changelogs/Techhead-PAPin.yml b/html/changelogs/Techhead-PAPin.yml deleted file mode 100644 index 3e6eccdf62..0000000000 --- a/html/changelogs/Techhead-PAPin.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: Techhead -delete-after: True -changes: - - bugfix: "Portable air pumps now fill based on external/airtank pressure when pumping in." From 63f28ee0e01d7d093481b970e6f57c8130b9adc2 Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Thu, 14 May 2015 22:26:19 +0100 Subject: [PATCH 221/305] Fixes - Material comparisons done by name rather than reference equality - get_material_by_name proc that ensures the material list is initialised, initialising it if neccessary - holographic materials moved into main material list - table frames are not a source of infinite metal, and can be deconstructed correctly - gambling table icons are no longer E-W flipped --- code/game/turfs/simulated/walls.dm | 4 +--- code/modules/materials/materials.dm | 20 +++++++++++++++++-- code/modules/tables/flipping.dm | 8 ++++---- code/modules/tables/presets.dm | 30 ++++++++-------------------- code/modules/tables/tables.dm | 6 ++++-- icons/obj/tables.dmi | Bin 22339 -> 22345 bytes 6 files changed, 35 insertions(+), 33 deletions(-) diff --git a/code/game/turfs/simulated/walls.dm b/code/game/turfs/simulated/walls.dm index 4596512fe4..52086c6228 100644 --- a/code/game/turfs/simulated/walls.dm +++ b/code/game/turfs/simulated/walls.dm @@ -25,11 +25,9 @@ var/list/global/wall_cache = list() /turf/simulated/wall/New(var/newloc, var/materialtype, var/rmaterialtype) ..(newloc) icon_state = "blank" - if(!name_to_material) - populate_material_list() if(!materialtype) materialtype = DEFAULT_WALL_MATERIAL - material = name_to_material[materialtype] + material = get_material_by_name(materialtype) if(!isnull(rmaterialtype)) reinf_material = name_to_material[rmaterialtype] update_material() diff --git a/code/modules/materials/materials.dm b/code/modules/materials/materials.dm index 5afb1f27e0..c46ca8e764 100644 --- a/code/modules/materials/materials.dm +++ b/code/modules/materials/materials.dm @@ -1,7 +1,7 @@ var/list/name_to_material -/proc/populate_material_list() - if(name_to_material) return // Already set up! +/proc/populate_material_list(force_remake=0) + if(name_to_material && !force_remake) return // Already set up! name_to_material = list() for(var/type in typesof(/material) - /material) var/material/new_mineral = new type @@ -10,6 +10,12 @@ var/list/name_to_material name_to_material[lowertext(new_mineral.name)] = new_mineral return 1 +/proc/get_material_by_name(name) + if(!name_to_material) + populate_material_list() + + return name_to_material[name] + /* Valid sprite masks: stone @@ -102,6 +108,11 @@ var/list/name_to_material icon_reinf = "reinf_over" icon_colour = "#666666" +/material/steel/holographic + name = "holographic [DEFAULT_WALL_MATERIAL]" + display_name = DEFAULT_WALL_MATERIAL + stack_type = null + /material/plasteel name = "plasteel" stack_type = /obj/item/stack/sheet/plasteel @@ -159,6 +170,11 @@ var/list/name_to_material icon_base = "solid" explosion_resistance = 2 +/material/wood/holographic + name = "holographic wood" + display_name = "wood" + stack_type = null + /material/cult name = "cult" display_name = "disturbing stone" diff --git a/code/modules/tables/flipping.dm b/code/modules/tables/flipping.dm index 210498f169..43697a938c 100644 --- a/code/modules/tables/flipping.dm +++ b/code/modules/tables/flipping.dm @@ -5,7 +5,7 @@ var/obj/structure/table/T for(var/angle in list(-90,90)) T = locate() in get_step(src.loc,turn(direction,angle)) - if(T && T.flipped == 0 && T.material == material) + if(T && T.flipped == 0 && T.material.name == material.name) return 0 T = locate() in get_step(src.loc,direction) if (!T || T.flipped == 1 || T.material != material) @@ -50,7 +50,7 @@ L.Add(turn(src.dir,90)) for(var/new_dir in L) var/obj/structure/table/T = locate() in get_step(src.loc,new_dir) - if(T && T.material == material) + if(T && T.material.name == material.name) if(T.flipped == 1 && T.dir == src.dir && !T.unflipping_check(new_dir)) return 0 return 1 @@ -90,7 +90,7 @@ flags |= ON_BORDER for(var/D in list(turn(direction, 90), turn(direction, -90))) var/obj/structure/table/T = locate() in get_step(src,D) - if(T && T.flipped == 0 && T.material == material && material) + if(T && T.flipped == 0 && material && T.material && T.material.name == material.name) T.flip(direction) take_damage(rand(5, 20)) update_connections(1) @@ -108,7 +108,7 @@ flags &= ~ON_BORDER for(var/D in list(turn(dir, 90), turn(dir, -90))) var/obj/structure/table/T = locate() in get_step(src.loc,D) - if(T && T.flipped == 1 && T.dir == src.dir && T.material == material && material) + if(T && T.flipped == 1 && T.dir == src.dir && material && T.material&& T.material.name == material.name) T.unflip() update_connections(1) diff --git a/code/modules/tables/presets.dm b/code/modules/tables/presets.dm index 91badda696..5f009e7e88 100644 --- a/code/modules/tables/presets.dm +++ b/code/modules/tables/presets.dm @@ -1,38 +1,31 @@ -var/global/material/material_holographic_steel = null -var/global/material/material_holographic_wood = null - /obj/structure/table standard icon_state = "plain_preview" color = "#666666" New() - if(!name_to_material) populate_material_list() - material = name_to_material[DEFAULT_WALL_MATERIAL] + material = get_material_by_name(DEFAULT_WALL_MATERIAL) ..() reinforced icon_state = "reinf_preview" color = "#666666" New() - if(!name_to_material) populate_material_list() - material = name_to_material[DEFAULT_WALL_MATERIAL] - reinforced = name_to_material[DEFAULT_WALL_MATERIAL] + material = get_material_by_name(DEFAULT_WALL_MATERIAL) + reinforced = get_material_by_name(DEFAULT_WALL_MATERIAL) ..() woodentable icon_state = "plain_preview" color = "#824B28" New() - if(!name_to_material) populate_material_list() - material = name_to_material["wood"] + material = get_material_by_name("wood") ..() gamblingtable icon_state = "gamble_preview" New() - if(!name_to_material) populate_material_list() - material = name_to_material["wood"] + material = get_material_by_name("wood") carpeted = 1 ..() @@ -41,25 +34,18 @@ var/global/material/material_holographic_wood = null color = "#00E1FF" alpha = 77 // 0.3 * 255 New() - if(!name_to_material) populate_material_list() - material = name_to_material["glass"] + material = get_material_by_name("glass") ..() holotable icon_state = "holo_preview" color = "#666666" New() - if(!material_holographic_steel) - material_holographic_steel = new /material/steel - material_holographic_steel.stack_type = null // Tables with null-stacktype materials cannot be deconstructed - material = material_holographic_steel + material = get_material_by_name("holographic [DEFAULT_WALL_MATERIAL]") ..() woodentable/holotable icon_state = "holo_preview" New() - if(!material_holographic_wood) - material_holographic_wood = new /material/wood - material_holographic_wood.stack_type = null // Tables with null-stacktype materials cannot be deconstructed - material = material_holographic_wood + material = get_material_by_name("holographic wood") ..() diff --git a/code/modules/tables/tables.dm b/code/modules/tables/tables.dm index 895938898a..0414fe238a 100644 --- a/code/modules/tables/tables.dm +++ b/code/modules/tables/tables.dm @@ -227,6 +227,8 @@ user.visible_message("\The [user] dismantles \the [src].", "You dismantle \the [src].") new /obj/item/stack/sheet/metal(src.loc) + qdel(src) + return /obj/structure/table/proc/break_to_parts(full_return = 0) if(reinforced && reinforced.stack_type && (full_return || prob(25))) @@ -274,7 +276,7 @@ var/tabledirs = 0 for(var/direction in list(turn(dir,90), turn(dir,-90)) ) var/obj/structure/table/T = locate(/obj/structure/table ,get_step(src,direction)) - if (T && T.flipped == 1 && T.dir == src.dir && T.material == material) + if (T && T.flipped == 1 && T.dir == src.dir && T.material.name == material.name) type++ tabledirs |= direction @@ -351,7 +353,7 @@ for(var/obj/structure/table/T in oview(src, 1)) var/T_dir = get_dir(src, T) if(T_dir in blocked_dirs) continue - if(material == T.material && flipped == T.flipped) + if(material.name == T.material.name && flipped == T.flipped) connection_dirs |= T_dir if(propagate) spawn(0) diff --git a/icons/obj/tables.dmi b/icons/obj/tables.dmi index 429969fc86234b2db96ea21c7d10196b9d4eead3..36de1b41836914f47faea38c0d258aa7718e727c 100644 GIT binary patch delta 650 zcmX@Sj`8F=#tp45jO#bIx#;mLB{|Kfi8;=kzyLLPTs znSY4;`in8+6PE;of*S)1L&rxTD}kwczjw{Ei_iU*vpC$3WUP7C^ZePF^Uvz5{-#%i z{tt9)sjOh-VGvLTI`{}j1JFt)1qO#61`Z6N$qoz*Y6Z^98 z$_sv+{#&Fw|66g$|M%a23r=sX-^h$<0E(H4X!iW+i8~M&X35oI`Qrc97wQMH%O<}G zQ<&Tk#wxk_p`?5XiTY5b={o8-R?<^%Z87Jq5sen|N?R?{@FyC*-{7j{P sKG~61wf;ZUdc9{?VC{wa1QD=n_xtrsSzopr0D$Wd^8f$< delta 571 zcmV-B0>u5vt^vcY0kDNc0jaZwL@o~?pn)F0@c6`QiSDfLly<2o8{$tBqs;gvaRzRQ zZ&&=OlVK7j5)9M801ajPG#Iv*zY2NF4`6YVVG<^jz&H&!J%O>k`~d9bDeYOwqskrVlYCSoH~+F;Gt~C- z0{|?vC_RAV){!2-e5NV?qL*upyV1ZR}xgg@_i$6}8>jnVh&;ygeIVck#AKRzFu)X|?VBBY9L-_%q ziRhCs5g(JwIS_yT|Mu?aMqwC=q98~VMm1X}rR^^tY_cc>J2^825IfI8SB~`zK+N^> zbD6f0?KhhIYUI03{r%PF&sgR^9xP`k)YJdkF5Xz002ov JPDHLkV1j}<4Q~Jd From cfb51cf19869d7290019e29a713006a29d3c0a94 Mon Sep 17 00:00:00 2001 From: Mloc Date: Thu, 14 May 2015 22:35:50 +0100 Subject: [PATCH 222/305] better nanoui caching + fixes Signed-off-by: Mloc --- code/game/machinery/computer/camera.dm | 18 ++++------- code/game/objects/items/devices/PDA/PDA.dm | 6 ++-- .../living/silicon/pai/software_modules.dm | 7 +---- code/modules/nano/JSON Writer.dm | 29 ++++++++---------- code/modules/nano/_JSON.dm | 9 ++++-- code/modules/nano/nanoui.dm | 19 ++---------- nano/templates/pai_manifest.tmpl | 30 +++++++++---------- nano/templates/pda.tmpl | 28 ++++++++--------- nano/templates/sec_camera.tmpl | 2 +- nano/templates/sec_camera_map_content.tmpl | 2 +- 10 files changed, 61 insertions(+), 89 deletions(-) diff --git a/code/game/machinery/computer/camera.dm b/code/game/machinery/computer/camera.dm index fd68c4ec62..95235be3e4 100644 --- a/code/game/machinery/computer/camera.dm +++ b/code/game/machinery/computer/camera.dm @@ -55,18 +55,11 @@ var/cam = C.nano_structure() cameras[++cameras.len] = cam - if(C == current) - data["current"] = cam + camera_cache=list2json(cameras) - var/list/camera_list = list("cameras" = cameras) - camera_cache=list2json(camera_list) - else - if(current) - data["current"] = current.nano_structure() - - - if(ui) - ui.load_cached_data(camera_cache) + if(current) + data["current"] = current.nano_structure() + data["cameras"] = list("__json_cache" = camera_cache) ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) @@ -76,8 +69,7 @@ ui.add_template("mapContent", "sec_camera_map_content.tmpl") // adding a template with the key "mapHeader" replaces the map header content ui.add_template("mapHeader", "sec_camera_map_header.tmpl") - - ui.load_cached_data(camera_cache) + ui.set_initial_data(data) ui.open() ui.set_auto_update(1) diff --git a/code/game/objects/items/devices/PDA/PDA.dm b/code/game/objects/items/devices/PDA/PDA.dm index 9979b66ce2..c908267244 100644 --- a/code/game/objects/items/devices/PDA/PDA.dm +++ b/code/game/objects/items/devices/PDA/PDA.dm @@ -523,10 +523,10 @@ var/global/list/obj/item/device/pda/PDAs = list() data["feed"] = feed + data["manifest"] = list("__json_cache" = ManifestJSON) + nanoUI = data // update the ui if it exists, returns null if no ui is passed/found - if(ui) - ui.load_cached_data(ManifestJSON) ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) @@ -536,8 +536,6 @@ var/global/list/obj/item/device/pda/PDAs = list() ui = new(user, src, ui_key, "pda.tmpl", title, 520, 400, state = inventory_state) // when the ui is first opened this is the data it will use - ui.load_cached_data(ManifestJSON) - ui.set_initial_data(data) // open the new ui window ui.open() diff --git a/code/modules/mob/living/silicon/pai/software_modules.dm b/code/modules/mob/living/silicon/pai/software_modules.dm index c2fed82165..f7434ebe91 100644 --- a/code/modules/mob/living/silicon/pai/software_modules.dm +++ b/code/modules/mob/living/silicon/pai/software_modules.dm @@ -125,16 +125,12 @@ var/data[0] // This is dumb, but NanoUI breaks if it has no data to send - data["a"] = "a" - - if(ui) - ui.load_cached_data(ManifestJSON) + data["manifest"] = list("__json_cache" = ManifestJSON) ui = nanomanager.try_update_ui(user, user, id, ui, data, force_open) if(!ui) // Don't copy-paste this unless you're making a pAI software module! ui = new(user, user, id, "pai_manifest.tmpl", "Crew Manifest", 450, 600) - ui.load_cached_data(ManifestJSON) ui.set_initial_data(data) ui.open() ui.set_auto_update(1) @@ -499,7 +495,6 @@ if(!ui) // Don't copy-paste this unless you're making a pAI software module! ui = new(user, user, id, "pai_signaller.tmpl", "Signaller", 320, 150) - ui.load_cached_data(ManifestJSON) ui.set_initial_data(data) ui.open() diff --git a/code/modules/nano/JSON Writer.dm b/code/modules/nano/JSON Writer.dm index 65b9d99eb0..97acc0b2cc 100644 --- a/code/modules/nano/JSON Writer.dm +++ b/code/modules/nano/JSON Writer.dm @@ -1,7 +1,12 @@ - json_writer + var + use_cache = 0 + proc - WriteObject(list/L, cached_data = null) + WriteObject(list/L) + if(use_cache && L["__json_cache"]) + return L["__json_cache"] + . = "{" var/i = 1 for(var/k in L) @@ -9,13 +14,11 @@ json_writer . += {"\"[k]\":[write(val)]"} if(i++ < L.len) . += "," - if(cached_data) - . = copytext(., 1, lentext(.)) + ",\"cached\":[cached_data]}" . += "}" write(val) if(isnum(val)) - return num2text(val, 100) + return num2text(val) else if(isnull(val)) return "null" else if(istype(val, /list)) @@ -35,27 +38,21 @@ json_writer . += "]" write_string(txt) - var/static/list/json_escape = list("\\", "\"", "'", "\n") + var/static/list/json_escape = list("\\" = "\\\\", "\"" = "\\\"", "\n" = "\\n") for(var/targ in json_escape) var/start = 1 while(start <= lentext(txt)) var/i = findtext(txt, targ, start) if(!i) break - if(targ == "\n") - txt = copytext(txt, 1, i) + "\\n" + copytext(txt, i+2) - start = i + 1 // 1 character added - if(targ == "'") - txt = copytext(txt, 1, i) + "`" + copytext(txt, i+1) // apostrophies fuck shit up... - start = i + 1 // 1 character added - else - txt = copytext(txt, 1, i) + "\\" + copytext(txt, i) - start = i + 2 // 2 characters added + var/lrep = length(json_escape[targ]) + txt = copytext(txt, 1, i) + json_escape[targ] + copytext(txt, i + length(targ)) + start = i + lrep return {""[txt]""} is_associative(list/L) for(var/key in L) // if the key is a list that means it's actually an array of lists (stupid Byond...) - if(!isnum(key) && !istype(key, /list)) + if(!isnum(key) && !isnull(L[key]) && !istype(key, /list)) return TRUE diff --git a/code/modules/nano/_JSON.dm b/code/modules/nano/_JSON.dm index 4f70e6e664..9579189981 100644 --- a/code/modules/nano/_JSON.dm +++ b/code/modules/nano/_JSON.dm @@ -7,6 +7,11 @@ proc var/static/json_reader/_jsonr = new() return _jsonr.ReadObject(_jsonr.ScanJson(json)) - list2json(list/L, var/cached_data = null) + list2json(list/L) var/static/json_writer/_jsonw = new() - return _jsonw.WriteObject(L, cached_data) + return _jsonw.write(L) + + list2json_usecache(list/L) + var/static/json_writer/_jsonw = new() + _jsonw.use_cache = 1 + return _jsonw.write(L) diff --git a/code/modules/nano/nanoui.dm b/code/modules/nano/nanoui.dm index ffc6208f39..f53fc98497 100644 --- a/code/modules/nano/nanoui.dm +++ b/code/modules/nano/nanoui.dm @@ -57,8 +57,6 @@ nanoui is used to open and update nano browser uis var/list/datum/nanoui/children = list() var/datum/topic_state/state = null - var/cached_data = null - /** * Create a new nanoui instance. * @@ -349,7 +347,7 @@ nanoui is used to open and update nano browser uis template_data_json = list2json(templates) var/list/send_data = get_send_data(initial_data) - var/initial_data_json = list2json(send_data, cached_data) + var/initial_data_json = replacetext(list2json_usecache(send_data), "'", "'") var/url_parameters_json = list2json(list("src" = "\ref[src]")) @@ -432,19 +430,6 @@ nanoui is used to open and update nano browser uis winset(user, window_id, "on-close=\"nanoclose [params]\"") -/** - * Appends already processed json txt to the list2json proc when setting initial-data and data pushes - * Used for data that is fucking huge like manifests and camera lists that doesn't change often. - * And we only want to process them when they change. - * Fuck javascript - * - * @return nothing - */ -/datum/nanoui/proc/load_cached_data(var/data) - cached_data = data - return - - /** * Push data to an already open UI window * @@ -458,7 +443,7 @@ nanoui is used to open and update nano browser uis var/list/send_data = get_send_data(data) //user << list2json(data) // used for debugging - user << output(list2params(list(list2json(send_data,cached_data))),"[window_id].browser:receiveUpdateData") + user << output(list2params(list(list2json_usecache(send_data))),"[window_id].browser:receiveUpdateData") /** * This Topic() proc is called whenever a user clicks on a link within a Nano UI diff --git a/nano/templates/pai_manifest.tmpl b/nano/templates/pai_manifest.tmpl index 0ab49c02fc..ca4924d70a 100644 --- a/nano/templates/pai_manifest.tmpl +++ b/nano/templates/pai_manifest.tmpl @@ -6,9 +6,9 @@ Copy-pasted from pda.tmpl
      - {{if data.cached.heads.length}} + {{if data.manifest.heads.length}} - {{for data.cached["heads"]}} + {{for data.manifest["heads"]}} {{if value.rank == "Captain"}} {{else}} @@ -16,9 +16,9 @@ Copy-pasted from pda.tmpl {{/if}} {{/for}} {{/if}} - {{if data.cached.sec.length}} + {{if data.manifest.sec.length}} - {{for data.cached["sec"]}} + {{for data.manifest["sec"]}} {{if value.rank == "Head of Security"}} {{else}} @@ -26,9 +26,9 @@ Copy-pasted from pda.tmpl {{/if}} {{/for}} {{/if}} - {{if data.cached.eng.length}} + {{if data.manifest.eng.length}} - {{for data.cached["eng"]}} + {{for data.manifest["eng"]}} {{if value.rank == "Chief Engineer"}} {{else}} @@ -36,9 +36,9 @@ Copy-pasted from pda.tmpl {{/if}} {{/for}} {{/if}} - {{if data.cached.med.length}} + {{if data.manifest.med.length}} - {{for data.cached["med"]}} + {{for data.manifest["med"]}} {{if value.rank == "Chief Medical Officer"}} {{else}} @@ -46,9 +46,9 @@ Copy-pasted from pda.tmpl {{/if}} {{/for}} {{/if}} - {{if data.cached.sci.length}} + {{if data.manifest.sci.length}} - {{for data.cached["sci"]}} + {{for data.manifest["sci"]}} {{if value.rank == "Research Director"}} {{else}} @@ -56,9 +56,9 @@ Copy-pasted from pda.tmpl {{/if}} {{/for}} {{/if}} - {{if data.cached.civ.length}} + {{if data.manifest.civ.length}} - {{for data.cached["civ"]}} + {{for data.manifest["civ"]}} {{if value.rank == "Head of Personnel"}} {{else}} @@ -66,11 +66,11 @@ Copy-pasted from pda.tmpl {{/if}} {{/for}} {{/if}} - {{if data.cached.misc.length}} + {{if data.manifest.misc.length}} - {{for data.cached["misc"]}} + {{for data.manifest["misc"]}} {{/for}} {{/if}}
      Command
      {{:value.name}}{{:value.rank}}{{:value.active}}
      Security
      {{:value.name}}{{:value.rank}}{{:value.active}}
      Engineering
      {{:value.name}}{{:value.rank}}{{:value.active}}
      Medical
      {{:value.name}}{{:value.rank}}{{:value.active}}
      Science
      {{:value.name}}{{:value.rank}}{{:value.active}}
      Civilian
      {{:value.name}}{{:value.rank}}{{:value.active}}
      Misc
      {{:value.name}}{{:value.rank}}{{:value.active}}
      -
      \ No newline at end of file +
    diff --git a/nano/templates/pda.tmpl b/nano/templates/pda.tmpl index 38cc5ef945..3bb864fd01 100644 --- a/nano/templates/pda.tmpl +++ b/nano/templates/pda.tmpl @@ -297,9 +297,9 @@ Used In File(s): \code\game\objects\items\devices\PDA\PDA.dm {{else data.mode== 41}}
    - {{if data.cached.heads.length}} + {{if data.manifest.heads.length}} - {{for data.cached["heads"]}} + {{for data.manifest["heads"]}} {{if value.rank == "Captain"}} {{else}} @@ -307,9 +307,9 @@ Used In File(s): \code\game\objects\items\devices\PDA\PDA.dm {{/if}} {{/for}} {{/if}} - {{if data.cached.sec.length}} + {{if data.manifest.sec.length}} - {{for data.cached["sec"]}} + {{for data.manifest["sec"]}} {{if value.rank == "Head of Security"}} {{else}} @@ -317,9 +317,9 @@ Used In File(s): \code\game\objects\items\devices\PDA\PDA.dm {{/if}} {{/for}} {{/if}} - {{if data.cached.eng.length}} + {{if data.manifest.eng.length}} - {{for data.cached["eng"]}} + {{for data.manifest["eng"]}} {{if value.rank == "Chief Engineer"}} {{else}} @@ -327,9 +327,9 @@ Used In File(s): \code\game\objects\items\devices\PDA\PDA.dm {{/if}} {{/for}} {{/if}} - {{if data.cached.med.length}} + {{if data.manifest.med.length}} - {{for data.cached["med"]}} + {{for data.manifest["med"]}} {{if value.rank == "Chief Medical Officer"}} {{else}} @@ -337,9 +337,9 @@ Used In File(s): \code\game\objects\items\devices\PDA\PDA.dm {{/if}} {{/for}} {{/if}} - {{if data.cached.sci.length}} + {{if data.manifest.sci.length}} - {{for data.cached["sci"]}} + {{for data.manifest["sci"]}} {{if value.rank == "Research Director"}} {{else}} @@ -347,9 +347,9 @@ Used In File(s): \code\game\objects\items\devices\PDA\PDA.dm {{/if}} {{/for}} {{/if}} - {{if data.cached.civ.length}} + {{if data.manifest.civ.length}} - {{for data.cached["civ"]}} + {{for data.manifest["civ"]}} {{if value.rank == "Head of Personnel"}} {{else}} @@ -357,9 +357,9 @@ Used In File(s): \code\game\objects\items\devices\PDA\PDA.dm {{/if}} {{/for}} {{/if}} - {{if data.cached.misc.length}} + {{if data.manifest.misc.length}} - {{for data.cached["misc"]}} + {{for data.manifest["misc"]}} {{/for}} {{/if}} diff --git a/nano/templates/sec_camera.tmpl b/nano/templates/sec_camera.tmpl index 886cb0f87c..13ec5ab229 100644 --- a/nano/templates/sec_camera.tmpl +++ b/nano/templates/sec_camera.tmpl @@ -12,7 +12,7 @@ Used In File(s): \code\game\machinery\computer\camera.dm
    None
    {{/if}} -{{for data.cached.cameras}} +{{for data.cameras}} {{if data.current && value.name == data.current.name}} {{:helper.link(value.name, '', {'switchTo' : value.camera}, 'selected')}} {{else value.deact}} diff --git a/nano/templates/sec_camera_map_content.tmpl b/nano/templates/sec_camera_map_content.tmpl index 55d9e05d4d..a2706d8c35 100644 --- a/nano/templates/sec_camera_map_content.tmpl +++ b/nano/templates/sec_camera_map_content.tmpl @@ -2,7 +2,7 @@ Title: Security Camera Console (Map content) Used In File(s): \code\game\machinery\computer\camera.dm --> -{{for data.cached.cameras}} +{{for data.cameras}} {{if value.z == 1}}
    {{if data.current && value.name == data.current.name}} From a3662a908850533cebc636b64f7d12a5e2f40dc2 Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Fri, 15 May 2015 00:06:47 +0100 Subject: [PATCH 223/305] Fixes, improvements, suggestions. --- code/modules/materials/materials.dm | 2 +- code/modules/tables/flipping.dm | 2 +- code/modules/tables/interactions.dm | 1 + code/modules/tables/tables.dm | 27 ++++++++++++++++++++++----- 4 files changed, 25 insertions(+), 7 deletions(-) diff --git a/code/modules/materials/materials.dm b/code/modules/materials/materials.dm index c46ca8e764..c791a8b560 100644 --- a/code/modules/materials/materials.dm +++ b/code/modules/materials/materials.dm @@ -109,7 +109,7 @@ var/list/name_to_material icon_colour = "#666666" /material/steel/holographic - name = "holographic [DEFAULT_WALL_MATERIAL]" + name = "holographic " + DEFAULT_WALL_MATERIAL display_name = DEFAULT_WALL_MATERIAL stack_type = null diff --git a/code/modules/tables/flipping.dm b/code/modules/tables/flipping.dm index 43697a938c..670edd01d8 100644 --- a/code/modules/tables/flipping.dm +++ b/code/modules/tables/flipping.dm @@ -92,7 +92,7 @@ var/obj/structure/table/T = locate() in get_step(src,D) if(T && T.flipped == 0 && material && T.material && T.material.name == material.name) T.flip(direction) - take_damage(rand(5, 20)) + take_damage(rand(5, 10)) update_connections(1) update_icon() diff --git a/code/modules/tables/interactions.dm b/code/modules/tables/interactions.dm index 4ada40596e..7eed01c237 100644 --- a/code/modules/tables/interactions.dm +++ b/code/modules/tables/interactions.dm @@ -84,6 +84,7 @@ M.apply_damage(8,def_zone = "head") visible_message("[G.assailant] slams [G.affecting]'s face against \the [src]!") playsound(src.loc, 'sound/weapons/tablehit1.ogg', 50, 1) + take_damage(rand(1,5)) else user << "You need a better grip to do that!" return diff --git a/code/modules/tables/tables.dm b/code/modules/tables/tables.dm index 0414fe238a..c5a1abc9c9 100644 --- a/code/modules/tables/tables.dm +++ b/code/modules/tables/tables.dm @@ -18,6 +18,7 @@ var/can_reinforce = 1 var/can_plate = 1 + var/manipulating = 0 var/material/material = null var/material/reinforced = null @@ -131,6 +132,7 @@ var/obj/item/weapon/weldingtool/F = W if(F.welding) user << "You begin reparing damage to \the [src]." + playsound(src.loc, 'sound/items/Welder.ogg', 50, 1) if(!do_after(user, 20) || !F.remove_fuel(1, user)) return user.visible_message("\The [user] repairs some damage to \the [src].", @@ -192,37 +194,52 @@ if(!istype(M)) user << "You cannot [verb]e \the [src] with \the [S]." return null + + if(manipulating) return M + manipulating = 1 user << "You begin [verb]ing \the [src] with [M.display_name]." if(!do_after(user, 20) || !S.use(1)) + manipulating = 0 return null user.visible_message("\The [user] [verb]es \the [src] with [M.display_name].", "You finish [verb]ing \the [src].") + manipulating = 0 return M // Returns the material to set the table to. -/obj/structure/table/proc/common_material_remove(mob/user, material/M, delay, what, type_holding) +/obj/structure/table/proc/common_material_remove(mob/user, material/M, delay, what, type_holding, sound) if(!M.stack_type) user << "You are unable to remove the [what] from this table!" return M + if(manipulating) return M + manipulating = 1 user.visible_message("\The [user] begins removing the [type_holding] holding \the [src]'s [M.display_name] [what] in place.", "You begin removing the [type_holding] holding \the [src]'s [M.display_name] [what] in place.") + if(sound) + playsound(src.loc, sound, 50, 1) if(!do_after(user, 40)) + manipulating = 0 return M user.visible_message("\The [user] removes the [M.display_name] [what] from \the [src].", "You remove the [M.display_name] [what] from \the [src].") new M.stack_type(src.loc) + manipulating = 0 return null /obj/structure/table/proc/remove_reinforced(obj/item/weapon/screwdriver/S, mob/user) - reinforced = common_material_remove(user, reinforced, 40, "reinforcements", "screws") + reinforced = common_material_remove(user, reinforced, 40, "reinforcements", "screws", 'sound/items/Screwdriver.ogg') /obj/structure/table/proc/remove_material(obj/item/weapon/wrench/W, mob/user) - material = common_material_remove(user, material, 20, "plating", "bolts") + material = common_material_remove(user, material, 20, "plating", "bolts", 'sound/items/Ratchet.ogg') /obj/structure/table/proc/dismantle(obj/item/weapon/wrench/W, mob/user) + if(manipulating) return + manipulating = 1 user.visible_message("\The [user] begins dismantling \the [src].", "You begin dismantling \the [src].") + playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1) if(!do_after(user, 20)) + manipulating = 0 return user.visible_message("\The [user] dismantles \the [src].", "You dismantle \the [src].") @@ -276,7 +293,7 @@ var/tabledirs = 0 for(var/direction in list(turn(dir,90), turn(dir,-90)) ) var/obj/structure/table/T = locate(/obj/structure/table ,get_step(src,direction)) - if (T && T.flipped == 1 && T.dir == src.dir && T.material.name == material.name) + if (T && T.flipped == 1 && T.dir == src.dir && material && T.material && T.material.name == material.name) type++ tabledirs |= direction @@ -353,7 +370,7 @@ for(var/obj/structure/table/T in oview(src, 1)) var/T_dir = get_dir(src, T) if(T_dir in blocked_dirs) continue - if(material.name == T.material.name && flipped == T.flipped) + if(material && T.material && material.name == T.material.name && flipped == T.flipped) connection_dirs |= T_dir if(propagate) spawn(0) From 363ce0a925312ae4054ac4085fedd48ce4dd294f Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Fri, 15 May 2015 00:07:45 +0100 Subject: [PATCH 224/305] Fixes grabs runtiming on qdel() --- code/modules/mob/mob_grab.dm | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/code/modules/mob/mob_grab.dm b/code/modules/mob/mob_grab.dm index bc41cb1418..d3b889198c 100644 --- a/code/modules/mob/mob_grab.dm +++ b/code/modules/mob/mob_grab.dm @@ -71,10 +71,13 @@ /obj/item/weapon/grab/process() + if(gcDestroyed) // GC is trying to delete us, we'll kill our processing so we can cleanly GC + return PROCESS_KILL + confirm() if(!assailant) - qdel(src) - return + qdel(src) // Same here, except we're trying to delete ourselves. + return PROCESS_KILL if(assailant.client) assailant.client.screen -= hud @@ -407,7 +410,11 @@ /obj/item/weapon/grab/dropped() loc = null - qdel(src) + if(!destroying) + qdel(src) + +/obj/item/weapon/grab + var/destroying = 0 /obj/item/weapon/grab/Destroy() animate(affecting, pixel_x = 0, pixel_y = 0, 4, 1, LINEAR_EASING) @@ -421,4 +428,5 @@ assailant = null qdel(hud) hud = null - ..() \ No newline at end of file + destroying = 1 // stops us calling qdel(src) on dropped() + ..() From 7c242b2c8c58ddf318fc02bd5add458b2f820158 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Thu, 14 May 2015 19:14:22 -0400 Subject: [PATCH 225/305] Tail animation resets when unconscious, changelog --- code/modules/mob/living/carbon/human/life.dm | 2 ++ html/changelogs/HarpyEagle-tailanim.yml | 4 ++++ 2 files changed, 6 insertions(+) create mode 100644 html/changelogs/HarpyEagle-tailanim.yml diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index c16a03d5ca..24bb7d0310 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -987,6 +987,7 @@ AdjustParalysis(-1) blinded = 1 stat = UNCONSCIOUS + animate_tail_reset() if(halloss > 0) adjustHalLoss(-3) else if(sleeping) @@ -1001,6 +1002,7 @@ sleeping = max(sleeping-1, 0) blinded = 1 stat = UNCONSCIOUS + animate_tail_reset() if( prob(2) && health && !hal_crit ) spawn(0) emote("snore") diff --git a/html/changelogs/HarpyEagle-tailanim.yml b/html/changelogs/HarpyEagle-tailanim.yml new file mode 100644 index 0000000000..b3fdf054a3 --- /dev/null +++ b/html/changelogs/HarpyEagle-tailanim.yml @@ -0,0 +1,4 @@ +author: HarpyEagle +delete-after: True +changes: + - rscadd: "Adds tail animations for tajaran and unathi. Animations are controlled using emotes." From 17bfbd911bb572fd7f4f000f195b6fc7e6de1cd1 Mon Sep 17 00:00:00 2001 From: Atlantiscze Date: Fri, 15 May 2015 01:39:24 +0200 Subject: [PATCH 226/305] Fixes missing cable near mining outpost --- maps/exodus-5.dmm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/maps/exodus-5.dmm b/maps/exodus-5.dmm index 8f0fe1ad59..4ca285ae1c 100644 --- a/maps/exodus-5.dmm +++ b/maps/exodus-5.dmm @@ -1595,7 +1595,7 @@ "EI" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/outpost/mining_main/east_hall) "EJ" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/mine/explored) "EK" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/plating/airless,/area/space) -"EL" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/mine/explored) +"EL" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/mine/explored) "EM" = (/obj/structure/cable{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/plating/airless,/area/space) "EN" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/plating/airless,/area/space) "EO" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/outpost/mining_main/east_hall) From 735202d40902a662d6cb4aaedccb95984a16a428 Mon Sep 17 00:00:00 2001 From: ccomp5950 Date: Thu, 14 May 2015 21:07:36 -0400 Subject: [PATCH 227/305] Admin log fix: Something that really annoys ravensdale. [X] has shot [y] with a the bullet http://i.imgur.com/F54KjJ3.png --- code/modules/projectiles/projectile.dm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index f477deb25a..c87a5948f7 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -168,15 +168,15 @@ //admin logs if(!no_attack_log) if(istype(firer, /mob)) - target_mob.attack_log += "\[[time_stamp()]\] [firer]/[firer.ckey] shot [target_mob]/[target_mob.ckey] with a [src.type]" - firer.attack_log += "\[[time_stamp()]\] [firer]/[firer.ckey] shot [target_mob]/[target_mob.ckey] with a [src.type]" - msg_admin_attack("[firer] ([firer.ckey]) shot [target_mob] ([target_mob.ckey]) with a [src] (JMP)") //BS12 EDIT ALG + target_mob.attack_log += "\[[time_stamp()]\] [firer]/[firer.ckey] shot [target_mob]/[target_mob.ckey] with \a [src.type]" + firer.attack_log += "\[[time_stamp()]\] [firer]/[firer.ckey] shot [target_mob]/[target_mob.ckey] with \a [src.type]" + msg_admin_attack("[firer] ([firer.ckey]) shot [target_mob] ([target_mob.ckey]) with \a [src] (JMP)") //BS12 EDIT ALG else if(firer) - target_mob.attack_log += "\[[time_stamp()]\] UNKNOWN SUBJECT (No longer exists) shot [target_mob]/[target_mob.ckey] with a [src]" + target_mob.attack_log += "\[[time_stamp()]\] UNKNOWN SUBJECT (No longer exists) shot [target_mob]/[target_mob.ckey] with \a [src]" msg_admin_attack("UNKNOWN shot [target_mob] ([target_mob.ckey]) with a [src] (JMP)") //BS12 EDIT ALG else - target_mob.attack_log += "\[[time_stamp()]\] UNKNOWN SUBJECT (No longer exists) shot [target_mob]/[target_mob.ckey] with a [src]" - msg_admin_attack("UNKNOWN shot [target_mob] ([target_mob.ckey]) with a [src] (JMP)") //BS12 EDIT ALG + target_mob.attack_log += "\[[time_stamp()]\] UNKNOWN SUBJECT (No longer exists) shot [target_mob]/[target_mob.ckey] with \a [src]" + msg_admin_attack("UNKNOWN shot [target_mob] ([target_mob.ckey]) with \a [src] (JMP)") //BS12 EDIT ALG //sometimes bullet_act() will want the projectile to continue flying if (target_mob.bullet_act(src, def_zone) == -1) From 354859b8896938af13e9aa9a6af9519da382763f Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Fri, 15 May 2015 04:47:18 +0100 Subject: [PATCH 228/305] Generalises shards, makes tables possibly create shards when falling apart, make tablesmash potentially give someone a faceful of broken glass if the table breaks --- .../game/objects/items/stacks/sheets/glass.dm | 1 + code/game/objects/items/weapons/shards.dm | 101 +++++++++--------- code/game/turfs/simulated/walls.dm | 2 +- code/modules/materials/materials.dm | 42 +++++++- .../human/species/xenomorphs/alien_powers.dm | 2 +- .../xenoarchaeology/finds/finds_misc.dm | 43 +------- code/modules/tables/interactions.dm | 15 ++- code/modules/tables/tables.dm | 46 ++++++-- code/setup.dm | 13 ++- icons/obj/shards.dmi | Bin 2610 -> 4520 bytes 10 files changed, 158 insertions(+), 107 deletions(-) diff --git a/code/game/objects/items/stacks/sheets/glass.dm b/code/game/objects/items/stacks/sheets/glass.dm index bbb8e32736..cac3fffad7 100644 --- a/code/game/objects/items/stacks/sheets/glass.dm +++ b/code/game/objects/items/stacks/sheets/glass.dm @@ -175,6 +175,7 @@ matter = list("glass" = 7500) origin_tech = "materials=3;phorontech=2" created_window = /obj/structure/window/phoronbasic + sheettype = "phoronglass" /obj/item/stack/sheet/glass/phoronglass/attackby(obj/item/W, mob/user) ..() diff --git a/code/game/objects/items/weapons/shards.dm b/code/game/objects/items/weapons/shards.dm index a383d8fb0c..593b3d019d 100644 --- a/code/game/objects/items/weapons/shards.dm +++ b/code/game/objects/items/weapons/shards.dm @@ -1,19 +1,22 @@ // Glass shards /obj/item/weapon/shard - name = "glass shard" + name = "shard" icon = 'icons/obj/shards.dmi' icon_state = "large" sharp = 1 edge = 1 - desc = "Could probably be used as ... a throwing weapon?" + desc = "Made of nothing. How does this even exist?" // set based on material, if this desc is visible it's a bug (shards default to being made of glass) w_class = 2.0 force = 5.0 throwforce = 8.0 item_state = "shard-glass" - matter = list("glass" = 3750) + //matter = list("glass" = 3750) // Weld it into sheets before you use it! attack_verb = list("stabbed", "slashed", "sliced", "cut") + gender = "neuter" + var/material/material = null + /obj/item/weapon/shard/suicide_act(mob/user) viewers(user) << pick("\red [user] is slitting \his wrists with \the [src]! It looks like \he's trying to commit suicide.", \ "\red [user] is slitting \his throat with \the [src]! It looks like \he's trying to commit suicide.") @@ -34,36 +37,54 @@ return return -/obj/item/weapon/shard/New() +/obj/item/weapon/shard/New(loc, material/material) + ..(loc) - src.icon_state = pick("large", "medium", "small") - switch(src.icon_state) - if("small") - src.pixel_x = rand(-12, 12) - src.pixel_y = rand(-12, 12) - if("medium") - src.pixel_x = rand(-8, 8) - src.pixel_y = rand(-8, 8) - if("large") - src.pixel_x = rand(-5, 5) - src.pixel_y = rand(-5, 5) + if(!material || !istype(material)) // We either don't have a material or we've been passed an invalid material. Use glass instead. + material = get_material_by_name("glass") + + set_material(material) + +/obj/item/weapon/shard/proc/set_material(material/material) + if(istype(material)) + src.material = material + icon_state = "[material.shard_icon][pick("large", "medium", "small")]" + pixel_x = rand(-8, 8) + pixel_y = rand(-8, 8) + update_material() + update_icon() + +/obj/item/weapon/shard/proc/update_material() + if(material) + if(material.shard_type) + name = "[material.display_name] [material.shard_type]" + desc = "A small piece of [material.display_name]. It looks sharp, you wouldn't want to step on it barefoot. Could probably be used as ... a throwing weapon?" + switch(material.shard_type) + if(SHARD_SPLINTER, SHARD_SHRAPNEL) + gender = "plural" + else + gender = "neuter" else - return + qdel(src) + return + else + name = initial(name) + desc = initial(desc) + +/obj/item/weapon/shard/update_icon() + if(material) + color = material.icon_colour + // 1-(1-x)^2, so that glass shards with 0.3 opacity end up somewhat visible at 0.51 opacity + alpha = 255 * (1 - (1 - material.opacity)*(1 - material.opacity)) + else + color = "#ffffff" + alpha = 255 /obj/item/weapon/shard/attackby(obj/item/weapon/W as obj, mob/user as mob) - ..() - if ( istype(W, /obj/item/weapon/weldingtool)) + if(istype(W, /obj/item/weapon/weldingtool) && material.shard_can_repair) var/obj/item/weapon/weldingtool/WT = W if(WT.remove_fuel(0, user)) - var/obj/item/stack/sheet/glass/NG = new (user.loc) - for (var/obj/item/stack/sheet/glass/G in user.loc) - if(G==NG) - continue - if(G.amount>=G.max_amount) - continue - G.attackby(NG, user) - usr << "You add the newly-formed glass to the stack. It now contains [NG.amount] sheets." - //SN src = null + material.place_sheet(loc) qdel(src) return return ..() @@ -90,26 +111,10 @@ H.Weaken(3) ..() -// Shrapnel +// Preset types - left here for the code that uses them -/obj/item/weapon/shard/shrapnel - name = "shrapnel" - icon = 'icons/obj/shards.dmi' - icon_state = "shrapnellarge" - desc = "A bunch of tiny bits of shattered metal." +/obj/item/weapon/shard/shrapnel/New(loc) + ..(loc, get_material_by_name("steel")) -/obj/item/weapon/shard/shrapnel/New() - - src.icon_state = pick("shrapnellarge", "shrapnelmedium", "shrapnelsmall") - switch(src.icon_state) - if("shrapnelsmall") - src.pixel_x = rand(-12, 12) - src.pixel_y = rand(-12, 12) - if("shrapnelmedium") - src.pixel_x = rand(-8, 8) - src.pixel_y = rand(-8, 8) - if("shrapnellarge") - src.pixel_x = rand(-5, 5) - src.pixel_y = rand(-5, 5) - else - return +/obj/item/weapon/shard/phoron/New(loc) + ..(loc, get_material_by_name("phoron glass")) diff --git a/code/game/turfs/simulated/walls.dm b/code/game/turfs/simulated/walls.dm index 52086c6228..928dbaf36a 100644 --- a/code/game/turfs/simulated/walls.dm +++ b/code/game/turfs/simulated/walls.dm @@ -189,7 +189,7 @@ var/list/global/wall_cache = list() new/obj/effect/overlay/wallrot(src) /turf/simulated/wall/proc/can_melt() - if(material.unmeltable) + if(material.flags & MATERIAL_UNMELTABLE) return 0 return 1 diff --git a/code/modules/materials/materials.dm b/code/modules/materials/materials.dm index c791a8b560..d8309e5d6f 100644 --- a/code/modules/materials/materials.dm +++ b/code/modules/materials/materials.dm @@ -27,11 +27,11 @@ var/list/name_to_material /material var/name // Tag for use in overlay generation/list population . var/display_name + var/flags = 0 var/icon_base = "metal" var/icon_colour var/icon_reinf = "reinf_metal" var/stack_type - var/unmeltable var/cut_delay = 0 var/radioactivity var/ignition_point @@ -41,11 +41,17 @@ var/list/name_to_material var/rotting_touch_message = "crumbles under your touch" var/opacity = 1 var/explosion_resistance = 5 + var/shard_type = SHARD_SHRAPNEL + var/shard_icon + var/shard_can_repair = 1 + var/tableslam_noise = 'sound/weapons/tablehit1.ogg' /material/New() ..() if(!display_name) display_name = name + if(!shard_icon) + shard_icon = shard_type /material/proc/place_dismantled_girder(var/turf/target, var/material/reinf_material) var/obj/structure/girder/G = new(target) @@ -59,7 +65,14 @@ var/list/name_to_material /material/proc/place_sheet(var/turf/target) if(stack_type) - new stack_type(target) + return new stack_type(target) + +/material/proc/place_shard(var/turf/target) + if(shard_type) + return new /obj/item/weapon/shard(target, src) + +/material/proc/is_brittle() + return !!(flags & MATERIAL_BRITTLE) /material/uranium name = "uranium" @@ -72,10 +85,12 @@ var/list/name_to_material /material/diamond name = "diamond" stack_type = /obj/item/stack/sheet/mineral/diamond - unmeltable = 1 + flags = MATERIAL_UNMELTABLE cut_delay = 60 icon_colour = "#00FFE1" opacity = 0.4 + shard_type = SHARD_SHARD + tableslam_noise = 'sound/effects/Glasshit.ogg' /material/gold name = "gold" @@ -93,6 +108,7 @@ var/list/name_to_material ignition_point = 300 icon_base = "stone" icon_colour = "#FC2BC5" + shard_type = SHARD_SHARD /material/sandstone name = "sandstone" @@ -100,6 +116,7 @@ var/list/name_to_material icon_base = "stone" icon_reinf = "reinf_stone" icon_colour = "#D9C179" + shard_type = SHARD_STONE_PIECE /material/steel name = DEFAULT_WALL_MATERIAL @@ -112,6 +129,7 @@ var/list/name_to_material name = "holographic " + DEFAULT_WALL_MATERIAL display_name = DEFAULT_WALL_MATERIAL stack_type = null + shard_type = SHARD_NONE /material/plasteel name = "plasteel" @@ -126,13 +144,25 @@ var/list/name_to_material /material/glass name = "glass" stack_type = /obj/item/stack/sheet/glass + flags = MATERIAL_BRITTLE icon_colour = "#00E1FF" opacity = 0.3 integrity = 100 + shard_type = SHARD_SHARD + tableslam_noise = 'sound/effects/Glasshit.ogg' + +/material/glass/phoron + name = "phoron glass" + stack_type = /obj/item/stack/sheet/glass/phoronglass + flags = MATERIAL_BRITTLE + ignition_point = 300 + integrity = 200 // idk why but phoron windows are strong, so. + icon_colour = "#FC2BC5" /material/plastic name = "plastic" stack_type = /obj/item/stack/sheet/mineral/plastic + flags = MATERIAL_BRITTLE icon_base = "solid" icon_reinf = "reinf_over" icon_colour = "#CCCCCC" @@ -169,11 +199,14 @@ var/list/name_to_material integrity = 25 icon_base = "solid" explosion_resistance = 2 + shard_type = SHARD_SPLINTER + shard_can_repair = 0 // you can't weld splinters back into planks /material/wood/holographic name = "holographic wood" display_name = "wood" stack_type = null + shard_type = SHARD_NONE /material/cult name = "cult" @@ -181,6 +214,7 @@ var/list/name_to_material icon_base = "cult" icon_colour = "#402821" icon_reinf = "reinf_cult" + shard_type = SHARD_STONE_PIECE /material/cult/place_dismantled_girder(var/turf/target) new /obj/structure/girder/cult(target) @@ -193,4 +227,4 @@ var/list/name_to_material display_name = "human remains" /material/cult/reinf/place_dismantled_product(var/turf/target) - new /obj/effect/decal/remains/human(target) \ No newline at end of file + new /obj/effect/decal/remains/human(target) diff --git a/code/modules/mob/living/carbon/human/species/xenomorphs/alien_powers.dm b/code/modules/mob/living/carbon/human/species/xenomorphs/alien_powers.dm index 7bab6d074c..bee6928a23 100644 --- a/code/modules/mob/living/carbon/human/species/xenomorphs/alien_powers.dm +++ b/code/modules/mob/living/carbon/human/species/xenomorphs/alien_powers.dm @@ -142,7 +142,7 @@ else if(istype(O, /turf/simulated/wall)) var/turf/simulated/wall/W = O - if(W.material.unmeltable) + if(W.material.flags & MATERIAL_UNMELTABLE) cannot_melt = 1 else if(istype(O, /turf/simulated/floor/engine)) cannot_melt = 1 diff --git a/code/modules/research/xenoarchaeology/finds/finds_misc.dm b/code/modules/research/xenoarchaeology/finds/finds_misc.dm index 8b7dd3fdfa..f494505b63 100644 --- a/code/modules/research/xenoarchaeology/finds/finds_misc.dm +++ b/code/modules/research/xenoarchaeology/finds/finds_misc.dm @@ -1,46 +1,5 @@ -/obj/item/weapon/shard/phoron - name = "phoron shard" - desc = "A shard of phoron glass. Considerably tougher then normal glass shards. Apparently not tough enough to be a window." - force = 8.0 - throwforce = 15.0 - icon_state = "phoronlarge" - sharp = 1 - edge = 1 - -/obj/item/weapon/shard/phoron/New() - - src.icon_state = pick("phoronlarge", "phoronmedium", "phoronsmall") - switch(src.icon_state) - if("phoronsmall") - src.pixel_x = rand(-12, 12) - src.pixel_y = rand(-12, 12) - if("phoronmedium") - src.pixel_x = rand(-8, 8) - src.pixel_y = rand(-8, 8) - if("phoronlarge") - src.pixel_x = rand(-5, 5) - src.pixel_y = rand(-5, 5) - else - return - -/obj/item/weapon/shard/phoron/attackby(obj/item/weapon/W as obj, mob/user as mob) - ..() - if ( istype(W, /obj/item/weapon/weldingtool)) - var/obj/item/weapon/weldingtool/WT = W - if(WT.remove_fuel(0, user)) - var/obj/item/stack/sheet/glass/phoronglass/NG = new (user.loc) - for (var/obj/item/stack/sheet/glass/phoronglass/G in user.loc) - if(G==NG) - continue - if(G.amount>=G.max_amount) - continue - G.attackby(NG, user) - usr << "You add the newly-formed phoron glass to the stack. It now contains [NG.amount] sheets." - //SN src = null - qdel(src) - return - return ..() +// Phoron shards have been moved to code/game/objects/items/weapons/shards.dm //legacy crystal /obj/machinery/crystal diff --git a/code/modules/tables/interactions.dm b/code/modules/tables/interactions.dm index 7eed01c237..09e32deebe 100644 --- a/code/modules/tables/interactions.dm +++ b/code/modules/tables/interactions.dm @@ -83,8 +83,19 @@ if (prob(15)) M.Weaken(5) M.apply_damage(8,def_zone = "head") visible_message("[G.assailant] slams [G.affecting]'s face against \the [src]!") - playsound(src.loc, 'sound/weapons/tablehit1.ogg', 50, 1) - take_damage(rand(1,5)) + if(material) + playsound(loc, material.tableslam_noise, 50, 1) + else + playsound(loc, 'sound/weapons/tablehit1.ogg', 50, 1) + var/list/L = take_damage(rand(1,5)) + // Shards. Extra damage, plus potentially the fact YOU LITERALLY HAVE A PIECE OF GLASS/METAL/WHATEVER IN YOUR FACE + for(var/obj/item/weapon/shard/S in L) + if(prob(50)) + M.visible_message("\The [S] slices [M]'s face messily!", + "\The [S] slices your face messily!") + M.apply_damage(10, def_zone = "head") + if(prob(2)) + M.embed(S, def_zone = "head") else user << "You need a better grip to do that!" return diff --git a/code/modules/tables/tables.dm b/code/modules/tables/tables.dm index c5a1abc9c9..88042181a1 100644 --- a/code/modules/tables/tables.dm +++ b/code/modules/tables/tables.dm @@ -41,10 +41,17 @@ health += maxhealth - old_maxhealth /obj/structure/table/proc/take_damage(amount) + // If the table is made of a brittle material, and is *not* reinforced with a non-brittle material, damage is multiplied by TABLE_BRITTLE_MATERIAL_MULTIPLIER + if(material && material.is_brittle()) + if(reinforced) + if(reinforced.is_brittle()) + amount *= TABLE_BRITTLE_MATERIAL_MULTIPLIER + else + amount *= TABLE_BRITTLE_MATERIAL_MULTIPLIER health -= amount if(health <= 0) visible_message("\The [src] breaks down!") - break_to_parts() + return break_to_parts() // if we break and form shards, return them to the caller to do !FUN! things with /obj/structure/table/New() ..() @@ -68,6 +75,7 @@ /obj/structure/table/Destroy() material = null + reinforced = null update_connections(1) // Update tables around us to ignore us (material=null forces no connections) for(var/obj/structure/table/T in oview(src, 1)) T.update_icon() @@ -247,17 +255,39 @@ qdel(src) return +// Returns a list of /obj/item/weapon/shard objects that were created as a result of this table's breakage. +// Used for !fun! things such as embedding shards in the faces of tableslammed people. + +// The repeated +// S = [x].place_shard(loc) +// if(S) shards += S +// is to avoid filling the list with nulls, as place_shard won't place shards of certain materials (holo-wood, holo-steel) + /obj/structure/table/proc/break_to_parts(full_return = 0) - if(reinforced && reinforced.stack_type && (full_return || prob(25))) - new reinforced.stack_type(src.loc) - if(material && material.stack_type && (full_return || prob(50))) - new material.stack_type(src.loc) - if(carpeted && (full_return || prob(50))) + var/list/shards = list() + var/obj/item/weapon/shard/S = null + if(reinforced) + if(reinforced.stack_type && (full_return || prob(20))) + reinforced.place_sheet(loc) + else + S = reinforced.place_shard(loc) + if(S) shards += S + if(material) + if(material.stack_type && (full_return || prob(20))) + material.place_sheet(loc) + else + S = material.place_shard(loc) + if(S) shards += S + if(carpeted && (full_return || prob(50))) // Higher chance to get the carpet back intact, since there's no non-intact option new /obj/item/stack/tile/carpet(src.loc) - if(full_return || prob(50)) + if(full_return || prob(20)) new /obj/item/stack/sheet/metal(src.loc) + else + var/material/M = get_material_by_name(DEFAULT_WALL_MATERIAL) + S = M.place_shard(loc) + if(S) shards += S qdel(src) - return + return shards /obj/structure/table/update_icon() if(flipped != 1) diff --git a/code/setup.dm b/code/setup.dm index 7cbcf93bdd..2942d7447d 100644 --- a/code/setup.dm +++ b/code/setup.dm @@ -969,4 +969,15 @@ var/list/be_special_flags = list( #endif #ifndef CUSTOM_ITEM_MOB #define CUSTOM_ITEM_MOB 'icons/mob/custom_items_mob.dmi' -#endif \ No newline at end of file +#endif + +#define SHARD_SHARD "shard" +#define SHARD_SHRAPNEL "shrapnel" +#define SHARD_STONE_PIECE "piece" +#define SHARD_SPLINTER "splinters" +#define SHARD_NONE "" + +#define MATERIAL_UNMELTABLE 1 +#define MATERIAL_BRITTLE 2 + +#define TABLE_BRITTLE_MATERIAL_MULTIPLIER 4 // Amount table damage is multiplied by if it is made of a brittle material (e.g. glass) \ No newline at end of file diff --git a/icons/obj/shards.dmi b/icons/obj/shards.dmi index 22f5e98314d195ee989a3215b7a3446c2f093cb4..e8bee2d57f7b7b826171221aa19219171426744d 100644 GIT binary patch literal 4520 zcmai1XHZjJw7sE85$Q!ldT&w`kP;9B3M##~P^3x#10ua6Ep!bZ(wlw|FmzOU4NXcA z=^!9V3%w-N7iZp|H{Xvpch24S$C)}h&;F!n9*vXAjfw$NDZ$GW* zB~hlTnYC?;%1%y_rvZnXA}Y!^Bz<@f(p7&2lRf>0#^79nDWY66Fn9e?^~+Z!CD@=UT9?d;#jm zp5I-u|84>R^f}s)2gd$6xZJR(oGyWwHlqn4II>o^eV)TKXiRLu*5*b9qjHH9Z4!Jt z4RZgz99biVHzSdcyg4_~Y@l~awy*m)S&6vAqG&>tQ(CV;=HSvmj}Gn^7JIkB$GGa) zWE=lAZIrPg{il51X-tw6{jieBWmWw2K-P(O&tdqKUf?at}TqMhx^i- z=Cdz3@Ut4l(5XT(Ce`h_WSoVv9B;?sHVK99<(^-<|$rrVELFsu1 zfjYavF5>d@n-8<+qE3Q8d1Uhr)%*iLAwLmPov8W1%Rpew-w6qgD#P8=D!iZt4sUQ` zVfnD}zSjKVvX&7qX~9A#P?kR|ahW_X(C|r%mdeAZ(57Fvh$;8$YxbS;PtKY}xlgXs zp2F6FYibLx9L|u^ahdWnA(u7JO~JNG$3akUbi@2W*DIe~}jFjYMH zvB=rAWY-fHhe;5R%y3uw+pxwK3cZW%FppUoBJi5=!vJ8*sr0FSx>pnWrnY1;_u zBJ=|Pg7RCK+Y2ZHN1ajS(Kz6zk~&2Ie8+T~yyPX}8h3={?kujd3F!xX))g*zcl`8D zS99wT`fY!Yh2#nme6Aq;9hrc2YN0ze9r3%MSxksWtlXY?6AVt*oX6;|DyS{H&8-+Y zHRs}*5v0G3Zm3t&n)$_rm~WH3dh(2d5FYJHWXqcnLuDOmuhHbiBILQcq*PborcMkv zm&4lY1v>Q=ewn+YOm(#83CiK2@$8 zG%NaY+Umv2F9ihtx#2H9N6hQZ7Yq>5DL9J9yqewhz`wa|qdhn%yh!eMnS}LU>NzVbcjuylCBMq?9+RKA8&InocF(fSp-P=IvXyVugo*x`6G#+YT$_GgOQmP zy`8y;iwktsr3kSwu4K)wntAuZ_mD&Tnxq9VDH)SND)fL9sI4`S+hs}{n{^pY6eNh} zXQziIqpcR4dnx^W4<&9;D1!hZK}48^xIXVF$6f7sb@WEdRd3>dwEW0Slx4_1yKWO< z^WGPo7i@K+qIUcuWcj7dq4F8ZfD;-t?ngD{|D8QvFPhFZD@E=sbhS6k}eobYlR3@aU(yU&i60??DnxNL*1W>pKW(|p@Sm}Cl|WQGB9hcvtv_w& z*;6|nX`tAR{C3(4OWqC%DXDwzgKm!1o}e>T0!!r@DpZ&b5xpm$TWI*Ihn3&V;m$BxX&2 z{*kis!s}Fq;DsNv6tr|UJ-YsK|l@xP4h$YEVFFaNdb=%!$1fIqDK zRt3u$+I^lwek;?&oP+G=zrpIut}3gd7M3*D)^N~16OO%CFPwemLFyxfAR^MN;o6lmI z+%ko6?9v&}2~(gQg7xL!LM^Py_zYU@YCQmaBJ|Q|VRcX-YrIDBL2m}b)K-dK3!fof z8jlRCuh3CK`{A@Skrq*j+v&l}U(T`46Q8tWA4}N0h3vDiirawOi^2t<_SM)`Qi;4& z9eTfqY#*33ctKQ!so~N3kJU9q1bBFv8B^)0|JT|yNEnk}Ru(^O`7xH(z*Pu40>vxe zvc0Qm;JwmI%fko)RNnsHd92RovVcYzF~r;X`?GsC-rDoGKD&J*HX=UW=?ZBmoyK%U znBOTkF)?B1=8m1kQ2@_ckB^TLVR{Uyebh*Jn9!j1$d`Ffm9wqd-Ls2Sr<-Um>sHr} z1m<0H&6v}bX^TgCnjF4gz8`H)cCGuFay(TDFlatL_LDr~5LFE{))D4T9b7jLX4sNI zKlp}xkojc3w(6&U_I!CcNjPSOmmw_`jYjJ=ai<7NrP0QA0mzcM))3{;!+zmmiAEe?sXuG1Nf+6)>vvrqH8t19EqZcnI-Yb)gr5O$xAboU*~`*qA}I1}~s4 z!mJSxaNphCojyscz8b2+6+7~0(EZFpQ{D9Royjv2WO;F8g`2q;|8M=fh#m(KDJegP zaW|Rl1$<$r&hMn8TP8ppgf9-WLgYQ6=x+xJ>*am7eLbRj^0PPvtn-CAgKCguAG>Gr z9taV=gQ}0O9F^4mP+V|ZwrZ8V_LpP&Te^M>22($~`vf?xT$->=q8JS-0ZU?h%1wx(6%FD4>$*Z(mBPSng znzZhtn1|RpoJ+)T8v#c8PqQ!dSWJW8aC>+vJc_5HK+@alikX zIfHbM!T}Itk{^xRBDM(QtQ)~2Y;@J|kE6`2QN!BFy95s*&NAuzNLq%Zt58a-KnFQK zKkWH=^9t_wL5Nej#N^tw=X(~?`JOZ;U;}22=QT7!X7u`?kd0SO^9_C1^k4FI3Um+x z-i2(~X9feg4A0ElJqZ9~YE}6BK1hJao>BN0DN*>+{}uj!=fbEKHO~F>daqXf=;`xl zvbuQUCkv2AI2@0hS{hGE+8{P^>Q11NDKE%OCPs?eZV9orCu#K^i^V$SL$?R;*y2a9 zE8*RvxZJ5wdE=BMZ94;fgYRYogE2>mnr-d|x2wWMLFiY$|CWx40Cujfl{~Fb?c(u@w`*$wgt3$CSM8~x2Xty8`qW|E$g}AB&@@H{xW^uad z)o3)GkB<+ruWrd1_YJXFAZ1#eo;*M_LHI3OiBqE9l7X)>Jh=RYyL;#8DE*wL!s+Sh zPrs(InVAHA5i$!T!;RPuvytZ>Q&k;0VKvK13JW|`Y3vknh~NrvAq$n<2Rqj32H5PI z_;@O!6d-KlFT=vr0N4HchK8cHHtt@ytsi`Exu*m}JX%al%p108s)LCn3bIU@)yRII zq@#{RcC2$rx@b(q(#q;p8B!I)xA-kvp&m0?X>|>l3jB?LX;^!>>NlPSi%3fLSb4RS zst$KUw^9Q4mNixO_b>r$)u}>!eAVy(_Zemt1%+63o&s$JS=pkXJnpl53JROO@gH?_ z;lGqf)-xT7 zgv3&QC#Qx%%n2_?(nfTqlSNQo*qrE8IMjd{GrK%%4eNAaPQ?vPPg~engxa ze#�cn|QM#9d)(K$Dl^Vjqf5)$g}X@9gE(_=0wF33Hi8rRj3hs{Knm5Jh7 zNB(qeZAk#zVuUi$U^Ti`_%xg@is<1kGyMGg$y}7d8_!rSOwS+?aWxmCn>lqPU?N=D zGtWl9y6Ph^kJ?zW{rMZNH%z5`*fj0diDafDD!F7(l1Un{S&H}R`P}fwugSpJ_^lbC zLSI#02xM-OUgK3>(?phAx?%3Y$K!xG$e?Ek5h+;{KIKrrbdU!eZjw{_F6}z{$S0ZoWI~*H*{(wFn zqHkjIZsM$ETu)2-U1ZY!-b59md*x+c4FZW|RY3+_`F{WL!(B5CQ8hqybaeFBRFnh@ z{pcZl+SeYKJi5lxSNFJ=l07HiY-R8Br|a1_{}J%B9XablnVE#nu6u7NIhe{RPh9b5 z8}hymB)h9h!z#&*LbNyBPQhfH-c?nF1vP1zM+k^t(K!TgD)UZ=QX!P{+MqTzIDc~T zOMnM1TpUi?(_=`lPjkV&4S8^AEZq^MZkW`nA&E5ZtN7PwUoPq4fhf@LO!tB8?k)0M z_OrbZ0Lhn9?ZHV^Eh}>ylog$2n-P>LdqO(;Q9a#jwZ>tf_NHh_EB*9CVSf7mj|xH< XDi*_-6#*kc4glJkx{yyAc9H)BbP2k} literal 2610 zcmZ`*byU>b7XEQZ>6Y$>3y1?qNQ?v0Inp5^AT13;mjaieR8km9RB~t#>5$eT1XK`^ zp>r7N7 zCzzs86N><~C;pCpZax8S-d+F@j7%BVC-38-z4@!jAHn-0`|9aD!vmj}KUI9#Zpu7v z+&yZm-L3bPqk#mcZQ^8;Lp5aFg6UnlgffDaIaJ!)Z&M4}qIo#Z`ZL-5B;#NX%#?Sg zVrmPdb(CUS8WK&gg$O4+|6V%-0w@;1qISs_?2Y!zT zusGk+aFofp@%0^9om?y?emp9YVE!v;5wReTjq zsq0DOZ>2PzAvj9w>%)A9Zf=)m{a%;CkD2*R<$P2pH@JRp=Vb8YqI2xv=ceb}bfr0O zZR&azSNAv0$I<nGQ|^iO1nD+fJ%O7ECuE9i8US8B0ij?ClS1>UQT2ACX}zaa!{eysHtS`9wf6CGTy}PM&b_&{8_q zY_~lcED@rmTwXGo@hL|QM}J-xp5*RqCnGSAUd_Z_bdnGrc3oq1DXHyxf9(sdu7{u^ zgDOcs0Mz$UB!$M$P|019Ys5_wa|-GTHkNWlxI-d$TsOf($usqf4RyQy|oCO3t+rOD=t(c*6%E9e`7 zrb*3Y!?AHQ*5GY6a2R%x9?;Vt9gv_sZx)Wu=VKaCsLP)onTtKB`}m2B+lFPM zda`t1_e$P|*LTiLAMP2pB#osKQel;ai!?s-U$AOxgWKd!Kj(8J>OAid|Z!#6TtHJBufI_{bJuT8Rvh@ypo25a+AjUquo@D>5p4z zM3&+^R=aZYax@MYGpi76MF3ymNv9O`)`?RD zigkV+x+O^a2GMqy(zEA4>y2pXWR*|Y^oeKFG1-4Mzx^2J?v3J#D4 z(XsUJ&%>l|Nl8!P9oCcQn?W%pR+qtBgq#SMJH%ve)7u=8JQK!0<#GoIkF{l`ebm>mh-&SdA51Du{sD?$tg-m z(6!vmKf`WD{@R%Bam!m+tRwd#h7E0!2d?CMRJcL~W=RyTgQ_h3!#wj|y4o3BOuf%d zjDL8xYjN-%TaF=OTf>QLc4I7L%(rb*<O|%XQdRkE|%UCuNCVmf1^T|zx#}_@VQI*-U*}hZGD)! zxu>a1Fv*KkaRE|JJKZAH@vWM@lj3q^^YLmJ2`yr^@yi}%N5}x_4)x7wtwuxHTsS2w z6k~pJ0saapuL=#kOtZI?=YQt79A?{=d`dvY!vF%b3OjQHIu6DvjD(k5D4^(M?9_Zs zF|ArG0dki4W`ikn;_+%#H^IX|y`;_4u|~scccGqw5}2A^xD+uz-@d&#`?C&T6}bH5 zQz(IwnfFPZryiYZesqW#zbBuNW1c8mR{GwlK_082TFrp_o`gPQ4Ej-GR`arv^x zy51N4y$JLkj7Ltv^-DzjE3oPPPgcw}8nX*csNQ}rk02v6L5o-_u^r@(d34q%t8q^t z&_E0+QE#ykQKwqBJLx1liMrWL%40^6Z#8~tpGBZ8(TEaJb9IODJGD<&au0O@*4XBx z8Ju4mtIG`Ih6XK{1%8BEBywVNgeXpJLB!#8j6&&4rhc^LNkcIM{giJjvR`@#4ch#oZ%x0#}dQUVodyP zX6Z!3PDaO}9U~-Q+nR4?Ix4bBWQ`t2MZ?h*6{6NkT-iTtUGR262tX)qwT(C-TuCh|NWJBN6xzEEEN=M8< zFZfz-Bve<*Rv=ybM-?LRq`hT<;tlMjmVn-^B3glQ4Cc+=coUN|dbIHx$(}a2YLq}N zn)YQU`=otj%Z}OlacEseCQ%+8F66)C$-iCXUsZFiK}6Q?H&x%_?-PbVKwI5Fty Date: Fri, 15 May 2015 13:10:50 +0930 Subject: [PATCH 229/305] Fixes several wall issues. --- code/game/turfs/simulated/wall_icon.dm | 14 +++++++++----- code/game/turfs/simulated/walls.dm | 22 +++++++++++++--------- code/modules/materials/materials.dm | 3 +++ 3 files changed, 25 insertions(+), 14 deletions(-) diff --git a/code/game/turfs/simulated/wall_icon.dm b/code/game/turfs/simulated/wall_icon.dm index b02311ee98..1adaba850f 100644 --- a/code/game/turfs/simulated/wall_icon.dm +++ b/code/game/turfs/simulated/wall_icon.dm @@ -69,6 +69,7 @@ /turf/simulated/wall/proc/set_material(var/material/newmaterial, var/material/newrmaterial) material = newmaterial reinf_material = newrmaterial + update_material() check_relatives() check_relatives(1) @@ -85,7 +86,10 @@ else set_wall_state("[material.icon_base]fwall_open") - var/overlay = round(damage / material.integrity * damage_overlays.len) + 1 + var/dmg_amt = material.integrity + if(reinf_material) + dmg_amt += reinf_material.integrity + var/overlay = round(damage / dmg_amt * damage_overlays.len) + 1 if(overlay > damage_overlays.len) overlay = damage_overlays.len if(density) @@ -115,11 +119,11 @@ var/turf/simulated/wall/T = get_step(src, checkdir) if(!istype(T) || !T.material) continue - if(T.material && can_join_with(T)) - if(update_self) + if(update_self) + if(can_join_with(T)) junction |= get_dir(src,T) //Not too sure why, but using checkdir just breaks walls. - else - T.check_relatives(1) + else + T.check_relatives(1) if(!isnull(junction)) set_wall_state("[material.icon_base][junction]") return diff --git a/code/game/turfs/simulated/walls.dm b/code/game/turfs/simulated/walls.dm index 4596512fe4..72df25cfbe 100644 --- a/code/game/turfs/simulated/walls.dm +++ b/code/game/turfs/simulated/walls.dm @@ -144,15 +144,15 @@ var/list/global/wall_cache = list() return ..() -/turf/simulated/wall/proc/dismantle_wall(devastated=0, explode=0) +/turf/simulated/wall/proc/dismantle_wall(var/devastated, var/explode, var/no_product) playsound(src, 'sound/items/Welder.ogg', 100, 1) - if(reinf_material) - reinf_material.place_dismantled_girder(src, reinf_material) - reinf_material.place_dismantled_product(src,devastated) - else - material.place_dismantled_girder(src) - material.place_dismantled_product(src,devastated) + if(!no_product) + if(reinf_material) + reinf_material.place_dismantled_girder(src, reinf_material) + else + material.place_dismantled_girder(src) + material.place_dismantled_product(src,devastated) for(var/obj/O in src.contents) //Eject contents! if(istype(O,/obj/structure/sign/poster)) @@ -161,6 +161,11 @@ var/list/global/wall_cache = list() else O.loc = src + clear_plants() + material = name_to_material["placeholder"] + reinf_material = null + check_relatives() + ChangeTurf(/turf/simulated/floor/plating) /turf/simulated/wall/ex_act(severity) @@ -275,6 +280,5 @@ var/list/global/wall_cache = list() ..() /turf/simulated/wall/Destroy() - clear_plants() - check_relatives() + dismantle_wall(null,null,1) ..() \ No newline at end of file diff --git a/code/modules/materials/materials.dm b/code/modules/materials/materials.dm index 04e8d485ba..3c1b3c87c2 100644 --- a/code/modules/materials/materials.dm +++ b/code/modules/materials/materials.dm @@ -40,6 +40,9 @@ var/list/name_to_material if(!display_name) display_name = name +/material/placeholder + name = "placeholder" + /material/proc/place_dismantled_girder(var/turf/target, var/material/reinf_material) var/obj/structure/girder/G = new(target) if(reinf_material) From 30cda10bb33b3cb515f912b27130525293284ff3 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Fri, 15 May 2015 13:43:28 +0930 Subject: [PATCH 230/305] Fixes #9226 --- code/modules/hydroponics/spreading/spreading_response.dm | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/code/modules/hydroponics/spreading/spreading_response.dm b/code/modules/hydroponics/spreading/spreading_response.dm index 6a93ecaeea..9d99a212f6 100644 --- a/code/modules/hydroponics/spreading/spreading_response.dm +++ b/code/modules/hydroponics/spreading/spreading_response.dm @@ -13,8 +13,10 @@ spawn(1) entangle(M) -/obj/effect/plant/attack_hand(mob/user as mob) - // Todo, cause damage. +/obj/effect/plant/attack_hand(var/mob/user) + manual_unbuckle(user) + +/obj/effect/plant/attack_generic(var/mob/user) manual_unbuckle(user) /obj/effect/plant/proc/trodden_on(var/mob/living/victim) @@ -76,7 +78,7 @@ if(can_grab) src.visible_message("Tendrils lash out from \the [src] and drag \the [victim] in!") victim.loc = src.loc - + //entangling people if(victim.loc == src.loc) buckle_mob(victim) From dbaf5dd308c36ded9fa66ab2a578db7c1d45fdcd Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Fri, 15 May 2015 05:15:57 +0100 Subject: [PATCH 231/305] Adds cfg/ to the list of ignored files --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index aa2528a7fe..f2ce0fe4b8 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,4 @@ *.lk *.backup data/ +cfg/ From fe3f16995997796bd91441b93c588059aaaa45a3 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Fri, 15 May 2015 13:53:01 +0930 Subject: [PATCH 232/305] Fixes #9234 --- code/modules/hydroponics/seed_machines.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/hydroponics/seed_machines.dm b/code/modules/hydroponics/seed_machines.dm index 864b56cc28..b1d3134344 100644 --- a/code/modules/hydroponics/seed_machines.dm +++ b/code/modules/hydroponics/seed_machines.dm @@ -88,7 +88,7 @@ if(S.seed && S.seed.get_trait(TRAIT_IMMUTABLE) > 0) user << "That seed is not compatible with our genetics technology." else - user.remove_from_mob(W) + user.drop_from_inventory(W) W.loc = src seed = W user << "You load [W] into [src]." @@ -120,7 +120,7 @@ user << "That disk does not have any gene data loaded." return - user.remove_from_mob(W) + user.drop_from_inventory(W) W.loc = src loaded_disk = W user << "You load [W] into [src]." From cb73d5b6e96eae6e9db03ef6cb362e09f8eacbd0 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Fri, 15 May 2015 18:23:00 +0930 Subject: [PATCH 233/305] Fixes #9256 --- code/game/supplyshuttle.dm | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/code/game/supplyshuttle.dm b/code/game/supplyshuttle.dm index 0f5d49d223..c8adfebe20 100644 --- a/code/game/supplyshuttle.dm +++ b/code/game/supplyshuttle.dm @@ -231,7 +231,14 @@ var/list/mechtoys = list( var/list/clear_turfs = list() for(var/turf/T in area_shuttle) - if(T.density || T.contents.len) continue + if(T.density) continue + var/contcount + for(var/atom/A in T.contents) + if(A.simulated) + continue + contcount++ + if(contcount) + continue clear_turfs += T for(var/S in shoppinglist) From 624a6b0bca3833b7b1c9afb4e7f3e162d1385de0 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Fri, 15 May 2015 18:26:53 +0930 Subject: [PATCH 234/305] Fixes #9250 --- code/modules/clothing/spacesuits/rig/modules/ninja.dm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/code/modules/clothing/spacesuits/rig/modules/ninja.dm b/code/modules/clothing/spacesuits/rig/modules/ninja.dm index e3926d7b0b..803b0f63f1 100644 --- a/code/modules/clothing/spacesuits/rig/modules/ninja.dm +++ b/code/modules/clothing/spacesuits/rig/modules/ninja.dm @@ -101,6 +101,10 @@ var/mob/living/carbon/human/H = holder.wearer + if(!istype(H.loc, /turf)) + H << "You cannot teleport out of your current location." + return 0 + var/turf/T if(target) T = get_turf(target) From f3bd251f9563e93d8a4884d83afc9ec95c468c5e Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Fri, 15 May 2015 18:29:23 +0930 Subject: [PATCH 235/305] Fixes #9259 --- code/game/machinery/autolathe.dm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/code/game/machinery/autolathe.dm b/code/game/machinery/autolathe.dm index f8f8a9c21e..40db18e42f 100644 --- a/code/game/machinery/autolathe.dm +++ b/code/game/machinery/autolathe.dm @@ -1,5 +1,5 @@ /obj/machinery/autolathe - name = "\improper autolathe" + name = "autolathe" desc = "It produces items using metal and glass." icon_state = "autolathe" density = 1 @@ -140,6 +140,9 @@ if(O.loc != user && !(istype(O,/obj/item/stack))) return 0 + if(is_robot_module(O)) + return 0 + //Resources are being loaded. var/obj/item/eating = O if(!eating.matter) From 624ffcff4c993ea9fd04ecf879f8c467353537c1 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Fri, 15 May 2015 18:36:33 +0930 Subject: [PATCH 236/305] Fixes #9239 --- code/game/objects/items/weapons/tools.dm | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/code/game/objects/items/weapons/tools.dm b/code/game/objects/items/weapons/tools.dm index 91b5ff6027..0f9aa738a1 100644 --- a/code/game/objects/items/weapons/tools.dm +++ b/code/game/objects/items/weapons/tools.dm @@ -334,26 +334,27 @@ src.welding = !( src.welding ) if (src.welding) if (remove_fuel(1)) - usr << "\blue You switch the [src] on." + usr << "You switch the [src] on." src.force = 15 src.damtype = "fire" src.icon_state = "welder1" src.w_class = 4 processing_objects.Add(src) else - usr << "\blue Need more fuel!" + usr << "You need more fuel!" src.welding = 0 - return else if(!message) - usr << "\blue You switch the [src] off." + usr << "You switch \the [src] off." else - usr << "\blue The [src] shuts off!" + usr << "\The [src] shuts off!" src.force = 3 src.damtype = "brute" src.icon_state = "welder" src.welding = 0 src.w_class = initial(src.w_class) + usr.update_inv_l_hand() + usr.update_inv_r_hand() //Decides whether or not to damage a player's eyes based on what they're wearing as protection //Note: This should probably be moved to mob From f9cbf1a1fdc510f49d5e43e5198e6ea6fc2c7580 Mon Sep 17 00:00:00 2001 From: Hubblenaut Date: Thu, 14 May 2015 17:11:18 +0200 Subject: [PATCH 237/305] Cleans up access and map artifacts --- code/game/jobs/access.dm | 9 +- code/game/jobs/job/engineering.dm | 4 +- code/game/jobs/job/medical.dm | 22 +- code/game/jobs/job/science.dm | 4 +- code/game/jobs/job/security.dm | 16 +- code/game/machinery/vending.dm | 2 +- .../crates_lockers/closets/secure/medical.dm | 6 +- .../crates_lockers/closets/secure/security.dm | 2 +- maps/exodus-1.dmm | 339 +++++++++--------- 9 files changed, 200 insertions(+), 204 deletions(-) diff --git a/code/game/jobs/access.dm b/code/game/jobs/access.dm index 4d16b7ae14..33dcee54a2 100644 --- a/code/game/jobs/access.dm +++ b/code/game/jobs/access.dm @@ -9,7 +9,7 @@ /var/const/access_tox = 7 /var/const/access_tox_storage = 8 /var/const/access_genetics = 9 -/var/const/access_engine = 10 +/var/const/access_engine = 10 //engineering hallways /var/const/access_engine_equip = 11 /var/const/access_maint_tunnels = 12 /var/const/access_external_airlocks = 13 @@ -65,6 +65,7 @@ /var/const/access_sec_doors = 63 // Security front doors /var/const/access_psychiatrist = 64 // Psychiatrist's office /var/const/access_xenoarch = 65 +/var/const/access_medical_equip = 66 //BEGIN CENTCOM ACCESS /*Should leave plenty of room if we need to add more access levels. @@ -174,7 +175,7 @@ if(1) //security return list(access_sec_doors, access_security, access_brig, access_armory, access_forensics_lockers, access_court, access_hos) if(2) //medbay - return list(access_medical, access_genetics, access_morgue, access_chemistry, access_psychiatrist, access_virology, access_surgery, access_cmo) + return list(access_medical, access_medical_equip, access_genetics, access_morgue, access_chemistry, access_psychiatrist, access_virology, access_surgery, access_cmo) if(3) //research return list(access_research, access_tox, access_tox_storage, access_robotics, access_xenobiology, access_xenoarch, access_rd) if(4) //engineering and maintenance @@ -213,7 +214,7 @@ if(access_cargo_bot) return "Cargo Bot Delivery" if(access_security) - return "Security" + return "Security Equipment" if(access_brig) return "Holding Cells" if(access_court) @@ -337,7 +338,7 @@ if(access_gateway) return "Gateway" if(access_sec_doors) - return "Brig" + return "Security" /proc/get_centcom_access_desc(A) switch(A) diff --git a/code/game/jobs/job/engineering.dm b/code/game/jobs/job/engineering.dm index 644c2fc1f8..c3368f9aff 100644 --- a/code/game/jobs/job/engineering.dm +++ b/code/game/jobs/job/engineering.dm @@ -50,7 +50,7 @@ supervisors = "the chief engineer" selection_color = "#fff5cc" access = list(access_eva, access_engine, access_engine_equip, access_tech_storage, access_maint_tunnels, access_external_airlocks, access_construction, access_atmospherics) - minimal_access = list(access_engine, access_engine_equip, access_tech_storage, access_maint_tunnels, access_external_airlocks, access_construction) + minimal_access = list(access_eva, access_engine, access_engine_equip, access_tech_storage, access_maint_tunnels, access_external_airlocks, access_construction) alt_titles = list("Maintenance Technician","Engine Technician","Electrician") @@ -82,7 +82,7 @@ supervisors = "the chief engineer" selection_color = "#fff5cc" access = list(access_eva, access_engine, access_engine_equip, access_tech_storage, access_maint_tunnels, access_external_airlocks, access_construction, access_atmospherics, access_external_airlocks) - minimal_access = list(access_atmospherics, access_maint_tunnels, access_emergency_storage, access_construction, access_external_airlocks) + minimal_access = list(access_eva, access_engine, access_atmospherics, access_maint_tunnels, access_emergency_storage, access_construction, access_external_airlocks) equip(var/mob/living/carbon/human/H) diff --git a/code/game/jobs/job/medical.dm b/code/game/jobs/job/medical.dm index 5b6fca11b6..665e37d6ee 100644 --- a/code/game/jobs/job/medical.dm +++ b/code/game/jobs/job/medical.dm @@ -11,12 +11,12 @@ selection_color = "#ffddf0" idtype = /obj/item/weapon/card/id/silver req_admin_notify = 1 - access = list(access_medical, access_morgue, access_genetics, access_heads, + access = list(access_medical, access_medical_equip, access_morgue, access_genetics, access_heads, access_chemistry, access_virology, access_cmo, access_surgery, access_RC_announce, - access_keycard_auth, access_sec_doors, access_psychiatrist, access_eva) - minimal_access = list(access_medical, access_morgue, access_genetics, access_heads, + access_keycard_auth, access_sec_doors, access_psychiatrist, access_eva, access_external_airlocks) + minimal_access = list(access_medical, access_medical_equip, access_morgue, access_genetics, access_heads, access_chemistry, access_virology, access_cmo, access_surgery, access_RC_announce, - access_keycard_auth, access_sec_doors, access_psychiatrist, access_eva) + access_keycard_auth, access_sec_doors, access_psychiatrist, access_eva, access_external_airlocks) minimal_player_age = 10 equip(var/mob/living/carbon/human/H) @@ -44,8 +44,8 @@ spawn_positions = 3 supervisors = "the chief medical officer" selection_color = "#ffeef0" - access = list(access_medical, access_morgue, access_surgery, access_chemistry, access_virology, access_genetics) - minimal_access = list(access_medical, access_morgue, access_surgery, access_virology) + access = list(access_medical, access_medical_equip, access_morgue, access_surgery, access_chemistry, access_virology, access_genetics) + minimal_access = list(access_medical, access_medical_equip, access_morgue, access_surgery, access_virology) alt_titles = list("Surgeon","Emergency Physician","Nurse","Virologist") equip(var/mob/living/carbon/human/H) @@ -106,7 +106,7 @@ spawn_positions = 2 supervisors = "the chief medical officer" selection_color = "#ffeef0" - access = list(access_medical, access_morgue, access_surgery, access_chemistry, access_virology, access_genetics) + access = list(access_medical, access_medical_equip, access_morgue, access_surgery, access_chemistry, access_virology, access_genetics) minimal_access = list(access_medical, access_chemistry) alt_titles = list("Pharmacist") @@ -164,8 +164,8 @@ spawn_positions = 1 supervisors = "the chief medical officer" selection_color = "#ffeef0" - access = list(access_medical, access_morgue, access_surgery, access_chemistry, access_virology, access_genetics, access_psychiatrist) - minimal_access = list(access_medical, access_psychiatrist) + access = list(access_medical, access_medical_equip, access_morgue, access_surgery, access_chemistry, access_virology, access_genetics, access_psychiatrist) + minimal_access = list(access_medical, access_medical_equip, access_psychiatrist) alt_titles = list("Psychologist") equip(var/mob/living/carbon/human/H) @@ -198,8 +198,8 @@ spawn_positions = 2 supervisors = "the chief medical officer" selection_color = "#ffeef0" - access = list(access_medical, access_morgue, access_surgery, access_chemistry, access_virology, access_eva, access_maint_tunnels, access_external_airlocks, access_psychiatrist) - minimal_access = list(access_medical, access_morgue, access_eva, access_maint_tunnels, access_external_airlocks) + access = list(access_medical, access_medical_equip, access_morgue, access_surgery, access_chemistry, access_virology, access_eva, access_maint_tunnels, access_external_airlocks, access_psychiatrist) + minimal_access = list(access_medical, access_medical_equip, access_eva, access_maint_tunnels, access_external_airlocks) alt_titles = list("Emergency Medical Technician") equip(var/mob/living/carbon/human/H) diff --git a/code/game/jobs/job/science.dm b/code/game/jobs/job/science.dm index dc0252de53..7fa102aeb8 100644 --- a/code/game/jobs/job/science.dm +++ b/code/game/jobs/job/science.dm @@ -13,11 +13,11 @@ req_admin_notify = 1 access = list(access_rd, access_heads, access_tox, access_genetics, access_morgue, access_tox_storage, access_teleporter, access_sec_doors, - access_research, access_robotics, access_xenobiology, access_ai_upload, + access_research, access_robotics, access_xenobiology, access_ai_upload, access_tech_storage, access_RC_announce, access_keycard_auth, access_tcomsat, access_gateway, access_xenoarch) minimal_access = list(access_rd, access_heads, access_tox, access_genetics, access_morgue, access_tox_storage, access_teleporter, access_sec_doors, - access_research, access_robotics, access_xenobiology, access_ai_upload, + access_research, access_robotics, access_xenobiology, access_ai_upload, access_tech_storage, access_RC_announce, access_keycard_auth, access_tcomsat, access_gateway, access_xenoarch) minimal_player_age = 14 diff --git a/code/game/jobs/job/security.dm b/code/game/jobs/job/security.dm index e16a6af247..cb7a7d23f4 100644 --- a/code/game/jobs/job/security.dm +++ b/code/game/jobs/job/security.dm @@ -11,14 +11,14 @@ selection_color = "#ffdddd" idtype = /obj/item/weapon/card/id/silver req_admin_notify = 1 - access = list(access_security, access_sec_doors, access_brig, access_armory, access_court, + access = list(access_security, access_eva, access_sec_doors, access_brig, access_armory, access_court, access_forensics_lockers, access_morgue, access_maint_tunnels, access_all_personal_lockers, access_research, access_engine, access_mining, access_medical, access_construction, access_mailsorting, - access_heads, access_hos, access_RC_announce, access_keycard_auth, access_gateway) - minimal_access = list(access_security, access_sec_doors, access_brig, access_armory, access_court, + access_heads, access_hos, access_RC_announce, access_keycard_auth, access_gateway, access_external_airlocks) + minimal_access = list(access_security, access_eva, access_sec_doors, access_brig, access_armory, access_court, access_forensics_lockers, access_morgue, access_maint_tunnels, access_all_personal_lockers, access_research, access_engine, access_mining, access_medical, access_construction, access_mailsorting, - access_heads, access_hos, access_RC_announce, access_keycard_auth, access_gateway) + access_heads, access_hos, access_RC_announce, access_keycard_auth, access_gateway, access_external_airlocks) minimal_player_age = 14 equip(var/mob/living/carbon/human/H) @@ -54,8 +54,8 @@ spawn_positions = 1 supervisors = "the head of security" selection_color = "#ffeeee" - access = list(access_security, access_sec_doors, access_brig, access_armory, access_court, access_maint_tunnels, access_morgue) - minimal_access = list(access_security, access_sec_doors, access_brig, access_armory, access_court, access_maint_tunnels) + access = list(access_security, access_eva, access_sec_doors, access_brig, access_armory, access_court, access_maint_tunnels, access_morgue, access_external_airlocks) + minimal_access = list(access_security, access_eva, access_sec_doors, access_brig, access_armory, access_court, access_maint_tunnels, access_external_airlocks) minimal_player_age = 5 equip(var/mob/living/carbon/human/H) @@ -133,8 +133,8 @@ spawn_positions = 3 supervisors = "the head of security" selection_color = "#ffeeee" - access = list(access_security, access_sec_doors, access_brig, access_court, access_maint_tunnels, access_morgue) - minimal_access = list(access_security, access_sec_doors, access_brig, access_court, access_maint_tunnels) + access = list(access_security, access_eva, access_sec_doors, access_brig, access_court, access_maint_tunnels, access_morgue, access_external_airlocks) + minimal_access = list(access_security, access_eva, access_sec_doors, access_brig, access_court, access_maint_tunnels, access_external_airlocks) minimal_player_age = 3 equip(var/mob/living/carbon/human/H) if(!H) return 0 diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm index 81529cf804..6895124593 100644 --- a/code/game/machinery/vending.dm +++ b/code/game/machinery/vending.dm @@ -788,7 +788,7 @@ icon_state = "med" icon_deny = "med-deny" product_ads = "Go save some lives!;The best stuff for your medbay.;Only the finest tools.;Natural chemicals!;This stuff saves lives.;Don't you want some?;Ping!" - req_access = list(access_medical) + req_access = list(access_medical_equip) products = list(/obj/item/weapon/reagent_containers/glass/bottle/antitoxin = 4,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline = 4, /obj/item/weapon/reagent_containers/glass/bottle/stoxin = 4,/obj/item/weapon/reagent_containers/glass/bottle/toxin = 4, /obj/item/weapon/reagent_containers/syringe/antiviral = 4,/obj/item/weapon/reagent_containers/syringe = 12, diff --git a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm index 9eebafacc7..b798016e6e 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm @@ -7,7 +7,7 @@ icon_opened = "medicalopen" icon_broken = "medicalbroken" icon_off = "medicaloff" - req_access = list(access_medical) + req_access = list(access_medical_equip) New() @@ -52,7 +52,7 @@ /obj/structure/closet/secure_closet/medical3 name = "medical doctor's locker" - req_access = list(access_medical) + req_access = list(access_medical_equip) icon_state = "securemed1" icon_closed = "securemed" icon_locked = "securemed1" @@ -187,7 +187,7 @@ anchored = 1 density = 0 wall_mounted = 1 - req_access = list(access_medical) + req_access = list(access_medical_equip) /obj/structure/closet/secure_closet/medical_wall/update_icon() if(broken) diff --git a/code/game/objects/structures/crates_lockers/closets/secure/security.dm b/code/game/objects/structures/crates_lockers/closets/secure/security.dm index 2480fff6da..17209d32bd 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/security.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/security.dm @@ -166,7 +166,7 @@ /obj/structure/closet/secure_closet/security name = "security officer's locker" - req_access = list(access_security) + req_access = list(access_brig) icon_state = "sec1" icon_closed = "sec" icon_locked = "sec1" diff --git a/maps/exodus-1.dmm b/maps/exodus-1.dmm index c9f0bb127a..a9be4495de 100644 --- a/maps/exodus-1.dmm +++ b/maps/exodus-1.dmm @@ -98,13 +98,13 @@ "abT" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "lawyer_blast"; name = "Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/security/brig) "abU" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/cable/green,/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area/security/prison) "abV" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/structure/cable/green,/turf/simulated/floor/plating,/area/security/prison) -"abW" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; layer = 3.3; master_tag = "brig_solar_airlock"; name = "exterior access button"; pixel_x = 25; pixel_y = 25; req_access = list(13)},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating/airless,/area/solar/fore) +"abW" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; layer = 3.3; master_tag = "brig_solar_airlock"; name = "exterior access button"; pixel_x = 25; pixel_y = 25; req_access = list(11,13)},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating/airless,/area/solar/fore) "abX" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1379; id_tag = "brig_solar_pump"},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{frequency = 1379; id_tag = "brig_solar_airlock"; layer = 3.3; pixel_x = 0; pixel_y = -25; req_access = list(13); tag_airpump = "brig_solar_pump"; tag_chamber_sensor = "brig_solar_sensor"; tag_exterior_door = "brig_solar_outer"; tag_interior_door = "brig_solar_inner"},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "brig_solar_sensor"; layer = 3.3; pixel_x = 12; pixel_y = -25},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/decal/warning_stripes,/turf/simulated/floor/plating,/area/maintenance/foresolar) -"abY" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "brig_solar_outer"; locked = 1; name = "Engineering External Access"; req_access = list(10,13)},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/foresolar) -"abZ" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; layer = 3.3; master_tag = "brig_solar_airlock"; name = "interior access button"; pixel_x = -25; pixel_y = -25; req_access = list(13)},/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/maintenance/foresolar) +"abY" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "brig_solar_outer"; locked = 1; name = "Engineering External Access"; req_access = list(11,13)},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/foresolar) +"abZ" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; layer = 3.3; master_tag = "brig_solar_airlock"; name = "interior access button"; pixel_x = -25; pixel_y = -25; req_access = list(11,13)},/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/maintenance/foresolar) "aca" = (/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/maintenance/foresolar) "acb" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/maintenance/foresolar) -"acc" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "brig_solar_inner"; locked = 1; name = "Engineering External Access"; req_access = list(13)},/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/foresolar) +"acc" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "brig_solar_inner"; locked = 1; name = "Engineering External Access"; req_access = list(11,13)},/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/foresolar) "acd" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/maintenance/security_port) "ace" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor{icon_state = "dark"},/area/security/tactical) "acf" = (/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/turf/simulated/floor{icon_state = "dark"},/area/security/tactical) @@ -117,7 +117,7 @@ "acm" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/security/main) "acn" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/security/main) "aco" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/security/main) -"acp" = (/obj/machinery/door/airlock/engineering{name = "Fore Solar Access"; req_access = list(10)},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/foresolar) +"acp" = (/obj/machinery/door/airlock/engineering{name = "Fore Solar Access"; req_access = list(11)},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/foresolar) "acq" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/security/main) "acr" = (/turf/simulated/wall,/area/security/main) "acs" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/security_starboard) @@ -211,7 +211,7 @@ "aec" = (/obj/machinery/button/remote/blast_door{id = "Armoury"; name = "Armoury Access"; pixel_x = -1; pixel_y = -28; req_access = list(3)},/turf/simulated/floor{icon_state = "dark"},/area/security/armoury) "aed" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{dir = 2; icon_state = "redcorner"},/area/security/main) "aee" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'INTERNALS REQUIRED'."; name = "INTERNALS REQUIRED"; pixel_x = 32; pixel_y = 32},/turf/simulated/floor/plating,/area/maintenance/security_starboard) -"aef" = (/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/door/airlock/glass_security{name = "Briefing Room"; req_access = list(63)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/security/main) +"aef" = (/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/door/airlock/glass_security{name = "Briefing Room"; req_access = list(1)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/security/main) "aeg" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/security_port) "aeh" = (/obj/machinery/light/small,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/security_starboard) "aei" = (/obj/machinery/light{dir = 8},/obj/structure/window/reinforced,/obj/structure/table,/obj/item/device/megaphone,/obj/item/device/megaphone,/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/security/main) @@ -249,7 +249,7 @@ "aeO" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{dir = 2; icon_state = "redcorner"},/area/security/main) "aeP" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/door/airlock/highsecurity{name = "Secure Armoury Section"; req_access = list(3)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/security/warden) "aeQ" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating,/area/maintenance/security_starboard) -"aeR" = (/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/door/airlock/glass_security{name = "Briefing Room"; req_access = list(63)},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/security/main) +"aeR" = (/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/door/airlock/glass_security{name = "Briefing Room"; req_access = list(1)},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/security/main) "aeS" = (/turf/simulated/wall/r_wall,/area/maintenance/security_starboard) "aeT" = (/obj/item/device/radio/intercom{broadcasting = 0; freerange = 0; frequency = 1475; listening = 1; name = "Station Intercom (Security)"; pixel_x = 30; pixel_y = 0},/obj/machinery/camera/network/security{c_tag = "Security - Briefing"; dir = 8},/turf/simulated/floor{dir = 2; icon_state = "redcorner"},/area/security/main) "aeU" = (/obj/structure/grille,/turf/simulated/floor/plating,/area/maintenance/security_port) @@ -625,7 +625,7 @@ "ama" = (/obj/structure/table,/obj/item/device/t_scanner,/turf/simulated/floor/plating{dir = 1; icon_state = "warnplatecorner"},/area/maintenance/security_starboard) "amb" = (/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,/area/security/brig) "amc" = (/obj/structure/disposalpipe/segment,/obj/item/weapon/stool,/turf/simulated/floor/carpet,/area/security/detectives_office) -"amd" = (/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/table/reinforced,/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/machinery/door/window/eastleft,/turf/simulated/floor,/area/security/lobby) +"amd" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Prison Gate"; name = "Security Blast Door"; opacity = 0},/obj/machinery/door/airlock/atmos{name = "Atmospherics Maintenance"; req_access = list(2,12,24)},/turf/simulated/floor/plating,/area/security/brig) "ame" = (/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/security/lobby) "amf" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/security/lobby) "amg" = (/turf/simulated/floor,/area/security/lobby) @@ -652,7 +652,7 @@ "amB" = (/obj/machinery/atmospherics/valve{dir = 4},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 6},/area/security/brig) "amC" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/obj/machinery/portable_atmospherics/powered/scrubber,/obj/item/weapon/wrench,/turf/simulated/floor/plating,/area/security/brig) "amD" = (/obj/machinery/door/airlock/engineering{name = "Security Substation"; req_one_access = list(11,24)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/substation/security) -"amE" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Prison Gate"; name = "Security Blast Door"; opacity = 0},/obj/machinery/door/airlock/atmos{name = "Atmospherics Maintenance"; req_access = list(12,24)},/turf/simulated/floor/plating,/area/security/brig) +"amE" = (/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/table/reinforced,/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/machinery/door/window/eastleft{req_access = list(63)},/turf/simulated/floor,/area/security/lobby) "amF" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/binary/pump{dir = 4},/turf/simulated/floor/plating,/area/security/brig) "amG" = (/obj/structure/flora/pottedplant{tag = "icon-plant-10"; icon_state = "plant-10"},/turf/simulated/floor,/area/security/brig) "amH" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/turf/simulated/floor/plating,/area/security/brig) @@ -664,7 +664,7 @@ "amN" = (/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/door/window/brigdoor{base_state = "rightsecure"; dir = 8; icon_state = "rightsecure"; req_access = list(2)},/obj/structure/table/reinforced,/turf/simulated/floor,/area/security/brig) "amO" = (/obj/structure/bed/chair/office/dark{dir = 8},/obj/machinery/button/remote/airlock{id = "prisonentry"; name = "Entry Doors"; pixel_x = -6; pixel_y = 24; req_access = list(2)},/obj/machinery/button/remote/blast_door{id = "prisonexit"; name = "Exit Doors"; pixel_x = 6; pixel_y = 24; req_access = list(2)},/obj/machinery/button/flasher{id = "permentryflash"; name = "entry flash"; pixel_x = -26; pixel_y = 6; req_access = list(2)},/turf/simulated/floor,/area/security/brig) "amP" = (/obj/structure/bed/chair/office/dark{dir = 4},/obj/machinery/button/remote/airlock{desc = "A remote control switch for the brig foyer."; id = "BrigFoyer"; name = "Brig Foyer Doors"; pixel_x = 28; pixel_y = -15},/turf/simulated/floor,/area/security/brig) -"amQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/computer/security/telescreen{desc = "Big Brother is watching."; name = "Brig Monitor"; network = list("Prison"); pixel_x = -3; pixel_y = -33},/turf/simulated/floor,/area/security/brig) +"amQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/computer/security/telescreen{desc = "Big Brother is watching."; layer = 3.4; name = "Brig Monitor"; network = list("Prison"); pixel_x = 3; pixel_y = -33},/obj/machinery/computer/station_alert/security,/turf/simulated/floor,/area/security/brig) "amR" = (/obj/machinery/flasher{id = "Cell 3"; pixel_x = -28; pixel_y = 0},/obj/structure/bed,/turf/simulated/floor{icon_state = "red"},/area/security/prison) "amS" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/prison) "amT" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/security/lobby) @@ -688,8 +688,8 @@ "anl" = (/obj/structure/closet/secure_closet/brig,/obj/machinery/camera/network/security{c_tag = "Security - Prison Processing"; dir = 1},/turf/simulated/floor,/area/security/brig) "anm" = (/obj/structure/closet/secure_closet/brig{id = "Cell 3"; name = "Cell 3 Locker"},/obj/machinery/camera/network/prison{c_tag = "Security - Brig Cell 3"; dir = 8},/turf/simulated/floor{icon_state = "red"},/area/security/prison) "ann" = (/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/door/window/brigdoor{dir = 8; req_access = list(2)},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/structure/table/reinforced,/turf/simulated/floor,/area/security/brig) -"ano" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/computer/security/telescreen{desc = "Big Brother is watching."; name = "Brig Monitor"; network = list("Prison"); pixel_x = 3; pixel_y = -33},/obj/machinery/computer/station_alert/security,/turf/simulated/floor,/area/security/brig) -"anp" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/button/flasher{id = "permflash"; name = "Brig flashes"; pixel_x = -6; pixel_y = -24; req_access = list(2); tag = "permflash"},/obj/machinery/button/remote/blast_door{id = "brigobs"; name = "observation shutters"; pixel_x = 6; pixel_y = -24},/obj/machinery/button/remote/blast_door{id = "Secure Gate"; name = "Brig Lockdown"; pixel_x = -26; pixel_y = -4; req_access = list(2)},/turf/simulated/floor,/area/security/brig) +"ano" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/button/flasher{id = "permflash"; name = "Brig flashes"; pixel_x = -6; pixel_y = -24; req_access = list(2); tag = "permflash"},/obj/machinery/button/remote/blast_door{id = "brigobs"; name = "observation shutters"; pixel_x = 6; pixel_y = -24; req_access = list(2)},/obj/machinery/button/remote/blast_door{id = "Secure Gate"; name = "Brig Lockdown"; pixel_x = -26; pixel_y = -4; req_access = list(2)},/turf/simulated/floor,/area/security/brig) +"anp" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/computer/security/telescreen{desc = "Big Brother is watching."; layer = 3.4; name = "Brig Monitor"; network = list("Prison"); pixel_x = -3; pixel_y = -33},/turf/simulated/floor,/area/security/brig) "anq" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; 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/plating/airless,/area/solar/auxstarboard) "anr" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) "ans" = (/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating/airless,/area/solar/auxstarboard) @@ -1052,7 +1052,7 @@ "aul" = (/obj/structure/closet{name = "Prisoner's Locker"},/obj/item/weapon/flame/lighter/zippo,/obj/item/weapon/storage/fancy/cigarettes,/turf/simulated/floor,/area/security/prison) "aum" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = -6},/turf/simulated/floor/plating,/area/crew_quarters/fitness) "aun" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/computer/cryopod{density = 0; layer = 3.3; pixel_y = 32},/obj/machinery/light_switch{pixel_x = -25; pixel_y = 24},/turf/simulated/floor,/area/security/prison) -"auo" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/structure/table/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/door/window/brigdoor{name = "Visitation Window"; req_access = list(63)},/turf/simulated/floor,/area/security/prison) +"auo" = (/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/table/reinforced,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/door/window/eastright{req_access = list(63)},/turf/simulated/floor,/area/security/lobby) "aup" = (/obj/structure/closet{name = "Prisoner's Locker"},/obj/random/tech_supply,/obj/item/clothing/head/flatcap,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) "auq" = (/obj/machinery/atm{pixel_x = -25},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/hallway/primary/fore) "aur" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/hallway/primary/fore) @@ -1286,11 +1286,11 @@ "ayL" = (/turf/simulated/wall/r_wall,/area/ai_monitored/storage/eva) "ayM" = (/obj/structure/sign/securearea,/turf/simulated/wall/r_wall,/area/ai_monitored/storage/eva) "ayN" = (/obj/machinery/alarm{dir = 4; pixel_x = -23; pixel_y = 0},/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/camera/network/civilian_east{c_tag = "Dormitory Fitness Room West"; dir = 4},/turf/simulated/floor{icon_state = "neutral"; dir = 8},/area/crew_quarters/fitness) -"ayO" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "solar_chapel_airlock"; name = "exterior access button"; pixel_x = -25; pixel_y = -25; req_access = list(10,13)},/obj/effect/decal/cleanable/dirt,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating/airless,/area/solar/auxstarboard) +"ayO" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/structure/table/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/door/window/brigdoor{name = "Visitation Window"; req_access = list(2)},/turf/simulated/floor,/area/security/prison) "ayP" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/hallway/primary/fore) "ayQ" = (/turf/simulated/floor{icon_state = "bluecorner"},/area/hallway/primary/fore) "ayR" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "neutral"; dir = 8},/area/crew_quarters/sleep) -"ayS" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "solar_tool_airlock"; name = "exterior access button"; pixel_x = -25; pixel_y = -25; req_access = list(13)},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating/airless,/area/solar/auxport) +"ayS" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "solar_chapel_airlock"; name = "exterior access button"; pixel_x = -25; pixel_y = -25; req_access = list(11,13)},/obj/effect/decal/cleanable/dirt,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating/airless,/area/solar/auxstarboard) "ayT" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/crew_quarters/sleep) "ayU" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor{icon_state = "neutral"; dir = 8},/area/crew_quarters/sleep) "ayV" = (/obj/structure/closet/lasertag/blue,/turf/simulated/floor{icon_state = "neutral"; dir = 4},/area/crew_quarters/fitness) @@ -1325,7 +1325,7 @@ "azy" = (/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = -32},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "warning"},/area/hallway/secondary/entry/fore) "azz" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "warning"},/area/hallway/secondary/entry/fore) "azA" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "warningcorner"; dir = 1},/area/hallway/secondary/entry/fore) -"azB" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "solar_chapel_outer"; locked = 1; name = "Engineering External Access"; req_access = list(10,13)},/obj/effect/decal/cleanable/dirt,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard) +"azB" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "solar_tool_airlock"; name = "exterior access button"; pixel_x = -25; pixel_y = -25; req_access = list(11,13)},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating/airless,/area/solar/auxport) "azC" = (/obj/structure/bed,/obj/item/weapon/bedsheet/mime,/obj/machinery/light/small{dir = 4},/obj/machinery/light_switch{pixel_x = 22; pixel_y = 10},/turf/simulated/floor/wood,/area/crew_quarters/sleep/bedrooms) "azD" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/auxsolarport) "azE" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/maintenance/auxsolarport) @@ -1367,7 +1367,7 @@ "aAo" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/item/device/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_x = -2; pixel_y = -28},/turf/simulated/floor{dir = 10; icon_state = "neutral"},/area/crew_quarters/fitness) "aAp" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/crew_quarters/fitness) "aAq" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/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"},/turf/simulated/floor,/area/crew_quarters/fitness) -"aAr" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "solar_tool_outer"; locked = 1; name = "Engineering External Access"; req_access = list(10,13)},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/auxsolarport) +"aAr" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "solar_chapel_outer"; locked = 1; name = "Engineering External Access"; req_access = list(11,13)},/obj/effect/decal/cleanable/dirt,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard) "aAs" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Solar - Fore Port"},/turf/simulated/floor/plating,/area/maintenance/auxsolarport) "aAt" = (/obj/structure/bed,/obj/item/weapon/bedsheet/mime,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/wood,/area/crew_quarters/sleep/bedrooms) "aAu" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard) @@ -1424,7 +1424,7 @@ "aBt" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating{dir = 8; icon_state = "warnplatecorner"},/area/maintenance/library) "aBu" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard) "aBv" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard) -"aBw" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "E.V.A. Maintenance"; req_one_access = list(1,5,11,18,24)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/ai_monitored/storage/eva) +"aBw" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "solar_tool_outer"; locked = 1; name = "Engineering External Access"; req_access = list(11,13)},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/auxsolarport) "aBx" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard) "aBy" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard) "aBz" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'KEEP CLEAR OF DOCKING AREA'."; name = "KEEP CLEAR: DOCKING AREA"; pixel_y = 0},/turf/simulated/wall/r_wall,/area/hallway/secondary/entry/fore) @@ -1444,7 +1444,7 @@ "aBN" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/checkpoint2) "aBO" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/camera/network/civilian_east{c_tag = "Dormitory Fitness Room East"; dir = 1},/turf/simulated/floor,/area/crew_quarters/fitness) "aBP" = (/obj/machinery/atmospherics/pipe/tank/air{dir = 8},/turf/simulated/floor/plating,/area/maintenance/arrivals) -"aBQ" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "solar_chapel_inner"; locked = 1; name = "Engineering External Access"; req_access = list(13)},/obj/machinery/atmospherics/pipe/simple/visible,/obj/effect/decal/cleanable/dirt,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard) +"aBQ" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "E.V.A. Maintenance"; req_access = list(15,18); req_one_access = newlist()},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/ai_monitored/storage/eva) "aBR" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/maintenance/auxsolarport) "aBS" = (/obj/machinery/power/terminal,/obj/machinery/light/small{dir = 4},/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/maintenance/auxsolarport) "aBT" = (/obj/item/weapon/extinguisher,/obj/effect/decal/cleanable/generic,/turf/simulated/floor/plating,/area/maintenance/evahallway) @@ -1462,7 +1462,7 @@ "aCf" = (/turf/simulated/floor,/area/ai_monitored/storage/eva) "aCg" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva) "aCh" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva) -"aCi" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "solar_tool_inner"; locked = 1; name = "Engineering External Access"; req_access = list(13)},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/auxsolarport) +"aCi" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "solar_chapel_inner"; locked = 1; name = "Engineering External Access"; req_access = list(11,13)},/obj/machinery/atmospherics/pipe/simple/visible,/obj/effect/decal/cleanable/dirt,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard) "aCj" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/cable/green,/turf/simulated/floor/plating,/area/ai_monitored/storage/eva) "aCk" = (/obj/machinery/suit_cycler/security,/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/ai_monitored/storage/eva) "aCl" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor{icon_state = "bluecorner"},/area/hallway/primary/fore) @@ -1473,7 +1473,7 @@ "aCq" = (/obj/machinery/shower{dir = 4; icon_state = "shower"; pixel_x = 5; pixel_y = 0},/obj/structure/curtain/open/shower,/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) "aCr" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) "aCs" = (/obj/machinery/shower{dir = 8; icon_state = "shower"; pixel_x = -5; pixel_y = 0},/obj/structure/curtain/open/shower,/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) -"aCt" = (/obj/machinery/door/airlock/glass_medical{id_tag = null; name = "Medical Hardsuits"; req_access = list(5)},/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva) +"aCt" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "solar_tool_inner"; locked = 1; name = "Engineering External Access"; req_access = list(11,13)},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/auxsolarport) "aCu" = (/turf/simulated/wall,/area/maintenance/substation/civilian_east) "aCv" = (/turf/simulated/wall/r_wall,/area/maintenance/auxsolarstarboard) "aCw" = (/obj/machinery/power/solar_control{id = "auxsolareast"; name = "Fore Starboard Solar Control"; track = 0},/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0; pixel_y = 32},/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating{dir = 8; icon_state = "warnplatecorner"},/area/maintenance/auxsolarstarboard) @@ -1483,13 +1483,13 @@ "aCA" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/hallway/secondary/entry/fore) "aCB" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/hallway/secondary/entry/fore) "aCC" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/hallway/secondary/entry/port) -"aCD" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass_security{name = "Security Hardsuits"; req_access = list(1)},/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva) +"aCD" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass_security{name = "Security Hardsuits"; req_access = list(2)},/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva) "aCE" = (/turf/simulated/wall,/area/security/checkpoint2) "aCF" = (/obj/machinery/atmospherics/pipe/manifold/hidden/cyan{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/obj/machinery/meter,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 10},/area/maintenance/arrivals) "aCG" = (/obj/machinery/atmospherics/pipe/tank/air{dir = 8},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/maintenance/arrivals) -"aCH" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "solar_chapel_airlock"; name = "interior access button"; pixel_x = 25; pixel_y = 25; req_access = list(13)},/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/obj/effect/decal/cleanable/dirt,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/maintenance/auxsolarstarboard) +"aCH" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "solar_chapel_airlock"; name = "interior access button"; pixel_x = 25; pixel_y = 25; req_access = list(11,13)},/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/obj/effect/decal/cleanable/dirt,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/maintenance/auxsolarstarboard) "aCI" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/maintenance/auxsolarport) -"aCJ" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "solar_tool_airlock"; name = "interior access button"; pixel_x = 25; pixel_y = 25; req_access = list(13)},/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/auxsolarport) +"aCJ" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "solar_tool_airlock"; name = "interior access button"; pixel_x = 25; pixel_y = 25; req_access = list(11,13)},/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/auxsolarport) "aCK" = (/turf/simulated/wall,/area/storage/primary) "aCL" = (/obj/machinery/door/airlock{name = "Unisex Showers"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) "aCM" = (/turf/simulated/wall/r_wall,/area/storage/primary) @@ -1520,7 +1520,7 @@ "aDl" = (/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/obj/item/weapon/bikehorn/rubberducky,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) "aDm" = (/obj/machinery/vending/coffee,/turf/simulated/floor/wood,/area/crew_quarters/bar) "aDn" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 6; icon_state = "intact"; tag = "icon-intact-f (SOUTHEAST)"},/mob/living/simple_animal/mouse,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/maintenance/arrivals) -"aDo" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/box/beanbags,obj/item/weapon/gun/projectile/shotgun/doublebarrel,/obj/item/weapon/paper{info = "This permit signifies that the Bartender is permitted to posess this firearm in the bar, and ONLY the bar. Failure to adhere to this permit will result in confiscation of the weapon and possibly arrest."; name = "Shotgun permit"},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/wood,/area/crew_quarters/bar) +"aDo" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/box/beanbags,/obj/item/weapon/gun/projectile/shotgun/doublebarrel,/obj/item/weapon/paper{info = "This permit signifies that the Bartender is permitted to posess this firearm in the bar, and ONLY the bar. Failure to adhere to this permit will result in confiscation of the weapon and possibly arrest."; name = "Shotgun permit"},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/wood,/area/crew_quarters/bar) "aDp" = (/turf/simulated/wall,/area/crew_quarters/bar) "aDq" = (/obj/structure/disposalpipe/segment,/obj/effect/decal/cleanable/dirt,/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"},/turf/simulated/floor/plating,/area/maintenance/bar) "aDr" = (/obj/item/weapon/stool{pixel_y = 8},/obj/effect/landmark/start{name = "Assistant"},/turf/simulated/floor,/area/storage/primary) @@ -1617,7 +1617,7 @@ "aFe" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating,/area/maintenance/library) "aFf" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/turf/simulated/floor/plating,/area/maintenance/library) "aFg" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/library) -"aFh" = (/obj/machinery/door/airlock/engineering{icon_state = "door_closed"; locked = 0; name = "Fore Starboard Solar Access"; req_access = list(10)},/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard) +"aFh" = (/obj/machinery/door/airlock/engineering{icon_state = "door_closed"; locked = 0; name = "Fore Starboard Solar Access"; req_access = list(11)},/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard) "aFi" = (/obj/effect/decal/cleanable/cobweb2,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/plating,/area/maintenance/library) "aFj" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor{icon_state = "dark"},/area/maintenance/library) "aFk" = (/turf/simulated/shuttle/wall{icon_state = "swall11"; dir = 2},/area/shuttle/arrival/station) @@ -1642,7 +1642,7 @@ "aFD" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/plating,/area/maintenance/arrivals) "aFE" = (/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/camera/network/exodus{c_tag = "Arrivals East"; dir = 8},/turf/simulated/floor{dir = 4; icon_state = "arrival"},/area/hallway/secondary/entry/port) "aFF" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/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{dir = 4; icon_state = "whitecorner"},/area/hallway/secondary/entry/port) -"aFG" = (/obj/machinery/door/airlock/engineering{icon_state = "door_closed"; locked = 0; name = "Fore Port Solar Access"; req_access = list(10)},/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/auxsolarport) +"aFG" = (/obj/machinery/door/airlock/engineering{icon_state = "door_closed"; locked = 0; name = "Fore Port Solar Access"; req_access = list(11)},/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/auxsolarport) "aFH" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/substation/civilian_west) "aFI" = (/obj/structure/table,/obj/machinery/requests_console{department = "Tool Storage"; departmentType = 0; pixel_y = 30},/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/machinery/camera/network/civilian_west{c_tag = "Tool Storage - Primary"},/turf/simulated/floor,/area/storage/primary) "aFJ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/storage/primary) @@ -1748,7 +1748,7 @@ "aHF" = (/obj/structure/toilet{pixel_y = 8},/obj/machinery/light/small{dir = 8},/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) "aHG" = (/obj/machinery/light/small{dir = 8},/obj/machinery/recharge_station,/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) "aHH" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"aHI" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass_command{name = "E.V.A."; req_one_access = list(1,5,11,18,24)},/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva) +"aHI" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass_command{name = "E.V.A."; req_one_access = list(18)},/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva) "aHJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/camera/network/civilian_east{c_tag = "Dormitories South"; dir = 4},/turf/simulated/floor{icon_state = "neutral"; dir = 8},/area/crew_quarters/sleep) "aHK" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/bar) "aHL" = (/obj/structure/disposalpipe/junction{icon_state = "pipe-j1"; dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/bar) @@ -1912,7 +1912,7 @@ "aKN" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/hallway/primary/central_one) "aKO" = (/turf/simulated/floor{dir = 4; icon_state = "bluecorner"},/area/hallway/primary/central_one) "aKP" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Firelock North"},/obj/machinery/door/window/brigdoor{dir = 1; name = "Security Checkpoint"; req_access = list(63)},/turf/simulated/floor{icon_state = "delivery"},/area/hallway/secondary/entry/starboard) -"aKQ" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass_command{name = "E.V.A. Cycler Access"; req_one_access = list(1,5,11,18,24)},/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva) +"aKQ" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass_command{name = "E.V.A. Cycler Access"; req_one_access = list(18)},/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva) "aKR" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/hallway/primary/central_one) "aKS" = (/obj/machinery/vending/cola,/turf/simulated/floor{icon_state = "dark"},/area/hallway/primary/central_two) "aKT" = (/obj/structure/disposalpipe/segment,/obj/machinery/button/crematorium{pixel_x = 25},/obj/machinery/light/small{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "dark"},/area/chapel/office) @@ -2028,7 +2028,7 @@ "aMZ" = (/obj/structure/bed/chair/comfy/brown{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/carpet,/area/crew_quarters/bar) "aNa" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office) "aNb" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office) -"aNc" = (/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/table/reinforced,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/door/window/eastright,/turf/simulated/floor,/area/security/lobby) +"aNc" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass_command{name = "E.V.A."; req_one_access = list(18)},/turf/simulated/floor{icon_state = "dark"},/area/hallway/primary/central_one) "aNd" = (/obj/structure/bed/chair/comfy/brown{dir = 8},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/carpet,/area/crew_quarters/bar) "aNe" = (/obj/structure/table,/obj/machinery/light/small,/turf/simulated/floor{icon_state = "chapel"},/area/chapel/main) "aNf" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/chapel/main) @@ -2067,7 +2067,7 @@ "aNM" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/hallway/primary/central_one) "aNN" = (/obj/machinery/light{dir = 1},/obj/item/device/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_y = 20},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/hallway/primary/central_one) "aNO" = (/obj/structure/extinguisher_cabinet{pixel_x = 5; pixel_y = 30},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/hallway/primary/central_one) -"aNP" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass_command{name = "E.V.A."; req_one_access = list(1,11,18,24)},/turf/simulated/floor{icon_state = "dark"},/area/hallway/primary/central_one) +"aNP" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass_command{name = "E.V.A."; req_one_access = list(18)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "dark"},/area/hallway/primary/central_one) "aNQ" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/hallway/primary/central_one) "aNR" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/hallway/primary/central_one) "aNS" = (/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/hallway/primary/central_one) @@ -2075,7 +2075,7 @@ "aNU" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/turf/simulated/floor{dir = 1; icon_state = "bluecorner"},/area/hallway/primary/central_one) "aNV" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor{icon_state = "L1"},/area/hallway/primary/central_one) "aNW" = (/obj/item/device/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_y = 20},/turf/simulated/floor{icon_state = "L3"},/area/hallway/primary/central_one) -"aNX" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass_command{name = "E.V.A."; req_one_access = list(1,11,18,24)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "dark"},/area/hallway/primary/central_one) +"aNX" = (/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1331; master_tag = "nuke_shuttle_dock_airlock"; name = "interior access button"; pixel_x = -28; pixel_y = 26; req_one_access = list(13)},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/hallway/secondary/entry/port) "aNY" = (/turf/simulated/floor{icon_state = "L7"},/area/hallway/primary/central_one) "aNZ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "L9"},/area/hallway/primary/central_one) "aOa" = (/turf/simulated/floor{icon_state = "L11"},/area/hallway/primary/central_one) @@ -2467,7 +2467,7 @@ "aVw" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor,/area/hallway/secondary/entry/starboard) "aVx" = (/obj/structure/extinguisher_cabinet{pixel_x = 5; pixel_y = -30},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/hallway/secondary/entry/starboard) "aVy" = (/obj/machinery/light,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/firealarm{dir = 2; pixel_y = -24},/turf/simulated/floor,/area/hallway/secondary/entry/starboard) -"aVz" = (/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1331; master_tag = "nuke_shuttle_dock_airlock"; name = "interior access button"; pixel_x = -28; pixel_y = 25; req_one_access = list(13)},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/hallway/secondary/entry/port) +"aVz" = (/obj/machinery/door/airlock/external{frequency = 1331; icon_state = "door_locked"; id_tag = "nuke_shuttle_dock_outer"; locked = 1; name = "Docking Port Airlock"; req_access = list(13)},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1331; master_tag = "nuke_shuttle_dock_airlock"; name = "exterior access button"; pixel_x = -5; pixel_y = -26; req_one_access = list(13)},/turf/simulated/floor/plating,/area/hallway/secondary/entry/port) "aVA" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/locker) "aVB" = (/obj/structure/closet/wardrobe/mixed,/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/turf/simulated/floor,/area/crew_quarters/locker) "aVC" = (/obj/effect/landmark{name = "lightsout"},/turf/simulated/floor,/area/crew_quarters/locker) @@ -2663,7 +2663,7 @@ "aZk" = (/obj/structure/bed/chair/office/light{dir = 8},/turf/simulated/floor,/area/security/vacantoffice) "aZl" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = 32},/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/turf/simulated/floor{dir = 9; icon_state = "blue"},/area/hallway/primary/central_two) "aZm" = (/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/hallway/primary/central_two) -"aZn" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "escape_dock_north_airlock"; name = "interior access button"; pixel_x = 25; pixel_y = 25; req_one_access = list(13)},/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor,/area/hallway/secondary/exit) +"aZn" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "escape_dock_north_airlock"; name = "interior access button"; pixel_x = 26; pixel_y = 26; req_one_access = list(13)},/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor,/area/hallway/secondary/exit) "aZo" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/table/woodentable,/turf/simulated/floor/wood,/area/crew_quarters/bar) "aZp" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/condiment/saltshaker{pixel_x = -2; pixel_y = 4},/obj/item/weapon/reagent_containers/food/condiment/peppermill{pixel_x = 2; pixel_y = 6},/turf/simulated/floor/wood,/area/crew_quarters/bar) "aZq" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/crew_quarters/kitchen) @@ -2730,7 +2730,7 @@ "baz" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = 0},/turf/simulated/wall,/area/maintenance/substation/civilian_west) "baA" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = 0},/turf/simulated/wall,/area/maintenance/substation/medical) "baB" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_dock_north_inner"; locked = 1; name = "Escape Airlock"; req_access = list(13)},/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/machinery/mech_sensor{dir = 8; frequency = 1380; id_tag = "escape_dock_north_mech"; pixel_y = -19},/turf/simulated/floor/plating,/area/hallway/secondary/exit) -"baC" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_dock_north_outer"; locked = 1; name = "Escape Airlock"; req_access = list(13)},/obj/machinery/mech_sensor{dir = 8; frequency = 1380; id_tag = "escape_dock_north_mech"; pixel_y = -19},/turf/simulated/floor/plating,/area/hallway/secondary/exit) +"baC" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_dock_north_outer"; locked = 1; name = "Escape Airlock"; req_access = list(13)},/obj/machinery/mech_sensor{dir = 8; frequency = 1380; id_tag = "escape_dock_north_mech"; pixel_y = -19},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "escape_dock_north_airlock"; name = "exterior access button"; pixel_x = 4; pixel_y = -26; req_one_access = list(13)},/turf/simulated/floor/plating,/area/hallway/secondary/exit) "baD" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor,/area/storage/tools) "baE" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor,/area/storage/tools) "baF" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/machinery/light,/obj/random/tech_supply,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor,/area/storage/tools) @@ -2741,7 +2741,7 @@ "baK" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor,/area/hallway/primary/central_one) "baL" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor,/area/hallway/primary/central_one) "baM" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "blue"; dir = 4},/area/hallway/primary/central_one) -"baN" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1331; master_tag = "nuke_shuttle_dock_airlock"; name = "exterior access button"; pixel_x = -5; pixel_y = 32; req_one_access = list(13)},/turf/space,/area/space) +"baN" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "centcom_shuttle_dock_outer"; locked = 1; name = "Docking Port Airlock"; req_access = list(13)},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "centcom_shuttle_dock_airlock"; name = "exterior access button"; pixel_x = -5; pixel_y = -26; req_one_access = list(13)},/turf/simulated/floor/plating,/area/hallway/secondary/entry/aft) "baO" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/chapel/main) "baP" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/button/remote/blast_door{id = "office_shutter"; name = "Office Shutters"; pixel_x = -8; pixel_y = 22},/obj/machinery/light_switch{pixel_x = -8; pixel_y = 32},/turf/simulated/floor,/area/security/vacantoffice) "baQ" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/bridge) @@ -2834,7 +2834,7 @@ "bcz" = (/obj/structure/closet/emcloset,/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/bridge) "bcA" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/bridge) "bcB" = (/obj/item/device/radio/intercom{pixel_x = -25},/obj/machinery/camera/network/exodus{c_tag = "Departures West"; dir = 4},/turf/simulated/floor{dir = 8; icon_state = "escape"},/area/hallway/secondary/exit) -"bcC" = (/obj/structure/lattice,/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "escape_dock_north_airlock"; name = "exterior access button"; pixel_x = 5; pixel_y = 25; req_one_access = list(13)},/turf/space,/area/space) +"bcC" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "centcom_shuttle_dock_airlock"; name = "interior access button"; pixel_x = -28; pixel_y = 26; req_one_access = list(13)},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/turf/simulated/floor,/area/hallway/secondary/entry/aft) "bcD" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/wall/r_wall,/area/bridge) "bcE" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/table,/obj/machinery/recharger{pixel_y = 4},/turf/simulated/floor/plating,/area/maintenance/substation/command) "bcF" = (/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1380; id_tag = "centcom_shuttle_dock_airlock"; pixel_x = 0; pixel_y = 30; req_one_access = list(13); tag_airpump = "centcom_shuttle_dock_pump"; tag_chamber_sensor = "centcom_shuttle_dock_sensor"; tag_exterior_door = "centcom_shuttle_dock_outer"; tag_interior_door = "centcom_shuttle_dock_inner"},/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "centcom_shuttle_dock_sensor"; pixel_x = 0; pixel_y = -25},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1380; id_tag = "centcom_shuttle_dock_pump"},/turf/simulated/floor/plating,/area/hallway/secondary/entry/aft) @@ -2847,11 +2847,11 @@ "bcM" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/wood,/area/crew_quarters/bar) "bcN" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/wood,/area/crew_quarters/bar) "bcO" = (/turf/simulated/floor{icon_state = "wood"},/area/crew_quarters/bar) -"bcP" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "centcom_shuttle_dock_outer"; locked = 1; name = "Docking Port Airlock"; req_access = list(13)},/turf/simulated/floor/plating,/area/hallway/secondary/entry/aft) +"bcP" = (/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "escape_dock_south_airlock"; name = "interior access button"; pixel_x = 26; pixel_y = -26; req_one_access = list(13)},/turf/simulated/floor,/area/hallway/secondary/exit) "bcQ" = (/obj/machinery/light_switch{pixel_x = 16; pixel_y = -23},/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) "bcR" = (/obj/machinery/light,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) "bcS" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) -"bcT" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "centcom_shuttle_dock_airlock"; name = "interior access button"; pixel_x = -30; pixel_y = 25; req_one_access = list(13)},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/turf/simulated/floor,/area/hallway/secondary/entry/aft) +"bcT" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_dock_south_outer"; locked = 1; name = "Escape Airlock"; req_access = list(13)},/obj/machinery/mech_sensor{dir = 8; frequency = 1380; id_tag = "escape_dock_south_mech"; pixel_y = 19},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "escape_dock_south_airlock"; name = "exterior access button"; pixel_x = 4; pixel_y = 26; req_one_access = list(13)},/turf/simulated/floor/plating,/area/hallway/secondary/exit) "bcU" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) "bcV" = (/obj/item/weapon/stool,/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/quartermaster/office) "bcW" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{dir = 1; icon_state = "green"},/area/hydroponics/garden) @@ -2986,9 +2986,9 @@ "bfv" = (/turf/simulated/floor/bluegrid,/area/turret_protected/ai) "bfw" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/donut,/obj/machinery/door/firedoor/border_only,/obj/machinery/door/blast/shutters{dir = 2; id = "kitchen"; layer = 3.3; name = "Kitchen Shutters"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/hallway/primary/starboard) "bfx" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/machinery/light/small,/obj/machinery/camera/network/civilian_east{c_tag = "Library South"; dir = 1},/turf/simulated/floor/wood,/area/library) -"bfy" = (/obj/structure/lattice,/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "escape_dock_south_airlock"; name = "exterior access button"; pixel_x = 5; pixel_y = -25; req_one_access = list(13)},/turf/space,/area/space) +"bfy" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "specops_dock_outer"; locked = 1; name = "Docking Port Airlock"; req_access = list(13)},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "specops_dock_airlock"; name = "exterior access button"; pixel_x = -5; pixel_y = -26; req_one_access = list(13)},/turf/simulated/floor/plating,/area/hallway/secondary/entry/aft) "bfz" = (/obj/machinery/power/terminal{dir = 8},/obj/structure/cable/green,/turf/simulated/floor/bluegrid,/area/turret_protected/ai) -"bfA" = (/obj/structure/lattice,/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "centcom_shuttle_dock_airlock"; name = "exterior access button"; pixel_x = -5; pixel_y = 25; req_one_access = list(13)},/turf/space,/area/space) +"bfA" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "specops_dock_airlock"; name = "interior access button"; pixel_x = -28; pixel_y = 26; req_one_access = list(13)},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/turf/simulated/floor,/area/hallway/secondary/entry/aft) "bfB" = (/obj/structure/bed/chair/comfy/black{dir = 8},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/carpet,/area/bridge/meeting_room) "bfC" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/captain) "bfD" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/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/floor/wood,/area/crew_quarters/captain) @@ -3113,7 +3113,7 @@ "bhS" = (/obj/machinery/light/small{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/porta_turret{dir = 8},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) "bhT" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/box/donut,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/carpet,/area/crew_quarters/captain) "bhU" = (/obj/machinery/camera/network/exodus{c_tag = "Primary Hallway Starboard - East"},/turf/simulated/floor,/area/hallway/primary/starboard) -"bhV" = (/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "escape_dock_south_airlock"; name = "interior access button"; pixel_x = 25; pixel_y = -25; req_one_access = list(13)},/turf/simulated/floor,/area/hallway/secondary/exit) +"bhV" = (/obj/machinery/button/remote/blast_door{dir = 2; id = "Skynet_launch"; name = "Mech Bay Door Control"; pixel_x = 6; pixel_y = 24; req_access = list(29)},/turf/simulated/floor{tag = "icon-warningcorner (WEST)"; icon_state = "warningcorner"; dir = 8},/area/assembly/chargebay) "bhW" = (/obj/machinery/light/small{dir = 1},/obj/machinery/embedded_controller/radio/airlock/docking_port_multi{frequency = 1380; id_tag = "escape_dock_south_airlock"; master_tag = "escape_dock"; pixel_y = -30; req_one_access = list(13); tag_airlock_mech_sensor = "escape_dock_south_mech"; tag_airpump = "escape_dock_south_pump"; tag_chamber_sensor = "escape_dock_south_sensor"; tag_exterior_door = "escape_dock_south_outer"; tag_interior_door = "escape_dock_south_inner"; tag_shuttle_mech_sensor = "shuttle_dock_south_mech"},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1380; id_tag = "escape_dock_south_pump"},/turf/simulated/floor/plating,/area/hallway/secondary/exit) "bhX" = (/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_dock_south_inner"; locked = 1; name = "Escape Airlock"; req_access = list(13)},/obj/machinery/mech_sensor{dir = 8; frequency = 1380; id_tag = "escape_dock_south_mech"; pixel_y = 19},/turf/simulated/floor/plating,/area/hallway/secondary/exit) "bhY" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/locker) @@ -3121,7 +3121,7 @@ "bia" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/locker/locker_toilet) "bib" = (/obj/machinery/portable_atmospherics/powered/scrubber,/obj/machinery/light,/turf/simulated/floor{icon_state = "delivery"},/area/crew_quarters/locker) "bic" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/crew_quarters/locker) -"bid" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_dock_south_outer"; locked = 1; name = "Escape Airlock"; req_access = list(13)},/obj/machinery/mech_sensor{dir = 8; frequency = 1380; id_tag = "escape_dock_south_mech"; pixel_y = 19},/turf/simulated/floor/plating,/area/hallway/secondary/exit) +"bid" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "admin_shuttle_dock_airlock"; name = "interior access button"; pixel_x = -8; pixel_y = 26; req_one_access = list(13)},/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/hallway/secondary/entry/aft) "bie" = (/obj/item/weapon/cigbutt,/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/locker) "bif" = (/obj/structure/disposalpipe/sortjunction/wildcard,/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"},/turf/simulated/floor/plating,/area/maintenance/locker) "big" = (/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "floorgrime"},/area/quartermaster/storage) @@ -3301,8 +3301,8 @@ "bly" = (/obj/machinery/vending/coffee,/turf/simulated/floor/wood,/area/bridge/meeting_room) "blz" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/bluegrid,/area/turret_protected/ai) "blA" = (/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) -"blB" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "specops_dock_outer"; locked = 1; name = "Docking Port Airlock"; req_access = list(13)},/turf/simulated/floor/plating,/area/hallway/secondary/entry/aft) -"blC" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "specops_dock_airlock"; name = "interior access button"; pixel_x = -30; pixel_y = 25; req_one_access = list(13)},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/turf/simulated/floor,/area/hallway/secondary/entry/aft) +"blB" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "admin_shuttle_dock_outer"; locked = 1; name = "Docking Port Airlock"; req_access = list(13)},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "admin_shuttle_dock_airlock"; name = "exterior access button"; pixel_x = -28; pixel_y = -6; req_one_access = list(13)},/turf/simulated/floor/plating,/area/hallway/secondary/entry/aft) +"blC" = (/obj/machinery/smartfridge/secure/medbay{req_one_access = list(33,66)},/turf/simulated/wall,/area/medical/chemistry) "blD" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) "blE" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "specops_dock_inner"; locked = 1; name = "Docking Port Airlock"; req_access = list(13)},/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor/plating,/area/hallway/secondary/entry/aft) "blF" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_x = -30; pixel_y = 0},/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/item/device/megaphone,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/wood,/area/crew_quarters/captain) @@ -3500,7 +3500,7 @@ "bpp" = (/turf/simulated/wall,/area/assembly/robotics) "bpq" = (/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) "bpr" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor/border_only{dir = 1; name = "hazard door north"},/obj/machinery/door/window/southright{name = "Research and Development Desk"; req_access = list(7)},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/turf/simulated/floor/plating,/area/hallway/primary/starboard) -"bps" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "specops_dock_airlock"; name = "exterior access button"; pixel_x = -5; pixel_y = 25; req_one_access = list(13)},/turf/space,/area/space) +"bps" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{name = "Examination Room"; req_access = list(66)},/obj/structure/disposalpipe/segment,/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/floor{icon_state = "white"},/area/medical/medbay2) "bpt" = (/turf/simulated/floor{dir = 1; icon_state = "whitered"},/area/assembly/robotics) "bpu" = (/obj/structure/bed/chair/office/dark{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/medical/exam_room) "bpv" = (/obj/item/weapon/stool,/obj/effect/landmark/start{name = "Roboticist"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/assembly/robotics) @@ -3553,7 +3553,7 @@ "bqq" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/extinguisher,/obj/item/weapon/extinguisher,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/plating,/area/maintenance/substation/command) "bqr" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/substation/command) "bqs" = (/obj/machinery/door/window/westright{name = "Janitoral Delivery"},/turf/simulated/floor{icon_state = "delivery"},/area/janitor) -"bqt" = (/obj/machinery/button/remote/blast_door{dir = 2; id = "Skynet_launch"; name = "Mech Bay Door Control"; pixel_x = 6; pixel_y = 24},/turf/simulated/floor{tag = "icon-warningcorner (WEST)"; icon_state = "warningcorner"; dir = 8},/area/assembly/chargebay) +"bqt" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{name = "Medbay Reception"; req_access = list(66)},/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/medbay3) "bqu" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating/airless,/area/rnd/xenobiology) "bqv" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor/plating,/area/maintenance/substation/command) "bqw" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/green,/turf/simulated/floor/carpet,/area/crew_quarters/captain) @@ -3662,7 +3662,7 @@ "bsv" = (/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1380; id_tag = "admin_shuttle_dock_airlock"; pixel_x = 0; pixel_y = 30; req_one_access = list(13); tag_airpump = "admin_shuttle_dock_pump"; tag_chamber_sensor = "admin_shuttle_dock_sensor"; tag_exterior_door = "admin_shuttle_dock_outer"; tag_interior_door = "admin_shuttle_dock_inner"},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/hallway/secondary/entry/aft) "bsw" = (/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/medical/reception) "bsx" = (/obj/structure/table,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/item/weapon/storage/box/cups,/obj/item/weapon/storage/box/cups{pixel_x = 2; pixel_y = 5},/turf/simulated/floor{dir = 9; icon_state = "blue"},/area/medical/reception) -"bsy" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "admin_shuttle_dock_airlock"; name = "interior access button"; pixel_x = -8; pixel_y = 25; req_one_access = list(13)},/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/hallway/secondary/entry/aft) +"bsy" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_one_access = list(29)},/turf/simulated/floor,/area/assembly/chargebay) "bsz" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/table,/obj/machinery/computer/med_data/laptop,/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/medical/reception) "bsA" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/table,/obj/item/weapon/paper_bin,/obj/item/weapon/folder/white,/obj/item/weapon/pen,/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/medical/reception) "bsB" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "admin_shuttle_dock_inner"; locked = 1; name = "Docking Port Airlock"; req_access = list(13)},/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor/plating,/area/hallway/secondary/entry/aft) @@ -3844,7 +3844,7 @@ "bvV" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/medical/chemistry) "bvW" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/medical/chemistry) "bvX" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/medical/chemistry) -"bvY" = (/obj/machinery/smartfridge/secure/medbay,/turf/simulated/wall,/area/medical/chemistry) +"bvY" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{name = "Medicine Storage"; req_access = newlist(); req_one_access = list(33,66)},/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{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) "bvZ" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/camera/network/exodus{c_tag = "Primary Hallway Central - East Southwest"; dir = 8},/turf/simulated/floor,/area/hallway/primary/central_two) "bwa" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/shutters{density = 0; dir = 4; icon_state = "shutter0"; id = "scanhideside"; name = "Diagnostics Room Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/medbay4) "bwb" = (/obj/structure/table,/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/obj/item/weapon/reagent_containers/glass/bottle/stoxin{pixel_x = -6; pixel_y = 10},/obj/item/weapon/reagent_containers/glass/bottle/antitoxin{pixel_x = 5; pixel_y = 5},/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline{pixel_x = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/random/medical,/turf/simulated/floor{dir = 8; icon_state = "whiteyellow"},/area/medical/chemistry) @@ -3897,7 +3897,7 @@ "bwW" = (/obj/structure/disposalpipe/sortjunction/flipped{dir = 1; sortType = "Cargo Bay"; name = "Cargo Bay"},/turf/simulated/floor,/area/quartermaster/office) "bwX" = (/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,/area/quartermaster/office) "bwY" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/fire{pixel_x = 5; pixel_y = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/random/firstaid,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) -"bwZ" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "admin_shuttle_dock_airlock"; name = "exterior access button"; pixel_x = 30; pixel_y = -5; req_one_access = list(13)},/turf/space,/area/space) +"bwZ" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{name = "Medical Equipment"; req_access = list(66)},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) "bxa" = (/turf/simulated/floor{icon_state = "delivery"},/area/quartermaster/office) "bxb" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/toxin{pixel_x = 5; pixel_y = 5},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/random/firstaid,/turf/simulated/floor{dir = 8; icon_state = "whiteyellowcorner"},/area/medical/chemistry) "bxc" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/hallway/primary/central_three) @@ -3990,7 +3990,7 @@ "byL" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/cyan{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload) "byM" = (/obj/machinery/door/window/eastright{name = "Medical Reception"; req_access = list(5)},/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 0; pixel_y = -22},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor,/area/medical/reception) "byN" = (/turf/simulated/wall/r_wall,/area/teleporter) -"byO" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{name = "Examination Room"; req_access = list(5)},/obj/structure/disposalpipe/segment,/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/floor{icon_state = "white"},/area/medical/medbay2) +"byO" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{name = "Medical Equipment"; req_access = list(66)},/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{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) "byP" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Firelock North"},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/hallway/primary/central_two) "byQ" = (/obj/machinery/door/airlock/medical{name = "Morgue"; req_access = list(6,5)},/obj/structure/disposalpipe/segment,/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,/area/medical/medbay2) "byR" = (/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) @@ -4074,7 +4074,7 @@ "bAr" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/hallway/primary/central_two) "bAs" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/regular{pixel_x = 5; pixel_y = 5},/obj/machinery/light_switch{pixel_x = -23; pixel_y = 0},/obj/random/firstaid,/turf/simulated/floor{dir = 8; icon_state = "whiteyellowcorner"},/area/medical/chemistry) "bAt" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/multi_tile/glass{id_tag = "MedbayFoyerPort"; req_access = list(5)},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/medical/medbay) -"bAu" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{name = "Medbay Reception"; req_access = list(5)},/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/medbay3) +"bAu" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/maintenance{name = "Medbay Substation"; req_access = list(5); req_one_access = newlist()},/turf/simulated/floor/plating,/area/maintenance/substation/medical) "bAv" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) "bAw" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) "bAx" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/multi_tile/glass{id_tag = "MedbayFoyerStar"; req_access = list(5)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/medical/medbay2) @@ -4125,7 +4125,7 @@ "bBq" = (/obj/machinery/button/remote/airlock{desc = "A remote control switch for the medbay foyer."; id = "MedbayFoyerStar"; name = "Medbay Doors Control"; pixel_x = 24; pixel_y = 26},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay2) "bBr" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor{icon_state = "white"},/area/rnd/docking) "bBs" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/engineering{name = "Medbay Substation"; req_one_access = list(11,24,5)},/turf/simulated/floor/plating,/area/maintenance/substation/medical) -"bBt" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/airlock{name = "Starboard Emergency Storage"; req_access = list(29)},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/assembly/chargebay) +"bBt" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{id_tag = "GeneticsDoor"; name = "Cloning Laboratory"; req_access = list(66)},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) "bBu" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/turf/simulated/floor/plating,/area/rnd/xenobiology/xenoflora_storage) "bBv" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor{dir = 4; icon_state = "whitebluecorner"},/area/rnd/docking) "bBw" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "hazard door north"},/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/glass_research{name = "Research and Development"; req_access = list(7)},/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/floor{icon_state = "white"},/area/rnd/research) @@ -4160,8 +4160,8 @@ "bBZ" = (/obj/item/device/radio/beacon,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/teleporter) "bCa" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/teleporter) "bCb" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/teleporter) -"bCc" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{name = "Medicine Storage"; req_access = list(5)},/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{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) -"bCd" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{name = "Medical Equipment"; req_access = list(5)},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) +"bCc" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{name = "Medicine Storage"; req_access = newlist(); req_one_access = list(33,66)},/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) +"bCd" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{name = "Medical Equipment"; req_access = list(66)},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay3) "bCe" = (/turf/simulated/floor{dir = 2; icon_state = "whiteyellow"},/area/medical/chemistry) "bCf" = (/obj/structure/closet/wardrobe/chemistry_white,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor{dir = 2; icon_state = "whiteyellowcorner"},/area/medical/chemistry) "bCg" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) @@ -4171,8 +4171,8 @@ "bCk" = (/obj/structure/table,/obj/item/weapon/storage/box/beakers,/obj/item/weapon/storage/box/syringes{pixel_x = 4; pixel_y = 4},/obj/item/weapon/storage/box/syringes,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/item/device/radio/intercom{freerange = 1; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 28},/turf/simulated/floor{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/medical/medbay3) "bCl" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/medical/medbay2) "bCm" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) -"bCn" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{name = "Medical Equipment"; req_access = list(5)},/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{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) -"bCo" = (/obj/machinery/door/airlock{name = "Medbay Substation"; req_access = list(5)},/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/substation/medical) +"bCn" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor/border_only{dir = 1; name = "Firelock North"},/obj/machinery/door/airlock/mining{id_tag = "cargodoor"; name = "Mining Dock"; req_access = list(50)},/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,/area/quartermaster/miningdock) +"bCo" = (/obj/machinery/door/airlock/highsecurity{name = "Messaging Server"; req_access = list(16)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "dark"},/area/hallway/primary/central_three) "bCp" = (/turf/simulated/wall,/area/medical/genetics) "bCq" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "white"},/area/rnd/misc_lab) "bCr" = (/obj/machinery/door/airlock/research{name = "Research Division Access"; req_access = list(47)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/docking) @@ -4244,7 +4244,7 @@ "bDF" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) "bDG" = (/obj/machinery/atmospherics/unary/cryo_cell,/turf/simulated/floor{dir = 9; icon_state = "whitered"},/area/medical/cryo) "bDH" = (/obj/machinery/atmospherics/unary/cryo_cell,/turf/simulated/floor{dir = 1; icon_state = "whitered"},/area/medical/cryo) -"bDI" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{id_tag = "GeneticsDoor"; name = "Cloning Laboratory"; req_access = list(5)},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) +"bDI" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{id_tag = "GeneticsDoor"; name = "Cloning Laboratory"; req_access = list(66)},/obj/structure/disposalpipe/segment{dir = 4},/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{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/cryo) "bDJ" = (/turf/simulated/wall,/area/medical/cryo) "bDK" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/glass_medical{id_tag = "GeneticsDoor"; name = "Genetics Laboratory"; req_access = list(9)},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) "bDL" = (/turf/simulated/floor{icon_state = "white"},/area/medical/genetics_cloning) @@ -4313,7 +4313,7 @@ "bEW" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_cyborg_station) "bEX" = (/obj/effect/landmark/start{name = "Cyborg"},/obj/machinery/light/small{dir = 4},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 27},/turf/simulated/floor{icon_state = "vault"; dir = 1},/area/turret_protected/ai_cyborg_station) "bEY" = (/obj/structure/table/reinforced,/obj/machinery/door/window/eastright{dir = 1; name = "Emergency Kit"; req_access = list(5)},/obj/machinery/door/firedoor,/obj/item/weapon/storage/toolbox/emergency,/obj/item/bodybag/cryobag{pixel_x = 6},/obj/item/bodybag/cryobag{pixel_x = 6},/obj/item/bodybag/cryobag,/obj/item/device/radio{frequency = 1487; name = "Medbay Emergency Radio Link"},/turf/simulated/floor{dir = 1; icon_state = "whiteyellow"},/area/medical/sleeper) -"bEZ" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{name = "Medicine Storage"; req_access = list(5)},/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) +"bEZ" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance{req_one_access = list(5,12,47)},/obj/structure/cable{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/plating,/area/maintenance/research_port) "bFa" = (/obj/structure/table/rack,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/clothing/accessory/stethoscope,/obj/item/clothing/accessory/stethoscope,/obj/item/clothing/accessory/stethoscope,/obj/item/clothing/accessory/stethoscope,/obj/item/clothing/accessory/stethoscope,/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 0; pixel_y = -22},/obj/machinery/camera/network/medbay{c_tag = "Medbay Equipment Storage"; dir = 1},/turf/simulated/floor{dir = 2; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay3) "bFb" = (/obj/structure/table,/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/item/device/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_y = 20},/obj/item/weapon/wrench,/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{pixel_x = 7; pixel_y = 1},/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{pixel_x = -4; pixel_y = 0},/obj/machinery/camera/network/medbay{c_tag = "Medbay Cryogenics"},/turf/simulated/floor{dir = 5; icon_state = "whitered"},/area/medical/cryo) "bFc" = (/obj/machinery/recharge_station,/turf/simulated/floor/bluegrid,/area/turret_protected/ai_cyborg_station) @@ -4458,7 +4458,7 @@ "bHL" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/hallway/primary/central_three) "bHM" = (/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "medbayquar"; name = "Medbay Emergency Quarantine Shutters"; opacity = 0},/obj/machinery/door/firedoor,/turf/simulated/floor{dir = 4; icon_state = "loadingarea"; tag = "loading"},/area/medical/sleeper) "bHN" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/camera/network/medbay{c_tag = "Medbay Emergency Entrance"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) -"bHO" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{name = "Medical Equipment"; req_access = list(5)},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay3) +"bHO" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance{req_one_access = list(7,12)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/research_shuttle) "bHP" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/research{name = "Genetics Research"; req_access = list(9)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics) "bHQ" = (/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/airlock/research{name = "Research Division Access"; req_access = list(47)},/turf/simulated/floor{icon_state = "white"},/area/rnd/research) "bHR" = (/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced/polarized{dir = 8},/obj/structure/window/reinforced/polarized{dir = 4},/turf/simulated/floor/plating,/area/rnd/research) @@ -4491,7 +4491,7 @@ "bIs" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/medical/genetics) "bIt" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{icon_state = "floorgrime"},/area/medical/genetics) "bIu" = (/obj/item/weapon/table_parts,/turf/simulated/floor{icon_state = "floorgrime"},/area/medical/genetics) -"bIv" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor/border_only{dir = 1; name = "Firelock North"},/obj/machinery/door/airlock/mining{id_tag = "cargodoor"; name = "Mining Dock"; req_access = list(48)},/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,/area/quartermaster/miningdock) +"bIv" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/airlock/glass_research{name = "Toxins Lab"; req_access = list(7)},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{icon_state = "white"},/area/rnd/research) "bIw" = (/turf/simulated/wall/r_wall,/area/maintenance/research_port) "bIx" = (/turf/simulated/wall/r_wall,/area/server) "bIy" = (/obj/machinery/r_n_d/server/robotics,/turf/simulated/floor/bluegrid{name = "Server Base"; nitrogen = 500; oxygen = 0; temperature = 80},/area/server) @@ -4499,7 +4499,7 @@ "bIA" = (/obj/structure/disposalpipe/segment,/obj/machinery/camera/network/exodus{c_tag = "Primary Hallway Central - Southwest"; dir = 8},/turf/simulated/floor{dir = 4; icon_state = "bluecorner"},/area/hallway/primary/central_three) "bIB" = (/obj/machinery/door/airlock/command{id_tag = "hopdoor"; name = "Head of Personnel"; req_access = list(57)},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/crew_quarters/heads/hop) "bIC" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"; tag = "icon-intact-f (SOUTHWEST)"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor{icon_state = "dark"},/area/server) -"bID" = (/obj/machinery/door/airlock/highsecurity{name = "Messaging Server"; req_access = list(30)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "dark"},/area/hallway/primary/central_three) +"bID" = (/obj/machinery/door/airlock/glass_research{name = "Toxins Lab"; req_access = list(7)},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{icon_state = "white"},/area/rnd/research) "bIE" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "staffroom"; name = "Staff Room Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/medbay2) "bIF" = (/turf/simulated/wall/r_wall,/area/rnd/storage) "bIG" = (/obj/machinery/computer/area_atmos,/obj/machinery/light_switch{pixel_y = 28},/turf/simulated/floor{icon_state = "bot"},/area/rnd/storage) @@ -4539,7 +4539,7 @@ "bJo" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor,/area/hallway/primary/central_three) "bJp" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor,/area/hallway/primary/central_three) "bJq" = (/obj/machinery/door/airlock/multi_tile/glass{autoclose = 1; dir = 2; req_access = list(5)},/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/medical/sleeper) -"bJr" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{id_tag = "GeneticsDoor"; name = "Cloning Laboratory"; req_access = list(5)},/obj/structure/disposalpipe/segment{dir = 4},/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{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/cryo) +"bJr" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/door/airlock/research{name = "Toxins Launch Room Access"; req_access = list(7)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/mixing) "bJs" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/hallway/primary/central_two) "bJt" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/hallway/primary/central_two) "bJu" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/turf/simulated/floor,/area/hallway/primary/central_two) @@ -4693,7 +4693,7 @@ "bMm" = (/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor,/area/hallway/primary/central_three) "bMn" = (/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/hallway/primary/central_three) "bMo" = (/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/junction,/turf/simulated/floor,/area/hallway/primary/central_three) -"bMp" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance{req_one_access = list(9,12,47)},/obj/structure/cable{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/plating,/area/maintenance/research_port) +"bMp" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/door/airlock/research{name = "Toxins Launch Room"; req_access = list(7)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/rnd/mixing) "bMq" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/sign/securearea{desc = "A warning sign which reads 'SERVER ROOM'."; name = "SERVER ROOM"; pixel_y = 32},/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor/plating,/area/server) "bMr" = (/obj/machinery/vending/cigarette,/turf/simulated/floor{icon_state = "dark"},/area/hallway/primary/central_two) "bMs" = (/obj/structure/bed/chair{dir = 1},/turf/simulated/shuttle/floor,/area/shuttle/mining/station) @@ -4962,7 +4962,7 @@ "bRv" = (/obj/machinery/atmospherics/omni/filter{tag_east = 1; tag_south = 6; tag_west = 2; use_power = 0},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/rnd/mixing) "bRw" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "white"},/area/rnd/mixing) "bRx" = (/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/omni/mixer{tag_east = 1; tag_east_con = 0.5; tag_south = 1; tag_south_con = 0.5; tag_west = 2; use_power = 0},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/rnd/mixing) -"bRy" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance{req_one_access = list(8,12)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/research_shuttle) +"bRy" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance{req_one_access = list(7,12)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/research_starboard) "bRz" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "mining_dock_outer"; locked = 1; name = "Mining Dock Airlock"; req_access = list(13)},/turf/simulated/floor/plating,/area/quartermaster/miningdock) "bRA" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "mining_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access = list(13)},/turf/simulated/shuttle/floor,/area/shuttle/mining/station) "bRB" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "mining_dock_airlock"; name = "interior access button"; pixel_x = -25; pixel_y = 25; req_one_access = list(13,48)},/turf/simulated/floor{dir = 8; icon_state = "brown"},/area/quartermaster/miningdock) @@ -5020,7 +5020,7 @@ "bSB" = (/obj/machinery/light,/obj/machinery/vending/snack,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/medbreak) "bSC" = (/obj/machinery/atmospherics/binary/passive_gate{dir = 8},/turf/simulated/floor{dir = 4; icon_state = "warnwhite"},/area/rnd/mixing) "bSD" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/medical/patient_a) -"bSE" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/airlock/glass_research{name = "Toxins Lab"; req_access = list(8)},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{icon_state = "white"},/area/rnd/research) +"bSE" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "hazard door east"},/obj/machinery/door/airlock/research{name = "Miscellaneous Reseach Room"; req_access = list(7)},/turf/simulated/floor{icon_state = "white"},/area/rnd/misc_lab) "bSF" = (/obj/machinery/light/small{dir = 4},/obj/machinery/requests_console{department = "Tech storage"; pixel_x = 28; pixel_y = 0},/turf/simulated/floor/plating,/area/storage/tech) "bSG" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/medical/patient_b) "bSH" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor,/area/hallway/primary/aft) @@ -5110,7 +5110,7 @@ "bUn" = (/turf/simulated/wall,/area/maintenance/research_starboard) "bUo" = (/obj/structure/bed/chair/office/dark{dir = 1},/obj/effect/landmark/start{name = "Chief Medical Officer"},/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for shutters."; id = "cmooffice"; name = "CMO Privacy Shutters"; pixel_x = 38; pixel_y = 21},/obj/machinery/button/remote/airlock{desc = "A remote control switch for the CMO's office."; id = "cmodoor"; name = "CMO Office Door Control"; pixel_x = 28; pixel_y = 21},/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for shutters."; id = "virologyquar"; name = "Virology Emergency Lockdown Control"; pixel_x = -15; pixel_y = 38; req_access = list(5)},/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for shutters."; id = "medbayquar"; name = "Medbay Emergency Lockdown Control"; pixel_x = -15; pixel_y = 30; req_access = list(5)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/heads/cmo) "bUp" = (/obj/structure/disposaloutlet,/obj/structure/window/reinforced{dir = 1},/obj/structure/disposalpipe/trunk{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating/airless,/area/rnd/mixing) -"bUq" = (/obj/machinery/door/airlock/glass_research{name = "Toxins Lab"; req_access = list(8)},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{icon_state = "white"},/area/rnd/research) +"bUq" = (/obj/machinery/door/airlock/glass_research{autoclose = 0; frequency = 1379; glass = 1; icon_state = "door_locked"; id_tag = "tox_airlock_exterior"; locked = 1; name = "Mixing Room Exterior Airlock"; req_access = list(7)},/turf/simulated/floor/engine,/area/rnd/mixing) "bUr" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/rnd/mixing) "bUs" = (/turf/simulated/floor/airless{icon_state = "warning"},/area/rnd/test_area) "bUt" = (/turf/simulated/floor/airless{dir = 6; icon_state = "warning"},/area/rnd/test_area) @@ -5170,8 +5170,8 @@ "bVv" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/mixing) "bVw" = (/obj/machinery/vending/cigarette{pixel_x = 0; pixel_y = 2},/turf/simulated/floor{icon_state = "white"},/area/rnd/research) "bVx" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/rnd/research) -"bVy" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/door/airlock/research{name = "Toxins Launch Room Access"; req_access = list(8)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/mixing) -"bVz" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/door/airlock/research{name = "Toxins Launch Room"; req_access = list(8)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/rnd/mixing) +"bVy" = (/obj/machinery/door/airlock/glass_research{autoclose = 0; frequency = 1379; glass = 1; icon_state = "door_locked"; id_tag = "tox_airlock_interior"; locked = 1; name = "Mixing Room Interior Airlock"; req_access = list(7)},/turf/simulated/floor/engine,/area/rnd/mixing) +"bVz" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "hazard door east"},/obj/machinery/door/airlock/research{name = "Miscellaneous Reseach Room"; req_access = list(7)},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/misc_lab) "bVA" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "bot"},/area/rnd/research) "bVB" = (/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/wall/r_wall,/area/rnd/mixing) "bVC" = (/obj/structure/table/woodentable,/obj/item/weapon/book/manual/engineering_guide{pixel_x = 3; pixel_y = 2},/obj/item/weapon/book/manual/atmospipes,/obj/machinery/light{dir = 1},/turf/simulated/floor/carpet,/area/engineering/break_room) @@ -5353,7 +5353,7 @@ "bYW" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor{icon_state = "yellowfull"; dir = 8},/area/crew_quarters/sleep/engi_wash) "bYX" = (/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/obj/machinery/light,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "whiteyellowfull"},/area/crew_quarters/sleep/engi_wash) "bYY" = (/obj/structure/sign/nosmoking_2{pixel_x = -32},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/camera/network/research{c_tag = "Research - Toxins Lab"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/visible{icon_state = "intact"; dir = 6},/turf/simulated/floor{icon_state = "white"},/area/rnd/mixing) -"bYZ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance{req_one_access = list(8,12)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/research_starboard) +"bYZ" = (/obj/machinery/door/airlock/engineering{name = "Engineering Supplies"; req_one_access = list(11,24)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "yellowfull"; dir = 8},/area/engineering/break_room) "bZa" = (/obj/structure/grille,/obj/structure/window/reinforced/polarized{id = "isoC_window_tint"},/obj/structure/window/reinforced/polarized{dir = 4; id = "isoC_window_tint"},/obj/structure/window/reinforced/polarized{dir = 1; id = "isoC_window_tint"},/obj/structure/window/reinforced/polarized{dir = 8; id = "isoC_window_tint"},/turf/simulated/floor/plating,/area/medical/patient_c) "bZb" = (/obj/machinery/door/window/southright{name = "Toxins Launcher"; req_access = list(8)},/obj/machinery/door/window/southright{dir = 1; name = "Toxins Launcher"; req_access = list(8)},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/rnd/mixing) "bZc" = (/obj/effect/decal/cleanable/blood/oil,/turf/simulated/floor/plating,/area/maintenance/cargo) @@ -5419,7 +5419,7 @@ "cak" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/snacks/chips,/turf/simulated/floor/carpet,/area/engineering/break_room) "cal" = (/obj/machinery/newscaster{pixel_x = 28; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/carpet,/area/engineering/break_room) "cam" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/machinery/iv_drip,/turf/simulated/floor,/area/medical/sleeper) -"can" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "hazard door east"},/obj/machinery/door/airlock/research{name = "Miscellaneous Reseach Room"; req_access = list(47)},/turf/simulated/floor{icon_state = "white"},/area/rnd/misc_lab) +"can" = (/obj/machinery/door/airlock/maintenance{name = "Miscellaneous Reseach Maintenance"; req_access = list(7)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/substation/research) "cao" = (/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/obj/structure/bed/chair/comfy/teal{tag = "icon-comfychair (EAST)"; icon_state = "comfychair"; dir = 4},/turf/simulated/floor{dir = 9; icon_state = "whitered"},/area/medical/ward) "cap" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/obj/structure/bed/roller,/turf/simulated/floor{icon_state = "white"},/area/medical/patient_wing) "caq" = (/turf/simulated/wall,/area/crew_quarters/sleep/engi_wash) @@ -5441,7 +5441,7 @@ "caG" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/green,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood,/area/medical/psych) "caH" = (/obj/structure/table/woodentable,/obj/machinery/computer/med_data/laptop,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/wood,/area/medical/psych) "caI" = (/turf/simulated/wall,/area/medical/psych) -"caJ" = (/obj/machinery/door/airlock/glass_research{autoclose = 0; frequency = 1379; glass = 1; icon_state = "door_locked"; id_tag = "tox_airlock_exterior"; locked = 1; name = "Mixing Room Exterior Airlock"; req_access = list(8)},/turf/simulated/floor/engine,/area/rnd/mixing) +"caJ" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering Break Room"; req_one_access = list(10)},/turf/simulated/floor,/area/engineering/break_room) "caK" = (/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{dir = 5},/turf/simulated/floor{icon_state = "dark"},/area/medical/biostorage) "caL" = (/obj/structure/table,/obj/item/weapon/storage/box/lights/mixed,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 0; pixel_y = 22},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/medical/biostorage) "caM" = (/obj/structure/table,/obj/machinery/computer/med_data/laptop,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor{dir = 9; icon_state = "whitered"},/area/medical/patient_c) @@ -5461,14 +5461,14 @@ "cba" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/maintenance/research_starboard) "cbb" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating/airless,/area/maintenance/atmos_control) "cbc" = (/mob/living/simple_animal/mouse,/turf/simulated/floor/plating,/area/maintenance/research_starboard) -"cbd" = (/obj/machinery/door/airlock/glass_research{autoclose = 0; frequency = 1379; glass = 1; icon_state = "door_locked"; id_tag = "tox_airlock_interior"; locked = 1; name = "Mixing Room Interior Airlock"; req_access = list(8)},/turf/simulated/floor/engine,/area/rnd/mixing) +"cbd" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/airlock/glass_engineering{name = "Engineering Break Room"; req_one_access = list(10)},/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{dir = 4},/turf/simulated/floor,/area/engineering/break_room) "cbe" = (/obj/item/weapon/wrench,/turf/simulated/floor/plating,/area/maintenance/research_starboard) "cbf" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod{frequency = 1380; id_tag = "escape_pod_5"; pixel_x = 0; pixel_y = -25; tag_door = "escape_pod_5_hatch"},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod5/station) "cbg" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_5_hatch"; locked = 1; name = "Escape Pod Hatch"; req_access = list(13)},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod5/station) "cbh" = (/obj/effect/decal/cleanable/spiderling_remains,/obj/machinery/atmospherics/valve,/turf/simulated/floor/plating,/area/maintenance/research_starboard) "cbi" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_5_berth_hatch"; locked = 1; name = "Escape Pod"; req_access = list(13)},/turf/simulated/floor/plating,/area/maintenance/cargo) "cbj" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/camera/network/medbay{c_tag = "Medbay Patient Hallway - Starboard"; dir = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/patient_wing) -"cbk" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "hazard door east"},/obj/machinery/door/airlock/research{name = "Miscellaneous Reseach Room"; req_access = list(47)},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/misc_lab) +"cbk" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/engineering{name = "Engineering Washroom"; req_one_access = list(10)},/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{dir = 4},/turf/simulated/floor,/area/engineering/break_room) "cbl" = (/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "eng_eva_sensor"; pixel_x = 0; pixel_y = 25},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1379; id_tag = "eng_eva_pump"},/turf/simulated/floor{dir = 9; icon_state = "floorgrimecaution"},/area/maintenance/atmos_control) "cbm" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/camera/network/research{c_tag = "Research Division South"; dir = 1},/turf/simulated/floor{icon_state = "white"},/area/rnd/research) "cbn" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 5},/turf/simulated/floor/engine/vacuum,/area/rnd/mixing) @@ -5500,7 +5500,7 @@ "cbN" = (/turf/simulated/floor{icon_state = "white"},/area/medical/ward) "cbO" = (/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/window/reinforced/polarized{dir = 1},/obj/structure/window/reinforced/polarized{dir = 8},/obj/structure/window/reinforced/polarized,/obj/structure/window/reinforced/polarized{dir = 4},/turf/simulated/floor/plating,/area/crew_quarters/heads/chief) "cbP" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/wood,/area/medical/psych) -"cbQ" = (/obj/machinery/door/airlock/engineering{name = "Engineering Supplies"; req_one_access = list(10,24,5)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "yellowfull"; dir = 8},/area/engineering/break_room) +"cbQ" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "toxin_test_inner"; locked = 1; name = "Engineering External Access"; req_access = newlist(); req_one_access = list(7,13)},/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/research_starboard) "cbR" = (/obj/structure/bed/roller,/turf/simulated/floor{icon_state = "white"},/area/medical/patient_wing) "cbS" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "dark"},/area/medical/biostorage) "cbT" = (/obj/structure/closet/crate{icon_state = "crateopen"; name = "Grenade Crate"; opened = 1},/obj/item/weapon/grenade/chem_grenade,/obj/item/weapon/grenade/chem_grenade,/obj/item/weapon/grenade/chem_grenade,/obj/item/weapon/grenade/chem_grenade,/obj/item/device/assembly/igniter,/obj/item/device/assembly/igniter,/obj/item/device/assembly/igniter,/obj/item/device/assembly/timer,/obj/item/device/assembly/timer,/obj/item/device/assembly/timer,/turf/simulated/floor{icon_state = "dark"},/area/medical/biostorage) @@ -5577,7 +5577,7 @@ "cdm" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{autoclose = 0; name = "Diagnostics Room"; req_access = list(5)},/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/medbay4) "cdn" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/turf/simulated/floor{icon_state = "white_halfo"},/area/medical/medbay4) "cdo" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white_halfp"},/area/medical/medbay4) -"cdp" = (/obj/machinery/door/airlock/maintenance{name = "Miscellaneous Reseach Maintenance"; req_access = list(47)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/substation/research) +"cdp" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "toxin_test_airlock"; name = "interior access button"; pixel_x = 20; pixel_y = 20; req_access = newlist(); req_one_access = list(7,13)},/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/maintenance/research_starboard) "cdq" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/ward) "cdr" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/ward) "cds" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "white"},/area/medical/ward) @@ -5594,7 +5594,7 @@ "cdD" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/maintenance/research_port) "cdE" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/medical/virologyaccess) "cdF" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/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{dir = 4},/turf/simulated/floor/carpet,/area/engineering/break_room) -"cdG" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance,/obj/structure/sign/redcross{desc = "The Star of Life, a symbol of Medical Aid."; icon_state = "lifestar"; name = "Medbay"; pixel_x = 0; pixel_y = 32},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/medical/virologyaccess) +"cdG" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "toxin_test_airlock"; name = "exterior access button"; pixel_x = -20; pixel_y = -20; req_access = newlist(); req_one_access = list(7,13)},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating/airless,/area/space) "cdH" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/medical/virologyaccess) "cdI" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/maintenance/research_port) "cdJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/maintenance/research_port) @@ -5635,7 +5635,7 @@ "ces" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/disposalpipe/segment,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/maintenance/atmos_control) "cet" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/maintenance/atmos_control) "ceu" = (/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/cable/green,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/window/reinforced/polarized{dir = 8},/obj/structure/window/reinforced/polarized{dir = 4},/obj/structure/window/reinforced/polarized{dir = 1},/turf/simulated/floor/plating,/area/crew_quarters/heads/chief) -"cev" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering Break Room"; req_one_access = list(10,24,5)},/turf/simulated/floor,/area/engineering/break_room) +"cev" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "toxin_test_outer"; locked = 1; name = "Engineering External Access"; req_access = newlist(); req_one_access = list(7,13)},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/research_starboard) "cew" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor{dir = 8; icon_state = "yellowcorner"},/area/engineering/foyer) "cex" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/camera/network/engineering{c_tag = "Engineering Break Room"; dir = 8},/turf/simulated/floor/carpet,/area/engineering/break_room) "cey" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/engineering/foyer) @@ -5745,8 +5745,8 @@ "cgy" = (/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology/xenoflora_storage) "cgz" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor{dir = 4; icon_state = "whitegreen"},/area/rnd/xenobiology/xenoflora_storage) "cgA" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/rnd/xenobiology) -"cgB" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/airlock/glass_engineering{name = "Engineering Break Room"; req_one_access = list(10,24,5)},/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{dir = 4},/turf/simulated/floor,/area/engineering/break_room) -"cgC" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/engineering{name = "Engineering Washroom"; req_one_access = list(10,24,5)},/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{dir = 4},/turf/simulated/floor,/area/engineering/break_room) +"cgB" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/engineering{name = "Science Substation"; req_one_access = list(11,24,7)},/obj/machinery/door/firedoor,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/substation/research) +"cgC" = (/obj/machinery/door/airlock/engineering{name = "Aft Starboard Solar Access"; req_access = list(11)},/obj/machinery/atmospherics/pipe/simple/visible,/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) "cgD" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor{dir = 2; icon_state = "whitegreen"},/area/rnd/xenobiology/xenoflora) "cgE" = (/obj/structure/grille,/turf/simulated/wall/r_wall,/area/engineering/atmos) "cgF" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/atmos_control) @@ -5768,12 +5768,12 @@ "cgV" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/table,/obj/item/clothing/gloves/black,/obj/item/device/multitool{pixel_x = 5},/obj/random/tech_supply,/turf/simulated/floor,/area/construction) "cgW" = (/obj/machinery/door/airlock/glass_medical{name = "Patient Ward"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay4) "cgX" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/turf/simulated/floor/plating,/area/rnd/xenobiology/xenoflora) -"cgY" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "toxin_test_inner"; locked = 1; name = "Engineering External Access"; req_access = list(13)},/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/research_starboard) -"cgZ" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "toxin_test_airlock"; name = "interior access button"; pixel_x = 20; pixel_y = 20; req_access = list(13)},/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/maintenance/research_starboard) +"cgY" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Virology Access"; req_access = list(5)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "whitehall"; dir = 1},/area/medical/virologyaccess) +"cgZ" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance{req_access = newlist(); req_one_access = list(12,5)},/obj/structure/disposalpipe/segment,/obj/structure/sign/redcross{desc = "The Star of Life, a symbol of Medical Aid."; icon_state = "lifestar"; name = "Medbay"; pixel_x = 0; pixel_y = 32},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/medical/virologyaccess) "cha" = (/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "toxin_test_pump"; tag_exterior_door = "toxin_test_outer"; frequency = 1379; id_tag = "toxin_test_airlock"; tag_interior_door = "toxin_test_inner"; pixel_x = 0; pixel_y = 25; req_access = list(13); tag_chamber_sensor = "toxin_test_sensor"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/maintenance/research_starboard) -"chb" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "toxin_test_airlock"; name = "exterior access button"; pixel_x = -20; pixel_y = -20; req_access = list(13)},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating/airless,/area/space) +"chb" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance{req_one_access = list(12,5)},/obj/structure/sign/redcross{desc = "The Star of Life, a symbol of Medical Aid."; icon_state = "lifestar"; name = "Medbay"; pixel_x = 0; pixel_y = 32},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/medical/virologyaccess) "chc" = (/obj/machinery/atmospherics/pipe/manifold/hidden/cyan{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/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{dir = 4},/turf/simulated/floor,/area/engineering/foyer) -"chd" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "toxin_test_outer"; locked = 1; name = "Engineering External Access"; req_access = list(10,13)},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/research_starboard) +"chd" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "solar_xeno_airlock"; name = "interior access button"; pixel_x = -25; pixel_y = -25; req_access = list(11,13)},/obj/machinery/atmospherics/pipe/manifold/visible{dir = 8},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/maintenance/starboardsolar) "che" = (/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{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "yellowcorner"},/area/engineering/foyer) "chf" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/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{dir = 4},/turf/simulated/floor,/area/engineering/foyer) "chg" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/engineering/foyer) @@ -5820,7 +5820,7 @@ "chV" = (/obj/item/weapon/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/briefcase/inflatable,/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/table/reinforced{icon_state = "table"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor,/area/engineering/engine_eva) "chW" = (/turf/simulated/wall/r_wall,/area/engineering/engine_eva) "chX" = (/obj/machinery/hologram/holopad,/turf/simulated/floor,/area/engineering/engine_eva) -"chY" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/engineering{name = "Science Substation"; req_one_access = list(11,24,47)},/obj/machinery/door/firedoor,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/substation/research) +"chY" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "solar_xeno_inner"; locked = 1; name = "Engineering External Access"; req_access = list(11,13)},/obj/machinery/atmospherics/pipe/simple/visible,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) "chZ" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) "cia" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) "cib" = (/obj/machinery/power/breakerbox/activated{RCon_tag = "Engineering Substation Bypass"},/turf/simulated/floor/plating,/area/maintenance/substation/engineering) @@ -5941,7 +5941,7 @@ "ckm" = (/obj/structure/table,/obj/item/weapon/FixOVein,/obj/item/device/radio/intercom{freerange = 1; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 30},/obj/item/weapon/surgicaldrill,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery2) "ckn" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/closet/crate/hydroponics/prespawned,/obj/machinery/camera/network/research{c_tag = "Xenoflora Storage"; dir = 4},/turf/simulated/floor{dir = 8; icon_state = "whitegreen"},/area/rnd/xenobiology/xenoflora_storage) "cko" = (/obj/item/weapon/stool,/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/turf/simulated/floor{dir = 2; icon_state = "whitegreen"},/area/rnd/xenobiology/xenoflora) -"ckp" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance,/obj/structure/disposalpipe/segment,/obj/structure/sign/redcross{desc = "The Star of Life, a symbol of Medical Aid."; icon_state = "lifestar"; name = "Medbay"; pixel_x = 0; pixel_y = 32},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/medical/virologyaccess) +"ckp" = (/obj/machinery/door/window/eastright{name = "Engineering Reception Desk"; req_one_access = list(11,24)},/obj/machinery/light,/turf/simulated/floor,/area/engineering/foyer) "ckq" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor,/area/medical/virologyaccess) "ckr" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; external_pressure_bound = 0; external_pressure_bound_default = 0; frequency = 1443; icon_state = "map_vent_in"; id_tag = "air_out"; internal_pressure_bound = 2000; internal_pressure_bound_default = 2000; use_power = 1; pressure_checks = 2; pressure_checks_default = 2; pump_direction = 0},/turf/simulated/floor/engine{name = "air floor"; nitrogen = 10580; oxygen = 2644},/area/engineering/atmos) "cks" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 2; frequency = 1443; icon_state = "map_injector"; id = "air_in"; use_power = 1},/turf/simulated/floor/engine{name = "air floor"; nitrogen = 10580; oxygen = 2644},/area/engineering/atmos) @@ -5954,7 +5954,7 @@ "ckz" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 2; frequency = 1441; icon_state = "map_injector"; id = "o2_in"; use_power = 1},/turf/simulated/floor/engine{name = "o2 floor"; nitrogen = 0; oxygen = 100000},/area/engineering/atmos) "ckA" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 2; external_pressure_bound = 0; external_pressure_bound_default = 0; frequency = 1441; icon_state = "map_vent_in"; id_tag = "o2_out"; initialize_directions = 1; internal_pressure_bound = 4000; internal_pressure_bound_default = 4000; use_power = 1; pressure_checks = 2; pressure_checks_default = 2; pump_direction = 0},/turf/simulated/floor/engine{name = "o2 floor"; nitrogen = 0; oxygen = 100000},/area/engineering/atmos) "ckB" = (/obj/machinery/air_sensor{frequency = 1441; id_tag = "o2_sensor"},/turf/simulated/floor/engine{name = "o2 floor"; nitrogen = 0; oxygen = 100000},/area/engineering/atmos) -"ckC" = (/obj/machinery/door/airlock/engineering{name = "Aft Starboard Solar Access"; req_access = list(10)},/obj/machinery/atmospherics/pipe/simple/visible,/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) +"ckC" = (/obj/machinery/door/airlock/maintenance{req_one_access = list(11,24)},/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/substation/engineering) "ckD" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 2; frequency = 1441; icon_state = "map_injector"; id = "n2_in"; use_power = 1},/turf/simulated/floor/engine{name = "n2 floor"; nitrogen = 100000; oxygen = 0},/area/engineering/atmos) "ckE" = (/obj/structure/sign/biohazard,/turf/simulated/wall/r_wall,/area/rnd/xenobiology) "ckF" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/engineering{name = "Engineering EVA Storage"; req_access = list(12); req_one_access = list(11,24)},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "floorgrime"},/area/engineering/engine_eva) @@ -6045,7 +6045,7 @@ "cmm" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/engineering/atmos) "cmn" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/reagent_dispensers/watertank,/obj/item/weapon/reagent_containers/glass/bucket,/turf/simulated/floor{dir = 4; icon_state = "whitegreen"},/area/rnd/xenobiology/xenoflora) "cmo" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) -"cmp" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Virology Access"; req_access = list(39)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "whitehall"; dir = 1},/area/medical/virologyaccess) +"cmp" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering Hallway"; req_one_access = list(10)},/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/floor,/area/engineering) "cmq" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) "cmr" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) "cms" = (/obj/machinery/door/airlock/research{name = "Xenoflora Storage"; req_access = list(55)},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) @@ -6158,7 +6158,7 @@ "cov" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/engineering/atmos) "cow" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/engineering/atmos) "cox" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor/plating,/area/engineering/atmos) -"coy" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "solar_xeno_airlock"; name = "interior access button"; pixel_x = -25; pixel_y = -25; req_access = list(10,13)},/obj/machinery/atmospherics/pipe/manifold/visible{dir = 8},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/maintenance/starboardsolar) +"coy" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering Hallway"; req_one_access = list(10)},/turf/simulated/floor,/area/engineering) "coz" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/hallway/secondary/entry/port) "coA" = (/obj/machinery/door/airlock/maintenance{name = "Engineering EVA Storage Maintainance"; req_access = list(12); req_one_access = list(11,24)},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/red,/turf/simulated/floor,/area/engineering/engine_eva) "coB" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering Locker Room"; req_one_access = list(11,24)},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering/locker_room) @@ -6192,7 +6192,7 @@ "cpd" = (/obj/structure/closet/emcloset,/obj/machinery/camera/xray/research{c_tag = "Xenobiology Access"},/turf/simulated/floor{icon_state = "warnwhite"; dir = 5},/area/rnd/xenobiology) "cpe" = (/obj/machinery/light{dir = 8},/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/obj/structure/closet/wardrobe/medic_white,/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/medical/surgeryprep) "cpf" = (/obj/machinery/biogenerator,/obj/machinery/camera/network/research{c_tag = "Xenoflora"; dir = 1},/turf/simulated/floor{icon_state = "hydrofloor"},/area/rnd/xenobiology/xenoflora) -"cpg" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "solar_xeno_inner"; locked = 1; name = "Engineering External Access"; req_access = list(13)},/obj/machinery/atmospherics/pipe/simple/visible,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) +"cpg" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering Hallway"; req_one_access = list(10)},/turf/simulated/floor,/area/engineering) "cph" = (/obj/machinery/status_display,/turf/simulated/wall,/area/medical/surgery2) "cpi" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/maintenance/medbay) "cpj" = (/turf/simulated/wall/r_wall,/area/engineering/storage) @@ -6210,10 +6210,10 @@ "cpv" = (/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/engineering/atmos) "cpw" = (/obj/machinery/atmospherics/valve/digital/open{name = "Mixed Air Inlet Valve"},/turf/simulated/floor{icon_state = "arrival"; dir = 5},/area/engineering/atmos) "cpx" = (/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1443; input_tag = "air_in"; name = "Mixed Air Supply Control"; output_tag = "air_out"; pressure_setting = 2000; sensors = list("air_sensor" = "Tank")},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/light{dir = 1},/turf/simulated/floor{dir = 1; icon_state = "arrival"},/area/engineering/atmos) -"cpy" = (/obj/machinery/door/window/eastright{name = "Engineering Reception Desk"; req_one_access = list(10,24)},/obj/machinery/light,/turf/simulated/floor,/area/engineering/foyer) +"cpy" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "solar_xeno_outer"; locked = 1; name = "Engineering External Access"; req_access = list(11,13)},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) "cpz" = (/obj/machinery/atmospherics/valve/digital/open{name = "Oxygen Outlet Valve"},/turf/simulated/floor{dir = 5; icon_state = "blue"},/area/engineering/atmos) "cpA" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/table,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/machinery/camera/network/engineering{c_tag = "Engineering Locker Room"; dir = 1},/turf/simulated/floor,/area/engineering/locker_room) -"cpB" = (/obj/machinery/door/airlock/maintenance{req_one_access = list(10,24)},/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/substation/engineering) +"cpB" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "solar_xeno_airlock"; name = "exterior access button"; pixel_x = 25; pixel_y = 25; req_access = list(11,13)},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating/airless,/area/solar/starboard) "cpC" = (/obj/machinery/button/holosign{pixel_x = 24; pixel_y = 2},/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/machinery/camera/network/medbay{c_tag = "Medbay Operating Theatre 1"; dir = 8},/turf/simulated/floor{dir = 4; icon_state = "whiteredcorner"},/area/medical/surgery) "cpD" = (/obj/machinery/atmospherics/valve/digital/open{name = "Nitrogen Outlet Valve"},/turf/simulated/floor{icon_state = "red"; dir = 5},/area/engineering/atmos) "cpE" = (/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1441; input_tag = "n2_in"; name = "Nitrogen Supply Control"; output_tag = "n2_out"; sensors = list("n2_sensor" = "Tank")},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/engineering/atmos) @@ -6256,15 +6256,15 @@ "cqp" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "freezerfloor"},/area/medical/surgery2) "cqq" = (/obj/structure/closet/crate/freezer,/turf/simulated/floor{icon_state = "freezerfloor"},/area/medical/surgery2) "cqr" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering Monitoring Room"; req_access = list(11)},/turf/simulated/floor,/area/engineering/engineering_monitoring) -"cqs" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering Hallway"; req_one_access = list(10,24)},/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/floor,/area/engineering) -"cqt" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering Hallway"; req_one_access = list(10,24)},/turf/simulated/floor,/area/engineering) +"cqs" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance{req_one_access = list(11,24)},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/engi_shuttle) +"cqt" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/glass_engineering{name = "Engineering Hallway"; req_one_access = list(10)},/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,/area/engineering) "cqu" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/light,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor{dir = 2; icon_state = "greencorner"},/area/medical/virologyaccess) "cqv" = (/turf/simulated/wall/r_wall,/area/medical/virology) "cqw" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/medical/virology) "cqx" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/medical/virology) "cqy" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/medical/virology) "cqz" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/status_display{pixel_y = 32},/turf/simulated/floor/plating,/area/engineering/engineering_monitoring) -"cqA" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering Hallway"; req_one_access = list(10,24)},/turf/simulated/floor,/area/engineering) +"cqA" = (/obj/machinery/door/airlock/maintenance{req_access = list(10,12)},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/engineering) "cqB" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) "cqC" = (/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 5},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) "cqD" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering Workshop"; req_one_access = list(11,24)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/engineering/workshop) @@ -6286,7 +6286,7 @@ "cqT" = (/obj/structure/grille,/turf/simulated/floor/plating/airless,/area/security/prison) "cqU" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan{tag = "icon-map (EAST)"; icon_state = "map"; dir = 4},/obj/machinery/meter,/turf/simulated/floor,/area/engineering/atmos) "cqV" = (/obj/machinery/atmospherics/binary/pump{dir = 8; name = "Air Tank Bypass Pump"},/turf/simulated/floor,/area/engineering/atmos) -"cqW" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "solar_xeno_outer"; locked = 1; name = "Engineering External Access"; req_access = list(10,13)},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) +"cqW" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance{req_one_access = list(11,24)},/turf/simulated/floor/plating,/area/engineering) "cqX" = (/obj/machinery/atmospherics/pipe/simple/visible/green,/turf/simulated/floor,/area/engineering/atmos) "cqY" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/turf/simulated/floor,/area/engineering/atmos) "cqZ" = (/obj/structure/bed/chair{dir = 1},/obj/effect/landmark/start{name = "Atmospheric Technician"},/turf/simulated/floor,/area/engineering/atmos) @@ -6355,7 +6355,7 @@ "csk" = (/obj/structure/table/reinforced,/obj/machinery/light,/obj/item/device/flashlight,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/engineering/engineering_monitoring) "csl" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio2"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/rnd/xenobiology) "csm" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/engineering/engineering_monitoring) -"csn" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "solar_xeno_airlock"; name = "exterior access button"; pixel_x = 25; pixel_y = 25; req_access = list(10,13)},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating/airless,/area/solar/starboard) +"csn" = (/obj/machinery/door/airlock/maintenance_hatch{icon_state = "door_closed"; locked = 0; name = "Engine Access"; req_one_access = list(11)},/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,/area/engineering/engine_airlock) "cso" = (/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,/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor,/area/engineering) "csp" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/turf/simulated/floor,/area/engineering) "csq" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/engineering/workshop) @@ -6517,7 +6517,7 @@ "cvq" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/engineering/atmos) "cvr" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor,/area/engineering/atmos) "cvs" = (/obj/machinery/computer/security/engineering,/turf/simulated/floor,/area/engineering/engineering_monitoring) -"cvt" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance{name = "Pre-Op Prep Room Maintenance Access"; req_access = list(45)},/turf/simulated/floor/plating,/area/medical/surgeryprep) +"cvt" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance{name = "Pre-Op Prep Room Maintenance Access"; req_access = list(5)},/turf/simulated/floor/plating,/area/medical/surgeryprep) "cvu" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/engineering) "cvv" = (/obj/structure/closet/wardrobe/virology_white,/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/camera/xray/medbay{c_tag = "Virology Access Aft"},/turf/simulated/floor{icon_state = "warnwhite"; dir = 5},/area/medical/virology) "cvw" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light,/turf/simulated/floor,/area/engineering) @@ -6873,7 +6873,7 @@ "cCi" = (/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/maintenance/engi_shuttle) "cCj" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/medical/virology) "cCk" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/status_display,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/medical/virology) -"cCl" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance{req_one_access = list(10,24)},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/engi_shuttle) +"cCl" = (/obj/machinery/door/airlock/maintenance_hatch{frequency = 1379; icon_state = "door_closed"; id_tag = "engine_airlock_exterior"; locked = 0; name = "Engine Airlock Exterior"; req_access = list(11)},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/engineering/engine_airlock) "cCm" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/medical/virology) "cCn" = (/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "virology_sensor"; pixel_x = 25; pixel_y = 12},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "virology_pump"; tag_exterior_door = "virology_outer"; frequency = 1379; id_tag = "virology_airlock"; tag_interior_door = "virology_inner"; pixel_x = 25; req_access = list(13); tag_chamber_sensor = "virology_sensor"},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1379; id_tag = "virology_pump"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 5},/area/maintenance/medbay) "cCo" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/medical/virology) @@ -6902,7 +6902,7 @@ "cCL" = (/obj/machinery/cryopod/robot/right,/turf/simulated/floor/plating,/area/engineering/drone_fabrication) "cCM" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) "cCN" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/red,/turf/simulated/floor,/area/engineering/atmos) -"cCO" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/glass_engineering{name = "Engineering Hallway"; req_one_access = list(10,24)},/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,/area/engineering) +"cCO" = (/obj/machinery/door/airlock/maintenance_hatch{frequency = 1379; icon_state = "door_closed"; id_tag = "engine_airlock_interior"; locked = 0; name = "Engine Airlock Interior"; req_access = list(11)},/turf/simulated/floor/plating,/area/engineering/engine_room) "cCP" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/portable_atmospherics/canister/air/airlock,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating{dir = 1; icon_state = "warnplatecorner"},/area/maintenance/engi_shuttle) "cCQ" = (/obj/machinery/embedded_controller/radio/airlock/access_controller{tag_exterior_door = "incinerator_airlock_exterior"; id_tag = "incinerator_access_control"; tag_interior_door = "incinerator_airlock_interior"; name = "Incinerator Access Console"; pixel_x = -6; pixel_y = -26; req_access = list(12)},/obj/machinery/button/ignition{id = "Incinerator"; pixel_x = 6; pixel_y = -24},/obj/machinery/meter,/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor{dir = 2; icon_state = "warningcorner"; tag = "icon-warningcorner (WEST)"},/area/maintenance/incinerator) "cCR" = (/obj/machinery/atmospherics/valve,/turf/simulated/floor/plating,/area/maintenance/engineering) @@ -6993,7 +6993,7 @@ "cEy" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/disposalpipe/segment,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/camera/network/engineering{c_tag = "Atmospherics Maintenance"; dir = 4},/turf/simulated/floor/plating{dir = 8; icon_state = "warnplatecorner"},/area/engineering/atmos/storage) "cEz" = (/obj/machinery/shower{icon_state = "shower"; dir = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor,/area/engineering/engine_airlock) "cEA" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor,/area/engineering/engine_airlock) -"cEB" = (/obj/machinery/door/airlock/maintenance{req_one_access = list(10,24)},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/engineering) +"cEB" = (/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for the engine control room blast doors."; id = "EngineEmitterPortWest"; name = "Engine Room Blast Doors"; pixel_x = 0; pixel_y = 25; req_access = list(11)},/obj/machinery/atmospherics/portables_connector{dir = 4},/turf/simulated/floor/plating{icon_state = "platebot"},/area/engineering/engine_room) "cEC" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 5},/area/maintenance/engi_shuttle) "cED" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/maintenance/engi_shuttle) "cEE" = (/obj/structure/bed,/obj/item/weapon/bedsheet/green,/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) @@ -7015,7 +7015,7 @@ "cEU" = (/obj/machinery/air_sensor{frequency = 1441; id_tag = "waste_sensor"; output = 63},/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/engineering/atmos) "cEV" = (/obj/structure/bed/chair{dir = 1},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) "cEW" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engineering/drone_fabrication) -"cEX" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance{req_one_access = list(10,24)},/turf/simulated/floor/plating,/area/engineering) +"cEX" = (/obj/machinery/door/airlock/hatch{icon_state = "door_locked"; id_tag = "engine_access_hatch"; locked = 1; req_access = list(11)},/obj/machinery/atmospherics/pipe/simple/visible/cyan,/turf/simulated/floor/plating,/area/engineering/engine_room) "cEY" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) "cEZ" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/table,/obj/item/stack/cable_coil,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/box/lights/mixed,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor,/area/engineering/engine_smes) "cFa" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/wall/r_wall,/area/engineering/engine_smes) @@ -7241,7 +7241,7 @@ "cJm" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging,/obj/structure/lattice,/turf/space,/area/space) "cJn" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Solar - Aft Port"},/turf/simulated/floor/plating,/area/maintenance/portsolar) "cJo" = (/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/engineering/engine_room) -"cJp" = (/obj/machinery/door/airlock/maintenance_hatch{icon_state = "door_closed"; locked = 0; name = "Engine Access"; req_one_access = list(11,24)},/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,/area/engineering/engine_airlock) +"cJp" = (/obj/machinery/door/airlock/hatch{icon_state = "door_locked"; id_tag = "engine_access_hatch"; locked = 1; req_access = list(11)},/obj/machinery/atmospherics/pipe/simple/visible/yellow,/turf/simulated/floor/plating,/area/engineering/engine_room) "cJq" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/blast/regular{icon_state = "pdoor1"; id = "SupermatterPort"; layer = 3.3; name = "Reactor Blast Door"},/turf/simulated/floor/plating,/area/engineering/engine_room) "cJr" = (/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engineering/engine_room) "cJs" = (/obj/machinery/air_sensor{frequency = 1438; id_tag = "engine_sensor"; output = 63},/turf/simulated/floor/engine/nitrogen{icon_state = "warnplate"; name = "plating"},/area/engineering/engine_room) @@ -7310,7 +7310,7 @@ "cKD" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1380; id_tag = "engineering_dock_pump"},/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "engineering_dock_sensor"; pixel_x = -25; pixel_y = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 10},/area/maintenance/engi_shuttle) "cKE" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/toolbox/electrical,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/camera/network/engineering{c_tag = "Engineering Drone Fabrication"; dir = 8},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) "cKF" = (/obj/machinery/door/airlock/maintenance_hatch{name = "SMES Access"; req_access = list(11)},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor,/area/engineering/engine_monitoring) -"cKG" = (/obj/machinery/door/airlock/maintenance_hatch{frequency = 1379; icon_state = "door_closed"; id_tag = "engine_airlock_exterior"; locked = 0; name = "Engine Airlock Exterior"; req_access = list(10)},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/engineering/engine_airlock) +"cKG" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "robotics_solar_outer"; locked = 1; name = "Engineering External Access"; req_access = list(11,13)},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/portsolar) "cKH" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "engineering_dock_outer"; locked = 1; name = "Engineering Dock Airlock"; req_access = list(13)},/turf/simulated/floor/plating,/area/maintenance/engi_shuttle) "cKI" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "engineering_dock_outer"; locked = 1; name = "Engineering Dock Airlock"; req_access = list(13)},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/engi_shuttle) "cKJ" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "engineering_dock_airlock"; name = "exterior access button"; pixel_x = -25; pixel_y = -8; req_one_access = list(13,11,24)},/turf/space,/area/space) @@ -7338,39 +7338,34 @@ "cLf" = (/turf/simulated/shuttle/wall{icon_state = "swall1"; dir = 2},/area/shuttle/constructionsite/station) "cLg" = (/obj/machinery/door/airlock/maintenance{name = "Drone Fabrication/Engine Waste Handling"; req_one_access = list(10,24)},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/engineering/drone_fabrication) "cLh" = (/obj/machinery/door/airlock/hatch{icon_state = "door_locked"; id_tag = "engine_electrical_maintenance"; locked = 1; name = "Electrical Maintenance"; req_access = list(10)},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/engineering/engine_room) -"cLi" = (/obj/machinery/door/airlock/maintenance_hatch{frequency = 1379; icon_state = "door_closed"; id_tag = "engine_airlock_interior"; locked = 0; name = "Engine Airlock Interior"; req_access = list(10)},/turf/simulated/floor/plating,/area/engineering/engine_room) +"cLi" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; layer = 3.3; master_tag = "robotics_solar_airlock"; name = "exterior access button"; pixel_x = 25; pixel_y = 25; req_access = list(11,13)},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating/airless,/area/solar/port) "cLj" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/shuttle/constructionsite/station) "cLk" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/shuttle/constructionsite/station) "cLl" = (/obj/machinery/computer/shuttle_control/engineering,/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/shuttle/constructionsite/station) "cLm" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/shuttle/constructionsite/station) "cLn" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/shuttle/constructionsite/station) "cLo" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/camera/network/engine{c_tag = "Engine Waste Handling"},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplatecorner"},/area/engineering/engine_waste) -"cLp" = (/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for the engine control room blast doors."; id = "EngineEmitterPortWest"; name = "Engine Room Blast Doors"; pixel_x = 0; pixel_y = 25; req_access = list(10)},/obj/machinery/atmospherics/portables_connector{dir = 4},/turf/simulated/floor/plating{icon_state = "platebot"},/area/engineering/engine_room) +"cLp" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "robotics_solar_inner"; locked = 1; name = "Engineering External Access"; req_access = list(11,13)},/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/portsolar) "cLq" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 10},/obj/machinery/alarm/nobreach{dir = 2; pixel_y = 22},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engineering/engine_room) "cLr" = (/obj/machinery/airlock_sensor/airlock_interior{id_tag = "eng_al_int_snsr"; master_tag = "engine_room_airlock"; pixel_y = 22; req_access = list(10)},/obj/machinery/light{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/turf/simulated/floor/plating,/area/engineering/engine_room) "cLs" = (/obj/structure/cable,/obj/machinery/power/terminal{dir = 8},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/shuttle/constructionsite/station) "cLt" = (/obj/structure/cable,/obj/machinery/power/smes/buildable/power_shuttle,/turf/simulated/floor/plating,/area/shuttle/constructionsite/station) "cLu" = (/obj/machinery/computer/atmos_alert,/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/shuttle/constructionsite/station) "cLv" = (/turf/simulated/shuttle/wall{tag = "icon-swall2"; icon_state = "swall2"; dir = 2},/area/shuttle/constructionsite/station) -"cLw" = (/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/window/brigdoor{dir = 8; name = "Engine Waste"; req_one_access = list(10,24)},/obj/machinery/atmospherics/portables_connector,/turf/simulated/floor/plating{icon_state = "platebot"},/area/engineering/engine_waste) +"cLw" = (/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/window/brigdoor{dir = 8; name = "Engine Waste"; req_access = newlist(); req_one_access = list(11,24)},/obj/machinery/atmospherics/portables_connector,/turf/simulated/floor/plating{icon_state = "platebot"},/area/engineering/engine_waste) "cLx" = (/turf/simulated/shuttle/wall{icon_state = "swall_s5"; dir = 2},/area/shuttle/constructionsite/station) "cLy" = (/turf/simulated/shuttle/wall{icon_state = "swall_s9"; dir = 2},/area/shuttle/constructionsite/station) -"cLz" = (/obj/machinery/door/window/brigdoor{dir = 8; name = "Engine Waste"; req_one_access = list(10,24)},/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 9},/turf/simulated/floor/plating{icon_state = "platebot"},/area/engineering/engine_waste) -"cLA" = (/obj/machinery/door/window/brigdoor{dir = 8; name = "Engine Waste"; req_one_access = list(10,24)},/obj/structure/window/reinforced,/obj/machinery/atmospherics/binary/pump{dir = 8; name = "waste pump"},/turf/simulated/floor/plating{icon_state = "platebot"},/area/engineering/engine_waste) +"cLz" = (/obj/machinery/door/window/brigdoor{dir = 8; name = "Engine Waste"; req_access = newlist(); req_one_access = list(11,24)},/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 9},/turf/simulated/floor/plating{icon_state = "platebot"},/area/engineering/engine_waste) +"cLA" = (/obj/machinery/door/window/brigdoor{dir = 8; name = "Engine Waste"; req_access = newlist(); req_one_access = list(11,24)},/obj/structure/window/reinforced,/obj/machinery/atmospherics/binary/pump{dir = 8; name = "waste pump"},/turf/simulated/floor/plating{icon_state = "platebot"},/area/engineering/engine_waste) "cLB" = (/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for the engine control room blast doors."; id = "EngineBlast"; name = "Engine Monitoring Room Blast Doors"; pixel_x = 5; pixel_y = -25; req_access = list(10)},/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for the engine charging port."; id = "SupermatterPort"; name = "Reactor Blast Doors"; pixel_x = -5; pixel_y = -25; req_access = list(10)},/obj/machinery/light,/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/engineering/engine_room) "cLC" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/maintenance{name = "Engine Waste Handling"; req_one_access = list(10,24)},/turf/simulated/floor/plating,/area/maintenance/engi_engine) "cLD" = (/obj/machinery/camera/network/engine{c_tag = "Engine Core West"; dir = 8},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engineering/engine_room) -"cLE" = (/obj/machinery/door/airlock/hatch{icon_state = "door_locked"; id_tag = "engine_access_hatch"; locked = 1; req_access = list(10)},/obj/machinery/atmospherics/pipe/simple/visible/cyan,/turf/simulated/floor/plating,/area/engineering/engine_room) -"cLF" = (/obj/machinery/door/airlock/hatch{icon_state = "door_locked"; id_tag = "engine_access_hatch"; locked = 1; req_access = list(10)},/obj/machinery/atmospherics/pipe/simple/visible/yellow,/turf/simulated/floor/plating,/area/engineering/engine_room) +"cLE" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; layer = 3.3; master_tag = "robotics_solar_airlock"; name = "interior access button"; pixel_x = -25; pixel_y = -25; req_access = list(11,13)},/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/maintenance/portsolar) +"cLF" = (/obj/machinery/door/airlock/engineering{name = "Aft Port Solar Access"; req_access = list(11)},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/portsolar) "cLG" = (/obj/machinery/atmospherics/pipe/manifold/visible/yellow{dir = 8},/obj/machinery/meter,/obj/machinery/camera/network/engine{c_tag = "Engine Core East"; dir = 4},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/engineering/engine_room) "cLH" = (/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for the engine radiator viewport shutters."; id = "EngineRadiatorViewport"; name = "Engine Radiator Viewport Shutters"; pixel_x = 25; pixel_y = 0; req_access = list(10)},/obj/machinery/atmospherics/pipe/manifold/visible/purple{dir = 4},/obj/machinery/meter,/turf/simulated/floor/plating,/area/engineering/engine_room) "cLI" = (/obj/machinery/button/remote/blast_door{id = "EngineVent"; name = "Reactor Ventillatory Control"; pixel_x = -25; pixel_y = 0; req_access = list(10)},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/engineering/engine_room) -"cLJ" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "robotics_solar_outer"; locked = 1; name = "Engineering External Access"; req_access = list(10,13)},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/portsolar) -"cLK" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; layer = 3.3; master_tag = "robotics_solar_airlock"; name = "exterior access button"; pixel_x = 25; pixel_y = 25; req_access = list(13)},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating/airless,/area/solar/port) -"cLL" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "robotics_solar_inner"; locked = 1; name = "Engineering External Access"; req_access = list(13)},/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/portsolar) "cLM" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1379; id_tag = "robotics_solar_pump"},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "robotics_solar_pump"; tag_exterior_door = "robotics_solar_outer"; frequency = 1379; id_tag = "robotics_solar_airlock"; tag_interior_door = "robotics_solar_inner"; layer = 3.3; pixel_x = 0; pixel_y = -25; req_access = list(13); tag_chamber_sensor = "robotics_solar_sensor"},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "robotics_solar_sensor"; layer = 3.3; pixel_x = 12; pixel_y = -25},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/decal/warning_stripes,/turf/simulated/floor/plating,/area/maintenance/portsolar) -"cLN" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; layer = 3.3; master_tag = "robotics_solar_airlock"; name = "interior access button"; pixel_x = -25; pixel_y = -25; req_access = list(13)},/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/maintenance/portsolar) -"cLO" = (/obj/machinery/door/airlock/engineering{name = "Aft Port Solar Access"; req_access = list(10)},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/portsolar) "cLP" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable,/obj/machinery/camera/network/engineering{c_tag = "Solar Maintenance Aft Port"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/portsolar) "cLQ" = (/obj/structure/reagent_dispensers/fueltank,/obj/machinery/camera/network/engineering{c_tag = "Solar Maintenance Aft Port Access"; dir = 1},/turf/simulated/floor/plating{dir = 4; icon_state = "warnplatecorner"},/area/maintenance/engi_engine) "cLR" = (/obj/machinery/camera/network/engine{c_tag = "Engine Core South"; dir = 1},/turf/simulated/floor/engine/nitrogen{dir = 8; icon_state = "warnplate"; name = "plating"},/area/engineering/engine_room) @@ -7470,8 +7465,8 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfagBafYajFafYajGajHalfajJajKajLajMajNajOajPajQajRajSajTajUajVajWajXajUajYajWajWajZakaakaakbakcakdahOakeajbakgajzakhakiakjalnaklakmaknakoakpalqakZakqabOaaaaaaaaaaaaaaaaaaaaaaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafabQaafaaIaaaaaaaaaaaaaaaaaaaaaaaaaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaamaamaaIaamaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfadEagWagWagWagWagWagWaksaktakuakvakwakxakyakzalrakBakCakDakXalvakwakGakwakwakHakIakJakKakLakMalxakOakPakJakQalNakSakTakUalbalPalCakYakoalIabbalOamaactaaaaaaaaaaafaaaaaaaaaaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaaIaaIaaIaaIaaaaaaaaaabpaaaaaaaaaaaIaaIaamaamaamaaaaaaaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaafaaaaaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfadEagWalcaldalZalQagWalgalhahLalialjagWacTamoacTagWabVamsabUagWalpamuamtalsagDaltaluamxalwamyagWabTabSabSabRagWalBamcalDalEalFalGalHakoamAanQamDanQanQaaaaaaaafaafaaaaaaaaaaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaaaaaaaafaafaafaaaaaaaoYaafaafaaaaafaafaaaaaaaamaaaaaaaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafabMaafaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafabfadEamEalMalMamHamFamMamJalRahKalSaljagWalTalUalValWalXalYamNamOahKambahKamPamdameameamfamgamhamiamjamkamlammakoamnamUampamqalDalDamrakoadQanQamvawKamwaaaaaaaaLaaaaaaaaaaafaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafanTanTanTanTanTaafalJaafanTanTanTanTanTaafaaIaaaaaaaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaamaamaaIaaIaaaaaaaaaaoXaaaaaaaaaaaIaaIaamaamaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfadEagWamWamBamCamZagWankalRaljanlamGagWamRamIanmalWamKamLannanpanoanPamQanaaNcamgamgamfamgamTaoWamVanfamXanhakoaoeanWalDamqalDalDanbakoancandaneaocangaafaaLaafaafaaLaafaafaafakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafanianjanjanjanjanualJansanqanqanqanqanwaafaaIaaaaaaaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafabMaafaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafabfadEamdalMalMamHamFamMamJalRahKalSaljagWalTalUalValWalXalYamNamOahKambahKamPamEameameamfamgamhamiamjamkamlammakoamnamUampamqalDalDamrakoadQanQamvawKamwaaaaaaaaLaaaaaaaaaaafaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafanTanTanTanTanTaafalJaafanTanTanTanTanTaafaaIaaaaaaaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaamaamaaIaaIaaaaaaaaaaoXaaaaaaaaaaaIaaIaamaamaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfadEagWamWamBamCamZagWankalRaljanlamGagWamRamIanmalWamKamLannanoamQanPanpanaauoamgamgamfamgamTaoWamVanfamXanhakoaoeanWalDamqalDalDanbakoancandaneaocangaafaaLaafaafaaLaafaafaafakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafanianjanjanjanjanualJansanqanqanqanqanwaafaaIaaaaaaaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaafaafaaaaaaaaaaoVaafaafaaaaafaafaaaaaaaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaofagWagWagWagWagWagWaqqaqXagWagWagWagWaoRaoSaoRalWaoTaoUapealWapfapiaplanzanAamgamgamfanBanCamianDanEamXanFanGanHanIanJanKanLanManNanGanOaoPapqanRanSaaaaaaaafaaaaafaaLaafaacakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafapIapIapIapIapIaafalJaafapIapIapIapIapIaafaaIaaaaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafanVanVanVanVanVaafalkaafanVanVanVanVanVaafaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanXanYanZaoaagDaobaoZagWaoCapdalKaogappaoiapDaokaolaonaonaooaonaopaoqaoGaoMaoOapHamgamgaouaovaowamiaoxaqgamXaoyanGaozaoAaoBaoQaoDaoEaoFanGaqCanQanQanQanQaoIaoJaoHaoLaqJaaaaafaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaafaaaaaaaafalJaaaaaaaaaaafaaaaaaaaaaamaaaaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaIaafalzalyalyalyalyalAalkallaivaivaivaivagEaafaaIaaaaaaaaaaaaaaaaaaaacaaaaaaaaaanXanXapaapbagDalMapcaqPaohaodanvanramSaomaosaosaotaojaonapmapnaoraonapoaonaoNapEapramgamfamgamTaraamYanEamXaptanGapuapvapwapxapyapzapAanGapBaoHapCapLapGapFapPaoHaoHarjaoHaoHaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafanTanTanTanTanTaafalJaafanTanTanTanTanTaafaaIaaaaaaaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -7479,15 +7474,15 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaafaaaaaaaafalkaaaaaaaaaaafaaaaaaaaaaaqaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaqzaqAaqBagDagWagWagWarvalRagWalWalWalWaqDaqEapkaqFaqGaqHaonaqIarwaqKaqLanyarMaqOaryaqQaqRaqSanxaqUaqVarQamVanGarzaqYaqZarCarbarcardanGarearfapFaqtaqtapFargaoHarhariarFaoHaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafapIapIapIapIapIaafalJaafapIapIapIapIapIaafaaIaaaaaaaaaaaaabgaaaaihaihaihaihaihaihaihaihaihaihaihaihaihaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafanVanVanVanVanVaafalkaafanVanVanVanVanVaafaaIaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaqzarkaqBagDaobarHagWarmarOalKaogarPaoiaokarparqarrarsartaonarualWarZarSarxalLasnarAasBamzasOarEasRarGasWamjanGanGarIanGanGanGanGanGanGarJarKarLasaasaapFarNaoHaoHasXaoHaoHaaaaaaakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaafaaaaaaaaaalJaaaaaaaaaaafaaaaaaaaaaamaaaaaaaaaaaaaaaaaaaihaihaihaihaihaihaihaihaihaihaihaihaihaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaLasYaaLaaaaaaaaaaaaaaaaaaaaaaaIaafalzalyalyalyalyalAalkallaivaivaivaivagEaafaaIaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaqzataaqBagDarRapcatiarTarUatIapharWaloaonaonarYasFasyasMaonascalWasdasealmasgasharAasiasjaskarEaoHaoHaoHaoHaoHaslatQatJasoasoaspaspasqasrassastastasuasvasvaswasxatXaszaqsaaaaafaafaafaaaaaaaafaafaafaafaaaaaaaafaafaafaaaaaaaaaaaaaaIaafanTanTanTanTanTaafalJaafanTanTanTanTanTaafaaIaaaaaaaaaaaaaaaaaaaihaihaihaihaihaihaihaihaihaihaihaihaihaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafasAauiasAaaaaaaaaaaaaaaaaaaaaaaaIaafapJapJapJapJapJaafalkaafapJapJapJapJapJaafaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasCasbapbagDapUapMagWasDasEalKapOasPaoiasGasGasHasIaonasJaonasKalWasLatgauoathauuarAasQauvasSarEasTasUasUasVauSasVavCavbasZasZasZasZasZasZasZasZasZasmavFatbatcaoKatdateatfaaaaafatPatratjatjatjatjavRatjatjatjatjatUaafaaaaaaaaaaaaaamaafanianjanjanjanjanualJansanqanqanqanqanwaafaaIaaaaaaaaaaaaaaaaaaaaaaaaaihaihaihaihaihaihaihaihaihaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafasAauiasAaaaaaaaaaaaaaaaaaaaaaaaIaafapJapJapJapJapJaafalkaafapJapJapJapJapJaafaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasCasbapbagDapUapMagWasDasEalKapOasPaoiasGasGasHasIaonasJaonasKalWasLatgayOathauuarAasQauvasSarEasTasUasUasVauSasVavCavbasZasZasZasZasZasZasZasZasZasmavFatbatcaoKatdateatfaaaaafatPatratjatjatjatjavRatjatjatjatjatUaafaaaaaaaaaaaaaamaafanianjanjanjanjanualJansanqanqanqanqanwaafaaIaaaaaaaaaaaaaaaaaaaaaaaaaihaihaihaihaihaihaihaihaihaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatkatlatmaaaatnatoatpaaaaafatqatWatqaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaafaaaaaaaaaalkaaaaaaaaaaafaaaaaaaaaaamaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaanXatsattagDagDagDagWagWagWagWalWalWalWalWalWatuaonaoratvaqEatwalWalWalWatxatxatxarAatyatzatAarEatBasZasZasZasZatCatDatEatFatGatHavTavUatKatLatMatNatOatPatPatPatPatPatPatPatPatPatPatRatRatRatRatRatRatRatRatRatRaumaafaaaaaaaaaaaaaamaaaapIapIapIapIapIaafalJaafapIapIapIapIapIaaaaaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaihaihaihaihaihaihaihaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatSatTaLAatTatSatVaLBatVatSaafatqawvatYaaaaaaaaaaaaaaaaaaaaaaaIaafanVanVanVanVanVaafalkaafanVanVanVanVanVaafaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafatZauaanYaubaucanXaafaafalWaudaueaufaugauhawMaonapnaonasJaqEaujaukaulawRaunauKauparAauqaurausarEatBasZauLaxdauMatCauxauyatFatGauzauAauBauCauDatMatNauEauFauGauHauIauHauJauwauOauPaxsatRatRatRatRatRatRatRatRatRatRavcaafaaaaaaaaaaaaaamaaaaafaaaaafaafaaaaaabepaaaaaaaafaaaaaaaafaaaaaIaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauNatTavmatTauNatVavyatVauNauQauRaxuauTauUauUauVauQauQaafaaaaaIaafalzalyalyalyalyalAalkallaivaivaivaivagEaafaaIaaaaaaaaaaaaaaaaaaaaaaaaanXanXanXauWanXanXapbaucanXaaaaaaalWauXalWauYauZavaalWaxwavzaonavdaveaveavfavgaveavhaviavjarAavkauravlarEatBasZavAavoavJatCawravqatFatGauzauAavravsavtatMatNavuavvauGauHauHauHauJavwavQawfavVatRatRatRatRatRatRatRatRatRatRavcaafaaaaaaaaaaaaaamaamaaIaaaaaaaafaaaaaaabpaaaaafaafaafaafaaIaaIaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauNavBaxyavDauNavEaxAavGauNavHavIaxCavKavLavMavNavOauQaaaaaaaaqaaaapJapJapJapJapJaafbeSaafapJapJapJapJapJaaaaaIaaaaaaaaaaaaaaaaaaaaaaaaawkaxGavSayqaxOawoavWavXanXaaaaaaalWalWalWavYavZawaalWawbawcawdaweawpawgaukawhawxautawyawlarAawmaurayzarEatBasZawzawUawYaxaaxbawZatFatFatFawsawtawuatFatFatNayNawwauGauHauHauHauJawAavxawfaykatRatRatRatRatRatRatRatRatRatRavcaafaaaaaaaaaaaaaaaaaaaafaafaaaaafaaaaaaayOaaaaaaaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauNawGawHawIauNawGawHawIauNawJavHavHavHavHavHavHavHasAaaaaaaaaIaaaaafaaaaafaafaaaaaaaySaaaaaaaafaaaaaaaafaaaaaIaafaaaaaaaafaafaaaaaaaafawPaxGawQazgaxOawSaucawTanXaafaaLcqTatxatxatxatxatxatxatxatxatxatxatxatxatxatxatxatxatxatxarAawVaurawWarEatBasZawBaxjawCatCaxVavnazpaxcaxfaxeaxhaxgaxhaxiaxkaxlaxmaxnaxoaxoaxoaxnaxmavxawEawDatRatRatRatRatRatRatRatRatRatRavcaafaaaaaaaaaaaaaaaaaaaaaaafaafaafaaaazoazBazoaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaatSauNazFaxxatSauNazUaxxatSauNaAbauNauNauNauNauNavHatqaaaaaaaaIaaIaaIaaaaaaaafaaaaxBaAraxBaafaafaafaafaaIaaIaaIaafanXanXanXanXaxDaxEaxEaxFanXanXanXanXaAvaucaucanXaxHaxIanXanXaxJaxKaxLaxMaxMaxMaxMaxMaxMaxMaxMaxNaxMaxMaxMaxMaxMaAHaxPaxQaxRaAHavpasZaxSawjcfSatCaxVaxXaxXaxXaxZaxYayaawLaxXavqaydayeayfaygayhayhayhayhawXavxawEawDatRatRatRatRatRatRatRatRatRatRavcaafaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaAuaBaaAuaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaynayoaypayoaBcayoayrayoaysaytayvayvayvayvaywauNawNatqaaaaafaafaaaaaaaaaaaaaafaaaayyaBkayAaafaaaaafaaaaaaaaaaaaaaaanXayBayCayDayCayCayCayCayEayCayCayFayGayDayHayIaxMaxMaxMaxMaxMaxMayJayKayLayLayLayLayMayLayLaBwayLayMayLayLayLarAaBEayPayQarEaAiasZcfSaycaxUatCayUayTayWaxpayYayXayYaxqayTazaazbazcazdazeazdazdazfaxraBOaxtaxTaxvatRatRatRatRatRatRatRatRatRatRavcaafaaaaaaaaaaaaaaaaaaaaaaaaaafaafaBuaBvaBQaBxaByaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazqazrazsaztazuazvazwazxazyazwazzazAazwazwaCeauNavHauRaafaafaaaaaaaaaaaaaaaaafazDazEaCiazGazHaaaaafaaaaaaaaaaaaaaaanXazIanXazJazKazLazLazLazMazLazLazLazNazJazOazPazPazPazPazPazPazPazQazRayLazSazTaCtazVazWazXazYazZaAaaCDazTaAcarAaAdayPayQarEaAiasZaybaAeauMatCaxWaxXaxXaxXaxXayiayjaAlaAmaAnaxkaAoaylaApaApaApaAqayVatPayZatPatPatRatRatRatRatRatRatRatRatRatRavcaafaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaCvaCwaCHaCyaCvaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauNavBaxyavDauNavEaxAavGauNavHavIaxCavKavLavMavNavOauQaaaaaaaaqaaaapJapJapJapJapJaafbeSaafapJapJapJapJapJaaaaaIaaaaaaaaaaaaaaaaaaaaaaaaawkaxGavSayqaxOawoavWavXanXaaaaaaalWalWalWavYavZawaalWawbawcawdaweawpawgaukawhawxautawyawlarAawmaurayzarEatBasZawzawUawYaxaaxbawZatFatFatFawsawtawuatFatFatNayNawwauGauHauHauHauJawAavxawfaykatRatRatRatRatRatRatRatRatRatRavcaafaaaaaaaaaaaaaaaaaaaafaafaaaaafaaaaaaaySaaaaaaaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauNawGawHawIauNawGawHawIauNawJavHavHavHavHavHavHavHasAaaaaaaaaIaaaaafaaaaafaafaaaaaaazBaaaaaaaafaaaaaaaafaaaaaIaafaaaaaaaafaafaaaaaaaafawPaxGawQazgaxOawSaucawTanXaafaaLcqTatxatxatxatxatxatxatxatxatxatxatxatxatxatxatxatxatxatxarAawVaurawWarEatBasZawBaxjawCatCaxVavnazpaxcaxfaxeaxhaxgaxhaxiaxkaxlaxmaxnaxoaxoaxoaxnaxmavxawEawDatRatRatRatRatRatRatRatRatRatRavcaafaaaaaaaaaaaaaaaaaaaaaaafaafaafaaaazoaArazoaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaatSauNazFaxxatSauNazUaxxatSauNaAbauNauNauNauNauNavHatqaaaaaaaaIaaIaaIaaaaaaaafaaaaxBaBwaxBaafaafaafaafaaIaaIaaIaafanXanXanXanXaxDaxEaxEaxFanXanXanXanXaAvaucaucanXaxHaxIanXanXaxJaxKaxLaxMaxMaxMaxMaxMaxMaxMaxMaxNaxMaxMaxMaxMaxMaAHaxPaxQaxRaAHavpasZaxSawjcfSatCaxVaxXaxXaxXaxZaxYayaawLaxXavqaydayeayfaygayhayhayhayhawXavxawEawDatRatRatRatRatRatRatRatRatRatRavcaafaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaAuaBaaAuaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaynayoaypayoaBcayoayrayoaysaytayvayvayvayvaywauNawNatqaaaaafaafaaaaaaaaaaaaaafaaaayyaBkayAaafaaaaafaaaaaaaaaaaaaaaanXayBayCayDayCayCayCayCayEayCayCayFayGayDayHayIaxMaxMaxMaxMaxMaxMayJayKayLayLayLayLayMayLayLaBQayLayMayLayLayLarAaBEayPayQarEaAiasZcfSaycaxUatCayUayTayWaxpayYayXayYaxqayTazaazbazcazdazeazdazdazfaxraBOaxtaxTaxvatRatRatRatRatRatRatRatRatRatRavcaafaaaaaaaaaaaaaaaaaaaaaaaaaafaafaBuaBvaCiaBxaByaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazqazrazsaztazuazvazwazxazyazwazzazAazwazwaCeauNavHauRaafaafaaaaaaaaaaaaaaaaafazDazEaCtazGazHaaaaafaaaaaaaaaaaaaaaanXazIanXazJazKazLazLazLazMazLazLazLazNazJazOazPazPazPazPazPazPazPazQazRayLazSazTazTazVazWazXazYazZaAaaCDazTaAcarAaAdayPayQarEaAiasZaybaAeauMatCaxWaxXaxXaxXaxXayiayjaAlaAmaAnaxkaAoaylaApaApaApaAqayVatPayZatPatPatRatRatRatRatRatRatRatRatRatRavcaafaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaCvaCwaCHaCyaCvaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafauNaAwaAxaAwaAyazsazsaAzaAwaAxaAwaAAaABaACaADauNavHauQauQaAEauUauUauUauUauVauQaAFaAGaCJaAIaAFanXanXaxHaAJaxIanXanXanXazIaAKazJaaaaafaaaaafaaaaafaaaaafaaaazJazOazPaALaAMaANaAOaAPazPazQaucayLaAQaAQaARaASaATaAUaAVaATaAWaAXazTaAcarAaAdayPaDdarEaAiasZawzaAgaAhaBbayRaBdaBeazhaBgaBhaBiaBjaBjaCLaBjatPaBlaBmaBnaBoaBpaBraxvaziazkazjatRatRatRatRatRatRatRatRatRatRavcaafaaaaaaaaaaaaaaaaacaaaaaaaafaaaaCvazlaDAaDBaCvaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaBzatSaBAawHaBBaBCaBDaDcaBFaBBawHaBGaBHaBIaBJaBKaBLavHavHavHavHavHavHavHavHaDnaBPaAFazmaBRaBSaAFaBTaBUayCayCayCayCayCaBVaBWaBXazJaafaBYaBYaBYaBYaBYaBYaBYaafazJazOazPaBZaCaaCbaCcaBZazPazQaCdayLayLayLayLaDxaCfaCgaChaCfaDyaCjazTaCkarAaAdayPaClarEaJCasZaznaAYazCatCaxWavqatEaBjaBjaBjaBjaBjaCqaCraCsaBjatPatPatPatPaDQatPatPaAfaAkaAjatRatRatRatRatRatRatRatRatRatRaumaafaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaCvaEXaEYaDYaCvaaaaaaaaaaafaafaaaaaaaaaaaaaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazqaAxaCzaCAaCAaCAaCAaCBaAxazqaaaaBIaCCaxzaBLaCEaCEaCEaCEaCEaCEaCEavHaCFaCGaAFaEeaCIaAsaAFaCKaEvaCKaCKaCKaCKaCKaCKaCKaCKaCMaaaaBYaCNaCOaCPaCQaCRaBYaaaazJazOazPaBZaCSaCTaCUaBZazPazQanXayLaCVaCWaARaCXaCYaCZaDaaDbaECayLayLayLarAaAdayPayQarEaAiasZaAtaEMauMatCaDgavqatEaDhaDiaDjaDkaBjaCqaDlaCsaBjaDmaESaDoaDpaDqaGwaDsatPatPatPaAZatjatjatjatjaEVatjatjatjatjaBfaafaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaCvaCvaFhaGyaCvaDCaDDaDEaDCaDCaDCaDCaDCaDCaDCaDFaDGaDGaDGaDHaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -7496,61 +7491,61 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaT aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaFraGIaFyaGKaFlaFMaFlaFMaFlaFMaFlaFMaFlaGMaGNaGOaDPayuaBLaInaFAaGRaGSaGTaGUaCEaFBaFDaFCaFCaFCbazaIzaFCaHcaFLaFLaFLaFLaFLaFLaFLaFNaHdaCMaafaBYaHeaHfaHgaHhaHiaBYaafazJazOazPaHjaFPaFUaHlaHmazPaHnaHoayLaHpazTaARaHqaATaHrazTaCfaFYaHsazTaHtarAaHuaHvaHwarEaGuaIDaEUaGvaDwaIIaGzaGjatEaHCaHDaBjaHEaBjaHFaBjaHGaBjaHHaGpaIZaDpaJsaJjaHLaHMaHMaHNaHOaHKaHKaHKaHKaHKaHPaHKaHKaHKaHQaHVaDsaDsaDsaDCaGBaGAaGCaGCaGLaGJaDCaDCaJwaDCaIdaIeaIfaIgaGFaJBaGFaIiaIjaJHaKjbinaKlaIoaIpaIqaKHaIsbjFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaIwaFlaFlaDKaFlaFMaFlaFMaIxaFMaIyaFMaFlaGMaGNaGOaDPaFFaIAaIAaKMaICaKPaICaIAaIAaIEaIFaFCaGQaFHaGWaHkaFCaIKaILaIMaFLaFLaHRaFLaIOaIPaIKaCMaaaaBYaBYaIQaHSaIQaBYaBYaaaazJazOazPaISaITaIUaFTaIVazPaIWaIXayLaIYazTaKQaEwaCfaJaaEyaATaJbaJcazTaJdaJeaJfaJgaJhaMbaKVaCuaCuaCuaCuaCuaHUaHTaJlaJmaJnaBjaJoaBjaJpaBjaJqaBjaJraGpaKXaJtaGsaGsaDqaJvaDsaDsaKYaDsaDsaJxaDsaGsaJyaGsaGsaGsaJzaHZaHXaHWaIaaLcaIraIbaIbaIbaIRaINaIgaJIaJJaLdaJkaJMaJNaIgaJOaJPaGFaJQaJAaJSaJTbinaJUaIoaJVaLeaGGaGGaGGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaFraJXaFyaGKaFlaFMaFlaFMaFlaFMaFlaFMaFlaGMaGNaGOaDPaGYaGXaHaaGZaHbaHbaIBaLiaIHaIGaIJaLkaJZaJYaJGaKaaFCaIKaKmaKnaKoaKpaIKaKqaKraKsaKtaKuaaaaafaaaaKvaKwaKvaaaaafaaaaKuazOazPaKxaKyaKzaKAaKBazPaKCaKDayLaKEazTaARaKFaKGaHrazTaLmaKIaKJaKKaKLaJeaEDaKNaKOaLYaEEaKRaaaaaaaJlaKSaJKaMcaJlaJLaJnaJnaJnaKWaJnaJnaJnaBjaDpaMvaDpaDpaDpaDpaMwaDpaKZaLaaLbaMEaMVaMFaLfaLgaLhaLfaLfaLfaLfaLfaMXaLfaLfaLfaLfaLfaLfaLfaLfaJRaIgaLjaJWaLlaEFaKbaLoaIgaLpaKTaGFaLraLsaLtaJTbkuaJUaIoaJVaIoaKUaLwaLxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaLyaLzaDJaFkawiaFlaFlaFqaFlaFlaFnaFlawnaFraLCaLDaDPaLEaLFaLGaLHaLGaLGaLGaLGaLGaLIaLJaFCaFCaFCaFCaFCaFCaLLaLMaLNaLOaLOaLOaLOaLPaLQaLRaKuaLSaLTaLTaLUaLVaLWaLTaLTaLXaKuaNAaKuaKuaLZaMaaLZaJeaJeaMbaNGaJeaJeaJeaJeaMdaMeaNXaNPaMhaMiaJeaJeaJeaJeaMjaKNaMkaMkaMlaMmaMnaMoaJlaMpaLqaLnaJlaJlaJlaJlaJlaJlaJlaJlaBjaBjaMsaMtaMuaOiaOoaLvaMyaMfaKZaMAaMBaMCaMCaMDaLfaOpaOqaMGaMHaMIaMJaMKaMLaMMaMNaMHaMJaMIaMHaMOaLfaJRaIgaMPaMgaMRaMSaMqaMUaIgaOsaMWaOCaMYaMraNaaNbaGFaGGaOHaJVaIoaMxaNeaNfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaLyaLzaDJaFkawiaFlaFlaFqaFlaFlaFnaFlawnaFraLCaLDaDPaLEaLFaLGaLHaLGaLGaLGaLGaLGaLIaLJaFCaFCaFCaFCaFCaFCaLLaLMaLNaLOaLOaLOaLOaLPaLQaLRaKuaLSaLTaLTaLUaLVaLWaLTaLTaLXaKuaNAaKuaKuaLZaMaaLZaJeaJeaMbaNGaJeaJeaJeaJeaMdaMeaNPaNcaMhaMiaJeaJeaJeaJeaMjaKNaMkaMkaMlaMmaMnaMoaJlaMpaLqaLnaJlaJlaJlaJlaJlaJlaJlaJlaBjaBjaMsaMtaMuaOiaOoaLvaMyaMfaKZaMAaMBaMCaMCaMDaLfaOpaOqaMGaMHaMIaMJaMKaMLaMMaMNaMHaMJaMIaMHaMOaLfaJRaIgaMPaMgaMRaMSaMqaMUaIgaOsaMWaOCaMYaMraNaaNbaGFaGGaOHaJVaIoaMxaNeaNfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaaaaaaaaaaaaLyaDJaDKaDJaDJaDLaDMaDJaDJaDKaLzaNgaBIaNhaLEaNiaMzaMzaNkaMzaNlaIAaNmaNnaLJaNoaNpaNqaNraNsaNtaNraNuaNraNraNraNvaNraNraNwaNxaNyaNzaNzaNBaOMaNCaNzaNzaNzaNzaNDaNEaNFaQcaNraNHaNIaNJaNKaNLaNMaNLaNNaNOaQdaNQaNQaNRaNSaNTaNSaNUaNVaNWaEGaNYaNZaOaaObaOcaMkaMkaMkaOdaOeaMTaMQaOhaQxaOjaOkaOlaOmaOnaJlaQAaQyaQEaOraOtaOtaOuaMZaOwaNdaKZaOyaOzaOAaOAaOBaLfaQJaODaOEaOEaOEaOEaOFaOGaQTaOIaOJaOKaOKaOLaRbaLfaJRaIgaONaOOaNjaOfaONaONaIgaORaOSaGFaOTaOUaOVaOWaGFaIoaIoaJVaIoaGGaGGaGGaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaOXaOYaOZaPaaPaaPaaPaaPbaOYaOXaaaaBIaPcaPdaPeaOvaOgaPhaPhaOxaIAaPjaNnaPkaPlaPmaPnaPoaPpaPqaPqaPraPsaPsaPsaPtaPuaPuaPvaPwaNIaPqaPqaPxaPyaPzaPAaPBaPBaPCaPBaPDaPyaPyaPyaPEaPFaPGaPHaMkaPIaPJaPJaPJaPJaPJaPJaPJaPJaPKaPJaPLaPMaPNaPOaPPaPQaPRaPSaPTaPJaPUaPJaPVaPWaPXaPWaPWaPWaPWaPWaPWaPYaPZaRsaQbaQbaQbaRraQbaQbaRxaQeaQfaQgaKZaQhaMCaQiaQjaQkaLfaQlaQmaQnaQnaQnaQnaQnaQoaQpaOPaQraQnaQnaQsaQtaLfaJRaIgaQuaONaONaQvaONaQwaIgaGFaGFaGFaGFaGFaGFaSoaGFaIoaIoaJVaIoaStaOQaGGaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaafaBIawqaBIaQBaQCaGOaQDaSuaQFaQGaGOaQCaQHaQIaBIaSyaLEaPeaPfaQLaPhaPhaOxaIAaQMaNnaLJaQNaNpaQOaQPaNraNraQQaQRaQSaSEaNraQUaQVaQWaQVaQXaQYaQVaQVaQZaQVaQVaRaaSHaQVaRcaQVaRdaNraNraNraReaPFaPGaPHaMkaRfaMkaRgaRgaRgaRgaRgaRgaRgaRgaRhaRiaRgaRjaRgaRgaRkaRgaRgaRgaRgaRlaRmaRnaRoaRoaRoaRoaRoaRoaRoaRpaRqaRpaJlaImawOawOawOawOawOaItaRuaRvaRwaKZaKZaKZaKZaKZaSIaLfaRyaQmaQnaRzaRAaRBaPgaRDaREaRFaQraRGaRHaRIaRJaLfaJRaIgaRKaRKaRLaRMaRNaRNaROaIgaRPaRQaRRaGGaRSaRTaRUaRVaRVaRWaRXaGGaRYaGGaRZaRZaRZaSaaSbaScaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaGeaGgaGgaGiaSUaGhaSdaOYaLDaDPaHxaHxaSfaLDaOYaLDaHyaHAaHzaLEaSkaPiaPiaNkaPiaNlaIAaSmaNnaSnaIAaLKaLKaSZaLKaLKaLKaLKaLKaLKaSpaSqaLKaLKaLKaLKaLKaLKaSraSsaSraLKaTPaLKaNraQPaUjaSvaSwaSxaNraReaUlaMbaMbaMkaSzaKOaSAaMnaMnaSBaSBaSBaSBaSCaJeasfasNarVarXarXavParXarXarVasNawFaJeaSJaSKaSKaSKaSKaSLaSLaSMaSNaRqaRpaJlaQqaQaaQaaQaaQaaQaaQaaSQaSRaSSaSTaUOaSVaSWaSXaSYaKZaKZaVeaTaaTbaTcaTdaTeaTeaTeaTfaTgaTfaTeaTeaTeaTeaJRaIgaThaONaRLaRMaONaONaTiaIgaTjaQzaTlaGGaIoaTmaTnaToaTpaTqaIoaTraQKaGGaTtaTuaRZaTvaTwaTxaafaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaVfaVraVkaVIaVzaSgaSeaSiaShaSjaSiaTzaTyaTBaTAaTEaTCaTAaTFcozaTIaTJaTKaTLaTLaTLaTMaTLaTNaTOaIAaVLaTQaTRaTSaTTaTUaTVaTWaTXaTUaTYaTZaUaaUbaUcaUdaUeaUfaUgaUhaUeaUiaLKaLKaWoaLKaLKaLKaLKaUkaWwaLKaUmaMbaUnaSzaKOaUoaaaaaaaaaaaaaaaaaaaaaaUpaUqaUraUsaUtaUvaUuaUxaUwaUzaUyaVUaUpaaaaaaaaaaaaaaaaaaaaaaUAaSNaRqaUBaUCaUDaUEaUFaUFaUFaUFaUGaUHaUIaUFaUFaUFaUJaUKaULaUMaUNaWFaUPaUQaURaUSaUTaTfaUUaUVaRCaUXaUYaUZaVaaVbaTeaJRaIgaVcaVcaRLaRMaVdaVdaWKaIgaIgaXlaIgaGGaVgaVhaViaViaViaVjaXnaGGaGGaGGaVlaVmaVnaVoaVpaVqaafaafaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaVfcmVaXzaXCaDPaVsaVsaVtaVsaVsaVsaVDaVsaVsaVtaVsaVsaYEaWYaVuaVvaKdaKdaKdaKdaKdaVwaVxaVyaXGaIAaTQaTQaVAaTSaVBaTUaTUaTUaTUaTUaTYaVCaTUaTUaTUaUdaUeclraVEaVFaUeaUiaVGaVHaKeaKcaVKaUmaXIaVMaVNaVOaVPaVQaMkaSzaKOaUoaaaaaaaaaaaaaUpaUpaUpaUpaVRaSlaVTaXEaVVaSDaVXaXFaVZaSOaWbaUpaUpaUpaUpaaaaaaaaaaaaaUAaSNaRqaRpaWcaSSaSPaWeaTkaSSaTsaUWaWiaVSaWkaVWaWmaWnaQbaXNaWpaWqaWraWsaWtaWtaWuaWvaXXaWaaWyaWdaWAaWBaWCaWDaWEaTeaJRaIgaThaONaRLaRMaONaONaONaYqaWGaONaWHaGGaWIaWJaToaToaToaTqaIoaYsaGGaWfaVoaLuaWQaVoaWRaWSaWTaWTaWUaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaVfaVraVkaVIaNXaSgaSeaSiaShaSjaSiaTzaTyaTBaTAaTEaTCaTAaTFcozaTIaTJaTKaTLaTLaTLaTMaTLaTNaTOaIAaVLaTQaTRaTSaTTaTUaTVaTWaTXaTUaTYaTZaUaaUbaUcaUdaUeaUfaUgaUhaUeaUiaLKaLKaWoaLKaLKaLKaLKaUkaWwaLKaUmaMbaUnaSzaKOaUoaaaaaaaaaaaaaaaaaaaaaaUpaUqaUraUsaUtaUvaUuaUxaUwaUzaUyaVUaUpaaaaaaaaaaaaaaaaaaaaaaUAaSNaRqaUBaUCaUDaUEaUFaUFaUFaUFaUGaUHaUIaUFaUFaUFaUJaUKaULaUMaUNaWFaUPaUQaURaUSaUTaTfaUUaUVaRCaUXaUYaUZaVaaVbaTeaJRaIgaVcaVcaRLaRMaVdaVdaWKaIgaIgaXlaIgaGGaVgaVhaViaViaViaVjaXnaGGaGGaGGaVlaVmaVnaVoaVpaVqaafaafaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaVzcmVaXzaXCaDPaVsaVsaVtaVsaVsaVsaVDaVsaVsaVtaVsaVsaYEaWYaVuaVvaKdaKdaKdaKdaKdaVwaVxaVyaXGaIAaTQaTQaVAaTSaVBaTUaTUaTUaTUaTUaTYaVCaTUaTUaTUaUdaUeclraVEaVFaUeaUiaVGaVHaKeaKcaVKaUmaXIaVMaVNaVOaVPaVQaMkaSzaKOaUoaaaaaaaaaaaaaUpaUpaUpaUpaVRaSlaVTaXEaVVaSDaVXaXFaVZaSOaWbaUpaUpaUpaUpaaaaaaaaaaaaaUAaSNaRqaRpaWcaSSaSPaWeaTkaSSaTsaUWaWiaVSaWkaVWaWmaWnaQbaXNaWpaWqaWraWsaWtaWtaWuaWvaXXaWaaWyaWdaWAaWBaWCaWDaWEaTeaJRaIgaThaONaRLaRMaONaONaONaYqaWGaONaWHaGGaWIaWJaToaToaToaTqaIoaYsaGGaWfaVoaLuaWQaVoaWRaWSaWTaWTaWUaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTGaGgaTHaGiaBIaBIaBIaWVaWWaWWaWWaWWaWWaWWaWWaWXaBIaBLcpSaWZaIAaXcaXbaXbaXbaYraXdaIAaIAaIAaIAaTQaXeaXfaTSaXgaTUaTUaWgaXiaXjaXkaWgaTUaTUaTUaYwaUeaXmaYxaXoaUeaUiaVGaXpaKfaXraXsaUmaXtaVPaXuaXvaXwaXxaMkaSzaKOaMmaSCaMbaXyaUpaUpaVYaXAaYyaYAaXDaXDaXEaXFaYMaXEaXFaXDaXDaXHaYVaXJaXBaUpaUpaXyaJlaXLaXMaSNaRqaRpaJlaZgaSPaXOaTkaSSaXPaXQaSSaWhaXSaTkaSSaXTaOtaXUaXVaUQaXWaZhaXYaXZaYaaYbaYcaYdaYeaWjaYgaWBaYhaWDaYiaTeaJRaIgaYjaYjaRLaRMaWlaONaONaYlaONaWzaWxaGGaIoaXRaXhaToaYfaYkaZXaWLbaOaYmaWOaZcaVoaYvaZnbaBbanaYzbaCaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDbaNaaaaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaafaYCaYDcpKaYFaWPaYHaYHaYIaYJaYKaYLbaPaYNaYOaYPaYQaYRaYSaTSaYTaTUaTUaWgaXjaYUbbTaWgaTUaTUaYWaUdaUeaUeaUeaUeaUeaUiaVGaVGaVGaVGaVGaUmaYYaXvaYZaXvaXvaXxaMkaSzaKOaNSaNSaZaaZbaWNaUpaZdaYnaZfbaTbaSbaVbaUbaXbaWbaZbaYbbbbbabbcaZfaYoaZjaUpaWMaZbaZlaZmbbeaSNaRqaRpaWcaSSaSSaSSaSSaSSaXPaZoaSSaWhaZpaTkaSSaXTaOtaZqaXVaUQaZraZsaZtaZuaYaaYpaZwaYdaYeaWjaYgaWBaYhaZxaZyaZzbbfaZzaZzaZzaZBaZCaZDaYtaOOaZFaZGaZHaZIaGGaZJaYXaYGaToaZeaYGaIoaIoaXaaZiaVoaYuaVoaZNaZOaZPaZQaWTaZRaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaZSaZTaZUbjnaZWaSFaZYaZkbaaaZvbacbadbaebafaYObagbahbaibajaTSbakbalbambbhbaobapbaqbarbarbarbasbataTSbaubavbawbaxaKgbajbnZaKhbajbkZaUmbaDbaEbaFbaGbaHbaIaMkbaJbaKaMkbaLbaMbbDbcybbPbbLbaRbaQbbQaUpaUpaUpaUpaUpbcDaUpaUpaUpbbRbaQbbdbbSbbWbeobcabbibbjbbkbblbbmbbnaJlaUDaSPbboaTkaSSaZAaZEbbraZKaXOaTkaSSaXTbbtaULaXVbbubbvbbwaUQaUQaYabbxbbybbzbbAbbBaYgaWBbbCaWDbcuaZzaZLbbFbbFbbGbbHbbIaRLaRLaRLaRLaRLaRLaRLaGGbbJaXRaXhaToaYfaXhaIobbKaGGbcBaVoaYuaVoaZNbbMbbNbbOaafbcCaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBbcPbcFbcZbcTbbUaSFbaabaabaabaabaabbVbaabdtaYObbXbbYbaibbZbbZbbZbbZbdKbbZbcbaTUbccbcdbcebcebcfbcgaTSaXebchbcibcjaKibdQblcaKkbcobcobcpbcpbcpbcpbcpbcqaMbbcrbcsbctbeabcvbcwbcxbbgaUpbczbcAbeeaUpaUpaaaaaaaafaafbekaaaaaaaUpaUpbezbcGbczaUpbbgbcxbcHbcIbcJbcKbcLaRpaWcaSSaSSaSSaSSaSSaGpbcMaSSbcNaSSbcObcObcObcObeBbcQbcRbcSaUQaUQaUQbeMbcUaTeaZMbcWbcXaYgaWBaYhaWDbcYaZzaZZbdabdbbdcbddbdebddbddbddbddbddbdfbdgbdhbdibdjbdkbdlbdmbdnbdobdpbdqbdraVoaYubdsaZNaVobeNbbOaafaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBbdubdvaZUbdwbdxaSFaYHbabbaaaZvbdzbbVbaabdAaYObbpbdCbaibbZbdDbdEbdFbdGbbZbdHbdIbdJaTSbeRbdLbdMbdNaTSaXebdObdPbdPbeVbdPbdPbdPbdPbdRbdSbdSbdSbdTbdSbdUaMbbdVbdWbdXbdYbdYbdYbdYbdYbdYbdZbeWbdZbdYbebbebbebbebbebbecbebbebbebbedbedbfobedaUpaUpaUpaJiaJiaJibcKbcLaRpaJlbefbegaDmbehaSSbeibcMbejbfqbelbcObcObembenaZzaZzaZzbfwaSGaSGaSGaZzaZzaZzbeqberbesbetaWBaYhaYhbeuaZzbevbewbbqaZzbeybbsbeAaYtbfxbbEbeDbcmaONaGGaIobeFbeGbeHbeFbeIaIoaIoaGGbeJaVoaYuaVoaZNbeKbeLbbOaafbfyaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBbfAbeObePbeQbfWaRtaYHbeTbeUbgubdzbbVbgNbgMaYObeXbeYbaibbZbbZbbZbeZbfabbZbfbbdIbfcaTSbeRbdLbdMbfdaTSaXebdObdPbfebffbfgbfgbfhbdPbfibcVbfkbflbfmbfmbfmaMbaMkbcsbctbdYbfnbgUbfpbgWbfrbfsbftbfubdYbebbfvbgXbfvbhebhCbfvbdybebbedbfCbfDbfEbfFbfGbfHbfIbfJaJibfKbfLbfMaJlaZzaZzaZzaZzbfNbfObfPbfQaZzaZzbfRaZzaZzaZzaZzbfSbfTbfUbfVbfVbfVbhJbfXaZzbfYbfZbgabgbbgcbgcbgcbgdaZzbevbewbdBaZzaZzaZzaZzaZzaZzaZzaZzaZzaZzaZzbgfbggbghbgibgjbgfbggaZzaRZbgkaVoaYuaVoaZNaZObglbgmaWTaZRaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaabgnbgobgpbgqaZUbgrbgrbgrbgrbgrbgrbgsbgtbgraYOaYOaYOaYOaYObhKaYOaYOaYObgvbgvbgwbbZbdDbgxbeZbgybbZbgzbgAbgzaTSbeRbdLbdMbfdaTSaXebdObdPbgBbgCbgDbfgbgDbdPbfibgEbgFbgGbgHbgIbgJaMbbgKbgLbctbhLbivbgObgPbexbexbgRbgSbgTbdYbebbmIbgVbhRbhNbfzbgYbhSbebbedbhabhbbhcbeCbhTbeEbhgbhhaJibhibhjaRpbhkbhlbhmbewbewbhnbewbhobewbewbewbewbhpbewbewbewbewbhqbewbewbewbewbewbewbhmbewbewbhrbhsbhsbhtbhsbhsbhubhvbewbhqbhwbhxbhpbewbhybewbewbewbhzbhAbhBbhUbewbhDbewbhEbewbewbhFbhGbhHaVoaYuaVobhIbhVbhXbhWbhMbidaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaafaYCaYDcpKaYFaWPaYHaYHaYIaYJaYKaYLbaPaYNaYOaYPaYQaYRaYSaTSaYTaTUaTUaWgaXjaYUbbTaWgaTUaTUaYWaUdaUeaUeaUeaUeaUeaUiaVGaVGaVGaVGaVGaUmaYYaXvaYZaXvaXvaXxaMkaSzaKOaNSaNSaZaaZbaWNaUpaZdaYnaZfbaTbaSbaVbaUbaXbaWbaZbaYbbbbbabbcaZfaYoaZjaUpaWMaZbaZlaZmbbeaSNaRqaRpaWcaSSaSSaSSaSSaSSaXPaZoaSSaWhaZpaTkaSSaXTaOtaZqaXVaUQaZraZsaZtaZuaYaaYpaZwaYdaYeaWjaYgaWBaYhaZxaZyaZzbbfaZzaZzaZzaZBaZCaZDaYtaOOaZFaZGaZHaZIaGGaZJaYXaYGaToaZeaYGaIoaIoaXaaZiaVoaYuaVoaZNaZOaZPaZQaWTaZRaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaZSaZTaZUbjnaZWaSFaZYaZkbaaaZvbacbadbaebafaYObagbahbaibajaTSbakbalbambbhbaobapbaqbarbarbarbasbataTSbaubavbawbaxaKgbajbnZaKhbajbkZaUmbaDbaEbaFbaGbaHbaIaMkbaJbaKaMkbaLbaMbbDbcybbPbbLbaRbaQbbQaUpaUpaUpaUpaUpbcDaUpaUpaUpbbRbaQbbdbbSbbWbeobcabbibbjbbkbblbbmbbnaJlaUDaSPbboaTkaSSaZAaZEbbraZKaXOaTkaSSaXTbbtaULaXVbbubbvbbwaUQaUQaYabbxbbybbzbbAbbBaYgaWBbbCaWDbcuaZzaZLbbFbbFbbGbbHbbIaRLaRLaRLaRLaRLaRLaRLaGGbbJaXRaXhaToaYfaXhaIobbKaGGbcBaVoaYuaVoaZNbbMbbNbbOaafaafaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBbaNbcFbcZbcCbbUaSFbaabaabaabaabaabbVbaabdtaYObbXbbYbaibbZbbZbbZbbZbdKbbZbcbaTUbccbcdbcebcebcfbcgaTSaXebchbcibcjaKibdQblcaKkbcobcobcpbcpbcpbcpbcpbcqaMbbcrbcsbctbeabcvbcwbcxbbgaUpbczbcAbeeaUpaUpaaaaaaaafaafbekaaaaaaaUpaUpbezbcGbczaUpbbgbcxbcHbcIbcJbcKbcLaRpaWcaSSaSSaSSaSSaSSaGpbcMaSSbcNaSSbcObcObcObcObeBbcQbcRbcSaUQaUQaUQbeMbcUaTeaZMbcWbcXaYgaWBaYhaWDbcYaZzaZZbdabdbbdcbddbdebddbddbddbddbddbdfbdgbdhbdibdjbdkbdlbdmbdnbdobdpbdqbdraVoaYubdsaZNaVobeNbbOaafaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBbdubdvaZUbdwbdxaSFaYHbabbaaaZvbdzbbVbaabdAaYObbpbdCbaibbZbdDbdEbdFbdGbbZbdHbdIbdJaTSbeRbdLbdMbdNaTSaXebdObdPbdPbeVbdPbdPbdPbdPbdRbdSbdSbdSbdTbdSbdUaMbbdVbdWbdXbdYbdYbdYbdYbdYbdYbdZbeWbdZbdYbebbebbebbebbebbecbebbebbebbedbedbfobedaUpaUpaUpaJiaJiaJibcKbcLaRpaJlbefbegaDmbehaSSbeibcMbejbfqbelbcObcObembenaZzaZzaZzbfwaSGaSGaSGaZzaZzaZzbeqberbesbetaWBaYhaYhbeuaZzbevbewbbqaZzbeybbsbeAaYtbfxbbEbeDbcmaONaGGaIobeFbeGbeHbeFbeIaIoaIoaGGbeJaVoaYuaVoaZNbeKbeLbbOaafaafaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaafbeObePbeQbfWaRtaYHbeTbeUbgubdzbbVbgNbgMaYObeXbeYbaibbZbbZbbZbeZbfabbZbfbbdIbfcaTSbeRbdLbdMbfdaTSaXebdObdPbfebffbfgbfgbfhbdPbfibcVbfkbflbfmbfmbfmaMbaMkbcsbctbdYbfnbgUbfpbgWbfrbfsbftbfubdYbebbfvbgXbfvbhebhCbfvbdybebbedbfCbfDbfEbfFbfGbfHbfIbfJaJibfKbfLbfMaJlaZzaZzaZzaZzbfNbfObfPbfQaZzaZzbfRaZzaZzaZzaZzbfSbfTbfUbfVbfVbfVbhJbfXaZzbfYbfZbgabgbbgcbgcbgcbgdaZzbevbewbdBaZzaZzaZzaZzaZzaZzaZzaZzaZzaZzaZzbgfbggbghbgibgjbgfbggaZzaRZbgkaVoaYuaVoaZNaZObglbgmaWTaZRaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaabgnbgobgpbgqaZUbgrbgrbgrbgrbgrbgrbgsbgtbgraYOaYOaYOaYOaYObhKaYOaYOaYObgvbgvbgwbbZbdDbgxbeZbgybbZbgzbgAbgzaTSbeRbdLbdMbfdaTSaXebdObdPbgBbgCbgDbfgbgDbdPbfibgEbgFbgGbgHbgIbgJaMbbgKbgLbctbhLbivbgObgPbexbexbgRbgSbgTbdYbebbmIbgVbhRbhNbfzbgYbhSbebbedbhabhbbhcbeCbhTbeEbhgbhhaJibhibhjaRpbhkbhlbhmbewbewbhnbewbhobewbewbewbewbhpbewbewbewbewbhqbewbewbewbewbewbewbhmbewbewbhrbhsbhsbhtbhsbhsbhubhvbewbhqbhwbhxbhpbewbhybewbewbewbhzbhAbhBbhUbewbhDbewbhEbewbewbhFbhGbhHaVoaYuaVobhIbcPbhXbhWbhMbcTaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaabhObhObhObhObhObhObhObhObhObhOaaaaafbhPaYDbhQbitbiqbjubjqbjwbjvbjubjBbjGbjCbjObhYbhZbgwbbZbbZbbZbiabfabbZaTSaTSaTSaTSbeRbibbicbjQaTSbiebifbdPbigbihbiibgDbijbdPbfibikbgFbgGbgGbgGbilaMbbimaSzbctbjVbiobipbfjbirbisbfBbiubjMbdYbebbiwbixbiybjYbiybgYbgebebbedbiAbiBbiCbgQbiEbgZbiGbiHaJibiIbiJbiKbiLbiMbiNbiObiObiPbiQbiRbiSbiSbiSbiTbiSbiSbiSbiSbiSbiUbiVbiVbiVbiWbiObiObiNbiObiObiXbiVbiVbiYbiSbiZbjabjbbiSbjcbiObiObiObiObiObiObiObiObiObiObiObiObiObjdbiTbjebiSbjfbjgbjhbjibjibjjbjkaZNaWRbjlaWTaWTaWUaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaabhObhObhObhObhObhObhObhObhObhObhOaZSaZTbjmbjnbjobgrbjpbjpbjZbjpbjpbjpbjrbajbajbajbajbaibbZbdDbjsbjtbgybbZbkZbkZbkZaTSaTSaTSaTSbkkaTSbjxbdObdPbjybjzbgDbjAbkxbdPbkAbfmbkHbgGbgGbgGbjDaMbbjEaSzbctbkKbkLbgObhdbjIbjJbhfbjLblybdYbjNbkMbjPbiybkNbiybgVbkPbjSbedbjTbjUbizbjWbjWbjWbjXbkVaJibkXbkabkbbkcbkdbkebbFbkfbkgbkhbkibkjbkYbklbkmbknbknbkobewbewbewbewbewbkpbkqbkrbewbksbktcsfbkvbewbkpbkwcLYbkybhFbewbewbkzbewbewbllbkBbewbkpbewbewbewbewbewbewbewbewbewbhqbewbewbhFbkCbkDbkEbkFbkGblmbkIbkJaafaaaaafaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaabhObhObhObhObhObhObhObhObhObhObhOblBblrblEblCbkObgrblTbkQbkRbkRbkSbkTbkUbmdbmlbmlbmAbmxbbZbbZbbZbeZbmBbbZbajbajbajbajblaaXeaXeblbblcbldbleblfblgblhblibljblkbdPbmEbfmbmFbgGblnbgGbloblpblqaSzbctbdYbmHblsbltblublvblwblxbdYbdYbebblzblAbmUbmNblDblAbiDbebbedbedblFblGblHblIbiCblJblKaJiblLblMblNaJiblOblOblOblOblOblOaZzaZzblPblQbZNcdMblQblPaZzaZzaZzaZzaZzaZzaZzaZzaZzaZzbmVaZzaZzaZzaZzaZzaZzbmXaZzbewbewblVblWbiFblOblOblOblOblOblXblYblYblZblYbewblYblZbmablYbmbblObmcbmcbmcbnbaRZbmeaRZaRZaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaabhObhObhObhObhObhObhObhObhObhObhObfyblrblEbfAbkObgrblTbkQbkRbkRbkSbkTbkUbmdbmlbmlbmAbmxbbZbbZbbZbeZbmBbbZbajbajbajbajblaaXeaXeblbblcbldbleblfblgblhblibljblkbdPbmEbfmbmFbgGblnbgGbloblpblqaSzbctbdYbmHblsbltblublvblwblxbdYbdYbebblzblAbmUbmNblDblAbiDbebbedbedblFblGblHblIbiCblJblKaJiblLblMblNaJiblOblOblOblOblOblOaZzaZzblPblQbZNcdMblQblPaZzaZzaZzaZzaZzaZzaZzaZzaZzaZzbmVaZzaZzaZzaZzaZzaZzbmXaZzbewbewblVblWbiFblOblOblOblOblOblXblYblYblZblYbewblYblZbmablYbmbblObmcbmcbmcbnbaRZbmeaRZaRZaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaabhObhObhObhObhObhObhObhObhObhObhObdubdvbjmbjnbmfbgrbmgbjpbmhbmibjpbjpbjpbnsbmjbmkbmkbnwbbZbdDbmmbeZbmnbbZbmobmpbmqbmrbmsbmtbmtbmubmtbmtbmvbdPbmwbnNbfgbmybmzblfbnRbnPbnSbgGbgGbjHbmDbnUblqaSzbnVbmGbmGbmGbmGbmGbmGbmGbnWbmGaafbebbmIbmJbmKbmLbmKbmMbjKbebaafbedbmObnXbmQbmRbiCbiGbmSaJibcKaRqaRpaJibmTbohboibmWbojbmYbmZbnabolbjRbndbnebjRbopbmCbnhbnibnjbmPboKbnmbnnbnobnpbnqbnrboWbntbntbnubYfaVJblOblObpmblObZMbZMblObnzbnAbnBblObZtbpobZtblOblXblYbmbblObZnbprbZnblObnGbnHbnIbnJbnKbnLbnMaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaabhObhObhObhObhObhObhObhObhObhOaaabpsbnObpwbeQbnQbgrbpLbpBbpMbnTbpPbpNbjpbpSbpTbnYbnZbnwbbZbbZbbZbbZbbZbbZboabobbocbodboebdPbdPbdPbdPbdPbdPbdPbWqbdPbdPbdPbogbdPbfmbqcbnSbgGbgGbgGbokblpblqaSzbqgbmGbombonbncbcEbvGbotbosbotaafbebboubovbowboxboybozbnfbebaafbedboBboCboDboEbiCbiGboFaJiboGboHaRpbXHboJbngboLboMbnkbPZboPboQboRboRboSboTboUboUboVbnlboXboYboZbpabpbbnnbpcbpdbpebpfbpgbphbpfbpibYfaVJbpjbpkbplbqtbpnbnybppbnCbnDbpqbqxbptboobqyblOaZzbqBbpxblObpyboqbpAbqGbpCbpDbnIbpEbpFbpGbnMaaaaaaaaaaacaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaabhObhObhObhObhObhObhObhObhObhOaaaaaabnObpwbeQbnQbgrbpLbpBbpMbnTbpPbpNbjpbpSbpTbnYbnZbnwbbZbbZbbZbbZbbZbbZboabobbocbodboebdPbdPbdPbdPbdPbdPbdPbWqbdPbdPbdPbogbdPbfmbqcbnSbgGbgGbgGbokblpblqaSzbqgbmGbombonbncbcEbvGbotbosbotaafbebboubovbowboxboybozbnfbebaafbedboBboCboDboEbiCbiGboFaJiboGboHaRpbXHboJbngboLboMbnkbPZboPboQboRboRboSboTboUboUboVbnlboXboYboZbpabpbbnnbpcbpdbpebpfbpgbphbpfbpibYfaVJbpjbpkbplbhVbpnbnybppbnCbnDbpqbqxbptboobqyblOaZzbqBbpxblObpyboqbpAbqGbpCbpDbnIbpEbpFbpGbnMaaaaaaaaaaacaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaaaaaaaaaaaabgnbgobgpbgqbdvbpHbpHbpHbpIbpHbpJaZVbpKbqKbgrbqQbjpbrkbrcbpQbpRbrvbrubrwbrwbrwbrxbkWbpUbkWbkWbkWbkWbpVbpWbpWbpXbpYbdPbpZbqabqbbrybqdbqebqfbrCbqhbqibqjbqkbqkbrDbrIbgGbgGbqmbfmaMbblqbqnbqoaJubqqbqrbqrbxqborbrPbxsbotaafbebbebbebbebbshbebbebbebbebaafbedbqzboCbqAbsjbqCbqDbqEaJibqFaRqaRpaJibskbqHbqIbqJaJDbqLboPbqNboUboUboUboUboUboUbqObqPbslboYbqRbqSboNbnnbqUbqVbqWbsnbpgbphbpfbqXbYfaVJbpjbqYbqZbqZbrabrbbsobrdbrdbrdbrebrdbrfboObrhbribrjbsqbnIbrlbpCbrmbrnbrobsrbnIbrqbpFbrrbnMaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaaaaaaaaaaabrsbrtbsvbsBbsybsHbsHbthbrzbrAbgrbtkbtlbtvbtmbjpbjpbjpbajbrEbrFbrGbrHbrGbrGbrGbrHbrGbajbajbdPbdPbdPbtBbdPbrJbrJbrJbrJbrJbrJbqfbrKbrLbrMbrNbrObtIbrQbrRbrSbrTbrUbrVbrWbrXbrYbrZaHBbsbbqvbsabsebscbotbosbotaafbsibtObtKbtTbsmbtXbtKbubbsiaafbedbspbuibspbedbedbedbujaJibssaRqaRpbXHboJbngbstbsubuobqLbswbqNbsxbuxbszbsAbuTbsCbqObsDbnibsEbsFbsGbuUbnnbsIbqVbpebpfbpgbphbpfbpibYfaVJbpjbsJbsKbsLbsMbplbsNbsObsPbsQbsRbsSbsTbsUbrhbsVbsWbsXbnIbsYbsZbtabtbbtcbtdbnIbrqbpFbtebnMaaaaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaaaaaaaaaaabrsbrtbsvbsBbidbsHbsHbthbrzbrAbgrbtkbtlbtvbtmbjpbjpbjpbajbrEbrFbrGbrHbrGbrGbrGbrHbrGbajbajbdPbdPbdPbtBbdPbrJbrJbrJbrJbrJbrJbqfbrKbrLbrMbrNbrObtIbrQbrRbrSbrTbrUbrVbrWbrXbrYbrZaHBbsbbqvbsabsebscbotbosbotaafbsibtObtKbtTbsmbtXbtKbubbsiaafbedbspbuibspbedbedbedbujaJibssaRqaRpbXHboJbngbstbsubuobqLbswbqNbsxbuxbszbsAbuTbsCbqObsDbnibsEbsFbsGbuUbnnbsIbqVbpebpfbpgbphbpfbpibYfaVJbpjbsJbsKbsLbsMbplbsNbsObsPbsQbsRbsSbsTbsUbrhbsVbsWbsXbnIbsYbsZbtabtbbtcbtdbnIbrqbpFbtebnMaaaaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaaaaacaaaaaaaaaaaaaaaaaaaaabrsbtfbtgbuYbtibtibtibtjbtibtibgrbvabuZboAbvjbjpaaaaaaaaaaafaafbtnbtnbtnbtnbtnbtnbtnaaaaaabtobtpbtqbtrbtsbrJbrJbrJbrJbrJbrJbttbtubvqbtwbtxbtybtzbtAbfmbfmbvCbfmbfmbtCbtDbtEbtFbmGbtHbmGbmGbmGbmGbmGbvEbmGaafbtJbvFbtLbtMbtNbtMbtLbvIbtPaafbspbtQbtRbtSbvObtUbspbtVaJlbtWbbmbvZaJibtYbohbtZbuabwcbucbudbuebufbwgbuhbwlbwnbukbulbumbnibnnbunbpubupbnnbuqburbusbutbuubuubuvbuwbYfaXqbpjbwxbplbplbsMbuybuzbuAbpvbuCbuDbuEbuFbuGbrhbuHbuIbuJbnIbuKbuLbuMbtbbpCbuNbnIbpEbpFbuObnMaaaaaaaaaaaacHOaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwZbeObxmbxmbuVbpHbuWbgnbgobuXbuWbgrbxpbjpbxvbvbbjpaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnaaaaaabvcbvdbrJbvebvfbvfbvfbvfbvfbvgbvhbvfbvibxzbvkbvlbvmbvnbvobfmbvpbgGbxDbpzbvsbvtbvubvvbmGbmGbmGbvxbvybvzbvAbvBbvwaafbpObxHbvHbvJbvKbvMbvNbxIbpOaafbspbqMbvQbxnbedbvRbspbvSaJlbvTbcLbvUaJibvVbvWbvXbvYbxObucbyobxTbyKbwdbwebwebwfbyMcdWcdVbwjbwkbyObwmbwkbwkbwkbwkbyQbwkbwkaXKaXKaXKaXKaVJbpjbsJbsKbsLbwobwpbwqbwrbwsbwsbwsbsSbwtbqTbwvbwwbyUbwybnIbwzbwAbwBbwCbpCbwDbnIbwEbwFbnMbnMaaaaaaaaaaaaaafbuPbuQbuRbuQbuRbuQbuSaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbwMbwNbwObwPbrJbwQbrJbwRbwRbwRbwSbwTbrKbrJbrJbrLbwUbwVbwWbwXbrpbzcbxabgGbgGbugbxcbvtbvubxdbxebxfbzrbzHbxibxjbxkbxlbvwaafbxrbzNbzJbzObyLbxobzPbzVbxraafbspbqwbAebuBbedbAibspbtVaJlbxwbcLaRpaJibxxbxybAobxAbxBbxCbAtbxEbxCbxFbxGbAubxFbwkbAxbxJbwkbwkbxKbxLbxMbxNbAAbxPbxQbxRbxSaXKbaybvraXKaVJbpjbxXbqZbqZbxYbxZbppbyabwsbwsbwsbsSbwtbybbwwbvDbUabTQbwwbyfbygbyhbyibpCbvLbnIbrqbykbnMaaaaaaaaaaaaaaaaafbwGbwHbrgcLebwJbwKbwGaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbAFbypbAFbyqbyrbwQbrJbrJbrJbysbrJbwTbrKbytbdPbdPbyubgGbrNbwXbyvbywbyxbyybyybyzbyAbyBbyCbyDbvsbyEbvPbyGbxkbyHbyIbyJbvwaafbxrbxrbxrbxrbALbxrbxrbxrbxraafbyNbyNbyNbyNbyNbyNbyNbAVaJibyPblMblNaJibwbbyRbyRbySbyTbxCbAXbyVbyWbyXbyYbyZbzabwmbzbbBqbzdbzebzfbzgbzgbzhbzibzgbzjbzkbckbaAbwubclbBsbcnbBtbzsbztbzubzvbzwbppbzxbpqbpqbzybsSbwtbzzbzAbzBbzCbzDbzAbzEbzFbzGbBwbzIbwwbwwbBxbnMbnMbzKbzLbzLbzLbzMbCJbylbymbrgbwJbrgbynbuRaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaacaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbBAbzQbBAbzRbrJbwQbrJbzSbzSbzSbzSbwTbrKbzTbzUbdPbBEbgGbrNbBJbzWbzXbzYbgGblnbgGbzZbAabAbbAcbAdbyEbwIbAfbxkbxkbxkbAgbvwbAhbAhbBKbAhbBRbBQbBSbAjbBUbAjbAjbyNbAkbAlbAmbAnbBXbApbAqaJibAraRqaRpaJibxbbwYbxhbAvbAwbCcbAybAzbCdbABbACbADbAEbCnbAGbAHbAIbAJbAKbAIbxtbAMbANbAObnvblUbsdbCobsgbsfbaAbPObpjbxubxUbAYbAZbAZbppbBabBbbBcbppbBdbBebBfbBgbBhbBibBjbBkbBlbBlbBmbBnbBobTHbCrbBrbCwbCAbTIbBvbCEbCIbCHbCKbwGbwJbrgbwJbwJbCLbwGaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbBCbwNbBDbCYbrJbwQbrJbrJbrJbrJbrJbwTbrKbzTbBFbdPbBGbgGbBHbBIbgGbCZbgFbgGbgGbyjbvsbvtbAbbAcbAdbyEbvwbBLbBMbBNbBMbBObvwbDbbDabDdbDcbDfbDebDhbDgbDjbDibBVbyNbBWbzmbBYbBZbCabCabCbbDwbAraRqaRpaJibAsbCebCebySbCfbxCbCgbChbxCbCibCjbCjbCkbwkbClbCmbwkbwkbwkbwkbwkbwkbDIbwkbwkbwmbDKaXKaXKaXKaXKbDYbpjbwwbzAbzAbzAbzAbzAbzAbzAbzAbzAbzIbEibCsbCtbBhbCubCvbEjbCxbCxbCxbCybCzbEkbCBbCCbCDbEpbTGbCGbErbCGbEsbEubBzbuQbuRbEwbuRbuQbBBaafaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbBAbzQbBAbCMbCNbCObrJbrJbrJbCNbrJbwTbrKbzTbCPbdPbCQbgGbrNbwXbgGbqlbCRbgGbgGbECbxcbvtbAbbCTbxcbCUbvwbCVbEKbCXbAWbxlbvwbEMbELbERbAhbEUbEUbEUbAjbEWbEVbEXbyNbDkbDlbDlbDmbDnbDobDpaJibDqbDrbDsaJibDtbEYbDvbEZbDxbDybDzbDAbyWbDBbFabCjbDDbwmbDEbDFbwmbDGbDHbFbbDJbFobDLbDMbCpbDNbDObBTbDQbDRbCpbVLbVMbDUbVAbDWbDXbDXbFrbDZbEabEbbEcbEdbEebEfbEabEgbEhbCvbFVbFFbGfbwwbwwbwwbwwbwwbGhbGgbEnbzKbzMbCJbEobGibCJbzKbzLbzMbGjbCJbGkaafcHOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbGubExbGubEybEzbEAbEAbEAbEAbEAbEBbGAbEDbzTbEEbdPbEFbEGbEHbEIbEJbGDbGCbGWbGEbGvbtCbENbAbbEObEPbyEbvwbEQbHabESbBMbETbvwbBPbHibHjbAhaaaaaaaaabAjbHmbHlbFcbyNbFdbFebFfbFgbDnbDobFhaJibxwaRqaRpbHMbFjbFkbFlbFmbFnbHNbFpbFqbxCbxFbxFbHObxFbwkbFsbFtbFubFvbFwbFxbDJbFybDLbFzbFAbFBbDObFCbFDbFEbHPbVlbDXbHQbVAbFJbDXbDXbFKbFLbFMbFLbFLbFNbFObFPbFQbFRbFSbCvbHRbFUbHSbFWbFXbFYbFZbGabGbbGcbGdaafaafbCJbGebHUbHUbHVbIfbHZbIobEvaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbGlbGmbGnbdPbdPbGobwNbwNbwNbGpbdPbdPbGqbGrbGsbdPbGtbGtbGtbIvbGtbGvbGwbGxbGybGzbtCbvtbAbbIAbGBbtCbtGbtGbtGbtGbtGbIBbtGbtGbtGbIDbtGbIUbIMbIXbtGbJbbtGbtGbtGbtGbtGbtGbtGaJiaJiaJiaJibxwaRqaRpbHMbJqbFkbCSbGGbCWbGIbGJbGKbGLbGMbGNbCjbGObGPbGQbGRbGSbGTbGUbGVbJrbGXbGYbGZbJDbHbbHcbHdbHecLVbCpbUSbUfbwwbwwbwwbwwbwwbJVbwwbwwbwwbzAbKfbzAbzAbHkbBhbCubCvbHRbKobKzbHnbHobHpbHqbGabGbbGcbHraaaaaabCJbHsbHtbEobCIbBybKBbKUbCJaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnaaaaaaaaaaaaaaaaaaaafaaaaaaaaabHuaafaaaaaaaaaaaabGtbHvbHwbHxbHybGvbHzbKVbHBbHCbtCbvtbAbbAcbAabHDbHEbHFbHGbHHbHIbHJbHKbHLbLabLxbLnbLzbAabAabLIbMhbLYbAabHTbAabzZbHHbKJbHWbHXbHYbMibxwaRqbDsaJlbDtbDubDtbDCbDPbxCbIbbIcbIdbIebMlbIgbIhbIibIjbIkbwmbIlbImbInbDJbDTbElbIpbIqcLUbFDbIsbItbIubCpbMpbIwbIxbIybUdbLybMqbICbMCbUcbIFbIGbIHbIIbIJbzAbIKbCubCvbMHbMFbINbIObIPbIQbIRbGabGbbISbEnbEnbEnbCJbCJbCJbMSbMPbCJbCJbBybCJaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaaaaaaaaaaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeOblBbxmbuVbpHbuWbgnbgobuXbuWbgrbxpbjpbxvbvbbjpaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnaaaaaabvcbvdbrJbvebvfbvfbvfbvfbvfbvgbvhbvfbvibxzbvkbvlbvmbvnbvobfmbvpbgGbxDbpzbvsbvtbvubvvbmGbmGbmGbvxbvybvzbvAbvBbvwaafbpObxHbvHbvJbvKbvMbvNbxIbpOaafbspbqMbvQbxnbedbvRbspbvSaJlbvTbcLbvUaJibvVbvWbvXblCbxObucbyobxTbyKbwdbwebwebwfbyMcdWcdVbwjbwkbpsbwmbwkbwkbwkbwkbyQbwkbwkaXKaXKaXKaXKaVJbpjbsJbsKbsLbwobwpbwqbwrbwsbwsbwsbsSbwtbqTbwvbwwbyUbwybnIbwzbwAbwBbwCbpCbwDbnIbwEbwFbnMbnMaaaaaaaaaaaaaafbuPbuQbuRbuQbuRbuQbuSaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbwMbwNbwObwPbrJbwQbrJbwRbwRbwRbwSbwTbrKbrJbrJbrLbwUbwVbwWbwXbrpbzcbxabgGbgGbugbxcbvtbvubxdbxebxfbzrbzHbxibxjbxkbxlbvwaafbxrbzNbzJbzObyLbxobzPbzVbxraafbspbqwbAebuBbedbAibspbtVaJlbxwbcLaRpaJibxxbxybAobxAbxBbxCbAtbxEbxCbxFbxGbqtbxFbwkbAxbxJbwkbwkbxKbxLbxMbxNbAAbxPbxQbxRbxSaXKbaybvraXKaVJbpjbxXbqZbqZbxYbxZbppbyabwsbwsbwsbsSbwtbybbwwbvDbUabTQbwwbyfbygbyhbyibpCbvLbnIbrqbykbnMaaaaaaaaaaaaaaaaafbwGbwHbrgcLebwJbwKbwGaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbAFbypbAFbyqbyrbwQbrJbrJbrJbysbrJbwTbrKbytbdPbdPbyubgGbrNbwXbyvbywbyxbyybyybyzbyAbyBbyCbyDbvsbyEbvPbyGbxkbyHbyIbyJbvwaafbxrbxrbxrbxrbALbxrbxrbxrbxraafbyNbyNbyNbyNbyNbyNbyNbAVaJibyPblMblNaJibwbbyRbyRbySbyTbxCbAXbyVbyWbyXbyYbyZbzabwmbzbbBqbzdbzebzfbzgbzgbzhbzibzgbzjbzkbckbaAbwubclbBsbcnbsybzsbztbzubzvbzwbppbzxbpqbpqbzybsSbwtbzzbzAbzBbzCbzDbzAbzEbzFbzGbBwbzIbwwbwwbBxbnMbnMbzKbzLbzLbzLbzMbCJbylbymbrgbwJbrgbynbuRaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaacaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbBAbzQbBAbzRbrJbwQbrJbzSbzSbzSbzSbwTbrKbzTbzUbdPbBEbgGbrNbBJbzWbzXbzYbgGblnbgGbzZbAabAbbAcbAdbyEbwIbAfbxkbxkbxkbAgbvwbAhbAhbBKbAhbBRbBQbBSbAjbBUbAjbAjbyNbAkbAlbAmbAnbBXbApbAqaJibAraRqaRpaJibxbbwYbxhbAvbAwbvYbAybAzbwZbABbACbADbAEbyObAGbAHbAIbAJbAKbAIbxtbAMbANbAObnvblUbsdbAubsgbsfbaAbPObpjbxubxUbAYbAZbAZbppbBabBbbBcbppbBdbBebBfbBgbBhbBibBjbBkbBlbBlbBmbBnbBobTHbCrbBrbCwbCAbTIbBvbCEbCIbCHbCKbwGbwJbrgbwJbwJbCLbwGaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbBCbwNbBDbCYbrJbwQbrJbrJbrJbrJbrJbwTbrKbzTbBFbdPbBGbgGbBHbBIbgGbCZbgFbgGbgGbyjbvsbvtbAbbAcbAdbyEbvwbBLbBMbBNbBMbBObvwbDbbDabDdbDcbDfbDebDhbDgbDjbDibBVbyNbBWbzmbBYbBZbCabCabCbbDwbAraRqaRpaJibAsbCebCebySbCfbxCbCgbChbxCbCibCjbCjbCkbwkbClbCmbwkbwkbwkbwkbwkbwkbBtbwkbwkbwmbDKaXKaXKaXKaXKbDYbpjbwwbzAbzAbzAbzAbzAbzAbzAbzAbzAbzIbEibCsbCtbBhbCubCvbEjbCxbCxbCxbCybCzbEkbCBbCCbCDbEpbTGbCGbErbCGbEsbEubBzbuQbuRbEwbuRbuQbBBaafaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbBAbzQbBAbCMbCNbCObrJbrJbrJbCNbrJbwTbrKbzTbCPbdPbCQbgGbrNbwXbgGbqlbCRbgGbgGbECbxcbvtbAbbCTbxcbCUbvwbCVbEKbCXbAWbxlbvwbEMbELbERbAhbEUbEUbEUbAjbEWbEVbEXbyNbDkbDlbDlbDmbDnbDobDpaJibDqbDrbDsaJibDtbEYbDvbCcbDxbDybDzbDAbyWbDBbFabCjbDDbwmbDEbDFbwmbDGbDHbFbbDJbFobDLbDMbCpbDNbDObBTbDQbDRbCpbVLbVMbDUbVAbDWbDXbDXbFrbDZbEabEbbEcbEdbEebEfbEabEgbEhbCvbFVbFFbGfbwwbwwbwwbwwbwwbGhbGgbEnbzKbzMbCJbEobGibCJbzKbzLbzMbGjbCJbGkaafcHOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbGubExbGubEybEzbEAbEAbEAbEAbEAbEBbGAbEDbzTbEEbdPbEFbEGbEHbEIbEJbGDbGCbGWbGEbGvbtCbENbAbbEObEPbyEbvwbEQbHabESbBMbETbvwbBPbHibHjbAhaaaaaaaaabAjbHmbHlbFcbyNbFdbFebFfbFgbDnbDobFhaJibxwaRqaRpbHMbFjbFkbFlbFmbFnbHNbFpbFqbxCbxFbxFbCdbxFbwkbFsbFtbFubFvbFwbFxbDJbFybDLbFzbFAbFBbDObFCbFDbFEbHPbVlbDXbHQbVAbFJbDXbDXbFKbFLbFMbFLbFLbFNbFObFPbFQbFRbFSbCvbHRbFUbHSbFWbFXbFYbFZbGabGbbGcbGdaafaafbCJbGebHUbHUbHVbIfbHZbIobEvaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbGlbGmbGnbdPbdPbGobwNbwNbwNbGpbdPbdPbGqbGrbGsbdPbGtbGtbGtbCnbGtbGvbGwbGxbGybGzbtCbvtbAbbIAbGBbtCbtGbtGbtGbtGbtGbIBbtGbtGbtGbCobtGbIUbIMbIXbtGbJbbtGbtGbtGbtGbtGbtGbtGaJiaJiaJiaJibxwaRqaRpbHMbJqbFkbCSbGGbCWbGIbGJbGKbGLbGMbGNbCjbGObGPbGQbGRbGSbGTbGUbGVbDIbGXbGYbGZbJDbHbbHcbHdbHecLVbCpbUSbUfbwwbwwbwwbwwbwwbJVbwwbwwbwwbzAbKfbzAbzAbHkbBhbCubCvbHRbKobKzbHnbHobHpbHqbGabGbbGcbHraaaaaabCJbHsbHtbEobCIbBybKBbKUbCJaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnaaaaaaaaaaaaaaaaaaaafaaaaaaaaabHuaafaaaaaaaaaaaabGtbHvbHwbHxbHybGvbHzbKVbHBbHCbtCbvtbAbbAcbAabHDbHEbHFbHGbHHbHIbHJbHKbHLbLabLxbLnbLzbAabAabLIbMhbLYbAabHTbAabzZbHHbKJbHWbHXbHYbMibxwaRqbDsaJlbDtbDubDtbDCbDPbxCbIbbIcbIdbIebMlbIgbIhbIibIjbIkbwmbIlbImbInbDJbDTbElbIpbIqcLUbFDbIsbItbIubCpbEZbIwbIxbIybUdbLybMqbICbMCbUcbIFbIGbIHbIIbIJbzAbIKbCubCvbMHbMFbINbIObIPbIQbIRbGabGbbISbEnbEnbEnbCJbCJbCJbMSbMPbCJbCJbBybCJaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaaaaaaaaaaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnaaaaaaaaaaaaaaaaaabMZaaaaaaaaaaaaaaaaaaaaaaaaaaabGtbITbEmbIVbIWbNdbIYbIZbJabNfbtCbvtbJcbJdbJebJebJfbJgbJhbJibJjbJgbJfbJebJebNkbJkbJlbNqbJnbJobNBbJebJebJpbJgbJhbJibJjbJsbJtbJubJtbJvbJwbvUaJlbEtbEqbFHbGFbNLbGHbDzbHAbFibDVbxFbNQbCFbDSbDEbJGbwkbJHbJIbJJbDJbJKbJLbJMbJNbJObFDbJPbItbJObCpbJQbJRbIxbJSbJTbJUbNZbJWbObbJYbIFbJZbKabKbbKbbzAbKcbKdbKebOcbKgbKhbKibKjbKjbKkbGabGbbKlbEnbKmbOdbKnbEnaafaafaafaafaafaafaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbKpbKqbKqbKrbKsbKsbKtbKtbKtbKtbKuaafaafaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnaaaaaaaaaaaaaaaaaaaaaaaabKvbKwbKxbKwbKyaaaaaaaaabGtbGtbOfbKAbIVbKAbOibKCbOnbKDbKEbtCbKFbvtbKGbKHbAabKIbAabzZbHHbKJbAabKKbKLbKMbKNbKObAcbAabKPbKQbHLbKRbHLbHLbKSbKTbODbOtbKWbKXbcLbKYaRpaRpaRpaJlbOEbFlbFnbOFbJmbOGbJybJxbFIbLgbLhbLibLjbHgbDEbIkbIabIzbHhbDJbDJbLobLobLobCpbLpbLqbLrbLsbLtbCpbLubLvbIxbLwbFGbLybOHbLAbLBbLCbIFbJCbLEbKbbKbbzAbRsbLFbCvbwwbLGbLHbOIbLJbLKbLLbGabLMbLNbLObLObLObLPbGdaaaaaaaaaaaaaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafbLQbLRbLSbLRbKsbKtbKtbLTbLUbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabLVbLWbLXbOJbLVbLZbMabMbbGtbMcbMdbMebMfbMgbOLbOKbMjbMjbMkbtCbtCbtCbOMbtCbtCbtCbtCbtCbtCbtCbtCbtCbtCbtCbtCbtCbMmbMnbMobtCbtCbtCbtCbtCbONbtCbtCbtCaJlaJlbOQaJlaKSaMpbMraJlbKZbJXbORbGFbLdbxCbDzbLDbxCbMybMzbMAbMBbwkbOTbMDbMEbOUbMGbPubMIbMJbMKbMLbItbJObFDbFDbMMbJObCpbMNbMObMObMObMObMObMObMObMObMObMObPvbMQbMRbMRbzAbPAbMTbMUbwwbMVbMVbMVbMWbMXbMYbMVbMVbMVbMVbMVbMVbNabNbaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymbPCbLRbLRbNebKtbKtbLTbLTbPDbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabKxbNgbMsbNgbKxbNibNjbPFbNlbNmbNnbKAbNobNpbGvbPHbNrbNsbNtbGvbNubNvbNwbNxaaaaaaaaaaaabNybNzbNAbPSbNDbNCbNEbNFbNGbNHbNIbNFbNJbNKbPXbNMbNNbNObNPbqsbNRbNSbNTbNUbNUbNUbNUbDtbDtbDtbDtbMtbMtbxCbQabOabQbbMzbMvbMubOebQcbOgbOhbQdbOjbMxbMwbOmbNhbMKbOobFDbFDbNVbJObJObOobCpbMNbMObOqbOrbOsbQebOubOvbOwbOxbMObOybOzbOAbOAbzAbOBbOCbCvbzIbQgbQpbQjbQBbQubRdbQXbRvbRebRxbVFbMVbRybEnbOObOObOObOObOOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabOPbKtbPCbKtbKtbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabLVbNgbNgbNgbRAbRzbKAbOSbRDbRBbKAbRFbOVbOWbGvbGvbGvbGvbGvbGvbOXbOYbOZbPaaaabPbbPcbPcbPdbPebPfbPgbPhbPfbPibNFbPjbPkbPlbNFbPmbNXbPobPpbPqbPrbPsbPtbPtbNSbRWbRJbPwbPxbPybDtbNYbLbbScbGFbGFbSgbDzbSibxCbSnbPEbSrbPGbwkbSubPIbwkbOkbPKbPLbOlbPNbMKbCpbCpbCpbCpbCpbCpbCpbCpbPObMObPPbQYbPRbOsbOsbOsbOsbSwbMObPTbLEbPUbPUbzAbBhbPVbPWbSEbPYbPYbSMbSObSNbSQbSPbSSbSRbSSbSVbMVbQfbSWbOObQhbTgbOpbQkaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbKsbKtbQlbQmbQmbLTbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabKxbMsbMsbMsbKxbQnbQobTAbQqbQrbKAbKAbQsbQtbTObQvbQvbQvbQvbQvbQvbQwbQxbQyaaabQzbQAbUbbQCbQDbPfbQEbQGbQFbPfbNFbQIbQJbQKbNFbQLbQMbQNbQObQPbQQbQRbPtbQSbPxbQTbNUbPxbPxbQUbDtbPnbGFbQVbUkbGFbPzbDzbLebRCbQZbPBbUobRcbRGbDEbIkbSpbOkbPLbPLbOlbRfbMKbRgbRhbPJbRjbRkbRlbPMbRnbPObMObOsbOsbRobOsbOsbOsbOsbRpbMObRqbLEbRrbRrbzAbRsbRtbRubUqbRwbUGbUwbUPbUObUWbURbVkbVjbVvbVmbVybREbVGbVzbRHbRIbQibRKaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabKtbKtbRLbLTbLTbLTbLTbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabKxbNgbMsbNgbKxbNibNjbPFbNlbNmbNnbKAbNobNpbGvbPHbNrbNsbNtbGvbNubNvbNwbNxaaaaaaaaaaaabNybNzbNAbPSbNDbNCbNEbNFbNGbNHbNIbNFbNJbNKbPXbNMbNNbNObNPbqsbNRbNSbNTbNUbNUbNUbNUbDtbDtbDtbDtbMtbMtbxCbQabOabQbbMzbMvbMubOebQcbOgbOhbQdbOjbMxbMwbOmbNhbMKbOobFDbFDbNVbJObJObOobCpbMNbMObOqbOrbOsbQebOubOvbOwbOxbMObOybOzbOAbOAbzAbOBbOCbCvbzIbQgbQpbQjbQBbQubRdbQXbRvbRebRxbVFbMVbHObEnbOObOObOObOObOOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabOPbKtbPCbKtbKtbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabLVbNgbNgbNgbRAbRzbKAbOSbRDbRBbKAbRFbOVbOWbGvbGvbGvbGvbGvbGvbOXbOYbOZbPaaaabPbbPcbPcbPdbPebPfbPgbPhbPfbPibNFbPjbPkbPlbNFbPmbNXbPobPpbPqbPrbPsbPtbPtbNSbRWbRJbPwbPxbPybDtbNYbLbbScbGFbGFbSgbDzbSibxCbSnbPEbSrbPGbwkbSubPIbwkbOkbPKbPLbOlbPNbMKbCpbCpbCpbCpbCpbCpbCpbCpbPObMObPPbQYbPRbOsbOsbOsbOsbSwbMObPTbLEbPUbPUbzAbBhbPVbPWbIvbPYbPYbSMbSObSNbSQbSPbSSbSRbSSbSVbMVbQfbSWbOObQhbTgbOpbQkaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbKsbKtbQlbQmbQmbLTbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabKxbMsbMsbMsbKxbQnbQobTAbQqbQrbKAbKAbQsbQtbTObQvbQvbQvbQvbQvbQvbQwbQxbQyaaabQzbQAbUbbQCbQDbPfbQEbQGbQFbPfbNFbQIbQJbQKbNFbQLbQMbQNbQObQPbQQbQRbPtbQSbPxbQTbNUbPxbPxbQUbDtbPnbGFbQVbUkbGFbPzbDzbLebRCbQZbPBbUobRcbRGbDEbIkbSpbOkbPLbPLbOlbRfbMKbRgbRhbPJbRjbRkbRlbPMbRnbPObMObOsbOsbRobOsbOsbOsbOsbRpbMObRqbLEbRrbRrbzAbRsbRtbRubIDbRwbUGbUwbUPbUObUWbURbVkbVjbVvbVmbJrbREbVGbMpbRHbRIbQibRKaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabKtbKtbRLbLTbLTbLTbLTbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaabLVbRMbRNbRObLVbRPbMabMbbGtbGtbRQbRQbRQbGtbGtbNxbRRbRRbRSbRSbRSbRSbNwbQyaaabRTbRUbRVbVObRXbRYbRZbSabSbbSbbWgbSdbSebWibNFbPtbPtbPtbPtbPtbWkbPtbPtbShbWobSjbNUbPxbSkbSlbDtbQHbLbbQVbSmbWMbPzbSobJAbJBbSqbRabSsbStbJzbFsbSvbIEbSxbRibRbbSAbSBbMKbRmbSDbWVbRjbSfbSGbXabRnbPObMObMObMObRobOsbOsbOsbMObMObMObSIbSJbRrbRrbzAbSKbSLbCvbzIbXcbXfbXebSQbXibXqbXpbXvbXubYabXxbMVbQfbYobOObSXbSYbSybTaaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbKtbLTbLTbLTbLTbLTbLTbTbbLTbTcbLTbLTbLTbLTbLTbKtbKtaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabTdbKwbTebKwbTfbYtaafaaaaaabGtbThbTibTjbGtaaabNxbTkbTlbTmbTnbTnbTnbTobQyaaabQzbTpbTqbTrbTsbPfbTtbTvbTubTwbNFbSzbTybTzbYwbTBbTBbTBbTCbTCbTDbTEbULbPxbPxbTFbNUbNUbNUbNUbDtbDtbLfbLkbLcbDtbTJbTKbTLbJFbJEbTJbQbbLlbLmbTRbTSbTJbMKbMKbMKbMKbMKbMKbTTbTUbTVbRjbTWbTXbTYbRnbPObMObTZbQWbPQbYHbYzbNWbNcbTZbUgbUhbUibIIbIJbzAbIKbSLbUjbwwbMVbMVbYMbYSbMVbMVbMVbMVbYYbSCbVFbMVbYZbUnbOObUpbZbbUrbOOaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabKtbUsbUsbUsbUsbUsbUsbUtbLTbUubUsbTcbLTbLTbLTbLTbKtaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabTdbKwbTebKwbTfbYtaafaaaaaabGtbThbTibTjbGtaaabNxbTkbTlbTmbTnbTnbTnbTobQyaaabQzbTpbTqbTrbTsbPfbTtbTvbTubTwbNFbSzbTybTzbYwbTBbTBbTBbTCbTCbTDbTEbULbPxbPxbTFbNUbNUbNUbNUbDtbDtbLfbLkbLcbDtbTJbTKbTLbJFbJEbTJbQbbLlbLmbTRbTSbTJbMKbMKbMKbMKbMKbMKbTTbTUbTVbRjbTWbTXbTYbRnbPObMObTZbQWbPQbYHbYzbNWbNcbTZbUgbUhbUibIIbIJbzAbIKbSLbUjbwwbMVbMVbYMbYSbMVbMVbMVbMVbYYbSCbVFbMVbRybUnbOObUpbZbbUrbOOaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabKtbUsbUsbUsbUsbUsbUsbUtbLTbUubUsbTcbLTbLTbLTbLTbKtaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabMZaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbUvbNxbNxbNxbNxbRSbZcbNwbUxaaabUybPcbPcbUzbUAbPfbPfbUBbPfbSFbNFbUDbSHbSTbNFbSUbSUbSUbSUbSUbSUbSUbSUbUHbUIbUJbUKbUKbUMbNUbDtbUNbSZbTxbUQbZebwabUTbUUbTMbZibTNbUTbUYbUZbVabVbbUebTPbVdbVebVgbVhbVibUlbZrbUmbRjbUCbZsbUCbRnbPObMObVnbUFbVpbVqbVrbVsbVtbVubUgbzAbZubzAbzAbVwbCxbSLbCxbVxaafbnxbZvbZzblSbVBbZBbZLbZCbZObUVbMVbVHbVIbOObVJbVKbVKbwhaaLaaLaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwibLRbLRbLRbLRbLRbLRbLRbVNbLUbLTbLTbLTbLTbZPbLUbKuaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabVPbVQbVQbVRbVSbNxbVTbRSbVUbNxaaaaaaaaaaaabNybVVbVWbVXbVZbVYbPfbNFbWabWbbNIbNFbSUbUXbVfbVcbVDbVCbVEbSUcaqcaqcaqcaqcaqbTFbWjbZSbWlbWcbWdbZUbWpbxgbWrbWsbWtbWubWtbWvbWtbWwbWxbWybWzbWAbWBbWAbWCbWDbWEbWFbWGbWebWIbWfbWKbWLbZVbxVbMObxWcaabzlbWSbWTbWhbWSbWScanbWWbWXbWYbWZbCxbCxbSLbCxbFTaafbnxcaxcaxbXbcaJbXdcbdcaWbXgbXhbMVbVHcbebOObOObOObOObOOaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabKtbQmbQmbQmbQmbQmbQmbXkbLTbQlbQmbXlbLTbLTbLTbLTbKtaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXmcbfbWmcbgbRScbibXrbRSbXsbNxaaKaaaaaaaaabNybNybNybNybNybNybNybNFbUDbUEbXtbNFbSUbWnbWJbWHbWHbWJbWRbSUbXnbWUbWUbXocaqbXBbDtbDtbXCbXDbXEbXFbXGblRbXIbXJbXKbXLbXMbXNbXObXPbXQbXRbXSbXTbXUbznbzpbzobAPbzqbARbAQbATbAScbjbAUbYfbYgbIwbYhbVobCqbWObWNbWPbYmbYncbkbYpbYqbYrbYscbmbYrbYubYvbILaafbnxcbncbrbrBbVBcbtcbAcbycbDbYAbMVbVHbYBbYCbUnaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbKtbLTbLTbLTbLTbLTbLTbTbbLTbXlbLTbLTbLTbLTbLTbKtbKtaafaaaaaaaaaaaaabgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabYDbVQbVQbVRbYEbYFbYGbNxcbJbNxbYIbYJbYKbYIbYIbYLcbLbYNbYObYPcbObXwbXzbXybYebXAbYjbWJbYybYxbYRbYQbYTcbQbYVbYUbYXbYWcaqbZhbNScbWbZjbZkbZlbZlbZmbnEbZobZpbTJbTJbZqcccbTJbTJccncceccrcaIcctbWQbZxbZyccubZybZAbZaccvbZabZAccEbYfbMNbIwbZEbXWbXVbZdccGbZJbZKbMObMObwwbwwbwwbwwbwwboIbnFbofbwwbMVbMVbMVbMVbMVbMVbMVbMVbMVbMVbMVbMVccJbZQbZRbUnaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabKtbKtbRLbLTbLTbLTbLTbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaamccMaamaamaamaamaamaaaaaaaaaaaaaaaaaaaafaafaaabZfbZgbZgbZgbZHbZgbZgbZTbZIbYIbZYbZZbYIccQcabccScadbZWcafccYbZXcaecaccahcagcaibWJbYycajcakbYQcalbSUcaqcaqcaqcaqcaqcarbNSbDtcascatcdjcamcawcdmcaycazbTJcaocaBcaCcaDcaEcaFcaGcaHcaIbZxbWQcapbZycaKcaLbZAcaMcaNcaObZAbXXbYfbPObIwbXYcdpbXZbXYbXYbIwbIwbIwcaRcaScaTcaUcaVbwwbwwcdBbwwbwwcaXcaYcaucaAcavcdNcaZcbacbccdUcdTcdZcdYcbhbUnbUnbUnaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbKsbKtbUubUsbUsbLTbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabgaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafcbbceccebcblcedceicefcbpcbobYIcelcbsbYIbYIcercbucbvcbwcbxceucbqbXzbXybYecbzcevbWJbWJcbBcbCbWJcexbSUcbFcbGcaqcbHcaqbTFcbIcbIcbIcbIcbIcbIcbIbTJceCcbEbTJcbKcbMcbNceHcaEcbPceIceKcaIbZxbWQcbRbZycbScbTbZAcbUcbVcfebZAccqbYfbYbbYdbYcbYiccsccAbYccfibYkbYlcktbZDbZwbZFcktcfjbZGccCccBcfkccDccPccFcfscfmcfGcfucfmcfIcfMcfLcfRccwccxccycczbUnbUnbUnbUnaaaaafaaaaaaaaaaahaahaahaafaaaaaaaafaaaaaaaafaaaaaabOPbKtbPCbKtbKtbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafccRccRcebccTcfZceiccUccWccVbYIcgeccHccIcgfccKccLcgmccNccOcgoccXcdaccZcdecdbcgBcdycdQcdFcekceecemcgCcdccddaJEcdfcaqbTFcbIcdgcdhcdicgOcdkcdlcgRcdncdocgWcdqcdrcdscdtcaEcducdvcdwcaIbZxbWQcenbZycdxceobZAcdzcdAcepbZAcaPbYfbYfcaQbYccbYcbXcbZbYcchBccacjfcdLcdLbyFbBucdLcdOcdPceqcdRcdOcdSbBpbyebydcdScdScdScdScgXbyebydcdScdSbXjcdXcgZcgYceachachdchbbycbycbycbycbycbycbycbycbycbycbycbycbycbycbycbycchicegcegcehbKtbKtbLTbLTchnbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacejcejcejcejcejcejcejcetcesbYIbYIbYIbYIbYIchpchuchqchqchqchzcewbXzbXybYeceybYjceEceTceSceWceUceXbSUcezaJFceYaJFcaqbTFcbIceDcfacfacfaceFceGbTJchPchLbTJcbKcbNceJceHcaEchSceLceMcaIbZxbWQceNbZyceOcePbZAbZAbZAbZAbZAccbceRbYfcaQbYcccdchYbYcbYcchBcifcjfcdLceZcfbcfbcfccdOcfdciycffcdOcfgcfhcfhcfhciCciLciKcflciPcfncfocfpcdScfqcfrciQbUnbUnbUnbUnaaaaafaaaaaaaaaaahaahaahaafaaaaaaaafaaaaaaaafaafaafcftcfBcfvbNebKsbKtbKtbLTbLUbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaafaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafcejcfwcfxcfycfzcfAcejcfDcfCcfFcfEcfHciVcjacjacfKcfJcfJcjlcjpcbqbXzbXybYecfNcaicfOcfQcfPcfUcjqcggbSUaJFaJFcaqceBcaqbTFcbIcfVcfWcfWcfWcfXcbIcfYcjtcgacfYcgbcgccgdcjvcaEcjCceLcgicaIcghccfcgjbZycgkcglbZycjIbLvbVicgnccgcchbYfccjcciccicckcclcclcclcclccmcdLckncgycgycgzcgActscgrcgpcgucgtcgGcgGcgGcgxcgIcgIcgJckocgLcgDcgMcdScgNckCcgPcgNaaaaaaaaaaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafcgQbKqbKqbKrbKsbKsbKtbKtbKtbKtbKuaafaafaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaafaafaafcgEcgEcgEcgEcgEcgEcgEcgEcgEcgEcgEcgEcgEaaaaaacgScgTcgTcgTcgUcgVcejcgHcgFckFcgKckQckNclgclfcluclpclCchcchfchechhchgchjclGbSUbSUbSUbSUbSUbSUbSUbSUcmgclVcaqcmkcaqbTFcbIcbIctpctqctrcbIcbIchrchschtcfYcaEcaEcaEcaEcaEcaIchkchlcaIchwcmpchwbZychychmbZychAchBbVichCbVichDbYfccobYfbYfccpcdCcdCcdCcdDbYfcdLchIchJchJchKcmschMchochOcmwchQckLckLckLckLcmBchvckLcmGckLchEchFcdSchZciachGcgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaaaaaaaaaaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabVPbVQbVQbVRbVSbNxbVTbRSbVUbNxaaaaaaaaaaaabNybVVbVWbVXbVZbVYbPfbNFbWabWbbNIbNFbSUbUXbVfbVcbVDbVCbVEbSUcaqcaqcaqcaqcaqbTFbWjbZSbWlbWcbWdbZUbWpbxgbWrbWsbWtbWubWtbWvbWtbWwbWxbWybWzbWAbWBbWAbWCbWDbWEbWFbWGbWebWIbWfbWKbWLbZVbxVbMObxWcaabzlbWSbWTbWhbWSbWSbSEbWWbWXbWYbWZbCxbCxbSLbCxbFTaafbnxcaxcaxbXbbUqbXdbVycaWbXgbXhbMVbVHcbebOObOObOObOObOOaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabKtbQmbQmbQmbQmbQmbQmbXkbLTbQlbQmbXlbLTbLTbLTbLTbKtaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXmcbfbWmcbgbRScbibXrbRSbXsbNxaaKaaaaaaaaabNybNybNybNybNybNybNybNFbUDbUEbXtbNFbSUbWnbWJbWHbWHbWJbWRbSUbXnbWUbWUbXocaqbXBbDtbDtbXCbXDbXEbXFbXGblRbXIbXJbXKbXLbXMbXNbXObXPbXQbXRbXSbXTbXUbznbzpbzobAPbzqbARbAQbATbAScbjbAUbYfbYgbIwbYhbVobCqbWObWNbWPbYmbYnbVzbYpbYqbYrbYscbmbYrbYubYvbILaafbnxcbncbrbrBbVBcbtcbAcbycbDbYAbMVbVHbYBbYCbUnaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbKtbLTbLTbLTbLTbLTbLTbTbbLTbXlbLTbLTbLTbLTbLTbKtbKtaafaaaaaaaaaaaaabgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabYDbVQbVQbVRbYEbYFbYGbNxcbJbNxbYIbYJbYKbYIbYIbYLcbLbYNbYObYPcbObXwbXzbXybYebXAbYjbWJbYybYxbYRbYQbYTbYZbYVbYUbYXbYWcaqbZhbNScbWbZjbZkbZlbZlbZmbnEbZobZpbTJbTJbZqcccbTJbTJccncceccrcaIcctbWQbZxbZyccubZybZAbZaccvbZabZAccEbYfbMNbIwbZEbXWbXVbZdccGbZJbZKbMObMObwwbwwbwwbwwbwwboIbnFbofbwwbMVbMVbMVbMVbMVbMVbMVbMVbMVbMVbMVbMVccJbZQbZRbUnaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabKtbKtbRLbLTbLTbLTbLTbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaamccMaamaamaamaamaamaaaaaaaaaaaaaaaaaaaafaafaaabZfbZgbZgbZgbZHbZgbZgbZTbZIbYIbZYbZZbYIccQcabccScadbZWcafccYbZXcaecaccahcagcaibWJbYycajcakbYQcalbSUcaqcaqcaqcaqcaqcarbNSbDtcascatcdjcamcawcdmcaycazbTJcaocaBcaCcaDcaEcaFcaGcaHcaIbZxbWQcapbZycaKcaLbZAcaMcaNcaObZAbXXbYfbPObIwbXYcanbXZbXYbXYbIwbIwbIwcaRcaScaTcaUcaVbwwbwwcdBbwwbwwcaXcaYcaucaAcavcdNcaZcbacbccdUcdTcdZcdYcbhbUnbUnbUnaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbKsbKtbUubUsbUsbLTbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabgaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafcbbceccebcblcedceicefcbpcbobYIcelcbsbYIbYIcercbucbvcbwcbxceucbqbXzbXybYecbzcaJbWJbWJcbBcbCbWJcexbSUcbFcbGcaqcbHcaqbTFcbIcbIcbIcbIcbIcbIcbIbTJceCcbEbTJcbKcbMcbNceHcaEcbPceIceKcaIbZxbWQcbRbZycbScbTbZAcbUcbVcfebZAccqbYfbYbbYdbYcbYiccsccAbYccfibYkbYlcktbZDbZwbZFcktcfjbZGccCccBcfkccDccPccFcfscfmcfGcfucfmcfIcfMcfLcfRccwccxccycczbUnbUnbUnbUnaaaaafaaaaaaaaaaahaahaahaafaaaaaaaafaaaaaaaafaaaaaabOPbKtbPCbKtbKtbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafccRccRcebccTcfZceiccUccWccVbYIcgeccHccIcgfccKccLcgmccNccOcgoccXcdaccZcdecdbcbdcdycdQcdFcekceecemcbkcdccddaJEcdfcaqbTFcbIcdgcdhcdicgOcdkcdlcgRcdncdocgWcdqcdrcdscdtcaEcducdvcdwcaIbZxbWQcenbZycdxceobZAcdzcdAcepbZAcaPbYfbYfcaQbYccbYcbXcbZbYcchBccacjfcdLcdLbyFbBucdLcdOcdPceqcdRcdOcdSbBpbyebydcdScdScdScdScgXbyebydcdScdSbXjcdXcdpcbQceachacevcdGbycbycbycbycbycbycbycbycbycbycbycbycbycbycbycbycchicegcegcehbKtbKtbLTbLTchnbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacejcejcejcejcejcejcejcetcesbYIbYIbYIbYIbYIchpchuchqchqchqchzcewbXzbXybYeceybYjceEceTceSceWceUceXbSUcezaJFceYaJFcaqbTFcbIceDcfacfacfaceFceGbTJchPchLbTJcbKcbNceJceHcaEchSceLceMcaIbZxbWQceNbZyceOcePbZAbZAbZAbZAbZAccbceRbYfcaQbYcccdcgBbYcbYcchBcifcjfcdLceZcfbcfbcfccdOcfdciycffcdOcfgcfhcfhcfhciCciLciKcflciPcfncfocfpcdScfqcfrciQbUnbUnbUnbUnaaaaafaaaaaaaaaaahaahaahaafaaaaaaaafaaaaaaaafaafaafcftcfBcfvbNebKsbKtbKtbLTbLUbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaafaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafcejcfwcfxcfycfzcfAcejcfDcfCcfFcfEcfHciVcjacjacfKcfJcfJcjlcjpcbqbXzbXybYecfNcaicfOcfQcfPcfUcjqcggbSUaJFaJFcaqceBcaqbTFcbIcfVcfWcfWcfWcfXcbIcfYcjtcgacfYcgbcgccgdcjvcaEcjCceLcgicaIcghccfcgjbZycgkcglbZycjIbLvbVicgnccgcchbYfccjcciccicckcclcclcclcclccmcdLckncgycgycgzcgActscgrcgpcgucgtcgGcgGcgGcgxcgIcgIcgJckocgLcgDcgMcdScgNcgCcgPcgNaaaaaaaaaaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafcgQbKqbKqbKrbKsbKsbKtbKtbKtbKtbKuaafaafaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaafaafaafcgEcgEcgEcgEcgEcgEcgEcgEcgEcgEcgEcgEcgEaaaaaacgScgTcgTcgTcgUcgVcejcgHcgFckFcgKckQckNclgclfcluclpclCchcchfchechhchgchjclGbSUbSUbSUbSUbSUbSUbSUbSUcmgclVcaqcmkcaqbTFcbIcbIctpctqctrcbIcbIchrchschtcfYcaEcaEcaEcaEcaEcaIchkchlcaIchwcgYchwbZychychmbZychAchBbVichCbVichDbYfccobYfbYfccpcdCcdCcdCcdDbYfcdLchIchJchJchKcmschMchochOcmwchQckLckLckLckLcmBchvckLcmGckLchEchFcdSchZciachGcgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaaaaaaaaaaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacgEchHcmPchHcgEchNcmQchNcgEchRcmRchRcgEaaaaaaciicgTcgTcgUcgUcijcejchUchTchWchVcmXchXcidciccnecieciecigciecbqbXzcihbYecikcimcilciocinciocipcirciqciqciAciAciAciAbTFciGciHciIciIciJcnfcngciMciXciOcnucnhciRciSciSciTciUcaIcaIcaIcnwcdEckqbZybZybZybZychBchBbViciYbViciZbYfccobYfaaaaaaaaaaaaaaaaaaaaacdLcjgcisciucitcjjcjkcivcjmcjncjociwcjocjocixcjrcjscgIcnEcgIciWcjucdScnFcjwcjxcgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacgEchHcjbchHcgEchNcjcchNcgEchRcjdchRcgEaaaaaaciicgTcgUcgUcgUcjBcnIcjhcjechWcjicnLcnKcnPcnNcjzcjycjDcjAcjEcbqbXzcjFchjcjGcnQcjHcjJcjJcjJcjKcjMcjLcjNcolcjOceAciAbTFciGckaciIckbckcckdcubckfckgckhctQckjckkcklciSckmciUconcoqckpcjQcjPcdHcdGcdIcdIcdJcdIcdKbVibVibVibVibYfccobYfaaaaaaaaaaaaaaaaaaaaacdLcorcjRcjTcjSckEcdOcotcdOckGckHcjXcjUcjUcjYcgIcgIckecjZcjUckickOcdSckPcoyckRcgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacgEckrckuckscgEckzckBckAcgEckDckJckIcgEaaaaafciiclbcgTcgUcgUcgUcejckMckKchWchWcoAchWchWchWchWckTcieckWckYcbqclackZcldclccoBcleclhclhclhclicljcljclkciAcllcgqclwclxciGclyciIclzclAclBcoCclDclEclFcoFclHclIclJciSclKciUcoJcoLclNclnclmclQclNclRclSclTbYfceQcdIcdIcdIcdIcdIcltbYfaaaaaaaaaaaaaaaaaaaaacdLcmacmbcmccmdcdOcmecmfcpdcdScmhcmicmicmiclvcpfcmlclPclOcmicmicmncdScmocpgcmqcmraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaafaafcgEclXcmmcmjcgEcmtcmmcEgcgEcmtcmmcEgcgEaaaaafcmzcgTcgTcgUcgUcmAcejcmvcmucmxcpocprcmycmCcmCcmEcmDcmCcmFcpycbqcmIcmHcmKcmJcimcmLcmLcmMcljcmNcpAcmOcmOciAcibceVcpBcqgciGcnbciIcnccndcpCciGcmSciNcmWcfYcpGcnicnjciScnkciUclLclMclNcnlcpHcnlclNaaaaaaaaabYfbYfbYfcnnclSclSclTbYfbYfaaaaaaaaaaaacdOcdOcdOcdOcdOcdOcdOcdOcdOcnocnpcnqcdScdScnrcnscntcdScdScdScdScpIcnscntcdScdScnvcpNcnvaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccMaafaafaafaaaaafcnxaafcnxaafcKAaafcpOaafcKAaafcpOaafaafaaacejcnAcnBcgUcgUcnCcnDcpRcpPcnycnmcpUcnzcnzcqecnzcnGcqrcnHcnGcnJcqtcqscqAcnMcnOcnOcnOcnOcqIcqDcnRcnRcnRcgscgscgscgscnSciGcnTcnUcnccnVcnWciGcmSciNcnXciUcnYcnZcnjcoacobciUclLclMclNcoccodcoeclNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaacdOcofcogcohcwlcojcokcqLcomcqNcopcoocdOaaLaafaafaafaafaaaaaaaaacqOaaaaaaaaaaafcoscqWcosaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaafcoucrvcracoxcovcowcrzcoxcrQcrUcrzcoDcrVcrXcoEcnycnycnycnycnycnycnycnycoHcoGcrZcoIcsacoKcoNcoMcoOcnGcoQcoPcoRcnGcoTcoScoUcnOcoWcoVcoYcoXcpacoZcpjcpbcpbcpkcpncpncpjcsbciGciGcpccscciGciGciGcpeciNcsdciUciUciUcsecphciUciUclLcpiclNcvmcpscvmclNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaafaafcdOcplcpmcplcsgcLZcppcpqcomcomcsicomcdOcdOaaaaaaaaaaafaafaaaaacaaaaaaaaaaaaaafaaacsnaaaaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacgEchHcjbchHcgEchNcjcchNcgEchRcjdchRcgEaaaaaaciicgTcgUcgUcgUcjBcnIcjhcjechWcjicnLcnKcnPcnNcjzcjycjDcjAcjEcbqbXzcjFchjcjGcnQcjHcjJcjJcjJcjKcjMcjLcjNcolcjOceAciAbTFciGckaciIckbckcckdcubckfckgckhctQckjckkcklciSckmciUconcoqcgZcjQcjPcdHchbcdIcdIcdJcdIcdKbVibVibVibVibYfccobYfaaaaaaaaaaaaaaaaaaaaacdLcorcjRcjTcjSckEcdOcotcdOckGckHcjXcjUcjUcjYcgIcgIckecjZcjUckickOcdSckPchdckRcgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacgEckrckuckscgEckzckBckAcgEckDckJckIcgEaaaaafciiclbcgTcgUcgUcgUcejckMckKchWchWcoAchWchWchWchWckTcieckWckYcbqclackZcldclccoBcleclhclhclhclicljcljclkciAcllcgqclwclxciGclyciIclzclAclBcoCclDclEclFcoFclHclIclJciSclKciUcoJcoLclNclnclmclQclNclRclSclTbYfceQcdIcdIcdIcdIcdIcltbYfaaaaaaaaaaaaaaaaaaaaacdLcmacmbcmccmdcdOcmecmfcpdcdScmhcmicmicmiclvcpfcmlclPclOcmicmicmncdScmochYcmqcmraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaafaafcgEclXcmmcmjcgEcmtcmmcEgcgEcmtcmmcEgcgEaaaaafcmzcgTcgTcgUcgUcmAcejcmvcmucmxcpocprcmycmCcmCcmEcmDcmCcmFckpcbqcmIcmHcmKcmJcimcmLcmLcmMcljcmNcpAcmOcmOciAcibceVckCcqgciGcnbciIcnccndcpCciGcmSciNcmWcfYcpGcnicnjciScnkciUclLclMclNcnlcpHcnlclNaaaaaaaaabYfbYfbYfcnnclSclSclTbYfbYfaaaaaaaaaaaacdOcdOcdOcdOcdOcdOcdOcdOcdOcnocnpcnqcdScdScnrcnscntcdScdScdScdScpIcnscntcdScdScnvcpNcnvaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccMaafaafaafaaaaafcnxaafcnxaafcKAaafcpOaafcKAaafcpOaafaafaaacejcnAcnBcgUcgUcnCcnDcpRcpPcnycnmcpUcnzcnzcqecnzcnGcqrcnHcnGcnJcoycmpcpgcnMcnOcnOcnOcnOcqIcqDcnRcnRcnRcgscgscgscgscnSciGcnTcnUcnccnVcnWciGcmSciNcnXciUcnYcnZcnjcoacobciUclLclMclNcoccodcoeclNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaacdOcofcogcohcwlcojcokcqLcomcqNcopcoocdOaaLaafaafaafaafaaaaaaaaacqOaaaaaaaaaaafcoscpycosaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaafcoucrvcracoxcovcowcrzcoxcrQcrUcrzcoDcrVcrXcoEcnycnycnycnycnycnycnycnycoHcoGcrZcoIcsacoKcoNcoMcoOcnGcoQcoPcoRcnGcoTcoScoUcnOcoWcoVcoYcoXcpacoZcpjcpbcpbcpkcpncpncpjcsbciGciGcpccscciGciGciGcpeciNcsdciUciUciUcsecphciUciUclLcpiclNcvmcpscvmclNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaafaafcdOcplcpmcplcsgcLZcppcpqcomcomcsicomcdOcdOaaaaaaaaaaafaafaaaaacaaaaaaaaaaaaaafaaacpBaaaaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaaaaaaaaaaafcptcsDcpucpxcpwcpFcsLcsMcpzcsWcsQcpEcpDcsXcpFcpLcpJcsYcpMcpQcsZctbcpTcpWcpVcpYcpXcqacpZcqccqbctccqdcticqfctkcqzcoTcqJcqKcnOcpacpacpacpacpacqMcpjcqPcqPcqPcpncpncpjbTFcrYciGcqhcqicqjcqkciGcqlciNcqmciUcqncqocqpcqqciUctmclLcpiclNctxcqQcquclNaaaaaaaaaaaaaaaaaacqvcqwcqxcqycqvaafaaaaaaaaaaaacdOcplcplcplcoictBcqBcqCctIcqEcqFcqGcqHcdOaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaafaaacmZaaaaafaafaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaafcqRcqYcqScqVcqUcpFcqXcpFcvWcqYcqXcpFcvWcqYcpFcpFcpFcpFcpFcqZcpFcpFcpFcrbctOcrdcrcctScpZcrfcrecrhcrgcrjcricrlcrkcoTcqJcrmcnOcrncpacpacrocpacrpcpjcrIcrKcrJcrKcrLcpjbTFcrqciGcrrcrscrtcructTcrwcrxcryctVcrAcrBcrCcrDciUcrEcrFcrGcrHcqvcuacqvcrHaaaaaaaafaaaaaaaaacqvcrRcrTcrScqvaafaafaaaaaaaaacdOcomcomcomcomcrMcppcrNcrNcrNcnpcrNcrOcdOaaaaaaaaaaaaaaacrPcrPcrPccMaafaafaafaafcnaaafaafaafaafaafaaqcrPcrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaafaafaafcptcpFcrccpFcrccpFcqXcpFcuecxacufcxaculcxacxacuycurcpFcpFcuLcuEcuEcuEcuYcuUcvkcvkcvlcpZcvncshcsjcnGcsmcskcvscnGcspcsocsrcsqcstcsscsvcsucpacswcpjcsxcrKcsycrKcsKcpjbTFcizciGcszcsAcsBcsCciGcfYcvtcfYciUcsEcsFcsGcsHciUcsIcrGcrGcqvcsJcsNcvvcqvcqvcqvcqvcqvcqvcqvcqvctMctDctNcqvcqvcqvcrHaaaaaacdOcofcogcohcslcsRcqBcrNcrNcrNcnpcrNcsScdOaaaaaaaaaaaaaaacrPaaaaafaaaaafaaaaaaaaackxaaaaafaafaaaaaaaaaaaacrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -7560,25 +7555,25 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaccMaaaaaaaaaaaacptcpFcpFcpFcpFcpFcqXcpFcpFcpFcqXcpFcpFcpFcpFcpFcvWcpFcpFctScpFczncpFcpFczncznczocpFcpFcvZcvYcwgcwgcwgcwgczqcwkcoTcwocwpcsqcwqcpacwscvCcpacwtcpjcwucrKcwvcwxcwwcpjczrcvMcvNcwIcwJcwKcwLcwMcwNcwOcvNcwPcwQcrGaaaaaaaaaaaaaaaaaacqvcwRcwycwAczBcwCcwBcwEcwDcwGcwFcwTcwScwVczFcuWcuQcxecqvaaaaaacdOcofcogcohckXcsRcuZcxgcxhcxhcxicxjcxkczLcxmcxncdOaaaaaacrPaaaaafaaaaafaafaafaaackxaaaaafaaaaafaaaaafaaacrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacptcpFcpFcpFcpFcpFczMcpFcpFcpFczMcpFcpFcpFcpFcpFcvWcpFcpFczXczVcAhctdctdcAhcAtcAhcxlcAvcAwctdcAAcAxcAHcADcAJcwkcoTcxucoTcxvcxwcpacpacxAcpacxBcpjcxCcxCcxDcwxcwwcpjbPxcvMcvNcxKcxLcxMcxNcxOcxNcxPcvNcxQcxRcrGaaaaaaaaaaaaaaaaaacqvcxScxTcxUcAUcxWcxXcxYcxZcuTcBkcuScxEcuTcBmcqvcqvcqvcqvaaaaaacdOcplcpmcplcBncLZcppcrNcrNcyecyfcrNcBqcomcomcomcdOaaaaaacrPaaactXctXctXctXctXaafckxaafctXctXctXctXctXaafcrPaaacBsaaaaaacBsaaaaaaaaacBsaaaaaaaaaaaaaaacBsaaaaaaaaacBsaaaaaacBsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaaaaaaaaacptcpFczmcrWcrWczpcxGcrWczpcrWcxIcBucuEcuEcBzcuEcBAcuEcuEcuYcBDczncpFcpFcyjcylcykcyncBEcyocpFcBHcyqcyscyscBIcytcoTcxucyvcnOcywcpacyxcpacBKcyycpjcpjcpjcpjcpjcpjcpjbPxcvMcvNcyMcyNcxLcyOcxLcxNcyPcvNcyQcBLcrGaaaaaaaaaaaaaaaaaacqvcuVcBOctFctFcyTcyAcyVcyWctMctDctNcyBctMcvhcyYcqvaaaaaaaaaaaacdOcplcplcplckXcBRczacrNcrNcrNcyfcrNczbcrNczccrNczdaafaafcrPaafckVckSckSckSckSckyckxckwckvckvckvckvckUaafcrPaaacBscBscBscBsaaaaaaaaacBscBscBscBscBscBscBsaaaaaaaaacBscBscBscBsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaaaaaaaaacptcpFcqXcpFcpFcpFczMcpFcpFcpFczMcpFcpFcpFcyCcpFcvWcpFcpFcpFcyDczncpFcpFcBScAtctfcyGcwgcCccwgcwgcyqcCecyIcCfcytcoTcxucoTcnOcyUcyLczecyXczfcpacnOczgczJczJczhcCicClczNczOcvNcxNczPczQcxNczRczSczTcvNczUcCncrGaaaaaaaaaaaaaaaaaacqvczWcuMcCBcuVczYczZcAactFcAbcAccsPcyBczWczjcAecqvaaaaaaaaaaaackEcdOcAfcAgcAgczkcAicAjcAkcAlcAmcAncAocApcAqcokcAraaaaaacrPaafcwjcwjcwjcwjcwjaaackxaafcwjcwjcwjcwjcwjaaacrPaaacBscBscBscBsaaaaaacBscBscBscBscBscBscBscBscBsaaaaaacBscBscBscBsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaIaaaaaaczlcpFcqXcpFcCFcxacufcxacCJcxacufcxacCJcxacxccxacxbcCKctectdcCNctfczsczucztczwczvczxcwgczzczycwgcwgcwgcwgcwgczAcqtcCOcqtcnOcnOcnOcnOcnOcnOcnOcnOczDczJczJczEcANcAObPxcAPcvNcAQcARcCQcATcCYcAVcAWcvNcAXcAYcrGaaaaaaaaaaaaaaaaaacqvcuQcAZcAectFcBacBbcBcctFcBdcBeczHczGczIcBeczKcqvaafaafaaaaaaaaaaaabquaaacdOcBlcDmcDacBocBpcDmcDpcBrcBpcDmcDtcdOaaaaaaccMaaaaafaaaaafaaaaafaaackxaaaaafaaaaafaafaafaafcrPaaacBscBscBscBsaaaaaacBscBscBscBscBscBscBscBscBsaaaaaacBscBscBscBsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccMaaaaaaaaaaaIaaaaaacAdcpFcqXcpFcDxcylcqXcpFcDNcylcqXcpFcAucylcpFcpFcDOcpFcDUcylcEccAzcAycABcEicErcACcAEcwgcEycAFcEBcAIcAKcumcAMcALcumcAScumcBfcuocBgcBicBhcBhcBjcEXcBVcBWcBWcBXcBYcAObPxcBZcvNcvNcCacCbcFecCbcCacCdcvNcrGcFgcrGaaaaaaaaaaaaaaaaaacqvctFcFrcuVctFcCgcChcFCctFcCjcCkcqycgvcBtcCkcCocrHaaaaaaaaaaaaaaaaaacgwaafcdOcCqcFEclUcomclscFFclqcomclocFKclWcdOaaaaaacrPaaactXctXctXctXctXaafckxaafctXctXctXctXctXaafcrPaaacBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaaaaaaaaacptcpFcqXcpFcpFcpFczMcpFcpFcpFczMcpFcpFcpFcyCcpFcvWcpFcpFcpFcyDczncpFcpFcBScAtctfcyGcwgcCccwgcwgcyqcCecyIcCfcytcoTcxucoTcnOcyUcyLczecyXczfcpacnOczgczJczJczhcCicqsczNczOcvNcxNczPczQcxNczRczSczTcvNczUcCncrGaaaaaaaaaaaaaaaaaacqvczWcuMcCBcuVczYczZcAactFcAbcAccsPcyBczWczjcAecqvaaaaaaaaaaaackEcdOcAfcAgcAgczkcAicAjcAkcAlcAmcAncAocApcAqcokcAraaaaaacrPaafcwjcwjcwjcwjcwjaaackxaafcwjcwjcwjcwjcwjaaacrPaaacBscBscBscBsaaaaaacBscBscBscBscBscBscBscBscBsaaaaaacBscBscBscBsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaIaaaaaaczlcpFcqXcpFcCFcxacufcxacCJcxacufcxacCJcxacxccxacxbcCKctectdcCNctfczsczucztczwczvczxcwgczzczycwgcwgcwgcwgcwgczAcoycqtcoycnOcnOcnOcnOcnOcnOcnOcnOczDczJczJczEcANcAObPxcAPcvNcAQcARcCQcATcCYcAVcAWcvNcAXcAYcrGaaaaaaaaaaaaaaaaaacqvcuQcAZcAectFcBacBbcBcctFcBdcBeczHczGczIcBeczKcqvaafaafaaaaaaaaaaaabquaaacdOcBlcDmcDacBocBpcDmcDpcBrcBpcDmcDtcdOaaaaaaccMaaaaafaaaaafaaaaafaaackxaaaaafaaaaafaafaafaafcrPaaacBscBscBscBsaaaaaacBscBscBscBscBscBscBscBscBsaaaaaacBscBscBscBsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccMaaaaaaaaaaaIaaaaaacAdcpFcqXcpFcDxcylcqXcpFcDNcylcqXcpFcAucylcpFcpFcDOcpFcDUcylcEccAzcAycABcEicErcACcAEcwgcEycAFcqAcAIcAKcumcAMcALcumcAScumcBfcuocBgcBicBhcBhcBjcqWcBVcBWcBWcBXcBYcAObPxcBZcvNcvNcCacCbcFecCbcCacCdcvNcrGcFgcrGaaaaaaaaaaaaaaaaaacqvctFcFrcuVctFcCgcChcFCctFcCjcCkcqycgvcBtcCkcCocrHaaaaaaaaaaaaaaaaaacgwaafcdOcCqcFEclUcomclscFFclqcomclocFKclWcdOaaaaaacrPaaactXctXctXctXctXaafckxaafctXctXctXctXctXaafcrPaaacBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaafaafaafaaIaafaafcAdcpFcFLcBycBxcFVcFUcBCcBBcGgcFWcBGcBFcGhcpFcBvcGocGucBJcBMcGvcnycnycnycnycnycnycnycnycGAcBNczAcBPcBQcoTcGEcoTcoTcxucoTcoTcGMcoTcBQcBTcCpcBUcCrcGOcHjcHacCPcHCcAObPwcCRcCScCTcCacAGcAVcBwcCacCtcCscCucHVcCXaaaaaaaaaaaaaaaaaacqvcCvctDcuQcIAcDbcuQcDccDdcDeaafaaachxcCxcCwcCyaaaaaaaaaaacaaaaaaaaaaaaaaacdOcDhcplcplcomcDicplcplcomcDicplcplcdOaafaafcrPaafckVckSckSckSckSckyckxckwckvckvckvckvckUaafcrPaaacBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPcCzaaaaaaaaIaaaaaacCAcCCcIMcCEcCDcCGcIRcCHcCDcCGcIRcCHcCDcCGcCIcCIcITcCHcCDcCGcIZcnyaaacCMcCLcCVcCUcCZcCWcDjcDgcDkcDkcJhcDlcDocDncDqcJlcDncDqcDocDrcJpcDscDrczAczAcAOcJAcJzcDPcDQcAObNUcDRcDScDTcCacCbcJBcCbcCacDvcDucDfaafaaaaaaaaaaaaaaaaaaaaacqvcCvcDVcDwcDXcDXcDwcsPcDYcqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacdOcDZcplcplcomcEacplcplcomcEacplcplcdOaaaaaacrPaafcwjcwjcwjcwjcwjaaackxaaacwjcwjcwjcwjcwjaaacrPaaacBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPcCzaaaaaaaaIaaaaaacCAcCCcIMcCEcCDcCGcIRcCHcCDcCGcIRcCHcCDcCGcCIcCIcITcCHcCDcCGcIZcnyaaacCMcCLcCVcCUcCZcCWcDjcDgcDkcDkcJhcDlcDocDncDqcJlcDncDqcDocDrcsncDscDrczAczAcAOcJAcJzcDPcDQcAObNUcDRcDScDTcCacCbcJBcCbcCacDvcDucDfaafaaaaaaaaaaaaaaaaaaaaacqvcCvcDVcDwcDXcDXcDwcsPcDYcqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacdOcDZcplcplcomcEacplcplcomcEacplcplcdOaaaaaacrPaafcwjcwjcwjcwjcwjaaackxaaacwjcwjcwjcwjcwjaaacrPaaacBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPcJCcJFcJFcJUcJFcJFcJFcJFcJVcJFcKdcJFcJVcJFcKdcJFcJVcJFcKdcJFcJFcJFcKdcJFcKdcJFcKoaafaaacDzcDycDBcDAcDDcDCcDjcDEcDkcDFcDHcDGcDJcDIcDLcDKcDWcDMcDJcEbcEdcKpcDraaaaafcAOcKqcECcEDaafaaabNUbPxbPxbSkcCaclZcEFclYcCaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacqvcEecuXcEfcEJcEJcEfcuQcEKcqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacdOcplcplcplcomcELcplcplcomcELcplcplcdOaacaaacrPaaaaaaaafaafaafaaaaaacmTaafaaaaaaaafaafaaaaaacrPaaacBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaabgaaaaaaaaaaaaaaaaaaaaacrPaafaafaaaaaqaaaaaaaafcgEcmtcmmcEgcgEcmtcmmcEgcgEcmtcmmcEhcgEaaacgEcEgcmmcEhcgEaaaaafaaacDzcEjcElcEkcEncEmcEpcEocDkcEqcEscKBcDJcEtcEvcEucExcEwcDJcKCcEAcEzcDraaaaaacAOcKDcFhcFiaaaaaabNUbPxbPxbNUcCacmUcmUcmUcCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacqvcEEcFncuQcuQcuQcuQcuQcFocqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaackEcdOcdOcdOcdOcdOcdOcdOcdOcmYcmYcmYckEaaaaaacrPcrPcrPcrPcrPaaaaaaaaacmZaaaaaaaaacrPcrPcrPccMcrPaaacBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaaaaafaafaaIaaaaaaaafcgEcEGcEIcEHcgEcEMcEOcENcgEcEPcERcEQcgEaafcgEcEScEUcETcgEaaaaafaaacDzcEVcDBcEncEncEWcEYcKEcFacEZcFccFbcKFcFdcFjcFfcFlcFkcFpcFmcKGcFqcDraafaaacFJcKIcKHcAOcKJaaabNUcFMcKKcFNcFOaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrHcqvcqvcFPcFQcEfcEfcEfcFRcFPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqpbqpbqpaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaafcfTaafcrPaaaaaaaaaaaaaaaaaaaaacBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaaaaafaafaaIaaaaaaaafcgEcEGcEIcEHcgEcEMcEOcENcgEcEPcERcEQcgEaafcgEcEScEUcETcgEaaaaafaaacDzcEVcDBcEncEncEWcEYcKEcFacEZcFccFbcKFcFdcFjcFfcFlcFkcFpcFmcClcFqcDraafaaacFJcKIcKHcAOcKJaaabNUcFMcKKcFNcFOaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrHcqvcqvcFPcFQcEfcEfcEfcFRcFPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqpbqpbqpaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaafcfTaafcrPaaaaaaaaaaaaaaaaaaaaacBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaIaaaaafaafcgEcFscFtcFscgEcFucFvcFucgEcFwcFxcFwcgEaaacgEcFwcFwcFycgEaaaaafaaacDzcCLcFzcEkcEncDCcFAcDEcDkcFBcFDcKLcDJcKMcFGcKNcFGcFHcDJcFIcFTcFScDraaLcKPcKOcKRcKQcKOcKOcKSbNUciEciDcGjaafaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacGlcEJcEJcEJcEJcEJcGlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaaaaafaaacrPaaaaaaaaaaaaaaaaaacBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaIaafaafaaacgEcFscKTcFscgEcFucKUcFucgEcFwcKVcFwcgEaafcgEcFwcKWcFwcgEaafaafaafcFYcFXcGacFZcGccGbcGdcDEcDkcGecKXcGfcDJcGicGmcGkcKYcGncDJcGpcGrcGqcDraaacLacKZcLccLbcLWcLdcLfcGFcGGcGHbNUaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacqvcCmcqxcqxcqxcCocqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPcrPcrPcrPcrPaaaaaaaaaaaaaaaaaacBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccMaaaaaacgEcgEcgEcgEcgEcgEcgEcgEcgEcgEcgEcgEcgEaaacGscgEcgEcgEcgEaaaaaaaaaaaacBNcBNcBNcBNcBNcLgcGtcGtcGtcGtcLhcGtcGwcGycGxcGycGzcGtcGtcLicGtcGtcGtcLacKZcLkcLjcLmcLlcLnaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaaaaaaaafaafaaaaafaafaaaaaaaafaafaafaaaaaaaaaaaaaaaaaaaafaaacGQcGRcGRcGRcGScGBcGDcGCcGIcLocGKcGJcLpcGLcLqcGNcGTcGPcGVcGUcGXcGWcGZcGYcHbcLrcGYcGtcLacKZcLtcLscLXcLucLvaafaaacGQcHccGQcHccGQcHcaafcHdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacBscBscBscBscBscBscBscBscBscBscBscBscBsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccMaaaaaacgEcgEcgEcgEcgEcgEcgEcgEcgEcgEcgEcgEcgEaaacGscgEcgEcgEcgEaaaaaaaaaaaacBNcBNcBNcBNcBNcLgcGtcGtcGtcGtcLhcGtcGwcGycGxcGycGzcGtcGtcCOcGtcGtcGtcLacKZcLkcLjcLmcLlcLnaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaaaaaaaafaafaaaaafaafaaaaaaaafaafaafaaaaaaaaaaaaaaaaaaaafaaacGQcGRcGRcGRcGScGBcGDcGCcGIcLocGKcGJcEBcGLcLqcGNcGTcGPcGVcGUcGXcGWcGZcGYcHbcLrcGYcGtcLacKZcLtcLscLXcLucLvaafaaacGQcHccGQcHccGQcHcaafcHdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacBscBscBscBscBscBscBscBscBscBscBscBscBsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafcHncjVcHpaaacHncjVcHpaaacHncjVcHpaafaafaaaaafaafaafaafaafcHqcGRcGRcGRcGScGBcHfcHecHhcHgcLwcHicHlcHkcHocHmcHscHrcHucHtcHucHucHucHvcHucHwcHxcGtcLxcKOcKOcKOcKOcKOcLyaafaafcHycHycHycHycHycHyaafcHdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaabgaaacBscBscBscBscBscBscBscBscBscBscBscBscBsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaacHncjWcHpaaacHncjWcHpaaacHncjWcHpaafaafaaaaafaaaaaacHKaafcGQcGRcGRcGRcGScGBcHfcHzcHBcHAcLzcHicHEcHDcHFcHbcHbcHbcHHcHGcHIcHbcHbcHDcHLcHJcHMcGtcGtcGtcHNaaaaaaaaaaaacHOaaacHPcHPcHPcHPcHPcHPaafcHdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacBscBscBscBscBscBscBscBscBscBscBscBscBsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafcHncjWcHpaaacHncjWcHpaafcHncjWcHpaafaaaaaaaafaafcIcaaaaafcHqcGRcGRcGRcGScGBcHRcHQcHTcHScLAcHUcHXcHWcHZcHYcHYcHYcIbcIacIdcHYcHYcIecIgcIfcIicIhcIkcIjcImcIlcIlcIlcIlcIlcIlcIncIocIncIocIncHyaafcHdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacBscBscBscBscBscBscBscBscBscBscBscBscBsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaacHncjWcHpaafcHncjWcHpaaacHncjWcHpaaaaaaaaaaaaaafaafaaaaafaaaaaaaaaaaaaafcIpcIrcIqcItcIscIucGJcIvcHbcHbcHbcIxcIwcIzcIycIBcLBcIDcICcIFcIEcIHcIGcINcIIcImcIOcIPcIOcIPcIOcIPcIOcIPcIOcIPcIOcHyaafcHdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacBscBscBscBscBscBscBscBscBsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaamaaIaafaaacHncjWcHpaafcHncjWcHpaaacHncjWcHpaafaaaaaaaaaaaaaafaafcIJcIKcIKcIKcIKcILcILcILcILcILcLCcILcGtcIQcHbcHbcHbcLDcGtcLEcIScLFcGtcLGcJdcJicIfcJkcJjcLHcGtaaacHPcHPcHPcHPcJmcHPcHPcHPcHPcHPcHPcHPaafcHdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacBscBscBscBscBscBscBsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaamaaIaafaaacHncjWcHpaafcHncjWcHpaaacHncjWcHpaafaaaaaaaaaaaaaafaafcIJcIKcIKcIKcIKcILcILcILcILcILcLCcILcGtcIQcHbcHbcHbcLDcGtcEXcIScJpcGtcLGcJdcJicIfcJkcJjcLHcGtaaacHPcHPcHPcHPcJmcHPcHPcHPcHPcHPcHPcHPaafcHdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacBscBscBscBscBscBscBsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaafaaaaafaafczCaafaafaafczCaafaaaaafczCaafaaaaaaaaaaaaaaacIUcIVcIWcIXcIYcJncJacJbcJcciFcJecJfcJgcJecGtcLIcJocHbcHbcJrcJqcJtcJscJucJqcJwcJvcIgcIfcJycJxcJLcGtaafcHycHycHycHycHycHycHycHycHycHycHycHyaafaanaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafcydcxzcxycxxcxxcxxcxxcxxcxxcxxcxxcxxcxxcxxczicxzcxzcxzcLKcLJcLMcLLcLNcJDcJEcLOcJGcJHcJHcJHcJIcJJcJKcGtcJMcJMcHbcHbcJrcJNcJPcJOcJQcJNcJwcHbcIFcJZcIHcHbcKacGtaafcHycHycHycHycHycHycHycHycHycHycHycHyaafcHdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafcydcxzcxycxxcxxcxxcxxcxxcxxcxxcxxcxxcxxcxxczicxzcxzcxzcLicKGcLMcLpcLEcJDcJEcLFcJGcJHcJHcJHcJIcJJcJKcGtcJMcJMcHbcHbcJrcJNcJPcJOcJQcJNcJwcHbcIFcJZcIHcHbcKacGtaafcHycHycHycHycHycHycHycHycHycHycHycHyaafcHdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYaaactYctYctYctYctYaaactYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaafaaaaafaafcxfaafaaaaafcxfaafaaaaafcxfaafaaaaaaaaaaaaaaacIUcIVcJRcJScJTcLPcIKcLQcJWcJecJecJXcJXcJYcGtcJMcJMcHbcHbcJrcKbcJPcKccLRcKbcKkcKecKscKmcKucKtcKvcGtaaacHPcHPcHPcHPcJmcHPcHPcHPcHPcHPcHPcHPaafaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYaaactYctYctYctYctYaaactYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaamaaIaafaafcHncwrcHpaaacHncwrcHpaaacHncwrcHpaafaaaaaaaaaaaaaafaafcKfcIKcIKcIKcIKcKgcKhcKicKicKjcKgcKgcGtcGtcGJcGtcGtcGtcGtcGtcKwcGtcGtcGtcGtcGtcGJcGtcGtcGtcGtaafcHycHycHycHycHycHycHycHycHycHycHycHyaafaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacHncwrcHpaafcHncwrcHpaaacHncwrcHpaaaaaaaaaaafaaaaafaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaafaaacKxaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaacHqcKycHqcKycKzcKycHqcKycHqcKycHqcKyaafaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa From 4e3e5581f3cd1d95c2ba09169774033a2a31cc55 Mon Sep 17 00:00:00 2001 From: Hubblenaut Date: Thu, 14 May 2015 17:43:34 +0200 Subject: [PATCH 238/305] Extends janitor access --- code/game/jobs/job/civilian.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/game/jobs/job/civilian.dm b/code/game/jobs/job/civilian.dm index e5ef21856e..073e663a4b 100644 --- a/code/game/jobs/job/civilian.dm +++ b/code/game/jobs/job/civilian.dm @@ -256,8 +256,8 @@ spawn_positions = 1 supervisors = "the head of personnel" selection_color = "#dddddd" - access = list(access_janitor, access_maint_tunnels) - minimal_access = list(access_janitor, access_maint_tunnels) + access = list(access_janitor, access_maint_tunnels, access_engine, access_research, access_sec_doors, access_medical) + minimal_access = list(access_janitor, access_maint_tunnels, access_engine, access_research, access_sec_doors, access_medical) equip(var/mob/living/carbon/human/H) From 1e1471a601c9ae04606c8b7783821fbde6cc2043 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Fri, 15 May 2015 18:59:22 +0930 Subject: [PATCH 239/305] Removes equip_e effect. Rewrites stripping, refactors cuffing. Fixes #8173. --- baystation12.dme | 1 + code/game/gamemodes/setupgame.dm | 161 ------- code/game/objects/items/stacks/medical.dm | 20 +- .../objects/items/weapons/dna_injector.dm | 114 ++--- code/game/objects/items/weapons/handcuffs.dm | 112 ++--- code/modules/mob/living/carbon/carbon.dm | 19 - code/modules/mob/living/carbon/human/human.dm | 77 ++- .../living/carbon/human/human_attackhand.dm | 35 +- .../mob/living/carbon/human/inventory.dm | 454 ------------------ .../living/carbon/human/species/species.dm | 4 - .../carbon/human/species/species_hud.dm | 54 +-- .../human/species/xenomorphs/alien_species.dm | 8 +- .../human/species/xenomorphs/xenomorphs.dm | 39 -- .../mob/living/carbon/human/stripping.dm | 200 ++++++++ .../mob/living/carbon/metroid/metroid.dm | 3 - .../mob/living/simple_animal/friendly/crab.dm | 237 --------- code/modules/mob/mob.dm | 17 +- .../reagents/reagent_containers/pill.dm | 7 +- 18 files changed, 389 insertions(+), 1173 deletions(-) create mode 100644 code/modules/mob/living/carbon/human/stripping.dm diff --git a/baystation12.dme b/baystation12.dme index 38b5899d66..35314d1fd1 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -1174,6 +1174,7 @@ #include "code\modules\mob\living\carbon\human\MedicalSideEffects.dm" #include "code\modules\mob\living\carbon\human\npcs.dm" #include "code\modules\mob\living\carbon\human\say.dm" +#include "code\modules\mob\living\carbon\human\stripping.dm" #include "code\modules\mob\living\carbon\human\unarmed_attack.dm" #include "code\modules\mob\living\carbon\human\update_icons.dm" #include "code\modules\mob\living\carbon\human\whisper.dm" diff --git a/code/game/gamemodes/setupgame.dm b/code/game/gamemodes/setupgame.dm index 2981596645..3c029d5298 100644 --- a/code/game/gamemodes/setupgame.dm +++ b/code/game/gamemodes/setupgame.dm @@ -24,44 +24,6 @@ if (prob(75)) DIFFMUT = rand(0,20) - /* Old, for reference (so I don't accidentally activate something) - N3X - var/list/avnums = new/list() - var/tempnum - - avnums.Add(2) - avnums.Add(12) - avnums.Add(10) - avnums.Add(8) - avnums.Add(4) - avnums.Add(11) - avnums.Add(13) - avnums.Add(6) - - tempnum = pick(avnums) - avnums.Remove(tempnum) - HULKBLOCK = tempnum - tempnum = pick(avnums) - avnums.Remove(tempnum) - TELEBLOCK = tempnum - tempnum = pick(avnums) - avnums.Remove(tempnum) - FIREBLOCK = tempnum - tempnum = pick(avnums) - avnums.Remove(tempnum) - XRAYBLOCK = tempnum - tempnum = pick(avnums) - avnums.Remove(tempnum) - CLUMSYBLOCK = tempnum - tempnum = pick(avnums) - avnums.Remove(tempnum) - FAKEBLOCK = tempnum - tempnum = pick(avnums) - avnums.Remove(tempnum) - DEAFBLOCK = tempnum - tempnum = pick(avnums) - avnums.Remove(tempnum) - BLINDBLOCK = tempnum - */ var/list/numsToAssign=new() for(var/i=1;i
    Command
    {{:value.name}}{{:value.rank}}{{:value.active}}
    Security
    {{:value.name}}{{:value.rank}}{{:value.active}}
    Engineering
    {{:value.name}}{{:value.rank}}{{:value.active}}
    Medical
    {{:value.name}}{{:value.rank}}{{:value.active}}
    Science
    {{:value.name}}{{:value.rank}}{{:value.active}}
    Civilian
    {{:value.name}}{{:value.rank}}{{:value.active}}
    Misc
    {{:value.name}}{{:value.rank}}{{:value.active}}
    " - dat += "" - dat += "" - dat += "" - dat += "" - dat += "" - dat += "" - dat += "" - dat += "" - dat += "" - dat += "" - dat += "" - - //WIP gene sequences - for(var/sequence_num = 1, sequence_num <= discovered_genesequences.len, sequence_num += 1) - var/datum/genesequence/cur_genesequence = discovered_genesequences[sequence_num] - dat += "" - var/num_correct = 0 - for(var/curindex = 1, curindex <= 7, curindex++) - var/bgcolour = "#ffffff"//white ffffff, red ff0000 - - //background colour hints at correct positioning - if(manually_placed_genomes[sequence_num][curindex]) - //green background if slot is correctly filled - if(manually_placed_genomes[sequence_num][curindex] == cur_genesequence.full_genome_sequence[curindex]) - bgcolour = "#008000" - num_correct += 1 - if(num_correct == 7) - discovered_genesequences -= cur_genesequence - completed_genesequences += cur_genesequence - manually_placed_genomes[sequence_num] = new/list(7) - interact(user) - return - //yellow background if adjacent to correct slot - if(curindex > 1 && manually_placed_genomes[sequence_num][curindex] == cur_genesequence.full_genome_sequence[curindex - 1]) - bgcolour = "#ffff00" - else if(curindex < 7 && manually_placed_genomes[sequence_num][curindex] == cur_genesequence.full_genome_sequence[curindex + 1]) - bgcolour = "#ffff00" - - var/this_genome_slot = manually_placed_genomes[sequence_num][curindex] - if(!this_genome_slot) - this_genome_slot = "- - - - -" - dat += "" - dat += "" - //dat += "" - dat += "" - - //completed gene sequences - for(var/sequence_num = 1, sequence_num <= completed_genesequences.len, sequence_num += 1) - var/datum/genesequence/cur_genesequence = completed_genesequences[sequence_num] - dat += "" - for(var/curindex = 1, curindex <= 7, curindex++) - var/this_genome_slot = cur_genesequence.full_genome_sequence[curindex] - dat += "" - dat += "" - dat += "" - dat += "" - - dat += "
    GENE1GENE2GENE3GENE4GENE5GENE6GENE7
    [this_genome_slot]ResetClone
    [this_genome_slot]WipeClone
    " - - dat += "
    " - dat += "
    " - dat += "Close" - user << browse(dat, "window=reconstitutor;size=600x500") - user.set_machine(src) - onclose(user, "reconstitutor") - -/obj/machinery/computer/reconstitutor/animal/Topic(href, href_list) - if(..()) return 1 - if(href_list["clone"]) - var/sequence_num = text2num(href_list["sequence_num"]) - var/datum/genesequence/cloned_genesequence = completed_genesequences[sequence_num] - if(pod1) - if(pod1.occupant) - visible_message("\red \icon[src] The cloning pod is currently occupied.") - else if(pod1.biomass < CLONE_BIOMASS) - visible_message("\red \icon[src] Not enough biomass in the cloning pod.") - else if(pod1.mess) - visible_message("\red \icon[src] Error: clonepod malfunction.") - else - visible_message("\blue \icon[src] [src] clones something from a reconstituted gene sequence!") - playsound(src.loc, 'sound/effects/screech.ogg', 50, 1, -3) - pod1.occupant = new cloned_genesequence.spawned_type(pod1) - pod1.locked = 1 - pod1.icon_state = "pod_1" - //pod1.occupant.name = "[pod1.occupant.name] ([rand(0,999)])" - pod1.biomass -= CLONE_BIOMASS - else - usr << "\red \icon[src] Unable to locate cloning pod!" - -/obj/machinery/computer/reconstitutor/Topic(href, href_list) - if(..()) return 1 - if(href_list["insertpos"]) - //world << "inserting gene for genesequence [href_list["insertgenome"]] at pos [text2num(href_list["insertpos"])]" - var/sequence_num = text2num(href_list["sequence_num"]) - var/insertpos = text2num(href_list["insertpos"]) - - var/old_genome = manually_placed_genomes[sequence_num][insertpos] - discovered_genomes = sortList(discovered_genomes) - var/new_genome = input(usr, "Which genome do you want to insert here?") as null|anything in discovered_genomes - if(new_genome == "! Clear !") - manually_placed_genomes[sequence_num][insertpos] = null - else if(new_genome) - manually_placed_genomes[sequence_num][insertpos] = new_genome - discovered_genomes.Remove(new_genome) - if(old_genome) - discovered_genomes.Add(old_genome) - updateDialog() - - else if(href_list["reset"]) - var/sequence_num = text2num(href_list["sequence_num"]) - for(var/curindex = 1, curindex <= 7, curindex++) - var/old_genome = manually_placed_genomes[sequence_num][curindex] - manually_placed_genomes[sequence_num][curindex] = null - if(old_genome) - discovered_genomes.Add(old_genome) - updateDialog() - - else if(href_list["wipe"]) - var/sequence_num = text2num(href_list["sequence_num"]) - var/datum/genesequence/wiped_genesequence = completed_genesequences[sequence_num] - completed_genesequences.Remove(wiped_genesequence) - discovered_genesequences.Add(wiped_genesequence) - - discovered_genomes.Add(wiped_genesequence.full_genome_sequence) - discovered_genomes = sortList(discovered_genomes) - updateDialog() - - else if(href_list["clone"]) - var/sequence_num = text2num(href_list["sequence_num"]) - var/datum/genesequence/cloned_genesequence = completed_genesequences[sequence_num] - visible_message("\blue \icon[src] [src] clones a packet of seeds from a reconstituted gene sequence!") - playsound(src.loc, 'sound/effects/screech.ogg', 50, 1, -3) - new cloned_genesequence.spawned_type(src.loc) - - else if(href_list["close"]) - usr.unset_machine(src) - usr << browse(null, "window=reconstitutor") - -/obj/machinery/computer/reconstitutor/proc/scan_fossil(var/obj/item/weapon/fossil/scan_fossil) - //see whether we accept these kind of fossils - if(accepted_fossil_types.len && !accepted_fossil_types.Find(scan_fossil.type)) - return SCANFOSSIL_RETVAL_WRONGTYPE - - //see whether we are going to discover a new sequence, new genome for existing sequence or nothing - var/new_genome_prob = discovered_genesequences.len * 50 - - if( (new_genome_prob >= 100 || prob(new_genome_prob)) && undiscovered_genomes.len) - //create a new genome for an existing gene sequence - var/newly_discovered_genome = pick(undiscovered_genomes) - undiscovered_genomes -= newly_discovered_genome - discovered_genomes.Add(newly_discovered_genome) - - //chance to discover a second genome - if(prob(75)) - newly_discovered_genome = pick(undiscovered_genomes) - undiscovered_genomes -= newly_discovered_genome - discovered_genomes.Add(newly_discovered_genome) - //chance to discover a third genome - if(prob(50)) - newly_discovered_genome = pick(undiscovered_genomes) - undiscovered_genomes -= newly_discovered_genome - discovered_genomes.Add(newly_discovered_genome) - - else if(undiscovered_genesequences.len) - //discover new gene sequence - var/datum/genesequence/newly_discovered_genesequence = pick(undiscovered_genesequences) - undiscovered_genesequences -= newly_discovered_genesequence - discovered_genesequences += newly_discovered_genesequence - //add genomes for new gene sequence to pool of discoverable genomes - undiscovered_genomes.Add(newly_discovered_genesequence.full_genome_sequence) - manually_placed_genomes.Add(null) - manually_placed_genomes[manually_placed_genomes.len] = new/list(7) - - else - //there's no point scanning any more fossils, we've already discovered everything - return SCANFOSSIL_RETVAL_NOMOREGENESEQ - - return SCANFOSSIL_RETVAL_SUCCESS - -#undef SCANFOSSIL_RETVAL_WRONGTYPE -#undef SCANFOSSIL_RETVAL_NOMOREGENESEQ -#undef SCANFOSSIL_RETVAL_SUCCESS - - -/obj/item/weapon/circuitboard/reconstitutor - name = "Circuit board (Flora Reconstitution Console)" - build_path = "/obj/machinery/computer/reconstitutor" - origin_tech = "programming=2;biotech=4;materials=6" - req_components = list( - "/obj/item/weapon/stock_parts/scanning_module/adv" = 2, - "/obj/item/weapon/stock_parts/manipulator/nano" = 1, - "/obj/item/weapon/stock_parts/matter_bin" = 1, - "/obj/item/weapon/stock_parts/capacitor/adv" = 1) - -/obj/item/weapon/circuitboard/reconstitutor/animal - name = "Circuit board (Fauna Reconstitution Console)" - build_path = "/obj/machinery/computer/reconstitutor/animal" - origin_tech = "programming=2;biotech=4;materials=6" - req_components = list( - "/obj/item/weapon/stock_parts/scanning_module/adv" = 2, - "/obj/item/weapon/stock_parts/manipulator/nano" = 1, - "/obj/item/weapon/stock_parts/matter_bin" = 1, - "/obj/item/weapon/stock_parts/capacitor/adv" = 1) diff --git a/code/modules/research/xenoarchaeology/master_controller.dm b/code/modules/research/xenoarchaeology/master_controller.dm index fa09ca6470..332b1ce06a 100644 --- a/code/modules/research/xenoarchaeology/master_controller.dm +++ b/code/modules/research/xenoarchaeology/master_controller.dm @@ -1,37 +1,8 @@ /datum/controller/game_controller - var/list/all_animal_genesequences = list() - var/list/all_plant_genesequences = list() - var/list/genome_prefixes = null var/list/artifact_spawning_turfs = list() var/list/digsite_spawning_turfs = list() - var/list/spawn_types_animal = list("/mob/living/carbon/slime",\ - "/mob/living/simple_animal/hostile/alien",\ - "/mob/living/simple_animal/hostile/alien/drone",\ - "/mob/living/simple_animal/hostile/alien/sentinel",\ - "/mob/living/simple_animal/hostile/giant_spider",\ - "/mob/living/simple_animal/hostile/giant_spider/hunter",\ - "/mob/living/simple_animal/hostile/giant_spider/nurse",\ - "/mob/living/simple_animal/hostile/creature",\ - "/mob/living/simple_animal/hostile/samak",\ - "/mob/living/simple_animal/hostile/diyaab",\ - "/mob/living/simple_animal/hostile/shantak",\ - "/mob/living/simple_animal/tindalos",\ - "/mob/living/simple_animal/yithian") - - var/list/spawn_types_plant = list("/obj/item/seeds/walkingmushroommycelium",\ - "/obj/item/seeds/killertomatoseed",\ - "/obj/item/seeds/shandseed", - "/obj/item/seeds/mtearseed", - "/obj/item/seeds/thaadra",\ - "/obj/item/seeds/telriis",\ - "/obj/item/seeds/jurlmah",\ - "/obj/item/seeds/amauri",\ - "/obj/item/seeds/gelthi",\ - "/obj/item/seeds/vale",\ - "/obj/item/seeds/surik") - #define XENOARCH_SPAWN_CHANCE 0.5 #define DIGSITESIZE_LOWER 4 #define DIGSITESIZE_UPPER 12 @@ -104,40 +75,6 @@ datum/controller/game_controller/proc/SetupXenoarch() var/turf/simulated/mineral/artifact_turf = pop(artifacts_spawnturf_temp) artifact_turf.artifact_find = new() - //make sure we have some prefixes for the gene sequences - if(!genome_prefixes) - genome_prefixes = alphabet_uppercase.Copy() - if(!genome_prefixes.len) - qdel(genome_prefixes) - genome_prefixes = alphabet_uppercase.Copy() - - //create animal gene sequences - while(spawn_types_animal.len && genome_prefixes.len) - var/datum/genesequence/new_sequence = new/datum/genesequence() - new_sequence.spawned_type_text = pick(spawn_types_animal) - new_sequence.spawned_type = text2path(new_sequence.spawned_type_text) - spawn_types_animal -= new_sequence.spawned_type_text - - var/prefixletter = pick(genome_prefixes) - genome_prefixes -= prefixletter - while(new_sequence.full_genome_sequence.len < 7) - new_sequence.full_genome_sequence.Add("[prefixletter][pick(alphabet_uppercase)][pick(alphabet_uppercase)][pick(1,2,3,4,5,6,7,8,9,0)][pick(1,2,3,4,5,6,7,8,9,0)]") - - all_animal_genesequences.Add(new_sequence) - - //create plant gene sequences - while(spawn_types_plant.len && genome_prefixes.len) - var/datum/genesequence/new_sequence = new/datum/genesequence() - new_sequence.spawned_type = pick(spawn_types_plant) - spawn_types_plant -= new_sequence.spawned_type_text - - var/prefixletter = pick(genome_prefixes) - genome_prefixes -= prefixletter - while(new_sequence.full_genome_sequence.len < 7) - new_sequence.full_genome_sequence.Add("[prefixletter][pick(1,2,3,4,5,6,7,8,9,0)][pick(1,2,3,4,5,6,7,8,9,0)][pick(alphabet_uppercase)][pick(alphabet_uppercase)]") - - all_plant_genesequences.Add(new_sequence) - #undef XENOARCH_SPAWN_CHANCE #undef DIGSITESIZE_LOWER #undef DIGSITESIZE_UPPER diff --git a/maps/exodus-1.dmm b/maps/exodus-1.dmm index 2c87632d48..5d41e5d42d 100644 --- a/maps/exodus-1.dmm +++ b/maps/exodus-1.dmm @@ -5801,7 +5801,7 @@ "chC" = (/obj/machinery/door/airlock/medical{autoclose = 0; icon_state = "door_open"; id_tag = "cubicle1"; name = "Cubicle 1"},/turf/simulated/floor{icon_state = "freezerfloor"},/area/medical/patient_wing) "chD" = (/obj/machinery/door/airlock/medical{autoclose = 0; icon_state = "door_open"; id_tag = "cubicle2"; name = "Cubicle 2"},/turf/simulated/floor{icon_state = "freezerfloor"},/area/medical/patient_wing) "chE" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "hydrofloor"},/area/rnd/xenobiology/xenoflora) -"chF" = (/obj/machinery/computer/reconstitutor,/obj/machinery/light_switch{pixel_x = 26; pixel_y = -6},/turf/simulated/floor{icon_state = "hydrofloor"},/area/rnd/xenobiology/xenoflora) +"chF" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor{icon_state = "hydrofloor"},/area/rnd/xenobiology) "chG" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Solar - Aft Starboard"},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) "chH" = (/turf/simulated/floor/engine{name = "air floor"; nitrogen = 10580; oxygen = 2644},/area/engineering/atmos) "chI" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor{dir = 8; icon_state = "whitegreen"},/area/rnd/xenobiology/xenoflora_storage) @@ -6878,7 +6878,7 @@ "cCn" = (/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "virology_sensor"; pixel_x = 25; pixel_y = 12},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "virology_pump"; tag_exterior_door = "virology_outer"; frequency = 1379; id_tag = "virology_airlock"; tag_interior_door = "virology_inner"; pixel_x = 25; req_access = list(13); tag_chamber_sensor = "virology_sensor"},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1379; id_tag = "virology_pump"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 5},/area/maintenance/medbay) "cCo" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/medical/virology) "cCp" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor,/area/engineering) -"cCq" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/computer/reconstitutor/animal,/turf/simulated/floor{icon_state = "hydrofloor"},/area/rnd/xenobiology) +"cCq" = (/obj/machinery/light_switch{pixel_x = 26; pixel_y = -6},/turf/simulated/floor{icon_state = "hydrofloor"},/area/rnd/xenobiology/xenoflora) "cCr" = (/obj/structure/sign/securearea,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/wall/r_wall,/area/engineering) "cCs" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating/airless,/area/space) "cCt" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/plating/airless,/area/space) @@ -7539,7 +7539,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafccRccRcebccTcfZceiccUccWccVbYIcgeccHccIcgfccKccLcgmccNccOcgoccXcdaccZcdecdbbqTcdycdQcdFcekceecembsccdccddaJEcdfcaqbTFcbIcdgcdhcdicgOcdkcdlcgRcdncdocgWcdqcdrcdsbqtcaEcducdvcdwcaIbZxbWQcenbZycdxbqbbZAcdzcdAbqabZAcaPbYfbYfcaQbYccbYcbXcbZbYcchBccacjfcdLcdLbyFbBucdLcdOcdPceqcdRcdOcdSbBpbyebydcdScdScdScdScgXbyebydcdScdSbXjcdXbpZbpAceachabpybpsbycbycbycbycbycbycbycbycbycbycbycbycbycbycbycbycchicegcegcehbKtbKtbLTbLTchnbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacejcejcejcejcejcejcejcetcesbYIbYIbYIbYIbYIchpchuchqchqchqchzcewbXzbXybYeceybYjceEceTceSceWceUceXbSUcezaJFceYaJFcaqbTFcbIceDcfacfacfaceFceGbTJchPchLbTJcbKcbNceJceHcaEchSceLceMcaIbZxbWQceNbZyceOcePbZAbZAbZAbZAbZAccbceRbYfcaQbYcccdbszbYcbYcchBcifcjfcdLbsycfbcfbcfccdOcfdciycffcdOcfgcfhcfhcfhciCciLciKbsxciPcfnbsecfpcdScfqcfrciQbUnbUnbUnbUnaaaaafaaaaaaaaaaahaahaahaafaaaaaaaafaaaaaaaafaafaafcftcfBcfvbNebKsbKtbKtbLTbLUbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaafaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafcejcfwcfxcvbcvccwfcejcfDcfCcfFcfEcfHciVcjacjacfKcfJcfJcjlcjpcbqbXzbXybYecfNcaicfOcfQcfPcvtcwecggbSUaJFaJFcaqceBcaqbTFcbIcfVcfWcfWcfWcfXcbIcfYcjtcgacfYcgbcgccgdcjvcaEcjCceLcgicaIcghccfcwEbZycgkcglbZycjIbLvbVicgnccgcchbYfccjcciccicckcclcclcclcclccmcdLckncgycgycgzcgActscgrcgpcgucgtcgGcgGcgGcgxcgIcgIcgJckocgLcgDcgMcdScgNcwDcgPcgNaaaaaaaaaaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafcgQbKqbKqbKrbKsbKsbKtbKtbKtbKtbKuaafaafaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaafaafaafcgEcgEcgEcgEcgEcgEcgEcgEcgEcgEcgEcgEcgEaaaaaacgScgTcgTcgTcgUcsdcejcgHcgFckFcgKckQckNclgclfcluclpclCchcchfchechhchgchjclGbSUbSUbSUbSUbSUbSUbSUbSUcmgclVcaqcmkcaqbTFcbIcbIctpctqctrcbIcbIcsnchschtcfYcaEcaEcaEcaEcaEcaIchkchlcaIchwcsZchwbZyctGctbbZychAchBbVichCbVichDbYfccobYfbYfccpcdCcdCcdCcdDbYfcdLchIchJchJchKcmschMchochOcmwchQckLckLckLckLcuOctUckLcmGckLchEchFcdSchZciachGcgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaaaaaaaaaaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaafaafaafcgEcgEcgEcgEcgEcgEcgEcgEcgEcgEcgEcgEcgEaaaaaacgScgTcgTcgTcgUcsdcejcgHcgFckFcgKckQckNclgclfcluclpclCchcchfchechhchgchjclGbSUbSUbSUbSUbSUbSUbSUbSUcmgclVcaqcmkcaqbTFcbIcbIctpctqctrcbIcbIcsnchschtcfYcaEcaEcaEcaEcaEcaIchkchlcaIchwcsZchwbZyctGctbbZychAchBbVichCbVichDbYfccobYfbYfccpcdCcdCcdCcdDbYfcdLchIchJchJchKcmschMchochOcmwchQckLckLckLckLcuOctUckLcmGckLchEcCqcdSchZciachGcgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaaaaaaaaaaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacgEchHcmPchHcgEchNcmQchNcgEchRcmRchRcgEaaaaaaciicgTcgTcgUcgUcyScejchUchTchWchVcmXchXcidciccnecieciecigciecbqbXzcihbYecikcimcilciocinciocipcirciqciqciAciAciAciAbTFciGciHciIciIciJcnfcngciMciXciOcnucnhciRciSciSciTciUcaIcaIcaIcnwcdEckqbZybZybZybZychBchBbViciYbViciZbYfccobYfaaaaaaaaaaaaaaaaaaaaacdLcjgcisciucitcjjcjkcivcjmcjncjociwcjocjocixcyVcyUcgIcnEcgIciWcyTcdScnFcjwcjxcgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacgEchHcjbchHcgEchNcjcchNcgEchRcjdchRcgEaaaaaaciicgTcgUcgUcgUcjBcnIcjhcjechWcjicnLcnKcnPcnNcjzcjycjDcjAcjEcbqbXzcjFchjcjGcnQcjHcjJcjJcjJcjKcjMcjLcjNcolcjOceAciAbTFciGcxnciIckbckccxecubcxJckgckhctQcxwckkcklciScywciUconcoqcxYcjQcjPcdHcyLcdIcdIcdJcdIcdKbVibVibVibVibYfccobYfaaaaaaaaaaaaaaaaaaaaacdLcorcjRcjTcjSckEcdOcotcdOckGckHcjXcjUcjUcjYcgIcgIckecjZcjUckickOcdSckPcwGckRcgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacgEckrckuckscgEckzckBckAcgEckDckJckIcgEaaaaafciiclbcgTcgUcgUcgUcejckMckKchWchWcoAchWchWchWchWckTcieckWckYcbqclackZcldclccoBcleclhclhclhclicljcljclkciAcllcgqclwclxciGcDdciIclzclAclBcoCclDclEclFcoFclHclIclJciScDcciUcoJcoLclNclnclmclQclNclRclSclTbYfceQcdIcdIcdIcdIcdIcltbYfaaaaaaaaaaaaaaaaaaaaacdLcmacmbcmccmdcdOcmecmfcpdcdScmhcmicmicmiclvcpfcmlclPclOcmicmicmncdScmocDFcmqcmraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -7557,7 +7557,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaaaaaaaaacptcpFczmcrWcrWczpcxGcrWczpcrWcxIcBucuEcuEcBzcuEcBAcuEcuEcuYcBDczncpFcpFcyjcylcykcyncBEcyocpFcBHcyqcyscyscBIcytcoTcxucyvcnOchbcpacyxcpacBKcyycpjcpjcpjcpjcpjcpjcpjbPxcvMcvNcyMcyNcxLcyOcxLcxNcyPcvNcyQcBLcrGaaaaaaaaaaaaaaaaaacqvcuVcBOctFctFchdcyAchmcyWctMctDctNcyBctMcvhcyYcqvaaaaaaaaaaaacdOcplcplcplckXcBRczacrNcrNcrNcyfcrNczbcrNczccrNczdaafaafcrPaafckVckSckSckSckSckyckxckwckvckvckvckvckUaafcrPaaacBscBscBscBsaaaaaaaaacBscBscBscBscBscBscBsaaaaaaaaacBscBscBscBsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaaaaaaaaacptcpFcqXcpFcpFcpFczMcpFcpFcpFczMcpFcpFcpFcyCcpFcvWcpFcpFcpFcyDczncpFcpFcBScAtctfcyGcwgcCccwgcwgcyqcCecyIcCfcytcoTcxucoTcnOcijchYchychvczfcpacnOczgchrchrczhcCicjqczNczOcvNcxNczPczQcxNczRczSczTcvNczUcCncrGaaaaaaaaaaaaaaaaaacqvczWcuMcCBcuVczYczZcAactFcAbcAccsPcyBczWczjcAecqvaaaaaaaaaaaackEcdOcAfcAgcAgczkcAicAjcAkcAlcAmcAncAocApcAqcokcAraaaaaacrPaafcwjcwjcwjcwjcwjaaackxaafcwjcwjcwjcwjcwjaaacrPaaacBscBscBscBsaaaaaacBscBscBscBscBscBscBscBscBsaaaaaacBscBscBscBsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaIaaaaaaczlcpFcqXcpFcCFcxacufcxacCJcxacufcxacCJcxacxccxacxbcCKctectdcCNctfczsczucztczwczvczxcwgczzczycwgcwgcwgcwgcwgczAcjscjrcjscnOcnOcnOcnOcnOcnOcnOcnOczDchrchrczEcANcAObPxcAPcvNcAQcARcCQcATcCYcAVcAWcvNcAXcAYcrGaaaaaaaaaaaaaaaaaacqvcuQcAZcAectFcBacBbcBcctFcBdcBeczHczGczIcBeczKcqvaafaafaaaaaaaaaaaabquaaacdOcBlcDmcDacBocBpcDmcDpcBrcBpcDmcDtcdOaaaaaaccMaaaaafaaaaafaaaaafaaackxaaaaafaaaaafaafaafaafcrPaaacBscBscBscBsaaaaaacBscBscBscBscBscBscBscBscBsaaaaaacBscBscBscBsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccMaaaaaaaaaaaIaaaaaacAdcpFcqXcpFcDxcylcqXcpFcDNcylcqXcpFcAucylcpFcpFcDOcpFcDUcylcEccAzcAycABcEicErcACcAEcwgcEycAFcjucAIcAKcumcAMcALcumcAScumcBfcuocBgcBicBhcBhcBjckacBVcBWcBWcBXcBYcAObPxcBZcvNcvNcCacCbcFecCbcCacCdcvNcrGcFgcrGaaaaaaaaaaaaaaaaaacqvctFcFrcuVctFckdcChcFCctFcCjcCkcqycgvcBtcCkcCocrHaaaaaaaaaaaaaaaaaacgwaafcdOcCqcFEclUcomclscFFclqcomclocFKclWcdOaaaaaacrPaaactXctXctXctXctXaafckxaafctXctXctXctXctXaafcrPaaacBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccMaaaaaaaaaaaIaaaaaacAdcpFcqXcpFcDxcylcqXcpFcDNcylcqXcpFcAucylcpFcpFcDOcpFcDUcylcEccAzcAycABcEicErcACcAEcwgcEycAFcjucAIcAKcumcAMcALcumcAScumcBfcuocBgcBicBhcBhcBjckacBVcBWcBWcBXcBYcAObPxcBZcvNcvNcCacCbcFecCbcCacCdcvNcrGcFgcrGaaaaaaaaaaaaaaaaaacqvctFcFrcuVctFckdcChcFCctFcCjcCkcqycgvcBtcCkcCocrHaaaaaaaaaaaaaaaaaacgwaafcdOchFcFEclUcomclscFFclqcomclocFKclWcdOaaaaaacrPaaactXctXctXctXctXaafckxaafctXctXctXctXctXaafcrPaaacBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaafaafaafaaIaafaafcAdcpFcFLcBycBxcFVcFUcBCcBBcGgcFWcBGcBFcGhcpFcBvcGocGucBJcBMcGvcnycnycnycnycnycnycnycnycGAcBNczAcBPcBQcoTcGEcoTcoTcxucoTcoTcGMcoTcBQcBTcCpcBUcCrcGOcHjcHacCPcHCcAObPwcCRcCScCTcCacAGcAVcBwcCacCtcCscCucHVcCXaaaaaaaaaaaaaaaaaacqvcCvctDcuQcIAcDbcuQckfckjcDeaafaaachxcCxcCwcCyaaaaaaaaaaacaaaaaaaaaaaaaaacdOcDhcplcplcomcDicplcplcomcDicplcplcdOaafaafcrPaafckVckSckSckSckSckyckxckwckvckvckvckvckUaafcrPaaacBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPcCzaaaaaaaaIaaaaaacCAcCCcIMcCEcCDcCGcIRcCHcCDcCGcIRcCHcCDcCGcCIcCIcITcCHcCDcCGcIZcnyaaacCMcCLcCVcCUcCZcCWcDjcDgcDkcDkcJhcDlcDocDncDqcJlcDncDqcDocDrckmcDscDrczAczAcAOcJAcJzcDPcDQcAObNUcDRcDScDTcCacCbcJBcCbcCacDvcDucDfaafaaaaaaaaaaaaaaaaaaaaacqvcCvcDVcDwckpckpcDwcsPcDYcqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacdOcDZcplcplcomcEacplcplcomcEacplcplcdOaaaaaacrPaafcwjcwjcwjcwjcwjaaackxaaacwjcwjcwjcwjcwjaaacrPaaacBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPcJCcJFcJFcJUcJFcJFcJFcJFcJVcJFcKdcJFcJVcJFcKdcJFcJVcJFcKdcJFcJFcJFcKdcJFcKdcJFcKoaafaaacDzcDycDBcDAcDDcDCcDjcDEcDkclrcDHcDGcDJclyckCcDKcDWcDMcDJcEbcEdcKpcDraaaaafcAOcKqcECcEDaafaaabNUbPxbPxbSkcCaclZcEFclYcCaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacqvcEecuXcEfcgjcgjcEfcuQcEKcqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacdOcplcplcplcomcELcplcplcomcELcplcplcdOaacaaacrPaaaaaaaafaafaafaaaaaacmTaafaaaaaaaafaafaaaaaacrPaaacBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBscBsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa diff --git a/maps/exodus-5.dmm b/maps/exodus-5.dmm index 22cbab0b9a..8aba1343d8 100644 --- a/maps/exodus-5.dmm +++ b/maps/exodus-5.dmm @@ -266,7 +266,6 @@ "ff" = (/turf/simulated/floor/airless{icon_state = "damaged3"},/area/outpost/abandoned) "fg" = (/obj/machinery/newscaster{layer = 3.3; pixel_x = 0; pixel_y = -27},/turf/simulated/floor/wood,/area/outpost/research/hallway) "fh" = (/obj/structure/bookcase/manuals/xenoarchaeology,/turf/simulated/floor/wood,/area/outpost/research/hallway) -"fi" = (/obj/machinery/computer/reconstitutor,/turf/simulated/floor/wood,/area/outpost/research/hallway) "fj" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/reagent_dispensers/water_cooler,/turf/simulated/floor/wood,/area/outpost/research/hallway) "fk" = (/obj/structure/extinguisher_cabinet{pixel_x = -25; pixel_y = 0},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/outpost/research/hallway) "fl" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "white"},/area/outpost/research/hallway) @@ -1682,7 +1681,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaecocqcpcrabababababababababababababababababababababababababababababababababababababababababababababababababababababalaaaaaaexexexexexexexcscwcxcyctctcucvctcycFcEcDcCcBcAczcMcMcLcKcJcIcHcGcOdDddazazalalalaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaefxemelekcrababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaexexexexexexexejcwdAdBdCeifFdFdGdYaGeadZaGebedecehdNjQaGdVdUaidWdWdWdWeeefegalalaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaedLdKdMcrdJdIcrcrcrcrabababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaexexexexexexexdHcwdAdBdCdOdPdFdGdyaGdxdwaGkaaGaGaGaGcCaGkoduaidtdodpdmdndqdrdqdqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacaaacacacacacaaacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaegzfefEfHgVfGafbCeYcrfbfacrabababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaexexexexexexexaifkflfjdCfhfidFfgfvaGfzfwfsfrfuftfoaGeLeKfmeRaifnfAfBfCfDdqalalalaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacaaacacacacacaaacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaegzfefEfHgVfGafbCeYcrfbfacrabababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaexexexexexexexaifkflfjdCfhdGdFfgfvaGfzfwfsfrfuftfoaGeLeKfmeRaifnfAfBfCfDdqalalalaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacaaacacacacacaaacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaefcfdfeffeUeTeWeVeYeXfaeZfbcrabababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaeAereseyezeresevewepeqeneneneoeoeoeoeoeSeReQePeOeNeMaGfqfpeJeIaieHeFeGeDeEeCaGaGeBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacaaaaaaaaaaaaaaacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahSfchbfcfEfEdJheeUcrekhdcrfahccrabababababababababababababababababababababababababababababababababababababababababababababababdXaaaaaaaaaagMgPgQgNgOgTgQgRgSgWgXgUhahfeogYgZgweoloeRgBgAgDgCgEaGgGgFgIgHaiaigJaiaiaieReRgKeBeBeBeBgLeBeBeBeBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaegugvfEgsgtfEcpgqeTgrgpgocrcrcrcrcrcrababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaagngbgcgcgcgcgdgegfggghgigjgkeoglgmfVfUfTeIfXfWeReRfYfweReReJeIgafZfKfLfIlyeReRfMeBfOfPeBfNfRfSfQeBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa diff --git a/maps/exodus-6.dmm b/maps/exodus-6.dmm index 25a83f2dc9..df2be4562e 100644 --- a/maps/exodus-6.dmm +++ b/maps/exodus-6.dmm @@ -1,5 +1,5 @@ "a" = (/turf/space,/area/space) - + (1,1,1) = {" aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -257,3 +257,4 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa "} + From 00855d636f8a0b7aeef02f891a8caa6f30c02262 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Sat, 16 May 2015 17:54:21 +0930 Subject: [PATCH 257/305] Fixes #8389 --- code/game/supplyshuttle.dm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/code/game/supplyshuttle.dm b/code/game/supplyshuttle.dm index c8adfebe20..2b39256e5b 100644 --- a/code/game/supplyshuttle.dm +++ b/code/game/supplyshuttle.dm @@ -25,6 +25,7 @@ var/list/mechtoys = list( /obj/item/weapon/paper/manifest name = "supply manifest" + var/is_copy = 1 /area/supply/station name = "Supply Shuttle" @@ -197,8 +198,8 @@ var/list/mechtoys = list( // Sell manifests var/atom/A = atom if(find_slip && istype(A,/obj/item/weapon/paper/manifest)) - var/obj/item/weapon/paper/slip = A - if(slip.stamped && slip.stamped.len) //yes, the clown stamp will work. clown is the highest authority on the station, it makes sense + var/obj/item/weapon/paper/manifest/slip = A + if(!slip.is_copy && slip.stamped && slip.stamped.len) //yes, the clown stamp will work. clown is the highest authority on the station, it makes sense points += points_per_slip find_slip = 0 continue @@ -256,6 +257,7 @@ var/list/mechtoys = list( //supply manifest generation begin var/obj/item/weapon/paper/manifest/slip = new /obj/item/weapon/paper/manifest(A) + slip.is_copy = 0 slip.info = "

    [command_name()] Shipping Manifest



    " slip.info +="Order #[SO.ordernum]
    " slip.info +="Destination: [station_name]
    " From edb1d501d6b96abd8963aa6cc4605dc46fb10e4a Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Sat, 16 May 2015 17:56:28 +0930 Subject: [PATCH 258/305] Fixes #9217 --- code/game/objects/items/devices/scanners.dm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/code/game/objects/items/devices/scanners.dm b/code/game/objects/items/devices/scanners.dm index f42a3995dc..a29d39743e 100644 --- a/code/game/objects/items/devices/scanners.dm +++ b/code/game/objects/items/devices/scanners.dm @@ -192,10 +192,12 @@ REAGENT SCANNER for(var/name in H.organs_by_name) var/obj/item/organ/external/e = H.organs_by_name[name] - if(e.status & ORGAN_BROKEN) + if(e && e.status & ORGAN_BROKEN) user.show_message(text("\red Bone fractures detected. Advanced scanner required for location."), 1) break for(var/obj/item/organ/external/e in H.organs) + if(!e) + continue for(var/datum/wound/W in e.wounds) if(W.internal) user.show_message(text("\red Internal bleeding detected. Advanced scanner required for location."), 1) break From 163aab3753207a7bff95069f9d22fb8db9ece80f Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Sat, 16 May 2015 10:27:47 +0200 Subject: [PATCH 259/305] Adds turf processing. Currently only used by walls. Radioactive walls now irradiate nearby mobs. --- code/controllers/Processes/machinery.dm | 2 +- code/controllers/Processes/turf.dm | 13 ++++--- .../endgame/supermatter_cascade/blob.dm | 2 +- code/game/turfs/simulated/walls.dm | 36 +++++++------------ code/game/turfs/turf.dm | 3 ++ 5 files changed, 26 insertions(+), 30 deletions(-) diff --git a/code/controllers/Processes/machinery.dm b/code/controllers/Processes/machinery.dm index c796afa1f9..b84dfaf943 100644 --- a/code/controllers/Processes/machinery.dm +++ b/code/controllers/Processes/machinery.dm @@ -59,4 +59,4 @@ /datum/controller/process/machinery/getStatName() - return ..()+"([machines.len])" \ No newline at end of file + return ..()+"([machines.len])" diff --git a/code/controllers/Processes/turf.dm b/code/controllers/Processes/turf.dm index c1efac52f9..c93325012c 100644 --- a/code/controllers/Processes/turf.dm +++ b/code/controllers/Processes/turf.dm @@ -1,9 +1,14 @@ -var/global/list/processing_turfs = list() +var/global/list/turf/processing_turfs = list() /datum/controller/process/turf/setup() name = "turf" - schedule_interval = 20 // every 2 seconds + schedule_interval = 30 // every 3 seconds /datum/controller/process/turf/doWork() - for(var/turf/unsimulated/wall/supermatter/SM in processing_turfs) - SM.process() + for(var/turf/T in processing_turfs) + if(T.process() == PROCESS_KILL) + processing_turfs.Remove(T) + scheck() + +/datum/controller/process/turf/getStatName() + return ..()+"([processing_turfs.len])" diff --git a/code/game/gamemodes/endgame/supermatter_cascade/blob.dm b/code/game/gamemodes/endgame/supermatter_cascade/blob.dm index d71ff249d1..dc315ac510 100644 --- a/code/game/gamemodes/endgame/supermatter_cascade/blob.dm +++ b/code/game/gamemodes/endgame/supermatter_cascade/blob.dm @@ -23,7 +23,7 @@ processing_turfs.Remove(src) ..() -/turf/unsimulated/wall/supermatter/proc/process() +/turf/unsimulated/wall/supermatter/process() // Only check infrequently. if(next_check>world.time) return diff --git a/code/game/turfs/simulated/walls.dm b/code/game/turfs/simulated/walls.dm index 72df25cfbe..4d14bdac04 100644 --- a/code/game/turfs/simulated/walls.dm +++ b/code/game/turfs/simulated/walls.dm @@ -15,7 +15,6 @@ var/list/global/wall_cache = list() var/damage_overlay var/global/damage_overlays[8] var/active - var/last_event var/can_open = 0 var/material/material var/material/reinf_material @@ -33,10 +32,13 @@ var/list/global/wall_cache = list() if(!isnull(rmaterialtype)) reinf_material = name_to_material[rmaterialtype] update_material() + processing_turfs |= src + +/turf/simulated/wall/process() + // Calling parent will kill processing + radiate() /turf/simulated/wall/bullet_act(var/obj/item/projectile/Proj) - - radiate() if(istype(Proj,/obj/item/projectile/beam)) ignite(2500) else if(istype(Proj,/obj/item/projectile/ion)) @@ -236,20 +238,11 @@ var/list/global/wall_cache = list() return 0 /turf/simulated/wall/proc/radiate() - var/material/M = name_to_material[material] - if(!istype(M) || !M.radioactivity) + if(!material.radioactivity) return - if(!active) - if(world.time > last_event+15) - active = 1 - for(var/mob/living/L in range(3,src)) - L.apply_effect(M.radioactivity,IRRADIATE,0) - for(var/turf/simulated/wall/T in range(3,src)) - T.radiate() - last_event = world.time - active = null - return + for(var/mob/living/L in range(3,src)) + L.apply_effect(material.radioactivity,IRRADIATE,0) return /turf/simulated/wall/proc/burn(temperature) @@ -266,19 +259,14 @@ var/list/global/wall_cache = list() D.ignite(temperature/4) /turf/simulated/wall/proc/ignite(var/exposed_temperature) - - var/material/M = name_to_material[material] - if(!istype(M) || !isnull(M.ignition_point)) + if(isnull(material.ignition_point)) return - if(exposed_temperature > M.ignition_point)//If the temperature of the object is over 300, then ignite + if(exposed_temperature > material.ignition_point)//If the temperature of the object is over 300, then ignite burn(exposed_temperature) return ..() -/turf/simulated/wall/Bumped(AM as mob|obj) - radiate() - ..() - /turf/simulated/wall/Destroy() + processing_turfs -= src dismantle_wall(null,null,1) - ..() \ No newline at end of file + ..() diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index 7af228b49c..e5ae4e1bb9 100644 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -378,3 +378,6 @@ if(!LinkBlocked(src, t) && !TurfBlockedNonWindow(t)) L.Add(t) return L + +/turf/proc/process() + return PROCESS_KILL From 180a5732a1d9488bbf62251d1e22f9f26611836a Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Sat, 16 May 2015 10:29:17 +0200 Subject: [PATCH 260/305] Changelog entry. --- html/changelogs/PsiOmegaDelta-TurfProcessing.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/PsiOmegaDelta-TurfProcessing.yml diff --git a/html/changelogs/PsiOmegaDelta-TurfProcessing.yml b/html/changelogs/PsiOmegaDelta-TurfProcessing.yml new file mode 100644 index 0000000000..a7bb128b14 --- /dev/null +++ b/html/changelogs/PsiOmegaDelta-TurfProcessing.yml @@ -0,0 +1,4 @@ +author: PsiOmegaDelta +delete-after: True +changes: + - rscadd: "Turf are now processed. This, for example, causes radioactive walls to regularly irradiate nearby mobs." From af14ec1855efd18b6e2b9410964f85b94f44a1da Mon Sep 17 00:00:00 2001 From: Kelenius Date: Sat, 16 May 2015 11:43:30 +0300 Subject: [PATCH 261/305] Inflatables now lose deflate verb when it's used --- code/game/objects/structures/inflatable.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/game/objects/structures/inflatable.dm b/code/game/objects/structures/inflatable.dm index a9b1359b75..0aae020ba1 100644 --- a/code/game/objects/structures/inflatable.dm +++ b/code/game/objects/structures/inflatable.dm @@ -111,6 +111,7 @@ if(isobserver(usr)) //to stop ghosts from deflating return + verbs -= /obj/structure/inflatable/verb/hand_deflate deflate() /obj/structure/inflatable/attack_generic(var/mob/user, var/damage, var/attack_verb) From 729a7a3ec9940b33fe4d047ea9bf7d8e7f39cc85 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Sat, 16 May 2015 10:59:45 +0200 Subject: [PATCH 262/305] Gamestart cleanup. * setup_economy() was called twice. * Game state is set to playing just before creating characters, this ensures equipment such as headsets initialize properly(). * Removes the sleep in manifest creation. Prevents duplicate manifest entries from occurring if one joins within 4 seconds of round start. --- code/controllers/master_controller.dm | 1 - code/datums/datacore.dm | 4 +--- code/game/gamemodes/gameticker.dm | 2 +- 3 files changed, 2 insertions(+), 5 deletions(-) diff --git a/code/controllers/master_controller.dm b/code/controllers/master_controller.dm index d698454cab..0152af8b13 100644 --- a/code/controllers/master_controller.dm +++ b/code/controllers/master_controller.dm @@ -39,7 +39,6 @@ datum/controller/game_controller/proc/setup() setup_objects() setupgenetics() - setup_economy() SetupXenoarch() transfer_controller = new diff --git a/code/datums/datacore.dm b/code/datums/datacore.dm index 97e1f59582..8bc6cc0580 100644 --- a/code/datums/datacore.dm +++ b/code/datums/datacore.dm @@ -2,10 +2,8 @@ data_core = new /obj/effect/datacore() return 1 -/obj/effect/datacore/proc/manifest(var/nosleep = 0) +/obj/effect/datacore/proc/manifest() spawn() - if(!nosleep) - sleep(40) for(var/mob/living/carbon/human/H in player_list) manifest_inject(H) return diff --git a/code/game/gamemodes/gameticker.dm b/code/game/gamemodes/gameticker.dm index 08ad7e7253..2d9a4b5f80 100644 --- a/code/game/gamemodes/gameticker.dm +++ b/code/game/gamemodes/gameticker.dm @@ -110,11 +110,11 @@ var/global/datum/controller/gameticker/ticker else src.mode.announce() + current_state = GAME_STATE_PLAYING create_characters() //Create player characters and transfer them collect_minds() equip_characters() data_core.manifest() - current_state = GAME_STATE_PLAYING callHook("roundstart") From 36acf64f18795f0dec3d588ae6411c223d7a7493 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Sat, 16 May 2015 18:33:03 +0930 Subject: [PATCH 263/305] Partial fix for #8825 --- .../mob/living/carbon/human/update_icons.dm | 2 +- code/modules/organs/organ_external.dm | 21 +++++++++++-------- code/modules/organs/organ_icon.dm | 6 +++++- 3 files changed, 18 insertions(+), 11 deletions(-) diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index 9dfe4b27d9..840ead0ac6 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -330,7 +330,7 @@ var/global/list/damage_icon_parts = list() overlays_standing[HAIR_LAYER] = null var/obj/item/organ/external/head/head_organ = get_organ("head") - if( !head_organ || (head_organ.status & ORGAN_DESTROYED) ) + if(!head_organ || head_organ.is_stump() || (head_organ.status & ORGAN_DESTROYED) ) if(update_icons) update_icons() return diff --git a/code/modules/organs/organ_external.dm b/code/modules/organs/organ_external.dm index 4bf7b9c99e..0e1878c81e 100644 --- a/code/modules/organs/organ_external.dm +++ b/code/modules/organs/organ_external.dm @@ -226,7 +226,7 @@ var/obj/item/W = used_weapon if(W.w_class >= 3) edge_eligible = 1 - + if(brute >= threshold || (edge_eligible && brute >= threshold/3)) if((sharp || edge)) droplimb(0,DROPLIMB_EDGE) @@ -917,14 +917,15 @@ Note that amputating the affected organ does in fact remove the infection from t /obj/item/organ/external/proc/disfigure(var/type = "brute") if (disfigured) return - if(type == "brute") - owner.visible_message("\red You hear a sickening cracking sound coming from \the [owner]'s [name].", \ - "\red Your [name] becomes a mangled mess!", \ - "\red You hear a sickening crack.") - else - owner.visible_message("\red \The [owner]'s [name] melts away, turning into mangled mess!", \ - "\red Your [name] melts away!", \ - "\red You hear a sickening sizzle.") + if(owner) + if(type == "brute") + owner.visible_message("\red You hear a sickening cracking sound coming from \the [owner]'s [name].", \ + "\red Your [name] becomes a mangled mess!", \ + "\red You hear a sickening crack.") + else + owner.visible_message("\red \The [owner]'s [name] melts away, turning into mangled mess!", \ + "\red Your [name] melts away!", \ + "\red You hear a sickening sizzle.") disfigured = 1 /**************************************************** @@ -1077,6 +1078,8 @@ Note that amputating the affected organ does in fact remove the infection from t owner.u_equip(owner.l_ear) owner.u_equip(owner.r_ear) owner.u_equip(owner.wear_mask) + spawn(1) + owner.update_hair() ..() /obj/item/organ/external/head/take_damage(brute, burn, sharp, edge, used_weapon = null, list/forbidden_limbs = list()) diff --git a/code/modules/organs/organ_icon.dm b/code/modules/organs/organ_icon.dm index d05a269f28..7036e7e725 100644 --- a/code/modules/organs/organ_icon.dm +++ b/code/modules/organs/organ_icon.dm @@ -34,6 +34,7 @@ var/global/list/limb_icon_cache = list() /obj/item/organ/external/head/get_icon() ..() + overlays.Cut() if(owner.species.has_organ["eyes"]) var/obj/item/organ/eyes/eyes = owner.internal_organs_by_name["eyes"] if(owner.species.eyes) @@ -43,9 +44,12 @@ var/global/list/limb_icon_cache = list() else eyes_icon.Blend(rgb(128,0,0), ICON_ADD) mob_icon.Blend(eyes_icon, ICON_OVERLAY) + overlays |= eyes_icon if(owner.lip_style && (owner.species && (owner.species.flags & HAS_LIPS))) - mob_icon.Blend(new/icon('icons/mob/human_face.dmi', "lips_[owner.lip_style]_s"), ICON_OVERLAY) + var/icon/lip_icon = new/icon('icons/mob/human_face.dmi', "lips_[owner.lip_style]_s") + overlays |= lip_icon + mob_icon.Blend(lip_icon, ICON_OVERLAY) if(owner.f_style) var/datum/sprite_accessory/facial_hair_style = facial_hair_styles_list[owner.f_style] From bc0e87ceaab155c22ccdc2b2508764673d77d58a Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Sat, 16 May 2015 10:38:50 +0200 Subject: [PATCH 264/305] Destroying a camera now also cuts wires randomly. --- code/datums/wires/wires.dm | 5 +++++ code/game/machinery/camera/camera.dm | 2 ++ 2 files changed, 7 insertions(+) diff --git a/code/datums/wires/wires.dm b/code/datums/wires/wires.dm index 3b0b54942f..0555a140bd 100644 --- a/code/datums/wires/wires.dm +++ b/code/datums/wires/wires.dm @@ -278,6 +278,11 @@ var/const/POWER = 8 var/r = rand(1, wires.len) CutWireIndex(r) +/datum/wires/proc/RandomCutAll(var/probability = 10) + for(var/i = 1; i < MAX_FLAG && i < (1 << wire_count); i += i) + if(prob(probability)) + CutWireIndex(i) + /datum/wires/proc/CutAll() for(var/i = 1; i < MAX_FLAG && i < (1 << wire_count); i += i) CutWireIndex(i) diff --git a/code/game/machinery/camera/camera.dm b/code/game/machinery/camera/camera.dm index ec9c17f241..43e26a7d46 100644 --- a/code/game/machinery/camera/camera.dm +++ b/code/game/machinery/camera/camera.dm @@ -226,6 +226,8 @@ //Used when someone breaks a camera /obj/machinery/camera/proc/destroy() stat |= BROKEN + wires.RandomCutAll() + kick_viewers() triggerCameraAlarm() update_icon() From 26ad3d2b92c24dd92fd68f089547dc278d953087 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Sat, 16 May 2015 11:04:40 +0200 Subject: [PATCH 265/305] Changelog entry. --- html/changelogs/PsiOmegaDelta-RandomWireBreaking.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/PsiOmegaDelta-RandomWireBreaking.yml diff --git a/html/changelogs/PsiOmegaDelta-RandomWireBreaking.yml b/html/changelogs/PsiOmegaDelta-RandomWireBreaking.yml new file mode 100644 index 0000000000..64d8b00286 --- /dev/null +++ b/html/changelogs/PsiOmegaDelta-RandomWireBreaking.yml @@ -0,0 +1,5 @@ +author: PsiOmegaDelta +delete-after: True + +changes: + - tweak: "Destroying a camera by brute force now has a chance to break the wiring within." From b4bfe917ebc4210387a25a9c88d423927e53108e Mon Sep 17 00:00:00 2001 From: Kelenius Date: Sat, 16 May 2015 12:05:14 +0300 Subject: [PATCH 266/305] Fixes #9294 --- code/modules/reagents/Chemistry-Holder.dm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/code/modules/reagents/Chemistry-Holder.dm b/code/modules/reagents/Chemistry-Holder.dm index 1c7a906927..7782219bd7 100644 --- a/code/modules/reagents/Chemistry-Holder.dm +++ b/code/modules/reagents/Chemistry-Holder.dm @@ -157,17 +157,18 @@ /* Holder-to-chemical */ /datum/reagents/proc/add_reagent(var/id, var/amount, var/data = null, var/safety = 0) - if(!isnum(amount)) + if(!isnum(amount) || amount <= 0) return 0 + update_total() amount = min(amount, get_free_space()) for(var/datum/reagent/current in reagent_list) if(current.id == id) current.volume += amount - update_total() if(!isnull(data)) // For all we know, it could be zero or empty string and meaningful current.mix_data(data, amount) + update_total() if(!safety) handle_reactions() if(my_atom) @@ -179,8 +180,8 @@ reagent_list += R R.holder = src R.volume = amount - update_total() R.initialize_data(data) + update_total() if(!safety) handle_reactions() if(my_atom) From 1de493c272c72415b03114651412a445b8ab518d Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Sat, 16 May 2015 18:45:31 +0930 Subject: [PATCH 267/305] Fixes #9021 --- .../carbon/alien/diona/diona_attacks.dm | 17 +++---------- .../living/carbon/alien/diona/diona_powers.dm | 25 +++++++++++-------- 2 files changed, 18 insertions(+), 24 deletions(-) diff --git a/code/modules/mob/living/carbon/alien/diona/diona_attacks.dm b/code/modules/mob/living/carbon/alien/diona/diona_attacks.dm index 58aba691dd..981ab4433f 100644 --- a/code/modules/mob/living/carbon/alien/diona/diona_attacks.dm +++ b/code/modules/mob/living/carbon/alien/diona/diona_attacks.dm @@ -1,16 +1,7 @@ /mob/living/carbon/alien/diona/attack_hand(mob/living/carbon/human/M as mob) - - if(istype(M)) - //Let people pick the little buggers up. - if(M.a_intent == I_HELP) - if(M.species && M.species.name == "Diona") - M << "You feel your being twine with that of [src] as it merges with your biomass." - src << "You feel your being twine with that of [M] as you merge with its biomass." - src.verbs += /mob/living/carbon/alien/diona/proc/split - src.verbs -= /mob/living/carbon/alien/diona/proc/merge - src.loc = M - else - get_scooped(M) + if(istype(M) && M.a_intent == I_HELP) + if(M.species && M.species.name == "Diona" && do_merge(M)) return - + get_scooped(M) + return ..() \ No newline at end of file diff --git a/code/modules/mob/living/carbon/alien/diona/diona_powers.dm b/code/modules/mob/living/carbon/alien/diona/diona_powers.dm index 65e1f6b1c0..54678e1ea0 100644 --- a/code/modules/mob/living/carbon/alien/diona/diona_powers.dm +++ b/code/modules/mob/living/carbon/alien/diona/diona_powers.dm @@ -24,18 +24,21 @@ var/mob/living/M = input(src,"Who do you wish to merge with?") in null|choices - if(!M || !src || !(src.Adjacent(M))) return + if(!M) + src << "There is nothing nearby to merge with." + else if(!do_merge(M)) + src << "You fail to merge with \the [M]..." - if(istype(M,/mob/living/carbon/human)) - M << "You feel your being twine with that of [src] as it merges with your biomass." - M.status_flags |= PASSEMOTES - - src << "You feel your being twine with that of [M] as you merge with its biomass." - src.loc = M - src.verbs += /mob/living/carbon/alien/diona/proc/split - src.verbs -= /mob/living/carbon/alien/diona/proc/merge - else - return +/mob/living/carbon/alien/diona/proc/do_merge(var/mob/living/carbon/human/H) + if(!istype(H) || !src || !(src.Adjacent(H))) + return 0 + H << "You feel your being twine with that of \the [src] as it merges with your biomass." + H.status_flags |= PASSEMOTES + src << "You feel your being twine with that of \the [H] as you merge with its biomass." + loc = H + verbs += /mob/living/carbon/alien/diona/proc/split + verbs -= /mob/living/carbon/alien/diona/proc/merge + return 1 /mob/living/carbon/alien/diona/proc/split() From 5c646e8365c2ab4bd7ca41dd8a0883326bad1409 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Sat, 16 May 2015 11:24:21 +0200 Subject: [PATCH 268/305] Limits wall processing. --- code/controllers/Processes/turf.dm | 2 +- code/game/turfs/simulated/walls.dm | 22 +++++++++++++--------- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/code/controllers/Processes/turf.dm b/code/controllers/Processes/turf.dm index c93325012c..2ac33f48ba 100644 --- a/code/controllers/Processes/turf.dm +++ b/code/controllers/Processes/turf.dm @@ -2,7 +2,7 @@ var/global/list/turf/processing_turfs = list() /datum/controller/process/turf/setup() name = "turf" - schedule_interval = 30 // every 3 seconds + schedule_interval = 20 // every 2 seconds /datum/controller/process/turf/doWork() for(var/turf/T in processing_turfs) diff --git a/code/game/turfs/simulated/walls.dm b/code/game/turfs/simulated/walls.dm index 4d14bdac04..0ff8136243 100644 --- a/code/game/turfs/simulated/walls.dm +++ b/code/game/turfs/simulated/walls.dm @@ -32,11 +32,19 @@ var/list/global/wall_cache = list() if(!isnull(rmaterialtype)) reinf_material = name_to_material[rmaterialtype] update_material() + processing_turfs |= src +/turf/simulated/wall/Destroy() + processing_turfs -= src + dismantle_wall(null,null,1) + ..() + + /turf/simulated/wall/process() // Calling parent will kill processing - radiate() + if(!radiate()) + return PROCESS_KILL /turf/simulated/wall/bullet_act(var/obj/item/projectile/Proj) if(istype(Proj,/obj/item/projectile/beam)) @@ -238,12 +246,13 @@ var/list/global/wall_cache = list() return 0 /turf/simulated/wall/proc/radiate() - if(!material.radioactivity) + var/total_radiation = material.radioactivity + (reinf_material ? reinf_material.radioactivity / 2 : 0) + if(!total_radiation) return for(var/mob/living/L in range(3,src)) - L.apply_effect(material.radioactivity,IRRADIATE,0) - return + L.apply_effect(total_radiation, IRRADIATE,0) + return total_radiation /turf/simulated/wall/proc/burn(temperature) spawn(2) @@ -265,8 +274,3 @@ var/list/global/wall_cache = list() burn(exposed_temperature) return ..() - -/turf/simulated/wall/Destroy() - processing_turfs -= src - dismantle_wall(null,null,1) - ..() From 137c77c19dc802f912b4a9c8d124bc1c5b357159 Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Sat, 16 May 2015 10:48:59 +0100 Subject: [PATCH 269/305] Typo fix --- code/modules/hydroponics/trays/tray_tools.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/hydroponics/trays/tray_tools.dm b/code/modules/hydroponics/trays/tray_tools.dm index da6c996ac9..500ab1c1ff 100644 --- a/code/modules/hydroponics/trays/tray_tools.dm +++ b/code/modules/hydroponics/trays/tray_tools.dm @@ -169,7 +169,7 @@ switch(grown_seed.get_trait(TRAIT_CARNIVOROUS)) if(1) - dat += "
    It is carniovorous and will eat tray pests for sustenance." + dat += "
    It is carnivorous and will eat tray pests for sustenance." if(2) dat += "
    It is carnivorous and poses a significant threat to living things around it." From aad28d63ce46c6fc6af96ed9fd36026767d15dbe Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Sat, 16 May 2015 13:31:37 +0200 Subject: [PATCH 270/305] Cleans up welder code. Icon and inhand states should now update properly. --- code/game/objects/items/weapons/tools.dm | 127 +++++++++-------------- 1 file changed, 47 insertions(+), 80 deletions(-) diff --git a/code/game/objects/items/weapons/tools.dm b/code/game/objects/items/weapons/tools.dm index 1066c4e8db..2754068d46 100644 --- a/code/game/objects/items/weapons/tools.dm +++ b/code/game/objects/items/weapons/tools.dm @@ -162,6 +162,10 @@ R.add_reagent("fuel", max_fuel) return +/obj/item/weapon/weldingtool/Destroy() + if(welding) + processing_objects -= src + ..() /obj/item/weapon/weldingtool/examine(mob/user) if(..(user, 0)) @@ -171,13 +175,13 @@ /obj/item/weapon/weldingtool/attackby(obj/item/W as obj, mob/user as mob) if(istype(W,/obj/item/weapon/screwdriver)) if(welding) - user << "\red Stop welding first!" + user << "Stop welding first!" return status = !status if(status) - user << "\blue You resecure the welder." + user << "You secure the welder." else - user << "\blue The welder can now be attached and modified." + user << "The welder can now be attached and modified." src.add_fingerprint(user) return @@ -207,31 +211,8 @@ /obj/item/weapon/weldingtool/process() - switch(welding) - //If off - if(0) - if(src.icon_state != "welder") //Check that the sprite is correct, if it isnt, it means toggle() was not called - src.force = 3 - src.damtype = "brute" - src.icon_state = "welder" - src.welding = 0 - processing_objects.Remove(src) - return - //Welders left on now use up fuel, but lets not have them run out quite that fast - if(1) - if(src.icon_state != "welder1") //Check that the sprite is correct, if it isnt, it means toggle() was not called - src.force = 15 - src.damtype = "fire" - src.icon_state = "welder1" - if(prob(5)) - remove_fuel(1) - - //If you're actually actively welding, use fuel faster. - //Is this actually used or set anywhere? - Nodrak - if(2) - if(prob(75)) - remove_fuel(1) - + if(welding && prob(5) && !remove_fuel(1)) + setWelding(0) //I'm not sure what this does. I assume it has to do with starting fires... //...but it doesnt check to see if the welder is on or not. @@ -248,7 +229,7 @@ if(!proximity) return if (istype(O, /obj/structure/reagent_dispensers/fueltank) && get_dist(src,O) <= 1 && !src.welding) O.reagents.trans_to_obj(src, max_fuel) - user << "\blue Welder refueled" + user << "Welder refueled" playsound(src.loc, 'sound/effects/refill.ogg', 50, 1, -6) return else if (istype(O, /obj/structure/reagent_dispensers/fueltank) && get_dist(src,O) <= 1 && src.welding) @@ -270,7 +251,7 @@ /obj/item/weapon/weldingtool/attack_self(mob/user as mob) - toggle() + setWelding(!welding, usr) return //Returns the amount of fuel in the welder @@ -280,81 +261,67 @@ //Removes fuel from the welding tool. If a mob is passed, it will perform an eyecheck on the mob. This should probably be renamed to use() /obj/item/weapon/weldingtool/proc/remove_fuel(var/amount = 1, var/mob/M = null) - if(!welding || !check_fuel()) - return 0 if(get_fuel() >= amount) reagents.remove_reagent("fuel", amount) - check_fuel() if(M) eyecheck(M) return 1 else if(M) - M << "\blue You need more welding fuel to complete this task." + M << "You need more welding fuel to complete this task." + else + visible_message("\The [src] sputters and switches off.") return 0 //Returns whether or not the welding tool is currently on. /obj/item/weapon/weldingtool/proc/isOn() return src.welding +/obj/item/weapon/weldingtool/update_icon() + ..() + icon_state = welding ? "welder1" : "welder" + var/mob/M = loc + if(M) + M.update_inv_l_hand() + M.update_inv_r_hand() + //Sets the welding state of the welding tool. If you see W.welding = 1 anywhere, please change it to W.setWelding(1) //so that the welding tool updates accordingly -/obj/item/weapon/weldingtool/proc/setWelding(var/temp_welding) +/obj/item/weapon/weldingtool/proc/setWelding(var/set_welding, var/mob/M) + if(!status) return + + var/turf/T = get_turf(src) //If we're turning it on - if(temp_welding > 0) + if(set_welding && !welding) if (remove_fuel(1)) - usr << "\blue The [src] switches on." + if(M) + M.visible_message("[M] has ignited \the [src] on.", "You ignite \the [src].", "You hear the sound of \a [src] being ignited.") + else if(T) + T.visible_message("\The [src] has been ignited.","You hear the sound of \a [src] being ignited.") src.force = 15 src.damtype = "fire" - src.icon_state = "welder1" - processing_objects.Add(src) + src.w_class = 4 + welding = 1 + update_icon() + processing_objects |= src else - usr << "\blue Need more fuel!" - src.welding = 0 + if(M) + M.visible_message("\The [src] sputters as [M] fail to ignite it.", "You fail to ignite \the [src] on.", "You hear the sputtering sound of \a [src] failing to ignite.") + else if(T) + T.visible_message("\The [src] sputters as it fails to ignite.", "You hear the sputtering sound of \a [src] failing to ignite.") return //Otherwise - else - usr << "\blue The [src] switches off." + else if(!set_welding && welding) + processing_objects -= src + if(M) + M.visible_message("[M] has turned off \the [src].", "You turn off \the [src].", "You hear the sound of a gas fire suddenly stopping.") + else if(T) + T.visible_message("\The [src] turns off.", "You hear the sound of a gas fire suddenly stopping.") src.force = 3 src.damtype = "brute" - src.icon_state = "welder" - src.welding = 0 - -//Turns off the welder if there is no more fuel (does this really need to be its own proc?) -/obj/item/weapon/weldingtool/proc/check_fuel() - if((get_fuel() <= 0) && welding) - toggle(1) - return 0 - return 1 - - -//Toggles the welder off and on -/obj/item/weapon/weldingtool/proc/toggle(var/message = 0) - if(!status) return - src.welding = !( src.welding ) - if (src.welding) - if (remove_fuel(1)) - usr << "You switch the [src] on." - src.force = 15 - src.damtype = "fire" - src.icon_state = "welder1" - src.w_class = 4 - processing_objects.Add(src) - else - usr << "You need more fuel!" - src.welding = 0 - else - if(!message) - usr << "You switch \the [src] off." - else - usr << "\The [src] shuts off!" - src.force = 3 - src.damtype = "brute" - src.icon_state = "welder" - src.welding = 0 src.w_class = initial(src.w_class) - usr.update_inv_l_hand() - usr.update_inv_r_hand() + src.welding = 0 + update_icon() //Decides whether or not to damage a player's eyes based on what they're wearing as protection //Note: This should probably be moved to mob From 534e5fafc445f9cb678c06e4a0ac28c9aece63ab Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Sat, 16 May 2015 14:13:32 +0200 Subject: [PATCH 271/305] Changelog entry. --- html/changelogs/PsiOmegaDelta-WelderIcon-150516.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/PsiOmegaDelta-WelderIcon-150516.yml diff --git a/html/changelogs/PsiOmegaDelta-WelderIcon-150516.yml b/html/changelogs/PsiOmegaDelta-WelderIcon-150516.yml new file mode 100644 index 0000000000..a7c90fbd7a --- /dev/null +++ b/html/changelogs/PsiOmegaDelta-WelderIcon-150516.yml @@ -0,0 +1,5 @@ +author: PsiOmegaDelta +delete-after: True + +changes: + - bugfix: "Welders should now always update their icon and inhand states properly." From 21dad8bdc079e9b82c29d0d4fceba33af1c31c64 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Sat, 16 May 2015 14:42:23 +0200 Subject: [PATCH 272/305] Teleport anomaly fix. It should no longer teleport mobs inside other atoms. Making the dangerous assumption that touch-teleportation actually works. --- .../xenoarchaeology/artifact/effects/unknown_effect_teleport.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_teleport.dm b/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_teleport.dm index b8d1c9a87c..6f6d7f88f3 100644 --- a/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_teleport.dm +++ b/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_teleport.dm @@ -34,7 +34,7 @@ sparks.set_up(3, 0, get_turf(M)) sparks.start() // - M.loc = pick(orange(get_turf(T), 50)) + M.Move(pick(trange(50, get_turf(holder)))) sparks = new /datum/effect/effect/system/spark_spread() sparks.set_up(3, 0, get_turf(M)) sparks.start() From 76b828ab7d6ec8e7976569a571fd8ec29679a301 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Sat, 16 May 2015 14:47:04 +0200 Subject: [PATCH 273/305] Changelog entry. --- html/changelogs/PsiOmegaDelta-ArtifactTele-150516.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/PsiOmegaDelta-ArtifactTele-150516.yml diff --git a/html/changelogs/PsiOmegaDelta-ArtifactTele-150516.yml b/html/changelogs/PsiOmegaDelta-ArtifactTele-150516.yml new file mode 100644 index 0000000000..3e259687ba --- /dev/null +++ b/html/changelogs/PsiOmegaDelta-ArtifactTele-150516.yml @@ -0,0 +1,5 @@ +author: PsiOmegaDelta +delete-after: True + +changes: + - bugfix: "Teleporter artifacts should no longer teleport mobs inside objects." From 0999f1ab788888d1a227490b8925afd1bc6ccb46 Mon Sep 17 00:00:00 2001 From: Karolis2011 Date: Sat, 16 May 2015 17:27:39 +0300 Subject: [PATCH 274/305] Made sorting pipes dispesible also fixes #9305 --- code/game/machinery/pipe/pipe_dispenser.dm | 12 +++++++ .../recycling/disposal-construction.dm | 31 ++++++++++++++++--- code/modules/recycling/disposal.dm | 11 ++++--- 3 files changed, 45 insertions(+), 9 deletions(-) diff --git a/code/game/machinery/pipe/pipe_dispenser.dm b/code/game/machinery/pipe/pipe_dispenser.dm index 6b8793eac7..9f9d79841b 100644 --- a/code/game/machinery/pipe/pipe_dispenser.dm +++ b/code/game/machinery/pipe/pipe_dispenser.dm @@ -179,6 +179,9 @@ Nah Chute
    Upwards
    Downwards
    +Sorting
    +Sorting (Wildcard)
    +Sorting (Untagged)
    "} ///// Z-Level stuff @@ -220,6 +223,15 @@ Nah if(7) C.ptype = 8 C.density = 1 + if(8) + C.ptype = 9 + C.subtype = 0 + if(9) + C.ptype = 9 + C.subtype = 1 + if(10) + C.ptype = 9 + C.subtype = 2 ///// Z-Level stuff if(21) C.ptype = 11 diff --git a/code/modules/recycling/disposal-construction.dm b/code/modules/recycling/disposal-construction.dm index 4032d00a89..c6c00a3dbb 100644 --- a/code/modules/recycling/disposal-construction.dm +++ b/code/modules/recycling/disposal-construction.dm @@ -12,9 +12,10 @@ pressure_resistance = 5*ONE_ATMOSPHERE matter = list(DEFAULT_WALL_MATERIAL = 1850) level = 2 + var/sortType = "" var/ptype = 0 - // 0=straight, 1=bent, 2=junction-j1, 3=junction-j2, 4=junction-y, 5=trunk, 6=disposal bin, 7=outlet, 8=inlet - + // 0=straight, 1=bent, 2=junction-j1, 3=junction-j2, 4=junction-y, 5=trunk, 6=disposal bin, 7=outlet, 8=inlet 9=pipe-j1s 10=pipe-j2s + var/subtype = 0 var/dpdir = 0 // directions as disposalpipe var/base_state = "pipe-s" @@ -154,9 +155,21 @@ if(8) return /obj/machinery/disposal/deliveryChute if(9) - return /obj/structure/disposalpipe/sortjunction + switch(subtype) + if(0) + return /obj/structure/disposalpipe/sortjunction + if(1) + return /obj/structure/disposalpipe/sortjunction/wildcard + if(2) + return /obj/structure/disposalpipe/sortjunction/untagged if(10) - return /obj/structure/disposalpipe/sortjunction/flipped + switch(subtype) + if(0) + return /obj/structure/disposalpipe/sortjunction/flipped + if(1) + return /obj/structure/disposalpipe/sortjunction/wildcard/flipped + if(2) + return /obj/structure/disposalpipe/sortjunction/untagged/flipped ///// Z-Level stuff if(11) return /obj/structure/disposalpipe/up @@ -187,7 +200,13 @@ if(8) nicetype = "delivery chute" if(9, 10) - nicetype = "sorting pipe" + switch(subtype) + if(0) + nicetype = "sorting pipe" + if(1) + nicetype = "wildcard sorting pipe" + if(2) + nicetype = "untagged sorting pipe" ispipe = 1 if(13) nicetype = "tagging pipe" @@ -267,7 +286,9 @@ //Needs some special treatment ;) if(ptype==9 || ptype==10) var/obj/structure/disposalpipe/sortjunction/SortP = P + SortP.sortType = sortType SortP.updatedir() + SortP.updatedesc() else if(ptype==6) // Disposal bin var/obj/machinery/disposal/P = new /obj/machinery/disposal(src.loc) diff --git a/code/modules/recycling/disposal.dm b/code/modules/recycling/disposal.dm index ead3ba3d91..525a79d9d1 100644 --- a/code/modules/recycling/disposal.dm +++ b/code/modules/recycling/disposal.dm @@ -663,7 +663,8 @@ var/health = 10 // health points 0-10 layer = 2.3 // slightly lower than wires and other pipes var/base_icon_state // initial icon state on map - + var/sortType = "" + var/subtype = 0 // new pipe, set the icon_state as on map New() ..() @@ -910,8 +911,10 @@ C.ptype = 5 if("pipe-j1s") C.ptype = 9 + C.sortType = sortType if("pipe-j2s") C.ptype = 10 + C.sortType = sortType ///// Z-Level stuff if("pipe-u") C.ptype = 11 @@ -922,6 +925,7 @@ C.ptype = 13 if("pipe-tagger-partial") C.ptype = 14 + C.subtype = src.subtype src.transfer_fingerprints_to(C) C.set_dir(dir) C.density = 0 @@ -1187,7 +1191,6 @@ icon_state = "pipe-j1s" desc = "An underfloor disposal pipe with a package sorting mechanism." - var/sortType = "" var/posdir = 0 var/negdir = 0 var/sortdir = 0 @@ -1278,7 +1281,7 @@ /obj/structure/disposalpipe/sortjunction/wildcard name = "wildcard sorting junction" desc = "An underfloor disposal pipe which filters all wrapped and tagged items." - + subtype = 1 divert_check(var/checkTag) return checkTag != "" @@ -1286,7 +1289,7 @@ /obj/structure/disposalpipe/sortjunction/untagged name = "untagged sorting junction" desc = "An underfloor disposal pipe which filters all untagged items." - + subtype = 2 divert_check(var/checkTag) return checkTag == "" From 645ad1a17780aac0f4bdc962d0828c4e7c826367 Mon Sep 17 00:00:00 2001 From: Karolis2011 Date: Sat, 16 May 2015 18:05:47 +0300 Subject: [PATCH 275/305] Made tagger pipe dispensible. --- code/game/machinery/pipe/pipe_dispenser.dm | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/code/game/machinery/pipe/pipe_dispenser.dm b/code/game/machinery/pipe/pipe_dispenser.dm index 9f9d79841b..eb0ec51962 100644 --- a/code/game/machinery/pipe/pipe_dispenser.dm +++ b/code/game/machinery/pipe/pipe_dispenser.dm @@ -182,6 +182,8 @@ Nah Sorting
    Sorting (Wildcard)
    Sorting (Untagged)
    +Tagger
    +Tagger (Partial)
    "} ///// Z-Level stuff @@ -232,6 +234,10 @@ Nah if(10) C.ptype = 9 C.subtype = 2 + if(11) + C.ptype = 13 + if(12) + C.ptype = 14 ///// Z-Level stuff if(21) C.ptype = 11 From be53fafa96197b0a8e891b333e0fcaa3b03cac43 Mon Sep 17 00:00:00 2001 From: Kelenius Date: Sat, 16 May 2015 16:11:08 +0300 Subject: [PATCH 276/305] Adds chemistry update changelog --- html/changelogs/Kelenius-ofChemAndChangelogs.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 html/changelogs/Kelenius-ofChemAndChangelogs.yml diff --git a/html/changelogs/Kelenius-ofChemAndChangelogs.yml b/html/changelogs/Kelenius-ofChemAndChangelogs.yml new file mode 100644 index 0000000000..935eff9248 --- /dev/null +++ b/html/changelogs/Kelenius-ofChemAndChangelogs.yml @@ -0,0 +1,12 @@ +author: Kelenius +delete-after: True + +changes: + - tweak: "There has been a big update to the reagent system. A full-ish changelog can be found here: http://pastebin.com/imHXTRHz. In particular:" + - tweak: "Reagents now differentiate between being ingested (food, pills, smoke), injected (syringes, IV drips), and put on the skin (sprays, beaker splashing)." + - tweak: "Injecting food and drinks will cause bad effects." + - tweak: "Healing reagents, generally speaking, have stronger effects when injected." + - tweak: "Toxins now work slower and deal more damage. Seek medical help!" + - tweak: "Alcohol robustness has been lowered." + - tweak: "Acid will no longer melt large numbers of items at once." + - tweak: "Synaptizine is no longer hilariously deadly." From b636b3d9d299121c5a40760027e62d9875ba64ff Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Sat, 16 May 2015 22:38:28 +0200 Subject: [PATCH 277/305] Changelog update. --- html/changelog.html | 10 ++++++++++ html/changelogs/.all_changelog.yml | 12 ++++++++++++ html/changelogs/GinjaNinja32_new_tables.yml | 5 ----- html/changelogs/HarpyEagle-tailanim.yml | 4 ---- 4 files changed, 22 insertions(+), 9 deletions(-) delete mode 100644 html/changelogs/GinjaNinja32_new_tables.yml delete mode 100644 html/changelogs/HarpyEagle-tailanim.yml diff --git a/html/changelog.html b/html/changelog.html index 227e839d13..83d87d57b3 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -56,6 +56,16 @@ -->
    +

    16 May 2015

    +

    GinjaNinja32 updated:

    +
      +
    • Rewrote tables. To construct a table, use steel to make a table frame, then plate the frame with a material such as steel, gold, wood, etc. Hold a stack in your hand and drag it to the table to reinforce it. To deconstruct a table, use a screwdriver to remove the reinforcements (if present), then a wrench to remove the plating, and a wrench again to dismantle the frame. Use a welder to repair any damage. Use a carpet tile on a table to add felt, and a crowbar to remove it.
    • +
    +

    HarpyEagle updated:

    +
      +
    • Adds tail animations for tajaran and unathi. Animations are controlled using emotes.
    • +
    +

    14 May 2015

    PsiOmegaDelta updated:

cok`xhVr4^e(>%wRzG31GJ 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%0DM3&F%1thS$c7zw;x*aA9mE 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 V>{a9Kjv(Ndu9lHzsrtj0{|Ar?q=^6k From d646e060e64a19c068ef5f25ad33f4d97c9b5022 Mon Sep 17 00:00:00 2001 From: ccomp5950 Date: Tue, 12 May 2015 22:34:52 -0400 Subject: [PATCH 190/305] Re-adds Clowns. Changed the alarm_monitor.tmpl so that folks won't have to clear their cache to get the updated file if they have the old atmosphere_monitir.tmpl file in their cache. --- nano/templates/alarm_monitor.tmpl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/nano/templates/alarm_monitor.tmpl b/nano/templates/alarm_monitor.tmpl index 0089467e43..2591763fc0 100644 --- a/nano/templates/alarm_monitor.tmpl +++ b/nano/templates/alarm_monitor.tmpl @@ -1,6 +1,7 @@ {{for data.categories}} @@ -34,4 +35,4 @@ Used In File(s): \code\modules\nano\modules\alarm_monitor.dm {{empty}} --All Systems Nominal {{/for}} -{{/for}} \ No newline at end of file +{{/for}} From 616e9c773fd6004c34c71cfa335640adf2e2073d Mon Sep 17 00:00:00 2001 From: Atlantiscze Date: Wed, 13 May 2015 06:06:08 +0200 Subject: [PATCH 191/305] Changes order of processing - Machinery is now processed before powernets, using data from previous tick. This fixes various UI issues with power related machinery, such as, SMES always showing output load of 100%. Otherwise has no changing effect on gameplay. --- code/controllers/Processes/machinery.dm | 28 ++++++++++++------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/code/controllers/Processes/machinery.dm b/code/controllers/Processes/machinery.dm index c95e8667d6..dcc1bb207c 100644 --- a/code/controllers/Processes/machinery.dm +++ b/code/controllers/Processes/machinery.dm @@ -14,20 +14,6 @@ machines = dd_sortedObjectList(machines) /datum/controller/process/machinery/proc/internal_process() - for(var/datum/powernet/powerNetwork in powernets) - if(istype(powerNetwork) && !powerNetwork.disposed) - powerNetwork.reset() - scheck() - continue - - powernets.Remove(powerNetwork) - - // Currently only used by powersinks. These items get priority processed before machinery - for(var/obj/item/I in processing_power_items) - if(!I.pwr_drain()) // 0 = Process Kill, remove from processing list. - processing_power_items.Remove(I) - scheck() - for(var/obj/machinery/M in machines) if(M && !M.gcDestroyed) #ifdef PROFILE_MACHINES @@ -53,6 +39,20 @@ scheck() + for(var/datum/powernet/powerNetwork in powernets) + if(istype(powerNetwork) && !powerNetwork.disposed) + powerNetwork.reset() + scheck() + continue + + powernets.Remove(powerNetwork) + + // Currently only used by powersinks. These items get priority processed before machinery + for(var/obj/item/I in processing_power_items) + if(!I.pwr_drain()) // 0 = Process Kill, remove from processing list. + processing_power_items.Remove(I) + scheck() + /datum/controller/process/machinery/getStatName() return ..()+"([machines.len])" \ No newline at end of file From fe46049b17980d5293e27f0711dc9c2fac988133 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Mon, 11 May 2015 20:45:11 -0400 Subject: [PATCH 192/305] Adds tail animations Adds a selection of emotes to control tail animations, and animated sprites for tajaran by 'Full of Skittles' --- code/modules/mob/living/carbon/human/death.dm | 3 +- code/modules/mob/living/carbon/human/emote.dm | 18 +++++- .../mob/living/carbon/human/update_icons.dm | 53 ++++++++++++++++-- icons/effects/species.dmi | Bin 22708 -> 33137 bytes 4 files changed, 67 insertions(+), 7 deletions(-) diff --git a/code/modules/mob/living/carbon/human/death.dm b/code/modules/mob/living/carbon/human/death.dm index 63b781e183..1eb0b53f04 100644 --- a/code/modules/mob/living/carbon/human/death.dm +++ b/code/modules/mob/living/carbon/human/death.dm @@ -34,7 +34,8 @@ handle_hud_list() //Handle species-specific deaths. - if(species) species.handle_death(src) + species.handle_death(src) + animate_tail_stop() //Handle brain slugs. var/obj/item/organ/external/head = get_organ("head") diff --git a/code/modules/mob/living/carbon/human/emote.dm b/code/modules/mob/living/carbon/human/emote.dm index 8d7c655730..78a47fc541 100644 --- a/code/modules/mob/living/carbon/human/emote.dm +++ b/code/modules/mob/living/carbon/human/emote.dm @@ -541,8 +541,24 @@ message = "[src] makes a very loud noise." m_type = 2 + if("swish") + src.animate_tail_once() + + if("wag", "sway") + src.animate_tail_start() + + if("qwag", "fastsway") + src.animate_tail_fast() + + if("swag", "stopsway") + src.animate_tail_stop() + if ("help") - src << "blink, blink_r, blush, bow-(none)/mob, burp, choke, chuckle, clap, collapse, cough,\ncry, custom, deathgasp, drool, eyebrow, frown, gasp, giggle, groan, grumble, handshake, hug-(none)/mob, glare-(none)/mob,\ngrin, laugh, look-(none)/mob, moan, mumble, nod, pale, point-atom, raise, salute, shake, shiver, shrug,\nsigh, signal-#1-10, smile, sneeze, sniff, snore, stare-(none)/mob, tremble, twitch, twitch_s, whimper,\nwink, yawn" + src << {"blink, blink_r, blush, bow-(none)/mob, burp, choke, chuckle, clap, collapse, cough, +cry, custom, deathgasp, drool, eyebrow, frown, gasp, giggle, groan, grumble, handshake, hug-(none)/mob, glare-(none)/mob, +grin, laugh, look-(none)/mob, moan, mumble, nod, pale, point-atom, raise, salute, shake, shiver, shrug, +sigh, signal-#1-10, smile, sneeze, sniff, snore, stare-(none)/mob, tremble, twitch, twitch_s, whimper, +wink, yawn, swish, sway/wag, fastsway/qwag, stopsway/swag"} else src << "\blue Unusable emote '[act]'. Say *help for a list." diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index d7776fa18d..e1231d97a7 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -882,16 +882,59 @@ var/global/list/damage_icon_parts = list() /mob/living/carbon/human/proc/update_tail_showing(var/update_icons=1) overlays_standing[TAIL_LAYER] = null - if(species.tail) - if(!wear_suit || !(wear_suit.flags_inv & HIDETAIL) && !istype(wear_suit, /obj/item/clothing/suit/space)) - var/icon/tail_s = new/icon("icon" = 'icons/effects/species.dmi', "icon_state" = "[species.tail]_s") - tail_s.Blend(rgb(r_skin, g_skin, b_skin), ICON_ADD) + if(species.tail && !(wear_suit && wear_suit.flags_inv & HIDETAIL)) + var/icon/tail_s = new/icon(icon = 'icons/effects/species.dmi') + tail_s.Blend(rgb(r_skin, g_skin, b_skin), ICON_ADD) - overlays_standing[TAIL_LAYER] = image(tail_s) + overlays_standing[TAIL_LAYER] = image(tail_s, icon_state = "[species.tail]_s") if(update_icons) update_icons() +//Not really once, since BYOND can't do that. +//Update this if the ability to flick() images or make looping animation start at the first frame is ever added. +/mob/living/carbon/human/proc/animate_tail_once(var/update_icons=1) + var/t_state = "[species.tail]_once" + + var/image/tail_overlay = overlays_standing[TAIL_LAYER] + if(tail_overlay && tail_overlay.icon_state == t_state) + return //let the existing animation finish + + tail_overlay = set_tail_state(t_state) + if(tail_overlay) + spawn(15) + //check that the animation hasn't changed in the meantime + if(overlays_standing[TAIL_LAYER] == tail_overlay && tail_overlay.icon_state == t_state) + animate_tail_stop() + + if(update_icons) + update_icons() + +/mob/living/carbon/human/proc/animate_tail_start(var/update_icons=1) + set_tail_state("[species.tail]_slow") + + if(update_icons) + update_icons() + +/mob/living/carbon/human/proc/animate_tail_fast(var/update_icons=1) + set_tail_state("[species.tail]_loop") + + if(update_icons) + update_icons() + +/mob/living/carbon/human/proc/animate_tail_stop(var/update_icons=1) + set_tail_state("[species.tail]_s") + + if(update_icons) + update_icons() + +/mob/living/carbon/human/proc/set_tail_state(var/t_state) + var/image/tail_overlay = overlays_standing[TAIL_LAYER] + + if(tail_overlay && (t_state in icon_states(tail_overlay.icon))) + tail_overlay.icon_state = t_state + return tail_overlay + return null //Adds a collar overlay above the helmet layer if the suit has one // Suit needs an identically named sprite in icons/mob/collar.dmi diff --git a/icons/effects/species.dmi b/icons/effects/species.dmi index 99588092d0852790db10434851a12a953e236a77..cdbd68e258d104734fc348997c50aaec0021a883 100644 GIT binary patch literal 33137 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 M(f+GY$^7|$0~rWszyJUM literal 22708 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 F^=|}$pxFQb From 4d2d8a936d1326b6b6ac320ea66ebef1f5291c48 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Wed, 13 May 2015 01:58:58 -0400 Subject: [PATCH 193/305] Adds animated unathi tail sprites Sprites credit to 'Full of Skittles' --- icons/effects/species.dmi | Bin 33137 -> 39972 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/effects/species.dmi b/icons/effects/species.dmi index cdbd68e258d104734fc348997c50aaec0021a883..e652652e5e5715fe6dcfe1d729428ddf265355b8 100644 GIT binary patch literal 39972 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 V8RzL3=np8=e(!*Nm7Wpl{{?9GkK6zN literal 33137 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 M(f+GY$^7|$0~rWszyJUM From e38ef1c7ef3c3b4a6a1e09c9f5221dc756093926 Mon Sep 17 00:00:00 2001 From: Techhead0 Date: Wed, 13 May 2015 00:27:15 -0400 Subject: [PATCH 194/305] Moves survival boxes to species datums. Surivival gear is now assigned based on species. Most species get standard gear, but Vox receive a nitrogen tank instead, and Diona obtain an emergency flare instead of a survival box. As a side effect, engineers no longer spawn with larger emergency tanks. Fixes #9237 --- code/game/jobs/job/assistant.dm | 5 +- code/game/jobs/job/captain.dm | 7 ++- code/game/jobs/job/civilian.dm | 55 ++++-------------- code/game/jobs/job/civilian_chaplain.dm | 5 +- code/game/jobs/job/engineering.dm | 15 +---- code/game/jobs/job/medical.dm | 26 ++------- code/game/jobs/job/science.dm | 14 ++--- code/game/jobs/job/security.dm | 12 ++-- code/game/jobs/job_controller.dm | 5 +- .../objects/items/weapons/storage/boxes.dm | 11 +--- .../objects/items/weapons/tanks/tank_types.dm | 23 ++++++++ .../carbon/human/species/outsider/vox.dm | 6 ++ .../living/carbon/human/species/species.dm | 6 ++ .../carbon/human/species/station/station.dm | 8 +++ html/changelogs/Techhead-InternalBoxes.yml | 9 +++ icons/obj/tank.dmi | Bin 2361 -> 2445 bytes maps/exodus-1.dmm | 2 +- 17 files changed, 92 insertions(+), 117 deletions(-) create mode 100644 html/changelogs/Techhead-InternalBoxes.yml diff --git a/code/game/jobs/job/assistant.dm b/code/game/jobs/job/assistant.dm index d876118a34..a5a4a4db0d 100644 --- a/code/game/jobs/job/assistant.dm +++ b/code/game/jobs/job/assistant.dm @@ -16,10 +16,7 @@ if(!H) return 0 H.equip_to_slot_or_del(new /obj/item/clothing/under/color/grey(H), slot_w_uniform) H.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(H), slot_shoes) - if(H.backbag == 1) - H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H), slot_r_hand) - else - H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H.back), slot_in_backpack) + H.species.equip_survival_gear(H) return 1 /datum/job/assistant/get_access() diff --git a/code/game/jobs/job/captain.dm b/code/game/jobs/job/captain.dm index f9cd48c6de..cc9f3fb4d3 100644 --- a/code/game/jobs/job/captain.dm +++ b/code/game/jobs/job/captain.dm @@ -32,8 +32,9 @@ var/datum/announcement/minor/captain_announcement = new(do_newscast = 1) H.equip_to_slot_or_del(new /obj/item/clothing/shoes/brown(H), slot_shoes) H.equip_to_slot_or_del(new /obj/item/clothing/head/caphat(H), slot_head) H.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses(H), slot_glasses) + H.species.equip_survival_gear(H) if(H.backbag == 1) - H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/ids(H), slot_r_hand) + H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/ids(H), slot_l_hand) else H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/ids(H.back), slot_in_backpack) @@ -84,12 +85,12 @@ var/datum/announcement/minor/captain_announcement = new(do_newscast = 1) if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack(H), slot_back) if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel_norm(H), slot_back) if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back) - H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H.back), slot_in_backpack) H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/head_of_personnel(H), slot_w_uniform) H.equip_to_slot_or_del(new /obj/item/clothing/shoes/brown(H), slot_shoes) H.equip_to_slot_or_del(new /obj/item/device/pda/heads/hop(H), slot_belt) + H.species.equip_survival_gear(H) if(H.backbag == 1) - H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/ids(H), slot_r_hand) + H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/ids(H), slot_l_hand) else H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/ids(H.back), slot_in_backpack) return 1 diff --git a/code/game/jobs/job/civilian.dm b/code/game/jobs/job/civilian.dm index 088e3841fd..284b753c54 100644 --- a/code/game/jobs/job/civilian.dm +++ b/code/game/jobs/job/civilian.dm @@ -23,21 +23,7 @@ H.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(H), slot_shoes) H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/bartender(H), slot_w_uniform) H.equip_to_slot_or_del(new /obj/item/device/pda/bar(H), slot_belt) - - if(H.backbag == 1) - var/obj/item/weapon/storage/box/survival/Barpack = new /obj/item/weapon/storage/box/survival(H) - H.equip_to_slot_or_del(Barpack, slot_r_hand) - new /obj/item/ammo_casing/shotgun/beanbag(Barpack) - new /obj/item/ammo_casing/shotgun/beanbag(Barpack) - new /obj/item/ammo_casing/shotgun/beanbag(Barpack) - new /obj/item/ammo_casing/shotgun/beanbag(Barpack) - else - H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H), slot_in_backpack) - H.equip_to_slot_or_del(new /obj/item/ammo_casing/shotgun/beanbag(H), slot_in_backpack) - H.equip_to_slot_or_del(new /obj/item/ammo_casing/shotgun/beanbag(H), slot_in_backpack) - H.equip_to_slot_or_del(new /obj/item/ammo_casing/shotgun/beanbag(H), slot_in_backpack) - H.equip_to_slot_or_del(new /obj/item/ammo_casing/shotgun/beanbag(H), slot_in_backpack) - + H.species.equip_survival_gear() return 1 @@ -65,10 +51,7 @@ H.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(H), slot_shoes) H.equip_to_slot_or_del(new /obj/item/clothing/head/chefhat(H), slot_head) H.equip_to_slot_or_del(new /obj/item/device/pda/chef(H), slot_belt) - if(H.backbag == 1) - H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H), slot_r_hand) - else - H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H.back), slot_in_backpack) + H.species.equip_survival_gear() return 1 @@ -98,11 +81,10 @@ H.equip_to_slot_or_del(new /obj/item/device/analyzer/plant_analyzer(H), slot_s_store) H.equip_to_slot_or_del(new /obj/item/device/pda/botanist(H), slot_belt) switch(H.backbag) - if(1) H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H), slot_r_hand) if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/hydroponics(H), slot_back) if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel_hyd(H), slot_back) if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back) - H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H.back), slot_in_backpack) + H.species.equip_survival_gear(H) return 1 @@ -131,10 +113,7 @@ // H.equip_to_slot_or_del(new /obj/item/clothing/gloves/black(H), slot_gloves) H.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses(H), slot_glasses) H.equip_to_slot_or_del(new /obj/item/weapon/clipboard(H), slot_l_hand) - if(H.backbag == 1) - H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H), slot_r_hand) - else - H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H.back), slot_in_backpack) + H.species.equip_survival_gear(H) return 1 @@ -160,10 +139,7 @@ H.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(H), slot_shoes) H.equip_to_slot_or_del(new /obj/item/device/pda/cargo(H), slot_belt) // H.equip_to_slot_or_del(new /obj/item/clothing/gloves/black(H), slot_gloves) - if(H.backbag == 1) - H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H), slot_r_hand) - else - H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H.back), slot_in_backpack) + H.species.equip_survival_gear(H) return 1 @@ -193,12 +169,11 @@ H.equip_to_slot_or_del(new /obj/item/device/pda/shaftminer(H), slot_belt) H.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(H), slot_shoes) // H.equip_to_slot_or_del(new /obj/item/clothing/gloves/black(H), slot_gloves) + H.species.equip_survival_gear(H) if(H.backbag == 1) - H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/engineer(H), slot_r_hand) H.equip_to_slot_or_del(new /obj/item/weapon/crowbar(H), slot_l_hand) H.equip_to_slot_or_del(new /obj/item/weapon/storage/bag/ore(H), slot_l_store) else - H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/engineer(H.back), slot_in_backpack) H.equip_to_slot_or_del(new /obj/item/weapon/crowbar(H), slot_in_backpack) H.equip_to_slot_or_del(new /obj/item/weapon/storage/bag/ore(H), slot_in_backpack) return 1 @@ -263,12 +238,11 @@ H.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/mime(H), slot_wear_mask) H.equip_to_slot_or_del(new /obj/item/clothing/head/beret(H), slot_head) H.equip_to_slot_or_del(new /obj/item/clothing/suit/suspenders(H), slot_wear_suit) + H.species.equip_survival_gear(H) if(H.backbag == 1) - H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H), slot_r_hand) H.equip_to_slot_or_del(new /obj/item/weapon/pen/crayon/mime(H), slot_l_store) H.equip_to_slot_or_del(new /obj/item/weapon/reagent_containers/food/drinks/bottle/bottleofnothing(H), slot_l_hand) else - H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H.back), slot_in_backpack) H.equip_to_slot_or_del(new /obj/item/weapon/pen/crayon/mime(H), slot_in_backpack) H.equip_to_slot_or_del(new /obj/item/weapon/reagent_containers/food/drinks/bottle/bottleofnothing(H), slot_in_backpack) H.verbs += /client/proc/mimespeak @@ -300,10 +274,7 @@ H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/janitor(H), slot_w_uniform) H.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(H), slot_shoes) H.equip_to_slot_or_del(new /obj/item/device/pda/janitor(H), slot_belt) - if(H.backbag == 1) - H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H), slot_r_hand) - else - H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H.back), slot_in_backpack) + H.species.equip_survival_gear(H) return 1 @@ -330,10 +301,7 @@ H.equip_to_slot_or_del(new /obj/item/device/pda/librarian(H), slot_belt) H.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(H), slot_shoes) H.equip_to_slot_or_del(new /obj/item/weapon/barcodescanner(H), slot_l_hand) - if(H.backbag == 1) - H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H), slot_r_hand) - else - H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H.back), slot_in_backpack) + H.species.equip_survival_gear(H) return 1 @@ -366,10 +334,7 @@ H.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses/big(H), slot_glasses) H.equip_to_slot_or_del(new /obj/item/device/pda/lawyer(H), slot_belt) H.equip_to_slot_or_del(new /obj/item/weapon/storage/briefcase(H), slot_l_hand) - if(H.backbag == 1) - H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H), slot_r_hand) - else - H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H.back), slot_in_backpack) + H.species.equip_survival_gear(H) H.implant_loyalty(H) diff --git a/code/game/jobs/job/civilian_chaplain.dm b/code/game/jobs/job/civilian_chaplain.dm index 9b08e0d47c..d85d1d5e40 100644 --- a/code/game/jobs/job/civilian_chaplain.dm +++ b/code/game/jobs/job/civilian_chaplain.dm @@ -22,10 +22,7 @@ H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/chaplain(H), slot_w_uniform) H.equip_to_slot_or_del(new /obj/item/device/pda/chaplain(H), slot_belt) H.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(H), slot_shoes) - if(H.backbag == 1) - H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H), slot_r_hand) - else - H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H.back), slot_in_backpack) + H.species.equip_survival_gear(H) spawn(0) var/religion_name = "Christianity" var/new_religion = sanitize(input(H, "You are the crew services officer. Would you like to change your religion? Default is Christianity, in SPACE.", "Name change", religion_name), MAX_NAME_LEN) diff --git a/code/game/jobs/job/engineering.dm b/code/game/jobs/job/engineering.dm index 249c103c87..2d47694b03 100644 --- a/code/game/jobs/job/engineering.dm +++ b/code/game/jobs/job/engineering.dm @@ -35,10 +35,7 @@ H.equip_to_slot_or_del(new /obj/item/clothing/head/hardhat/white(H), slot_head) H.equip_to_slot_or_del(new /obj/item/weapon/storage/belt/utility/full(H), slot_belt) H.equip_to_slot_or_del(new /obj/item/clothing/gloves/black(H), slot_gloves) - if(H.backbag == 1) - H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/engineer(H), slot_r_hand) - else - H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/engineer(H.back), slot_in_backpack) + H.species.equip_survival_gear(H) return 1 @@ -71,10 +68,7 @@ H.equip_to_slot_or_del(new /obj/item/clothing/head/hardhat(H), slot_head) H.equip_to_slot_or_del(new /obj/item/device/t_scanner(H), slot_r_store) H.equip_to_slot_or_del(new /obj/item/device/pda/engineering(H), slot_l_store) - if(H.backbag == 1) - H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/engineer(H), slot_r_hand) - else - H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/engineer(H.back), slot_in_backpack) + H.species.equip_survival_gear(H) return 1 @@ -104,8 +98,5 @@ H.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(H), slot_shoes) H.equip_to_slot_or_del(new /obj/item/device/pda/atmos(H), slot_l_store) H.equip_to_slot_or_del(new /obj/item/weapon/storage/belt/utility/atmostech/(H), slot_belt) - if(H.backbag == 1) - H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/engineer(H), slot_r_hand) - else - H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/engineer(H.back), slot_in_backpack) + H.species.equip_survival_gear(H) return 1 diff --git a/code/game/jobs/job/medical.dm b/code/game/jobs/job/medical.dm index 8454ced144..f96494d5e7 100644 --- a/code/game/jobs/job/medical.dm +++ b/code/game/jobs/job/medical.dm @@ -30,10 +30,7 @@ H.equip_to_slot_or_del(new /obj/item/clothing/shoes/brown(H), slot_shoes) H.equip_to_slot_or_del(new /obj/item/device/pda/heads/cmo(H), slot_belt) H.equip_to_slot_or_del(new /obj/item/weapon/storage/firstaid/adv(H), slot_l_hand) - if(H.backbag == 1) - H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H), slot_r_hand) - else - H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H.back), slot_in_backpack) + H.species.equip_survival_gear(H) return 1 H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/labcoat/cmo(H), slot_wear_suit) H.equip_to_slot_or_del(new /obj/item/device/flashlight/pen(H), slot_s_store) @@ -93,10 +90,7 @@ else H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/medical(H), slot_w_uniform) H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/labcoat(H), slot_wear_suit) - if(H.backbag == 1) - H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H), slot_r_hand) - else - H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H.back), slot_in_backpack) + H.species.equip_survival_gear(H) H.equip_to_slot_or_del(new /obj/item/device/pda/medical(H), slot_belt) H.equip_to_slot_or_del(new /obj/item/device/flashlight/pen(H), slot_s_store) return 1 @@ -126,11 +120,10 @@ H.equip_to_slot_or_del(new /obj/item/clothing/shoes/white(H), slot_shoes) H.equip_to_slot_or_del(new /obj/item/device/pda/chemist(H), slot_belt) switch(H.backbag) - if(1) H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H), slot_r_hand) if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/chemistry(H), slot_back) if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel_chem(H), slot_back) if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back) - H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H.back), slot_in_backpack) + H.species.equip_survival_gear(H) H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/labcoat/chemist(H), slot_wear_suit) return 1 @@ -157,11 +150,10 @@ H.equip_to_slot_or_del(new /obj/item/clothing/shoes/white(H), slot_shoes) H.equip_to_slot_or_del(new /obj/item/device/pda/geneticist(H), slot_belt) switch(H.backbag) - if(1) H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H), slot_r_hand) if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/genetics(H), slot_back) if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel_gen(H), slot_back) if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back) - H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H.back), slot_in_backpack) + H.species.equip_survival_gear(H) H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/labcoat/genetics(H), slot_wear_suit) H.equip_to_slot_or_del(new /obj/item/device/flashlight/pen(H), slot_s_store) return 1 @@ -197,10 +189,7 @@ H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/medical(H), slot_w_uniform) H.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup(H), slot_shoes) H.equip_to_slot_or_del(new /obj/item/device/pda/medical(H), slot_belt) - if(H.backbag == 1) - H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H), slot_r_hand) - else - H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H.back), slot_in_backpack) + H.species.equip_survival_gear(H) H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/labcoat(H), slot_wear_suit) @@ -239,8 +228,5 @@ H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/medical(H), slot_w_uniform) H.equip_to_slot_or_del(new /obj/item/weapon/storage/belt/medical/emt(H), slot_belt) H.equip_to_slot_or_del(new /obj/item/device/pda/medical(H), slot_l_store) - if(H.backbag == 1) - H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/engineer(H), slot_r_hand) - else - H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/engineer(H.back), slot_in_backpack) + H.species.equip_survival_gear(H) return 1 diff --git a/code/game/jobs/job/science.dm b/code/game/jobs/job/science.dm index 6142296d72..1f662c1ad0 100644 --- a/code/game/jobs/job/science.dm +++ b/code/game/jobs/job/science.dm @@ -29,11 +29,10 @@ H.equip_to_slot_or_del(new /obj/item/device/pda/heads/rd(H), slot_belt) H.equip_to_slot_or_del(new /obj/item/weapon/clipboard(H), slot_l_hand) switch(H.backbag) - if(1) H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H), slot_r_hand) if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/toxins(H), slot_back) if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel_tox(H), slot_back) if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back) - H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H.back), slot_in_backpack) + H.species.equip_survival_gear(H) H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/labcoat(H), slot_wear_suit) return 1 @@ -62,11 +61,10 @@ H.equip_to_slot_or_del(new /obj/item/clothing/shoes/white(H), slot_shoes) H.equip_to_slot_or_del(new /obj/item/device/pda/science(H), slot_belt) switch(H.backbag) - if(1) H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H), slot_r_hand) if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/toxins(H), slot_back) if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel_tox(H), slot_back) if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back) - H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H.back), slot_in_backpack) + H.species.equip_survival_gear(H) H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/labcoat/science(H), slot_wear_suit) return 1 @@ -95,11 +93,10 @@ H.equip_to_slot_or_del(new /obj/item/clothing/shoes/white(H), slot_shoes) H.equip_to_slot_or_del(new /obj/item/device/pda/science(H), slot_belt) switch(H.backbag) - if(1) H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H), slot_r_hand) if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/toxins(H), slot_back) if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel_tox(H), slot_back) if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back) - H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H.back), slot_in_backpack) + H.species.equip_survival_gear(H) H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/labcoat/science(H), slot_wear_suit) return 1 @@ -128,9 +125,6 @@ H.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(H), slot_shoes) H.equip_to_slot_or_del(new /obj/item/device/pda/roboticist(H), slot_belt) H.equip_to_slot_or_del(new /obj/item/weapon/storage/toolbox/mechanical(H), slot_l_hand) - if(H.backbag == 1) - H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H), slot_r_hand) - else - H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H.back), slot_in_backpack) + H.species.equip_survival_gear(H) H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/labcoat(H), slot_wear_suit) return 1 \ No newline at end of file diff --git a/code/game/jobs/job/security.dm b/code/game/jobs/job/security.dm index 1a0e3bdf3a..f3881ebb6d 100644 --- a/code/game/jobs/job/security.dm +++ b/code/game/jobs/job/security.dm @@ -35,11 +35,10 @@ // H.equip_to_slot_or_del(new /obj/item/clothing/mask/gas(H), slot_wear_mask) //Grab one from the armory you donk H.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses/sechud(H), slot_glasses) H.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/gun(H), slot_s_store) + H.species.equip_survival_gear(H) if(H.backbag == 1) - H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H), slot_r_hand) H.equip_to_slot_or_del(new /obj/item/weapon/handcuffs(H), slot_l_store) else - H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H.back), slot_in_backpack) H.equip_to_slot_or_del(new /obj/item/weapon/handcuffs(H), slot_in_backpack) H.implant_loyalty(H) return 1 @@ -74,11 +73,10 @@ H.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses/sechud(H), slot_glasses) // H.equip_to_slot_or_del(new /obj/item/clothing/mask/gas(H), slot_wear_mask) //Grab one from the armory you donk H.equip_to_slot_or_del(new /obj/item/device/flash(H), slot_l_store) + H.species.equip_survival_gear(H) if(H.backbag == 1) - H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H), slot_r_hand) H.equip_to_slot_or_del(new /obj/item/weapon/handcuffs(H), slot_l_hand) else - H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H.back), slot_in_backpack) H.equip_to_slot_or_del(new /obj/item/weapon/handcuffs(H), slot_in_backpack) return 1 @@ -112,12 +110,11 @@ H.equip_to_slot_or_del(new /obj/item/device/pda/detective(H), slot_belt) H.equip_to_slot_or_del(new /obj/item/clothing/gloves/black(H), slot_gloves) H.equip_to_slot_or_del(new /obj/item/weapon/flame/lighter/zippo(H), slot_l_store) + H.species.equip_survival_gear(H) if(H.backbag == 1)//Why cant some of these things spawn in his office? - H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H), slot_r_hand) H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/evidence(H), slot_l_hand) H.equip_to_slot_or_del(new /obj/item/device/detective_scanner(H), slot_r_store) else - H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H.back), slot_in_backpack) H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/evidence(H), slot_in_backpack) H.equip_to_slot_or_del(new /obj/item/device/detective_scanner(H), slot_in_backpack) if(H.mind.role_alt_title && H.mind.role_alt_title == "Forensic Technician") @@ -154,10 +151,9 @@ H.equip_to_slot_or_del(new /obj/item/device/pda/security(H), slot_belt) H.equip_to_slot_or_del(new /obj/item/weapon/handcuffs(H), slot_s_store) H.equip_to_slot_or_del(new /obj/item/device/flash(H), slot_l_store) + H.species.equip_survival_gear(H) if(H.backbag == 1) - H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H), slot_r_hand) H.equip_to_slot_or_del(new /obj/item/weapon/handcuffs(H), slot_l_hand) else - H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H.back), slot_in_backpack) H.equip_to_slot_or_del(new /obj/item/weapon/handcuffs(H), slot_in_backpack) return 1 diff --git a/code/game/jobs/job_controller.dm b/code/game/jobs/job_controller.dm index 360245ccf1..e2b87c6dc0 100644 --- a/code/game/jobs/job_controller.dm +++ b/code/game/jobs/job_controller.dm @@ -505,7 +505,10 @@ var/global/datum/controller/occupations/job_master H.equip_to_slot_or_del(new /obj/item/clothing/shoes/sandal(H),slot_shoes,1) else if(H.species.name == "Vox") H.equip_to_slot_or_del(new /obj/item/clothing/mask/breath(H), slot_wear_mask) - if(!H.r_hand) + if(!H.back) + H.equip_to_slot_or_del(new /obj/item/weapon/tank/nitrogen(H), slot_back) + H.internal = H.back + else if(!H.r_hand) H.equip_to_slot_or_del(new /obj/item/weapon/tank/nitrogen(H), slot_r_hand) H.internal = H.r_hand else if (!H.l_hand) diff --git a/code/game/objects/items/weapons/storage/boxes.dm b/code/game/objects/items/weapons/storage/boxes.dm index f8be15d3e4..0ebd126b9d 100644 --- a/code/game/objects/items/weapons/storage/boxes.dm +++ b/code/game/objects/items/weapons/storage/boxes.dm @@ -53,21 +53,14 @@ /obj/item/weapon/storage/box/survival/ New() ..() - contents = list() - sleep(1) new /obj/item/clothing/mask/breath( src ) new /obj/item/weapon/tank/emergency_oxygen( src ) - return -/obj/item/weapon/storage/box/engineer/ +/obj/item/weapon/storage/box/survival/vox/ New() ..() - contents = list() - sleep(1) new /obj/item/clothing/mask/breath( src ) - new /obj/item/weapon/tank/emergency_oxygen/engi( src ) - return - + new /obj/item/weapon/tank/emergency_nitrogen( src ) /obj/item/weapon/storage/box/gloves name = "box of latex gloves" diff --git a/code/game/objects/items/weapons/tanks/tank_types.dm b/code/game/objects/items/weapons/tanks/tank_types.dm index 3f2bbb1826..a43d49a39c 100644 --- a/code/game/objects/items/weapons/tanks/tank_types.dm +++ b/code/game/objects/items/weapons/tanks/tank_types.dm @@ -144,6 +144,29 @@ icon_state = "emergency_double" volume = 10 +/obj/item/weapon/tank/emergency_nitrogen + name = "emergency nitrogen tank" + desc = "An emergency air tank hastily painted red and issued to Vox crewmembers." + icon_state = "emergency_nitro" + flags = CONDUCT + slot_flags = SLOT_BELT + w_class = 2.0 + force = 4.0 + distribute_pressure = ONE_ATMOSPHERE*O2STANDARD + volume = 2 + + New() + ..() + src.air_contents.adjust_gas("nitrogen", (3*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C)) + + return + + + examine(mob/user) + if(..(user, 0) && air_contents.gas["nitrogen"] < 0.2 && loc==user) + user << text("\red The meter on the [src.name] indicates you are almost out of air!") + user << sound('sound/effects/alert.ogg') + /* * Nitrogen */ diff --git a/code/modules/mob/living/carbon/human/species/outsider/vox.dm b/code/modules/mob/living/carbon/human/species/outsider/vox.dm index a37e4c41b1..07b52e6759 100644 --- a/code/modules/mob/living/carbon/human/species/outsider/vox.dm +++ b/code/modules/mob/living/carbon/human/species/outsider/vox.dm @@ -54,6 +54,12 @@ var/datum/language/species_language = all_languages[default_language] return species_language.get_random_name(gender) +/datum/species/vox/equip_survival_gear(var/mob/living/carbon/human/H) + if(H.backbag == 1) + H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival/vox(H), slot_r_hand) + else + H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival/vox(H.back), slot_in_backpack) + /datum/species/vox/can_shred(var/mob/living/carbon/human/H, var/ignore_intent) if(!H.mind || !H.mind.special_role) // Pariah check. return 0 diff --git a/code/modules/mob/living/carbon/human/species/species.dm b/code/modules/mob/living/carbon/human/species/species.dm index 5c01ea38b4..b49a634aab 100644 --- a/code/modules/mob/living/carbon/human/species/species.dm +++ b/code/modules/mob/living/carbon/human/species/species.dm @@ -174,6 +174,12 @@ return "unknown" return species_language.get_random_name(gender) +/datum/species/proc/equip_survival_gear(var/mob/living/carbon/human/H) + if(H.backbag == 1) + H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H), slot_r_hand) + else + H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H.back), slot_in_backpack) + /datum/species/proc/create_organs(var/mob/living/carbon/human/H) //Handles creation of mob organs. for(var/obj/item/organ/organ in H.contents) diff --git a/code/modules/mob/living/carbon/human/species/station/station.dm b/code/modules/mob/living/carbon/human/species/station/station.dm index ee8a1438d2..3f4d462191 100644 --- a/code/modules/mob/living/carbon/human/species/station/station.dm +++ b/code/modules/mob/living/carbon/human/species/station/station.dm @@ -198,6 +198,12 @@ return 1 return 0 +/datum/species/diona/equip_survival_gear(var/mob/living/carbon/human/H) + if(H.backbag == 1) + H.equip_to_slot_or_del(new /obj/item/device/flashlight/flare(H), slot_r_hand) + else + H.equip_to_slot_or_del(new /obj/item/device/flashlight/flare(H.back), slot_in_backpack) + /datum/species/diona/handle_post_spawn(var/mob/living/carbon/human/H) H.gender = NEUTER return ..() @@ -251,6 +257,8 @@ has_organ = list() //TODO: Positronic brain. +/datum/species/machine/equip_survival_gear(var/mob/living/carbon/human/H) + /datum/species/machine/handle_death(var/mob/living/carbon/human/H) ..() if(flags & IS_SYNTHETIC) diff --git a/html/changelogs/Techhead-InternalBoxes.yml b/html/changelogs/Techhead-InternalBoxes.yml new file mode 100644 index 0000000000..3cbb8f0114 --- /dev/null +++ b/html/changelogs/Techhead-InternalBoxes.yml @@ -0,0 +1,9 @@ +author: Techhead +delete-after: True +changes: + - rscadd: "Vox will spawn with emergency nitrogen tanks in their survival boxes." + - rscadd: "Diona will spawn with an emergency flare instead of a survival box." + - rscdel: "Engineers no longer spawn with extended-capacity oxygen tanks." + - bugfix: "Vox spawning without backpacks will have their nitrogen tank equipped to their back." + - tweak: "The Bartender's spare beanbag shells have been moved into bar backroom with the shotgun." + diff --git a/icons/obj/tank.dmi b/icons/obj/tank.dmi index 3b71827609e136757ddcf0d6ad294b761a35a2ff..9f39eb1bee56918e1625714a9a8f80d156620631 100644 GIT binary patch delta 1998 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 delta 1896 zcmV-u2bcJb6S)$Q7Y=|30{{R3ySBeY`3;PQVl(C>K7#JV@d(kGwL=AK|GdY)=flEqP zo9!;A>-~;g!8&C$UDEkzOp==tD19@Vl0<^4BzBEMhTzMAxwjSQ0ZD|i&JQLeIat;} zSHCf)!J!0HWe`0}V@>!(Xux{svW+JT(3R?e3x9LrHS`dm!yw&VSaFC3ZICRPRt_Ny z9s$p+JjHUuf6w5DuXG36_dx!3BayWLroRhPM@38Yb zcjnGcJ|3E;q;w>8>=^AgG}MO!({WuV2^u7RO%*tC@?!%Pu3_7iY>Pl5r;F(C| z*~Xx*A%Nj12naP7fKYcP*S^iy)ZEGnj!ely)687-*C*gacD_ko0fZ+WQDT z258tlQVYNnG#>!M^DP#|`7A(2)_=ucegif}nu-0{0)*#VEQ<0~0ilAdo&5%EX(sB& zD=2=x?FBTf3J%nwfMMs$cdFBx9uYmS7`ZM>+Yq@<*zr1Vtl^qU8- z{PewQ;l_;x=arwncfPhZxUXqeu6*{H-gNGaK@Y!Q-&lWi z69uIG&Bw9W<9|)PRMz>G-#*h18|xcCqI?qHuE3V0LNXt%Fw=dg&_e={^z8wl0wjQI z-vapQ=U;xM014mjJ-u8R!1UL*34Z&X;3NIAbAYnHzIQnX@Z0wZ(A0Hv;SXXXcJ2E> z2#2In*)+=~{5a*s_pY*8;scaS;R5pN`#=cI2zR$GYJcH-msw)(CE*U?hp(ihq@<*z z^uN|o&kwglp>5}tpFUH8`k}l==X2X3(}eq)X64Ffpa11AO}KPxdFA#hlFx0kTxidm z-+p2}{I)FrqX69dg~U#HM>54^K3D50 zF2E%3NPn7y%;)%RS^h@>xcBqCgrvxP&K}^w8Vw-x*B&6gme2E5NQuhl>X0AGOGxE& zb_KR16_WXDTUZ6HMwa{+1S+4i2Y?EY0Iq$u!$1jTglIlz_Z~~H>{j&G*I1jd5*7+H zBBru)0B1hv(YFYpgqsQSm*faJ2k_hHlKv|W88slw|F-`nHe%Plcdbkkvl`0000 Date: Wed, 13 May 2015 03:16:43 -0400 Subject: [PATCH 195/305] Adds beanbag shells to bar backroom. Also, fixes. --- code/game/jobs/job/civilian.dm | 4 ++-- code/game/objects/items/weapons/storage/boxes.dm | 6 ++++++ maps/exodus-1.dmm | 4 ++-- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/code/game/jobs/job/civilian.dm b/code/game/jobs/job/civilian.dm index 284b753c54..f42e27dbde 100644 --- a/code/game/jobs/job/civilian.dm +++ b/code/game/jobs/job/civilian.dm @@ -23,7 +23,7 @@ H.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(H), slot_shoes) H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/bartender(H), slot_w_uniform) H.equip_to_slot_or_del(new /obj/item/device/pda/bar(H), slot_belt) - H.species.equip_survival_gear() + H.species.equip_survival_gear(H) return 1 @@ -51,7 +51,7 @@ H.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(H), slot_shoes) H.equip_to_slot_or_del(new /obj/item/clothing/head/chefhat(H), slot_head) H.equip_to_slot_or_del(new /obj/item/device/pda/chef(H), slot_belt) - H.species.equip_survival_gear() + H.species.equip_survival_gear(H) return 1 diff --git a/code/game/objects/items/weapons/storage/boxes.dm b/code/game/objects/items/weapons/storage/boxes.dm index 0ebd126b9d..d5af4b2bc7 100644 --- a/code/game/objects/items/weapons/storage/boxes.dm +++ b/code/game/objects/items/weapons/storage/boxes.dm @@ -62,6 +62,12 @@ new /obj/item/clothing/mask/breath( src ) new /obj/item/weapon/tank/emergency_nitrogen( src ) +/obj/item/weapon/storage/box/engineer/ + New() + ..() + new /obj/item/clothing/mask/breath( src ) + new /obj/item/weapon/tank/emergency_oxygen/engi( src ) + /obj/item/weapon/storage/box/gloves name = "box of latex gloves" desc = "Contains white gloves." diff --git a/maps/exodus-1.dmm b/maps/exodus-1.dmm index 837031cf89..6f18a9237a 100644 --- a/maps/exodus-1.dmm +++ b/maps/exodus-1.dmm @@ -1520,7 +1520,7 @@ "aDl" = (/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/obj/item/weapon/bikehorn/rubberducky,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) "aDm" = (/obj/machinery/vending/coffee,/turf/simulated/floor/wood,/area/crew_quarters/bar) "aDn" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 6; icon_state = "intact"; tag = "icon-intact-f (SOUTHEAST)"},/mob/living/simple_animal/mouse,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/maintenance/arrivals) -"aDo" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/drinks/shaker,/obj/item/weapon/gun/projectile/shotgun/doublebarrel,/obj/item/weapon/paper{info = "This permit signifies that the Bartender is permitted to posess this firearm in the bar, and ONLY the bar. Failure to adhere to this permit will result in confiscation of the weapon and possibly arrest."; name = "Shotgun permit"},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/wood,/area/crew_quarters/bar) +"aDo" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/box/beanbags,obj/item/weapon/gun/projectile/shotgun/doublebarrel,/obj/item/weapon/paper{info = "This permit signifies that the Bartender is permitted to posess this firearm in the bar, and ONLY the bar. Failure to adhere to this permit will result in confiscation of the weapon and possibly arrest."; name = "Shotgun permit"},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/wood,/area/crew_quarters/bar) "aDp" = (/turf/simulated/wall,/area/crew_quarters/bar) "aDq" = (/obj/structure/disposalpipe/segment,/obj/effect/decal/cleanable/dirt,/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"},/turf/simulated/floor/plating,/area/maintenance/bar) "aDr" = (/obj/item/weapon/stool{pixel_y = 8},/obj/effect/landmark/start{name = "Assistant"},/turf/simulated/floor,/area/storage/primary) @@ -1602,7 +1602,7 @@ "aEP" = (/obj/item/weapon/storage/secure/safe{pixel_x = -22; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/wood,/area/crew_quarters/bar) "aEQ" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/bar) "aER" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"aES" = (/obj/structure/table/woodentable,/obj/machinery/reagentgrinder,/obj/item/weapon/packageWrap,/obj/machinery/camera/network/civilian_east{c_tag = "Bar Backroom"},/turf/simulated/floor/wood,/area/crew_quarters/bar) +"aES" = (/obj/structure/table/woodentable,/obj/machinery/reagentgrinder,/obj/item/weapon/reagent_containers/food/drinks/shaker,/obj/item/weapon/packageWrap,/obj/machinery/camera/network/civilian_east{c_tag = "Bar Backroom"},/turf/simulated/floor/wood,/area/crew_quarters/bar) "aET" = (/obj/structure/disposalpipe/sortjunction{dir = 2; icon_state = "pipe-j1s"; sortType = "Bar"; name = "Bar"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/bar) "aEU" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/maintenance/substation/civilian_east) "aEV" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/camera/network/civilian_east{c_tag = "Dormitory Holodeck South"; dir = 1; pixel_y = 6},/turf/simulated/floor/plating,/area/crew_quarters/fitness) From 38e7cb877453a3de0807e4cc8799f5421ddd1fce Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Wed, 13 May 2015 17:04:52 +0930 Subject: [PATCH 196/305] Minor amendments to mech kits and icons. --- code/game/objects/items/paintkit.dm | 2 +- icons/mecha/mecha.dmi | Bin 168092 -> 168091 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/items/paintkit.dm b/code/game/objects/items/paintkit.dm index f626af6ff3..34802577d6 100644 --- a/code/game/objects/items/paintkit.dm +++ b/code/game/objects/items/paintkit.dm @@ -168,7 +168,7 @@ /obj/item/device/kit/paint/gygax/darkgygax name = "\"Silhouette\" Gygax customisation kit" new_name = "Gygax \"Silhouette\"" - new_desc = "An ominous Gygax exosuit modelled after the fictional corporate 'death squads' that were popular back in 2554." + new_desc = "An ominous Gygax exosuit modelled after the fictional corporate 'death squads' that were popular in pulp action-thrillers back in 2554." new_icon = "darkgygax" /obj/item/device/kit/paint/gygax/recitence diff --git a/icons/mecha/mecha.dmi b/icons/mecha/mecha.dmi index c5d882a5032dddc7cc18f7435119b8a473a75dd7..25ef7f5151e46b4d96484f51ede6911cfa6cee02 100644 GIT binary patch delta 533 zcmV+w0_y#op$eO!3Xmj!?|M{NbVOxyV{&P5bZKvH004NLotDpTqc9N0&+rtZ_Uf*H zgzkyUD%C27_7x(ho?t6rBOBVXPrnD!VE%Kw!aJ z$RLhb9F1L1rb69YW6v5-v`1^s1hrLFf$cocL`DO+Xo&!MoAa;L_4798U$o^rDRK3Z zTi%GJ4Ve+%VA%BAm$H~8GiD-{L(40<%GAkzM0Bwdc`C{O8NJHW$!NQD(N>Z>oG+Yu zr-5CbiT|!Ce=>!CpiX*Mc<5N1p{7`zpy!#dn199vZ}jo^a9@{85Zhx!>l`+2wK?BH z+8$rkM2wTNcv88n3Fpz%(qMc8kw+k}B{3j9?M(H- delta 533 zcmV+w0_y#np$eR#3Xmj!@Oo5ObVOxyV{&P5bZKvH004NLotDjRqc9YO*YFfq?baOu z37r+2QL0fE?JFR+zQI<&Mz)zL^YpVI4L{-MHe!Wz&h>}y^)Zj|>*e?H4Gyoz@DEz2 zjD`&MKcX=BtAv-3!7d2{iK>vkdvTt7gbW^}(Py*|VIY)skikBG3{I9;=pch63w8|}L_XM)!wT|^fvk*AjYpV6BaES^*$J>fhKv^1EZfyg6}dr1t)fp(QAkjA^(c*tNEvE-R8)Sx1Ad!{Am zRY}{fUQQ%IT_}xcl`ityES$5!4VR?DJes&CjCYloaxVpcyQ&rfXd#2=sdDOw&L%A%@W#v6#gy9fu?VYd=cbh^3?7 zvhJ+rr;=Cba*Ny0N|czd*jDeaFUNb?&}Zz%c@N{*M_S6_R>L3R Date: Wed, 13 May 2015 04:07:01 -0400 Subject: [PATCH 197/305] Moves equip_survival_gear into job controller, species gear into datums. --- code/game/jobs/job/assistant.dm | 1 - code/game/jobs/job/captain.dm | 2 -- code/game/jobs/job/civilian.dm | 11 ----------- code/game/jobs/job/civilian_chaplain.dm | 1 - code/game/jobs/job/engineering.dm | 3 --- code/game/jobs/job/medical.dm | 6 ------ code/game/jobs/job/science.dm | 4 ---- code/game/jobs/job/security.dm | 4 ---- code/game/jobs/job_controller.dm | 19 ++----------------- .../carbon/human/species/outsider/vox.dm | 13 +++++++++++++ .../carbon/human/species/station/station.dm | 8 ++++++++ 11 files changed, 23 insertions(+), 49 deletions(-) diff --git a/code/game/jobs/job/assistant.dm b/code/game/jobs/job/assistant.dm index a5a4a4db0d..def0a007f7 100644 --- a/code/game/jobs/job/assistant.dm +++ b/code/game/jobs/job/assistant.dm @@ -16,7 +16,6 @@ if(!H) return 0 H.equip_to_slot_or_del(new /obj/item/clothing/under/color/grey(H), slot_w_uniform) H.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(H), slot_shoes) - H.species.equip_survival_gear(H) return 1 /datum/job/assistant/get_access() diff --git a/code/game/jobs/job/captain.dm b/code/game/jobs/job/captain.dm index cc9f3fb4d3..28240dbb5b 100644 --- a/code/game/jobs/job/captain.dm +++ b/code/game/jobs/job/captain.dm @@ -32,7 +32,6 @@ var/datum/announcement/minor/captain_announcement = new(do_newscast = 1) H.equip_to_slot_or_del(new /obj/item/clothing/shoes/brown(H), slot_shoes) H.equip_to_slot_or_del(new /obj/item/clothing/head/caphat(H), slot_head) H.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses(H), slot_glasses) - H.species.equip_survival_gear(H) if(H.backbag == 1) H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/ids(H), slot_l_hand) else @@ -88,7 +87,6 @@ var/datum/announcement/minor/captain_announcement = new(do_newscast = 1) H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/head_of_personnel(H), slot_w_uniform) H.equip_to_slot_or_del(new /obj/item/clothing/shoes/brown(H), slot_shoes) H.equip_to_slot_or_del(new /obj/item/device/pda/heads/hop(H), slot_belt) - H.species.equip_survival_gear(H) if(H.backbag == 1) H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/ids(H), slot_l_hand) else diff --git a/code/game/jobs/job/civilian.dm b/code/game/jobs/job/civilian.dm index f42e27dbde..e5ef21856e 100644 --- a/code/game/jobs/job/civilian.dm +++ b/code/game/jobs/job/civilian.dm @@ -23,7 +23,6 @@ H.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(H), slot_shoes) H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/bartender(H), slot_w_uniform) H.equip_to_slot_or_del(new /obj/item/device/pda/bar(H), slot_belt) - H.species.equip_survival_gear(H) return 1 @@ -51,7 +50,6 @@ H.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(H), slot_shoes) H.equip_to_slot_or_del(new /obj/item/clothing/head/chefhat(H), slot_head) H.equip_to_slot_or_del(new /obj/item/device/pda/chef(H), slot_belt) - H.species.equip_survival_gear(H) return 1 @@ -84,7 +82,6 @@ if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/hydroponics(H), slot_back) if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel_hyd(H), slot_back) if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back) - H.species.equip_survival_gear(H) return 1 @@ -113,7 +110,6 @@ // H.equip_to_slot_or_del(new /obj/item/clothing/gloves/black(H), slot_gloves) H.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses(H), slot_glasses) H.equip_to_slot_or_del(new /obj/item/weapon/clipboard(H), slot_l_hand) - H.species.equip_survival_gear(H) return 1 @@ -139,7 +135,6 @@ H.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(H), slot_shoes) H.equip_to_slot_or_del(new /obj/item/device/pda/cargo(H), slot_belt) // H.equip_to_slot_or_del(new /obj/item/clothing/gloves/black(H), slot_gloves) - H.species.equip_survival_gear(H) return 1 @@ -169,7 +164,6 @@ H.equip_to_slot_or_del(new /obj/item/device/pda/shaftminer(H), slot_belt) H.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(H), slot_shoes) // H.equip_to_slot_or_del(new /obj/item/clothing/gloves/black(H), slot_gloves) - H.species.equip_survival_gear(H) if(H.backbag == 1) H.equip_to_slot_or_del(new /obj/item/weapon/crowbar(H), slot_l_hand) H.equip_to_slot_or_del(new /obj/item/weapon/storage/bag/ore(H), slot_l_store) @@ -198,7 +192,6 @@ equip(var/mob/living/carbon/human/H) if(!H) return 0 H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/clown(H), slot_back) - H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H.back), slot_in_backpack) H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/clown(H), slot_w_uniform) H.equip_to_slot_or_del(new /obj/item/clothing/shoes/clown_shoes(H), slot_shoes) H.equip_to_slot_or_del(new /obj/item/device/pda/clown(H), slot_belt) @@ -238,7 +231,6 @@ H.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/mime(H), slot_wear_mask) H.equip_to_slot_or_del(new /obj/item/clothing/head/beret(H), slot_head) H.equip_to_slot_or_del(new /obj/item/clothing/suit/suspenders(H), slot_wear_suit) - H.species.equip_survival_gear(H) if(H.backbag == 1) H.equip_to_slot_or_del(new /obj/item/weapon/pen/crayon/mime(H), slot_l_store) H.equip_to_slot_or_del(new /obj/item/weapon/reagent_containers/food/drinks/bottle/bottleofnothing(H), slot_l_hand) @@ -274,7 +266,6 @@ H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/janitor(H), slot_w_uniform) H.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(H), slot_shoes) H.equip_to_slot_or_del(new /obj/item/device/pda/janitor(H), slot_belt) - H.species.equip_survival_gear(H) return 1 @@ -301,7 +292,6 @@ H.equip_to_slot_or_del(new /obj/item/device/pda/librarian(H), slot_belt) H.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(H), slot_shoes) H.equip_to_slot_or_del(new /obj/item/weapon/barcodescanner(H), slot_l_hand) - H.species.equip_survival_gear(H) return 1 @@ -334,7 +324,6 @@ H.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses/big(H), slot_glasses) H.equip_to_slot_or_del(new /obj/item/device/pda/lawyer(H), slot_belt) H.equip_to_slot_or_del(new /obj/item/weapon/storage/briefcase(H), slot_l_hand) - H.species.equip_survival_gear(H) H.implant_loyalty(H) diff --git a/code/game/jobs/job/civilian_chaplain.dm b/code/game/jobs/job/civilian_chaplain.dm index d85d1d5e40..a9f441dd22 100644 --- a/code/game/jobs/job/civilian_chaplain.dm +++ b/code/game/jobs/job/civilian_chaplain.dm @@ -22,7 +22,6 @@ H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/chaplain(H), slot_w_uniform) H.equip_to_slot_or_del(new /obj/item/device/pda/chaplain(H), slot_belt) H.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(H), slot_shoes) - H.species.equip_survival_gear(H) spawn(0) var/religion_name = "Christianity" var/new_religion = sanitize(input(H, "You are the crew services officer. Would you like to change your religion? Default is Christianity, in SPACE.", "Name change", religion_name), MAX_NAME_LEN) diff --git a/code/game/jobs/job/engineering.dm b/code/game/jobs/job/engineering.dm index 2d47694b03..644c2fc1f8 100644 --- a/code/game/jobs/job/engineering.dm +++ b/code/game/jobs/job/engineering.dm @@ -35,7 +35,6 @@ H.equip_to_slot_or_del(new /obj/item/clothing/head/hardhat/white(H), slot_head) H.equip_to_slot_or_del(new /obj/item/weapon/storage/belt/utility/full(H), slot_belt) H.equip_to_slot_or_del(new /obj/item/clothing/gloves/black(H), slot_gloves) - H.species.equip_survival_gear(H) return 1 @@ -68,7 +67,6 @@ H.equip_to_slot_or_del(new /obj/item/clothing/head/hardhat(H), slot_head) H.equip_to_slot_or_del(new /obj/item/device/t_scanner(H), slot_r_store) H.equip_to_slot_or_del(new /obj/item/device/pda/engineering(H), slot_l_store) - H.species.equip_survival_gear(H) return 1 @@ -98,5 +96,4 @@ H.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(H), slot_shoes) H.equip_to_slot_or_del(new /obj/item/device/pda/atmos(H), slot_l_store) H.equip_to_slot_or_del(new /obj/item/weapon/storage/belt/utility/atmostech/(H), slot_belt) - H.species.equip_survival_gear(H) return 1 diff --git a/code/game/jobs/job/medical.dm b/code/game/jobs/job/medical.dm index f96494d5e7..5b6fca11b6 100644 --- a/code/game/jobs/job/medical.dm +++ b/code/game/jobs/job/medical.dm @@ -30,7 +30,6 @@ H.equip_to_slot_or_del(new /obj/item/clothing/shoes/brown(H), slot_shoes) H.equip_to_slot_or_del(new /obj/item/device/pda/heads/cmo(H), slot_belt) H.equip_to_slot_or_del(new /obj/item/weapon/storage/firstaid/adv(H), slot_l_hand) - H.species.equip_survival_gear(H) return 1 H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/labcoat/cmo(H), slot_wear_suit) H.equip_to_slot_or_del(new /obj/item/device/flashlight/pen(H), slot_s_store) @@ -90,7 +89,6 @@ else H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/medical(H), slot_w_uniform) H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/labcoat(H), slot_wear_suit) - H.species.equip_survival_gear(H) H.equip_to_slot_or_del(new /obj/item/device/pda/medical(H), slot_belt) H.equip_to_slot_or_del(new /obj/item/device/flashlight/pen(H), slot_s_store) return 1 @@ -123,7 +121,6 @@ if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/chemistry(H), slot_back) if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel_chem(H), slot_back) if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back) - H.species.equip_survival_gear(H) H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/labcoat/chemist(H), slot_wear_suit) return 1 @@ -153,7 +150,6 @@ if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/genetics(H), slot_back) if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel_gen(H), slot_back) if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back) - H.species.equip_survival_gear(H) H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/labcoat/genetics(H), slot_wear_suit) H.equip_to_slot_or_del(new /obj/item/device/flashlight/pen(H), slot_s_store) return 1 @@ -189,7 +185,6 @@ H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/medical(H), slot_w_uniform) H.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup(H), slot_shoes) H.equip_to_slot_or_del(new /obj/item/device/pda/medical(H), slot_belt) - H.species.equip_survival_gear(H) H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/labcoat(H), slot_wear_suit) @@ -228,5 +223,4 @@ H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/medical(H), slot_w_uniform) H.equip_to_slot_or_del(new /obj/item/weapon/storage/belt/medical/emt(H), slot_belt) H.equip_to_slot_or_del(new /obj/item/device/pda/medical(H), slot_l_store) - H.species.equip_survival_gear(H) return 1 diff --git a/code/game/jobs/job/science.dm b/code/game/jobs/job/science.dm index 1f662c1ad0..dc0252de53 100644 --- a/code/game/jobs/job/science.dm +++ b/code/game/jobs/job/science.dm @@ -32,7 +32,6 @@ if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/toxins(H), slot_back) if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel_tox(H), slot_back) if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back) - H.species.equip_survival_gear(H) H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/labcoat(H), slot_wear_suit) return 1 @@ -64,7 +63,6 @@ if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/toxins(H), slot_back) if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel_tox(H), slot_back) if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back) - H.species.equip_survival_gear(H) H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/labcoat/science(H), slot_wear_suit) return 1 @@ -96,7 +94,6 @@ if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/toxins(H), slot_back) if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel_tox(H), slot_back) if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back) - H.species.equip_survival_gear(H) H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/labcoat/science(H), slot_wear_suit) return 1 @@ -125,6 +122,5 @@ H.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(H), slot_shoes) H.equip_to_slot_or_del(new /obj/item/device/pda/roboticist(H), slot_belt) H.equip_to_slot_or_del(new /obj/item/weapon/storage/toolbox/mechanical(H), slot_l_hand) - H.species.equip_survival_gear(H) H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/labcoat(H), slot_wear_suit) return 1 \ No newline at end of file diff --git a/code/game/jobs/job/security.dm b/code/game/jobs/job/security.dm index f3881ebb6d..e16a6af247 100644 --- a/code/game/jobs/job/security.dm +++ b/code/game/jobs/job/security.dm @@ -35,7 +35,6 @@ // H.equip_to_slot_or_del(new /obj/item/clothing/mask/gas(H), slot_wear_mask) //Grab one from the armory you donk H.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses/sechud(H), slot_glasses) H.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/gun(H), slot_s_store) - H.species.equip_survival_gear(H) if(H.backbag == 1) H.equip_to_slot_or_del(new /obj/item/weapon/handcuffs(H), slot_l_store) else @@ -73,7 +72,6 @@ H.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses/sechud(H), slot_glasses) // H.equip_to_slot_or_del(new /obj/item/clothing/mask/gas(H), slot_wear_mask) //Grab one from the armory you donk H.equip_to_slot_or_del(new /obj/item/device/flash(H), slot_l_store) - H.species.equip_survival_gear(H) if(H.backbag == 1) H.equip_to_slot_or_del(new /obj/item/weapon/handcuffs(H), slot_l_hand) else @@ -110,7 +108,6 @@ H.equip_to_slot_or_del(new /obj/item/device/pda/detective(H), slot_belt) H.equip_to_slot_or_del(new /obj/item/clothing/gloves/black(H), slot_gloves) H.equip_to_slot_or_del(new /obj/item/weapon/flame/lighter/zippo(H), slot_l_store) - H.species.equip_survival_gear(H) if(H.backbag == 1)//Why cant some of these things spawn in his office? H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/evidence(H), slot_l_hand) H.equip_to_slot_or_del(new /obj/item/device/detective_scanner(H), slot_r_store) @@ -151,7 +148,6 @@ H.equip_to_slot_or_del(new /obj/item/device/pda/security(H), slot_belt) H.equip_to_slot_or_del(new /obj/item/weapon/handcuffs(H), slot_s_store) H.equip_to_slot_or_del(new /obj/item/device/flash(H), slot_l_store) - H.species.equip_survival_gear(H) if(H.backbag == 1) H.equip_to_slot_or_del(new /obj/item/weapon/handcuffs(H), slot_l_hand) else diff --git a/code/game/jobs/job_controller.dm b/code/game/jobs/job_controller.dm index e2b87c6dc0..deab7e2e61 100644 --- a/code/game/jobs/job_controller.dm +++ b/code/game/jobs/job_controller.dm @@ -394,6 +394,8 @@ var/global/datum/controller/occupations/job_master //Equip job items. job.equip(H) job.apply_fingerprints(H) + H.species.equip_survival_gear(H) + //If some custom items could not be equipped before, try again now. for(var/thing in custom_equip_leftovers) var/datum/gear/G = gear_datums[thing] @@ -499,23 +501,6 @@ var/global/datum/controller/occupations/job_master else H << "\red Failed to locate a storage object on your mob, either you spawned with no arms and no backpack or this is a bug." - //TODO: Generalize this by-species - if(H.species) - if(H.species.name == "Tajara" || H.species.name == "Unathi") - H.equip_to_slot_or_del(new /obj/item/clothing/shoes/sandal(H),slot_shoes,1) - else if(H.species.name == "Vox") - H.equip_to_slot_or_del(new /obj/item/clothing/mask/breath(H), slot_wear_mask) - if(!H.back) - H.equip_to_slot_or_del(new /obj/item/weapon/tank/nitrogen(H), slot_back) - H.internal = H.back - else if(!H.r_hand) - H.equip_to_slot_or_del(new /obj/item/weapon/tank/nitrogen(H), slot_r_hand) - H.internal = H.r_hand - else if (!H.l_hand) - H.equip_to_slot_or_del(new /obj/item/weapon/tank/nitrogen(H), slot_l_hand) - H.internal = H.l_hand - H.internals.icon_state = "internal1" - if(istype(H)) //give humans wheelchairs, if they need them. var/obj/item/organ/external/l_foot = H.get_organ("l_foot") var/obj/item/organ/external/r_foot = H.get_organ("r_foot") diff --git a/code/modules/mob/living/carbon/human/species/outsider/vox.dm b/code/modules/mob/living/carbon/human/species/outsider/vox.dm index 07b52e6759..53e8dc0b15 100644 --- a/code/modules/mob/living/carbon/human/species/outsider/vox.dm +++ b/code/modules/mob/living/carbon/human/species/outsider/vox.dm @@ -55,11 +55,24 @@ return species_language.get_random_name(gender) /datum/species/vox/equip_survival_gear(var/mob/living/carbon/human/H) + H.equip_to_slot_or_del(new /obj/item/clothing/mask/breath(H), slot_wear_mask) + if(!H.back) + H.equip_to_slot_or_del(new /obj/item/weapon/tank/nitrogen(H), slot_back) + H.internal = H.back + else if(!H.r_hand) + H.equip_to_slot_or_del(new /obj/item/weapon/tank/nitrogen(H), slot_r_hand) + H.internal = H.r_hand + else if (!H.l_hand) + H.equip_to_slot_or_del(new /obj/item/weapon/tank/nitrogen(H), slot_l_hand) + H.internal = H.l_hand + H.internals.icon_state = "internal1" + if(H.backbag == 1) H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival/vox(H), slot_r_hand) else H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival/vox(H.back), slot_in_backpack) + /datum/species/vox/can_shred(var/mob/living/carbon/human/H, var/ignore_intent) if(!H.mind || !H.mind.special_role) // Pariah check. return 0 diff --git a/code/modules/mob/living/carbon/human/species/station/station.dm b/code/modules/mob/living/carbon/human/species/station/station.dm index 3f4d462191..c49bdd5a5d 100644 --- a/code/modules/mob/living/carbon/human/species/station/station.dm +++ b/code/modules/mob/living/carbon/human/species/station/station.dm @@ -59,6 +59,10 @@ "Your scales bristle against the cold." ) +/datum/species/unathi/equip_survival_gear(var/mob/living/carbon/human/H) + ..() + H.equip_to_slot_or_del(new /obj/item/clothing/shoes/sandal(H),slot_shoes,1) + /datum/species/tajaran name = "Tajara" name_plural = "Tajaran" @@ -100,6 +104,10 @@ ) cold_discomfort_level = 275 +/datum/species/tajaran/equip_survival_gear(var/mob/living/carbon/human/H) + ..() + H.equip_to_slot_or_del(new /obj/item/clothing/shoes/sandal(H),slot_shoes,1) + /datum/species/skrell name = "Skrell" name_plural = "Skrell" From cb5535a64bc70b6d9c6108f20568b3e8a405f5fe Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Wed, 13 May 2015 12:37:18 +0200 Subject: [PATCH 198/305] Fixes #9221. Removes premature loc = null change. Also fixes an issue occuring when the impact of an ion bullet would wreck a mech before triggering the EMP. This would cause null runtimes as a now removed object would be accessed. --- code/game/mecha/mecha.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index b0423340e7..2afb089d68 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -106,7 +106,6 @@ if(loc) loc.Exited(src) - loc = null if(prob(30)) explosion(get_turf(loc), 0, 0, 1, 3) @@ -460,6 +459,8 @@ /obj/mecha/proc/setInternalDamage(int_dam_flag) + if(!pr_internal_damage) return + internal_damage |= int_dam_flag pr_internal_damage.start() log_append_to_last("Internal damage of type [int_dam_flag].",1) From e92196c903fa486cd1d44f53292096b9503ae78a Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Wed, 13 May 2015 12:59:20 +0200 Subject: [PATCH 199/305] Fixes pipes on the asteroid disappearing into limbo. --- maps/exodus-5.dmm | 94 ++++++++++++++++++++++++----------------------- 1 file changed, 48 insertions(+), 46 deletions(-) diff --git a/maps/exodus-5.dmm b/maps/exodus-5.dmm index 114e31ec87..8dc6ee6d17 100644 --- a/maps/exodus-5.dmm +++ b/maps/exodus-5.dmm @@ -507,7 +507,7 @@ "jM" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/outpost/mining_north) "jN" = (/obj/structure/closet/walllocker/emerglocker/south,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHEAST)"},/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor{icon_state = "floorgrime"},/area/outpost/mining_north) "jO" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "mining_north_outpost_outer"; locked = 1; name = "Mining External Access"; req_access = list(10,13)},/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor{icon_state = "floorgrime"},/area/outpost/mining_north) -"jP" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "mining_north_outpost_inner"; locked = 1; name = "Mining External Access"},/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor{icon_state = "floorgrime"},/area/outpost/mining_north) +"jP" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor,/area/outpost/research/eva) "jQ" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/camera/network/research_outpost{c_tag = "Research Outpost Anomalous Materials Lab"; dir = 8},/turf/simulated/floor{icon_state = "white"},/area/outpost/research/lab) "jR" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/plating,/area/outpost/mining_north) "jS" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/mine/explored) @@ -586,7 +586,7 @@ "ln" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/outpost/research/eva) "lo" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/camera/network/research_outpost{c_tag = "Research Outpost Hallway Port"; dir = 4},/turf/simulated/floor{dir = 5; icon_state = "whitehall"},/area/outpost/research/hallway) "lp" = (/obj/machinery/mineral/unloading_machine,/turf/simulated/floor{icon_state = "floorgrime"},/area/outpost/research/eva) -"lq" = (/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor,/area/outpost/research/eva) +"lq" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/turf/simulated/floor,/area/outpost/research/isolation_monitoring) "lr" = (/obj/machinery/conveyor_switch{id = "anotempload"; name = "conveyor switch"; pixel_x = 0; pixel_y = 0; req_access = list(65)},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored) "ls" = (/obj/structure/table,/obj/item/weapon/storage/box/excavation,/obj/item/weapon/pickaxe,/obj/machinery/status_display{layer = 4; pixel_x = 32; pixel_y = 0},/obj/item/weapon/wrench,/obj/item/device/measuring_tape,/obj/item/stack/flag/yellow,/turf/simulated/floor,/area/outpost/research/eva) "lt" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"; tag = "icon-intact-f (SOUTHWEST)"},/turf/simulated/floor,/area/outpost/research/eva) @@ -601,7 +601,7 @@ "lC" = (/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/outpost/research/isolation_monitoring) "lD" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/outpost/research/isolation_monitoring) "lE" = (/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/outpost/research/isolation_monitoring) -"lF" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor,/area/outpost/research/isolation_monitoring) +"lF" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/outpost/research/isolation_monitoring) "lG" = (/obj/machinery/atmospherics/pipe/manifold/visible/yellow{tag = "icon-map (EAST)"; icon_state = "map"; dir = 4},/turf/simulated/floor,/area/outpost/research/isolation_monitoring) "lH" = (/obj/effect/alien/weeds{icon_state = "weeds2"},/obj/item/clothing/mask/facehugger{icon_state = "facehugger_dead"; stat = 2},/turf/simulated/floor/airless,/area/outpost/abandoned) "lI" = (/obj/effect/alien/weeds,/turf/simulated/floor/airless,/area/outpost/abandoned) @@ -621,12 +621,12 @@ "lW" = (/obj/machinery/atmospherics/unary/freezer{dir = 4; icon_state = "freezer"},/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor,/area/outpost/research/isolation_monitoring) "lX" = (/obj/machinery/door/airlock/external{id_tag = "riso3"; name = "Access Airlock"; req_access = list(65)},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/outpost/research/isolation_c) "lY" = (/obj/machinery/atmospherics/pipe/manifold/visible/yellow{tag = "icon-map (NORTH)"; icon_state = "map"; dir = 1},/turf/simulated/floor{icon_state = "delivery"},/area/outpost/research/isolation_monitoring) -"lZ" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{tag = "icon-intact (WEST)"; icon_state = "intact"; dir = 8},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/outpost/research/isolation_monitoring) -"ma" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{tag = "icon-intact (WEST)"; icon_state = "intact"; dir = 8},/turf/simulated/floor,/area/outpost/research/isolation_monitoring) +"lZ" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/outpost/research/isolation_monitoring) +"ma" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/outpost/research/isolation_monitoring) "mb" = (/obj/machinery/atmospherics/pipe/manifold/visible/yellow{tag = "icon-map (NORTH)"; icon_state = "map"; dir = 1},/turf/simulated/floor,/area/outpost/research/isolation_monitoring) "mc" = (/obj/machinery/atmospherics/pipe/manifold/visible/yellow,/turf/simulated/floor,/area/outpost/research/isolation_monitoring) -"md" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{tag = "icon-intact (WEST)"; icon_state = "intact"; dir = 8},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/outpost/research/isolation_monitoring) -"me" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{tag = "icon-intact (WEST)"; icon_state = "intact"; dir = 8},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/outpost/research/isolation_monitoring) +"md" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan,/turf/unsimulated/mask,/area/mine/unexplored) +"me" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "mining_north_outpost_inner"; locked = 1; name = "Mining External Access"},/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor{icon_state = "floorgrime"},/area/outpost/mining_north) "mf" = (/obj/structure/table/rack,/obj/item/weapon/storage/box/lights/bulbs{pixel_x = 5; pixel_y = 5},/obj/item/weapon/storage/box/lights/tubes{pixel_x = -5; pixel_y = 5},/obj/item/weapon/storage/box/lights/mixed,/obj/machinery/light/small,/turf/simulated/floor/plating,/area/outpost/research/emergency_storage) "mg" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor,/area/outpost/research/isolation_monitoring) "mh" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{tag = "icon-intact (SOUTHWEST)"; icon_state = "intact"; dir = 10},/turf/simulated/floor,/area/outpost/research/isolation_monitoring) @@ -862,8 +862,8 @@ "qD" = (/turf/simulated/wall/r_wall,/area/outpost/engineering/atmospherics) "qE" = (/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/plating/airless,/area/space) "qF" = (/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/mine/explored) -"qG" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{tag = "icon-intact (SOUTHEAST)"; icon_state = "intact"; dir = 6},/turf/simulated/floor,/area/outpost/engineering/atmospherics) -"qH" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{tag = "icon-intact (SOUTHWEST)"; icon_state = "intact"; dir = 10},/turf/simulated/floor,/area/outpost/engineering/atmospherics) +"qG" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan,/turf/simulated/floor,/area/outpost/engineering/hallway) +"qH" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan,/obj/machinery/light{dir = 8},/turf/simulated/floor,/area/outpost/engineering/hallway) "qI" = (/obj/machinery/atmospherics/omni/filter{power_rating = 15000; tag_east = 5; tag_north = 1; tag_south = 2; tag_west = 6},/turf/simulated/floor,/area/outpost/engineering/atmospherics) "qJ" = (/obj/machinery/atmospherics/pipe/simple/visible/purple,/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock"},/turf/simulated/floor/plating,/area/outpost/engineering/atmospherics) "qK" = (/obj/machinery/atmospherics/pipe/simple/visible/blue,/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock"},/turf/simulated/floor/plating,/area/outpost/engineering/atmospherics) @@ -949,7 +949,7 @@ "sm" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor,/area/outpost/engineering/hallway) "sn" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Atmospherics"; req_access = list(10)},/turf/simulated/floor,/area/outpost/engineering/hallway) "so" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor,/area/outpost/engineering/hallway) -"sp" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/cyan{tag = "icon-intact (NORTH)"; icon_state = "intact"; dir = 1},/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "edock_inner"; locked = 1; name = "Engineering Dock Airlock"},/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock"},/turf/simulated/floor/plating,/area/outpost/engineering/hallway) +"sp" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/cyan,/turf/simulated/floor,/area/outpost/engineering/hallway) "sq" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor,/area/outpost/engineering/hallway) "sr" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor,/area/outpost/engineering/hallway) "ss" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock"},/turf/simulated/floor,/area/outpost/engineering/hallway) @@ -976,7 +976,7 @@ "sN" = (/turf/simulated/floor/plating/airless,/area/space) "sO" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/mine/explored) "sP" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/mine/explored) -"sQ" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/cyan{tag = "icon-intact (NORTH)"; icon_state = "intact"; dir = 1},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "edock_airlock"; name = "interior access button"; pixel_x = -25; pixel_y = -25; req_access = list(10)},/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/outpost/engineering/hallway) +"sQ" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/cyan,/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "edock_airlock"; name = "interior access button"; pixel_x = -25; pixel_y = -25; req_access = list(10)},/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/outpost/engineering/hallway) "sR" = (/obj/structure/lattice,/obj/structure/window/reinforced{dir = 4},/turf/space,/area/mine/explored) "sS" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/airless,/area/mine/explored) "sT" = (/obj/structure/lattice,/obj/structure/window/reinforced{dir = 8},/obj/machinery/light{dir = 1},/turf/space,/area/mine/explored) @@ -1008,7 +1008,7 @@ "tt" = (/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiavulgaris,/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"},/area/mine/explored) "tu" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/outpost/engineering/hallway) "tv" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/outpost/engineering/hallway) -"tw" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/cyan{tag = "icon-intact (NORTH)"; icon_state = "intact"; dir = 1},/turf/simulated/floor,/area/outpost/engineering/hallway) +"tw" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/cyan,/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "edock_inner"; locked = 1; name = "Engineering Dock Airlock"},/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock"},/turf/simulated/floor/plating,/area/outpost/engineering/hallway) "tx" = (/obj/structure/lattice,/obj/structure/window/reinforced{dir = 4},/obj/machinery/light,/turf/space,/area/mine/explored) "ty" = (/obj/machinery/camera/network/research_outpost{c_tag = "Research Outpost Isolation Cell A"; dir = 8},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/outpost/research/isolation_a) "tz" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/structure/extinguisher_cabinet{pixel_x = 25; pixel_y = 0},/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/outpost/engineering/meeting) @@ -1027,14 +1027,14 @@ "tM" = (/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1441; input_tag = "outpost_n2_in"; name = "N2 Tank Monitor"; output_tag = "outpost_n2_out"; sensors = list("outpost_n2_sensor" = "Tank")},/obj/structure/sign/securearea{desc = "A warning sign which reads 'COMPRESSED GAS'."; name = "COMPRESSED GAS"; pixel_y = -32},/obj/machinery/light,/turf/simulated/floor,/area/outpost/engineering/atmospherics) "tN" = (/obj/machinery/atmospherics/pipe/simple/visible/purple,/turf/simulated/floor,/area/outpost/engineering/atmospherics) "tO" = (/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (SOUTHEAST)"; icon_state = "intact"; dir = 6},/obj/machinery/meter,/turf/simulated/floor,/area/outpost/engineering/atmospherics) -"tP" = (/obj/machinery/light{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/obj/structure/table/reinforced,/obj/item/weapon/wrench,/obj/item/weapon/screwdriver,/obj/item/weapon/crowbar,/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 9},/area/mine/explored) +"tP" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 6},/obj/machinery/meter,/turf/simulated/floor,/area/outpost/engineering/atmospherics) "tQ" = (/obj/machinery/mining/drill,/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 1},/area/mine/explored) -"tR" = (/obj/machinery/light{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 5},/area/mine/explored) +"tR" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 10},/obj/machinery/meter,/turf/simulated/floor,/area/outpost/engineering/atmospherics) "tS" = (/obj/machinery/light{dir = 8},/turf/simulated/floor,/area/outpost/engineering/atmospherics) "tT" = (/obj/machinery/atmospherics/pipe/simple/visible/blue,/obj/machinery/meter,/turf/simulated/floor,/area/outpost/engineering/atmospherics) -"tU" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{tag = "icon-intact (SOUTHEAST)"; icon_state = "intact"; dir = 6},/obj/machinery/meter,/turf/simulated/floor,/area/outpost/engineering/atmospherics) +"tU" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 6},/turf/simulated/floor,/area/outpost/engineering/atmospherics) "tV" = (/obj/machinery/atmospherics/omni/filter{power_rating = 15000; tag_east = 4; tag_north = 1; tag_south = 2; tag_west = 3},/turf/simulated/floor,/area/outpost/engineering/atmospherics) -"tW" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{tag = "icon-intact (SOUTHWEST)"; icon_state = "intact"; dir = 10},/obj/machinery/meter,/turf/simulated/floor,/area/outpost/engineering/atmospherics) +"tW" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 10},/turf/simulated/floor,/area/outpost/engineering/atmospherics) "tX" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/turf/simulated/floor,/area/outpost/engineering/atmospherics) "tY" = (/obj/machinery/light,/obj/item/device/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_x = -6; pixel_y = -28},/turf/simulated/floor,/area/outpost/engineering/hallway) "tZ" = (/obj/machinery/camera/network/research_outpost{c_tag = "Research Outpost Isolation Cell B"; dir = 8},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/outpost/research/isolation_b) @@ -1103,7 +1103,7 @@ "vk" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/outpost/engineering/hallway) "vl" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light{dir = 8},/turf/simulated/floor,/area/outpost/engineering/hallway) "vm" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "edock_airlock"; name = "exterior access button"; pixel_x = -25; pixel_y = 0; req_access = list(10)},/turf/space,/area/space) -"vn" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{tag = "icon-intact (NORTH)"; icon_state = "intact"; dir = 1},/obj/machinery/light{dir = 8},/turf/simulated/floor,/area/outpost/engineering/hallway) +"vn" = (/obj/machinery/light{dir = 1},/obj/structure/table/reinforced,/obj/item/weapon/wrench,/obj/item/weapon/screwdriver,/obj/item/weapon/crowbar,/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 9},/area/mine/explored) "vo" = (/obj/machinery/power/solar_control,/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/turf/simulated/floor,/area/outpost/engineering/hallway) "vp" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor,/area/outpost/engineering/hallway) "vq" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1380; id_tag = "eoutpost_dock_pump"},/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1380; id_tag = "edock_airlock"; pixel_x = 30; pixel_y = 0; req_access = list(10); tag_airpump = "edock_pump"; tag_chamber_sensor = "edock_sensor"; tag_exterior_door = "edock_outer"; tag_interior_door = "edock_inner"},/turf/simulated/floor/plating,/area/outpost/engineering/hallway) @@ -1116,7 +1116,7 @@ "vx" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor,/area/outpost/engineering/hallway) "vy" = (/obj/machinery/computer/shuttle_control/engineering,/turf/simulated/floor,/area/outpost/engineering/hallway) "vz" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor,/area/outpost/engineering/hallway) -"vA" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{tag = "icon-intact (NORTH)"; icon_state = "intact"; dir = 1},/turf/simulated/floor,/area/outpost/engineering/hallway) +"vA" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 5},/area/mine/explored) "vB" = (/obj/structure/cable/blue{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/turf/simulated/floor/wood,/area/outpost/engineering/meeting) "vC" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/blue{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/wood,/area/outpost/engineering/meeting) "vD" = (/obj/machinery/vending/cigarette,/turf/simulated/floor/wood,/area/outpost/engineering/meeting) @@ -1269,7 +1269,7 @@ "yu" = (/obj/machinery/door/window/westright{name = "Production Area"; req_access = list(48)},/turf/simulated/floor,/area/outpost/mining_main/refinery) "yv" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor,/area/outpost/mining_main/east_hall) "yw" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "mining_outpost_outer"; locked = 1; name = "Mining Dock Airlock"; req_access = list(13)},/turf/simulated/floor/plating,/area/outpost/mining_main/east_hall) -"yx" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "mining_outpost_inner"; locked = 1; name = "Mining Dock Airlock"; req_access = list(13)},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4; icon_state = "intact"; tag = "icon-intact-f (EAST)"},/turf/simulated/floor,/area/outpost/mining_main/east_hall) +"yx" = (/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "mining_west_outpost_inner"; locked = 1; name = "Mining External Access"},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor,/area/outpost/mining_west) "yy" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/outpost/mining_main/refinery) "yz" = (/obj/machinery/mineral/input,/turf/simulated/floor{icon_state = "loadingarea"},/area/outpost/mining_main/refinery) "yA" = (/obj/structure/cable{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/airless{icon_state = "asteroidwarning"; dir = 8},/area/mine/explored) @@ -1278,7 +1278,7 @@ "yD" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/outpost/mining_main/east_hall) "yE" = (/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1380; id_tag = "mining_outpost_airlock"; pixel_x = 0; pixel_y = 30; req_one_access = list(13,48); tag_airpump = "mining_outpost_pump"; tag_chamber_sensor = "mining_outpost_sensor"; tag_exterior_door = "mining_outpost_outer"; tag_interior_door = "mining_outpost_inner"},/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "mining_outpost_sensor"; pixel_x = 0; pixel_y = -25},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1380; id_tag = "mining_outpost_pump"},/turf/simulated/floor,/area/outpost/mining_main/east_hall) "yF" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/blue{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/outpost/mining_main/east_hall) -"yG" = (/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor,/area/outpost/mining_main/refinery) +"yG" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor,/area/outpost/mining_main/east_hall) "yH" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/outpost/mining_main/refinery) "yI" = (/turf/space,/area/shuttle/mining/outpost) "yJ" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "mining_outpost_airlock"; name = "interior access button"; pixel_x = -30; pixel_y = -25; req_one_access = list(13,48)},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"; tag = "icon-intact-f (SOUTHWEST)"},/turf/simulated/floor,/area/outpost/mining_main/east_hall) @@ -1347,7 +1347,7 @@ "zU" = (/obj/structure/lattice,/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "mining_outpost_airlock"; name = "exterior access button"; pixel_x = -8; pixel_y = 25; req_one_access = list(13,48)},/turf/space,/area/space) "zV" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "mining_west_outpost_airlock"; name = "exterior access button"; pixel_x = -25; pixel_y = -25},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"},/area/mine/explored) "zW" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"},/area/mine/explored) -"zX" = (/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "mining_west_outpost_inner"; locked = 1; name = "Mining External Access"},/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor,/area/outpost/mining_west) +"zX" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/structure/cable/blue{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor,/area/outpost/mining_main/eva) "zY" = (/turf/simulated/floor,/area/outpost/mining_west) "zZ" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/outpost/mining_west) "Aa" = (/turf/space,/area/skipjack_station/mining) @@ -1446,11 +1446,11 @@ "BP" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/outpost/mining_main/eva) "BQ" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"},/area/mine/explored) "BR" = (/obj/machinery/conveyor{dir = 8; id = "mining_west"},/obj/machinery/mineral/output,/turf/simulated/floor{icon_state = "floorgrime"},/area/outpost/mining_west) -"BS" = (/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/outpost/mining_main/east_hall) +"BS" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/glass_mining{name = "Mining Station EVA"; req_access = list(54)},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/outpost/mining_main/eva) "BT" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/blue{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/outpost/mining_main/east_hall) -"BU" = (/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/structure/cable/blue{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor,/area/outpost/mining_main/eva) +"BU" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor,/area/outpost/mining_main/eva) "BV" = (/obj/structure/disposalpipe/trunk{dir = 4},/obj/machinery/disposal/deliveryChute{dir = 8},/turf/simulated/floor{icon_state = "floorgrime"},/area/outpost/mining_west) -"BW" = (/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor,/area/outpost/mining_main/eva) +"BW" = (/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "mining_east_inner"; locked = 1; name = "Mining External Access"},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor,/area/outpost/mining_main/eva) "BX" = (/obj/machinery/mineral/input,/obj/machinery/conveyor{backwards = 2; dir = 2; forwards = 1; id = "mining_west"},/turf/simulated/floor,/area/outpost/mining_west) "BY" = (/obj/machinery/mineral/unloading_machine,/turf/simulated/floor{icon_state = "floorgrime"},/area/outpost/mining_west) "BZ" = (/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1441; input_tag = "outpost_o2_in"; name = "O2 Tank Monitor"; output_tag = "outpost_o2_out"; sensors = list("outpost_o2_sensor" = "Tank")},/obj/machinery/camera/network/engineering_outpost{c_tag = "Engineering Outpost Atmospherics"; dir = 1},/turf/simulated/floor,/area/outpost/engineering/atmospherics) @@ -1495,11 +1495,11 @@ "CM" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/blue{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor,/area/outpost/mining_main/west_hall) "CN" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/cable/blue{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor,/area/outpost/mining_main/west_hall) "CO" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/outpost/mining_main/west_hall) -"CP" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/glass_mining{name = "Mining Station EVA"; req_access = list(54)},/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/outpost/mining_main/eva) +"CP" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "mining_east_airlock"; name = "interior access button"; pixel_x = 25; pixel_y = 25},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor,/area/outpost/mining_main/eva) "CQ" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'KEEP CLEAR OF DOCKING AREA'."; name = "KEEP CLEAR: DOCKING AREA"; pixel_y = 0},/turf/simulated/wall/r_wall,/area/outpost/engineering/hallway) "CR" = (/obj/machinery/air_sensor{frequency = 1441; id_tag = "outpost_n2_sensor"},/turf/simulated/floor/engine{name = "n2 floor"; nitrogen = 100000; oxygen = 0},/area/outpost/engineering/atmospherics) "CS" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/outpost/mining_main/west_hall) -"CT" = (/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "mining_east_inner"; locked = 1; name = "Mining External Access"},/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor,/area/outpost/mining_main/eva) +"CT" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/outpost/mining_main/west_hall) "CU" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor,/area/outpost/mining_main/west_hall) "CV" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor,/area/outpost/mining_main/west_hall) "CW" = (/obj/machinery/light,/turf/simulated/floor,/area/outpost/mining_main/west_hall) @@ -1511,7 +1511,7 @@ "Dc" = (/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/outpost/mining_main/east_hall) "Dd" = (/obj/machinery/atmospherics/pipe/simple/visible/blue{tag = "icon-intact (SOUTHWEST)"; icon_state = "intact"; dir = 10},/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/machinery/firealarm{dir = 4; layer = 3.3; pixel_x = 26},/turf/simulated/floor,/area/outpost/engineering/atmospherics) "De" = (/obj/structure/ore_box,/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 2},/area/mine/explored) -"Df" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "mining_east_airlock"; name = "interior access button"; pixel_x = 25; pixel_y = 25},/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor,/area/outpost/mining_main/eva) +"Df" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/light,/turf/simulated/floor,/area/outpost/mining_main/east_hall) "Dg" = (/obj/machinery/door/airlock/glass_mining{name = "Mining Station Bridge"; req_access = list(48)},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/outpost/mining_main/east_hall) "Dh" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"},/turf/simulated/wall,/area/outpost/mining_main/maintenance) "Di" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/outpost/mining_main/medbay) @@ -1590,9 +1590,9 @@ "ED" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'KEEP CLEAR OF DOCKING AREA'."; name = "KEEP CLEAR: DOCKING AREA"; pixel_y = 0},/turf/simulated/wall,/area/space) "EE" = (/obj/machinery/light_switch{pixel_x = 25; pixel_y = -9},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/status_display{layer = 4; pixel_x = 32; pixel_y = 10},/turf/simulated/floor,/area/outpost/mining_main/eva) "EF" = (/obj/structure/window/reinforced,/obj/structure/lattice,/turf/space,/area/space) -"EG" = (/obj/structure/window/reinforced,/obj/structure/lattice,/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/space,/area/space) +"EG" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/outpost/mining_main/east_hall) "EH" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/lattice,/turf/space,/area/space) -"EI" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/lattice,/obj/machinery/light{dir = 4},/turf/space,/area/space) +"EI" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/outpost/mining_main/east_hall) "EJ" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/mine/explored) "EK" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/plating/airless,/area/space) "EL" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/mine/explored) @@ -1621,6 +1621,8 @@ "Fi" = (/obj/machinery/conveyor_switch/oneway{id = "mining_internal"; name = "mining conveyor"},/obj/machinery/light{dir = 4},/obj/machinery/camera/network/mining{c_tag = "Mining Outpost - Shuttle Airlock"; dir = 8},/turf/simulated/floor,/area/outpost/mining_main/east_hall) "Fj" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/camera/network/mining{c_tag = "Mining Outpost Production Room"; dir = 8},/turf/simulated/floor,/area/outpost/mining_main/refinery) "Fk" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/structure/cable,/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/outpost/mining_main/maintenance) +"Fl" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "mining_outpost_inner"; locked = 1; name = "Mining Dock Airlock"; req_access = list(13)},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor,/area/outpost/mining_main/east_hall) +"Fm" = (/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/light/small{dir = 4},/turf/simulated/floor,/area/outpost/mining_main/refinery) (1,1,1) = {" aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -1690,11 +1692,11 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaecrmPeUhRoEcriCoDiBcrgrcroGoHoFcrbClLiFmOcpeleUcrabababababababababababababababababababababababababababababababalalgygygygygygygygyalalabgygyaaaaaaaaaaaaaaaeaekBohogoflnoeodpLqOoanZnYqhoqorosrIrfrvhuopokollDkmnGoiojkmkmmghuoCozhtoBoAovoulueBeBeBeBeBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabcrmPcphRcpmUlLhLmShLmTbCbCmNeYbCcpcpcreUmOeUeUcrababababababababababababababababababababababababababababababalalgygygygygygygygygygymQmRgygyaaaaaaaaaaaaaaaaaekBmLllmMlOmImHmJkBkBllmKeomCmDhGhGnPnXhumEmxmbmvmwmAmBmynAmsnfhumqmuhtmtmpmpmoluabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababcrlMhReUcpnscpnrdJcpnqmTnrhKntcpkNekcrlIcpgobCcrabababababababababababababababababababababababababababababalmRgygygygygygygygygygygynDnjgyaeaaaaaaaaaaaaaaaaaekBmLllnppGnmnlllnkkBnneoeonNnOhGoXotoKhupPmVmWmXnQonoomEobmGquhungnhhtnineneneluabababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababcrlMlNeUfFcrkPcrlJlKcrcpcrlJlKcreUlLcrdIlHiFlIcrabababababababababababababababababababababababababababababalomgygygygygygygygygygygygygygyaeaaaaaaaaaaaaaaaaaekBlmllqWlnmzlqltlskBlpeoowoxoyhGnamYmZhulxlFlGlDlElBlCkmnbkmkmhulwlvhtlululululuabababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababcrcrcrcrcrcrkPcrgokNcphTmmeUhTeUgoffcrmnmknxmjcrabababababababababababababababababababababababababababababalmQgygygygygygygygygygygygygygyaeaaaaaaaaaaaaaaaeaekBqZlRlPlOnolqndlTkBlSeooYoxoyhGnvhGnchulWmbmcmdmelYlZmamamhmghumimfhtababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababcrlMlNeUfFcrkPcrlJlKcrcpcrlJlKcreUlLcrdIlHiFlIcrabababababababababababababababababababababababababababababalomgygygygygygygygygygygygygygyaeaaaaaaaaaaaaaaaaaekBlmllqWlnmzjPltlskBlpeoowoxoyhGnamYmZhulxlqlGlDlElBlCkmnbkmkmhulwlvhtlululululuabababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababcrcrcrcrcrcrkPcrgokNcphTmmeUhTeUgoffcrmnmknxmjcrabababababababababababababababababababababababababababababalmQgygygygygygygygygygygygygygyaeaaaaaaaaaaaaaaaeaekBqZlRlPlOnojPndlTkBlSeooYoxoyhGnvhGnchulWmbmclZlFlYmalqlqmhmghumimfhtababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababababababababcrkPcrkNekkOhTkMcphKcreUekcrkLkJkJkKcradababababababababababababababababababababababababababababalalgygygyprgygygygygygygygygygyaeaaaaaaaaaaaaaeaeaekBkBkCkFkBkBkGlhkGkBkIeoowpBrVhGkpsekshukVkvkwkYkukzkAlckyknkmhuhththtababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababababababababcrkPcrhTcpbVljeUekgocrkPcrcrhOeUkJkKlkadababababababababababababababababababababababababababababalpSpTgypUpSpQgygygygygygygygygytjaaaaaaaaaaaetjtjtjgygyqdqeqfkBmllglfkBlieogylrlAhGkSkTkTkUlUkWkXkUlVkZlalblXleldlbababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababababababababcrkPcrcrcrcrcrcrcrcrcrkPcrphbCeUbCkKpiadababababababababababababababababababababababababababababalpSgygygypSpQgygygygygygygyqwqCpjsWsWsWsWsWsWpoqwqCgygygygygykBplpnsIkBpkgygygygyhGpApxpykUpwpupvkUptpqpslbpppEpDlbababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababababababababcrkPcrcrcrcrcrcrcrcrcrkPcrphbCeUbCkKpiadababababababababababababababababababababababababababababalpSgygygypSpQgygygygygygygyqwqCpjsWsWsWsWsWsWpoqwqCgygygygygykBplpnsIkBpkgygygygyhGpApxpykUpwpupvkUptpqpslbpppEpDlbababmdabababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLaaaaaaaaaaqLababababababababababababababcrkPkPkPkPkPkPkPkPkPkPkPcrhOeUiFeUiEcradababababababababababababababababababababababababababababalgygygygyqMqNgygygygygygygygyrWqPqPqPqPqPqPqPqPrWgygygygygygykBtlrUkGkBpFrigygygypmpXkTkTkUpWpOtykUpRuStZlbpNpKuWlbababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLababababababababababababababababcrcrcrcrcrcrcrcrcrcrcrcrcrcrmjrOoMcrcradababababababababababababababababababababababababababababalgygygygygygygygygygygygygyqwqCrdrerererererereqwqCgygygygygyuXpBrSpCvcpcpeoVoVoVxVoUsyoZkUoWoOoPkUoNoRoSlboQpbpalbabababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLabababababababababababababababababababababababababababadadadcrkJkJeUcradadababababababababababababababababababababababababababababalpSpTgygygygygygygygygygyaaaaaaaaaaaaaaaaalalalalalalalalgygygygygygypBpgpCgygyalhGhGhGhGkUkUkUkUkUpfpfpflblblblblbabababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -1707,7 +1709,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLababababababqL aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLqLababqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaababaaaaaaababababababababababalalalgyjHgyalalalalalababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLqLqLababqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaabababababababababalalalgyjHgygygygyrHjFjFjFjFjFjFjFjFjFjFjFjFabababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLqLqLababqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaabababababababababalalalgyjHgygygygyrJvtkQjYjXkgkfkekdjFkckbjFababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLqLqLababqLqLqLqLqLqLqLabababqLqLqLqLqLqLqLqLqLabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaabababababababababalalalgykHjSjSjSoVjVjOjNvHjPkqjZkxktjWjRjTjFababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLqLqLababqLqLqLqLqLqLqLabababqLqLqLqLqLqLqLqLqLabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaabababababababababalalalgykHjSjSjSoVjVjOjNvHmekqjZkxktjWjRjTjFababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLababababqLqLqLqLqLqLqLqLqLqLababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaabaaaaaaaaababababababababababalalgykigygygygyjFjFjFjFjFjFjKjJwOjFjMjLjFababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLababababqLqLqLqLqLqLqLqLqLqLababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaabababaaaaababababababababababalalgyqqjsjujtjtjvjxjwjzjyxajAjUjCjEjDjGjFababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLabqLqLqLqLqLqLqLqLqLqLqLqLqLababababqLqLqLqLqLqLqLqLqLqLqLabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaabababaaaaaaabababababababababalalgygygykigygyjFjFjFjFkljFjFjFjFjFjFjFjFabababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -1756,17 +1758,17 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLababababqLqLqLqLqLababababqLqLqLqLqLqLqLqL aaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLabababqLqLqLqLqLabababababqLqLqLqLqLqLqLqLqLqLqLqLqLababababqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababalaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaealalabababababalalgygygygyqqjsjsqngygyalabalalalgygygyalababababababababababababababuyuzuwuxuFuGuAuBuKuJuIuHqjuLuLuLuLuLrMrLrLrNrtrMrNrtaaaaaaaaqgqcqbaaqgqcqbaaqgqcqbaaqaqaqaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLabababqLqLqLqLqLababababqLqLqLqLqLqLqLqLqLqLqLqLqLqLabababababqLqLqLqLqLabqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababalalalalgysMgygykigygyalalalgygygygygypzpzpzpzabababababababvMvMvMvMuywJuwwKwHwIEBuPwFwEuIwGvewBwDyqwywxwAwzshwawwwvECrMrLrNaaaaaewLaeaaaewLaeaaaewLaeaaaeaaqaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLabababqLqLqLqLqLababababqLqLqLqLqLqLqLqLqLqLababababababababqLqLqLqLqLqLababqLqLqLqLqLqLqLqLqLqLqLqLqLqLabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaababababababababababalalmRgygykigygygygygygygygygygyAwwuwtpzabababababababvMvXvVvWuyvUuwvTvRvSuAuPwjwiuPwhvewgwfwewdwcwbtEshwavZvYxlxmzoxqxewlsNsNsNsNsNsNsNsNsNsNwrwqwsaeqaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLababababqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLababababababqLqLabqLqLqLqLqLqLabababqLqLqLqLqLqLqLqLqLqLqLqLababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaabababababababaaaaaaaaaaaaaaababababababababababababalalgyqqjsqngygygygygygygygyAwAevQpzababrtrtrtrtabvMvNvOztuyAfvIAyuTvKuAvLvCvBuAvDvevEvGvFvwvvvgvxvzvysvvAEvrMrLrNaaaaaevuaeaaaevuaeaaaevuaeaaaeaaqaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLabababqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLabababababqLqLqLqLqLqLqLqLqLqLabababqLqLqLqLqLqLqLqLqLqLqLababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaababababababababaaaaaaaaaaaaaaabababababababababababababalgygygyqygygygygygygygygyAwAeACrtrtrtrtviAWrtrtrtrtwnrtrtrGrGrGrGvhrNrGwRrGvhrNrGvsvrrGwpEtvlvkvpvorGvnEsrtaaaaaaaaqgrgqbaaqgrgqbaaqgrgqbaaqaqaqaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLabababababqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLabababqLqLqLqLqLqLqLqLqLqLqLababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaabababababababaaaaaaaaaaaaaaaaabababababababababababababalalalrJqzrigygygygygygygypBAzuDuvvPsxulwosJBawCwmsDsFsGtdtetctfsYtctctctrtqtctcxCtktntmtAzgtDtCtvtuBbtwtEtFaaaeaaaaqgrgqbaaqgrgqbaaqgrgqbaaaeaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLababababqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLababababababqLqLabqLqLqLqLqLqLabababqLqLqLqLqLqLqLqLqLqLqLqLababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaabababababababaaaaaaaaaaaaaaababababababababababababalalgyqqjsqngygygygygygygygyAwAevQpzababrtrtrtrtabvMvNvOztuyAfvIAyuTvKuAvLvCvBuAvDvevEvGvFvwvvvgvxvzvysvqGEvrMrLrNaaaaaevuaeaaaevuaeaaaevuaeaaaeaaqaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLabababqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLabababababqLqLqLqLqLqLqLqLqLqLabababqLqLqLqLqLqLqLqLqLqLqLababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaababababababababaaaaaaaaaaaaaaabababababababababababababalgygygyqygygygygygygygygyAwAeACrtrtrtrtviAWrtrtrtrtwnrtrtrGrGrGrGvhrNrGwRrGvhrNrGvsvrrGwpEtvlvkvpvorGqHEsrtaaaaaaaaqgrgqbaaqgrgqbaaqgrgqbaaqaqaqaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLabababababqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLabababqLqLqLqLqLqLqLqLqLqLqLababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaabababababababaaaaaaaaaaaaaaaaabababababababababababababalalalrJqzrigygygygygygygypBAzuDuvvPsxulwosJBawCwmsDsFsGtdtetctfsYtctctctrtqtctcxCtktntmtAzgtDtCtvtuBbsptEtFaaaeaaaaqgrgqbaaqgrgqbaaqgrgqbaaaeaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLabababababqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLabababqLqLqLqLqLqLqLqLqLqLqLqLabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaabababababababaaaaaaaaaaaaaaabababababababababababababababalalAwrQrPrRrRrRrRrRrRrRrRrTswszBzsKsBuksdsdsdBLsoslsmstsdsdsssqsrsdsdvauYBMsdscsbsarZskvdrZsishshtYsQsusvaeaeaeaeqgrgqbaeqgrgqbaeqgrgqbaeqaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLababqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLabababababqLqLqLqLqLqLqLqLqLqLqLabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaabababababaaaaaaaaaaaaabababababababababababababababababalalpBqApCgygygygygygygyrJsCrurtrtrtrtrtrtrtrtrtrwrzrArErzrFrGsnrGrKrtrtrtrtrtrtrtrtrtrtrtrMrLrLrNrtspsgrtaaaaaeaaqgrgqbaaqgrgqbaaqgrgqbaaqaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLababqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLabababababqLqLqLqLqLqLqLqLqLqLqLabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaabababababaaaaaaaaaaaaabababababababababababababababababalalpBqApCgygygygygygygyrJsCrurtrtrtrtrtrtrtrtrtrwrzrArErzrFrGsnrGrKrtrtrtrtrtrtrtrtrtrtrtrMrLrLrNrttwsgrtaaaaaeaaqgrgqbaaqgrgqbaaqgrgqbaaqaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLqLqLqLqLabababqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLababqLqLqLqLababababababababqLqLqLqLqLqLqLqLababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababababababababababababalalalalgyqygygygygygygygygyAwowowalabababababababqDrlrjrkrorprmrnrrrsrqqDababababababababababaaaaaaaarcrhrbrcaaaaaeaaqgrgqbaaqgrgqbaaqgrgqbaaqaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLqLqLqLqLabababqLqLqLqLqLqLqLqLqLqLqLqLabqLababababqLqLabababqLqLqLqLqLababababababababqLqLqLqLqLqLqLabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababababababababababalalalalalalgyqygygygygygygygygyAwumalalabababababababqDrlurusuqqQqQqQunuoupqDababababababababababaaaaaaaauuutvquuaeaeaeaeqgrgqbaeqgrgqbaeqgrgqbaeqaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLqLqLqLqLabababqLqLqLqLqLqLqLqLqLqLqLqLabababababababababababqLqLqLqLqLqLqLqLqLqLababababqLqLqLqLqLqLqLababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaabababababababababababababababalgygygygygygyqygygygygygygygygyAwumalababababababababqDrlujuhuhuiucuguaubDdqDababababababababababaaaaaaaaCQvfvjrtvmaaEfaaqgrgqbaaqgrgqbaaqgrgqbaaqaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLqLqLqLqLababababqLqLqLqLqLqLqLqLqLqLqLqLqLababababababababababqLqLqLqLqLqLqLqLqLqLabababqLqLqLqLqLqLqLabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaabababababababababababababababalgypZjsjsjsjsragyalalgygygygyalalalalababababababababqDrltXqQqQqQtTtUtVtWCgqDabababababababababaaaaaaaaqBqBqBqBqBqBqBaaaaqgrgqbaaqgrgqbaaqgrgqbaaqaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLqLqLqLqLababababqLqLqLqLqLqLqLqLqLqLqLqLqLababababababababababqLqLqLqLqLqLqLqLqLqLabababqLqLqLqLqLqLqLabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaabababababababababababababababalgypZjsjsjsjsragyalalgygygygyalalalalababababababababqDrltXqQqQqQtTtPtVtRCgqDabababababababababaaaaaaaaqBqBqBqBqBqBqBaaaaqgrgqbaaqgrgqbaaqgrgqbaaqaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLqLqLabababababababqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLabababqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLababqLqLqLqLqLqLqLababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaabababababababababababababababalgykigygygygysLgyalalalalalalalabababababababababababqDtStOtJtJBZtHtItMtNtLqDababababababababaaaaaaaaaaqBqBqBqBqBqBqBaaaaqgrgqbaeqgrgqbaeqgrgqbaeqaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLababababababababqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaabababababababababababababababalgykigyalalalmRalalabababababababababababababababababqDqGqIqHqQqDqSqRqDqJqKqDabababababababaaaaaaaaaaaaqBqBqBqBqBqBqBaaaaqgqEqbaaqgqEqbaaqgqEqbaaqaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLababababababababqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaabababababababababababababababalgykigyalalalmRalalabababababababababababababababababqDtUqItWqQqDqSqRqDqJqKqDabababababababaaaaaaaaaaaaqBqBqBqBqBqBqBaaaaqgqEqbaaqgqEqbaaqgqEqbaaqaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLababababababababqLqLqLqLqLqLqLqLqLabababqLqLqLqLqLqLababqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaababababababababababababababalgykigyalalalalabababababababababababababababababababqDqVqUqTqQqDClqYqDqXCrqDababababababaaaaaaaaaaaaaaqBqBqBqBqBqBqBaaaaaaaeaaaaaaaeaaaaaaaeaaaaqaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLababababababababqLqLqLqLqLqLqLqLqLabababqLqLqLqLqLabababababqLqLqLqLqLqLqLabababqLqLqLqLqLqLqLqLqLqLababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaabababababababababababababalgykigyalalalababababababababababababababababababababqDqDqDqDqDqDCBrYqDsfCRqDababababaaaaaaaaaaaaaaaaaaqBqBqBqBqBqBqBaatKqaqaqaqaqaqaqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLabababqLqLqLqLqLqLqLqLqLqLqLqLqLqLababababqLqLqLqLababababababqLqLqLqLqLqLabababqLqLqLqLqLqLqLqLqLabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaababababababababababalalgykigyalalababababababababababababababababababababababababababqDqDqDqDqDqDqDababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -1796,22 +1798,22 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqL aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLabababababqLqLqLqLqLqLqLqLqLqLqLsOEnsOgygyalalalalalalalababababababababababababababababababababababababababababababababababababababababababababababababababababababababtBababziziziziDzzialalalalmRalalaaaaaaaaaaaaaaaaaaaaaaababababababababababababalalgyqygygygyalalalalalababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLabababqLqLqLqLqLqLqLqLqLqLqLqLqLabababababqLqLqLqLqLqLqLqLqLgygysPgysPgygygygygygyalalalababababababababababababababababababababababababababababababababababababababababababababababababababababababababpIababziDwEyziArDFgygygygytGgyalalaaaaaaaaaaaaaaaaaaaaababababababababababababalalgyqygygygygyalalalalalalababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqLqLababababababqLqLqLqLqLqLqLqLqLqLabababababqLqLqLqLqLqLqLqLqLgygygygygygygygyDEDEDEgyalalalababababababababababababababababababababababababababababababababababababababababababababababababababababababababpIababzizMzLDDzJDCgygygygygygygygygyaaaaaaaaaaaaaaaaaaaaababababababkDmRmRmRmRmRgygyqygygygygygygygyalabalalabababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqLababababababababqLqLqLqLqLqLqLababababababqLqLqLqLqLqLqLqLqLgygygygygygygygyDVDUDTgyalalalababababababababababababababababababababababababababababababalalalalalalalababababababababababababababababababziDSziziziziziziArDRgygygygygygygygygygygyaaaaaaaaaaaaaaaaaaabababababmRtPsCtQtQtRgyrJqzrigygygygygygygyadabalababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqLababababababababqLqLqLqLqLqLqLababababababqLqLqLqLqLqLqLqLqLgygygygygygygygyDVDUDTgyalalalababababababababababababababababababababababababababababababalalalalalalalababababababababababababababababababziDSziziziziziziArDRgygygygygygygygygygygyaaaaaaaaaaaaaaaaaaabababababmRvnsCtQtQvAgyrJqzrigygygygygygygyadabalababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqLqLababababababqLqLqLqLqLqLqLababababababqLqLqLqLalgyzyzyzyzyzyzyDPDQDOzyzyzyzyzygygygyalabababababababababababababababababababababababababababababalalalalalalalalalalalalabababababababababababziziziziDLDMDNziDwEzziDzzixhxhDJCcCdxhgygygygygygyaaaaaaaaaaaaaaaaaaabababalmRudowueueufgyAwDIrPDHAjAjAjAkgygygygygyalabababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqLqLababababababqLqLqLqLqLqLqLabababababqLqLalalalgyzyzxzqzpzszrzuDazwzvznErzlzmsCsCrialalalalabababababababababababababababababababababababababalalalalalalalalalalalalalalalalalabababababababzizhzkzjzIzHzGzizMzLzKzJzizPzOzNzRzNzQgygygygygygygyaaaaaaaaaaaaaaaaaaalalalmRuCuDuEuEpCgyAwzBzAzFzEzAzAzzgygygygygyalababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLabababqLqLqLqLqLqLqLqLabababqLqLabalalalgyzyAdzYAbzZAJBfBeBeBdzXAcAAAIzVzWufalalalalalalabababababababababababababababababababababalalalalalalalalalalalalalalalalalalalalababababababzizTzkzSAoAnAqziziziziArzizPAsAsAuAtAvgygygygygygygyaaaaaaaaaaaaaaaaaagygygygygygygygygygypBzBAgAgAgAizAAlAmAjAkgynDmRalabababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLabababqLqLqLqLqLqLqLqLabababqLqLabalalalgyzyAdzYAbzZAJBfBeBeBdyxAcAAAIzVzWufalalalalalalabababababababababababababababababababababalalalalalalalalalalalalalalalalalalalalababababababzizTzkzSAoAnAqziziziziArzizPAsAsAuAtAvgygygygygygygyaaaaaaaaaaaaaaaaaagygygygygygygygygygypBzBAgAgAgAizAAlAmAjAkgynDmRalabababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqLqLabababqLqLqLqLqLqLqLqLqLqLqLqLqLabalalalgyzyAKAHBnBFBEBkAEAGAFznBgAxEuxvBhufalalalalalalalalalabababababababababababababababababalalalmRalalalalalalalalalalalalalalalalalalalalabababziABADEwASARAQAPAOANAMALzizPAsExAVAUATgygygygygygyaaaaaaaaaaaaaaaaaaaaaaaagygygygygywNwNyKxQzBEAAZAYEEzAzAzAzAAXgygygyalalabababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLababalalalgyzyBjBiBIzsBHBGzYBczyzyzyzyzyzyBhufgygygygygygygyalalalalabababababababababababababababalalgytGgygygygygygygygyrJrigygygygygygyalalalalalababziziziziziziziBmBlBJBmBlzixhxhxhBKxhxhxhBoBpgygyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagygyxOxQBqBxBwBvBuBuBtBsBrEQBAByAXgygygymQalabababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLqLabababalalgyzyBBBDBCzZzYERzYzYESBXBYBRBVBNBQqpjsjsjsjsjsqngyalalalalalalababababababababababababalalalgypZjsjsjsjsjsjsjsjsqoqpjsjsjsjsqngyalalalalalabababababxhCoCnCmAsAsCpAsAsCjCiAsChAVETCkCkCeCfCcCdEGEFEFEFEFEFEFEFEFEFEFEFEFEFEFyKycCaCbxPBTBSCPBUBWBWDfCTBOBPCxCDgygygymQalabababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLabababalalgyzyzyzyzyzyzyzyzyzyzyCqzyzyzyzyowufgygygygygykigygygygyalalalalababababababababababalalgygygykigygygygygygygygypBpCgygygygykigyalalalalalalalalalabxhxhxhxhCLCNCMCGCGCGCFCGCGCICHCKCJCODlCGDlCyCyCyCyCyCyCyCyCyCyCyCyCyCyCyDgCzDgCACzCtxPCsEUCwCvCuBrDjCEEVCCsCsCrigyalalababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqLqLabababalalgygygygygygygygygygygyAwEWAhowowowufgysMgygygyqqjsjsqngyalalalalababababababababababalgygypZjspYgygygygyalgygysMgygygygygygykigyalalalalalalalalalalalalalxhCZCYAsAsAsAsCXAsCWCVCUDmAsEXCSCcCdEHEHEHEHEHEHEHEHEHEHEHEHEHEHEIyKycyMDcxPDbxPzBzAzAzAzAzAzAzAzAxXuDxJpCqFmQalababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLqLabababalalgyzyBBBDBCzZzYERzYzYESBXBYBRBVBNBQqpjsjsjsjsjsqngyalalalalalalababababababababababababalalalgypZjsjsjsjsjsjsjsjsqoqpjsjsjsjsqngyalalalalalabababababxhCoCnCmAsAsCpAsAsCjCiAsChAVETCkCkCeCfCcCdEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFyKycCaCbxPBTyGBSzXBUBUCPBWBOBPCxCDgygygymQalabababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLabababalalgyzyzyzyzyzyzyzyzyzyzyCqzyzyzyzyowufgygygygygykigygygygyalalalalababababababababababalalgygygykigygygygygygygygypBpCgygygygykigyalalalalalalalalalabxhxhxhxhCLCNCMCGCGCGCFCGCGCICHCKCJCODlCTDlCyCyCyDfCyCyCyEGCyCyCyDfCyCyCyDgEIDgCACzCtxPCsEUCwCvCuBrDjCEEVCCsCsCrigyalalababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqLqLabababalalgygygygygygygygygygygyAwEWAhowowowufgysMgygygyqqjsjsqngyalalalalababababababababababalgygypZjspYgygygygyalgygysMgygygygygygykigyalalalalalalalalalalalalalxhCZCYAsAsAsAsCXAsCWCVCUDmAsEXCSCcCdEHEHEHEHEHEHEHEHEHEHEHEHEHEHEHyKycyMDcxPDbxPzBzAzAzAzAzAzAzAzAxXuDxJpCqFmQalababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababalalalalalalalalalgygygypBuDuDuDuDDeApalmRalalgygygygykigyalalalalalabababababalalalalalgypZpYgygygyalalalalalalmRalalalalalgykigyalalalalalalmRalalalalalwVwVDiDuDiwXwXDhDtwXwXwXxIDsxIxhDkgygygyaaaaaaaaaeaaaaaaaeaaaaaaaaaaaeaayTxQxPDqDpDoDnxixixjDvDKEgDxDGDrDrDrqFgyalababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababababababalalalalalalalalalalalalabalalalalalgykigygygygygyalalalalalalalalalalalgykigygyalalalabababababalalalalalalgykigygygyrJrigygytGgygyalalalwVwUwTwZwYwXwWxdxcFaEZwXxgxfxtxhgygygygygygyaaaaaeaaaaaaEDaeaeaeaeaeEDaeaewNwMwPFbwQwQwQwQxrwQwSwQwQxsqFqFqFqFgyalababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababababababababababababababababababababalalalalgyqqjsjsjsqngygygygygygygygygygygygygykigyalalabababababababalalalalalalgyqqjsjsjsqoqpjsjsjsqngyalalalwVxwxuFcxxwXxzxBxAFeFdwXxExGxFxhgygygygygygyaeaeaeaeaeaeaeyIyIyIyIyIaeaaaawNxkxoxPxWxRykxixixpxixjwQxKgygygygyalalababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababababababababababababababababababababalalalgygygygygyqqqngygyrJrigygypZjsjsjsjsjspYgyalabababababababababalalalalalgygygygygypBpCgygygykigygygygywVwVwVwVwVwXxHxNxAFgFfwXFhymxIxhgygygygygygyaaaaaeaaaaaaaeyIyIyIyIyIaeaaxOxQxPxSFiwQwQwQwQwQwQxTxUwQxKgygygyalalabababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababababababababababababababababababababababalalalgysMgygyqqjsjsqoqpjsjspYgygygygygygygyalabababababababababababalalalalalalalgygygygyalgyqqjsjsqngygygygygygywXEYFkDhwXwXwXowysufyZgygygygygyaaaaaaaeaaaaaaaeyIyIyIyIyIydycybyaxZylytyjyiyhygyfyexYxUwQxKgygygyalalabababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababababababababababababababababababababababababalalmRalgygygygypBpCgygygygysMgyalalalalalababababababababababababababalalalalalalalalalgygygygykigygygygygygygygyyAowowowowowowufgygygygygygyaeaeaeaeaeaeaeaeyIyIyIyIyIywyEyxyJyvynxPxPxPyuyoyrFjyyyzwQxKgygygyalabababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababababababababababababababababababababababababababalalalalalalalalalalalmRalalabababababababababababababababababababababababababalalalalalgykigygygygygygygygyyNuDuDuDuDuDuDpCgygygygygygygyaaaaaaaaaaaaaeyIyIyIyIyIyKycyMyLxPyFyDyDyDzDyHyHyGyByCwQxKgygyzCmRabababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababababababababababababababababababababababababalalmRalgygygygypBpCgygygygysMgyalalalalalababababababababababababababalalalalalalalalalgygygygykigygygygygygygygyyAowowowowowowufgygygygygygyaeaeaeaeaeaeaeaeyIyIyIyIyIywyEFlyJyvynxPxPxPyuyoyrFjyyyzwQxKgygygyalabababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababababababababababababababababababababababababababalalalalalalalalalalalmRalalabababababababababababababababababababababababababalalalalalgykigygygygygygygygyyNuDuDuDuDuDuDpCgygygygygygygyaaaaaaaaaaaaaeyIyIyIyIyIyKycyMyLxPyFyDyDyDzDyHyHFmyByCwQxKgygyzCmRabababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababababababababababababababababababababababababababalalalalalalalalalalalababababababababababababababababababababababababababababalalalalgyqqjsjsjsjsjsjsjsjsyOjsjsjsjsjsjsjsjsyPgygygygygygyaaaaaaaaaaaeyIyIyIyIyIzUaayTxQyUySxPxPxPyRyQyryrxTyVwQxKgygygyalabababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababababababababababababababababababababababababababababalalalalalababababababababababababababababababababababababababababababababalalalalgygygygygygygygygygygygygygygygygygygyqygyrJrigygygypzyWaaaaaaEDyIyIyIyIyIEDaaaaaazfzeytzdzczbzayYyXyyxUwQxKgygygyalababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababalalalalalalalalalalalalalalalalalalalmRsEDYDWDZDXDWDWDWEcEbEaEaEaEaEaEaEaEaEaEaEaEaENEOEPxPElxPEjEkEhEiEeEdwQxKgyalalalababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa From 7b67b44e380381e1b2815e56b4c4a97551e35432 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Wed, 13 May 2015 17:38:23 +0200 Subject: [PATCH 200/305] Minor proc division. Attempts to discourage the creation of large procs. --- code/controllers/Processes/machinery.dm | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/code/controllers/Processes/machinery.dm b/code/controllers/Processes/machinery.dm index dcc1bb207c..c796afa1f9 100644 --- a/code/controllers/Processes/machinery.dm +++ b/code/controllers/Processes/machinery.dm @@ -6,14 +6,16 @@ /datum/controller/process/machinery/doWork() internal_sort() - internal_process() + internal_process_machinery() + internal_process_power() + internal_process_power_drain() /datum/controller/process/machinery/proc/internal_sort() if(machinery_sort_required) machinery_sort_required = 0 machines = dd_sortedObjectList(machines) -/datum/controller/process/machinery/proc/internal_process() +/datum/controller/process/machinery/proc/internal_process_machinery() for(var/obj/machinery/M in machines) if(M && !M.gcDestroyed) #ifdef PROFILE_MACHINES @@ -39,6 +41,7 @@ scheck() +/datum/controller/process/machinery/proc/internal_process_power() for(var/datum/powernet/powerNetwork in powernets) if(istype(powerNetwork) && !powerNetwork.disposed) powerNetwork.reset() @@ -47,6 +50,7 @@ powernets.Remove(powerNetwork) +/datum/controller/process/machinery/proc/internal_process_power_drain() // Currently only used by powersinks. These items get priority processed before machinery for(var/obj/item/I in processing_power_items) if(!I.pwr_drain()) // 0 = Process Kill, remove from processing list. From b95692e484c45134ecfe724b74a786aef1c1b772 Mon Sep 17 00:00:00 2001 From: Daranz Date: Wed, 13 May 2015 13:58:37 -0400 Subject: [PATCH 201/305] Fix a problem in human/has_eyes() --- code/modules/mob/living/carbon/human/human.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index ccbf129293..1cd30fe9ba 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -1300,7 +1300,7 @@ /mob/living/carbon/human/has_eyes() if(internal_organs_by_name["eyes"]) var/datum/organ/internal/eyes = internal_organs_by_name["eyes"] - if(eyes && istype(eyes) && !eyes.status & ORGAN_CUT_AWAY) + if(eyes && istype(eyes) && !(eyes.status & ORGAN_CUT_AWAY)) return 1 return 0 From 4b877990725631c3d768e7a3dc9ccd9e93389695 Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Wed, 13 May 2015 19:08:39 +0100 Subject: [PATCH 202/305] New tables, code section. Changelog entry soon. --- baystation12.dme | 8 +- code/game/gamemodes/cult/cultify/obj.dm | 12 +- .../game/objects/items/stacks/sheets/glass.dm | 1 + .../objects/items/stacks/sheets/mineral.dm | 1 + .../items/stacks/sheets/sheet_types.dm | 5 +- .../objects/items/weapons/table_rack_parts.dm | 101 ---- code/game/objects/structures/tables_racks.dm | 558 ------------------ code/modules/holodeck/HolodeckObjects.dm | 49 +- code/modules/materials/materials.dm | 10 +- .../living/silicon/robot/drone/drone_items.dm | 2 - .../living/simple_animal/hostile/hostile.dm | 2 +- code/modules/tables/flipping.dm | 116 ++++ code/modules/tables/interactions.dm | 122 ++++ code/modules/tables/presets.dm | 110 ++++ code/modules/tables/rack.dm | 26 + code/modules/tables/tables.dm | 337 +++++++++++ code/modules/tables/update_triggers.dm | 22 + icons/obj/tables.dmi | Bin 0 -> 22339 bytes 18 files changed, 765 insertions(+), 717 deletions(-) delete mode 100644 code/game/objects/items/weapons/table_rack_parts.dm delete mode 100644 code/game/objects/structures/tables_racks.dm create mode 100644 code/modules/tables/flipping.dm create mode 100644 code/modules/tables/interactions.dm create mode 100644 code/modules/tables/presets.dm create mode 100644 code/modules/tables/rack.dm create mode 100644 code/modules/tables/tables.dm create mode 100644 code/modules/tables/update_triggers.dm create mode 100644 icons/obj/tables.dmi diff --git a/baystation12.dme b/baystation12.dme index a1074dc190..42f98251f3 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -629,7 +629,6 @@ #include "code\game\objects\items\weapons\stunbaton.dm" #include "code\game\objects\items\weapons\surgery_tools.dm" #include "code\game\objects\items\weapons\swords_axes_etc.dm" -#include "code\game\objects\items\weapons\table_rack_parts.dm" #include "code\game\objects\items\weapons\tape.dm" #include "code\game\objects\items\weapons\teleportation.dm" #include "code\game\objects\items\weapons\tools.dm" @@ -718,7 +717,6 @@ #include "code\game\objects\structures\noticeboard.dm" #include "code\game\objects\structures\safe.dm" #include "code\game\objects\structures\signs.dm" -#include "code\game\objects\structures\tables_racks.dm" #include "code\game\objects\structures\tank_dispenser.dm" #include "code\game\objects\structures\target_stake.dm" #include "code\game\objects\structures\transit_tubes.dm" @@ -1646,6 +1644,12 @@ #include "code\modules\surgery\robolimbs.dm" #include "code\modules\surgery\slimes.dm" #include "code\modules\surgery\surgery.dm" +#include "code\modules\tables\flipping.dm" +#include "code\modules\tables\interactions.dm" +#include "code\modules\tables\presets.dm" +#include "code\modules\tables\rack.dm" +#include "code\modules\tables\tables.dm" +#include "code\modules\tables\update_triggers.dm" #include "code\modules\vehicles\cargo_train.dm" #include "code\modules\vehicles\train.dm" #include "code\modules\vehicles\vehicle.dm" diff --git a/code/game/gamemodes/cult/cultify/obj.dm b/code/game/gamemodes/cult/cultify/obj.dm index 630877eb11..fd239df50f 100644 --- a/code/game/gamemodes/cult/cultify/obj.dm +++ b/code/game/gamemodes/cult/cultify/obj.dm @@ -149,8 +149,12 @@ ..() /obj/structure/table/cultify() - new /obj/structure/table/woodentable(loc) - ..() + // Make it a wood-reinforced wooden table. + // There are cult materials available, but it'd make the table non-deconstructable with how holotables work. + // Could possibly use a new material var for holographic-ness? + material = name_to_material["wood"] + reinforced = name_to_material["wood"] + update_desc() + update_connections(1) + update_icon() -/obj/structure/table/woodentable/cultify() - return diff --git a/code/game/objects/items/stacks/sheets/glass.dm b/code/game/objects/items/stacks/sheets/glass.dm index a4d9e631e8..bbb8e32736 100644 --- a/code/game/objects/items/stacks/sheets/glass.dm +++ b/code/game/objects/items/stacks/sheets/glass.dm @@ -20,6 +20,7 @@ var/created_window = /obj/structure/window/basic var/is_reinforced = 0 var/list/construction_options = list("One Direction", "Full Window") + sheettype = "glass" /obj/item/stack/sheet/glass/cyborg name = "glass synthesizer" diff --git a/code/game/objects/items/stacks/sheets/mineral.dm b/code/game/objects/items/stacks/sheets/mineral.dm index 46415bb8af..1e6fd887f5 100644 --- a/code/game/objects/items/stacks/sheets/mineral.dm +++ b/code/game/objects/items/stacks/sheets/mineral.dm @@ -134,6 +134,7 @@ obj/item/stack/sheet/mineral/iron/New() icon_state = "sheet-plastic" origin_tech = "materials=3" perunit = 2000 + sheettype = "plastic" /obj/item/stack/sheet/mineral/plastic/New() ..() diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index 1fefeca1ab..bf35253b08 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -31,8 +31,8 @@ var/global/list/datum/stack_recipe/metal_recipes = list ( \ new/datum/stack_recipe("green comfy chair", /obj/structure/bed/chair/comfy/green, 2, one_per_turf = 1, on_floor = 1), \ ), 2), \ null, \ - new/datum/stack_recipe("table parts", /obj/item/weapon/table_parts, 2), \ - new/datum/stack_recipe("rack parts", /obj/item/weapon/table_parts/rack), \ + new/datum/stack_recipe("table frame", /obj/structure/table, 1, time = 10, one_per_turf = 1, on_floor = 1), \ + new/datum/stack_recipe("rack", /obj/structure/table/rack, 1, time = 5, one_per_turf = 1, on_floor = 1), \ new/datum/stack_recipe("metal baseball bat", /obj/item/weapon/twohanded/baseballbat/metal, 10, time = 20, one_per_turf = 0, on_floor = 1), \ new/datum/stack_recipe("closet", /obj/structure/closet, 2, time = 15, one_per_turf = 1, on_floor = 1), \ null, \ @@ -163,6 +163,7 @@ var/global/list/datum/stack_recipe/wood_recipes = list ( \ singular_name = "wood plank" icon_state = "sheet-wood" origin_tech = "materials=1;biotech=1" + sheettype = "wood" /obj/item/stack/sheet/wood/cyborg name = "wood synthesizer" diff --git a/code/game/objects/items/weapons/table_rack_parts.dm b/code/game/objects/items/weapons/table_rack_parts.dm deleted file mode 100644 index 8437a5e29f..0000000000 --- a/code/game/objects/items/weapons/table_rack_parts.dm +++ /dev/null @@ -1,101 +0,0 @@ -// Table parts and rack parts - -/obj/item/weapon/table_parts - name = "table parts" - desc = "Parts of a table. Poor table." - gender = PLURAL - icon = 'icons/obj/items.dmi' - icon_state = "table_parts" - matter = list(DEFAULT_WALL_MATERIAL = 3750) - flags = CONDUCT - attack_verb = list("slammed", "bashed", "battered", "bludgeoned", "thrashed", "whacked") - - var/build_type = /obj/structure/table - var/alter_type = /obj/item/weapon/table_parts/reinforced - var/alter_with = /obj/item/stack/rods - var/alter_cost = 4 - var/list/stack_types = list(/obj/item/stack/sheet/metal) - -/obj/item/weapon/table_parts/attackby(obj/item/weapon/W as obj, mob/user as mob) - if (istype(W, /obj/item/weapon/wrench)) - for(var/material_type in stack_types) - new material_type(get_turf(user)) - qdel(src) - return - else - if(alter_type && alter_with && istype(W,alter_with)) - var/obj/item/stack/R = W - if (R.use(alter_cost)) - var/obj/item/new_parts = new alter_type (get_turf(loc)) - user << "You modify \the [name] into \a [new_parts]." - qdel(src) - else - user << "You need at least [alter_cost] sheets to reinforce the [name]." - return - ..() - -/obj/item/weapon/table_parts/attack_self(mob/user as mob) - if(locate(/obj/structure/table) in user.loc) - user << "There is already a table here." - return - - new build_type( user.loc ) - user.drop_item() - qdel(src) - return - -/obj/item/weapon/table_parts/reinforced - name = "reinforced table parts" - desc = "Hard table parts. Well... harder." - icon = 'icons/obj/items.dmi' - icon_state = "reinf_tableparts" - matter = list(DEFAULT_WALL_MATERIAL = 7500) - flags = CONDUCT - - stack_types = list(/obj/item/stack/sheet/metal, /obj/item/stack/rods) - build_type = /obj/structure/table/reinforced - alter_type = null - alter_with = null - alter_cost = null - -/obj/item/weapon/table_parts/wood - name = "wooden table parts" - desc = "Keep away from fire." - icon_state = "wood_tableparts" - flags = null - - stack_types = list(/obj/item/stack/sheet/wood) - build_type = /obj/structure/table/woodentable - alter_type = /obj/item/weapon/table_parts/gambling - alter_with = /obj/item/stack/tile/carpet - alter_cost = 1 - -/obj/item/weapon/table_parts/gambling - name = "gambling table parts" - desc = "Keep away from security." - icon_state = "gamble_tableparts" - flags = null - - stack_types = list(/obj/item/stack/tile/carpet,/obj/item/stack/sheet/wood) - build_type = /obj/structure/table/gamblingtable - alter_type = null - alter_with = null - alter_cost = null - -/obj/item/weapon/table_parts/gambling/attackby(obj/item/weapon/W as obj, mob/user as mob) - if (istype(W, /obj/item/weapon/crowbar)) - new /obj/item/stack/tile/carpet( get_turf(loc) ) - new /obj/item/weapon/table_parts/wood( get_turf(loc) ) - user << "You pry the carpet out of the table." - qdel(src) - ..() - -/obj/item/weapon/table_parts/rack - name = "rack parts" - desc = "Parts of a rack." - icon_state = "rack_parts" - stack_types = list(/obj/item/stack/sheet/metal) - build_type = /obj/structure/table/rack - alter_type = null - alter_with = null - alter_cost = null \ No newline at end of file diff --git a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm deleted file mode 100644 index f206bfc11f..0000000000 --- a/code/game/objects/structures/tables_racks.dm +++ /dev/null @@ -1,558 +0,0 @@ -// Tables and racks. - -/obj/structure/table - name = "table" - desc = "A square piece of metal standing on four metal legs. It can not move." - icon = 'icons/obj/structures.dmi' - icon_state = "table" - density = 1 - anchored = 1 - layer = 2.8 - throwpass = 1 - climbable = 1 - breakable = 1 - parts = /obj/item/weapon/table_parts - - var/flipped = 0 - var/health = 100 - -/obj/structure/table/woodentable - name = "wooden table" - desc = "Do not apply fire to this. Rumour says it burns easily." - icon_state = "wood_table" - parts = /obj/item/weapon/table_parts/wood - health = 50 - -/obj/structure/table/gamblingtable - name = "gambling table" - desc = "A curved wooden table with a thin carpet of green fabric." - icon_state = "gamble_table" - parts = /obj/item/weapon/table_parts/gambling - health = 50 - -/obj/structure/table/reinforced - icon_state = "reinf_table" - health = 200 - parts = /obj/item/weapon/table_parts/reinforced - -/obj/structure/table/rack - name = "rack" - desc = "Different from the Middle Ages version." - icon = 'icons/obj/objects.dmi' - icon_state = "rack" - health = 100 - parts = /obj/item/weapon/table_parts/rack - flipped = -1 //Cannot flip. - -/obj/structure/table/examine() - ..() - if(health > 100) - usr << "This one looks like it has been reinforced." - -/obj/structure/table/proc/update_adjacent() - for(var/direction in list(1,2,4,8,5,6,9,10)) - if(locate(/obj/structure/table,get_step(src,direction))) - var/obj/structure/table/T = locate(/obj/structure/table,get_step(src,direction)) - T.update_icon() - -/obj/structure/table/New() - ..() - for(var/obj/structure/table/T in src.loc) - if(T != src) - qdel(T) - update_icon() - update_adjacent() - -/obj/structure/table/Destroy() - update_adjacent() - ..() - -/obj/structure/table/update_icon() - - if(health > 100) - name = "reinforced [initial(name)]" - - spawn(2) //So it properly updates when deleting - - if(flipped == 1) - var/type = 0 - var/tabledirs = 0 - for(var/direction in list(turn(dir,90), turn(dir,-90)) ) - var/obj/structure/table/T = locate(/obj/structure/table,get_step(src,direction)) - if (T && T.flipped == 1 && T.dir == src.dir) - type++ - tabledirs |= direction - var/base = "table" - if (istype(src, /obj/structure/table/woodentable)) - base = "wood" - if (istype(src, /obj/structure/table/reinforced)) - base = "rtable" - - icon_state = "[base]flip[type]" - if (type==1) - if (tabledirs & turn(dir,90)) - icon_state = icon_state+"-" - if (tabledirs & turn(dir,-90)) - icon_state = icon_state+"+" - return 1 - - var/dir_sum = 0 - for(var/direction in list(1,2,4,8,5,6,9,10)) - var/skip_sum = 0 - for(var/obj/structure/window/W in src.loc) - if(W.dir == direction) //So smooth tables don't go smooth through windows - skip_sum = 1 - continue - var/inv_direction //inverse direction - switch(direction) - if(1) - inv_direction = 2 - if(2) - inv_direction = 1 - if(4) - inv_direction = 8 - if(8) - inv_direction = 4 - if(5) - inv_direction = 10 - if(6) - inv_direction = 9 - if(9) - inv_direction = 6 - if(10) - inv_direction = 5 - for(var/obj/structure/window/W in get_step(src,direction)) - if(W.dir == inv_direction) //So smooth tables don't go smooth through windows when the window is on the other table's tile - skip_sum = 1 - continue - if(!skip_sum) //means there is a window between the two tiles in this direction - var/obj/structure/table/T = locate(/obj/structure/table,get_step(src,direction)) - if(T && T.flipped == 0) // This should let us ignore racks for table icons/flipping. Should. - if(direction <5) - dir_sum += direction - else - if(direction == 5) //This permits the use of all table directions. (Set up so clockwise around the central table is a higher value, from north) - dir_sum += 16 - if(direction == 6) - dir_sum += 32 - if(direction == 8) //Aherp and Aderp. Jezes I am stupid. -- SkyMarshal - dir_sum += 8 - if(direction == 10) - dir_sum += 64 - if(direction == 9) - dir_sum += 128 - - var/table_type = 0 //stand_alone table - if(dir_sum%16 in cardinal) - table_type = 1 //endtable - dir_sum %= 16 - if(dir_sum%16 in list(3,12)) - table_type = 2 //1 tile thick, streight table - if(dir_sum%16 == 3) //3 doesn't exist as a dir - dir_sum = 2 - if(dir_sum%16 == 12) //12 doesn't exist as a dir. - dir_sum = 4 - if(dir_sum%16 in list(5,6,9,10)) - if(locate(/obj/structure/table,get_step(src.loc,dir_sum%16))) - table_type = 3 //full table (not the 1 tile thick one, but one of the 'tabledir' tables) - else - table_type = 2 //1 tile thick, corner table (treated the same as streight tables in code later on) - dir_sum %= 16 - if(dir_sum%16 in list(13,14,7,11)) //Three-way intersection - table_type = 5 //full table as three-way intersections are not sprited, would require 64 sprites to handle all combinations. TOO BAD -- SkyMarshal - switch(dir_sum%16) //Begin computation of the special type tables. --SkyMarshal - if(7) - if(dir_sum == 23) - table_type = 6 - dir_sum = 8 - else if(dir_sum == 39) - dir_sum = 4 - table_type = 6 - else if(dir_sum == 55 || dir_sum == 119 || dir_sum == 247 || dir_sum == 183) - dir_sum = 4 - table_type = 3 - else - dir_sum = 4 - if(11) - if(dir_sum == 75) - dir_sum = 5 - table_type = 6 - else if(dir_sum == 139) - dir_sum = 9 - table_type = 6 - else if(dir_sum == 203 || dir_sum == 219 || dir_sum == 251 || dir_sum == 235) - dir_sum = 8 - table_type = 3 - else - dir_sum = 8 - if(13) - if(dir_sum == 29) - dir_sum = 10 - table_type = 6 - else if(dir_sum == 141) - dir_sum = 6 - table_type = 6 - else if(dir_sum == 189 || dir_sum == 221 || dir_sum == 253 || dir_sum == 157) - dir_sum = 1 - table_type = 3 - else - dir_sum = 1 - if(14) - if(dir_sum == 46) - dir_sum = 1 - table_type = 6 - else if(dir_sum == 78) - dir_sum = 2 - table_type = 6 - else if(dir_sum == 110 || dir_sum == 254 || dir_sum == 238 || dir_sum == 126) - dir_sum = 2 - table_type = 3 - else - dir_sum = 2 //These translate the dir_sum to the correct dirs from the 'tabledir' icon_state. - if(dir_sum%16 == 15) - table_type = 4 //4-way intersection, the 'middle' table sprites will be used. - - if(istype(src,/obj/structure/table/reinforced)) - switch(table_type) - if(0) - icon_state = "reinf_table" - if(1) - icon_state = "reinf_1tileendtable" - if(2) - icon_state = "reinf_1tilethick" - if(3) - icon_state = "reinf_tabledir" - if(4) - icon_state = "reinf_middle" - if(5) - icon_state = "reinf_tabledir2" - if(6) - icon_state = "reinf_tabledir3" - else if(istype(src,/obj/structure/table/woodentable)) - switch(table_type) - if(0) - icon_state = "wood_table" - if(1) - icon_state = "wood_1tileendtable" - if(2) - icon_state = "wood_1tilethick" - if(3) - icon_state = "wood_tabledir" - if(4) - icon_state = "wood_middle" - if(5) - icon_state = "wood_tabledir2" - if(6) - icon_state = "wood_tabledir3" - else if(istype(src,/obj/structure/table/gamblingtable)) - switch(table_type) - if(0) - icon_state = "gamble_table" - if(1) - icon_state = "gamble_1tileendtable" - if(2) - icon_state = "gamble_1tilethick" - if(3) - icon_state = "gamble_tabledir" - if(4) - icon_state = "gamble_middle" - if(5) - icon_state = "gamble_tabledir2" - if(6) - icon_state = "gamble_tabledir3" - else - switch(table_type) - if(0) - icon_state = "table" - if(1) - icon_state = "table_1tileendtable" - if(2) - icon_state = "table_1tilethick" - if(3) - icon_state = "tabledir" - if(4) - icon_state = "table_middle" - if(5) - icon_state = "tabledir2" - if(6) - icon_state = "tabledir3" - if (dir_sum in list(1,2,4,8,5,6,9,10)) - set_dir(dir_sum) - else - set_dir(2) - -/obj/structure/table/attack_tk() // no telehulk sorry - return - -/obj/structure/table/CanPass(atom/movable/mover, turf/target, height=0, air_group=0) - if(air_group || (height==0)) return 1 - if(istype(mover,/obj/item/projectile)) - return (check_cover(mover,target)) - if(istype(mover) && mover.checkpass(PASSTABLE)) - return 1 - if(locate(/obj/structure/table) in get_turf(mover)) - return 1 - if (flipped == 1) - if (get_dir(loc, target) == dir) - return !density - else - return 1 - return 0 - -//checks if projectile 'P' from turf 'from' can hit whatever is behind the table. Returns 1 if it can, 0 if bullet stops. -/obj/structure/table/proc/check_cover(obj/item/projectile/P, turf/from) - var/turf/cover - if(flipped==1) - cover = get_turf(src) - else if(flipped==0) - cover = get_step(loc, get_dir(from, loc)) - if(!cover) - return 1 - if (get_dist(P.starting, loc) <= 1) //Tables won't help you if people are THIS close - return 1 - if (get_turf(P.original) == cover) - var/chance = 20 - if (ismob(P.original)) - var/mob/M = P.original - if (M.lying) - chance += 20 //Lying down lets you catch less bullets - if(flipped==1) - if(get_dir(loc, from) == dir) //Flipped tables catch mroe bullets - chance += 20 - else - return 1 //But only from one side - if(prob(chance)) - health -= P.damage/2 - if (health > 0) - visible_message("[P] hits \the [src]!") - return 0 - else - visible_message("[src] breaks down!") - qdel(src) - return 1 - return 1 - -/obj/structure/table/CheckExit(atom/movable/O as mob|obj, target as turf) - if(istype(O) && O.checkpass(PASSTABLE)) - return 1 - if (flipped==1) - if (get_dir(loc, target) == dir) - return !density - else - return 1 - return 1 - -/obj/structure/table/MouseDrop_T(obj/O as obj, mob/user as mob) - - if ((!( istype(O, /obj/item/weapon) ) || user.get_active_hand() != O)) - return ..() - if(isrobot(user)) - return - user.drop_item() - if (O.loc != src.loc) - step(O, get_dir(O, src)) - return - - -/obj/structure/table/attackby(obj/item/W as obj, mob/user as mob) - if (!W) return - - // Handle harm intent grabbing/tabling. - if (istype(W, /obj/item/weapon/grab) && get_dist(src,user)<2) - var/obj/item/weapon/grab/G = W - if (istype(G.affecting, /mob/living)) - var/mob/living/M = G.affecting - if (G.state < 2) - if(user.a_intent == I_HURT) - if (prob(15)) M.Weaken(5) - M.apply_damage(8,def_zone = "head") - visible_message("[G.assailant] slams [G.affecting]'s face against \the [src]!") - playsound(src.loc, 'sound/weapons/tablehit1.ogg', 50, 1) - else - user << "You need a better grip to do that!" - return - else - G.affecting.loc = src.loc - G.affecting.Weaken(5) - visible_message("[G.assailant] puts [G.affecting] on \the [src].") - qdel(W) - return - - // Handle dissembly. - if (istype(W, /obj/item/weapon/wrench)) - if(health > 100) - user << "\The [src] is too well constructed to be collapsed. Weaken it first." - return - user << "You locate the bolts and begin disassembling \the [src]..." - playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1) - if(do_after(user,50)) - qdel(src) - return - - // Handle weakening. - if (istype(W, /obj/item/weapon/weldingtool)) - var/obj/item/weapon/weldingtool/WT = W - if(WT.isOn()) - if(initial(health)>100) - if(WT.remove_fuel(0, user)) - if(src.health>100) - user << "You start weakening \the [src]..." - playsound(src.loc, 'sound/items/Welder.ogg', 50, 1) - if(!do_after(user, 50) || !src || health<100 || !WT.isOn()) - return - user << "You have weakened \the [src]." - health -= 100 - else if(src.health <= 100) - user << "You start strengthening \the [src]..." - playsound(src.loc, 'sound/items/Welder.ogg', 50, 1) - if(!do_after(user, 50) || !src || health > 100 || !WT.isOn()) - return - user << "You have strengthened \the [src]." - health += 100 - update_icon() - else - user << "\The [src] is too flimsy to be reinforced or weakened." - return - - - // Handle dismantling or placing things on the table from here on. - if(isrobot(user)) - return - - if(W.loc != user) // This should stop mounted modules ending up outside the module. - return - - if(istype(W, /obj/item/weapon/melee/energy/blade)) - var/datum/effect/effect/system/spark_spread/spark_system = new /datum/effect/effect/system/spark_spread() - spark_system.set_up(5, 0, src.loc) - spark_system.start() - playsound(src.loc, 'sound/weapons/blade1.ogg', 50, 1) - playsound(src.loc, "sparks", 50, 1) - user.visible_message("The [src] was sliced apart by [user]!") - qdel(src) - - user.drop_item(src.loc) - return - -/obj/structure/table/proc/straight_table_check(var/direction) - var/obj/structure/table/T - for(var/angle in list(-90,90)) - T = locate() in get_step(src.loc,turn(direction,angle)) - if(T && T.flipped == 0) - return 0 - T = locate() in get_step(src.loc,direction) - if (!T || T.flipped == 1) - return 1 - if (istype(T,/obj/structure/table/reinforced/)) - var/obj/structure/table/reinforced/R = T - if (R.health > 100) - return 0 - return T.straight_table_check(direction) - -/obj/structure/table/verb/do_flip() - set name = "Flip table" - set desc = "Flips a non-reinforced table" - set category = "Object" - set src in oview(1) - - if (!can_touch(usr) || ismouse(usr)) - return - - if(flipped < 0 || !flip(get_cardinal_dir(usr,src))) - usr << "It won't budge." - return - - usr.visible_message("[usr] flips \the [src]!") - - if(climbable) - structure_shaken() - - return - -/obj/structure/table/proc/unflipping_check(var/direction) - - for(var/mob/M in oview(src,0)) - return 0 - - var/obj/occupied = turf_is_crowded() - if(occupied) - usr << "There's \a [occupied] in the way." - return 0 - - var/list/L = list() - if(direction) - L.Add(direction) - else - L.Add(turn(src.dir,-90)) - L.Add(turn(src.dir,90)) - for(var/new_dir in L) - var/obj/structure/table/T = locate() in get_step(src.loc,new_dir) - if(T) - if(T.flipped == 1 && T.dir == src.dir && !T.unflipping_check(new_dir)) - return 0 - return 1 - -/obj/structure/table/proc/do_put() - set name = "Put table back" - set desc = "Puts flipped table back" - set category = "Object" - set src in oview(1) - - if (!can_touch(usr)) - return - - if (!unflipping_check()) - usr << "It won't budge." - return - unflip() - -/obj/structure/table/proc/flip(var/direction) - if( !straight_table_check(turn(direction,90)) || !straight_table_check(turn(direction,-90)) ) - return 0 - - verbs -=/obj/structure/table/verb/do_flip - verbs +=/obj/structure/table/proc/do_put - - var/list/targets = list(get_step(src,dir),get_step(src,turn(dir, 45)),get_step(src,turn(dir, -45))) - for (var/atom/movable/A in get_turf(src)) - if (!A.anchored) - spawn(0) - A.throw_at(pick(targets),1,1) - - set_dir(direction) - if(dir != NORTH) - layer = 5 - climbable = 0 //flipping tables allows them to be used as makeshift barriers - flipped = 1 - flags |= ON_BORDER - for(var/D in list(turn(direction, 90), turn(direction, -90))) - var/obj/structure/table/T = locate() in get_step(src,D) - if(T && T.flipped == 0) - T.flip(direction) - update_icon() - update_adjacent() - - return 1 - -/obj/structure/table/proc/unflip() - verbs -=/obj/structure/table/proc/do_put - verbs +=/obj/structure/table/verb/do_flip - - layer = initial(layer) - flipped = 0 - climbable = initial(climbable) - flags &= ~ON_BORDER - for(var/D in list(turn(dir, 90), turn(dir, -90))) - var/obj/structure/table/T = locate() in get_step(src.loc,D) - if(T && T.flipped == 1 && T.dir == src.dir) - T.unflip() - update_icon() - update_adjacent() - - return 1 - -// No need to handle any of this, racks are not contiguous.. -/obj/structure/table/rack/update_icon() - return -/obj/structure/table/rack/update_adjacent() - return \ No newline at end of file diff --git a/code/modules/holodeck/HolodeckObjects.dm b/code/modules/holodeck/HolodeckObjects.dm index b463ec4209..6e5c4c4c5a 100644 --- a/code/modules/holodeck/HolodeckObjects.dm +++ b/code/modules/holodeck/HolodeckObjects.dm @@ -1,5 +1,8 @@ // Holographic Items! +// Holographic tables are in code/modules/tables/presets.dm +// Holographic racks are in code/modules/tables/rack.dm + /turf/simulated/floor/holofloor/ thermal_conductivity = 0 @@ -40,36 +43,6 @@ return // HOLOFLOOR DOES NOT GIVE A FUCK -/obj/structure/table/holotable - name = "table" - desc = "A square piece of metal standing on four metal legs. It can not move." - icon = 'icons/obj/structures.dmi' - icon_state = "table" - density = 1 - anchored = 1.0 - layer = 2.8 - throwpass = 1 //You can throw objects over this, despite it's density. - -/obj/structure/table/holotable/attack_hand(mob/user as mob) - return // HOLOTABLE DOES NOT GIVE A FUCK - - -/obj/structure/table/holotable/attackby(obj/item/weapon/W as obj, mob/user as mob) - if (istype(W, /obj/item/weapon/wrench)) - user << "It's a holotable! There are no bolts!" - return - - if(isrobot(user)) - return - - ..() - -/obj/structure/table/woodentable/holotable - name = "table" - desc = "A square piece of wood standing on four wooden legs. It can not move." - icon = 'icons/obj/structures.dmi' - icon_state = "wood_table" - /obj/structure/holostool name = "stool" desc = "Apply butt." @@ -371,22 +344,6 @@ for(var/mob/M in currentarea) M << "FIGHT!" -//Holorack - -/obj/structure/table/rack/holorack - name = "rack" - desc = "Different from the Middle Ages version." - icon = 'icons/obj/objects.dmi' - icon_state = "rack" - -/obj/structure/table/rack/holorack/attack_hand(mob/user as mob) - return - -/obj/structure/table/rack/holorack/attackby(obj/item/weapon/W as obj, mob/user as mob) - if (istype(W, /obj/item/weapon/wrench)) - user << "It's a holorack! You can't unwrench it!" - return - //Holocarp /mob/living/simple_animal/hostile/carp/holodeck diff --git a/code/modules/materials/materials.dm b/code/modules/materials/materials.dm index 04e8d485ba..55d51c772f 100644 --- a/code/modules/materials/materials.dm +++ b/code/modules/materials/materials.dm @@ -149,6 +149,14 @@ var/list/name_to_material stack_type = /obj/item/stack/sheet/mineral/iron icon_colour = "#5C5454" +/material/wood + name = "wood" + stack_type = /obj/item/stack/sheet/wood + icon_colour = "#824B28" + integrity = 25 + icon_base = "solid" + explosion_resistance = 2 + /material/cult name = "cult" display_name = "disturbing stone" @@ -167,4 +175,4 @@ var/list/name_to_material display_name = "human remains" /material/cult/reinf/place_dismantled_product(var/turf/target) - new /obj/effect/decal/remains/human(target) + new /obj/effect/decal/remains/human(target) \ No newline at end of file diff --git a/code/modules/mob/living/silicon/robot/drone/drone_items.dm b/code/modules/mob/living/silicon/robot/drone/drone_items.dm index 5634cda9b6..7452514f17 100644 --- a/code/modules/mob/living/silicon/robot/drone/drone_items.dm +++ b/code/modules/mob/living/silicon/robot/drone/drone_items.dm @@ -17,8 +17,6 @@ /obj/item/weapon/module/power_control, /obj/item/weapon/stock_parts, /obj/item/frame, - /obj/item/weapon/table_parts, - /obj/item/weapon/table_parts/rack, /obj/item/weapon/camera_assembly, /obj/item/weapon/tank, /obj/item/weapon/circuitboard, diff --git a/code/modules/mob/living/simple_animal/hostile/hostile.dm b/code/modules/mob/living/simple_animal/hostile/hostile.dm index cc58a7ce1c..c04857e972 100644 --- a/code/modules/mob/living/simple_animal/hostile/hostile.dm +++ b/code/modules/mob/living/simple_animal/hostile/hostile.dm @@ -238,7 +238,7 @@ D.Open() else if(istype(A,/obj/structure/cult/pylon)) A.attack_generic(src, rand(melee_damage_lower, melee_damage_upper)) - else if(istype(A, /obj/structure/window) || istype(A, /obj/structure/closet) || istype(A, /obj/structure/table) || istype(A, /obj/structure/grille) || istype(A, /obj/structure/table/rack)) + else if(istype(A, /obj/structure/window) || istype(A, /obj/structure/closet) || istype(A, /obj/structure/table) || istype(A, /obj/structure/grille)) A.attack_generic(src, rand(melee_damage_lower, melee_damage_upper)) Move(T) FindTarget() diff --git a/code/modules/tables/flipping.dm b/code/modules/tables/flipping.dm new file mode 100644 index 0000000000..1714d390b4 --- /dev/null +++ b/code/modules/tables/flipping.dm @@ -0,0 +1,116 @@ + +/obj/structure/table/proc/straight_table_check(var/direction) + var/obj/structure/table/T + for(var/angle in list(-90,90)) + T = locate() in get_step(src.loc,turn(direction,angle)) + if(T && T.flipped == 0 && T.material == material) + return 0 + T = locate() in get_step(src.loc,direction) + if (!T || T.flipped == 1 || T.material != material) + return 1 + if(T.health > 100) + return 0 + return T.straight_table_check(direction) + +/obj/structure/table/verb/do_flip() + set name = "Flip table" + set desc = "Flips a non-reinforced table" + set category = "Object" + set src in oview(1) + + if (!can_touch(usr) || ismouse(usr)) + return + + if(flipped < 0 || !flip(get_cardinal_dir(usr,src))) + usr << "It won't budge." + return + + usr.visible_message("[usr] flips \the [src]!") + + if(climbable) + structure_shaken() + + return + +/obj/structure/table/proc/unflipping_check(var/direction) + + for(var/mob/M in oview(src,0)) + return 0 + + var/obj/occupied = turf_is_crowded() + if(occupied) + usr << "There's \a [occupied] in the way." + return 0 + + var/list/L = list() + if(direction) + L.Add(direction) + else + L.Add(turn(src.dir,-90)) + L.Add(turn(src.dir,90)) + for(var/new_dir in L) + var/obj/structure/table/T = locate() in get_step(src.loc,new_dir) + if(T && T.material == material) + if(T.flipped == 1 && T.dir == src.dir && !T.unflipping_check(new_dir)) + return 0 + return 1 + +/obj/structure/table/proc/do_put() + set name = "Put table back" + set desc = "Puts flipped table back" + set category = "Object" + set src in oview(1) + + if (!can_touch(usr)) + return + + if (!unflipping_check()) + usr << "It won't budge." + return + unflip() + +/obj/structure/table/proc/flip(var/direction) + if( !straight_table_check(turn(direction,90)) || !straight_table_check(turn(direction,-90)) ) + return 0 + + verbs -=/obj/structure/table/verb/do_flip + verbs +=/obj/structure/table/proc/do_put + + var/list/targets = list(get_step(src,dir),get_step(src,turn(dir, 45)),get_step(src,turn(dir, -45))) + for (var/atom/movable/A in get_turf(src)) + if (!A.anchored) + spawn(0) + A.throw_at(pick(targets),1,1) + + set_dir(direction) + if(dir != NORTH) + layer = 5 + climbable = 0 //flipping tables allows them to be used as makeshift barriers + flipped = 1 + flags |= ON_BORDER + for(var/D in list(turn(direction, 90), turn(direction, -90))) + var/obj/structure/table/T = locate() in get_step(src,D) + if(T && T.flipped == 0 && T.material == material && material) + T.flip(direction) + update_connections(1) + update_icon() + + return 1 + +/obj/structure/table/proc/unflip() + verbs -=/obj/structure/table/proc/do_put + verbs +=/obj/structure/table/verb/do_flip + + layer = initial(layer) + flipped = 0 + climbable = initial(climbable) + flags &= ~ON_BORDER + for(var/D in list(turn(dir, 90), turn(dir, -90))) + var/obj/structure/table/T = locate() in get_step(src.loc,D) + if(T && T.flipped == 1 && T.dir == src.dir && T.material == material && material) + T.unflip() + + update_connections(1) + update_icon() + + return 1 \ No newline at end of file diff --git a/code/modules/tables/interactions.dm b/code/modules/tables/interactions.dm new file mode 100644 index 0000000000..4ada40596e --- /dev/null +++ b/code/modules/tables/interactions.dm @@ -0,0 +1,122 @@ + +/obj/structure/table/CanPass(atom/movable/mover, turf/target, height=0, air_group=0) + if(air_group || (height==0)) return 1 + if(istype(mover,/obj/item/projectile)) + return (check_cover(mover,target)) + if(istype(mover) && mover.checkpass(PASSTABLE)) + return 1 + if(locate(/obj/structure/table) in get_turf(mover)) + return 1 + if (flipped == 1) + if (get_dir(loc, target) == dir) + return !density + else + return 1 + return 0 + +//checks if projectile 'P' from turf 'from' can hit whatever is behind the table. Returns 1 if it can, 0 if bullet stops. +/obj/structure/table/proc/check_cover(obj/item/projectile/P, turf/from) + var/turf/cover + if(flipped==1) + cover = get_turf(src) + else if(flipped==0) + cover = get_step(loc, get_dir(from, loc)) + if(!cover) + return 1 + if (get_dist(P.starting, loc) <= 1) //Tables won't help you if people are THIS close + return 1 + if (get_turf(P.original) == cover) + var/chance = 20 + if (ismob(P.original)) + var/mob/M = P.original + if (M.lying) + chance += 20 //Lying down lets you catch less bullets + if(flipped==1) + if(get_dir(loc, from) == dir) //Flipped tables catch mroe bullets + chance += 20 + else + return 1 //But only from one side + if(prob(chance)) + health -= P.damage/2 + if (health > 0) + visible_message("[P] hits \the [src]!") + return 0 + else + visible_message("[src] breaks down!") + break_to_parts() + return 1 + return 1 + +/obj/structure/table/CheckExit(atom/movable/O as mob|obj, target as turf) + if(istype(O) && O.checkpass(PASSTABLE)) + return 1 + if (flipped==1) + if (get_dir(loc, target) == dir) + return !density + else + return 1 + return 1 + + +/obj/structure/table/MouseDrop_T(obj/O as obj, mob/user as mob) + + if ((!( istype(O, /obj/item/weapon) ) || user.get_active_hand() != O)) + return ..() + if(isrobot(user)) + return + user.drop_item() + if (O.loc != src.loc) + step(O, get_dir(O, src)) + return + + +/obj/structure/table/attackby(obj/item/W as obj, mob/user as mob) + if (!W) return + + // Handle harm intent grabbing/tabling. + if(istype(W, /obj/item/weapon/grab) && get_dist(src,user)<2) + var/obj/item/weapon/grab/G = W + if (istype(G.affecting, /mob/living)) + var/mob/living/M = G.affecting + if (G.state < 2) + if(user.a_intent == I_HURT) + if (prob(15)) M.Weaken(5) + M.apply_damage(8,def_zone = "head") + visible_message("[G.assailant] slams [G.affecting]'s face against \the [src]!") + playsound(src.loc, 'sound/weapons/tablehit1.ogg', 50, 1) + else + user << "You need a better grip to do that!" + return + else + G.affecting.loc = src.loc + G.affecting.Weaken(5) + visible_message("[G.assailant] puts [G.affecting] on \the [src].") + qdel(W) + return + + // Handle dismantling or placing things on the table from here on. + if(isrobot(user)) + return + + if(W.loc != user) // This should stop mounted modules ending up outside the module. + return + + if(istype(W, /obj/item/weapon/melee/energy/blade)) + var/datum/effect/effect/system/spark_spread/spark_system = new /datum/effect/effect/system/spark_spread() + spark_system.set_up(5, 0, src.loc) + spark_system.start() + playsound(src.loc, 'sound/weapons/blade1.ogg', 50, 1) + playsound(src.loc, "sparks", 50, 1) + user.visible_message("\The [src] was sliced apart by [user]!") + break_to_parts() + return + + if(!material) + user << "There's nothing to put \the [W] on! Try adding plating to \the [src] first." + return + + user.drop_item(src.loc) + return + +/obj/structure/table/attack_tk() // no telehulk sorry + return diff --git a/code/modules/tables/presets.dm b/code/modules/tables/presets.dm new file mode 100644 index 0000000000..481897c48d --- /dev/null +++ b/code/modules/tables/presets.dm @@ -0,0 +1,110 @@ +var/global/material/material_holographic_steel = null +var/global/material/material_holographic_wood = null + +/obj/structure/table + + standard + icon_state = "plain_preview" + color = "#666666" + New() + material = name_to_material[DEFAULT_WALL_MATERIAL] + ..() + + reinforced + icon_state = "reinf_preview" + color = "#666666" + New() + material = name_to_material[DEFAULT_WALL_MATERIAL] + reinforced = name_to_material[DEFAULT_WALL_MATERIAL] + ..() + + woodentable + icon_state = "plain_preview" + color = "#824B28" + New() + material = name_to_material["wood"] + ..() + + gamblingtable + icon_state = "gamble_preview" + New() + material = name_to_material["wood"] + carpeted = 1 + ..() + + glass + icon_state = "plain_preview" + color = "#00E1FF" + alpha = 77 // 0.3 * 255 + New() + material = name_to_material["glass"] + ..() + + holotable + icon_state = "holo_preview" + color = "#666666" + New() + if(!material_holographic_steel) + material_holographic_steel = new /material/steel + material_holographic_steel.stack_type = null // Tables with null-stacktype materials cannot be deconstructed + material = material_holographic_steel + ..() + + woodentable/holotable + icon_state = "holo_preview" + New() + if(!material_holographic_wood) + material_holographic_wood = new /material/wood + material_holographic_wood.stack_type = null // Tables with null-stacktype materials cannot be deconstructed + material = material_holographic_wood + ..() + +/* + +/obj/structure/table/holotable + name = "table" + desc = "A square piece of metal standing on four metal legs. It can not move." + icon = 'icons/obj/structures.dmi' + icon_state = "table" + density = 1 + anchored = 1.0 + layer = 2.8 + throwpass = 1 //You can throw objects over this, despite it's density. + +/obj/structure/table/holotable/attack_hand(mob/user as mob) + return // HOLOTABLE DOES NOT GIVE A FUCK + + +/obj/structure/table/holotable/attackby(obj/item/weapon/W as obj, mob/user as mob) + if (istype(W, /obj/item/weapon/wrench)) + user << "It's a holotable! There are no bolts!" + return + + if(isrobot(user)) + return + + ..() + +/obj/structure/table/woodentable/holotable + name = "table" + desc = "A square piece of wood standing on four wooden legs. It can not move." + icon = 'icons/obj/structures.dmi' + icon_state = "wood_table" + + +/obj/structure/table/rack/holorack + name = "rack" + desc = "Different from the Middle Ages version." + icon = 'icons/obj/objects.dmi' + icon_state = "rack" + +/obj/structure/table/rack/holorack/attack_hand(mob/user as mob) + return + +/obj/structure/table/rack/holorack/attackby(obj/item/weapon/W as obj, mob/user as mob) + if (istype(W, /obj/item/weapon/wrench)) + user << "It's a holorack! You can't unwrench it!" + return + + +*/ diff --git a/code/modules/tables/rack.dm b/code/modules/tables/rack.dm new file mode 100644 index 0000000000..bd3ee6ce55 --- /dev/null +++ b/code/modules/tables/rack.dm @@ -0,0 +1,26 @@ +/obj/structure/table/rack + name = "rack" + desc = "Different from the Middle Ages version." + icon = 'icons/obj/objects.dmi' + icon_state = "rack" + can_plate = 0 + can_reinforce = 0 + flipped = -1 + +/obj/structure/table/rack/New() + ..() + verbs -= /obj/structure/table/verb/do_flip + verbs -= /obj/structure/table/proc/do_put + +/obj/structure/table/rack/update_connections() + return + +/obj/structure/table/rack/update_desc() + return + +/obj/structure/table/rack/update_icon() + return + +/obj/structure/table/rack/holorack/dismantle(obj/item/weapon/wrench/W, mob/user) + user << "You cannot dismantle \the [src]." + return diff --git a/code/modules/tables/tables.dm b/code/modules/tables/tables.dm new file mode 100644 index 0000000000..1b389323f9 --- /dev/null +++ b/code/modules/tables/tables.dm @@ -0,0 +1,337 @@ + + +/obj/structure/table + name = "table frame" + icon = 'icons/obj/tables.dmi' + icon_state = "frame" + desc = "It's a table, for putting things on. Or standing on, if you really want to." + density = 1 + anchored = 1 + climbable = 1 + var/flipped = 0 + var/maxhealth = 10 + var/health = 10 + + // For racks. + var/can_reinforce = 1 + var/can_plate = 1 + + var/material/material = null + var/material/reinforced = null + + // Gambling tables. I'd prefer reinforced with carpet/felt/cloth/whatever, but AFAIK it's either harder or impossible to get /obj/item/stack/sheet of those. + // Convert if/when you can easily get stacks of these. + var/carpeted = 0 + + var/list/connections = list("nw0", "ne0", "sw0", "se0") + +/obj/structure/table/proc/update_material() + var/old_maxhealth = maxhealth + if(!material) + maxhealth = 10 + else + maxhealth = material.integrity / 2 + + if(reinforced) + maxhealth += reinforced.integrity / 2 + + health += maxhealth - old_maxhealth + +/obj/structure/table/New() + ..() + // One table per turf. + for(var/obj/structure/table/T in loc) + if(T != src) + // There's another table here that's not us, break to metal. + // break_to_parts calls qdel(src) + break_to_parts(full_return = 1) + return + +/obj/structure/table/initialize() + ..() + // reset color/alpha, since they're set for nice map previews + color = "#ffffff" + alpha = 255 + update_connections(1) + update_icon() + update_desc() + +/obj/structure/table/Destroy() + material = null + update_connections(1) // Update tables around us to ignore us (material=null forces no connections) + for(var/obj/structure/table/T in oview(src, 1)) + T.update_icon() + ..() + +/obj/structure/table/attackby(obj/item/weapon/W, mob/user) + + if(reinforced && istype(W, /obj/item/weapon/screwdriver)) + remove_reinforced(W, user) + if(!reinforced) + update_desc() + update_icon() + return 1 + + if(!reinforced && material && istype(W, /obj/item/weapon/wrench)) + remove_material(W, user) + if(!material) + update_connections(1) + update_icon() + return 1 + + if(!reinforced && !material && istype(W, /obj/item/weapon/wrench)) + dismantle(W, user) + return 1 + + if(!material && can_plate && istype(W, /obj/item/stack/sheet)) + material = common_material_add(W, user, "plat") + if(material) + update_connections(1) + update_icon() + return 1 + + return ..() + +/obj/structure/table/MouseDrop_T(obj/item/stack/sheet/what) + if(can_reinforce && isliving(usr) && (!usr.stat) && istype(what) && usr.get_active_hand() == what && Adjacent(usr)) + reinforce_table(what, usr) + else + return ..() + +/obj/structure/table/proc/reinforce_table(obj/item/stack/sheet/S, mob/user) + if(reinforced) + user << "\The [src] is already reinforced!" + return + + if(!can_reinforce) + user << "\The [src] cannot be reinforced!" + + reinforced = common_material_add(S, user, "reinforc") + if(reinforced) + update_desc() + update_icon() + +/obj/structure/table/proc/update_desc() + if(material) + name = "[material.display_name] table" + else + name = "table frame" + + if(reinforced) + name = "reinforced [name]" + desc = "[initial(desc)] This one seems to be reinforced with [reinforced.display_name]." + else + desc = initial(desc) + +// Returns the material to set the table to. +/obj/structure/table/proc/common_material_add(obj/item/stack/sheet/S, mob/user, verb) // Verb is actually verb without 'e' or 'ing', which is added. Works for 'plate'/'plating' and 'reinforce'/'reinforcing'. + var/material/M = name_to_material[S.sheettype] + if(!istype(M)) + user << "You cannot [verb]e \the [src] with \the [S]." + return null + user << "You begin [verb]ing \the [src] with [M.display_name]." + if(!do_after(user, 20) || !S.use(1)) + return null + user.visible_message("\The [user] [verb]es \the [src] with [M.display_name].", "You finish [verb]ing \the [src].") + return M + +// Returns the material to set the table to. +/obj/structure/table/proc/common_material_remove(mob/user, material/M, delay, what, type_holding) + if(!M.stack_type) + user << "You are unable to remove the [what] from this table!" + return M + + user.visible_message("\The [user] begins removing the [type_holding] holding \the [src]'s [M.display_name] [what] in place.", + "You begin removing the [type_holding] holding \the [src]'s [M.display_name] [what] in place.") + if(!do_after(user, 40)) + return M + user.visible_message("\The [user] removes the [M.display_name] [what] from \the [src].", + "You remove the [M.display_name] [what] from \the [src].") + new M.stack_type(src.loc) + return null + +/obj/structure/table/proc/remove_reinforced(obj/item/weapon/screwdriver/S, mob/user) + reinforced = common_material_remove(user, reinforced, 40, "reinforcements", "screws") + +/obj/structure/table/proc/remove_material(obj/item/weapon/wrench/W, mob/user) + material = common_material_remove(user, material, 20, "plating", "bolts") + +/obj/structure/table/proc/dismantle(obj/item/weapon/wrench/W, mob/user) + user.visible_message("\The [user] begins dismantling \the [src].", + "You begin dismantling \the [src].") + if(!do_after(user, 20)) + return + user.visible_message("\The [user] dismantles \the [src].", + "You dismantle \the [src].") + new /obj/item/stack/sheet/metal(src.loc) + +/obj/structure/table/proc/break_to_parts(full_return = 0) + if(reinforced && reinforced.stack_type && (full_return || prob(25))) + new reinforced.stack_type(src.loc) + if(material && material.stack_type && (full_return || prob(50))) + new material.stack_type(src.loc) + if(full_return || prob(50)) + new /obj/item/stack/sheet/metal(src.loc) + qdel(src) + return + +/obj/structure/table/update_icon() + if(flipped != 1) + icon_state = "blank" + overlays.Cut() + + // Base frame shape. Mostly done for glass/diamond tables, where this is visible. + for(var/n in connections) + overlays += n + + // Standard table image + if(material) + for(var/n in connections) + var/image/I = image(icon, "[material.icon_base]_[n]") + I.color = material.icon_colour + I.alpha = 255 * material.opacity + overlays += I + + // Reinforcements + if(reinforced) + for(var/n in connections) + var/image/I = image(icon, "[reinforced.icon_reinf]_[n]") + I.color = reinforced.icon_colour + I.alpha = 255 * reinforced.opacity + overlays += I + + if(carpeted) + for(var/n in connections) + overlays += "carpet_[n]" + else + overlays.Cut() + var/type = 0 + var/tabledirs = 0 + for(var/direction in list(turn(dir,90), turn(dir,-90)) ) + var/obj/structure/table/T = locate(/obj/structure/table ,get_step(src,direction)) + if (T && T.flipped == 1 && T.dir == src.dir && T.material == material) + type++ + tabledirs |= direction + + type = "[type]" + if (type=="1") + if (tabledirs & turn(dir,90)) + type += "-" + if (tabledirs & turn(dir,-90)) + type += "+" + + icon_state = "flip[type]" + if(material) + var/image/I = image(icon, "[material.icon_base]_flip[type]") + I.color = material.icon_colour + I.alpha = 255 * material.opacity + overlays += I + name = "[material.display_name] table" + else + name = "table frame" + + if(reinforced) + var/image/I = image(icon, "[reinforced.icon_reinf]_flip[type]") + I.color = reinforced.icon_colour + I.alpha = 255 * reinforced.opacity + overlays += I + + if(carpeted) + for(var/n in connections) + overlays += "carpet_flip[type]" + +// set propagate if you're updating a table that should update tables around it too, for example if it's a new table or something important has changed (like material). +/obj/structure/table/proc/update_connections(propagate=0) + if(!material) + connections = list("nw0", "ne0", "sw0", "se0") + + if(propagate) + for(var/obj/structure/table/T in oview(src, 1)) + T.update_connections() + return + + var/list/blocked_dirs = list() + for(var/obj/structure/window/W in get_turf(src)) + if(W.is_fulltile()) + connections = list("nw0", "ne0", "sw0", "se0") + return + blocked_dirs |= W.dir + + for(var/D in list(NORTH, SOUTH, EAST, WEST) - blocked_dirs) + var/turf/T = get_step(src, D) + for(var/obj/structure/window/W in T) + if(W.is_fulltile() || W.dir == reverse_dir[D]) + blocked_dirs |= D + break + else + if(W.dir != D) // it's off to the side + blocked_dirs |= W.dir|D // blocks the diagonal + + for(var/D in list(NORTHEAST, NORTHWEST, SOUTHEAST, SOUTHWEST) - blocked_dirs) + var/turf/T = get_step(src, D) + + for(var/obj/structure/window/W in T) + if(W.is_fulltile() || W.dir & reverse_dir[D]) + blocked_dirs |= D + break + + // Blocked cardinals block the adjacent diagonals too. Prevents weirdness with tables. + for(var/x in list(NORTH, SOUTH)) + for(var/y in list(EAST, WEST)) + if((x in blocked_dirs) || (y in blocked_dirs)) + blocked_dirs |= x|y + + var/list/connection_dirs = list() + + for(var/obj/structure/table/T in oview(src, 1)) + var/T_dir = get_dir(src, T) + if(T_dir in blocked_dirs) continue + if(material == T.material && flipped == T.flipped) + connection_dirs |= T_dir + if(propagate) + spawn(0) + T.update_connections() + T.update_icon() + + connections = dirs_to_corner_states(connection_dirs) + +#define CORNER_NONE 0 +#define CORNER_EASTWEST 1 +#define CORNER_DIAGONAL 2 +#define CORNER_NORTHSOUTH 4 + +/proc/dirs_to_corner_states(list/dirs) + if(!istype(dirs)) return + + var/NE = CORNER_NONE + var/NW = CORNER_NONE + var/SE = CORNER_NONE + var/SW = CORNER_NONE + + if(NORTH in dirs) + NE |= CORNER_NORTHSOUTH + NW |= CORNER_NORTHSOUTH + if(SOUTH in dirs) + SW |= CORNER_NORTHSOUTH + SE |= CORNER_NORTHSOUTH + if(EAST in dirs) + SE |= CORNER_EASTWEST + NE |= CORNER_EASTWEST + if(WEST in dirs) + NW |= CORNER_EASTWEST + SW |= CORNER_EASTWEST + if(NORTHWEST in dirs) + NW |= CORNER_DIAGONAL + if(NORTHEAST in dirs) + NE |= CORNER_DIAGONAL + if(SOUTHEAST in dirs) + SE |= CORNER_DIAGONAL + if(SOUTHWEST in dirs) + SW |= CORNER_DIAGONAL + + return list("ne[NE]", "se[SE]", "sw[SW]", "nw[NW]") + +#undef CORNER_NONE +#undef CORNER_EASTWEST +#undef CORNER_DIAGONAL +#undef CORNER_NORTHSOUTH \ No newline at end of file diff --git a/code/modules/tables/update_triggers.dm b/code/modules/tables/update_triggers.dm new file mode 100644 index 0000000000..a90e3eeb8a --- /dev/null +++ b/code/modules/tables/update_triggers.dm @@ -0,0 +1,22 @@ +/obj/structure/window/New() + ..() + for(var/obj/structure/table/T in view(src, 1)) + T.update_connections() + T.update_icon() + +/obj/structure/window/Destroy() + var/oldloc = loc + loc=null + for(var/obj/structure/table/T in view(oldloc, 1)) + T.update_connections() + T.update_icon() + loc=oldloc + ..() + +/obj/structure/window/Move() + var/oldloc = loc + . = ..() + if(loc != oldloc) + for(var/obj/structure/table/T in view(oldloc, 1) | view(loc, 1)) + T.update_connections() + T.update_icon() \ No newline at end of file diff --git a/icons/obj/tables.dmi b/icons/obj/tables.dmi new file mode 100644 index 0000000000000000000000000000000000000000..429969fc86234b2db96ea21c7d10196b9d4eead3 GIT binary patch literal 22339 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