diff --git a/baystation12.dme b/baystation12.dme index 60bf6591324..9491f9c9b5a 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -43,6 +43,10 @@ #define FILE_DIR "icons/obj/assemblies" #define FILE_DIR "icons/obj/atmospherics" #define FILE_DIR "icons/obj/clothing" +#define FILE_DIR "icons/obj/clothing/species" +#define FILE_DIR "icons/obj/clothing/species/skrell" +#define FILE_DIR "icons/obj/clothing/species/tajaran" +#define FILE_DIR "icons/obj/clothing/species/unathi" #define FILE_DIR "icons/obj/doors" #define FILE_DIR "icons/obj/flora" #define FILE_DIR "icons/obj/machines" @@ -602,6 +606,7 @@ #include "code\game\objects\items\devices\laserpointer.dm" #include "code\game\objects\items\devices\lightreplacer.dm" #include "code\game\objects\items\devices\megaphone.dm" +#include "code\game\objects\items\devices\modkit.dm" #include "code\game\objects\items\devices\multitool.dm" #include "code\game\objects\items\devices\paicard.dm" #include "code\game\objects\items\devices\pipe_freezer.dm" diff --git a/code/WorkInProgress/ZomgPonies/powerarmor/powerarmorcomponents.dm b/code/WorkInProgress/ZomgPonies/powerarmor/powerarmorcomponents.dm index b8a0ac5d459..4ba3c9ddb65 100644 --- a/code/WorkInProgress/ZomgPonies/powerarmor/powerarmorcomponents.dm +++ b/code/WorkInProgress/ZomgPonies/powerarmor/powerarmorcomponents.dm @@ -184,23 +184,23 @@ parent.helm.gas_transfer_coefficient = 0.01 parent.helm.permeability_coefficient = 0.02 parent.helm.cold_protection = HEAD - parent.helm.min_cold_protection_temperature = SPACE_HELMET_MIN_COLD_PROTECITON_TEMPERATURE + parent.helm.min_cold_protection_temperature = SPACE_HELMET_MIN_COLD_PROTECTION_TEMPERATURE parent.helm.heat_protection = HEAD - parent.helm.max_heat_protection_temperature = SPACE_HELMET_MAX_HEAT_PROTECITON_TEMPERATURE + parent.helm.max_heat_protection_temperature = SPACE_HELMET_MAX_HEAT_PROTECTION_TEMPERATURE if(parent.glovesrequired) parent.gloves.gas_transfer_coefficient = 0.01 parent.gloves.permeability_coefficient = 0.02 parent.gloves.cold_protection = HANDS - parent.gloves.min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECITON_TEMPERATURE + parent.gloves.min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE parent.gloves.heat_protection = HANDS - parent.gloves.max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECITON_TEMPERATURE + parent.gloves.max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECTION_TEMPERATURE if(parent.shoesrequired) parent.shoes.gas_transfer_coefficient = 0.01 parent.shoes.permeability_coefficient = 0.02 parent.shoes.cold_protection = FEET - parent.shoes.min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECITON_TEMPERATURE + parent.shoes.min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE parent.shoes.heat_protection = FEET - parent.shoes.max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECITON_TEMPERATURE + parent.shoes.max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECTION_TEMPERATURE sealed = 1 /obj/item/powerarmor/atmoseal/optional @@ -226,9 +226,9 @@ parent.helm.gas_transfer_coefficient = 0.01 parent.helm.permeability_coefficient = 0.02 parent.helm.cold_protection = HEAD - parent.helm.min_cold_protection_temperature = SPACE_HELMET_MIN_COLD_PROTECITON_TEMPERATURE + parent.helm.min_cold_protection_temperature = SPACE_HELMET_MIN_COLD_PROTECTION_TEMPERATURE parent.helm.heat_protection = HEAD - parent.helm.max_heat_protection_temperature = SPACE_HELMET_MAX_HEAT_PROTECITON_TEMPERATURE + parent.helm.max_heat_protection_temperature = SPACE_HELMET_MAX_HEAT_PROTECTION_TEMPERATURE user << "Helmet atmospheric seals engaged." if(manual) diff --git a/code/game/area/Space Station 13 areas.dm b/code/game/area/Space Station 13 areas.dm index 8efa687e484..c4cae42dad1 100644 --- a/code/game/area/Space Station 13 areas.dm +++ b/code/game/area/Space Station 13 areas.dm @@ -1176,7 +1176,7 @@ var/list/ghostteleportlocs = list() icon_state = "storage" /area/engine/hardsuitstorage - name = "\improper Engineering Equipment Storage" + name = "\improper Engineering Hardsuit Storage" icon_state = "storage" /area/engine/controlroom diff --git a/code/game/gamemodes/cult/cult_items.dm b/code/game/gamemodes/cult/cult_items.dm index a12f7dfadbe..25835e6ae92 100644 --- a/code/game/gamemodes/cult/cult_items.dm +++ b/code/game/gamemodes/cult/cult_items.dm @@ -37,7 +37,7 @@ flags = FPRINT|TABLEPASS|HEADCOVERSEYES armor = list(melee = 30, bullet = 10, laser = 5,energy = 5, bomb = 0, bio = 0, rad = 0) cold_protection = HEAD - min_cold_protection_temperature = SPACE_HELMET_MIN_COLD_PROTECITON_TEMPERATURE + min_cold_protection_temperature = SPACE_HELMET_MIN_COLD_PROTECTION_TEMPERATURE siemens_coefficient = 0 diff --git a/code/game/machinery/autolathe.dm b/code/game/machinery/autolathe.dm index 8e34f6bf496..6f302888a5d 100644 --- a/code/game/machinery/autolathe.dm +++ b/code/game/machinery/autolathe.dm @@ -160,8 +160,6 @@ var/global/list/autolathe_recipes_hidden = list( \ dat += " x[25]" if (max_multiplier>1) dat += " x[max_multiplier]" - else - dat += " [t.m_amt/coeff] m / [t.g_amt/coeff] g / [t.f_amt/coeff] f" dat += "
" user << browse("Autolathe Control Panel[dat]", "window=autolathe_regular") onclose(user, "autolathe_regular") @@ -186,7 +184,7 @@ var/global/list/autolathe_recipes_hidden = list( \ if (src.shocked) src.shock(user,50) - if (src.opened) + if (src.panel_open) wires_win(user,50) return diff --git a/code/game/machinery/constructable_frame.dm b/code/game/machinery/constructable_frame.dm index 52725ba63f8..92e76712e64 100644 --- a/code/game/machinery/constructable_frame.dm +++ b/code/game/machinery/constructable_frame.dm @@ -67,6 +67,17 @@ else user << "You need five length of cable to wire the frame." return + else if(istype(P, /obj/item/stack/sheet/glass)) + var/obj/item/stack/sheet/glass/G = P + if(G.amount<5) + user << "\red You do not have enough glass to build a display case." + return + G.use(5) + user << "\blue You add the glass to the frame." + playsound(get_turf(src), 'sound/items/Deconstruct.ogg', 50, 1) + new /obj/structure/displaycase_frame(src.loc) + del(src) + return if(istype(P, /obj/item/weapon/wrench)) playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1) user << "You dismantle the frame." diff --git a/code/game/machinery/doors/windowdoor.dm b/code/game/machinery/doors/windowdoor.dm index b46f14be572..d86e7d96b0a 100644 --- a/code/game/machinery/doors/windowdoor.dm +++ b/code/game/machinery/doors/windowdoor.dm @@ -6,20 +6,10 @@ var/base_state = "left" var/health = 150.0 //If you change this, consider changing ../door/window/brigdoor/ health at the bottom of this .dm file visible = 0.0 - use_power = 0 flags = ON_BORDER opacity = 0 var/obj/item/weapon/airlock_electronics/electronics = null explosion_resistance = 5 - air_properties_vary_with_direction = 1 - - -/obj/machinery/door/window/update_nearby_tiles(need_rebuild) - if(!air_master) return 0 - - air_master.mark_for_update(get_turf(src)) - - return 1 /obj/machinery/door/window/New() ..() @@ -27,54 +17,70 @@ if (src.req_access && src.req_access.len) src.icon_state = "[src.icon_state]" src.base_state = src.icon_state - + color = color_windows(src) return /obj/machinery/door/window/Destroy() density = 0 - playsound(src, "shatter", 70, 1) + if(health == 0) + playsound(src, "shatter", 70, 1) ..() + +/obj/machinery/door/window/proc/open_and_close() + open() + if(src.check_access(null)) + sleep(50) + else //secure doors close faster + sleep(20) + close() + /obj/machinery/door/window/Bumped(atom/movable/AM as mob|obj) + if( operating || !src.density ) + return if (!( ismob(AM) )) var/obj/machinery/bot/bot = AM if(istype(bot)) - if(density && src.check_access(bot.botcard)) - open() - sleep(50) - close() + if(src.check_access(bot.botcard)) + open_and_close() + else + flick(text("[]deny", src.base_state), src) else if(istype(AM, /obj/mecha)) var/obj/mecha/mecha = AM - if(density) - if(mecha.occupant && src.allowed(mecha.occupant)) - open() - sleep(50) - close() + if(mecha.occupant && src.allowed(mecha.occupant)) + open_and_close() + else + flick(text("[]deny", src.base_state), src) return if (!( ticker )) return - if (src.operating) - return - if (src.density && src.allowed(AM)) - open() - if(src.check_access(null)) - sleep(50) - else //secure doors close faster - sleep(20) - close() + var/mob/M = AM + if(!M.restrained()) + bumpopen(M) return -/obj/machinery/door/window/CanPass(atom/movable/mover, turf/target, height=0, air_group=0) +/obj/machinery/door/window/bumpopen(mob/user as mob) + if( operating || !src.density ) + return + src.add_fingerprint(user) + if(!src.requiresID()) + user = null + + if(allowed(user)) + open_and_close() + else + flick(text("[]deny", src.base_state), src) + return + +/obj/machinery/door/window/CanPass(atom/movable/mover, turf/target, height=0) if(istype(mover) && mover.checkpass(PASSGLASS)) return 1 if(get_dir(loc, target) == dir) //Make sure looking at appropriate border - if(air_group) return 0 return !density else return 1 - //used in the AStar algorithm to determinate if the turf the door is on is passable /obj/machinery/door/window/CanAStarPass(var/obj/item/weapon/card/id/ID, var/to_dir) return !density || (dir != to_dir) || check_access(ID) @@ -87,11 +93,17 @@ else return 1 -/obj/machinery/door/window/open() +/obj/machinery/door/window/open(var/forced=0) if (src.operating == 1) //doors can still open when emag-disabled return 0 if (!ticker) return 0 + if(!forced) + if(stat & NOPOWER) + return 0 + if(forced < 2) + if(emagged) + return 0 if(!src.operating) //in case of emag src.operating = 1 flick(text("[]opening", src.base_state), src) @@ -108,9 +120,15 @@ src.operating = 0 return 1 -/obj/machinery/door/window/close() +/obj/machinery/door/window/close(var/forced=0) if (src.operating) return 0 + if(!forced) + if(stat & NOPOWER) + return 0 + if(forced < 2) + if(emagged) + return 0 src.operating = 1 flick(text("[]closing", src.base_state), src) playsound(src.loc, 'sound/machines/windowdoor.ogg', 100, 1) @@ -121,7 +139,6 @@ // if(src.visible) // SetOpacity(1) //TODO: why is this here? Opaque windoors? ~Carn update_nearby_tiles() - sleep(10) src.operating = 0 @@ -130,40 +147,29 @@ /obj/machinery/door/window/proc/take_damage(var/damage) src.health = max(0, src.health - damage) if (src.health <= 0) - getFromPool(/obj/item/weapon/shard, loc) - var/obj/item/stack/cable_coil/CC = new /obj/item/stack/cable_coil(src.loc) - CC.amount = 2 - var/obj/item/weapon/airlock_electronics/ae - if(!electronics) - ae = new/obj/item/weapon/airlock_electronics( src.loc ) - if(!src.req_access) - src.check_access() - if(src.req_access.len) - ae.conf_access = src.req_access - else if (src.req_one_access.len) - ae.conf_access = src.req_one_access - ae.one_access = 1 - else - ae = electronics - electronics = null - ae.loc = src.loc - if(operating == -1) - ae.icon_state = "door_electronics_smoked" - operating = 0 + var/debris = list( + new /obj/item/weapon/shard(src.loc), + new /obj/item/weapon/shard(src.loc), + new /obj/item/stack/rods(src.loc, 2), + new /obj/item/stack/cable_coil(src.loc, 2) + ) + for(var/obj/fragment in debris) + transfer_fingerprints_to(fragment) src.density = 0 - del(src) + qdel(src) return /obj/machinery/door/window/bullet_act(var/obj/item/projectile/Proj) if(Proj.damage) - take_damage(round(Proj.damage / 2)) + if((Proj.damage_type == BRUTE || Proj.damage_type == BURN)) + take_damage(round(Proj.damage / 2)) ..() //When an object is thrown at the window /obj/machinery/door/window/hitby(AM as mob|obj) ..() - visible_message("\red The glass door was hit by [AM].", 1) + visible_message("\The [src] was hit by \the [AM].") var/tforce = 0 if(ismob(AM)) tforce = 40 @@ -174,113 +180,159 @@ //..() //Does this really need to be here twice? The parent proc doesn't even do anything yet. - Nodrak return -/obj/machinery/door/window/attack_ghost(mob/user as mob) +/obj/machinery/door/window/mech_melee_attack(obj/mecha/M) + if(M.damtype == "brute") + playsound(src.loc, 'sound/effects/Glasshit.ogg', 75, 1) + M.occupant_message("You hit [src].") + visible_message("[src] has been hit by [M.name].") + take_damage(M.force) return - + /obj/machinery/door/window/attack_ai(mob/user as mob) return src.attack_hand(user) -/obj/machinery/door/window/attack_paw(mob/user as mob) - if(istype(user, /mob/living/carbon/alien/humanoid)) - if(src.operating) - return - playsound(src.loc, 'sound/effects/Glasshit.ogg', 75, 1) - visible_message("\red [user] smashes against the [src.name].", 1) - if (src.health <= 0) - getFromPool(/obj/item/weapon/shard, loc) - var/obj/item/stack/cable_coil/CC = new /obj/item/stack/cable_coil(src.loc) - CC.amount = 2 - src.density = 0 - del(src) - else - return src.attack_hand(user) +/obj/machinery/door/window/proc/attack_generic(mob/user as mob, damage = 0) + if(src.operating) + return + playsound(src.loc, 'sound/effects/Glasshit.ogg', 75, 1) + user.visible_message("[user] smashes against the [src.name].", \ + "[user] smashes against the [src.name].") + take_damage(damage) +/obj/machinery/door/window/attack_alien(mob/living/user as mob) + if(islarva(user)) + return + attack_generic(user, 25) + +/obj/machinery/door/window/attack_animal(mob/living/user as mob) + if(!isanimal(user)) + return + var/mob/living/simple_animal/M = user + if(M.melee_damage_upper <= 0) + return + attack_generic(M, M.melee_damage_upper) + + +/obj/machinery/door/window/attack_slime(mob/living/carbon/slime/user as mob) + if(!user.is_adult) + return + attack_generic(user, 25) + +/obj/machinery/door/window/attack_paw(mob/user as mob) + return src.attack_hand(user) /obj/machinery/door/window/attack_hand(mob/user as mob) return src.attackby(user, user) -/obj/machinery/door/window/attack_animal(mob/user as mob) - if(!isanimal(user)) return - var/mob/living/simple_animal/M = user - if(M.melee_damage_upper <= 0) return - playsound(src.loc, 'sound/effects/Glasshit.ogg', 75, 1) - visible_message("\red [user] smashes against the [src.name].", 1) - take_damage(M.melee_damage_upper) - -/obj/machinery/door/window/attackby(obj/item/weapon/I as obj, mob/user as mob) +/obj/machinery/door/window/attackby(obj/item/weapon/I as obj, mob/living/user as mob) //If it's in the process of opening/closing, ignore the click - if (src.operating == 1) + if (src.operating) return + add_fingerprint(user) + //Emags and ninja swords? You may pass. if (src.density && (istype(I, /obj/item/weapon/card/emag)||istype(I, /obj/item/weapon/melee/energy/blade))) src.operating = -1 + flick("[src.base_state]spark", src) + sleep(6) + desc += "
Its access panel is smoking slightly." if(istype(I, /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, "sparks", 50, 1) playsound(src.loc, 'sound/weapons/blade1.ogg', 50, 1) - visible_message("\blue The glass door was sliced open by [user]!") - flick("[src.base_state]spark", src) - sleep(6) + visible_message(" The glass door was sliced open by [user]!") + open(2) + emagged = 1 + return 1 open() + emagged = 1 return 1 - //If it's emagged, crowbar can pry electronics out. - if (src.operating == -1 && istype(I, /obj/item/weapon/crowbar)) - playsound(src.loc, 'sound/items/Crowbar.ogg', 100, 1) - user.visible_message("[user] removes the electronics from the windoor.", "You start to remove electronics from the windoor.") - if (do_after(user,40)) - user << "\blue You removed the windoor electronics!" + if(istype(I, /obj/item/weapon/screwdriver)) + if(src.density || src.operating) + user << "You need to open the door to access the maintenance panel." + return + playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1) + src.p_open = !( src.p_open ) + user << "You [p_open ? "open":"close"] the maintenance panel of the [src.name]." + return - var/obj/structure/windoor_assembly/wa = new/obj/structure/windoor_assembly(src.loc) - if (istype(src, /obj/machinery/door/window/brigdoor)) - wa.secure = "secure_" - wa.name = "Secure Wired Windoor Assembly" + if(istype(I, /obj/item/weapon/crowbar)) + if(p_open && !src.density && !src.operating) + playsound(src.loc, 'sound/items/Crowbar.ogg', 100, 1) + user.visible_message("[user] removes the electronics from the [src.name].", \ + "You start to remove electronics from the [src.name].") + if(do_after(user,40)) + if(src.p_open && !src.density && !src.operating && src.loc) + var/obj/structure/windoor_assembly/WA = new /obj/structure/windoor_assembly(src.loc) + switch(base_state) + if("left") + WA.facing = "l" + if("right") + WA.facing = "r" + if("leftsecure") + WA.facing = "l" + WA.secure = 1 + if("rightsecure") + WA.facing = "r" + WA.secure = 1 + WA.anchored = 1 + WA.state= "02" + WA.dir = src.dir + WA.ini_dir = src.dir + WA.update_icon() + WA.created_name = src.name + + if(emagged) + user << "You discard the damaged electronics." + qdel(src) + return + + user << "You removed the airlock electronics!" + + var/obj/item/weapon/airlock_electronics/ae + if(!electronics) + ae = new/obj/item/weapon/airlock_electronics( src.loc ) + if(!src.req_access) + src.check_access() + if(src.req_access.len) + ae.conf_access = src.req_access + else if (src.req_one_access.len) + ae.conf_access = src.req_one_access + ae.one_access = 1 + else + ae = electronics + electronics = null + ae.loc = src.loc + + qdel(src) + return + + + //If windoor is unpowered, crowbar, fireaxe and armblade can force it. + if(istype(I, /obj/item/weapon/crowbar) || istype(I, /obj/item/weapon/twohanded/fireaxe)) + if(stat & NOPOWER) + if(src.density) + open(2) else - wa.name = "Wired Windoor Assembly" - if (src.base_state == "right" || src.base_state == "rightsecure") - wa.facing = "r" - wa.dir = src.dir - wa.state = "02" - wa.update_icon() - - var/obj/item/weapon/airlock_electronics/ae - if(!electronics) - ae = new/obj/item/weapon/airlock_electronics( src.loc ) - if(!src.req_access) - src.check_access() - if(src.req_access.len) - ae.conf_access = src.req_access - else if (src.req_one_access.len) - ae.conf_access = src.req_one_access - ae.one_access = 1 - else - ae = electronics - electronics = null - ae.loc = src.loc - ae.icon_state = "door_electronics_smoked" - - operating = 0 - del(src) + close(2) return //If it's a weapon, smash windoor. Unless it's an id card, agent card, ect.. then ignore it (Cards really shouldnt damage a door anyway) - if(src.density && istype(I, /obj/item/weapon) && !istype(I, /obj/item/weapon/card)) + if(src.density && istype(I, /obj/item/weapon) && !istype(I, /obj/item/weapon/card) ) + if( (I.flags&NOBLUDGEON) || !I.force ) + return + var/aforce = I.force playsound(src.loc, 'sound/effects/Glasshit.ogg', 75, 1) - visible_message("\red [src] was hit by [I].") - if (src.health <= 0) - getFromPool(/obj/item/weapon/shard, loc) - var/obj/item/stack/cable_coil/CC = new /obj/item/stack/cable_coil(src.loc) - CC.amount = 2 - src.density = 0 - del(src) + visible_message("\The [src] has been hit by [user] with [I].") + if(I.damtype == BURN || I.damtype == BRUTE) + take_damage(aforce) return - - src.add_fingerprint(user) if (!src.requiresID()) //don't care who they are or what they have, act as if they're NOTHING user = null @@ -299,11 +351,10 @@ /obj/machinery/door/window/brigdoor - name = "Secure Door" + name = "secure door" icon = 'icons/obj/doors/windoor.dmi' icon_state = "leftsecure" base_state = "leftsecure" - req_access = list(access_security) var/id = null health = 300.0 //Stronger doors for prison (regular window door health is 200) diff --git a/code/game/machinery/suit_storage_unit.dm b/code/game/machinery/suit_storage_unit.dm index 58e3378dca6..072cc4667b8 100644 --- a/code/game/machinery/suit_storage_unit.dm +++ b/code/game/machinery/suit_storage_unit.dm @@ -1047,16 +1047,9 @@ if(!target_species || !target_department) return - switch(target_species) - if("Human" || "Skrell") - if(helmet) helmet.species_restricted = list("exclude","Unathi","Tajaran","Diona","Vox") - if(suit) suit.species_restricted = list("exclude","Unathi","Tajaran","Diona","Vox") - if("Unathi") - if(helmet) helmet.species_restricted = list("Unathi") - if(suit) suit.species_restricted = list("Unathi") - if("Tajaran") - if(helmet) helmet.species_restricted = list("Tajaran") - if(suit) suit.species_restricted = list("Tajaran") + if(target_species) + if(helmet) helmet.refit_for_species(target_species) + if(suit) suit.refit_for_species(target_species) switch(target_department) if("Engineering") diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm index 84807103cae..2da84916a1d 100644 --- a/code/game/machinery/vending.dm +++ b/code/game/machinery/vending.dm @@ -1012,7 +1012,7 @@ /obj/machinery/vending/eva name = "Hardsuit Kits" desc = "Conversion kits for your alien hardsuit needs." - products = list(/obj/item/weapon/modkit/tajaran = 6, /obj/item/weapon/modkit/unathi = 6) + products = list(/obj/item/device/modkit = 6,/obj/item/device/modkit/tajaran = 6,/obj/item/device/modkit/unathi = 6) /obj/machinery/vending/sustenance diff --git a/code/game/mecha/combat/combat.dm b/code/game/mecha/combat/combat.dm index e9be41ae473..d9b26404cad 100644 --- a/code/game/mecha/combat/combat.dm +++ b/code/game/mecha/combat/combat.dm @@ -1,8 +1,5 @@ /obj/mecha/combat force = 30 - var/melee_cooldown = 10 - var/melee_can_hit = 1 - var/list/destroyable_obj = list(/obj/mecha, /obj/structure/window, /obj/structure/grille, /turf/simulated/wall) var/maxsize = 2 internal_damage_threshold = 50 maint_access = 0 @@ -11,232 +8,6 @@ damage_absorption = list("brute"=0.7,"fire"=1,"bullet"=0.7,"laser"=0.85,"energy"=1,"bomb"=0.8) var/am = "d3c2fbcadca903a41161ccc9df9cf948" -/* -/obj/mecha/combat/range_action(target as obj|mob|turf) - if(internal_damage&MECHA_INT_CONTROL_LOST) - target = pick(view(3,target)) - if(selected_weapon) - selected_weapon.fire(target) - return -*/ - -/obj/mecha/combat/melee_action(target as obj|mob|turf) - if(internal_damage&MECHA_INT_CONTROL_LOST) - target = safepick(oview(1,src)) - if(!melee_can_hit || !istype(target, /atom)) return - if(istype(target, /mob/living)) - var/mob/living/M = target - if(src.occupant.a_intent == "harm" && !istype(src,/obj/mecha/combat/gygax)) - playsound(src, 'sound/weapons/punch4.ogg', 50, 1) - if(damtype == "brute") - step_away(M,src,15) - /* - if(M.stat>1) - M.gib() - melee_can_hit = 0 - if(do_after(melee_cooldown)) - melee_can_hit = 1 - return - */ - if(istype(target, /mob/living/carbon/human)) - var/mob/living/carbon/human/H = target - // if (M.health <= 0) return - - var/datum/organ/external/temp = H.get_organ(pick("chest", "chest", "chest", "head")) - if(temp) - var/update = 0 - switch(damtype) - if("brute") - H.Paralyse(1) - update |= temp.take_damage(rand(force/2, force), 0) - if("fire") - update |= temp.take_damage(0, rand(force/2, force)) - if("tox") - if(H.reagents) - if(H.reagents.get_reagent_amount("carpotoxin") + force < force*2) - H.reagents.add_reagent("carpotoxin", force) - if(H.reagents.get_reagent_amount("cryptobiolin") + force < force*2) - H.reagents.add_reagent("cryptobiolin", force) - else - return - if(update) H.UpdateDamageIcon() - H.updatehealth() - - else - switch(damtype) - if("brute") - M.Paralyse(1) - M.take_overall_damage(rand(force/2, force)) - if("fire") - M.take_overall_damage(0, rand(force/2, force)) - if("tox") - if(M.reagents) - if(M.reagents.get_reagent_amount("carpotoxin") + force < force*2) - M.reagents.add_reagent("carpotoxin", force) - if(M.reagents.get_reagent_amount("cryptobiolin") + force < force*2) - M.reagents.add_reagent("cryptobiolin", force) - else - return - M.updatehealth() - src.occupant_message("You hit [target].") - src.visible_message("[src.name] hits [target].") - else - step_away(M,src) - src.occupant_message("You push [target] out of the way.") - src.visible_message("[src] pushes [target] out of the way.") - - melee_can_hit = 0 - if(do_after(melee_cooldown)) - melee_can_hit = 1 - return - - else - if(damtype == "brute") - for(var/target_type in src.destroyable_obj) - if(istype(target, target_type) && hascall(target, "attackby")) - src.occupant_message("You hit [target].") - src.visible_message("[src.name] hits [target]") - if(!istype(target, /turf/simulated/wall)) - target:attackby(src,src.occupant) - else if(prob(5)) - target:dismantle_wall(1) - src.occupant_message("\blue You smash through the wall.") - src.visible_message("[src.name] smashes through the wall") - playsound(src, 'sound/weapons/smash.ogg', 50, 1) - melee_can_hit = 0 - if(do_after(melee_cooldown)) - melee_can_hit = 1 - break - return - -/* -/obj/mecha/combat/proc/mega_shake(target) - if(!istype(target, /obj) && !istype(target, /mob)) return - if(istype(target, /mob)) - var/mob/M = target - M.Dizzy(3) - M.adjustBruteLoss(1) - M.updatehealth() - for (var/mob/V in viewers(src)) - V.show_message("[src.name] shakes [M] like a rag doll.") - return -*/ - -/* - if(energy>0 && can_move) - if(step(src,direction)) - can_move = 0 - spawn(step_in) can_move = 1 - if(overload) - energy = energy-2 - health-- - else - energy-- - return 1 - - return 0 -*/ -/* -/obj/mecha/combat/hear_talk(mob/M as mob, text) - ..() - if(am && M==occupant) - if(findtext(text,"")) - sam() - return - -/obj/mecha/combat/proc/sam() - if(am) - var/window = {" - - - - - -
-
- - -
-
- - - "} - occupant << browse(window, "window=sam;size=800x600;") - onclose(occupant, "sam", src) - return -*/ /obj/mecha/combat/moved_inside(var/mob/living/carbon/human/H as mob) if(..()) if(H.client) diff --git a/code/game/mecha/combat/gygax.dm b/code/game/mecha/combat/gygax.dm index ab30fab2269..2c723a2e530 100644 --- a/code/game/mecha/combat/gygax.dm +++ b/code/game/mecha/combat/gygax.dm @@ -16,7 +16,6 @@ internal_damage_threshold = 35 max_equip = 3 maxsize = 2 - force = 10 step_energy_drain = 3 /obj/mecha/combat/gygax/loaded/New() diff --git a/code/game/mecha/combat/honker.dm b/code/game/mecha/combat/honker.dm index 9fbc7eb67c4..9f68e36ba7b 100644 --- a/code/game/mecha/combat/honker.dm +++ b/code/game/mecha/combat/honker.dm @@ -26,16 +26,6 @@ ME.attach(src) return - - - -/obj/mecha/combat/honker/melee_action(target) - if(!melee_can_hit) - return - else if(istype(target, /mob)) - step_away(target,src,15) - return - /obj/mecha/combat/honker/get_stats_part() var/integrity = health/initial(health)*100 var/cell_charge = get_charge() diff --git a/code/game/mecha/mech_fabricator.dm b/code/game/mecha/mech_fabricator.dm index 1d3db77dcfa..72d77cd5a60 100644 --- a/code/game/mecha/mech_fabricator.dm +++ b/code/game/mecha/mech_fabricator.dm @@ -95,6 +95,16 @@ /obj/item/mecha_parts/part/durand_right_leg, /obj/item/mecha_parts/part/durand_armor ), + "Phazon"=list( + /obj/item/mecha_parts/chassis/phazon, + /obj/item/mecha_parts/part/phazon_torso, + /obj/item/mecha_parts/part/phazon_head, + /obj/item/mecha_parts/part/phazon_left_arm, + /obj/item/mecha_parts/part/phazon_right_arm, + /obj/item/mecha_parts/part/phazon_left_leg, + /obj/item/mecha_parts/part/phazon_right_leg, + /obj/item/mecha_parts/part/phazon_armor + ), "H.O.N.K"=list( /obj/item/mecha_parts/chassis/honker, /obj/item/mecha_parts/part/honker_torso, @@ -103,7 +113,7 @@ /obj/item/mecha_parts/part/honker_right_arm, /obj/item/mecha_parts/part/honker_left_leg, /obj/item/mecha_parts/part/honker_right_leg - ), + ), "Exosuit Equipment"=list( /obj/item/mecha_parts/mecha_equipment/tool/hydraulic_clamp, /obj/item/mecha_parts/mecha_equipment/tool/drill, diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index 57e62d7ef13..6a3f81c461c 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -18,6 +18,7 @@ unacidable = 1 //and no deleting hoomans inside layer = MOB_LAYER //icon draw layer infra_luminosity = 15 //byond implementation is bugged. + force = 5 var/initial_icon = null //Mech type for resetting icon. Only used for reskinning kits (see custom items) var/can_move = 1 var/mob/living/carbon/occupant = null @@ -71,6 +72,8 @@ var/stepsound = 'sound/mecha/mechturn.ogg' + var/melee_cooldown = 10 + var/melee_can_hit = 1 /obj/mecha/New() ..() @@ -226,12 +229,15 @@ /obj/mecha/proc/click_action(atom/target,mob/user) if(!src.occupant || src.occupant != user ) return - if(user.stat) return - if(state) - occupant_message("Maintenance protocols in effect") + if(user.stat || !user.canmove) + return + if(state) + occupant_message("Maintenance protocols in effect.") + return + if(!get_charge()) + return + if(src == target) return - if(!get_charge()) return - if(src == target) return var/dir_to_target = get_dir(src,target) if(dir_to_target && !(dir_to_target & src.dir))//wrong direction return @@ -239,17 +245,46 @@ target = safepick(view(3,target)) if(!target) return - if(get_dist(src, target)>1) + if(!target.Adjacent(src)) if(selected && selected.is_ranged()) selected.action(target) else if(selected && selected.is_melee()) selected.action(target) else - src.melee_action(target) + if(internal_damage&MECHA_INT_CONTROL_LOST) + target = safepick(oview(1,src)) + if(!melee_can_hit || !istype(target, /atom)) + return + target.mech_melee_attack(src) + melee_can_hit = 0 + if(do_after(melee_cooldown)) + melee_can_hit = 1 + return + +/obj/mecha/proc/mech_toxin_damage(mob/living/target) + playsound(src, 'sound/effects/spray2.ogg', 50, 1) + if(target.reagents) + if(target.reagents.get_reagent_amount("cryptobiolin") + force < force*2) + target.reagents.add_reagent("cryptobiolin", force/2) + if(target.reagents.get_reagent_amount("toxin") + force < force*2) + target.reagents.add_reagent("toxin", force/2.5) + + + +/atom/proc/mech_melee_attack(obj/mecha/M) return - -/obj/mecha/proc/melee_action(atom/target) +/obj/mecha/mech_melee_attack(obj/mecha/M) + if(M.damtype =="brute") + playsound(src, 'sound/weapons/punch4.ogg', 50, 1) + else if(M.damtype == "fire") + playsound(src, 'sound/items/Welder.ogg', 50, 1) + else + return + M.occupant_message("You hit [src].") + visible_message("[src] has been hit by [M.name].") + take_damage(M.force, damtype) + add_logs(M.occupant, src, "attacked", object=M, addition="(INTENT: [uppertext(M.occupant.a_intent)]) (DAMTYPE: [uppertext(M.damtype)])") return /obj/mecha/proc/range_action(atom/target) diff --git a/code/game/mecha/mecha_construction_paths.dm b/code/game/mecha/mecha_construction_paths.dm index 2a275f508d6..48662874413 100644 --- a/code/game/mecha/mecha_construction_paths.dm +++ b/code/game/mecha/mecha_construction_paths.dm @@ -1078,15 +1078,13 @@ feedback_inc("mecha_durand_created",1) return - /datum/construction/mecha/phazon_chassis - result = "/obj/mecha/combat/phazon" steps = list(list("key"=/obj/item/mecha_parts/part/phazon_torso),//1 - list("key"=/obj/item/mecha_parts/part/phazon_left_arm),//2 - list("key"=/obj/item/mecha_parts/part/phazon_right_arm),//3 - list("key"=/obj/item/mecha_parts/part/phazon_left_leg),//4 - list("key"=/obj/item/mecha_parts/part/phazon_right_leg),//5 - list("key"=/obj/item/mecha_parts/part/phazon_head) + list("key"=/obj/item/mecha_parts/part/phazon_head),//2 + list("key"=/obj/item/mecha_parts/part/phazon_left_arm),//3 + list("key"=/obj/item/mecha_parts/part/phazon_right_arm),//4 + list("key"=/obj/item/mecha_parts/part/phazon_left_leg),//5 + list("key"=/obj/item/mecha_parts/part/phazon_right_leg)//6 ) custom_action(step, atom/used_atom, mob/user) @@ -1098,8 +1096,302 @@ action(atom/used_atom,mob/user as mob) return check_all_steps(used_atom,user) + spawn_result(mob/user as mob) + var/obj/item/mecha_parts/chassis/const_holder = holder + const_holder.construct = new /datum/construction/reversible/mecha/phazon(const_holder) + const_holder.icon = 'icons/mecha/mech_construction.dmi' + const_holder.icon_state = "phazon0" + const_holder.density = 1 + spawn() + del src + return + +/datum/construction/reversible/mecha/phazon + result = "/obj/mecha/combat/phazon" + steps = list( + //1 + list("key"=/obj/item/weapon/weldingtool, + "backkey"=/obj/item/weapon/wrench, + "desc"="External armor is wrenched."), + //2 + list("key"=/obj/item/weapon/wrench, + "backkey"=/obj/item/weapon/crowbar, + "desc"="External armor is installed."), + //3 + list("key"=/obj/item/mecha_parts/part/phazon_armor, + "backkey"=/obj/item/weapon/weldingtool, + "desc"="Phase armor is welded."), + //4 + list("key"=/obj/item/weapon/weldingtool, + "backkey"=/obj/item/weapon/wrench, + "desc"="Phase armor is wrenched."), + //5 + list("key"=/obj/item/weapon/wrench, + "backkey"=/obj/item/weapon/crowbar, + "desc"="Phase armor is installed."), + //6 + list("key"=/obj/item/stack/sheet/plasteel, + "backkey"=/obj/item/weapon/screwdriver, + "desc"="The bluespace crystal is engaged."), + //7 + list("key"=/obj/item/weapon/screwdriver, + "backkey"=/obj/item/weapon/wirecutters, + "desc"="The bluespace crystal is connected."), + //8 + list("key"=/obj/item/stack/cable_coil, + "backkey"=/obj/item/weapon/crowbar, + "desc"="The bluespace crystal is installed."), + //9 + list("key"=/obj/item/bluespace_crystal, + "backkey"=/obj/item/weapon/screwdriver, + "desc"="Super capacitor is secured."), + //10 + list("key"=/obj/item/weapon/screwdriver, + "backkey"=/obj/item/weapon/crowbar, + "desc"="Super capacitor is installed."), + //11 + list("key"=/obj/item/weapon/stock_parts/capacitor/super, + "backkey"=/obj/item/weapon/screwdriver, + "desc"="Phasic scanner module is secured."), + //12 + list("key"=/obj/item/weapon/screwdriver, + "backkey"=/obj/item/weapon/crowbar, + "desc"="Phasic scanner module is installed."), + //13 + list("key"=/obj/item/weapon/stock_parts/scanning_module/phasic, + "backkey"=/obj/item/weapon/screwdriver, + "desc"="Scanning module is secured."), + //14 + list("key"=/obj/item/weapon/screwdriver, + "backkey"=/obj/item/weapon/crowbar, + "desc"="Scanning module is installed."), + //15 + list("key"=/obj/item/weapon/circuitboard/mecha/phazon/targeting, + "backkey"=/obj/item/weapon/screwdriver, + "desc"="Peripherals control module is secured."), + //16 + list("key"=/obj/item/weapon/screwdriver, + "backkey"=/obj/item/weapon/crowbar, + "desc"="Peripherals control module is installed"), + //17 + list("key"=/obj/item/weapon/circuitboard/mecha/phazon/peripherals, + "backkey"=/obj/item/weapon/screwdriver, + "desc"="Central control module is secured."), + //18 + list("key"=/obj/item/weapon/screwdriver, + "backkey"=/obj/item/weapon/crowbar, + "desc"="Central control module is installed."), + //19 + list("key"=/obj/item/weapon/circuitboard/mecha/phazon/main, + "backkey"=/obj/item/weapon/screwdriver, + "desc"="The wiring is adjusted."), + //20 + list("key"=/obj/item/weapon/wirecutters, + "backkey"=/obj/item/weapon/screwdriver, + "desc"="The wiring is added."), + //21 + list("key"=/obj/item/stack/cable_coil, + "backkey"=/obj/item/weapon/screwdriver, + "desc"="The hydraulic systems are active."), + //22 + list("key"=/obj/item/weapon/screwdriver, + "backkey"=/obj/item/weapon/wrench, + "desc"="The hydraulic systems are connected."), + //23 + list("key"=/obj/item/weapon/wrench, + "desc"="The hydraulic systems are disconnected.") + ) +/datum/construction/reversible/mecha/phazon/action(atom/used_atom,mob/user as mob) + return check_step(used_atom,user) + +/datum/construction/reversible/mecha/phazon/custom_action(index, diff, atom/used_atom, mob/user) + if(!..()) + return 0 + + //TODO: better messages. + switch(index) + if(23) + user.visible_message("[user] connects the [holder] hydraulic systems", "You connect the [holder] hydraulic systems.") + holder.icon_state = "phazon1" + if(22) + if(diff==FORWARD) + user.visible_message("[user] activates the [holder] hydraulic systems.", "You activate the [holder] hydraulic systems.") + holder.icon_state = "phazon2" + else + user.visible_message("[user] disconnects the [holder] hydraulic systems", "You disconnect the [holder] hydraulic systems.") + holder.icon_state = "phazon0" + if(21) + if(diff==FORWARD) + user.visible_message("[user] adds the wiring to the [holder].", "You add the wiring to the [holder].") + holder.icon_state = "phazon3" + else + user.visible_message("[user] deactivates the [holder] hydraulic systems.", "You deactivate the [holder] hydraulic systems.") + holder.icon_state = "phazon1" + if(20) + if(diff==FORWARD) + user.visible_message("[user] adjusts the wiring of the [holder].", "You adjust the wiring of the [holder].") + holder.icon_state = "phazon4" + else + user.visible_message("[user] removes the wiring from the [holder].", "You remove the wiring from the [holder].") + var/obj/item/stack/cable_coil/coil = new /obj/item/stack/cable_coil(get_turf(holder)) + coil.amount = 4 + holder.icon_state = "phazon2" + if(19) + if(diff==FORWARD) + user.visible_message("[user] installs the central control module into the [holder].", "You install the central computer mainboard into the [holder].") + qdel(used_atom) + holder.icon_state = "phazon5" + else + user.visible_message("[user] disconnects the wiring of the [holder].", "You disconnect the wiring of the [holder].") + holder.icon_state = "phazon3" + if(18) + if(diff==FORWARD) + user.visible_message("[user] secures the mainboard.", "You secure the mainboard.") + holder.icon_state = "phazon6" + else + user.visible_message("[user] removes the central control module from the [holder].", "You remove the central computer mainboard from the [holder].") + new /obj/item/weapon/circuitboard/mecha/phazon/main(get_turf(holder)) + holder.icon_state = "phazon4" + if(17) + if(diff==FORWARD) + user.visible_message("[user] installs the peripherals control module into the [holder].", "You install the peripherals control module into the [holder].") + qdel(used_atom) + holder.icon_state = "phazon7" + else + user.visible_message("[user] unfastens the mainboard.", "You unfasten the mainboard.") + holder.icon_state = "phazon5" + if(16) + if(diff==FORWARD) + user.visible_message("[user] secures the peripherals control module.", "You secure the peripherals control module.") + holder.icon_state = "phazon8" + else + user.visible_message("[user] removes the peripherals control module from the [holder].", "You remove the peripherals control module from the [holder].") + new /obj/item/weapon/circuitboard/mecha/phazon/peripherals(get_turf(holder)) + holder.icon_state = "phazon6" + if(15) + if(diff==FORWARD) + user.visible_message("[user] installs the weapon control module into the [holder].", "You install the weapon control module into the [holder].") + qdel(used_atom) + holder.icon_state = "phazon9" + else + user.visible_message("[user] unfastens the peripherals control module.", "You unfasten the peripherals control module.") + holder.icon_state = "phazon7" + if(14) + if(diff==FORWARD) + user.visible_message("[user] secures the weapon control module.", "You secure the weapon control module.") + holder.icon_state = "phazon10" + else + user.visible_message("[user] removes the weapon control module from the [holder].", "You remove the weapon control module from the [holder].") + new /obj/item/weapon/circuitboard/mecha/phazon/targeting(get_turf(holder)) + holder.icon_state = "phazon8" + if(13) + if(diff==FORWARD) + user.visible_message("[user] installs phasic scanner module to the [holder].", "You install phasic scanner module to the [holder].") + qdel(used_atom) + holder.icon_state = "phazon11" + else + user.visible_message("[user] unfastens the weapon control module.", "You unfasten the weapon control module.") + holder.icon_state = "phazon9" + if(12) + if(diff==FORWARD) + user.visible_message("[user] secures the phasic scanner module.", "You secure the phasic scanner module.") + holder.icon_state = "phazon12" + else + user.visible_message("[user] removes the phasic scanner module from the [holder].", "You remove the phasic scanner module from the [holder].") + new /obj/item/weapon/stock_parts/scanning_module/phasic(get_turf(holder)) + holder.icon_state = "phazon10" + if(11) + if(diff==FORWARD) + user.visible_message("[user] installs super capacitor to the [holder].", "You install super capacitor to the [holder].") + qdel(used_atom) + holder.icon_state = "phazon13" + else + user.visible_message("[user] unfastens the phasic scanner module.", "You unfasten the phasic scanner module.") + holder.icon_state = "phazon11" + if(10) + if(diff==FORWARD) + user.visible_message("[user] secures the super capacitor.", "You secure the super capacitor.") + holder.icon_state = "phazon14" + else + user.visible_message("[user] removes the super capacitor from the [holder].", "You remove the super capacitor from the [holder].") + new /obj/item/weapon/stock_parts/capacitor/super(get_turf(holder)) + holder.icon_state = "phazon12" + if(9) + if(diff==FORWARD) + user.visible_message("[user] installs the bluespace crystal.", "You install the bluespace crystal.") + qdel(used_atom) + holder.icon_state = "phazon15" + else + user.visible_message("[user] unsecures the super capacitor from the [holder].", "You unsecure the super capacitor from the [holder].") + holder.icon_state = "phazon13" + if(8) + if(diff==FORWARD) + user.visible_message("[user] connects the bluespace crystal.", "You connect the bluespace crystal.") + holder.icon_state = "phazon16" + else + user.visible_message("[user] removes the bluespace crystal from the [holder].", "You remove the bluespace crystal from the [holder].") + new /obj/item/bluespace_crystal(get_turf(holder)) + holder.icon_state = "phazon14" + if(7) + if(diff==FORWARD) + user.visible_message("[user] engages the bluespace crystal.", "You engage the bluespace crystal.") + holder.icon_state = "phazon17" + else + user.visible_message("[user] disconnects the bluespace crystal from the [holder].", "You disconnect the bluespace crystal from the [holder].") + holder.icon_state = "phazon15" + if(6) + if(diff==FORWARD) + user.visible_message("[user] installs the phase armor layer to the [holder].", "You install the phase armor layer to the [holder].") + holder.icon_state = "phazon18" + else + user.visible_message("[user] disengages the bluespace crystal.", "You disengage the bluespace crystal.") + holder.icon_state = "phazon16" + if(5) + if(diff==FORWARD) + user.visible_message("[user] secures the phase armor layer.", "You secure the phase armor layer.") + holder.icon_state = "phazon19" + else + user.visible_message("[user] pries the phase armor layer from the [holder].", "You pry the phase armor layer from the [holder].") + var/obj/item/stack/sheet/plasteel/MS = new /obj/item/stack/sheet/plasteel(get_turf(holder)) + MS.amount = 5 + holder.icon_state = "phazon17" + if(4) + if(diff==FORWARD) + user.visible_message("[user] welds the phase armor layer to the [holder].", "You weld the phase armor layer to the [holder].") + holder.icon_state = "phazon20" + else + user.visible_message("[user] unfastens the phase armor layer.", "You unfasten the phase armor layer.") + holder.icon_state = "phazon18" + if(3) + if(diff==FORWARD) + user.visible_message("[user] installs Phazon Armor Plates to the [holder].", "You install Phazon Armor Plates to the [holder].") + qdel(used_atom) + holder.icon_state = "phazon21" + else + user.visible_message("[user] cuts phase armor layer from the [holder].", "You cut the phase armor layer from the [holder].") + holder.icon_state = "phazon19" + if(2) + if(diff==FORWARD) + user.visible_message("[user] secures Phazon Armor Plates.", "You secure Phazon Armor Plates.") + holder.icon_state = "phazon22" + else + user.visible_message("[user] pries Phazon Armor Plates from the [holder].", "You pry Phazon Armor Plates from the [holder].") + new /obj/item/mecha_parts/part/phazon_armor(get_turf(holder)) + holder.icon_state = "phazon20" + if(1) + if(diff==FORWARD) + user.visible_message("[user] welds Phazon Armor Plates to the [holder].", "You weld Phazon Armor Plates to the [holder].") + else + user.visible_message("[user] unfastens Phazon Armor Plates.", "You unfasten Phazon Armor Plates.") + holder.icon_state = "phazon21" + return 1 + +/datum/construction/reversible/mecha/phazon/spawn_result() + ..() + feedback_inc("mecha_phazon_created",1) + return /datum/construction/mecha/odysseus_chassis steps = list(list("key"=/obj/item/mecha_parts/part/odysseus_torso),//1 diff --git a/code/game/mecha/mecha_parts.dm b/code/game/mecha/mecha_parts.dm index cb92361b7db..8880de21928 100644 --- a/code/game/mecha/mecha_parts.dm +++ b/code/game/mecha/mecha_parts.dm @@ -293,14 +293,14 @@ icon_state = "phazon_harness" construction_time = 300 construction_cost = list("metal"=35000,"glass"=10000,"plasma"=20000) - origin_tech = "programming=5;materials=7;bluespace=6;powerstorage=6" + origin_tech = "programming=5;materials=6;bluespace=5;powerstorage=5" /obj/item/mecha_parts/part/phazon_head name="Phazon Head" icon_state = "phazon_head" construction_time = 200 construction_cost = list("metal"=15000,"glass"=5000,"plasma"=10000) - origin_tech = "programming=4;materials=5;magnets=6" + origin_tech = "programming=4;materials=5;magnets=5" /obj/item/mecha_parts/part/phazon_left_arm name="Phazon Left Arm" @@ -330,9 +330,15 @@ construction_cost = list("metal"=20000,"plasma"=10000) origin_tech = "materials=5;bluespace=3;magnets=3" +/obj/item/mecha_parts/part/phazon_armor + name="Phazon armor" + desc="Phazon armor plates. They are layered with plasma to protect the pilot from the stress of phasing and have unusual properties." + icon_state = "phazon_armor" + construction_time = 300 + construction_cost = list("metal"=45000,"plasma"=30000) + origin_tech = "materials=6;bluespace=5;magnets=5" + ///////// Odysseus - - /obj/item/mecha_parts/chassis/odysseus name = "Odysseus Chassis" @@ -452,6 +458,22 @@ durand/main name = "Circuit board (Durand Central Control module)" icon_state = "mainboard" + + phazon + origin_tech = "programming=4" + + phazon/peripherals + name = "Circuit board (Phazon Peripherals Control module)" + icon_state = "mcontroller" + + phazon/targeting + name = "Circuit board (Phazon Weapon Control and Targeting module)" + icon_state = "mcontroller" + origin_tech = "programming=4;combat=4" + + phazon/main + name = "Circuit board (Phazon Central Control module)" + icon_state = "mainboard" honker origin_tech = "programming=4" diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index 06723250fa2..6dc91d0a18e 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -50,6 +50,7 @@ */ var/list/sprite_sheets = null var/icon_override = null //Used to override hardcoded clothing dmis in human clothing proc. + var/sprite_sheets_obj = null //Used to override hardcoded clothing inventory object dmis in human clothing proc. var/list/species_fit = null //This object has a different appearance when worn by these species /obj/item/Destroy() diff --git a/code/game/objects/items/bluespace_crystal.dm b/code/game/objects/items/bluespace_crystal.dm index ce9aac56064..a5586cf2dcf 100644 --- a/code/game/objects/items/bluespace_crystal.dm +++ b/code/game/objects/items/bluespace_crystal.dm @@ -5,7 +5,7 @@ icon = 'icons/obj/telescience.dmi' icon_state = "bluespace_crystal" w_class = 1 - origin_tech = "bluespace=4;materials=5" + origin_tech = "bluespace=4;materials=3" var/blink_range = 8 // The teleport range when crushed/thrown at someone. /obj/item/bluespace_crystal/New() diff --git a/code/game/objects/items/devices/modkit.dm b/code/game/objects/items/devices/modkit.dm index dd7c1231f45..26a0c066b01 100644 --- a/code/game/objects/items/devices/modkit.dm +++ b/code/game/objects/items/devices/modkit.dm @@ -7,14 +7,19 @@ desc = "A kit containing all the needed tools and parts to modify a hardsuit for another user." icon_state = "modkit" var/parts = MODKIT_FULL - var/list/target_species = list("Human","Skrell") + var/target_species = "Human" var/list/permitted_types = list( /obj/item/clothing/head/helmet/space/rig, /obj/item/clothing/suit/space/rig ) -/obj/item/device/modkit/afterattack(obj/O, mob/user as mob) +/obj/item/device/modkit/afterattack(obj/O, mob/user as mob, proximity) + if(!proximity) + return + + if (!target_species) + return //it shouldn't be null, okay? if(!parts) user << "This kit has no parts for this modification left." @@ -22,11 +27,21 @@ del(src) return - /* TODO: list comparison - if(istype(O,to_type)) - user << "[O] is already modified." + var/allowed = 0 + for (var/permitted_type in permitted_types) + if(istype(O, permitted_type)) + allowed = 1 + + var/obj/item/clothing/I = O + if (!istype(I) || !allowed) + user << "[src] is unable to modify that." + return + + var/excluding = ("exclude" in I.species_restricted) + var/in_list = (target_species in I.species_restricted) + if (excluding ^ in_list) + user << "[I] is already modified." return - */ if(!isturf(O.loc)) user << "[O] must be safely placed on the ground for modification." @@ -36,22 +51,27 @@ user.visible_message("\red [user] opens \the [src] and modifies \the [O].","\red You open \the [src] and modify \the [O].") - var/obj/item/clothing/I = O - if(istype(I)) - I.species_restricted = target_species.Copy() + I.refit_for_species(target_species) + + if (istype(I, /obj/item/clothing/head/helmet)) + parts &= ~MODKIT_HELMET + if (istype(I, /obj/item/clothing/suit)) + parts &= ~MODKIT_SUIT - parts-- if(!parts) user.drop_from_inventory(src) del(src) -/obj/item/device/modkit/tajaran - name = "tajaran hardsuit modification kit" - desc = "A kit containing all the needed tools and parts to modify a hardsuit for another user. This one looks like it's meant for Tajara." - target_species = list("Tajaran") - /obj/item/device/modkit/examine() ..() - usr << "It looks as though it modifies hardsuits to fit the following users:" - for(var/species in target_species) - usr << "- [species]" \ No newline at end of file + usr << "It looks as though it modifies hardsuits to fit [target_species] users." + +/obj/item/device/modkit/tajaran + name = "Tajaran hardsuit modification kit" + desc = "A kit containing all the needed tools and parts to modify a hardsuit for another user. This one looks like it's meant for Tajaran." + target_species = "Tajaran" + +/obj/item/device/modkit/unathi + name = "Unathi hardsuit modification kit" + desc = "A kit containing all the needed tools and parts to modify a hardsuit for another species. This one looks like it's meant for Unathi." + target_species = "Unathi" \ No newline at end of file diff --git a/code/game/objects/items/devices/radio/encryptionkey.dm b/code/game/objects/items/devices/radio/encryptionkey.dm index 3b21358bccb..5b6bd106d6c 100644 --- a/code/game/objects/items/devices/radio/encryptionkey.dm +++ b/code/game/objects/items/devices/radio/encryptionkey.dm @@ -1,7 +1,7 @@ /obj/item/device/encryptionkey/ - name = "Standard Encrpytion Key" - desc = "An encyption key for a radio headset. Has no special codes in it. WHY DOES IT EXIST? ASK NANOTRASEN." + name = "Standard Encryption Key" + desc = "An encyption key for a radio headset. Has no special codes in it." icon = 'icons/obj/radio.dmi' icon_state = "cypherkey" item_state = "" diff --git a/code/game/objects/items/stacks/rods.dm b/code/game/objects/items/stacks/rods.dm index a45b187d030..4414c3d8694 100644 --- a/code/game/objects/items/stacks/rods.dm +++ b/code/game/objects/items/stacks/rods.dm @@ -61,8 +61,8 @@ if (!do_after(usr, 10)) return - var /obj/structure/grille/Grille = getFromPool(/obj/structure/grille, usr.loc) + var /obj/structure/grille/F = new /obj/structure/grille/ ( usr.loc ) usr << "\blue You assemble a grille" - Grille.add_fingerprint(usr) + F.add_fingerprint(usr) use(2) return diff --git a/code/game/objects/structures.dm b/code/game/objects/structures.dm index d732b5b1b07..1f98e54cb75 100644 --- a/code/game/objects/structures.dm +++ b/code/game/objects/structures.dm @@ -25,6 +25,13 @@ /obj/structure/Destroy() if(hascall(src, "unbuckle")) src:unbuckle() + +/obj/structure/mech_melee_attack(obj/mecha/M) + if(M.damtype == "brute") + M.occupant_message("You hit [src].") + visible_message("[src] has been hit by [M.name].") + return 1 + return 0 /obj/structure/New() ..() diff --git a/code/game/objects/structures/displaycase.dm b/code/game/objects/structures/displaycase.dm index 2a475ed7be0..e477868a72e 100644 --- a/code/game/objects/structures/displaycase.dm +++ b/code/game/objects/structures/displaycase.dm @@ -1,23 +1,84 @@ +/obj/structure/displaycase_frame + name = "display case frame" + icon = 'icons/obj/stock_parts.dmi' + icon_state="box_glass" + var/obj/item/weapon/airlock_electronics/circuit = null + var/state=0 + +/obj/structure/displaycase_frame/attackby(obj/item/weapon/W as obj, mob/user as mob) + var/pstate=state + var/turf/T=get_turf(src) + switch(state) + if(0) + if(istype(W, /obj/item/weapon/airlock_electronics) && W:icon_state != "door_electronics_smoked") + user.drop_item() + circuit = W + circuit.loc = src + state++ + playsound(get_turf(src), 'sound/items/Screwdriver.ogg', 50, 1) + if(istype(W, /obj/item/weapon/crowbar)) + new /obj/machinery/constructable_frame/machine_frame(T) + new /obj/item/stack/sheet/glass(T) + del(src) + playsound(get_turf(src), 'sound/items/Crowbar.ogg', 50, 1) + return + + if(1) + if(isscrewdriver(W)) + var/obj/structure/displaycase/C=new(T) + if(circuit.one_access) + C.req_access = null + C.req_one_access = circuit.conf_access + else + C.req_access = circuit.conf_access + C.req_one_access = null + playsound(get_turf(src), 'sound/items/Screwdriver.ogg', 50, 1) + del(src) + return + if(istype(W, /obj/item/weapon/crowbar)) + circuit.loc=T + circuit=null + state-- + playsound(get_turf(src), 'sound/items/Crowbar.ogg', 50, 1) + if(pstate!=state) + pstate=state + update_icon() + +/obj/structure/displaycase_frame/update_icon() + switch(state) + if(1) + icon_state="box_glass_circuit" + else + icon_state="box_glass" + /obj/structure/displaycase - name = "Display Case" + name = "display case" icon = 'icons/obj/stationobjs.dmi' icon_state = "glassbox20" desc = "A display case for prized possessions. It taunts you to kick it." density = 1 anchored = 1 - unacidable = 1//Dissolving the case would also delete the gun. + unacidable = 1//Dissolving the case would also delete the contents. var/health = 30 var/obj/item/occupant = null var/destroyed = 0 var/locked = 0 - var/ue=null - var/image/occupant_overlay=null + var/ue = null + var/image/occupant_overlay = null + var/obj/item/weapon/airlock_electronics/circuit + +/obj/structure/displaycase/captains_laser + name = "captain's display case" + desc = "A display case for the captain's antique laser gun. It taunts you to kick it." /obj/structure/displaycase/captains_laser/New() - occupant=new /obj/item/weapon/gun/energy/laser/captain(src) - locked=1 - req_access=list(access_captain) + req_access = list(access_captain) + occupant = new /obj/item/weapon/gun/energy/laser/captain(src) + locked = 1 update_icon() + +/obj/structure/proc/getPrint(mob/user as mob) + return md5(user:dna:uni_identity) /obj/structure/displaycase/examine() ..() @@ -28,8 +89,9 @@ usr << "Nothing." /obj/structure/displaycase/proc/dump() - occupant.loc=get_turf(src) - occupant=null + if(occupant) + occupant.loc=get_turf(src) + occupant=null occupant_overlay=null /obj/structure/displaycase/ex_act(severity) @@ -38,7 +100,7 @@ getFromPool(/obj/item/weapon/shard, loc) if (occupant) dump() - qdel(src) + del(src) if (2) if (prob(50)) src.health -= 15 @@ -78,7 +140,7 @@ playsound(get_turf(src), "shatter", 70, 1) update_icon() else - playsound(src.loc, 'sound/effects/Glasshit.ogg', 75, 1) + playsound(get_turf(src), 'sound/effects/Glasshit.ogg', 75, 1) return /obj/structure/displaycase/update_icon() @@ -93,8 +155,6 @@ occupant_overlay = image(occupant_icon) occupant_overlay.pixel_x=8 occupant_overlay.pixel_y=8 - //occupant_overlay.Shift(NORTH, 8) - //occupant_overlay.Shift(EAST, 8) if(locked) occupant_overlay.alpha=128//ChangeOpacity(0.5) //underlays += occupant_overlay @@ -115,6 +175,32 @@ user << "\icon[src] \blue You close \the [src] and swipe your card, locking it." update_icon() return + if(istype(W,/obj/item/weapon/crowbar) && (!locked || destroyed)) + user.visible_message("[user.name] pries \the [src] apart.", \ + "You pry \the [src] apart.", \ + "You hear something pop.") + var/turf/T=get_turf(src) + playsound(T, 'sound/items/Crowbar.ogg', 50, 1) + dump() + var/obj/item/weapon/airlock_electronics/C = circuit + if(!C) + C=new (src) + C.one_access=!(req_access && req_access.len>0) + if(!C.one_access) + C.conf_access=req_access + else + C.conf_access=req_one_access + if(!destroyed) + var/obj/structure/displaycase_frame/F=new(T) + F.state=1 + F.circuit=C + F.circuit.loc=F + F.update_icon() + else + C.loc=T + circuit=null + new /obj/machinery/constructable_frame/machine_frame(T) + del(src) if(user.a_intent == "harm") src.health -= W.force src.healthcheck() @@ -133,9 +219,6 @@ /obj/structure/displaycase/attack_paw(mob/user as mob) return src.attack_hand(user) -/obj/structure/displaycase/proc/getPrint(mob/user as mob) - return md5(user:dna:uni_identity) - /obj/structure/displaycase/attack_hand(mob/user as mob) if (destroyed) if(occupant) @@ -160,8 +243,8 @@ user << "\red Access denied." return - user << "\blue Your press your thumb against the fingerprint scanner, and deactivate the hover field built into the case." if(occupant) + user << "\blue Your press your thumb against the fingerprint scanner, and deactivate the hover field built into the case." dump() update_icon() else diff --git a/code/game/objects/structures/grille.dm b/code/game/objects/structures/grille.dm index 0ad7fb6f7c1..68e7f0e0efb 100644 --- a/code/game/objects/structures/grille.dm +++ b/code/game/objects/structures/grille.dm @@ -110,7 +110,12 @@ health -= M.melee_damage_upper healthcheck() return - + +/obj/structure/grille/mech_melee_attack(obj/mecha/M) + if(..()) + playsound(loc, 'sound/effects/grillehit.ogg', 80, 1) + health -= M.force * 0.5 + healthcheck() /obj/structure/grille/CanPass(atom/movable/mover, turf/target, height=0, air_group=0) if(air_group || (height==0)) return 1 diff --git a/code/game/objects/structures/windoor_assembly.dm b/code/game/objects/structures/windoor_assembly.dm index b571a869009..b9e5b2a34f6 100644 --- a/code/game/objects/structures/windoor_assembly.dm +++ b/code/game/objects/structures/windoor_assembly.dm @@ -1,18 +1,18 @@ /* Windoor (window door) assembly -Nodrak * Step 1: Create a windoor out of rglass - * Step 2: Add r-glass to the assembly to make a secure windoor (Optional) + * Step 2: Add plasteel to the assembly to make a secure windoor (Optional) * Step 3: Rotate or Flip the assembly to face and open the way you want * Step 4: Wrench the assembly in place * Step 5: Add cables to the assembly * Step 6: Set access for the door. - * Step 7: Screwdriver the door to complete + * Step 7: Crowbar the door to complete */ obj/structure/windoor_assembly icon = 'icons/obj/doors/windoor.dmi' - name = "Windoor Assembly" + name = "windoor Assembly" icon_state = "l_windoor_assembly01" anchored = 0 density = 0 @@ -20,12 +20,20 @@ obj/structure/windoor_assembly var/ini_dir var/obj/item/weapon/airlock_electronics/electronics = null + var/created_name = null //Vars to help with the icon's name var/facing = "l" //Does the windoor open to the left or right? - var/secure = "" //Whether or not this creates a secure windoor - var/state = "01" //How far the door assembly has progressed in terms of sprites + var/secure = 0 //Whether or not this creates a secure windoor + var/state = "01" //How far the door assembly has progressed +/obj/structure/windoor_assembly/proc/update_nearby_tiles(need_rebuild) + if(!air_master) return 0 + + air_master.mark_for_update(loc) + + return 1 + obj/structure/windoor_assembly/New(dir=NORTH) ..() src.ini_dir = src.dir @@ -37,13 +45,12 @@ obj/structure/windoor_assembly/Destroy() ..() /obj/structure/windoor_assembly/update_icon() - icon_state = "[facing]_[secure]windoor_assembly[state]" + icon_state = "[facing]_[secure ? "secure_" : ""]windoor_assembly[state]" -/obj/structure/windoor_assembly/CanPass(atom/movable/mover, turf/target, height=0, air_group=0) +/obj/structure/windoor_assembly/CanPass(atom/movable/mover, turf/target, height=0) if(istype(mover) && mover.checkpass(PASSGLASS)) return 1 if(get_dir(loc, target) == dir) //Make sure looking at appropriate border - if(air_group) return 0 return !density else return 1 @@ -59,38 +66,49 @@ obj/structure/windoor_assembly/Destroy() /obj/structure/windoor_assembly/attackby(obj/item/W as obj, mob/user as mob) //I really should have spread this out across more states but thin little windoors are hard to sprite. + add_fingerprint(user) switch(state) if("01") if(istype(W, /obj/item/weapon/weldingtool) && !anchored ) var/obj/item/weapon/weldingtool/WT = W if (WT.remove_fuel(0,user)) - user.visible_message("[user] dissassembles the windoor assembly.", "You start to dissassemble the windoor assembly.") + user.visible_message("[user] dissassembles the windoor assembly.", "You start to dissassemble the windoor assembly.") playsound(src.loc, 'sound/items/Welder2.ogg', 50, 1) if(do_after(user, 40)) if(!src || !WT.isOn()) return - user << "\blue You dissasembled the windoor assembly!" - new /obj/item/stack/sheet/rglass(get_turf(src), 5) + user << "You dissasembled the windoor assembly!" + var/obj/item/stack/sheet/rglass/RG = new (get_turf(src), 5) + RG.add_fingerprint(user) if(secure) - new /obj/item/stack/rods(get_turf(src), 4) - del(src) + var/obj/item/stack/rods/R = new (get_turf(src), 4) + R.add_fingerprint(user) + qdel(src) else - user << "\blue You need more welding fuel to dissassemble the windoor assembly." return //Wrenching an unsecure assembly anchors it in place. Step 4 complete if(istype(W, /obj/item/weapon/wrench) && !anchored) + for(var/obj/machinery/door/window/WD in src.loc) + if(WD.dir == src.dir) + user << "There is already a windoor in that location." + return playsound(src.loc, 'sound/items/Ratchet.ogg', 100, 1) user.visible_message("[user] secures the windoor assembly to the floor.", "You start to secure the windoor assembly to the floor.") if(do_after(user, 40)) - if(!src) return - user << "\blue You've secured the windoor assembly!" + if(!src || src.anchored) + return + for(var/obj/machinery/door/window/WD in src.loc) + if(WD.dir == src.dir) + user << "There is already a windoor in that location." + return + user << "You've secured the windoor assembly!" src.anchored = 1 if(src.secure) - src.name = "Secure Anchored Windoor Assembly" + src.name = "secure anchored windoor assembly" else - src.name = "Anchored Windoor Assembly" + src.name = "anchored windoor assembly" //Unwrenching an unsecure assembly un-anchors it. Step 4 undone else if(istype(W, /obj/item/weapon/wrench) && anchored) @@ -98,104 +116,122 @@ obj/structure/windoor_assembly/Destroy() user.visible_message("[user] unsecures the windoor assembly to the floor.", "You start to unsecure the windoor assembly to the floor.") if(do_after(user, 40)) - if(!src) return - user << "\blue You've unsecured the windoor assembly!" + if(!src || !src.anchored) + return + user << "You've unsecured the windoor assembly!" src.anchored = 0 if(src.secure) - src.name = "Secure Windoor Assembly" + src.name = "secure windoor assembly" else - src.name = "Windoor Assembly" + src.name = "windoor assembly" //Adding plasteel makes the assembly a secure windoor assembly. Step 2 (optional) complete. - else if(istype(W, /obj/item/stack/rods) && !secure) - var/obj/item/stack/rods/R = W - if(R.amount < 4) - user << "\red You need more rods to do this." + else if(istype(W, /obj/item/stack/sheet/plasteel) && !secure) + var/obj/item/stack/sheet/plasteel/P = W + if(P.amount < 2) + user << "You need more plasteel to do this." return - user << "\blue You start to reinforce the windoor with rods." + user << "You start to reinforce the windoor with plasteel." if(do_after(user,40)) - if(!src) return + if(!src || secure) + return - R.use(4) - user << "\blue You reinforce the windoor." - src.secure = "secure_" + P.use(2) + user << "You reinforce the windoor." + src.secure = 1 if(src.anchored) - src.name = "Secure Anchored Windoor Assembly" + src.name = "secure anchored windoor assembly" else - src.name = "Secure Windoor Assembly" + src.name = "secure windoor assembly" //Adding cable to the assembly. Step 5 complete. else if(istype(W, /obj/item/stack/cable_coil) && anchored) user.visible_message("[user] wires the windoor assembly.", "You start to wire the windoor assembly.") if(do_after(user, 40)) - if(!src) return + if(!src || !src.anchored || src.state != "01") + return var/obj/item/stack/cable_coil/CC = W CC.use(1) - user << "\blue You wire the windoor!" + user << "You wire the windoor!" src.state = "02" if(src.secure) - src.name = "Secure Wired Windoor Assembly" + src.name = "secure wired windoor assembly" else - src.name = "Wired Windoor Assembly" + src.name = "wired windoor assembly" else ..() if("02") //Removing wire from the assembly. Step 5 undone. - if(istype(W, /obj/item/weapon/wirecutters) && !src.electronics) + if(istype(W, /obj/item/weapon/wirecutters)) playsound(src.loc, 'sound/items/Wirecutter.ogg', 100, 1) user.visible_message("[user] cuts the wires from the airlock assembly.", "You start to cut the wires from airlock assembly.") if(do_after(user, 40)) - if(!src) return + if(!src || src.state != "02") + return - user << "\blue You cut the windoor wires.!" + user << "You cut the windoor wires!" new/obj/item/stack/cable_coil(get_turf(user), 1) src.state = "01" if(src.secure) - src.name = "Secure Anchored Windoor Assembly" + src.name = "secure anchored windoor assembly" else - src.name = "Anchored Windoor Assembly" + src.name = "anchored windoor assembly" //Adding airlock electronics for access. Step 6 complete. - else if(istype(W, /obj/item/weapon/airlock_electronics) && W:icon_state != "door_electronics_smoked") + else if(istype(W, /obj/item/weapon/airlock_electronics)) playsound(src.loc, 'sound/items/Screwdriver.ogg', 100, 1) user.visible_message("[user] installs the electronics into the airlock assembly.", "You start to install electronics into the airlock assembly.") + user.drop_item() + W.loc = src if(do_after(user, 40)) - if(!src) return - - user.drop_item() - W.loc = src - user << "\blue You've installed the airlock electronics!" - src.name = "Near finished Windoor Assembly" + if(!src || src.electronics) + W.loc = src.loc + return + user << "You've installed the airlock electronics!" + src.name = "near finished windoor assembly" src.electronics = W else W.loc = src.loc //Screwdriver to remove airlock electronics. Step 6 undone. - else if(istype(W, /obj/item/weapon/screwdriver) && src.electronics) + else if(istype(W, /obj/item/weapon/screwdriver)) + if(!electronics) + return + playsound(src.loc, 'sound/items/Screwdriver.ogg', 100, 1) user.visible_message("[user] removes the electronics from the airlock assembly.", "You start to uninstall electronics from the airlock assembly.") if(do_after(user, 40)) - if(!src || !src.electronics) return - user << "\blue You've removed the airlock electronics!" - if(src.secure) - src.name = "Secure Wired Windoor Assembly" - else - src.name = "Wired Windoor Assembly" - var/obj/item/weapon/airlock_electronics/ae = electronics + if(!src || !electronics) + return + user << "You've removed the airlock electronics!" + src.name = "wired windoor assembly" + var/obj/item/weapon/airlock_electronics/ae + ae = electronics electronics = null ae.loc = src.loc + else if(istype(W, /obj/item/weapon/pen)) + var/t = stripped_input(user, "Enter the name for the door.", src.name, src.created_name,MAX_NAME_LEN) + if(!t) + return + if(!in_range(src, usr) && src.loc != usr) + return + created_name = t + return + + + //Crowbar to complete the assembly, Step 7 complete. else if(istype(W, /obj/item/weapon/crowbar)) if(!src.electronics) - usr << "\red The assembly is missing electronics." + usr << "The assembly is missing electronics." return usr << browse(null, "window=windoor_access") playsound(src.loc, 'sound/items/Crowbar.ogg', 100, 1) @@ -203,50 +239,53 @@ obj/structure/windoor_assembly/Destroy() if(do_after(user, 40)) - if(!src) return + if(src.loc && src.electronics) + + density = 1 //Shouldn't matter but just incase + user << "You finish the windoor!" + + if(secure) + var/obj/machinery/door/window/brigdoor/windoor = new /obj/machinery/door/window/brigdoor(src.loc) + if(src.facing == "l") + windoor.icon_state = "leftsecureopen" + windoor.base_state = "leftsecure" + else + windoor.icon_state = "rightsecureopen" + windoor.base_state = "rightsecure" + windoor.dir = src.dir + windoor.density = 0 + + if(src.electronics.one_access) + windoor.req_one_access = src.electronics.conf_access + else + windoor.req_access = src.electronics.conf_access + windoor.electronics = src.electronics + src.electronics.loc = windoor + if(created_name) + windoor.name = created_name + windoor.close() - density = 1 //Shouldn't matter but just incase - user << "\blue You finish the windoor!" - if(secure) - var/obj/machinery/door/window/brigdoor/windoor = new /obj/machinery/door/window/brigdoor(src.loc) - if(src.facing == "l") - windoor.icon_state = "leftsecureopen" - windoor.base_state = "leftsecure" else - windoor.icon_state = "rightsecureopen" - windoor.base_state = "rightsecure" - windoor.dir = src.dir - windoor.density = 0 + var/obj/machinery/door/window/windoor = new /obj/machinery/door/window(src.loc) + if(src.facing == "l") + windoor.icon_state = "leftopen" + windoor.base_state = "left" + else + windoor.icon_state = "rightopen" + windoor.base_state = "right" + windoor.dir = src.dir + windoor.density = 0 - if(src.electronics.one_access) - windoor.req_access = null - windoor.req_one_access = src.electronics.conf_access - else windoor.req_access = src.electronics.conf_access - windoor.electronics = src.electronics - src.electronics.loc = windoor - else - var/obj/machinery/door/window/windoor = new /obj/machinery/door/window(src.loc) - if(src.facing == "l") - windoor.icon_state = "leftopen" - windoor.base_state = "left" - else - windoor.icon_state = "rightopen" - windoor.base_state = "right" - windoor.dir = src.dir - windoor.density = 0 - - if(src.electronics.one_access) - windoor.req_access = null - windoor.req_one_access = src.electronics.conf_access - else - windoor.req_access = src.electronics.conf_access - windoor.electronics = src.electronics - src.electronics.loc = windoor + windoor.electronics = src.electronics + src.electronics.loc = windoor + if(created_name) + windoor.name = created_name + windoor.close() - del(src) + qdel(src) else @@ -261,17 +300,18 @@ obj/structure/windoor_assembly/Destroy() set name = "Rotate Windoor Assembly" set category = "Object" set src in oview(1) - + if(usr.stat || !usr.canmove || usr.restrained()) + return if (src.anchored) usr << "It is fastened to the floor; therefore, you can't rotate it!" return 0 - if(src.state != "01") - update_nearby_tiles(need_rebuild=1) //Compel updates before + //if(src.state != "01") + //update_nearby_tiles(need_rebuild=1) //Compel updates before src.dir = turn(src.dir, 270) - if(src.state != "01") - update_nearby_tiles(need_rebuild=1) + //if(src.state != "01") + //update_nearby_tiles(need_rebuild=1) src.ini_dir = src.dir update_icon() @@ -282,6 +322,8 @@ obj/structure/windoor_assembly/Destroy() set name = "Flip Windoor Assembly" set category = "Object" set src in oview(1) + if(usr.stat || !usr.canmove || usr.restrained()) + return if(src.facing == "l") usr << "The windoor will now slide to the right." @@ -292,10 +334,3 @@ obj/structure/windoor_assembly/Destroy() update_icon() return - -/obj/structure/windoor_assembly/proc/update_nearby_tiles(need_rebuild) - if(!air_master) return 0 - - air_master.mark_for_update(loc) - - return 1 diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm index 8786b6ff3e9..5f6eb17013c 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/window.dm @@ -313,6 +313,11 @@ var/global/wcColored ..() return + +/obj/structure/window/mech_melee_attack(obj/mecha/M) + if(..()) + hit(M.force, 1) + /obj/structure/window/proc/hit(var/damage, var/sound_effect = 1) if(reinf) damage *= 0.5 health = max(0, health - damage) diff --git a/code/game/turfs/simulated/walls.dm b/code/game/turfs/simulated/walls.dm index e8dd96e844d..e7006c1d3fe 100644 --- a/code/game/turfs/simulated/walls.dm +++ b/code/game/turfs/simulated/walls.dm @@ -180,6 +180,17 @@ /turf/simulated/wall/blob_act() take_damage(rand(75, 125)) return + +/turf/simulated/wall/mech_melee_attack(obj/mecha/M) + if(M.damtype == "brute") + playsound(src, 'sound/weapons/punch4.ogg', 50, 1) + M.occupant_message("You hit [src].") + visible_message("[src] has been hit by [M.name].") + if(prob(5) && M.force > 20) + dismantle_wall(1) + M.occupant_message("You smash through the wall.") + visible_message("[src.name] smashes through the wall!") + playsound(src, 'sound/effects/meteorimpact.ogg', 100, 1) // Wall-rot effect, a nasty fungus that destroys walls. /turf/simulated/wall/proc/rot() @@ -265,8 +276,8 @@ /turf/simulated/wall/attack_hand(mob/user as mob) if (M_HULK in user.mutations) if (prob(40) || rotting) - usr << text("\blue You smash through the wall.") - usr.say(pick(";RAAAAAAAARGH!", ";HNNNNNNNNNGGGGGGH!", ";GWAAAAAAAARRRHHH!", "NNNNNNNNGGGGGGGGHH!", ";AAAAAAARRRGH!" )) + user << text("\blue You smash through the wall.") + user.say(pick(";RAAAAAAAARGH!", ";HNNNNNNNNNGGGGGGH!", ";GWAAAAAAAARRRHHH!", "NNNNNNNNGGGGGGGGHH!", ";AAAAAAARRRGH!" )) dismantle_wall(1) return else diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index 71a9f799e48..c786cec9c8d 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -2,6 +2,14 @@ name = "clothing" var/list/species_restricted = null //Only these species can wear this kit. + /* + Sprites used when the clothing item is refit. This is done by setting icon_override. + For best results, if this is set then sprite_sheets should be null and vice versa, but that is by no means necessary. + Ideally, sprite_sheets_refit should be used for "hard" clothing items that can't change shape very well to fit the wearer (e.g. helmets, hardsuits), + while sprite_sheets should be used for "flexible" clothing items that do not need to be refitted (e.g. vox wearing jumpsuits). + */ + var/list/sprite_sheets_refit = null + //BS12: Species-restricted clothing check. /obj/item/clothing/mob_can_equip(M as mob, slot) @@ -32,6 +40,25 @@ return 1 +/obj/item/clothing/proc/refit_for_species(var/target_species) + //Set species_restricted list + switch(target_species) + if("Human", "Skrell") //humanoid bodytypes + species_restricted = list("exclude","Unathi","Tajaran","Diona","Vox") + else + species_restricted = list(target_species) + + //Set icon + if (sprite_sheets && (target_species in sprite_sheets)) + icon_override = sprite_sheets[target_species] + else + icon_override = initial(icon_override) + + if (sprite_sheets_obj && (target_species in sprite_sheets_obj)) + icon = sprite_sheets_obj[target_species] + else + icon = initial(icon) + //Ears: currently only used for headsets and earmuffs /obj/item/clothing/ears name = "ears" @@ -214,7 +241,7 @@ BLIND // can't see anything armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 100, rad = 50) flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE cold_protection = HEAD - min_cold_protection_temperature = SPACE_HELMET_MIN_COLD_PROTECITON_TEMPERATURE + min_cold_protection_temperature = SPACE_HELMET_MIN_COLD_PROTECTION_TEMPERATURE siemens_coefficient = 0.9 species_restricted = list("exclude","Diona","Vox") loose = 0 // What kind of idiot designs a pressurized suit where the helmet can fall off? @@ -234,7 +261,7 @@ BLIND // can't see anything armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 100, rad = 50) flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT||HIDETAIL cold_protection = UPPER_TORSO | LOWER_TORSO | LEGS | FEET | ARMS | HANDS - min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECITON_TEMPERATURE + min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE siemens_coefficient = 0.9 species_restricted = list("exclude","Diona","Vox") diff --git a/code/modules/clothing/gloves/color.dm b/code/modules/clothing/gloves/color.dm index 27d736e0b32..d3c112b33de 100644 --- a/code/modules/clothing/gloves/color.dm +++ b/code/modules/clothing/gloves/color.dm @@ -41,9 +41,9 @@ "Vox" = 'icons/mob/species/vox/gloves.dmi' ) cold_protection = HANDS - min_cold_protection_temperature = GLOVES_MIN_COLD_PROTECITON_TEMPERATURE + min_cold_protection_temperature = GLOVES_MIN_COLD_PROTECTION_TEMPERATURE heat_protection = HANDS - max_heat_protection_temperature = GLOVES_MAX_HEAT_PROTECITON_TEMPERATURE + max_heat_protection_temperature = GLOVES_MAX_HEAT_PROTECTION_TEMPERATURE hos diff --git a/code/modules/clothing/gloves/miscellaneous.dm b/code/modules/clothing/gloves/miscellaneous.dm index 8739856e680..125d6795dc5 100644 --- a/code/modules/clothing/gloves/miscellaneous.dm +++ b/code/modules/clothing/gloves/miscellaneous.dm @@ -5,9 +5,9 @@ item_state = "egloves" _color = "captain" cold_protection = HANDS - min_cold_protection_temperature = GLOVES_MIN_COLD_PROTECITON_TEMPERATURE + min_cold_protection_temperature = GLOVES_MIN_COLD_PROTECTION_TEMPERATURE heat_protection = HANDS - max_heat_protection_temperature = GLOVES_MAX_HEAT_PROTECITON_TEMPERATURE + max_heat_protection_temperature = GLOVES_MAX_HEAT_PROTECTION_TEMPERATURE species_fit = list("Vox") sprite_sheets = list( "Vox" = 'icons/mob/species/vox/mask.dmi' @@ -31,9 +31,9 @@ permeability_coefficient = 0.05 cold_protection = HANDS - min_cold_protection_temperature = GLOVES_MIN_COLD_PROTECITON_TEMPERATURE + min_cold_protection_temperature = GLOVES_MIN_COLD_PROTECTION_TEMPERATURE heat_protection = HANDS - max_heat_protection_temperature = GLOVES_MAX_HEAT_PROTECITON_TEMPERATURE + max_heat_protection_temperature = GLOVES_MAX_HEAT_PROTECTION_TEMPERATURE species_fit = list("Vox") sprite_sheets = list( "Vox" = 'icons/mob/species/vox/mask.dmi' @@ -46,9 +46,9 @@ siemens_coefficient = 0 permeability_coefficient = 0.05 cold_protection = HANDS - min_cold_protection_temperature = GLOVES_MIN_COLD_PROTECITON_TEMPERATURE + min_cold_protection_temperature = GLOVES_MIN_COLD_PROTECTION_TEMPERATURE heat_protection = HANDS - max_heat_protection_temperature = GLOVES_MAX_HEAT_PROTECITON_TEMPERATURE + max_heat_protection_temperature = GLOVES_MAX_HEAT_PROTECTION_TEMPERATURE species_fit = list("Vox") sprite_sheets = list( "Vox" = 'icons/mob/species/vox/mask.dmi' diff --git a/code/modules/clothing/head/hardhat.dm b/code/modules/clothing/head/hardhat.dm index bcc5256e84a..fedb2d99819 100644 --- a/code/modules/clothing/head/hardhat.dm +++ b/code/modules/clothing/head/hardhat.dm @@ -50,7 +50,7 @@ name = "firefighter helmet" flags = FPRINT | TABLEPASS | STOPSPRESSUREDMAGE heat_protection = HEAD - max_heat_protection_temperature = FIRE_HELMET_MAX_HEAT_PROTECITON_TEMPERATURE + max_heat_protection_temperature = FIRE_HELMET_MAX_HEAT_PROTECTION_TEMPERATURE /obj/item/clothing/head/hardhat/white icon_state = "hardhat0_white" @@ -58,7 +58,7 @@ _color = "white" flags = FPRINT | TABLEPASS | STOPSPRESSUREDMAGE heat_protection = HEAD - max_heat_protection_temperature = FIRE_HELMET_MAX_HEAT_PROTECITON_TEMPERATURE + max_heat_protection_temperature = FIRE_HELMET_MAX_HEAT_PROTECTION_TEMPERATURE /obj/item/clothing/head/hardhat/dblue icon_state = "hardhat0_dblue" diff --git a/code/modules/clothing/head/helmet.dm b/code/modules/clothing/head/helmet.dm index 1ad17e9e971..be06580e417 100644 --- a/code/modules/clothing/head/helmet.dm +++ b/code/modules/clothing/head/helmet.dm @@ -7,9 +7,9 @@ armor = list(melee = 50, bullet = 15, laser = 50,energy = 10, bomb = 25, bio = 0, rad = 0) flags_inv = HIDEEARS|HIDEEYES cold_protection = HEAD - min_cold_protection_temperature = HELMET_MIN_COLD_PROTECITON_TEMPERATURE + min_cold_protection_temperature = HELMET_MIN_COLD_PROTECTION_TEMPERATURE heat_protection = HEAD - max_heat_protection_temperature = HELMET_MAX_HEAT_PROTECITON_TEMPERATURE + max_heat_protection_temperature = HELMET_MAX_HEAT_PROTECTION_TEMPERATURE siemens_coefficient = 0.7 loose = 4 // generally well seated @@ -74,7 +74,7 @@ armor = list(melee = 80, bullet = 60, laser = 50,energy = 25, bomb = 50, bio = 10, rad = 0) flags_inv = HIDEEARS|HIDEEYES cold_protection = HEAD - min_cold_protection_temperature = SPACE_HELMET_MIN_COLD_PROTECITON_TEMPERATURE + min_cold_protection_temperature = SPACE_HELMET_MIN_COLD_PROTECTION_TEMPERATURE siemens_coefficient = 0.5 /obj/item/clothing/head/helmet/swat/syndicate @@ -91,7 +91,7 @@ item_state = "thunderdome" armor = list(melee = 80, bullet = 60, laser = 50,energy = 10, bomb = 25, bio = 10, rad = 0) cold_protection = HEAD - min_cold_protection_temperature = SPACE_HELMET_MIN_COLD_PROTECITON_TEMPERATURE + min_cold_protection_temperature = SPACE_HELMET_MIN_COLD_PROTECTION_TEMPERATURE siemens_coefficient = 1 /obj/item/clothing/head/helmet/gladiator diff --git a/code/modules/clothing/head/jobs.dm b/code/modules/clothing/head/jobs.dm index f5c859e2382..3cec963429f 100644 --- a/code/modules/clothing/head/jobs.dm +++ b/code/modules/clothing/head/jobs.dm @@ -28,7 +28,7 @@ flags = FPRINT|TABLEPASS flags_inv = 0 cold_protection = HEAD - min_cold_protection_temperature = SPACE_HELMET_MIN_COLD_PROTECITON_TEMPERATURE + min_cold_protection_temperature = SPACE_HELMET_MIN_COLD_PROTECTION_TEMPERATURE siemens_coefficient = 0.9 loose = 17 diff --git a/code/modules/clothing/shoes/colour.dm b/code/modules/clothing/shoes/colour.dm index c0cbed23b59..ad1ebc9a96d 100644 --- a/code/modules/clothing/shoes/colour.dm +++ b/code/modules/clothing/shoes/colour.dm @@ -6,9 +6,9 @@ species_fit = list("Vox") cold_protection = FEET - min_cold_protection_temperature = SHOE_MIN_COLD_PROTECITON_TEMPERATURE + min_cold_protection_temperature = SHOE_MIN_COLD_PROTECTION_TEMPERATURE heat_protection = FEET - max_heat_protection_temperature = SHOE_MAX_HEAT_PROTECITON_TEMPERATURE + max_heat_protection_temperature = SHOE_MAX_HEAT_PROTECTION_TEMPERATURE redcoat _color = "redcoat" //Exists for washing machines. Is not different from black shoes in any way. diff --git a/code/modules/clothing/shoes/miscellaneous.dm b/code/modules/clothing/shoes/miscellaneous.dm index 9131797563d..f24c36371c4 100644 --- a/code/modules/clothing/shoes/miscellaneous.dm +++ b/code/modules/clothing/shoes/miscellaneous.dm @@ -36,9 +36,9 @@ siemens_coefficient = 0.6 cold_protection = FEET - min_cold_protection_temperature = SHOE_MIN_COLD_PROTECITON_TEMPERATURE + min_cold_protection_temperature = SHOE_MIN_COLD_PROTECTION_TEMPERATURE heat_protection = FEET - max_heat_protection_temperature = SHOE_MAX_HEAT_PROTECITON_TEMPERATURE + max_heat_protection_temperature = SHOE_MAX_HEAT_PROTECTION_TEMPERATURE /obj/item/clothing/shoes/space_ninja name = "ninja shoes" @@ -50,9 +50,9 @@ siemens_coefficient = 0.2 cold_protection = FEET - min_cold_protection_temperature = SHOE_MIN_COLD_PROTECITON_TEMPERATURE + min_cold_protection_temperature = SHOE_MIN_COLD_PROTECTION_TEMPERATURE heat_protection = FEET - max_heat_protection_temperature = SHOE_MAX_HEAT_PROTECITON_TEMPERATURE + max_heat_protection_temperature = SHOE_MAX_HEAT_PROTECTION_TEMPERATURE species_restricted = null /obj/item/clothing/shoes/sandal @@ -106,9 +106,9 @@ siemens_coefficient = 0.7 cold_protection = FEET - min_cold_protection_temperature = SHOE_MIN_COLD_PROTECITON_TEMPERATURE + min_cold_protection_temperature = SHOE_MIN_COLD_PROTECTION_TEMPERATURE heat_protection = FEET - max_heat_protection_temperature = SHOE_MAX_HEAT_PROTECITON_TEMPERATURE + max_heat_protection_temperature = SHOE_MAX_HEAT_PROTECTION_TEMPERATURE species_restricted = null /obj/item/clothing/shoes/cyborg diff --git a/code/modules/clothing/spacesuits/alien.dm b/code/modules/clothing/spacesuits/alien.dm index e3a4e2a25c4..51cf2a0903f 100644 --- a/code/modules/clothing/spacesuits/alien.dm +++ b/code/modules/clothing/spacesuits/alien.dm @@ -1,24 +1,9 @@ -// Tajaran rigs. -/obj/item/clothing/head/helmet/space/rig/tajara - desc = "A special helmet designed for work in a hazardous, low-pressure environment. Has radiation shielding. This one doesn't look like it was made for humans." - icon_state = "rig0-taj-helmet" - item_state = "rig0-taj-helmet" - _color = "taj-helmet" - species_restricted = list("Tajaran") - -/obj/item/clothing/suit/space/rig/tajara - desc = "A special suit that protects against hazardous, low pressure environments. Has radiation shielding. This one doesn't look like it was made for humans." - icon_state = "rig-taj" - item_state = "rig-taj" - _color = "rig-taj" - species_restricted = list("Tajaran") - //Skrell space gear. Sleek like a wetsuit. /obj/item/clothing/head/helmet/space/skrell name = "Skrellian helmet" desc = "Smoothly contoured and polished to a shine. Still looks like a fishbowl." armor = list(melee = 20, bullet = 20, laser = 50,energy = 50, bomb = 50, bio = 100, rad = 100) - max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECITON_TEMPERATURE + max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECTION_TEMPERATURE species_restricted = list("Skrell","Human") /obj/item/clothing/head/helmet/space/skrell/white @@ -37,7 +22,7 @@ armor = list(melee = 20, bullet = 20, laser = 50,energy = 50, bomb = 50, bio = 100, rad = 100) allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/weapon/storage/bag/ore,/obj/item/device/t_scanner,/obj/item/weapon/pickaxe, /obj/item/weapon/rcd) heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS - max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECITON_TEMPERATURE + max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECTION_TEMPERATURE species_restricted = list("Skrell","Human") /obj/item/clothing/suit/space/skrell/white @@ -50,6 +35,49 @@ item_state = "skrell_suit_black" _color = "skrell_suit_black" +//Unathi space gear. Huge and restrictive. +/obj/item/clothing/head/helmet/space/unathi + armor = list(melee = 40, bullet = 30, laser = 30,energy = 15, bomb = 35, bio = 100, rad = 50) + heat_protection = HEAD + max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECTION_TEMPERATURE + var/up = 0 //So Unathi helmets play nicely with the weldervision check. + species_restricted = list("Unathi") + +/obj/item/clothing/head/helmet/space/unathi/helmet_cheap + name = "NT breacher helmet" + desc = "Hey! Watch it with that thing! It's a knock-off of a Unathi battle-helm, and that spike could put someone's eye out." + icon_state = "unathi_helm_cheap" + item_state = "unathi_helm_cheap" + _color = "unathi_helm_cheap" + +/obj/item/clothing/suit/space/unathi + armor = list(melee = 40, bullet = 30, laser = 30,energy = 15, bomb = 35, bio = 100, rad = 50) + allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/weapon/storage/bag/ore,/obj/item/device/t_scanner,/obj/item/weapon/pickaxe, /obj/item/weapon/rcd) + heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS + max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECTION_TEMPERATURE + species_restricted = list("Unathi") + +/obj/item/clothing/suit/space/unathi/rig_cheap + name = "NT breacher chassis" + desc = "A cheap NT knock-off of a Unathi battle-rig. Looks like a fish, moves like a fish, steers like a cow." + icon_state = "rig-unathi-cheap" + item_state = "rig-unathi-cheap" + slowdown = 3 + +/obj/item/clothing/head/helmet/space/unathi/breacher + name = "breacher helm" + desc = "Weathered, ancient and battle-scarred. The helmet is too." + icon_state = "unathi_breacher" + item_state = "unathi_breacher" + _color = "unathi_breacher" + +/obj/item/clothing/suit/space/unathi/breacher + name = "breacher chassis" + desc = "Huge, bulky and absurdly heavy. It must be like wearing a tank." + icon_state = "unathi_breacher" + item_state = "unathi_breacher" + _color = "unathi_breacher" + slowdown = 1 // Vox space gear (vaccuum suit, low pressure armour) // Can't be equipped by any other species due to bone structure and vox cybernetics. @@ -58,8 +86,9 @@ allowed = list(/obj/item/weapon/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/melee/energy/sword,/obj/item/weapon/handcuffs,/obj/item/weapon/tank) slowdown = 2 armor = list(melee = 60, bullet = 50, laser = 30,energy = 15, bomb = 30, bio = 30, rad = 30) + siemens_coefficient = 0.6 heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS - max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECITON_TEMPERATURE + max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECTION_TEMPERATURE species_restricted = list("Vox", "Vox Armalis") sprite_sheets = list( "Vox" = 'icons/mob/species/vox/suit.dmi', @@ -68,6 +97,7 @@ /obj/item/clothing/head/helmet/space/vox armor = list(melee = 60, bullet = 50, laser = 30, energy = 15, bomb = 30, bio = 30, rad = 30) + siemens_coefficient = 0.6 flags = HEADCOVERSEYES|STOPSPRESSUREDMAGE species_restricted = list("Vox","Vox Armalis") sprite_sheets = list( @@ -92,6 +122,7 @@ icon_state = "vox-carapace" item_state = "vox-carapace" desc = "A glowing visor, perhaps stolen from a depressed Cylon." + body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS /obj/item/clothing/suit/space/vox/carapace name = "alien carapace armour" @@ -133,6 +164,7 @@ icon_state = "vox-casual-1" _color = "vox-casual-1" item_state = "vox-casual-1" + body_parts_covered = LEGS /obj/item/clothing/under/vox/vox_robes name = "alien robes" @@ -163,8 +195,7 @@ species_restricted = list("Vox","Vox Armalis") sprite_sheets = list( - "Vox" = 'icons/mob/species/vox/feet.dmi', - "Vox Armalis" = 'icons/mob/species/armalis/feet.dmi', + "Vox Armalis" = 'icons/mob/species/armalis/feet.dmi' ) action_button_name = "Toggle the magclaws" @@ -172,19 +203,20 @@ /obj/item/clothing/shoes/magboots/vox/attack_self(mob/user) if(src.magpulse) flags &= ~NOSLIP - slowdown = SHOES_SLOWDOWN magpulse = 0 canremove = 1 user << "You relax your deathgrip on the flooring." else //make sure these can only be used when equipped. - if (!is_equipped()) + if(!ishuman(user)) + return + var/mob/living/carbon/human/H = user + if (H.shoes != src) user << "You will have to put on the [src] before you can do that." return flags |= NOSLIP - slowdown = 2 magpulse = 1 canremove = 0 //kinda hard to take off magclaws when you are gripping them tightly. user << "You dig your claws deeply into the flooring, bracing yourself." @@ -204,76 +236,7 @@ ..() if (magpulse) usr << "It would be hard to take these off without relaxing your grip first." //theoretically this message should only be seen by the wearer when the claws are equipped. - -////////////////UNATHI///////////////////// - -/obj/item/clothing/suit/space/rig/unathi - icon_state = "rig-unathi-engineering" - item_state = "rig-unathi-engineering" - species_restricted = list("Unathi") - -/obj/item/clothing/suit/space/rig/security/unathi - icon_state = "rig-unathi-sec" - item_state = "rig-unathi-sec" - species_restricted = list("Unathi") - -/obj/item/clothing/head/helmet/space/rig/unathi - icon_state = "rig0-unathi-engineering" - item_state = "rig0-unathi-engineering" - species_restricted = list("Unathi") - -/obj/item/clothing/head/helmet/space/rig/security/unathi - icon_state = "rig0-unathi-sec" - item_state = "rig0-unathi-sec" - species_restricted = list("Unathi") - -//Unathi space gear. Huge and restrictive. -/obj/item/clothing/head/helmet/space/unathi - armor = list(melee = 40, bullet = 30, laser = 30,energy = 15, bomb = 35, bio = 100, rad = 50) - heat_protection = HEAD - max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECITON_TEMPERATURE - var/up = 0 //So Unathi helmets play nicely with the weldervision check. - species_restricted = list("Unathi") - -/obj/item/clothing/head/helmet/space/unathi/helmet_cheap - name = "NT breacher helmet" - desc = "Hey! Watch it with that thing! It's a knock-off of a Unathi battle-helm, and that spike could put someone's eye out." - icon_state = "unathi_helm_cheap" - item_state = "unathi_helm_cheap" - _color = "unathi_helm_cheap" - -/obj/item/clothing/suit/space/unathi - armor = list(melee = 40, bullet = 30, laser = 30,energy = 15, bomb = 35, bio = 100, rad = 50) - allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/weapon/storage/bag/ore,/obj/item/device/t_scanner,/obj/item/weapon/pickaxe, /obj/item/weapon/rcd) - heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS - max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECITON_TEMPERATURE - species_restricted = list("Unathi") - -/obj/item/clothing/suit/space/unathi/rig_cheap - name = "NT breacher chassis" - desc = "A cheap NT knock-off of a Unathi battle-rig. Looks like a fish, moves like a fish, steers like a cow." - icon_state = "rig-unathi-cheap" - item_state = "rig-unathi-cheap" - slowdown = 3 - -/obj/item/clothing/head/helmet/space/unathi/breacher - name = "breacher helm" - desc = "Weathered, ancient and battle-scarred. The helmet is too." - icon_state = "unathi_breacher" - item_state = "unathi_breacher" - _color = "unathi_breacher" - -/obj/item/clothing/suit/space/unathi/breacher - name = "breacher chassis" - desc = "Huge, bulky and absurdly heavy. It must be like wearing a tank." - icon_state = "unathi_breacher" - item_state = "unathi_breacher" - _color = "unathi_breacher" - slowdown = 1 - - -// PLASMEN SHIT -// CAN'T WEAR UNLESS YOU'RE A PINK SKELLINGTON + /obj/item/clothing/suit/space/plasmaman w_class = 3 allowed = list(/obj/item/weapon/gun,/obj/item/ammo_box/magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/melee/energy/sword,/obj/item/weapon/handcuffs,/obj/item/weapon/tank) @@ -282,7 +245,7 @@ heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT - max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECITON_TEMPERATURE + max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECTION_TEMPERATURE species_restricted = list("Plasmaman") flags = FPRINT | TABLEPASS | STOPSPRESSUREDMAGE | PLASMAGUARD @@ -323,4 +286,4 @@ if(on) user.SetLuminosity(user.luminosity - brightness_on) // user.UpdateLuminosity() - SetLuminosity(brightness_on) + SetLuminosity(brightness_on) \ No newline at end of file diff --git a/code/modules/clothing/spacesuits/captain.dm b/code/modules/clothing/spacesuits/captain.dm index a405d66a33f..62d21b3688d 100644 --- a/code/modules/clothing/spacesuits/captain.dm +++ b/code/modules/clothing/spacesuits/captain.dm @@ -25,5 +25,5 @@ armor = list(melee = 65, bullet = 50, laser = 50, energy = 25, bomb = 50, bio = 100, rad = 50) flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT||HIDETAIL cold_protection = UPPER_TORSO | LOWER_TORSO | LEGS | FEET | ARMS | HANDS - min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECITON_TEMPERATURE + min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE siemens_coefficient = 0.7 diff --git a/code/modules/clothing/spacesuits/miscellaneous.dm b/code/modules/clothing/spacesuits/miscellaneous.dm index d4aa7637bbd..08cadd66fc3 100644 --- a/code/modules/clothing/spacesuits/miscellaneous.dm +++ b/code/modules/clothing/spacesuits/miscellaneous.dm @@ -24,7 +24,7 @@ armor = list(melee = 65, bullet = 50, laser = 50, energy = 25, bomb = 50, bio = 100, rad = 50) flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT|HIDETAIL cold_protection = UPPER_TORSO | LOWER_TORSO | LEGS | FEET | ARMS | HANDS - min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECITON_TEMPERATURE + min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE siemens_coefficient = 0.7 //Deathsquad suit diff --git a/code/modules/clothing/spacesuits/rig.dm b/code/modules/clothing/spacesuits/rig.dm index 37eb0ddd00c..4c6fab3b472 100644 --- a/code/modules/clothing/spacesuits/rig.dm +++ b/code/modules/clothing/spacesuits/rig.dm @@ -1,89 +1,29 @@ -//Species modification item. - -/obj/item/weapon/modkit/tajaran - name = "tajaran hardsuit modification kit" - desc = "A kit containing all the needed tools and parts to modify a hardsuit for another species. This one looks like it's meant for Tajara." - icon = 'icons/obj/custom_items.dmi' - icon_state = "royce_kit" - -/obj/item/weapon/modkit/unathi - name = "Unathi hardsuit modification kit" - desc = "A kit containing all the needed tools and parts to modify a hardsuit for another species. This one looks like it's meant for Unathi." - icon = 'icons/obj/custom_items.dmi' - icon_state = "royce_kit" - -/obj/item/clothing/head/helmet/space/rig/attackby(obj/item/I as obj, mob/user as mob) - if(istype(I,/obj/item/weapon/modkit/tajaran)) - user.drop_item() - playsound(src.loc, 'sound/items/Screwdriver.ogg', 100, 1) - user << "\red You painstakingly modify [src] to make it more suitable for a Tajaran user." - new /obj/item/clothing/head/helmet/space/rig/tajara(user.loc) - del(I) - del(src) - return - if(istype(I,/obj/item/weapon/modkit/unathi)) - user.drop_item() - playsound(src.loc, 'sound/items/Screwdriver.ogg', 100, 1) - user << "\red You painstakingly modify [src] to make it more suitable for a Unathi user." - new /obj/item/clothing/head/helmet/space/rig/unathi(user.loc) - del(I) - del(src) - return - ..() - -/obj/item/clothing/suit/space/rig/attackby(obj/item/I as obj, mob/user as mob) - if(istype(I,/obj/item/weapon/modkit/tajaran)) - user.drop_item() - playsound(src.loc, 'sound/items/Screwdriver.ogg', 100, 1) - if(helmet) - helmet.loc = get_turf(src) - src.helmet = null - user << "\red You painstakingly modify [src] to make it more suitable for a Tajaran user. You pop the helmet on the floor" - else - user << "\red You painstakingly modify [src] to make it more suitable for a Tajaran user." - - new /obj/item/clothing/suit/space/rig/tajara(user.loc) - del(I) - del(src) - return - if(istype(I,/obj/item/weapon/modkit/unathi)) - user.drop_item() - playsound(src.loc, 'sound/items/Screwdriver.ogg', 100, 1) - if(helmet) - helmet.loc = get_turf(src) - src.helmet = null - user << "\red You painstakingly modify [src] to make it more suitable for a Unathi user. You pop the helmet on the floor" - else - user << "\red You painstakingly modify [src] to make it more suitable for a Unathi user." - - new /obj/item/clothing/suit/space/rig/unathi(user.loc) - del(I) - del(src) - return - ..() - - //Regular rig suits /obj/item/clothing/head/helmet/space/rig - name = "engineering hardsuit helmet" - desc = "A special helmet designed for work in a hazardous, low-pressure environment. Has radiation shielding." + name = "hardsuit helmet" + desc = "A special helmet designed for work in a hazardous, low-pressure environment." icon_state = "rig0-engineering" item_state = "eng_helm" - armor = list(melee = 40, bullet = 5, laser = 20,energy = 5, bomb = 35, bio = 100, rad = 80) + armor = list(melee = 40, bullet = 5, laser = 20,energy = 5, bomb = 35, bio = 100, rad = 20) allowed = list(/obj/item/device/flashlight) var/brightness_on = 4 //luminosity when on var/on = 0 _color = "engineering" //Determines used sprites: rig[on]-[color] and rig[on]-[color]2 (lying down sprite) icon_action_button = "action_hardhat" heat_protection = HEAD - max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECITON_TEMPERATURE + max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECTION_TEMPERATURE //Species-specific stuff. species_restricted = list("exclude","Unathi","Tajaran","Skrell","Diona","Vox") sprite_sheets = list( "Unathi" = 'icons/mob/species/unathi/helmet.dmi', "Tajaran" = 'icons/mob/species/tajaran/helmet.dmi', - "Skrell" = 'icons/mob/species/skrell/helmet.dmi' + "Skrell" = 'icons/mob/species/skrell/helmet.dmi', + ) + sprite_sheets_obj = list( + "Unathi" = 'icons/obj/clothing/species/unathi/hats.dmi', + "Tajaran" = 'icons/obj/clothing/species/tajaran/hats.dmi', + "Skrell" = 'icons/obj/clothing/species/skrell/hats.dmi', ) attack_self(mob/user) @@ -97,6 +37,10 @@ if(on) user.SetLuminosity(user.luminosity + brightness_on) else user.SetLuminosity(user.luminosity - brightness_on) + if(istype(user,/mob/living/carbon/human)) + var/mob/living/carbon/human/H = user + H.update_inv_head() + pickup(mob/user) if(on) user.SetLuminosity(user.luminosity + brightness_on) @@ -110,22 +54,26 @@ SetLuminosity(brightness_on) /obj/item/clothing/suit/space/rig - name = "engineering hardsuit" - desc = "A special suit that protects against hazardous, low pressure environments. Has radiation shielding." + name = "hardsuit" + desc = "A special space suit for environments that might pose hazards beyond just the vacuum of space. Provides more protection than a standard space suit." icon_state = "rig-engineering" item_state = "eng_hardsuit" slowdown = 1 - armor = list(melee = 30, bullet = 5, laser = 20,energy = 5, bomb = 35, bio = 100, rad = 80) - allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/storage/bag/ore,/obj/item/device/t_scanner,/obj/item/weapon/pickaxe, /obj/item/weapon/rcd) + armor = list(melee = 40, bullet = 5, laser = 20,energy = 5, bomb = 35, bio = 100, rad = 20) + allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit) heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS - max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECITON_TEMPERATURE - flags = FPRINT | TABLEPASS | STOPSPRESSUREDMAGE | ONESIZEFITSALL + max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECTION_TEMPERATURE species_restricted = list("exclude","Unathi","Tajaran","Diona","Vox") sprite_sheets = list( "Unathi" = 'icons/mob/species/unathi/suit.dmi', "Tajaran" = 'icons/mob/species/tajaran/suit.dmi', - "Skrell" = 'icons/mob/species/skrell/suit.dmi' + "Skrell" = 'icons/mob/species/skrell/suit.dmi', + ) + sprite_sheets_obj = list( + "Unathi" = 'icons/obj/clothing/species/unathi/suits.dmi', + "Tajaran" = 'icons/obj/clothing/species/tajaran/suits.dmi', + "Skrell" = 'icons/obj/clothing/species/skrell/suits.dmi', ) //Breach thresholds, should ideally be inherited by most (if not all) hardsuits. @@ -267,6 +215,7 @@ return //TODO: Species check, skull damage for forcing an unfitting helmet on? helmet.loc = H + helmet.pickup(H) H.equip_to_slot(helmet, slot_head) helmet.canremove = 0 H << "\blue You deploy your hardsuit helmet, sealing you off from the world." @@ -354,6 +303,23 @@ ..() +//Engineering rig +/obj/item/clothing/head/helmet/space/rig/engineering + name = "engineering hardsuit helmet" + desc = "A special helmet designed for work in a hazardous, low-pressure environment. Has radiation shielding." + icon_state = "rig0-engineering" + item_state = "eng_helm" + armor = list(melee = 40, bullet = 5, laser = 20,energy = 5, bomb = 35, bio = 100, rad = 80) + +/obj/item/clothing/suit/space/rig/engineering + name = "engineering hardsuit" + desc = "A special suit that protects against hazardous, low pressure environments. Has radiation shielding." + icon_state = "rig-engineering" + item_state = "eng_hardsuit" + slowdown = 1 + armor = list(melee = 40, bullet = 5, laser = 20,energy = 5, bomb = 35, bio = 100, rad = 80) + allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/storage/bag/ore,/obj/item/device/t_scanner,/obj/item/weapon/pickaxe, /obj/item/weapon/rcd) + //Chief Engineer's rig /obj/item/clothing/head/helmet/space/rig/elite name = "advanced hardsuit helmet" @@ -361,7 +327,6 @@ icon_state = "rig0-white" item_state = "ce_helm" _color = "white" - armor = list(melee = 40, bullet = 5, laser = 20,energy = 5, bomb = 25, bio = 100, rad = 80) sprite_sheets = null /obj/item/clothing/suit/space/rig/elite @@ -369,27 +334,8 @@ name = "advanced hardsuit" desc = "An advanced suit that protects against hazardous, low pressure environments. Shines with a high polish." item_state = "ce_hardsuit" - flags = FPRINT | TABLEPASS | STOPSPRESSUREDMAGE | ONESIZEFITSALL - armor = list(melee = 40, bullet = 5, laser = 20,energy = 5, bomb = 25, bio = 100, rad = 80) sprite_sheets = null -//Singuloth armor -/obj/item/clothing/head/helmet/space/rig/singuloth - name = "singuloth knight's helmet" - desc = "This is an adamantium helmet from the chapter of the Singuloth Knights. It shines with a holy aura." - icon_state = "rig0-singuloth" - item_state = "singuloth_helm" - _color = "singuloth" - armor = list(melee = 40, bullet = 5, laser = 20,energy = 5, bomb = 25, bio = 100, rad = 80) - -/obj/item/clothing/suit/space/rig/singuloth - icon_state = "rig-singuloth" - name = "singuloth knight's armor" - desc = "This is a ceremonial armor from the chapter of the Singuloth Knights. It's made of pure forged adamantium." - item_state = "singuloth_hardsuit" - flags = FPRINT | TABLEPASS | STOPSPRESSUREDMAGE - armor = list(melee = 40, bullet = 5, laser = 20,energy = 5, bomb = 25, bio = 100, rad = 80) - //Mining rig /obj/item/clothing/head/helmet/space/rig/mining name = "mining hardsuit helmet" @@ -397,26 +343,28 @@ icon_state = "rig0-mining" item_state = "mining_helm" _color = "mining" + armor = list(melee = 50, bullet = 5, laser = 20,energy = 5, bomb = 55, bio = 100, rad = 20) /obj/item/clothing/suit/space/rig/mining icon_state = "rig-mining" name = "mining hardsuit" desc = "A special suit that protects against hazardous, low pressure environments. Has reinforced plating." item_state = "mining_hardsuit" - flags = FPRINT | TABLEPASS | STOPSPRESSUREDMAGE | ONESIZEFITSALL - + armor = list(melee = 50, bullet = 5, laser = 20,energy = 5, bomb = 55, bio = 100, rad = 20) //Syndicate rig /obj/item/clothing/head/helmet/space/rig/syndi name = "blood-red hardsuit helmet" desc = "An advanced helmet designed for work in special operations. Property of Gorlex Marauders." - icon_state = "rig0-syndi" + icon_state = "rig0-syndie" item_state = "syndie_helm" - _color = "syndi" - armor = list(melee = 60, bullet = 50, laser = 30,energy = 15, bomb = 35, bio = 100, rad = 50) + _color = "syndie" + armor = list(melee = 60, bullet = 50, laser = 30,energy = 15, bomb = 35, bio = 100, rad = 60) siemens_coefficient = 0.6 var/obj/machinery/camera/camera + species_restricted = list("exclude","Unathi","Tajaran","Skrell","Vox") + /obj/item/clothing/head/helmet/space/rig/syndi/attack_self(mob/user) if(camera) @@ -440,10 +388,11 @@ item_state = "syndie_hardsuit" slowdown = 1 w_class = 3 - armor = list(melee = 60, bullet = 50, laser = 30, energy = 15, bomb = 35, bio = 100, rad = 50) - allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/weapon/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/melee/energy/sword,/obj/item/weapon/handcuffs,/obj/item/device/suit_cooling_unit) + armor = list(melee = 60, bullet = 50, laser = 30, energy = 15, bomb = 35, bio = 100, rad = 60) + allowed = list(/obj/item/weapon/gun,/obj/item/ammo_box/magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/melee/energy/sword,/obj/item/weapon/handcuffs,/obj/item/weapon/tank) siemens_coefficient = 0.6 - flags = FPRINT | TABLEPASS | STOPSPRESSUREDMAGE | ONESIZEFITSALL + species_restricted = list("exclude","Unathi","Tajaran","Skrell","Vox") + sprite_sheets = null //Wizard Rig /obj/item/clothing/head/helmet/space/rig/wizard @@ -476,6 +425,7 @@ icon_state = "rig0-medical" item_state = "medical_helm" _color = "medical" + armor = list(melee = 30, bullet = 5, laser = 20,energy = 5, bomb = 25, bio = 100, rad = 50) /obj/item/clothing/suit/space/rig/medical icon_state = "rig-medical" @@ -492,7 +442,7 @@ icon_state = "rig0-sec" item_state = "sec_helm" _color = "sec" - armor = list(melee = 50, bullet = 10, laser = 30, energy = 15, bomb = 45, bio = 100, rad = 10) + armor = list(melee = 60, bullet = 10, laser = 30, energy = 5, bomb = 45, bio = 100, rad = 10) siemens_coefficient = 0.7 /obj/item/clothing/suit/space/rig/security @@ -500,50 +450,25 @@ name = "security hardsuit" desc = "A special suit that protects against hazardous, low pressure environments. Has an additional layer of armor." item_state = "sec_hardsuit" - armor = list(melee = 50, bullet = 10, laser = 30, energy = 15, bomb = 45, bio = 100, rad = 10) + armor = list(melee = 60, bullet = 10, laser = 30, energy = 5, bomb = 45, bio = 100, rad = 10) allowed = list(/obj/item/weapon/gun,/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/melee/baton) siemens_coefficient = 0.7 - flags = FPRINT | TABLEPASS | STOPSPRESSUREDMAGE | ONESIZEFITSALL - -/obj/item/clothing/head/helmet/space/rig/security/attackby(obj/item/I as obj, mob/user as mob) - if(istype(I,/obj/item/weapon/modkit/unathi)) - user.drop_item() - playsound(src.loc, 'sound/items/Screwdriver.ogg', 100, 1) - user << "\red You painstakingly modify [src] to make it more suitable for a Unathi user." - new /obj/item/clothing/head/helmet/space/rig/security/unathi(user.loc) - del(I) - del(src) - return - ..() - - -/obj/item/clothing/suit/space/rig/security/attackby(obj/item/I as obj, mob/user as mob) - if(istype(I,/obj/item/weapon/modkit/unathi)) - user.drop_item() - playsound(src.loc, 'sound/items/Screwdriver.ogg', 100, 1) - user << "\red You painstakingly modify [src] to make it more suitable for a Unathi user." - new /obj/item/clothing/suit/space/rig/security/unathi(user.loc) - del(I) - del(src) - return - ..() //Atmospherics Rig (BS12) /obj/item/clothing/head/helmet/space/rig/atmos - desc = "A special helmet designed for work in a hazardou, low pressure environments. Has reduced radiation shielding and protective plating to allow for greater mobility." + desc = "A special helmet designed for work in a hazardous, low pressure environments. Has improved thermal protection and minor radiation shielding." name = "atmospherics hardsuit helmet" icon_state = "rig0-atmos" item_state = "atmos_helm" _color = "atmos" - armor = list(melee = 30, bullet = 0, laser = 0, energy = 0, bomb = 20, bio = 100, rad = 0) - max_heat_protection_temperature = FIRE_HELMET_MAX_HEAT_PROTECITON_TEMPERATURE + armor = list(melee = 40, bullet = 5, laser = 20,energy = 5, bomb = 35, bio = 100, rad = 50) + max_heat_protection_temperature = FIRE_HELMET_MAX_HEAT_PROTECTION_TEMPERATURE /obj/item/clothing/suit/space/rig/atmos - desc = "A special suit that protects against hazardous, low pressure environments. Has reduced radiation shielding to allow for greater mobility." + desc = "A special suit that protects against hazardous, low pressure environments. Has improved thermal protection and minor radiation shielding." icon_state = "rig-atmos" name = "atmos hardsuit" item_state = "atmos_hardsuit" - armor = list(melee = 30, bullet = 0, laser = 0, energy = 0, bomb = 20, bio = 100, rad = 0) - max_heat_protection_temperature = FIRESUIT_MAX_HEAT_PROTECITON_TEMPERATURE - flags = FPRINT | TABLEPASS | STOPSPRESSUREDMAGE | ONESIZEFITSALL + armor = list(melee = 40, bullet = 5, laser = 20,energy = 5, bomb = 35, bio = 100, rad = 50) + max_heat_protection_temperature = FIRESUIT_MAX_HEAT_PROTECTION_TEMPERATURE diff --git a/code/modules/clothing/suits/armor.dm b/code/modules/clothing/suits/armor.dm index 2d58731f4f4..a0e6a168b7c 100644 --- a/code/modules/clothing/suits/armor.dm +++ b/code/modules/clothing/suits/armor.dm @@ -5,9 +5,9 @@ flags = FPRINT | TABLEPASS cold_protection = UPPER_TORSO|LOWER_TORSO - min_cold_protection_temperature = ARMOR_MIN_COLD_PROTECITON_TEMPERATURE + min_cold_protection_temperature = ARMOR_MIN_COLD_PROTECTION_TEMPERATURE heat_protection = UPPER_TORSO|LOWER_TORSO - max_heat_protection_temperature = ARMOR_MAX_HEAT_PROTECITON_TEMPERATURE + max_heat_protection_temperature = ARMOR_MAX_HEAT_PROTECTION_TEMPERATURE siemens_coefficient = 0.6 @@ -85,7 +85,7 @@ armor = list(melee = 80, bullet = 60, laser = 50,energy = 25, bomb = 50, bio = 0, rad = 0) flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT cold_protection = UPPER_TORSO | LOWER_TORSO | LEGS | FEET | ARMS | HANDS - min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECITON_TEMPERATURE + min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE siemens_coefficient = 0.5 @@ -161,7 +161,7 @@ allowed = list(/obj/item/weapon/gun/energy,/obj/item/weapon/melee/baton,/obj/item/weapon/handcuffs,/obj/item/weapon/tank/emergency_oxygen) flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT cold_protection = UPPER_TORSO | LOWER_TORSO | LEGS | FEET | ARMS | HANDS - min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECITON_TEMPERATURE + min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE siemens_coefficient = 0 /obj/item/clothing/suit/armor/heavy diff --git a/code/modules/clothing/suits/utility.dm b/code/modules/clothing/suits/utility.dm index 24cbe3b8c94..476f0053948 100644 --- a/code/modules/clothing/suits/utility.dm +++ b/code/modules/clothing/suits/utility.dm @@ -23,7 +23,7 @@ flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT|HIDETAIL flags = FPRINT | TABLEPASS heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS - max_heat_protection_temperature = FIRESUIT_MAX_HEAT_PROTECITON_TEMPERATURE + max_heat_protection_temperature = FIRESUIT_MAX_HEAT_PROTECTION_TEMPERATURE cold_protection = UPPER_TORSO | LOWER_TORSO | LEGS | FEET | ARMS | HANDS @@ -68,7 +68,7 @@ armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 100, bio = 0, rad = 0) flags_inv = HIDEJUMPSUIT|HIDETAIL heat_protection = UPPER_TORSO|LOWER_TORSO - max_heat_protection_temperature = ARMOR_MAX_HEAT_PROTECITON_TEMPERATURE + max_heat_protection_temperature = ARMOR_MAX_HEAT_PROTECTION_TEMPERATURE siemens_coefficient = 0 diff --git a/code/modules/clothing/under/miscellaneous.dm b/code/modules/clothing/under/miscellaneous.dm index b7f144b84d8..b345e04f7d3 100644 --- a/code/modules/clothing/under/miscellaneous.dm +++ b/code/modules/clothing/under/miscellaneous.dm @@ -88,7 +88,7 @@ flags = FPRINT | TABLEPASS body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS cold_protection = UPPER_TORSO | LOWER_TORSO | LEGS | ARMS //Needs gloves and shoes with cold protection to be fully protected. - min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECITON_TEMPERATURE + min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE /obj/item/clothing/under/acj name = "administrative cybernetic jumpsuit" @@ -102,7 +102,7 @@ body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS armor = list(melee = 100, bullet = 100, laser = 100,energy = 100, bomb = 100, bio = 100, rad = 100) cold_protection = UPPER_TORSO | LOWER_TORSO | LEGS | FEET | ARMS | HANDS - min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECITON_TEMPERATURE + min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE siemens_coefficient = 0 /obj/item/clothing/under/owl diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index 616a0d2ba1d..f15c9a5ac65 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -460,3 +460,35 @@ emp_act var/penetrated_dam = max(0,(damage - max(0,(SS.breach_threshold - SS.damage)))) if(penetrated_dam) SS.create_breaches(damtype, penetrated_dam) + +/mob/living/carbon/human/mech_melee_attack(obj/mecha/M) + if(M.occupant.a_intent == "harm") + if(M.damtype == "brute") + step_away(src,M,15) + var/datum/organ/external/affecting = get_organ(pick("chest", "chest", "chest", "head")) + if(affecting) + var/update = 0 + switch(M.damtype) + if("brute") + if(M.force > 20) + Paralyse(1) + update |= affecting.take_damage(rand(M.force/2, M.force), 0) + playsound(src, 'sound/weapons/punch4.ogg', 50, 1) + if("fire") + update |= affecting.take_damage(0, rand(M.force/2, M.force)) + playsound(src, 'sound/items/Welder.ogg', 50, 1) + if("tox") + M.mech_toxin_damage(src) + else + return + updatehealth() + + M.occupant_message("You hit [src].") + visible_message("[src] has been hit by [M.name].", \ + "[src] has been hit by [M.name].") + add_logs(M.occupant, src, "attacked", object=M, addition="(INTENT: [uppertext(M.occupant.a_intent)]) (DAMTYPE: [uppertext(M.damtype)])") + + else + ..() + + return diff --git a/code/modules/mob/living/carbon/metroid/metroid.dm b/code/modules/mob/living/carbon/metroid/metroid.dm index 6e225a6df85..c39e401a554 100644 --- a/code/modules/mob/living/carbon/metroid/metroid.dm +++ b/code/modules/mob/living/carbon/metroid/metroid.dm @@ -899,9 +899,9 @@ mob/living/carbon/slime/var/temperature_resistance = T0C+75 flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT flags = FPRINT | TABLEPASS | ONESIZEFITSALL | STOPSPRESSUREDMAGE heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS | HEAD - max_heat_protection_temperature = FIRESUIT_MAX_HEAT_PROTECITON_TEMPERATURE + max_heat_protection_temperature = FIRESUIT_MAX_HEAT_PROTECTION_TEMPERATURE cold_protection = UPPER_TORSO | LOWER_TORSO | LEGS | FEET | ARMS | HANDS | HEAD - min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECITON_TEMPERATURE + min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE canremove = 0 armor = list(melee = 80, bullet = 20, laser = 20, energy = 10, bomb = 0, bio = 0, rad = 0) @@ -953,7 +953,7 @@ mob/living/carbon/slime/var/temperature_resistance = T0C+75 unacidable = 1 flags = FPRINT | TABLEPASS | STOPSPRESSUREDMAGE heat_protection = HEAD - max_heat_protection_temperature = FIRE_HELMET_MAX_HEAT_PROTECITON_TEMPERATURE + max_heat_protection_temperature = FIRE_HELMET_MAX_HEAT_PROTECTION_TEMPERATURE armor = list(melee = 80, bullet = 20, laser = 20, energy = 10, bomb = 0, bio = 0, rad = 0) /obj/effect/golem_rune diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm index bea2aa63f60..4f99dcc0946 100644 --- a/code/modules/mob/living/living_defense.dm +++ b/code/modules/mob/living/living_defense.dm @@ -168,6 +168,35 @@ visible_message("[src] is pinned to the wall by [O]!","You are pinned to the wall by [O]!") src.anchored = 1 src.pinned += O + +/mob/living/mech_melee_attack(obj/mecha/M) + if(M.occupant.a_intent == "harm") + if(M.damtype == "brute") + step_away(src,M,15) + switch(M.damtype) + if("brute") + Paralyse(1) + take_overall_damage(rand(M.force/2, M.force)) + playsound(src, 'sound/weapons/punch4.ogg', 50, 1) + if("fire") + take_overall_damage(0, rand(M.force/2, M.force)) + playsound(src, 'sound/items/Welder.ogg', 50, 1) + if("tox") + M.mech_toxin_damage(src) + else + return + updatehealth() + M.occupant_message("You hit [src].") + visible_message("[src] has been hit by [M.name].", \ + "[src] has been hit by [M.name].") + add_logs(M.occupant, src, "attacked", object=M, addition="(INTENT: [uppertext(M.occupant.a_intent)]) (DAMTYPE: [uppertext(M.damtype)])") + else + step_away(src,M) + add_logs(M.occupant, src, "pushed", object=M, admin=0) + M.occupant_message("You push [src] out of the way.") + visible_message("[M] pushes [src] out of the way.") + + return //This is called when the mob is thrown into a dense turf /mob/living/proc/turf_collision(var/turf/T, var/speed) diff --git a/code/modules/mob/living/simple_animal/tribbles.dm b/code/modules/mob/living/simple_animal/tribbles.dm index 12fb8f96109..649b27f334b 100644 --- a/code/modules/mob/living/simple_animal/tribbles.dm +++ b/code/modules/mob/living/simple_animal/tribbles.dm @@ -251,7 +251,7 @@ var/global/totaltribbles = 0 //global variable so it updates for all tribbles, f_amt = 3000 cold_protection = HANDS - min_cold_protection_temperature = GLOVES_MIN_COLD_PROTECITON_TEMPERATURE + min_cold_protection_temperature = GLOVES_MIN_COLD_PROTECTION_TEMPERATURE /obj/item/clothing/head/furcap name = "fur cap" @@ -262,7 +262,7 @@ var/global/totaltribbles = 0 //global variable so it updates for all tribbles, f_amt = 5000 cold_protection = HEAD - min_cold_protection_temperature = HELMET_MIN_COLD_PROTECITON_TEMPERATURE + min_cold_protection_temperature = HELMET_MIN_COLD_PROTECTION_TEMPERATURE /obj/item/clothing/shoes/furboots name = "fur boots" @@ -273,7 +273,7 @@ var/global/totaltribbles = 0 //global variable so it updates for all tribbles, f_amt = 4000 cold_protection = FEET - min_cold_protection_temperature = SHOE_MIN_COLD_PROTECITON_TEMPERATURE + min_cold_protection_temperature = SHOE_MIN_COLD_PROTECTION_TEMPERATURE /obj/item/clothing/suit/furcoat name = "fur coat" @@ -286,7 +286,7 @@ var/global/totaltribbles = 0 //global variable so it updates for all tribbles, body_parts_covered = UPPER_TORSO|LEGS|ARMS|LOWER_TORSO allowed = list (/obj/item/weapon/tank/emergency_oxygen) cold_protection = UPPER_TORSO | LOWER_TORSO | LEGS | ARMS - min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECITON_TEMPERATURE + min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE /obj/item/clothing/suit/furcape name = "fur cape" @@ -298,4 +298,4 @@ var/global/totaltribbles = 0 //global variable so it updates for all tribbles, f_amt = 10000 body_parts_covered = UPPER_TORSO|LEGS|ARMS cold_protection = UPPER_TORSO | LEGS | ARMS - min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECITON_TEMPERATURE + min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE diff --git a/code/modules/research/circuitprinter.dm b/code/modules/research/circuitprinter.dm index cffebbf3911..0a248fa4cbe 100644 --- a/code/modules/research/circuitprinter.dm +++ b/code/modules/research/circuitprinter.dm @@ -1,6 +1,6 @@ /*///////////////Circuit Imprinter (By Darem)//////////////////////// Used to print new circuit boards (for computers and similar systems) and AI modules. Each circuit board pattern are stored in -a /datum/desgin on the linked R&D console. You can then print them out in a fasion similar to a regular lathe. However, instead of +a /datum/design on the linked R&D console. You can then print them out in a fasion similar to a regular lathe. However, instead of using metal and glass, it uses glass and reagents (usually sulfuric acis). */ @@ -69,6 +69,12 @@ using metal and glass, it uses glass and reagents (usually sulfuric acis). if (panel_open) if(istype(O, /obj/item/weapon/crowbar)) + for(var/obj/I in component_parts) + if(istype(I, /obj/item/weapon/reagent_containers/glass/beaker)) + reagents.trans_to(I, reagents.total_volume) + if(I.reliability != 100 && crit_fail) + I.crit_fail = 1 + I.loc = src.loc if(g_amount >= 3750) var/obj/item/stack/sheet/glass/G = new /obj/item/stack/sheet/glass(src.loc) G.amount = round(g_amount / 3750) diff --git a/code/modules/research/designs.dm b/code/modules/research/designs.dm index 594e4186b2f..e5098adf6b5 100644 --- a/code/modules/research/designs.dm +++ b/code/modules/research/designs.dm @@ -716,6 +716,7 @@ datum/design/posibrain //////////Mecha Module Disks/////// /////////////////////////////////// +// Ripley datum/design/ripley_main name = "Circuit Design (APLU \"Ripley\" Central Control module)" desc = "Allows for the construction of a \"Ripley\" Central Control module." @@ -734,6 +735,7 @@ datum/design/ripley_peri materials = list("$glass" = 2000, "sacid" = 20) build_path = "/obj/item/weapon/circuitboard/mecha/ripley/peripherals" +// Odysseus datum/design/odysseus_main name = "Circuit Design (\"Odysseus\" Central Control module)" desc = "Allows for the construction of a \"Odysseus\" Central Control module." @@ -752,6 +754,7 @@ datum/design/odysseus_peri materials = list("$glass" = 2000, "sacid" = 20) build_path = "/obj/item/weapon/circuitboard/mecha/odysseus/peripherals" +// Gygax datum/design/gygax_main name = "Circuit Design (\"Gygax\" Central Control module)" desc = "Allows for the construction of a \"Gygax\" Central Control module." @@ -779,6 +782,7 @@ datum/design/gygax_targ materials = list("$glass" = 2000, "sacid" = 20) build_path = "/obj/item/weapon/circuitboard/mecha/gygax/targeting" +// Durand datum/design/durand_main name = "Circuit Design (\"Durand\" Central Control module)" desc = "Allows for the construction of a \"Durand\" Central Control module." @@ -806,6 +810,35 @@ datum/design/durand_targ materials = list("$glass" = 2000, "sacid" = 20) build_path = "/obj/item/weapon/circuitboard/mecha/durand/targeting" +// Phazon +datum/design/phazon_main + name = "Exosuit Design (\"Phazon\" Central Control module)" + desc = "Allows for the construction of a \"Phazon\" Central Control module." + id = "phazon_main" + req_tech = list("programming" = 5, "materials" = 7, "powerstorage" = 6) + build_type = IMPRINTER + materials = list("$glass" = 1000, "sacid" = 20) + build_path = /obj/item/weapon/circuitboard/mecha/phazon/main + +datum/design/phazon_peri + name = "Exosuit Design (\"Phazon\" Peripherals Control module)" + desc = "Allows for the construction of a \"Phazon\" Peripheral Control module." + id = "phazon_peri" + req_tech = list("programming" = 5, "bluespace" = 6) + build_type = IMPRINTER + materials = list("$glass" = 1000, "sacid" = 20) + build_path = /obj/item/weapon/circuitboard/mecha/phazon/peripherals + +datum/design/phazon_targ + name = "Exosuit Design (\"Phazon\" Weapons & Targeting Control module)" + desc = "Allows for the construction of a \"Phazon\" Weapons & Targeting Control module." + id = "phazon_targ" + req_tech = list("programming" = 5, "magnets" = 6) + build_type = IMPRINTER + materials = list("$glass" = 1000, "sacid" = 20) + build_path = /obj/item/weapon/circuitboard/mecha/phazon/targeting + +// H.O.N.K. datum/design/honker_main name = "Circuit Design (\"H.O.N.K\" Central Control module)" desc = "Allows for the construction of a \"H.O.N.K\" Central Control module." @@ -832,7 +865,8 @@ datum/design/honker_targ build_type = IMPRINTER materials = list("$glass" = 2000, "sacid" = 20) build_path = "/obj/item/weapon/circuitboard/mecha/honker/targeting" - + +// Space pod /datum/design/spacepod_main name = "Circuit Design (Space Pod Mainboard)" desc = "Allows for the construction of a Space Pod mainboard." @@ -840,8 +874,8 @@ datum/design/honker_targ req_tech = list("programming" = 4) build_type = IMPRINTER materials = list("$glass" = 2000, "sacid" = 20) - build_path = /obj/item/weapon/circuitboard/mecha/pod - + build_path = /obj/item/weapon/circuitboard/mecha/pod + //////////////////////////////////////// /////////// Mecha Equpment ///////////// //////////////////////////////////////// @@ -1117,7 +1151,7 @@ datum/design/adv_capacitor build_path = "/obj/item/weapon/stock_parts/capacitor/adv" datum/design/adv_sensor - name = "Advanced Sensor Module" + name = "Advanced Scanning Module" desc = "A stock part used in the construction of various devices." id = "adv_sensor" req_tech = list("magnets" = 3) @@ -1163,7 +1197,7 @@ datum/design/super_capacitor build_path = "/obj/item/weapon/stock_parts/capacitor/super" datum/design/phasic_sensor - name = "Phasic Sensor Module" + name = "Phasic Scanning Module" desc = "A stock part used in the construction of various devices." id = "phasic_sensor" req_tech = list("magnets" = 5, "materials" = 3) @@ -1985,6 +2019,24 @@ datum/design/mesons materials = list("$metal" = 50, "$glass" = 50) build_path = "/obj/item/clothing/glasses/meson" +datum/design/night_vision_goggles + name = "Night Vision Goggles" + desc = "Goggles that let you see through darkness unhindered." + id = "night_visision_goggles" + req_tech = list("magnets" = 4) + build_type = PROTOLATHE + materials = list("$metal" = 100, "$glass" = 100, "$uranium" = 1000) + build_path = /obj/item/clothing/glasses/night + +datum/design/magboots + name = "Magnetic Boots" + desc = "Magnetic boots, often used during extravehicular activity to ensure the user remains safely attached to the vehicle." + id = "magboots" + req_tech = list("materials" = 4, "magnets" = 4, "engineering" = 5) + build_type = PROTOLATHE + materials = list("$metal" = 4500, "$silver" = 1500, "$gold" = 2500) + build_path = /obj/item/clothing/shoes/magboots + datum/design/miningblueprint1 name = "Mining Schematic Disk Version 1" desc = "Contains the schematics for a new range of Pickaxes." @@ -2076,6 +2128,15 @@ datum/design/health_hud materials = list("$metal" = 50, "$glass" = 50) build_path = "/obj/item/clothing/glasses/hud/health" +datum/design/health_hud_night + name = "Night Vision Health Scanner HUD" + desc = "An advanced medical head-up display that allows doctors to find patients in complete darkness." + id = "health_hud_night" + req_tech = list("biotech" = 4, "magnets" = 5) + build_type = PROTOLATHE + materials = list("$metal" = 200, "$glass" = 200, "$uranium" = 1000, "$silver" = 250) + build_path = /obj/item/clothing/glasses/hud/health/night + datum/design/security_hud name = "Security HUD" desc = "A heads-up display that scans the humans in view and provides accurate data about their ID status." @@ -2085,6 +2146,15 @@ datum/design/security_hud materials = list("$metal" = 50, "$glass" = 50) build_path = "/obj/item/clothing/glasses/hud/security" +datum/design/security_hud_night + name = "Night Vision Security HUD" + desc = "A heads-up display which provides id data and vision in complete darkness." + id = "security_hud_night" + req_tech = list("magnets" = 5, "combat" = 4) + build_type = PROTOLATHE + materials = list("$metal" = 200, "$glass" = 200, "$uranium" = 1000, "$gold" = 350) + build_path = /obj/item/clothing/glasses/hud/security/night + ///////////////////////////////////////// //////////////////Test/////////////////// ///////////////////////////////////////// @@ -2134,7 +2204,7 @@ datum/design/borg_syndicate_module /////////////PDA and Radio stuff///////// ///////////////////////////////////////// datum/design/binaryencrypt - name = "Binary Encrpytion Key" + name = "Binary Encryption Key" desc = "An encyption key for a radio headset. Contains cypherkeys." id = "binaryencrypt" req_tech = list("syndicate" = 2) diff --git a/code/modules/research/protolathe.dm b/code/modules/research/protolathe.dm index 66e02cc8515..c850f5db1e0 100644 --- a/code/modules/research/protolathe.dm +++ b/code/modules/research/protolathe.dm @@ -57,14 +57,11 @@ Note: Must be placed west/left of and R&D console to function. efficiency_coeff = max(T, 1) /obj/machinery/r_n_d/protolathe/attackby(var/obj/item/O as obj, var/mob/user as mob) - if (shocked) - shock(user,50) - if(exchange_parts(user, O)) return 1 - - if (O.is_open_container()) - return 1 + + if (shocked) + shock(user,50) if (istype(O, /obj/item/weapon/screwdriver)) if (default_deconstruction_screwdriver(user, "protolathe_t", "protolathe", O)) @@ -118,6 +115,8 @@ Note: Must be placed west/left of and R&D console to function. if (!linked_console) user << "\The protolathe must be linked to an R&D console first!" return 1 + if (O.is_open_container()) + return if (busy) user << "\red The protolathe is busy. Please wait for completion of previous operation." return 1 @@ -180,4 +179,5 @@ Note: Must be placed west/left of and R&D console to function. new stacktype(src.loc, amount) busy = 0 src.updateUsrDialog() - return \ No newline at end of file + return + \ No newline at end of file diff --git a/code/setup.dm b/code/setup.dm index be67ae396f4..6277e4681a1 100644 --- a/code/setup.dm +++ b/code/setup.dm @@ -49,21 +49,21 @@ #define BODYTEMP_HEAT_DAMAGE_LIMIT 360.15 // The limit the human body can take before it starts taking damage from heat. #define BODYTEMP_COLD_DAMAGE_LIMIT 260.15 // The limit the human body can take before it starts taking damage from coldness. -#define SPACE_HELMET_MIN_COLD_PROTECITON_TEMPERATURE 2.0 //what min_cold_protection_temperature is set to for space-helmet quality headwear. MUST NOT BE 0. -#define SPACE_HELMET_MAX_HEAT_PROTECITON_TEMPERATURE 10000 -#define SPACE_SUIT_MIN_COLD_PROTECITON_TEMPERATURE 2.0 //what min_cold_protection_temperature is set to for space-suit quality jumpsuits or suits. MUST NOT BE 0. -#define SPACE_SUIT_MAX_HEAT_PROTECITON_TEMPERATURE 10000 //These need better heat protect -#define FIRESUIT_MAX_HEAT_PROTECITON_TEMPERATURE 30000 //what max_heat_protection_temperature is set to for firesuit quality headwear. MUST NOT BE 0. -#define FIRE_HELMET_MAX_HEAT_PROTECITON_TEMPERATURE 30000 //for fire helmet quality items (red and white hardhats) -#define HELMET_MIN_COLD_PROTECITON_TEMPERATURE 160 //For normal helmets -#define HELMET_MAX_HEAT_PROTECITON_TEMPERATURE 600 //For normal helmets -#define ARMOR_MIN_COLD_PROTECITON_TEMPERATURE 160 //For armor -#define ARMOR_MAX_HEAT_PROTECITON_TEMPERATURE 600 //For armor +#define SPACE_HELMET_MIN_COLD_PROTECTION_TEMPERATURE 2.0 //what min_cold_protection_temperature is set to for space-helmet quality headwear. MUST NOT BE 0. +#define SPACE_HELMET_MAX_HEAT_PROTECTION_TEMPERATURE 10000 +#define SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE 2.0 //what min_cold_protection_temperature is set to for space-suit quality jumpsuits or suits. MUST NOT BE 0. +#define SPACE_SUIT_MAX_HEAT_PROTECTION_TEMPERATURE 10000 //These need better heat protect +#define FIRESUIT_MAX_HEAT_PROTECTION_TEMPERATURE 30000 //what max_heat_protection_temperature is set to for firesuit quality headwear. MUST NOT BE 0. +#define FIRE_HELMET_MAX_HEAT_PROTECTION_TEMPERATURE 30000 //for fire helmet quality items (red and white hardhats) +#define HELMET_MIN_COLD_PROTECTION_TEMPERATURE 160 //For normal helmets +#define HELMET_MAX_HEAT_PROTECTION_TEMPERATURE 600 //For normal helmets +#define ARMOR_MIN_COLD_PROTECTION_TEMPERATURE 160 //For armor +#define ARMOR_MAX_HEAT_PROTECTION_TEMPERATURE 600 //For armor -#define GLOVES_MIN_COLD_PROTECITON_TEMPERATURE 2.0 //For some gloves (black and) -#define GLOVES_MAX_HEAT_PROTECITON_TEMPERATURE 1500 //For some gloves -#define SHOE_MIN_COLD_PROTECITON_TEMPERATURE 2.0 //For gloves -#define SHOE_MAX_HEAT_PROTECITON_TEMPERATURE 1500 //For gloves +#define GLOVES_MIN_COLD_PROTECTION_TEMPERATURE 2.0 //For some gloves (black and) +#define GLOVES_MAX_HEAT_PROTECTION_TEMPERATURE 1500 //For some gloves +#define SHOE_MIN_COLD_PROTECTION_TEMPERATURE 2.0 //For gloves +#define SHOE_MAX_HEAT_PROTECTION_TEMPERATURE 1500 //For gloves #define PRESSURE_DAMAGE_COEFFICIENT 4 //The amount of pressure damage someone takes is equal to (pressure / HAZARD_HIGH_PRESSURE)*PRESSURE_DAMAGE_COEFFICIENT, with the maximum of MAX_PRESSURE_DAMAGE diff --git a/icons/mecha/mech_construct.dmi b/icons/mecha/mech_construct.dmi index a07c36ecf28..b2740298c2e 100644 Binary files a/icons/mecha/mech_construct.dmi and b/icons/mecha/mech_construct.dmi differ diff --git a/icons/mecha/mech_construction.dmi b/icons/mecha/mech_construction.dmi index 5cf5b9cae70..6e8ea53ef7a 100644 Binary files a/icons/mecha/mech_construction.dmi and b/icons/mecha/mech_construction.dmi differ diff --git a/icons/mob/species/skrell/helmet.dmi b/icons/mob/species/skrell/helmet.dmi index 5d9485ca5a4..eb65bda8c01 100644 Binary files a/icons/mob/species/skrell/helmet.dmi and b/icons/mob/species/skrell/helmet.dmi differ diff --git a/icons/mob/species/skrell/suit.dmi b/icons/mob/species/skrell/suit.dmi index d09058125c6..47ce0a2302b 100644 Binary files a/icons/mob/species/skrell/suit.dmi and b/icons/mob/species/skrell/suit.dmi differ diff --git a/icons/mob/species/tajaran/helmet.dmi b/icons/mob/species/tajaran/helmet.dmi index 5d48f00ecf9..988512b58c9 100644 Binary files a/icons/mob/species/tajaran/helmet.dmi and b/icons/mob/species/tajaran/helmet.dmi differ diff --git a/icons/mob/species/tajaran/suit.dmi b/icons/mob/species/tajaran/suit.dmi index 68f45185b68..5fae4520b60 100644 Binary files a/icons/mob/species/tajaran/suit.dmi and b/icons/mob/species/tajaran/suit.dmi differ diff --git a/icons/mob/species/unathi/helmet.dmi b/icons/mob/species/unathi/helmet.dmi index 109a4ac7de2..b3d6db3032c 100644 Binary files a/icons/mob/species/unathi/helmet.dmi and b/icons/mob/species/unathi/helmet.dmi differ diff --git a/icons/mob/species/unathi/suit.dmi b/icons/mob/species/unathi/suit.dmi index 6ddbaeadab9..1783cf91b48 100644 Binary files a/icons/mob/species/unathi/suit.dmi and b/icons/mob/species/unathi/suit.dmi differ diff --git a/icons/obj/clothing/species/skrell/hats.dmi b/icons/obj/clothing/species/skrell/hats.dmi new file mode 100644 index 00000000000..30c012ddf18 Binary files /dev/null and b/icons/obj/clothing/species/skrell/hats.dmi differ diff --git a/icons/obj/clothing/species/skrell/suits.dmi b/icons/obj/clothing/species/skrell/suits.dmi new file mode 100644 index 00000000000..47af90a1212 Binary files /dev/null and b/icons/obj/clothing/species/skrell/suits.dmi differ diff --git a/icons/obj/clothing/species/tajaran/hats.dmi b/icons/obj/clothing/species/tajaran/hats.dmi new file mode 100644 index 00000000000..224fcaee58e Binary files /dev/null and b/icons/obj/clothing/species/tajaran/hats.dmi differ diff --git a/icons/obj/clothing/species/tajaran/suits.dmi b/icons/obj/clothing/species/tajaran/suits.dmi new file mode 100644 index 00000000000..3b0b4dafbd1 Binary files /dev/null and b/icons/obj/clothing/species/tajaran/suits.dmi differ diff --git a/icons/obj/clothing/species/unathi/hats.dmi b/icons/obj/clothing/species/unathi/hats.dmi new file mode 100644 index 00000000000..987e0accac6 Binary files /dev/null and b/icons/obj/clothing/species/unathi/hats.dmi differ diff --git a/icons/obj/clothing/species/unathi/suits.dmi b/icons/obj/clothing/species/unathi/suits.dmi new file mode 100644 index 00000000000..9e6217ce1b2 Binary files /dev/null and b/icons/obj/clothing/species/unathi/suits.dmi differ diff --git a/icons/obj/stock_parts.dmi b/icons/obj/stock_parts.dmi index 4226d924dfa..1e56e5848dc 100644 Binary files a/icons/obj/stock_parts.dmi and b/icons/obj/stock_parts.dmi differ diff --git a/maps/cyberiad.dmm b/maps/cyberiad.dmm index 1372f2e085a..e86f01a7cfd 100644 --- a/maps/cyberiad.dmm +++ b/maps/cyberiad.dmm @@ -1907,7 +1907,7 @@ "aKI" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/item/flag/species/unathi,/turf/simulated/floor,/area/hallway/primary/port/east) "aKJ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/engine,/area/embassy/unathi) "aKK" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/table/reinforced,/turf/simulated/floor/engine,/area/embassy/unathi) -"aKL" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/structure/closet,/obj/item/weapon/modkit/unathi,/obj/item/weapon/hatchet/unathiknife,/obj/item/weapon/hatchet/unathiknife,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24; target_temperature = 313.15},/turf/simulated/floor/engine,/area/embassy/unathi) +"aKL" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/structure/closet,/obj/item/device/modkit/unathi,/obj/item/weapon/hatchet/unathiknife,/obj/item/weapon/hatchet/unathiknife,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24; target_temperature = 313.15},/turf/simulated/floor/engine,/area/embassy/unathi) "aKM" = (/obj/structure/table/reinforced,/obj/machinery/cell_charger,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/ai_monitored/storage/eva) "aKN" = (/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 = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva) "aKO" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/table/reinforced,/obj/item/weapon/book/manual/evaguide,/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/ai_monitored/storage/eva) @@ -5270,7 +5270,7 @@ "bXr" = (/obj/machinery/camera{c_tag = "Blueshield's Office"; dir = 1; network = list("SS13")},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor/wood,/area/blueshield) "bXs" = (/obj/item/device/radio/intercom{pixel_x = 29; pixel_y = -1},/obj/machinery/computer/crew,/turf/simulated/floor/wood,/area/blueshield) "bXt" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock{name = "Unisex Showers"; req_access_txt = "0"},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) -"bXu" = (/obj/machinery/atmospherics/unary/vent_scrubber,/obj/structure/closet,/obj/item/weapon/modkit/tajaran,/obj/item/stack/medical/bruise_pack/tajaran,/obj/item/stack/medical/ointment/tajaran,/obj/machinery/alarm{pixel_y = 25; target_temperature = 283.15},/turf/simulated/floor{icon_state = "wood"},/area/embassy/tajaran) +"bXu" = (/obj/machinery/atmospherics/unary/vent_scrubber,/obj/structure/closet,/obj/item/device/modkit/tajaran,/obj/item/stack/medical/bruise_pack/tajaran,/obj/item/stack/medical/ointment/tajaran,/obj/machinery/alarm{pixel_y = 25; target_temperature = 283.15},/turf/simulated/floor{icon_state = "wood"},/area/embassy/tajaran) "bXv" = (/obj/machinery/camera{c_tag = "NT Representative's Office"; dir = 1; network = list("SS13")},/obj/structure/table/woodentable,/obj/machinery/faxmachine{department = "NT Representative's Office"},/turf/simulated/floor/wood,/area/ntrep) "bXw" = (/obj/machinery/power/apc{name = "Mime Office APC"; pixel_y = -24},/obj/structure/cable,/turf/simulated/floor/wood,/area/mimeoffice) "bXx" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; layer = 2.4; on = 1},/obj/machinery/computer/secure_data,/turf/simulated/floor/wood,/area/ntrep) @@ -5343,7 +5343,7 @@ "bYM" = (/obj/structure/table,/obj/machinery/embedded_controller/radio/simple_docking_controller{id_tag = "mining_shuttle"; pixel_x = 25; pixel_y = -8; req_one_access_txt = "13;48"; tag_door = "mining_shuttle_hatch"},/turf/simulated/shuttle/floor,/area/shuttle/mining/station) "bYN" = (/obj/machinery/computer/security/mining{network = list("Mining Outpost")},/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/obj/machinery/camera{c_tag = "Cargo Mining Dock"; dir = 4; network = list("SS13")},/turf/simulated/floor{dir = 8; icon_state = "brown"},/area/quartermaster/miningdock) "bYO" = (/obj/structure/stool/bed/chair/office/dark{dir = 8},/obj/effect/landmark/start{name = "Shaft Miner"},/turf/simulated/floor,/area/quartermaster/miningdock) -"bYP" = (/obj/structure/rack{dir = 1},/obj/item/weapon/modkit/unathi,/obj/item/weapon/modkit/unathi,/turf/simulated/floor{tag = "icon-brown (EAST)"; icon_state = "brown"; dir = 4},/area/quartermaster/miningdock) +"bYP" = (/obj/structure/rack{dir = 1},/obj/item/device/modkit/unathi,/obj/item/device/modkit/unathi,/turf/simulated/floor{tag = "icon-brown (EAST)"; icon_state = "brown"; dir = 4},/area/quartermaster/miningdock) "bYQ" = (/obj/structure/grille,/obj/structure/window/basic{dir = 8},/obj/structure/window/basic{dir = 4},/obj/structure/window/basic,/turf/simulated/floor/plating,/area/maintenance/disposal) "bYR" = (/obj/structure/table,/obj/item/device/t_scanner,/turf/simulated/floor/plating,/area/maintenance/aft) "bYS" = (/obj/structure/closet,/turf/simulated/floor/plating,/area/maintenance/aft) @@ -5418,7 +5418,7 @@ "caj" = (/obj/effect/landmark/start{name = "Shaft Miner"},/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/turf/simulated/floor,/area/quartermaster/miningdock) "cak" = (/obj/effect/landmark/start{name = "Shaft Miner"},/turf/simulated/floor,/area/quartermaster/miningdock) "cal" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/quartermaster/miningdock) -"cam" = (/obj/structure/rack{dir = 1},/obj/item/weapon/modkit/tajaran,/obj/item/weapon/modkit/tajaran,/turf/simulated/floor{tag = "icon-brown (EAST)"; icon_state = "brown"; dir = 4},/area/quartermaster/miningdock) +"cam" = (/obj/structure/rack{dir = 1},/obj/item/device/modkit/tajaran,/obj/item/device/modkit/tajaran,/turf/simulated/floor{tag = "icon-brown (EAST)"; icon_state = "brown"; dir = 4},/area/quartermaster/miningdock) "can" = (/obj/machinery/conveyor{dir = 1; id = "garbage"},/obj/machinery/recycler{eat_dir = 1; emagged = 0},/turf/simulated/floor/plating,/area/maintenance/disposal) "cao" = (/obj/machinery/conveyor_switch/oneway{convdir = -1; id = "garbage"; name = "disposal coveyor"},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/maintenance/disposal) "cap" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/power/apc{dir = 4; name = "Disposals APC"; pixel_x = 24; pixel_y = 0},/obj/structure/cable,/turf/simulated/floor/plating,/area/maintenance/disposal) @@ -5454,7 +5454,7 @@ "caT" = (/obj/structure/stool/bed/chair/comfy/teal{tag = "icon-comfychair_teal (WEST)"; icon_state = "comfychair_teal"; dir = 8},/turf/simulated/floor{dir = 2; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay2) "caU" = (/obj/structure/sign/biohazard,/turf/simulated/wall/r_wall,/area) "caV" = (/obj/item/weapon/folder/yellow,/obj/item/weapon/pen{pixel_x = 4; pixel_y = 4},/obj/structure/table/reinforced,/obj/item/weapon/hand_labeler,/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 0; pixel_y = -25},/turf/simulated/floor{tag = "icon-brown (SOUTHEAST)"; icon_state = "brown"; dir = 6},/area/quartermaster/office) -"caW" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard_medi"; name = "Quarantine Lockdown"; opacity = 0},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Virology Access"; req_access_txt = "5"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/virology) +"caW" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Virology Access"; req_access_txt = "5"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/virology) "caX" = (/obj/structure/extinguisher_cabinet,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/wall/r_wall,/area) "caY" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{id_tag = null; name = "Secondary Storage"; req_access_txt = "39"},/turf/simulated/floor,/area/medical/biostorage) "caZ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/camera{c_tag = "Mime's Office"; dir = 1; network = list("SS13")},/turf/simulated/floor/wood,/area/mimeoffice) @@ -5926,7 +5926,7 @@ "cjX" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; external_pressure_bound = 101; on = 1; pressure_checks = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) "cjY" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) "cjZ" = (/obj/machinery/iv_drip,/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) -"cka" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance,/turf/simulated/floor/plating,/area/maintenance/asmaint) +"cka" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard_medi"; name = "Quarantine Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area) "ckb" = (/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_txt = "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_txt = "55"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) "ckc" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area) "ckd" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "solar_xeno_inner"; locked = 1; name = "Engineering External Access"; req_access = null; req_access_txt = "13"},/obj/machinery/atmospherics/pipe/simple{icon_state = "intact"; level = 2},/turf/simulated/floor/plating,/area/solar/starboard) @@ -6017,7 +6017,7 @@ "clK" = (/obj/structure/table,/obj/item/weapon/retractor,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/obj/item/weapon/cautery,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) "clL" = (/obj/structure/closet/secure_closet/medical3,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) "clM" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/maintenance/asmaint) -"clN" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/firedoor,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard_medi"; name = "Quarantine Lockdown"; opacity = 0},/obj/machinery/door/airlock/medical{name = "Virology Access"; req_access_txt = "5"},/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/virology) +"clN" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard_medi"; name = "Quarantine Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area) "clO" = (/obj/structure/sign/securearea{pixel_x = -32; pixel_y = 0},/obj/machinery/shower{tag = "icon-shower (EAST)"; icon_state = "shower"; dir = 4},/turf/simulated/floor{dir = 8; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/toxins/xenobiology) "clP" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) "clQ" = (/obj/structure/closet/l3closet/scientist,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{dir = 4; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/toxins/xenobiology) @@ -6055,7 +6055,7 @@ "cmw" = (/obj/structure/table,/obj/item/weapon/surgicaldrill,/obj/item/stack/medical/advanced/bruise_pack,/obj/machinery/camera{c_tag = "Medbay Surgery 2 South"; dir = 1; network = list("SS13"); pixel_x = 0},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) "cmx" = (/obj/machinery/power/apc{dir = 2; name = "Surgery APC"; pixel_y = -24},/obj/structure/cable,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) "cmy" = (/obj/structure/closet/secure_closet/medical2,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) -"cmz" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area) +"cmz" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard_medi"; name = "Quarantine Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area) "cmA" = (/obj/machinery/light{dir = 1},/turf/simulated/floor{dir = 9; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTHEAST)"},/area/medical/virology) "cmB" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cmC" = (/obj/structure/closet/l3closet,/obj/item/clothing/mask/gas,/obj/machinery/light{dir = 1},/turf/simulated/floor{tag = "icon-warnwhite (NORTHEAST)"; icon_state = "warnwhite"; dir = 5},/area/medical/virology) @@ -6105,7 +6105,7 @@ "cnu" = (/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard_medi"; name = "Quarantine Lockdown"; opacity = 0},/obj/machinery/door/airlock/maintenance{name = "Surgery Maintenance"; req_access_txt = "45"},/turf/simulated/floor/plating,/area/medical/surgery) "cnv" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard_medi"; name = "Quarantine Lockdown"; opacity = 0},/obj/machinery/door/airlock/maintenance{name = "Surgery Maintenance"; req_access_txt = "45"},/turf/simulated/floor/plating,/area/medical/surgery) "cnw" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"cnx" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area) +"cnx" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard_medi"; name = "Quarantine Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area) "cny" = (/turf/simulated/floor{dir = 8; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/medical/virology) "cnz" = (/obj/structure/closet/l3closet,/obj/item/clothing/mask/gas,/turf/simulated/floor{dir = 4; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/medical/virology) "cnA" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/turf/simulated/wall/r_wall,/area) @@ -6150,7 +6150,7 @@ "con" = (/obj/machinery/atmospherics/pipe/manifold{tag = "icon-manifold-b (EAST)"; name = "pipe manifold"; icon_state = "manifold-b"; dir = 4; level = 1; _color = "blue"},/turf/simulated/floor/plating,/area/maintenance/asmaint) "coo" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/turf/simulated/floor/plating,/area/maintenance/asmaint) "cop" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"coq" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area) +"coq" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard_medi"; name = "Quarantine Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area) "cor" = (/obj/structure/closet/secure_closet/personal/patient,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/virology) "cos" = (/obj/structure/stool/bed/chair,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/virology) "cot" = (/obj/structure/stool/bed/chair,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/light{dir = 1; on = 1},/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/virology) @@ -6289,7 +6289,7 @@ "cqW" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/virology) "cqX" = (/obj/machinery/light{dir = 1; on = 1},/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/virology) "cqY" = (/obj/structure/disposalpipe/trunk,/obj/machinery/disposal,/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/virology) -"cqZ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area) +"cqZ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard_medi"; name = "Quarantine Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area) "cra" = (/obj/machinery/door/poddoor{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_txt = "55"},/turf/simulated/floor/engine,/area/toxins/xenobiology) "crb" = (/obj/structure/stool/bed/chair{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) "crc" = (/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/item/weapon/storage/box/beakers{pixel_x = -1; pixel_y = -1; pixel_x = 2; pixel_y = 2},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) @@ -6326,7 +6326,7 @@ "crH" = (/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = -28},/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/virology) "crI" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/obj/machinery/light,/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/virology) "crJ" = (/obj/structure/disposalpipe/segment,/obj/machinery/vending/medical,/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/virology) -"crK" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area) +"crK" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard_medi"; name = "Quarantine Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area) "crL" = (/obj/structure/table/reinforced,/obj/machinery/door_control{id = "xenobio2"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access_txt = "55"},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/toxins/xenobiology) "crM" = (/obj/structure/stool/bed/chair{dir = 4},/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{icon_state = "white"},/area/toxins/xenobiology) "crN" = (/obj/structure/table,/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 8; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/item/weapon/reagent_containers/food/snacks/monkeycube/wrapped,/obj/item/weapon/reagent_containers/spray/cleaner,/obj/item/clothing/gloves/latex,/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) @@ -6465,7 +6465,7 @@ "cuq" = (/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor/plating,/area/maintenance/aft) "cur" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/door/airlock/glass_engineering{name = "Storage"; req_access_txt = "10"; req_one_access_txt = "11;24"},/turf/simulated/floor,/area/engine/hardsuitstorage) "cus" = (/obj/machinery/requests_console{announcementConsole = 0; department = "Engineering"; departmentType = 4; name = "Engineering RC"; pixel_y = 30},/obj/structure/table,/obj/item/weapon/book/manual/engineering_guide,/obj/item/weapon/book/manual/engineering_particle_accelerator{pixel_y = 6},/obj/item/weapon/book/manual/engineering_singularity_safety,/turf/simulated/floor,/area/engine/engineering) -"cut" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/machinery/light{dir = 1},/obj/item/weapon/cartridge/engineering{pixel_x = 3},/obj/item/weapon/cartridge/engineering{pixel_x = -3; pixel_y = 2},/obj/item/weapon/cartridge/engineering{pixel_x = 4; pixel_y = 5},/obj/item/weapon/modkit/unathi,/obj/item/weapon/modkit/tajaran,/turf/simulated/floor,/area/engine/engineering) +"cut" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/machinery/light{dir = 1},/obj/item/weapon/cartridge/engineering{pixel_x = 3},/obj/item/weapon/cartridge/engineering{pixel_x = -3; pixel_y = 2},/obj/item/weapon/cartridge/engineering{pixel_x = 4; pixel_y = 5},/obj/item/device/modkit/unathi,/obj/item/device/modkit/tajaran,/turf/simulated/floor,/area/engine/engineering) "cuu" = (/obj/machinery/power/apc{cell_type = 15000; dir = 1; name = "Engineering APC"; pixel_x = 0; pixel_y = 25},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/floor,/area/engine/engineering) "cuv" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/engine/chiefs_office) "cuw" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/cable,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating,/area/engine/engineering) @@ -6669,7 +6669,7 @@ "cym" = (/obj/machinery/vending/coffee,/turf/simulated/floor{icon_state = "white"},/area/medical/virology/lab) "cyn" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; external_pressure_bound = 100; on = 1; pressure_checks = 1},/obj/structure/table,/obj/machinery/media/receiver/boombox,/obj/machinery/light,/turf/simulated/floor{icon_state = "white"},/area/medical/virology/lab) "cyo" = (/obj/structure/closet/l3closet/virology,/turf/simulated/floor{icon_state = "white"},/area/medical/virology/lab) -"cyp" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area) +"cyp" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard_medi"; name = "Quarantine Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area) "cyq" = (/obj/structure/table,/obj/item/weapon/paper/monitorkey,/obj/item/device/megaphone,/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/hor) "cyr" = (/obj/machinery/light{dir = 8},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) "cys" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) @@ -6731,7 +6731,7 @@ "czw" = (/obj/machinery/portable_atmospherics/hydroponics,/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology/flora) "czx" = (/obj/machinery/portable_atmospherics/hydroponics,/obj/machinery/camera{c_tag = "Xenobiology Flora Laboratories North"; dir = 2; network = list("Research","SS13"); pixel_x = 0},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology/flora) "czy" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology/flora) -"czz" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/simulated/floor/plating,/area) +"czz" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard_medi"; name = "Quarantine Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area) "czA" = (/obj/structure/table,/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/obj/item/weapon/folder/white{pixel_y = 10},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/item/weapon/reagent_containers/food/drinks/coffee,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/tie/stethoscope,/obj/item/weapon/stamp/cmo,/turf/simulated/floor{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/medical/cmo) "czB" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 2; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) "czC" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) @@ -6888,9 +6888,9 @@ "cCx" = (/obj/machinery/portable_atmospherics/canister/toxins,/turf/simulated/floor/engine{carbon_dioxide = 0; name = "plasma floor"; nitrogen = 0; oxygen = 0; toxins = 70000},/area/atmos) "cCy" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/engine{carbon_dioxide = 0; name = "plasma floor"; nitrogen = 0; oxygen = 0; toxins = 70000},/area/atmos) "cCz" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/obj/structure/sign/biohazard,/turf/simulated/wall/r_wall,/area) -"cCA" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area) -"cCB" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area) -"cCC" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area) +"cCA" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard_medi"; name = "Quarantine Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area) +"cCB" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard_medi"; name = "Quarantine Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area) +"cCC" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard_medi"; name = "Quarantine Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area) "cCD" = (/obj/machinery/computer/centrifuge,/turf/simulated/floor{icon_state = "white"},/area/medical/virology/lab) "cCE" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/medical/virology/lab) "cCF" = (/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,/area/medical/virology/lab) @@ -12392,6 +12392,13 @@ "eEp" = (/obj/structure/disposalpipe/trunk{dir = 8},/obj/machinery/disposal,/turf/simulated/floor,/area/atmos/control) "eEq" = (/turf/simulated/floor,/area/atmos/control) "eEr" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/atmos/control) +"eEs" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard_medi"; name = "Quarantine Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area) +"eEt" = (/obj/machinery/door/firedoor,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard_medi"; name = "Quarantine Lockdown"; opacity = 0},/obj/machinery/door/airlock/maintenance,/turf/simulated/floor/plating,/area/maintenance/asmaint) +"eEu" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Virology Access"; req_access_txt = "5"},/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/virology) +"eEv" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard_medi"; name = "Quarantine Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area) +"eEw" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard_medi"; name = "Quarantine Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area) +"eEx" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard_medi"; name = "Quarantine Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area) +"eEy" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard_medi"; name = "Quarantine Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area) (1,1,1) = {" aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -12556,30 +12563,30 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacgzaDBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacfBcgAchMcgCcgDceocgEceocgFceocgGcgHcgIcgJaDBaaacgKcbEcgLcbGcgMcavcavcgNcgOcgPabHcgQcgRcgScgTaaidXgdXrdXMdTgdUkabndUJcEhcJidQzdSBaaibzXbzXaaqaaqaaJcijeBzeBBeBCaaqeBAeBDeBEcirbMLaaJaaiceWbZoceXaaichlcdCceZaaiaaaaaaaaichmchnchoaaibzXbzXbzXaaiaabaaaaaaaabaaaaabaaaaaaaaaaabaaaaaaaaaaBIchpchqchraaiaaichschtchuaaibVqchvchwchxchychzchAbVnaaibNrbNraaachBchCchCchCchCchCchCchCchCchCchCchCchCchCchCchCchCchCchCchDchEchFchFchGaaiaaibPqbPqchHbPqbPqaaiaaiaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachIaaaaaaaaachIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachJchJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacfBchKchLcgBchNchOchPchQchRchSchTaaqbXmchUaaiaaaaaaaaaaaaaaichVchWchXchXchYchZaaqciabXzbSDcibciccyYczMcyYcyYcyYcyWcyXcyUcyUcyRcyTaaibzXbzXaaqchdcikcilcimcincioaaqcinciocimcipciqchkaaicgieATcgjaaiciscdCceZaaiaaiaaiaaiaaiaaiaaiaaibzXbzXbzXaaiaabaaaaaaaaaaabaabaabaaaaaaaaaaaaaaaaaaazGcitciucivaaiaaiciwcixciyaaiaaiaaidTedSYdSSdSYdTbaaiaaiaaaaaaaaaciDaaaaaaaaaaabaaaaaaaaaaaqaaqaaqaabaaaaaaaabaaaaaaaabaabaabciEciFciGbQGaaqaaiaaibPqbPrbPqaaiaaiaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachIchIchIchIchIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaciHboVboVboVboVboVboVboVboVboVboVboVboVciIaaiaaqaaqaaqaaqaaqaaqciJciKaaiaaiaaiaaiaaiaaiaaqaaqaaqaaqaaqaaqaaqciLbXzbSDciMciNeByeEbeEcdZxeaeciTeBceBkeBleBmeBxaaibzXbzXaaqciZcjacilcimcimeBGaaqeBFcimcimcipcilcjdaaiaaiaaiaaiaaiciscdCcjeaaibzXbzXbzXbzXbzXbzXbzXbzXbzXbzXaaiaaaaaaaaaaaaaaaaabaabaaaaaaaaaaaaaaaaaaaDBcjfcjgcjhaaiaaicjicjjcjkaaiaaaaaacjlcjlcjmcjlcjlaaaaaaaaaaaaaaaciDaaaaaaaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabcjnbNtbNtbNuaaqaaqaaiaaiaaiaaibNvaabaabaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachIaaachIaaaaaachIchIchIchIchIchIchIaaaaaachIaaachIaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjodfKcjqcjrcjrcjscjrcjtcjucjvdgkcjxcjycjzcjAcjAcjBcjCcjDcjDcjDcjEcjFcjGcjHcjIcjHcjHcjHcjGcjHcjHcjHcjJcjKcjLbXzbSDcjMcjNdYEaqAaaicfXactatTcjPcjQactasVcaFaaibzXbzXaaqdYbcjScjTcjUcimcjVaaqdYkcimcjXcjYcjTcjZaaibzXbzXbzXckaciscdCcisckabzXbzXbzXbzXbzXbzXbzXbzXbzXbzXaaiaaaaaaaaaaaaaaaaabaabaabaaaaaaaaaaaaaaacaUaaickbaqAcaUayGckcckdbdbayHaaackeckfckgckhckgckfckeaaachBchCchCckiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaaaaaaaaaaaaaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachIaaachIaaaaaachIchIchIchIchIchIchIaaaaaachIaaachIaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjodfKcjqcjrcjrcjscjrcjtcjucjvdgkcjxcjycjzcjAcjAcjBcjCcjDcjDcjDcjEcjFcjGcjHcjIcjHcjHcjHcjGcjHcjHcjHcjJcjKcjLbXzbSDcjMcjNdYEaqAaaicfXactatTcjPcjQactasVcaFaaibzXbzXaaqdYbcjScjTcjUcimcjVaaqdYkcimcjXcjYcjTcjZaaibzXbzXbzXeEtciscdCciseEtbzXbzXbzXbzXbzXbzXbzXbzXbzXbzXaaiaaaaaaaaaaaaaaaaabaabaabaaaaaaaaaaaaaaacaUaaickbaqAcaUayGckcckdbdbayHaaackeckfckgckhckgckfckeaaachBchCchCckiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaaaaaaaaaaaaaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachIchIchIaaachIchIchIchIchIchIchIchIchIaaachIchIchIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjockjckkcklckkckmckkckjckkckncklckkckockpbSEckpckpckqbSEbSEbSEbSEckrckpckpckpckpckpckpckpckpckpckpckscktckuckvckwckxckyckzckAaaickBckCckDckEckFeEheEieEjacdcfeckJabHckKckLckMckNcimckOaaqckOcimckNckPcilckQaaickRacdacdckSckTcdCckUcaUayGanFanFbalaaiaaiaaianEanFanGaaiaaaaaaaaaaaaaaaaaaaabaabaaaaaaaaaaaaaaaaaickVckWckXaaiaabazGckYazGaabaaackeckZclaclbclackZckeaaaciDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachIchIchIaaachIchIchIchIchIchIchIchIchIaaachIchIchIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjockkckkclccldclecldclfclgdZMeACcljclkcktcllclmclmclnabHcloabHclpclqclpclpclpclpclpclpclpclpclpclpclrckpclscltcluclvclwclxclyclzclAclBceEclCeEfeEgeEdeEeactbWeclHaPnclIcimcilcimcimclJayOclKcimcimcipcilclLaaiclMaaiaaaaqAaaiclNaaiaaiaaaaaaaaaaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiclOclPclQaaiaabaDBclRaDBaabaaackeclSclTclUclVclSckeaaaciDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaNpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachIchIchIaaachIchIchIchIchIchIchIchIchIaaachIchIchIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiclWaaqaaqclXaaqclYaaqaaqclZanGaaqaaqanEanFanGaaqaaqaaqaaqcmacmbcmccmdcmecmfcmgcaCcmhcaCcaCcmicaCcmjeEoeEpeEqeEreBnbzXclManpcmpcmqcmrcmscmtcmuaaqcmvcmtcmwcipcmxcmyaaiclMaaiaaacmzcmAcmBcmCaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaicmDcmEcmFcmGcmHcmIcmJaaqcmKcmLcmMactcmNaaacmOaaaaaaaaackecmPcmQcmQcmQcmRckeaaaciDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachIchIchIchIchIchIchIchIchIchIchIchIchIchIchIchIchIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeDaeDaeDaeEaeEaeDaeEaeEaeEafdaeEaeEaeEaeDaeDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaBIcmScmTcmUcmVcmWcmXcmYcmZcnacnbcnccndcnbcnecnfcngcngcnhaaqcnicnjcnkcnlbSDcnmcnncnobZbbZacbRbZacgUcnpeEmeEneEkeElaaiaaiclManpaaiaaicnuaaiaaiabnbxDacdacdacdcnvacdbeIacdcnwaaiaaacnxcnycmBcnzaaianEanFanFanGcaUaaibzlactactcnAactactcnAcnBaaaaaaaaicnCcnDcnCcnEcnFcitclPaaqaaJcnGaaJaaiaaiaaacnHaaaaabaaackeckeckecnIckeckeckeaaaciDaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachIchIchIchIchIchIchIchIchIchIchIchIchIchIchIchIchIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeDaaaaaaaabaabaaaaabaabaaaaaaaabaabaabaaaaeDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazGcmScnJcnKcnLcnMcnNcnNcnNcnNcnOcnPcnQcngcnRcngcngcnScngcnTbSEcnUcnVcnlbSDcnWaaqcnXbZbcnYcnZcoabZbcobcvGcvHcvIcvJcvFcohcoicojcokcokcolbRmcfecomconbzXcoobWecopbzXbzXbUAbzXaaiaaacoqcnycmBeAlaaqcorcoscotcoucovcowcoxcovcowcoycovcozcoAabnaaaaaaaaicnCcnCcnCcoBcoCcmIcoDcoEcoFcoGcoHcoIaaiaaacnHaabaabaaaaaaaaaaeDaaaaeDaaaaaaaaaciDaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachIchIchIaaachIchIchIchIchIchIchIchIchIaaachIchIchIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjockkckkclccldclecldclfclgdZMeACcljclkcktcllclmclmclnabHcloabHclpclqclpclpclpclpclpclpclpclpclpclpclrckpclscltcluclvclwclxclyclzclAclBceEclCeEfeEgeEdeEeactbWeclHaPnclIcimcilcimcimclJayOclKcimcimcipcilclLaaiclMaaiaaaaqAaaieEuaaiaaiaaaaaaaaaaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiclOclPclQaaiaabaDBclRaDBaabaaackeclSclTclUclVclSckeaaaciDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaNpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachIchIchIaaachIchIchIchIchIchIchIchIchIaaachIchIchIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiclWaaqaaqclXaaqclYaaqaaqclZanGaaqaaqanEanFanGaaqaaqaaqaaqcmacmbcmccmdcmecmfcmgcaCcmhcaCcaCcmicaCcmjeEoeEpeEqeEreBnbzXclManpcmpcmqcmrcmscmtcmuaaqcmvcmtcmwcipcmxcmyaaiclMaaiaaaeEycmAcmBcmCaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaicmDcmEcmFcmGcmHcmIcmJaaqcmKcmLcmMactcmNaaacmOaaaaaaaaackecmPcmQcmQcmQcmRckeaaaciDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachIchIchIchIchIchIchIchIchIchIchIchIchIchIchIchIchIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeDaeDaeDaeEaeEaeDaeEaeEaeEafdaeEaeEaeEaeDaeDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaBIcmScmTcmUcmVcmWcmXcmYcmZcnacnbcnccndcnbcnecnfcngcngcnhaaqcnicnjcnkcnlbSDcnmcnncnobZbbZacbRbZacgUcnpeEmeEneEkeElaaiaaiclManpaaiaaicnuaaiaaiabnbxDacdacdacdcnvacdbeIacdcnwaaiaaaeExcnycmBcnzaaieEwckackaeEvcaUaaibzlactactcnAactactcnAcnBaaaaaaaaicnCcnDcnCcnEcnFcitclPaaqaaJcnGaaJaaiaaiaaacnHaaaaabaaackeckeckecnIckeckeckeaaaciDaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachIchIchIchIchIchIchIchIchIchIchIchIchIchIchIchIchIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeDaaaaaaaabaabaaaaabaabaaaaaaaabaabaabaaaaeDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazGcmScnJcnKcnLcnMcnNcnNcnNcnNcnOcnPcnQcngcnRcngcngcnScngcnTbSEcnUcnVcnlbSDcnWaaqcnXbZbcnYcnZcoabZbcobcvGcvHcvIcvJcvFcohcoicojcokcokcolbRmcfecomconbzXcoobWecopbzXbzXbUAbzXaaiaaacCCcnycmBeAlaaqcorcoscotcoucovcowcoxcovcowcoycovcozcoAabnaaaaaaaaicnCcnCcnCcoBcoCcmIcoDcoEcoFcoGcoHcoIaaiaaacnHaabaabaaaaaaaaaaeDaaaaeDaaaaaaaaaciDaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachIchIchIchIchIchIchIchIchIchIchIchIchIchIchIchIchIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeDaaacoJcoKcoLaaacoJcoKcoLaaacoJcoKcoLaabcoMaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazGcmScnJcoNcngcnScoOcngcngcngcngcngcoNcoNcngcngcngcngcoPcoQbSEcoRckpcoScoTaaqaaqcoUbZbcoVcoWcoXbZbdQCckFcvzcvxcvycvwcpdcoobWfcpecpeclHbWebWebWfcpfbWeabuanEanFanFanFanGaaiaaiaaaccpcpgcpheAjabHeAkcisciscpkcplcpmcpncplcpmcpncplcpmcpnabnaaaaabaaiaaqaaqaaqaaqcpocitcppcpqcprcpscptcpuaaiaaacnHaaaaabaabaaaaaaaeDaeDaeDaaaaaaaaaciDaaaaaaaabaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachIchIchIchIchIchIchIchIchIchIchIchIchIchIchIchIchIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpvcpvcpvcpvcpvcpvcpvcpvcpvaaaaaaaaaaaaaaaaaaaeDaaacoJcpwcoLaaacoJcpwcoLaaacoJcpwcoLaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabazGcmSbPncoNcpxcngcpycpzcpAcpAcnRcngcoNcpBcngcngcngcngcpCcpDcjKcpEbRecpFcpGcpHcpIcpJbZbcoVcpKcpLbZbcpMckFaaiatSacteAXcpOabuaaiabnabnaqAaaiaaiaaiaqAaaiaaiaaaaaaaaaaaaaaaaaaaabaaaaqAcpPcmBcpQcgpeAYcisciscpkcpScpTcpUcpVcpTcpUcpVcpTcpWabnaabaabaaicmDcmEcmFcpXcpYcmIcpZcqacqbcqccitcqdaaiaaacqecqfcqfcqfcqfcqfcqfcqfcqfcqfcqfcqfcqgaaaaabaabaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachIchIchIchIchIchIchIchIchIchIchIchIchIchIchIchIchIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpvcpvcpvcpvcpvcpvcpvcpvcpvaaaaaaaagaaaaaaaaaaeEaabcoJcpwcoLaaacoJcpwcoLaabcoJcpwcoLaabaaaaaaaabaaaaaaaaaaabaaaaaaaaaaaaaaaaabaaaaaaaDBcmSaaqcqhcngcqicqjcqkcqlcqmcqlcqncqldRWeAAcnbcqqcoNcoNcoQcqrcqscqtcqucqvcqwdRGcqycqzcqAcqBcqCcqDcqEckFcqFcqGcqHcqIcqJcqKcqLcqMcqNcJYdQUcqQcqRcqScqTaabaaaaaaaaaaaaaaaaaaaabaabaqAcnyeAmeAVeAUeAWciscisciscqXciscisciscisciscisciscqYcqZaaaaaaaaicnCcnCcnCcracnFcitcrbcrccrdcrecitcrfaaiaaiaaiaaiaaaaaacrgcrgcrgcrhaabaabaabaabcriaabaabaabaabaabafdcrgcrgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachIchIchIchIchIchIchIchIchIchIchIchIchIchIchIchIchIchIchIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpvcpvcpvcpvcpvcpvcpvcpvcpvaaaaaaaaaaaaaaaaaaaabaaacoJcpwcoLaabcoJcpwcoLaaacoJcpwcoLaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaabaaaaabaabaaaaaaaaicrjaaqcrkcrlcrlcrmaaqaaqaaqaaqaaqaaqaaqaaqaaqaaqaaqaaqaaqaaqcrnaaqaaJaaqaaicwHcwIcwJcwKcwLcwMcwNcxvckFcrwcqGcqHcqScqJcrxcrycrzcrAcmmcrBcmmcrCcodcrDaabcrEcrEcrEcrEcrEaaaaaaaabaqAcrFcmBcrGeBbcqWciscisciscrHciscisciscisciscrIciscrJcrKaaaaaaaaicnCcnCcnCcpXcrLcmIcrMcrNcrOcrPcrQcrQcrRcrScrTaaiaaaaaacrgaaaaabaaaaabaaaaaaaaacrUaaaaabaabaaaaaaaaaaaacrgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachIchIchIchIchIchIchIchIchIchIchIchIchIchIchIchIchIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpvcpvcpvcpvcpvcpvcpvcpvcpvaaaaaaaagaaaaaaaaaaeEaabcoJcpwcoLaaacoJcpwcoLaabcoJcpwcoLaabaaaaaaaabaaaaaaaaaaabaaaaaaaaaaaaaaaaabaaaaaaaDBcmSaaqcqhcngcqicqjcqkcqlcqmcqlcqncqldRWeAAcnbcqqcoNcoNcoQcqrcqscqtcqucqvcqwdRGcqycqzcqAcqBcqCcqDcqEckFcqFcqGcqHcqIcqJcqKcqLcqMcqNcJYdQUcqQcqRcqScqTaabaaaaaaaaaaaaaaaaaaaabaabaqAcnyeAmeAVeAUeAWciscisciscqXciscisciscisciscisciscqYcnxaaaaaaaaicnCcnCcnCcracnFcitcrbcrccrdcrecitcrfaaiaaiaaiaaiaaaaaacrgcrgcrgcrhaabaabaabaabcriaabaabaabaabaabafdcrgcrgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachIchIchIchIchIchIchIchIchIchIchIchIchIchIchIchIchIchIchIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpvcpvcpvcpvcpvcpvcpvcpvcpvaaaaaaaaaaaaaaaaaaaabaaacoJcpwcoLaabcoJcpwcoLaaacoJcpwcoLaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaabaaaaabaabaaaaaaaaicrjaaqcrkcrlcrlcrmaaqaaqaaqaaqaaqaaqaaqaaqaaqaaqaaqaaqaaqaaqcrnaaqaaJaaqaaicwHcwIcwJcwKcwLcwMcwNcxvckFcrwcqGcqHcqScqJcrxcrycrzcrAcmmcrBcmmcrCcodcrDaabcrEcrEcrEcrEcrEaaaaaaaabaqAcrFcmBcrGeBbcqWciscisciscrHciscisciscisciscrIciscrJeEsaaaaaaaaicnCcnCcnCcpXcrLcmIcrMcrNcrOcrPcrQcrQcrRcrScrTaaiaaaaaacrgaaaaabaaaaabaaaaaaaaacrUaaaaabaabaaaaaaaaaaaacrgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachIchIchIchIchIchIchIchIchIchIchIchIchIchIchIchIchIchIchIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpvcpvcpvcpvcpvcpvcpvcpvcpvaaaaaaaaaaeDaeDaeEaabaaacoJcpwcoLaabcoJcpwcoLaaacoJcpwcoLaabaaaaaaaaaaaaaaaaaaaaaaaaaabcrVaaiaaiaaiaaiaaiaaicmSaaqeABcrXcrXcrYabHcrZcsacsacsacsacsacsacsbcsacsacsccsccsacsdcsecsfcsgaaicwxcwyciRcwwcwAcwGciicwzcCjcsocspcsqcsrcsscstcrycsucsvcswcsxcsycszcsAcsBcsCcsDcsEcsFcsGcrEaaaaaaaaacsHalkeAZalkcgpcsJcsKcsLcsKabHcsMcsNcsOeBacsQcsRcsScsTabnaaaaaaaaiaaqaaqaaqaaqcsUcitcrbcsVcsWcsXcitcitcsYcitcsZaaiaaaaaacrgaaactactactactactaaabctbaabctactactactactaaaacrgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachIchIchIaaachIchIchIchIchIchIchIchIchIaaachIchIchIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpvcpvcpvcpvcpvcpvcpvcpvcpvaaaaaaaaaaeDaaaaabaaaaabaabctcaabaabaabctcaabaaaaabctcaabaaaaaaaaaaaaaaaaaaaaaaaactdbNtctectfctgcthctictjctkctlaaqaaqdSRctnaaqaaqbXnaaiaaiaaiaaiaaiaaiaqAaaiaaiaaiaaiaaiabnaqAaaiaaiccZcxyciOciRciiciiciiciicxNckFctqctrcmmctscttcstctucsucsvctvctwctwctxctyctzaabctActBcsGctCcrEaaaaaaaaaaqAeBjcBueBiaaqchlctFctGctFaaqcpncpmctHeBgeBhctKcpncpmabnaaaaaaaaicmDcmEcmFctLcpYcmIctMctNctOctPctPctQctRctSctTaaiaabaabcrgaabctUctVctVctVctVctWctXctYctZctZctZctZcuaaabcrgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachIaaaaaachIchIchIchIchIchIchIchIchIaaaaaachIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpvcpvcpvcpvcpvcpvcpvcpvcpvaaaaaaaaaaeEaabcubcuccuccudcuecufcufcufcuecufcufcufcuecufcufcugcuccuccuccuccuccuhcuicujcukculcumcuncuocupbXmcmScuqaaqaaqaaqaaqbXmbXnaaicxBcuscutcuucxKcxJcxIcxHcxMcxLcuBcuCcuDdRZcuFcxxcxycxzciRciiciiciiciicxAckFcuIcuJcmmcmncuKcuLcuMcuNcuOcuPcuQcuRcuScuTcuUcuVcsDcuWcsGcsGcrEaaaaaaaabaqAeBfcBucBwaaqcuYctFcisctFaaqcuZcvactHeBdeBectKcuZcvdabnaaaaaaaaicnCcnDcnCcvecnFcitciuctNcvfcvgcitcvhaaqaaqaaqaaiaaaaaacrgaabcvicvicvicvicviaaactbaaacvicvicvicvicviaabcrgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachIchIchIchIchIchIchIchIchIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpvcpvcpvcpvcpvcpvcpvcpvcpvaaaaaaaaaaeDaaaaabaaaaabaabcvjaabaaaaabcvjaabaaaaabcvjaabaaaaaaaaaaaaaaaaaaaaaaaactdbNtcvkcvlcvmcvnaaicvobXmcvpctkctkctkctkctkctkcvqaaicwOcvscvtcvuciXcjOckGckIciUciWcvAcvBcvCcvDcvEciSciPciOciRciQciAciiciiciCckFcvKcvLcmmcmncuKcvMcvNcvOcvPcvQcvRcvScvTcvScvUaabcrEcrEcrEcrEcrEaabaabaabccpcBtcBucBwaaqcBvcvYcvZcwacwbabtayOayOcAJayOcweaCtaaqabnaaaaaaaaicnCcnCcnCctLcwfcwgcwhcptcwicrQcrQcwjcwkcwlcwmdIpaaaaaacrgaaaaabaaaaabaabaabaaactbaaaaabaaaaabaaaaabaaacrgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachIchIchIchIchIchIchIchIchIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpvcpvcpvcpvcpvcpvcpvcpvcpvaaaaaaaaaaeDaeDaeEaabaabcoJcwncoLaaacoJcwncoLaaacoJcwncoLaabaaaaaaaaaaaaaaaaaaaaaaabaabcwoaaiaaiaaiaaiaaicwpcwqbXmcwrbXmbXmbXmcwscwtcwucwvcvtcvtcvrciXcnrclGcmlclEclFcwBcwCcwDcwEcwFcrscrrcrqcrpcpbcpacoZcofcntcwPcwQcwRcwScwTcwUcwVcwWcwXcwYcwZcxacswcxbcxccxdcsCcsDcxecxfcxfcrEaaaaaaaabaqAcBDcBucBEaaqcAxcBBcBBcCEaaqcBFcwccBycygcBxcBCczvcBAcqZaaaaaacxoancancancanccxpcxqcxrcxqcxscxqcxqcxtctNcitcitdITaaaaaacrgaaactactactactactaaabctbaabctactactactactaaabcrgaaaaaaaaaaaaaaaaaaaaacxuaaaaaaaaacxuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachIchIchIchIchIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpvcpvcpvcpvcpvcpvcpvcpvcpvaaaaaaaaaaaaaaaaaaaaaaaacoJcwncoLaabcoJcwncoLaaacoJcwncoLaaaaaaaaaaabaaaaaaaaaaaaaabaabaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaicySboVcxwcvtcvtcvucslcsmctoctpcuraaidIWcxDcxEcxFcxGaaicsiciicskcsjcrvcrtciicshcoccodcxOcxPcxQcxRcxScxTcxUcxVcxWcmmcxXcxYcxZctzaabctAcyacybcyccrEaaaaaaaaaaqAcgpcBGcyeaaqcCDcDncBRcxmcBHcBucDvcDscygcCFcDqcDpcDrcypaabaaadLvcyreDDcyscytcyucmIcyvcmIcywcmIcdTcmIcDocyxcitaaiaabaabcrgaabctUctVctVctVctVctWctXctYctZctZctZctZcyyaabcrgaaaaaaaaaaaaaaaaaaaaacxucxucxucxucxuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaNpaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpvcpvcpvcpvcpvcpvcpvcpvcpvaaaaaaaaaaaaaaaaaaaeEaabcoJcwncoLaaacoJcwncoLaaacoJcwncoLaabaaaaaaaaaaaaaaaaaaaaaaabaabaaicyzcBTczZcyBcyAcyAczZcyCcyDdNqcyAcyFcyGcyHcyIcyJcyKcyJcyLcyMcyNcyOcyPcvtaaicyQcuvcBVcuGcuAboVanccyVciIcuHcuxcuwaaiaaicyZczaczbczccmncuKczdczeczfczgczhcmmcxXcziczjczkcuVcsDczlcxfcxfcrEaabaaaaaaccpcDWcDXcEOcEPcDYcEQcDYcDYcEacEbcEXcEWcEWeDEcETcEScERczzaabaabdNscitcitciucitciucitciucjfczBctPczCctPcqaczCczDaaiaaaaaacrgaabcvicvicvicvicviaaactbaabcvicvicvicvicviaaacrgaaacxuaaacxuaaaaaacxucxucxucxucxucxucxuaaaaaacxuaaacxuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpvcpvcpvcpvcpvcpvcpvcpvcpvaaaaaaaaaaaaaaaaaaaeEaabcoJcwncoLaaacoJcwncoLaabcoJcwncoLaabaabaabaaaaaaaaaaaaaabaabaaaaaiczEczFczGaaiczHczIczJczJczJczKczJczJczJczLactcvvczNczOczPczQczRczSczTczTczTczUczVcvtcvtcvtczWczXczYaaqcBWcAacAbcAcaaiaaiaaiaaicAdcmncuKcsucAecAfcAgcAhcmmcAicAjcAkcAlcAmcrEcrEcrEcrEcrEaaaaaaaaaaqAcHNcHOcHfcHgcGIcGJcGIcGIcHucHBcGGcGFcEReDFcGHcDpcygazGaabaabavccAzcAAcABcACcADcAEcAFcAGcADcAEcAHaaiczpczqabnaaiaaaaaacrhaaaaabaaaaabaaaaabaaacAKaaaaabaaaaabaabaabaabcrgaaacxucxucxuaaacxucxucxucxucxucxucxucxucxuaaacxucxucxuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpvcpvcpvcpvcpvcpvcpvcpvcpvaaaaaaaaaaaaaaaaaaafdaabcoJcALcoLaaacoJcALcoLaaacoJcALcoLaabaeEaabaabaaaaaaaaaaabaaaaaaaaicAMczFcANaaiaaicAOaaiaaiaaicAPaaiaaiaaiaaiaaiaaiaaiaaicAQcARcAScATcyMcyMcyMcAUcAVcAWcAXcyMcyMcAVcAYcAZcBacAacBbcBcaaicBdcBeactcBfcBgcBhcBicBjczhcmmcBkcBlcBmcBncBocxdcBpcsDcBqcBrcBscrEaaaaaaaaaaqAezJezPcINcIOcIPcIQcIRcygcIScITcIjcIicHPeDGcImcIlcIkaDBaaaaaaavccBIcBJcBKaaqcBLcBMcBNaaqcBOcBPcBQaaicznczoabnaaaaaaaaacrgaaactactactactactaaabcriaabctactactactactaaabcrgaaacxucxucxuaaacxucxucxucxucxucxucxucxucxuaaacxucxucxuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpvcpvcpvcpvcpvcpvcpvcpvcpvaaaaaaaaaaaaaaaaaaaeEaaaaabaaaaaaaaaaabaabaabaaaaaaaabaabaaaaeEaabaabaaaaaaaaaaaaaaaaaaaaicBSczFcANaaidPecBUcBYaaicDFcBXcCUcBZaaicCacCbcFocCcaaicCdcvtcCecvucvtcvtcCfcCgcChcCidPhcCkcClcCmaaicCncBacAacCocCpaaiaaicCqaaicCrcCscmmcBicBjcCtcmmcBkcBlcxXcxYcCuctzcCvctAcCwcCxcCycrEaaaaaaaaacCzcCAcCBcCBcCCacdacdaqsezReDHeDIeDKeDJeDLaaiavcabnaaicaUaaaaaaavccCGcnCcnCaaqcCHcnCcnCaaqcCHcnCcnCaaiczyezXcCIaaaaabaabcrgaabctUctVctVctVctVcqfcCJcqfctZctZctZctZcyyaabcrgaaacxucxucxuaaacxucxucxucxucxucxucxucxucxuaaacxucxucxuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachIchIchIchIchIchIchIchIchIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpvcpvcpvcpvcpvcpvcpvcpvcpvaaaaaaaaaaeDaeDaeEaabaabcoJcwncoLaaacoJcwncoLaaacoJcwncoLaabaaaaaaaaaaaaaaaaaaaaaaabaabcwoaaiaaiaaiaaiaaicwpcwqbXmcwrbXmbXmbXmcwscwtcwucwvcvtcvtcvrciXcnrclGcmlclEclFcwBcwCcwDcwEcwFcrscrrcrqcrpcpbcpacoZcofcntcwPcwQcwRcwScwTcwUcwVcwWcwXcwYcwZcxacswcxbcxccxdcsCcsDcxecxfcxfcrEaaaaaaaabaqAcBDcBucBEaaqcAxcBBcBBcCEaaqcBFcwccBycygcBxcBCczvcBAcnxaaaaaacxoancancancanccxpcxqcxrcxqcxscxqcxqcxtctNcitcitdITaaaaaacrgaaactactactactactaaabctbaabctactactactactaaabcrgaaaaaaaaaaaaaaaaaaaaacxuaaaaaaaaacxuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachIchIchIchIchIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpvcpvcpvcpvcpvcpvcpvcpvcpvaaaaaaaaaaaaaaaaaaaaaaaacoJcwncoLaabcoJcwncoLaaacoJcwncoLaaaaaaaaaaabaaaaaaaaaaaaaabaabaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaicySboVcxwcvtcvtcvucslcsmctoctpcuraaidIWcxDcxEcxFcxGaaicsiciicskcsjcrvcrtciicshcoccodcxOcxPcxQcxRcxScxTcxUcxVcxWcmmcxXcxYcxZctzaabctAcyacybcyccrEaaaaaaaaaaqAcgpcBGcyeaaqcCDcDncBRcxmcBHcBucDvcDscygcCFcDqcDpcDrcoqaabaaadLvcyreDDcyscytcyucmIcyvcmIcywcmIcdTcmIcDocyxcitaaiaabaabcrgaabctUctVctVctVctVctWctXctYctZctZctZctZcyyaabcrgaaaaaaaaaaaaaaaaaaaaacxucxucxucxucxuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaNpaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpvcpvcpvcpvcpvcpvcpvcpvcpvaaaaaaaaaaaaaaaaaaaeEaabcoJcwncoLaaacoJcwncoLaaacoJcwncoLaabaaaaaaaaaaaaaaaaaaaaaaabaabaaicyzcBTczZcyBcyAcyAczZcyCcyDdNqcyAcyFcyGcyHcyIcyJcyKcyJcyLcyMcyNcyOcyPcvtaaicyQcuvcBVcuGcuAboVanccyVciIcuHcuxcuwaaiaaicyZczaczbczccmncuKczdczeczfczgczhcmmcxXcziczjczkcuVcsDczlcxfcxfcrEaabaaaaaaccpcDWcDXcEOcEPcDYcEQcDYcDYcEacEbcEXcEWcEWeDEcETcEScERcqZaabaabdNscitcitciucitciucitciucjfczBctPczCctPcqaczCczDaaiaaaaaacrgaabcvicvicvicvicviaaactbaabcvicvicvicvicviaaacrgaaacxuaaacxuaaaaaacxucxucxucxucxucxucxuaaaaaacxuaaacxuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpvcpvcpvcpvcpvcpvcpvcpvcpvaaaaaaaaaaaaaaaaaaaeEaabcoJcwncoLaaacoJcwncoLaabcoJcwncoLaabaabaabaaaaaaaaaaaaaabaabaaaaaiczEczFczGaaiczHczIczJczJczJczKczJczJczJczLactcvvczNczOczPczQczRczSczTczTczTczUczVcvtcvtcvtczWczXczYaaqcBWcAacAbcAcaaiaaiaaiaaicAdcmncuKcsucAecAfcAgcAhcmmcAicAjcAkcAlcAmcrEcrEcrEcrEcrEaaaaaaaaaaqAcHNcHOcHfcHgcGIcGJcGIcGIcHucHBcGGcGFcEReDFcGHcDpcygcrKaabaabavccAzcAAcABcACcADcAEcAFcAGcADcAEcAHaaiczpczqabnaaiaaaaaacrhaaaaabaaaaabaaaaabaaacAKaaaaabaaaaabaabaabaabcrgaaacxucxucxuaaacxucxucxucxucxucxucxucxucxuaaacxucxucxuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpvcpvcpvcpvcpvcpvcpvcpvcpvaaaaaaaaaaaaaaaaaaafdaabcoJcALcoLaaacoJcALcoLaaacoJcALcoLaabaeEaabaabaaaaaaaaaaabaaaaaaaaicAMczFcANaaiaaicAOaaiaaiaaicAPaaiaaiaaiaaiaaiaaiaaiaaicAQcARcAScATcyMcyMcyMcAUcAVcAWcAXcyMcyMcAVcAYcAZcBacAacBbcBcaaicBdcBeactcBfcBgcBhcBicBjczhcmmcBkcBlcBmcBncBocxdcBpcsDcBqcBrcBscrEaaaaaaaaaaqAezJezPcINcIOcIPcIQcIRcygcIScITcIjcIicHPeDGcImcIlcIkcypaaaaaaavccBIcBJcBKaaqcBLcBMcBNaaqcBOcBPcBQaaicznczoabnaaaaaaaaacrgaaactactactactactaaabcriaabctactactactactaaabcrgaaacxucxucxuaaacxucxucxucxucxucxucxucxucxuaaacxucxucxuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpvcpvcpvcpvcpvcpvcpvcpvcpvaaaaaaaaaaaaaaaaaaaeEaaaaabaaaaaaaaaaabaabaabaaaaaaaabaabaaaaeEaabaabaaaaaaaaaaaaaaaaaaaaicBSczFcANaaidPecBUcBYaaicDFcBXcCUcBZaaicCacCbcFocCcaaicCdcvtcCecvucvtcvtcCfcCgcChcCidPhcCkcClcCmaaicCncBacAacCocCpaaiaaicCqaaicCrcCscmmcBicBjcCtcmmcBkcBlcxXcxYcCuctzcCvctAcCwcCxcCycrEaaaaaaaaacCzcCBczzczzcCAacdacdaqsezReDHeDIeDKeDJeDLaaiavcabnaaicaUaaaaaaavccCGcnCcnCaaqcCHcnCcnCaaqcCHcnCcnCaaiczyezXcCIaaaaabaabcrgaabctUctVctVctVctVcqfcCJcqfctZctZctZctZcyyaabcrgaaacxucxucxuaaacxucxucxucxucxucxucxucxucxuaaacxucxucxuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpvcpvcpvcpvcpvcpvcpvcpvcpvaaaaaaaaaaaaaaaaaaaeDaeDaeEaeDaeDafdaeEaeEaeEaeEaeDaeEaeEaeDcCKaabaaaaaaaaaaaaaaaaaaaaaaaidPFcCLcCMcyBcANcCNcCOaaidQucCQcCRaaiaaicCScCScCTcCTdxwcvucvtcCecvucvtcCVcCWactcCXcCYcCZcDacDbatTcDccCecvucDdcDeaaqcDfaaiabnaaicDgcDhcmmcBicBjczhcmmcDicBlcxXcDjcDkczkcDlcsDcDmcBrcBrcrEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqAezYcygcygeAgeAdeAcaaieAbeAaezZaaaaaaaaaavccDtcnCcnCaaqcDucnCcnCaaqcDucnCcnCaaiczyeAhabnaaaaaaaaacrgaabcvicvicvicvicviaaacriaaacvicvicvicvicviaaacrgaaacxucxucxucxucxucxucxucxucxucxucxucxucxucxucxucxucxuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpvcpvcpvcpvcpvcpvcpvcpvcpvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacCgaaiaaiaaiaaiaaiaaicDwaaiaaiaaiaaiaaiaaicCgaaicDxcDycCTcCTdxwcDzcDAcDBcDCcDDcDEcDEdvhcDGcDHcDIcDJcDKdvhcDLcDMcDNcDOcDOcDPcDQdyKcCqaaicDScDTcmmcBicmmcDUcmmcBkcBlcxXcxYcDVctzcCvcrEcrEcrEcrEcrEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqAcyhcygcygcxmcxldekaaiaaaaaaaaaaaaaaaaaaavccnCcnCcnCaaqcDZcnCcnCaaqcDZcnCcnCaaicydcyfabnaaaaaaaaacrgaaaaaaaabaabaabaaaaaacriaabaaaaaaaabaabaaaaaacrgaaacxucxucxucxucxucxucxucxucxucxucxucxucxucxucxucxucxuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpvcpvcpvcpvcpvcpvcpvaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaicEccEdcEecEfcEgcihcEidGncEkcrucEmcEncEnaaiaaicEocEocCTcqOaaicEpcEqcErcEscEtcEudGlaaidBJcExcEycvtdBEaaidzOcEBcECcEscEscEDcEEaaicCqaaicEFcEGcmmcBicmmcsucAecEHcEIcBmcEJcEKcxdcELcsDcEMcENcENcrEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeHcyncyoczmcymcylcykaaiaaaaaaaaaaaaaaaaaacEUaaiaaiaaiaaiaaiaaiaaiaaicEVcEVcEVcaUcyicyjabnaaaaaaaaacrgcrgcrgcrgcrgaaaaaaaaacriaaaaaaaaacrgcrgcrgcrhcrgaaacxucxucxucxucxucxucxucxucxucxucxucxucxucxucxucxucxuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpvcpvcpvcpvcpvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaicEYcEZcFacFbcFbcFccFdcFecFfcFfcFgcFhcFiaaiaaicEocEocCTcFjaaicFkcFlaaidGudGJdGJdGJaaicsncFpcFqcFrdGMaaidGJdGJdGJdGuaaicFscFtaaicCqaaicFucFvcFwcFxcFycuNcFzcFAcswcuPcxYcFBctzcCvctAcFCcFDcFEcrEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaUayGanFanFanFanFbalcaUaaaaaaaaaaaaaaaaaacFFaaaaaaaaaaaaaaaaaaaaaaaaaacaacaacaaiczncBzabnaaaaaaaaaaaaaaaaaaaaaaaaaaacrgaabcFGaabcrgaaaaaaaaaaaaaaaaaaaaacxucxucxucxucxucxucxucxucxucxucxucxucxucxucxucxucxuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpvcpvcpvcpvcpvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaicEYcEZcFacFbcFbcFccFdcFecFfcFfcFgcFhcFiaaiaaicEocEocCTcFjaaicFkcFlaaidGudGJdGJdGJaaicsncFpcFqcFrdGMaaidGJdGJdGJdGuaaicFscFtaaicCqaaicFucFvcFwcFxcFycuNcFzcFAcswcuPcxYcFBctzcCvctAcFCcFDcFEcrEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaUclNckackackackacmzcaUaaaaaaaaaaaaaaaaaacFFaaaaaaaaaaaaaaaaaaaaaaaaaacaacaacaaiczncBzabnaaaaaaaaaaaaaaaaaaaaaaaaaaacrgaabcFGaabcrgaaaaaaaaaaaaaaaaaaaaacxucxucxucxucxucxucxucxucxucxucxucxucxucxucxucxucxuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacFHaaaaaaaaacFHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaicFIcFJcFKcFLcFLcEmcEicEmcFLcFLcFLcFhcFMaaiaaicFNcFNcCTdHLaaicFOcFPaaicFQcFRcFScFTaFkcFUcFVcFWcFXcDQaFkcFRcFRcFRcFYcFZcGacGbaaicCqcGccGdcGecGfcFzcodcGgcoecGhcGicqRcGjcGkczkcDlcsDcGlcENcENcrEaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacGmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaidHhdHiabnaaiaFoaQVaQVaQVaQVaQVcGnaaacrgaaaaabaaacrgaaaaaaaaaaaaaaaaaaaaacxucxucxucxucxucxucxucxucxucxucxucxucxucxucxucxucxuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacFHcFHcFHcFHcFHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaicuycFJcEmcEmcEmcEmcEicEmcEmcEmcGpcGqcFMaaiaaicGrcFNcCTcCTaaicBdcGsaaiaaiayGanFcGtcGucGvcEscGwcEscGxcGycGtanFayHaaiaaicGzcGAaaicCqaaicGBcGCcGfcGDcnscmmcmmcrCcxTcGDcxYcGEctzcCvcrEcrEcrEcrEcrEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaayKczyczrczscztczuczwczxczuczwczwazGaaacrgcrgcrgcrgcrgaaaaaaaaaaaaaaaaaacxucxucxucxucxucxucxucxucxucxucxucxucxucxucxucxucxucxucxuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacFHaaacFHaaaaaacFHcFHcFHcFHcFHcFHcFHaaaaaacFHaaacFHaaaaaaaaaaaaaaaaaaaaaaaidHPcEYcGKcGKcGLcEmcGMcEmcEmcEmcFhcGNcGOaaiaaicFNcGPcCTcCTaaiaaicGQaaicGRcGScGSaHuaDFanFanFanFanFanFaDFaAXcGScGScGTaaicGUaaiaaicCqaaicGVcGWcGXcGYcGZcHacHbcGYcHccGYcHdcFzcHecCvaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazGczncAocApcAncAocAocAocAocAocAoazGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacxucxucxucxucxucxucxucxucxucxucxucxucxucxucxucxucxucxucxuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa diff --git a/maps/cyberiad.dmm.backup b/maps/cyberiad.dmm.backup index 229c32c55bb..1372f2e085a 100644 --- a/maps/cyberiad.dmm.backup +++ b/maps/cyberiad.dmm.backup @@ -3380,7 +3380,7 @@ "bmZ" = (/obj/structure/morgue{tag = "icon-morgue1 (WEST)"; icon_state = "morgue1"; dir = 8},/turf/simulated/floor,/area/medical/morgue) "bna" = (/turf/simulated/wall/r_wall,/area/medical/morgue) "bnb" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/asmaint) -"bnc" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/navbeacon{codes_txt = "delivery;dir=4"; freq = 1400; location = "Engineering"},/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/window/westright{name = "Reception Door"; req_access = null; req_access_txt = "0"},/turf/simulated/floor{icon_state = "bot"},/area/engine/break_room) +"bnc" = (/obj/structure/flora/kirbyplants,/obj/machinery/light_switch{pixel_x = 27},/turf/simulated/floor{icon_state = "caution"; dir = 4},/area/engine/controlroom) "bnd" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/grille,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard_medi"; name = "Quarantine Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area) "bne" = (/obj/machinery/computer/rdconsole/robotics,/obj/machinery/alarm{pixel_y = 25},/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) "bnf" = (/obj/structure/table,/obj/item/weapon/book/manual/robotics_cyborgs{pixel_x = 2; pixel_y = 5},/obj/item/weapon/storage/belt/utility,/obj/item/weapon/reagent_containers/glass/beaker/large,/obj/machinery/requests_console{department = "Robotics"; departmentType = 2; name = "Robotics RC"; pixel_y = 30},/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) @@ -3917,7 +3917,7 @@ "bxq" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/hallway/primary/central/sw) "bxr" = (/obj/structure/grille,/obj/structure/window/basic{dir = 4},/obj/structure/window/basic{dir = 1},/obj/structure/window/basic{dir = 8},/turf/simulated/floor/plating,/area) "bxs" = (/turf/simulated/floor{icon_state = "bot"},/area/hallway/primary/central/sw) -"bxt" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area) +"bxt" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/engine/controlroom) "bxu" = (/obj/machinery/computer/card,/turf/simulated/floor{icon_state = "blue"; dir = 10},/area/crew_quarters/heads) "bxv" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/crew_quarters/heads) "bxw" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/carpet,/area/crew_quarters/heads) @@ -3993,7 +3993,7 @@ "byO" = (/obj/structure/filingcabinet,/obj/machinery/requests_console{department = "NT Recruiter"; departmentType = 5; pixel_x = -30; pixel_y = 0},/turf/simulated/floor,/area/crew_quarters/recruit) "byP" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/crew_quarters/recruit) "byQ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/crew_quarters/recruit) -"byR" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/machinery/light_switch{pixel_x = -23; pixel_y = 7},/turf/simulated/floor{icon_state = "dark"},/area/engine/break_room) +"byR" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/navbeacon{codes_txt = "delivery;dir=4"; freq = 1400; location = "Engineering"},/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/window/westright{name = "Reception Door"; req_access = null; req_access_txt = "0"},/turf/simulated/floor{icon_state = "bot"},/area/engine/controlroom) "byS" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/port/east) "byT" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor,/area/hallway/primary/port/east) "byU" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/sleep) @@ -4007,7 +4007,7 @@ "bzc" = (/obj/machinery/conveyor{dir = 4; id = "packageExternal"},/turf/simulated/floor{icon_state = "floorgrime"},/area/hallway/primary/central/west) "bzd" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/hallway/primary/central/sw) "bze" = (/obj/structure/grille,/obj/structure/window/basic{dir = 4},/obj/structure/window/basic{dir = 8},/turf/simulated/floor/plating,/area) -"bzf" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{icon_state = "dark"},/area/engine/break_room) +"bzf" = (/turf/simulated/floor,/area/engine/controlroom) "bzg" = (/obj/structure/closet/secure_closet/hop,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/item/weapon/gun/energy/taser,/turf/simulated/floor,/area/crew_quarters/heads) "bzh" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/crew_quarters/heads) "bzi" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/pdapainter,/turf/simulated/floor/carpet,/area/crew_quarters/heads) @@ -5277,11 +5277,11 @@ "bXy" = (/obj/structure/disposalpipe/segment,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/obj/machinery/camera{c_tag = "Aft Primary Hallway 1"; dir = 4; network = list("SS13")},/turf/simulated/floor{dir = 8; icon_state = "cautioncorner"},/area/hallway/primary/aft) "bXz" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/hallway/primary/aft) "bXA" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft) -"bXB" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/structure/closet/firecloset,/obj/item/taperoll/engineering,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor,/area/engine/break_room) -"bXC" = (/obj/structure/extinguisher_cabinet{pixel_x = 0; pixel_y = 30},/obj/structure/closet/firecloset,/obj/item/taperoll/engineering,/turf/simulated/floor,/area/engine/break_room) +"bXB" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor{dir = 4; icon_state = "loadingarea"; tag = "loading"},/area/engine/controlroom) +"bXC" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/window/northleft{dir = 4; icon_state = "left"; name = "Engineering Moniter Station"; req_access_txt = "32"},/turf/simulated/floor{icon_state = "delivery"},/area/engine/controlroom) "bXD" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard_medi"; name = "Quarantine Lockdown"; opacity = 0},/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/medbay3) -"bXE" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/computer/security/telescreen{desc = "Used for watching the singularity chamber."; dir = 8; layer = 4; name = "Singularity Engine Telescreen"; network = list("Singularity"); pixel_x = 0; pixel_y = 30},/obj/structure/stool/bed/chair/office/dark{dir = 4},/turf/simulated/floor,/area/engine/break_room) -"bXF" = (/obj/machinery/power/monitor,/obj/structure/cable,/turf/simulated/floor{icon_state = "caution"; dir = 5},/area/engine/break_room) +"bXE" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/obj/machinery/camera{c_tag = "Atmospherics Monitoring"; dir = 8; network = list("SS13")},/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{icon_state = "caution"; dir = 4},/area/engine/controlroom) +"bXF" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/engine/controlroom) "bXG" = (/obj/structure/table,/obj/item/device/t_scanner,/turf/simulated/floor/plating,/area/maintenance/asmaint) "bXH" = (/obj/structure/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/asmaint) "bXI" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/grille{density = 0; icon_state = "brokengrille"},/turf/simulated/floor/plating,/area/maintenance/asmaint) @@ -5352,8 +5352,8 @@ "bYV" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/hallway/primary/aft) "bYW" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft) "bYX" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/poddoor/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "acute1"; name = "Acute 1 Privacy Shutters"; opacity = 0},/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/sleeper) -"bYY" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/window/northleft{dir = 4; icon_state = "left"; name = "Engineering Moniter Station"; req_access_txt = "32"},/turf/simulated/floor{icon_state = "delivery"},/area/engine/break_room) -"bYZ" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor{dir = 4; icon_state = "loadingarea"; tag = "loading"},/area/engine/break_room) +"bYY" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/grille,/turf/simulated/floor/plating,/area/engine/controlroom) +"bYZ" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor,/area/engine/controlroom) "bZa" = (/turf/simulated/floor,/area/engine/break_room) "bZb" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/engine/break_room) "bZc" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor{dir = 2; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay2) @@ -5397,7 +5397,7 @@ "bZO" = (/obj/structure/dispenser,/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) "bZP" = (/obj/machinery/atmospherics/portables_connector{layer = 2},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) "bZQ" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = -28},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) -"bZR" = (/obj/structure/flora/kirbyplants,/obj/machinery/light_switch{pixel_x = 27},/turf/simulated/floor{icon_state = "caution"; dir = 4},/area/engine/break_room) +"bZR" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/dispenser{pixel_x = -1},/turf/simulated/floor,/area/engine/controlroom) "bZS" = (/obj/machinery/portable_atmospherics/scrubber,/turf/simulated/floor{tag = "icon-whitepurple (SOUTHWEST)"; icon_state = "whitepurple"; dir = 10},/area/toxins/mixing) "bZT" = (/obj/machinery/portable_atmospherics/pump,/obj/machinery/light,/turf/simulated/floor{tag = "icon-whitepurple (SOUTHEAST)"; icon_state = "whitepurple"; dir = 6},/area/toxins/mixing) "bZU" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/portable_atmospherics/canister,/turf/simulated/floor{dir = 10; icon_state = "whitered"},/area/toxins/mixing) @@ -5431,12 +5431,12 @@ "caw" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{dir = 8; icon_state = "cautioncorner"},/area/hallway/primary/aft) "cax" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/hallway/primary/aft) "cay" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/hallway/primary/aft) -"caz" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/grille,/turf/simulated/floor/plating,/area) -"caA" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/dispenser{pixel_x = -1},/turf/simulated/floor,/area/engine/break_room) -"caB" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor,/area/engine/break_room) +"caz" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/engine/controlroom) +"caA" = (/obj/machinery/power/monitor,/obj/structure/cable,/turf/simulated/floor{icon_state = "caution"; dir = 5},/area/engine/controlroom) +"caB" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/computer/security/telescreen{desc = "Used for watching the singularity chamber."; dir = 8; layer = 4; name = "Singularity Engine Telescreen"; network = list("Singularity"); pixel_x = 0; pixel_y = 30},/obj/structure/stool/bed/chair/office/dark{dir = 4},/turf/simulated/floor,/area/engine/controlroom) "caC" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/engine/break_room) -"caD" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/engine/break_room) -"caE" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/obj/machinery/camera{c_tag = "Atmospherics Monitoring"; dir = 8; network = list("SS13")},/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{icon_state = "caution"; dir = 4},/area/engine/break_room) +"caD" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/structure/closet/firecloset,/obj/item/taperoll/engineering,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor,/area/engine/controlroom) +"caE" = (/obj/structure/closet/firecloset,/obj/item/taperoll/engineering,/obj/machinery/computer/security/telescreen{desc = "Used for watching the supermatter core."; name = "Supermatter Monitor"; network = list("Supermatter"); pixel_x = 0; pixel_y = 30},/turf/simulated/floor,/area/engine/controlroom) "caF" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/wall/r_wall,/area) "caG" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/machinery/portable_atmospherics/canister/oxygen{name = "Canister: \[O2] (CRYO)"},/obj/machinery/light_switch{name = "light switch "; dir = 2; pixel_x = 0; pixel_y = -22},/turf/simulated/floor{icon_state = "blue"; dir = 10},/area/medical/sleeper) "caH" = (/obj/machinery/bodyscanner,/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/medical/sleeper) @@ -5499,17 +5499,17 @@ "cbM" = (/obj/structure/disposalpipe/segment,/obj/structure/extinguisher_cabinet{pixel_x = -27; pixel_y = 1},/obj/machinery/light{dir = 8},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "cautioncorner"},/area/hallway/primary/aft) "cbN" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor,/area/hallway/primary/aft) "cbO" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/hallway/primary/aft) -"cbP" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/window/northleft{dir = 4; icon_state = "left"; name = "Engineering Desk"; req_access_txt = "32"},/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/engine/break_room) -"cbQ" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor,/area/engine/break_room) +"cbP" = (/obj/structure/extinguisher_cabinet{pixel_x = 0; pixel_y = 30},/obj/structure/closet/firecloset,/obj/item/taperoll/engineering,/turf/simulated/floor,/area/engine/controlroom) +"cbQ" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/machinery/power/apc{dir = 2; name = "Engineering Control Room APC"; pixel_y = -24},/turf/simulated/floor,/area/engine/controlroom) "cbR" = (/obj/machinery/hologram/holopad,/turf/simulated/floor,/area/engine/break_room) -"cbS" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/toolbox/mechanical,/obj/item/device/t_scanner,/turf/simulated/floor,/area/engine/break_room) -"cbT" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/obj/machinery/computer/station_alert,/turf/simulated/floor,/area/engine/break_room) -"cbU" = (/obj/machinery/computer/general_air_control{frequency = 1441; name = "Tank Monitor"; sensors = list("n2_sensor" = "Nitrogen", "o2_sensor" = "Oxygen", "co2_sensor" = "Carbon Dioxide", "tox_sensor" = "Toxins", "n2o_sensor" = "Nitrous Oxide", "waste_sensor" = "Gas Mix Tank")},/obj/machinery/requests_console{department = "Atmospherics"; departmentType = 4; name = "Atmos RC"; pixel_x = 30; pixel_y = 0},/turf/simulated/floor{icon_state = "caution"; dir = 4},/area/engine/break_room) -"cbV" = (/turf/simulated/floor{icon_state = "dark"},/area/engine/break_room) -"cbW" = (/turf/simulated/floor{icon_state = "vault"; dir = 1},/area/engine/break_room) -"cbX" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'RADIOACTIVE AREA'"; icon_state = "radiation"; name = "RADIOACTIVE AREA"; pixel_x = 0; pixel_y = 32},/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/engine/break_room) -"cbY" = (/turf/simulated/floor{icon_state = "vault"; dir = 4},/area/engine/break_room) -"cbZ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/engine/break_room) +"cbS" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/item/device/radio/intercom{freerange = 0; frequency = 1459; name = "Station Intercom (General)"; pixel_x = -30},/turf/simulated/floor,/area/engine/controlroom) +"cbT" = (/turf/simulated/floor{icon_state = "dark"},/area/engine/gravitygenerator) +"cbU" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area/engine/gravitygenerator) +"cbV" = (/obj/machinery/computer/atmos_alert,/turf/simulated/floor{dir = 6; icon_state = "caution"},/area/engine/controlroom) +"cbW" = (/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" = "Waste Loop")},/turf/simulated/floor,/area/engine/controlroom) +"cbX" = (/obj/machinery/camera{c_tag = "Atmospherics Gravity Generator Room"; dir = 8; network = list("SS13"); pixel_x = 0; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor{icon_state = "dark"},/area/engine/gravitygenerator) +"cbY" = (/turf/simulated/floor{icon_state = "vault"; dir = 1},/area/engine/gravitygenerator) +"cbZ" = (/obj/machinery/gravity_generator/main/station,/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/engine/gravitygenerator) "cca" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{id_tag = null; name = "Recovery Ward"; req_access_txt = "0"},/turf/simulated/floor{icon_state = "white"},/area/medical/ward) "ccb" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{id_tag = null; name = "Recovery Ward"; req_access_txt = "0"},/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/medical/ward) "ccc" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/status_display,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/wall,/area) @@ -5568,13 +5568,13 @@ "cdd" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/circuitboard/message_monitor{pixel_y = -5},/obj/item/weapon/circuitboard/arcade/battle,/obj/item/weapon/circuitboard/arcade/orion_trail{pixel_x = -4; pixel_y = 2},/turf/simulated/floor/plating,/area/storage/tech) "cde" = (/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = 27},/turf/simulated/floor/plating,/area/storage/tech) "cdf" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 8; icon_state = "cautioncorner"},/area/hallway/primary/aft) -"cdg" = (/obj/machinery/computer/guestpass,/obj/structure/table,/turf/simulated/floor,/area/engine/break_room) -"cdh" = (/obj/structure/stool/bed/chair/office/dark{dir = 4},/turf/simulated/floor,/area/engine/break_room) +"cdg" = (/turf/simulated/floor{icon_state = "vault"; dir = 4},/area/engine/gravitygenerator) +"cdh" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Firelock North"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering"; req_access_txt = "0"; req_one_access_txt = "11;24"},/turf/simulated/floor,/area/engine/controlroom) "cdi" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced{explosion_resistance = 10},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/turf/simulated/floor/plating,/area) -"cdj" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area) -"cdk" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/engine/break_room) -"cdl" = (/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/engine/break_room) -"cdm" = (/obj/machinery/light{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/engine/break_room) +"cdj" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area/engine/controlroom) +"cdk" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area/engine/controlroom) +"cdl" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area/engine/controlroom) +"cdm" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/machinery/light_switch{pixel_x = -23; pixel_y = 7},/turf/simulated/floor{icon_state = "dark"},/area/engine/gravitygenerator) "cdn" = (/obj/machinery/light_switch{pixel_x = 0; pixel_y = 23},/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = -25; pixel_y = 0; req_access_txt = "0"},/turf/simulated/floor{icon_state = "white"},/area/medical/ward) "cdo" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/obj/machinery/light{dir = 1; on = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/ward) "cdp" = (/obj/structure/closet/secure_closet/personal/patient,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/ward) @@ -5643,12 +5643,12 @@ "ceA" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "cautioncorner"},/area/hallway/primary/aft) "ceB" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor,/area/hallway/primary/aft) "ceC" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/aft) -"ceD" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/item/device/radio/intercom{freerange = 0; frequency = 1459; name = "Station Intercom (General)"; pixel_x = -30},/turf/simulated/floor,/area/engine/break_room) +"ceD" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{icon_state = "dark"},/area/engine/gravitygenerator) "ceE" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/engine/break_room) -"ceF" = (/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" = "Waste Loop")},/turf/simulated/floor,/area/engine/break_room) -"ceG" = (/obj/machinery/computer/atmos_alert,/turf/simulated/floor{dir = 6; icon_state = "caution"},/area/engine/break_room) -"ceH" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area) -"ceI" = (/obj/machinery/gravity_generator/main/station,/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/engine/break_room) +"ceF" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor{icon_state = "dark"},/area/engine/gravitygenerator) +"ceG" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/toolbox/mechanical,/obj/item/device/t_scanner,/turf/simulated/floor,/area/engine/controlroom) +"ceH" = (/obj/machinery/hologram/holopad,/turf/simulated/floor,/area/engine/controlroom) +"ceI" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor,/area/engine/controlroom) "ceJ" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced{explosion_resistance = 10},/obj/structure/window/plasmareinforced{dir = 1},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/turf/simulated/floor/plating,/area/toxins/mixing) "ceK" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/medical,/turf/simulated/floor{icon_state = "white"},/area/medical/ward) "ceL" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 8; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/medical/ward) @@ -5711,13 +5711,13 @@ "cfQ" = (/obj/structure/table/reinforced,/obj/item/device/sps/science,/obj/item/device/sps/science,/obj/item/device/sps/science,/turf/simulated/floor,/area/toxins/telesci) "cfR" = (/obj/machinery/light_switch{pixel_x = 27},/turf/simulated/floor/plating,/area/storage/tech) "cfS" = (/obj/structure/closet/emcloset,/turf/simulated/floor{icon_state = "caution"; dir = 4},/area/hallway/secondary/construction{name = "\improper Engineering Training"}) -"cfT" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Firelock North"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering"; req_access_txt = "0"; req_one_access_txt = "11;24"},/turf/simulated/floor,/area/engine/break_room) -"cfU" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area) -"cfV" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area) -"cfW" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area) +"cfT" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/window/northleft{dir = 4; icon_state = "left"; name = "Engineering Desk"; req_access_txt = "32"},/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/engine/controlroom) +"cfU" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/engine/gravitygenerator) +"cfV" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'RADIOACTIVE AREA'"; icon_state = "radiation"; name = "RADIOACTIVE AREA"; pixel_x = 0; pixel_y = 32},/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/engine/gravitygenerator) +"cfW" = (/obj/machinery/power/apc{dir = 1; name = "Gravity Generator APC"; pixel_y = 26},/turf/simulated/floor{icon_state = "dark"},/area/engine/gravitygenerator) "cfX" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/wall/r_wall,/area) "cfY" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/door/airlock/glass_research{name = "Research and Development"; req_access_txt = "65"},/turf/simulated/floor{icon_state = "white"},/area/medical/research_shuttle_dock) -"cfZ" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor{icon_state = "dark"},/area/engine/break_room) +"cfZ" = (/obj/machinery/computer/general_air_control{frequency = 1441; name = "Tank Monitor"; sensors = list("n2_sensor" = "Nitrogen", "o2_sensor" = "Oxygen", "co2_sensor" = "Carbon Dioxide", "tox_sensor" = "Toxins", "n2o_sensor" = "Nitrous Oxide", "waste_sensor" = "Gas Mix Tank")},/obj/machinery/requests_console{department = "Atmospherics"; departmentType = 4; name = "Atmos RC"; pixel_x = 30; pixel_y = 0},/turf/simulated/floor{icon_state = "caution"; dir = 4},/area/engine/controlroom) "cga" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/command{name = "Conference Room"; req_access = null; req_access_txt = "19"},/turf/simulated/floor/wood,/area/bridge/meeting_room) "cgb" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/maintenance/asmaint) "cgc" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/ward) @@ -5765,12 +5765,12 @@ "cgS" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft) "cgT" = (/obj/structure/closet/emcloset,/turf/simulated/floor{dir = 6; icon_state = "caution"},/area/hallway/secondary/construction{name = "\improper Engineering Training"}) "cgU" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor,/area/engine/break_room) -"cgV" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/obj/structure/table,/turf/simulated/floor,/area/engine/break_room) -"cgW" = (/obj/structure/table,/obj/item/apc_frame,/turf/simulated/floor,/area/engine/break_room) +"cgV" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/obj/machinery/computer/station_alert,/turf/simulated/floor,/area/engine/controlroom) +"cgW" = (/obj/machinery/computer/guestpass,/obj/structure/table,/turf/simulated/floor,/area/engine/controlroom) "cgX" = (/obj/structure/disposaloutlet,/obj/structure/disposalpipe/trunk{dir = 1},/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced{dir = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/turf/simulated/floor/plating{nitrogen = 0.01; oxygen = 0.01},/area/toxins/mixing) -"cgY" = (/obj/structure/closet/firecloset,/obj/item/taperoll/engineering,/obj/machinery/computer/security/telescreen{desc = "Used for watching the supermatter core."; name = "Supermatter Monitor"; network = list("Supermatter"); pixel_x = 0; pixel_y = 30},/turf/simulated/floor,/area/engine/break_room) +"cgY" = (/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/engine/gravitygenerator) "cgZ" = (/obj/structure/rack,/obj/item/clothing/shoes/centcom,/obj/item/clothing/under/lawyer/black{name = "Executive Suit"},/obj/item/clothing/under/lawyer/female{name = "Executive Suit"},/obj/item/clothing/under/rank/centcom_officer,/obj/item/weapon/storage/briefcase,/obj/item/clothing/under/lawyer/oldman,/obj/item/device/paicard{pixel_x = 4},/obj/item/clothing/gloves/white,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/wood,/area/ntrep) -"cha" = (/obj/machinery/door/airlock/glass_command{name = "Gravity Generator Area"; req_access_txt = "19; 61"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/engine/break_room) +"cha" = (/obj/machinery/light{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/engine/gravitygenerator) "chb" = (/obj/structure/closet/secure_closet/blueshield,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/wood,/area/blueshield) "chc" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/medical,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor{icon_state = "white"},/area/medical/ward) "chd" = (/obj/structure/table,/obj/item/weapon/storage/box/gloves,/obj/item/weapon/storage/box/masks,/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"},/obj/machinery/light_switch{pixel_x = -5; pixel_y = 27},/obj/machinery/holosign_switch{id = "surgery1"; pixel_x = 5; pixel_y = 27},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) @@ -5825,12 +5825,12 @@ "cia" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor{dir = 8; icon_state = "cautioncorner"},/area/hallway/primary/aft) "cib" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/machinery/portable_atmospherics/pump,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor{icon_state = "arrival"; dir = 8},/area/hallway/primary/aft) "cic" = (/obj/machinery/atmospherics/pipe/manifold{_color = "cyan"; dir = 1; icon_state = "manifold-c"; level = 2},/obj/machinery/meter,/turf/simulated/wall/r_wall,/area) -"cid" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor,/area/engine/break_room) -"cie" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor,/area/engine/break_room) -"cif" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/airlock/atmos{name = "Gravity Generator"; req_access_txt = "24"},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/engine/break_room) -"cig" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 10; icon_state = "intact-b-f"; initialize_directions = 10; level = 1; name = "pipe"},/turf/simulated/floor,/area/engine/break_room) -"cih" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor,/area/engine/break_room) -"cii" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor,/area/engine/break_room) +"cid" = (/obj/machinery/computer/security/engineering,/turf/simulated/floor{icon_state = "caution"; dir = 4},/area/engine/controlroom) +"cie" = (/obj/structure/stool/bed/chair/office/dark{dir = 4},/turf/simulated/floor,/area/engine/controlroom) +"cif" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/engine/gravitygenerator) +"cig" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area/engine/gravitygenerator) +"cih" = (/obj/machinery/power/apc{cell_type = 15000; dir = 1; name = "Engine Room APC"; pixel_y = 24},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area/engine/reactor_core) +"cii" = (/turf/simulated/floor,/area/engine/equipmentstorage) "cij" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Operating Theatre"; req_access_txt = "45"},/obj/machinery/holosign/surgery{id = "surgery1"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) "cik" = (/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,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/alarm{pixel_y = 23},/obj/item/weapon/reagent_containers/blood/OMinus,/obj/machinery/camera{c_tag = "Medbay Surgery 1 North"; network = list("SS13")},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) "cil" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) @@ -5848,9 +5848,9 @@ "cix" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating,/area/solar/starboard) "ciy" = (/obj/machinery/power/terminal{icon_state = "term"; dir = 1},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/solar/starboard) "ciz" = (/obj/machinery/camera{c_tag = "Cargo Disposals"; dir = 1; network = list("SS13")},/obj/machinery/light/small,/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor/plating,/area/maintenance/disposal) -"ciA" = (/obj/machinery/camera{c_tag = "Atmospherics Gravity Generator Room"; dir = 8; network = list("SS13"); pixel_x = 0; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor{icon_state = "dark"},/area/engine/break_room) +"ciA" = (/obj/structure/table,/obj/item/device/radio{pixel_y = 6},/obj/item/device/radio{pixel_x = 6; pixel_y = 4},/obj/item/device/radio{pixel_x = -6; pixel_y = 4},/obj/item/device/radio,/turf/simulated/floor,/area/engine/equipmentstorage) "ciB" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact"; level = 2},/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced{explosion_resistance = 10},/obj/structure/window/plasmareinforced{dir = 1},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/turf/simulated/floor/plating,/area) -"ciC" = (/obj/machinery/computer/security/engineering,/turf/simulated/floor{icon_state = "caution"; dir = 4},/area/engine/break_room) +"ciC" = (/obj/structure/table,/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/plasteel{amount = 10},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/item/stack/rods{amount = 50},/turf/simulated/floor,/area/engine/equipmentstorage) "ciD" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk3"; icon_state = "catwalk3"},/area) "ciE" = (/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) "ciF" = (/obj/item/clothing/mask/cigarette,/turf/simulated/floor/plating/airless,/area/toxins/test_area) @@ -5862,16 +5862,16 @@ "ciL" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/turf/simulated/floor{dir = 8; icon_state = "cautioncorner"},/area/hallway/primary/aft) "ciM" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/machinery/portable_atmospherics/pump,/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor{icon_state = "arrival"; dir = 8},/area/hallway/primary/aft) "ciN" = (/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; dir = 9; icon_state = "intact-c"; level = 2},/turf/simulated/wall/r_wall,/area) -"ciO" = (/obj/machinery/camera{c_tag = "Atmospherics Access"; dir = 4; network = list("SS13")},/obj/machinery/light{dir = 8},/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 6; icon_state = "intact-r-f"; level = 1},/turf/simulated/floor,/area/engine/break_room) -"ciP" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/turf/simulated/floor,/area/engine/break_room) -"ciQ" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/obj/machinery/drone_fabricator,/turf/simulated/floor,/area/engine/break_room) -"ciR" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/turf/simulated/floor,/area/engine/break_room) -"ciS" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/obj/machinery/computer/drone_control,/turf/simulated/floor,/area/engine/break_room) +"ciO" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/engine/equipmentstorage) +"ciP" = (/obj/structure/closet/secure_closet/engineering_welding,/turf/simulated/floor,/area/engine/equipmentstorage) +"ciQ" = (/obj/structure/table,/obj/item/weapon/airlock_electronics,/obj/item/weapon/airlock_electronics,/obj/item/stack/cable_coil,/obj/item/stack/cable_coil,/turf/simulated/floor,/area/engine/equipmentstorage) +"ciR" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/engine/equipmentstorage) +"ciS" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/cable,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/engine/chiefs_office) "ciT" = (/obj/structure/sign/securearea,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/turf/simulated/wall/r_wall,/area) -"ciU" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/electrical{pixel_y = 5},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/turf/simulated/floor,/area/engine/break_room) +"ciU" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/engine/hardsuitstorage) "ciV" = (/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 0; pixel_y = -25},/turf/simulated/floor{dir = 2; icon_state = "brown"},/area/quartermaster/miningdock) -"ciW" = (/obj/structure/table,/obj/item/device/multitool,/turf/simulated/floor,/area/engine/break_room) -"ciX" = (/obj/structure/table,/obj/item/weapon/wirecutters,/turf/simulated/floor,/area/engine/break_room) +"ciW" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating,/area/engine/chiefs_office) +"ciX" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/engine/hardsuitstorage) "ciY" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor{dir = 2; icon_state = "brown"},/area/quartermaster/miningdock) "ciZ" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) "cja" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) @@ -5914,7 +5914,7 @@ "cjL" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/aft) "cjM" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/machinery/portable_atmospherics/scrubber,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor{dir = 8; icon_state = "escape"},/area/hallway/primary/aft) "cjN" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r"; level = 2},/obj/machinery/meter,/turf/simulated/wall/r_wall,/area) -"cjO" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Firelock North"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering"; req_access_txt = "0"; req_one_access_txt = "11;24"},/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 9; icon_state = "intact-r-f"; level = 1; name = "pipe"},/turf/simulated/floor,/area/engine/break_room) +"cjO" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 8; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/engine/hardsuitstorage) "cjP" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/wall/r_wall,/area) "cjQ" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/wall/r_wall,/area) "cjR" = (/obj/structure/closet/secure_closet/chemical,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor{dir = 5; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/chemistry) @@ -5958,9 +5958,9 @@ "ckD" = (/obj/structure/table,/obj/machinery/media/receiver/boombox,/turf/simulated/floor,/area/engine/break_room) "ckE" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/table,/turf/simulated/floor,/area/engine/break_room) "ckF" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/turf/simulated/wall/r_wall,/area) -"ckG" = (/obj/machinery/computer/general_air_control{frequency = 1441; name = "Tank Monitor"; sensors = list("n2_sensor" = "Nitrogen", "o2_sensor" = "Oxygen", "co2_sensor" = "Carbon Dioxide", "tox_sensor" = "Toxins", "n2o_sensor" = "Nitrous Oxide", "waste_sensor" = "Gas Mix Tank")},/turf/simulated/floor,/area/atmos) +"ckG" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor,/area/engine/hardsuitstorage) "ckH" = (/obj/machinery/computer/rdservercontrol,/obj/machinery/light_switch{pixel_y = -23},/turf/simulated/floor{icon_state = "dark"},/area/toxins/server) -"ckI" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/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" = "Waste Loop")},/turf/simulated/floor,/area/atmos) +"ckI" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/engine/hardsuitstorage) "ckJ" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b"; level = 2; tag = "icon-manifold-b (NORTH)"},/turf/simulated/floor/plating,/area/maintenance/asmaint) "ckK" = (/obj/structure/closet/crate/freezer,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/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/floor{icon_state = "white"},/area/medical/surgery) "ckL" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) @@ -6008,9 +6008,9 @@ "clB" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor,/area/engine/break_room) "clC" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor,/area/engine/break_room) "clD" = (/obj/machinery/light,/turf/simulated/floor/wood,/area/mimeoffice) -"clE" = (/obj/machinery/computer/atmoscontrol,/turf/simulated/floor,/area/atmos) -"clF" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/obj/structure/stool/bed/chair/office/dark{dir = 1},/turf/simulated/floor,/area/atmos) -"clG" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/computer/atmos_alert,/turf/simulated/floor,/area/atmos) +"clE" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor,/area/engine/hardsuitstorage) +"clF" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/cable,/turf/simulated/floor/plating,/area/engine/chiefs_office) +"clG" = (/obj/structure/closet/secure_closet/engineering_electrical,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/engine/hardsuitstorage) "clH" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/asmaint) "clI" = (/obj/structure/closet/secure_closet/medical3,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) "clJ" = (/obj/structure/table,/obj/item/weapon/retractor,/obj/item/weapon/cautery,/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) @@ -6041,7 +6041,7 @@ "cmi" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/landmark/nations{name = "Atmosia"},/turf/simulated/floor,/area/engine/break_room) "cmj" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/engine/break_room) "cmk" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/light_switch{pixel_x = 27},/turf/simulated/floor/wood,/area/mimeoffice) -"cml" = (/obj/structure/disposalpipe/trunk{dir = 8},/obj/machinery/disposal,/turf/simulated/floor,/area/atmos) +"cml" = (/obj/machinery/vending/tool,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor,/area/engine/hardsuitstorage) "cmm" = (/turf/simulated/floor,/area/atmos) "cmn" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/atmos) "cmo" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/item/flag/mime,/turf/simulated/floor/wood,/area/mimeoffice) @@ -6099,9 +6099,9 @@ "cno" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/storage/box,/obj/item/weapon/storage/box,/obj/item/weapon/storage/belt/utility,/turf/simulated/floor,/area/engine/break_room) "cnp" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/stool/bed/chair/comfy/black{dir = 8},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor,/area/engine/break_room) "cnq" = (/obj/machinery/photocopier,/turf/simulated/floor/wood,/area/mimeoffice) -"cnr" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor,/area/atmos) +"cnr" = (/obj/structure/closet/secure_closet/engineering_welding,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/engine/hardsuitstorage) "cns" = (/obj/machinery/atmospherics/portables_connector,/turf/simulated/floor,/area/atmos) -"cnt" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/door_control{id = "atmos"; name = "Atmospherics Lockdown"; pixel_x = 24; pixel_y = 4; req_access_txt = "24"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/atmos) +"cnt" = (/obj/structure/table,/obj/machinery/cell_charger,/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/light_switch{pixel_x = 27},/turf/simulated/floor,/area/engine/equipmentstorage) "cnu" = (/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard_medi"; name = "Quarantine Lockdown"; opacity = 0},/obj/machinery/door/airlock/maintenance{name = "Surgery Maintenance"; req_access_txt = "45"},/turf/simulated/floor/plating,/area/medical/surgery) "cnv" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard_medi"; name = "Quarantine Lockdown"; opacity = 0},/obj/machinery/door/airlock/maintenance{name = "Surgery Maintenance"; req_access_txt = "45"},/turf/simulated/floor/plating,/area/medical/surgery) "cnw" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/asmaint) @@ -6139,7 +6139,7 @@ "coc" = (/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},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/turf/simulated/floor/plating,/area) "cod" = (/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; dir = 4; icon_state = "intact-c"; level = 2},/turf/simulated/floor,/area/atmos) "coe" = (/obj/machinery/atmospherics/pipe/manifold{_color = "cyan"; icon_state = "manifold-c"; level = 2},/turf/simulated/floor,/area/atmos) -"cof" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; dir = 9; icon_state = "intact-c"; level = 2},/turf/simulated/floor,/area/atmos) +"cof" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/engine/equipmentstorage) "cog" = (/obj/item/device/radio/intercom{pixel_y = 25},/obj/machinery/camera{c_tag = "Research Toxins Launch Room"; dir = 4; network = list("Research","SS13"); pixel_y = -22},/obj/machinery/atmospherics/pipe/vent{dir = 8},/obj/machinery/light{dir = 8},/obj/machinery/light_switch{pixel_x = -23; pixel_y = 0},/turf/simulated/floor,/area/toxins/mixing) "coh" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/wall/r_wall,/area) "coi" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 2; icon_state = "manifold-b"; level = 2; tag = "icon-manifold-b"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/maintenance/asmaint) @@ -6185,9 +6185,9 @@ "coW" = (/obj/structure/table,/obj/item/weapon/folder/yellow,/turf/simulated/floor,/area/engine/break_room) "coX" = (/obj/effect/landmark/start{name = "Life Support Specialist"},/obj/structure/stool/bed/chair/comfy/black{dir = 8},/turf/simulated/floor,/area/engine/break_room) "coY" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced{dir = 1},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/turf/simulated/floor/plating,/area) -"coZ" = (/obj/structure/sign/atmosplaque{pixel_x = 0; pixel_y = -32},/obj/structure/closet/secure_closet/atmos_personal,/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/atmos) -"cpa" = (/obj/structure/closet/fireaxecabinet{pixel_y = -32},/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/machinery/light,/obj/structure/closet/secure_closet/atmos_personal,/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/atmos) -"cpb" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/obj/structure/closet/secure_closet/atmos_personal,/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/atmos) +"coZ" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/engine/equipmentstorage) +"cpa" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical{pixel_y = 5},/obj/item/device/radio,/obj/item/device/radio,/obj/item/device/radio,/obj/item/device/radio,/obj/item/weapon/storage/belt/utility,/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/engine/equipmentstorage) +"cpb" = (/obj/structure/table,/obj/item/device/flashlight{pixel_x = 1; pixel_y = 5},/obj/item/weapon/storage/toolbox/mechanical{pixel_y = 5},/obj/item/device/flashlight{pixel_x = 1; pixel_y = 5},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/item/weapon/storage/belt/utility,/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/engine/equipmentstorage) "cpc" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/door/airlock/research{name = "Toxins Launch Room"; req_access_txt = "8"},/turf/simulated/floor,/area/toxins/mixing) "cpd" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/turf/simulated/wall/r_wall,/area) "cpe" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor/plating,/area/maintenance/asmaint) @@ -6305,13 +6305,13 @@ "crm" = (/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{tag = "icon-warnwhite (NORTH)"; icon_state = "warnwhite"; dir = 1},/area/assembly/assembly_line) "crn" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/aft) "cro" = (/obj/structure/table/woodentable,/obj/machinery/light/small/lamp/green,/turf/simulated/floor/wood,/area/mimeoffice) -"crp" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Engineering"; name = "Engineering Security Doors"; opacity = 0},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/firedoor/border_only{dir = 1; name = "Firelock North"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering"; req_access_txt = "0"; req_one_access_txt = "11;24"},/turf/simulated/floor,/area/engine/break_room) -"crq" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'RADIOACTIVE AREA'"; icon_state = "radiation"; name = "RADIOACTIVE AREA"; pixel_x = 0; pixel_y = 0},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Engineering"; name = "Engineering Security Doors"; opacity = 0},/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,/obj/structure/disposalpipe/segment,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Engineering"; name = "Engineering Security Doors"; opacity = 0},/turf/simulated/floor/plating,/area) -"crr" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Engineering"; name = "Engineering Security Doors"; opacity = 0},/turf/simulated/floor/plating,/area) -"crs" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Engineering"; name = "Engineering Security Doors"; opacity = 0},/turf/simulated/floor/plating,/area) -"crt" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Engineering"; name = "Engineering Security Doors"; opacity = 0},/turf/simulated/floor/plating,/area) +"crp" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/engine/equipmentstorage) +"crq" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor,/area/engine/equipmentstorage) +"crr" = (/obj/structure/closet/secure_closet/engineering_electrical,/turf/simulated/floor,/area/engine/equipmentstorage) +"crs" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/cable,/turf/simulated/floor/plating,/area/engine/chiefs_office) +"crt" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor,/area/engine/equipmentstorage) "cru" = (/obj/machinery/light{dir = 1},/obj/machinery/light_switch{pixel_y = 28},/turf/simulated/floor/plating,/area/engine/reactor_core) -"crv" = (/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},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Engineering"; name = "Engineering Security Doors"; opacity = 0},/turf/simulated/floor/plating,/area) +"crv" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/table,/obj/item/clothing/gloves/black,/obj/item/clothing/gloves/black,/obj/item/clothing/gloves/black,/obj/item/weapon/crowbar,/obj/item/weapon/storage/box/lights/mixed,/turf/simulated/floor,/area/engine/equipmentstorage) "crw" = (/obj/machinery/camera{c_tag = "Atmospherics North-West"; dir = 4; network = list("SS13")},/obj/machinery/light{dir = 8},/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor{icon_state = "bot"},/area/atmos) "crx" = (/obj/machinery/pipedispenser/disposal,/turf/simulated/floor,/area/atmos) "cry" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/atmos) @@ -6349,12 +6349,12 @@ "cse" = (/obj/structure/closet/crate,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor/plating,/area/maintenance/aft) "csf" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9},/turf/simulated/wall,/area) "csg" = (/obj/item/weapon/beach_ball/holoball,/turf/simulated/floor/plating,/area/maintenance/aft) -"csh" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/camera{c_tag = "Engineering Equipment West"; dir = 4; network = list("SS13")},/obj/structure/closet/secure_closet/engineering_personal,/turf/simulated/floor,/area/engine/break_room) -"csi" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/engine/break_room) -"csj" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/engine/break_room) -"csk" = (/obj/machinery/camera{c_tag = "Engineering Equipment North"; network = list("SS13")},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/vending/engivend,/turf/simulated/floor,/area/engine/break_room) -"csl" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/obj/machinery/vending/tool,/turf/simulated/floor,/area/engine/break_room) -"csm" = (/obj/machinery/autolathe,/turf/simulated/floor,/area/engine/break_room) +"csh" = (/obj/structure/reagent_dispensers/fueltank,/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 5; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor,/area/engine/equipmentstorage) +"csi" = (/obj/structure/closet/wardrobe/atmospherics_yellow,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor,/area/engine/equipmentstorage) +"csj" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/table,/obj/item/device/t_scanner,/obj/item/device/radio/headset/headset_eng,/obj/item/device/multitool{pixel_x = 5},/turf/simulated/floor,/area/engine/equipmentstorage) +"csk" = (/obj/structure/disposalpipe/segment,/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = 0; pixel_y = -32; req_access_txt = "0"},/turf/simulated/floor,/area/engine/equipmentstorage) +"csl" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/engine/hardsuitstorage) +"csm" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/engine/hardsuitstorage) "csn" = (/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/weapon/crowbar,/obj/machinery/light_switch{pixel_x = -27},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/engine/engineering) "cso" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/atmos) "csp" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/atmos) @@ -6408,8 +6408,8 @@ "ctl" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/aft) "ctm" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/quartermaster/storage) "ctn" = (/obj/machinery/computer/operating{icon_state = "operatingb"; name = "Robotics Operating Computer"; stat = 1},/turf/simulated/floor{icon_state = "white"},/area/assembly/assembly_line) -"cto" = (/obj/structure/closet/secure_closet/engineering_personal,/turf/simulated/floor,/area/engine/break_room) -"ctp" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/machinery/camera{c_tag = "Engineering Equipment East"; dir = 8; network = list("SS13")},/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_x = 30; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/engineeringcart,/turf/simulated/floor,/area/engine/break_room) +"cto" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/engine/hardsuitstorage) +"ctp" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/engine/hardsuitstorage) "ctq" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/machinery/portable_atmospherics/canister/air,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/turf/simulated/floor,/area/atmos) "ctr" = (/obj/machinery/atmospherics/trinary/filter{density = 0},/turf/simulated/floor,/area/atmos) "cts" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/atmos) @@ -6463,23 +6463,23 @@ "cuo" = (/obj/machinery/door/airlock/engineering{name = "Aft Port Solar Access"; req_access_txt = "10"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/maintenance/portsolar) "cup" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/aft) "cuq" = (/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor/plating,/area/maintenance/aft) -"cur" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/item/device/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_y = 20},/obj/structure/table,/obj/item/weapon/book/manual/engineering_hacking{pixel_x = 3; pixel_y = 3},/obj/item/weapon/book/manual/engineering_construction,/obj/item/weapon/book/manual/supermatter_engine,/turf/simulated/floor,/area/engine/engineering) +"cur" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/door/airlock/glass_engineering{name = "Storage"; req_access_txt = "10"; req_one_access_txt = "11;24"},/turf/simulated/floor,/area/engine/hardsuitstorage) "cus" = (/obj/machinery/requests_console{announcementConsole = 0; department = "Engineering"; departmentType = 4; name = "Engineering RC"; pixel_y = 30},/obj/structure/table,/obj/item/weapon/book/manual/engineering_guide,/obj/item/weapon/book/manual/engineering_particle_accelerator{pixel_y = 6},/obj/item/weapon/book/manual/engineering_singularity_safety,/turf/simulated/floor,/area/engine/engineering) "cut" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/machinery/light{dir = 1},/obj/item/weapon/cartridge/engineering{pixel_x = 3},/obj/item/weapon/cartridge/engineering{pixel_x = -3; pixel_y = 2},/obj/item/weapon/cartridge/engineering{pixel_x = 4; pixel_y = 5},/obj/item/weapon/modkit/unathi,/obj/item/weapon/modkit/tajaran,/turf/simulated/floor,/area/engine/engineering) "cuu" = (/obj/machinery/power/apc{cell_type = 15000; dir = 1; name = "Engineering APC"; pixel_x = 0; pixel_y = 25},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/floor,/area/engine/engineering) -"cuv" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area/engine/engineering) -"cuw" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/rig,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/rig,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/engine/engineering) -"cux" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/rig,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/rig,/obj/machinery/light{dir = 1},/obj/machinery/alarm{pixel_x = 0; pixel_y = 24},/turf/simulated/floor,/area/engine/engineering) +"cuv" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/engine/chiefs_office) +"cuw" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/cable,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating,/area/engine/engineering) +"cux" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/cable,/turf/simulated/floor/plating,/area/engine/engineering) "cuy" = (/obj/machinery/door_control{id = "EngineVent"; name = "Engine Ventilatory Control"; pixel_x = -25; pixel_y = 0; req_access_txt = "10"},/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/machinery/portable_atmospherics/canister/nitrogen,/turf/simulated/floor/plating,/area/engine/reactor_core) "cuz" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/medical/cryo) -"cuA" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area) +"cuA" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/engine/chiefs_office) "cuB" = (/obj/machinery/keycard_auth{pixel_x = 0; pixel_y = 24},/obj/structure/table/reinforced,/obj/item/weapon/rcd,/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/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/clothing/glasses/meson{pixel_y = 4},/obj/item/device/megaphone,/mob/living/simple_animal/parrot/Poly,/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office) "cuC" = (/obj/machinery/requests_console{announcementConsole = 1; department = "Chief Engineer's Desk"; departmentType = 3; name = "Chief Engineer RC"; pixel_x = 0; pixel_y = 32},/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office) "cuD" = (/obj/machinery/newscaster{pixel_x = 0; pixel_y = 30},/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101; on = 1; pressure_checks = 1},/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office) "cuE" = (/obj/structure/closet/secure_closet/cargotech,/obj/machinery/light{dir = 8},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor{dir = 8; icon_state = "brown"},/area/quartermaster/office) "cuF" = (/obj/machinery/computer/atmos_alert,/obj/machinery/alarm{pixel_y = 24},/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office) -"cuG" = (/obj/effect/landmark{name = "lightsout"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/engine/break_room) -"cuH" = (/obj/structure/table,/obj/machinery/requests_console{announcementConsole = 0; department = "Engineering"; departmentType = 4; name = "Engineering RC"; pixel_x = 30; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/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/engine/break_room) +"cuG" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/cable,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/engine/chiefs_office) +"cuH" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/cable,/turf/simulated/floor/plating,/area/engine/engineering) "cuI" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/floor,/area/atmos) "cuJ" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/turf/simulated/floor,/area/atmos) "cuK" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/atmos) @@ -6519,21 +6519,21 @@ "cvs" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor,/area/engine/engineering) "cvt" = (/turf/simulated/floor,/area/engine/engineering) "cvu" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/engine/engineering) -"cvv" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/engine/engineering) -"cvw" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 8; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/engine/engineering) -"cvx" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor,/area/engine/engineering) -"cvy" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/engine/engineering) -"cvz" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating,/area) +"cvv" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/computer/station_alert,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor,/area/engine/engineering) +"cvw" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor,/area/atmos/control) +"cvx" = (/obj/structure/closet/fireaxecabinet{pixel_y = -32},/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/machinery/light,/obj/structure/closet/secure_closet/atmos_personal,/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/atmos/control) +"cvy" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/obj/structure/closet/secure_closet/atmos_personal,/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/atmos/control) +"cvz" = (/obj/structure/sign/atmosplaque{pixel_x = 0; pixel_y = -32},/obj/structure/closet/secure_closet/atmos_personal,/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/atmos/control) "cvA" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/item/clothing/shoes/magboots/advance,/obj/item/clothing/suit/space/rig/elite,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/rig/elite,/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office) "cvB" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 4; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office) "cvC" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office) "cvD" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/stool/bed/chair/office/light,/obj/effect/landmark/start{name = "Chief Engineer"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office) "cvE" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/machinery/computer/station_alert,/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office) -"cvF" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/cable,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area) -"cvG" = (/obj/structure/closet/secure_closet/engineering_welding,/turf/simulated/floor,/area/engine/break_room) -"cvH" = (/obj/structure/table,/obj/item/weapon/airlock_electronics,/obj/item/weapon/airlock_electronics,/obj/item/stack/cable_coil,/obj/item/stack/cable_coil,/turf/simulated/floor,/area/engine/break_room) -"cvI" = (/obj/structure/table,/obj/item/device/radio{pixel_y = 6},/obj/item/device/radio{pixel_x = 6; pixel_y = 4},/obj/item/device/radio{pixel_x = -6; pixel_y = 4},/obj/item/device/radio,/turf/simulated/floor,/area/engine/break_room) -"cvJ" = (/obj/structure/table,/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/plasteel{amount = 10},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/item/stack/rods{amount = 50},/turf/simulated/floor,/area/engine/break_room) +"cvF" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/light_switch{pixel_x = 27},/turf/simulated/floor,/area/atmos/control) +"cvG" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/obj/machinery/door/airlock/atmos{name = "Atmospherics"; req_access_txt = "24"},/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor,/area/atmos/control) +"cvH" = (/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; dir = 4; icon_state = "intact-c"; level = 2},/turf/simulated/floor,/area/atmos/control) +"cvI" = (/obj/machinery/atmospherics/pipe/manifold{_color = "cyan"; icon_state = "manifold-c"; level = 2},/turf/simulated/floor,/area/atmos/control) +"cvJ" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; dir = 9; icon_state = "intact-c"; level = 2},/turf/simulated/floor,/area/atmos/control) "cvK" = (/obj/machinery/atmospherics/trinary/mixer{density = 0; dir = 1},/turf/simulated/floor,/area/atmos) "cvL" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/turf/simulated/floor,/area/atmos) "cvM" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r"; level = 2},/obj/machinery/door_control{id = "atmos"; name = "Atmospherics Lockdown"; pixel_x = 24; pixel_y = 4; req_access_txt = "24"},/turf/simulated/floor,/area/atmos) @@ -6572,24 +6572,24 @@ "cwt" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/aft) "cwu" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/wall/r_wall,/area) "cwv" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_x = -30; pixel_y = 0},/obj/machinery/power/monitor{name = "Grid Power Monitoring Computer"},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/engine/engineering) -"cww" = (/obj/structure/closet/secure_closet/engineering_welding,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/engine/engineering) -"cwx" = (/obj/structure/closet/secure_closet/engineering_electrical,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/engine/engineering) -"cwy" = (/obj/machinery/vending/tool,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor,/area/engine/engineering) -"cwz" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor,/area/engine/engineering) -"cwA" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/cable,/turf/simulated/floor/plating,/area) +"cww" = (/obj/machinery/camera{c_tag = "Engineering Equipment North"; network = list("SS13")},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/vending/engivend,/turf/simulated/floor,/area/engine/equipmentstorage) +"cwx" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/obj/machinery/camera{c_tag = "Engineering Equipment West"; dir = 4; network = list("SS13")},/obj/structure/closet/secure_closet/engineering_personal,/obj/machinery/power/apc{dir = 8; name = "Engineering Equipment APC"; pixel_x = -24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor,/area/engine/equipmentstorage) +"cwy" = (/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,/area/engine/equipmentstorage) +"cwz" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor,/area/engine/equipmentstorage) +"cwA" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/obj/machinery/vending/tool,/turf/simulated/floor,/area/engine/equipmentstorage) "cwB" = (/obj/structure/closet/secure_closet/engineering_chief{req_access_txt = "0"},/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office) "cwC" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office) "cwD" = (/obj/structure/table/reinforced,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/machinery/faxmachine{department = "Chief Engineer's Office"},/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office) "cwE" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/table/reinforced,/obj/item/weapon/clipboard,/obj/item/weapon/folder/yellow,/obj/item/weapon/stamp/ce,/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office) "cwF" = (/obj/structure/table/reinforced,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/storage/fancy/cigarettes,/obj/item/weapon/pen,/obj/item/weapon/lighter/zippo,/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office) -"cwG" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/cable,/turf/simulated/floor/plating,/area) -"cwH" = (/obj/structure/closet/secure_closet/engineering_electrical,/turf/simulated/floor,/area/engine/break_room) -"cwI" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor,/area/engine/break_room) -"cwJ" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/engine/break_room) -"cwK" = (/obj/structure/table,/obj/item/device/flashlight{pixel_x = 1; pixel_y = 5},/obj/item/weapon/storage/toolbox/mechanical{pixel_y = 5},/obj/item/device/flashlight{pixel_x = 1; pixel_y = 5},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/item/weapon/storage/belt/utility,/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/engine/break_room) -"cwL" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical{pixel_y = 5},/obj/item/device/radio,/obj/item/device/radio,/obj/item/device/radio,/obj/item/device/radio,/obj/item/weapon/storage/belt/utility,/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/engine/break_room) -"cwM" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/engine/break_room) -"cwN" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/engine/break_room) +"cwG" = (/obj/machinery/autolathe,/turf/simulated/floor,/area/engine/equipmentstorage) +"cwH" = (/obj/structure/sign/securearea,/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,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Engineering"; name = "Engineering Security Doors"; opacity = 0},/turf/simulated/floor/plating,/area/engine/equipmentstorage) +"cwI" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Engineering"; name = "Engineering Security Doors"; opacity = 0},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/firedoor/border_only{dir = 1; name = "Firelock North"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering"; req_access_txt = "0"; req_one_access_txt = "11;24"},/turf/simulated/floor,/area/engine/equipmentstorage) +"cwJ" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'RADIOACTIVE AREA'"; icon_state = "radiation"; name = "RADIOACTIVE AREA"; pixel_x = 0; pixel_y = 0},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Engineering"; name = "Engineering Security Doors"; opacity = 0},/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,/obj/structure/disposalpipe/segment,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Engineering"; name = "Engineering Security Doors"; opacity = 0},/turf/simulated/floor/plating,/area/engine/equipmentstorage) +"cwK" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Engineering"; name = "Engineering Security Doors"; opacity = 0},/turf/simulated/floor/plating,/area/engine/equipmentstorage) +"cwL" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Engineering"; name = "Engineering Security Doors"; opacity = 0},/turf/simulated/floor/plating,/area/engine/equipmentstorage) +"cwM" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Engineering"; name = "Engineering Security Doors"; opacity = 0},/turf/simulated/floor/plating,/area/engine/equipmentstorage) +"cwN" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Engineering"; name = "Engineering Security Doors"; opacity = 0},/obj/machinery/door/firedoor/border_only{dir = 1; name = "Firelock North"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering"; req_access_txt = "0"; req_one_access_txt = "11;24"},/turf/simulated/floor,/area/engine/equipmentstorage) "cwO" = (/obj/machinery/computer/security/engineering,/obj/machinery/light_switch{pixel_x = -27},/turf/simulated/floor,/area/engine/engineering) "cwP" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/turf/simulated/wall/r_wall,/area) "cwQ" = (/obj/machinery/atmospherics/portables_connector{dir = 1; name = "Connector Port (Air Supply)"},/obj/machinery/light_switch{pixel_x = -27},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/atmos) @@ -6623,25 +6623,25 @@ "cxs" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) "cxt" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) "cxu" = (/turf/space,/area/vox_station/southeast_solars) -"cxv" = (/obj/structure/table,/obj/machinery/cell_charger,/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/light_switch{pixel_x = 27},/turf/simulated/floor,/area/engine/break_room) +"cxv" = (/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},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Engineering"; name = "Engineering Security Doors"; opacity = 0},/turf/simulated/floor/plating,/area/engine/equipmentstorage) "cxw" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor,/area/engine/engineering) -"cxx" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/engine/engineering) -"cxy" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/engine/engineering) -"cxz" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/engine/engineering) -"cxA" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/engine/engineering) -"cxB" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/door/airlock/glass_engineering{name = "Storage"; req_access_txt = "10"; req_one_access_txt = "11;24"},/turf/simulated/floor,/area/engine/engineering) +"cxx" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area/engine/chiefs_office) +"cxy" = (/obj/structure/closet/secure_closet/engineering_personal,/turf/simulated/floor,/area/engine/equipmentstorage) +"cxz" = (/obj/effect/landmark{name = "lightsout"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/engine/equipmentstorage) +"cxA" = (/obj/structure/table,/obj/machinery/requests_console{announcementConsole = 0; department = "Engineering"; departmentType = 4; name = "Engineering RC"; pixel_x = 30; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/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/engine/equipmentstorage) +"cxB" = (/obj/item/device/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_y = 20},/obj/structure/table,/obj/item/weapon/book/manual/engineering_hacking{pixel_x = 3; pixel_y = 3},/obj/item/weapon/book/manual/engineering_construction,/obj/item/weapon/book/manual/supermatter_engine,/turf/simulated/floor,/area/engine/engineering) "cxC" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/light_switch{pixel_x = -23; pixel_y = 0},/turf/simulated/floor{dir = 10; icon_state = "whitepurple"},/area/toxins/lab) "cxD" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office) "cxE" = (/obj/machinery/hologram/holopad,/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office) "cxF" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/stool/bed/chair{dir = 1},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office) "cxG" = (/obj/machinery/power/apc{dir = 4; name = "CE Office APC"; pixel_x = 24; pixel_y = 0},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office) -"cxH" = (/obj/structure/closet/wardrobe/atmospherics_yellow,/turf/simulated/floor,/area/engine/break_room) -"cxI" = (/obj/structure/disposalpipe/segment,/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = 0; pixel_y = -32; req_access_txt = "0"},/turf/simulated/floor,/area/engine/break_room) -"cxJ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/table,/obj/item/device/t_scanner,/obj/item/device/radio/headset/headset_eng,/obj/item/device/multitool{pixel_x = 5},/turf/simulated/floor,/area/engine/break_room) -"cxK" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/table,/obj/item/clothing/gloves/black,/obj/item/clothing/gloves/black,/obj/item/clothing/gloves/black,/obj/item/weapon/crowbar,/obj/item/weapon/storage/box/lights/mixed,/turf/simulated/floor,/area/engine/break_room) -"cxL" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor,/area/engine/break_room) -"cxM" = (/obj/structure/reagent_dispensers/fueltank,/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 5; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor,/area/engine/break_room) -"cxN" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/obj/machinery/door/airlock/atmos{name = "Atmospherics"; req_access_txt = "24"},/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor,/area/engine/break_room) +"cxH" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/rig,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/rig,/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/light_switch{pixel_y = 28},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/engine/hardsuitstorage) +"cxI" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/rig,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/rig,/obj/machinery/light{dir = 1},/obj/machinery/alarm{pixel_x = 0; pixel_y = 24},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/engine/hardsuitstorage) +"cxJ" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/rig,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/rig,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/power/apc{dir = 1; name = "Engineering Hardsuit Storage APC"; pixel_y = 24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor,/area/engine/hardsuitstorage) +"cxK" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area/engine/hardsuitstorage) +"cxL" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area/engine/chiefs_office) +"cxM" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/rig,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/rig,/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor,/area/engine/hardsuitstorage) +"cxN" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/machinery/camera{c_tag = "Engineering Equipment East"; dir = 8; network = list("SS13")},/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_x = 30; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/engineeringcart,/turf/simulated/floor,/area/engine/equipmentstorage) "cxO" = (/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; dir = 4; icon_state = "intact-c"; level = 2},/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r"; level = 2},/turf/simulated/floor,/area/atmos) "cxP" = (/obj/machinery/atmospherics/binary/passive_gate{dir = 8; name = "Air to ext"},/turf/simulated/floor,/area/atmos) "cxQ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; dir = 4; icon_state = "intact-c"; level = 2},/turf/simulated/floor,/area/atmos) @@ -6697,14 +6697,14 @@ "cyO" = (/obj/structure/table,/obj/item/stack/sheet/mineral/plasma{amount = 30},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/item/device/pipe_freezer,/obj/item/device/pipe_painter,/turf/simulated/floor,/area/engine/engineering) "cyP" = (/obj/machinery/power/port_gen/pacman,/turf/simulated/floor,/area/engine/engineering) "cyQ" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/wall/r_wall,/area) -"cyR" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area) +"cyR" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor,/area/engine/gravitygenerator) "cyS" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/airlock/maintenance{name = "Engineering Maintainance"; req_access_txt = "10"; req_one_access_txt = null},/obj/machinery/door/firedoor/border_only{dir = 1; layer = 2.5; name = "Engineering Firelock"},/turf/simulated/floor/plating,/area/maintenance/aft) -"cyT" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/cable,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area) -"cyU" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area) +"cyT" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor,/area/engine/gravitygenerator) +"cyU" = (/turf/simulated/floor,/area/engine/gravitygenerator) "cyV" = (/obj/machinery/door/firedoor/border_only{layer = 2.6; name = "\improper Firelock South"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/airlock/glass_engineering{name = "Engineering"; req_access_txt = "0"; req_one_access_txt = "11;24"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/engine/break_room) -"cyW" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/cable,/turf/simulated/floor/plating,/area) -"cyX" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/cable,/turf/simulated/floor/plating,/area) -"cyY" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/cable,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating,/area) +"cyW" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/airlock/atmos{name = "Gravity Generator"; req_access_txt = "24"},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/engine/gravitygenerator) +"cyX" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 10; icon_state = "intact-b-f"; initialize_directions = 10; level = 1; name = "pipe"},/turf/simulated/floor,/area/engine/gravitygenerator) +"cyY" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor,/area/engine/controlroom) "cyZ" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 5; icon_state = "intact-r-f"; level = 1},/turf/simulated/wall/r_wall,/area) "cza" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r"; level = 2},/obj/structure/table,/obj/item/clothing/head/welding{pixel_x = 1; pixel_x = -5; pixel_y = 3},/obj/item/stack/sheet/glass{amount = 50},/obj/item/clothing/head/welding{pixel_x = 0; pixel_x = -5; pixel_y = 3},/turf/simulated/floor,/area/atmos) "czb" = (/obj/structure/table,/obj/item/stack/sheet/metal{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/weapon/wrench,/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 9; icon_state = "intact-r"; level = 2},/obj/item/device/pipe_painter,/obj/item/device/pipe_freezer,/obj/item/device/pipe_freezer,/obj/item/device/pipe_painter,/turf/simulated/floor,/area/atmos) @@ -6744,7 +6744,7 @@ "czJ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/engine/reactor_core) "czK" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/engine/reactor_core) "czL" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor,/area/engine/reactor_core) -"czM" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/computer/station_alert,/turf/simulated/floor,/area/engine/engineering) +"czM" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor,/area/engine/controlroom) "czN" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/power/monitor{name = "Engine Power Monitoring Computer"},/obj/structure/cable,/turf/simulated/floor,/area/engine/engineering) "czO" = (/obj/structure/closet/crate{name = "solar pack crate"},/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/weapon/circuitboard/solar_control,/obj/item/weapon/tracker_electronics,/obj/item/weapon/paper/solar,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor,/area/engine/engineering) "czP" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor,/area/engine/engineering) @@ -6973,7 +6973,7 @@ "cEe" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/turf/simulated/floor/plating,/area/engine/reactor_core) "cEf" = (/obj/machinery/light{dir = 1},/obj/machinery/portable_atmospherics/canister/nitrogen,/turf/simulated/floor/plating,/area/engine/reactor_core) "cEg" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'RADIOACTIVE AREA'"; icon_state = "radiation"; name = "RADIOACTIVE AREA"; pixel_x = 0; pixel_y = 32},/obj/machinery/portable_atmospherics/canister/nitrogen,/turf/simulated/floor/plating,/area/engine/reactor_core) -"cEh" = (/obj/machinery/power/apc{dir = 1; name = "Engine Room APC"; pixel_y = 24},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area/engine/reactor_core) +"cEh" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area/engine/gravitygenerator) "cEi" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/engine/reactor_core) "cEj" = (/obj/machinery/camera{c_tag = "Research Shuttle Hallway"; dir = 2; network = list("Research","SS13")},/turf/simulated/floor{icon_state = "white"},/area/medical/research_shuttle_dock) "cEk" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'RADIOACTIVE AREA'"; icon_state = "radiation"; name = "RADIOACTIVE AREA"; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/plating,/area/engine/reactor_core) @@ -7234,7 +7234,7 @@ "cJf" = (/obj/machinery/atmospherics/unary/cold_sink/freezer{current_temperature = 5; dir = 1},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engine/reactor_core) "cJg" = (/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 10},/area/engine/reactor_core) "cJh" = (/turf/simulated/floor/engine,/area/engine/reactor_core) -"cJi" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/light_switch{pixel_x = 27},/turf/simulated/floor,/area/atmos) +"cJi" = (/obj/machinery/door/airlock/glass_command{name = "Gravity Generator Area"; req_access_txt = "19; 61"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/engine/gravitygenerator) "cJj" = (/obj/machinery/light/small,/turf/simulated/floor/plating,/area/storage/secure) "cJk" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/grille,/turf/simulated/floor/plating/airless,/area) "cJl" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/grille,/turf/simulated/floor/plating/airless,/area) @@ -10319,7 +10319,7 @@ "dQw" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/entry) "dQx" = (/obj/structure/closet/emcloset,/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/alarm{dir = 1; pixel_y = -25},/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/turf/simulated/floor,/area/research_outpost/entry) "dQy" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/research_outpost/entry) -"dQz" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor,/area/atmos) +"dQz" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area/engine/gravitygenerator) "dQA" = (/obj/machinery/door/firedoor/border_only{dir = 8; layer = 2.6; name = "Firelock West"},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor{icon_state = "white"},/area/research_outpost/med) "dQB" = (/obj/machinery/sleeper{dir = 8},/turf/simulated/floor/airless{icon_state = "white"},/area/constructionsite/medical) "dQC" = (/obj/structure/stool/bed/chair/comfy/black{dir = 8},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor,/area/engine/break_room) @@ -10425,7 +10425,7 @@ "dSy" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_Toxins = 0},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/research_outpost/longtermstorage) "dSz" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/power/apc{dir = 1; name = "Long Term Storage APC"; pixel_x = 0; pixel_y = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/research_outpost/longtermstorage) "dSA" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light/small{dir = 1},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/research_outpost/longtermstorage) -"dSB" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/rig,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/rig,/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor,/area/engine/engineering) +"dSB" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area/engine/gravitygenerator) "dSC" = (/obj/structure/transit_tube{icon_state = "D-SE"},/turf/simulated/wall/r_wall,/area/research_outpost/harvesting) "dSD" = (/mob/living/carbon/alien/facehugger{icon_state = "facehugger_dead"; stat = 2},/turf/simulated/floor/airless{icon_state = "damaged5"},/area/mine/abandoned) "dSE" = (/obj/effect/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor/airless{icon_state = "damaged2"},/area/mine/abandoned) @@ -10456,7 +10456,7 @@ "dTd" = (/obj/machinery/atmospherics/pipe/simple{icon_state = "intact"; dir = 10; pixel_x = 0; level = 2; initialize_directions = 10},/turf/simulated/floor,/area/research_outpost/iso3) "dTe" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/insulated,/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 1},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/turf/simulated/floor/plating,/area) "dTf" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; layer = 2.4; on = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/research_outpost/maintstore2) -"dTg" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area) +"dTg" = (/obj/structure/table,/obj/item/apc_frame,/turf/simulated/floor,/area/engine/controlroom) "dTh" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/wall/r_wall,/area/research_outpost/longtermstorage) "dTi" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/research_outpost/longtermstorage) "dTj" = (/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/research_outpost/longtermstorage) @@ -10512,7 +10512,7 @@ "dUh" = (/obj/structure/table,/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/weapon/storage/box/excavation,/obj/item/device/ano_scanner,/obj/item/weapon/storage/bag/fossils,/turf/simulated/floor,/area/research_outpost/gearstore) "dUi" = (/obj/machinery/conveyor{dir = 2; id = "anominerals"},/obj/machinery/mineral/output,/turf/simulated/floor{icon_state = "floorgrime"},/area/research_outpost/tempstorage) "dUj" = (/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/explored) -"dUk" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area) +"dUk" = (/obj/structure/table,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/turf/simulated/floor,/area/engine/controlroom) "dUl" = (/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/atmospherics/pipe/simple{dir = 6; icon_state = "intact"; level = 2},/turf/simulated/floor/plating,/area/research_outpost/iso1) "dUm" = (/obj/structure/plasticflaps/mining,/obj/machinery/conveyor{dir = 1; id = "iso1"},/obj/machinery/atmospherics/pipe/manifold/general/visible,/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/research_outpost/iso1) "dUn" = (/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/atmospherics/pipe/simple{icon_state = "intact"; dir = 10; pixel_x = 0; level = 2; initialize_directions = 10},/turf/simulated/floor/plating,/area/research_outpost/iso1) @@ -10537,7 +10537,7 @@ "dUG" = (/obj/machinery/suspension_gen,/turf/simulated/floor,/area/research_outpost/gearstore) "dUH" = (/obj/machinery/floodlight,/turf/simulated/floor,/area/research_outpost/gearstore) "dUI" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/research_outpost/gearstore) -"dUJ" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area) +"dUJ" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_x = -32; pixel_y = 0},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area/engine/gravitygenerator) "dUK" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "research_airlock"; name = "interior access button"; pixel_x = -25; pixel_y = -25; req_access_txt = null},/turf/simulated/floor,/area/research_outpost/gearstore) "dUL" = (/obj/structure/table,/obj/item/weapon/pickaxe,/obj/item/weapon/wrench,/obj/item/device/measuring_tape,/obj/item/weapon/storage/box/excavation,/obj/item/device/ano_scanner,/obj/item/weapon/storage/bag/fossils,/turf/simulated/floor,/area/research_outpost/gearstore) "dUM" = (/obj/machinery/disposal/deliveryChute{dir = 1},/obj/structure/disposalpipe/trunk,/turf/simulated/floor{icon_state = "floorgrime"},/area/research_outpost/tempstorage) @@ -10664,7 +10664,7 @@ "dXd" = (/obj/machinery/door/airlock,/turf/simulated/floor,/area/mine/explored) "dXe" = (/turf/simulated/floor,/area/mine/explored) "dXf" = (/obj/machinery/sleep_console{dir = 8},/obj/machinery/light_switch{pixel_x = 27},/turf/simulated/floor,/area/mine/explored) -"dXg" = (/obj/structure/table,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/turf/simulated/floor,/area/engine/break_room) +"dXg" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor,/area/engine/controlroom) "dXh" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored) "dXi" = (/obj/machinery/computer/shuttle_control/labor_camp/one_way,/turf/simulated/floor,/area/mine/explored) "dXj" = (/obj/structure/rack{dir = 1},/obj/item/weapon/pickaxe{pixel_x = 5},/obj/item/weapon/shovel{pixel_x = -5},/obj/item/clothing/glasses/meson,/obj/item/device/flashlight,/obj/item/weapon/storage/bag/ore,/turf/simulated/floor,/area/mine/explored) @@ -10675,7 +10675,7 @@ "dXo" = (/obj/machinery/sleeper{dir = 8},/turf/simulated/floor,/area/mine/explored) "dXp" = (/obj/structure/ore_box,/obj/machinery/camera{c_tag = "Research Outpost External Airlock"; dir = 8; network = list("Research Outpost")},/turf/simulated/floor{icon_state = "warning"},/area/research_outpost/gearstore) "dXq" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor,/area/mine/explored) -"dXr" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_x = -32; pixel_y = 0},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area) +"dXr" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor,/area/engine/controlroom) "dXs" = (/turf/simulated/floor{icon_state = "asteroidfloor"},/area/mine/explored) "dXt" = (/turf/simulated/floor/airless{tag = "icon-asteroidwarning (NORTHWEST)"; icon_state = "asteroidwarning"; dir = 9},/area/mine/explored) "dXu" = (/obj/item/device/radio/intercom{pixel_x = 26},/turf/simulated/floor,/area/mine/explored) @@ -10696,7 +10696,7 @@ "dXJ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/obj/machinery/light/small{dir = 1},/obj/item/weapon/storage/box/lights/mixed,/turf/simulated/floor/plating,/area/mine/explored) "dXK" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/mine/explored) "dXL" = (/obj/machinery/atmospherics/pipe/manifold{dir = 8},/turf/simulated/floor/plating,/area/mine/explored) -"dXM" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor,/area/engine/break_room) +"dXM" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/obj/structure/table,/turf/simulated/floor,/area/engine/controlroom) "dXN" = (/obj/machinery/atmospherics/pipe/simple{dir = 4},/turf/simulated/wall,/area/mine/explored) "dXO" = (/obj/machinery/conveyor{dir = 2; id = "gulag"},/obj/machinery/mineral/input,/obj/machinery/atmospherics/pipe/simple{dir = 4},/obj/structure/plasticflaps,/turf/simulated/floor,/area/mine/explored) "dXP" = (/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/atmospherics/pipe/simple{dir = 4},/turf/simulated/floor/plating,/area/mine/explored) @@ -10740,7 +10740,7 @@ "dYB" = (/obj/structure/rack,/obj/item/clothing/suit/space/rig/mining,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/rig/mining,/turf/simulated/floor/plating,/area/mine/north_outpost) "dYC" = (/obj/structure/rack,/obj/item/weapon/storage/backpack/satchel,/obj/item/weapon/pickaxe,/obj/item/weapon/storage/belt/utility,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/mine/north_outpost) "dYD" = (/obj/machinery/portable_atmospherics/pump,/turf/simulated/floor/plating,/area/mine/north_outpost) -"dYE" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical{pixel_y = 5},/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 10; icon_state = "intact-r-f"; initialize_directions = 10; level = 1; name = "pipe"},/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor,/area/engine/break_room) +"dYE" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Firelock North"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering"; req_access_txt = "0"; req_one_access_txt = "11;24"},/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 9; icon_state = "intact-r-f"; level = 1; name = "pipe"},/turf/simulated/floor,/area/engine/controlroom) "dYF" = (/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plating,/area/mine/north_outpost) "dYG" = (/obj/structure/closet/secure_closet/miner,/turf/simulated/floor/plating,/area/mine/north_outpost) "dYH" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1379; id_tag = "arrivals_pump"},/turf/simulated/floor/plating,/area/mine/north_outpost) @@ -10785,7 +10785,7 @@ "dZu" = (/obj/machinery/alarm{dir = 8; frequency = 1440; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/plating,/area/mine/north_outpost) "dZv" = (/obj/machinery/power/smes{charge = 1e+006},/obj/structure/cable,/turf/simulated/floor/plating,/area/mine/north_outpost) "dZw" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/terminal{dir = 8},/turf/simulated/floor/plating,/area/mine/north_outpost) -"dZx" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/light_switch{pixel_x = 27},/turf/simulated/floor,/area/engine/break_room) +"dZx" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/turf/simulated/floor,/area/engine/controlroom) "dZy" = (/obj/machinery/power/port_gen/pacman{anchored = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/mine/north_outpost) "dZz" = (/obj/machinery/power/port_gen/pacman{anchored = 1},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/mine/north_outpost) "dZA" = (/obj/machinery/light/small,/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored) @@ -10818,7 +10818,7 @@ "eab" = (/obj/machinery/door/airlock/maintenance{name = "Mining Station Communications"; req_access_txt = "48"},/obj/machinery/atmospherics/pipe/simple,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{tag = "icon-vault"; icon_state = "vault"},/area/mine/maintenance) "eac" = (/obj/item/clothing/under/rank/miner,/obj/effect/decal/remains/human,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/explored) "ead" = (/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiavulgaris,/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"; tag = "icon-asteroidfloor"},/area/mine/explored) -"eae" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/computer/security/engineering,/obj/machinery/camera{c_tag = "Atmospherics Control Room"; network = list("SS13")},/turf/simulated/floor,/area/atmos) +"eae" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/obj/machinery/computer/drone_control,/turf/simulated/floor,/area/engine/controlroom) "eaf" = (/obj/machinery/light/small{dir = 4},/obj/machinery/door_control{id = "miningdorm1"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/carpet,/area/mine/living_quarters) "eag" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple,/turf/simulated/floor,/area/mine/living_quarters) "eah" = (/obj/structure/lattice,/obj/structure/window/reinforced{dir = 4},/obj/machinery/light,/turf/space,/area/mine/explored) @@ -12220,7 +12220,7 @@ "eAZ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Virology Lab"; req_access_txt = "39"},/turf/simulated/floor{icon_state = "white"},/area/medical/virology/lab) "eBa" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Virology Lab"; req_access_txt = "39"},/turf/simulated/floor{icon_state = "white"},/area/medical/virology/lab) "eBb" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{id_tag = null; name = "Patient Isolation"; req_access_txt = "5"},/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/virology) -"eBc" = (/obj/structure/sign/securearea,/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,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Engineering"; name = "Engineering Security Doors"; opacity = 0},/turf/simulated/floor/plating,/area) +"eBc" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/electrical{pixel_y = 5},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/turf/simulated/floor,/area/engine/gravitygenerator) "eBd" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{dir = 10; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTHEAST)"},/area/medical/virology/lab) "eBe" = (/obj/machinery/camera{c_tag = "Virology Decontamination East"; dir = 1; network = list("SS13")},/obj/machinery/light,/obj/machinery/shower{tag = "icon-shower (WEST)"; icon_state = "shower"; dir = 8},/turf/simulated/floor{dir = 6; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTHEAST)"},/area/medical/virology/lab) "eBf" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/shower{icon_state = "shower"; dir = 4},/turf/simulated/floor{dir = 8; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/medical/virology/lab) @@ -12228,9 +12228,9 @@ "eBh" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/simulated/floor{tag = "icon-warnwhite (NORTHEAST)"; icon_state = "warnwhite"; dir = 5},/area/medical/virology/lab) "eBi" = (/obj/structure/closet/emcloset,/obj/machinery/light{dir = 1},/turf/simulated/floor{tag = "icon-warnwhite (NORTHEAST)"; icon_state = "warnwhite"; dir = 5},/area/medical/virology/lab) "eBj" = (/obj/machinery/light{dir = 1},/obj/machinery/shower{icon_state = "shower"; dir = 4},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0; tag = "icon-alarm0 (EAST)"},/turf/simulated/floor{dir = 9; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTHEAST)"},/area/medical/virology/lab) -"eBk" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area) -"eBl" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area) -"eBm" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area) +"eBk" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical{pixel_y = 5},/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 10; icon_state = "intact-r-f"; initialize_directions = 10; level = 1; name = "pipe"},/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor,/area/engine/gravitygenerator) +"eBl" = (/obj/structure/table,/obj/item/device/multitool,/turf/simulated/floor,/area/engine/gravitygenerator) +"eBm" = (/obj/structure/table,/obj/item/weapon/wirecutters,/turf/simulated/floor,/area/engine/gravitygenerator) "eBn" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/obj/machinery/door/airlock/maintenance{req_access_txt = "24"},/turf/simulated/floor/plating,/area/maintenance/asmaint) "eBo" = (/obj/machinery/smartfridge,/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology/flora) "eBp" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/machinery/light,/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology/flora) @@ -12241,8 +12241,8 @@ "eBu" = (/obj/machinery/light,/obj/machinery/biogenerator,/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology/flora) "eBv" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Psych Office"; req_access_txt = "0"},/turf/simulated/floor{icon_state = "white"},/area/medical/psych) "eBw" = (/obj/machinery/artifact_scanpad,/obj/machinery/light/small,/obj/machinery/firealarm{pixel_y = -24},/turf/simulated/floor/bluegrid,/area/research_outpost/harvesting) -"eBx" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Engineering"; name = "Engineering Security Doors"; opacity = 0},/obj/machinery/door/firedoor/border_only{dir = 1; name = "Firelock North"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering"; req_access_txt = "0"; req_one_access_txt = "11;24"},/turf/simulated/floor,/area/engine/break_room) -"eBy" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/rig,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/rig,/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/light_switch{pixel_y = 28},/turf/simulated/floor,/area/engine/engineering) +"eBx" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/light_switch{pixel_x = 27},/turf/simulated/floor,/area/engine/gravitygenerator) +"eBy" = (/obj/machinery/camera{c_tag = "Atmospherics Access"; dir = 4; network = list("SS13")},/obj/machinery/light{dir = 8},/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 6; icon_state = "intact-r-f"; level = 1},/turf/simulated/floor,/area/engine/controlroom) "eBz" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/poddoor/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "surgeryobs1"; name = "Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area) "eBA" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/poddoor/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "surgeryobs2"; name = "Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area) "eBB" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/poddoor/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "surgeryobs1"; name = "Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area) @@ -12375,6 +12375,23 @@ "eDY" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/security/podbay) "eDZ" = (/obj/structure/stool/bed/chair/comfy/black{dir = 4},/obj/machinery/light/small,/turf/simulated/floor/wood,/area/library) "eEa" = (/obj/structure/stool/bed/chair/comfy/black{dir = 8},/obj/machinery/light/small,/turf/simulated/floor/wood,/area/library) +"eEb" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/turf/simulated/floor,/area/engine/controlroom) +"eEc" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/obj/machinery/drone_fabricator,/turf/simulated/floor,/area/engine/controlroom) +"eEd" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/obj/structure/stool/bed/chair/office/dark{dir = 1},/turf/simulated/floor,/area/atmos/control) +"eEe" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/computer/atmos_alert,/turf/simulated/floor,/area/atmos/control) +"eEf" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area/atmos/control) +"eEg" = (/obj/machinery/computer/atmoscontrol,/turf/simulated/floor,/area/atmos/control) +"eEh" = (/obj/machinery/computer/general_air_control{frequency = 1441; name = "Tank Monitor"; sensors = list("n2_sensor" = "Nitrogen", "o2_sensor" = "Oxygen", "co2_sensor" = "Carbon Dioxide", "tox_sensor" = "Toxins", "n2o_sensor" = "Nitrous Oxide", "waste_sensor" = "Gas Mix Tank")},/turf/simulated/floor,/area/atmos/control) +"eEi" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/computer/security/engineering,/obj/machinery/camera{c_tag = "Atmospherics Control Room"; network = list("SS13")},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/apc{dir = 1; name = "Atmospherics Control APC"; pixel_y = 26},/turf/simulated/floor,/area/atmos/control) +"eEj" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/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" = "Waste Loop")},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/atmos/control) +"eEk" = (/obj/machinery/atmospherics/portables_connector,/turf/simulated/floor,/area/atmos/control) +"eEl" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/door_control{id = "atmos"; name = "Atmospherics Lockdown"; pixel_x = 24; pixel_y = 4; req_access_txt = "24"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/atmos/control) +"eEm" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area/atmos/control) +"eEn" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor,/area/atmos/control) +"eEo" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area/atmos/control) +"eEp" = (/obj/structure/disposalpipe/trunk{dir = 8},/obj/machinery/disposal,/turf/simulated/floor,/area/atmos/control) +"eEq" = (/turf/simulated/floor,/area/atmos/control) +"eEr" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/atmos/control) (1,1,1) = {" aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -12529,39 +12546,39 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabyLbyLbyLbyLbyLbyLbyLbyLby aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabyLbyLbyLbyLbyLbyLbyLbyLbyLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabDZbDZbDZbDZbDZbDZbDZaaaaaiaaiaaqayGbSoayHbxgbSpaaqaaqayGanFayHaaqaaqbSqaaqaaqaaqaaqbxgaaqaaqaaqaaqaaqaaqaaqaaqaaqaaqaaqaaqbSraaqaaqaaqbSsbStbSubSvaaqbPJbSwbPKbPKbPJaaqbSybSzbPMbSAbSBabHbSCbSDbSEaaqaaqaaqaaqaaqbSFaaqaaqbSGbSHaaqaaqaaJaaqanpaaqaaqbSIbOqbOqaaqaaqbSKbSLbMLbOpbSNbQhbSPbSQbOoaaqbSSbSTaaqbREbRFbQrbRGbRGbRGaaqbSYbSZbTabTbbTcbTdbTeaaibQwbQwbQwbTfbPbbQybTgbVdactbTibTjbTkbTkayObTlbTmbLXbTnbTobTpbTqbTrbTsbShbShbTtbTubShbTvbShbTwbTxbTybTzbTAbTBbTCacdcogbTEbTFcoYaabaabaabaabaabaabaabaabaabaabaabaabaabaaqaaibTHbTIbTIbPqbPqbPqbPqbPqbPqbPqbPqaaiaaiaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabyLbyLbyLbyLbyLbyLbyLbyLbyLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabDZbDZbDZbDZbDZbDZbDZaaaaaibTJbTKbTLbTMbTNbTObTPbTQaaibTRbTSbTTbTUbTVbTWbTXbTYbTZbTYbTYbTYbTYbTYbTYbTYbTYbTYbTYbTYbTYbTYbTYbUabTYbTYbTYbUbbUcbUdbUeaaqeAobUgbUhbUibUjabHbUkbUlbUmbUnbUoaaqbUpbUqbUrbUsbUtbUtbUtbUtbUubUvbUwbUxbUxbUybUybUzbUAbUBaaqaaqbUCbUDbUEbPYcbhbQebUHbMLbOwbOsaFWbUKbLwbQaaFWbUMbUNanccxjcxkcxhcxicwdcxgaaqcqxbUVbUWbUXbUYbUZbVaaaibVbbQwbQwaaibVcbYdbVeaaiaaqbVfbVgbIwaaqaaqbVhbQCbViaaibVjbVkbVlaaibVmbVnbVnbVobVpbVqbVrbVnbVsbVtbVnbVnbVubVvbVwcpcbVybVzbVAcqoaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaiaaibVCbPqbPqbPqbPqbPqbPqbPqbPqbPqbPqbPqaaiaaiaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabyLbyLbyLbyLbyLbyLbyLbyLbyLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabDZbDZbDZbDZbDZaaaaaaaaibVDbVEbVEbVFbVEbVEbVGbVHaaibVIbVJbVKbVJbVJbVLaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaqbVMaaqaaqbVNaaqbVObVPbVQbVRbVSaaqbVTbVUbVVbVWbVXaMRbVYbVZbWaabHacdacdacdacdbWbatQbzlayObWcayOayObWdbWebWfbWgbWhbWibWjbWkbWlbsobWnbWobWpbWqbWrbWsbWtbWubWvbWwbWxbWyaaqaaqaCZayOayOayObWzaaqaaqeBvaaqalrbqIboGbnUaaibWEbQwbQwbWFbWGbWHbWIbWJaaqaaqbWKaaqaaqbWLbWMbQCbrYaaiaaibWNaaiaaibWObsnbWPbWQbWRbVnbWSbVwbWTbVwbVwbVwbWUbSfbIIaaibWVbWWbWXcdiaabaabaabaabaabaabaabaabaabaabaabaabaabaaibPqbPqbPqbPqbPqbPqbWZbPqbXabPqbPqbPqbPqbPqaaiaaiaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabyLbyLbyLbyLbyLbyLbyLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXbbXcbXdbXcbXeaaaaaaaaaaaibXfbVEbVEbVFbVEbVEbVGbXgaaibVIbXhbXibXjbXibVLaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaibXkbXlbXmaaqbXnaaqchbbxbbXqbXrbXsaaqcgZbPLbXvbwmbXxaMSbXybXzbXAaaiaaibXBbXCcgYbXEbXFabnbXGbzXbXHaaqbXIbzXbzXbXJayObXKbXLbWkbWlbspbXNbXObXPbXQbXRbXSbXTbXUbXRbXRbXVbXWbXWbXWbXXbXWbXWbXWcekbXZbYabYbbYcbMSbEQbYfbYgaaibYhbYibYjbYkbYlbYmbYnbYobYpbYqbYrbrYbYsbrYbWMbQCbrYaaibPhbYtbYuaaiaaiaaqaaqaaqbYvbVnbYwbVnbVnbYxbYybYzbYAbYBbYCaaicgXcgxceJaaiaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaibYGbYGbYGbYGbYGbYGbYHbPqbYIbYGbXabPqbPqbPqbPqaaiaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabyLbyLbyLbyLbyLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabYJbYKbYLbYMbYJbdbanFbalaaibYNbYObVEbVFbVEbVEbVGbYPaaibVIbYQbXibXibXibVLaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaibYRbYSbYTaaqbXnaaiaaiaaiaaiaaiaaiaaqaaqaaqaaqaaqaaqaaqbYUbYVbYWbncbYYbYZbZabZabZbbZRabnbzXbzXbZdaaqbZebzXbzXbzXbZfbZgbZhbWjbZiaFWbZjbXWbZkbZlbZmbJCbZlbZnbZobZobZobZobZobZobZlbZobZobZobJCbZpbZcbZrbZscaMbzNbZvbZwaaibZxbZybZybZzbQwbZAbZBbZCbZDbZEbZFbZGbrYbZHbWMbQCbZIaaibPhbZJbZKbZLaaibZMbZNbZObVnbVnbZPbVnbVnbZQbZqbZSbZTbZUbZVaaibZWbZXbZYbZZaacaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaabPobPobPobPobPobPobPocabbPrbPqbPqbPqbPqcacbPraaiaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXdcadcaecadbXdcafcagcahaaicaibVEbVEcajbVEcakcalcamaaicanbVJcaobXibXicapaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaaiaaiaaibXnaaiaaaaaaaaaaaaaaicaqcarbOVcatcauccHaaqcawcaxcaycazcaAcaBcaCcaCcaDcaEabnaaiaaiaaiaeVcaFaaibzXbzXaaqcaGcaHcaIbEDcaKcaLcaMcaNcaOcaPcaQcaRbECcaTbZobZobZocaUbndcaWbndcaUaaiatSactactcaXcaYcaUaaqcJWcbaaaicbbcbcbJBcbecbfcbgbLHaaiaaiaaiabnaaiaaiaaicbicbjcbkaaibPhbZJcblbZLaaicbmbVnbVnbVnbYxcbncbocbpaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaibTIbTIbTIbTIbTIbTIcbqbPqbTHbTIcbrbPqbPqbPqbPqaaiaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabYJcadcadcadcbscbtcbucbvcbwcbxbVEbVEbVEbVEbVEbVEcbyaaicbzbVJcbAbXibXicbBaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbCaaaaabaabaaiaaiaaiaaiaaiaaiaaiaaiaaqbVNaBIaaacbDcbEcbFcbGcbHcavcbIcbJcbKcbLayOcbMcbNcbOcbPcbQbZacbRcbScbTcbUabncbVcbWcbXcbYcbZaaibzXbzXaaqaaqaaqaaqaaJaaqccaccaccbaaqaaqanpaaqaOlcccccdcceccdacdccfccgcchacdccicciacdccjcckcclaaiccmccnbUBaaiaaiaaiabnbARaaiccpbznaaiccqccrccsbzXcctaaiabnbBiaqAaaibPhbZJccvccwaaiccxccycczbYxccAccBcboccCaaiaaaaaaaaaaaaaaaaaaaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaaibPqbPqbPqbPqbPqbPqbWZbPqcbrbPqbPqbPqbPqbPqaaiaaiaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXdcaecaecaebXdccDccEccFacdccGciYccIccIccIccIciVccJaaibVIccKccLbXibXicbBaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccMccNccNccNccOccPccQccRccSccTccUaaqccVbVNazGaaaccWccXccYccZcdacavcfOcdccddcdeaaqcdfbXzbSDcazcdgbZabZabZacdhciCcdjcdkcdlcbVcdlcdmaaibzXbzXaaqcdncdocdpcdqeDCcdscdscdtcducdvcdwcdxcdyayOcdzcdAcdAactcdBcdCcdDaaiaaaaaaaaicdEcdFcdGacdcdHcdIcdJcdKcdKcdKcdLcdMcdNcdOcdPcdNcdNcdNcdQcdNcdNcdRcdScdTcdUcdVbPkcdWcdXbPhaaicdYcdZceacebcdYceccedceeaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaiaaibVCbPqbPqbPqbPqbPqbPqbPqbPqbPqbPqbPqaaiaaiaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabYJcefcegcehbYJaHuanFbalaaiaaiaaianEanFanFanGaaiaaiaaiceicejbXibXicizcelaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaaiaaiavccemcenceocepcepceqaaqcerbXnazGaaaccWcescetceucevcewcexceycevcevcezceAceBceCactactceDceEbZaceFceGceHcbVcbYceIcbWciAaaibzXbzXaaqchcceLceMceNceOcePcePceQceRceSceTceUceVaaqceWbZoceXaaiceYcdCceZaaiaaaaaaaaicfacfbcfcaaibzYcfdcfecfecfecfecfecfecffcfgcfhcfiacdacdcfjcfkacdacdcflcfmcfnabHcfocfpcfqbPhaaicfrbVnbYxcfscftcfscfucfvaaibNrbNraaaaaaaaaaaaaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaaqaaibYIbYGbYGbPqbPqbPqbPqbPqbPqbPqbPqaaiaaiaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacfwbXccfxbXccfycfzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaicfAaWIaQVayHaaiaaiaaiaaaaaaaaaaaaaaaaaaaagaaaaaaaaacfBcfCcfDcfGcfFcfEcfHcfIcfJcfJcfKaaqbXmbVNazGaaaccWcfLcfMaeVcfNcavcascfPcdbcfRaaqcdfbXzbXAcfSaaicfTaaqcfUcfVcfWcfXbyRcbVcbVcfZbzfaaibzXcgbaaqceKcgccgdcgecgecgecgfcggcgecgecghcgdcdraaicgibZocgjaaicgkcdCceZaaiaaaaaaaaicglcgmcgnaaicgobzXcgbaaiaaiaaiaaiaaianEanFanGaaiaaiaabaaaaaaaaaaaicgpbykalpaaiaaiaaicgraamaaibVqcbocgscgtcgucgvcgwcftciBcgybNraaaaaaaaaaaaaaaaabaaaaaaaaaaaqaaqaaqaabaaaaaaaabaaaaaaaabaaaaaabSnaaibQFaaiaaibPqbPqbPqbPqbPqbPqbPqaaiaaiaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacgzaDBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacfBcgAchMcgCcgDceocgEceocgFceocgGcgHcgIcgJaDBaaacgKcbEcgLcbGcgMcavcavcgNcgOcgPabHcgQcgRcgScgTaaidXMcgUcgVcgWdXgabndXrdTgchadUkdUJaaibzXbzXaaqaaqaaJcijeBzeBBeBCaaqeBAeBDeBEcirbMLaaJaaiceWbZoceXaaichlcdCceZaaiaaaaaaaaichmchnchoaaibzXbzXbzXaaiaabaaaaaaaabaaaaabaaaaaaaaaaabaaaaaaaaaaBIchpchqchraaiaaichschtchuaaibVqchvchwchxchychzchAbVnaaibNrbNraaachBchCchCchCchCchCchCchCchCchCchCchCchCchCchCchCchCchCchCchDchEchFchFchGaaiaaibPqbPqchHbPqbPqaaiaaiaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachIaaaaaaaaachIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachJchJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacfBchKchLcgBchNchOchPchQchRchSchTaaqbXmchUaaiaaaaaaaaaaaaaaichVchWchXchXchYchZaaqciabXzbSDcibciccidciecidcidcidcifcigbZabZacihciiaaibzXbzXaaqchdcikcilcimcincioaaqcinciocimcipciqchkaaicgieATcgjaaiciscdCceZaaiaaiaaiaaiaaiaaiaaiaaibzXbzXbzXaaiaabaaaaaaaaaaabaabaabaaaaaaaaaaaaaaaaaaazGcitciucivaaiaaiciwcixciyaaiaaiaaidTedSYdSSdSYdTbaaiaaiaaaaaaaaaciDaaaaaaaaaaabaaaaaaaaaaaqaaqaaqaabaaaaaaaabaaaaaaaabaabaabciEciFciGbQGaaqaaiaaibPqbPrbPqaaiaaiaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachIchIchIchIchIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaciHboVboVboVboVboVboVboVboVboVboVboVboVciIaaiaaqaaqaaqaaqaaqaaqciJciKaaiaaiaaiaaiaaiaaiaaqaaqaaqaaqaaqaaqaaqciLbXzbSDciMciNciOciPciQciRciSciTciUdYEciWciXdZxaaibzXbzXaaqciZcjacilcimcimeBGaaqeBFcimcimcipcilcjdaaiaaiaaiaaiaaiciscdCcjeaaibzXbzXbzXbzXbzXbzXbzXbzXbzXbzXaaiaaaaaaaaaaaaaaaaabaabaaaaaaaaaaaaaaaaaaaDBcjfcjgcjhaaiaaicjicjjcjkaaiaaaaaacjlcjlcjmcjlcjlaaaaaaaaaaaaaaaciDaaaaaaaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabcjnbNtbNtbNuaaqaaqaaiaaiaaiaaibNvaabaabaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachIaaachIaaaaaachIchIchIchIchIchIchIaaaaaachIaaachIaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjodfKcjqcjrcjrcjscjrcjtcjucjvdgkcjxcjycjzcjAcjAcjBcjCcjDcjDcjDcjEcjFcjGcjHcjIcjHcjHcjHcjGcjHcjHcjHcjJcjKcjLbXzbSDcjMcjNcjOaqAaaicfXactatTcjPcjQactasVcaFaaibzXbzXaaqdYbcjScjTcjUcimcjVaaqdYkcimcjXcjYcjTcjZaaibzXbzXbzXckaciscdCcisckabzXbzXbzXbzXbzXbzXbzXbzXbzXbzXaaiaaaaaaaaaaaaaaaaabaabaabaaaaaaaaaaaaaaacaUaaickbaqAcaUayGckcckdbdbayHaaackeckfckgckhckgckfckeaaachBchCchCckiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaaaaaaaaaaaaaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachIchIchIaaachIchIchIchIchIchIchIchIchIaaachIchIchIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjockjckkcklckkckmckkckjckkckncklckkckockpbSEckpckpckqbSEbSEbSEbSEckrckpckpckpckpckpckpckpckpckpckpckscktckuckvckwckxckyckzckAaaickBckCckDckEckFckGeaeckIacdcfeckJabHckKckLckMckNcimckOaaqckOcimckNckPcilckQaaickRacdacdckSckTcdCckUcaUayGanFanFbalaaiaaiaaianEanFanGaaiaaaaaaaaaaaaaaaaaaaabaabaaaaaaaaaaaaaaaaaickVckWckXaaiaabazGckYazGaabaaackeckZclaclbclackZckeaaaciDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachIchIchIaaachIchIchIchIchIchIchIchIchIaaachIchIchIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjockkckkclccldclecldclfclgdZMeACcljclkcktcllclmclmclnabHcloabHclpclqclpclpclpclpclpclpclpclpclpclpclrckpclscltcluclvclwclxclyclzclAclBceEclCeBkclEclFclGactbWeclHaPnclIcimcilcimcimclJayOclKcimcimcipcilclLaaiclMaaiaaaaqAaaiclNaaiaaiaaaaaaaaaaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiclOclPclQaaiaabaDBclRaDBaabaaackeclSclTclUclVclSckeaaaciDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaNpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachIchIchIaaachIchIchIchIchIchIchIchIchIaaachIchIchIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiclWaaqaaqclXaaqclYaaqaaqclZanGaaqaaqanEanFanGaaqaaqaaqaaqcmacmbcmccmdcmecmfcmgcaCcmhcaCcaCcmicaCcmjeBmcmlcmmcmneBnbzXclManpcmpcmqcmrcmscmtcmuaaqcmvcmtcmwcipcmxcmyaaiclMaaiaaacmzcmAcmBcmCaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaicmDcmEcmFcmGcmHcmIcmJaaqcmKcmLcmMactcmNaaacmOaaaaaaaaackecmPcmQcmQcmQcmRckeaaaciDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachIchIchIchIchIchIchIchIchIchIchIchIchIchIchIchIchIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeDaeDaeDaeEaeEaeDaeEaeEaeEafdaeEaeEaeEaeDaeDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaBIcmScmTcmUcmVcmWcmXcmYcmZcnacnbcnccndcnbcnecnfcngcngcnhaaqcnicnjcnkcnlbSDcnmcnncnobZbbZacbRbZacgUcnpeBlcnrcnscntaaiaaiclManpaaiaaicnuaaiaaiabnbxDacdacdacdcnvacdbeIacdcnwaaiaaacnxcnycmBcnzaaianEanFanFanGcaUaaibzlactactcnAactactcnAcnBaaaaaaaaicnCcnDcnCcnEcnFcitclPaaqaaJcnGaaJaaiaaiaaacnHaaaaabaaackeckeckecnIckeckeckeaaaciDaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachIchIchIchIchIchIchIchIchIchIchIchIchIchIchIchIchIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeDaaaaaaaabaabaaaaabaabaaaaaaaabaabaabaaaaeDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazGcmScnJcnKcnLcnMcnNcnNcnNcnNcnOcnPcnQcngcnRcngcngcnScngcnTbSEcnUcnVcnlbSDcnWaaqcnXbZbcnYcnZcoabZbcobcxNcodcoecofcJicohcoicojcokcokcolbRmcfecomconbzXcoobWecopbzXbzXbUAbzXaaiaaacoqcnycmBeAlaaqcorcoscotcoucovcowcoxcovcowcoycovcozcoAabnaaaaaaaaicnCcnCcnCcoBcoCcmIcoDcoEcoFcoGcoHcoIaaiaaacnHaabaabaaaaaaaaaaeDaaaaeDaaaaaaaaaciDaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachIchIchIchIchIchIchIchIchIchIchIchIchIchIchIchIchIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeDaaacoJcoKcoLaaacoJcoKcoLaaacoJcoKcoLaabcoMaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazGcmScnJcoNcngcnScoOcngcngcngcngcngcoNcoNcngcngcngcngcoPcoQbSEcoRckpcoScoTaaqaaqcoUbZbcoVcoWcoXbZbdQCckFcoZcpacpbdQzcpdcoobWfcpecpeclHbWebWebWfcpfbWeabuanEanFanFanFanGaaiaaiaaaccpcpgcpheAjabHeAkcisciscpkcplcpmcpncplcpmcpncplcpmcpnabnaaaaabaaiaaqaaqaaqaaqcpocitcppcpqcprcpscptcpuaaiaaacnHaaaaabaabaaaaaaaeDaeDaeDaaaaaaaaaciDaaaaaaaabaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabyLbyLbyLbyLbyLbyLbyLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXbbXcbXdbXcbXeaaaaaaaaaaaibXfbVEbVEbVFbVEbVEbVGbXgaaibVIbXhbXibXjbXibVLaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaibXkbXlbXmaaqbXnaaqchbbxbbXqbXrbXsaaqcgZbPLbXvbwmbXxaMSbXybXzbXAaaiaaicaDcbPcaEcaBcaAabnbXGbzXbXHaaqbXIbzXbzXbXJayObXKbXLbWkbWlbspbXNbXObXPbXQbXRbXSbXTbXUbXRbXRbXVbXWbXWbXWbXXbXWbXWbXWcekbXZbYabYbbYcbMSbEQbYfbYgaaibYhbYibYjbYkbYlbYmbYnbYobYpbYqbYrbrYbYsbrYbWMbQCbrYaaibPhbYtbYuaaiaaiaaqaaqaaqbYvbVnbYwbVnbVnbYxbYybYzbYAbYBbYCaaicgXcgxceJaaiaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaibYGbYGbYGbYGbYGbYGbYHbPqbYIbYGbXabPqbPqbPqbPqaaiaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabyLbyLbyLbyLbyLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabYJbYKbYLbYMbYJbdbanFbalaaibYNbYObVEbVFbVEbVEbVGbYPaaibVIbYQbXibXibXibVLaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaibYRbYSbYTaaqbXnaaiaaiaaiaaiaaiaaiaaqaaqaaqaaqaaqaaqaaqbYUbYVbYWbyRbXCbXBbzfbzfbxtbncabnbzXbzXbZdaaqbZebzXbzXbzXbZfbZgbZhbWjbZiaFWbZjbXWbZkbZlbZmbJCbZlbZnbZobZobZobZobZobZobZlbZobZobZobJCbZpbZcbZrbZscaMbzNbZvbZwaaibZxbZybZybZzbQwbZAbZBbZCbZDbZEbZFbZGbrYbZHbWMbQCbZIaaibPhbZJbZKbZLaaibZMbZNbZObVnbVnbZPbVnbVnbZQbZqbZSbZTbZUbZVaaibZWbZXbZYbZZaacaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaabPobPobPobPobPobPobPocabbPrbPqbPqbPqbPqcacbPraaiaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXdcadcaecadbXdcafcagcahaaicaibVEbVEcajbVEcakcalcamaaicanbVJcaobXibXicapaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaaiaaiaaibXnaaiaaaaaaaaaaaaaaicaqcarbOVcatcauccHaaqcawcaxcaybYYbZRbYZcazcazbXFbXEabnaaiaaiaaiaeVcaFaaibzXbzXaaqcaGcaHcaIbEDcaKcaLcaMcaNcaOcaPcaQcaRbECcaTbZobZobZocaUbndcaWbndcaUaaiatSactactcaXcaYcaUaaqcJWcbaaaicbbcbcbJBcbecbfcbgbLHaaiaaiaaiabnaaiaaiaaicbicbjcbkaaibPhbZJcblbZLaaicbmbVnbVnbVnbYxcbncbocbpaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaibTIbTIbTIbTIbTIbTIcbqbPqbTHbTIcbrbPqbPqbPqbPqaaiaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabYJcadcadcadcbscbtcbucbvcbwcbxbVEbVEbVEbVEbVEbVEcbyaaicbzbVJcbAbXibXicbBaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbCaaaaabaabaaiaaiaaiaaiaaiaaiaaiaaiaaqbVNaBIaaacbDcbEcbFcbGcbHcavcbIcbJcbKcbLayOcbMcbNcbOcfTceIbzfceHceGcgVcfZabncfWcbYcfVcdgcfUaaibzXbzXaaqaaqaaqaaqaaJaaqccaccaccbaaqaaqanpaaqaOlcccccdcceccdacdccfccgcchacdccicciacdccjcckcclaaiccmccnbUBaaiaaiaaiabnbARaaiccpbznaaiccqccrccsbzXcctaaiabnbBiaqAaaibPhbZJccvccwaaiccxccycczbYxccAccBcboccCaaiaaaaaaaaaaaaaaaaaaaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaaibPqbPqbPqbPqbPqbPqbWZbPqcbrbPqbPqbPqbPqbPqaaiaaiaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXdcaecaecaebXdccDccEccFacdccGciYccIccIccIccIciVccJaaibVIccKccLbXibXicbBaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccMccNccNccNccOccPccQccRccSccTccUaaqccVbVNazGaaaccWccXccYccZcdacavcfOcdccddcdeaaqcdfbXzbSDbYYcgWbzfbzfbzfciecidcigcifcgYcbTcgYchaaaibzXbzXaaqcdncdocdpcdqeDCcdscdscdtcducdvcdwcdxcdyayOcdzcdAcdAactcdBcdCcdDaaiaaaaaaaaicdEcdFcdGacdcdHcdIcdJcdKcdKcdKcdLcdMcdNcdOcdPcdNcdNcdNcdQcdNcdNcdRcdScdTcdUcdVbPkcdWcdXbPhaaicdYcdZceacebcdYceccedceeaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaiaaibVCbPqbPqbPqbPqbPqbPqbPqbPqbPqbPqbPqaaiaaiaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabYJcefcegcehbYJaHuanFbalaaiaaiaaianEanFanFanGaaiaaiaaiceicejbXibXicizcelaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaaiaaiavccemcenceocepcepceqaaqcerbXnazGaaaccWcescetceucevcewcexceycevcevcezceAceBceCactactcbScbQbzfcbWcbVcbUcbTcdgcbZcbYcbXaaibzXbzXaaqchcceLceMceNceOcePcePceQceRceSceTceUceVaaqceWbZoceXaaiceYcdCceZaaiaaaaaaaaicfacfbcfcaaibzYcfdcfecfecfecfecfecfecffcfgcfhcfiacdacdcfjcfkacdacdcflcfmcfnabHcfocfpcfqbPhaaicfrbVnbYxcfscftcfscfucfvaaibNrbNraaaaaaaaaaaaaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaaqaaibYIbYGbYGbPqbPqbPqbPqbPqbPqbPqbPqaaiaaiaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacfwbXccfxbXccfycfzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaicfAaWIaQVayHaaiaaiaaiaaaaaaaaaaaaaaaaaaaagaaaaaaaaacfBcfCcfDcfGcfFcfEcfHcfIcfJcfJcfKaaqbXmbVNazGaaaccWcfLcfMaeVcfNcavcascfPcdbcfRaaqcdfbXzbXAcfSaaicdhaaqcdjcdlcdkcfXcdmcbTcbTceFceDaaibzXcgbaaqceKcgccgdcgecgecgecgfcggcgecgecghcgdcdraaicgibZocgjaaicgkcdCceZaaiaaaaaaaaicglcgmcgnaaicgobzXcgbaaiaaiaaiaaiaaianEanFanGaaiaaiaabaaaaaaaaaaaicgpbykalpaaiaaiaaicgraamaaibVqcbocgscgtcgucgvcgwcftciBcgybNraaaaaaaaaaaaaaaaabaaaaaaaaaaaqaaqaaqaabaaaaaaaabaaaaaaaabaaaaaabSnaaibQFaaiaaibPqbPqbPqbPqbPqbPqbPqaaiaaiaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacgzaDBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacfBcgAchMcgCcgDceocgEceocgFceocgGcgHcgIcgJaDBaaacgKcbEcgLcbGcgMcavcavcgNcgOcgPabHcgQcgRcgScgTaaidXgdXrdXMdTgdUkabndUJcEhcJidQzdSBaaibzXbzXaaqaaqaaJcijeBzeBBeBCaaqeBAeBDeBEcirbMLaaJaaiceWbZoceXaaichlcdCceZaaiaaaaaaaaichmchnchoaaibzXbzXbzXaaiaabaaaaaaaabaaaaabaaaaaaaaaaabaaaaaaaaaaBIchpchqchraaiaaichschtchuaaibVqchvchwchxchychzchAbVnaaibNrbNraaachBchCchCchCchCchCchCchCchCchCchCchCchCchCchCchCchCchCchCchDchEchFchFchGaaiaaibPqbPqchHbPqbPqaaiaaiaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachIaaaaaaaaachIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachJchJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacfBchKchLcgBchNchOchPchQchRchSchTaaqbXmchUaaiaaaaaaaaaaaaaaichVchWchXchXchYchZaaqciabXzbSDcibciccyYczMcyYcyYcyYcyWcyXcyUcyUcyRcyTaaibzXbzXaaqchdcikcilcimcincioaaqcinciocimcipciqchkaaicgieATcgjaaiciscdCceZaaiaaiaaiaaiaaiaaiaaiaaibzXbzXbzXaaiaabaaaaaaaaaaabaabaabaaaaaaaaaaaaaaaaaaazGcitciucivaaiaaiciwcixciyaaiaaiaaidTedSYdSSdSYdTbaaiaaiaaaaaaaaaciDaaaaaaaaaaabaaaaaaaaaaaqaaqaaqaabaaaaaaaabaaaaaaaabaabaabciEciFciGbQGaaqaaiaaibPqbPrbPqaaiaaiaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachIchIchIchIchIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaciHboVboVboVboVboVboVboVboVboVboVboVboVciIaaiaaqaaqaaqaaqaaqaaqciJciKaaiaaiaaiaaiaaiaaiaaqaaqaaqaaqaaqaaqaaqciLbXzbSDciMciNeByeEbeEcdZxeaeciTeBceBkeBleBmeBxaaibzXbzXaaqciZcjacilcimcimeBGaaqeBFcimcimcipcilcjdaaiaaiaaiaaiaaiciscdCcjeaaibzXbzXbzXbzXbzXbzXbzXbzXbzXbzXaaiaaaaaaaaaaaaaaaaabaabaaaaaaaaaaaaaaaaaaaDBcjfcjgcjhaaiaaicjicjjcjkaaiaaaaaacjlcjlcjmcjlcjlaaaaaaaaaaaaaaaciDaaaaaaaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabcjnbNtbNtbNuaaqaaqaaiaaiaaiaaibNvaabaabaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachIaaachIaaaaaachIchIchIchIchIchIchIaaaaaachIaaachIaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjodfKcjqcjrcjrcjscjrcjtcjucjvdgkcjxcjycjzcjAcjAcjBcjCcjDcjDcjDcjEcjFcjGcjHcjIcjHcjHcjHcjGcjHcjHcjHcjJcjKcjLbXzbSDcjMcjNdYEaqAaaicfXactatTcjPcjQactasVcaFaaibzXbzXaaqdYbcjScjTcjUcimcjVaaqdYkcimcjXcjYcjTcjZaaibzXbzXbzXckaciscdCcisckabzXbzXbzXbzXbzXbzXbzXbzXbzXbzXaaiaaaaaaaaaaaaaaaaabaabaabaaaaaaaaaaaaaaacaUaaickbaqAcaUayGckcckdbdbayHaaackeckfckgckhckgckfckeaaachBchCchCckiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaaaaaaaaaaaaaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachIchIchIaaachIchIchIchIchIchIchIchIchIaaachIchIchIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjockjckkcklckkckmckkckjckkckncklckkckockpbSEckpckpckqbSEbSEbSEbSEckrckpckpckpckpckpckpckpckpckpckpckscktckuckvckwckxckyckzckAaaickBckCckDckEckFeEheEieEjacdcfeckJabHckKckLckMckNcimckOaaqckOcimckNckPcilckQaaickRacdacdckSckTcdCckUcaUayGanFanFbalaaiaaiaaianEanFanGaaiaaaaaaaaaaaaaaaaaaaabaabaaaaaaaaaaaaaaaaaickVckWckXaaiaabazGckYazGaabaaackeckZclaclbclackZckeaaaciDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachIchIchIaaachIchIchIchIchIchIchIchIchIaaachIchIchIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjockkckkclccldclecldclfclgdZMeACcljclkcktcllclmclmclnabHcloabHclpclqclpclpclpclpclpclpclpclpclpclpclrckpclscltcluclvclwclxclyclzclAclBceEclCeEfeEgeEdeEeactbWeclHaPnclIcimcilcimcimclJayOclKcimcimcipcilclLaaiclMaaiaaaaqAaaiclNaaiaaiaaaaaaaaaaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiclOclPclQaaiaabaDBclRaDBaabaaackeclSclTclUclVclSckeaaaciDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaNpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachIchIchIaaachIchIchIchIchIchIchIchIchIaaachIchIchIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiclWaaqaaqclXaaqclYaaqaaqclZanGaaqaaqanEanFanGaaqaaqaaqaaqcmacmbcmccmdcmecmfcmgcaCcmhcaCcaCcmicaCcmjeEoeEpeEqeEreBnbzXclManpcmpcmqcmrcmscmtcmuaaqcmvcmtcmwcipcmxcmyaaiclMaaiaaacmzcmAcmBcmCaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaicmDcmEcmFcmGcmHcmIcmJaaqcmKcmLcmMactcmNaaacmOaaaaaaaaackecmPcmQcmQcmQcmRckeaaaciDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachIchIchIchIchIchIchIchIchIchIchIchIchIchIchIchIchIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeDaeDaeDaeEaeEaeDaeEaeEaeEafdaeEaeEaeEaeDaeDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaBIcmScmTcmUcmVcmWcmXcmYcmZcnacnbcnccndcnbcnecnfcngcngcnhaaqcnicnjcnkcnlbSDcnmcnncnobZbbZacbRbZacgUcnpeEmeEneEkeElaaiaaiclManpaaiaaicnuaaiaaiabnbxDacdacdacdcnvacdbeIacdcnwaaiaaacnxcnycmBcnzaaianEanFanFanGcaUaaibzlactactcnAactactcnAcnBaaaaaaaaicnCcnDcnCcnEcnFcitclPaaqaaJcnGaaJaaiaaiaaacnHaaaaabaaackeckeckecnIckeckeckeaaaciDaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachIchIchIchIchIchIchIchIchIchIchIchIchIchIchIchIchIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeDaaaaaaaabaabaaaaabaabaaaaaaaabaabaabaaaaeDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazGcmScnJcnKcnLcnMcnNcnNcnNcnNcnOcnPcnQcngcnRcngcngcnScngcnTbSEcnUcnVcnlbSDcnWaaqcnXbZbcnYcnZcoabZbcobcvGcvHcvIcvJcvFcohcoicojcokcokcolbRmcfecomconbzXcoobWecopbzXbzXbUAbzXaaiaaacoqcnycmBeAlaaqcorcoscotcoucovcowcoxcovcowcoycovcozcoAabnaaaaaaaaicnCcnCcnCcoBcoCcmIcoDcoEcoFcoGcoHcoIaaiaaacnHaabaabaaaaaaaaaaeDaaaaeDaaaaaaaaaciDaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachIchIchIchIchIchIchIchIchIchIchIchIchIchIchIchIchIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeDaaacoJcoKcoLaaacoJcoKcoLaaacoJcoKcoLaabcoMaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazGcmScnJcoNcngcnScoOcngcngcngcngcngcoNcoNcngcngcngcngcoPcoQbSEcoRckpcoScoTaaqaaqcoUbZbcoVcoWcoXbZbdQCckFcvzcvxcvycvwcpdcoobWfcpecpeclHbWebWebWfcpfbWeabuanEanFanFanFanGaaiaaiaaaccpcpgcpheAjabHeAkcisciscpkcplcpmcpncplcpmcpncplcpmcpnabnaaaaabaaiaaqaaqaaqaaqcpocitcppcpqcprcpscptcpuaaiaaacnHaaaaabaabaaaaaaaeDaeDaeDaaaaaaaaaciDaaaaaaaabaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachIchIchIchIchIchIchIchIchIchIchIchIchIchIchIchIchIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpvcpvcpvcpvcpvcpvcpvcpvcpvaaaaaaaaaaaaaaaaaaaeDaaacoJcpwcoLaaacoJcpwcoLaaacoJcpwcoLaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabazGcmSbPncoNcpxcngcpycpzcpAcpAcnRcngcoNcpBcngcngcngcngcpCcpDcjKcpEbRecpFcpGcpHcpIcpJbZbcoVcpKcpLbZbcpMckFaaiatSacteAXcpOabuaaiabnabnaqAaaiaaiaaiaqAaaiaaiaaaaaaaaaaaaaaaaaaaabaaaaqAcpPcmBcpQcgpeAYcisciscpkcpScpTcpUcpVcpTcpUcpVcpTcpWabnaabaabaaicmDcmEcmFcpXcpYcmIcpZcqacqbcqccitcqdaaiaaacqecqfcqfcqfcqfcqfcqfcqfcqfcqfcqfcqfcqgaaaaabaabaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachIchIchIchIchIchIchIchIchIchIchIchIchIchIchIchIchIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpvcpvcpvcpvcpvcpvcpvcpvcpvaaaaaaaagaaaaaaaaaaeEaabcoJcpwcoLaaacoJcpwcoLaabcoJcpwcoLaabaaaaaaaabaaaaaaaaaaabaaaaaaaaaaaaaaaaabaaaaaaaDBcmSaaqcqhcngcqicqjcqkcqlcqmcqlcqncqldRWeAAcnbcqqcoNcoNcoQcqrcqscqtcqucqvcqwdRGcqycqzcqAcqBcqCcqDcqEckFcqFcqGcqHcqIcqJcqKcqLcqMcqNcJYdQUcqQcqRcqScqTaabaaaaaaaaaaaaaaaaaaaabaabaqAcnyeAmeAVeAUeAWciscisciscqXciscisciscisciscisciscqYcqZaaaaaaaaicnCcnCcnCcracnFcitcrbcrccrdcrecitcrfaaiaaiaaiaaiaaaaaacrgcrgcrgcrhaabaabaabaabcriaabaabaabaabaabafdcrgcrgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachIchIchIchIchIchIchIchIchIchIchIchIchIchIchIchIchIchIchIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpvcpvcpvcpvcpvcpvcpvcpvcpvaaaaaaaaaaaaaaaaaaaabaaacoJcpwcoLaabcoJcpwcoLaaacoJcpwcoLaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaabaaaaabaabaaaaaaaaicrjaaqcrkcrlcrlcrmaaqaaqaaqaaqaaqaaqaaqaaqaaqaaqaaqaaqaaqaaqcrnaaqaaJaaqaaieBccrpcrqcrrcrscrteBxcrvckFcrwcqGcqHcqScqJcrxcrycrzcrAcmmcrBcmmcrCcodcrDaabcrEcrEcrEcrEcrEaaaaaaaabaqAcrFcmBcrGeBbcqWciscisciscrHciscisciscisciscrIciscrJcrKaaaaaaaaicnCcnCcnCcpXcrLcmIcrMcrNcrOcrPcrQcrQcrRcrScrTaaiaaaaaacrgaaaaabaaaaabaaaaaaaaacrUaaaaabaabaaaaaaaaaaaacrgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachIchIchIchIchIchIchIchIchIchIchIchIchIchIchIchIchIchIchIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpvcpvcpvcpvcpvcpvcpvcpvcpvaaaaaaaaaaeDaeDaeEaabaaacoJcpwcoLaabcoJcpwcoLaaacoJcpwcoLaabaaaaaaaaaaaaaaaaaaaaaaaaaabcrVaaiaaiaaiaaiaaiaaicmSaaqeABcrXcrXcrYabHcrZcsacsacsacsacsacsacsbcsacsacsccsccsacsdcsecsfcsgaaicshcsicsjcskcslcsmbZaclCcCjcsocspcsqcsrcsscstcrycsucsvcswcsxcsycszcsAcsBcsCcsDcsEcsFcsGcrEaaaaaaaaacsHalkeAZalkcgpcsJcsKcsLcsKabHcsMcsNcsOeBacsQcsRcsScsTabnaaaaaaaaiaaqaaqaaqaaqcsUcitcrbcsVcsWcsXcitcitcsYcitcsZaaiaaaaaacrgaaactactactactactaaabctbaabctactactactactaaaacrgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachIchIchIaaachIchIchIchIchIchIchIchIchIaaachIchIchIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpvcpvcpvcpvcpvcpvcpvcpvcpvaaaaaaaaaaeDaaaaabaaaaabaabctcaabaabaabctcaabaaaaabctcaabaaaaaaaaaaaaaaaaaaaaaaaactdbNtctectfctgcthctictjctkctlaaqaaqdSRctnaaqaaqbXnaaiaaiaaiaaiaaiaaiaqAaaiaaiaaiaaiaaiabnaqAaaiaaiccZctocsicsjbZabZabZabZactpckFctqctrcmmctscttcstctucsucsvctvctwctwctxctyctzaabctActBcsGctCcrEaaaaaaaaaaqAeBjcBueBiaaqchlctFctGctFaaqcpncpmctHeBgeBhctKcpncpmabnaaaaaaaaicmDcmEcmFctLcpYcmIctMctNctOctPctPctQctRctSctTaaiaabaabcrgaabctUctVctVctVctVctWctXctYctZctZctZctZcuaaabcrgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachIaaaaaachIchIchIchIchIchIchIchIchIaaaaaachIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpvcpvcpvcpvcpvcpvcpvcpvcpvaaaaaaaaaaeEaabcubcuccuccudcuecufcufcufcuecufcufcufcuecufcufcugcuccuccuccuccuccuhcuicujcukculcumcuncuocupbXmcmScuqaaqaaqaaqaaqbXmbXnaaicurcuscutcuucuvcuwcuxeBydSBcuAcuBcuCcuDdRZcuFbxtctocuGcsjbZabZabZabZacuHckFcuIcuJcmmcmncuKcuLcuMcuNcuOcuPcuQcuRcuScuTcuUcuVcsDcuWcsGcsGcrEaaaaaaaabaqAeBfcBucBwaaqcuYctFcisctFaaqcuZcvactHeBdeBectKcuZcvdabnaaaaaaaaicnCcnDcnCcvecnFcitciuctNcvfcvgcitcvhaaqaaqaaqaaiaaaaaacrgaabcvicvicvicvicviaaactbaaacvicvicvicvicviaabcrgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachIchIchIchIchIchIchIchIchIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpvcpvcpvcpvcpvcpvcpvcpvcpvaaaaaaaaaaeDaaaaabaaaaabaabcvjaabaaaaabcvjaabaaaaabcvjaabaaaaaaaaaaaaaaaaaaaaaaaactdbNtcvkcvlcvmcvnaaicvobXmcvpctkctkctkctkctkctkcvqaaicwOcvscvtcvucvvcvwcvxcvucvycvzcvAcvBcvCcvDcvEcvFcvGcsicsjcvHcvIbZabZacvJckFcvKcvLcmmcmncuKcvMcvNcvOcvPcvQcvRcvScvTcvScvUaabcrEcrEcrEcrEcrEaabaabaabccpcBtcBucBwaaqcBvcvYcvZcwacwbabtayOayOcAJayOcweaCtaaqabnaaaaaaaaicnCcnCcnCctLcwfcwgcwhcptcwicrQcrQcwjcwkcwlcwmdIpaaaaaacrgaaaaabaaaaabaabaabaaactbaaaaabaaaaabaaaaabaaacrgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachIchIchIchIchIchIchIchIchIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpvcpvcpvcpvcpvcpvcpvcpvcpvaaaaaaaaaaeDaeDaeEaabaabcoJcwncoLaaacoJcwncoLaaacoJcwncoLaabaaaaaaaaaaaaaaaaaaaaaaabaabcwoaaiaaiaaiaaiaaicwpcwqbXmcwrbXmbXmbXmcwscwtcwucwvcvtcvtcvrcvvcwwcwxcwycwzcwAcwBcwCcwDcwEcwFcwGcwHcwIcwJcwKcwLcwMcwNcxvcwPcwQcwRcwScwTcwUcwVcwWcwXcwYcwZcxacswcxbcxccxdcsCcsDcxecxfcxfcrEaaaaaaaabaqAcBDcBucBEaaqcAxcBBcBBcCEaaqcBFcwccBycygcBxcBCczvcBAcqZaaaaaacxoancancancanccxpcxqcxrcxqcxscxqcxqcxtctNcitcitdITaaaaaacrgaaactactactactactaaabctbaabctactactactactaaabcrgaaaaaaaaaaaaaaaaaaaaacxuaaaaaaaaacxuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachIchIchIchIchIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpvcpvcpvcpvcpvcpvcpvcpvcpvaaaaaaaaaaaaaaaaaaaaaaaacoJcwncoLaabcoJcwncoLaaacoJcwncoLaaaaaaaaaaabaaaaaaaaaaaaaabaabaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaicySboVcxwcvtcvtcvucxxcxycxzcxAcxBaaidIWcxDcxEcxFcxGaaicxHbZacxIcxJcxKcxLbZacxMcoccodcxOcxPcxQcxRcxScxTcxUcxVcxWcmmcxXcxYcxZctzaabctAcyacybcyccrEaaaaaaaaaaqAcgpcBGcyeaaqcCDcDncBRcxmcBHcBucDvcDscygcCFcDqcDpcDrcypaabaaadLvcyreDDcyscytcyucmIcyvcmIcywcmIcdTcmIcDocyxcitaaiaabaabcrgaabctUctVctVctVctVctWctXctYctZctZctZctZcyyaabcrgaaaaaaaaaaaaaaaaaaaaacxucxucxucxucxuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaNpaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpvcpvcpvcpvcpvcpvcpvcpvcpvaaaaaaaaaaaaaaaaaaaeEaabcoJcwncoLaaacoJcwncoLaaacoJcwncoLaabaaaaaaaaaaaaaaaaaaaaaaabaabaaicyzcBTczZcyBcyAcyAczZcyCcyDdNqcyAcyFcyGcyHcyIcyJcyKcyJcyLcyMcyNcyOcyPcvtaaicyQcyRcBVcyTcyUboVanccyVciIcyWcyXcyYaaiaaicyZczaczbczccmncuKczdczeczfczgczhcmmcxXcziczjczkcuVcsDczlcxfcxfcrEaabaaaaaaccpcDWcDXcEOcEPcDYcEQcDYcDYcEacEbcEXcEWcEWeDEcETcEScERczzaabaabdNscitcitciucitciucitciucjfczBctPczCctPcqaczCczDaaiaaaaaacrgaabcvicvicvicvicviaaactbaabcvicvicvicvicviaaacrgaaacxuaaacxuaaaaaacxucxucxucxucxucxucxuaaaaaacxuaaacxuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpvcpvcpvcpvcpvcpvcpvcpvcpvaaaaaaaaaaaaaaaaaaaeEaabcoJcwncoLaaacoJcwncoLaabcoJcwncoLaabaabaabaaaaaaaaaaaaaabaabaaaaaiczEczFczGaaiczHczIczJczJczJczKczJczJczJczLactczMczNczOczPczQczRczSczTczTczTczUczVcvtcvtcvtczWczXczYaaqcBWcAacAbcAcaaiaaiaaiaaicAdcmncuKcsucAecAfcAgcAhcmmcAicAjcAkcAlcAmcrEcrEcrEcrEcrEaaaaaaaaaaqAcHNcHOcHfcHgcGIcGJcGIcGIcHucHBcGGcGFcEReDFcGHcDpcygazGaabaabavccAzcAAcABcACcADcAEcAFcAGcADcAEcAHaaiczpczqabnaaiaaaaaacrhaaaaabaaaaabaaaaabaaacAKaaaaabaaaaabaabaabaabcrgaaacxucxucxuaaacxucxucxucxucxucxucxucxucxuaaacxucxucxuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachIchIchIchIchIchIchIchIchIchIchIchIchIchIchIchIchIchIchIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpvcpvcpvcpvcpvcpvcpvcpvcpvaaaaaaaaaaaaaaaaaaaabaaacoJcpwcoLaabcoJcpwcoLaaacoJcpwcoLaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaabaaaaabaabaaaaaaaaicrjaaqcrkcrlcrlcrmaaqaaqaaqaaqaaqaaqaaqaaqaaqaaqaaqaaqaaqaaqcrnaaqaaJaaqaaicwHcwIcwJcwKcwLcwMcwNcxvckFcrwcqGcqHcqScqJcrxcrycrzcrAcmmcrBcmmcrCcodcrDaabcrEcrEcrEcrEcrEaaaaaaaabaqAcrFcmBcrGeBbcqWciscisciscrHciscisciscisciscrIciscrJcrKaaaaaaaaicnCcnCcnCcpXcrLcmIcrMcrNcrOcrPcrQcrQcrRcrScrTaaiaaaaaacrgaaaaabaaaaabaaaaaaaaacrUaaaaabaabaaaaaaaaaaaacrgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachIchIchIchIchIchIchIchIchIchIchIchIchIchIchIchIchIchIchIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpvcpvcpvcpvcpvcpvcpvcpvcpvaaaaaaaaaaeDaeDaeEaabaaacoJcpwcoLaabcoJcpwcoLaaacoJcpwcoLaabaaaaaaaaaaaaaaaaaaaaaaaaaabcrVaaiaaiaaiaaiaaiaaicmSaaqeABcrXcrXcrYabHcrZcsacsacsacsacsacsacsbcsacsacsccsccsacsdcsecsfcsgaaicwxcwyciRcwwcwAcwGciicwzcCjcsocspcsqcsrcsscstcrycsucsvcswcsxcsycszcsAcsBcsCcsDcsEcsFcsGcrEaaaaaaaaacsHalkeAZalkcgpcsJcsKcsLcsKabHcsMcsNcsOeBacsQcsRcsScsTabnaaaaaaaaiaaqaaqaaqaaqcsUcitcrbcsVcsWcsXcitcitcsYcitcsZaaiaaaaaacrgaaactactactactactaaabctbaabctactactactactaaaacrgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachIchIchIaaachIchIchIchIchIchIchIchIchIaaachIchIchIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpvcpvcpvcpvcpvcpvcpvcpvcpvaaaaaaaaaaeDaaaaabaaaaabaabctcaabaabaabctcaabaaaaabctcaabaaaaaaaaaaaaaaaaaaaaaaaactdbNtctectfctgcthctictjctkctlaaqaaqdSRctnaaqaaqbXnaaiaaiaaiaaiaaiaaiaqAaaiaaiaaiaaiaaiabnaqAaaiaaiccZcxyciOciRciiciiciiciicxNckFctqctrcmmctscttcstctucsucsvctvctwctwctxctyctzaabctActBcsGctCcrEaaaaaaaaaaqAeBjcBueBiaaqchlctFctGctFaaqcpncpmctHeBgeBhctKcpncpmabnaaaaaaaaicmDcmEcmFctLcpYcmIctMctNctOctPctPctQctRctSctTaaiaabaabcrgaabctUctVctVctVctVctWctXctYctZctZctZctZcuaaabcrgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachIaaaaaachIchIchIchIchIchIchIchIchIaaaaaachIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpvcpvcpvcpvcpvcpvcpvcpvcpvaaaaaaaaaaeEaabcubcuccuccudcuecufcufcufcuecufcufcufcuecufcufcugcuccuccuccuccuccuhcuicujcukculcumcuncuocupbXmcmScuqaaqaaqaaqaaqbXmbXnaaicxBcuscutcuucxKcxJcxIcxHcxMcxLcuBcuCcuDdRZcuFcxxcxycxzciRciiciiciiciicxAckFcuIcuJcmmcmncuKcuLcuMcuNcuOcuPcuQcuRcuScuTcuUcuVcsDcuWcsGcsGcrEaaaaaaaabaqAeBfcBucBwaaqcuYctFcisctFaaqcuZcvactHeBdeBectKcuZcvdabnaaaaaaaaicnCcnDcnCcvecnFcitciuctNcvfcvgcitcvhaaqaaqaaqaaiaaaaaacrgaabcvicvicvicvicviaaactbaaacvicvicvicvicviaabcrgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachIchIchIchIchIchIchIchIchIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpvcpvcpvcpvcpvcpvcpvcpvcpvaaaaaaaaaaeDaaaaabaaaaabaabcvjaabaaaaabcvjaabaaaaabcvjaabaaaaaaaaaaaaaaaaaaaaaaaactdbNtcvkcvlcvmcvnaaicvobXmcvpctkctkctkctkctkctkcvqaaicwOcvscvtcvuciXcjOckGckIciUciWcvAcvBcvCcvDcvEciSciPciOciRciQciAciiciiciCckFcvKcvLcmmcmncuKcvMcvNcvOcvPcvQcvRcvScvTcvScvUaabcrEcrEcrEcrEcrEaabaabaabccpcBtcBucBwaaqcBvcvYcvZcwacwbabtayOayOcAJayOcweaCtaaqabnaaaaaaaaicnCcnCcnCctLcwfcwgcwhcptcwicrQcrQcwjcwkcwlcwmdIpaaaaaacrgaaaaabaaaaabaabaabaaactbaaaaabaaaaabaaaaabaaacrgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachIchIchIchIchIchIchIchIchIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpvcpvcpvcpvcpvcpvcpvcpvcpvaaaaaaaaaaeDaeDaeEaabaabcoJcwncoLaaacoJcwncoLaaacoJcwncoLaabaaaaaaaaaaaaaaaaaaaaaaabaabcwoaaiaaiaaiaaiaaicwpcwqbXmcwrbXmbXmbXmcwscwtcwucwvcvtcvtcvrciXcnrclGcmlclEclFcwBcwCcwDcwEcwFcrscrrcrqcrpcpbcpacoZcofcntcwPcwQcwRcwScwTcwUcwVcwWcwXcwYcwZcxacswcxbcxccxdcsCcsDcxecxfcxfcrEaaaaaaaabaqAcBDcBucBEaaqcAxcBBcBBcCEaaqcBFcwccBycygcBxcBCczvcBAcqZaaaaaacxoancancancanccxpcxqcxrcxqcxscxqcxqcxtctNcitcitdITaaaaaacrgaaactactactactactaaabctbaabctactactactactaaabcrgaaaaaaaaaaaaaaaaaaaaacxuaaaaaaaaacxuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachIchIchIchIchIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpvcpvcpvcpvcpvcpvcpvcpvcpvaaaaaaaaaaaaaaaaaaaaaaaacoJcwncoLaabcoJcwncoLaaacoJcwncoLaaaaaaaaaaabaaaaaaaaaaaaaabaabaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaicySboVcxwcvtcvtcvucslcsmctoctpcuraaidIWcxDcxEcxFcxGaaicsiciicskcsjcrvcrtciicshcoccodcxOcxPcxQcxRcxScxTcxUcxVcxWcmmcxXcxYcxZctzaabctAcyacybcyccrEaaaaaaaaaaqAcgpcBGcyeaaqcCDcDncBRcxmcBHcBucDvcDscygcCFcDqcDpcDrcypaabaaadLvcyreDDcyscytcyucmIcyvcmIcywcmIcdTcmIcDocyxcitaaiaabaabcrgaabctUctVctVctVctVctWctXctYctZctZctZctZcyyaabcrgaaaaaaaaaaaaaaaaaaaaacxucxucxucxucxuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaNpaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpvcpvcpvcpvcpvcpvcpvcpvcpvaaaaaaaaaaaaaaaaaaaeEaabcoJcwncoLaaacoJcwncoLaaacoJcwncoLaabaaaaaaaaaaaaaaaaaaaaaaabaabaaicyzcBTczZcyBcyAcyAczZcyCcyDdNqcyAcyFcyGcyHcyIcyJcyKcyJcyLcyMcyNcyOcyPcvtaaicyQcuvcBVcuGcuAboVanccyVciIcuHcuxcuwaaiaaicyZczaczbczccmncuKczdczeczfczgczhcmmcxXcziczjczkcuVcsDczlcxfcxfcrEaabaaaaaaccpcDWcDXcEOcEPcDYcEQcDYcDYcEacEbcEXcEWcEWeDEcETcEScERczzaabaabdNscitcitciucitciucitciucjfczBctPczCctPcqaczCczDaaiaaaaaacrgaabcvicvicvicvicviaaactbaabcvicvicvicvicviaaacrgaaacxuaaacxuaaaaaacxucxucxucxucxucxucxuaaaaaacxuaaacxuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpvcpvcpvcpvcpvcpvcpvcpvcpvaaaaaaaaaaaaaaaaaaaeEaabcoJcwncoLaaacoJcwncoLaabcoJcwncoLaabaabaabaaaaaaaaaaaaaabaabaaaaaiczEczFczGaaiczHczIczJczJczJczKczJczJczJczLactcvvczNczOczPczQczRczSczTczTczTczUczVcvtcvtcvtczWczXczYaaqcBWcAacAbcAcaaiaaiaaiaaicAdcmncuKcsucAecAfcAgcAhcmmcAicAjcAkcAlcAmcrEcrEcrEcrEcrEaaaaaaaaaaqAcHNcHOcHfcHgcGIcGJcGIcGIcHucHBcGGcGFcEReDFcGHcDpcygazGaabaabavccAzcAAcABcACcADcAEcAFcAGcADcAEcAHaaiczpczqabnaaiaaaaaacrhaaaaabaaaaabaaaaabaaacAKaaaaabaaaaabaabaabaabcrgaaacxucxucxuaaacxucxucxucxucxucxucxucxucxuaaacxucxucxuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpvcpvcpvcpvcpvcpvcpvcpvcpvaaaaaaaaaaaaaaaaaaafdaabcoJcALcoLaaacoJcALcoLaaacoJcALcoLaabaeEaabaabaaaaaaaaaaabaaaaaaaaicAMczFcANaaiaaicAOaaiaaiaaicAPaaiaaiaaiaaiaaiaaiaaiaaicAQcARcAScATcyMcyMcyMcAUcAVcAWcAXcyMcyMcAVcAYcAZcBacAacBbcBcaaicBdcBeactcBfcBgcBhcBicBjczhcmmcBkcBlcBmcBncBocxdcBpcsDcBqcBrcBscrEaaaaaaaaaaqAezJezPcINcIOcIPcIQcIRcygcIScITcIjcIicHPeDGcImcIlcIkaDBaaaaaaavccBIcBJcBKaaqcBLcBMcBNaaqcBOcBPcBQaaicznczoabnaaaaaaaaacrgaaactactactactactaaabcriaabctactactactactaaabcrgaaacxucxucxuaaacxucxucxucxucxucxucxucxucxuaaacxucxucxuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpvcpvcpvcpvcpvcpvcpvcpvcpvaaaaaaaaaaaaaaaaaaaeEaaaaabaaaaaaaaaaabaabaabaaaaaaaabaabaaaaeEaabaabaaaaaaaaaaaaaaaaaaaaicBSczFcANaaidPecBUcBYaaicDFcBXcCUcBZaaicCacCbcFocCcaaicCdcvtcCecvucvtcvtcCfcCgcChcCidPhcCkcClcCmaaicCncBacAacCocCpaaiaaicCqaaicCrcCscmmcBicBjcCtcmmcBkcBlcxXcxYcCuctzcCvctAcCwcCxcCycrEaaaaaaaaacCzcCAcCBcCBcCCacdacdaqsezReDHeDIeDKeDJeDLaaiavcabnaaicaUaaaaaaavccCGcnCcnCaaqcCHcnCcnCaaqcCHcnCcnCaaiczyezXcCIaaaaabaabcrgaabctUctVctVctVctVcqfcCJcqfctZctZctZctZcyyaabcrgaaacxucxucxuaaacxucxucxucxucxucxucxucxucxuaaacxucxucxuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpvcpvcpvcpvcpvcpvcpvcpvcpvaaaaaaaaaaaaaaaaaaaeDaeDaeEaeDaeDafdaeEaeEaeEaeEaeDaeEaeEaeDcCKaabaaaaaaaaaaaaaaaaaaaaaaaidPFcCLcCMcyBcANcCNcCOaaidQucCQcCRaaiaaicCScCScCTcCTdxwcvucvtcCecvucvtcCVcCWactcCXcCYcCZcDacDbatTcDccCecvucDdcDeaaqcDfaaiabnaaicDgcDhcmmcBicBjczhcmmcDicBlcxXcDjcDkczkcDlcsDcDmcBrcBrcrEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqAezYcygcygeAgeAdeAcaaieAbeAaezZaaaaaaaaaavccDtcnCcnCaaqcDucnCcnCaaqcDucnCcnCaaiczyeAhabnaaaaaaaaacrgaabcvicvicvicvicviaaacriaaacvicvicvicvicviaaacrgaaacxucxucxucxucxucxucxucxucxucxucxucxucxucxucxucxucxuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpvcpvcpvcpvcpvcpvcpvcpvcpvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacCgaaiaaiaaiaaiaaiaaicDwaaiaaiaaiaaiaaiaaicCgaaicDxcDycCTcCTdxwcDzcDAcDBcDCcDDcDEcDEdvhcDGcDHcDIcDJcDKdvhcDLcDMcDNcDOcDOcDPcDQdyKcCqaaicDScDTcmmcBicmmcDUcmmcBkcBlcxXcxYcDVctzcCvcrEcrEcrEcrEcrEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqAcyhcygcygcxmcxldekaaiaaaaaaaaaaaaaaaaaaavccnCcnCcnCaaqcDZcnCcnCaaqcDZcnCcnCaaicydcyfabnaaaaaaaaacrgaaaaaaaabaabaabaaaaaacriaabaaaaaaaabaabaaaaaacrgaaacxucxucxucxucxucxucxucxucxucxucxucxucxucxucxucxucxuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpvcpvcpvcpvcpvcpvcpvaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaicEccEdcEecEfcEgcEhcEidGncEkcrucEmcEncEnaaiaaicEocEocCTcqOaaicEpcEqcErcEscEtcEudGlaaidBJcExcEycvtdBEaaidzOcEBcECcEscEscEDcEEaaicCqaaicEFcEGcmmcBicmmcsucAecEHcEIcBmcEJcEKcxdcELcsDcEMcENcENcrEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeHcyncyoczmcymcylcykaaiaaaaaaaaaaaaaaaaaacEUaaiaaiaaiaaiaaiaaiaaiaaicEVcEVcEVcaUcyicyjabnaaaaaaaaacrgcrgcrgcrgcrgaaaaaaaaacriaaaaaaaaacrgcrgcrgcrhcrgaaacxucxucxucxucxucxucxucxucxucxucxucxucxucxucxucxucxuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpvcpvcpvcpvcpvcpvcpvaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaicEccEdcEecEfcEgcihcEidGncEkcrucEmcEncEnaaiaaicEocEocCTcqOaaicEpcEqcErcEscEtcEudGlaaidBJcExcEycvtdBEaaidzOcEBcECcEscEscEDcEEaaicCqaaicEFcEGcmmcBicmmcsucAecEHcEIcBmcEJcEKcxdcELcsDcEMcENcENcrEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeHcyncyoczmcymcylcykaaiaaaaaaaaaaaaaaaaaacEUaaiaaiaaiaaiaaiaaiaaiaaicEVcEVcEVcaUcyicyjabnaaaaaaaaacrgcrgcrgcrgcrgaaaaaaaaacriaaaaaaaaacrgcrgcrgcrhcrgaaacxucxucxucxucxucxucxucxucxucxucxucxucxucxucxucxucxuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpvcpvcpvcpvcpvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaicEYcEZcFacFbcFbcFccFdcFecFfcFfcFgcFhcFiaaiaaicEocEocCTcFjaaicFkcFlaaidGudGJdGJdGJaaicsncFpcFqcFrdGMaaidGJdGJdGJdGuaaicFscFtaaicCqaaicFucFvcFwcFxcFycuNcFzcFAcswcuPcxYcFBctzcCvctAcFCcFDcFEcrEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaUayGanFanFanFanFbalcaUaaaaaaaaaaaaaaaaaacFFaaaaaaaaaaaaaaaaaaaaaaaaaacaacaacaaiczncBzabnaaaaaaaaaaaaaaaaaaaaaaaaaaacrgaabcFGaabcrgaaaaaaaaaaaaaaaaaaaaacxucxucxucxucxucxucxucxucxucxucxucxucxucxucxucxucxuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacFHaaaaaaaaacFHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaicFIcFJcFKcFLcFLcEmcEicEmcFLcFLcFLcFhcFMaaiaaicFNcFNcCTdHLaaicFOcFPaaicFQcFRcFScFTaFkcFUcFVcFWcFXcDQaFkcFRcFRcFRcFYcFZcGacGbaaicCqcGccGdcGecGfcFzcodcGgcoecGhcGicqRcGjcGkczkcDlcsDcGlcENcENcrEaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacGmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaidHhdHiabnaaiaFoaQVaQVaQVaQVaQVcGnaaacrgaaaaabaaacrgaaaaaaaaaaaaaaaaaaaaacxucxucxucxucxucxucxucxucxucxucxucxucxucxucxucxucxuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacFHcFHcFHcFHcFHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaicuycFJcEmcEmcEmcEmcEicEmcEmcEmcGpcGqcFMaaiaaicGrcFNcCTcCTaaicBdcGsaaiaaiayGanFcGtcGucGvcEscGwcEscGxcGycGtanFayHaaiaaicGzcGAaaicCqaaicGBcGCcGfcGDcnscmmcmmcrCcxTcGDcxYcGEctzcCvcrEcrEcrEcrEcrEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaayKczyczrczscztczuczwczxczuczwczwazGaaacrgcrgcrgcrgcrgaaaaaaaaaaaaaaaaaacxucxucxucxucxucxucxucxucxucxucxucxucxucxucxucxucxucxucxuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa