From 966ba79a285b6b7f69c21aa99982a999951fc9ca Mon Sep 17 00:00:00 2001 From: Kelenius Date: Fri, 9 Jan 2015 02:44:02 +0300 Subject: [PATCH 001/143] Update for the slimes Water damage relative to water amount Better interface for player-controlled slimes Feed on simple_animals Heavy refactoring Friendly glomps at the slimes of the same color, non-friendly at the slimes of different color Fixes #7647 Fixes #7107 Fixes #6812 for the slimes only --- baystation12.dme | 1 + code/_onclick/other_mobs.dm | 75 ++- .../mob/living/carbon/metroid/death.dm | 33 +- .../mob/living/carbon/metroid/emote.dm | 3 - .../mob/living/carbon/metroid/items.dm | 366 ++++++++++++ .../modules/mob/living/carbon/metroid/life.dm | 383 ++++++------- .../mob/living/carbon/metroid/metroid.dm | 528 +++--------------- .../mob/living/carbon/metroid/powers.dm | 200 +++---- code/modules/mob/living/carbon/metroid/say.dm | 6 +- .../mob/living/carbon/metroid/subtypes.dm | 2 +- .../mob/living/carbon/metroid/update_icons.dm | 10 +- code/modules/mob/mob_helpers.dm | 2 +- code/modules/reagents/Chemistry-Reagents.dm | 2 +- 13 files changed, 754 insertions(+), 857 deletions(-) create mode 100644 code/modules/mob/living/carbon/metroid/items.dm diff --git a/baystation12.dme b/baystation12.dme index f0a68647edb..701ec2fd39b 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -1056,6 +1056,7 @@ #include "code\modules\mob\living\carbon\metroid\emote.dm" #include "code\modules\mob\living\carbon\metroid\examine.dm" #include "code\modules\mob\living\carbon\metroid\hud.dm" +#include "code\modules\mob\living\carbon\metroid\items.dm" #include "code\modules\mob\living\carbon\metroid\life.dm" #include "code\modules\mob\living\carbon\metroid\login.dm" #include "code\modules\mob\living\carbon\metroid\metroid.dm" diff --git a/code/_onclick/other_mobs.dm b/code/_onclick/other_mobs.dm index 479e097251c..8d49ffd91b2 100644 --- a/code/_onclick/other_mobs.dm +++ b/code/_onclick/other_mobs.dm @@ -120,45 +120,60 @@ // Eating if(Victim) + if (Victim == A) + Feedstop() return - // Basic attack. - A.attack_generic(src, (is_adult ? rand(20,40) : rand(5,25)), "glomped") - - // Handle mob shocks. var/mob/living/M = A - if(istype(M) && powerlevel > 0 && !istype(A,/mob/living/carbon/slime)) + if (istype(M)) - if(ishuman(M)) - var/mob/living/carbon/human/H = M - if(H.species.flags & IS_SYNTHETIC || (H.species.siemens_coefficient<0.5)) - return + switch(src.a_intent) + if ("help") // We just poke the other + M.visible_message("[src] gently pokes [M]!", "[src] gently pokes you!") + if ("disarm") // We stun the target, with the intention to feed + var/stunprob = 0 + var/power = max(0, min(10, (powerlevel + rand(0, 3)))) + if (powerlevel > 0 && !istype(A, /mob/living/carbon/slime)) + if(ishuman(M)) + var/mob/living/carbon/human/H = M + if(H.species.flags & IS_SYNTHETIC || (H.species.siemens_coefficient<0.5)) + return - var/power = max(0,min(10,(powerlevel+rand(0,3)))) - var/stunprob = 10 - switch(power*10) - if(1 to 2) stunprob = 20 - if(3 to 4) stunprob = 30 - if(5 to 6) stunprob = 40 - if(7 to 8) stunprob = 60 - if(9) stunprob = 70 - if(10) stunprob = 95 + switch(power * 10) + if(0) stunprob = 10 + if(1 to 2) stunprob = 20 + if(3 to 4) stunprob = 30 + if(5 to 6) stunprob = 40 + if(7 to 8) stunprob = 60 + if(9) stunprob = 70 + if(10) stunprob = 95 - if(prob(stunprob)) - powerlevel = max(0,powerlevel-3) - src.visible_message("\red The [name] has shocked [M]!") - M.Weaken(power) - M.Stun(power) - if (M.stuttering < power) M.stuttering = power + if(prob(stunprob)) + powerlevel = max(0, powerlevel-3) + M.visible_message("[src] has shocked [M]!", "[src] has shocked you!") + M.Weaken(power) + M.Stun(power) + M.stuttering = max(M.stuttering, power) - var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread - s.set_up(5, 1, M) - s.start() + var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread + s.set_up(5, 1, M) + s.start() - if(prob(stunprob) && powerlevel >= 8) - M.adjustFireLoss(powerlevel * rand(6,10)) - M.updatehealth() + if(prob(stunprob) && powerlevel >= 8) + M.adjustFireLoss(powerlevel * rand(6,10)) + else if(prob(40)) + M.visible_message("[src] has pounced at [M]!", "[src] has pounced at you!") + M.Weaken(power) + else + M.visible_message("[src] has tried to pounce at [M]!", "[src] has tried to pounce at you!") + M.updatehealth() + if ("grab") // We feed + Wrap(M) + if ("hurt") // Attacking + A.attack_generic(src, (is_adult ? rand(20,40) : rand(5,25)), "glomped") + else + A.attack_generic(src, (is_adult ? rand(20,40) : rand(5,25)), "glomped") // Basic attack. /* New Players: Have no reason to click on anything at all. diff --git a/code/modules/mob/living/carbon/metroid/death.dm b/code/modules/mob/living/carbon/metroid/death.dm index 2ebc5c576b5..022726b00ac 100644 --- a/code/modules/mob/living/carbon/metroid/death.dm +++ b/code/modules/mob/living/carbon/metroid/death.dm @@ -1,22 +1,23 @@ /mob/living/carbon/slime/death(gibbed) if(stat == DEAD) return - stat = DEAD - if(!gibbed) - if(is_adult) - var/mob/living/carbon/slime/M = new /mob/living/carbon/slime(loc) - M.colour = colour - M.rabid = 1 - is_adult = 0 - maxHealth = 150 - revive() - regenerate_icons() - number = rand(1, 1000) - name = "[colour] [is_adult ? "adult" : "baby"] slime ([number])" - return + if(!gibbed && is_adult) + var/mob/living/carbon/slime/M = new /mob/living/carbon/slime(loc, colour) + M.rabid = 1 + M.Friends = Friends.Copy() + step_away(M, src) + is_adult = 0 + maxHealth = 150 + revive() + regenerate_icons() + if (!client) rabid = 1 + number = rand(1, 1000) + name = "[colour] [is_adult ? "adult" : "baby"] slime ([number])" + return - icon_state = "[colour] baby slime dead" - overlays.Cut() + . = ..(gibbed, "seizes up and falls limp...") - return ..(gibbed) \ No newline at end of file + regenerate_icons() + + return \ No newline at end of file diff --git a/code/modules/mob/living/carbon/metroid/emote.dm b/code/modules/mob/living/carbon/metroid/emote.dm index 2cbc139f5a1..829b9dcf1e6 100644 --- a/code/modules/mob/living/carbon/metroid/emote.dm +++ b/code/modules/mob/living/carbon/metroid/emote.dm @@ -1,6 +1,5 @@ /mob/living/carbon/slime/emote(var/act, var/m_type=1, var/message = null) - if (findtext(act, "-", 1, null)) var/t1 = findtext(act, "-", 1, null) //param = copytext(act, t1 + 1, length(act) + 1) @@ -68,9 +67,7 @@ if (m_type & 1) for(var/mob/O in viewers(src, null)) O.show_message(message, m_type) - //Foreach goto(703) else for(var/mob/O in hearers(src, null)) O.show_message(message, m_type) - //Foreach goto(746) return \ No newline at end of file diff --git a/code/modules/mob/living/carbon/metroid/items.dm b/code/modules/mob/living/carbon/metroid/items.dm new file mode 100644 index 00000000000..eb3836daad7 --- /dev/null +++ b/code/modules/mob/living/carbon/metroid/items.dm @@ -0,0 +1,366 @@ +/obj/item/slime_extract + name = "slime extract" + desc = "Goo extracted from a slime. Legends claim these to have \"magical powers\"." + icon = 'icons/mob/slimes.dmi' + icon_state = "grey slime extract" + force = 1.0 + w_class = 1.0 + throwforce = 0 + throw_speed = 3 + throw_range = 6 + origin_tech = "biotech=4" + var/Uses = 1 // uses before it goes inert + var/enhanced = 0 //has it been enhanced before? + + attackby(obj/item/O as obj, mob/user as mob) + if(istype(O, /obj/item/weapon/slimesteroid2)) + if(enhanced == 1) + user << " This extract has already been enhanced!" + return ..() + if(Uses == 0) + user << " You can't enhance a used extract!" + return ..() + user <<"You apply the enhancer. It now has triple the amount of uses." + Uses = 3 + enhanced = 1 + del(O) + +/obj/item/slime_extract/New() + ..() + create_reagents(100) + +/obj/item/slime_extract/grey + name = "grey slime extract" + icon_state = "grey slime extract" + +/obj/item/slime_extract/gold + name = "gold slime extract" + icon_state = "gold slime extract" + +/obj/item/slime_extract/silver + name = "silver slime extract" + icon_state = "silver slime extract" + +/obj/item/slime_extract/metal + name = "metal slime extract" + icon_state = "metal slime extract" + +/obj/item/slime_extract/purple + name = "purple slime extract" + icon_state = "purple slime extract" + +/obj/item/slime_extract/darkpurple + name = "dark purple slime extract" + icon_state = "dark purple slime extract" + +/obj/item/slime_extract/orange + name = "orange slime extract" + icon_state = "orange slime extract" + +/obj/item/slime_extract/yellow + name = "yellow slime extract" + icon_state = "yellow slime extract" + +/obj/item/slime_extract/red + name = "red slime extract" + icon_state = "red slime extract" + +/obj/item/slime_extract/blue + name = "blue slime extract" + icon_state = "blue slime extract" + +/obj/item/slime_extract/darkblue + name = "dark blue slime extract" + icon_state = "dark blue slime extract" + +/obj/item/slime_extract/pink + name = "pink slime extract" + icon_state = "pink slime extract" + +/obj/item/slime_extract/green + name = "green slime extract" + icon_state = "green slime extract" + +/obj/item/slime_extract/lightpink + name = "light pink slime extract" + icon_state = "light pink slime extract" + +/obj/item/slime_extract/black + name = "black slime extract" + icon_state = "black slime extract" + +/obj/item/slime_extract/oil + name = "oil slime extract" + icon_state = "oil slime extract" + +/obj/item/slime_extract/adamantine + name = "adamantine slime extract" + icon_state = "adamantine slime extract" + +/obj/item/slime_extract/bluespace + name = "bluespace slime extract" + icon_state = "bluespace slime extract" + +/obj/item/slime_extract/pyrite + name = "pyrite slime extract" + icon_state = "pyrite slime extract" + +/obj/item/slime_extract/cerulean + name = "cerulean slime extract" + icon_state = "cerulean slime extract" + +/obj/item/slime_extract/sepia + name = "sepia slime extract" + icon_state = "sepia slime extract" + +/obj/item/slime_extract/rainbow + name = "rainbow slime extract" + icon_state = "rainbow slime extract" + +////Pet Slime Creation/// + +/obj/item/weapon/slimepotion + name = "docility potion" + desc = "A potent chemical mix that will nullify a slime's powers, causing it to become docile and tame." + icon = 'icons/obj/chemical.dmi' + icon_state = "bottle19" + + attack(mob/living/carbon/slime/M as mob, mob/user as mob) + if(!istype(M, /mob/living/carbon/slime))//If target is not a slime. + user << " The potion only works on baby slimes!" + return ..() + if(M.is_adult) //Can't tame adults + user << " Only baby slimes can be tamed!" + return..() + if(M.stat) + user << " The slime is dead!" + return..() + if(M.mind) + user << " The slime resists!" + return ..() + var/mob/living/simple_animal/slime/pet = new /mob/living/simple_animal/slime(M.loc) + pet.icon_state = "[M.colour] baby slime" + pet.icon_living = "[M.colour] baby slime" + pet.icon_dead = "[M.colour] baby slime dead" + pet.colour = "[M.colour]" + user <<"You feed the slime the potion, removing it's powers and calming it." + del(M) + var/newname = copytext(sanitize(input(user, "Would you like to give the slime a name?", "Name your new pet", "pet slime") as null|text),1,MAX_NAME_LEN) + + if (!newname) + newname = "pet slime" + pet.name = newname + pet.real_name = newname + del(src) + +/obj/item/weapon/slimepotion2 + name = "advanced docility potion" + desc = "A potent chemical mix that will nullify a slime's powers, causing it to become docile and tame. This one is meant for adult slimes" + icon = 'icons/obj/chemical.dmi' + icon_state = "bottle19" + + attack(mob/living/carbon/slime/M as mob, mob/user as mob) + if(!istype(M, /mob/living/carbon/slime/))//If target is not a slime. + user << " The potion only works on slimes!" + return ..() + if(M.stat) + user << " The slime is dead!" + return..() + if(M.mind) + user << " The slime resists!" + return ..() + var/mob/living/simple_animal/adultslime/pet = new /mob/living/simple_animal/adultslime(M.loc) + pet.icon_state = "[M.colour] adult slime" + pet.icon_living = "[M.colour] adult slime" + pet.icon_dead = "[M.colour] baby slime dead" + pet.colour = "[M.colour]" + user <<"You feed the slime the potion, removing it's powers and calming it." + del(M) + var/newname = copytext(sanitize(input(user, "Would you like to give the slime a name?", "Name your new pet", "pet slime") as null|text),1,MAX_NAME_LEN) + + if (!newname) + newname = "pet slime" + pet.name = newname + pet.real_name = newname + del(src) + + +/obj/item/weapon/slimesteroid + name = "slime steroid" + desc = "A potent chemical mix that will cause a slime to generate more extract." + icon = 'icons/obj/chemical.dmi' + icon_state = "bottle16" + + attack(mob/living/carbon/slime/M as mob, mob/user as mob) + if(!istype(M, /mob/living/carbon/slime))//If target is not a slime. + user << " The steroid only works on baby slimes!" + return ..() + if(M.is_adult) //Can't tame adults + user << " Only baby slimes can use the steroid!" + return..() + if(M.stat) + user << " The slime is dead!" + return..() + if(M.cores == 3) + user <<" The slime already has the maximum amount of extract!" + return..() + + user <<"You feed the slime the steroid. It now has triple the amount of extract." + M.cores = 3 + del(src) + +/obj/item/weapon/slimesteroid2 + name = "extract enhancer" + desc = "A potent chemical mix that will give a slime extract three uses." + icon = 'icons/obj/chemical.dmi' + icon_state = "bottle17" + + /*afterattack(obj/target, mob/user , flag) + if(istype(target, /obj/item/slime_extract)) + if(target.enhanced == 1) + user << " This extract has already been enhanced!" + return ..() + if(target.Uses == 0) + user << " You can't enhance a used extract!" + return ..() + user <<"You apply the enhancer. It now has triple the amount of uses." + target.Uses = 3 + target.enahnced = 1 + del(src)*/ + +/obj/effect/golemrune + anchored = 1 + desc = "a strange rune used to create golems. It glows when spirits are nearby." + name = "rune" + icon = 'icons/obj/rune.dmi' + icon_state = "golem" + unacidable = 1 + layer = TURF_LAYER + + New() + ..() + processing_objects.Add(src) + + process() + var/mob/dead/observer/ghost + for(var/mob/dead/observer/O in src.loc) + if(!O.client) continue + if(O.mind && O.mind.current && O.mind.current.stat != DEAD) continue + ghost = O + break + if(ghost) + icon_state = "golem2" + else + icon_state = "golem" + + attack_hand(mob/living/user as mob) + var/mob/dead/observer/ghost + for(var/mob/dead/observer/O in src.loc) + if(!O.client) continue + if(O.mind && O.mind.current && O.mind.current.stat != DEAD) continue + ghost = O + break + if(!ghost) + user << "The rune fizzles uselessly. There is no spirit nearby." + return + var/mob/living/carbon/human/G = new(src.loc) + G.set_species("Golem") + G.key = ghost.key + G << "You are an adamantine golem. You move slowly, but are highly resistant to heat and cold as well as blunt trauma. You are unable to wear clothes, but can still use most tools. Serve [user], and assist them in completing their goals at any cost." + del (src) + + + proc/announce_to_ghosts() + for(var/mob/dead/observer/G in player_list) + if(G.client) + var/area/A = get_area(src) + if(A) + G << "Golem rune created in [A.name]." + +/mob/living/carbon/slime/has_eyes() + return 0 + +//////////////////////////////Old shit from metroids/RoRos, and the old cores, would not take much work to re-add them//////////////////////// + +/* +// Basically this slime Core catalyzes reactions that normally wouldn't happen anywhere +/obj/item/slime_core + name = "slime extract" + desc = "Goo extracted from a slime. Legends claim these to have \"magical powers\"." + icon = 'icons/mob/slimes.dmi' + icon_state = "slime extract" + force = 1.0 + w_class = 1.0 + throwforce = 1.0 + throw_speed = 2 + throw_range = 6 + origin_tech = "biotech=4" + var/POWERFLAG = 0 // sshhhhhhh + var/Flush = 30 + var/Uses = 5 // uses before it goes inert + +/obj/item/slime_core/New() + ..() + create_reagents(100) + POWERFLAG = rand(1,10) + Uses = rand(7, 25) + //flags |= NOREACT +/* + spawn() + Life() + + proc/Life() + while(src) + sleep(25) + Flush-- + if(Flush <= 0) + reagents.clear_reagents() + Flush = 30 +*/ + + + +/obj/item/weapon/reagent_containers/food/snacks/egg/slime + name = "slime egg" + desc = "A small, gelatinous egg." + icon = 'icons/mob/mob.dmi' + icon_state = "slime egg-growing" + bitesize = 12 + origin_tech = "biotech=4" + var/grown = 0 + +/obj/item/weapon/reagent_containers/food/snacks/egg/slime/New() + ..() + reagents.add_reagent("nutriment", 4) + reagents.add_reagent("slimejelly", 1) + spawn(rand(1200,1500))//the egg takes a while to "ripen" + Grow() + +/obj/item/weapon/reagent_containers/food/snacks/egg/slime/proc/Grow() + grown = 1 + icon_state = "slime egg-grown" + processing_objects.Add(src) + return + +/obj/item/weapon/reagent_containers/food/snacks/egg/slime/proc/Hatch() + processing_objects.Remove(src) + var/turf/T = get_turf(src) + src.visible_message(" The [name] pulsates and quivers!") + spawn(rand(50,100)) + src.visible_message(" The [name] bursts open!") + new/mob/living/carbon/slime(T) + del(src) + + +/obj/item/weapon/reagent_containers/food/snacks/egg/slime/process() + var/turf/location = get_turf(src) + var/datum/gas_mixture/environment = location.return_air() + if (environment.phoron > MOLES_PHORON_VISIBLE)//phoron exposure causes the egg to hatch + src.Hatch() + +/obj/item/weapon/reagent_containers/food/snacks/egg/slime/attackby(obj/item/weapon/W as obj, mob/user as mob) + if(istype( W, /obj/item/toy/crayon )) + return + else + ..() +*/ diff --git a/code/modules/mob/living/carbon/metroid/life.dm b/code/modules/mob/living/carbon/metroid/life.dm index de34d74afaf..22b61291ef3 100644 --- a/code/modules/mob/living/carbon/metroid/life.dm +++ b/code/modules/mob/living/carbon/metroid/life.dm @@ -1,10 +1,3 @@ -/mob/living/carbon/slime - var/AIproc = 0 // determines if the AI loop is activated - var/Atkcool = 0 // attack cooldown - var/Tempstun = 0 // temporary temperature stuns - var/Discipline = 0 // if a slime has been hit with a freeze gun, or wrestled/attacked off a human, they become disciplined and don't attack anymore for a while - var/SStun = 0 // stun variable - /mob/living/carbon/slime/Life() set invisibility = 0 set background = 1 @@ -15,113 +8,27 @@ ..() if(stat != DEAD) - //Chemicals in the body handle_chemicals_in_body() - handle_nutrition() - handle_targets() - - if (!ckey) + if (!client) + handle_targets() + if (!AIproc) + spawn() + handle_AI() handle_speech_and_mood() var/datum/gas_mixture/environment if(src.loc) environment = loc.return_air() - //Apparently, the person who wrote this code designed it so that - //blinded get reset each cycle and then get activated later in the - //code. Very ugly. I dont care. Moving this stuff here so its easy - //to find it. - src.blinded = null - - regular_hud_updates() // Basically just deletes any screen objects :< + regular_hud_updates() if(environment) handle_environment(environment) // Handle temperature/pressure differences between body and environment handle_regular_status_updates() // Status updates, death etc. -/mob/living/carbon/slime/proc/AIprocess() // the master AI process - - if(AIproc || stat == DEAD || client) return - - var/hungry = 0 - if (nutrition < get_starve_nutrition()) - hungry = 2 - else if (nutrition < get_grow_nutrition() && prob(25) || nutrition < get_hunger_nutrition()) - hungry = 1 - - AIproc = 1 - - while(AIproc && stat != 2 && (attacked || hungry || rabid || Victim)) - if(Victim) // can't eat AND have this little process at the same time - break - - if(!Target || client) - break - - if(Target.health <= -70 || Target.stat == 2) - Target = null - AIproc = 0 - break - - if(Target) - for(var/mob/living/carbon/slime/M in view(1,Target)) - if(M.Victim == Target) - Target = null - AIproc = 0 - break - if(!AIproc) - break - - if(Target in view(1,src)) - if(istype(Target, /mob/living/silicon)) - if(!Atkcool) - Atkcool = 1 - spawn(45) - Atkcool = 0 - - if(Target.Adjacent(src)) - UnarmedAttack(Target) - return - if(!Target.lying && prob(80)) - - if(Target.client && Target.health >= 20) - if(!Atkcool) - Atkcool = 1 - spawn(45) - Atkcool = 0 - - if(Target.Adjacent(src)) - UnarmedAttack(Target) - - else - if(!Atkcool && Target.Adjacent(src)) - Feedon(Target) - - else - if(!Atkcool && Target.Adjacent(src)) - Feedon(Target) - - else - if(Target in view(7, src)) - if(!Target.Adjacent(src)) // Bug of the month candidate: slimes were attempting to move to target only if it was directly next to them, which caused them to target things, but not approach them - step_to(src, Target) - sleep(5) - - else - Target = null - AIproc = 0 - break - - var/sleeptime = movement_delay() - if(sleeptime <= 0) sleeptime = 1 - - sleep(sleeptime + 2) // this is about as fast as a player slime can go - - AIproc = 0 - /mob/living/carbon/slime/proc/handle_environment(datum/gas_mixture/environment) if(!environment) adjustToxLoss(rand(10,20)) @@ -146,8 +53,6 @@ //Account for massive pressure differences if(bodytemperature < (T0C + 5)) // start calculating temperature damage etc - if(bodytemperature <= (T0C - 40)) // stun temperature - Tempstun = 1 if(bodytemperature <= (T0C - 50)) // hurt temperature if(bodytemperature <= 50) // sqrting negative numbers is bad @@ -155,9 +60,6 @@ else adjustToxLoss(round(sqrt(bodytemperature)) * 2) - else - Tempstun = 0 - updatehealth() return //TODO: DEFERRED @@ -189,22 +91,16 @@ /mob/living/carbon/slime/proc/handle_regular_status_updates() - if(is_adult) - health = 200 - (getOxyLoss() + getToxLoss() + getFireLoss() + getBruteLoss() + getCloneLoss()) - else - health = 150 - (getOxyLoss() + getToxLoss() + getFireLoss() + getBruteLoss() + getCloneLoss()) + src.blinded = null - if(health < config.health_threshold_dead && stat != 2) + health = maxHealth - (getOxyLoss() + getToxLoss() + getFireLoss() + getBruteLoss() + getCloneLoss()) + + if(health < 0 && stat != DEAD) death() return - else if(src.health < config.health_threshold_crit) - - if(!src.reagents.has_reagent("inaprovaline")) - src.adjustOxyLoss(10) - - if(src.stat != DEAD) - src.stat = UNCONSCIOUS + if (halloss) + halloss = 0 if(prob(30)) adjustOxyLoss(-1) @@ -267,27 +163,16 @@ if(nutrition <= 0) nutrition = 0 - if(prob(75)) - adjustToxLoss(rand(0,5)) + adjustToxLoss(rand(1,3)) + if (client && prob(5)) + src << "You are starving!" else if (nutrition >= get_grow_nutrition() && amount_grown < 10) nutrition -= 20 amount_grown++ - if(amount_grown >= 10 && !Victim && !Target && !ckey) - if(is_adult) - Reproduce() - else - Evolve() - /mob/living/carbon/slime/proc/handle_targets() - if(Tempstun) - if(!Victim) // not while they're eating! - canmove = 0 - else - canmove = 1 - - if(attacked > 50) attacked = 50 + if(attacked > 50) attacked = 50 // Let's not get into absurdly long periods of rage if(attacked > 0) attacked-- @@ -300,106 +185,180 @@ if(prob(10)) Discipline-- - if(!client) - if(!canmove) return + if(!canmove) return - if(Victim) return // if it's eating someone already, continue eating! + if(Victim) return // if it's eating someone already, continue eating! - if(Target) - --target_patience - if (target_patience <= 0 || SStun || Discipline || attacked) // Tired of chasing or something draws out attention - target_patience = 0 - Target = null + if(Target) + --target_patience + if (target_patience <= 0 || SStun || Discipline || attacked) // Tired of chasing or something draws out attention + target_patience = 0 + Target = null - if(AIproc && SStun) return + var/hungry = 0 // determines if the slime is hungry - var/hungry = 0 // determines if the slime is hungry + if (nutrition < get_starve_nutrition()) + hungry = 2 + else if (nutrition < get_grow_nutrition() && prob(25) || nutrition < get_hunger_nutrition()) + hungry = 1 - if (nutrition < get_starve_nutrition()) - hungry = 2 - else if (nutrition < get_grow_nutrition() && prob(25) || nutrition < get_hunger_nutrition()) - hungry = 1 + if(hungry == 2 && !client) // if a slime is starving, it starts losing its friends + if(Friends.len > 0 && prob(1)) + var/mob/nofriend = pick(Friends) + --Friends[nofriend] + if (Friends[nofriend] <= 0) + Friends -= nofriend - if(hungry == 2 && !client) // if a slime is starving, it starts losing its friends - if(Friends.len > 0 && prob(1)) - var/mob/nofriend = pick(Friends) - --Friends[nofriend] + if(!Target) + if(will_hunt(hungry) || attacked || rabid) // Only add to the list if we need to + var/list/targets = list() - if(!Target) - if(will_hunt() && hungry || attacked || rabid) // Only add to the list if we need to - var/list/targets = list() + for(var/mob/living/L in view(7,src)) - for(var/mob/living/L in view(7,src)) + if(isslime(L) || L.stat == DEAD) // Ignore other slimes and dead mobs + continue - if(isslime(L) || L.stat == DEAD) // Ignore other slimes and dead mobs - continue - - if(L in Friends) // No eating friends! - continue - - if(issilicon(L) && (rabid || attacked)) // They can't eat silicons, but they can glomp them in defence - targets += L // Possible target found! - - if(istype(L, /mob/living/carbon/human) && dna) //Ignore slime(wo)men - var/mob/living/carbon/human/H = L - if(H.species.name == "Slime") - continue - - if(!L.canmove) // Only one slime can latch on at a time. - var/notarget = 0 - for(var/mob/living/carbon/slime/M in view(1,L)) - if(M.Victim == L) - notarget = 1 - if(notarget) - continue + if(L in Friends) // No eating friends! + continue + if(issilicon(L) && (rabid || attacked)) // They can't eat silicons, but they can glomp them in defence targets += L // Possible target found! - if(targets.len > 0) - if(attacked || rabid || hungry == 2) - Target = targets[1] // I am attacked and am fighting back or so hungry I don't even care - else - for(var/mob/living/carbon/C in targets) - if(!Discipline && prob(5)) - if(ishuman(C)) - Target = C - break + if(istype(L, /mob/living/carbon/human) && dna) //Ignore slime(wo)men + var/mob/living/carbon/human/H = L + if(H.species.name == "Slime") + continue - if(isalien(C) || ismonkey(C)) - Target = C - break + if(!L.canmove) // Only one slime can latch on at a time. + var/notarget = 0 + for(var/mob/living/carbon/slime/M in view(1,L)) + if(M.Victim == L) + notarget = 1 + if(notarget) + continue - if (Target) - target_patience = rand(5,7) - if (is_adult) - target_patience += 3 + targets += L // Possible target found! - if(!Target) // If we have no target, we are wandering or following orders - if (Leader) - if (holding_still) - holding_still = max(holding_still - 1, 0) - else if(canmove && isturf(loc)) - step_to(src, Leader) + if(targets.len > 0) + if(attacked || rabid || hungry == 2) + Target = targets[1] // I am attacked and am fighting back or so hungry I don't even care + else + for(var/mob/living/carbon/C in targets) + if(ishuman(C) && !Discipline && prob(5)) + Target = C + break - else if(hungry) - if (holding_still) - holding_still = max(holding_still - hungry, 0) - else if(canmove && isturf(loc) && prob(50)) - step(src, pick(cardinal)) + if(isalien(C) || ismonkey(C) || isanimal(C)) + Target = C + break + + if (Target) + target_patience = rand(5,7) + if (is_adult) + target_patience += 3 + + if(!Target) // If we have no target, we are wandering or following orders + if (Leader) + if (holding_still) + holding_still = max(holding_still - 1, 0) + else if(canmove && isturf(loc)) + step_to(src, Leader) + + else if(hungry) + if (holding_still) + holding_still = max(holding_still - 1 - hungry, 0) + else if(canmove && isturf(loc) && prob(50)) + step(src, pick(cardinal)) + + else + if (holding_still) + holding_still = max(holding_still - 1, 0) + else if(canmove && isturf(loc) && prob(33)) + step(src, pick(cardinal)) + +/mob/living/carbon/slime/proc/handle_AI() // the master AI process + + if(stat == DEAD || client || Victim) return // If we're dead or have a client, we don't need AI, if we're feeding, we continue feeding + AIproc = 1 + + if(amount_grown >= 10 && !Target) + if(is_adult) + Reproduce() + else + Evolve() + AIproc = 0 + return + + if(Target) // We're chasing the target + if(Target.stat == DEAD) + Target = null + AIproc = 0 + return + + for(var/mob/living/carbon/slime/M in view(1, Target)) + if(M.Victim == Target) + Target = null + AIproc = 0 + return + + if(Target.Adjacent(src)) + if(istype(Target, /mob/living/silicon)) // Glomp the silicons + if(!Atkcool) + a_intent = "hurt" + UnarmedAttack(Target) + Atkcool = 1 + spawn(45) + Atkcool = 0 + AIproc = 0 + return + + if(Target.client && !Target.lying && prob(60 + powerlevel * 4)) // Try to take down the target first + if(!Atkcool) + Atkcool = 1 + spawn(45) + Atkcool = 0 + + a_intent = "disarm" + UnarmedAttack(Target) else - if (holding_still) - holding_still = max(holding_still - 1, 0) - else if(canmove && isturf(loc) && prob(33)) - step(src, pick(cardinal)) - else if(!AIproc) - spawn() - AIprocess() + if(!Atkcool) + a_intent = "grab" + UnarmedAttack(Target) + + else if(Target in view(7, src)) + step_to(src, Target) + + else + Target = null + AIproc = 0 + return + + else + var/mob/living/carbon/slime/frenemy + for (var/mob/living/carbon/slime/S in view(1, src)) + if (S != src) + frenemy = S + if (frenemy && prob(1)) + if (frenemy.colour == colour) + a_intent = "help" + else + a_intent = "hurt" + UnarmedAttack(frenemy) + + var/sleeptime = movement_delay() + if(sleeptime <= 5) sleeptime = 5 // Maximum one action per half a second + spawn (sleeptime) + handle_AI() + return /mob/living/carbon/slime/proc/handle_speech_and_mood() //Mood starts here var/newmood = "" - if (rabid || attacked) newmood = "angry" + a_intent = "help" + if (rabid || attacked) + newmood = "angry" + a_intent = "hurt" else if (Target) newmood = "mischevous" if (!newmood) @@ -569,11 +528,13 @@ if (is_adult) return 300 else return 200 -/mob/living/carbon/slime/proc/will_hunt(var/hunger = -1) // Check for being stopped from feeding and chasing +/mob/living/carbon/slime/proc/will_hunt(var/hunger) // Check for being stopped from feeding and chasing if (hunger == 2 || rabid || attacked) return 1 if (Leader) return 0 if (holding_still) return 0 - return 1 + if (hunger == 1 || prob(25)) + return 1 + return 0 /mob/living/carbon/slime/slip() //Can't slip something without legs. return 0 \ No newline at end of file diff --git a/code/modules/mob/living/carbon/metroid/metroid.dm b/code/modules/mob/living/carbon/metroid/metroid.dm index e6a1938a05d..c5e73662187 100644 --- a/code/modules/mob/living/carbon/metroid/metroid.dm +++ b/code/modules/mob/living/carbon/metroid/metroid.dm @@ -4,10 +4,9 @@ icon_state = "grey baby slime" pass_flags = PASSTABLE var/is_adult = 0 - speak_emote = list("telepathically chirps") + speak_emote = list("chirps") layer = 5 - maxHealth = 150 health = 150 gender = NEUTER @@ -25,7 +24,7 @@ var/cores = 1 // the number of /obj/item/slime_extract's the slime has left inside var/mutation_chance = 30 // Chance of mutating, should be between 25 and 35 - var/powerlevel = 0 // 1-10 controls how much electricity they are generating + var/powerlevel = 0 // 0-10 controls how much electricity they are generating var/amount_grown = 0 // controls how long the slime has been overfed, if 10, grows or reproduces var/number = 0 // Used to understand when someone is talking to it @@ -45,6 +44,11 @@ var/mood = "" // To show its face + var/AIproc = 0 // If it's 0, we need to launch an AI proc + var/Atkcool = 0 // attack cooldown + var/SStun = 0 // NPC stun variable. Used to calm them down when they are attacked while feeding, or they will immediately re-attach + var/Discipline = 0 // if a slime has been hit with a freeze gun, or wrestled/attacked off a human, they become disciplined and don't attack anymore for a while. The part about freeze gun is a lie + ///////////TIME FOR SUBSPECIES var/colour = "grey" @@ -53,28 +57,21 @@ var/core_removal_stage = 0 //For removing cores. -/mob/living/carbon/slime/New() +/mob/living/carbon/slime/New(var/location, var/colour="grey") verbs += /mob/living/proc/ventcrawl create_reagents(100) - spawn (0) - number = rand(1, 1000) - name = "[colour] [is_adult ? "adult" : "baby"] slime ([number])" - icon_state = "[colour] [is_adult ? "adult" : "baby"] slime" - real_name = name - slime_mutation = mutation_table(colour) - mutation_chance = rand(25, 35) - var/sanitizedcolour = replacetext(colour, " ", "") - coretype = text2path("/obj/item/slime_extract/[sanitizedcolour]") - ..() -/mob/living/carbon/slime/regenerate_icons() - icon_state = "[colour] [is_adult ? "adult" : "baby"] slime" - overlays.len = 0 - if (mood) - overlays += image('icons/mob/slimes.dmi', icon_state = "aslime-[mood]") - ..() + src.colour = colour + number = rand(1, 1000) + name = "[colour] [is_adult ? "adult" : "baby"] slime ([number])" + real_name = name + slime_mutation = mutation_table(colour) + mutation_chance = rand(25, 35) + var/sanitizedcolour = replacetext(colour, " ", "") + coretype = text2path("/obj/item/slime_extract/[sanitizedcolour]") + ..(location) /mob/living/carbon/slime/movement_delay() if (bodytemperature >= 330.23) // 135 F @@ -82,8 +79,8 @@ var/tally = 0 - var/health_deficiency = (100 - health) - if(health_deficiency >= 45) tally += (health_deficiency / 25) + var/health_deficiency = (maxHealth - health) + if(health_deficiency >= 30) tally += (health_deficiency / 25) if (bodytemperature < 183.222) tally += (283.222 - bodytemperature) / 10 * 1.75 @@ -105,25 +102,23 @@ return now_pushing = 1 - if(isobj(AM)) - if(!client && powerlevel > 0) - var/probab = 10 - switch(powerlevel) - if(1 to 2) probab = 20 - if(3 to 4) probab = 30 - if(5 to 6) probab = 40 - if(7 to 8) probab = 60 - if(9) probab = 70 - if(10) probab = 95 - if(prob(probab)) - if(istype(AM, /obj/structure/window) || istype(AM, /obj/structure/grille)) - if(nutrition <= get_hunger_nutrition() && !Atkcool) - if (is_adult || prob(5)) - UnarmedAttack(AM) - spawn() - Atkcool = 1 - sleep(45) - Atkcool = 0 + if(isobj(AM) && !client && powerlevel > 0) + var/probab = 10 + switch(powerlevel) + if(1 to 2) probab = 20 + if(3 to 4) probab = 30 + if(5 to 6) probab = 40 + if(7 to 8) probab = 60 + if(9) probab = 70 + if(10) probab = 95 + if(prob(probab)) + if(istype(AM, /obj/structure/window) || istype(AM, /obj/structure/grille)) + if(nutrition <= get_hunger_nutrition() && !Atkcool) + if (is_adult || prob(5)) + UnarmedAttack(AM) + Atkcool = 1 + spawn(45) + Atkcool = 0 if(ismob(AM)) var/mob/tmob = AM @@ -139,21 +134,8 @@ return now_pushing = 0 + ..() - if (!istype(AM, /atom/movable)) - return - if (!( now_pushing )) - now_pushing = 1 - if (!( AM.anchored )) - var/t = get_dir(src, AM) - if (istype(AM, /obj/structure/window)) - var/obj/structure/window/W = AM - if(W.is_full_window()) - for(var/obj/structure/window/win in get_step(AM,t)) - now_pushing = 0 - return - step(AM, t) - now_pushing = null /mob/living/carbon/slime/Process_Spacemove() return 2 @@ -162,10 +144,8 @@ ..() statpanel("Status") - if(is_adult) - stat(null, "Health: [round((health / 200) * 100)]%") - else - stat(null, "Health: [round((health / 150) * 100)]%") + stat(null, "Health: [round((health / maxHealth) * 100)]%") + stat(null, "Intent: [a_intent]") if (client.statpanel == "Status") stat(null, "Nutrition: [nutrition]/[get_max_nutrition()]") @@ -227,9 +207,7 @@ if(shielded) damage /= 4 - //paralysis += 1 - - show_message(" The blob attacks you!") + show_message(" The blob attacks you!") adjustFireLoss(damage) @@ -244,14 +222,12 @@ return /mob/living/carbon/slime/meteorhit(O as obj) - for(var/mob/M in viewers(src, null)) - if ((M.client && !( M.blinded ))) - M.show_message(text("\red [] has been hit by []", src, O), 1) - if (health > 0) - adjustBruteLoss((istype(O, /obj/effect/meteor/small) ? 10 : 25)) - adjustFireLoss(30) + visible_message("[src] has been hit by [O]") - updatehealth() + adjustBruteLoss((istype(O, /obj/effect/meteor/small) ? 10 : 25)) + adjustFireLoss(30) + + updatehealth() return /mob/living/carbon/slime/attack_hand(mob/living/carbon/human/M as mob) @@ -271,11 +247,9 @@ if(prob(90) && !client) Discipline++ - spawn() - SStun = 1 - sleep(rand(45,60)) - if(src) - SStun = 0 + SStun = 1 + spawn(rand(45,60)) + SStun = 0 Victim = null anchored = 0 @@ -299,11 +273,9 @@ if(Discipline == 1) attacked = 0 - spawn() - SStun = 1 - sleep(rand(55,65)) - if(src) - SStun = 0 + SStun = 1 + spawn(rand(55,65)) + SStun = 0 Victim = null anchored = 0 @@ -345,15 +317,13 @@ if(prob(80) && !client) Discipline++ spawn(0) - step_away(src,M,15) sleep(3) step_away(src,M,15) - playsound(loc, "punch", 25, 1, -1) visible_message("[M] has punched [src]!", \ - "[M] has punched [src]!") + "[M] has punched [src]!") adjustBruteLoss(damage) updatehealth() @@ -381,9 +351,8 @@ Target = null anchored = 0 - spawn() - SStun = 1 - sleep(rand(5,20)) + SStun = 1 + spawn(rand(5,20)) SStun = 0 spawn(0) @@ -403,9 +372,8 @@ Discipline++ if(Discipline == 1) attacked = 0 - spawn() - SStun = 1 - sleep(rand(5,20)) + SStun = 1 + spawn(rand(5,20)) SStun = 0 Victim = null @@ -426,8 +394,8 @@ /mob/living/carbon/slime/restrained() return 0 -mob/living/carbon/slime/var/co2overloadtime = null -mob/living/carbon/slime/var/temperature_resistance = T0C+75 +/mob/living/carbon/slime/var/co2overloadtime = null +/mob/living/carbon/slime/var/temperature_resistance = T0C+75 /mob/living/carbon/slime/show_inv(mob/user) return @@ -435,8 +403,17 @@ mob/living/carbon/slime/var/temperature_resistance = T0C+75 /mob/living/carbon/slime/toggle_throw_mode() return -/mob/living/carbon/slime/proc/apply_water() - adjustToxLoss(rand(15,20)) +/mob/living/carbon/slime/proc/gain_nutrition(var/amount) + nutrition += amount + if(prob(amount * 2)) // Gain around one level per 50 nutrition + powerlevel++ + if(powerlevel > 10) + powerlevel = 10 + adjustToxLoss(-10) + nutrition = max(nutrition, get_max_nutrition()) + +/mob/living/carbon/slime/proc/apply_water(var/amount) + adjustToxLoss(15 + amount) if (!client) if (Target) // Like cats Target = null @@ -447,370 +424,3 @@ mob/living/carbon/slime/var/temperature_resistance = T0C+75 if(Victim) return "You cannot ventcrawl while feeding." ..() - -/obj/item/slime_extract - name = "slime extract" - desc = "Goo extracted from a slime. Legends claim these to have \"magical powers\"." - icon = 'icons/mob/slimes.dmi' - icon_state = "grey slime extract" - force = 1.0 - w_class = 1.0 - throwforce = 0 - throw_speed = 3 - throw_range = 6 - origin_tech = "biotech=4" - var/Uses = 1 // uses before it goes inert - var/enhanced = 0 //has it been enhanced before? - - attackby(obj/item/O as obj, mob/user as mob) - if(istype(O, /obj/item/weapon/slimesteroid2)) - if(enhanced == 1) - user << " This extract has already been enhanced!" - return ..() - if(Uses == 0) - user << " You can't enhance a used extract!" - return ..() - user <<"You apply the enhancer. It now has triple the amount of uses." - Uses = 3 - enhanced = 1 - del(O) - -/obj/item/slime_extract/New() - ..() - create_reagents(100) - -/obj/item/slime_extract/grey - name = "grey slime extract" - icon_state = "grey slime extract" - -/obj/item/slime_extract/gold - name = "gold slime extract" - icon_state = "gold slime extract" - -/obj/item/slime_extract/silver - name = "silver slime extract" - icon_state = "silver slime extract" - -/obj/item/slime_extract/metal - name = "metal slime extract" - icon_state = "metal slime extract" - -/obj/item/slime_extract/purple - name = "purple slime extract" - icon_state = "purple slime extract" - -/obj/item/slime_extract/darkpurple - name = "dark purple slime extract" - icon_state = "dark purple slime extract" - -/obj/item/slime_extract/orange - name = "orange slime extract" - icon_state = "orange slime extract" - -/obj/item/slime_extract/yellow - name = "yellow slime extract" - icon_state = "yellow slime extract" - -/obj/item/slime_extract/red - name = "red slime extract" - icon_state = "red slime extract" - -/obj/item/slime_extract/blue - name = "blue slime extract" - icon_state = "blue slime extract" - -/obj/item/slime_extract/darkblue - name = "dark blue slime extract" - icon_state = "dark blue slime extract" - -/obj/item/slime_extract/pink - name = "pink slime extract" - icon_state = "pink slime extract" - -/obj/item/slime_extract/green - name = "green slime extract" - icon_state = "green slime extract" - -/obj/item/slime_extract/lightpink - name = "light pink slime extract" - icon_state = "light pink slime extract" - -/obj/item/slime_extract/black - name = "black slime extract" - icon_state = "black slime extract" - -/obj/item/slime_extract/oil - name = "oil slime extract" - icon_state = "oil slime extract" - -/obj/item/slime_extract/adamantine - name = "adamantine slime extract" - icon_state = "adamantine slime extract" - -/obj/item/slime_extract/bluespace - name = "bluespace slime extract" - icon_state = "bluespace slime extract" - -/obj/item/slime_extract/pyrite - name = "pyrite slime extract" - icon_state = "pyrite slime extract" - -/obj/item/slime_extract/cerulean - name = "cerulean slime extract" - icon_state = "cerulean slime extract" - -/obj/item/slime_extract/sepia - name = "sepia slime extract" - icon_state = "sepia slime extract" - -/obj/item/slime_extract/rainbow - name = "rainbow slime extract" - icon_state = "rainbow slime extract" - -////Pet Slime Creation/// - -/obj/item/weapon/slimepotion - name = "docility potion" - desc = "A potent chemical mix that will nullify a slime's powers, causing it to become docile and tame." - icon = 'icons/obj/chemical.dmi' - icon_state = "bottle19" - - attack(mob/living/carbon/slime/M as mob, mob/user as mob) - if(!istype(M, /mob/living/carbon/slime))//If target is not a slime. - user << " The potion only works on baby slimes!" - return ..() - if(M.is_adult) //Can't tame adults - user << " Only baby slimes can be tamed!" - return..() - if(M.stat) - user << " The slime is dead!" - return..() - if(M.mind) - user << " The slime resists!" - return ..() - var/mob/living/simple_animal/slime/pet = new /mob/living/simple_animal/slime(M.loc) - pet.icon_state = "[M.colour] baby slime" - pet.icon_living = "[M.colour] baby slime" - pet.icon_dead = "[M.colour] baby slime dead" - pet.colour = "[M.colour]" - user <<"You feed the slime the potion, removing it's powers and calming it." - del(M) - var/newname = copytext(sanitize(input(user, "Would you like to give the slime a name?", "Name your new pet", "pet slime") as null|text),1,MAX_NAME_LEN) - - if (!newname) - newname = "pet slime" - pet.name = newname - pet.real_name = newname - del(src) - -/obj/item/weapon/slimepotion2 - name = "advanced docility potion" - desc = "A potent chemical mix that will nullify a slime's powers, causing it to become docile and tame. This one is meant for adult slimes" - icon = 'icons/obj/chemical.dmi' - icon_state = "bottle19" - - attack(mob/living/carbon/slime/M as mob, mob/user as mob) - if(!istype(M, /mob/living/carbon/slime/))//If target is not a slime. - user << " The potion only works on slimes!" - return ..() - if(M.stat) - user << " The slime is dead!" - return..() - if(M.mind) - user << " The slime resists!" - return ..() - var/mob/living/simple_animal/adultslime/pet = new /mob/living/simple_animal/adultslime(M.loc) - pet.icon_state = "[M.colour] adult slime" - pet.icon_living = "[M.colour] adult slime" - pet.icon_dead = "[M.colour] baby slime dead" - pet.colour = "[M.colour]" - user <<"You feed the slime the potion, removing it's powers and calming it." - del(M) - var/newname = copytext(sanitize(input(user, "Would you like to give the slime a name?", "Name your new pet", "pet slime") as null|text),1,MAX_NAME_LEN) - - if (!newname) - newname = "pet slime" - pet.name = newname - pet.real_name = newname - del(src) - - -/obj/item/weapon/slimesteroid - name = "slime steroid" - desc = "A potent chemical mix that will cause a slime to generate more extract." - icon = 'icons/obj/chemical.dmi' - icon_state = "bottle16" - - attack(mob/living/carbon/slime/M as mob, mob/user as mob) - if(!istype(M, /mob/living/carbon/slime))//If target is not a slime. - user << " The steroid only works on baby slimes!" - return ..() - if(M.is_adult) //Can't tame adults - user << " Only baby slimes can use the steroid!" - return..() - if(M.stat) - user << " The slime is dead!" - return..() - if(M.cores == 3) - user <<" The slime already has the maximum amount of extract!" - return..() - - user <<"You feed the slime the steroid. It now has triple the amount of extract." - M.cores = 3 - del(src) - -/obj/item/weapon/slimesteroid2 - name = "extract enhancer" - desc = "A potent chemical mix that will give a slime extract three uses." - icon = 'icons/obj/chemical.dmi' - icon_state = "bottle17" - - /*afterattack(obj/target, mob/user , flag) - if(istype(target, /obj/item/slime_extract)) - if(target.enhanced == 1) - user << " This extract has already been enhanced!" - return ..() - if(target.Uses == 0) - user << " You can't enhance a used extract!" - return ..() - user <<"You apply the enhancer. It now has triple the amount of uses." - target.Uses = 3 - target.enahnced = 1 - del(src)*/ - -/obj/effect/golemrune - anchored = 1 - desc = "a strange rune used to create golems. It glows when spirits are nearby." - name = "rune" - icon = 'icons/obj/rune.dmi' - icon_state = "golem" - unacidable = 1 - layer = TURF_LAYER - - New() - ..() - processing_objects.Add(src) - - process() - var/mob/dead/observer/ghost - for(var/mob/dead/observer/O in src.loc) - if(!O.client) continue - if(O.mind && O.mind.current && O.mind.current.stat != DEAD) continue - ghost = O - break - if(ghost) - icon_state = "golem2" - else - icon_state = "golem" - - attack_hand(mob/living/user as mob) - var/mob/dead/observer/ghost - for(var/mob/dead/observer/O in src.loc) - if(!O.client) continue - if(O.mind && O.mind.current && O.mind.current.stat != DEAD) continue - ghost = O - break - if(!ghost) - user << "The rune fizzles uselessly. There is no spirit nearby." - return - var/mob/living/carbon/human/G = new(src.loc) - G.set_species("Golem") - G.key = ghost.key - G << "You are an adamantine golem. You move slowly, but are highly resistant to heat and cold as well as blunt trauma. You are unable to wear clothes, but can still use most tools. Serve [user], and assist them in completing their goals at any cost." - del (src) - - - proc/announce_to_ghosts() - for(var/mob/dead/observer/G in player_list) - if(G.client) - var/area/A = get_area(src) - if(A) - G << "Golem rune created in [A.name]." - -/mob/living/carbon/slime/has_eyes() - return 0 - -//////////////////////////////Old shit from metroids/RoRos, and the old cores, would not take much work to re-add them//////////////////////// - -/* -// Basically this slime Core catalyzes reactions that normally wouldn't happen anywhere -/obj/item/slime_core - name = "slime extract" - desc = "Goo extracted from a slime. Legends claim these to have \"magical powers\"." - icon = 'icons/mob/slimes.dmi' - icon_state = "slime extract" - force = 1.0 - w_class = 1.0 - throwforce = 1.0 - throw_speed = 2 - throw_range = 6 - origin_tech = "biotech=4" - var/POWERFLAG = 0 // sshhhhhhh - var/Flush = 30 - var/Uses = 5 // uses before it goes inert - -/obj/item/slime_core/New() - ..() - create_reagents(100) - POWERFLAG = rand(1,10) - Uses = rand(7, 25) - //flags |= NOREACT -/* - spawn() - Life() - - proc/Life() - while(src) - sleep(25) - Flush-- - if(Flush <= 0) - reagents.clear_reagents() - Flush = 30 -*/ - - - -/obj/item/weapon/reagent_containers/food/snacks/egg/slime - name = "slime egg" - desc = "A small, gelatinous egg." - icon = 'icons/mob/mob.dmi' - icon_state = "slime egg-growing" - bitesize = 12 - origin_tech = "biotech=4" - var/grown = 0 - -/obj/item/weapon/reagent_containers/food/snacks/egg/slime/New() - ..() - reagents.add_reagent("nutriment", 4) - reagents.add_reagent("slimejelly", 1) - spawn(rand(1200,1500))//the egg takes a while to "ripen" - Grow() - -/obj/item/weapon/reagent_containers/food/snacks/egg/slime/proc/Grow() - grown = 1 - icon_state = "slime egg-grown" - processing_objects.Add(src) - return - -/obj/item/weapon/reagent_containers/food/snacks/egg/slime/proc/Hatch() - processing_objects.Remove(src) - var/turf/T = get_turf(src) - src.visible_message(" The [name] pulsates and quivers!") - spawn(rand(50,100)) - src.visible_message(" The [name] bursts open!") - new/mob/living/carbon/slime(T) - del(src) - - -/obj/item/weapon/reagent_containers/food/snacks/egg/slime/process() - var/turf/location = get_turf(src) - var/datum/gas_mixture/environment = location.return_air() - if (environment.phoron > MOLES_PHORON_VISIBLE)//phoron exposure causes the egg to hatch - src.Hatch() - -/obj/item/weapon/reagent_containers/food/snacks/egg/slime/attackby(obj/item/weapon/W as obj, mob/user as mob) - if(istype( W, /obj/item/toy/crayon )) - return - else - ..() -*/ diff --git a/code/modules/mob/living/carbon/metroid/powers.dm b/code/modules/mob/living/carbon/metroid/powers.dm index 23ca8acbf69..b2f8c2588f3 100644 --- a/code/modules/mob/living/carbon/metroid/powers.dm +++ b/code/modules/mob/living/carbon/metroid/powers.dm @@ -1,75 +1,46 @@ -/mob/living/carbon/slime/verb/Feed() - set category = "Slime" - set desc = "This will let you feed on any valid creature in the surrounding area. This should also be used to halt the feeding process." - if(Victim) +/mob/living/carbon/slime/proc/Wrap(var/mob/living/M) // This is a proc for the clicks + if (Victim == M || src == M) Feedstop() return - if(stat) - src << "I must be conscious to do this..." + if (Victim) + src << "I am already feeding..." return - var/list/choices = list() - for(var/mob/living/C in view(1,src)) - if(C!=src && !istype(C,/mob/living/carbon/slime) && Adjacent(C)) - choices += C - - var/mob/living/M = input(src,"Who do you wish to feed on?") in null|choices - if(!M) return - if(Adjacent(M)) - - if(!istype(src, /mob/living/carbon/brain)) - if(!istype(M, /mob/living/carbon/slime)) - if(stat != 2) - if(health > -70) - - for(var/mob/living/carbon/slime/met in view()) - if(met.Victim == M && met != src) - src << "The [met.name] is already feeding on this subject..." - return - src << "\blue I have latched onto the subject and begun feeding..." - M << "\red The [src.name] has latched onto your head!" - Feedon(M) - - else - src << "This subject does not have a strong enough life energy..." - else - src << "This subject does not have an edible life energy..." - else - src << "I must not feed on my brothers..." - else - src << "This subject does not have an edible life energy..." + var t = invalidFeedTarget(M) + if (t) + src << t + return + Feedon(M) +/mob/living/carbon/slime/proc/invalidFeedTarget(var/mob/living/M) + if (!M || !istype(M)) + return "This subject is incomparable..." + if (istype(M, /mob/living/carbon/slime)) // No cannibalism... yet + return "I cannot feed on other slimes..." + if (!Adjacent(M)) + return "This subject is too far away..." + if (istype(M, /mob/living/carbon) && M.getCloneLoss() > 150 || istype(M, /mob/living/simple_animal) && M.stat == DEAD) + return "This subject does not have an edible life energy..." + for(var/mob/living/carbon/slime/met in view()) + if(met.Victim == M && met != src) + return "The [met.name] is already feeding on this subject..." + return 0 /mob/living/carbon/slime/proc/Feedon(var/mob/living/M) Victim = M - src.loc = M.loc + loc = M.loc canmove = 0 anchored = 1 - var/lastnut = nutrition - var/fed_succesfully = 0 - if(is_adult) - icon_state = "[colour] adult slime eat" - else - icon_state = "[colour] baby slime eat" - while(Victim && M.health > -70 && stat != 2) + regenerate_icons() + + while(Victim && !invalidFeedTarget(M) && stat != 2) canmove = 0 if(Adjacent(M)) - loc = M.loc - - if(prob(15) && M.client && istype(M, /mob/living/carbon)) - var/mob/living/carbon/C = M - if (!(C.species && (C.species.flags & NO_PAIN))) - M << "[pick("You can feel your body becoming weak!", \ - "You feel like you're about to die!", \ - "You feel every part of your body screaming in agony!", \ - "A low, rolling pain passes through your body!", \ - "Your body feels as if it's falling apart!", \ - "You feel extremely weak!", \ - "A sharp, deep pain bathes every inch of your body!")]" + UpdateFeed(M) if(istype(M, /mob/living/carbon)) Victim.adjustCloneLoss(rand(5,6)) @@ -77,83 +48,51 @@ if(Victim.health <= 0) Victim.adjustToxLoss(rand(2,4)) - fed_succesfully = 1 - else if(istype(M, /mob/living/simple_animal)) Victim.adjustBruteLoss(is_adult ? rand(7, 15) : rand(4, 12)) - fed_succesfully = 1 else - if(prob(25)) - src << "[pick("This subject is incompatable", \ - "This subject does not have a life energy", "This subject is empty", \ - "I am not satisified", "I can not feed from this subject", \ - "I do not feel nourished", "This subject is not food")]..." + src << "[pick("This subject is incompatable", "This subject does not have a life energy", "This subject is empty", "I am not satisified", "I can not feed from this subject", "I do not feel nourished", "This subject is not food")]..." + Feedstop() + break - if(fed_succesfully) - //I have no idea why this is not in handle_nutrition() - nutrition += rand(15,30) - if(nutrition >= lastnut + 50) - if(prob(80)) - lastnut = nutrition - powerlevel++ - if(powerlevel > 10) - powerlevel = 10 - adjustToxLoss(-10) + if(prob(15) && M.client && istype(M, /mob/living/carbon)) + var/painMes = pick("You can feel your body becoming weak!", "You feel like you're about to die!", "You feel every part of your body screaming in agony!", "A low, rolling pain passes through your body!", "Your body feels as if it's falling apart!", "You feel extremely weak!", "A sharp, deep pain bathes every inch of your body!") + if (ishuman(M)) + var/mob/living/carbon/human/H = M + H.custom_pain(painMes) + else if (istype(M, /mob/living/carbon)) + var/mob/living/carbon/C = M + if (!(C.species && (C.species.flags & NO_PAIN))) + M << "[painMes]" - //Heal yourself. - adjustOxyLoss(-10) - adjustBruteLoss(-10) - adjustFireLoss(-10) - adjustCloneLoss(-10) + gain_nutrition(rand(20,25)) - updatehealth() - if(Victim) - Victim.updatehealth() - - sleep(rand(15,45)) + adjustOxyLoss(-10) //Heal yourself + adjustBruteLoss(-10) + adjustFireLoss(-10) + adjustCloneLoss(-10) + updatehealth() + if(Victim) + Victim.updatehealth() + sleep(30) // Deal damage every 3 seconds else break - if(stat == 2) - if(!is_adult) - icon_state = "[colour] baby slime dead" - - else - if(is_adult) - icon_state = "[colour] adult slime" - else - icon_state = "[colour] baby slime" - canmove = 1 anchored = 0 - if(M) - if(M.health <= -70) - M.canmove = 0 - if(!client) - if(Victim && !rabid && !attacked) - if(Victim.LAssailant && Victim.LAssailant != Victim) - if(prob(50)) - if(!(Victim.LAssailant in Friends)) - Friends[Victim.LAssailant] = 1 - //Friends.Add(Victim.LAssailant) // no idea why i was using the |= operator - else - ++Friends[Victim.LAssailant] + if(M && invalidFeedTarget(M)) // This means that the slime drained the victim + if(!client) + if(Victim && !rabid && !attacked && Victim.LAssailant && Victim.LAssailant != Victim && prob(50)) + if(!(Victim.LAssailant in Friends)) + Friends[Victim.LAssailant] = 1 + else + ++Friends[Victim.LAssailant] - - if(M.client && istype(src, /mob/living/carbon/human)) - if(prob(85)) - rabid = 1 // UUUNNBGHHHH GONNA EAT JUUUUUU - - if(client) src << "This subject does not have a strong enough life energy anymore..." else - M.canmove = 1 - - if(client) src << "I have stopped feeding..." - else - if(client) src << "I have stopped feeding..." + src << "This subject does not have a strong enough life energy anymore..." Victim = null @@ -167,14 +106,14 @@ if(Victim == M) loc = M.loc // simple "attach to head" effect! - /mob/living/carbon/slime/verb/Evolve() set category = "Slime" set desc = "This will let you evolve from baby to adult slime." if(stat) - src << "I must be conscious to do this..." + src << "I must be conscious to do this..." return + if(!is_adult) if(amount_grown >= 10) is_adult = 1 @@ -183,36 +122,35 @@ regenerate_icons() name = text("[colour] [is_adult ? "adult" : "baby"] slime ([number])") else - src << "I am not ready to evolve yet..." + src << "I am not ready to evolve yet..." else - src << "I have already evolved..." + src << "I have already evolved..." /mob/living/carbon/slime/verb/Reproduce() set category = "Slime" set desc = "This will make you split into four Slimes." if(stat) - src << "I must be conscious to do this..." + src << "I must be conscious to do this..." return if(is_adult) if(amount_grown >= 10) if(stat) - src << "I must be conscious to do this..." + src << "I must be conscious to do this..." return var/list/babies = list() var/new_nutrition = round(nutrition * 0.9) var/new_powerlevel = round(powerlevel / 4) - for(var/i=1,i<=4,i++) - var/mob/living/carbon/slime/M = new /mob/living/carbon/slime/(loc) + for(var/i = 1, i <= 4, i++) + var/t = colour if(prob(mutation_chance)) - M.colour = slime_mutation[rand(1,4)] - else - M.colour = colour + t = slime_mutation[rand(1,4)] + var/mob/living/carbon/slime/M = new /mob/living/carbon/slime/(loc, t) if(ckey) M.nutrition = new_nutrition //Player slimes are more robust at spliting. Once an oversight of poor copypasta, now a feature! M.powerlevel = new_powerlevel - if(i != 1) step_away(M,src) + if(i != 1) step_away(M, src) M.Friends = Friends.Copy() babies += M feedback_add_details("slime_babies_born","slimebirth_[replacetext(M.colour," ","_")]") @@ -225,6 +163,6 @@ new_slime.key = src.key del(src) else - src << "I am not ready to reproduce yet..." + src << "I am not ready to reproduce yet..." else - src << "I am not old enough to reproduce yet..." \ No newline at end of file + src << "I am not old enough to reproduce yet..." \ No newline at end of file diff --git a/code/modules/mob/living/carbon/metroid/say.dm b/code/modules/mob/living/carbon/metroid/say.dm index f4de10ceb74..f1a1761908b 100644 --- a/code/modules/mob/living/carbon/metroid/say.dm +++ b/code/modules/mob/living/carbon/metroid/say.dm @@ -10,11 +10,11 @@ var/ending = copytext(text, length(text)) if (ending == "?") - return "telepathically asks"; + return "asks"; else if (ending == "!") - return "telepathically cries"; + return "cries"; - return "telepathically chirps"; + return "chirps"; /mob/living/carbon/slime/say_understands(var/other) if (istype(other, /mob/living/carbon/slime)) diff --git a/code/modules/mob/living/carbon/metroid/subtypes.dm b/code/modules/mob/living/carbon/metroid/subtypes.dm index 9db9e7b02f9..6aa75990aca 100644 --- a/code/modules/mob/living/carbon/metroid/subtypes.dm +++ b/code/modules/mob/living/carbon/metroid/subtypes.dm @@ -1,4 +1,4 @@ -proc/mutation_table(var/colour) +/mob/living/carbon/slime/proc/mutation_table(var/colour) var/list/slime_mutation[4] switch(colour) //Tier 1 diff --git a/code/modules/mob/living/carbon/metroid/update_icons.dm b/code/modules/mob/living/carbon/metroid/update_icons.dm index 8902770055d..847dcaeb181 100644 --- a/code/modules/mob/living/carbon/metroid/update_icons.dm +++ b/code/modules/mob/living/carbon/metroid/update_icons.dm @@ -1 +1,9 @@ -//no special icon processing +/mob/living/carbon/slime/regenerate_icons() + if (stat == DEAD) + icon_state = "[colour] baby slime dead" + else + icon_state = "[colour] [is_adult ? "adult" : "baby"] slime[Victim ? "" : " eat"]" + overlays.len = 0 + if (mood) + overlays += image('icons/mob/slimes.dmi', icon_state = "aslime-[mood]") + ..() \ No newline at end of file diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm index b3e04533d44..9542cb96894 100644 --- a/code/modules/mob/mob_helpers.dm +++ b/code/modules/mob/mob_helpers.dm @@ -414,7 +414,7 @@ var/list/intents = list("help","disarm","grab","hurt") set name = "a-intent" set hidden = 1 - if(ishuman(src) || isbrain(src)) + if(ishuman(src) || isbrain(src) || isslime(src)) switch(input) if("help","disarm","grab","hurt") a_intent = input diff --git a/code/modules/reagents/Chemistry-Reagents.dm b/code/modules/reagents/Chemistry-Reagents.dm index 984c1aeb67e..8f853dbe2b3 100644 --- a/code/modules/reagents/Chemistry-Reagents.dm +++ b/code/modules/reagents/Chemistry-Reagents.dm @@ -261,7 +261,7 @@ datum reaction_mob(var/mob/M, var/method=TOUCH, var/volume) if (istype(M, /mob/living/carbon/slime)) var/mob/living/carbon/slime/S = M - S.apply_water() + S.apply_water(volume) water/holywater name = "Holy Water" From fc872dda5d274936217a9674c016ab18a7ed6ba4 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Sun, 25 Jan 2015 00:58:51 -0500 Subject: [PATCH 002/143] PACMAN update Cleans up parts of pacman code, simplifies and improves temperature and overheating mechanics. Temperature now gravitates to some set temperature based on the power output, and if left above a max temp for too long, the generator explodes as before. Rebalances all of the various generator types. --- code/modules/power/port_gen.dm | 279 +++++++++++++++++++-------------- 1 file changed, 161 insertions(+), 118 deletions(-) diff --git a/code/modules/power/port_gen.dm b/code/modules/power/port_gen.dm index 07999009096..e5a2a9f6a8c 100644 --- a/code/modules/power/port_gen.dm +++ b/code/modules/power/port_gen.dm @@ -1,45 +1,3 @@ -//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:33 - -/* new portable generator - work in progress - -/obj/machinery/power/port_gen - name = "portable generator" - desc = "A portable generator used for emergency backup power." - icon = 'generator.dmi' - icon_state = "off" - density = 1 - anchored = 0 - directwired = 0 - var/t_status = 0 - var/t_per = 5000 - var/filter = 1 - var/tank = null - var/turf/inturf - var/starter = 0 - var/rpm = 0 - var/rpmtarget = 0 - var/capacity = 1e6 - var/turf/outturf - var/lastgen - - -/obj/machinery/power/port_gen/process() -ideally we're looking to generate 5000 - -/obj/machinery/power/port_gen/attackby(obj/item/weapon/W, mob/user) -tank [un]loading stuff - -/obj/machinery/power/port_gen/attack_hand(mob/user) -turn on/off - -/obj/machinery/power/port_gen/examine(mob/user) -display round(lastgen) and phorontank amount - -*/ - -//Previous code been here forever, adding new framework for portable generators - - //Baseline portable generator. Has all the default handling. Not intended to be used on it's own (since it generates unlimited power). /obj/machinery/power/port_gen name = "Placeholder Generator" //seriously, don't use this. It can't be anchored without VV magic. @@ -56,6 +14,9 @@ display round(lastgen) and phorontank amount var/recent_fault = 0 var/power_output = 1 +/obj/machinery/power/port_gen/proc/IsBroken() + return (crit_fail || (stat & BROKEN|EMPED)) + /obj/machinery/power/port_gen/proc/HasFuel() //Placeholder for fuel check. return 1 @@ -69,11 +30,10 @@ display round(lastgen) and phorontank amount return /obj/machinery/power/port_gen/process() - if(active && HasFuel() && !crit_fail && anchored && powernet) + if(active && HasFuel() && !IsBroken() && anchored && powernet) add_avail(power_gen * power_output) UseFuel() src.updateDialog() - else active = 0 icon_state = initial(icon_state) @@ -93,17 +53,54 @@ display round(lastgen) and phorontank amount else usr << "\blue The generator is off." +/obj/machinery/power/port_gen/emp_act(severity) + var/duration = 6000 //ten minutes + switch(severity) + if(1) + stat &= BROKEN + if(prob(75)) explode() + if(2) + if(prob(25)) stat &= BROKEN + if(prob(10)) explode() + if(3) + if(prob(10)) stat &= BROKEN + duration = 300 + + stat |= EMPED + if(duration) + spawn(duration) + stat &= ~EMPED + +/obj/machinery/power/port_gen/proc/explode() + explosion(src.loc, -1, 3, 5, -1) + del(src) + //A power generator that runs on solid plasma sheets. /obj/machinery/power/port_gen/pacman - name = "P.A.C.M.A.N.-type Portable Generator" - var/sheets = 0 - var/max_sheets = 100 - var/sheet_name = "" + name = "\improper P.A.C.M.A.N.-type Portable Generator" + desc = "A power generator that runs on solid plasma sheets. Rated for 80 kW max safe output." + + var/sheet_name = "solid plasma sheet" var/sheet_path = /obj/item/stack/sheet/mineral/phoron var/board_path = "/obj/item/weapon/circuitboard/pacman" - var/sheet_left = 0 // How much is left of the sheet - var/time_per_sheet = 40 - var/heat = 0 + + /* + These values were chosen so that the generator can run safely up to 80 kW + A full 50 phoron sheet stack should last 20 minutes at power_output = 4 + temperature_gain and max_temperature are set so that the max safe power level is 4. + Setting to 5 or higher can only be done temporarily before the generator overheats. + */ + power_gen = 20000 //Watts output per power_output level + var/max_power_output = 5 //The maximum power setting without emagging. + var/time_per_sheet = 96 //fuel efficiency - how long 1 sheet lasts at power level 1 + var/max_sheets = 100 //max capacity of the hopper + var/max_temperature = 300 //max temperature before overheating increases + var/temperature_gain = 50 //how much the temperature increases per power output level, in degrees per level + + var/sheets = 0 //How many sheets of material are loaded in the generator + var/sheet_left = 0 //How much is left of the current sheet + var/temperature = 0 //The current temperature + var/overheating = 0 //if this gets high enough the generator explodes /obj/machinery/power/port_gen/pacman/initialize() ..() @@ -129,76 +126,104 @@ display round(lastgen) and phorontank amount /obj/machinery/power/port_gen/pacman/RefreshParts() var/temp_rating = 0 - var/temp_reliability = 0 for(var/obj/item/weapon/stock_parts/SP in component_parts) if(istype(SP, /obj/item/weapon/stock_parts/matter_bin)) max_sheets = SP.rating * SP.rating * 50 else if(istype(SP, /obj/item/weapon/stock_parts/micro_laser) || istype(SP, /obj/item/weapon/stock_parts/capacitor)) temp_rating += SP.rating + + var/temp_reliability = 0 + var/part_count = 0 for(var/obj/item/weapon/CP in component_parts) temp_reliability += CP.reliability - reliability = min(round(temp_reliability / 4), 100) + part_count++ + + reliability = min(round(temp_reliability / part_count), 100) power_gen = round(initial(power_gen) * (max(2, temp_rating) / 2)) /obj/machinery/power/port_gen/pacman/examine(mob/user) ..(user) - user << "\blue The generator has [sheets] units of [sheet_name] fuel left, producing [power_gen] per cycle." - if(crit_fail) user << "\red The generator seems to have broken down." + user << "\The [src] appears to be outputing [power_gen*power_output] W." + user << "There are [sheets] [sheet_name]\s left in the hopper." + if(IsBroken()) user << "\The [src] seems to have broken down." + if(overheating) user << "\The [src] is overheating!" /obj/machinery/power/port_gen/pacman/HasFuel() - if(sheets >= 1 / (time_per_sheet / power_output) - sheet_left) + var/needed_sheets = power_output / time_per_sheet + if(sheets >= needed_sheets - sheet_left) return 1 return 0 +//Removes one stack's worth of material from the generator. /obj/machinery/power/port_gen/pacman/DropFuel() if(sheets) - var/fail_safe = 0 - while(sheets > 0 && fail_safe < 100) - fail_safe += 1 - var/obj/item/stack/sheet/S = new sheet_path(loc) - var/amount = min(sheets, S.max_amount) - S.amount = amount - sheets -= amount + var/obj/item/stack/sheet/S = new sheet_path(loc) + var/amount = min(sheets, S.max_amount) + S.amount = amount + sheets -= amount /obj/machinery/power/port_gen/pacman/UseFuel() - var/needed_sheets = 1 / (time_per_sheet / power_output) - var/temp = min(needed_sheets, sheet_left) - needed_sheets -= temp - sheet_left -= temp - sheets -= round(needed_sheets) - needed_sheets -= round(needed_sheets) - if (sheet_left <= 0 && sheets > 0) - sheet_left = 1 - needed_sheets + //break down sometimes + if (reliability < 100) + if (prob(1) && prob(1) && prob(100 - reliability)) + stat |= BROKEN + crit_fail = 1 + if (prob(100 - reliability)) + explode() + + //how much material are we using this iteration? + var/needed_sheets = power_output / time_per_sheet + + //HasFuel() should guarantee us that there is enough fuel left, so no need to check that + //the only thing we need to worry about is if we are going to rollover to the next sheet + if (needed_sheets > sheet_left) sheets-- - - var/lower_limit = 56 + power_output * 10 - var/upper_limit = 76 + power_output * 10 - var/bias = 0 - if (power_output > 4) - upper_limit = 400 - bias = power_output * 3 - if (heat < lower_limit) - heat += 3 + sheet_left = (1 + sheet_left) - needed_sheets else - heat += rand(-7 + bias, 7 + bias) - if (heat < lower_limit) - heat = lower_limit - if (heat > upper_limit) - heat = upper_limit + sheet_left -= needed_sheets - if (heat > 300) + //calculate the "target" temperature range + var/lower_limit = 56 + power_output * temperature_gain + var/upper_limit = 76 + power_output * temperature_gain + var/average = (upper_limit + lower_limit)/2 + + //calculate the temperature increase + var/bias = 0 + if (temperature < lower_limit) + bias = round((average - temperature)/40, 1) + else if (temperature > upper_limit) + bias = round((temperature - average)/40, 1) + + temperature += rand(-7 + bias, 7 + bias) + + if (temperature > max_temperature) overheat() - del(src) - return + else if (overheating > 0) + overheating-- /obj/machinery/power/port_gen/pacman/handleInactive() - - if (heat > 0) - heat = max(heat - 2, 0) + if (temperature > 0) + var/temp_loss = max(2, temperature/50 + rand(-2,2)) + temperature = max(temperature - temp_loss, 0) src.updateDialog() /obj/machinery/power/port_gen/pacman/proc/overheat() - explosion(src.loc, 2, 5, 2, -1) + overheating++ + if (overheating > 60) + explode() + +/obj/machinery/power/port_gen/pacman/explode() + //Vapourize all the phoron + //When ground up in a grinder, 1 sheet produces 20 u of phoron -- Chemistry-Machinery.dm + //1 mol = 10 u? I dunno. 1 mol of carbon is definitely bigger than a pill + var/phoron = (sheets+sheet_left)*20 + var/datum/gas_mixture/environment = loc.return_air() + if (environment) + environment.adjust_gas_temp("phoron", phoron/10, temperature + T0C) + + sheets = 0 + sheet_left = 0 + ..() /obj/machinery/power/port_gen/pacman/attackby(var/obj/item/O as obj, var/mob/user as mob) if(istype(O, sheet_path)) @@ -207,16 +232,16 @@ display round(lastgen) and phorontank amount if(amount < 1) user << "\blue The [src.name] is full!" return - user << "\blue You add [amount] sheets to the [src.name]." + user << "\blue You add [amount] [addstack.singular_name]\s to the [src.name]." sheets += amount addstack.use(amount) updateUsrDialog() return else if (istype(O, /obj/item/weapon/card/emag)) emagged = 1 - emp_act(1) + if (active && prob(25)) + explode() //if they're foolish enough to emag while it's running else if(!active) - if(istype(O, /obj/item/weapon/wrench)) if(!anchored) @@ -239,18 +264,9 @@ display round(lastgen) and phorontank amount else if(istype(O, /obj/item/weapon/crowbar) && open) var/obj/machinery/constructable_frame/machine_frame/new_frame = new /obj/machinery/constructable_frame/machine_frame(src.loc) for(var/obj/item/I in component_parts) - if(I.reliability < 100) - I.crit_fail = 1 I.loc = src.loc while ( sheets > 0 ) - var/obj/item/stack/sheet/G = new sheet_path(src.loc) - - if ( sheets > 50 ) - G.amount = 50 - else - G.amount = sheets - - sheets -= G.amount + DropFuel() new_frame.state = 2 new_frame.icon_state = "box_1" @@ -260,7 +276,6 @@ display round(lastgen) and phorontank amount ..() if (!anchored) return - interact(user) /obj/machinery/power/port_gen/pacman/attack_ai(mob/user as mob) @@ -283,9 +298,11 @@ display round(lastgen) and phorontank amount dat += text("[capitalize(sheet_name)]: [sheets] - Eject
") var/stack_percent = round(sheet_left * 100, 1) dat += text("Current stack: [stack_percent]%
") - dat += text("Power output: - [power_gen * power_output] +
") + dat += text("Power output: - [power_gen * power_output] Watts+
") dat += text("Power current: [(powernet == null ? "Unconnected" : "[avail()]")]
") - dat += text("Heat: [heat]
") + + var/tempstr = "Temperature: [temperature]°C
" + dat += (overheating)? "[tempstr]" : tempstr dat += "
Close" user << browse("[dat]", "window=port_gen") onclose(user, "port_gen") @@ -297,7 +314,7 @@ display round(lastgen) and phorontank amount src.add_fingerprint(usr) if(href_list["action"]) if(href_list["action"] == "enable") - if(!active && HasFuel() && !crit_fail) + if(!active && HasFuel() && !IsBroken()) active = 1 icon_state = "portgen1" src.updateUsrDialog() @@ -315,7 +332,7 @@ display round(lastgen) and phorontank amount power_output-- src.updateUsrDialog() if (href_list["action"] == "higher_power") - if (power_output < 4 || emagged) + if (power_output < max_power_output || (emagged && power_output < round(max_power_output*2.5))) power_output++ src.updateUsrDialog() if (href_list["action"] == "close") @@ -324,20 +341,46 @@ display round(lastgen) and phorontank amount /obj/machinery/power/port_gen/pacman/super name = "S.U.P.E.R.P.A.C.M.A.N.-type Portable Generator" + desc = "A power generator that utilizes uranium sheets as fuel. Can run for much longer than the standard PACMAN type generators. Rated for 80 kW max safe output." icon_state = "portgen1" sheet_path = /obj/item/stack/sheet/mineral/uranium - power_gen = 15000 - time_per_sheet = 65 + time_per_sheet = 576 //same power output, but a 50 sheet stack will last 2 hours at max safe power board_path = "/obj/item/weapon/circuitboard/pacman/super" - overheat() - explosion(src.loc, 3, 3, 3, -1) + +/obj/machinery/power/port_gen/pacman/super/UseFuel() + //produces a tiny amount of radiation when in use + if (prob(2*power_output)) + for (var/mob/living/L in range(src, 5)) + L.apply_effect(1, IRRADIATE) //should amount to ~5 rads per minute at max safe power + ..() + +/obj/machinery/power/port_gen/pacman/super/explode() + //a nice burst of radiation + var/rads = 50 + (sheets + sheet_left)*1.5 + for (var/mob/living/L in range(src, 10)) + //should really fall with the square of the distance, but that makes the rads value drop too fast + //I dunno, maybe physics works different when you live in 2D -- SM radiation also works like this, apparently + L.apply_effect(max(20, round(rads/get_dist(L,src))), IRRADIATE) + + explosion(src.loc, 3, 3, 5, 3) + del(src) /obj/machinery/power/port_gen/pacman/mrs name = "M.R.S.P.A.C.M.A.N.-type Portable Generator" + desc = "An advanced power generator that runs on tritium. Rated for 200 kW maximum safe output!" icon_state = "portgen2" sheet_path = /obj/item/stack/sheet/mineral/tritium - power_gen = 40000 - time_per_sheet = 80 + + //I don't think tritium has any other use, so we might as well make this rewarding for players + //max safe power output (power level = 8) is 200 kW and lasts for 1 hour - 3 or 4 of these could power the station + power_gen = 25000 //watts + max_power_output = 10 + time_per_sheet = 576 + max_temperature = 800 + temperature_gain = 90 board_path = "/obj/item/weapon/circuitboard/pacman/mrs" - overheat() - explosion(src.loc, 4, 4, 4, -1) + +/obj/machinery/power/port_gen/pacman/mrs/explode() + //no special effects, but the explosion is pretty big (same as a supermatter shard). + explosion(src.loc, 3, 6, 12, 16, 1) + del(src) From bbd541308c1442c92eac1dbf812f0b1c633a07cb Mon Sep 17 00:00:00 2001 From: mwerezak Date: Sun, 25 Jan 2015 13:51:46 -0500 Subject: [PATCH 003/143] Generator temperature now affected by ambient air Gives traitors more opportunities to sabotage the generator or allows engineers to build additional cooling. Also fixes typo. --- code/modules/power/port_gen.dm | 38 ++++++++++++++++++++++++++++------ 1 file changed, 32 insertions(+), 6 deletions(-) diff --git a/code/modules/power/port_gen.dm b/code/modules/power/port_gen.dm index e5a2a9f6a8c..985ad214f8e 100644 --- a/code/modules/power/port_gen.dm +++ b/code/modules/power/port_gen.dm @@ -75,6 +75,9 @@ explosion(src.loc, -1, 3, 5, -1) del(src) +#define TEMPERATURE_DIVISOR 40 +#define TEMPERATURE_CHANGE_MAX 20 + //A power generator that runs on solid plasma sheets. /obj/machinery/power/port_gen/pacman name = "\improper P.A.C.M.A.N.-type Portable Generator" @@ -143,7 +146,7 @@ /obj/machinery/power/port_gen/pacman/examine(mob/user) ..(user) - user << "\The [src] appears to be outputing [power_gen*power_output] W." + user << "\The [src] appears to be producing [power_gen*power_output] W." user << "There are [sheets] [sheet_name]\s left in the hopper." if(IsBroken()) user << "\The [src] seems to have broken down." if(overheating) user << "\The [src] is overheating!" @@ -183,16 +186,31 @@ sheet_left -= needed_sheets //calculate the "target" temperature range + //This should probably depend on the external temperature somehow, but whatever. var/lower_limit = 56 + power_output * temperature_gain var/upper_limit = 76 + power_output * temperature_gain + + /* + Hot or cold environments can affect the equilibrium temperature + The lower the pressure the less effect it has. I guess it cools using a radiator or something when in vacuum. + Gives traitors more opportunities to sabotage the generator or allows enterprising engineers to build additional + cooling in order to get more power out. + */ + var/datum/gas_mixture/environment = loc.return_air() + if (environment) + var/ratio = min(environment.return_pressure()/ONE_ATMOSPHERE, 1) + var/ambient = environment.temperature - T20C + lower_limit += ambient*ratio + upper_limit += ambient*ratio + var/average = (upper_limit + lower_limit)/2 //calculate the temperature increase var/bias = 0 if (temperature < lower_limit) - bias = round((average - temperature)/40, 1) + bias = min(round((average - temperature)/TEMPERATURE_DIVISOR, 1), TEMPERATURE_CHANGE_MAX) else if (temperature > upper_limit) - bias = round((temperature - average)/40, 1) + bias = max(round((temperature - average)/TEMPERATURE_DIVISOR, 1), -TEMPERATURE_CHANGE_MAX) temperature += rand(-7 + bias, 7 + bias) @@ -202,9 +220,17 @@ overheating-- /obj/machinery/power/port_gen/pacman/handleInactive() - if (temperature > 0) - var/temp_loss = max(2, temperature/50 + rand(-2,2)) - temperature = max(temperature - temp_loss, 0) + var/cooling_temperature = 20 + var/datum/gas_mixture/environment = loc.return_air() + if (environment) + var/ratio = min(environment.return_pressure()/ONE_ATMOSPHERE, 1) + var/ambient = environment.temperature - T20C + cooling_temperature += ambient*ratio + + if (temperature > cooling_temperature) + var/temp_loss = (temperature - cooling_temperature)/TEMPERATURE_DIVISOR + temp_loss = between(2, round(temp_loss, 1), TEMPERATURE_CHANGE_MAX) + temperature = max(temperature - temp_loss, cooling_temperature) src.updateDialog() /obj/machinery/power/port_gen/pacman/proc/overheat() From c69bdd81a8ae3a4e8d4bab906d31afe5d2fe67aa Mon Sep 17 00:00:00 2001 From: Kelenius Date: Tue, 3 Feb 2015 23:38:35 +0300 Subject: [PATCH 004/143] Working conflict fix --- .../mob/living/carbon/metroid/items.dm | 4 +- .../mob/living/carbon/metroid/metroid.dm | 370 +----------------- 2 files changed, 3 insertions(+), 371 deletions(-) diff --git a/code/modules/mob/living/carbon/metroid/items.dm b/code/modules/mob/living/carbon/metroid/items.dm index eb3836daad7..4c7aed74f4c 100644 --- a/code/modules/mob/living/carbon/metroid/items.dm +++ b/code/modules/mob/living/carbon/metroid/items.dm @@ -145,7 +145,7 @@ pet.colour = "[M.colour]" user <<"You feed the slime the potion, removing it's powers and calming it." del(M) - var/newname = copytext(sanitize(input(user, "Would you like to give the slime a name?", "Name your new pet", "pet slime") as null|text),1,MAX_NAME_LEN) + var/newname = sanitize(copytext(input(user, "Would you like to give the slime a name?", "Name your new pet", "pet slime") as null|text,1,MAX_NAME_LEN)) if (!newname) newname = "pet slime" @@ -176,7 +176,7 @@ pet.colour = "[M.colour]" user <<"You feed the slime the potion, removing it's powers and calming it." del(M) - var/newname = copytext(sanitize(input(user, "Would you like to give the slime a name?", "Name your new pet", "pet slime") as null|text),1,MAX_NAME_LEN) + var/newname = sanitize(copytext(input(user, "Would you like to give the slime a name?", "Name your new pet", "pet slime") as null|text,1,MAX_NAME_LEN)) if (!newname) newname = "pet slime" diff --git a/code/modules/mob/living/carbon/metroid/metroid.dm b/code/modules/mob/living/carbon/metroid/metroid.dm index d83e713e34d..d6c8c226c41 100644 --- a/code/modules/mob/living/carbon/metroid/metroid.dm +++ b/code/modules/mob/living/carbon/metroid/metroid.dm @@ -423,372 +423,4 @@ /mob/living/carbon/slime/can_use_vents() if(Victim) return "You cannot ventcrawl while feeding." - ..() - -/obj/item/slime_extract - name = "slime extract" - desc = "Goo extracted from a slime. Legends claim these to have \"magical powers\"." - icon = 'icons/mob/slimes.dmi' - icon_state = "grey slime extract" - force = 1.0 - w_class = 1.0 - throwforce = 0 - throw_speed = 3 - throw_range = 6 - origin_tech = "biotech=4" - var/Uses = 1 // uses before it goes inert - var/enhanced = 0 //has it been enhanced before? - - attackby(obj/item/O as obj, mob/user as mob) - if(istype(O, /obj/item/weapon/slimesteroid2)) - if(enhanced == 1) - user << " This extract has already been enhanced!" - return ..() - if(Uses == 0) - user << " You can't enhance a used extract!" - return ..() - user <<"You apply the enhancer. It now has triple the amount of uses." - Uses = 3 - enhanced = 1 - del(O) - -/obj/item/slime_extract/New() - ..() - create_reagents(100) - -/obj/item/slime_extract/grey - name = "grey slime extract" - icon_state = "grey slime extract" - -/obj/item/slime_extract/gold - name = "gold slime extract" - icon_state = "gold slime extract" - -/obj/item/slime_extract/silver - name = "silver slime extract" - icon_state = "silver slime extract" - -/obj/item/slime_extract/metal - name = "metal slime extract" - icon_state = "metal slime extract" - -/obj/item/slime_extract/purple - name = "purple slime extract" - icon_state = "purple slime extract" - -/obj/item/slime_extract/darkpurple - name = "dark purple slime extract" - icon_state = "dark purple slime extract" - -/obj/item/slime_extract/orange - name = "orange slime extract" - icon_state = "orange slime extract" - -/obj/item/slime_extract/yellow - name = "yellow slime extract" - icon_state = "yellow slime extract" - -/obj/item/slime_extract/red - name = "red slime extract" - icon_state = "red slime extract" - -/obj/item/slime_extract/blue - name = "blue slime extract" - icon_state = "blue slime extract" - -/obj/item/slime_extract/darkblue - name = "dark blue slime extract" - icon_state = "dark blue slime extract" - -/obj/item/slime_extract/pink - name = "pink slime extract" - icon_state = "pink slime extract" - -/obj/item/slime_extract/green - name = "green slime extract" - icon_state = "green slime extract" - -/obj/item/slime_extract/lightpink - name = "light pink slime extract" - icon_state = "light pink slime extract" - -/obj/item/slime_extract/black - name = "black slime extract" - icon_state = "black slime extract" - -/obj/item/slime_extract/oil - name = "oil slime extract" - icon_state = "oil slime extract" - -/obj/item/slime_extract/adamantine - name = "adamantine slime extract" - icon_state = "adamantine slime extract" - -/obj/item/slime_extract/bluespace - name = "bluespace slime extract" - icon_state = "bluespace slime extract" - -/obj/item/slime_extract/pyrite - name = "pyrite slime extract" - icon_state = "pyrite slime extract" - -/obj/item/slime_extract/cerulean - name = "cerulean slime extract" - icon_state = "cerulean slime extract" - -/obj/item/slime_extract/sepia - name = "sepia slime extract" - icon_state = "sepia slime extract" - -/obj/item/slime_extract/rainbow - name = "rainbow slime extract" - icon_state = "rainbow slime extract" - -////Pet Slime Creation/// - -/obj/item/weapon/slimepotion - name = "docility potion" - desc = "A potent chemical mix that will nullify a slime's powers, causing it to become docile and tame." - icon = 'icons/obj/chemical.dmi' - icon_state = "bottle19" - - attack(mob/living/carbon/slime/M as mob, mob/user as mob) - if(!istype(M, /mob/living/carbon/slime))//If target is not a slime. - user << " The potion only works on baby slimes!" - return ..() - if(M.is_adult) //Can't tame adults - user << " Only baby slimes can be tamed!" - return..() - if(M.stat) - user << " The slime is dead!" - return..() - if(M.mind) - user << " The slime resists!" - return ..() - var/mob/living/simple_animal/slime/pet = new /mob/living/simple_animal/slime(M.loc) - pet.icon_state = "[M.colour] baby slime" - pet.icon_living = "[M.colour] baby slime" - pet.icon_dead = "[M.colour] baby slime dead" - pet.colour = "[M.colour]" - user <<"You feed the slime the potion, removing it's powers and calming it." - del(M) - var/newname = sanitize(copytext(input(user, "Would you like to give the slime a name?", "Name your new pet", "pet slime") as null|text,1,MAX_NAME_LEN)) - - if (!newname) - newname = "pet slime" - pet.name = newname - pet.real_name = newname - del(src) - -/obj/item/weapon/slimepotion2 - name = "advanced docility potion" - desc = "A potent chemical mix that will nullify a slime's powers, causing it to become docile and tame. This one is meant for adult slimes" - icon = 'icons/obj/chemical.dmi' - icon_state = "bottle19" - - attack(mob/living/carbon/slime/M as mob, mob/user as mob) - if(!istype(M, /mob/living/carbon/slime/))//If target is not a slime. - user << " The potion only works on slimes!" - return ..() - if(M.stat) - user << " The slime is dead!" - return..() - if(M.mind) - user << " The slime resists!" - return ..() - var/mob/living/simple_animal/adultslime/pet = new /mob/living/simple_animal/adultslime(M.loc) - pet.icon_state = "[M.colour] adult slime" - pet.icon_living = "[M.colour] adult slime" - pet.icon_dead = "[M.colour] baby slime dead" - pet.colour = "[M.colour]" - user <<"You feed the slime the potion, removing it's powers and calming it." - del(M) - var/newname = sanitize(copytext(input(user, "Would you like to give the slime a name?", "Name your new pet", "pet slime") as null|text,1,MAX_NAME_LEN)) - - if (!newname) - newname = "pet slime" - pet.name = newname - pet.real_name = newname - del(src) - - -/obj/item/weapon/slimesteroid - name = "slime steroid" - desc = "A potent chemical mix that will cause a slime to generate more extract." - icon = 'icons/obj/chemical.dmi' - icon_state = "bottle16" - - attack(mob/living/carbon/slime/M as mob, mob/user as mob) - if(!istype(M, /mob/living/carbon/slime))//If target is not a slime. - user << " The steroid only works on baby slimes!" - return ..() - if(M.is_adult) //Can't tame adults - user << " Only baby slimes can use the steroid!" - return..() - if(M.stat) - user << " The slime is dead!" - return..() - if(M.cores == 3) - user <<" The slime already has the maximum amount of extract!" - return..() - - user <<"You feed the slime the steroid. It now has triple the amount of extract." - M.cores = 3 - del(src) - -/obj/item/weapon/slimesteroid2 - name = "extract enhancer" - desc = "A potent chemical mix that will give a slime extract three uses." - icon = 'icons/obj/chemical.dmi' - icon_state = "bottle17" - - /*afterattack(obj/target, mob/user , flag) - if(istype(target, /obj/item/slime_extract)) - if(target.enhanced == 1) - user << " This extract has already been enhanced!" - return ..() - if(target.Uses == 0) - user << " You can't enhance a used extract!" - return ..() - user <<"You apply the enhancer. It now has triple the amount of uses." - target.Uses = 3 - target.enahnced = 1 - del(src)*/ - -/obj/effect/golemrune - anchored = 1 - desc = "a strange rune used to create golems. It glows when spirits are nearby." - name = "rune" - icon = 'icons/obj/rune.dmi' - icon_state = "golem" - unacidable = 1 - layer = TURF_LAYER - - New() - ..() - processing_objects.Add(src) - - process() - var/mob/dead/observer/ghost - for(var/mob/dead/observer/O in src.loc) - if(!O.client) continue - if(O.mind && O.mind.current && O.mind.current.stat != DEAD) continue - ghost = O - break - if(ghost) - icon_state = "golem2" - else - icon_state = "golem" - - attack_hand(mob/living/user as mob) - var/mob/dead/observer/ghost - for(var/mob/dead/observer/O in src.loc) - if(!O.client) continue - if(O.mind && O.mind.current && O.mind.current.stat != DEAD) continue - ghost = O - break - if(!ghost) - user << "The rune fizzles uselessly. There is no spirit nearby." - return - var/mob/living/carbon/human/G = new(src.loc) - G.set_species("Golem") - G.key = ghost.key - G << "You are an adamantine golem. You move slowly, but are highly resistant to heat and cold as well as blunt trauma. You are unable to wear clothes, but can still use most tools. Serve [user], and assist them in completing their goals at any cost." - del (src) - - - proc/announce_to_ghosts() - for(var/mob/dead/observer/G in player_list) - if(G.client) - var/area/A = get_area(src) - if(A) - G << "Golem rune created in [A.name]." - -/mob/living/carbon/slime/has_eyes() - return 0 - -//////////////////////////////Old shit from metroids/RoRos, and the old cores, would not take much work to re-add them//////////////////////// - -/* -// Basically this slime Core catalyzes reactions that normally wouldn't happen anywhere -/obj/item/slime_core - name = "slime extract" - desc = "Goo extracted from a slime. Legends claim these to have \"magical powers\"." - icon = 'icons/mob/slimes.dmi' - icon_state = "slime extract" - force = 1.0 - w_class = 1.0 - throwforce = 1.0 - throw_speed = 2 - throw_range = 6 - origin_tech = "biotech=4" - var/POWERFLAG = 0 // sshhhhhhh - var/Flush = 30 - var/Uses = 5 // uses before it goes inert - -/obj/item/slime_core/New() - ..() - create_reagents(100) - POWERFLAG = rand(1,10) - Uses = rand(7, 25) - //flags |= NOREACT -/* - spawn() - Life() - - proc/Life() - while(src) - sleep(25) - Flush-- - if(Flush <= 0) - reagents.clear_reagents() - Flush = 30 -*/ - - - -/obj/item/weapon/reagent_containers/food/snacks/egg/slime - name = "slime egg" - desc = "A small, gelatinous egg." - icon = 'icons/mob/mob.dmi' - icon_state = "slime egg-growing" - bitesize = 12 - origin_tech = "biotech=4" - var/grown = 0 - -/obj/item/weapon/reagent_containers/food/snacks/egg/slime/New() - ..() - reagents.add_reagent("nutriment", 4) - reagents.add_reagent("slimejelly", 1) - spawn(rand(1200,1500))//the egg takes a while to "ripen" - Grow() - -/obj/item/weapon/reagent_containers/food/snacks/egg/slime/proc/Grow() - grown = 1 - icon_state = "slime egg-grown" - processing_objects.Add(src) - return - -/obj/item/weapon/reagent_containers/food/snacks/egg/slime/proc/Hatch() - processing_objects.Remove(src) - var/turf/T = get_turf(src) - src.visible_message(" The [name] pulsates and quivers!") - spawn(rand(50,100)) - src.visible_message(" The [name] bursts open!") - new/mob/living/carbon/slime(T) - del(src) - - -/obj/item/weapon/reagent_containers/food/snacks/egg/slime/process() - var/turf/location = get_turf(src) - var/datum/gas_mixture/environment = location.return_air() - if (environment.phoron > MOLES_PHORON_VISIBLE)//phoron exposure causes the egg to hatch - src.Hatch() - -/obj/item/weapon/reagent_containers/food/snacks/egg/slime/attackby(obj/item/weapon/W as obj, mob/user as mob) - if(istype( W, /obj/item/toy/crayon )) - return - else - ..() -*/ ->>>>>>> dev + ..() \ No newline at end of file From cb25b524ab62e681e58e56a1194a6467b2c69f12 Mon Sep 17 00:00:00 2001 From: Kelenius Date: Wed, 4 Feb 2015 01:39:30 +0300 Subject: [PATCH 005/143] Gives slimes a HUD and an ability to choose face --- code/_onclick/hud/hud.dm | 2 + code/_onclick/hud/other_mobs.dm | 68 +++++++++++++++++++ .../mob/living/carbon/metroid/emote.dm | 30 +++++++- 3 files changed, 99 insertions(+), 1 deletion(-) diff --git a/code/_onclick/hud/hud.dm b/code/_onclick/hud/hud.dm index ab37fa48674..3f00db9ce0e 100644 --- a/code/_onclick/hud/hud.dm +++ b/code/_onclick/hud/hud.dm @@ -241,6 +241,8 @@ datum/hud/New(mob/owner) brain_hud(ui_style) else if(isalien(mymob)) larva_hud() + else if(isslime(mymob)) + slime_hud() else if(isAI(mymob)) ai_hud() else if(isrobot(mymob)) diff --git a/code/_onclick/hud/other_mobs.dm b/code/_onclick/hud/other_mobs.dm index cd19e78d7e1..cd5a859715a 100644 --- a/code/_onclick/hud/other_mobs.dm +++ b/code/_onclick/hud/other_mobs.dm @@ -33,3 +33,71 @@ mymob.client.screen = null mymob.client.screen += list(blobpwrdisplay, blobhealthdisplay) + +/datum/hud/proc/slime_hud(ui_style = 'icons/mob/screen1_Midnight.dmi') + + src.adding = list() + + var/obj/screen/using + + using = new /obj/screen() + using.name = "act_intent" + using.set_dir(SOUTHWEST) + using.icon = ui_style + using.icon_state = "intent_"+mymob.a_intent + using.screen_loc = ui_zonesel + using.layer = 20 + src.adding += using + action_intent = using + + //intent small hud objects + var/icon/ico + + ico = new(ui_style, "black") + ico.MapColors(0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, -1,-1,-1,-1) + ico.DrawBox(rgb(255,255,255,1),1,ico.Height()/2,ico.Width()/2,ico.Height()) + using = new /obj/screen( src ) + using.name = "help" + using.icon = ico + using.screen_loc = ui_zonesel + using.layer = 21 + src.adding += using + help_intent = using + + ico = new(ui_style, "black") + ico.MapColors(0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, -1,-1,-1,-1) + ico.DrawBox(rgb(255,255,255,1),ico.Width()/2,ico.Height()/2,ico.Width(),ico.Height()) + using = new /obj/screen( src ) + using.name = "disarm" + using.icon = ico + using.screen_loc = ui_zonesel + using.layer = 21 + src.adding += using + disarm_intent = using + + ico = new(ui_style, "black") + ico.MapColors(0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, -1,-1,-1,-1) + ico.DrawBox(rgb(255,255,255,1),ico.Width()/2,1,ico.Width(),ico.Height()/2) + using = new /obj/screen( src ) + using.name = "grab" + using.icon = ico + using.screen_loc = ui_zonesel + using.layer = 21 + src.adding += using + grab_intent = using + + ico = new(ui_style, "black") + ico.MapColors(0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, -1,-1,-1,-1) + ico.DrawBox(rgb(255,255,255,1),1,1,ico.Width()/2,ico.Height()/2) + using = new /obj/screen( src ) + using.name = "harm" + using.icon = ico + using.screen_loc = ui_zonesel + using.layer = 21 + src.adding += using + hurt_intent = using + + mymob.client.screen = null + mymob.client.screen += src.adding + + return \ No newline at end of file diff --git a/code/modules/mob/living/carbon/metroid/emote.dm b/code/modules/mob/living/carbon/metroid/emote.dm index 829b9dcf1e6..a6ea5498cde 100644 --- a/code/modules/mob/living/carbon/metroid/emote.dm +++ b/code/modules/mob/living/carbon/metroid/emote.dm @@ -8,6 +8,8 @@ if(findtext(act,"s",-1) && !findtext(act,"_",-2))//Removes ending s's unless they are prefixed with a '_' act = copytext(act,1,length(act)) + var/updateicon = 0 + switch(act) //Alphabetical please if ("me") if(silent) @@ -58,8 +60,32 @@ message = "The [src.name] vibrates!" m_type = 1 + if("nomood") + mood = null + updateicon = 1 + + if("pout") + mood = "pout" + updateicon = 1 + + if("sad") + mood = "sad" + updateicon = 1 + + if("angry") + mood = "angry" + updateicon = 1 + + if("frown") + mood = "mischevous" + updateicon = 1 + + if("smile") + mood = ":3" + updateicon = 1 + if ("help") //This is an exception - src << "Help for slime emotes. You can use these emotes with say \"*emote\":\n\nbounce, custom, jiggle, light, moan, shiver, sway, twitch, vibrate" + src << "Help for slime emotes. You can use these emotes with say \"*emote\":\n\nbounce, custom, jiggle, light, moan, shiver, sway, twitch, vibrate. You can also set your face with: \n\nnomood, pout, sad, angry, frown, smile" else src << "\blue Unusable emote '[act]'. Say *help for a list." @@ -70,4 +96,6 @@ else for(var/mob/O in hearers(src, null)) O.show_message(message, m_type) + if(updateicon) + regenerate_icons() return \ No newline at end of file From 669f226fb28e380219d5383c99aa3dd59d2d020f Mon Sep 17 00:00:00 2001 From: Kelenius Date: Wed, 4 Feb 2015 02:07:14 +0300 Subject: [PATCH 006/143] Changes slime stun probabilities I swear I did this already --- code/_onclick/other_mobs.dm | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/code/_onclick/other_mobs.dm b/code/_onclick/other_mobs.dm index 8d49ffd91b2..496553558df 100644 --- a/code/_onclick/other_mobs.dm +++ b/code/_onclick/other_mobs.dm @@ -131,23 +131,24 @@ if ("help") // We just poke the other M.visible_message("[src] gently pokes [M]!", "[src] gently pokes you!") if ("disarm") // We stun the target, with the intention to feed - var/stunprob = 0 + var/stunprob = 1 var/power = max(0, min(10, (powerlevel + rand(0, 3)))) if (powerlevel > 0 && !istype(A, /mob/living/carbon/slime)) if(ishuman(M)) var/mob/living/carbon/human/H = M - if(H.species.flags & IS_SYNTHETIC || (H.species.siemens_coefficient<0.5)) + if(H.species.flags & IS_SYNTHETIC) return + stunprob *= H.species.siemens_coefficient switch(power * 10) - if(0) stunprob = 10 - if(1 to 2) stunprob = 20 - if(3 to 4) stunprob = 30 - if(5 to 6) stunprob = 40 - if(7 to 8) stunprob = 60 - if(9) stunprob = 70 - if(10) stunprob = 95 + if(0) stunprob *= 10 + if(1 to 2) stunprob *= 20 + if(3 to 4) stunprob *= 30 + if(5 to 6) stunprob *= 40 + if(7 to 8) stunprob *= 60 + if(9) stunprob *= 70 + if(10) stunprob *= 95 if(prob(stunprob)) powerlevel = max(0, powerlevel-3) From e98dc5eadaf68597f5990007a2b5f1fdf0d56e5d Mon Sep 17 00:00:00 2001 From: Atlantiscze Date: Thu, 5 Feb 2015 00:30:37 +0100 Subject: [PATCH 007/143] RCON Sorting - RCON Console SMES entries are now sorted alphabetically by RCON tag, rather than being semi-random. --- code/game/machinery/computer/RCON_Console.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/game/machinery/computer/RCON_Console.dm b/code/game/machinery/computer/RCON_Console.dm index e1ecdb28d2f..a28b6ad42d8 100644 --- a/code/game/machinery/computer/RCON_Console.dm +++ b/code/game/machinery/computer/RCON_Console.dm @@ -45,7 +45,8 @@ "output_load" = round(SMES.output_used), "RCON_tag" = SMES.RCon_tag ))) - data["smes_info"] = smeslist + + data["smes_info"] = sortByKey(smeslist, "RCON_tag") // BREAKER DATA (simplified view) var/list/breakerlist[0] From 449446475a3bb7f17d3539da95a37e2e1bd55b5c Mon Sep 17 00:00:00 2001 From: Atlantiscze Date: Thu, 5 Feb 2015 00:34:15 +0100 Subject: [PATCH 008/143] Changes mapped SMES RCON tags - RCON Tags on mapped-in SMESs have been changed. This, when combined with previous commit makes RCON console UI more organised. - New tags are in format "Solar - Aft Port", "Substation - Medical", "Outpost - Research", etc. Therefore relevant entries are usually listed together. - Comparation: http://i.imgur.com/C83vXpQ.png --- maps/exodus-1.dmm | 52 +++++++++++++++++++++++------------------------ maps/exodus-4.dmm | 2 +- maps/exodus-5.dmm | 6 +++--- 3 files changed, 30 insertions(+), 30 deletions(-) diff --git a/maps/exodus-1.dmm b/maps/exodus-1.dmm index 976ce9fc567..1778f5178af 100644 --- a/maps/exodus-1.dmm +++ b/maps/exodus-1.dmm @@ -71,7 +71,7 @@ "abs" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless,/area/maintenance/foresolar) "abt" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = -32; pixel_y = 0},/obj/machinery/atmospherics/portables_connector,/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor/plating{dir = 1; icon_state = "warnplatecorner"},/area/maintenance/foresolar) "abu" = (/obj/machinery/power/terminal{dir = 4},/obj/machinery/light/small{dir = 1},/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/maintenance/foresolar) -"abv" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Fore Solar"},/turf/simulated/floor/plating,/area/maintenance/foresolar) +"abv" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Solar - Fore"},/turf/simulated/floor/plating,/area/maintenance/foresolar) "abw" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = 0},/turf/simulated/wall/r_wall,/area/maintenance/foresolar) "abx" = (/obj/effect/decal/cleanable/ash,/obj/structure/closet/emcloset,/turf/simulated/floor/plating{dir = 1; icon_state = "warnplatecorner"},/area/maintenance/security_port) "aby" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/security/warden) @@ -679,7 +679,7 @@ "anc" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplatecorner"},/area/maintenance/security_starboard) "and" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = 0},/turf/simulated/wall,/area/maintenance/substation/security) "ane" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/machinery/power/terminal{dir = 4},/turf/simulated/floor/plating,/area/maintenance/substation/security) -"anf" = (/obj/structure/cable/green,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Security Substation"},/turf/simulated/floor/plating,/area/maintenance/substation/security) +"anf" = (/obj/structure/cable/green,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Substation - Security"},/turf/simulated/floor/plating,/area/maintenance/substation/security) "ang" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/substation/security) "anh" = (/obj/effect/landmark{name = "carpspawn"},/turf/space,/area/shuttle/syndicate_elite/station) "ani" = (/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating/airless,/area/solar/auxstarboard) @@ -1489,7 +1489,7 @@ "aCG" = (/obj/machinery/atmospherics/pipe/tank/air{dir = 8},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/maintenance/arrivals) "aCH" = (/obj/machinery/camera{c_tag = "Fore Port Solar Control"; dir = 1},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/maintenance/auxsolarport) "aCI" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/maintenance/auxsolarport) -"aCJ" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Fore Port Solar"},/turf/simulated/floor/plating,/area/maintenance/auxsolarport) +"aCJ" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Solar - Fore Port"},/turf/simulated/floor/plating,/area/maintenance/auxsolarport) "aCK" = (/turf/simulated/wall,/area/storage/primary) "aCL" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/storage/primary) "aCM" = (/turf/simulated/wall/r_wall,/area/storage/primary) @@ -1523,7 +1523,7 @@ "aDo" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/drinks/shaker,/obj/item/weapon/gun/projectile/shotgun/doublebarrel,/obj/item/weapon/paper{info = "This permit signifies that the Bartender is permitted to posess this firearm in the bar, and ONLY the bar. Failure to adhere to this permit will result in confiscation of the weapon and possibly arrest."; name = "Shotgun permit"},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/wood,/area/crew_quarters/bar) "aDp" = (/turf/simulated/wall,/area/crew_quarters/bar) "aDq" = (/obj/structure/disposalpipe/segment,/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/bar) -"aDr" = (/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Civilian East Substation"},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/maintenance/substation/civilian_east) +"aDr" = (/obj/machinery/camera{c_tag = "Fore Starboard Solars"; dir = 1},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Solar - Fore Starboard"},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard) "aDs" = (/turf/simulated/wall,/area/maintenance/bar) "aDt" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/plating,/area/crew_quarters/fitness) "aDu" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/crew_quarters/fitness) @@ -1609,7 +1609,7 @@ "aEW" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor{icon_state = "neutral"; dir = 4},/area/crew_quarters/sleep) "aEX" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard) "aEY" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard) -"aEZ" = (/obj/machinery/camera{c_tag = "Fore Starboard Solars"; dir = 1},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Fore Starboard Solar"},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard) +"aEZ" = (/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Substation - Civilian East"},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/maintenance/substation/civilian_east) "aFa" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/maintenance/bar) "aFb" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/maintenance/bar) "aFc" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor/plating,/area/maintenance/library) @@ -1871,7 +1871,7 @@ "aJY" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/substation/civilian_west) "aJZ" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/power/sensor{name = "Powernet Sensor - Civilian West"; name_tag = "Civilian West Subgrid"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green,/turf/simulated/floor/plating,/area/maintenance/substation/civilian_west) "aKa" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/power/breakerbox/activated{RCon_tag = "Civilian West Substation Bypass"},/turf/simulated/floor/plating,/area/maintenance/substation/civilian_west) -"aKb" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Civilian West Substation"},/turf/simulated/floor/plating,/area/maintenance/substation/civilian_west) +"aKb" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Substation - Civilian West"},/turf/simulated/floor/plating,/area/maintenance/substation/civilian_west) "aKc" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/storage/emergency2) "aKd" = (/turf/simulated/floor,/area/hallway/secondary/entry/starboard) "aKe" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/storage/emergency2) @@ -2818,7 +2818,7 @@ "bcj" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/maintenance/locker) "bck" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) "bcl" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/power/terminal{dir = 8},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable,/turf/simulated/floor/plating,/area/maintenance/substation/medical) -"bcm" = (/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Medical Substation"},/obj/structure/cable/green,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/maintenance/substation/medical) +"bcm" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/camera{c_tag = "Command Substation"; dir = 2; network = list("SS13","Engineering")},/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Substation - Command"},/turf/simulated/floor/plating,/area/maintenance/substation/command) "bcn" = (/obj/structure/disposalpipe/sortjunction/flipped{dir = 2; sortType = "Robotics"; name = "Robotics"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/maintenance/research_port) "bco" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall,/area/maintenance/locker) "bcp" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall,/area/storage/tools) @@ -3444,7 +3444,7 @@ "bol" = (/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/turf/simulated/floor{icon_state = "bluecorner"},/area/hallway/primary/central_one) "bom" = (/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/maintenance/substation/command) "bon" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/terminal{dir = 4},/turf/simulated/floor/plating,/area/maintenance/substation/command) -"boo" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/camera{c_tag = "Command Substation"; dir = 2; network = list("SS13","Engineering")},/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Command Substation"},/turf/simulated/floor/plating,/area/maintenance/substation/command) +"boo" = (/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Substation - Medical"},/obj/structure/cable/green,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/maintenance/substation/medical) "bop" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/command{name = "Electrical Maintenance"; req_access = null; req_access_txt = "19"},/turf/simulated/floor/plating,/area/maintenance/substation/command) "boq" = (/obj/machinery/camera{c_tag = "Engineering Washroom"; dir = 1; network = list("SS13")},/obj/machinery/light,/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/sleep/engi_wash) "bor" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/plating,/area/maintenance/substation/command) @@ -3572,6 +3572,7 @@ "bqJ" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) "bqK" = (/obj/machinery/camera{c_tag = "Common Brig Northwest"; dir = 4; network = list("SS13","Prison")},/obj/machinery/computer/arcade,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/security/prison) "bqL" = (/turf/simulated/wall/r_wall,/area/medical/chemistry) +"bqM" = (/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Substation - Research"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/maintenance/substation/research) "bqN" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/medical/reception) "bqO" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/medical/reception) "bqP" = (/turf/simulated/floor{dir = 4; icon_state = "whiteblue_ex"; tag = "icon-whiteblue (EAST)"},/area/medical/reception) @@ -5305,7 +5306,7 @@ "bYb" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/research_port) "bYc" = (/turf/simulated/wall,/area/maintenance/substation/research) "bYd" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/research_port) -"bYe" = (/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Research Substation"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/maintenance/substation/research) +"bYe" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Solar - Aft Starboard"},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) "bYf" = (/turf/simulated/wall,/area/maintenance/research_port) "bYg" = (/obj/structure/sign/redcross{desc = "The Star of Life, a symbol of Medical Aid."; icon_state = "lifestar"; name = "Medbay"; pixel_x = -32},/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/research_port) "bYh" = (/obj/machinery/atmospherics/binary/pump{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/rnd/misc_lab) @@ -5736,8 +5737,8 @@ "cgq" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/machinery/power/terminal{dir = 8},/turf/simulated/floor/plating,/area/maintenance/substation/engineering) "cgr" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/engine/locker_room) "cgs" = (/turf/simulated/wall/r_wall,/area/maintenance/substation/engineering) -"cgt" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Aft Starboard Solar"},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) -"cgu" = (/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Engineering Substation"},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green,/turf/simulated/floor/plating,/area/maintenance/substation/engineering) +"cgt" = (/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Substation - Engineering"},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green,/turf/simulated/floor/plating,/area/maintenance/substation/engineering) +"cgu" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_x = 0; pixel_y = 32},/obj/structure/cable/cyan{d2 = 8; icon_state = "0-8"},/obj/machinery/power/smes/buildable{charge = 2e+006; RCon_tag = "Substation - Atmospherics"},/turf/simulated/floor/plating,/area/atmos) "cgv" = (/obj/structure/disposalpipe/segment,/turf/simulated/wall/r_wall,/area/medical/virology) "cgw" = (/obj/structure/disposalpipe/trunk{dir = 1},/obj/structure/disposaloutlet,/turf/simulated/floor/plating/airless,/area/rnd/xenobiology) "cgx" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/camera/autoname{dir = 4},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor{dir = 8; icon_state = "whitegreen"},/area/rnd/xenobiology/xenoflora_storage) @@ -6106,7 +6107,7 @@ "cnw" = (/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "solar_xeno_pump"; tag_exterior_door = "solar_xeno_outer"; frequency = 1379; id_tag = "solar_xeno_airlock"; tag_interior_door = "solar_xeno_inner"; pixel_x = 25; req_access_txt = "13"; tag_chamber_sensor = "solar_xeno_sensor"},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "solar_xeno_sensor"; pixel_x = 25; pixel_y = 12},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1379; id_tag = "solar_xeno_pump"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/decal/warning_stripes,/turf/simulated/floor/plating,/area/maintenance/starboardsolar) "cnx" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/structure/lattice,/turf/space,/area/space) "cny" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/turf/simulated/floor/plating,/area/engine/engine_room) -"cnz" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_x = 0; pixel_y = 32},/obj/structure/cable/cyan{d2 = 8; icon_state = "0-8"},/obj/machinery/power/smes/buildable{charge = 2e+006; RCon_tag = "Atmospherics"},/turf/simulated/floor/plating,/area/atmos) +"cnz" = (/obj/machinery/power/smes/buildable{charge = 1e+007; cur_coils = 4; input_attempt = 1; input_level = 500000; output_level = 500000; RCon_tag = "Engine - Main"},/obj/structure/cable,/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/engine/engine_smes) "cnA" = (/obj/machinery/light{dir = 8},/turf/simulated/floor,/area/construction) "cnB" = (/obj/item/device/flashlight,/turf/simulated/floor,/area/construction) "cnC" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor,/area/construction) @@ -6157,7 +6158,7 @@ "cov" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/atmos) "cow" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/atmos) "cox" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor/plating,/area/atmos) -"coy" = (/obj/machinery/power/smes/buildable{charge = 1e+007; cur_coils = 4; input_attempt = 1; input_level = 500000; output_level = 500000; RCon_tag = "Engine Main"},/obj/structure/cable,/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/engine/engine_smes) +"coy" = (/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/obj/machinery/power/smes/buildable{charge = 2e+006; RCon_tag = "Engine - Core"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/engine/engine_room) "coz" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/hallway/secondary/entry/port) "coA" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/plating,/area/atmos) "coB" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/atmos) @@ -6271,7 +6272,7 @@ "cqF" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/purple{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor{dir = 1; icon_state = "whitegreen"},/area/rnd/xenobiology) "cqG" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{dir = 1; icon_state = "whitegreencorner"},/area/rnd/xenobiology) "cqH" = (/obj/machinery/newscaster{pixel_y = 32},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) -"cqI" = (/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/obj/machinery/power/smes/buildable{charge = 2e+006; RCon_tag = "Engine Core"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/engine/engine_room) +"cqI" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Solar - Aft Port"},/turf/simulated/floor/plating,/area/maintenance/portsolar) "cqJ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/atmos) "cqK" = (/obj/machinery/atmospherics/pipe/simple/visible/green{tag = "icon-intact (SOUTHEAST)"; icon_state = "intact"; dir = 6},/turf/simulated/floor,/area/atmos) "cqL" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/obj/structure/lattice,/turf/space,/area/space) @@ -7034,7 +7035,6 @@ "cFQ" = (/obj/machinery/vending/coffee,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cFR" = (/obj/machinery/vending/snack,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cFS" = (/obj/machinery/atmospherics/pipe/cap/visible{color = "#00ffff"; dir = 8},/turf/simulated/floor/plating,/area/engine/engine_room) -"cFT" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Aft Port Solar"},/turf/simulated/floor/plating,/area/maintenance/portsolar) "cFU" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor/plating,/area/engine/drone_fabrication) "cFV" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan{tag = "icon-map (EAST)"; icon_state = "map"; dir = 4},/obj/machinery/meter,/turf/simulated/floor,/area/atmos) "cFW" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "warning"},/area/engine/engine_smes) @@ -7332,8 +7332,8 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafauNaAwaAxaAwaAyazsazsaAzaAwaAxaAwaAAaABaACaADauNavHauQauQaAEauUauUauUauUauVauQaAFaAGaAHaAIaAFanXanXaxHaAJaxIanXanXanXazIaAKazJaaaaafaaaaafaaaaafaaaaafaaaazJazOazPaALaAMaANaAOaAPazPazQaucayLaAQaAQaARaASaATaAUaAVaATaAWaAXazTaAcarAaAdayPaDdarEaAiasZawXaAgaAhaBbayRaBdaBeaBfaBgaBhaBiaBjaBjaBkaBjatPaBlaBmaBnaBoaBpaBqaBratPaBsatRatRatRatRatRaBtatPaafaaaaaaaaaaaaaafaafaaaaafaBuaBvaBwaBxaByaafaaaaaaaafaaaaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaBzatSaBAawHaBBaBCaBDaBEaBFaBBawHaBGaBHaBIaBJaBKaBLavHavHavHavHavHavHavHavHaBOaBPaAFaBQaBRaBSaAFaBTaBUayCayCayCayCayCaBVaBWaBXazJaafaBYaBYaBYaBYaBYaBYaBYaafazJazOazPaBZaCaaCbaCcaBZazPazQaCdayLayLayLayLaCeaCfaCgaChaCfaCiaCjazTaCkarAaAdayPaClarEaJCasZaAZaAYaBaatCaxWavqatEaBjaBjaBjaBjaBjaCqaCraCsaBjatPatPatPatPaCtatPatPatPaBtatRatRatRatRatRaBtatPaaaaaaaaaaacaaaaafaaaaaaaaaaCvaCwaCxaCyaCvaafaaaaaaaafaaaaaaaaaaaaaaaaaaaafaafaaaaaaaaaaaaaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazqaAxaCzaCAaCAaCAaCAaCBaAxazqaaaaBIaCCaxzaBLaCEaCEaCEaCEaCEaCEaCEavHaCFaCGaAFaCHaCIaCJaAFaCKaCLaCKaCKaCKaCKaCKaCKaCKaCKaCMaaaaBYaCNaCOaCPaCQaCRaBYaaaazJazOazPaBZaCSaCTaCUaBZazPazQanXayLaCVaCWaARaCXaCYaCZaDaaDbaDcayLayLayLarAaAdayPayQarEaAiasZaxTaBcauvatCaDgavqatEaDhaDiaDjaDkaBjaCqaDlaCsaBjaDmaDnaDoaDpaDqaGwaDsaafaDtaDuaDuaDuaDuaDuaDvaafaaaaaaaaaaaaaaaaafaaaaaaaaaaCvaDzaDAaDBaCvaafaaaaaaaDCaDCaDCaDCaDCaDDaDEaDCaDCaDCaDCaDCaDCaDCaDFaDGaDGaDGaDHaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaaaaaaaaaaaaDIaDJaDKaDJaDJaDLaDMaDJaDJaDKaDNaDOaBIaDPaxAaBLaDRaDSaDTaDUaDVaDWaCEavHaDXauQaAFaAFaDYaDZaCMaEaaEbaEcaEdaEeaEfaEgaEhaEiaEjaCMaafaBYaEkaElaEmaEnaEoaBYaafazJazOazPaEpaEqaEraEsaEtazPazQaEuayLazSazTaEvaEwaCfaExaEyaATaEzaEAaEBaEBarAaAdayPayQarEaAiaCmaCmaCmaCmaCmaEHaEIatEaEJaEKaEKaELaEMaEKaENaEOaBjaEPaEQaERaESaETaCnaDsaaaaafaaaaafaaaaafaaaaafaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaCvaEXaEYaEZaCvaFaaFbaDCaDCaFcaFdaFdaFdaFdaFdaFeaFfaFgaFgaFgaFgaFgaFgaFgaFhaFiaFjaafaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaDIaDNaDJaFkaFlaFlaFmaFnaFoaFpaFqaFlaFlaFraFsaFtaDPayuaBLaFvayxaBMazCaBMaBNaCDavHaFuaDQaFxaFwaFzaFyaFIaFJaFKaFLaFLaFLaFMaFLaFLaFNaFOaCMaaaaBYaFPaElaFQaEnaFRaBYaaaazJazOazPaFSaFTaFUaFTaFVazPazQaFWayLayLayLayLaFXaCfaCgazTaCfaFYaFZazTaGaarAaGbaGcaGdarEaAiaDeaDfaDraCoaDeaCpaGjaGkaGlaGmaBjaBjaBjaBjaBjaBjaGnaGoaGpaGqaDpaGraGsaDsaDsaDsaDsaDsaDsaDsaDsaDsaFaaFbaDsaDsaFaaGtaDsaDsaaaaaaaCvaCvaGxaGyaCvaGzaGAaGBaFdaGCaDCaDCaDCaDCaDCaGDaGEaGFaGFaGFaGFaGFaGFaGGaGGaGHaGGaGGaGGaGGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaaaaaaaaaaaaDIaDJaDKaDJaDJaDLaDMaDJaDJaDKaDNaDOaBIaDPaxAaBLaDRaDSaDTaDUaDVaDWaCEavHaDXauQaAFaAFaDYaDZaCMaEaaEbaEcaEdaEeaEfaEgaEhaEiaEjaCMaafaBYaEkaElaEmaEnaEoaBYaafazJazOazPaEpaEqaEraEsaEtazPazQaEuayLazSazTaEvaEwaCfaExaEyaATaEzaEAaEBaEBarAaAdayPayQarEaAiaCmaCmaCmaCmaCmaEHaEIatEaEJaEKaEKaELaEMaEKaENaEOaBjaEPaEQaERaESaETaCnaDsaaaaafaaaaafaaaaafaaaaafaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaCvaEXaEYaDraCvaFaaFbaDCaDCaFcaFdaFdaFdaFdaFdaFeaFfaFgaFgaFgaFgaFgaFgaFgaFhaFiaFjaafaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaDIaDNaDJaFkaFlaFlaFmaFnaFoaFpaFqaFlaFlaFraFsaFtaDPayuaBLaFvayxaBMazCaBMaBNaCDavHaFuaDQaFxaFwaFzaFyaFIaFJaFKaFLaFLaFLaFMaFLaFLaFNaFOaCMaaaaBYaFPaElaFQaEnaFRaBYaaaazJazOazPaFSaFTaFUaFTaFVazPazQaFWayLayLayLayLaFXaCfaCgazTaCfaFYaFZazTaGaarAaGbaGcaGdarEaAiaDeaDfaEZaCoaDeaCpaGjaGkaGlaGmaBjaBjaBjaBjaBjaBjaGnaGoaGpaGqaDpaGraGsaDsaDsaDsaDsaDsaDsaDsaDsaDsaFaaFbaDsaDsaFaaGtaDsaDsaaaaaaaCvaCvaGxaGyaCvaGzaGAaGBaFdaGCaDCaDCaDCaDCaDCaGDaGEaGFaGFaGFaGFaGFaGFaGGaGGaGHaGGaGGaGGaGGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaFraGIaGJaGKaFlaGLaFlaGLaFlaGLaFlaGLaFlaGMaGNaGOaDPayuaBLaGPaFAaGRaGSaGTaGUaCEaFBaFDaFCaFCaFCbazaFEaFCaHcaFLaFLaFLaFLaFLaFLaFLaFNaHdaCMaafaBYaHeaHfaHgaHhaHiaBYaafazJazOazPaHjaHkaFUaHlaHmazPaHnaHoayLaHpazTaARaHqaATaHrazTaCfaFYaHsazTaHtarAaHuaHvaHwarEaGuaDyaEUaGvaDwaDxaEVaEWatEaHCaHDaBjaHEaBjaHFaBjaHGaBjaHHaGpaHIaDpaHJaHKaHLaHMaHMaHNaHOaHKaHKaHKaHKaHKaHPaHKaHKaHKaHQaHVaDsaDsaDsaDsaHRaHSaHTaHUaIaaIbaDCaDCaIcaDCaIdaIeaIfaIgaGFaIhaGFaIiaIjaIkaIlbinaInaIoaIpaIqaIraIsbjFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaIwaFlaFlaDKaFlaGLaFlaGLaIxaGLaIyaGLaFlaGMaGNaGOaDPaFFaIAaIAaFGaICaIDaICaIAaIAaIEaIFaFCaGQaFHaGWaGVaFCaIKaILaIMaFLaFLaINaFLaIOaIPaIKaCMaaaaBYaBYaIQaIRaIQaBYaBYaaaazJazOazPaISaITaIUaFTaIVazPaIWaIXayLaIYazTaIZaEwaCfaJaaEyaATaJbaJcazTaJdaJeaJfaJgaJhaMbaECaCuaCuaCuaCuaCuaJjaJkaJlaJmaJnaBjaJoaBjaJpaBjaJqaBjaJraGpaJsaJtaGsaGsaDqaJvaDsaDsaJwaDsaDsaJxaDsaGsaJyaGsaGsaGsaJzaHZaJBaJAaJAaJAaHXaHYaHWaHWaJGaJHaIgaJIaJJaJKaJLaJMaJNaIgaJOaJPaGFaJQaJRaJSaJTbinaJUaIoaJVaJWaGGaGGaGGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaFraJXaGJaGKaFlaGLaFlaGLaFlaGLaFlaGLaFlaGMaGNaGOaDPaGYaGXaHaaGZaHbaHbaIBaIzaIHaIGaIJaIIaJZaJYaKbaKaaFCaIKaKmaKnaKoaKpaIKaKqaKraKsaKtaKuaaaaafaaaaKvaKwaKvaaaaafaaaaKuazOazPaKxaKyaKzaKAaKBazPaKCaKDayLaKEazTaARaKFaKGaHrazTaKHaKIaKJaKKaKLaJeaEDaKNaKOaKPaEEaKRaaaaaaaJlaKSaKTaKUaJlaKVaJnaJnaJnaKWaJnaJnaJnaBjaDpaKXaDpaDpaDpaDpaKYaDpaKZaLaaLbaLcaLdaLeaLfaLgaLhaLfaLfaLfaLfaLfaLiaLfaLfaLfaLfaLfaLfaLfaLfaGraIgaLjaLkaLlaEFaLnaLoaIgaLpaLqaGFaLraLsaLtaJTaRraJUaIoaJVaIoaLvaLwaLxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -7355,13 +7355,13 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaT aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaabhObhObhObhObhObhObhObhObhObhObhOaZSaZTbjmbjnbjobgrbjpbjpbjqbjpbjpbjpbjrbajbajbajbajbaibbZbdDbjsbjtbgybbZbjubjvbjuaTSaTSaTSaTSbjwaTSbjxbdObdPbjybjzbgDbjAbjBbdPbfibfmbjCbgGbgGbgGbjDaMbbjEaSzbctcdNbjGbgObjHbjIbjJbjKbjLbjMbdYbjNbjObjPbiybjQbiybgVbjRbjSbedbjTbjUbjVbjWbjWbjWbjXbjYaJibjZbkabkbbkcbkdbkebbFbkfbkgbkhbkibkjbkkbklbkmbknbknbkobewbewbewbewbewbkpbkqbkrbewbksbktbkubkvbewbkpbkwbkxbkybhFbewbewbkzbewbewbkAbkBbewbkpbewbewbewbewbewbewbewbewbewbhqbewbewbhFbkCbkDbkEbkFbkGbkHbkIbkJaafaaaaafaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaabhObhObhObhObhObhObhObhObhObhObhObkKbkLbkMbkNbkObgrbkPbkQbkRbkRbkSbkTbkUbkVbkWbkWbkXbkYbbZbbZbbZbeZbkZbbZbajbajbajbajblaaXeaXeblbblcbldbleblfblgblhblibljblkbdPbllbfmblmbgGblnbgGbloblpblqaSzbctaJeblrblsbltblublvblwblxblybdYbebblzblAblCblBblDblAblEbebbedbedblFblGblHblIbiCblJblKaJiblLblMblNaJiblOblOblOblOblOblOaZzaZzblPblQbZNcdMblQblPaZzaZzaZzaZzaZzaZzaZzaZzaZzaZzblTaZzaZzaZzaZzaZzaZzaVIaZzbewbewblVblWblWblOblOblOblOblOblXblYblYblZblYbewblYblZbmablYbmbblObmcbmcbmcbmdaRZbmeaRZaRZaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaabhObhObhObhObhObhObhObhObhObhObhObdubdvbjmbjnbmfbgrbmgbjpbmhbmibjpbjpbjpaVAbmjbmkbmkbmlbbZbdDbmmbeZbmnbbZbmobmpbmqbmrbmsbmtbmtbmubmtbmtbmvbdPbmwbmxbfgbmybmzblfbmAbfmbmBbgGbgGbmCbmDbmEblqaSzbmFbmGbmGbmGbmGbmGbmGbmGbmHbmGbdYbebbmIbmJbmKbmLbmKbmMbmNbebbedbedbmObmPbmQbmRbiCbiGbmSaJibcKaRqaRpaJibmTbmUbmVbmWbmXbmYbmZbnabnbbncbndbnebncbnfbngbnhbnibnjbnkbnlbnmbnnbnobnpbnqbnrbnsbntbntbnubYfaVJblOblObZLblObZMbZMblObnzbnAbnBblObZtbZubZtblOblXblYbmbblObZnbZBbZnblObnGbnHbnIbnJbnKbnLbnMaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaabhObhObhObhObhObhObhObhObhObhOaaabnNbnObnPbeQbnQbgrbnRbjpbnSbnTbnUbnVbjpbnWbnXbnYbnZbmlbbZbbZbbZbbZbbZbbZboabobbocbodboebdPbdPbdPbdPbdPbdPbdPbWqbdPbdPbdPbogbdPbohboibojbgGbgGbgGbokblpblqaSzbolbmGbombonboobcEbvGbotbosbotaafbebboubovbowboxboybozboAbebaafbedboBboCboDboEbiCbiGboFaJiboGboHaRpbXHboJboKboLboMboNbYwboPboQboRboRboSboTboUboUboVboWboXboYboZbpabpbbnnbpcbpdbpebpfbpgbphbpfbpibYfaVJbpjbpkbplbpmbpnbpobppbpqbprbpqbpsbptbpubpvblOaZzbpwbpxblObpybpzbpAbpBbpCbpDbnIbpEbpFbpGbnMaaaaaaaaaaacaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaabhObhObhObhObhObhObhObhObhObhOaaabnNbnObnPbeQbnQbgrbnRbjpbnSbnTbnUbnVbjpbnWbnXbnYbnZbmlbbZbbZbbZbbZbbZbbZboabobbocbodboebdPbdPbdPbdPbdPbdPbdPbWqbdPbdPbdPbogbdPbohboibojbgGbgGbgGbokblpblqaSzbolbmGbombonbcmbcEbvGbotbosbotaafbebboubovbowboxboybozboAbebaafbedboBboCboDboEbiCbiGboFaJiboGboHaRpbXHboJboKboLboMboNbYwboPboQboRboRboSboTboUboUboVboWboXboYboZbpabpbbnnbpcbpdbpebpfbpgbphbpfbpibYfaVJbpjbpkbplbpmbpnbpobppbpqbprbpqbpsbptbpubpvblOaZzbpwbpxblObpybpzbpAbpBbpCbpDbnIbpEbpFbpGbnMaaaaaaaaaaacaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaaaaaaaaaaaabgnbgobgpbgqbdvbpHbpHbpHbpIbpHbpJaZVbpKbpLbgrbpMbpNbpObpPbpQbpRbpSaYSaXeaXeaXebpTbkWbpUbkWbkWbkWbkWbpVbpWbpWbpXbpYbdPbpZbqabqbbqcbqdbqebqfbqgbqhbqibqjbqkbmAbqlbojbgGbgGbqmbfmaMbblqbqnbqoaJubqqbqrbqrbxqborbopbxsbotaafbebbebbebbebceebebbebbebbebaafbedbqzboCbqAbqBbqCbqDbqEaJibqFaRqaRpaJibqGbqHbqIbqJaJDbqLboPbqNboUboUboUboUboUboUbqObqPbqQboYbqRbqSbqTbnnbqUbqVbqWbpfbpgbphbpfbqXbYfaVJbpjbqYbqZbqZbrabrbbrcbrdbrdbrdbrebrdbrfbrgbrhbribrjbrkbnIbrlbpCbrmbrnbrobrpbnIbrqbpFbrrbnMaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaaaaaaaaaaabrsbrtbrubrvbrwbrxbrxbrybrzbrAbgrcedbrCbpPbrDbjpbjpbjpbajbrEbrFbrGbrHbrGbrGbrGbrHbrGbajbajbdPbdPbdPbrIbdPbrJbrJbrJbrJbrJbrJbqfbrKbrLbrMbrNbrObrPbrQbrRbrSbrTbrUbrVbrWbrXbrYbrZaHBbsbbqvbsabsebscbotbosbotaafbsibsjbskbslbsmbsnbskbsobsiaafbedbspbsqbspbedbedbedbsraJibssaRqaRpbXHboJboKbstbsubsvbqLbswbqNbsxbsybszbsAbsBbsCbqObsDbnibsEbsFbsGbsHbnnbsIbqVbpebpfbpgbphbpfbpibYfaVJbpjbsJbsKbsLbsMbplbsNbsObsPbsQbsRbsSbsTbsUbrhbsVbsWbsXbnIbsYbsZbtabtbbtcbtdbnIbrqbpFbtebnMaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaaaaacaaaaaaaaaaaaaaaaaaaaabrsbtfbtgbthbtibtibtibtjbtibtibgrbtkbtlbtmbpPbjpaaaaaaaaaaafaafbtnbtnbtnbtnbtnbtnbtnaaaaaabtobtpbtqbtrbtsbrJbrJbrJbrJbrJbrJbttbtubtvbtwbtxbtybtzbtAbfmbfmbtBbfmbfmbtCbtDbtEbtFbmGbtHbmGbmGbmGbmGbmGbtIbmGaafbtJbtKbtLbtMbtNbtMbtLbtObtPaafbspbtQbtRbtSbtTbtUbspbtVaJlbtWbbmbtXaJibtYbmUbtZbuabubbucbudbuebufbugbuhbuibujbukbulbumbnibnnbunbuobupbnnbuqburbusbutbuubuubuvbuwbYfaXqbpjbuxbplbplbsMbuybuzbuAbuBbuCbuDbuEbuFbuGbrhbuHbuIbuJbnIbuKbuLbuMbtbbpCbuNbnIbpEbpFbuObnMaaaaaaaaaaaaaafbuPbuQbuRbuQbuRbuQbuSaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabuTbeObuUbuUbuVbpHbuWbgnbgobuXbuWbgrbuYbuZbvabvbbjpaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnaaaaaabvcbvdbrJbvebvfbvfbvfbvfbvfbvgbvhbvfbvibvjbvkbvlbvmbvnbvobfmbvpbgGbvqbvrbvsbvtbvubvvbmGbmGbmGbvxbvybvzbvAbvBbvwaafbvDbvIbvHbvJbvKbvMbvNbvObvLaafbspbvPbvQbxnbedbvRbspbvSaJlbvTbcLbvUaJibvVbvWbvXbvYbvZbuccdTcdUbwcbwdbwebwebwfbwgcdWcdVbwjbwkbwlbwmbwkbwkbwkbwkbwnbwkbwkaXKaXKaXKaXKaVJbpjbsJbsKbsLbwobwpbwqbwrbwsbwsbwsbsSbwtbwubwvbwwbwxbwybnIbwzbwAbwBbwCbpCbwDbnIbwEbwFbnMbnMaaaaaaaaaaaaaafbwGbwHbwIbwJbwJbwKbwGaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbwMbwNbwObwPbrJbwQbrJbwRbwRbwRbwSbwTbrKbrJbrJbrLbwUbwVbwWbwXbwYbwZbxabgGbgGbxbbxcbvtbvubxdbxebxfbUbbxhbxibxjbxkbxlbvwaafbxmbqtbskbxobxpbxobskbqxbxraafbspbqwbxtbxubedbxvbspbtVaJlbxwbcLaRpaJibxxbxybxzbxAbxBbxCbxDbxEbxCbxFbxGbxHbxFbwkbxIbxJbwkbwkbxKbxLbxMbxNbxObxPbxQbxRbxSaXKbayaYXaXKaVJbpjbxXbqZbqZbxYbxZbppbyabwsbwsbwsbsSbwtbybbwwbTPbUabTQbwwbyfbygbyhbyibpCbyjbnIbrqbykbnMaaaaaaaaaaaaaaaaafbylbymbwIbwJbwIbynbuRaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbyobypbyobyqbyrbwQbrJbrJbrJbysbrJbwTbrKbytbdPbdPbyubgGbrNbwXbyvbywbyxbyybyybyzbyAbyBbyCbyDbvsbyEbTNbyGbxkbyHbyIbyJbvwaafbxrbxrbyKbtLbyLbskbyMbxrbxraafbyNbyNbyNbyNbyNbyNbyNbyOaJibyPblMblNaJibyQbyRbyRbySbyTbxCbyUbyVbyWbyXbyYbyZbzabwmbzbbzcbzdbzebzfbzgbzgbzhbzibzgbzjbzkbckbaAbcmbclbdQbcnbzrbzsbztbzubzvbzwbppbzxbpqbpqbzybsSbwtbzzbzAbzBbzCbzDbzAbzEbzFbzGbzHbzIbwwbwwbzJbnMbnMbzKbzLbzLbzLbzMbzNbwGbwJbwIbwJbwJbzObwGaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbyobypbyobyqbyrbwQbrJbrJbrJbysbrJbwTbrKbytbdPbdPbyubgGbrNbwXbyvbywbyxbyybyybyzbyAbyBbyCbyDbvsbyEbTNbyGbxkbyHbyIbyJbvwaafbxrbxrbyKbtLbyLbskbyMbxrbxraafbyNbyNbyNbyNbyNbyNbyNbyOaJibyPblMblNaJibyQbyRbyRbySbyTbxCbyUbyVbyWbyXbyYbyZbzabwmbzbbzcbzdbzebzfbzgbzgbzhbzibzgbzjbzkbckbaAboobclbdQbcnbzrbzsbztbzubzvbzwbppbzxbpqbpqbzybsSbwtbzzbzAbzBbzCbzDbzAbzEbzFbzGbzHbzIbwwbwwbzJbnMbnMbzKbzLbzLbzLbzMbzNbwGbwJbwIbwJbwJbzObwGaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaacaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbzPbzQbzPbzRbrJbwQbrJbzSbzSbzSbzSbwTbrKbzTbzUbdPbzVbgGbrNbwXbzWbzXbzYbgGblnbgGbzZbAabAbbAcbAdbyEbTMbAfbxkbxkbxkbAgbvwbAhbAhbAhbxrbAibxpbAibxrbAjbAjbAjbyNbAkbAlbAmbAnbAobApbAqaJibAraRqaRpaJibAsbAtbAubAvbAwbAxbAybAzbAAbABbACbADbAEbAFbAGbAHbAIbAJbAKbAIbALbAMbANbAObnvblUbsdbnwbsgbsfbaAbPObpjbAWbAXbAYbAZbAZbppbBabBbbBcbppbBdbBebBfbBgbBhbBibBjbBkbBlbBlbBmbBnbBobTHbBqbBrbBsbBtbTIbBvbBwbBwbBxbBybBzbuQbuRbBAbuRbuQbBBaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbBCbwNbBDbBEbrJbwQbrJbrJbrJbrJbrJbwTbrKbzTbBFbdPbBGbgGbBHbBIbgGbBJbgFbgGbgGbBKbvsbvtbAbbAcbAdbyEbvwbBLbBMbBNbBMbBObvwbBPbBQbBRbAhbxrbBSbxrbAjbBTbBUbBVbyNbBWbBXbBYbBZbCabCabCbbCcbAraRqaRpaJibCdbCebCebySbCfbxCbCgbChbxCbCibCjbCjbCkbwkbClbCmbwkbwkbwkbwkbwkbwkbCnbwkbwkbwmbCoaXKaXKaXKaXKbSwbpjbwwbzAbzAbzAbzAbzAbzAbzAbzAbzAbzIbCrbCsbCtbBhbCubCvbCwbCxbCxbCxbCybCzbSubCBbCCbCDbCEbTGbCGbCHbCGbCIbCJbzKbzLbzMbCKbzNbCLaaaaafaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbzPbzQbzPbCMbCNbCObrJbrJbrJbCNbrJbwTbrKbzTbCPbdPbCQbgGbrNbwXbgGbqlbCRbgGbgGbCSbxcbvtbAbbCTbxcbCUbvwbCVbCWbCXbCYbxlbvwbCZbDabDbbDcbDdbvFbvEbDgbDhbDibDjbyNbDkbDlbDlbDmbDnbDobDpaJibDqbDrbDsaJibDtbDubDvbDwbDxbDybDzbDAbyWbDBbDCbCjbDDbwmbDEbDFbwmbDGbDHbDIbDJbDKbDLbDMbCpbDNbDObDPbDQbDRbCpbVLbVMbDUbVAbDWbDXbDXbDYbDZbEabEbbEcbEdbEebEfbEabEgbEhbCvbEibEjbEkbwwbwwbwwbwwbwwbElbEmbEnbzKbzMbCJbEobEpbEqbErbEsbEtbEubEvaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -7381,14 +7381,14 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXmbXnbXobXpbRSbXqbXrbRSbXsbNxaaKaaaaaaaaabNybNybNybNybNybNybNFbNFbUDbUEbXtbNFbNFbXubXvbXwbXwbXvbXxbUGbXybXzbXzbXAbWibXBbDtbDtbXCbXDbXEbXFbXGblRbXIbXJbXKbXLbXMbXNbXObXPbXQbXRbXSbXTbXUbznbzpbzobAPbzqbARbAQbATbASbAVbAUbYfbYgbIwbYhbVobCqbWObWNbWPbYmbYnbYobYpbYqbYrbYsbYtbYrbYubYvbILaafbnxbXablSbVBbYxbVBbYybYzbYAbMVbXjbVHbYBbYCbUnaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbKtbLTbLTbLTbLTbLTbLTbTbbLTbXlbLTbLTbLTbLTbLTbKtbKtaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabYDbVQbVQbVRbYEbYFbYGbNxbYHbNxbYIbYJbYKbYIbYIbYLbYMbYNbYObYPbYQbYRbYSbYTbYUbYVbYWbXvbYXbYYbYZbZabZbbZcbZdbZebZfbZgbWibZhbNSbZibZjbZkbZlbZlbZmbnEbZobZpbTJbTJbZqbZrbTJbTJbZsbnCbnybVibZvbWQbZxbZybZzbZybZAbnDbZCbnDbZAbWRbYfbMNbIwbZEbXWbXVbXVbZIbZJbZKbMObMObwwbwwbwwbwwbwwboIbnFbofbwwbMVbMVbMVbMVbMVbUkbMVbMVbMVbMVbMVbZObZPbZQbZRbUnaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabKtbKtbRLbLTbLTbLTbLTbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaambZSaamaamaamaamaamaaaaaaaaaaaaaaaaaaaafaafaaabZTbZUbZUbZUbZVbZUbZUbZWbZXbYIbZYbZZbYIcaacabcaccadcaecafcagcahcaicajcakcalcambXvbYXcancaobZacapbUGcaqcaqcaqcaqcaqcarbNSbDtcascatcaucavcawcaxcaycazbTJcaAcaBcaCcaDcaEcaFcaGcaHcaIbZxbWQcaJbZycaKcaLbZAcaMcaNcaObZAbXXbYfbPObIwbXYbYabXZbXYbXYbIwbIwbIwcaRcaScaTcaUcaVbwwbwwcaWbwwbwwcaXcaYcaZcbabXjcbbbXjbXjcbccbdcbecbfcbgcbhbUnbUnbUnaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbKsbKtbUubUsbUsbLTbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafcbicbjcbkcblcbmcbncbocbpcbqbYIcbrcbsbYIbYIcbtcbucbvcbwcbxcbycbzbYSbYTbYUcbAcbBbXvbXvcbCcbDbXvcbEbUGcbFcbGcaqcbHcaqbTFcbIcbIcbIcbIcbIcbIcbIbTJcbJcbKbTJcbLcbMcbNcbOcaEcbPcbQcbRcaIbZxbWQbZxbZycbScbTbZAcbUcbVcbWbZAbXXbYfbYbbYdbYcbYibYebYjbYcchBbYkbYlcktbZDbZwbZFcktccrbZGbZHccqccrccscctcctcctcctccucctcctcctcctcctccvccwccxccycczbUnbUnbUnbUnaaaaafaaaaaaaaaaahaahaahaafaaaaaaaafaaaaaaaafaaaaaabOPbKtbNdbKtbKtbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafcbicbjcbkcblcbmcbncbocbpcbqbYIcbrcbsbYIbYIcbtcbucbvcbwcbxcbycbzbYSbYTbYUcbAcbBbXvbXvcbCcbDbXvcbEbUGcbFcbGcaqcbHcaqbTFcbIcbIcbIcbIcbIcbIcbIbTJcbJcbKbTJcbLcbMcbNcbOcaEcbPcbQcbRcaIbZxbWQbZxbZycbScbTbZAcbUcbVcbWbZAbXXbYfbYbbYdbYcbYibqMbYjbYcchBbYkbYlcktbZDbZwbZFcktccrbZGbZHccqccrccscctcctcctcctccucctcctcctcctcctccvccwccxccycczbUnbUnbUnbUnaaaaafaaaaaaaaaaahaahaahaafaaaaaaaafaaaaaaaafaaaaaabOPbKtbNdbKtbKtbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafccAccAcbkccBccCcbnccDccEccFbYIccGccHccIccJccKccLccMccNccOccPccQccRbTyccSccTccUccVccWccXccYccZcdacdbcdccddaJEcdfcaqbTFcbIcdgcdhcdicdjcdkcdlcdmcdncdocdpcdqcdrcdscdtcaEcducdvcdwcaIbZxbWQbZxbZycdxcdybZAcdzcdAcdBbZAcaPbYfbYfcaQbYccbYcbXcbZbYcchBccacjfcdLcdLbyFbBucdLcdOcdPcdQcdRcdOcdSbBpbyebydcdScdScdScdSbAebyebydcdScdSbXjcdXcdYcdZceacebcecbxTbycbycbycbycbycbycbycbycbycbycbycbycbycbycbycbyccefcegcegcehbKtbKtbLTbLTceibLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacejcejcejcejcejcejcejcekcelcemcemcemcemcemcenceocepcepcepceqcerbYSbYTbYUcesbYWcetceucevcewcexceybUGcezaJFboqaJFcaqbTFcbIceDceEceEceEceFceGbTJceHceIbTJcbLcbNceJcbOcaEceKceLceMcaIbZxbWQceNbZyceOcePbZAbZAbZAbZAbZAccbceRbYfcaQbYcccdcccbYcbYcchBccecjfcdLceZcfacfbcfccdOcfdcfecffcdOcfgcfhcfhcfhcficfjcfkcflcfmcfncfocfpcdScfqcfrcfsbUnbUnbUnbUnaaaaafaaaaaaaaaaahaahaahaafaaaaaaaafaaaaaaaafaafaafcftcfucfvbNebKsbKtbKtbLTbLUbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaafaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafcejcfwcfxcfycfzcfAcejcfBcfCcfDcfEcfFcfGcfHcfHcamcfIcfIcfJcfKcbzbYSbYTbYUcfLcamcfMcfNcfOcfPcfQcfRbUGaJFaJFcaqceBcaqbTFcbIcfVcfWcfWcfWcfXcbIcfYcfZcgacfYcgbcgccgdcgecaEcgfceLcggcaIcghccfcgjbZycgkcglbZycgmbLvbVicgnccgcchbYfccjcciccicckcclcclcclcclccmcdLcgxcgycgycgzcgActsctyctscgDcgEcgFcgGcgGcgHcgIcgIcgJcgKcgLcgLcgMcdScgNcgOcgPcgNaaaaaaaaaaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafcgQbKqbKqbKrbKsbKsbKtbKtbKtbKtbKuaafaafaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaafaafaafcgRcgRcgRcgRcgRcgRcgRcgRcgRcgRcgRcgRcgRaaaaaacgScgTcgTcgTcgUcgVcejcgWcgXcgYcgZchachbchcchdchechfchgchhchichjchkchlchmchnbNFbUGbUGbUGbUGbUGbUGbUGbEZbGDcaqbDfcaqbTFcbIcbIctpctqctrcbIcbIchrchschtcfYcaEcaEcaEcaEcaEcaIchuchvcaIchwccnchwbZychychzbZychAchBbVichCbVichDbYfccobYfbYfccpcdCcdCcdCcdDbYfcdLchIchJchJchKchLchMchNchOchPchQchRchSchTchUchVchWcgIcgIcgIchXchYcdSchZciacgtcgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaaaaaaaaaaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaafaafaafcgRcgRcgRcgRcgRcgRcgRcgRcgRcgRcgRcgRcgRaaaaaacgScgTcgTcgTcgUcgVcejcgWcgXcgYcgZchachbchcchdchechfchgchhchichjchkchlchmchnbNFbUGbUGbUGbUGbUGbUGbUGbEZbGDcaqbDfcaqbTFcbIcbIctpctqctrcbIcbIchrchschtcfYcaEcaEcaEcaEcaEcaIchuchvcaIchwccnchwbZychychzbZychAchBbVichCbVichDbYfccobYfbYfccpcdCcdCcdCcdDbYfcdLchIchJchJchKchLchMchNchOchPchQchRchSchTchUchVchWcgIcgIcgIchXchYcdSchZciabYecgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaaaaaaaaaaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacgRciccidciccgRciecifciecgRcigcihcigcgRaaaaaaciicgTcgTcgUcgUcijcejcikcilcemcimcinciocipciqcirbQJbQJcisbQJcbzbYScitbYUciucivciwcixciycixcixceTceUceUciAciAciAciAbTFciGciHciIciIciJciKciLciMciXciOciPciQciRciSciSciTciUcaIcaIcaIciVcdEckqbZybZybZybZychBchBbViciYbViciZbYfccobYfaaaaaaaaaaaaaaaaaaaaacdLcjgcjhcjhcjicjjcjkcjlcjmcjncjocjpcjqcgIcgIcjrcjscgIcjtcgIchXcjucdScjvcjwcjxcgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacgRciccjyciccgRciecjzciecgRcigcjAcigcgRaaaaaaciicgTcgUcgUcgUcjBcjCcjDcjEcemcjFcjGcjHchHchGcivcjKcjLcjMcjNcbzbYScjOchmcjPcjQcjRcjScjScjSbJmbHPcjScjSceCcdeceAciAbTFciGckaciIckbckcckdcubckfckgckhctQckjckkcklciSckmciUcknckockpclicdFcdHcdGcdIcdIcdJcdIcdKbVibVibVibVibYfccobYfaaaaaaaaaaaaaaaaaaaaacdLckCckDckDckDckEcdOckFcdOckGckHckIckJckJckKckLckLckMckJckJckNckOcdSckPckQckRcgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacgRcvkckTcvjcgRcvickWcvhcgRcusckZcudcgRaaaaafciiclbcgTcgUcgUcgUcejclccldcleclecnIclecleclecleclgbQJclhcltcbzcljclkcllclmclncgicgocgocgocgrcmScmScgpciAcgucgqclwclxciGclyciIclzclAclBclCclDclEclFclGclHclIclJciSclKciUclLclMclNclOclPclQclNclRclSclTbYfceQcdIcdIcdIcdIcdIceSbYfaaaaaaaaaaaaaaaaaaaaacdLcmacmbcmccmdcdOcmecmfcmgcdScmhcmicmicmicmjcmkcmlcmmcmicmicmicmncdScmocmpcmqcmraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacgRcvkckTcvjcgRcvickWcvhcgRcusckZcudcgRaaaaafciiclbcgTcgUcgUcgUcejclccldcleclecnIclecleclecleclgbQJclhcltcbzcljclkcllclmclncgicgocgocgocgrcmScmScgpciAcgtcgqclwclxciGclyciIclzclAclBclCclDclEclFclGclHclIclJciSclKciUclLclMclNclOclPclQclNclRclSclTbYfceQcdIcdIcdIcdIcdIceSbYfaaaaaaaaaaaaaaaaaaaaacdLcmacmbcmccmdcdOcmecmfcmgcdScmhcmicmicmicmjcmkcmlcmmcmicmicmicmncdScmocmpcmqcmraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaafaafcgRcmscmtcmucgRcCpcmtcmwcgRcCpcmtcmwcgRaaaaafcmzcgTcgTcgUcgUcmAcejcmBcmCcmDcmEcmFcmGcmHcmHcmIcmJcmHcmKcmLcbzcmMcmNcmOcmPcivcmQcmQcmRcmSceYceXceWceWciAcibceVcfUcqgciGcnbciIcnccndcneciGcnfciNcngcfYcnhcnicnjciScnkciUclLclMclNcnlcnmcnlclNaaaaaaaaabYfbYfbYfcnnclSclSclTbYfbYfaaaaaaaaaaaacdOcdOcdOcdOcdOcdOcdOcdOcdOcnocnpcnqcdScdScnrcnscntcdScdScdScdScnucnscntcdScdScnvcnwcnvaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabZSaafaafaafaaaaafcnxaafcnxaafcKBaafcKAaafcKBaafcKAaafaafaaacejcnAcnBcgUcgUcnCcnDcnEcnFclecnGcnHcleclecqUcleclecnJcivclecnKcnLcnMcnNcnKclecnOcnOcnOcsQcvzcnOcnRcnRcgscgscgscgscnSciGcnTcnUcnccnVcnWciGcnfciNcnXciUcnYcnZcnjcoacobciUclLclMclNcoccodcoeclNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaacdOcofcogcohcwlcojcokcolcomconcoocopcoqcwkaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaafcoscotcosaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaafcoucovcowcoxcowcovcKvcoxcqWcrScKvcoAcrTcrUcoBcoCcoCcoCcoCcoCcoCcoCcoCcoDcoEcoFcoGcoHcoIcvscoKcoLcoMcoNcoOcoPcoMcoQcoRcoScnOcoTcoUcoVcoWcoXcoYcnOcoZcoZcpacpbcpbcnRbTFciGciGcpccpdciGciGciGcpeciNcpfciUciUciUcpgcphciUciUclLcpiclNcvmcvncvmclNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaafaafcdOcplcpmcplcvlcpocppcpqcomcomcprcomcdOcdOaaaaaaaaaaafaafaaaaacaaaaaaaaaaaaaafaaacvtaaaaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -7402,7 +7402,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacptcpucpucpucpucpucyocpucpucpucyocpucpucpucpucpucrRcpucpucrWcGmcxpcuecuecxpcykcxpcIBcIAcIDcuecqVcuecxAcxBcIEcwwcoQcxDcoQcxEcxFcoXcoXcxGcoXcxHcnOcxIcxIcxJcwFcwGcnRbPxcvMcvNcxKcxLcxMcxNcxOcxNcxPcvNcxQcxRcrGaaaaaaaaaaaaaaaaaacqvcxScxTcxUcxVcxWcxXcxYcxZcuTcyacuScybcuTcyccuVcqvcqvcqvaaaaaacdOcplcpmcplctbcpocppcrNcrNcyecyfcrNcygcomcomcomcdOaaaaaacrPaaactXctXctXctXctXaafckxaafctXctXctXctXctXaafcrPaaaaaaaaaaaaaaaaaaaaaaaacyhaaaaaaaaacyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaaaaaaaaacptcpucqScqPcqPcxwckucqPcxwcqPckscxwcqPcqPcqPcqPcxvcqPcrXcxucqQcvpcpucpucyvcwscywcxtcyycyzcpucsbcpucxqcxqcxrcyGcoQcxDcyHcnOcyIcoXcyJcoXcyKcyLcnOcnRcnRcnRcnRcnRcnRbPxcvMcvNcyMcyNcxLcyOcxLcxNcyPcvNcyQcyRcrGaaaaaaaaaaaaaaaaaacqvcuVcySctFctFcyTcyUcyVcyWctMctDctNcyXctMctDcyYcqvaaaaaaaaaaaacdOcplcplcplckXcyZczacrNcrNcrNcyfcrNczbcrNczccrNczdaafaafcrPaafckVckSckSckSckSckyckxckwckvckvckvckvckUaafcrPaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaaaaaaaaacptcpucymcpucpucpucyocpucpucpucyocpucpucpucpucpucrRcpucywcpucyncvpcpucpucylcykcuhcyjcoCctdcoCcoCcpucyiczBcxCcyGcoQcxDcoQcnOckYczEczFczGczHcoXcnOczIczJczJczKczLczMczNczOcvNcxNczPczQcxNczRczSczTcvNczUczVcrGaaaaaaaaaaaaaaaaaacqvczWcuMczXcuVczYczZcAactFcAbcAccsPcyXczWcAdcAecqvaaaaaaaaaaaackEcdOcAfcAgcAgcAhcAicAjcAkcAlcAmcAncAocApcAqcokcAraaaaaacrPaafcwjcwjcwjcwjcwjaaackxaafcwjcwjcwjcwjcwjaaacrPaaacyhaaaaaacyhaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaacyhaaaaaacyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaacyxcpucymcpucqKcqMcyucqMcuacqMcyucqMcuacqMcqMcqMcyqcytcyqcyscyrcuhcyBcyCcACcADcAEcAFcoCclacnzcoCcoCcoCcoCcoCcAIcAJcAKcAJcnOcnOcnOcnOcnOcnOcnOcnOcALczJczJcAMcANcAObPxcAPcvNcAQcARcAScATcAUcAVcAWcvNcAXcAYcrGaaaaaaaaaaaaaaaaaacqvcuQcAZcAectFcBacBbcBcctFcBdcBecBfcBgcBhcBicBjcqvaafaafaaaaaaaaaaaabquaaacdOcBlcBmcBncBocBpcBmcBqcBrcBpcBmcBscdOaaaaaabZSaaaaafaaaaafaaaaafaaackxaaaaafaaaaafaafaafaafcrPaaacyhcyhcyhcyhaaacyhcyhcyhcyhcyhcyhcyhcyhcyhaaacyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaacyxcpucymcpucqKcqMcyucqMcuacqMcyucqMcuacqMcqMcqMcyqcytcyqcyscyrcuhcyBcyCcACcADcAEcAFcoCclacgucoCcoCcoCcoCcoCcAIcAJcAKcAJcnOcnOcnOcnOcnOcnOcnOcnOcALczJczJcAMcANcAObPxcAPcvNcAQcARcAScATcAUcAVcAWcvNcAXcAYcrGaaaaaaaaaaaaaaaaaacqvcuQcAZcAectFcBacBbcBcctFcBdcBecBfcBgcBhcBicBjcqvaafaafaaaaaaaaaaaabquaaacdOcBlcBmcBncBocBpcBmcBqcBrcBpcBmcBscdOaaaaaabZSaaaaafaaaaafaaaaafaaackxaaaaafaaaaafaafaafaafcrPaaacyhcyhcyhcyhaaacyhcyhcyhcyhcyhcyhcyhcyhcyhaaacyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabZSaaaaaaaaaaaaaamaaaaaaaaacyDcpucymcpucywcwscymcpucywcwscymcpucywcwscpucpucyvcpucywcwscyEczfczhczecBBcBCcBDcBEcoCcyFcBGcvqcBIcBJcBKcBLcBMcBKcBNcBKcBOcBPcBQcBRcBScBScBTcBUcBVcBWcBWcBXcBYcAObPxcBZcvNcvNcCacCbcCccCbcCacCdcvNcrGcCecrGaaaaaaaaaaaaaaaaaacqvctFcCfcuVctFcCgcChcCictFcCjcCkcqycgvcCmcCncCocrHaaaaaaaaaaaaaaaaaacgwaafcdOcCqcluclUcomclsclpclqcomcloclVclWcdOaaaaaacrPaaactXctXctXctXctXaafckxaafctXctXctXctXctXaafcrPaaacyhcyhcyhcyhaaacyhcyhcyhcyhcyhcyhcyhcyhcyhaaacyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaafaafaafaafaamaafaafaafcyDczwczAczyczgczsczqczpczkcznczmczlczoczscpuczwczvczuczrczncztcoCcoCcoCcCzcCzcCzcCzcCzcvrcCzcCBcCCcCDcCEcCFcCEcCEcCGcCEcCEcCHcCEcCDcCIcCJcCKcCLciCcCNcCOcCPcCQcAObPwcCRcCScCTcCacAGcAVcBwcCacCWaafcCXcCYcCXaaaaaaaaaaaaaaaaaacqvcCZctDcuQcDacDbcuQcDccDdcDeaafaaachxchFchEclXaaaaaaaaaaacaaaaaaaaaaaaaaacdOcDhcplcplcomcDicplcplcomcDicplcplcdOaafaafcrPaafckVckSckSckSckSckyckxckwckvckvckvckvckUaafcrPaaacyhcyhcyhcyhaaacyhcyhcyhcyhcyhcyhcyhcyhcyhaaacyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPcpFaaaaaaaaaaamaaaaaaaaacAzcAvcAwcAxcAycABcAAcAHcAycABcAAcAHcAycABcBucBucBvcAHcAycABcBtcoCaaacDvcDwcDxcDycDzcDAcAucDCcDDcDDcDEcDFcDGcDHcDIcDJcDHcDIcDGcDKcDLcDMcDKcCBcCBcAOcDNcDOcDPcDQcAObNUcDRcDScDTcCacCbcDUcCbcCacCWaafaaaaafaaaaaaaaaaaaaaaaaaaaacqvcCZcDVcDWcDXcDXcDWcsPcDYcqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacdOcDZcplcplcomcEacplcplcomcEacplcplcdOaaaaaacrPaafcwjcwjcwjcwjcwjaaackxaaacwjcwjcwjcwjcwjaaacrPaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -7410,15 +7410,15 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaafaafaaaaaaaaqaaaaaaaaaaafcgRcCpcmtcmvcgRcCpcmtcmvcgRcCpcmtcmxcgRaaacgRcmycmtcmxcgRaaaaafaaacEicEQcERcEScEQcCAcDBcEUcDDcEVcEWcEXcEscEYcEZcFacFbcFccEscFdcFecFfcDKaaaaaacAOcFgcFhcFiaaaaaabNUbPxbPxbNUcCacmUcmUcmUcCacFkcmWaaaaaaaaaaaaaaaaaaaaaaaaaaacqvcFmcFncuQcuQcuQcuQcuQcFocqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaackEcdOcdOcdOcdOcdOcdOcdOcdOcmYcmYcmYckEaaaaaacrPcrPcrPcrPcrPaaaaaaaaacmZaaaaaaaaacrPcrPcrPbZScrPaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaaaaafaafaaaaamaaaaaaaaaaafcgRcgCcDkcgBcgRcjbcDncjacgRciWcDqchqcgRaafcgRchpcDtchocgRaaaaafaaacEicFrcEkcEQcEQcqZcqXcFucFvcFwcFxcFycFzcFAcFBcFCcFDcFEcFFcFGcFHcFIcDKaafaaacFJcDNcFKcAOcFLaaabNUcFMbPxcFNcFOaafaafaafaaacBkaafaafaaaaaaaaaaaaaaaaaaaaaaaacrHcqvcqvcFPcFQcEIcEIcEIcFRcFPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqpbqpbqpaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaafcfTaafcrPaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaamaaaaaaaafaafcgRcEbcEccEbcgRcEdcEecEdcgRcEfcEgcEfcgRaaacgRcEfcEfcEhcgRaaaaafaaacEicFUcEkcEScEQcEncrVcEocDDcFWcFXcFYcEscFZcGacGbcGacGccEscGdcGecGfcDKaaLcGgcGgcGgcGgcGgcGgcGgbNUciEciDcGjaafaaaaaaaafcGkcDfaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacGlcEJcEJcEJcEJcEJcGlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaaaaafaaacrPaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaafaamaaaaafaafaaacgRcEbcENcEbcgRcEdcEOcEdcgRcEfcEPcEfcgRaafcgRcEfcEfcEfcgRaafaafaafcGncGocGpcGqcGrcGscsacEocDDcoycGvcGwcEscGxcpwcoJcpxcGBcEscGCcGDcGEcDKaaacGgcGgcGgcGgcGgcGgcGgcGFcGGcGHbNUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacqvcCmcqxcqxcqxcCocqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPcrPcrPcrPcrPaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaafaamaaaaafaafaaacgRcEbcENcEbcgRcEdcEOcEdcgRcEfcEPcEfcgRaafcgRcEfcEfcEfcgRaafaafaafcGncGocGpcGqcGrcGscsacEocDDcnzcGvcGwcEscGxcpwcoJcpxcGBcEscGCcGDcGEcDKaaacGgcGgcGgcGgcGgcGgcGgcGFcGGcGHbNUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacqvcCmcqxcqxcqxcCocqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPcrPcrPcrPcrPaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbZSaaaaaacgRcgRcgRcgRcgRcgRcgRcgRcgRcgRcgRcgRcgRaaacFqcgRcgRcgRcgRaaaaaaaaaaaacCzcCzcCzcCzcCzcsccGJcGJcGJcGJcGKcGJcjIcjdcjecjdcjccGJcGJcGPcGJcGJcGJcGgcGgcGgcGgcGgcGgcGgaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaacyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafcrPaaaaaaaafaafaaaaafaafaaaaaaaafaafaafaaaaaaaaaaaaaaaaaaaafaaacGQcGRcGRcGRcGScGTcGUcsecsfcsgcshcGZcpzcpycpCcpAcqIcHfcsZcsYctacHgcHicHjcHkcsVcHIcGJcGgcGgcGgcGgcGgcGgcGgaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafcrPaaaaaaaafaafaaaaafaafaaaaaaaafaafaafaaaaaaaaaaaaaaaaaaaafaaacGQcGRcGRcGRcGScGTcGUcsecsfcsgcshcGZcpzcpycpCcpAcoycHfcsZcsYctacHgcHicHjcHkcsVcHIcGJcGgcGgcGgcGgcGgcGgcGgaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafcHncjVcHpaaacHncjVcHpaaacHncjVcHpaafaafaaaaafaafaafaafaafcHqcGRcGRcGRcGScGTcHLctfcHtctecjTcjUctkcjJcucctZcHzcIwcHjctccHjcHjcHjcHjcugcHZcIacGJcGgcGgcGgcGgcGgcGgcGgaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaacHncjWcHpaaacHncjWcHpaaacHncjWcHpaafaafaaaaafaaaaaacHKaafcGQcGRcGRcGRcGScGTcHLcHMcHNcjXcjYcjUcwpcwocwqcufcHjcHjcxocwucyAcHjcHjcHjcugcHZcIqcGJcIbaafaaIaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafcHncjWcHpaaacHncjWcHpaafcHncjWcHpaafaaaaaaaafaafcIcaaaaafcHqcGRcGRcGRcGScGTcwmcIecIfcrQckickrcBzckecBHcBAcnycnycpDcImcEMcIocIocIocpBcHZcFScGJaaaaaaaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaacHncjWcHpaafcHncjWcHpaaacHncjWcHpaaaaaaaaaaaaaafaafaaaaafaaaaaaaaaaaaaafcIrcGVcIscItcIucLacGZcIwcHjcFscETcKYcLbcvocIycKUcKVcKYcKZcKXcHZcFScGJaaaaaaaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaamaaIaafaaacHncjWcHpaafcHncjWcHpaaacHncjWcHpaafaaaaaaaaaaaaaafaafcIJcIKcIKcIKcIKcILcILcILcILcILcIMcILcGJcHjcHjcINcGJcGJcGJcujczDcIQcGJcGJcGJcIRcIScHzcGJaafaaabZSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaafaaaaafaafczCaafaafaafczCaafaaaaafczCaafaaaaaaaaaaaaaaacIUcIVcIWcIXcIYcFTcJacJbcJcciFcJecJfcJgcJecGJcJhcHjcJicxscJkcJlczzcJnczjcJlcJpcxscJqcHjcJrcGJaaaaaaaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaafaaaaafaafczCaafaafaafczCaafaaaaafczCaafaaaaaaaaaaaaaaacIUcIVcIWcIXcIYcqIcJacJbcJcciFcJecJfcJgcJecGJcJhcHjcJicxscJkcJlczzcJnczjcJlcJpcxscJqcHjcJrcGJaaaaaaaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafcydcxzcxycxxcxxcxxcxxcxxcxxcxxcxxcxxcxxcxxczicxzcxzcxzcypcJzcJAcJBcJCcJDcJEcJFcJGcJHcJHcJHcJIcJJcJKcGJcHjcHjcJicxscJkcJLcJMcJNcJOcJLcJpcxscJqcHjcJPcGJaaaaaaaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYaaactYctYctYctYctYaaactYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaafaaaaafaafcxfaafaaaaafcxfaafaaaaafcxfaafaaaaaaaaaaaaaaacIUcIVcJRcJScJTcJUcIKcJVcJWcJecJecJXcJXcJYcGJcHjcHjcJZcxscJkcKacJMcKbcKccKacJpcxscKdcHjcHjcGJaaaaaaaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYaaactYctYctYctYctYaaactYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaamaaIaafaafcHncwrcHpaaacHncwrcHpaaacHncwrcHpaafaaaaaaaaaaaaaafaafcKfcIKcIKcIKcIKcKgcKhcKicKicKjcKgcKgcGJcGJcGZcGJcGJcGJcGJcGJcwDcGJcGJcGJcGJcGJcGZcGJcGJaafaafaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa diff --git a/maps/exodus-4.dmm b/maps/exodus-4.dmm index d0a2adf82a8..093f4724a20 100644 --- a/maps/exodus-4.dmm +++ b/maps/exodus-4.dmm @@ -88,7 +88,7 @@ "bJ" = (/turf/simulated/floor/airless{tag = "icon-gcircuit"; icon_state = "gcircuit"},/area/constructionsite/ai) "bK" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/machinery/power/solar{id = "construction_solar"; name = "Construction Solar Array"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/djstation/solars) "bL" = (/obj/item/weapon/extinguisher,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/djstation) -"bM" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/machinery/power/smes/buildable{charge = 2e+006},/turf/simulated/floor/plating,/area/djstation) +"bM" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/machinery/power/smes/buildable{charge = 2e+006; RCon_tag = "Outpost - Engineering"},/turf/simulated/floor/plating,/area/djstation) "bN" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/plating,/area/djstation) "bO" = (/obj/structure/table,/obj/item/clothing/head/helmet/space/void/engineering,/obj/item/clothing/suit/space/void/engineering,/turf/simulated/floor/plating,/area/djstation) "bP" = (/obj/machinery/driver_button{id = "constructiondriver1"; name = "Construction Driver #1"; pixel_x = 25; pixel_y = 7},/turf/simulated/floor/plating,/area/djstation) diff --git a/maps/exodus-5.dmm b/maps/exodus-5.dmm index 94c371d1eb0..80f797feae0 100644 --- a/maps/exodus-5.dmm +++ b/maps/exodus-5.dmm @@ -277,7 +277,7 @@ "fq" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{dir = 4; icon_state = "whiteyellow"},/area/research_outpost/hallway) "fr" = (/obj/machinery/power/port_gen/pacman{anchored = 1},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/light/small{dir = 1},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0},/turf/simulated/floor/plating,/area/research_outpost/power) "fs" = (/obj/machinery/power/port_gen/pacman{anchored = 1},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/sign/nosmoking_1{pixel_y = 32},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/plating,/area/research_outpost/power) -"ft" = (/obj/structure/sign/electricshock{pixel_x = 32},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/smes/buildable{capacity = 1e+007; charge = 1e+007; cur_coils = 2; input_attempt = 1; input_level = 500000; output_level = 500000; RCon_tag = "Research Outpost"},/turf/simulated/floor/plating,/area/research_outpost/power) +"ft" = (/obj/structure/sign/electricshock{pixel_x = 32},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/smes/buildable{capacity = 1e+007; charge = 1e+007; cur_coils = 2; input_attempt = 1; input_level = 500000; output_level = 500000; RCon_tag = "Outpost - Research"},/turf/simulated/floor/plating,/area/research_outpost/power) "fu" = (/obj/machinery/power/terminal{dir = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/plating,/area/research_outpost/power) "fv" = (/obj/machinery/light/small{dir = 8},/obj/structure/transit_tube{icon_state = "D-SE"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored) "fw" = (/obj/structure/transit_tube{icon_state = "N-SW"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored) @@ -812,6 +812,7 @@ "pF" = (/obj/machinery/door_control{id = "riso3"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 0; pixel_y = -25; req_access_txt = "0"; specialfunctions = 4},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/pipe/simple/hidden/yellow{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/turf/simulated/floor,/area/research_outpost/iso3_access) "pG" = (/obj/structure/table,/obj/item/device/flashlight/lamp,/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/research_outpost/iso1) "pH" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/yellow,/turf/simulated/floor,/area/research_outpost/iso3_access) +"pI" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/smes/buildable{capacity = 1e+007; charge = 1e+007; cur_coils = 2; input_attempt = 1; input_level = 250000; output_level = 250000; RCon_tag = "Outpost - Mining"},/turf/simulated/floor/plating,/area/mine/living_quarters) "pJ" = (/obj/structure/table,/obj/item/device/flashlight/lamp,/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/research_outpost/iso2) "pM" = (/obj/structure/table,/obj/item/device/flashlight/lamp,/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/research_outpost/iso3) "pN" = (/obj/structure/transit_tube{icon_state = "D-SE"},/turf/simulated/wall/r_wall,/area/research_outpost/maintstore2) @@ -1363,7 +1364,6 @@ "An" = (/obj/machinery/light/small,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/mine/west_outpost) "Ao" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/ore_box,/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 2},/area/mine/explored) "Ap" = (/obj/structure/ore_box,/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 6},/area/mine/explored) -"Aq" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/smes/buildable{capacity = 1e+007; charge = 1e+007; cur_coils = 2; input_attempt = 1; input_level = 250000; output_level = 250000; RCon_tag = "Mining Outpost"},/turf/simulated/floor/plating,/area/mine/living_quarters) "Ar" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/mine/living_quarters) "As" = (/obj/machinery/atmospherics/pipe/manifold/hidden/cyan{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/obj/item/weapon/storage/box/lights/mixed,/turf/simulated/floor/plating,/area/mine/living_quarters) "At" = (/obj/machinery/power/terminal{icon_state = "term"; dir = 1},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/mine/living_quarters) @@ -1562,7 +1562,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqL aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLbkbkabesgygytStStStStSwOwPwQtStSwRtStStStSAeufgygygygygyxugygygygyesgyesesababababababababababesesgygygyxugygygygygygygygypBpCgygygygyxugygygygygyesesmResesabtqtqtqtqwSwTwUvvvvvvwVwWwXwYwXwZxaxbxcwXxcxdxdxdxdxdxdxdxdxexexexexexexexfxgxfxhxgxiwCxjxkxlxmxnvVxoxpxqpCgygygygyesesababbkbkbkbkbkabababbkbkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqLqLbkbkabesesgygygygygytSxrxsAjAktSowAfAhowowAeufgysMgygygyAbxNxNxMgygygygyesababababababababababesgygyAcxNAdgygygygyesgygysMgygygygygygyxugygygygygygygytGgyesesesesestquYuZuYuYuYuYxwuZxxxyuYxzuYxAxBubucxCxCxCxCxCxCxCxCxDxDxDxDxDxDxEvAwzxFxGwCxHwCxIvzvzvzvzvzvzvzvzuDuDxJuDqFmQesababbkbkbkbkababababbkbkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabkbkabesesgygygygytSxKxLAnAmAlzozozozozoAoApesmResgygygygygyxugygygygygyesabababababesesesesesgyAcAdgygygyesesesesesesmRgygygygygygyxugygygygygygygygygygygyesestqtqxOxPxOtqtqxQxRxStqtqxOxTxOtqxUgygygyaaaaaaaaaeaaaaaaaeaaaaaaaaaaaeaaxVvBwCxWxXxYxZyayaybvzycydyeyfyfyfyfqFgyesababbkbkbkbkabababbkbkbkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabkbkbkabesesgygygytStStStStStSgygyesesesesesesabesesgygygygyxugygygygygygyesesesesesesgygygygygyxugygyesesesabababababesgygygygygygyxugygygyrJrigygygygygygygyestqygyhyiyhtqAqArylAsyntqyoypyqtqgygygygygygyaaaaaeaaaaaaaeaeaeaeaeaeaeaeaevzyrysytvzvzvzvzyuvzyvvzvzywqFqFqFqFgyesababbkbkbkababbkbkbkbkbkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabkbkbkabesesgygygytStStStStStSgygyesesesesesesabesesgygygygyxugygygygygygyesesesesesesgygygygygyxugygyesesesabababababesgygygygygygyxugygygyrJrigygygygygygygyestqygyhyiyhtqpIArylAsyntqyoypyqtqgygygygygygyaaaaaeaaaaaaaeaeaeaeaeaeaeaeaevzyrysytvzvzvzvzyuvzyvvzvzywqFqFqFqFgyesababbkbkbkababbkbkbkbkbkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabkbkababesgygygygygygygygygygygyesabababababababesesgygygyAbxNxNxNxMgygygygygygygygygygygygygyxugyesesabababababababesesgygygygygyAbxNxNxNzpyjxNxNxNxMgygygygytqyxyyyzyAtqAtyCyDyEAutqyFyGyHtqgygygygygygyaeaeaeaeaeaeaeyIyIyIyIyIaeaaaavzyJyKwCyLyMyNyayayOyaybvzgygygygygyesesababbkbkabababbkbkbkbkbkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabkbkbkabesgygygygygygygygygyesesesababababababababesesesgygygygygyAbxMgygyrJrigygyAcxNxNxNxNxNAdgyesababababbkbkbkababesesesgygygygygygygypBpCgygygyxugygygygytqtqtqtqtqtqyPyQyRySyntqxOyTxOtqgygygygygygyaaaaaeaaaaaaaeyIyIyIyIyIaeaavOvBwCyUyVvzvzvzvzvzvzyWyXvzgygygygygyesababbkbkbkababababbkbkbkbkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabkbkbkbkesesesesgygygygyesesesababababababababababababesesesgysMgygyAbxNxNzpyjxNxNAdgygygygygygygyesabababbkbkbkbkbkabababesesesesgygygygygygygygygyAbxNxNxMgygygygygygytqtqtqtqtqtqtqowyYufyZgygygygygyaaaaaaaeaaaaaaaeyIyIyIyIyIzawzzbzczdzezfzgzhzizjzkzlzmyXvzgygygygyesesababbkbkababababbkbkbkbkbkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa From 50064d86b3a865b6fbd671f61872eea9c9346277 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Thu, 5 Feb 2015 11:54:51 +0100 Subject: [PATCH 009/143] Corrects ATM Machine syndromes. --- code/game/machinery/computer/RCON_Console.dm | 4 ++-- code/modules/power/smes.dm | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/code/game/machinery/computer/RCON_Console.dm b/code/game/machinery/computer/RCON_Console.dm index e1ecdb28d2f..7ab0a135f10 100644 --- a/code/game/machinery/computer/RCON_Console.dm +++ b/code/game/machinery/computer/RCON_Console.dm @@ -5,7 +5,7 @@ // Allows remote operation of electrical systems on station (SMESs and Breaker Boxes) /obj/machinery/computer/rcon - name = "\improper RCON remote control console" + name = "\improper RCON console" desc = "Console used to remotely control machinery on the station." icon = 'icons/obj/computer.dmi' icon_state = "ai-fixer" @@ -61,7 +61,7 @@ ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) - ui = new(user, src, ui_key, "rcon.tmpl", "RCON Control Console", 600, 400) + ui = new(user, src, ui_key, "rcon.tmpl", "RCON Console", 600, 400) ui.set_initial_data(data) ui.open() ui.set_auto_update(1) diff --git a/code/modules/power/smes.dm b/code/modules/power/smes.dm index 18aa6b4885f..8d596794745 100644 --- a/code/modules/power/smes.dm +++ b/code/modules/power/smes.dm @@ -313,7 +313,7 @@ if (!ui) // the ui does not exist, so we'll create a new() one // for a list of parameters and their descriptions see the code docs in \code\modules\nano\nanoui.dm - ui = new(user, src, ui_key, "smes.tmpl", "SMES Power Storage Unit", 540, 380) + ui = new(user, src, ui_key, "smes.tmpl", "SMES Unit", 540, 380) // when the ui is first opened this is the data it will use ui.set_initial_data(data) // open the new ui window From 41816c26bfa49b016dd87034a95ca23e91561b05 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Fri, 6 Feb 2015 00:03:09 -0500 Subject: [PATCH 010/143] Fixes windows taking excessive damage from projectiles --- code/game/objects/structures/window.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm index cd55637b355..7529618d322 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/window.dm @@ -59,7 +59,7 @@ return ..() - take_damage(Proj.damage * 4) + take_damage(Proj.damage) return From 3ea720fd9d8ad721f033fd72dd91d00ca89fb5b9 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Fri, 6 Feb 2015 09:53:05 +0300 Subject: [PATCH 011/143] Buttons refactoring. Introduced wonders of inheritance, cutting down on inconsistencies and copypaste. --- code/game/machinery/buttons.dm | 46 +++++--------------------- code/game/machinery/door_control.dm | 26 +++++---------- code/game/machinery/flasher.dm | 14 +++----- code/game/machinery/holosign.dm | 33 ++++-------------- code/game/machinery/igniter.dm | 14 +++----- code/game/machinery/lightswitch.dm | 7 ++-- code/game/objects/structures/morgue.dm | 15 +++++++-- maps/exodus-1.dmm | 28 ++++++++-------- maps/exodus-2.dmm | 2 +- maps/exodus-4.dmm | 6 ++-- maps/exodus-5.dmm | 2 +- 11 files changed, 67 insertions(+), 126 deletions(-) diff --git a/code/game/machinery/buttons.dm b/code/game/machinery/buttons.dm index 67775ddd7d8..ad72835faeb 100644 --- a/code/game/machinery/buttons.dm +++ b/code/game/machinery/buttons.dm @@ -1,8 +1,8 @@ -/obj/machinery/driver_button - name = "mass driver button" +/obj/machinery/button + name = "button" icon = 'icons/obj/objects.dmi' icon_state = "launcherbtt" - desc = "A remote control switch for a mass driver." + desc = "A remote control switch for something." var/id = null var/active = 0 anchored = 1.0 @@ -10,38 +10,10 @@ idle_power_usage = 2 active_power_usage = 4 -/obj/machinery/ignition_switch - name = "ignition switch" - icon = 'icons/obj/objects.dmi' - icon_state = "launcherbtt" - desc = "A remote control switch for a mounted igniter." - var/id = null - var/active = 0 - anchored = 1.0 - use_power = 1 - idle_power_usage = 2 - active_power_usage = 4 +/obj/machinery/button/attack_ai(mob/user as mob) + return src.attack_hand(user) -/obj/machinery/flasher_button - name = "flasher button" - desc = "A remote control switch for a mounted flasher." - icon = 'icons/obj/objects.dmi' - icon_state = "launcherbtt" - var/id = null - var/active = 0 - anchored = 1.0 - use_power = 1 - idle_power_usage = 2 - active_power_usage = 4 - -/obj/machinery/crema_switch - desc = "Burn baby burn!" - name = "crematorium igniter" - icon = 'icons/obj/power.dmi' - icon_state = "crema_switch" - anchored = 1.0 - req_access = list(access_crematorium) - var/on = 0 - var/area/area = null - var/otherarea = null - var/id = 1 \ No newline at end of file +/obj/machinery/button/attackby(obj/item/weapon/W, mob/user as mob) + if(istype(W, /obj/item/device/detective_scanner)) + return + return src.attack_hand(user) \ No newline at end of file diff --git a/code/game/machinery/door_control.dm b/code/game/machinery/door_control.dm index 50c16c86cc9..51bc9b69e61 100644 --- a/code/game/machinery/door_control.dm +++ b/code/game/machinery/door_control.dm @@ -148,30 +148,20 @@ else icon_state = "doorctrl0" -/obj/machinery/driver_button/attack_ai(mob/user as mob) - return src.attack_hand(user) +/obj/machinery/button/driver + name = "mass driver button" + desc = "A remote control switch for a mass driver." -/obj/machinery/driver_button/attackby(obj/item/weapon/W, mob/user as mob) - - if(istype(W, /obj/item/device/detective_scanner)) +/obj/machinery/button/driver/attack_hand(mob/user as mob) + if(..()) return - return src.attack_hand(user) - -/obj/machinery/driver_button/attack_hand(mob/user as mob) - - src.add_fingerprint(usr) - if(stat & (NOPOWER|BROKEN)) - return - if(active) - return - add_fingerprint(user) use_power(5) active = 1 icon_state = "launcheract" - for(var/obj/machinery/door/blast/M in world) + for(var/obj/machinery/door/blast/M in machines) if (M.id == src.id) spawn( 0 ) M.open() @@ -179,13 +169,13 @@ sleep(20) - for(var/obj/machinery/mass_driver/M in world) + for(var/obj/machinery/mass_driver/M in machines) if(M.id == src.id) M.drive() sleep(50) - for(var/obj/machinery/door/blast/M in world) + for(var/obj/machinery/door/blast/M in machines) if (M.id == src.id) spawn( 0 ) M.close() diff --git a/code/game/machinery/flasher.dm b/code/game/machinery/flasher.dm index 632fee8215b..2ebefc86254 100644 --- a/code/game/machinery/flasher.dm +++ b/code/game/machinery/flasher.dm @@ -119,17 +119,13 @@ user.show_message(text("\red [src] is now secured.")) src.overlays += "[base_state]-s" -/obj/machinery/flasher_button/attack_ai(mob/user as mob) - return src.attack_hand(user) +/obj/machinery/button/flasher + name = "flasher button" + desc = "A remote control switch for a mounted flasher." -/obj/machinery/flasher_button/attackby(obj/item/weapon/W, mob/user as mob) - return src.attack_hand(user) +/obj/machinery/button/flasher/attack_hand(mob/user as mob) -/obj/machinery/flasher_button/attack_hand(mob/user as mob) - - if(stat & (NOPOWER|BROKEN)) - return - if(active) + if(..()) return use_power(5) diff --git a/code/game/machinery/holosign.dm b/code/game/machinery/holosign.dm index a4bd1456cfc..e341a8fc7f4 100644 --- a/code/game/machinery/holosign.dm +++ b/code/game/machinery/holosign.dm @@ -32,42 +32,23 @@ on_icon = "surgery" ////////////////////SWITCH/////////////////////////////////////// -/obj/machinery/holosign_switch +/obj/machinery/button/holosign name = "holosign switch" - icon = 'icons/obj/power.dmi' - icon_state = "light1" desc = "A remote control switch for holosign." - var/id = null - var/active = 0 - anchored = 1.0 - use_power = 1 - idle_power_usage = 2 - active_power_usage = 4 + icon = 'icons/obj/power.dmi' + icon_state = "crema_switch" -/obj/machinery/holosign_switch/attack_ai(mob/user as mob) - return src.attack_hand(user) -/ - -/obj/machinery/holosign_switch/attackby(obj/item/weapon/W, mob/user as mob) - if(istype(W, /obj/item/device/detective_scanner)) - return - return src.attack_hand(user) - -/obj/machinery/holosign_switch/attack_hand(mob/user as mob) - src.add_fingerprint(usr) - if(stat & (NOPOWER|BROKEN)) +/obj/machinery/button/holosign/attack_hand(mob/user as mob) + if(..()) return add_fingerprint(user) use_power(5) active = !active - if(active) - icon_state = "light1" - else - icon_state = "light0" + icon_state = "light[active]" - for(var/obj/machinery/holosign/M in world) + for(var/obj/machinery/holosign/M in machines) if (M.id == src.id) spawn( 0 ) M.toggle() diff --git a/code/game/machinery/igniter.dm b/code/game/machinery/igniter.dm index 500c2cf061c..a9be6650221 100755 --- a/code/game/machinery/igniter.dm +++ b/code/game/machinery/igniter.dm @@ -115,17 +115,13 @@ ignite() ..(severity) -/obj/machinery/ignition_switch/attack_ai(mob/user as mob) - return src.attack_hand(user) +/obj/machinery/button/ignition + name = "ignition switch" + desc = "A remote control switch for a mounted igniter." -/obj/machinery/ignition_switch/attackby(obj/item/weapon/W, mob/user as mob) - return src.attack_hand(user) +/obj/machinery/button/ignition/attack_hand(mob/user as mob) -/obj/machinery/ignition_switch/attack_hand(mob/user as mob) - - if(stat & (NOPOWER|BROKEN)) - return - if(active) + if(..()) return use_power(5) diff --git a/code/game/machinery/lightswitch.dm b/code/game/machinery/lightswitch.dm index 1c9a9bd21d9..dcf66a12b7b 100644 --- a/code/game/machinery/lightswitch.dm +++ b/code/game/machinery/lightswitch.dm @@ -15,7 +15,7 @@ /obj/machinery/light_switch/New() ..() spawn(5) - src.area = src.loc.loc + src.area = get_area(src) if(otherarea) src.area = locate(text2path("/area/[otherarea]")) @@ -32,10 +32,7 @@ if(stat & NOPOWER) icon_state = "light-p" else - if(on) - icon_state = "light1" - else - icon_state = "light0" + icon_state = "light[on]" /obj/machinery/light_switch/examine(mob/user) if(..(user, 1)) diff --git a/code/game/objects/structures/morgue.dm b/code/game/objects/structures/morgue.dm index 5d00b0a0cb0..1a87fcede9a 100644 --- a/code/game/objects/structures/morgue.dm +++ b/code/game/objects/structures/morgue.dm @@ -379,12 +379,21 @@ //Foreach goto(99) return -/obj/machinery/crema_switch/attack_hand(mob/user as mob) +/obj/machinery/button/crematorium + name = "crematorium igniter" + desc = "Burn baby burn!" + icon = 'icons/obj/power.dmi' + icon_state = "crema_switch" + req_access = list(access_crematorium) + id = 1 + +/obj/machinery/button/crematorium/attack_hand(mob/user as mob) + if(..()) + return if(src.allowed(usr)) for (var/obj/structure/crematorium/C in world) if (C.id == id) if (!C.cremating) C.cremate(user) else - usr << "\red Access denied." - return + usr << "Access denied." diff --git a/maps/exodus-1.dmm b/maps/exodus-1.dmm index a260e24b25b..4e4a185e8a5 100644 --- a/maps/exodus-1.dmm +++ b/maps/exodus-1.dmm @@ -548,7 +548,7 @@ "akB" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/security/brig) "akC" = (/obj/machinery/light,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/security/brig) "akD" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor,/area/security/brig) -"akE" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/flasher_button{id = "permflash"; name = "Brig flashes"; pixel_x = 0; pixel_y = -27; tag = "permflash"},/turf/simulated/floor,/area/security/brig) +"akE" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/button/flasher{id = "permflash"; name = "Brig flashes"; pixel_x = 0; pixel_y = -27; tag = "permflash"},/turf/simulated/floor,/area/security/brig) "akF" = (/obj/machinery/camera{c_tag = "Brig Center"; dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/turf/simulated/floor,/area/security/brig) "akG" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/security/brig) "akH" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor,/area/security/brig) @@ -622,7 +622,7 @@ "alX" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0},/turf/simulated/floor,/area/security/prison) "alY" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/prison) "alZ" = (/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/door/window/brigdoor{base_state = "rightsecure"; dir = 8; icon_state = "rightsecure"; req_access_txt = "2"},/obj/structure/table/reinforced,/turf/simulated/floor,/area/security/brig) -"ama" = (/obj/structure/stool/bed/chair/office/dark{dir = 8},/obj/machinery/door_control{id = "prisonentry"; name = "Entry Doors"; normaldoorcontrol = 1; pixel_x = -6; pixel_y = 24; req_access_txt = "2"},/obj/machinery/door_control{id = "prisonexit"; name = "Exit Doors"; normaldoorcontrol = 1; pixel_x = 6; pixel_y = 24; req_access_txt = "2"},/obj/machinery/flasher_button{id = "permentryflash"; name = "entry flash"; pixel_x = -26; pixel_y = 6; req_access_txt = "2"},/turf/simulated/floor,/area/security/brig) +"ama" = (/obj/structure/stool/bed/chair/office/dark{dir = 8},/obj/machinery/door_control{id = "prisonentry"; name = "Entry Doors"; normaldoorcontrol = 1; pixel_x = -6; pixel_y = 24; req_access_txt = "2"},/obj/machinery/door_control{id = "prisonexit"; name = "Exit Doors"; normaldoorcontrol = 1; pixel_x = 6; pixel_y = 24; req_access_txt = "2"},/obj/machinery/button/flasher{id = "permentryflash"; name = "entry flash"; pixel_x = -26; pixel_y = 6; req_access_txt = "2"},/turf/simulated/floor,/area/security/brig) "amb" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/security/brig) "amc" = (/obj/structure/stool/bed/chair/office/dark{dir = 4},/obj/machinery/door_control{desc = "A remote control switch for the brig foyer."; id = "BrigFoyer"; name = "Brig Foyer Doors"; normaldoorcontrol = 1; pixel_x = 28; pixel_y = -15},/turf/simulated/floor,/area/security/brig) "amd" = (/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/door/window/southright{base_state = "left"; dir = 4; icon_state = "left"},/obj/structure/table/reinforced,/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor,/area/security/lobby) @@ -661,7 +661,7 @@ "amK" = (/obj/machinery/flasher{id = "permentryflash"; name = "Floor mounted flash"; pixel_x = 0},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/security/prison) "amL" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/prison) "amM" = (/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/door/window/brigdoor{dir = 8; req_access_txt = "2"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/structure/table/reinforced,/turf/simulated/floor,/area/security/brig) -"amN" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/flasher_button{id = "permflash"; name = "Brig flashes"; pixel_x = -6; pixel_y = -24; req_access_txt = "2"; tag = "permflash"},/obj/machinery/door_control{id = "brigobs"; name = "observation shutters"; pixel_x = 6; pixel_y = -24},/obj/machinery/door_control{id = "Secure Gate"; name = "Brig Lockdown"; pixel_x = -26; pixel_y = -4; req_access_txt = "2"},/turf/simulated/floor,/area/security/brig) +"amN" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/button/flasher{id = "permflash"; name = "Brig flashes"; pixel_x = -6; pixel_y = -24; req_access_txt = "2"; tag = "permflash"},/obj/machinery/door_control{id = "brigobs"; name = "observation shutters"; pixel_x = 6; pixel_y = -24},/obj/machinery/door_control{id = "Secure Gate"; name = "Brig Lockdown"; pixel_x = -26; pixel_y = -4; req_access_txt = "2"},/turf/simulated/floor,/area/security/brig) "amO" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/computer/security/telescreen{desc = "Big Brother is watching."; name = "Brig Monitor"; network = list("Prison"); pixel_x = 3; pixel_y = -33},/turf/simulated/floor,/area/security/brig) "amP" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/structure/disposalpipe/trunk,/obj/machinery/disposal,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/camera{c_tag = "Prison Wing Observation"; dir = 1; network = list("SS13")},/turf/simulated/floor,/area/security/brig) "amQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/computer/security/telescreen{desc = "Big Brother is watching."; name = "Brig Monitor"; network = list("Prison"); pixel_x = -3; pixel_y = -33},/turf/simulated/floor,/area/security/brig) @@ -975,7 +975,7 @@ "asM" = (/obj/structure/stool/bed/chair{dir = 4},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) "asN" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/hallway/primary/central_one) "asO" = (/obj/structure/stool/bed/chair{dir = 8},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor,/area/security/prison) -"asP" = (/obj/machinery/flasher_button{id = "IAflash"; pixel_y = -30},/obj/machinery/door_control{id = "visit_blast"; name = "Privacy Shutters"; pixel_x = 25; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor,/area/security/prison) +"asP" = (/obj/machinery/button/flasher{id = "IAflash"; pixel_y = -30},/obj/machinery/door_control{id = "visit_blast"; name = "Privacy Shutters"; pixel_x = 25; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor,/area/security/prison) "asQ" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/hallway/primary/fore) "asR" = (/obj/machinery/bot/secbot/beepsky{name = "Officer Beepsky"},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/hallway/primary/fore) "asS" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/hallway/primary/fore) @@ -1866,7 +1866,7 @@ "aJT" = (/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office) "aJU" = (/obj/structure/closet/coffin,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main) "aJV" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "dark"},/area/chapel/main) -"aJW" = (/obj/machinery/driver_button{id = "chapelgun"; name = "Chapel Mass Driver"; pixel_x = 25},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main) +"aJW" = (/obj/machinery/button/driver{id = "chapelgun"; name = "Chapel Mass Driver"; pixel_x = 25},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main) "aJX" = (/turf/simulated/shuttle/floor,/turf/simulated/shuttle/wall{icon_state = "swall_f10"; dir = 2},/area/shuttle/arrival/station) "aJY" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/substation/civilian_west) "aJZ" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/power/sensor{name = "Powernet Sensor - Civilian West"; name_tag = "Civilian West Subgrid"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green,/turf/simulated/floor/plating,/area/maintenance/substation/civilian_west) @@ -1938,7 +1938,7 @@ "aLn" = (/obj/structure/stool/bed/chair/office/dark{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/wood,/area/library) "aLo" = (/obj/machinery/newscaster{pixel_x = 30},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/wood,/area/library) "aLp" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/chapel/office) -"aLq" = (/obj/structure/disposalpipe/segment,/obj/machinery/crema_switch{pixel_x = 25},/obj/machinery/light/small{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "dark"},/area/chapel/office) +"aLq" = (/obj/structure/disposalpipe/segment,/obj/machinery/button/crematorium{pixel_x = 25},/obj/machinery/light/small{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "dark"},/area/chapel/office) "aLr" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp{pixel_y = 10},/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office) "aLs" = (/obj/structure/table/woodentable,/obj/item/weapon/pen,/obj/item/weapon/reagent_containers/food/drinks/bottle/holywater,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office) "aLt" = (/obj/structure/table/woodentable,/obj/item/weapon/nullrod,/obj/item/device/eftpos{eftpos_name = "Chapel EFTPOS scanner"},/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office) @@ -3422,7 +3422,7 @@ "bnP" = (/obj/structure/closet/emcloset,/obj/machinery/camera{c_tag = "Arrivals Auxiliary Docking South"; dir = 4; network = list("SS13")},/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/hallway/secondary/entry/aft) "bnQ" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor,/area/hallway/secondary/entry/aft) "bnR" = (/obj/machinery/conveyor{dir = 1; id = "garbage"},/obj/structure/sign/vacuum{pixel_x = -32},/turf/simulated/floor/plating,/area/maintenance/disposal) -"bnS" = (/obj/machinery/door_control{id = "Disposal Exit"; name = "Disposal Vent Control"; pixel_x = -25; pixel_y = 4; req_access_txt = "12"},/obj/machinery/driver_button{id = "trash"; pixel_x = -26; pixel_y = -6},/turf/simulated/floor/plating,/area/maintenance/disposal) +"bnS" = (/obj/machinery/door_control{id = "Disposal Exit"; name = "Disposal Vent Control"; pixel_x = -25; pixel_y = 4; req_access_txt = "12"},/obj/machinery/button/driver{id = "trash"; pixel_x = -26; pixel_y = -6},/turf/simulated/floor/plating,/area/maintenance/disposal) "bnT" = (/obj/machinery/conveyor_switch/oneway{convdir = -1; id = "garbage"; name = "disposal coveyor"},/turf/simulated/floor/plating,/area/maintenance/disposal) "bnU" = (/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor/plating,/area/maintenance/disposal) "bnV" = (/obj/effect/decal/cleanable/blood/oil,/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/maintenance/disposal) @@ -3944,7 +3944,7 @@ "bxR" = (/obj/machinery/light{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/turf/simulated/floor{dir = 1; icon_state = "whitecorner"},/area/medical/medbay2) "bxS" = (/obj/machinery/vending/medical,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) "bxT" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "toxin_test_airlock"; name = "exterior access button"; pixel_x = -20; pixel_y = -20; req_access_txt = "13"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating/airless,/area/space) -"bxU" = (/obj/structure/table/reinforced,/obj/machinery/ignition_switch{id = "Xenobio"; pixel_x = -6; pixel_y = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/misc_lab) +"bxU" = (/obj/structure/table/reinforced,/obj/machinery/button/ignition{id = "Xenobio"; pixel_x = -6; pixel_y = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/misc_lab) "bxV" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/research_port) "bxW" = (/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor{icon_state = "white"},/area/rnd/misc_lab) "bxX" = (/obj/structure/extinguisher_cabinet{pixel_x = -27},/obj/machinery/light{dir = 8},/turf/simulated/floor/bluegrid,/area/assembly/chargebay) @@ -4894,7 +4894,7 @@ "bQf" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "floorgrime"},/area/rnd/mixing) "bQg" = (/obj/machinery/light/small{dir = 4},/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/turf/simulated/floor{icon_state = "warningcorner"; dir = 2},/area/rnd/mixing) "bQh" = (/obj/item/device/radio/intercom{pixel_y = 25},/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor,/area/rnd/mixing) -"bQi" = (/obj/machinery/driver_button{dir = 2; id = "toxinsdriver"; pixel_y = 24},/turf/simulated/floor,/area/rnd/mixing) +"bQi" = (/obj/machinery/button/driver{dir = 2; id = "toxinsdriver"; pixel_y = 24},/turf/simulated/floor,/area/rnd/mixing) "bQj" = (/obj/structure/stool/bed/chair{dir = 4},/obj/machinery/computer/security/telescreen{desc = "Used for watching the test chamber."; layer = 4; name = "Test Chamber Telescreen"; network = list("Toxins Test Area"); pixel_x = 32; pixel_y = 0},/turf/simulated/floor,/area/rnd/mixing) "bQk" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/rnd/mixing) "bQl" = (/turf/simulated/floor/airless{dir = 9; icon_state = "warning"},/area/rnd/test_area) @@ -5326,7 +5326,7 @@ "bYv" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor{icon_state = "white"},/area/rnd/research) "bYw" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/obj/machinery/door/window/eastright{dir = 8; name = "Chemistry Desk"; req_access_txt = "33"},/obj/machinery/door/blast/shutters{density = 0; dir = 4; icon_state = "shutter0"; id = "chemcounter"; name = "Pharmacy Counter Shutters"; opacity = 0},/obj/structure/table/reinforced,/turf/simulated/floor{icon_state = "yellowfull"; dir = 8},/area/medical/chemistry) "bYx" = (/obj/structure/sign/fire{pixel_y = -32},/obj/machinery/atmospherics/pipe/simple/hidden/cyan,/obj/machinery/atmospherics/binary/pump{dir = 8},/turf/simulated/floor/engine,/area/rnd/mixing) -"bYy" = (/obj/machinery/meter,/obj/machinery/door_control{id = "mixvent"; name = "Mixing Room Vent Control"; pixel_x = -25; pixel_y = 5; req_access_txt = "7"},/obj/machinery/ignition_switch{id = "mixingsparker"; pixel_x = -25; pixel_y = -5},/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "warnwhitecorner"},/area/rnd/mixing) +"bYy" = (/obj/machinery/meter,/obj/machinery/door_control{id = "mixvent"; name = "Mixing Room Vent Control"; pixel_x = -25; pixel_y = 5; req_access_txt = "7"},/obj/machinery/button/ignition{id = "mixingsparker"; pixel_x = -25; pixel_y = -5},/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "warnwhitecorner"},/area/rnd/mixing) "bYz" = (/obj/machinery/atmospherics/valve{dir = 4},/obj/machinery/light,/obj/structure/extinguisher_cabinet{pixel_x = 0; pixel_y = -29},/turf/simulated/floor{dir = 4; icon_state = "warnwhite"},/area/rnd/mixing) "bYA" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/rnd/mixing) "bYB" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 6; icon_state = "intact"; tag = "icon-intact-f (SOUTHEAST)"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 9},/area/maintenance/research_starboard) @@ -5406,7 +5406,7 @@ "bZX" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/carpet,/area/engineering/break_room) "bZY" = (/obj/structure/table/reinforced,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd,/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/crew_quarters/heads/chief) "bZZ" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/crew_quarters/heads/chief) -"caa" = (/obj/machinery/driver_button{id = "enginecore"; name = "Emergency Core Eject"; pixel_x = -20; pixel_y = 0},/obj/structure/window/basic{dir = 4},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/heads/chief) +"caa" = (/obj/machinery/button/driver{id = "enginecore"; name = "Emergency Core Eject"; pixel_x = -20; pixel_y = 0},/obj/structure/window/basic{dir = 4},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/heads/chief) "cab" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor,/area/crew_quarters/heads/chief) "cac" = (/obj/structure/stool/bed/chair/office/light{dir = 4},/obj/effect/landmark/start{name = "Chief Engineer"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/crew_quarters/heads/chief) "cad" = (/obj/structure/table/reinforced,/obj/item/weapon/folder/yellow,/obj/item/weapon/stamp/ce,/obj/item/weapon/pen,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/flame/lighter/zippo,/obj/item/device/megaphone,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/crew_quarters/heads/chief) @@ -6086,10 +6086,10 @@ "cnb" = (/obj/structure/table,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/item/stack/medical/advanced/bruise_pack,/obj/item/weapon/retractor,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) "cnc" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) "cnd" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) -"cne" = (/obj/machinery/camera{c_tag = "Medbay Operating Theatre 1"; dir = 8; network = list("SS13")},/obj/machinery/holosign_switch{pixel_x = 24; pixel_y = 2},/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/simulated/floor{dir = 4; icon_state = "whiteredcorner"},/area/medical/surgery) +"cne" = (/obj/machinery/camera{c_tag = "Medbay Operating Theatre 1"; dir = 8; network = list("SS13")},/obj/machinery/button/holosign{pixel_x = 24; pixel_y = 2},/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/simulated/floor{dir = 4; icon_state = "whiteredcorner"},/area/medical/surgery) "cnf" = (/obj/structure/stool/bed/chair/comfy/black{dir = 4},/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/medical/surgeryprep) "cng" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor{icon_state = "blue"; dir = 4},/area/medical/surgeryprep) -"cnh" = (/obj/machinery/holosign_switch{pixel_x = -24; pixel_y = 2},/obj/machinery/camera{c_tag = "Medbay Operating Theatre 2"; dir = 4; network = list("SS13")},/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/turf/simulated/floor{dir = 1; icon_state = "whiteredcorner"},/area/medical/surgery2) +"cnh" = (/obj/machinery/button/holosign{pixel_x = -24; pixel_y = 2},/obj/machinery/camera{c_tag = "Medbay Operating Theatre 2"; dir = 4; network = list("SS13")},/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/turf/simulated/floor{dir = 1; icon_state = "whiteredcorner"},/area/medical/surgery2) "cni" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery2) "cnj" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery2) "cnk" = (/obj/structure/table,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/item/stack/medical/advanced/bruise_pack,/obj/item/weapon/retractor,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery2) @@ -6802,7 +6802,7 @@ "cAP" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/engineering) "cAQ" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/maintenance/incinerator) "cAR" = (/obj/structure/sign/nosmoking_2{pixel_x = 0; pixel_y = -30},/turf/simulated/floor/plating,/area/maintenance/incinerator) -"cAS" = (/obj/machinery/embedded_controller/radio/airlock/access_controller{tag_exterior_door = "incinerator_airlock_exterior"; id_tag = "incinerator_access_control"; tag_interior_door = "incinerator_airlock_interior"; name = "Incinerator Access Console"; pixel_x = -6; pixel_y = -26; req_access_txt = "12"},/obj/machinery/ignition_switch{id = "Incinerator"; pixel_x = 6; pixel_y = -24},/obj/machinery/meter,/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor{dir = 2; icon_state = "warningcorner"; tag = "icon-warningcorner (WEST)"},/area/maintenance/incinerator) +"cAS" = (/obj/machinery/embedded_controller/radio/airlock/access_controller{tag_exterior_door = "incinerator_airlock_exterior"; id_tag = "incinerator_access_control"; tag_interior_door = "incinerator_airlock_interior"; name = "Incinerator Access Console"; pixel_x = -6; pixel_y = -26; req_access_txt = "12"},/obj/machinery/button/ignition{id = "Incinerator"; pixel_x = 6; pixel_y = -24},/obj/machinery/meter,/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor{dir = 2; icon_state = "warningcorner"; tag = "icon-warningcorner (WEST)"},/area/maintenance/incinerator) "cAT" = (/turf/simulated/floor{dir = 2; icon_state = "floorgrimecaution"},/area/maintenance/incinerator) "cAU" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/machinery/meter,/obj/machinery/door_control{id = "disvent"; name = "Incinerator Vent Control"; pixel_x = 0; pixel_y = -24; req_access_txt = null; req_one_access_txt = "12;5"},/turf/simulated/floor{dir = 1; icon_state = "warningcorner"; tag = "icon-warningcorner (WEST)"},/area/maintenance/incinerator) "cAV" = (/turf/simulated/floor/plating,/area/maintenance/incinerator) diff --git a/maps/exodus-2.dmm b/maps/exodus-2.dmm index ed7d77eed8f..19fe609ecc6 100644 --- a/maps/exodus-2.dmm +++ b/maps/exodus-2.dmm @@ -811,7 +811,7 @@ "pE" = (/obj/machinery/cell_charger,/obj/structure/table/reinforced{icon_state = "table"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) "pF" = (/turf/unsimulated/wall,/area/centcom/living) "pG" = (/obj/structure/table/woodentable/holotable,/turf/simulated/floor/holofloor{icon_state = "carpet15-15"; dir = 4},/area/holodeck/source_courtroom) -"pH" = (/obj/structure/stool/bed/chair{dir = 8},/obj/machinery/flasher_button{id = "syndieflash"; name = "Flasher"; pixel_x = 27; pixel_y = 0; tag = "permflash"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"pH" = (/obj/structure/stool/bed/chair{dir = 8},/obj/machinery/button/flasher{id = "syndieflash"; name = "Flasher"; pixel_x = 27; pixel_y = 0; tag = "permflash"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) "pI" = (/obj/machinery/suit_cycler/syndicate{locked = 0},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) "pJ" = (/obj/structure/table,/obj/machinery/computer/pod/old/syndicate{id = "smindicate"},/obj/machinery/door/window{dir = 4; name = "Blast Door Control"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) "pK" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) diff --git a/maps/exodus-4.dmm b/maps/exodus-4.dmm index d0a2adf82a8..8e5bc8a0016 100644 --- a/maps/exodus-4.dmm +++ b/maps/exodus-4.dmm @@ -68,7 +68,7 @@ "bp" = (/obj/machinery/recharge_station,/turf/simulated/floor/plating,/area/djstation) "bq" = (/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor/plating,/area/djstation) "br" = (/obj/machinery/light{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/turf/simulated/floor/plating,/area/djstation) -"bs" = (/obj/machinery/driver_button{id = "constructiondriver0"; name = "Construction Driver #0"; pass_flags = null; pixel_x = 25; pixel_y = 7},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/plating,/area/djstation) +"bs" = (/obj/machinery/button/driver{id = "constructiondriver0"; name = "Construction Driver #0"; pass_flags = null; pixel_x = 25; pixel_y = 7},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/plating,/area/djstation) "bt" = (/obj/machinery/door/airlock/highsecurity{icon_state = "door_closed"; locked = 0; name = "AI Upload"; req_access_txt = "16"},/turf/simulated/floor/plating/airless,/area/constructionsite/ai) "bu" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating/airless,/area/djstation/solars) "bv" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating/airless,/area/djstation/solars) @@ -91,7 +91,7 @@ "bM" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/machinery/power/smes/buildable{charge = 2e+006},/turf/simulated/floor/plating,/area/djstation) "bN" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/plating,/area/djstation) "bO" = (/obj/structure/table,/obj/item/clothing/head/helmet/space/void/engineering,/obj/item/clothing/suit/space/void/engineering,/turf/simulated/floor/plating,/area/djstation) -"bP" = (/obj/machinery/driver_button{id = "constructiondriver1"; name = "Construction Driver #1"; pixel_x = 25; pixel_y = 7},/turf/simulated/floor/plating,/area/djstation) +"bP" = (/obj/machinery/button/driver{id = "constructiondriver1"; name = "Construction Driver #1"; pixel_x = 25; pixel_y = 7},/turf/simulated/floor/plating,/area/djstation) "bQ" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating/airless,/area/djstation/solars) "bR" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating/airless,/area/djstation/solars) "bS" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/djstation/solars) @@ -110,7 +110,7 @@ "cf" = (/obj/machinery/telecomms/relay/preset/ruskie,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/djstation) "cg" = (/obj/structure/table/rack,/obj/item/clothing/suit/space/syndicate,/obj/item/clothing/head/helmet/space/syndicate,/obj/item/clothing/mask/breath,/turf/simulated/floor/plating,/area/djstation) "ch" = (/obj/structure/table/rack,/obj/item/weapon/module/power_control,/obj/item/weapon/module/power_control,/obj/item/weapon/module/power_control,/obj/item/weapon/module/power_control,/obj/item/weapon/module/power_control,/obj/item/weapon/module/power_control,/turf/simulated/floor/plating,/area/djstation) -"ci" = (/obj/machinery/driver_button{id = "constructiondriver2"; name = "Construction Driver #2"; pixel_x = 25; pixel_y = 7},/turf/simulated/floor/plating,/area/djstation) +"ci" = (/obj/machinery/button/driver{id = "constructiondriver2"; name = "Construction Driver #2"; pixel_x = 25; pixel_y = 7},/turf/simulated/floor/plating,/area/djstation) "cj" = (/obj/structure/lattice,/turf/space,/area/constructionsite/maintenance) "ck" = (/obj/machinery/door/airlock/highsecurity{name = "Messaging Server"; req_access_txt = "30"},/turf/simulated/floor/plating/airless,/area/constructionsite/hallway/fore) "cl" = (/obj/machinery/door/airlock/highsecurity{name = "Messaging Server"; req_access_txt = "30"},/turf/simulated/floor/plating/airless,/area/constructionsite/ai) diff --git a/maps/exodus-5.dmm b/maps/exodus-5.dmm index ad1fafaed28..cd66799795b 100644 --- a/maps/exodus-5.dmm +++ b/maps/exodus-5.dmm @@ -399,7 +399,7 @@ "hI" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway) "hJ" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/portable_atmospherics/canister/sleeping_agent,/turf/simulated/floor/plating,/area/research_outpost/power) "hK" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/research_outpost/power) -"hL" = (/obj/machinery/driver_button{id = "research"; pixel_x = 6; pixel_y = -26},/obj/machinery/conveyor{dir = 4; id = "archgunc"},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/window/westleft{base_state = "right"; dir = 1; icon_state = "right"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 9},/area/research_outpost/power) +"hL" = (/obj/machinery/button/driver{id = "research"; pixel_x = 6; pixel_y = -26},/obj/machinery/conveyor{dir = 4; id = "archgunc"},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/window/westleft{base_state = "right"; dir = 1; icon_state = "right"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 9},/area/research_outpost/power) "hM" = (/obj/structure/sign/deathsposal{pixel_x = 32},/obj/machinery/disposal/deliveryChute{dir = 8; name = "disposal inlet"},/obj/structure/disposalpipe/trunk{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating{dir = 1; icon_state = "warnplate"; nitrogen = 0.01; oxygen = 0.01},/area/research_outpost/power) "hN" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/wall/r_wall,/area/research_outpost/power) "hO" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/transit_tube{icon_state = "N-SE"},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/research_outpost/hallway) From b83f1ac3d2bfe52f4e98ce9e63e0034160ab0915 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Fri, 6 Feb 2015 10:02:33 +0300 Subject: [PATCH 012/143] Adjustable tint windows. Use buttons to change opacity. Super advanced technology to introduce milder alternative to metal shutters everywhere. --- code/game/objects/structures/window.dm | 35 ++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm index 458c5626bca..028773b33b5 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/window.dm @@ -470,3 +470,38 @@ update_icon() //icon_state has to be set manually return + +/obj/structure/window/reinforced/polarized + name = "electrochromic window" + desc = "Adjusts its tint with voltage. Might take a few good hits to shatter it." + var/id + +/obj/structure/window/reinforced/polarized/proc/toggle() + if(opacity) + animate(src, color="#FFFFFF", time=5) + SetOpacity(0) + else + animate(src, color="#222222", time=5) + SetOpacity(1) + +/obj/machinery/button/windowtint + name = "window tint control" + icon = 'icons/obj/power.dmi' + icon_state = "light1" + desc = "A remote control switch for polarized windows." + var/range = 7 + +/obj/machinery/button/windowtint/attack_hand(mob/user as mob) + if(..()) + return 1 + + use_power(5) + + active = !active + icon_state = "light[active]" + + for(var/obj/structure/window/reinforced/polarized/W in range(src,range)) + if (W.id == src.id || !W.id) + spawn( 0 ) + W.toggle() + return \ No newline at end of file From f0e92023f05ce5273932651deb4530a378b7e919 Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Fri, 6 Feb 2015 08:54:28 +0000 Subject: [PATCH 013/143] Fixes startup runtime Fixes #8062 --- code/modules/virus2/antibodies.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/modules/virus2/antibodies.dm b/code/modules/virus2/antibodies.dm index a209ef1c7fc..e203560e6df 100644 --- a/code/modules/virus2/antibodies.dm +++ b/code/modules/virus2/antibodies.dm @@ -45,6 +45,7 @@ var/global/list/ALL_ANTIGENS = list( /hook/startup/proc/randomise_antigens_order() ALL_ANTIGENS = shuffle(ALL_ANTIGENS) + return 1 // pure concentrated antibodies datum/reagent/antibodies @@ -78,4 +79,4 @@ datum/reagent/antibodies if(!code) return none - return code \ No newline at end of file + return code From 251e162a2cc4a54ad7a490c461078066aab6a617 Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Fri, 6 Feb 2015 09:52:01 +0000 Subject: [PATCH 014/143] Fixes changeling sting A* call, adds messages to let the changeling know what went wrong if it did --- .../gamemodes/changeling/changeling_powers.dm | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/code/game/gamemodes/changeling/changeling_powers.dm b/code/game/gamemodes/changeling/changeling_powers.dm index 5dcc891fa9b..8d15141df1e 100644 --- a/code/game/gamemodes/changeling/changeling_powers.dm +++ b/code/game/gamemodes/changeling/changeling_powers.dm @@ -679,11 +679,16 @@ var/list/datum/dna/hivemind_bank = list() ////////// /mob/proc/sting_can_reach(mob/M as mob, sting_range = 1) - if(M.loc == src.loc) return 1 //target and source are in the same thing - if(!isturf(src.loc) || !isturf(M.loc)) return 0 //One is inside, the other is outside something. - if(AStar(src.loc, M.loc, /turf/proc/AdjacentTurfs, /turf/proc/Distance, sting_range)) //If a path exists, good! - return 1 - return 0 + if(M.loc == src.loc) + return 1 //target and source are in the same thing + if(!isturf(src.loc) || !isturf(M.loc)) + src << "We cannot reach \the [M] with a sting!" + return 0 //One is inside, the other is outside something. + // Maximum queued turfs set to 25; I don't *think* anything raises sting_range above 2, but if it does the 25 may need raising + if(!AStar(src.loc, M.loc, /turf/proc/AdjacentTurfs, /turf/proc/Distance, max_nodes=25, max_node_depth=sting_range)) //If we can't find a path, fail + src << "We cannot find a path to sting \the [M] by!" + return 0 + return 1 //Handles the general sting code to reduce on copypasta (seeming as somebody decided to make SO MANY dumb abilities) /mob/proc/changeling_sting(var/required_chems=0, var/verb_path) From ef197fb995ca3ac140c3a1b7a48ecbebc31bd82a Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Fri, 6 Feb 2015 16:04:37 +0000 Subject: [PATCH 015/143] Two fixes Fixes airless turf in Fore Starboard Solar Control causing minor atmos alert at roundstart Fixes clean_map_git.sh being set non-executable and using non-sh-compatible features with #!/bin/sh --- maps/exodus-1.dmm | 2 +- tools/mapmerge/clean_map_git.sh | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) mode change 100644 => 100755 tools/mapmerge/clean_map_git.sh diff --git a/maps/exodus-1.dmm b/maps/exodus-1.dmm index 976ce9fc567..31724b0623f 100644 --- a/maps/exodus-1.dmm +++ b/maps/exodus-1.dmm @@ -1477,7 +1477,7 @@ "aCu" = (/turf/simulated/wall,/area/maintenance/substation/civilian_east) "aCv" = (/turf/simulated/wall/r_wall,/area/maintenance/auxsolarstarboard) "aCw" = (/obj/machinery/power/solar_control{id = "auxsolareast"; name = "Fore Starboard Solar Control"; track = 0},/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0; pixel_y = 32},/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating{dir = 8; icon_state = "warnplatecorner"},/area/maintenance/auxsolarstarboard) -"aCx" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "solar_chapel_airlock"; name = "interior access button"; pixel_x = 25; pixel_y = 25; req_access_txt = "13"},/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/obj/effect/decal/cleanable/dirt,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating{dir = 1; icon_state = "warnplate"; nitrogen = 0.01; oxygen = 0.01},/area/maintenance/auxsolarstarboard) +"aCx" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "solar_chapel_airlock"; name = "interior access button"; pixel_x = 25; pixel_y = 25; req_access_txt = "13"},/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/obj/effect/decal/cleanable/dirt,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating{dir = 1; icon_state = "warnplate"; nitrogen = 82.1472; oxygen = 21.8366},/area/maintenance/auxsolarstarboard) "aCy" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor/plating{dir = 4; icon_state = "warnplatecorner"},/area/maintenance/auxsolarstarboard) "aCz" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/hallway/secondary/entry/fore) "aCA" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/hallway/secondary/entry/fore) diff --git a/tools/mapmerge/clean_map_git.sh b/tools/mapmerge/clean_map_git.sh old mode 100644 new mode 100755 index 1a0c9d65924..e8ad8165e49 --- a/tools/mapmerge/clean_map_git.sh +++ b/tools/mapmerge/clean_map_git.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash for i in {1..6} do @@ -7,4 +7,4 @@ do git show HEAD:maps/$MAPFILE > tmp.dmm java -jar MapPatcher.jar -clean tmp.dmm '../../maps/'$MAPFILE '../../maps/'$MAPFILE rm tmp.dmm -done \ No newline at end of file +done From c95399de91c610ddf4b66cb86964d9d3f1d146fa Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Fri, 6 Feb 2015 19:43:39 +0000 Subject: [PATCH 016/143] Fixes "" from languages over radio. --- code/modules/mob/hear_say.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/hear_say.dm b/code/modules/mob/hear_say.dm index c238aef0264..f63566a0483 100644 --- a/code/modules/mob/hear_say.dm +++ b/code/modules/mob/hear_say.dm @@ -101,7 +101,7 @@ return else if(language) - message = language.scramble(language) + message = language.scramble(message) else message = stars(message) From 76cfa4fb40a9cc8acca41c51d26c5152b8028a73 Mon Sep 17 00:00:00 2001 From: RKF45 Date: Fri, 6 Feb 2015 23:22:05 +0100 Subject: [PATCH 017/143] Named crayons --- code/game/objects/items/toys.dm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index cee5076a55d..6cd12cf137d 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -380,6 +380,10 @@ viewers(user) << "\red [user] is jamming the [src.name] up \his nose and into \his brain. It looks like \he's trying to commit suicide." return (BRUTELOSS|OXYLOSS) + New() + name = "[colourName] crayon" + ..() + /* * Snap pops */ From 172282b638e8e1dfa290f6480a70475f9a2e373e Mon Sep 17 00:00:00 2001 From: RKF45 Date: Fri, 6 Feb 2015 23:40:54 +0100 Subject: [PATCH 018/143] Cleaning up paint buckets Remover is finally gone --- code/datums/supplypacks.dm | 1 - code/game/objects/items/weapons/paint.dm | 97 +----------------------- 2 files changed, 1 insertion(+), 97 deletions(-) diff --git a/code/datums/supplypacks.dm b/code/datums/supplypacks.dm index e029b524a75..8b3ec348720 100644 --- a/code/datums/supplypacks.dm +++ b/code/datums/supplypacks.dm @@ -890,7 +890,6 @@ var/list/all_supply_groups = list("Operations","Security","Hospitality","Enginee /obj/item/weapon/reagent_containers/glass/paint/violet, /obj/item/weapon/reagent_containers/glass/paint/black, /obj/item/weapon/reagent_containers/glass/paint/white, - /obj/item/weapon/reagent_containers/glass/paint/remover, /obj/item/weapon/contraband/poster, /obj/item/weapon/wrapping_paper, /obj/item/weapon/wrapping_paper, diff --git a/code/game/objects/items/weapons/paint.dm b/code/game/objects/items/weapons/paint.dm index 0606569c4fa..5a46e5cb704 100644 --- a/code/game/objects/items/weapons/paint.dm +++ b/code/game/objects/items/weapons/paint.dm @@ -11,7 +11,7 @@ var/global/list/cached_icons = list() matter = list("metal" = 200) w_class = 3.0 amount_per_transfer_from_this = 10 - possible_transfer_amounts = list(10,20,30,50,70) + possible_transfer_amounts = list(10,20,30,60) volume = 60 flags = OPENCONTAINER var/paint_type = "" @@ -74,98 +74,3 @@ var/global/list/cached_icons = list() icon_state = "paint_white" paint_type = "white" - remover - paint_type = "remover" -/* -/obj/item/weapon/paint - gender= PLURAL - name = "paint" - desc = "Used to recolor floors and walls. Can not be removed by the janitor." - icon = 'icons/obj/items.dmi' - icon_state = "paint_neutral" - color = "FFFFFF" - item_state = "paintcan" - w_class = 3.0 - -/obj/item/weapon/paint/afterattack(turf/target, mob/user as mob, proximity) - if(!proximity) return - if(!istype(target) || istype(target, /turf/space)) - return - var/ind = "[initial(target.icon)][color]" - if(!cached_icons[ind]) - var/icon/overlay = new/icon(initial(target.icon)) - overlay.Blend("#[color]",ICON_MULTIPLY) - overlay.SetIntensity(1.4) - target.icon = overlay - cached_icons[ind] = target.icon - else - target.icon = cached_icons[ind] - return - -/obj/item/weapon/paint/paint_remover - gender = PLURAL - name = "paint remover" - icon_state = "paint_neutral" - - afterattack(turf/target, mob/user as mob) - if(istype(target) && target.icon != initial(target.icon)) - target.icon = initial(target.icon) - return -*/ -/* -datum/reagent/paint - name = "Paint" - id = "paint_" - reagent_state = 2 - color = "#808080" - description = "This paint will only adhere to floor tiles." - - - - red - name = "Red Paint" - id = "paint_red" - color = "#FE191A" - - green - name = "Green Paint" - color = "#18A31A" - id = "paint_green" - - blue - name = "Blue Paint" - color = "#247CFF" - id = "paint_blue" - - yellow - name = "Yellow Paint" - color = "#FDFE7D" - id = "paint_yellow" - - violet - name = "Violet Paint" - color = "#CC0099" - id = "paint_violet" - - black - name = "Black Paint" - color = "#333333" - id = "paint_black" - - white - name = "White Paint" - color = "#F0F8FF" - id = "paint_white" - -datum/reagent/paint_remover - name = "Paint Remover" - id = "paint_remover" - description = "Paint remover is used to remove floor paint from floor tiles." - reagent_state = 2 - color = "#808080" - - reaction_turf(var/turf/T, var/volume) - if(istype(T) && T.icon != initial(T.icon)) - T.icon = initial(T.icon) - return -*/ From 0ad5195af27785543770d4f7b00ef3413a475c2f Mon Sep 17 00:00:00 2001 From: RKF45 Date: Fri, 6 Feb 2015 23:55:11 +0100 Subject: [PATCH 019/143] Cleaning up --- code/game/objects/items/weapons/paint.dm | 12 +++--------- code/modules/reagents/Chemistry-Colours.dm | 2 ++ code/modules/reagents/Chemistry-Reagents.dm | 1 + 3 files changed, 6 insertions(+), 9 deletions(-) diff --git a/code/game/objects/items/weapons/paint.dm b/code/game/objects/items/weapons/paint.dm index 5a46e5cb704..5373616508e 100644 --- a/code/game/objects/items/weapons/paint.dm +++ b/code/game/objects/items/weapons/paint.dm @@ -1,4 +1,5 @@ //NEVER USE THIS IT SUX -PETETHEGOAT +//THE GOAT WAS RIGHT - RKF var/global/list/cached_icons = list() @@ -14,7 +15,7 @@ var/global/list/cached_icons = list() possible_transfer_amounts = list(10,20,30,60) volume = 60 flags = OPENCONTAINER - var/paint_type = "" + var/paint_type = "red" afterattack(turf/simulated/target, mob/user, proximity) if(!proximity) return @@ -28,9 +29,7 @@ var/global/list/cached_icons = list() return ..() New() - if(paint_type == "remover") - name = "paint remover bucket" - else if(paint_type && lentext(paint_type) > 0) + if(paint_type && lentext(paint_type) > 0) name = paint_type + " " + name ..() reagents.add_reagent("water", volume*3/5) @@ -41,11 +40,6 @@ var/global/list/cached_icons = list() reagents.add_reagent("crayon_dust_[paint_type]", volume/5) reagents.handle_reactions() - on_reagent_change() //Until we have a generic "paint", this will give new colours to all paints in the can - var/mixedcolor = mix_color_from_reagents(reagents.reagent_list) - for(var/datum/reagent/paint/P in reagents.reagent_list) - P.color = mixedcolor - red icon_state = "paint_red" paint_type = "red" diff --git a/code/modules/reagents/Chemistry-Colours.dm b/code/modules/reagents/Chemistry-Colours.dm index aaae973d95e..a59147e85f6 100644 --- a/code/modules/reagents/Chemistry-Colours.dm +++ b/code/modules/reagents/Chemistry-Colours.dm @@ -8,6 +8,7 @@ var/list/greencolor = new /list(contents) var/list/bluecolor = new /list(contents) var/i + //fill the list of weights for(i=1; i<=contents; i++) var/datum/reagent/re = reagent_list[i] @@ -16,6 +17,7 @@ reagentweight *= 20 //Paint colours a mixture twenty times as much weight[i] = reagentweight + //fill the lists of colours for(i=1; i<=contents; i++) var/datum/reagent/re = reagent_list[i] diff --git a/code/modules/reagents/Chemistry-Reagents.dm b/code/modules/reagents/Chemistry-Reagents.dm index eacbaf2a892..1274a40f238 100644 --- a/code/modules/reagents/Chemistry-Reagents.dm +++ b/code/modules/reagents/Chemistry-Reagents.dm @@ -941,6 +941,7 @@ datum if(istype(T, /turf/simulated)) var/turf/simulated/S = T S.dirt = 0 + T.color = initial(T.color) //paint T.clean_blood() for(var/obj/effect/decal/cleanable/C in T.contents) src.reaction_obj(C, volume) From 2c78d480f1e908531a4897a0aa147fc008d17f5c Mon Sep 17 00:00:00 2001 From: RKF45 Date: Sat, 7 Feb 2015 00:18:56 +0100 Subject: [PATCH 020/143] Mops clean paint too For painted walls, I guess --- code/datums/supplypacks.dm | 2 +- code/game/objects/items/weapons/mop.dm | 3 +++ code/game/objects/items/weapons/paint.dm | 6 ++++-- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/code/datums/supplypacks.dm b/code/datums/supplypacks.dm index 8b3ec348720..a7610bfca23 100644 --- a/code/datums/supplypacks.dm +++ b/code/datums/supplypacks.dm @@ -887,7 +887,7 @@ var/list/all_supply_groups = list("Operations","Security","Hospitality","Enginee /obj/item/weapon/reagent_containers/glass/paint/green, /obj/item/weapon/reagent_containers/glass/paint/blue, /obj/item/weapon/reagent_containers/glass/paint/yellow, - /obj/item/weapon/reagent_containers/glass/paint/violet, + /obj/item/weapon/reagent_containers/glass/paint/purple, /obj/item/weapon/reagent_containers/glass/paint/black, /obj/item/weapon/reagent_containers/glass/paint/white, /obj/item/weapon/contraband/poster, diff --git a/code/game/objects/items/weapons/mop.dm b/code/game/objects/items/weapons/mop.dm index fe9945f8f04..a058a8e0a21 100644 --- a/code/game/objects/items/weapons/mop.dm +++ b/code/game/objects/items/weapons/mop.dm @@ -19,6 +19,9 @@ /turf/proc/clean(atom/source) if(source.reagents.has_reagent("water", 1)) clean_blood() + if(istype(src, /turf)) + var/turf/L = src + L.color = initial(L.color) //paint if(istype(src, /turf/simulated)) var/turf/simulated/T = src T.dirt = 0 diff --git a/code/game/objects/items/weapons/paint.dm b/code/game/objects/items/weapons/paint.dm index 5373616508e..77f8172f8fc 100644 --- a/code/game/objects/items/weapons/paint.dm +++ b/code/game/objects/items/weapons/paint.dm @@ -36,6 +36,8 @@ var/global/list/cached_icons = list() reagents.add_reagent("plasticide", volume/5) if(paint_type == "white") //why don't white crayons exist reagents.add_reagent("aluminum", volume/5) + else if (paint_type == "black") + reagents.add_reagent("carbon", volume/5) else reagents.add_reagent("crayon_dust_[paint_type]", volume/5) reagents.handle_reactions() @@ -56,13 +58,13 @@ var/global/list/cached_icons = list() icon_state = "paint_blue" paint_type = "blue" - violet + purple icon_state = "paint_violet" paint_type = "purple" black icon_state = "paint_black" - paint_type = "gray" + paint_type = "black" white icon_state = "paint_white" From 0651bb8d844c6abd0193af2e4a6a95d1f6857284 Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Fri, 6 Feb 2015 23:26:09 +0000 Subject: [PATCH 021/143] Adds a cache to scramble() so that feeding the same input through multiple times in a short timespan results in the same output string. This means that you'll no longer get the radio message being entirely different from the non-radio message, and that all players will see the same scrambled string --- code/modules/mob/language.dm | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) mode change 100755 => 100644 code/modules/mob/language.dm diff --git a/code/modules/mob/language.dm b/code/modules/mob/language.dm old mode 100755 new mode 100644 index 4f4b8a0e6f8..9621ec0176e --- a/code/modules/mob/language.dm +++ b/code/modules/mob/language.dm @@ -1,3 +1,5 @@ +#define SCRAMBLE_CACHE_LEN 20 + /* Datum based languages. Easily editable and modular. */ @@ -35,11 +37,21 @@ return "[trim(full_name)]" +/datum/language + var/list/scramble_cache = list() + /datum/language/proc/scramble(var/input) if(!syllables || !syllables.len) return stars(input) + // If the input is cached already, move it to the end of the cache and return it + if(input in scramble_cache) + var/n = scramble_cache[input] + scramble_cache -= input + scramble_cache[input] = n + return n + var/input_size = length(input) var/scrambled_text = "" var/capitalize = 1 @@ -64,6 +76,13 @@ var/input_ending = copytext(input, input_size) if(input_ending in list("!","?",".")) scrambled_text += input_ending + + // Add it to cache, cutting old entries if the list is too long + scramble_cache[input] = scrambled_text + if(scramble_cache.len > SCRAMBLE_CACHE_LEN) + scramble_cache.Cut(1, scramble_cache.len-SCRAMBLE_CACHE_LEN-1) + + return scrambled_text /datum/language/proc/format_message(message, verb) @@ -424,4 +443,6 @@ dat += "[L.name] (:[L.key])
[L.desc]

" src << browse(dat, "window=checklanguage") - return \ No newline at end of file + return + +#undef SCRAMBLE_CACHE_LEN From 7cc440aecc62b0e32054ee56ed1aeb653e0d83f9 Mon Sep 17 00:00:00 2001 From: Loganbacca Date: Sat, 7 Feb 2015 13:37:12 +1300 Subject: [PATCH 022/143] Absolute paths - Cleaned up projectile.dm and beams.dm --- code/modules/projectiles/projectile.dm | 256 +++++++++---------- code/modules/projectiles/projectile/beams.dm | 142 +++++----- 2 files changed, 197 insertions(+), 201 deletions(-) diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index 3b5ed8bd531..705492c00ab 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -50,115 +50,113 @@ var/agony = 0 var/embed = 0 // whether or not the projectile can embed itself in the mob - proc/on_hit(var/atom/target, var/blocked = 0) - if(blocked >= 2) return 0//Full block - if(!isliving(target)) return 0 - if(isanimal(target)) return 0 - var/mob/living/L = target - L.apply_effects(stun, weaken, paralyze, irradiate, stutter, eyeblur, drowsy, agony, blocked) // add in AGONY! - return 1 +/obj/item/projectile/proc/on_hit(var/atom/target, var/blocked = 0) + if(blocked >= 2) return 0//Full block + if(!isliving(target)) return 0 + if(isanimal(target)) return 0 + var/mob/living/L = target + L.apply_effects(stun, weaken, paralyze, irradiate, stutter, eyeblur, drowsy, agony, blocked) // add in AGONY! + return 1 - proc/check_fire(var/mob/living/target as mob, var/mob/living/user as mob) //Checks if you can hit them or not. - if(!istype(target) || !istype(user)) - return 0 - var/obj/item/projectile/test/in_chamber = new /obj/item/projectile/test(get_step_to(user,target)) //Making the test.... - in_chamber.target = target - in_chamber.flags = flags //Set the flags... - in_chamber.pass_flags = pass_flags //And the pass flags to that of the real projectile... - in_chamber.firer = user - var/output = in_chamber.process() //Test it! - del(in_chamber) //No need for it anymore - return output //Send it back to the gun! +/obj/item/projectile/proc/check_fire(var/mob/living/target as mob, var/mob/living/user as mob) //Checks if you can hit them or not. + if(!istype(target) || !istype(user)) + return 0 + var/obj/item/projectile/test/in_chamber = new /obj/item/projectile/test(get_step_to(user,target)) //Making the test.... + in_chamber.target = target + in_chamber.flags = flags //Set the flags... + in_chamber.pass_flags = pass_flags //And the pass flags to that of the real projectile... + in_chamber.firer = user + var/output = in_chamber.process() //Test it! + del(in_chamber) //No need for it anymore + return output //Send it back to the gun! - Bump(atom/A as mob|obj|turf|area) - if(A == firer) +/obj/item/projectile/Bump(atom/A as mob|obj|turf|area) + if(A == firer) + loc = A.loc + return 0 //cannot shoot yourself + + if(bumped) return 0 + var/forcedodge = 0 // force the projectile to pass + + bumped = 1 + if(firer && istype(A, /mob)) + var/mob/M = A + if(!istype(A, /mob/living)) loc = A.loc - return 0 //cannot shoot yourself + return 0// nope.avi - if(bumped) return 0 - var/forcedodge = 0 // force the projectile to pass + var/distance = get_dist(starting,loc) + var/miss_modifier = -30 - bumped = 1 - if(firer && istype(A, /mob)) - var/mob/M = A - if(!istype(A, /mob/living)) - loc = A.loc - return 0// nope.avi + if (istype(shot_from,/obj/item/weapon/gun)) //If you aim at someone beforehead, it'll hit more often. + var/obj/item/weapon/gun/daddy = shot_from //Kinda balanced by fact you need like 2 seconds to aim + if (daddy.target && original in daddy.target) //As opposed to no-delay pew pew + miss_modifier += -30 + def_zone = get_zone_with_miss_chance(def_zone, M, miss_modifier + 15*distance) - var/distance = get_dist(starting,loc) - var/miss_modifier = -30 - - if (istype(shot_from,/obj/item/weapon/gun)) //If you aim at someone beforehead, it'll hit more often. - var/obj/item/weapon/gun/daddy = shot_from //Kinda balanced by fact you need like 2 seconds to aim - if (daddy.target && original in daddy.target) //As opposed to no-delay pew pew - miss_modifier += -30 - def_zone = get_zone_with_miss_chance(def_zone, M, miss_modifier + 15*distance) - - if(!def_zone) - visible_message("\blue \The [src] misses [M] narrowly!") - forcedodge = -1 + if(!def_zone) + visible_message("\blue \The [src] misses [M] narrowly!") + forcedodge = -1 + else + if(silenced) + M << "\red You've been shot in the [parse_zone(def_zone)] by the [src.name]!" else - if(silenced) - M << "\red You've been shot in the [parse_zone(def_zone)] by the [src.name]!" - else - visible_message("\red [A.name] is hit by the [src.name] in the [parse_zone(def_zone)]!")//X has fired Y is now given by the guns so you cant tell who shot you if you could not see the shooter - if(istype(firer, /mob)) - M.attack_log += "\[[time_stamp()]\] [firer]/[firer.ckey] shot [M]/[M.ckey] with a [src.type]" - firer.attack_log += "\[[time_stamp()]\] [firer]/[firer.ckey] shot [M]/[M.ckey] with a [src.type]" - msg_admin_attack("[firer] ([firer.ckey]) shot [M] ([M.ckey]) with a [src] (JMP)") //BS12 EDIT ALG - else - M.attack_log += "\[[time_stamp()]\] UNKNOWN SUBJECT (No longer exists) shot [M]/[M.ckey] with a [src]" - msg_admin_attack("UNKNOWN shot [M] ([M.ckey]) with a [src] (JMP)") //BS12 EDIT ALG + visible_message("\red [A.name] is hit by the [src.name] in the [parse_zone(def_zone)]!")//X has fired Y is now given by the guns so you cant tell who shot you if you could not see the shooter + if(istype(firer, /mob)) + M.attack_log += "\[[time_stamp()]\] [firer]/[firer.ckey] shot [M]/[M.ckey] with a [src.type]" + firer.attack_log += "\[[time_stamp()]\] [firer]/[firer.ckey] shot [M]/[M.ckey] with a [src.type]" + msg_admin_attack("[firer] ([firer.ckey]) shot [M] ([M.ckey]) with a [src] (JMP)") //BS12 EDIT ALG + else + M.attack_log += "\[[time_stamp()]\] UNKNOWN SUBJECT (No longer exists) shot [M]/[M.ckey] with a [src]" + msg_admin_attack("UNKNOWN shot [M] ([M.ckey]) with a [src] (JMP)") //BS12 EDIT ALG - if(A) - if (!forcedodge) - forcedodge = A.bullet_act(src, def_zone) // searches for return value - if(forcedodge == -1) // the bullet passes through a dense object! - bumped = 0 // reset bumped variable! - if(istype(A, /turf)) - loc = A - else - loc = A.loc - permutated.Add(A) - return 0 - if(istype(A,/turf)) - for(var/obj/O in A) - O.bullet_act(src) - for(var/mob/M in A) - M.bullet_act(src, def_zone) - density = 0 - invisibility = 101 - del(src) + if(A) + if (!forcedodge) + forcedodge = A.bullet_act(src, def_zone) // searches for return value + if(forcedodge == -1) // the bullet passes through a dense object! + bumped = 0 // reset bumped variable! + if(istype(A, /turf)) + loc = A + else + loc = A.loc + permutated.Add(A) + return 0 + if(istype(A,/turf)) + for(var/obj/O in A) + O.bullet_act(src) + for(var/mob/M in A) + M.bullet_act(src, def_zone) + density = 0 + invisibility = 101 + del(src) + return 1 + +/obj/item/projectile/CanPass(atom/movable/mover, turf/target, height=0, air_group=0) + if(air_group || (height==0)) return 1 + + if(istype(mover, /obj/item/projectile)) + return prob(95) + else return 1 - - CanPass(atom/movable/mover, turf/target, height=0, air_group=0) - if(air_group || (height==0)) return 1 - - if(istype(mover, /obj/item/projectile)) - return prob(95) - else - return 1 - - - process() - if(kill_count < 1) +/obj/item/projectile/process() + if(kill_count < 1) + del(src) + kill_count-- + spawn while(src) + if((!( current ) || loc == current)) + current = locate(min(max(x + xo, 1), world.maxx), min(max(y + yo, 1), world.maxy), z) + if((x == 1 || x == world.maxx || y == 1 || y == world.maxy)) del(src) - kill_count-- - spawn while(src) - if((!( current ) || loc == current)) - current = locate(min(max(x + xo, 1), world.maxx), min(max(y + yo, 1), world.maxy), z) - if((x == 1 || x == world.maxx || y == 1 || y == world.maxy)) - del(src) - return - step_towards(src, current) - sleep(1) - if(!bumped && !isturf(original)) - if(loc == get_turf(original)) - if(!(original in permutated)) - Bump(original) - sleep(1) - return + return + step_towards(src, current) + sleep(1) + if(!bumped && !isturf(original)) + if(loc == get_turf(original)) + if(!(original in permutated)) + Bump(original) + sleep(1) + return /obj/item/projectile/test //Used to see if you can hit them. invisibility = 101 //Nope! Can't see me! @@ -167,36 +165,36 @@ var/target = null var/result = 0 //To pass the message back to the gun. - Bump(atom/A as mob|obj|turf|area) - if(A == firer) - loc = A.loc - return //cannot shoot yourself - if(istype(A, /obj/item/projectile)) - return - if(istype(A, /mob/living)) - result = 2 //We hit someone, return 1! - return - result = 1 +/obj/item/projectile/test/Bump(atom/A as mob|obj|turf|area) + if(A == firer) + loc = A.loc + return //cannot shoot yourself + if(istype(A, /obj/item/projectile)) return + if(istype(A, /mob/living)) + result = 2 //We hit someone, return 1! + return + result = 1 + return - process() - var/turf/curloc = get_turf(src) - var/turf/targloc = get_turf(target) - if(!curloc || !targloc) - return 0 - yo = targloc.y - curloc.y - xo = targloc.x - curloc.x - target = targloc - while(src) //Loop on through! - if(result) - return (result - 1) - if((!( target ) || loc == target)) - target = locate(min(max(x + xo, 1), world.maxx), min(max(y + yo, 1), world.maxy), z) //Finding the target turf at map edge - step_towards(src, target) - var/mob/living/M = locate() in get_turf(src) - if(istype(M)) //If there is someting living... - return 1 //Return 1 - else - M = locate() in get_step(src,target) - if(istype(M)) - return 1 +/obj/item/projectile/test/process() + var/turf/curloc = get_turf(src) + var/turf/targloc = get_turf(target) + if(!curloc || !targloc) + return 0 + yo = targloc.y - curloc.y + xo = targloc.x - curloc.x + target = targloc + while(src) //Loop on through! + if(result) + return (result - 1) + if((!( target ) || loc == target)) + target = locate(min(max(x + xo, 1), world.maxx), min(max(y + yo, 1), world.maxy), z) //Finding the target turf at map edge + step_towards(src, target) + var/mob/living/M = locate() in get_turf(src) + if(istype(M)) //If there is someting living... + return 1 //Return 1 + else + M = locate() in get_step(src,target) + if(istype(M)) + return 1 diff --git a/code/modules/projectiles/projectile/beams.dm b/code/modules/projectiles/projectile/beams.dm index b811eb92817..1aaefb060d8 100644 --- a/code/modules/projectiles/projectile/beams.dm +++ b/code/modules/projectiles/projectile/beams.dm @@ -17,68 +17,69 @@ var/list/beam_master = list() flag = "laser" eyeblur = 4 var/frequency = 1 - process() - var/reference = "\ref[src]" //So we do not have to recalculate it a ton - var/first = 1 //So we don't make the overlay in the same tile as the firer - spawn while(src) //Move until we hit something - if((!( current ) || loc == current)) //If we pass our target - current = locate(min(max(x + xo, 1), world.maxx), min(max(y + yo, 1), world.maxy), z) - if((x == 1 || x == world.maxx || y == 1 || y == world.maxy)) - del(src) //Delete if it passes the world edge - return - step_towards(src, current) //Move~ +/obj/item/projectile/beam/process() + var/reference = "\ref[src]" //So we do not have to recalculate it a ton + var/first = 1 //So we don't make the overlay in the same tile as the firer + spawn while(src) //Move until we hit something - if(kill_count < 1) - del(src) - kill_count-- + if((!( current ) || loc == current)) //If we pass our target + current = locate(min(max(x + xo, 1), world.maxx), min(max(y + yo, 1), world.maxy), z) + if((x == 1 || x == world.maxx || y == 1 || y == world.maxy)) + del(src) //Delete if it passes the world edge + return + step_towards(src, current) //Move~ - if(!bumped && !isturf(original)) - if(loc == get_turf(original)) - if(!(original in permutated)) - Bump(original) + if(kill_count < 1) + del(src) + kill_count-- - if(!first) //Add the overlay as we pass over tiles - var/target_dir = get_dir(src, current) //So we don't call this too much + if(!bumped && !isturf(original)) + if(loc == get_turf(original)) + if(!(original in permutated)) + Bump(original) - //If the icon has not been added yet - if( !("[icon_state][target_dir]" in beam_master) ) - var/image/I = image(icon,icon_state,10,target_dir) //Generate it. - beam_master["[icon_state][target_dir]"] = I //And cache it! + if(!first) //Add the overlay as we pass over tiles + var/target_dir = get_dir(src, current) //So we don't call this too much - //Finally add the overlay - src.loc.overlays += beam_master["[icon_state][target_dir]"] + //If the icon has not been added yet + if( !("[icon_state][target_dir]" in beam_master) ) + var/image/I = image(icon,icon_state,10,target_dir) //Generate it. + beam_master["[icon_state][target_dir]"] = I //And cache it! - //Add the turf to a list in the beam master so they can be cleaned up easily. - if(reference in beam_master) - var/list/turf_master = beam_master[reference] - if("[icon_state][target_dir]" in turf_master) - var/list/turfs = turf_master["[icon_state][target_dir]"] - turfs += loc - else - turf_master["[icon_state][target_dir]"] = list(loc) + //Finally add the overlay + src.loc.overlays += beam_master["[icon_state][target_dir]"] + + //Add the turf to a list in the beam master so they can be cleaned up easily. + if(reference in beam_master) + var/list/turf_master = beam_master[reference] + if("[icon_state][target_dir]" in turf_master) + var/list/turfs = turf_master["[icon_state][target_dir]"] + turfs += loc else - var/list/turfs = list() - turfs["[icon_state][target_dir]"] = list(loc) - beam_master[reference] = turfs + turf_master["[icon_state][target_dir]"] = list(loc) else - first = 0 - cleanup(reference) - return + var/list/turfs = list() + turfs["[icon_state][target_dir]"] = list(loc) + beam_master[reference] = turfs + else + first = 0 + cleanup(reference) + return - Del() - cleanup("\ref[src]") - ..() +/obj/item/projectile/beam/Del() + cleanup("\ref[src]") + ..() - proc/cleanup(reference) //Waits .3 seconds then removes the overlay. - src = null //we're getting deleted! this will keep the code running - spawn(3) - var/list/turf_master = beam_master[reference] - for(var/laser_state in turf_master) - var/list/turfs = turf_master[laser_state] - for(var/turf/T in turfs) - T.overlays -= beam_master[laser_state] - return +/obj/item/projectile/beam/proc/cleanup(reference) //Waits .3 seconds then removes the overlay. + src = null //we're getting deleted! this will keep the code running + spawn(3) + var/list/turf_master = beam_master[reference] + for(var/laser_state in turf_master) + var/list/turfs = turf_master[laser_state] + for(var/turf/T in turfs) + T.overlays -= beam_master[laser_state] + return /obj/item/projectile/beam/practice name = "laser" @@ -89,7 +90,6 @@ var/list/beam_master = list() flag = "laser" eyeblur = 2 - /obj/item/projectile/beam/heavylaser name = "heavy laser" icon_state = "heavylaser" @@ -105,13 +105,11 @@ var/list/beam_master = list() icon_state = "u_laser" damage = 50 - /obj/item/projectile/beam/emitter name = "emitter beam" icon_state = "emitter" damage = 30 - /obj/item/projectile/beam/lastertag/blue name = "lasertag beam" icon_state = "bluelaser" @@ -120,12 +118,12 @@ var/list/beam_master = list() damage_type = BURN flag = "laser" - on_hit(var/atom/target, var/blocked = 0) - if(istype(target, /mob/living/carbon/human)) - var/mob/living/carbon/human/M = target - if(istype(M.wear_suit, /obj/item/clothing/suit/redtag)) - M.Weaken(5) - return 1 +/obj/item/projectile/beam/lastertag/blue/on_hit(var/atom/target, var/blocked = 0) + if(istype(target, /mob/living/carbon/human)) + var/mob/living/carbon/human/M = target + if(istype(M.wear_suit, /obj/item/clothing/suit/redtag)) + M.Weaken(5) + return 1 /obj/item/projectile/beam/lastertag/red name = "lasertag beam" @@ -135,12 +133,12 @@ var/list/beam_master = list() damage_type = BURN flag = "laser" - on_hit(var/atom/target, var/blocked = 0) - if(istype(target, /mob/living/carbon/human)) - var/mob/living/carbon/human/M = target - if(istype(M.wear_suit, /obj/item/clothing/suit/bluetag)) - M.Weaken(5) - return 1 +/obj/item/projectile/beam/lastertag/red/on_hit(var/atom/target, var/blocked = 0) + if(istype(target, /mob/living/carbon/human)) + var/mob/living/carbon/human/M = target + if(istype(M.wear_suit, /obj/item/clothing/suit/bluetag)) + M.Weaken(5) + return 1 /obj/item/projectile/beam/lastertag/omni//A laser tag bolt that stuns EVERYONE name = "lasertag beam" @@ -150,12 +148,12 @@ var/list/beam_master = list() damage_type = BURN flag = "laser" - on_hit(var/atom/target, var/blocked = 0) - if(istype(target, /mob/living/carbon/human)) - var/mob/living/carbon/human/M = target - if((istype(M.wear_suit, /obj/item/clothing/suit/bluetag))||(istype(M.wear_suit, /obj/item/clothing/suit/redtag))) - M.Weaken(5) - return 1 +/obj/item/projectile/beam/lastertag/omni/on_hit(var/atom/target, var/blocked = 0) + if(istype(target, /mob/living/carbon/human)) + var/mob/living/carbon/human/M = target + if((istype(M.wear_suit, /obj/item/clothing/suit/bluetag))||(istype(M.wear_suit, /obj/item/clothing/suit/redtag))) + M.Weaken(5) + return 1 /obj/item/projectile/beam/sniper name = "sniper beam" From 5fc1ae395d191df2f5b71c2b8ec505505b13c933 Mon Sep 17 00:00:00 2001 From: RKF45 Date: Sat, 7 Feb 2015 01:41:08 +0100 Subject: [PATCH 023/143] All cleaning removes paint Paint works on mobs and objects --- code/game/atoms.dm | 1 + code/game/objects/items/weapons/mop.dm | 3 --- code/modules/reagents/Chemistry-Reagents.dm | 17 +++++++++++------ 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/code/game/atoms.dm b/code/game/atoms.dm index df288f2cc40..bd0c9cdb541 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -409,6 +409,7 @@ its easier to just keep the beam vertical. /atom/proc/clean_blood() + src.color = initial(src.color) //paint src.germ_level = 0 if(istype(blood_DNA, /list)) del(blood_DNA) diff --git a/code/game/objects/items/weapons/mop.dm b/code/game/objects/items/weapons/mop.dm index a058a8e0a21..fe9945f8f04 100644 --- a/code/game/objects/items/weapons/mop.dm +++ b/code/game/objects/items/weapons/mop.dm @@ -19,9 +19,6 @@ /turf/proc/clean(atom/source) if(source.reagents.has_reagent("water", 1)) clean_blood() - if(istype(src, /turf)) - var/turf/L = src - L.color = initial(L.color) //paint if(istype(src, /turf/simulated)) var/turf/simulated/T = src T.dirt = 0 diff --git a/code/modules/reagents/Chemistry-Reagents.dm b/code/modules/reagents/Chemistry-Reagents.dm index 1274a40f238..694b7ff6a80 100644 --- a/code/modules/reagents/Chemistry-Reagents.dm +++ b/code/modules/reagents/Chemistry-Reagents.dm @@ -941,7 +941,6 @@ datum if(istype(T, /turf/simulated)) var/turf/simulated/S = T S.dirt = 0 - T.color = initial(T.color) //paint T.clean_blood() for(var/obj/effect/decal/cleanable/C in T.contents) src.reaction_obj(C, volume) @@ -1581,21 +1580,27 @@ datum paint name = "Paint" id = "paint" - description = "This paint will stick to almost any object" + description = "This paint will stick to almost any object." reagent_state = LIQUID color = "#808080" overdose = 15 reaction_turf(var/turf/T, var/volume) - if(!istype(T) || istype(T, /turf/space)) - return - T.color = color + ..() + if(istype(T) && !istype(T, /turf/space)) + T.color = color reaction_obj(var/obj/O, var/volume) ..() - if(istype(O,/obj/item/weapon/light)) + if(istype(O,/obj) && !istype(O,/obj/item/weapon/reagent_containers)) + //painting glasses would just be a headache O.color = color + reaction_mob(var/mob/M, var/method=TOUCH, var/volume) + ..() + if(istype(M,/mob)) + M.color = color + //////////////////////////Poison stuff/////////////////////// From 39b467c9da3b3fc286dcfb69e2de7c5f5ac67978 Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 4 Feb 2015 17:56:43 -0500 Subject: [PATCH 024/143] New bullet types, projectile rewrite * Refactors projectile Bump() * Converts projectile_type var strings to paths * Reorganizes bullet projectile paths * Made a pass through all the bullet_act() definitions. Mainly ensured that damage_type is checked when dealing damage to certain objects. Removed stupid /turf bullet_act() override, replaced with on_hit() overrides on the relevant projectiles. * Adds shotgun pellets projectile. Adds Raptor's shotgun slug sprite. * Gives stunshots more of their own identity, refluffs them as taser cartridges for shotguns. They still aren't obtainable anywhere unless spawned. * Makes projectiles pass through girders and cultgirders with a certain probability, unless the girder itself was clicked. * Projectiles are also able to pass through grilles. Low damage projectiles have a chance to be blocked by grilles. High damage projectiles have a chance to have some damage absorbed by the grille. * Makes projectiles for blanks invisible. * Adds flash bullet types * Adds support for 'penetrating' projectiles * Swaps .45 and 9mm projectile types. .45s hit slightly harder, 9mils have more ammo capacity. --- code/game/machinery/atmoalter/canister.dm | 3 + code/game/machinery/bots/bots.dm | 2 + code/game/machinery/turrets.dm | 4 +- code/game/mecha/equipment/tools/tools.dm | 1 + code/game/mecha/equipment/weapons/weapons.dm | 4 +- code/game/mecha/mecha.dm | 19 +- code/game/objects/effects/effect_system.dm | 15 ++ .../items/weapons/grenades/flashbang.dm | 14 +- .../structures/crates_lockers/closets.dm | 3 + code/game/objects/structures/girders.dm | 34 +++- code/game/objects/structures/grille.dm | 27 ++- code/game/objects/structures/inflatable.dm | 3 + code/game/objects/structures/mirror.dm | 7 +- code/game/objects/structures/window.dm | 2 +- code/game/turfs/turf.dm | 12 -- .../spacesuits/rig/modules/rig_weapons.dm | 4 +- .../mob/living/carbon/human/human_defense.dm | 15 +- code/modules/mob/living/living_defense.dm | 2 +- .../mob/living/simple_animal/constructs.dm | 11 +- .../living/simple_animal/hostile/syndicate.dm | 2 +- code/modules/projectiles/ammunition.dm | 8 +- code/modules/projectiles/ammunition/boxes.dm | 2 +- .../modules/projectiles/ammunition/bullets.dm | 98 +++++---- code/modules/projectiles/gun.dm | 65 +++--- code/modules/projectiles/guns/alien.dm | 2 +- code/modules/projectiles/guns/energy.dm | 4 +- .../projectiles/guns/energy/nuclear.dm | 6 +- code/modules/projectiles/guns/energy/pulse.dm | 8 +- code/modules/projectiles/guns/energy/stun.dm | 10 +- code/modules/projectiles/guns/projectile.dm | 6 +- .../projectiles/guns/projectile/automatic.dm | 18 +- .../projectiles/guns/projectile/pistol.dm | 28 +-- .../projectiles/guns/projectile/revolver.dm | 11 +- code/modules/projectiles/projectile.dm | 190 +++++++++++++----- code/modules/projectiles/projectile/beams.dm | 5 + .../modules/projectiles/projectile/bullets.dm | 137 ++++++++++--- code/modules/projectiles/projectile/energy.dm | 36 +++- code/modules/reagents/reagent_dispenser.dm | 2 +- .../xenoarchaeology/machinery/coolant.dm | 2 +- code/modules/vehicles/vehicle.dm | 3 +- icons/obj/ammo.dmi | Bin 4493 -> 4588 bytes 41 files changed, 542 insertions(+), 283 deletions(-) diff --git a/code/game/machinery/atmoalter/canister.dm b/code/game/machinery/atmoalter/canister.dm index 4d963205186..0ab210b526a 100644 --- a/code/game/machinery/atmoalter/canister.dm +++ b/code/game/machinery/atmoalter/canister.dm @@ -221,6 +221,9 @@ update_flag return /obj/machinery/portable_atmospherics/canister/bullet_act(var/obj/item/projectile/Proj) + if(!(Proj.damage_type == BRUTE || Proj.damage_type == BURN)) + return + if(Proj.damage) src.health -= round(Proj.damage / 2) healthcheck() diff --git a/code/game/machinery/bots/bots.dm b/code/game/machinery/bots/bots.dm index c4007c69944..f87ae33ee09 100644 --- a/code/game/machinery/bots/bots.dm +++ b/code/game/machinery/bots/bots.dm @@ -81,6 +81,8 @@ ..() /obj/machinery/bot/bullet_act(var/obj/item/projectile/Proj) + if(!(Proj.damage_type == BRUTE || Proj.damage_type == BURN)) + return health -= Proj.damage ..() healthcheck() diff --git a/code/game/machinery/turrets.dm b/code/game/machinery/turrets.dm index cb76c7921a7..8f81c414def 100644 --- a/code/game/machinery/turrets.dm +++ b/code/game/machinery/turrets.dm @@ -89,7 +89,7 @@ return /obj/machinery/turret/bullet_act(var/obj/item/projectile/Proj) - if(Proj.damage_type == HALLOSS) + if(!(Proj.damage_type == BRUTE || Proj.damage_type == BURN)) return take_damage(Proj.damage) ..() @@ -299,7 +299,7 @@ popping = 0 /obj/machinery/turret/bullet_act(var/obj/item/projectile/Proj) - if(Proj.damage_type == HALLOSS) + if(!(Proj.damage_type == BRUTE || Proj.damage_type == BURN)) return src.health -= Proj.damage ..() diff --git a/code/game/mecha/equipment/tools/tools.dm b/code/game/mecha/equipment/tools/tools.dm index e66796fa9c8..5b71a34ec63 100644 --- a/code/game/mecha/equipment/tools/tools.dm +++ b/code/game/mecha/equipment/tools/tools.dm @@ -1083,6 +1083,7 @@ /obj/item/mecha_parts/mecha_equipment/tool/passenger/destroy() for(var/atom/movable/AM in src) AM.forceMove(get_turf(src)) + AM << "You tumble out of the destroyed [src.name]!" return ..() /obj/item/mecha_parts/mecha_equipment/tool/passenger/Exit(atom/movable/O) diff --git a/code/game/mecha/equipment/weapons/weapons.dm b/code/game/mecha/equipment/weapons/weapons.dm index bcb907a0409..324637cdd32 100644 --- a/code/game/mecha/equipment/weapons/weapons.dm +++ b/code/game/mecha/equipment/weapons/weapons.dm @@ -199,7 +199,7 @@ name = "\improper LBX AC 10 \"Scattershot\"" icon_state = "mecha_scatter" equip_cooldown = 20 - projectile = /obj/item/projectile/bullet/midbullet + projectile = /obj/item/projectile/bullet/pistol/medium fire_sound = 'sound/weapons/Gunshot.ogg' fire_volume = 80 projectiles = 40 @@ -211,7 +211,7 @@ name = "\improper Ultra AC 2" icon_state = "mecha_uac2" equip_cooldown = 10 - projectile = /obj/item/projectile/bullet/weakbullet + projectile = /obj/item/projectile/bullet/pistol/medium fire_sound = 'sound/weapons/Gunshot.ogg' projectiles = 300 projectiles_per_shot = 3 diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index 3285218baf5..47905507000 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -506,8 +506,25 @@ var/ignore_threshold if(istype(Proj, /obj/item/projectile/beam/pulse)) ignore_threshold = 1 - src.take_damage(Proj.damage,Proj.flag) + src.take_damage(Proj.damage, Proj.flag) + if(prob(25)) spark_system.start() src.check_for_internal_damage(list(MECHA_INT_FIRE,MECHA_INT_TEMP_CONTROL,MECHA_INT_TANK_BREACH,MECHA_INT_CONTROL_LOST,MECHA_INT_SHORT_CIRCUIT),ignore_threshold) + + //AP projectiles have a chance to cause additional damage + if(Proj.penetrating) + var/distance = get_dist(Proj.starting, get_turf(loc)) + var/hit_occupant = 1 //only allow the occupant to be hit once + for(var/i in 1 to min(Proj.penetrating, round(Proj.damage/15))) + if(src.occupant && hit_occupant && prob(20)) + Proj.attack_mob(src.occupant, distance) + hit_occupant = 0 + else + src.check_for_internal_damage(list(MECHA_INT_FIRE,MECHA_INT_TEMP_CONTROL,MECHA_INT_TANK_BREACH,MECHA_INT_CONTROL_LOST,MECHA_INT_SHORT_CIRCUIT), 1) + + Proj.penetrating-- + + if(prob(15)) + break //give a chance to exit early Proj.on_hit(src) return diff --git a/code/game/objects/effects/effect_system.dm b/code/game/objects/effects/effect_system.dm index 82d27968db3..ea9af2f70fe 100644 --- a/code/game/objects/effects/effect_system.dm +++ b/code/game/objects/effects/effect_system.dm @@ -233,6 +233,21 @@ steam.start() -- spawns the effect return 0 return 1 +///////////////////////////////////////////// +// Illumination +///////////////////////////////////////////// + +/obj/effect/effect/smoke/illumination + name = "illumination" + opacity = 0 + icon = 'icons/effects/effects.dmi' + icon_state = "sparks" + +/obj/effect/effect/smoke/illumination/New(var/newloc, var/brightness=15, var/lifetime=10) + time_to_live=lifetime + ..() + SetLuminosity(brightness) + ///////////////////////////////////////////// // Bad smoke ///////////////////////////////////////////// diff --git a/code/game/objects/items/weapons/grenades/flashbang.dm b/code/game/objects/items/weapons/grenades/flashbang.dm index f9120d54911..a332f6fa924 100644 --- a/code/game/objects/items/weapons/grenades/flashbang.dm +++ b/code/game/objects/items/weapons/grenades/flashbang.dm @@ -21,11 +21,11 @@ B.health -= damage B.update_icon() - new/obj/effect/effect/smoke/flashbang(src.loc) + new/obj/effect/effect/smoke/illumination(src.loc, brightness=15) del(src) return - proc/bang(var/turf/T , var/mob/living/carbon/M) // Added a new proc called 'bang' that takes a location and a person to be banged. + proc/bang(var/turf/T , var/mob/living/carbon/M) // Added a new proc called 'bang' that takes a location and a person to be banged. if (locate(/obj/item/weapon/cloaking_device, M)) // Called during the loop that bangs people in lockers/containers and when banging for(var/obj/item/weapon/cloaking_device/S in M) // people in normal view. Could theroetically be called during other explosions. S.active = 0 // -- Polymorph @@ -100,16 +100,6 @@ M << "\red Your ears start to ring!" M.update_icons() -/obj/effect/effect/smoke/flashbang - name = "illumination" - time_to_live = 10 - opacity = 0 - icon_state = "sparks" - -/obj/effect/effect/smoke/flashbang/New() - ..() - SetLuminosity(15) - /obj/item/weapon/grenade/flashbang/clusterbang//Created by Polymorph, fixed by Sieve desc = "Use of this weapon may constiute a war crime in your area, consult your local captain." name = "clusterbang" diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm index d9abac89795..40163e7c780 100644 --- a/code/game/objects/structures/crates_lockers/closets.dm +++ b/code/game/objects/structures/crates_lockers/closets.dm @@ -161,6 +161,9 @@ del(src) /obj/structure/closet/bullet_act(var/obj/item/projectile/Proj) + if(!(Proj.damage_type == BRUTE || Proj.damage_type == BURN)) + return + health -= Proj.damage ..() if(health <= 0) diff --git a/code/game/objects/structures/girders.dm b/code/game/objects/structures/girders.dm index db0a5acc911..0512b814b2c 100644 --- a/code/game/objects/structures/girders.dm +++ b/code/game/objects/structures/girders.dm @@ -5,6 +5,7 @@ layer = 2 var/state = 0 var/health = 200 + var/cover = 50 //how much cover the girder provides against projectiles. /obj/structure/girder/attack_generic(var/mob/user, var/damage, var/attack_message = "smashes apart", var/wallbreaker) if(!damage || !wallbreaker) @@ -14,19 +15,25 @@ return 1 /obj/structure/girder/bullet_act(var/obj/item/projectile/Proj) + //Girders only provide partial cover. There's a chance that the projectiles will just pass through. (unless you are trying to shoot the girder) + if(Proj.original != src && !prob(cover)) + return -1 //pass through //Tasers and the like should not damage girders. - if(Proj.damage_type == HALLOSS || Proj.damage_type == TOX || Proj.damage_type == CLONE) + if(!(Proj.damage_type == BRUTE || Proj.damage_type == BURN)) return - if(istype(Proj, /obj/item/projectile/beam)) - health -= Proj.damage - ..() - if(health <= 0) - new /obj/item/stack/sheet/metal(get_turf(src)) - del(src) + var/damage = Proj.damage + if(!istype(Proj, /obj/item/projectile/beam)) + damage *= 0.4 //non beams do reduced damage + + health -= damage + ..() + if(health <= 0) + new /obj/item/stack/sheet/metal(get_turf(src)) + del(src) - return + return /obj/structure/girder/attackby(obj/item/W as obj, mob/user as mob) if(istype(W, /obj/item/weapon/wrench) && state == 0) @@ -209,11 +216,13 @@ icon_state = "displaced" anchored = 0 health = 50 + cover = 25 /obj/structure/girder/reinforced icon_state = "reinforced" state = 2 health = 500 + cover = 80 /obj/structure/cultgirder icon= 'icons/obj/cult.dmi' @@ -222,6 +231,7 @@ density = 1 layer = 2 var/health = 250 + var/cover = 70 /obj/structure/cultgirder/attack_generic(var/mob/user, var/damage, var/attack_message = "smashes apart", var/wallbreaker) if(!damage || !wallbreaker) @@ -258,6 +268,14 @@ dismantle() /obj/structure/cultgirder/bullet_act(var/obj/item/projectile/Proj) //No beam check- How else will you destroy the cult girder with silver bullets????? + //Girders only provide partial cover. There's a chance that the projectiles will just pass through. (unless you are trying to shoot the girder) + if(Proj.original != src && !prob(cover)) + return -1 //pass through + + //Tasers and the like should not damage cultgirders. + if(!(Proj.damage_type == BRUTE || Proj.damage_type == BURN)) + return + health -= Proj.damage ..() if(health <= 0) diff --git a/code/game/objects/structures/grille.dm b/code/game/objects/structures/grille.dm index 2b06bcb534b..76eac1b6b43 100644 --- a/code/game/objects/structures/grille.dm +++ b/code/game/objects/structures/grille.dm @@ -59,16 +59,33 @@ return !density /obj/structure/grille/bullet_act(var/obj/item/projectile/Proj) - if(!Proj) return //Tasers and the like should not damage grilles. - if(Proj.damage_type == HALLOSS) + if(!(Proj.damage_type == BRUTE || Proj.damage_type == BURN)) return - src.health -= Proj.damage*0.2 - healthcheck() - return 0 + //Flimsy grilles aren't so great at stopping projectiles. However they can absorb some of the impact + var/damage = Proj.damage + var/passthrough + if(damage > 30) + passthrough = 1 + if(prob(20)) + Proj.damage *= 0.5 //weaken the projectile + else + //weaker bullets are affected to a greater extent + if(prob(20)) + passthrough = 0 + else + Proj.damage *= 0.5 //weaken the projectile + passthrough = 1 + + if(passthrough) + . = -1 + damage *= 0.1 //if the bullet passes through then the grille avoids most of the damage + + src.health -= damage*0.2 + spawn(0) healthcheck() //spawn to make sure we return properly if the grille is deleted /obj/structure/grille/attackby(obj/item/weapon/W as obj, mob/user as mob) if(iswirecutter(W)) diff --git a/code/game/objects/structures/inflatable.dm b/code/game/objects/structures/inflatable.dm index 9c5182382b7..5df70a54bb8 100644 --- a/code/game/objects/structures/inflatable.dm +++ b/code/game/objects/structures/inflatable.dm @@ -38,6 +38,9 @@ return 0 /obj/structure/inflatable/bullet_act(var/obj/item/projectile/Proj) + if(!(Proj.damage_type == BRUTE || Proj.damage_type == BURN)) + return + health -= Proj.damage ..() if(health <= 0) diff --git a/code/game/objects/structures/mirror.dm b/code/game/objects/structures/mirror.dm index 58e1a81b973..93868d720d8 100644 --- a/code/game/objects/structures/mirror.dm +++ b/code/game/objects/structures/mirror.dm @@ -1,7 +1,7 @@ //wip wip wup /obj/structure/mirror - name = "\improper SalonPro Nano-Mirror(TM)" - desc = "The leading technology in hair salon products, utilizing nano-machinery to style your hair just right." + name = "mirror" + desc = "A SalonPro Nano-Mirror(TM) brand mirror! The leading technology in hair salon products, utilizing nano-machinery to style your hair just right." icon = 'icons/obj/watercloset.dmi' icon_state = "mirror" density = 0 @@ -70,6 +70,9 @@ /obj/structure/mirror/bullet_act(var/obj/item/projectile/Proj) + if(!(Proj.damage_type == BRUTE || Proj.damage_type == BURN)) + return + if(prob(Proj.damage * 2)) if(!shattered) shatter() diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm index 458c5626bca..e0d96bf8213 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/window.dm @@ -100,7 +100,7 @@ /obj/structure/window/bullet_act(var/obj/item/projectile/Proj) //Tasers and the like should not damage windows. - if(Proj.damage_type == HALLOSS) + if(!(Proj.damage_type == BRUTE || Proj.damage_type == BURN)) return ..() diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index 1f867033224..dfd2b480d6d 100644 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -54,18 +54,6 @@ step(user.pulling, get_dir(user.pulling.loc, src)) return 1 -/turf/bullet_act(var/obj/item/projectile/Proj) - if(istype(Proj ,/obj/item/projectile/beam/pulse)) - src.ex_act(2) - ..() - return 0 - -/turf/bullet_act(var/obj/item/projectile/Proj) - if(istype(Proj ,/obj/item/projectile/bullet/gyro)) - explosion(src, -1, 0, 2) - ..() - return 0 - /turf/Enter(atom/movable/mover as mob|obj, atom/forget as mob|obj|turf|area) if(movement_disabled && usr.ckey != movement_disabled_exception) usr << "\red Movement is admin-disabled." //This is to identify lag problems diff --git a/code/modules/clothing/spacesuits/rig/modules/rig_weapons.dm b/code/modules/clothing/spacesuits/rig/modules/rig_weapons.dm index d8373e8bbe6..792a6ed0d05 100644 --- a/code/modules/clothing/spacesuits/rig/modules/rig_weapons.dm +++ b/code/modules/clothing/spacesuits/rig/modules/rig_weapons.dm @@ -28,7 +28,7 @@ var/obj/item/weapon/rig/suit = H.back if(istype(suit) && suit.cell && suit.cell.charge >= 250) suit.cell.use(250) - var/prog_path = text2path(projectile_type) + var/prog_path = projectile_type in_chamber = new prog_path(src) return 1 return 0 @@ -45,7 +45,7 @@ var/obj/item/weapon/rig/suit = H.back if(istype(suit) && suit.cell && suit.cell.charge >= 250) suit.cell.use(250) - var/prog_path = text2path(projectile_type) + var/prog_path = projectile_type in_chamber = new prog_path(src) return 1 return 0 \ No newline at end of file diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index 414f7e2bfb3..a45a11f4533 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -24,7 +24,7 @@ emp_act if(!(def_zone in list("chest", "groin"))) reflectchance /= 2 if(prob(reflectchance)) - visible_message("\red The [P.name] gets reflected by [src]'s [wear_suit.name]!") + visible_message("\red \The [P] gets reflected by \the [src]'s [wear_suit.name]!") // Find a turf near or on the original location to bounce to if(P.starting) @@ -33,12 +33,7 @@ emp_act var/turf/curloc = get_turf(src) // redirect the projectile - P.original = locate(new_x, new_y, P.z) - P.starting = curloc - P.current = curloc - P.firer = src - P.yo = new_y - curloc.y - P.xo = new_x - curloc.x + P.redirect(new_x, new_y, curloc, src) return -1 // complete projectile permutation @@ -47,9 +42,9 @@ emp_act var/armor = getarmor_organ(organ, "bullet") if((P.embed && prob(20 + max(P.damage - armor, -10)))) var/obj/item/weapon/shard/shrapnel/SP = new() - (SP.name) = "[P.name] shrapnel" - (SP.desc) = "[SP.desc] It looks like it was fired from [P.shot_from]." - (SP.loc) = organ + SP.name = (P.name != "shrapnel")? "[P.name] shrapnel" : "shrapnel" + SP.desc = "[SP.desc] It looks like it was fired from [P.shot_from]." + SP.loc = organ organ.embed(SP) return (..(P , def_zone)) diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm index 1be8ea4ac9f..b33c182b289 100644 --- a/code/modules/mob/living/living_defense.dm +++ b/code/modules/mob/living/living_defense.dm @@ -56,7 +56,7 @@ signaler.signal() //Stun Beams - if(istype(P, /obj/item/projectile/beam/stun) || istype(P, /obj/item/projectile/bullet/stunshot)) + if(P.taser_effect) stun_effect_act(0, P.agony, def_zone, P) src <<"\red You have been hit by [P]!" del P diff --git a/code/modules/mob/living/simple_animal/constructs.dm b/code/modules/mob/living/simple_animal/constructs.dm index 5e3e91b90f9..eae7f3e063b 100644 --- a/code/modules/mob/living/simple_animal/constructs.dm +++ b/code/modules/mob/living/simple_animal/constructs.dm @@ -166,8 +166,8 @@ var/reflectchance = 80 - round(P.damage/3) if(prob(reflectchance)) adjustBruteLoss(P.damage * 0.5) - visible_message("The [P.name] gets reflected by [src]'s shell!", \ - "The [P.name] gets reflected by [src]'s shell!") + visible_message("\The [P] was reflected by \the [src]'s shell!", \ + "\The [P] was reflected by \the [src]'s shell!") // Find a turf near or on the original location to bounce to if(P.starting) @@ -176,12 +176,7 @@ var/turf/curloc = get_turf(src) // redirect the projectile - P.original = locate(new_x, new_y, P.z) - P.starting = curloc - P.current = curloc - P.firer = src - P.yo = new_y - curloc.y - P.xo = new_x - curloc.x + P.redirect(new_x, new_y, curloc, src) return -1 // complete projectile permutation diff --git a/code/modules/mob/living/simple_animal/hostile/syndicate.dm b/code/modules/mob/living/simple_animal/hostile/syndicate.dm index ebcdfc1194c..c5c87014ecf 100644 --- a/code/modules/mob/living/simple_animal/hostile/syndicate.dm +++ b/code/modules/mob/living/simple_animal/hostile/syndicate.dm @@ -108,7 +108,7 @@ icon_living = "syndicateranged" casingtype = /obj/item/ammo_casing/a12mm projectilesound = 'sound/weapons/Gunshot_smg.ogg' - projectiletype = /obj/item/projectile/bullet/midbullet2 + projectiletype = /obj/item/projectile/bullet/pistol/medium weapon1 = /obj/item/weapon/gun/projectile/automatic/c20r diff --git a/code/modules/projectiles/ammunition.dm b/code/modules/projectiles/ammunition.dm index 9220f847b9a..b4b213972f5 100644 --- a/code/modules/projectiles/ammunition.dm +++ b/code/modules/projectiles/ammunition.dm @@ -7,14 +7,14 @@ slot_flags = SLOT_BELT throwforce = 1 w_class = 1.0 - var/caliber = "" //Which kind of guns it can be loaded into - var/projectile_type = ""//The bullet type to create when New() is called - var/obj/item/projectile/BB = null //The loaded bullet + var/caliber = "" //Which kind of guns it can be loaded into + var/projectile_type //The bullet type to create when New() is called + var/obj/item/projectile/BB = null //The loaded bullet New() ..() - if(projectile_type) + if(ispath(projectile_type)) BB = new projectile_type(src) pixel_x = rand(-10.0, 10) pixel_y = rand(-10.0, 10) diff --git a/code/modules/projectiles/ammunition/boxes.dm b/code/modules/projectiles/ammunition/boxes.dm index f0daf2eebbe..bd165bb6986 100644 --- a/code/modules/projectiles/ammunition/boxes.dm +++ b/code/modules/projectiles/ammunition/boxes.dm @@ -56,7 +56,7 @@ icon_state = "9x19p" origin_tech = "combat=2" ammo_type = "/obj/item/ammo_casing/c9mm" - max_ammo = 8 + max_ammo = 10 multiple_sprites = 1 /obj/item/ammo_magazine/mc9mm/empty diff --git a/code/modules/projectiles/ammunition/bullets.dm b/code/modules/projectiles/ammunition/bullets.dm index 134b9a6ca34..d0cb2915dc6 100644 --- a/code/modules/projectiles/ammunition/bullets.dm +++ b/code/modules/projectiles/ammunition/bullets.dm @@ -1,113 +1,129 @@ /obj/item/ammo_casing/a357 desc = "A .357 bullet casing." caliber = "357" - projectile_type = "/obj/item/projectile/bullet" + projectile_type = /obj/item/projectile/bullet/pistol/strong /obj/item/ammo_casing/a50 desc = "A .50AE bullet casing." caliber = ".50" - projectile_type = "/obj/item/projectile/bullet" - -/obj/item/ammo_casing/a418 - desc = "A .418 bullet casing." - caliber = "357" - projectile_type = "/obj/item/projectile/bullet/suffocationbullet" - + projectile_type = /obj/item/projectile/bullet/pistol/strong /obj/item/ammo_casing/a75 - desc = "A .75 bullet casing." + desc = "A 20mm bullet casing." caliber = "75" - projectile_type = "/obj/item/projectile/bullet/gyro" - - -/obj/item/ammo_casing/a666 - desc = "A .666 bullet casing." - caliber = "357" - projectile_type = "/obj/item/projectile/bullet/cyanideround" - + projectile_type = /obj/item/projectile/bullet/gyro /obj/item/ammo_casing/c38 desc = "A .38 bullet casing." caliber = "38" - projectile_type = "/obj/item/projectile/bullet/weakbullet" - + projectile_type = /obj/item/projectile/bullet/pistol/rubber /obj/item/ammo_casing/c9mm desc = "A 9mm bullet casing." caliber = "9mm" - projectile_type = "/obj/item/projectile/bullet/midbullet2" - + projectile_type = /obj/item/projectile/bullet/pistol /obj/item/ammo_casing/c45 desc = "A .45 bullet casing." caliber = ".45" - projectile_type = "/obj/item/projectile/bullet/midbullet" + projectile_type = /obj/item/projectile/bullet/pistol/medium /obj/item/ammo_casing/c45r desc = "A .45 rubber bullet casing." caliber = ".45" - projectile_type = "/obj/item/projectile/bullet/weakbullet/rubber" + projectile_type = /obj/item/projectile/bullet/pistol/rubber + +/obj/item/ammo_casing/c45f + desc = "A .45 flash shell casing." + caliber = ".45" + projectile_type = /obj/item/projectile/energy/flash /obj/item/ammo_casing/a12mm desc = "A 12mm bullet casing." caliber = "12mm" - projectile_type = "/obj/item/projectile/bullet/midbullet2" + projectile_type = /obj/item/projectile/bullet/pistol/medium /obj/item/ammo_casing/shotgun + name = "shotgun slug" + desc = "A 12 gauge slug." + icon_state = "slshell" + caliber = "shotgun" + projectile_type = /obj/item/projectile/bullet/shotgun + matter = list("metal" = 12500) + +/obj/item/ammo_casing/shotgun/pellet name = "shotgun shell" desc = "A 12 gauge shell." icon_state = "gshell" - caliber = "shotgun" - projectile_type = "/obj/item/projectile/bullet" + projectile_type = /obj/item/projectile/bullet/pellet/shotgun matter = list("metal" = 12500) - /obj/item/ammo_casing/shotgun/blank name = "shotgun shell" desc = "A blank shell." icon_state = "blshell" - projectile_type = "/obj/item/projectile/bullet/chameleon" + projectile_type = /obj/item/projectile/bullet/blank matter = list("metal" = 250) - /obj/item/ammo_casing/shotgun/beanbag name = "beanbag shell" - desc = "A weak beanbag shell." + desc = "A beanbag shell." icon_state = "bshell" - projectile_type = "/obj/item/projectile/bullet/weakbullet/beanbag" + projectile_type = /obj/item/projectile/bullet/shotgun/beanbag matter = list("metal" = 500) - /obj/item/ammo_casing/shotgun/stunshell name = "stun shell" - desc = "A stunning shell." + desc = "A 12 gauge taser cartridge." icon_state = "stunshell" - projectile_type = "/obj/item/projectile/bullet/stunshot" - matter = list("metal" = 2500) + projectile_type = /obj/item/projectile/energy/electrode/stunshot + matter = list("metal" = 1250, "glass" = 1250) +/obj/item/ammo_casing/shotgun/flash + name = "flash shell" + desc = "A flash shell used to provide illumination." + icon_state = "fshell" + projectile_type = /obj/item/projectile/energy/flash/flare + matter = list("metal" = 250, "glass" = 250) /obj/item/ammo_casing/shotgun/dart - name = "shotgun darts" + name = "shotgun dart" desc = "A dart for use in shotguns." icon_state = "dart" - projectile_type = "/obj/item/projectile/energy/dart" + projectile_type = /obj/item/projectile/energy/dart matter = list("metal" = 12500) /obj/item/ammo_casing/a762 - desc = "A 7.62 bullet casing." + desc = "A 7.62mm bullet casing." caliber = "a762" - projectile_type = "/obj/item/projectile/bullet/a762" + projectile_type = /obj/item/projectile/bullet/rifle/a762 + +/obj/item/ammo_casing/a145 + name = "\improper AP shell casing" + desc = "A 14.5mm AP shell." + icon_state = "slshell" + projectile_type = /obj/item/projectile/bullet/rifle/a145 /obj/item/ammo_casing/rocket name = "rocket shell" desc = "A high explosive designed to be fired from a launcher." icon_state = "rocketshell" - projectile_type = "/obj/item/missile" + projectile_type = /obj/item/missile caliber = "rocket" /obj/item/ammo_casing/chameleon name = "chameleon bullets" desc = "A set of bullets for the Chameleon Gun." - projectile_type = "/obj/item/projectile/bullet/chameleon" + projectile_type = /obj/item/projectile/bullet/chameleon caliber = ".45" + +/obj/item/ammo_casing/a418 + desc = "A .418 bullet casing." + caliber = "357" + projectile_type = /obj/item/projectile/bullet/suffocationbullet + +/obj/item/ammo_casing/a666 + desc = "A .666 bullet casing." + caliber = "357" + projectile_type = /obj/item/projectile/bullet/cyanideround \ No newline at end of file diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index fc44ed09fca..f4bc1175d51 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -77,6 +77,8 @@ /obj/item/weapon/gun/proc/Fire(atom/target as mob|obj|turf|area, mob/living/user as mob|obj, params, reflex = 0)//TODO: go over this //Exclude lasertag guns from the CLUMSY check. + if(!user) return + if(clumsy_check) if(istype(user, /mob/living)) var/mob/living/M = user @@ -97,11 +99,6 @@ add_fingerprint(user) - var/turf/curloc = get_turf(user) - var/turf/targloc = get_turf(target) - if (!istype(targloc) || !istype(curloc)) - return - if(!special_check(user)) return @@ -116,18 +113,6 @@ if(!in_chamber) return - in_chamber.firer = user - in_chamber.def_zone = user.zone_sel.selecting - if(targloc == curloc) - user.bullet_act(in_chamber) - del(in_chamber) - update_icon() - return - - if(recoil) - spawn() - shake_camera(user, recoil + 1, recoil) - if(silenced) playsound(user, fire_sound, 10, 1) else @@ -136,34 +121,46 @@ "You fire [src][reflex ? "by reflex":""]!", \ "You hear a [istype(in_chamber, /obj/item/projectile/beam) ? "laser blast" : "gunshot"]!") - in_chamber.original = target - in_chamber.loc = get_turf(user) - in_chamber.starting = get_turf(user) - in_chamber.shot_from = src user.next_move = world.time + 4 - in_chamber.silenced = silenced - in_chamber.current = curloc - in_chamber.yo = targloc.y - curloc.y - in_chamber.xo = targloc.x - curloc.x + + var/x_offset = 0 + var/y_offset = 0 if(istype(user, /mob/living/carbon)) var/mob/living/carbon/mob = user if(mob.shock_stage > 120) - in_chamber.yo += rand(-2,2) - in_chamber.xo += rand(-2,2) + y_offset = rand(-2,2) + x_offset = rand(-2,2) else if(mob.shock_stage > 70) - in_chamber.yo += rand(-1,1) - in_chamber.xo += rand(-1,1) + y_offset = rand(-1,1) + x_offset = rand(-1,1) + var/p_x + var/p_y if(params) var/list/mouse_control = params2list(params) if(mouse_control["icon-x"]) - in_chamber.p_x = text2num(mouse_control["icon-x"]) + p_x = text2num(mouse_control["icon-x"]) if(mouse_control["icon-y"]) - in_chamber.p_y = text2num(mouse_control["icon-y"]) + p_y = text2num(mouse_control["icon-y"]) + + if(in_chamber) + var/fail = in_chamber.launch( + target = target, + user = user, + launcher = src, + target_zone = user.zone_sel.selecting, + x_offset = x_offset, + y_offset = y_offset, + px = p_x, + py = p_y + ) + + if(fail) return + + if(recoil) + spawn() + shake_camera(user, recoil + 1, recoil) - spawn() - if(in_chamber) - in_chamber.process() sleep(1) in_chamber = null diff --git a/code/modules/projectiles/guns/alien.dm b/code/modules/projectiles/guns/alien.dm index fb678d9b4de..f9af71acc85 100644 --- a/code/modules/projectiles/guns/alien.dm +++ b/code/modules/projectiles/guns/alien.dm @@ -73,7 +73,7 @@ recoil = 1 force = 10 - projectile_type = "/obj/item/projectile/energy/sonic" + projectile_type = /obj/item/projectile/energy/sonic cell_type = "/obj/item/weapon/cell/super" fire_delay = 40 fire_sound = 'sound/effects/basscannon.ogg' diff --git a/code/modules/projectiles/guns/energy.dm b/code/modules/projectiles/guns/energy.dm index 8a38a0325db..0ed82e9f4a4 100644 --- a/code/modules/projectiles/guns/energy.dm +++ b/code/modules/projectiles/guns/energy.dm @@ -7,7 +7,7 @@ var/obj/item/weapon/cell/power_supply //What type of power cell this uses var/charge_cost = 100 //How much energy is needed to fire. var/cell_type = "/obj/item/weapon/cell" - var/projectile_type = "/obj/item/projectile/beam/practice" + var/projectile_type = /obj/item/projectile/beam/practice var/modifystate emp_act(severity) @@ -30,7 +30,7 @@ if(in_chamber) return 1 if(!power_supply) return 0 if(!power_supply.use(charge_cost)) return 0 - if(!projectile_type) return 0 + if(!ispath(projectile_type)) return 0 in_chamber = new projectile_type(src) return 1 diff --git a/code/modules/projectiles/guns/energy/nuclear.dm b/code/modules/projectiles/guns/energy/nuclear.dm index e2a55a5ed47..abfd7510a4e 100644 --- a/code/modules/projectiles/guns/energy/nuclear.dm +++ b/code/modules/projectiles/guns/energy/nuclear.dm @@ -6,7 +6,7 @@ fire_sound = 'sound/weapons/Taser.ogg' charge_cost = 100 //How much energy is needed to fire. - projectile_type = "/obj/item/projectile/beam/stun" + projectile_type = /obj/item/projectile/beam/stun origin_tech = "combat=3;magnets=2" modifystate = "energystun" @@ -20,14 +20,14 @@ charge_cost = 100 fire_sound = 'sound/weapons/Laser.ogg' user << "\red [src.name] is now set to kill." - projectile_type = "/obj/item/projectile/beam" + projectile_type = /obj/item/projectile/beam modifystate = "energykill" if(1) mode = 0 charge_cost = 100 fire_sound = 'sound/weapons/Taser.ogg' user << "\red [src.name] is now set to stun." - projectile_type = "/obj/item/projectile/beam/stun" + projectile_type = /obj/item/projectile/beam/stun modifystate = "energystun" update_icon() if(user.l_hand == src) diff --git a/code/modules/projectiles/guns/energy/pulse.dm b/code/modules/projectiles/guns/energy/pulse.dm index 74b6af43c3d..9b0a22e06c9 100644 --- a/code/modules/projectiles/guns/energy/pulse.dm +++ b/code/modules/projectiles/guns/energy/pulse.dm @@ -6,7 +6,7 @@ force = 10 fire_sound = 'sound/weapons/pulse.ogg' charge_cost = 200 - projectile_type = "/obj/item/projectile/beam/pulse" + projectile_type = /obj/item/projectile/beam/pulse cell_type = "/obj/item/weapon/cell/super" var/mode = 2 fire_delay = 25 @@ -18,19 +18,19 @@ charge_cost = 100 fire_sound = 'sound/weapons/Taser.ogg' user << "\red [src.name] is now set to stun." - projectile_type = "/obj/item/projectile/beam/stun" + projectile_type = /obj/item/projectile/beam/stun if(0) mode = 1 charge_cost = 100 fire_sound = 'sound/weapons/Laser.ogg' user << "\red [src.name] is now set to kill." - projectile_type = "/obj/item/projectile/beam" + projectile_type = /obj/item/projectile/beam if(1) mode = 2 charge_cost = 200 fire_sound = 'sound/weapons/pulse.ogg' user << "\red [src.name] is now set to DESTROY." - projectile_type = "/obj/item/projectile/beam/pulse" + projectile_type = /obj/item/projectile/beam/pulse return isHandgun() diff --git a/code/modules/projectiles/guns/energy/stun.dm b/code/modules/projectiles/guns/energy/stun.dm index 91b64a1de4c..c3d6529dcb7 100644 --- a/code/modules/projectiles/guns/energy/stun.dm +++ b/code/modules/projectiles/guns/energy/stun.dm @@ -5,7 +5,7 @@ item_state = null //so the human update icon uses the icon_state instead. fire_sound = 'sound/weapons/Taser.ogg' charge_cost = 100 - projectile_type = "/obj/item/projectile/beam/stun" + projectile_type = /obj/item/projectile/beam/stun cell_type = "/obj/item/weapon/cell/crap" /obj/item/weapon/gun/energy/taser/cyborg @@ -47,7 +47,7 @@ fire_sound = 'sound/weapons/Taser.ogg' origin_tech = "combat=3;materials=3;powerstorage=2" charge_cost = 125 - projectile_type = "/obj/item/projectile/beam/stun" + projectile_type = /obj/item/projectile/beam/stun cell_type = "/obj/item/weapon/cell" @@ -62,7 +62,7 @@ origin_tech = "combat=2;magnets=2;syndicate=5" silenced = 1 fire_sound = 'sound/weapons/Genhit.ogg' - projectile_type = "/obj/item/projectile/energy/bolt" + projectile_type = /obj/item/projectile/energy/bolt cell_type = "/obj/item/weapon/cell/crap" var/charge_tick = 0 @@ -91,7 +91,7 @@ /obj/item/weapon/gun/energy/crossbow/ninja name = "energy dart thrower" - projectile_type = "/obj/item/projectile/energy/dart" + projectile_type = /obj/item/projectile/energy/dart /obj/item/weapon/gun/energy/crossbow/largecrossbow name = "Energy Crossbow" @@ -99,4 +99,4 @@ w_class = 4.0 force = 10 matter = list("metal" = 200000) - projectile_type = "/obj/item/projectile/energy/bolt/large" + projectile_type = /obj/item/projectile/energy/bolt/large diff --git a/code/modules/projectiles/guns/projectile.dm b/code/modules/projectiles/guns/projectile.dm index f096b819c89..bea28e9c37c 100644 --- a/code/modules/projectiles/guns/projectile.dm +++ b/code/modules/projectiles/guns/projectile.dm @@ -4,7 +4,7 @@ /obj/item/weapon/gun/projectile name = "revolver" - desc = "A classic revolver. Uses 357 ammo" + desc = "A classic revolver. Uses .357 ammo" icon_state = "revolver" caliber = "357" origin_tech = "combat=2;materials=2" @@ -16,12 +16,14 @@ var/max_shells = 7 var/load_method = SPEEDLOADER //0 = Single shells or quick loader, 1 = box, 2 = magazine var/obj/item/ammo_magazine/empty_mag = null - + var/mag_type = null /obj/item/weapon/gun/projectile/New() ..() for(var/i = 1, i <= max_shells, i++) loaded += new ammo_type(src) + if(load_method == MAGAZINE) + empty_mag = new mag_type(src) update_icon() return diff --git a/code/modules/projectiles/guns/projectile/automatic.dm b/code/modules/projectiles/guns/projectile/automatic.dm index ee0d8a6427d..0e5f0d68cd3 100644 --- a/code/modules/projectiles/guns/projectile/automatic.dm +++ b/code/modules/projectiles/guns/projectile/automatic.dm @@ -3,7 +3,7 @@ desc = "A lightweight, fast firing gun. Uses 9mm rounds." icon_state = "saber" //ugly w_class = 3.0 - max_shells = 18 + max_shells = 22 caliber = "9mm" origin_tech = "combat=4;materials=2" ammo_type = "/obj/item/ammo_casing/c9mm" @@ -14,6 +14,9 @@ isHandgun() return 0 +/obj/item/weapon/gun/projectile/automatic/test + name = "test gun" + ammo_type = "/obj/item/ammo_casing/a145" /obj/item/weapon/gun/projectile/automatic/mini_uzi name = "\improper Uzi" @@ -40,15 +43,8 @@ origin_tech = "combat=5;materials=2;syndicate=8" ammo_type = "/obj/item/ammo_casing/a12mm" fire_sound = 'sound/weapons/Gunshot_smg.ogg' - load_method = 2 - - - New() - ..() - empty_mag = new /obj/item/ammo_magazine/a12mm/empty(src) - update_icon() - return - + load_method = MAGAZINE + mag_type = /obj/item/ammo_magazine/a12mm/empty afterattack(atom/target as mob|obj|turf|area, mob/living/user as mob|obj, flag) ..() @@ -80,7 +76,7 @@ origin_tech = "combat=5;materials=1;syndicate=2" ammo_type = "/obj/item/ammo_casing/a762" fire_sound = 'sound/weapons/Gunshot_smg.ogg' - load_method = 2 + load_method = MAGAZINE var/cover_open = 0 var/mag_inserted = 1 diff --git a/code/modules/projectiles/guns/projectile/pistol.dm b/code/modules/projectiles/guns/projectile/pistol.dm index b963924614e..f12420f7dce 100644 --- a/code/modules/projectiles/guns/projectile/pistol.dm +++ b/code/modules/projectiles/guns/projectile/pistol.dm @@ -19,13 +19,8 @@ max_shells = 7 caliber = ".50" ammo_type ="/obj/item/ammo_casing/a50" - load_method = 2 - New() - ..() - empty_mag = new /obj/item/ammo_magazine/a50/empty(src) - update_icon() - return - + load_method = MAGAZINE + mag_type = /obj/item/ammo_magazine/a50/empty afterattack(atom/target as mob|obj|turf|area, mob/living/user as mob|obj, flag) ..() @@ -59,13 +54,8 @@ fire_sound = 'sound/effects/Explosion1.ogg' origin_tech = "combat=3" ammo_type = "/obj/item/ammo_casing/a75" - load_method = 2 - New() - ..() - empty_mag = new /obj/item/ammo_magazine/a75/empty(src) - update_icon() - return - + load_method = MAGAZINE + mag_type = /obj/item/ammo_magazine/a75/empty afterattack(atom/target as mob|obj|turf|area, mob/living/user as mob|obj, flag) ..() @@ -89,17 +79,13 @@ desc = "A small, easily concealable gun. Uses 9mm rounds." icon_state = "pistol" w_class = 2 - max_shells = 8 + max_shells = 10 caliber = "9mm" silenced = 0 origin_tech = "combat=2;materials=2;syndicate=2" ammo_type = "/obj/item/ammo_casing/c9mm" - load_method = 2 - -/obj/item/weapon/gun/projectile/pistol/New() - ..() - empty_mag = new /obj/item/ammo_magazine/mc9mm/empty(src) - return + load_method = MAGAZINE + mag_type = /obj/item/ammo_magazine/mc9mm/empty /obj/item/weapon/gun/projectile/pistol/afterattack(atom/target as mob|obj|turf|area, mob/living/user as mob|obj, flag) ..() diff --git a/code/modules/projectiles/guns/projectile/revolver.dm b/code/modules/projectiles/guns/projectile/revolver.dm index f1eac3e8580..8335bd55aec 100644 --- a/code/modules/projectiles/guns/projectile/revolver.dm +++ b/code/modules/projectiles/guns/projectile/revolver.dm @@ -7,7 +7,6 @@ origin_tech = "combat=2;materials=2" ammo_type = "/obj/item/ammo_casing/c38" - special_check(var/mob/living/carbon/human/M) if(caliber == initial(caliber)) return 1 @@ -77,12 +76,8 @@ max_shells = 7 caliber = ".45" ammo_type = "/obj/item/ammo_casing/c45r" - load_method = 2 - -/obj/item/weapon/gun/projectile/detective/semiauto/New() - ..() - empty_mag = new /obj/item/ammo_magazine/c45r/empty(src) - return + load_method = MAGAZINE + mag_type = /obj/item/ammo_magazine/c45r/empty /obj/item/weapon/gun/projectile/detective/semiauto/afterattack(atom/target as mob|obj|turf|area, mob/living/user as mob|obj, flag) ..() @@ -130,7 +125,7 @@ var/num_loaded = 0 if(istype(A, /obj/item/ammo_magazine)) - if((load_method == 2) && loaded.len) return + if((load_method == MAGAZINE) && loaded.len) return var/obj/item/ammo_magazine/AM = A for(var/obj/item/ammo_casing/AC in AM.stored_ammo) if(getAmmo() > 0 || loaded.len >= max_shells) diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index 3b5ed8bd531..375d45fd545 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -36,8 +36,10 @@ var/damage = 10 var/damage_type = BRUTE //BRUTE, BURN, TOX, OXY, CLONE are the only things that should be in here var/nodamage = 0 //Determines if the projectile will skip any damage inflictions + var/taser_effect = 0 //If set then the projectile will apply it's agony damage using stun_effect_act() to mobs it hits, and other damage will be ignored var/flag = "bullet" //Defines what armor to use when it hits things. Must be set to bullet, laser, energy,or bomb //Cael - bio and rad are also valid - var/projectile_type = "/obj/item/projectile" + var/projectile_type = /obj/item/projectile + var/penetrating = 0 //If greater than zero, the projectile will pass through dense objects as specified by on_penetrate() var/kill_count = 50 //This will de-increment every process(). When 0, it will delete the projectile. //Effects var/stun = 0 @@ -50,7 +52,8 @@ var/agony = 0 var/embed = 0 // whether or not the projectile can embed itself in the mob - proc/on_hit(var/atom/target, var/blocked = 0) + //TODO: make it so this is called more reliably, instead of sometimes by bullet_act() and sometimes not + proc/on_hit(var/atom/target, var/blocked = 0, var/def_zone = null) if(blocked >= 2) return 0//Full block if(!isliving(target)) return 0 if(isanimal(target)) return 0 @@ -58,6 +61,14 @@ L.apply_effects(stun, weaken, paralyze, irradiate, stutter, eyeblur, drowsy, agony, blocked) // add in AGONY! return 1 + //called when the projectile stops flying because it collided with something + proc/on_impact(var/atom/A) + return + + //return 1 if the projectile should be allowed to pass through after all, 0 if not. + proc/on_penetrate(var/atom/A) + return 1 + proc/check_fire(var/mob/living/target as mob, var/mob/living/user as mob) //Checks if you can hit them or not. if(!istype(target) || !istype(user)) return 0 @@ -70,77 +81,152 @@ del(in_chamber) //No need for it anymore return output //Send it back to the gun! + //called to launch a projectile from a gun + proc/launch(atom/target, mob/user, obj/item/weapon/gun/launcher, var/target_zone, var/x_offset=0, var/y_offset=0, var/px=null, var/py=null) + var/turf/curloc = get_turf(user) + var/turf/targloc = get_turf(target) + if (!istype(targloc) || !istype(curloc)) + return 1 + + firer = user + def_zone = user.zone_sel.selecting + + if(user == target) //Shooting yourself + user.bullet_act(src, target_zone) + del(src) + return 0 + if(targloc == curloc) //Shooting the ground + targloc.bullet_act(src, target_zone) + del(src) + return 0 + + original = target + loc = curloc + starting = curloc + current = curloc + yo = targloc.y - curloc.y + y_offset + xo = targloc.x - curloc.x + x_offset + if(!isnull(py)) p_y = py + if(!isnull(px)) p_x = px + + shot_from = launcher + silenced = launcher.silenced + + spawn() + process() + + return 0 + + //Used to change the direction of the projectile in flight. + proc/redirect(var/new_x, var/new_y, var/atom/starting_loc, var/mob/new_firer=null) + original = locate(new_x, new_y, src.z) + starting = starting_loc + current = starting_loc + if(new_firer) + firer = src + + yo = new_y - starting_loc.y + xo = new_x - starting_loc.x + + //Called when the projectile intercepts a mob. Returns 1 if the projectile hit the mob, 0 if it missed and should keep flying. + proc/attack_mob(var/mob/living/target_mob, var/distance, var/miss_modifier = -30) + //accuracy bonus from aiming + if (istype(shot_from, /obj/item/weapon/gun)) //If you aim at someone beforehead, it'll hit more often. + var/obj/item/weapon/gun/daddy = shot_from //Kinda balanced by fact you need like 2 seconds to aim + if (daddy.target && original in daddy.target) //As opposed to no-delay pew pew + miss_modifier += -30 + + //roll to-hit + var/hit_zone = get_zone_with_miss_chance(def_zone, target_mob, max(miss_modifier + 15*distance, 0)) + if(!hit_zone) + visible_message("\The [src] misses [target_mob] narrowly!") + return 0 + + //set def_zone, so if the projectile ends up hitting someone else later (to be implemented), it is more likely to hit the same part + def_zone = hit_zone + + //hit messages + if(silenced) + target_mob << "You've been hit in the [parse_zone(def_zone)] by \the [src]!" + else + visible_message("\The [target_mob] is hit by \the [src] in the [parse_zone(def_zone)]!")//X has fired Y is now given by the guns so you cant tell who shot you if you could not see the shooter + + //admin logs + if(istype(firer, /mob)) + target_mob.attack_log += "\[[time_stamp()]\] [firer]/[firer.ckey] shot [target_mob]/[target_mob.ckey] with a [src.type]" + firer.attack_log += "\[[time_stamp()]\] [firer]/[firer.ckey] shot [target_mob]/[target_mob.ckey] with a [src.type]" + msg_admin_attack("[firer] ([firer.ckey]) shot [target_mob] ([target_mob.ckey]) with a [src] (JMP)") //BS12 EDIT ALG + else + target_mob.attack_log += "\[[time_stamp()]\] UNKNOWN SUBJECT (No longer exists) shot [target_mob]/[target_mob.ckey] with a [src]" + msg_admin_attack("UNKNOWN shot [target_mob] ([target_mob.ckey]) with a [src] (JMP)") //BS12 EDIT ALG + + //sometimes bullet_act() will want the projectile to continue flying + if (target_mob.bullet_act(src, def_zone) == -1) + return 0 + + return 1 + Bump(atom/A as mob|obj|turf|area) + if(A == src) + return 0 //no + if(A == firer) loc = A.loc return 0 //cannot shoot yourself - if(bumped) return 0 - var/forcedodge = 0 // force the projectile to pass + if(bumped) + return 0 + + var/passthrough = 0 //if the projectile should continue flying + var/distance = get_dist(starting,loc) bumped = 1 - if(firer && istype(A, /mob)) + if(ismob(A)) var/mob/M = A - if(!istype(A, /mob/living)) - loc = A.loc - return 0// nope.avi - - var/distance = get_dist(starting,loc) - var/miss_modifier = -30 - - if (istype(shot_from,/obj/item/weapon/gun)) //If you aim at someone beforehead, it'll hit more often. - var/obj/item/weapon/gun/daddy = shot_from //Kinda balanced by fact you need like 2 seconds to aim - if (daddy.target && original in daddy.target) //As opposed to no-delay pew pew - miss_modifier += -30 - def_zone = get_zone_with_miss_chance(def_zone, M, miss_modifier + 15*distance) - - if(!def_zone) - visible_message("\blue \The [src] misses [M] narrowly!") - forcedodge = -1 + if(istype(A, /mob/living)) + passthrough = !attack_mob(M, distance) else - if(silenced) - M << "\red You've been shot in the [parse_zone(def_zone)] by the [src.name]!" - else - visible_message("\red [A.name] is hit by the [src.name] in the [parse_zone(def_zone)]!")//X has fired Y is now given by the guns so you cant tell who shot you if you could not see the shooter - if(istype(firer, /mob)) - M.attack_log += "\[[time_stamp()]\] [firer]/[firer.ckey] shot [M]/[M.ckey] with a [src.type]" - firer.attack_log += "\[[time_stamp()]\] [firer]/[firer.ckey] shot [M]/[M.ckey] with a [src.type]" - msg_admin_attack("[firer] ([firer.ckey]) shot [M] ([M.ckey]) with a [src] (JMP)") //BS12 EDIT ALG - else - M.attack_log += "\[[time_stamp()]\] UNKNOWN SUBJECT (No longer exists) shot [M]/[M.ckey] with a [src]" - msg_admin_attack("UNKNOWN shot [M] ([M.ckey]) with a [src] (JMP)") //BS12 EDIT ALG - - if(A) - if (!forcedodge) - forcedodge = A.bullet_act(src, def_zone) // searches for return value - if(forcedodge == -1) // the bullet passes through a dense object! - bumped = 0 // reset bumped variable! - if(istype(A, /turf)) - loc = A - else - loc = A.loc - permutated.Add(A) - return 0 - if(istype(A,/turf)) + passthrough = 1 //so ghosts don't stop bullets + else + passthrough = (A.bullet_act(src, def_zone) == -1) //backwards compatibility + if(isturf(A)) for(var/obj/O in A) O.bullet_act(src) for(var/mob/M in A) - M.bullet_act(src, def_zone) - density = 0 - invisibility = 101 - del(src) - return 1 + attack_mob(M, distance) + //penetrating projectiles can pass through things that otherwise would not let them + if(penetrating > 0) + if(on_penetrate(A)) + passthrough = 1 + penetrating-- + + //the bullet passes through a dense object! + if(passthrough) + bumped = 0 //reset bumped variable! + if(istype(A, /turf)) + loc = A + else + loc = A.loc + permutated.Add(A) + return 0 + + //stop flying + on_impact(A) + + density = 0 + invisibility = 101 + del(src) + return 1 CanPass(atom/movable/mover, turf/target, height=0, air_group=0) if(air_group || (height==0)) return 1 if(istype(mover, /obj/item/projectile)) - return prob(95) + return prob(95) //ha else return 1 - process() if(kill_count < 1) del(src) diff --git a/code/modules/projectiles/projectile/beams.dm b/code/modules/projectiles/projectile/beams.dm index b811eb92817..4ad1a3fab27 100644 --- a/code/modules/projectiles/projectile/beams.dm +++ b/code/modules/projectiles/projectile/beams.dm @@ -105,6 +105,10 @@ var/list/beam_master = list() icon_state = "u_laser" damage = 50 +/obj/item/projectile/beam/pulse/on_hit(var/atom/target, var/blocked = 0) + if(isturf(target)) + target.ex_act(2) + ..() /obj/item/projectile/beam/emitter name = "emitter beam" @@ -169,5 +173,6 @@ var/list/beam_master = list() name = "stun beam" icon_state = "stun" nodamage = 1 + taser_effect = 1 agony = 40 damage_type = HALLOSS diff --git a/code/modules/projectiles/projectile/bullets.dm b/code/modules/projectiles/projectile/bullets.dm index d1216d15590..5da27e9ef01 100644 --- a/code/modules/projectiles/projectile/bullets.dm +++ b/code/modules/projectiles/projectile/bullets.dm @@ -8,62 +8,153 @@ embed = 1 sharp = 1 - on_hit(var/atom/target, var/blocked = 0) - if (..(target, blocked)) - var/mob/living/L = target - shake_camera(L, 3, 2) +/obj/item/projectile/bullet/on_hit(var/atom/target, var/blocked = 0) + if (..(target, blocked)) + var/mob/living/L = target + shake_camera(L, 3, 2) -/obj/item/projectile/bullet/weakbullet // "rubber" bullets +/obj/item/projectile/bullet/on_penetrate(var/atom/A) + if(!A) return 1 //if whatever it was got destroyed when we hit it, then I guess we can just keep going + + if(istype(A, /obj/mecha)) + return 1 //mecha have their own penetration handling + + if(ismob(A)) + if(iscarbon(A)) + //squishy mobs absorb KE + if (damage <= 20) return 0 + damage *= 0.7 + return 1 + + if(istype(A, /obj/machinery) || istype(A, /obj/structure)) + var/chance = 15 + if(istype(A, /turf/simulated/wall)) + var/turf/simulated/wall/W = A + chance = round(damage/W.damage_cap*100) + else if(istype(A, /obj/machinery/door)) + var/obj/machinery/door/D = A + chance = round(damage/D.maxhealth*100) + else if(istype(A, /obj/structure/girder) || istype(A, /obj/structure/cultgirder)) + chance = 100 + + if(prob(chance)) + if(A.opacity) + //display a message so that people on the other side aren't so confused + A.visible_message("\The [src] pierces through \the [A]!") + return 1 + + return 0 + +//For projectiles that actually represent clouds of projectiles +/obj/item/projectile/bullet/pellet + name = "shrapnel" //'shrapnel' sounds more dangerous (i.e. cooler) than 'pellet' + damage = 20 + //icon_state = "bullet" //TODO: would be nice to have it's own icon state + var/pellets = 4 //number of pellets + var/range_step = 2 //effective pellet count decreases every few tiles + var/base_spread = 90 //lower means the pellets spread more across body parts + var/spread_step = 10 //higher means the pellets spread more across body parts with distance + +/obj/item/projectile/bullet/pellet/Bumped() + . = ..() + bumped = 0 //can hit all mobs in a tile. pellets is decremented inside attack_mob so this should be fine. + +/obj/item/projectile/bullet/pellet/attack_mob(var/mob/living/target_mob, var/distance) + if (pellets < 0) return 1 + + var/pellet_loss = round((distance - 1)/range_step) //pellets lost due to distance + var/total_pellets = max(pellets - pellet_loss, 1) + var/spread = max(base_spread - (spread_step*distance), 0) + var/hits = 0 + for (var/i in 1 to total_pellets) + //pellet hits spread out across different zones, but 'aim at' the targeted zone with higher probability + //whether the pellet actually hits the def_zone or a different zone should still be determined by the parent using get_zone_with_miss_chance(). + var/old_zone = def_zone + def_zone = ran_zone(def_zone, spread) + if (..()) hits++ + def_zone = old_zone //restore the original zone the projectile was aimed at + + pellets -= hits //each hit reduces the number of pellets left + if (hits >= total_pellets || pellets <= 0) + return 1 + return 0 + +/* short-casing projectiles, like the kind used in pistols or SMGs */ + +/obj/item/projectile/bullet/pistol + damage = 20 + +/obj/item/projectile/bullet/pistol/medium + damage = 25 + +/obj/item/projectile/bullet/pistol/strong //revolvers and matebas + damage = 60 + +/obj/item/projectile/bullet/pistol/rubber //"rubber" bullets + name = "rubber bullet" damage = 10 agony = 40 embed = 0 sharp = 0 -/obj/item/projectile/bullet/weakbullet/beanbag //because beanbags are not bullets +/* shotgun projectiles */ + +/obj/item/projectile/bullet/shotgun + name = "slug" + damage = 60 + +/obj/item/projectile/bullet/shotgun/beanbag //because beanbags are not bullets name = "beanbag" damage = 20 agony = 60 embed = 0 sharp = 0 -/obj/item/projectile/bullet/weakbullet/rubber - name = "rubber bullet" +//Should do about 80 damage at 1 tile distance (adjacent), and 50 damage at 3 tiles distance. +//Overall less damage than slugs in exchange for more damage at very close range and more embedding +/obj/item/projectile/bullet/pellet/shotgun + name = "shrapnel" + damage = 13 + pellets = 6 + range_step = 1 + spread_step = 10 -/obj/item/projectile/bullet/midbullet - damage = 20 +/* "Rifle" rounds */ -/obj/item/projectile/bullet/midbullet2 +/obj/item/projectile/bullet/rifle/a762 damage = 25 +/obj/item/projectile/bullet/rifle/a145 + damage = 90 + penetrating = 5 + +/* Miscellaneous */ + /obj/item/projectile/bullet/suffocationbullet//How does this even work? name = "co bullet" damage = 20 damage_type = OXY - /obj/item/projectile/bullet/cyanideround name = "poison bullet" damage = 40 damage_type = TOX - -/obj/item/projectile/bullet/burstbullet//I think this one needs something for the on hit +/obj/item/projectile/bullet/burstbullet name = "exploding bullet" damage = 20 embed = 0 edge = 1 +/obj/item/projectile/bullet/gyro/on_hit(var/atom/target, var/blocked = 0) + if(isturf(target)) + explosion(target, -1, 0, 2) + ..() -/obj/item/projectile/bullet/stunshot - name = "stunshot" - damage = 5 - agony = 80 - stutter = 10 +/obj/item/projectile/bullet/blank + invisibility = 101 + damage = 1 embed = 0 - sharp = 0 - -/obj/item/projectile/bullet/a762 - damage = 25 /obj/item/projectile/bullet/chameleon damage = 1 // stop trying to murderbone with a fake gun dumbass!!! diff --git a/code/modules/projectiles/projectile/energy.dm b/code/modules/projectiles/projectile/energy.dm index b94bda70adf..851f691b411 100644 --- a/code/modules/projectiles/projectile/energy.dm +++ b/code/modules/projectiles/projectile/energy.dm @@ -6,6 +6,35 @@ flag = "energy" +//releases a very short burst of light on impact, mainly used to blind people +/obj/item/projectile/energy/flash + name = "shell" //a chemical filled shell or something + icon_state = "bullet" + damage = 5 + var/flash_range = 1 + var/brightness = 5 + var/light_duration = 10 + +/obj/item/projectile/energy/flash/on_impact() + var/turf/T = get_turf(src) + + if(!istype(T)) return + + src.visible_message("\The [src] explodes in a bright flash!") + for (var/mob/living/carbon/M in viewers(T, flash_range)) + if(M.eyecheck() < 1) + flick("e_flash", M.flash) + + playsound(src, 'sound/effects/snap.ogg', 50, 1) + new/obj/effect/effect/smoke/illumination(src.loc, brightness=max(flash_range*2, brightness), lifetime=light_duration) + +//blinds people like the flash round, but can also be used for temporary illumination +/obj/item/projectile/energy/flash/flare + damage = 10 + flash_range = 1 + brightness = 7 //similar to a flare + light_duration = 150 + /obj/item/projectile/energy/electrode name = "electrode" icon_state = "spark" @@ -15,11 +44,16 @@ weaken = 10 stutter = 10 */ + taser_effect = 1 agony = 40 damage_type = HALLOSS //Damage will be handled on the MOB side, to prevent window shattering. - +/obj/item/projectile/energy/electrode/stunshot + name = "stunshot" + damage = 5 + taser_effect = 1 + agony = 80 /obj/item/projectile/energy/declone name = "declone" diff --git a/code/modules/reagents/reagent_dispenser.dm b/code/modules/reagents/reagent_dispenser.dm index 0156625886b..9ed7a9ecad1 100644 --- a/code/modules/reagents/reagent_dispenser.dm +++ b/code/modules/reagents/reagent_dispenser.dm @@ -146,7 +146,7 @@ /obj/structure/reagent_dispensers/fueltank/bullet_act(var/obj/item/projectile/Proj) - if(istype(Proj ,/obj/item/projectile/beam)||istype(Proj,/obj/item/projectile/bullet)) + if(Proj.damage_type == BRUTE || Proj.damage_type == BURN) if(istype(Proj.firer)) message_admins("[key_name_admin(Proj.firer)] shot fueltank at [loc.loc.name] ([loc.x],[loc.y],[loc.z]) (JMP).") log_game("[key_name(Proj.firer)] shot fueltank at [loc.loc.name] ([loc.x],[loc.y],[loc.z]).") diff --git a/code/modules/research/xenoarchaeology/machinery/coolant.dm b/code/modules/research/xenoarchaeology/machinery/coolant.dm index 6c0652f4084..b2f2cd3d670 100644 --- a/code/modules/research/xenoarchaeology/machinery/coolant.dm +++ b/code/modules/research/xenoarchaeology/machinery/coolant.dm @@ -26,7 +26,7 @@ datum/chemical_reaction/coolant reagents.add_reagent("coolant",1000) /obj/structure/reagent_dispensers/coolanttank/bullet_act(var/obj/item/projectile/Proj) - if(istype(Proj ,/obj/item/projectile/beam)||istype(Proj,/obj/item/projectile/bullet)) + if(Proj.damage_type == BRUTE || Proj.damage_type == BURN) if(!istype(Proj ,/obj/item/projectile/beam/lastertag) && !istype(Proj ,/obj/item/projectile/beam/practice) ) explode() diff --git a/code/modules/vehicles/vehicle.dm b/code/modules/vehicles/vehicle.dm index 24f15422190..c39c8ec047e 100644 --- a/code/modules/vehicles/vehicle.dm +++ b/code/modules/vehicles/vehicle.dm @@ -114,7 +114,8 @@ ..() /obj/vehicle/bullet_act(var/obj/item/projectile/Proj) - health -= Proj.damage + if (Proj.damage_type == BRUTE || Proj.damage_type == BURN) + health -= Proj.damage ..() healthcheck() diff --git a/icons/obj/ammo.dmi b/icons/obj/ammo.dmi index 10fae561b764edd7c00d2d8079f8921e248f3769..b6780ecec3e2d702223f1080b824ce08fcf177c5 100644 GIT binary patch delta 4283 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 LyP>O{u*ClXF7QFb delta 4212 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 g|1J!T+q*mkEnK%n;0Z07ml*3IG5A From 5494b4d8c9eee7dd1e03235ee9a897698c238a89 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Fri, 6 Feb 2015 19:58:15 -0500 Subject: [PATCH 025/143] Supply packs, autolathe recipes, magazine and box definitions. --- code/datums/supplypacks.dm | 25 +++++++++++++------ code/game/machinery/autolathe_datums.dm | 20 +++++++++++---- .../objects/items/weapons/storage/boxes.dm | 16 +++++++++++- code/modules/projectiles/ammunition/boxes.dm | 7 ++++++ .../projectiles/guns/projectile/revolver.dm | 7 ++++++ .../projectiles/guns/projectile/shotgun.dm | 2 +- 6 files changed, 63 insertions(+), 14 deletions(-) diff --git a/code/datums/supplypacks.dm b/code/datums/supplypacks.dm index e029b524a75..3042a6c0b1e 100644 --- a/code/datums/supplypacks.dm +++ b/code/datums/supplypacks.dm @@ -731,9 +731,6 @@ var/list/all_supply_groups = list("Operations","Security","Hospitality","Enginee /obj/item/weapon/shield/riot, /obj/item/weapon/shield/riot, /obj/item/weapon/shield/riot, - /obj/item/weapon/storage/box/flashbangs, - /obj/item/weapon/storage/box/flashbangs, - /obj/item/weapon/storage/box/flashbangs, /obj/item/weapon/handcuffs, /obj/item/weapon/handcuffs, /obj/item/weapon/handcuffs, @@ -742,13 +739,26 @@ var/list/all_supply_groups = list("Operations","Security","Hospitality","Enginee /obj/item/clothing/head/helmet/riot, /obj/item/clothing/suit/armor/riot, /obj/item/clothing/head/helmet/riot, - /obj/item/clothing/suit/armor/riot) + /obj/item/clothing/suit/armor/riot, + /obj/item/weapon/storage/box/flashbangs, + /obj/item/weapon/storage/box/beanbags, + /obj/item/weapon/storage/box/handcuffs) cost = 60 containertype = /obj/structure/closet/crate/secure containername = "Riot gear crate" access = access_armory group = "Security" +/datum/supply_packs/energyweapons + name = "Energy weapons crate" + contains = list(/obj/item/weapon/gun/energy/laser, + /obj/item/weapon/gun/energy/laser, + /obj/item/weapon/gun/energy/gun) + cost = 50 + containertype = /obj/structure/closet/crate/secure + containername = "energy weapons crate" + access = access_armory + group = "Security" /datum/supply_packs/ballistic name = "Ballistic gear crate" @@ -775,13 +785,14 @@ var/list/all_supply_groups = list("Operations","Security","Hospitality","Enginee group = "Security" /datum/supply_packs/shotgunammo - name = "Shotgun shells" + name = "Ballistic ammunition crate" contains = list(/obj/item/weapon/storage/box/shotgunammo, /obj/item/weapon/storage/box/shotgunammo, - /obj/item/weapon/storage/box/shotgunammo) + /obj/item/weapon/storage/box/shotgunshells, + /obj/item/weapon/storage/box/shotgunshells) cost = 60 containertype = /obj/structure/closet/crate/secure - containername = "Shotgun shells" + containername = "ballistic ammunition crate" access = access_armory group = "Security" diff --git a/code/game/machinery/autolathe_datums.dm b/code/game/machinery/autolathe_datums.dm index 996daa2d10b..3948f70f33c 100644 --- a/code/game/machinery/autolathe_datums.dm +++ b/code/game/machinery/autolathe_datums.dm @@ -202,7 +202,7 @@ category = "Medical" /datum/autolathe/recipe/shotgun_blanks - name = "ammunition (shotgun, blanks)" + name = "ammunition (shotgun, blank)" path = /obj/item/ammo_casing/shotgun/blank category = "Arms and Ammunition" @@ -211,11 +211,21 @@ path = /obj/item/ammo_casing/shotgun/beanbag category = "Arms and Ammunition" +/datum/autolathe/recipe/shotgun_flash + name = "ammunition (shotgun, flash)" + path = /obj/item/ammo_casing/shotgun/flash + category = "Arms and Ammunition" + /datum/autolathe/recipe/magazine_rubber name = "ammunition (rubber)" path = /obj/item/ammo_magazine/c45r category = "Arms and Ammunition" +/datum/autolathe/recipe/magazine_flash + name = "ammunition (flash)" + path = /obj/item/ammo_magazine/c45f + category = "Arms and Ammunition" + /datum/autolathe/recipe/consolescreen name = "console screen" path = /obj/item/weapon/stock_parts/console_screen @@ -285,14 +295,14 @@ category = "Arms and Ammunition" /datum/autolathe/recipe/shotgun - name = "ammunition (shell, shotgun)" + name = "ammunition (slug, shotgun)" path = /obj/item/ammo_casing/shotgun hidden = 1 category = "Arms and Ammunition" -/datum/autolathe/recipe/shotgun_dart - name = "ammunition (dart, shotgun)" - path = /obj/item/ammo_casing/shotgun/dart +/datum/autolathe/recipe/shotgun_pellet + name = "ammunition (shell, shotgun)" + path = /obj/item/ammo_casing/shotgun/pellet hidden = 1 category = "Arms and Ammunition" diff --git a/code/game/objects/items/weapons/storage/boxes.dm b/code/game/objects/items/weapons/storage/boxes.dm index ced886bedd9..9692cacf698 100644 --- a/code/game/objects/items/weapons/storage/boxes.dm +++ b/code/game/objects/items/weapons/storage/boxes.dm @@ -149,7 +149,7 @@ new /obj/item/ammo_casing/shotgun/beanbag(src) /obj/item/weapon/storage/box/shotgunammo - name = "box of shotgun shells" + name = "box of shotgun slugs" desc = "It has a picture of a gun and several warning symbols on the front.
WARNING: Live ammunition. Misuse may result in serious injury or death." New() @@ -162,6 +162,20 @@ new /obj/item/ammo_casing/shotgun(src) new /obj/item/ammo_casing/shotgun(src) +/obj/item/weapon/storage/box/shotgunshells + name = "box of shotgun shells" + desc = "It has a picture of a gun and several warning symbols on the front.
WARNING: Live ammunition. Misuse may result in serious injury or death." + + New() + ..() + new /obj/item/ammo_casing/shotgun/pellet(src) + new /obj/item/ammo_casing/shotgun/pellet(src) + new /obj/item/ammo_casing/shotgun/pellet(src) + new /obj/item/ammo_casing/shotgun/pellet(src) + new /obj/item/ammo_casing/shotgun/pellet(src) + new /obj/item/ammo_casing/shotgun/pellet(src) + new /obj/item/ammo_casing/shotgun/pellet(src) + /obj/item/weapon/storage/box/flashbangs name = "box of flashbangs (WARNING)" desc = "WARNING: These devices are extremely dangerous and can cause blindness or deafness in repeated use." diff --git a/code/modules/projectiles/ammunition/boxes.dm b/code/modules/projectiles/ammunition/boxes.dm index bd165bb6986..b4ae141cd74 100644 --- a/code/modules/projectiles/ammunition/boxes.dm +++ b/code/modules/projectiles/ammunition/boxes.dm @@ -31,6 +31,13 @@ max_ammo = 7 multiple_sprites = 1 +/obj/item/ammo_magazine/c45f + name = "magazine (.45 flash)" + icon_state = "45" + ammo_type = "/obj/item/ammo_casing/c45f" + max_ammo = 7 + multiple_sprites = 1 + /obj/item/ammo_magazine/c45r/empty max_ammo = 0 diff --git a/code/modules/projectiles/guns/projectile/revolver.dm b/code/modules/projectiles/guns/projectile/revolver.dm index 8335bd55aec..226e6467aae 100644 --- a/code/modules/projectiles/guns/projectile/revolver.dm +++ b/code/modules/projectiles/guns/projectile/revolver.dm @@ -79,6 +79,13 @@ load_method = MAGAZINE mag_type = /obj/item/ammo_magazine/c45r/empty +/obj/item/weapon/gun/projectile/detective/semiauto/flash + ammo_type = "/obj/item/ammo_casing/c45f" + +/obj/item/weapon/gun/projectile/detective/semiauto/colt + desc = "A cheap Martian knock-off of a Colt M1911." + ammo_type = "/obj/item/ammo_casing/c45" + /obj/item/weapon/gun/projectile/detective/semiauto/afterattack(atom/target as mob|obj|turf|area, mob/living/user as mob|obj, flag) ..() if(!loaded.len && empty_mag) diff --git a/code/modules/projectiles/guns/projectile/shotgun.dm b/code/modules/projectiles/guns/projectile/shotgun.dm index 6db93003753..e96c7637e3c 100644 --- a/code/modules/projectiles/guns/projectile/shotgun.dm +++ b/code/modules/projectiles/guns/projectile/shotgun.dm @@ -10,7 +10,7 @@ slot_flags = SLOT_BACK caliber = "shotgun" origin_tech = "combat=4;materials=2" - ammo_type = "/obj/item/ammo_casing/shotgun/beanbag" + ammo_type = "/obj/item/ammo_casing/shotgun/pellet" var/recentpump = 0 // to prevent spammage var/pumped = 0 var/obj/item/ammo_casing/current_shell = null From f328170b004e06694798fadad1fce09212f38288 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Fri, 6 Feb 2015 20:24:31 -0500 Subject: [PATCH 026/143] Adds two boxes of shotgun shells to the armoury --- maps/exodus-1.dmm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/maps/exodus-1.dmm b/maps/exodus-1.dmm index 4e4a185e8a5..f85e5a37312 100644 --- a/maps/exodus-1.dmm +++ b/maps/exodus-1.dmm @@ -57,7 +57,7 @@ "abe" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/security_port) "abf" = (/turf/simulated/wall,/area/maintenance/security_port) "abg" = (/obj/structure/closet/wardrobe/tactical,/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/security/warden) -"abh" = (/obj/machinery/camera{c_tag = "Armoury - Tactical Equipment "; dir = 2; network = list("SS13")},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/table/rack,/obj/machinery/door/window/brigdoor{dir = 2; name = "Weapons locker"; req_access = null; req_access_txt = "58"},/obj/item/ammo_magazine/c45m{icon_state = "45-7"},/obj/item/ammo_magazine/c45m{icon_state = "45-7"},/obj/item/weapon/storage/box/shotgunammo,/obj/item/weapon/storage/box/shotgunammo,/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/security/warden) +"abh" = (/obj/machinery/camera{c_tag = "Armoury - Tactical Equipment "; dir = 2; network = list("SS13")},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/table/rack,/obj/machinery/door/window/brigdoor{dir = 2; name = "Weapons locker"; req_access = null; req_access_txt = "58"},/obj/item/ammo_magazine/c45m{icon_state = "45-7"},/obj/item/ammo_magazine/c45m{icon_state = "45-7"},/obj/item/weapon/storage/box/shotgunammo,/obj/item/weapon/storage/box/shotgunammo,/obj/item/weapon/storage/box/shotgunshells,/obj/item/weapon/storage/box/shotgunshells,/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/security/warden) "abi" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/security/range) "abj" = (/obj/structure/table/reinforced,/obj/item/weapon/gun/energy/laser/practice,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor,/area/security/range) "abk" = (/obj/structure/table/reinforced,/obj/item/weapon/gun/energy/laser/practice,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor,/area/security/range) From a07e0a044fe63fd5939166be3b63a004d785ea1d Mon Sep 17 00:00:00 2001 From: ccomp5950 Date: Sat, 7 Feb 2015 00:04:50 -0500 Subject: [PATCH 027/143] Added buttons back to Mentors Before: Mentors see ahelps they only see ckeys, no links no character names, etc. Now: Character names shows up and I've added a mentor specific link bar so mentors can use the buttons they already have easily. --- code/modules/admin/admin.dm | 13 ++++++++++--- code/modules/admin/verbs/adminhelp.dm | 6 +++++- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index fdfb9f0e3e6..9ecbab5b9e9 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -1148,15 +1148,22 @@ var/global/floorIsLava = 0 switch(detail) if(0) return "[key_name(C, link, name, highlight_special)]" - if(1) + + if(1) //Private Messages return "[key_name(C, link, name, highlight_special)](?)" - if(2) + + if(2) //Admins var/ref_mob = "\ref[M]" return "[key_name(C, link, name, highlight_special)](?) (PP) (VV) (SM) (JMP) (CA)" - if(3) + + if(3) //Devs var/ref_mob = "\ref[M]" return "[key_name(C, link, name, highlight_special)](VV)(JMP)" + if(4) //Mentors + var/ref_mob = "\ref[M]" + return "[key_name(C, link, name, highlight_special)] (?) (PP) (VV) (SM) (JMP)" + /proc/ishost(whom) if(!whom) diff --git a/code/modules/admin/verbs/adminhelp.dm b/code/modules/admin/verbs/adminhelp.dm index 9e5260fbd69..bff2372aa95 100644 --- a/code/modules/admin/verbs/adminhelp.dm +++ b/code/modules/admin/verbs/adminhelp.dm @@ -87,7 +87,11 @@ var/list/adminhelp_ignored_words = list("unknown","the","a","an","of","monkey"," var/ai_cl if(ai_found) ai_cl = " (CL)" - var/mentor_msg = "\blue Request for Help: [get_options_bar(mob, 0, 0, 1, 0)][ai_cl]: [msg]" + + //Options bar: mob, details ( admin = 2, dev = 3, mentor = 4, character name (0 = just ckey, 1 = ckey and character name), link? (0 no don't make it a link, 1 do so), + // highlight special roles (0 = everyone has same looking name, 1 = antags / special roles get a golden name) + + var/mentor_msg = "\blue Request for Help: [get_options_bar(mob, 4, 1, 1, 0)][ai_cl]: [msg]" msg = "\blue Request for Help:: [get_options_bar(mob, 2, 1, 1)][ai_cl]: [msg]" var/admin_number_afk = 0 From 2d744fd47ad7814a59f7d33790cf70e71114d605 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Sat, 7 Feb 2015 17:26:57 -0500 Subject: [PATCH 028/143] Fixes doors being usable remotely when broken Fixes airlock doors being able to be opened and closed remotely (by buttons, airlocks, or docking) when broken. Also removes some redundant code, and refactors a few checks. --- code/datums/wires/airlock.dm | 21 ++++++++------ code/game/machinery/doors/airlock.dm | 30 ++++++++------------ code/game/machinery/doors/airlock_control.dm | 7 ----- 3 files changed, 24 insertions(+), 34 deletions(-) diff --git a/code/datums/wires/airlock.dm b/code/datums/wires/airlock.dm index e6cb473f590..f8b796269f8 100644 --- a/code/datums/wires/airlock.dm +++ b/code/datums/wires/airlock.dm @@ -34,14 +34,17 @@ var/const/AIRLOCK_WIRE_LIGHT = 2048 /datum/wires/airlock/GetInteractWindow() var/obj/machinery/door/airlock/A = holder + var/haspower = A.arePowerSystemsOn() //If there's no power, then no lights will be on. + . += ..() - . += text("
\n[]
\n[]
\n[]
\n[]
\n[]
\n[]
\n[]", (A.locked ? "The door bolts have fallen!" : "The door bolts look up."), - (A.lights ? "The door bolt lights are on." : "The door bolt lights are off!"), - ((A.hasPower()) ? "The test light is on." : "The test light is off!"), - ((A.aiControlDisabled==0 && !A.emagged) ? "The 'AI control allowed' light is on." : "The 'AI control allowed' light is off."), - (A.safe==0 ? "The 'Check Wiring' light is on." : "The 'Check Wiring' light is off."), - (A.normalspeed==0 ? "The 'Check Timing Mechanism' light is on." : "The 'Check Timing Mechanism' light is off."), - (A.aiDisabledIdScanner==0 ? "The IDScan light is on." : "The IDScan light is off.")) + . += text("
\n[]
\n[]
\n[]
\n[]
\n[]
\n[]
\n[]", + (A.locked ? "The door bolts have fallen!" : "The door bolts look up."), + ((A.lights && haspower) ? "The door bolt lights are on." : "The door bolt lights are off!"), + ((haspower) ? "The test light is on." : "The test light is off!"), + ((A.aiControlDisabled==0 && !A.emagged && haspower)? "The 'AI control allowed' light is on." : "The 'AI control allowed' light is off."), + ((A.safe==0 && haspower)? "The 'Check Wiring' light is on." : "The 'Check Wiring' light is off."), + ((A.normalspeed==0 && haspower)? "The 'Check Timing Mechanism' light is on." : "The 'Check Timing Mechanism' light is off."), + ((A.aiDisabledIdScanner==0 && haspower)? "The IDScan light is on." : "The IDScan light is off.")) /datum/wires/airlock/UpdateCut(var/index, var/mended) @@ -127,7 +130,7 @@ var/const/AIRLOCK_WIRE_LIGHT = 2048 switch(index) if(AIRLOCK_WIRE_IDSCAN) //Sending a pulse through flashes the red light on the door (if the door has power). - if(A.hasPower() && A.density) + if(A.arePowerSystemsOn() && A.density) A.do_animate("deny") if(AIRLOCK_WIRE_MAIN_POWER1 || AIRLOCK_WIRE_MAIN_POWER2) //Sending a pulse through either one causes a breaker to trip, disabling the door for 10 seconds if backup power is connected, or 1 minute if not (or until backup power comes back on, whichever is shorter). @@ -139,7 +142,7 @@ var/const/AIRLOCK_WIRE_LIGHT = 2048 A.locked = 1 A.audible_message("You hear a click from the bottom of the door.", null, 1) else - if(A.hasPower()) //only can raise bolts if power's on + if(A.arePowerSystemsOn()) //only can raise bolts if power's on A.locked = 0 A.audible_message("You hear a click from the bottom of the door.", null, 1) A.update_icon() diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index 73c0e66b8e8..815bad98052 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -330,7 +330,7 @@ About the new airlock wires panel: return ((src.aiControlDisabled==1) && (!hackProof) && (!src.isAllPowerLoss())); /obj/machinery/door/airlock/proc/arePowerSystemsOn() - if (stat & NOPOWER) + if (stat & (NOPOWER|BROKEN)) return 0 return (src.secondsMainPowerLost==0 || src.secondsBackupPowerLost==0) @@ -451,7 +451,7 @@ About the new airlock wires panel: if(density) flick("door_spark", src) if("deny") - if(density && !(stat & (BROKEN|NOPOWER))) + if(density && src.arePowerSystemsOn()) flick("door_deny", src) return @@ -900,12 +900,7 @@ About the new airlock wires panel: var/obj/item/weapon/pai_cable/cable = C cable.plugin(src, user) else if(!repairing && istype(C, /obj/item/weapon/crowbar)) - var/beingcrowbarred = null - if(istype(C, /obj/item/weapon/crowbar) ) - beingcrowbarred = 1 //derp, Agouri - else - beingcrowbarred = 0 - if( beingcrowbarred && src.p_open && (operating < 0 || (!operating && welded && !src.arePowerSystemsOn() && density && (!src.locked || (stat & BROKEN)))) ) + if(src.p_open && (operating < 0 || (!operating && welded && !src.arePowerSystemsOn() && density && (!src.locked || (stat & BROKEN)))) ) playsound(src.loc, 'sound/items/Crowbar.ogg', 100, 1) user.visible_message("[user] removes the electronics from the airlock assembly.", "You start to remove electronics from the airlock assembly.") if(do_after(user,40)) @@ -936,7 +931,7 @@ About the new airlock wires panel: del(src) return - else if(arePowerSystemsOn() && !(stat & BROKEN)) + else if(arePowerSystemsOn()) user << "\blue The airlock's motors resist your efforts to force it." else if(locked) user << "\blue The airlock's bolts prevent it from being forced." @@ -946,22 +941,22 @@ About the new airlock wires panel: else spawn(0) close(1) - else if(istype(C, /obj/item/weapon/twohanded/fireaxe) && (!arePowerSystemsOn() || (stat & BROKEN))) + else if(istype(C, /obj/item/weapon/twohanded/fireaxe) && !arePowerSystemsOn()) if(locked) user << "\blue The airlock's bolts prevent it from being forced." else if( !welded && !operating ) if(density) var/obj/item/weapon/twohanded/fireaxe/F = C - if(F:wielded) + if(F.wielded) spawn(0) open(1) else - user << "\red You need to be wielding the Fire axe to do that." + user << "\red You need to be wielding \the [C] to do that." else var/obj/item/weapon/twohanded/fireaxe/F = C - if(F:wielded) + if(F.wielded) spawn(0) close(1) else - user << "\red You need to be wielding the Fire axe to do that." + user << "\red You need to be wielding \the [C] to do that." else ..() @@ -1007,7 +1002,9 @@ About the new airlock wires panel: if(operating || welded || locked) return if(!forced) - if( !arePowerSystemsOn() || isWireCut(AIRLOCK_WIRE_DOOR_BOLTS) ) + //despite the name, this wire is for general door control. + //Bolts are already covered by the check for locked, above + if( !arePowerSystemsOn() || isWireCut(AIRLOCK_WIRE_OPEN_DOOR) ) return if(safe) for(var/turf/turf in locs) @@ -1135,9 +1132,6 @@ About the new airlock wires panel: ..() update_icon() -/obj/machinery/door/airlock/proc/hasPower() - return ((src.secondsMainPowerLost==0 || src.secondsBackupPowerLost==0) && !(stat & (NOPOWER|BROKEN))) - /obj/machinery/door/airlock/proc/prison_open() src.unlock() src.open() diff --git a/code/game/machinery/doors/airlock_control.dm b/code/game/machinery/doors/airlock_control.dm index 7ad909c8eb4..ad9d9910365 100644 --- a/code/game/machinery/doors/airlock_control.dm +++ b/code/game/machinery/doors/airlock_control.dm @@ -8,11 +8,6 @@ obj/machinery/door/airlock var/datum/radio_frequency/radio_connection var/cur_command = null //the command the door is currently attempting to complete -obj/machinery/door/airlock/proc/can_radio() - if(!arePowerSystemsOn()) - return 0 - return 1 - obj/machinery/door/airlock/process() ..() if (arePowerSystemsOn()) @@ -21,8 +16,6 @@ obj/machinery/door/airlock/process() obj/machinery/door/airlock/receive_signal(datum/signal/signal) if (!arePowerSystemsOn()) return //no power - if (!can_radio()) return //no radio - if(!signal || signal.encryption) return if(id_tag != signal.data["tag"] || !signal.data["command"]) return From db6ff13f5fed661fe9bfcb41ceed8f75059fb0e3 Mon Sep 17 00:00:00 2001 From: RKF45 Date: Sat, 7 Feb 2015 23:59:34 +0100 Subject: [PATCH 029/143] No painting ghosts! Holograms can be coloured, though --- code/game/machinery/hologram.dm | 1 + code/modules/reagents/Chemistry-Reagents.dm | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/code/game/machinery/hologram.dm b/code/game/machinery/hologram.dm index 68009eec609..2d5b9394d05 100644 --- a/code/game/machinery/hologram.dm +++ b/code/game/machinery/hologram.dm @@ -114,6 +114,7 @@ For the other part of the code, check silicon say.dm. Particularly robot talk.*/ hologram.anchored = 1//So space wind cannot drag it. hologram.name = "[A.name] (Hologram)"//If someone decides to right click. hologram.SetLuminosity(2) //hologram lighting + hologram.color = color //painted holopad gives coloured holograms SetLuminosity(2) //pad lighting icon_state = "holopad1" A.holo = src diff --git a/code/modules/reagents/Chemistry-Reagents.dm b/code/modules/reagents/Chemistry-Reagents.dm index 694b7ff6a80..2cbc12d3248 100644 --- a/code/modules/reagents/Chemistry-Reagents.dm +++ b/code/modules/reagents/Chemistry-Reagents.dm @@ -1592,13 +1592,13 @@ datum reaction_obj(var/obj/O, var/volume) ..() - if(istype(O,/obj) && !istype(O,/obj/item/weapon/reagent_containers)) - //painting glasses would just be a headache + if(istype(O,/obj)) O.color = color reaction_mob(var/mob/M, var/method=TOUCH, var/volume) ..() - if(istype(M,/mob)) + if(istype(M,/mob) && !istype(M,/mob/dead)) + //painting ghosts: not allowed M.color = color From 13f09d95c85e10a5b864cb1a3559e0c82c9610bd Mon Sep 17 00:00:00 2001 From: RKF45 Date: Sun, 8 Feb 2015 01:17:10 +0100 Subject: [PATCH 030/143] Juice paints --- code/modules/reagents/Chemistry-Reagents.dm | 8 +- code/modules/reagents/Chemistry-Recipes.dm | 99 ++++++++++++++++++++- 2 files changed, 99 insertions(+), 8 deletions(-) diff --git a/code/modules/reagents/Chemistry-Reagents.dm b/code/modules/reagents/Chemistry-Reagents.dm index 2cbc12d3248..54ab1baca33 100644 --- a/code/modules/reagents/Chemistry-Reagents.dm +++ b/code/modules/reagents/Chemistry-Reagents.dm @@ -2637,7 +2637,7 @@ datum name = "Carrot juice" id = "carrotjuice" description = "It is just like a carrot but without crunching." - color = "#973800" // rgb: 151, 56, 0 + color = "#FF8C00" // rgb: 255, 140, 0 glass_icon_state = "carrotjuice" glass_name = "glass of carrot juice" @@ -2707,7 +2707,7 @@ datum name = "Watermelon Juice" id = "watermelonjuice" description = "Delicious juice made from watermelon." - color = "#863333" // rgb: 134, 51, 51 + color = "#B83333" // rgb: 184, 51, 51 glass_icon_state = "glass_red" glass_name = "glass of watermelon juice" @@ -2717,7 +2717,7 @@ datum name = "Lemon Juice" id = "lemonjuice" description = "This juice is VERY sour." - color = "#863333" // rgb: 175, 175, 0 + color = "#AFAF00" // rgb: 175, 175, 0 glass_icon_state = "lemonjuice" glass_name = "glass of lemon juice" @@ -2727,7 +2727,7 @@ datum name = "Banana Juice" id = "banana" description = "The raw essence of a banana." - color = "#863333" // rgb: 175, 175, 0 + color = "#C3AF00" // rgb: 195, 175, 0 glass_icon_state = "banana" glass_name = "glass of banana juice" diff --git a/code/modules/reagents/Chemistry-Recipes.dm b/code/modules/reagents/Chemistry-Recipes.dm index 4d6b44fb84d..270551af927 100644 --- a/code/modules/reagents/Chemistry-Recipes.dm +++ b/code/modules/reagents/Chemistry-Recipes.dm @@ -1414,14 +1414,17 @@ datum //Ghetto reactions +/* Ideally the paint should take on the blood's colour (for each of the species) + but I could not think of a way. - RKF + blood_paint name = "Blood paint" id = "blood_paint" result = "paint" - resultcolor = "#FE191A" + resultcolor = "#C80000" required_reagents = list("plasticide" = 1, "water" = 3, "blood" = 2) result_amount = 5 - +*/ milk_paint name = "Milk paint" id = "milk_paint" @@ -1430,6 +1433,96 @@ datum required_reagents = list("plasticide" = 1, "water" = 3, "milk" = 5) result_amount = 5 + orange_juice_paint + name = "Orange juice paint" + id = "orange_juice_paint" + result = "paint" + resultcolor = "#E78108" + required_reagents = list("plasticide" = 1, "water" = 3, "orangejuice" = 5) + result_amount = 5 + + tomato_juice_paint + name = "Tomato juice paint" + id = "tomato_juice_paint" + result = "paint" + resultcolor = "#731008" + required_reagents = list("plasticide" = 1, "water" = 3, "tomatojuice" = 5) + result_amount = 5 + + lime_juice_paint + name = "Lime juice paint" + id = "lime_juice_paint" + result = "paint" + resultcolor = "#365E30" + required_reagents = list("plasticide" = 1, "water" = 3, "limejuice" = 5) + result_amount = 5 + + carrot_juice_paint + name = "Carrot juice paint" + id = "carrot_juice_paint" + result = "paint" + resultcolor = "#973800" + required_reagents = list("plasticide" = 1, "water" = 3, "carrotjuice" = 5) + result_amount = 5 + + berry_juice_paint + name = "Berry juice paint" + id = "berry_juice_paint" + result = "paint" + resultcolor = "#990066" + required_reagents = list("plasticide" = 1, "water" = 3, "berryjuice" = 5) + result_amount = 5 + + grape_juice_paint + name = "Grape juice paint" + id = "grape_juice_paint" + result = "paint" + resultcolor = "#863333" + required_reagents = list("plasticide" = 1, "water" = 3, "grapejuice" = 5) + result_amount = 5 + + poisonberry_juice_paint + name = "Poison berry juice paint" + id = "poisonberry_juice_paint" + result = "paint" + resultcolor = "#863353" + required_reagents = list("plasticide" = 1, "water" = 3, "poisonberryjuice" = 5) + result_amount = 5 + + watermelon_juice_paint + name = "Watermelon juice paint" + id = "watermelon_juice_paint" + result = "paint" + resultcolor = "#B83333" + required_reagents = list("plasticide" = 1, "water" = 3, "watermelonjuice" = 5) + result_amount = 5 + + lemon_juice_paint + name = "Lemon juice paint" + id = "lemon_juice_paint" + result = "paint" + resultcolor = "#AFAF00" + required_reagents = list("plasticide" = 1, "water" = 3, "lemonjuice" = 5) + result_amount = 5 + + banana_juice_paint + name = "Banana juice paint" + id = "banana_juice_paint" + result = "paint" + resultcolor = "#C3AF00" + required_reagents = list("plasticide" = 1, "water" = 3, "banana" = 5) + result_amount = 5 + + potato_juice_paint + name = "Potato juice paint" + id = "potato_juice_paint" + result = "paint" + resultcolor = "#302000" + required_reagents = list("plasticide" = 1, "water" = 3, "potatojuice" = 5) + result_amount = 5 + +//Other paint + carbon_paint name = "Carbon paint" id = "carbon_paint" @@ -1438,8 +1531,6 @@ datum required_reagents = list("plasticide" = 1, "water" = 3, "carbon" = 1) result_amount = 5 -//Aluminum "non-ghetto" white paint - aluminum_paint name = "Aluminum paint" id = "aluminum_paint" From 71dabeb557e5b934fab66b8919006bfd3b0ac7c3 Mon Sep 17 00:00:00 2001 From: Kelenius Date: Sun, 8 Feb 2015 05:52:12 +0300 Subject: [PATCH 031/143] Fixes ore scanner Before: it didn't scan dark tiles and the tile you were standing on. Now: scans both. --- code/modules/mining/drilling/scanner.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mining/drilling/scanner.dm b/code/modules/mining/drilling/scanner.dm index 5b190641606..a770aa791dd 100644 --- a/code/modules/mining/drilling/scanner.dm +++ b/code/modules/mining/drilling/scanner.dm @@ -23,7 +23,7 @@ "exotic matter" = 0 ) - for(var/turf/T in oview(3,get_turf(user))) + for(var/turf/T in range(3,get_turf(user))) if(!T.has_resources) continue From 30de86c0813204ada2102bfa8d105f60e67a20c7 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Sun, 8 Feb 2015 07:54:50 +0300 Subject: [PATCH 032/143] Accessories update. Moves them away from 'tie' legacy - path change, and different code files. Changed single hastie var into accessories list, to allow multiple articles worn at same time. Updated all affected places in code to work with it. Currently any number of decorative accessories can be attached, one utility (holster/webbing) and one armband. --- baystation12.dme | 5 +- code/datums/supplypacks.dm | 8 +- code/game/jobs/job/captain.dm | 2 +- code/game/objects/items.dm | 4 +- code/game/objects/items/weapons/cards_ids.dm | 2 +- code/game/objects/items/weapons/explosives.dm | 2 +- .../objects/items/weapons/gift_wrappaper.dm | 2 +- .../closets/secure/engineering.dm | 12 +- .../crates_lockers/closets/secure/security.dm | 14 +- code/game/objects/structures/safe.dm | 4 +- code/modules/client/preferences_gear.dm | 28 +- code/modules/clothing/clothing.dm | 69 ++- .../clothing/under/accessories/accessory.dm | 226 +++++++++ .../clothing/under/accessories/armband.dm | 42 ++ .../clothing/under/accessories/holster.dm | 119 +++++ .../clothing/under/accessories/storage.dm | 86 ++++ code/modules/clothing/under/ties.dm | 474 ------------------ code/modules/customitems/item_defines.dm | 14 +- code/modules/mining/abandonedcrates.dm | 6 +- .../mob/living/carbon/human/examine.dm | 4 +- code/modules/mob/living/carbon/human/human.dm | 4 +- .../mob/living/carbon/human/inventory.dm | 33 +- .../mob/living/carbon/human/update_icons.dm | 11 +- maps/exodus-1.dmm | 8 +- maps/exodus-2.dmm | 30 +- 25 files changed, 618 insertions(+), 591 deletions(-) create mode 100644 code/modules/clothing/under/accessories/accessory.dm create mode 100644 code/modules/clothing/under/accessories/armband.dm create mode 100644 code/modules/clothing/under/accessories/holster.dm create mode 100644 code/modules/clothing/under/accessories/storage.dm delete mode 100644 code/modules/clothing/under/ties.dm diff --git a/baystation12.dme b/baystation12.dme index 3682d724958..506d9aeb443 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -898,7 +898,10 @@ #include "code\modules\clothing\under\miscellaneous.dm" #include "code\modules\clothing\under\shorts.dm" #include "code\modules\clothing\under\syndicate.dm" -#include "code\modules\clothing\under\ties.dm" +#include "code\modules\clothing\under\accessories\accessory.dm" +#include "code\modules\clothing\under\accessories\armband.dm" +#include "code\modules\clothing\under\accessories\holster.dm" +#include "code\modules\clothing\under\accessories\storage.dm" #include "code\modules\clothing\under\jobs\civilian.dm" #include "code\modules\clothing\under\jobs\engineering.dm" #include "code\modules\clothing\under\jobs\medsci.dm" diff --git a/code/datums/supplypacks.dm b/code/datums/supplypacks.dm index 3042a6c0b1e..0b29a324437 100644 --- a/code/datums/supplypacks.dm +++ b/code/datums/supplypacks.dm @@ -1395,10 +1395,10 @@ var/list/all_supply_groups = list("Operations","Security","Hospitality","Enginee /datum/supply_packs/randomised/webbing name = "Webbing crate" num_contained = 1 - contains = list(/obj/item/clothing/tie/holster, - /obj/item/clothing/tie/storage/brown_vest, - /obj/item/clothing/tie/storage/webbing, - /obj/item/clothing/tie/storage) + contains = list(/obj/item/clothing/accessory/holster, + /obj/item/clothing/accessory/storage/brown_vest, + /obj/item/clothing/accessory/storage/webbing, + /obj/item/clothing/accessory/storage) cost = 15 containertype = /obj/structure/closet/crate containername = "Webbing crate" diff --git a/code/game/jobs/job/captain.dm b/code/game/jobs/job/captain.dm index a43056fa96f..06513c05f9f 100644 --- a/code/game/jobs/job/captain.dm +++ b/code/game/jobs/job/captain.dm @@ -24,7 +24,7 @@ var/datum/announcement/minor/captain_announcement = new(do_newscast = 1) H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H.back), slot_in_backpack) var/obj/item/clothing/under/U = new /obj/item/clothing/under/rank/captain(H) if(H.age>49) - U.hastie = new /obj/item/clothing/tie/medal/gold/captain(U) + U.accessories += new /obj/item/clothing/accessory/medal/gold/captain(U) H.equip_to_slot_or_del(U, slot_w_uniform) H.equip_to_slot_or_del(new /obj/item/device/pda/captain(H), slot_belt) H.equip_to_slot_or_del(new /obj/item/clothing/shoes/brown(H), slot_shoes) diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index 13081d6abba..03efa21f3c7 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -411,9 +411,9 @@ H << "You need a jumpsuit before you can attach this [name]." return 0 var/obj/item/clothing/under/uniform = H.w_uniform - if(uniform.hastie) + if(uniform.accessories.len && uniform.can_attach_accessory(src)) if (!disable_warning) - H << "You already have [uniform.hastie] attached to your [uniform]." + H << "You already have an accessory of this type attached to your [uniform]." return 0 if( !(slot_flags & SLOT_TIE) ) return 0 diff --git a/code/game/objects/items/weapons/cards_ids.dm b/code/game/objects/items/weapons/cards_ids.dm index 8d639987223..9f95abdc8ca 100644 --- a/code/game/objects/items/weapons/cards_ids.dm +++ b/code/game/objects/items/weapons/cards_ids.dm @@ -81,7 +81,7 @@ /obj/item/device/taperecorder, /obj/item/device/hailer, /obj/item/device/megaphone, - /obj/item/clothing/tie/holobadge, + /obj/item/clothing/accessory/holobadge, /obj/structure/closet/crate/secure, /obj/structure/closet/secure_closet, /obj/machinery/librarycomp, diff --git a/code/game/objects/items/weapons/explosives.dm b/code/game/objects/items/weapons/explosives.dm index 71fb259dcda..030437b4466 100644 --- a/code/game/objects/items/weapons/explosives.dm +++ b/code/game/objects/items/weapons/explosives.dm @@ -38,7 +38,7 @@ /obj/item/weapon/plastique/afterattack(atom/movable/target, mob/user, flag) if (!flag) return - if (ismob(target) || istype(target, /turf/unsimulated) || istype(target, /turf/simulated/shuttle) || istype(target, /obj/item/weapon/storage/) || istype(target, /obj/item/clothing/tie/storage/) || istype(target, /obj/item/clothing/under)) + if (ismob(target) || istype(target, /turf/unsimulated) || istype(target, /turf/simulated/shuttle) || istype(target, /obj/item/weapon/storage/) || istype(target, /obj/item/clothing/accessory/storage/) || istype(target, /obj/item/clothing/under)) return user << "Planting explosives..." diff --git a/code/game/objects/items/weapons/gift_wrappaper.dm b/code/game/objects/items/weapons/gift_wrappaper.dm index e96d0367217..8ed63b88aa3 100644 --- a/code/game/objects/items/weapons/gift_wrappaper.dm +++ b/code/game/objects/items/weapons/gift_wrappaper.dm @@ -104,7 +104,7 @@ /obj/item/device/paicard, /obj/item/device/violin, /obj/item/weapon/storage/belt/utility/full, - /obj/item/clothing/tie/horrible) + /obj/item/clothing/accessory/horrible) if(!ispath(gift_type,/obj/item)) return diff --git a/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm b/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm index 803f07616e0..d583e775470 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm @@ -16,9 +16,9 @@ else new /obj/item/weapon/storage/backpack/satchel_eng(src) if (prob(70)) - new /obj/item/clothing/tie/storage/brown_vest(src) + new /obj/item/clothing/accessory/storage/brown_vest(src) else - new /obj/item/clothing/tie/storage/webbing(src) + new /obj/item/clothing/accessory/storage/webbing(src) new /obj/item/blueprints(src) new /obj/item/clothing/under/rank/chief_engineer(src) new /obj/item/clothing/head/hardhat/white(src) @@ -109,9 +109,9 @@ else new /obj/item/weapon/storage/backpack/satchel_eng(src) if (prob(70)) - new /obj/item/clothing/tie/storage/brown_vest(src) + new /obj/item/clothing/accessory/storage/brown_vest(src) else - new /obj/item/clothing/tie/storage/webbing(src) + new /obj/item/clothing/accessory/storage/webbing(src) new /obj/item/weapon/storage/toolbox/mechanical(src) new /obj/item/device/radio/headset/headset_eng(src) new /obj/item/clothing/suit/storage/hazardvest(src) @@ -138,9 +138,9 @@ else new /obj/item/weapon/storage/backpack/satchel_eng(src) if (prob(70)) - new /obj/item/clothing/tie/storage/brown_vest(src) + new /obj/item/clothing/accessory/storage/brown_vest(src) else - new /obj/item/clothing/tie/storage/webbing(src) + new /obj/item/clothing/accessory/storage/webbing(src) new /obj/item/clothing/suit/fire/firefighter(src) new /obj/item/device/flashlight(src) new /obj/item/weapon/extinguisher(src) diff --git a/code/game/objects/structures/crates_lockers/closets/secure/security.dm b/code/game/objects/structures/crates_lockers/closets/secure/security.dm index b5b8796b3c0..6ee564d76b3 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/security.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/security.dm @@ -119,7 +119,7 @@ new /obj/item/device/flash(src) new /obj/item/weapon/melee/baton/loaded(src) new /obj/item/weapon/gun/energy/gun(src) - new /obj/item/clothing/tie/holster/waist(src) + new /obj/item/clothing/accessory/holster/waist(src) new /obj/item/weapon/melee/telebaton(src) new /obj/item/clothing/head/beret/sec/hos(src) return @@ -192,7 +192,7 @@ new /obj/item/clothing/glasses/sunglasses/sechud(src) new /obj/item/taperoll/police(src) new /obj/item/device/hailer(src) - new /obj/item/clothing/tie/storage/black_vest(src) + new /obj/item/clothing/accessory/storage/black_vest(src) new /obj/item/clothing/head/soft/sec/corp(src) new /obj/item/clothing/under/rank/security/corp(src) return @@ -202,7 +202,7 @@ New() ..() - new /obj/item/clothing/tie/armband/cargo(src) + new /obj/item/clothing/accessory/armband/cargo(src) new /obj/item/device/encryptionkey/headset_cargo(src) return @@ -210,7 +210,7 @@ New() ..() - new /obj/item/clothing/tie/armband/engine(src) + new /obj/item/clothing/accessory/armband/engine(src) new /obj/item/device/encryptionkey/headset_eng(src) return @@ -218,7 +218,7 @@ New() ..() - new /obj/item/clothing/tie/armband/science(src) + new /obj/item/clothing/accessory/armband/science(src) new /obj/item/device/encryptionkey/headset_sci(src) return @@ -226,7 +226,7 @@ New() ..() - new /obj/item/clothing/tie/armband/medgreen(src) + new /obj/item/clothing/accessory/armband/medgreen(src) new /obj/item/device/encryptionkey/headset_med(src) return @@ -262,7 +262,7 @@ new /obj/item/ammo_magazine/c45r(src) new /obj/item/taperoll/police(src) new /obj/item/weapon/gun/projectile/detective/semiauto(src) - new /obj/item/clothing/tie/holster/armpit(src) + new /obj/item/clothing/accessory/holster/armpit(src) return /obj/structure/closet/secure_closet/detective/update_icon() diff --git a/code/game/objects/structures/safe.dm b/code/game/objects/structures/safe.dm index a219268d041..199635cd0fe 100644 --- a/code/game/objects/structures/safe.dm +++ b/code/game/objects/structures/safe.dm @@ -90,7 +90,7 @@ FLOOR SAFES var/mob/living/carbon/human/user = usr var/canhear = 0 - if(istype(user.l_hand, /obj/item/clothing/tie/stethoscope) || istype(user.r_hand, /obj/item/clothing/tie/stethoscope)) + if(istype(user.l_hand, /obj/item/clothing/accessory/stethoscope) || istype(user.r_hand, /obj/item/clothing/accessory/stethoscope)) canhear = 1 if(href_list["open"]) @@ -155,7 +155,7 @@ FLOOR SAFES user << "[I] won't fit in [src]." return else - if(istype(I, /obj/item/clothing/tie/stethoscope)) + if(istype(I, /obj/item/clothing/accessory/stethoscope)) user << "Hold [I] in one of your hands while you manipulate the dial." return diff --git a/code/modules/client/preferences_gear.dm b/code/modules/client/preferences_gear.dm index d265babc1b7..d788a41cc96 100644 --- a/code/modules/client/preferences_gear.dm +++ b/code/modules/client/preferences_gear.dm @@ -375,88 +375,88 @@ var/global/list/gear_datums = list() /datum/gear/armband_cargo display_name = "armband, cargo" - path = /obj/item/clothing/tie/armband/cargo + path = /obj/item/clothing/accessory/armband/cargo slot = slot_tie cost = 1 /datum/gear/armband_emt display_name = "armband, EMT" - path = /obj/item/clothing/tie/armband/medgreen + path = /obj/item/clothing/accessory/armband/medgreen slot = slot_tie cost = 2 /datum/gear/armband_engineering display_name = "armband, engineering" - path = /obj/item/clothing/tie/armband/engine + path = /obj/item/clothing/accessory/armband/engine slot = slot_tie cost = 1 /datum/gear/armband_hydroponics display_name = "armband, hydroponics" - path = /obj/item/clothing/tie/armband/hydro + path = /obj/item/clothing/accessory/armband/hydro slot = slot_tie cost = 1 /datum/gear/armband_medical display_name = "armband, medical" - path = /obj/item/clothing/tie/armband/med + path = /obj/item/clothing/accessory/armband/med slot = slot_tie cost = 1 /datum/gear/armband display_name = "armband, red" - path = /obj/item/clothing/tie/armband + path = /obj/item/clothing/accessory/armband slot = slot_tie cost = 1 /datum/gear/armband_science display_name = "armband, science" - path = /obj/item/clothing/tie/armband/science + path = /obj/item/clothing/accessory/armband/science slot = slot_tie cost = 1 /datum/gear/armpit display_name = "shoulder holster" - path = /obj/item/clothing/tie/holster/armpit + path = /obj/item/clothing/accessory/holster/armpit slot = slot_tie cost = 2 allowed_roles = list("Captain", "Head of Personnel", "Security Officer", "Warden", "Head of Security") /datum/gear/tie_blue display_name = "tie, blue" - path = /obj/item/clothing/tie/blue + path = /obj/item/clothing/accessory/blue slot = slot_tie cost = 1 /datum/gear/tie_red display_name = "tie, red" - path = /obj/item/clothing/tie/red + path = /obj/item/clothing/accessory/red slot = slot_tie cost = 1 /datum/gear/tie_horrible display_name = "tie, socially disgraceful" - path = /obj/item/clothing/tie/horrible + path = /obj/item/clothing/accessory/horrible slot = slot_tie cost = 1 /datum/gear/brown_vest display_name = "webbing, engineering" - path = /obj/item/clothing/tie/storage/brown_vest + path = /obj/item/clothing/accessory/storage/brown_vest slot = slot_tie cost = 2 allowed_roles = list("Station Engineer","Atmospheric Technician","Chief Engineer") /datum/gear/black_vest display_name = "webbing, security" - path = /obj/item/clothing/tie/storage/black_vest + path = /obj/item/clothing/accessory/storage/black_vest slot = slot_tie cost = 2 allowed_roles = list("Security Officer","Head of Security","Warden") /datum/gear/webbing display_name = "webbing, simple" - path = /obj/item/clothing/tie/storage/webbing + path = /obj/item/clothing/accessory/storage/webbing slot = slot_tie cost = 2 diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index f6dc6cc3379..cb71a9f2859 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -68,7 +68,7 @@ /obj/item/clothing/head/helmet/refit_for_species(var/target_species) if(!species_restricted) return //this item doesn't use the species_restricted system - + //Set species_restricted list switch(target_species) if("Skrell") @@ -401,7 +401,7 @@ BLIND // can't see anything 2 = Report detailed damages 3 = Report location */ - var/obj/item/clothing/tie/hastie = null + var/list/accessories = list() var/displays_id = 1 sprite_sheets = list("Vox" = 'icons/mob/species/vox/uniform.dmi') @@ -410,28 +410,42 @@ BLIND // can't see anything var/mob/M = src.loc M.update_inv_w_uniform() +/obj/item/clothing/under/proc/can_attach_accessory(obj/item/clothing/accessory/A) + if(istype(A)) + .=1 + if(accessories.len && (A.slot in list("utility","armband"))) + for(var/obj/item/clothing/accessory/AC in accessories) + if (AC.slot == A.slot) + return 0 + /obj/item/clothing/under/attackby(obj/item/I, mob/user) - if(hastie) - hastie.attackby(I, user) - return + if(istype(I, /obj/item/clothing/accessory)) + var/obj/item/clothing/accessory/A = I + if(can_attach_accessory(A)) + user.drop_item() + accessories += A + A.on_attached(src, user) - if(!hastie && istype(I, /obj/item/clothing/tie)) - user.drop_item() - hastie = I - hastie.on_attached(src, user) + if(istype(loc, /mob/living/carbon/human)) + var/mob/living/carbon/human/H = loc + H.update_inv_w_uniform() - if(istype(loc, /mob/living/carbon/human)) - var/mob/living/carbon/human/H = loc - H.update_inv_w_uniform() + return + else + user << "You cannot attach more accessories of this type to [src]." + if(accessories.len) + for(var/obj/item/clothing/accessory/A in accessories) + A.attackby(I, user) return ..() /obj/item/clothing/under/attack_hand(mob/user as mob) //only forward to the attached accessory if the clothing is equipped (not in a storage) - if(hastie && src.loc == user) - hastie.attack_hand(user) + if(accessories.len && src.loc == user) + for(var/obj/item/clothing/accessory/A in accessories) + A.attack_hand(user) return if ((ishuman(usr) || ismonkey(usr)) && src.loc == user) //make it harder to accidentally undress yourself @@ -468,8 +482,9 @@ BLIND // can't see anything user << "Its vital tracker appears to be enabled." if(3) user << "Its vital tracker and tracking beacon appear to be enabled." - if(hastie) - user << "\A [hastie] is clipped to it." + if(accessories.len) + for(var/obj/item/clothing/accessory/A in accessories) + user << "\A [A] is attached to it." /obj/item/clothing/under/proc/set_sensors(mob/usr as mob) var/mob/M = usr @@ -540,12 +555,12 @@ BLIND // can't see anything else usr << "You cannot roll down the uniform!" -/obj/item/clothing/under/proc/remove_accessory(mob/user as mob) - if(!hastie) +/obj/item/clothing/under/proc/remove_accessory(mob/user, obj/item/clothing/accessory/A) + if(!(A in accessories)) return - hastie.on_removed(user) - hastie = null + A.on_removed(user) + accessories -= A update_clothing_icon() /obj/item/clothing/under/verb/removetie() @@ -554,14 +569,20 @@ BLIND // can't see anything set src in usr if(!istype(usr, /mob/living)) return if(usr.stat) return - - src.remove_accessory(usr) + if(!accessories.len) return + var/obj/item/clothing/accessory/A + if(accessories.len > 1) + A = input("Select an accessory to remove from [src]") as null|anything in accessories + else + A = accessories[1] + src.remove_accessory(usr,A) /obj/item/clothing/under/rank/New() sensor_mode = pick(0,1,2,3) ..() /obj/item/clothing/under/emp_act(severity) - if (hastie) - hastie.emp_act(severity) + if(accessories.len) + for(var/obj/item/clothing/accessory/A in accessories) + A.emp_act(severity) ..() \ No newline at end of file diff --git a/code/modules/clothing/under/accessories/accessory.dm b/code/modules/clothing/under/accessories/accessory.dm new file mode 100644 index 00000000000..e1c9a25c248 --- /dev/null +++ b/code/modules/clothing/under/accessories/accessory.dm @@ -0,0 +1,226 @@ +/obj/item/clothing/accessory + name = "tie" + desc = "A neosilk clip-on tie." + icon = 'icons/obj/clothing/ties.dmi' + icon_state = "bluetie" + item_state = "" //no inhands + item_color = "bluetie" + slot_flags = SLOT_TIE + w_class = 2.0 + var/slot = "decor" + var/obj/item/clothing/under/has_suit = null //the suit the tie may be attached to + var/image/inv_overlay = null //overlay used when attached to clothing. + +/obj/item/clothing/accessory/New() + ..() + inv_overlay = image("icon" = 'icons/obj/clothing/ties_overlay.dmi', "icon_state" = "[item_color? "[item_color]" : "[icon_state]"]") + +//when user attached an accessory to S +/obj/item/clothing/accessory/proc/on_attached(obj/item/clothing/under/S, mob/user as mob) + if(!istype(S)) + return + has_suit = S + loc = has_suit + has_suit.overlays += inv_overlay + + user << "You attach [src] to [has_suit]." + src.add_fingerprint(user) + +/obj/item/clothing/accessory/proc/on_removed(mob/user as mob) + if(!has_suit) + return + has_suit.overlays -= inv_overlay + has_suit = null + usr.put_in_hands(src) + src.add_fingerprint(user) + +//default attackby behaviour +/obj/item/clothing/accessory/attackby(obj/item/I, mob/user) + ..() + +//default attack_hand behaviour +/obj/item/clothing/accessory/attack_hand(mob/user as mob) + if(has_suit) + return //we aren't an object on the ground so don't call parent + ..() + +/obj/item/clothing/accessory/blue + name = "blue tie" + icon_state = "bluetie" + item_color = "bluetie" + +/obj/item/clothing/accessory/red + name = "red tie" + icon_state = "redtie" + item_color = "redtie" + +/obj/item/clothing/accessory/horrible + name = "horrible tie" + desc = "A neosilk clip-on tie. This one is disgusting." + icon_state = "horribletie" + item_color = "horribletie" + +/obj/item/clothing/accessory/stethoscope + name = "stethoscope" + desc = "An outdated medical apparatus for listening to the sounds of the human body. It also makes you look like you know what you're doing." + icon_state = "stethoscope" + item_color = "stethoscope" + +/obj/item/clothing/accessory/stethoscope/attack(mob/living/carbon/human/M, mob/living/user) + if(ishuman(M) && isliving(user)) + if(user.a_intent == "help") + var/body_part = parse_zone(user.zone_sel.selecting) + if(body_part) + var/their = "their" + switch(M.gender) + if(MALE) their = "his" + if(FEMALE) their = "her" + + var/sound = "pulse" + var/sound_strength + + if(M.stat == DEAD || (M.status_flags&FAKEDEATH)) + sound_strength = "cannot hear" + sound = "anything" + else + sound_strength = "hear a weak" + switch(body_part) + if("chest") + if(M.oxyloss < 50) + sound_strength = "hear a healthy" + sound = "pulse and respiration" + if("eyes","mouth") + sound_strength = "cannot hear" + sound = "anything" + else + sound_strength = "hear a weak" + + user.visible_message("[user] places [src] against [M]'s [body_part] and listens attentively.", "You place [src] against [their] [body_part]. You [sound_strength] [sound].") + return + return ..(M,user) + + +//Medals +/obj/item/clothing/accessory/medal + name = "bronze medal" + desc = "A bronze medal." + icon_state = "bronze" + item_color = "bronze" + +/obj/item/clothing/accessory/medal/conduct + name = "distinguished conduct medal" + desc = "A bronze medal awarded for distinguished conduct. Whilst a great honor, this is most basic award given by Nanotrasen. It is often awarded by a captain to a member of his crew." + +/obj/item/clothing/accessory/medal/bronze_heart + name = "bronze heart medal" + desc = "A bronze heart-shaped medal awarded for sacrifice. It is often awarded posthumously or for severe injury in the line of duty." + icon_state = "bronze_heart" + +/obj/item/clothing/accessory/medal/nobel_science + name = "nobel sciences award" + desc = "A bronze medal which represents significant contributions to the field of science or engineering." + +/obj/item/clothing/accessory/medal/silver + name = "silver medal" + desc = "A silver medal." + icon_state = "silver" + item_color = "silver" + +/obj/item/clothing/accessory/medal/silver/valor + name = "medal of valor" + desc = "A silver medal awarded for acts of exceptional valor." + +/obj/item/clothing/accessory/medal/silver/security + name = "robust security award" + desc = "An award for distinguished combat and sacrifice in defence of Nanotrasen's commercial interests. Often awarded to security staff." + +/obj/item/clothing/accessory/medal/gold + name = "gold medal" + desc = "A prestigious golden medal." + icon_state = "gold" + item_color = "gold" + +/obj/item/clothing/accessory/medal/gold/captain + name = "medal of captaincy" + desc = "A golden medal awarded exclusively to those promoted to the rank of captain. It signifies the codified responsibilities of a captain to Nanotrasen, and their undisputable authority over their crew." + +/obj/item/clothing/accessory/medal/gold/heroism + name = "medal of exceptional heroism" + desc = "An extremely rare golden medal awarded only by CentComm. To recieve such a medal is the highest honor and as such, very few exist. This medal is almost never awarded to anybody but commanders." + +/* + Holobadges are worn on the belt or neck, and can be used to show that the holder is an authorized + Security agent - the user details can be imprinted on the badge with a Security-access ID card, + or they can be emagged to accept any ID for use in disguises. +*/ + +/obj/item/clothing/accessory/holobadge + name = "holobadge" + desc = "This glowing blue badge marks the holder as THE LAW." + icon_state = "holobadge" + item_color = "holobadge" + slot_flags = SLOT_BELT | SLOT_TIE + + var/emagged = 0 //Emagging removes Sec check. + var/stored_name = null + +/obj/item/clothing/accessory/holobadge/cord + icon_state = "holobadge-cord" + item_color = "holobadge-cord" + slot_flags = SLOT_MASK | SLOT_TIE + +/obj/item/clothing/accessory/holobadge/attack_self(mob/user as mob) + if(!stored_name) + user << "Waving around a badge before swiping an ID would be pretty pointless." + return + if(isliving(user)) + user.visible_message("\red [user] displays their NanoTrasen Internal Security Legal Authorization Badge.\nIt reads: [stored_name], NT Security.","\red You display your NanoTrasen Internal Security Legal Authorization Badge.\nIt reads: [stored_name], NT Security.") + +/obj/item/clothing/accessory/holobadge/attackby(var/obj/item/O as obj, var/mob/user as mob) + + if (istype(O, /obj/item/weapon/card/emag)) + if (emagged) + user << "\red [src] is already cracked." + return + else + emagged = 1 + user << "\red You swipe [O] and crack the holobadge security checks." + return + + else if(istype(O, /obj/item/weapon/card/id) || istype(O, /obj/item/device/pda)) + + var/obj/item/weapon/card/id/id_card = null + + if(istype(O, /obj/item/weapon/card/id)) + id_card = O + else + var/obj/item/device/pda/pda = O + id_card = pda.id + + if(access_security in id_card.access || emagged) + user << "You imprint your ID details onto the badge." + stored_name = id_card.registered_name + name = "holobadge ([stored_name])" + desc = "This glowing blue badge marks [stored_name] as THE LAW." + else + user << "[src] rejects your insufficient access rights." + return + ..() + +/obj/item/clothing/accessory/holobadge/attack(mob/living/carbon/human/M, mob/living/user) + if(isliving(user)) + user.visible_message("\red [user] invades [M]'s personal space, thrusting [src] into their face insistently.","\red You invade [M]'s personal space, thrusting [src] into their face insistently. You are the law.") + +/obj/item/weapon/storage/box/holobadge + name = "holobadge box" + desc = "A box claiming to contain holobadges." + New() + new /obj/item/clothing/accessory/holobadge(src) + new /obj/item/clothing/accessory/holobadge(src) + new /obj/item/clothing/accessory/holobadge(src) + new /obj/item/clothing/accessory/holobadge(src) + new /obj/item/clothing/accessory/holobadge/cord(src) + new /obj/item/clothing/accessory/holobadge/cord(src) + ..() + return + diff --git a/code/modules/clothing/under/accessories/armband.dm b/code/modules/clothing/under/accessories/armband.dm new file mode 100644 index 00000000000..67d0208b6df --- /dev/null +++ b/code/modules/clothing/under/accessories/armband.dm @@ -0,0 +1,42 @@ +/obj/item/clothing/accessory/armband + name = "red armband" + desc = "A fancy red armband!" + icon_state = "red" + item_color = "red" + slot = "armband" + +/obj/item/clothing/accessory/armband/cargo + name = "cargo armband" + desc = "An armband, worn by the crew to display which department they're assigned to. This one is brown." + icon_state = "cargo" + item_color = "cargo" + +/obj/item/clothing/accessory/armband/engine + name = "engineering armband" + desc = "An armband, worn by the crew to display which department they're assigned to. This one is orange with a reflective strip!" + icon_state = "engie" + item_color = "engie" + +/obj/item/clothing/accessory/armband/science + name = "science armband" + desc = "An armband, worn by the crew to display which department they're assigned to. This one is purple." + icon_state = "rnd" + item_color = "rnd" + +/obj/item/clothing/accessory/armband/hydro + name = "hydroponics armband" + desc = "An armband, worn by the crew to display which department they're assigned to. This one is green and blue." + icon_state = "hydro" + item_color = "hydro" + +/obj/item/clothing/accessory/armband/med + name = "medical armband" + desc = "An armband, worn by the crew to display which department they're assigned to. This one is white." + icon_state = "med" + item_color = "med" + +/obj/item/clothing/accessory/armband/medgreen + name = "EMT armband" + desc = "An armband, worn by the crew to display which department they're assigned to. This one is white and green." + icon_state = "medgreen" + item_color = "medgreen" diff --git a/code/modules/clothing/under/accessories/holster.dm b/code/modules/clothing/under/accessories/holster.dm new file mode 100644 index 00000000000..af2743e43f1 --- /dev/null +++ b/code/modules/clothing/under/accessories/holster.dm @@ -0,0 +1,119 @@ +/obj/item/clothing/accessory/holster + name = "shoulder holster" + desc = "A handgun holster." + icon_state = "holster" + item_color = "holster" + slot = "utility" + var/obj/item/weapon/gun/holstered = null + +//subtypes can override this to specify what can be holstered +/obj/item/clothing/accessory/holster/proc/can_holster(obj/item/weapon/gun/W) + return W.isHandgun() + +/obj/item/clothing/accessory/holster/proc/holster(obj/item/I, mob/user as mob) + if(holstered) + user << "There is already a [holstered] holstered here!" + return + + if (!istype(I, /obj/item/weapon/gun)) + user << "Only guns can be holstered!" + return + + var/obj/item/weapon/gun/W = I + if (!can_holster(W)) + user << "This [W] won't fit in the [src]!" + return + + holstered = W + user.drop_from_inventory(holstered) + holstered.loc = src + holstered.add_fingerprint(user) + user.visible_message("[user] holsters the [holstered].", "You holster the [holstered].") + +/obj/item/clothing/accessory/holster/proc/unholster(mob/user as mob) + if(!holstered) + return + + if(istype(user.get_active_hand(),/obj) && istype(user.get_inactive_hand(),/obj)) + user << "You need an empty hand to draw the [holstered]!" + else + if(user.a_intent == "hurt") + usr.visible_message("\red [user] draws the [holstered], ready to shoot!
", \ + "You draw the [holstered], ready to shoot!") + else + user.visible_message("[user] draws the [holstered], pointing it at the ground.", \ + "You draw the [holstered], pointing it at the ground.") + user.put_in_hands(holstered) + holstered.add_fingerprint(user) + holstered = null + +/obj/item/clothing/accessory/holster/attack_hand(mob/user as mob) + if (has_suit) //if we are part of a suit + if (holstered) + unholster(user) + return + + ..(user) + +/obj/item/clothing/accessory/holster/attackby(obj/item/W as obj, mob/user as mob) + holster(W, user) + +/obj/item/clothing/accessory/holster/emp_act(severity) + if (holstered) + holstered.emp_act(severity) + ..() + +/obj/item/clothing/accessory/holster/examine(mob/user) + ..(user) + if (holstered) + user << "A [holstered] is holstered here." + else + user << "It is empty." + +/obj/item/clothing/accessory/holster/on_attached(obj/item/clothing/under/S, mob/user as mob) + ..() + has_suit.verbs += /obj/item/clothing/accessory/holster/verb/holster_verb + +/obj/item/clothing/accessory/holster/on_removed(mob/user as mob) + has_suit.verbs -= /obj/item/clothing/accessory/holster/verb/holster_verb + ..() + +//For the holster hotkey +/obj/item/clothing/accessory/holster/verb/holster_verb() + set name = "Holster" + set category = "Object" + set src in usr + if(!istype(usr, /mob/living)) return + if(usr.stat) return + + var/obj/item/clothing/accessory/holster/H = null + if (istype(src, /obj/item/clothing/accessory/holster)) + H = src + else if (istype(src, /obj/item/clothing/under)) + var/obj/item/clothing/under/S = src + if (S.accessories.len) + H = locate() in S.accessories + + if (!H) + usr << "Something is very wrong." + + if(!H.holstered) + if(!istype(usr.get_active_hand(), /obj/item/weapon/gun)) + usr << "You need your gun equiped to holster it." + return + var/obj/item/weapon/gun/W = usr.get_active_hand() + H.holster(W, usr) + else + H.unholster(usr) + +/obj/item/clothing/accessory/holster/armpit + name = "shoulder holster" + desc = "A worn-out handgun holster. Perfect for concealed carry" + icon_state = "holster" + item_color = "holster" + +/obj/item/clothing/accessory/holster/waist + name = "shoulder holster" + desc = "A handgun holster. Made of expensive leather." + icon_state = "holster" + item_color = "holster_low" \ No newline at end of file diff --git a/code/modules/clothing/under/accessories/storage.dm b/code/modules/clothing/under/accessories/storage.dm new file mode 100644 index 00000000000..32313e985d9 --- /dev/null +++ b/code/modules/clothing/under/accessories/storage.dm @@ -0,0 +1,86 @@ +/obj/item/clothing/accessory/storage + name = "load bearing equipment" + desc = "Used to hold things when you don't have enough hands." + icon_state = "webbing" + item_color = "webbing" + slot = "utility" + var/slots = 3 + var/obj/item/weapon/storage/internal/hold + +/obj/item/clothing/accessory/storage/New() + ..() + hold = new/obj/item/weapon/storage/internal(src) + hold.storage_slots = slots + +/obj/item/clothing/accessory/storage/attack_hand(mob/user as mob) + if (has_suit) //if we are part of a suit + hold.open(user) + return + + if (hold.handle_attack_hand(user)) //otherwise interact as a regular storage item + ..(user) + +/obj/item/clothing/accessory/storage/MouseDrop(obj/over_object as obj) + if (has_suit) + return + + if (hold.handle_mousedrop(usr, over_object)) + ..(over_object) + +/obj/item/clothing/accessory/storage/attackby(obj/item/W as obj, mob/user as mob) + return hold.attackby(W, user) + +/obj/item/clothing/accessory/storage/emp_act(severity) + hold.emp_act(severity) + ..() + +/obj/item/clothing/accessory/storage/hear_talk(mob/M, var/msg, verb, datum/language/speaking) + hold.hear_talk(M, msg, verb, speaking) + ..() + +/obj/item/clothing/accessory/storage/attack_self(mob/user as mob) + user << "You empty [src]." + var/turf/T = get_turf(src) + hold.hide_from(usr) + for(var/obj/item/I in hold.contents) + hold.remove_from_storage(I, T) + src.add_fingerprint(user) + +/obj/item/clothing/accessory/storage/webbing + name = "webbing" + desc = "Strudy mess of synthcotton belts and buckles, ready to share your burden." + icon_state = "webbing" + item_color = "webbing" + +/obj/item/clothing/accessory/storage/black_vest + name = "black webbing vest" + desc = "Robust black synthcotton vest with lots of pockets to hold whatever you need, but cannot hold in hands." + icon_state = "vest_black" + item_color = "vest_black" + slots = 5 + +/obj/item/clothing/accessory/storage/brown_vest + name = "brown webbing vest" + desc = "Worn brownish synthcotton vest with lots of pockets to unload your hands." + icon_state = "vest_brown" + item_color = "vest_brown" + slots = 5 + +/obj/item/clothing/accessory/storage/knifeharness + name = "decorated harness" + desc = "A heavily decorated harness of sinew and leather with two knife-loops." + icon_state = "unathiharness2" + item_color = "unathiharness2" + slots = 2 + +/obj/item/clothing/accessory/storage/knifeharness/New() + ..() + hold.max_combined_w_class = 4 + hold.can_hold = list("/obj/item/weapon/hatchet/unathiknife",\ + "/obj/item/weapon/kitchen/utensil/knife",\ + "/obj/item/weapon/kitchen/utensil/pknife",\ + "/obj/item/weapon/kitchenknife",\ + "/obj/item/weapon/kitchenknife/ritual") + + new /obj/item/weapon/hatchet/unathiknife(hold) + new /obj/item/weapon/hatchet/unathiknife(hold) \ No newline at end of file diff --git a/code/modules/clothing/under/ties.dm b/code/modules/clothing/under/ties.dm deleted file mode 100644 index 050a2716e09..00000000000 --- a/code/modules/clothing/under/ties.dm +++ /dev/null @@ -1,474 +0,0 @@ -/obj/item/clothing/tie - name = "tie" - desc = "A neosilk clip-on tie." - icon = 'icons/obj/clothing/ties.dmi' - icon_state = "bluetie" - item_state = "" //no inhands - item_color = "bluetie" - slot_flags = SLOT_TIE - w_class = 2.0 - var/obj/item/clothing/under/has_suit = null //the suit the tie may be attached to - var/image/inv_overlay = null //overlay used when attached to clothing. - -/obj/item/clothing/tie/New() - ..() - inv_overlay = image("icon" = 'icons/obj/clothing/ties_overlay.dmi', "icon_state" = "[item_color? "[item_color]" : "[icon_state]"]") - -//when user attached an accessory to S -/obj/item/clothing/tie/proc/on_attached(obj/item/clothing/under/S, mob/user as mob) - if(!istype(S)) - return - has_suit = S - loc = has_suit - has_suit.overlays += inv_overlay - - user << "You attach [src] to [has_suit]." - src.add_fingerprint(user) - -/obj/item/clothing/tie/proc/on_removed(mob/user as mob) - if(!has_suit) - return - has_suit.overlays -= inv_overlay - has_suit = null - usr.put_in_hands(src) - src.add_fingerprint(user) - -//default attackby behaviour -/obj/item/clothing/tie/attackby(obj/item/I, mob/user) - ..() - -//default attack_hand behaviour -/obj/item/clothing/tie/attack_hand(mob/user as mob) - if(has_suit) - has_suit.remove_accessory(user) - return //we aren't an object on the ground so don't call parent - ..() - -/obj/item/clothing/tie/blue - name = "blue tie" - icon_state = "bluetie" - item_color = "bluetie" - -/obj/item/clothing/tie/red - name = "red tie" - icon_state = "redtie" - item_color = "redtie" - -/obj/item/clothing/tie/horrible - name = "horrible tie" - desc = "A neosilk clip-on tie. This one is disgusting." - icon_state = "horribletie" - item_color = "horribletie" - -/obj/item/clothing/tie/stethoscope - name = "stethoscope" - desc = "An outdated medical apparatus for listening to the sounds of the human body. It also makes you look like you know what you're doing." - icon_state = "stethoscope" - item_color = "stethoscope" - -/obj/item/clothing/tie/stethoscope/attack(mob/living/carbon/human/M, mob/living/user) - if(ishuman(M) && isliving(user)) - if(user.a_intent == "help") - var/body_part = parse_zone(user.zone_sel.selecting) - if(body_part) - var/their = "their" - switch(M.gender) - if(MALE) their = "his" - if(FEMALE) their = "her" - - var/sound = "pulse" - var/sound_strength - - if(M.stat == DEAD || (M.status_flags&FAKEDEATH)) - sound_strength = "cannot hear" - sound = "anything" - else - sound_strength = "hear a weak" - switch(body_part) - if("chest") - if(M.oxyloss < 50) - sound_strength = "hear a healthy" - sound = "pulse and respiration" - if("eyes","mouth") - sound_strength = "cannot hear" - sound = "anything" - else - sound_strength = "hear a weak" - - user.visible_message("[user] places [src] against [M]'s [body_part] and listens attentively.", "You place [src] against [their] [body_part]. You [sound_strength] [sound].") - return - return ..(M,user) - - -//Medals -/obj/item/clothing/tie/medal - name = "bronze medal" - desc = "A bronze medal." - icon_state = "bronze" - item_color = "bronze" - -/obj/item/clothing/tie/medal/conduct - name = "distinguished conduct medal" - desc = "A bronze medal awarded for distinguished conduct. Whilst a great honor, this is most basic award given by Nanotrasen. It is often awarded by a captain to a member of his crew." - -/obj/item/clothing/tie/medal/bronze_heart - name = "bronze heart medal" - desc = "A bronze heart-shaped medal awarded for sacrifice. It is often awarded posthumously or for severe injury in the line of duty." - icon_state = "bronze_heart" - -/obj/item/clothing/tie/medal/nobel_science - name = "nobel sciences award" - desc = "A bronze medal which represents significant contributions to the field of science or engineering." - -/obj/item/clothing/tie/medal/silver - name = "silver medal" - desc = "A silver medal." - icon_state = "silver" - item_color = "silver" - -/obj/item/clothing/tie/medal/silver/valor - name = "medal of valor" - desc = "A silver medal awarded for acts of exceptional valor." - -/obj/item/clothing/tie/medal/silver/security - name = "robust security award" - desc = "An award for distinguished combat and sacrifice in defence of Nanotrasen's commercial interests. Often awarded to security staff." - -/obj/item/clothing/tie/medal/gold - name = "gold medal" - desc = "A prestigious golden medal." - icon_state = "gold" - item_color = "gold" - -/obj/item/clothing/tie/medal/gold/captain - name = "medal of captaincy" - desc = "A golden medal awarded exclusively to those promoted to the rank of captain. It signifies the codified responsibilities of a captain to Nanotrasen, and their undisputable authority over their crew." - -/obj/item/clothing/tie/medal/gold/heroism - name = "medal of exceptional heroism" - desc = "An extremely rare golden medal awarded only by CentComm. To recieve such a medal is the highest honor and as such, very few exist. This medal is almost never awarded to anybody but commanders." - -//Armbands -/obj/item/clothing/tie/armband - name = "red armband" - desc = "A fancy red armband!" - icon_state = "red" - item_color = "red" - -/obj/item/clothing/tie/armband/cargo - name = "cargo armband" - desc = "An armband, worn by the crew to display which department they're assigned to. This one is brown." - icon_state = "cargo" - item_color = "cargo" - -/obj/item/clothing/tie/armband/engine - name = "engineering armband" - desc = "An armband, worn by the crew to display which department they're assigned to. This one is orange with a reflective strip!" - icon_state = "engie" - item_color = "engie" - -/obj/item/clothing/tie/armband/science - name = "science armband" - desc = "An armband, worn by the crew to display which department they're assigned to. This one is purple." - icon_state = "rnd" - item_color = "rnd" - -/obj/item/clothing/tie/armband/hydro - name = "hydroponics armband" - desc = "An armband, worn by the crew to display which department they're assigned to. This one is green and blue." - icon_state = "hydro" - item_color = "hydro" - -/obj/item/clothing/tie/armband/med - name = "medical armband" - desc = "An armband, worn by the crew to display which department they're assigned to. This one is white." - icon_state = "med" - item_color = "med" - -/obj/item/clothing/tie/armband/medgreen - name = "EMT armband" - desc = "An armband, worn by the crew to display which department they're assigned to. This one is white and green." - icon_state = "medgreen" - item_color = "medgreen" - -//holsters -/obj/item/clothing/tie/holster - name = "shoulder holster" - desc = "A handgun holster." - icon_state = "holster" - item_color = "holster" - var/obj/item/weapon/gun/holstered = null - -//subtypes can override this to specify what can be holstered -/obj/item/clothing/tie/holster/proc/can_holster(obj/item/weapon/gun/W) - return W.isHandgun() - -/obj/item/clothing/tie/holster/proc/holster(obj/item/I, mob/user as mob) - if(holstered) - user << "\red There is already a [holstered] holstered here!" - return - - if (!istype(I, /obj/item/weapon/gun)) - user << "\red Only guns can be holstered!" - return - - var/obj/item/weapon/gun/W = I - if (!can_holster(W)) - user << "\red This [W] won't fit in the [src]!" - return - - holstered = W - user.drop_from_inventory(holstered) - holstered.loc = src - holstered.add_fingerprint(user) - user.visible_message("\blue [user] holsters the [holstered].", "You holster the [holstered].") - -/obj/item/clothing/tie/holster/proc/unholster(mob/user as mob) - if(!holstered) - return - - if(istype(user.get_active_hand(),/obj) && istype(user.get_inactive_hand(),/obj)) - user << "\red You need an empty hand to draw the [holstered]!" - else - if(user.a_intent == "hurt") - usr.visible_message("\red [user] draws the [holstered], ready to shoot!", \ - "\red You draw the [holstered], ready to shoot!") - else - user.visible_message("\blue [user] draws the [holstered], pointing it at the ground.", \ - "\blue You draw the [holstered], pointing it at the ground.") - user.put_in_hands(holstered) - holstered.add_fingerprint(user) - holstered = null - -/obj/item/clothing/tie/holster/attack_hand(mob/user as mob) - if (has_suit) //if we are part of a suit - if (holstered) - unholster(user) - return - - ..(user) - -/obj/item/clothing/tie/holster/attackby(obj/item/W as obj, mob/user as mob) - holster(W, user) - -/obj/item/clothing/tie/holster/emp_act(severity) - if (holstered) - holstered.emp_act(severity) - ..() - -/obj/item/clothing/tie/holster/examine(mob/user) - ..(user) - if (holstered) - user << "A [holstered] is holstered here." - else - user << "It is empty." - -/obj/item/clothing/tie/holster/on_attached(obj/item/clothing/under/S, mob/user as mob) - ..() - has_suit.verbs += /obj/item/clothing/tie/holster/verb/holster_verb - -/obj/item/clothing/tie/holster/on_removed(mob/user as mob) - has_suit.verbs -= /obj/item/clothing/tie/holster/verb/holster_verb - ..() - -//For the holster hotkey -/obj/item/clothing/tie/holster/verb/holster_verb() - set name = "Holster" - set category = "Object" - set src in usr - if(!istype(usr, /mob/living)) return - if(usr.stat) return - - var/obj/item/clothing/tie/holster/H = null - if (istype(src, /obj/item/clothing/tie/holster)) - H = src - else if (istype(src, /obj/item/clothing/under)) - var/obj/item/clothing/under/S = src - if (S.hastie) - H = S.hastie - - if (!H) - usr << "/red Something is very wrong." - - if(!H.holstered) - if(!istype(usr.get_active_hand(), /obj/item/weapon/gun)) - usr << "\blue You need your gun equiped to holster it." - return - var/obj/item/weapon/gun/W = usr.get_active_hand() - H.holster(W, usr) - else - H.unholster(usr) - -/obj/item/clothing/tie/holster/armpit - name = "shoulder holster" - desc = "A worn-out handgun holster. Perfect for concealed carry" - icon_state = "holster" - item_color = "holster" - -/obj/item/clothing/tie/holster/waist - name = "shoulder holster" - desc = "A handgun holster. Made of expensive leather." - icon_state = "holster" - item_color = "holster_low" - -/obj/item/clothing/tie/storage - name = "load bearing equipment" - desc = "Used to hold things when you don't have enough hands." - icon_state = "webbing" - item_color = "webbing" - var/slots = 3 - var/obj/item/weapon/storage/internal/hold - -/obj/item/clothing/tie/storage/New() - ..() - hold = new/obj/item/weapon/storage/internal(src) - hold.storage_slots = slots - -/obj/item/clothing/tie/storage/attack_hand(mob/user as mob) - if (has_suit) //if we are part of a suit - hold.open(user) - return - - if (hold.handle_attack_hand(user)) //otherwise interact as a regular storage item - ..(user) - -/obj/item/clothing/tie/storage/MouseDrop(obj/over_object as obj) - if (has_suit) - return - - if (hold.handle_mousedrop(usr, over_object)) - ..(over_object) - -/obj/item/clothing/tie/storage/attackby(obj/item/W as obj, mob/user as mob) - return hold.attackby(W, user) - -/obj/item/clothing/tie/storage/emp_act(severity) - hold.emp_act(severity) - ..() - -/obj/item/clothing/tie/storage/hear_talk(mob/M, var/msg, verb, datum/language/speaking) - hold.hear_talk(M, msg, verb, speaking) - ..() - -/obj/item/clothing/tie/storage/attack_self(mob/user as mob) - user << "You empty [src]." - var/turf/T = get_turf(src) - hold.hide_from(usr) - for(var/obj/item/I in hold.contents) - hold.remove_from_storage(I, T) - src.add_fingerprint(user) - -/obj/item/clothing/tie/storage/webbing - name = "webbing" - desc = "Strudy mess of synthcotton belts and buckles, ready to share your burden." - icon_state = "webbing" - item_color = "webbing" - -/obj/item/clothing/tie/storage/black_vest - name = "black webbing vest" - desc = "Robust black synthcotton vest with lots of pockets to hold whatever you need, but cannot hold in hands." - icon_state = "vest_black" - item_color = "vest_black" - slots = 5 - -/obj/item/clothing/tie/storage/brown_vest - name = "brown webbing vest" - desc = "Worn brownish synthcotton vest with lots of pockets to unload your hands." - icon_state = "vest_brown" - item_color = "vest_brown" - slots = 5 -/* - Holobadges are worn on the belt or neck, and can be used to show that the holder is an authorized - Security agent - the user details can be imprinted on the badge with a Security-access ID card, - or they can be emagged to accept any ID for use in disguises. -*/ - -/obj/item/clothing/tie/holobadge - - name = "holobadge" - desc = "This glowing blue badge marks the holder as THE LAW." - icon_state = "holobadge" - item_color = "holobadge" - slot_flags = SLOT_BELT | SLOT_TIE - - var/emagged = 0 //Emagging removes Sec check. - var/stored_name = null - -/obj/item/clothing/tie/holobadge/cord - icon_state = "holobadge-cord" - item_color = "holobadge-cord" - slot_flags = SLOT_MASK | SLOT_TIE - -/obj/item/clothing/tie/holobadge/attack_self(mob/user as mob) - if(!stored_name) - user << "Waving around a badge before swiping an ID would be pretty pointless." - return - if(isliving(user)) - user.visible_message("\red [user] displays their NanoTrasen Internal Security Legal Authorization Badge.\nIt reads: [stored_name], NT Security.","\red You display your NanoTrasen Internal Security Legal Authorization Badge.\nIt reads: [stored_name], NT Security.") - -/obj/item/clothing/tie/holobadge/attackby(var/obj/item/O as obj, var/mob/user as mob) - - if (istype(O, /obj/item/weapon/card/emag)) - if (emagged) - user << "\red [src] is already cracked." - return - else - emagged = 1 - user << "\red You swipe [O] and crack the holobadge security checks." - return - - else if(istype(O, /obj/item/weapon/card/id) || istype(O, /obj/item/device/pda)) - - var/obj/item/weapon/card/id/id_card = null - - if(istype(O, /obj/item/weapon/card/id)) - id_card = O - else - var/obj/item/device/pda/pda = O - id_card = pda.id - - if(access_security in id_card.access || emagged) - user << "You imprint your ID details onto the badge." - stored_name = id_card.registered_name - name = "holobadge ([stored_name])" - desc = "This glowing blue badge marks [stored_name] as THE LAW." - else - user << "[src] rejects your insufficient access rights." - return - ..() - -/obj/item/clothing/tie/holobadge/attack(mob/living/carbon/human/M, mob/living/user) - if(isliving(user)) - user.visible_message("\red [user] invades [M]'s personal space, thrusting [src] into their face insistently.","\red You invade [M]'s personal space, thrusting [src] into their face insistently. You are the law.") - -/obj/item/weapon/storage/box/holobadge - name = "holobadge box" - desc = "A box claiming to contain holobadges." - New() - new /obj/item/clothing/tie/holobadge(src) - new /obj/item/clothing/tie/holobadge(src) - new /obj/item/clothing/tie/holobadge(src) - new /obj/item/clothing/tie/holobadge(src) - new /obj/item/clothing/tie/holobadge/cord(src) - new /obj/item/clothing/tie/holobadge/cord(src) - ..() - return - -/obj/item/clothing/tie/storage/knifeharness - name = "decorated harness" - desc = "A heavily decorated harness of sinew and leather with two knife-loops." - icon_state = "unathiharness2" - item_color = "unathiharness2" - slots = 2 - -/obj/item/clothing/tie/storage/knifeharness/New() - ..() - hold.max_combined_w_class = 4 - hold.can_hold = list("/obj/item/weapon/hatchet/unathiknife",\ - "/obj/item/weapon/kitchen/utensil/knife",\ - "/obj/item/weapon/kitchen/utensil/pknife",\ - "/obj/item/weapon/kitchenknife",\ - "/obj/item/weapon/kitchenknife/ritual") - - new /obj/item/weapon/hatchet/unathiknife(hold) - new /obj/item/weapon/hatchet/unathiknife(hold) diff --git a/code/modules/customitems/item_defines.dm b/code/modules/customitems/item_defines.dm index 510417c0fb9..af19be3055f 100644 --- a/code/modules/customitems/item_defines.dm +++ b/code/modules/customitems/item_defines.dm @@ -114,7 +114,7 @@ /////////////////////// Cataguettes - Lucy's Stethoscope - Lucy Kemmerer ////// -/obj/item/clothing/tie/stethoscope/fluff/lucystethos +/obj/item/clothing/accessory/stethoscope/fluff/lucystethos name = "Lucy's Stethoscope" desc = "A medical apparatus intended to ease in listening to the sounds of the human body. This one looks cleaner and sparklier than the rest. There is a small silver plaque attached to the tubing, with the words 'Lucy Kemmerer' engraved on it." icon_state = "lucystethos" @@ -1126,7 +1126,7 @@ //////////////////// Blood Red Pendant - Mewth - Mu'taz Radi //////////////// -/obj/item/clothing/tie/fluff/radi +/obj/item/clothing/accessory/fluff/radi name = "Blood Red Pendant" desc = "A blue chained necklace with a ruby in the middle, it looks pretty!" icon = 'icons/obj/custom_items.dmi' @@ -1168,7 +1168,7 @@ ////// Small locket - Altair An-Nasaqan - Serithi -/obj/item/clothing/tie/fluff/altair_locket +/obj/item/clothing/accessory/fluff/altair_locket name = "small locket" desc = "A small golden locket attached to an Ii'rka-reed string. Inside the locket is a holo-picture of a female Tajaran, and an inscription writtin in Siik'mas." icon = 'icons/obj/custom_items.dmi' @@ -1181,7 +1181,7 @@ ////// Silver locket - Konaa Hirano - Konaa_Hirano -/obj/item/clothing/tie/fluff/konaa_hirano +/obj/item/clothing/accessory/fluff/konaa_hirano name = "silver locket" desc = "This oval shaped, argentium sterling silver locket hangs on an incredibly fine, refractive string, almost thin as hair and microweaved from links to a deceptive strength, of similar material. The edges are engraved very delicately with an elegant curving design, but overall the main is unmarked and smooth to the touch, leaving room for either remaining as a stolid piece or future alterations. There is an obvious internal place for a picture or lock of some sort, but even behind that is a very thin compartment unhinged with the pinch of a thumb and forefinger." icon = 'icons/obj/custom_items.dmi' @@ -1193,13 +1193,13 @@ slot_flags = SLOT_MASK | SLOT_TIE var/obj/item/held //Item inside locket. -/obj/item/clothing/tie/fluff/konaa_hirano/attack_self(mob/user as mob) +/obj/item/clothing/accessory/fluff/konaa_hirano/attack_self(mob/user as mob) if(held) user << "You open [src] and [held] falls out." held.loc = get_turf(user) src.held = null -/obj/item/clothing/tie/fluff/konaa_hirano/attackby(var/obj/item/O as obj, mob/user as mob) +/obj/item/clothing/accessory/fluff/konaa_hirano/attackby(var/obj/item/O as obj, mob/user as mob) if(istype(O,/obj/item/weapon/paper)) if(held) usr << "[src] already has something inside it." @@ -1213,7 +1213,7 @@ ////// Medallion - Nasir Khayyam - Jamini -/obj/item/clothing/tie/fluff/nasir_khayyam_1 +/obj/item/clothing/accessory/fluff/nasir_khayyam_1 name = "medallion" desc = "This silvered medallion bears the symbol of the Hadii Clan of the Tajaran." icon = 'icons/obj/custom_items.dmi' diff --git a/code/modules/mining/abandonedcrates.dm b/code/modules/mining/abandonedcrates.dm index c5f4c2d2dd4..c26c2eb9cd6 100644 --- a/code/modules/mining/abandonedcrates.dm +++ b/code/modules/mining/abandonedcrates.dm @@ -13,13 +13,13 @@ /obj/structure/closet/crate/secure/loot/New() ..() var/list/digits = list("1", "2", "3", "4", "5", "6", "7", "8", "9", "0") - + code = "" for(var/i = 0, i < codelen, i++) var/dig = pick(digits) code += dig digits -= dig // Player can enter codes with matching digits, but there are never matching digits in the answer - + var/loot = rand(1, 100) switch(loot) if(1 to 5) // Common things go, 5% @@ -53,7 +53,7 @@ if(46 to 50) new/obj/item/clothing/under/chameleon(src) for(var/i = 0, i < 7, i++) - new/obj/item/clothing/tie/horrible(src) + new/obj/item/clothing/accessory/horrible(src) if(51 to 52) // Uncommon, 2% each new/obj/item/weapon/melee/classic_baton(src) if(53 to 54) diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm index 0f06e979add..687314f1ddf 100644 --- a/code/modules/mob/living/carbon/human/examine.dm +++ b/code/modules/mob/living/carbon/human/examine.dm @@ -63,8 +63,8 @@ var/tie_msg if(istype(w_uniform,/obj/item/clothing/under)) var/obj/item/clothing/under/U = w_uniform - if(U.hastie) - tie_msg += " with \icon[U.hastie] \a [U.hastie]" + if(U.accessories.len) + tie_msg += " with [lowertext(english_list(U.accessories))]" if(w_uniform.blood_DNA) msg += "[t_He] [t_is] wearing \icon[w_uniform] [w_uniform.gender==PLURAL?"some":"a"] [(w_uniform.blood_color != "#030303") ? "blood" : "oil"]-stained [w_uniform.name][tie_msg]!\n" diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 738a5ea8b7c..dd5bfe7d594 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -241,7 +241,7 @@
Suit Storage: [(s_store ? s_store : "Nothing")] [((istype(wear_mask, /obj/item/clothing/mask) && istype(s_store, /obj/item/weapon/tank) && !( internal )) ? text(" Set Internal", src) : "")]
[(handcuffed ? text("Handcuffed") : text("Not Handcuffed"))]
[(legcuffed ? text("Legcuffed") : text(""))] -
[(suit) ? ((suit.hastie) ? text(" Remove Accessory", src) : "") :] +
[(suit) ? ((suit.accessories.len) ? text(" Remove Accessory", src) : "") :]
[(internal ? text("Remove Internal") : "")]
Remove Splints
Empty Pockets @@ -1301,4 +1301,4 @@ /mob/living/carbon/human/slip(var/slipped_on, stun_duration=8) if((species.flags & NO_SLIP) || (shoes && (shoes.flags & NOSLIP))) return 0 - ..(slipped_on,stun_duration) + ..(slipped_on,stun_duration) diff --git a/code/modules/mob/living/carbon/human/inventory.dm b/code/modules/mob/living/carbon/human/inventory.dm index 8516b11a7fc..b4c2a18c1d9 100644 --- a/code/modules/mob/living/carbon/human/inventory.dm +++ b/code/modules/mob/living/carbon/human/inventory.dm @@ -497,15 +497,17 @@ message = "\red [source] is trying to unlegcuff [target]!" if("tie") var/obj/item/clothing/under/suit = target.w_uniform - target.attack_log += text("\[[time_stamp()]\] Has had their accessory ([suit.hastie]) removed by [source.name] ([source.ckey])") - source.attack_log += text("\[[time_stamp()]\] Attempted to remove [target.name]'s ([target.ckey]) accessory ([suit.hastie])") - if(istype(suit.hastie, /obj/item/clothing/tie/holobadge) || istype(suit.hastie, /obj/item/clothing/tie/medal)) - for(var/mob/M in viewers(target, null)) - M.show_message("\red [source] tears off \the [suit.hastie] from [target]'s suit!" , 1) - done() - return - else - message = "\red [source] is trying to take off \a [suit.hastie] from [target]'s suit!" + if(suit.accessories.len) + var/obj/item/clothing/accessory/A = suit.accessories[1] + target.attack_log += "\[[time_stamp()]\] Has had their accessory ([A]) removed by [source.name] ([source.ckey])" + source.attack_log += "\[[time_stamp()]\] Attempted to remove [target.name]'s ([target.ckey]) accessory ([A])" + if(istype(A, /obj/item/clothing/accessory/holobadge) || istype(A, /obj/item/clothing/accessory/medal)) + for(var/mob/M in viewers(target, null)) + M.show_message("\red [source] tears off \the [A] from [target]'s [suit]!" , 1) + done() + return + else + message = "\red [source] is trying to take off \a [A] from [target]'s [suit]!" if("pockets") target.attack_log += text("\[[time_stamp()]\] Has had their pockets emptied by [source.name] ([source.ckey])") source.attack_log += text("\[[time_stamp()]\] Attempted to empty [target.name]'s ([target.ckey]) pockets") @@ -634,17 +636,18 @@ It can still be worn/put on as normal. strip_item = target.wear_suit if("tie") var/obj/item/clothing/under/suit = target.w_uniform - //var/obj/item/clothing/tie/tie = suit.hastie + //var/obj/item/clothing/accessory/tie = suit.hastie /*if(tie) - if (istype(tie,/obj/item/clothing/tie/storage)) - var/obj/item/clothing/tie/storage/W = tie + if (istype(tie,/obj/item/clothing/accessory/storage)) + var/obj/item/clothing/accessory/storage/W = tie if (W.hold) W.hold.close(usr) usr.put_in_hands(tie) suit.hastie = null*/ - if(suit && suit.hastie) - suit.hastie.on_removed(usr) - suit.hastie = null + if(suit && suit.accessories.len) + var/obj/item/clothing/accessory/A = suit.accessories[1] + A.on_removed(usr) + suit.accessories -= A target.update_inv_w_uniform() if("id") slot_to_process = slot_wear_id diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index 303f9b1f763..10b13d87366 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -537,10 +537,11 @@ proc/get_damage_icon_part(damage_state, body_part) bloodsies.color = w_uniform.blood_color standing.overlays += bloodsies - if(w_uniform:hastie) //WE CHECKED THE TYPE ABOVE. THIS REALLY SHOULD BE FINE. - var/tie_color = w_uniform:hastie.item_color - if(!tie_color) tie_color = w_uniform:hastie.icon_state - standing.overlays += image("icon" = 'icons/mob/ties.dmi', "icon_state" = "[tie_color]") + if(w_uniform:accessories.len) //WE CHECKED THE TYPE ABOVE. THIS REALLY SHOULD BE FINE. + for(var/obj/item/clothing/accessory/A in w_uniform:accessories) + var/tie_color = A.item_color + if(!tie_color) tie_color = A.icon_state + standing.overlays += image("icon" = 'icons/mob/ties.dmi', "icon_state" = "[tie_color]") overlays_standing[UNIFORM_LAYER] = standing else @@ -780,7 +781,7 @@ proc/get_damage_icon_part(damage_state, body_part) /mob/living/carbon/human/update_inv_wear_mask(var/update_icons=1) - if( wear_mask && ( istype(wear_mask, /obj/item/clothing/mask) || istype(wear_mask, /obj/item/clothing/tie) ) && !(head && head.flags_inv & HIDEMASK)) + if( wear_mask && ( istype(wear_mask, /obj/item/clothing/mask) || istype(wear_mask, /obj/item/clothing/accessory) ) && !(head && head.flags_inv & HIDEMASK)) wear_mask.screen_loc = ui_mask //TODO var/image/standing diff --git a/maps/exodus-1.dmm b/maps/exodus-1.dmm index f85e5a37312..a5516c60cd4 100644 --- a/maps/exodus-1.dmm +++ b/maps/exodus-1.dmm @@ -346,7 +346,7 @@ "agH" = (/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/door/airlock/glass_security{name = "Warden's Office"; req_access_txt = "3"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "dark"},/area/security/warden) "agI" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/security/warden) "agJ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/security/warden) -"agK" = (/obj/structure/closet/wardrobe/red,/obj/structure/window/reinforced,/obj/item/clothing/tie/holster/waist,/obj/item/clothing/tie/holster/waist,/obj/item/clothing/tie/holster/waist,/obj/item/clothing/tie/armband,/obj/item/clothing/tie/armband,/obj/item/clothing/tie/armband,/turf/simulated/floor,/area/security/main) +"agK" = (/obj/structure/closet/wardrobe/red,/obj/structure/window/reinforced,/obj/item/clothing/accessory/holster/waist,/obj/item/clothing/accessory/holster/waist,/obj/item/clothing/accessory/holster/waist,/obj/item/clothing/accessory/armband,/obj/item/clothing/accessory/armband,/obj/item/clothing/accessory/armband,/turf/simulated/floor,/area/security/main) "agL" = (/obj/structure/closet/secure_closet/security,/obj/item/device/flashlight/flare,/obj/structure/window/reinforced,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/security/main) "agM" = (/obj/structure/reagent_dispensers/peppertank{pixel_x = 30},/turf/simulated/floor{dir = 2; icon_state = "redcorner"},/area/security/main) "agN" = (/obj/structure/disposalpipe/sortjunction{dir = 1; name = "HoS Office"; sortType = "HoS Office"},/turf/simulated/wall,/area/crew_quarters/heads/hos) @@ -523,7 +523,7 @@ "akc" = (/obj/item/device/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_y = 20},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/brig) "akd" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/brig) "ake" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/security/brig) -"akf" = (/obj/structure/table,/obj/machinery/recharger/wallcharger{pixel_x = 4; pixel_y = -28},/obj/item/clothing/tie/holobadge,/obj/item/clothing/tie/holobadge,/obj/item/clothing/tie/holobadge/cord,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor{dir = 2; icon_state = "redcorner"},/area/security/main) +"akf" = (/obj/structure/table,/obj/machinery/recharger/wallcharger{pixel_x = 4; pixel_y = -28},/obj/item/clothing/accessory/holobadge,/obj/item/clothing/accessory/holobadge,/obj/item/clothing/accessory/holobadge/cord,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor{dir = 2; icon_state = "redcorner"},/area/security/main) "akg" = (/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor{icon_state = "red"; dir = 5},/area/security/brig) "akh" = (/obj/structure/table/rack,/obj/item/weapon/storage/briefcase{pixel_x = -2; pixel_y = -5},/obj/item/weapon/storage/briefcase{pixel_x = 3; pixel_y = 0},/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office) "aki" = (/obj/structure/disposalpipe/segment,/obj/structure/closet{name = "Evidence Closet"},/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office) @@ -4238,7 +4238,7 @@ "bDz" = (/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) "bDA" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/medical/medbay) "bDB" = (/obj/structure/table,/obj/item/clothing/suit/straight_jacket,/obj/item/clothing/mask/muzzle,/obj/machinery/light,/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/turf/simulated/floor{tag = "icon-whiteblue (SOUTHWEST)"; icon_state = "whiteblue"; dir = 10},/area/medical/medbay3) -"bDC" = (/obj/structure/table/rack,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/clothing/tie/stethoscope,/obj/item/clothing/tie/stethoscope,/obj/item/clothing/tie/stethoscope,/obj/item/clothing/tie/stethoscope,/obj/machinery/camera{c_tag = "Medbay Equipment Storage"; dir = 1},/obj/item/clothing/tie/stethoscope,/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 0; pixel_y = -22},/turf/simulated/floor{dir = 2; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay3) +"bDC" = (/obj/structure/table/rack,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/clothing/accessory/stethoscope,/obj/item/clothing/accessory/stethoscope,/obj/item/clothing/accessory/stethoscope,/obj/item/clothing/accessory/stethoscope,/obj/machinery/camera{c_tag = "Medbay Equipment Storage"; dir = 1},/obj/item/clothing/accessory/stethoscope,/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 0; pixel_y = -22},/turf/simulated/floor{dir = 2; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay3) "bDD" = (/obj/structure/table,/obj/machinery/light,/obj/item/weapon/storage/box/gloves{pixel_x = 4; pixel_y = 4},/obj/item/weapon/storage/box/masks{pixel_y = 0},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor{tag = "icon-whiteblue (SOUTHEAST)"; icon_state = "whiteblue"; dir = 6},/area/medical/medbay3) "bDE" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/medical/medbay2) "bDF" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) @@ -5007,7 +5007,7 @@ "bSo" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) "bSp" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "staffroom"; name = "Staff Room Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/medbay2) "bSq" = (/obj/machinery/light,/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/turf/simulated/floor{dir = 10; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/crew_quarters/heads/cmo) -"bSr" = (/obj/structure/table/rack,/obj/item/clothing/tie/stethoscope,/obj/item/clothing/glasses/hud/health,/obj/item/device/flashlight/pen,/obj/item/weapon/storage/belt/medical,/obj/machinery/keycard_auth{pixel_x = 0; pixel_y = -24},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = -38},/turf/simulated/floor{dir = 2; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/crew_quarters/heads/cmo) +"bSr" = (/obj/structure/table/rack,/obj/item/clothing/accessory/stethoscope,/obj/item/clothing/glasses/hud/health,/obj/item/device/flashlight/pen,/obj/item/weapon/storage/belt/medical,/obj/machinery/keycard_auth{pixel_x = 0; pixel_y = -24},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = -38},/turf/simulated/floor{dir = 2; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/crew_quarters/heads/cmo) "bSs" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/heads/cmo) "bSt" = (/obj/machinery/computer/crew,/obj/machinery/light,/turf/simulated/floor{dir = 6; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/crew_quarters/heads/cmo) "bSu" = (/obj/machinery/door/window/eastright{base_state = "left"; dir = 8; icon_state = "left"; name = "Research Division Delivery"; req_access_txt = "47"},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/turf/simulated/floor{icon_state = "delivery"},/area/rnd/research) diff --git a/maps/exodus-2.dmm b/maps/exodus-2.dmm index 19fe609ecc6..944bc52a02d 100644 --- a/maps/exodus-2.dmm +++ b/maps/exodus-2.dmm @@ -568,7 +568,7 @@ "kV" = (/obj/machinery/computer/crew,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) "kW" = (/obj/structure/stool/bed/chair{dir = 4; name = "Defense"},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) "kX" = (/obj/machinery/computer/communications,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) -"kY" = (/obj/structure/closet/syndicate/personal,/obj/item/clothing/tie/storage/brown_vest,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) +"kY" = (/obj/structure/closet/syndicate/personal,/obj/item/clothing/accessory/storage/brown_vest,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) "kZ" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 8},/area/syndicate_mothership) "la" = (/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership) "lb" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/structure/mirror{pixel_x = 28},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership) @@ -723,8 +723,8 @@ "nU" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/turf/unsimulated/floor{icon_state = "floor5"},/area/syndicate_mothership) "nV" = (/obj/machinery/shower{pixel_y = 32},/obj/structure/window/basic{dir = 8},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership) "nW" = (/obj/machinery/shower{pixel_y = 32},/obj/item/weapon/soap/syndie,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership) -"nX" = (/obj/structure/table/rack,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/tie/storage/black_vest,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"nY" = (/obj/structure/table/rack,/obj/item/clothing/tie/storage/brown_vest,/obj/item/clothing/tie/storage/brown_vest,/obj/item/clothing/tie/storage/brown_vest,/obj/item/clothing/tie/storage/brown_vest,/obj/item/clothing/tie/storage/brown_vest,/obj/item/clothing/tie/storage/brown_vest,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) +"nX" = (/obj/structure/table/rack,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) +"nY" = (/obj/structure/table/rack,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) "nZ" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets{pixel_x = 2; pixel_y = 3},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) "oa" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) "ob" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{icon_state = "floor5"},/area/syndicate_mothership) @@ -1047,9 +1047,9 @@ "ug" = (/turf/unsimulated/wall,/area/centcom/test) "uh" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops) "ui" = (/obj/structure/table/rack,/obj/item/weapon/gun/grenadelauncher,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) -"uj" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/tie/storage/black_vest,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"uj" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) "uk" = (/obj/structure/table/rack,/obj/item/clothing/suit/armor/vest/ert/security,/obj/item/clothing/suit/armor/vest/ert/security,/obj/item/clothing/suit/armor/vest/ert/security,/obj/item/clothing/suit/armor/vest/ert/security,/obj/item/clothing/head/helmet/ert/security,/obj/item/clothing/head/helmet/ert/security,/obj/item/clothing/head/helmet/ert/security,/obj/item/clothing/head/helmet/ert/security,/obj/item/weapon/storage/backpack/ert/security,/obj/item/weapon/storage/backpack/ert/security,/obj/item/weapon/storage/backpack/ert/security,/obj/item/weapon/storage/backpack/ert/security,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) -"ul" = (/obj/structure/table/rack,/obj/item/weapon/rig/ert/security,/obj/item/clothing/tie/storage/black_vest,/obj/item/weapon/rig/ert/security,/obj/item/clothing/tie/storage/black_vest,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"ul" = (/obj/structure/table/rack,/obj/item/weapon/rig/ert/security,/obj/item/clothing/accessory/storage/black_vest,/obj/item/weapon/rig/ert/security,/obj/item/clothing/accessory/storage/black_vest,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) "um" = (/obj/structure/table/rack,/obj/item/rig_module/mounted,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) "un" = (/obj/structure/table/reinforced,/obj/item/weapon/circuitboard/aiupload,/obj/item/weapon/circuitboard/borgupload,/obj/item/weapon/circuitboard/smes,/obj/item/weapon/aiModule/nanotrasen,/obj/item/weapon/aiModule/reset,/obj/item/weapon/aiModule/freeformcore,/obj/item/weapon/aiModule/protectStation,/obj/item/weapon/aiModule/quarantine,/obj/item/weapon/aiModule/paladin,/obj/item/weapon/aiModule/robocop,/obj/item/weapon/aiModule/safeguard,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) "uo" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control) @@ -1093,7 +1093,7 @@ "va" = (/turf/unsimulated/floor{icon_state = "loadingarea"; dir = 8},/area/centcom/specops) "vb" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) "vc" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/weapon/energy/ion,/obj/item/mecha_parts/mecha_equipment/weapon/energy/taser,/obj/item/mecha_parts/mecha_equipment/anticcw_armor_booster,/obj/item/mecha_parts/mecha_equipment/antiproj_armor_booster,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) -"vd" = (/obj/structure/table/rack,/obj/item/clothing/head/beret/centcom/officer,/obj/item/clothing/head/beret/centcom/officer,/obj/item/clothing/head/beret/centcom/officer,/obj/item/clothing/head/beret/centcom/officer,/obj/item/clothing/head/beret/centcom/officer,/obj/item/clothing/head/beret/centcom/officer,/obj/item/clothing/mask/balaclava,/obj/item/clothing/mask/balaclava,/obj/item/clothing/mask/balaclava,/obj/item/clothing/mask/balaclava,/obj/item/clothing/mask/balaclava,/obj/item/clothing/mask/balaclava,/obj/item/clothing/tie/holster/waist,/obj/item/clothing/tie/holster/waist,/obj/item/clothing/tie/holster/waist,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) +"vd" = (/obj/structure/table/rack,/obj/item/clothing/head/beret/centcom/officer,/obj/item/clothing/head/beret/centcom/officer,/obj/item/clothing/head/beret/centcom/officer,/obj/item/clothing/head/beret/centcom/officer,/obj/item/clothing/head/beret/centcom/officer,/obj/item/clothing/head/beret/centcom/officer,/obj/item/clothing/mask/balaclava,/obj/item/clothing/mask/balaclava,/obj/item/clothing/mask/balaclava,/obj/item/clothing/mask/balaclava,/obj/item/clothing/mask/balaclava,/obj/item/clothing/mask/balaclava,/obj/item/clothing/accessory/holster/waist,/obj/item/clothing/accessory/holster/waist,/obj/item/clothing/accessory/holster/waist,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) "ve" = (/obj/structure/table/rack,/obj/item/clothing/suit/armor/vest/ert/engineer,/obj/item/clothing/suit/armor/vest/ert/engineer,/obj/item/clothing/suit/armor/vest/ert/engineer,/obj/item/clothing/suit/armor/vest/ert/engineer,/obj/item/clothing/head/helmet/ert/engineer,/obj/item/clothing/head/helmet/ert/engineer,/obj/item/clothing/head/helmet/ert/engineer,/obj/item/clothing/head/helmet/ert/engineer,/obj/item/weapon/storage/backpack/ert/engineer,/obj/item/weapon/storage/backpack/ert/engineer,/obj/item/weapon/storage/backpack/ert/engineer,/obj/item/weapon/storage/backpack/ert/engineer,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) "vf" = (/obj/structure/table/reinforced,/obj/item/device/multitool,/obj/item/device/multitool,/obj/item/device/flash,/obj/item/device/flash,/obj/item/weapon/rcd,/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,/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/rcd_ammo,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom) "vg" = (/obj/machinery/pipedispenser/orderable,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) @@ -1126,10 +1126,10 @@ "vH" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 1},/obj/machinery/camera{c_tag = "Court"; invisibility = 1; network = list("thunder"); pixel_x = 10},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control) "vI" = (/obj/mecha/medical/odysseus/loaded,/turf/unsimulated/floor{icon_state = "delivery"; dir = 6},/area/centcom/specops) "vJ" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/tool/sleeper,/obj/item/mecha_parts/mecha_equipment/tool/sleeper,/obj/item/mecha_parts/mecha_equipment/tool/syringe_gun,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) -"vK" = (/obj/structure/table/rack,/obj/item/weapon/rig/ert/engineer,/obj/item/clothing/tie/storage/brown_vest,/obj/item/weapon/rig/ert/engineer,/obj/item/clothing/tie/storage/brown_vest,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"vK" = (/obj/structure/table/rack,/obj/item/weapon/rig/ert/engineer,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/weapon/rig/ert/engineer,/obj/item/clothing/accessory/storage/brown_vest,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) "vL" = (/obj/structure/sign/poster{poster_type = "/datum/poster/bay_50"; pixel_x = -32},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) "vM" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) -"vN" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/tie/storage/brown_vest,/obj/item/clothing/tie/storage/brown_vest,/obj/item/clothing/tie/storage/brown_vest,/obj/item/clothing/tie/storage/brown_vest,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"vN" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) "vO" = (/obj/machinery/vending/tool,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) "vP" = (/obj/structure/table/rack,/obj/item/clothing/suit/armor/vest/ert/command,/obj/item/clothing/head/helmet/ert/command,/obj/item/weapon/storage/backpack/ert/commander,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops) "vQ" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom) @@ -1152,7 +1152,7 @@ "wh" = (/obj/machinery/door/blast/regular{icon_state = "pdoor1"; id = "ASSAULT1"; name = "Launch Bay #1"; p_open = 0},/turf/unsimulated/floor{name = "plating"},/area/centcom) "wi" = (/obj/machinery/mass_driver{dir = 8; id = "ASSAULT2"; name = "gravpult"},/turf/unsimulated/floor{icon_state = "bot"},/area/centcom/specops) "wj" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/teleporter,/obj/item/mecha_parts/mecha_tracking,/obj/item/mecha_parts/mecha_tracking,/obj/item/mecha_parts/mecha_tracking,/obj/item/mecha_parts/mecha_tracking,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) -"wk" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/tie/storage/black_vest,/obj/item/weapon/rig/ert,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"wk" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/accessory/storage/black_vest,/obj/item/weapon/rig/ert,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) "wl" = (/obj/machinery/vending/engivend,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) "wm" = (/turf/unsimulated/floor{icon_state = "dark"},/area/centcom) "wn" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 9},/area/centcom) @@ -1171,7 +1171,7 @@ "wA" = (/obj/structure/table/reinforced,/obj/item/device/aicard,/obj/item/weapon/pinpointer/advpinpointer,/obj/item/weapon/stamp/centcomm,/turf/unsimulated/floor{icon_state = "blue"},/area/centcom) "wB" = (/obj/structure/table/reinforced,/obj/item/device/pda/ert,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) "wC" = (/obj/structure/table/reinforced,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) -"wD" = (/obj/structure/table/rack,/obj/item/weapon/rig/ert/medical,/obj/item/clothing/tie/storage/black_vest,/obj/item/weapon/rig/ert/medical,/obj/item/clothing/tie/storage/black_vest,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) +"wD" = (/obj/structure/table/rack,/obj/item/weapon/rig/ert/medical,/obj/item/clothing/accessory/storage/black_vest,/obj/item/weapon/rig/ert/medical,/obj/item/clothing/accessory/storage/black_vest,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) "wE" = (/obj/machinery/vending/engineering,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) "wF" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops) "wG" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/unsimulated/floor{name = "plating"},/area/centcom/specops) @@ -1208,7 +1208,7 @@ "xl" = (/obj/machinery/mech_bay_recharge_port,/turf/unsimulated/floor{icon_state = "bot"},/area/centcom) "xm" = (/obj/mecha/working/hoverpod,/turf/unsimulated/floor{icon_state = "delivery"; dir = 6},/area/centcom) "xn" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/tool/hydraulic_clamp,/obj/item/mecha_parts/mecha_equipment/tool/hydraulic_clamp,/obj/item/mecha_parts/mecha_equipment/tool/passenger,/obj/item/mecha_parts/mecha_equipment/tool/passenger,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) -"xo" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/tie/storage/black_vest,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) +"xo" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) "xp" = (/obj/structure/table/rack,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) "xq" = (/obj/structure/sign/securearea{name = "\improper ARMORY"; pixel_y = 32},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) "xr" = (/obj/structure/sign/securearea{name = "ENGINEERING ACCESS"; pixel_y = 32},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) @@ -1832,7 +1832,7 @@ "Jl" = (/obj/structure/table/rack,/obj/item/weapon/rcd,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) "Jm" = (/obj/structure/kitchenspike,/obj/structure/table/reinforced,/turf/unsimulated/floor{dir = 4; icon_state = "chapel"},/area/wizard_station) "Jn" = (/obj/structure/kitchenspike,/obj/structure/table/reinforced,/turf/unsimulated/floor{dir = 1; icon_state = "chapel"},/area/wizard_station) -"Jo" = (/obj/structure/table/rack,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/suit/space/vox/carapace,/obj/item/clothing/head/helmet/space/vox/carapace,/obj/item/clothing/mask/breath,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"Jo" = (/obj/structure/table/rack,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/suit/space/vox/carapace,/obj/item/clothing/head/helmet/space/vox/carapace,/obj/item/clothing/mask/breath,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) "Jp" = (/obj/machinery/computer/station_alert,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) "Jq" = (/obj/machinery/computer/shuttle_control/multi/vox,/turf/simulated/shuttle/floor{icon_state = "floor4"; oxygen = 0},/area/shuttle/vox/station) "Jr" = (/turf/simulated/shuttle/floor{icon_state = "floor4"; oxygen = 0},/area/shuttle/vox/station) @@ -1913,9 +1913,9 @@ "KO" = (/obj/machinery/portable_atmospherics/canister/phoron,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) "KP" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) "KQ" = (/obj/structure/table/rack,/obj/item/weapon/gun/dartgun/vox/raider,/obj/item/weapon/gun/dartgun/vox/medical,/obj/item/weapon/dart_cartridge,/obj/item/weapon/dart_cartridge,/obj/item/weapon/dart_cartridge,/obj/item/weapon/dart_cartridge,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"KR" = (/obj/structure/table/rack,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/suit/space/vox/medic,/obj/item/clothing/head/helmet/space/vox/medic,/obj/item/clothing/mask/breath,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"KR" = (/obj/structure/table/rack,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/suit/space/vox/medic,/obj/item/clothing/head/helmet/space/vox/medic,/obj/item/clothing/mask/breath,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) "KS" = (/obj/structure/table/rack,/obj/item/weapon/gun/launcher/pneumatic,/obj/item/weapon/harpoon,/obj/item/weapon/harpoon,/obj/item/weapon/harpoon,/obj/item/weapon/harpoon,/obj/item/weapon/tank/nitrogen,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"KT" = (/obj/structure/table/rack,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/suit/space/vox/pressure,/obj/item/clothing/head/helmet/space/vox/pressure,/obj/item/clothing/mask/breath,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"KT" = (/obj/structure/table/rack,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/suit/space/vox/pressure,/obj/item/clothing/head/helmet/space/vox/pressure,/obj/item/clothing/mask/breath,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) "KU" = (/obj/machinery/sleeper,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) "KV" = (/obj/machinery/sleep_console,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) "KW" = (/obj/machinery/bodyscanner,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) @@ -1923,7 +1923,7 @@ "KY" = (/turf/space,/turf/simulated/shuttle/wall{icon_state = "diagonalWall3"},/area/shuttle/vox/station) "KZ" = (/obj/structure/shuttle/engine/heater,/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) "La" = (/obj/structure/table/rack,/obj/item/weapon/gun/launcher/spikethrower,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"Lb" = (/obj/structure/table/rack,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/suit/space/vox/stealth,/obj/item/clothing/head/helmet/space/vox/stealth,/obj/item/clothing/mask/breath,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"Lb" = (/obj/structure/table/rack,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/suit/space/vox/stealth,/obj/item/clothing/head/helmet/space/vox/stealth,/obj/item/clothing/mask/breath,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) "Lc" = (/turf/space,/turf/simulated/shuttle/wall{dir = 4; icon_state = "diagonalWall3"},/area/shuttle/vox/station) "Ld" = (/obj/structure/shuttle/engine/propulsion,/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/shuttle/vox/station) "Le" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/blast/regular{dir = 2; id = "skipjack"; name = "Skipjack Blast Shielding"},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) From de3e81657dca96a1396c9f3936e09ffe3cf589e5 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Sun, 8 Feb 2015 12:45:50 +0300 Subject: [PATCH 033/143] Added moar sanity. --- code/modules/clothing/clothing.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index cb71a9f2859..da569c6b615 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -413,6 +413,8 @@ BLIND // can't see anything /obj/item/clothing/under/proc/can_attach_accessory(obj/item/clothing/accessory/A) if(istype(A)) .=1 + else + return 0 if(accessories.len && (A.slot in list("utility","armband"))) for(var/obj/item/clothing/accessory/AC in accessories) if (AC.slot == A.slot) From dadea3c7faa5a1374518cc5773d1f62165d78fed Mon Sep 17 00:00:00 2001 From: SkyMarshal Date: Sun, 1 Feb 2015 21:02:48 -0700 Subject: [PATCH 034/143] Adds two admin weapons and refactors wall damage code. The Icarus is now fireable in gun form. The point defense mode fires several lasers one after the other so that it can penetrate. The main gun mode fires a modified meteor. Also added an "abstract weapon" which has the projectile type settable for admin shenanigans. Walls now lack an armor variable, which is replaced with buffed health. Normal walls take 4 shots with a normal laser or 5 emitter bursts to destroy. Reinforced walls now take 20 normal laser shots or 28 emitter shots. Added some proactive runtime protection to logging for projectile impacts. Without a valid firer, the jump button is linked to the victim. --- code/game/gamemodes/meteor/meteors.dm | 13 ++-- code/game/turfs/simulated/walls.dm | 13 ++-- code/game/turfs/simulated/walls_reinforced.dm | 5 +- .../projectiles/guns/energy/special.dm | 57 ++++++++++++++++ .../modules/projectiles/projectile/special.dm | 66 +++++++++++++++++++ 5 files changed, 140 insertions(+), 14 deletions(-) diff --git a/code/game/gamemodes/meteor/meteors.dm b/code/game/gamemodes/meteor/meteors.dm index fce27f393ce..1edb533daaa 100644 --- a/code/game/gamemodes/meteor/meteors.dm +++ b/code/game/gamemodes/meteor/meteors.dm @@ -85,6 +85,9 @@ density = 1 anchored = 1.0 var/hits = 1 + var/detonation_chance = 15 + var/power = 4 + var/power_step = 1 var/dest pass_flags = PASSTABLE @@ -92,6 +95,7 @@ name = "small meteor" icon_state = "smallf" pass_flags = PASSTABLE | PASSGRILLE + power = 2 /obj/effect/meteor/Bump(atom/A) spawn(0) @@ -105,8 +109,8 @@ //Changing emitter and generator ex_act would result in them being bomb and C4 proof. if(!istype(A,/obj/machinery/power/emitter) && \ !istype(A,/obj/machinery/field_generator) && \ - prob(15)) - explosion(src.loc, 4, 5, 6, 7, 0) + prob(detonation_chance)) + explosion(loc, power, power + power_step, power + power_step * 2, power + power_step * 3, 0) del(src) return @@ -120,6 +124,7 @@ /obj/effect/meteor/big name = "big meteor" hits = 5 + power = 1 ex_act(severity) return @@ -143,8 +148,8 @@ explosion(src.loc, 0, 1, 2, 3, 0) if (--src.hits <= 0) - if(prob(15) && !istype(A, /obj/structure/grille)) - explosion(src.loc, 1, 2, 3, 4, 0) + if(prob(detonation_chance) && !istype(A, /obj/structure/grille)) + explosion(loc, power, power + power_step, power + power_step * 2, power + power_step * 3, 0) del(src) return diff --git a/code/game/turfs/simulated/walls.dm b/code/game/turfs/simulated/walls.dm index 572ed0ff8db..9b85c90e161 100644 --- a/code/game/turfs/simulated/walls.dm +++ b/code/game/turfs/simulated/walls.dm @@ -6,8 +6,7 @@ var/rotting = 0 var/damage = 0 - var/damage_cap = 100 //Wall will break down to girders if damage reaches this point - var/armor = 0.5 // Damage is multiplied by this + var/damage_cap = 150 //Wall will break down to girders if damage reaches this point var/damage_overlay var/global/damage_overlays[8] @@ -30,7 +29,7 @@ return //cap the amount of damage, so that things like emitters can't destroy walls in one hit. - var/damage = min(Proj.damage, 100) * armor + var/damage = min(Proj.damage, 100) take_damage(damage) return @@ -39,12 +38,12 @@ ..() if(ismob(AM)) return - + var/tforce = AM:throwforce * (speed/THROWFORCE_SPEED_DIVISOR) if (tforce < 15) return - - take_damage(tforce * armor) + + take_damage(tforce) /turf/simulated/wall/Del() for(var/obj/effect/E in src) if(E.name == "Wallrot") del E @@ -475,7 +474,7 @@ else if(istype(W,/obj/item/weapon/rcd)) //I bitterly resent having to write this. ~Z return - + else if(istype(W, /obj/item/weapon/reagent_containers)) return // They tend to have meaningful afterattack - let them apply it without destroying a rotting wall diff --git a/code/game/turfs/simulated/walls_reinforced.dm b/code/game/turfs/simulated/walls_reinforced.dm index b08363a7153..5eddfc8b71c 100644 --- a/code/game/turfs/simulated/walls_reinforced.dm +++ b/code/game/turfs/simulated/walls_reinforced.dm @@ -5,9 +5,8 @@ opacity = 1 density = 1 - damage_cap = 500 + damage_cap = 800 max_temperature = 6000 - armor = 0.1 // Only 10% damage from gunfire, it's made from strong alloys and stuff. walltype = "rwall" @@ -294,7 +293,7 @@ else if(istype(W, /obj/item/weapon/reagent_containers)) return // They tend to have meaningful afterattack - let them apply it without destroying a rotting wall - + //Finally, CHECKING FOR FALSE WALLS if it isn't damaged else if(!d_state) return attack_hand(user) diff --git a/code/modules/projectiles/guns/energy/special.dm b/code/modules/projectiles/guns/energy/special.dm index d5417496bfa..7fc8fd3b4c5 100644 --- a/code/modules/projectiles/guns/energy/special.dm +++ b/code/modules/projectiles/guns/energy/special.dm @@ -233,3 +233,60 @@ obj/item/weapon/gun/energy/staff/focus set popup_menu = 1 zoom() + + +/obj/item/weapon/gun/energy/icarus + name = "\improper N.D.V. Icarus" + desc = "It feels like the fate of the Exodus in your hands. SO STOP FUCKING IT UP. It's set to fire point defense lasers.." + projectile_type = "/obj/item/projectile/icarus/pointdefense" + icon = 'icons/obj/watercloset.dmi' + icon_state = "rubberducky" + item_state = "rubberducky" + charge_cost = 0 + silenced = 1 + var/popgun = 1 + + attack_self(mob/living/user as mob) + if(popgun) + popgun = 0 + desc = "It feels like the fate of the Exodus in your hands. SO STOP FUCKING IT UP. It's set to fire the main guns." + projectile_type = "/obj/item/projectile/icarus/guns" + user << "You switch to using the main guns." + + else + popgun = 1 + desc = "It feels like the fate of the Exodus in your hands. SO STOP FUCKING IT UP. It's set to fire point defense lasers.." + projectile_type = "/obj/item/projectile/icarus/pointdefense" + user << "You switch to using the point-defense lasers." + . = ..() + + update_icon() + return + + verb/fuckshitup() + set name = "fuckshitup" + set desc = "This will kill a lot of people." + set hidden = 1 + + popgun = 0 + desc = "It feels like the fate of the Exodus is in your han- wait, what the hell ARE YOU DOING!?" + projectile_type = "/obj/item/projectile/icarus/torpedo" + usr << "You tell the crew to load the highly illegal phasic torpedos. After the mutiny has been put down, you are ready to burn the world." + + +/obj/item/weapon/gun/energy/variable + name = "abstract weapon" + desc = "It seems to shift and flow as you watch." + charge_cost = 0 + silenced = 1 + + update_icon() + return + + attack_self(mob/living/user as mob) + var/type = input(user,"What projectile type?","Projectile", null) as null|anything in typesof(/obj/item/projectile) + if(!type) + return ..() + + projectile_type = "[type]" + . = ..() diff --git a/code/modules/projectiles/projectile/special.dm b/code/modules/projectiles/projectile/special.dm index 49cd4209943..3b1c470530f 100644 --- a/code/modules/projectiles/projectile/special.dm +++ b/code/modules/projectiles/projectile/special.dm @@ -137,3 +137,69 @@ var/mob/living/carbon/human/M = target M.adjustBrainLoss(20) M.hallucination += 20 + +/obj/item/projectile/icarus/pointdefense + process() + // should step down as: + // 1000, 500, 333, 250, 200, 167, 142, 125, 111, 100, 90 + var/damage = 1000 + for(var/i in 2 to 12) + var/obj/item/projectile/beam/in_chamber = new (src.loc) + in_chamber.original = original + in_chamber.starting = starting + in_chamber.shot_from = shot_from + in_chamber.silenced = silenced + in_chamber.current = current + in_chamber.yo = yo + in_chamber.xo = xo + in_chamber.damage = damage + in_chamber.process() + damage -= damage / i + sleep(-1) + + // Let everyone know what hit them. + var/obj/item/projectile/beam/in_chamber = new (src.loc) + in_chamber.original = original + in_chamber.name = "point defense laser" + in_chamber.starting = starting + in_chamber.shot_from = shot_from + in_chamber.silenced = 0 + in_chamber.firer = "Icarus" // Never displayed, but we want this to display the hit message. + in_chamber.current = current + in_chamber.yo = yo + in_chamber.xo = xo + in_chamber.damage = 0 + in_chamber.process() + spawn(1) + del src + + return + +/obj/item/projectile/icarus/guns + process() + var/turf/location = get_turf(src) + //Find the world endge targetted. + var/x = xo > 0 ? (world.maxx - location.x) / xo : xo < 0 ? (-location.x) / xo : 1.#INF + var/y = yo > 0 ? (world.maxy - location.y) / yo : yo < 0 ? (-location.y) / yo : 1.#INF + // Get the minimum number of steps using the rise/run shit. + var/iterations = round(min(x,y)) - 1 + + var/turf/target = locate(location.x + iterations * xo, location.y + iterations * yo, location.z) + var/turf/start = get_step(location, get_dir(location, target)) + var/obj/effect/meteor/small/projectile = new (start) // Let's not squish the firer. + projectile.dest = target + projectile.name = "main gun projectile" // stealthy + projectile.hits = 6 + projectile.detonation_chance = 99 // it's a missile/cannon round thing! + + spawn(0) + projectile.throw_at(projectile.dest, 1.#INF, 5) + walk_towards(projectile, projectile.dest, 1) + + spawn(1) + del src + + return + +/obj/item/projectile/icarus/torpedo + //TODO \ No newline at end of file From 84c40171e7b8d00ef7a3632b7ad33318c6f78337 Mon Sep 17 00:00:00 2001 From: SkyMarshal Date: Tue, 3 Feb 2015 01:25:57 -0700 Subject: [PATCH 035/143] The icarus gun now acts as a spotter. The Icarus can now be fired via adminverbs. --- baystation12.dme | 1 + code/modules/admin/admin_verbs.dm | 3 + code/modules/admin/verbs/icarus.dm | 125 ++++++++++++++++++ code/modules/projectiles/guns/energy/pulse.dm | 8 +- .../projectiles/guns/energy/special.dm | 32 ++--- code/modules/projectiles/projectile/beams.dm | 2 +- .../modules/projectiles/projectile/special.dm | 64 +-------- 7 files changed, 153 insertions(+), 82 deletions(-) create mode 100644 code/modules/admin/verbs/icarus.dm diff --git a/baystation12.dme b/baystation12.dme index 3682d724958..4f1c048ec2e 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -789,6 +789,7 @@ #include "code\modules\admin\verbs\debug.dm" #include "code\modules\admin\verbs\diagnostics.dm" #include "code\modules\admin\verbs\getlogs.dm" +#include "code\modules\admin\verbs\icarus.dm" #include "code\modules\admin\verbs\mapping.dm" #include "code\modules\admin\verbs\massmodvar.dm" #include "code\modules\admin\verbs\modifyvariables.dm" diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index a67e42ca2ba..dbf73d65fda 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -109,6 +109,9 @@ var/list/admin_verbs_fun = list( var/list/admin_verbs_spawn = list( /datum/admins/proc/spawn_atom, /*allows us to spawn instances*/ /client/proc/respawn_character, + /client/proc/FireLaser, + /client/proc/FireCannons, + /client/proc/ChangeIcarusPosition, /client/proc/virus2_editor ) var/list/admin_verbs_server = list( diff --git a/code/modules/admin/verbs/icarus.dm b/code/modules/admin/verbs/icarus.dm new file mode 100644 index 00000000000..cccda899b34 --- /dev/null +++ b/code/modules/admin/verbs/icarus.dm @@ -0,0 +1,125 @@ +/client/proc/FireLaser() + set name = "Fire the Icarus lasers" + set desc = "Fires a laser bolt at your position. You should only do this as a(n) (a)ghost" + set category = "Fun" + + if(!src.holder) + src << "Only administrators may use this command." + return + + Icarus_FireLaser(get_turf(src.mob)) + + +/client/proc/FireCannons() + set name = "Fire the Icarus cannons" + set desc = "Fires an explosive missile at your position. You should only do this as a(n) (a)ghost." + set category = "Fun" + + if(!src.holder) + src << "Only administrators may use this command." + return + + Icarus_FireCannon(get_turf(src.mob)) + + +/client/proc/ChangeIcarusPosition() + set name = "Adjust Icarus Position" + set desc = "Lets you chose the position of the Icarus in regards to the map." + set category = "Fun" + + if(!src.holder) + src << "Only administrators may use this command." + return + + Icarus_SetPosition(src) + +var/icarus_position = SOUTH + +proc/Icarus_FireLaser(var/turf/target) + // Find the world edge to fire from. + var/x = icarus_position & EAST ? world.maxx : icarus_position & WEST ? 1 : target.x + var/y = icarus_position & NORTH ? world.maxy : icarus_position & SOUTH ? 1 : target.y + var/x_off = x != target.x ? abs(target.x - x) : INFINITY + var/y_off = y != target.y ? abs(target.y - y) : INFINITY + // Get the minimum number of steps using the rise/run shit. + var/iterations = round(min(x_off, y_off)) - 14 // We cannot fire straight from the edge since teleport thing. + + // Now we can get the location of the start. + x = target.x + (icarus_position & EAST ? iterations : icarus_position & WEST ? -iterations : 0) + y = target.y + (icarus_position & NORTH ? iterations : icarus_position & SOUTH ? -iterations : 0) + + var/turf/start = locate(x, y, target.z) + + // should step down as: + // 1000, 500, 333, 250, 200, 167, 142, 125, 111, 100, 90 + var/damage = 1000 + for(var/i in 2 to 12) + var/obj/item/projectile/beam/in_chamber = new (start) + in_chamber.original = target + in_chamber.starting = start + in_chamber.silenced = 1 + in_chamber.yo = icarus_position & NORTH ? -1 : icarus_position & SOUTH ? 1 : 0 + in_chamber.xo = icarus_position & EAST ? -1 : icarus_position & WEST ? 1 : 0 + in_chamber.damage = damage + in_chamber.kill_count = 500 + in_chamber.process() + damage -= damage / i + sleep(-1) + + // Let everyone know what hit them. + var/obj/item/projectile/beam/in_chamber = new (start) + in_chamber.original = target + in_chamber.starting = start + in_chamber.silenced = 0 + in_chamber.yo = icarus_position & NORTH ? -1 : icarus_position & SOUTH ? 1 : 0 + in_chamber.xo = icarus_position & EAST ? -1 : icarus_position & WEST ? 1 : 0 + in_chamber.kill_count = 500 + in_chamber.damage = 0 + in_chamber.name = "point defense laser" + in_chamber.firer = "Icarus" // Never displayed, but we want this to display the hit message. + in_chamber.process() + +proc/Icarus_FireCannon(var/turf/target) + // Find the world edge to fire from. + var/x = icarus_position & EAST ? world.maxx : icarus_position & WEST ? 1 : target.x + var/y = icarus_position & NORTH ? world.maxy : icarus_position & SOUTH ? 1 : target.y + var/x_off = x != target.x ? abs(target.x - x) : INFINITY + var/y_off = y != target.y ? abs(target.y - y) : INFINITY + // Get the minimum number of steps using the rise/run shit. + var/iterations = round(min(x_off, y_off)) - 14 // We cannot fire straight from the edge since teleport thing. + + // Now we can get the location of the start. + x = target.x + (icarus_position & EAST ? iterations : icarus_position & WEST ? -iterations : 0) + y = target.y + (icarus_position & NORTH ? iterations : icarus_position & SOUTH ? -iterations : 0) + + var/turf/start = locate(x, y, target.z) + + // Now we find the corresponding turf on the other side of the level. + // Yeah, yeah. Overuse of the terinary operator. So sue me. + x = icarus_position & EAST ? 1 : icarus_position & WEST ? world.maxx : target.x + y = icarus_position & NORTH ? 1 : icarus_position & SOUTH ? world.maxy : target.y + x_off = x != target.x ? abs(target.x - x) : INFINITY + y_off = y != target.y ? abs(target.y - y) : INFINITY + iterations = round(min(x_off, y_off)) + x = target.x + (icarus_position & EAST ? -iterations : icarus_position & WEST ? iterations : 0) + y = target.y + (icarus_position & NORTH ? -iterations : icarus_position & SOUTH ? iterations : 0) + target = locate(x, y, target.z) + + // Finally fire the fucker. + var/obj/effect/meteor/small/projectile = new (start) + projectile.dest = target + projectile.name = "main gun projectile" // stealthy + projectile.hits = 6 + projectile.detonation_chance = 99 // it's a missile/cannon round thing! + + // Make sure it travels + spawn(0) + walk_towards(projectile, projectile.dest, 1) + +proc/Icarus_SetPosition(var/user) + var/global/list/directions = list("North" = 1, "North East" = 5, "East" = 4, "South East" = 6, "South" = 2, "South West" = 10, "West" = 8, "North West" = 9) + var/direction = input(user, "Where should the Icarus fire from?", "Icarus Comms") as null|anything in directions + if(!direction) + return + + icarus_position = directions[direction] \ No newline at end of file diff --git a/code/modules/projectiles/guns/energy/pulse.dm b/code/modules/projectiles/guns/energy/pulse.dm index 9b0a22e06c9..f9644779fc6 100644 --- a/code/modules/projectiles/guns/energy/pulse.dm +++ b/code/modules/projectiles/guns/energy/pulse.dm @@ -17,19 +17,19 @@ mode = 0 charge_cost = 100 fire_sound = 'sound/weapons/Taser.ogg' - user << "\red [src.name] is now set to stun." + user << "\red \The [src] is now set to stun." projectile_type = /obj/item/projectile/beam/stun if(0) mode = 1 charge_cost = 100 fire_sound = 'sound/weapons/Laser.ogg' - user << "\red [src.name] is now set to kill." + user << "\red \The [src] is now set to kill." projectile_type = /obj/item/projectile/beam if(1) mode = 2 charge_cost = 200 fire_sound = 'sound/weapons/pulse.ogg' - user << "\red [src.name] is now set to DESTROY." + user << "\red \The [name] is now set to DESTROY." projectile_type = /obj/item/projectile/beam/pulse return @@ -55,7 +55,7 @@ fire_delay = 10 attack_self(mob/living/user as mob) - user << "\red [src.name] has three settings, and they are all DESTROY." + user << "\red \The [src] has three settings, and they are all DESTROY." diff --git a/code/modules/projectiles/guns/energy/special.dm b/code/modules/projectiles/guns/energy/special.dm index 7fc8fd3b4c5..80419171bf3 100644 --- a/code/modules/projectiles/guns/energy/special.dm +++ b/code/modules/projectiles/guns/energy/special.dm @@ -235,43 +235,37 @@ obj/item/weapon/gun/energy/staff/focus zoom() +// Serves as a target spotter for the Icarus. /obj/item/weapon/gun/energy/icarus - name = "\improper N.D.V. Icarus" - desc = "It feels like the fate of the Exodus in your hands. SO STOP FUCKING IT UP. It's set to fire point defense lasers.." + name = "rubber ducky" + desc = "It's a cute rubber duck. With an evil gleam in it's eye." projectile_type = "/obj/item/projectile/icarus/pointdefense" icon = 'icons/obj/watercloset.dmi' icon_state = "rubberducky" item_state = "rubberducky" charge_cost = 0 silenced = 1 - var/popgun = 1 attack_self(mob/living/user as mob) - if(popgun) - popgun = 0 - desc = "It feels like the fate of the Exodus in your hands. SO STOP FUCKING IT UP. It's set to fire the main guns." + if(projectile_type == "/obj/item/projectile/icarus/pointdefense") projectile_type = "/obj/item/projectile/icarus/guns" - user << "You switch to using the main guns." - + user << "You inform the Icarus to switch to the main guns." else - popgun = 1 - desc = "It feels like the fate of the Exodus in your hands. SO STOP FUCKING IT UP. It's set to fire point defense lasers.." projectile_type = "/obj/item/projectile/icarus/pointdefense" - user << "You switch to using the point-defense lasers." + user << "You inform the Icarus to switch to the point-defense lasers." + . = ..() update_icon() return - verb/fuckshitup() - set name = "fuckshitup" - set desc = "This will kill a lot of people." - set hidden = 1 + verb/SetIcarusAngle() + set src in usr + set name = "Set Firing Angle" + set desc = "Sets the angle from which the icarus will fire." + set category = "Object" - popgun = 0 - desc = "It feels like the fate of the Exodus is in your han- wait, what the hell ARE YOU DOING!?" - projectile_type = "/obj/item/projectile/icarus/torpedo" - usr << "You tell the crew to load the highly illegal phasic torpedos. After the mutiny has been put down, you are ready to burn the world." + Icarus_SetPosition(usr) /obj/item/weapon/gun/energy/variable diff --git a/code/modules/projectiles/projectile/beams.dm b/code/modules/projectiles/projectile/beams.dm index ecea772e70d..23ee20e1327 100644 --- a/code/modules/projectiles/projectile/beams.dm +++ b/code/modules/projectiles/projectile/beams.dm @@ -113,7 +113,7 @@ var/list/beam_master = list() /obj/item/projectile/beam/emitter name = "emitter beam" icon_state = "emitter" - damage = 30 + damage = 0 // The actual damage is computed in /code/modules/power/singularity/emitter.dm /obj/item/projectile/beam/lastertag/blue name = "lasertag beam" diff --git a/code/modules/projectiles/projectile/special.dm b/code/modules/projectiles/projectile/special.dm index 3b1c470530f..1f5bb6a9cf4 100644 --- a/code/modules/projectiles/projectile/special.dm +++ b/code/modules/projectiles/projectile/special.dm @@ -140,66 +140,14 @@ /obj/item/projectile/icarus/pointdefense process() - // should step down as: - // 1000, 500, 333, 250, 200, 167, 142, 125, 111, 100, 90 - var/damage = 1000 - for(var/i in 2 to 12) - var/obj/item/projectile/beam/in_chamber = new (src.loc) - in_chamber.original = original - in_chamber.starting = starting - in_chamber.shot_from = shot_from - in_chamber.silenced = silenced - in_chamber.current = current - in_chamber.yo = yo - in_chamber.xo = xo - in_chamber.damage = damage - in_chamber.process() - damage -= damage / i - sleep(-1) - - // Let everyone know what hit them. - var/obj/item/projectile/beam/in_chamber = new (src.loc) - in_chamber.original = original - in_chamber.name = "point defense laser" - in_chamber.starting = starting - in_chamber.shot_from = shot_from - in_chamber.silenced = 0 - in_chamber.firer = "Icarus" // Never displayed, but we want this to display the hit message. - in_chamber.current = current - in_chamber.yo = yo - in_chamber.xo = xo - in_chamber.damage = 0 - in_chamber.process() + Icarus_FireLaser(get_turf(original)) spawn(1) del src return -/obj/item/projectile/icarus/guns - process() - var/turf/location = get_turf(src) - //Find the world endge targetted. - var/x = xo > 0 ? (world.maxx - location.x) / xo : xo < 0 ? (-location.x) / xo : 1.#INF - var/y = yo > 0 ? (world.maxy - location.y) / yo : yo < 0 ? (-location.y) / yo : 1.#INF - // Get the minimum number of steps using the rise/run shit. - var/iterations = round(min(x,y)) - 1 - - var/turf/target = locate(location.x + iterations * xo, location.y + iterations * yo, location.z) - var/turf/start = get_step(location, get_dir(location, target)) - var/obj/effect/meteor/small/projectile = new (start) // Let's not squish the firer. - projectile.dest = target - projectile.name = "main gun projectile" // stealthy - projectile.hits = 6 - projectile.detonation_chance = 99 // it's a missile/cannon round thing! - - spawn(0) - projectile.throw_at(projectile.dest, 1.#INF, 5) - walk_towards(projectile, projectile.dest, 1) - - spawn(1) - del src - - return - -/obj/item/projectile/icarus/torpedo - //TODO \ No newline at end of file +/obj/item/projectile/icarus/guns/process() + Icarus_FireCannon(get_turf(original)) + spawn + del src + return \ No newline at end of file From c8d621465756593e2696954f63c7ebb141fa359f Mon Sep 17 00:00:00 2001 From: SkyMarshal Date: Wed, 4 Feb 2015 11:08:48 -0700 Subject: [PATCH 036/143] Fix indent thing for pointdefense --- code/modules/projectiles/projectile/special.dm | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/code/modules/projectiles/projectile/special.dm b/code/modules/projectiles/projectile/special.dm index 1f5bb6a9cf4..c7c2c05c4a8 100644 --- a/code/modules/projectiles/projectile/special.dm +++ b/code/modules/projectiles/projectile/special.dm @@ -138,16 +138,15 @@ M.adjustBrainLoss(20) M.hallucination += 20 -/obj/item/projectile/icarus/pointdefense - process() - Icarus_FireLaser(get_turf(original)) - spawn(1) - del src +/obj/item/projectile/icarus/pointdefense/process() + Icarus_FireLaser(get_turf(original)) + spawn + del src - return + return /obj/item/projectile/icarus/guns/process() Icarus_FireCannon(get_turf(original)) spawn del src - return \ No newline at end of file + return From a78ef817126e342384ff6e34780f2181e3fc3349 Mon Sep 17 00:00:00 2001 From: SkyMarshal Date: Wed, 4 Feb 2015 11:10:13 -0700 Subject: [PATCH 037/143] To make PsiOmegaDelta happy I hate this format. Bluh bluh huge bitch --- .../projectiles/guns/energy/special.dm | 47 +++++++++---------- 1 file changed, 23 insertions(+), 24 deletions(-) diff --git a/code/modules/projectiles/guns/energy/special.dm b/code/modules/projectiles/guns/energy/special.dm index 80419171bf3..d1e11d7942d 100644 --- a/code/modules/projectiles/guns/energy/special.dm +++ b/code/modules/projectiles/guns/energy/special.dm @@ -246,26 +246,26 @@ obj/item/weapon/gun/energy/staff/focus charge_cost = 0 silenced = 1 - attack_self(mob/living/user as mob) - if(projectile_type == "/obj/item/projectile/icarus/pointdefense") - projectile_type = "/obj/item/projectile/icarus/guns" - user << "You inform the Icarus to switch to the main guns." - else - projectile_type = "/obj/item/projectile/icarus/pointdefense" - user << "You inform the Icarus to switch to the point-defense lasers." +/obj/item/weapon/gun/energy/icarus/attack_self(mob/living/user as mob) + if(projectile_type == "/obj/item/projectile/icarus/pointdefense") + projectile_type = "/obj/item/projectile/icarus/guns" + user << "You inform the Icarus to switch to the main guns." + else + projectile_type = "/obj/item/projectile/icarus/pointdefense" + user << "You inform the Icarus to switch to the point-defense lasers." - . = ..() + . = ..() - update_icon() - return +/obj/item/weapon/gun/energy/icarus/update_icon() + return - verb/SetIcarusAngle() - set src in usr - set name = "Set Firing Angle" - set desc = "Sets the angle from which the icarus will fire." - set category = "Object" +/obj/item/weapon/gun/energy/icarus/verb/SetIcarusAngle() + set src in usr + set name = "Set Firing Angle" + set desc = "Sets the angle from which the icarus will fire." + set category = "Object" - Icarus_SetPosition(usr) + Icarus_SetPosition(usr) /obj/item/weapon/gun/energy/variable @@ -274,13 +274,12 @@ obj/item/weapon/gun/energy/staff/focus charge_cost = 0 silenced = 1 - update_icon() - return +/obj/item/weapon/gun/energy/variable/update_icon() + return - attack_self(mob/living/user as mob) - var/type = input(user,"What projectile type?","Projectile", null) as null|anything in typesof(/obj/item/projectile) - if(!type) - return ..() +/obj/item/weapon/gun/energy/variable/attack_self(mob/living/user as mob) + var/type = input(user,"What projectile type?","Projectile", null) as null|anything in typesof(/obj/item/projectile) + if(!type) + return ..() - projectile_type = "[type]" - . = ..() + . = ..() From e6dc9d36fd2a518cd4068c03632ab3be22501a2b Mon Sep 17 00:00:00 2001 From: Kelenius Date: Sun, 8 Feb 2015 15:39:11 +0300 Subject: [PATCH 038/143] Update for machine upgrades and some science Also adds RPED and makes biogenerator and borg charger constructible . --- baystation12.dme | 2 + .../components/unary/cold_sink.dm | 88 +-- .../components/unary/heat_source.dm | 75 +- code/defines/obj/weapon.dm | 16 + code/game/machinery/autolathe.dm | 97 +-- code/game/machinery/autolathe_datums.dm | 2 +- code/game/machinery/camera/camera.dm | 25 +- code/game/machinery/cloning.dm | 742 +++++++++--------- code/game/machinery/kitchen/smartfridge.dm | 1 - code/game/machinery/machinery.dm | 75 +- code/game/machinery/rechargestation.dm | 359 +++++---- code/game/machinery/spaceheater.dm | 21 +- code/game/machinery/suit_storage_unit.dm | 1 - code/game/machinery/vending.dm | 1 - .../circuitboards/machinery/biogenerator.dm | 13 + .../machinery/recharge_station.dm | 14 + code/modules/hydroponics/biogenerator.dm | 169 ++-- code/modules/research/circuitprinter.dm | 236 +++--- code/modules/research/designs.dm | 20 + code/modules/research/destructive_analyzer.dm | 80 +- code/modules/research/protolathe.dm | 146 ++-- code/modules/research/rdconsole.dm | 74 +- code/modules/research/rdmachines.dm | 3 +- code/modules/research/server.dm | 12 +- icons/mob/items_lefthand.dmi | Bin 149336 -> 156042 bytes icons/mob/items_righthand.dmi | Bin 148825 -> 157853 bytes icons/obj/storage.dmi | Bin 59025 -> 59802 bytes 27 files changed, 1233 insertions(+), 1039 deletions(-) create mode 100644 code/game/objects/items/weapons/circuitboards/machinery/biogenerator.dm create mode 100644 code/game/objects/items/weapons/circuitboards/machinery/recharge_station.dm diff --git a/baystation12.dme b/baystation12.dme index 3682d724958..f022a2b292f 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -632,9 +632,11 @@ #include "code\game\objects\items\weapons\circuitboards\computer\research.dm" #include "code\game\objects\items\weapons\circuitboards\computer\supply.dm" #include "code\game\objects\items\weapons\circuitboards\computer\telecomms.dm" +#include "code\game\objects\items\weapons\circuitboards\machinery\biogenerator.dm" #include "code\game\objects\items\weapons\circuitboards\machinery\cloning.dm" #include "code\game\objects\items\weapons\circuitboards\machinery\pacman.dm" #include "code\game\objects\items\weapons\circuitboards\machinery\power.dm" +#include "code\game\objects\items\weapons\circuitboards\machinery\recharge_station.dm" #include "code\game\objects\items\weapons\circuitboards\machinery\research.dm" #include "code\game\objects\items\weapons\circuitboards\machinery\shieldgen.dm" #include "code\game\objects\items\weapons\circuitboards\machinery\telecomms.dm" diff --git a/code/ATMOSPHERICS/components/unary/cold_sink.dm b/code/ATMOSPHERICS/components/unary/cold_sink.dm index 766279a6302..82d7d41b7b8 100644 --- a/code/ATMOSPHERICS/components/unary/cold_sink.dm +++ b/code/ATMOSPHERICS/components/unary/cold_sink.dm @@ -7,52 +7,47 @@ icon = 'icons/obj/Cryogenic2.dmi' icon_state = "freezer_0" density = 1 - - anchored = 1.0 - - var/heatsink_temperature = T20C //the constant temperature resevoir into which the freezer pumps heat. Probably the hull of the station or something. - var/internal_volume = 600 //L - + anchored = 1 use_power = 0 - idle_power_usage = 5 //5 Watts for thermostat related circuitry + idle_power_usage = 5 // 5 Watts for thermostat related circuitry - var/max_power_rating = 20000 //power rating when the usage is turned up to 100 + var/heatsink_temperature = T20C // The constant temperature reservoir into which the freezer pumps heat. Probably the hull of the station or something. + var/internal_volume = 600 // L + + var/max_power_rating = 20000 // Power rating when the usage is turned up to 100 var/power_setting = 100 - var/set_temperature = T20C //thermostat + var/set_temperature = T20C // Thermostat var/cooling = 0 - var/opened = 0 //for deconstruction /obj/machinery/atmospherics/unary/freezer/New() ..() - air_contents.volume = internal_volume initialize_directions = dir - component_parts = list() component_parts += new /obj/item/weapon/circuitboard/unary_atmos/cooler(src) component_parts += new /obj/item/weapon/stock_parts/matter_bin(src) component_parts += new /obj/item/weapon/stock_parts/capacitor(src) component_parts += new /obj/item/weapon/stock_parts/capacitor(src) component_parts += new /obj/item/weapon/stock_parts/manipulator(src) - - power_rating = max_power_rating * (power_setting/100) + component_parts += new /obj/item/stack/cable_coil(src, 2) + RefreshParts() /obj/machinery/atmospherics/unary/freezer/initialize() - if(node) return + if(node) + return var/node_connect = dir - for(var/obj/machinery/atmospherics/target in get_step(src,node_connect)) - if(target.initialize_directions & get_dir(target,src)) + for(var/obj/machinery/atmospherics/target in get_step(src, node_connect)) + if(target.initialize_directions & get_dir(target, src)) node = target break update_icon() - /obj/machinery/atmospherics/unary/freezer/update_icon() - if(src.node) - if(src.use_power && cooling) + if(node) + if(use_power && cooling) icon_state = "freezer_1" else icon_state = "freezer" @@ -61,10 +56,10 @@ return /obj/machinery/atmospherics/unary/freezer/attack_ai(mob/user as mob) - src.ui_interact(user) + ui_interact(user) /obj/machinery/atmospherics/unary/freezer/attack_hand(mob/user as mob) - src.ui_interact(user) + ui_interact(user) /obj/machinery/atmospherics/unary/freezer/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1) // this is the data which will be sent to the ui @@ -78,15 +73,15 @@ data["powerSetting"] = power_setting var/temp_class = "good" - if (air_contents.temperature > (T0C - 20)) + if(air_contents.temperature > (T0C - 20)) temp_class = "bad" - else if (air_contents.temperature < (T0C - 20) && air_contents.temperature > (T0C - 100)) + else if(air_contents.temperature < (T0C - 20) && air_contents.temperature > (T0C - 100)) temp_class = "average" data["gasTemperatureClass"] = temp_class // update the ui if it exists, returns null if no ui is passed/found ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) - if (!ui) + if(!ui) // the ui does not exist, so we'll create a new() one // for a list of parameters and their descriptions see the code docs in \code\modules\nano\nanoui.dm ui = new(user, src, ui_key, "freezer.tmpl", "Gas Cooling System", 440, 300) @@ -98,30 +93,31 @@ ui.set_auto_update(1) /obj/machinery/atmospherics/unary/freezer/Topic(href, href_list) - if (href_list["toggleStatus"]) - src.use_power = !src.use_power + if(href_list["toggleStatus"]) + use_power = !use_power update_icon() if(href_list["temp"]) var/amount = text2num(href_list["temp"]) if(amount > 0) - src.set_temperature = min(src.set_temperature+amount, 1000) + set_temperature = min(set_temperature + amount, 1000) else - src.set_temperature = max(src.set_temperature+amount, 0) + set_temperature = max(set_temperature + amount, 0) if(href_list["setPower"]) //setting power to 0 is redundant anyways var/new_setting = between(0, text2num(href_list["setPower"]), 100) set_power_level(new_setting) - src.add_fingerprint(usr) + add_fingerprint(usr) return 1 /obj/machinery/atmospherics/unary/freezer/process() ..() + if(stat & (NOPOWER|BROKEN) || !use_power) cooling = 0 update_icon() return - if (network && air_contents.temperature > set_temperature) + if(network && air_contents.temperature > set_temperature) cooling = 1 var/heat_transfer = max( -air_contents.get_thermal_energy_change(set_temperature - 5), 0 ) @@ -132,7 +128,7 @@ heat_transfer = min(heat_transfer, cop * power_rating) //limit heat transfer by available power var/removed = -air_contents.add_thermal_energy(-heat_transfer) //remove the heat - if (debug) + if(debug) visible_message("[src]: Removing [removed] W.") use_power(power_rating) @@ -147,49 +143,37 @@ /obj/machinery/atmospherics/unary/freezer/RefreshParts() ..() var/cap_rating = 0 - var/cap_count = 0 var/manip_rating = 0 - var/manip_count = 0 var/bin_rating = 0 - var/bin_count = 0 for(var/obj/item/weapon/stock_parts/P in component_parts) if(istype(P, /obj/item/weapon/stock_parts/capacitor)) cap_rating += P.rating - cap_count++ if(istype(P, /obj/item/weapon/stock_parts/manipulator)) manip_rating += P.rating - manip_count++ if(istype(P, /obj/item/weapon/stock_parts/matter_bin)) bin_rating += P.rating - bin_count++ - cap_rating /= cap_count - bin_rating /= bin_count - manip_rating /= manip_count - power_rating = initial(power_rating)*cap_rating //more powerful - heatsink_temperature = initial(heatsink_temperature)/((manip_rating+bin_rating)/2) //more efficient - air_contents.volume = max(initial(internal_volume) - 200, 0) + 200*bin_rating + power_rating = initial(power_rating) * cap_rating / 2 //more powerful + heatsink_temperature = initial(heatsink_temperature) / ((manip_rating + bin_rating) / 2) //more efficient + air_contents.volume = max(initial(internal_volume) - 200, 0) + 200 * bin_rating set_power_level(power_setting) /obj/machinery/atmospherics/unary/freezer/proc/set_power_level(var/new_power_setting) power_setting = new_power_setting power_rating = max_power_rating * (power_setting/100) -//dismantling code. copied from autolathe /obj/machinery/atmospherics/unary/freezer/attackby(var/obj/item/O as obj, var/mob/user as mob) - if(istype(O, /obj/item/weapon/screwdriver)) - opened = !opened - user << "You [opened ? "open" : "close"] the maintenance hatch of [src]." + if(default_deconstruction_screwdriver(user, O)) return - - if (opened && istype(O, /obj/item/weapon/crowbar)) - dismantle() + if(default_deconstruction_crowbar(user, O)) + return + if(default_part_replacement(user, O)) return ..() /obj/machinery/atmospherics/unary/freezer/examine(mob/user) ..(user) - if (opened) + if(panel_open) user << "The maintenance hatch is open." diff --git a/code/ATMOSPHERICS/components/unary/heat_source.dm b/code/ATMOSPHERICS/components/unary/heat_source.dm index 891a19cc74f..829f06f4202 100644 --- a/code/ATMOSPHERICS/components/unary/heat_source.dm +++ b/code/ATMOSPHERICS/components/unary/heat_source.dm @@ -7,25 +7,21 @@ icon = 'icons/obj/Cryogenic2.dmi' icon_state = "heater_0" density = 1 - - anchored = 1.0 - - var/set_temperature = T20C //thermostat - var/max_temperature = T20C + 680 - var/internal_volume = 600 //L - + anchored = 1 use_power = 0 idle_power_usage = 5 //5 Watts for thermostat related circuitry + var/max_temperature = T20C + 680 + var/internal_volume = 600 //L + var/max_power_rating = 20000 //power rating when the usage is turned up to 100 var/power_setting = 100 + var/set_temperature = T20C //thermostat var/heating = 0 //mainly for icon updates - var/opened = 0 //for deconstruction /obj/machinery/atmospherics/unary/heater/New() ..() - air_contents.volume = internal_volume initialize_directions = dir component_parts = list() @@ -33,16 +29,18 @@ component_parts += new /obj/item/weapon/stock_parts/matter_bin(src) component_parts += new /obj/item/weapon/stock_parts/capacitor(src) component_parts += new /obj/item/weapon/stock_parts/capacitor(src) + component_parts += new /obj/item/stack/cable_coil(src, 5) - power_rating = max_power_rating * (power_setting/100) + RefreshParts() /obj/machinery/atmospherics/unary/heater/initialize() - if(node) return + if(node) + return var/node_connect = dir - for(var/obj/machinery/atmospherics/target in get_step(src,node_connect)) - if(target.initialize_directions & get_dir(target,src)) + for(var/obj/machinery/atmospherics/target in get_step(src, node_connect)) + if(target.initialize_directions & get_dir(target, src)) node = target break @@ -50,8 +48,8 @@ /obj/machinery/atmospherics/unary/heater/update_icon() - if(src.node) - if(src.use_power && src.heating) + if(node) + if(use_power && heating) icon_state = "heater_1" else icon_state = "heater" @@ -68,7 +66,7 @@ update_icon() return - if (network && air_contents.total_moles && air_contents.temperature < set_temperature) + if(network && air_contents.total_moles && air_contents.temperature < set_temperature) air_contents.add_thermal_energy(power_rating * HEATER_PERF_MULT) use_power(power_rating) @@ -80,10 +78,10 @@ update_icon() /obj/machinery/atmospherics/unary/heater/attack_ai(mob/user as mob) - src.ui_interact(user) + ui_interact(user) /obj/machinery/atmospherics/unary/heater/attack_hand(mob/user as mob) - src.ui_interact(user) + ui_interact(user) /obj/machinery/atmospherics/unary/heater/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1) // this is the data which will be sent to the ui @@ -97,13 +95,13 @@ data["powerSetting"] = power_setting var/temp_class = "normal" - if (air_contents.temperature > (T20C+40)) + if(air_contents.temperature > (T20C+40)) temp_class = "bad" data["gasTemperatureClass"] = temp_class // update the ui if it exists, returns null if no ui is passed/found ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) - if (!ui) + if(!ui) // the ui does not exist, so we'll create a new() one // for a list of parameters and their descriptions see the code docs in \code\modules\nano\nanoui.dm ui = new(user, src, ui_key, "freezer.tmpl", "Gas Heating System", 440, 300) @@ -115,63 +113,54 @@ ui.set_auto_update(1) /obj/machinery/atmospherics/unary/heater/Topic(href, href_list) - if (href_list["toggleStatus"]) - src.use_power = !src.use_power + if(href_list["toggleStatus"]) + use_power = !use_power update_icon() if(href_list["temp"]) var/amount = text2num(href_list["temp"]) if(amount > 0) - src.set_temperature = min(src.set_temperature+amount, max_temperature) + set_temperature = min(set_temperature + amount, max_temperature) else - src.set_temperature = max(src.set_temperature+amount, 0) + set_temperature = max(set_temperature + amount, 0) if(href_list["setPower"]) //setting power to 0 is redundant anyways var/new_setting = between(0, text2num(href_list["setPower"]), 100) set_power_level(new_setting) - src.add_fingerprint(usr) + add_fingerprint(usr) return 1 //upgrading parts /obj/machinery/atmospherics/unary/heater/RefreshParts() ..() - var/cap_rating = 0 - var/cap_count = 0 var/bin_rating = 0 - var/bin_count = 0 + for(var/obj/item/weapon/stock_parts/P in component_parts) if(istype(P, /obj/item/weapon/stock_parts/capacitor)) cap_rating += P.rating - cap_count++ if(istype(P, /obj/item/weapon/stock_parts/matter_bin)) bin_rating += P.rating - bin_count++ - cap_rating /= cap_count - bin_rating /= bin_count - max_power_rating = initial(max_power_rating)*cap_rating - max_temperature = max(initial(max_temperature) - T20C, 0)*((bin_rating*2 + cap_rating)/3) + T20C - air_contents.volume = max(initial(internal_volume) - 200, 0) + 200*bin_rating + max_power_rating = initial(max_power_rating) * cap_rating / 2 + max_temperature = max(initial(max_temperature) - T20C, 0) * ((bin_rating * 4 + cap_rating) / 5) + T20C + air_contents.volume = max(initial(internal_volume) - 200, 0) + 200 * bin_rating set_power_level(power_setting) /obj/machinery/atmospherics/unary/heater/proc/set_power_level(var/new_power_setting) power_setting = new_power_setting power_rating = max_power_rating * (power_setting/100) -//dismantling code. copied from autolathe /obj/machinery/atmospherics/unary/heater/attackby(var/obj/item/O as obj, var/mob/user as mob) - if(istype(O, /obj/item/weapon/screwdriver)) - opened = !opened - user << "You [opened ? "open" : "close"] the maintenance hatch of [src]." + if(default_deconstruction_screwdriver(user, O)) return - - if (opened && istype(O, /obj/item/weapon/crowbar)) - dismantle() + if(default_deconstruction_crowbar(user, O)) + return + if(default_part_replacement(user, O)) return ..() /obj/machinery/atmospherics/unary/heater/examine(mob/user) ..(user) - if (opened) + if(panel_open) user << "The maintenance hatch is open." diff --git a/code/defines/obj/weapon.dm b/code/defines/obj/weapon.dm index ab7b57cb422..634121b08c9 100644 --- a/code/defines/obj/weapon.dm +++ b/code/defines/obj/weapon.dm @@ -395,6 +395,22 @@ ///////////////////////////////////////Stock Parts ///////////////////////////////// +/obj/item/weapon/storage/part_replacer + name = "rapid part exchange device" + desc = "Special mechanical module made to store, sort, and apply standard machine parts." + icon_state = "RPED" + item_state = "RPED" + w_class = 5 + can_hold = list("/obj/item/weapon/stock_parts") + storage_slots = 50 + use_to_pickup = 1 + allow_quick_gather = 1 + allow_quick_empty = 1 + collection_mode = 1 + display_contents_with_number = 1 + max_w_class = 3 + max_combined_w_class = 100 + /obj/item/weapon/stock_parts name = "stock part" desc = "What?" diff --git a/code/game/machinery/autolathe.dm b/code/game/machinery/autolathe.dm index 7b44e443c4d..5361bea23a7 100644 --- a/code/game/machinery/autolathe.dm +++ b/code/game/machinery/autolathe.dm @@ -13,14 +13,30 @@ var/list/storage_capacity = list("metal" = 0, "glass" = 0) var/show_category = "All" - var/panel_open = 0 var/hacked = 0 var/disabled = 0 var/shocked = 0 var/busy = 0 + var/mat_efficiency = 1 + var/build_time = 50 + var/datum/wires/autolathe/wires = null +/obj/machinery/autolathe/New() + + ..() + wires = new(src) + //Create parts for lathe. + component_parts = list() + component_parts += new /obj/item/weapon/circuitboard/autolathe(src) + component_parts += new /obj/item/weapon/stock_parts/matter_bin(src) + component_parts += new /obj/item/weapon/stock_parts/matter_bin(src) + component_parts += new /obj/item/weapon/stock_parts/matter_bin(src) + component_parts += new /obj/item/weapon/stock_parts/manipulator(src) + component_parts += new /obj/item/weapon/stock_parts/console_screen(src) + RefreshParts() + /obj/machinery/autolathe/proc/update_recipe_list() if(!machine_recipes) machine_recipes = autolathe_recipes @@ -33,8 +49,8 @@ user << "\The [src] is disabled!" return - if (shocked) - shock(user,50) + if(shocked) + shock(user, 50) var/dat = "

Autolathe Control Panel


" @@ -65,16 +81,16 @@ else //Make sure it's buildable and list requires resources. for(var/material in R.resources) - var/sheets = round(stored_material[material]/R.resources[material]) + var/sheets = round(stored_material[material]/round(R.resources[material]*mat_efficiency)) if(isnull(max_sheets) || max_sheets > sheets) max_sheets = sheets - if(!isnull(stored_material[material]) && stored_material[material] < R.resources[material]) + if(!isnull(stored_material[material]) && stored_material[material] < round(R.resources[material]*mat_efficiency)) can_make = 0 if(!comma) comma = 1 else material_string += ", " - material_string += "[R.resources[material]] [material]" + material_string += "[round(R.resources[material] * mat_efficiency)] [material]" material_string += ".
" //Build list of multipliers for sheets. if(R.is_stack) @@ -99,31 +115,27 @@ /obj/machinery/autolathe/attackby(var/obj/item/O as obj, var/mob/user as mob) - if (stat) - return - - if (busy) + if(busy) user << "\The [src] is busy. Please wait for completion of previous operation." return - if(istype(O, /obj/item/weapon/screwdriver)) - panel_open = !panel_open - icon_state = (panel_open ? "autolathe_t": "autolathe") - user << "You [panel_open ? "open" : "close"] the maintenance hatch of [src]." + if(default_deconstruction_screwdriver(user, O)) updateUsrDialog() return + if(default_deconstruction_crowbar(user, O)) + return + if(default_part_replacement(user, O)) + return - if (panel_open) + if(stat) + return + + if(panel_open) //Don't eat multitools or wirecutters used on an open lathe. if(istype(O, /obj/item/device/multitool) || istype(O, /obj/item/weapon/wirecutters)) attack_hand(user) return - //Dismantle the frame. - if(istype(O, /obj/item/weapon/crowbar)) - dismantle() - return - if(O.loc != user && !(istype(O,/obj/item/stack))) return 0 @@ -170,11 +182,11 @@ else user << "You fill \the [src] with \the [eating]." - flick("autolathe_o",src) // Plays metal insertion animation. Work out a good way to work out a fitting animation. ~Z + flick("autolathe_o", src) // Plays metal insertion animation. Work out a good way to work out a fitting animation. ~Z if(istype(eating,/obj/item/stack)) var/obj/item/stack/stack = eating - stack.use(max(1,round(total_used/mass_per_sheet))) // Always use at least 1 to prevent infinite materials. + stack.use(max(1, round(total_used/mass_per_sheet))) // Always use at least 1 to prevent infinite materials. else user.drop_item(O) del(O) @@ -227,18 +239,18 @@ //Check if we still have the materials. for(var/material in making.resources) if(!isnull(stored_material[material])) - if(stored_material[material] < (making.resources[material]*multiplier)) + if(stored_material[material] < round(making.resources[material] * mat_efficiency) * multiplier) return //Consume materials. for(var/material in making.resources) if(!isnull(stored_material[material])) - stored_material[material] = max(0,stored_material[material]-(making.resources[material]*multiplier)) + stored_material[material] = max(0, stored_material[material] - round(making.resources[material] * mat_efficiency) * multiplier) //Fancy autolathe animation. - flick("autolathe_n",src) + flick("autolathe_n", src) - sleep(50) + sleep(build_time) busy = 0 @@ -247,39 +259,31 @@ //Create the desired item. var/obj/item/I = new making.path(get_step(loc, get_dir(src,usr))) - if(multiplier>1 && istype(I,/obj/item/stack)) + if(multiplier > 1 && istype(I, /obj/item/stack)) var/obj/item/stack/S = I S.amount = multiplier updateUsrDialog() - -/obj/machinery/autolathe/New() - - ..() - wires = new(src) - //Create parts for lathe. - component_parts = list() - component_parts += new /obj/item/weapon/circuitboard/autolathe(src) - component_parts += new /obj/item/weapon/stock_parts/matter_bin(src) - component_parts += new /obj/item/weapon/stock_parts/matter_bin(src) - component_parts += new /obj/item/weapon/stock_parts/matter_bin(src) - component_parts += new /obj/item/weapon/stock_parts/manipulator(src) - component_parts += new /obj/item/weapon/stock_parts/console_screen(src) - RefreshParts() +/obj/machinery/autolathe/update_icon() + icon_state = (panel_open ? "autolathe_t" : "autolathe") //Updates overall lathe storage size. /obj/machinery/autolathe/RefreshParts() ..() - var/tot_rating = 0 + var/mb_rating = 0 + var/man_rating = 0 for(var/obj/item/weapon/stock_parts/matter_bin/MB in component_parts) - tot_rating += MB.rating + mb_rating += MB.rating + for(var/obj/item/weapon/stock_parts/manipulator/M in component_parts) + man_rating += M.rating - storage_capacity["metal"] = tot_rating * 25000 - storage_capacity["glass"] = tot_rating * 12500 + storage_capacity["metal"] = mb_rating * 25000 + storage_capacity["glass"] = mb_rating * 12500 + build_time = 50 / man_rating + mat_efficiency = 1.1 - man_rating * 0.1// Normally, price is 1.25 the amount of material, so this shouldn't go higher than 0.8. Maximum rating of parts is 3 /obj/machinery/autolathe/dismantle() - ..() var/list/sheets = list("metal" = /obj/item/stack/sheet/metal, "glass" = /obj/item/stack/sheet/glass) for(var/mat in stored_material) @@ -288,3 +292,4 @@ if(stored_material[mat] > S.perunit) S.amount = round(stored_material[mat] / S.perunit) S.loc = loc + ..() diff --git a/code/game/machinery/autolathe_datums.dm b/code/game/machinery/autolathe_datums.dm index 3948f70f33c..f13c3dc634a 100644 --- a/code/game/machinery/autolathe_datums.dm +++ b/code/game/machinery/autolathe_datums.dm @@ -15,7 +15,7 @@ if(I.matter && !recipe.resources) //This can be overidden in the datums. recipe.resources = list() for(var/material in I.matter) - recipe.resources[material] = round(I.matter[material]*1.25) // More expensive to produce than they are to recycle. + recipe.resources[material] = I.matter[material]*1.25 // More expensive to produce than they are to recycle. del(I) /datum/autolathe/recipe diff --git a/code/game/machinery/camera/camera.dm b/code/game/machinery/camera/camera.dm index d631ca46dff..3b3104201f5 100644 --- a/code/game/machinery/camera/camera.dm +++ b/code/game/machinery/camera/camera.dm @@ -13,7 +13,6 @@ var/c_tag_order = 999 var/status = 1 anchored = 1.0 - var/panel_open = 0 // 0 = Closed / 1 = Open var/invuln = null var/bugged = 0 var/obj/item/weapon/camera_assembly/assembly = null @@ -57,7 +56,7 @@ /obj/machinery/camera/Del() if(!alarm_on) triggerCameraAlarm() - + cancelCameraAlarm() ..() @@ -70,7 +69,7 @@ kick_viewers() triggerCameraAlarm() update_icon() - + spawn(900) stat &= ~EMPED cancelCameraAlarm() @@ -85,11 +84,11 @@ /obj/machinery/camera/ex_act(severity) if(src.invuln) return - + //camera dies if an explosion touches it! if(severity <= 2 || prob(50)) destroy() - + ..() //and give it the regular chance of being deleted outright @@ -174,7 +173,7 @@ if (S.current == src) O << "[U] holds \a [itemname] up to one of the cameras ..." O << browse(text("[][]", itemname, info), text("window=[]", itemname)) - + else if (istype(W, /obj/item/weapon/camera_bug)) if (!src.can_use()) user << "\blue Camera non-functional" @@ -185,7 +184,7 @@ else user << "\blue Camera bugged." src.bugged = 1 - + else if(W.damtype == BRUTE || W.damtype == BURN) //bashing cameras if (W.force >= src.toughness) visible_message("[src] has been [pick(W.attack_verb)] with [W] by [user]!") @@ -194,7 +193,7 @@ if (I.hitsound) playsound(loc, I.hitsound, 50, 1, -1) take_damage(W.force) - + else ..() @@ -221,14 +220,14 @@ if (force >= toughness && (force > toughness*4 || prob(25))) destroy() -//Used when someone breaks a camera +//Used when someone breaks a camera /obj/machinery/camera/proc/destroy() invalidateCameraCache() stat |= BROKEN kick_viewers() triggerCameraAlarm() update_icon() - + //sparks var/datum/effect/effect/system/spark_spread/spark_system = new /datum/effect/effect/system/spark_spread() spark_system.set_up(5, 0, loc) @@ -266,7 +265,7 @@ alarm_on = 1 if(!get_area(src)) return - + for(var/mob/living/silicon/S in mob_list) S.triggerAlarm("Camera", get_area(src), list(src), src) @@ -275,7 +274,7 @@ alarm_on = 0 if(!get_area(src)) return - + for(var/mob/living/silicon/S in mob_list) S.cancelAlarm("Camera", get_area(src), src) @@ -355,7 +354,7 @@ /obj/machinery/camera/interact(mob/living/user as mob) if(!panel_open || istype(user, /mob/living/silicon/ai)) return - + if(stat & BROKEN) user << "\The [src] is broken." return diff --git a/code/game/machinery/cloning.dm b/code/game/machinery/cloning.dm index 454e6e44fc7..343c8ab2db1 100644 --- a/code/game/machinery/cloning.dm +++ b/code/game/machinery/cloning.dm @@ -3,18 +3,41 @@ //Potential replacement for genetics revives or something I dunno (?) +//Find a dead mob with a brain and client. +/proc/find_dead_player(var/find_key) + if(isnull(find_key)) + return + + var/mob/selected = null + for(var/mob/living/M in player_list) + //Dead people only thanks! + if((M.stat != 2) || (!M.client)) + continue + //They need a brain! + if(istype(M, /mob/living/carbon/human)) + var/mob/living/carbon/human/H = M + if(H.species.has_organ["brain"] && !H.has_brain()) + continue + if(M.ckey == find_key) + selected = M + break + return selected + #define CLONE_BIOMASS 150 /obj/machinery/clonepod - anchored = 1 name = "cloning pod" desc = "An electronically-lockable pod for growing organic tissue." density = 1 + anchored = 1 icon = 'icons/obj/cloning.dmi' icon_state = "pod_0" req_access = list(access_genetics) //For premature unlocking. + var/mob/living/occupant - var/heal_level = 90 //The clone is released once its health reaches this level. + var/heal_level = 20 //The clone is released once its health reaches this level. + var/heal_rate = 1 + var/notoxin = 0 var/locked = 0 var/obj/machinery/computer/cloning/connected = null //So we remember the connected clone machine. var/mess = 0 //Need to clean out it if it's full of exploded clone. @@ -22,6 +45,366 @@ var/eject_wait = 0 //Don't eject them as soon as they are created fuckkk var/biomass = CLONE_BIOMASS * 3 +/obj/machinery/clonepod/New() + ..() + component_parts = list() + component_parts += new /obj/item/weapon/circuitboard/clonepod(src) + component_parts += new /obj/item/weapon/stock_parts/manipulator(src) + component_parts += new /obj/item/weapon/stock_parts/manipulator(src) + component_parts += new /obj/item/weapon/stock_parts/scanning_module(src) + component_parts += new /obj/item/weapon/stock_parts/scanning_module(src) + component_parts += new /obj/item/weapon/stock_parts/console_screen(src) + component_parts += new /obj/item/stack/cable_coil(src, 2) + + RefreshParts() + +/obj/machinery/clonepod/attack_ai(mob/user as mob) + add_hiddenprint(user) + return attack_hand(user) + +/obj/machinery/clonepod/attack_hand(mob/user as mob) + if((isnull(occupant)) || (stat & NOPOWER)) + return + if((!isnull(occupant)) && (occupant.stat != 2)) + var/completion = (100 * ((occupant.health + 50) / (heal_level + 100))) // Clones start at -150 health + user << "Current clone cycle is [round(completion)]% complete." + return + +//Clonepod + +//Start growing a human clone in the pod! +/obj/machinery/clonepod/proc/growclone(var/datum/dna2/record/R) + if(mess || attempting) + return 0 + var/datum/mind/clonemind = locate(R.mind) + if(!istype(clonemind, /datum/mind)) //not a mind + return 0 + if(clonemind.current && clonemind.current.stat != DEAD) //mind is associated with a non-dead body + return 0 + if(clonemind.active) //somebody is using that mind + if(ckey(clonemind.key) != R.ckey) + return 0 + else + for(var/mob/dead/observer/G in player_list) + if(G.ckey == R.ckey) + if(G.can_reenter_corpse) + break + else + return 0 + + attempting = 1 //One at a time!! + locked = 1 + + eject_wait = 1 + spawn(30) + eject_wait = 0 + + var/mob/living/carbon/human/H = new /mob/living/carbon/human(src, R.dna.species) + occupant = H + + if(!R.dna.real_name) //to prevent null names + R.dna.real_name = "clone ([rand(0,999)])" + H.real_name = R.dna.real_name + + icon_state = "pod_1" + //Get the clone body ready + H.adjustCloneLoss(150) // New damage var so you can't eject a clone early then stab them to abuse the current damage system --NeoFite + H.adjustBrainLoss(80) // Even if healed to full health, it will have some brain damage + H.Paralyse(4) + + //Here let's calculate their health so the pod doesn't immediately eject them!!! + H.updatehealth() + + clonemind.transfer_to(H) + H.ckey = R.ckey + H << "Consciousness slowly creeps over you as your body regenerates.
So this is what cloning feels like?
" + + // -- Mode/mind specific stuff goes here + callHook("clone", list(H)) + + switch(ticker.mode.name) + if("revolution") + if((H.mind in ticker.mode:revolutionaries) || (H.mind in ticker.mode:head_revolutionaries)) + ticker.mode.update_all_rev_icons() //So the icon actually appears + if("mercenary") + if(H.mind in ticker.mode.syndicates) + ticker.mode.update_all_synd_icons() + if("cult") + if(H.mind in ticker.mode.cult) + ticker.mode.add_cultist(occupant.mind) + ticker.mode.update_all_cult_icons() //So the icon actually appears + + // -- End mode specific stuff + + if(!R.dna) + H.dna = new /datum/dna() + H.dna.real_name = H.real_name + else + H.dna = R.dna + H.UpdateAppearance() + if(heal_level < 60) + randmutb(H) //Sometimes the clones come out wrong. + H.dna.UpdateSE() + H.dna.UpdateUI() + + H.set_cloned_appearance() + + for(var/datum/language/L in R.languages) + H.add_language(L.name) + H.flavor_texts = R.flavor.Copy() + H.suiciding = 0 + attempting = 0 + return 1 + +//Grow clones to maturity then kick them out. FREELOADERS +/obj/machinery/clonepod/process() + + if(stat & NOPOWER) //Autoeject if power is lost + if(occupant) + locked = 0 + go_out() + return + + if((occupant) && (occupant.loc == src)) + if((occupant.stat == DEAD) || (occupant.suiciding) || !occupant.key) //Autoeject corpses and suiciding dudes. + locked = 0 + go_out() + connected_message("Clone Rejected: Deceased.") + return + + else if(occupant.health < heal_level && occupant.getCloneLoss() > 0) + occupant.Paralyse(4) + + //Slowly get that clone healed and finished. + occupant.adjustCloneLoss(-2 * heal_rate) + + //Premature clones may have brain damage. + occupant.adjustBrainLoss(-1 * heal_rate) + + //So clones don't die of oxyloss in a running pod. + if(occupant.reagents.get_reagent_amount("inaprovaline") < 30) + occupant.reagents.add_reagent("inaprovaline", 60) + + //So clones will remain asleep for long enough to get them into cryo (Bay RP edit) + if(occupant.reagents.get_reagent_amount("stoxin") < 10) + occupant.reagents.add_reagent("stoxin", 5) + if(occupant.reagents.get_reagent_amount("chloralhydrate") < 1) + occupant.reagents.add_reagent("chloralhydrate", 1) + + //Also heal some oxyloss ourselves because inaprovaline is so bad at preventing it!! + occupant.adjustOxyLoss(-4) + if(notoxin) + occupant.adjustToxLoss(-2) // If sufficiently upgraded - remove toxin damage from chloral + + use_power(7500) //This might need tweaking. + return + + else if((occupant.health >= heal_level) && (!eject_wait)) + connected_message("Cloning Process Complete.") + locked = 0 + go_out() + return + + else if((!occupant) || (occupant.loc != src)) + occupant = null + if(locked) + locked = 0 + if(!mess) + icon_state = "pod_0" + //use_power(200) + return + + return + +//Let's unlock this early I guess. Might be too early, needs tweaking. +/obj/machinery/clonepod/attackby(obj/item/weapon/W as obj, mob/user as mob) + if(isnull(occupant)) + if(default_deconstruction_screwdriver(user, W)) + return + if(default_deconstruction_crowbar(user, W)) + return + if(default_part_replacement(user, W)) + return + if(istype(W, /obj/item/weapon/card/id)||istype(W, /obj/item/device/pda)) + if(!check_access(W)) + user << "Access Denied." + return + if((!locked) || (isnull(occupant))) + return + if((occupant.health < -20) && (occupant.stat != 2)) + user << "Access Refused." + return + else + locked = 0 + user << "System unlocked." + else if(istype(W, /obj/item/weapon/card/emag)) + if(isnull(occupant)) + return + user << "You force an emergency ejection." + locked = 0 + go_out() + return + else if(istype(W, /obj/item/weapon/reagent_containers/food/snacks/meat)) + user << "\The [src] processes \the [W]." + biomass += 50 + user.drop_item() + del(W) + return + else if(istype(W, /obj/item/weapon/wrench)) + if(locked && (anchored || occupant)) + user << "Can not do that while [src] is in use." + else + if(anchored) + anchored = 0 + connected.pod1 = null + connected = null + else + anchored = 1 + playsound(loc, 'sound/items/Ratchet.ogg', 100, 1) + if(anchored) + user.visible_message("[user] secures [src] to the floor.", "You secure [src] to the floor.") + else + user.visible_message("[user] unsecures [src] from the floor.", "You unsecure [src] from the floor.") + else + ..() + +//Put messages in the connected computer's temp var for display. +/obj/machinery/clonepod/proc/connected_message(var/message) + if((isnull(connected)) || (!istype(connected, /obj/machinery/computer/cloning))) + return 0 + if(!message) + return 0 + + connected.temp = message + connected.updateUsrDialog() + return 1 + +/obj/machinery/clonepod/RefreshParts() + ..() + var/rating = 0 + for(var/obj/item/weapon/stock_parts/P in component_parts) + if(istype(P, /obj/item/weapon/stock_parts/scanning_module) || istype(P, /obj/item/weapon/stock_parts/manipulator)) + rating += P.rating + + heal_level = rating * 10 - 20 + heal_rate = round(rating / 4) + if(rating >= 8) + notoxin = 1 + else + notoxin = 0 + +/obj/machinery/clonepod/verb/eject() + set name = "Eject Cloner" + set category = "Object" + set src in oview(1) + + if(usr.stat != 0) + return + go_out() + add_fingerprint(usr) + return + +/obj/machinery/clonepod/proc/go_out() + if(locked) + return + + if(mess) //Clean that mess and dump those gibs! + mess = 0 + gibs(loc) + icon_state = "pod_0" + + /* + for(var/obj/O in src) + O.loc = loc + */ + return + + if(!(occupant)) + return + + /* + for(var/obj/O in src) + O.loc = loc + */ + + if(occupant.client) + occupant.client.eye = occupant.client.mob + occupant.client.perspective = MOB_PERSPECTIVE + occupant.loc = loc + icon_state = "pod_0" + eject_wait = 0 //If it's still set somehow. + domutcheck(occupant) //Waiting until they're out before possible monkeyizing. +// occupant.add_side_effect("Bad Stomach") // Give them an extra side-effect for free. + occupant = null + + biomass -= CLONE_BIOMASS + + return + +/obj/machinery/clonepod/proc/malfunction() + if(occupant) + connected_message("Critical Error!") + mess = 1 + icon_state = "pod_g" + occupant.ghostize() + spawn(5) + del(occupant) + return + +/obj/machinery/clonepod/relaymove(mob/user as mob) + if(user.stat) + return + go_out() + return + +/obj/machinery/clonepod/emp_act(severity) + if(prob(100/severity)) + malfunction() + ..() + +/obj/machinery/clonepod/ex_act(severity) + switch(severity) + if(1.0) + for(var/atom/movable/A as mob|obj in src) + A.loc = loc + ex_act(severity) + del(src) + return + if(2.0) + if(prob(50)) + for(var/atom/movable/A as mob|obj in src) + A.loc = loc + ex_act(severity) + del(src) + return + if(3.0) + if(prob(25)) + for(var/atom/movable/A as mob|obj in src) + A.loc = loc + ex_act(severity) + del(src) + return + else + return + +//Health Tracker Implant + +/obj/item/weapon/implant/health + name = "health implant" + var/healthstring = "" + +/obj/item/weapon/implant/health/proc/sensehealth() + if(!implanted) + return "ERROR" + else + if(isliving(implanted)) + var/mob/living/L = implanted + healthstring = "[round(L.getOxyLoss())] - [round(L.getFireLoss())] - [round(L.getToxLoss())] - [round(L.getBruteLoss())]" + if(!healthstring) + healthstring = "ERROR" + return healthstring + +//Disk stuff. //The return of data disks?? Just for transferring between genetics machine/cloning machine. //TO-DO: Make the genetics machine accept them. /obj/item/weapon/disk/data @@ -30,7 +413,7 @@ icon_state = "datadisk0" //Gosh I hope syndies don't mistake them for the nuke disk. item_state = "card-id" w_class = 2.0 - var/datum/dna2/record/buf=null + var/datum/dna2/record/buf = null var/read_only = 0 //Well,it's still a floppy disk /obj/item/weapon/disk/data/proc/initializeDisk() @@ -65,363 +448,18 @@ buf.dna.SE=new_SE buf.dna.SetSEValueRange(MONKEYBLOCK,0xDAC, 0xFFF) - -//Find a dead mob with a brain and client. -/proc/find_dead_player(var/find_key) - if (isnull(find_key)) - return - - var/mob/selected = null - for(var/mob/living/M in player_list) - //Dead people only thanks! - if ((M.stat != 2) || (!M.client)) - continue - //They need a brain! - if(istype(M, /mob/living/carbon/human)) - var/mob/living/carbon/human/H = M - if(H.species.has_organ["brain"] && !H.has_brain()) - continue - if (M.ckey == find_key) - selected = M - break - return selected - -//Disk stuff. /obj/item/weapon/disk/data/New() ..() var/diskcolor = pick(0,1,2) - src.icon_state = "datadisk[diskcolor]" + icon_state = "datadisk[diskcolor]" /obj/item/weapon/disk/data/attack_self(mob/user as mob) - src.read_only = !src.read_only - user << "You flip the write-protect tab to [src.read_only ? "protected" : "unprotected"]." + read_only = !read_only + user << "You flip the write-protect tab to [read_only ? "protected" : "unprotected"]." /obj/item/weapon/disk/data/examine(mob/user) ..(user) - user << text("The write-protect tab is set to [src.read_only ? "protected" : "unprotected"].") - return - -//Health Tracker Implant - -/obj/item/weapon/implant/health - name = "health implant" - var/healthstring = "" - -/obj/item/weapon/implant/health/proc/sensehealth() - if (!src.implanted) - return "ERROR" - else - if(isliving(src.implanted)) - var/mob/living/L = src.implanted - src.healthstring = "[round(L.getOxyLoss())] - [round(L.getFireLoss())] - [round(L.getToxLoss())] - [round(L.getBruteLoss())]" - if (!src.healthstring) - src.healthstring = "ERROR" - return src.healthstring - -/obj/machinery/clonepod/attack_ai(mob/user as mob) - src.add_hiddenprint(user) - return attack_hand(user) - -/obj/machinery/clonepod/attack_hand(mob/user as mob) - if ((isnull(src.occupant)) || (stat & NOPOWER)) - return - if ((!isnull(src.occupant)) && (src.occupant.stat != 2)) - var/completion = (100 * ((src.occupant.health + 100) / (src.heal_level + 100))) - user << "Current clone cycle is [round(completion)]% complete." - return - -//Clonepod - -//Start growing a human clone in the pod! -/obj/machinery/clonepod/proc/growclone(var/datum/dna2/record/R) - if(mess || attempting) - return 0 - var/datum/mind/clonemind = locate(R.mind) - if(!istype(clonemind,/datum/mind)) //not a mind - return 0 - if( clonemind.current && clonemind.current.stat != DEAD ) //mind is associated with a non-dead body - return 0 - if(clonemind.active) //somebody is using that mind - if( ckey(clonemind.key)!=R.ckey ) - return 0 - else - for(var/mob/dead/observer/G in player_list) - if(G.ckey == R.ckey) - if(G.can_reenter_corpse) - break - else - return 0 - - - src.heal_level = rand(10,40) //Randomizes what health the clone is when ejected - src.attempting = 1 //One at a time!! - src.locked = 1 - - src.eject_wait = 1 - spawn(30) - src.eject_wait = 0 - - var/mob/living/carbon/human/H = new /mob/living/carbon/human(src, R.dna.species) - occupant = H - - if(!R.dna.real_name) //to prevent null names - R.dna.real_name = "clone ([rand(0,999)])" - H.real_name = R.dna.real_name - - src.icon_state = "pod_1" - //Get the clone body ready - H.adjustCloneLoss(150) //new damage var so you can't eject a clone early then stab them to abuse the current damage system --NeoFite - H.adjustBrainLoss(src.heal_level + 50 + rand(10, 30)) // The rand(10, 30) will come out as extra brain damage - H.Paralyse(4) - - //Here let's calculate their health so the pod doesn't immediately eject them!!! - H.updatehealth() - - clonemind.transfer_to(H) - H.ckey = R.ckey - H << "Consciousness slowly creeps over you as your body regenerates.
So this is what cloning feels like?
" - - // -- Mode/mind specific stuff goes here - callHook("clone", list(H)) - - switch(ticker.mode.name) - if("revolution") - if((H.mind in ticker.mode:revolutionaries) || (H.mind in ticker.mode:head_revolutionaries)) - ticker.mode.update_all_rev_icons() //So the icon actually appears - if("mercenary") - if(H.mind in ticker.mode.syndicates) - ticker.mode.update_all_synd_icons() - if("cult") - if (H.mind in ticker.mode.cult) - ticker.mode.add_cultist(src.occupant.mind) - ticker.mode.update_all_cult_icons() //So the icon actually appears - - // -- End mode specific stuff - - if(!R.dna) - H.dna = new /datum/dna() - H.dna.real_name = H.real_name - else - H.dna=R.dna - H.UpdateAppearance() - randmutb(H) //Sometimes the clones come out wrong. - H.dna.UpdateSE() - H.dna.UpdateUI() - - H.set_cloned_appearance() - - for(var/datum/language/L in R.languages) - H.add_language(L.name) - H.flavor_texts = R.flavor.Copy() - H.suiciding = 0 - src.attempting = 0 - return 1 - -//Grow clones to maturity then kick them out. FREELOADERS -/obj/machinery/clonepod/process() - - if(stat & NOPOWER) //Autoeject if power is lost - if (src.occupant) - src.locked = 0 - src.go_out() - return - - if((src.occupant) && (src.occupant.loc == src)) - if((src.occupant.stat == DEAD) || (src.occupant.suiciding) || !occupant.key) //Autoeject corpses and suiciding dudes. - src.locked = 0 - src.go_out() - src.connected_message("Clone Rejected: Deceased.") - return - - else if(src.occupant.health < src.heal_level) - src.occupant.Paralyse(4) - - //Slowly get that clone healed and finished. - src.occupant.adjustCloneLoss(-2) - - //Premature clones may have brain damage. - src.occupant.adjustBrainLoss(-1) - - //So clones don't die of oxyloss in a running pod. - if (src.occupant.reagents.get_reagent_amount("inaprovaline") < 30) - src.occupant.reagents.add_reagent("inaprovaline", 60) - - //So clones will remain asleep for long enough to get them into cryo (Bay RP edit) - if (src.occupant.reagents.get_reagent_amount("stoxin") < 10) - src.occupant.reagents.add_reagent("stoxin", 5) - if (src.occupant.reagents.get_reagent_amount("chloralhydrate") < 1) - src.occupant.reagents.add_reagent("chloralhydrate", 1) - - //Also heal some oxyloss ourselves because inaprovaline is so bad at preventing it!! - src.occupant.adjustOxyLoss(-4) - - use_power(7500) //This might need tweaking. - return - - else if((src.occupant.health >= src.heal_level) && (!src.eject_wait)) - src.connected_message("Cloning Process Complete.") - src.locked = 0 - src.go_out() - return - - else if ((!src.occupant) || (src.occupant.loc != src)) - src.occupant = null - if (src.locked) - src.locked = 0 - if (!src.mess) - icon_state = "pod_0" - //use_power(200) - return - - return - -//Let's unlock this early I guess. Might be too early, needs tweaking. -/obj/machinery/clonepod/attackby(obj/item/weapon/W as obj, mob/user as mob) - if (istype(W, /obj/item/weapon/card/id)||istype(W, /obj/item/device/pda)) - if (!src.check_access(W)) - user << "\red Access Denied." - return - if ((!src.locked) || (isnull(src.occupant))) - return - if ((src.occupant.health < -20) && (src.occupant.stat != 2)) - user << "\red Access Refused." - return - else - src.locked = 0 - user << "System unlocked." - else if (istype(W, /obj/item/weapon/card/emag)) - if (isnull(src.occupant)) - return - user << "You force an emergency ejection." - src.locked = 0 - src.go_out() - return - else if (istype(W, /obj/item/weapon/reagent_containers/food/snacks/meat)) - user << "\blue \The [src] processes \the [W]." - biomass += 50 - user.drop_item() - del(W) - return - else if (istype(W, /obj/item/weapon/wrench)) - if(src.locked && (src.anchored || src.occupant)) - user << "\red Can not do that while [src] is in use." - else - if(src.anchored) - src.anchored = 0 - connected.pod1 = null - connected = null - else - src.anchored = 1 - playsound(src.loc, 'sound/items/Ratchet.ogg', 100, 1) - if(anchored) - user.visible_message("[user] secures [src] to the floor.", "You secure [src] to the floor.") - else - user.visible_message("[user] unsecures [src] from the floor.", "You unsecure [src] from the floor.") - else - ..() - -//Put messages in the connected computer's temp var for display. -/obj/machinery/clonepod/proc/connected_message(var/message) - if ((isnull(src.connected)) || (!istype(src.connected, /obj/machinery/computer/cloning))) - return 0 - if (!message) - return 0 - - src.connected.temp = message - src.connected.updateUsrDialog() - return 1 - -/obj/machinery/clonepod/verb/eject() - set name = "Eject Cloner" - set category = "Object" - set src in oview(1) - - if (usr.stat != 0) - return - src.go_out() - add_fingerprint(usr) - return - -/obj/machinery/clonepod/proc/go_out() - if (src.locked) - return - - if (src.mess) //Clean that mess and dump those gibs! - src.mess = 0 - gibs(src.loc) - src.icon_state = "pod_0" - - /* - for(var/obj/O in src) - O.loc = src.loc - */ - return - - if (!(src.occupant)) - return - - /* - for(var/obj/O in src) - O.loc = src.loc - */ - - if (src.occupant.client) - src.occupant.client.eye = src.occupant.client.mob - src.occupant.client.perspective = MOB_PERSPECTIVE - src.occupant.loc = src.loc - src.icon_state = "pod_0" - src.eject_wait = 0 //If it's still set somehow. - domutcheck(src.occupant) //Waiting until they're out before possible monkeyizing. -// src.occupant.add_side_effect("Bad Stomach") // Give them an extra side-effect for free. - src.occupant = null - - src.biomass -= CLONE_BIOMASS - - return - -/obj/machinery/clonepod/proc/malfunction() - if(src.occupant) - src.connected_message("Critical Error!") - src.mess = 1 - src.icon_state = "pod_g" - src.occupant.ghostize() - spawn(5) - del(src.occupant) - return - -/obj/machinery/clonepod/relaymove(mob/user as mob) - if (user.stat) - return - src.go_out() - return - -/obj/machinery/clonepod/emp_act(severity) - if(prob(100/severity)) malfunction() - ..() - -/obj/machinery/clonepod/ex_act(severity) - switch(severity) - if(1.0) - for(var/atom/movable/A as mob|obj in src) - A.loc = src.loc - ex_act(severity) - del(src) - return - if(2.0) - if (prob(50)) - for(var/atom/movable/A as mob|obj in src) - A.loc = src.loc - ex_act(severity) - del(src) - return - if(3.0) - if (prob(25)) - for(var/atom/movable/A as mob|obj in src) - A.loc = src.loc - ex_act(severity) - del(src) - return - else + user << text("The write-protect tab is set to [read_only ? "protected" : "unprotected"].") return /* diff --git a/code/game/machinery/kitchen/smartfridge.dm b/code/game/machinery/kitchen/smartfridge.dm index 8e86678ef22..7b186bcc9c6 100644 --- a/code/game/machinery/kitchen/smartfridge.dm +++ b/code/game/machinery/kitchen/smartfridge.dm @@ -19,7 +19,6 @@ var/seconds_electrified = 0; var/shoot_inventory = 0 var/locked = 0 - var/panel_open = 0 //Hacking a smartfridge var/scan_id = 1 var/is_secure = 0 var/datum/wires/smartfridge/wires = null diff --git a/code/game/machinery/machinery.dm b/code/game/machinery/machinery.dm index c5eaf354973..819cc05632c 100644 --- a/code/game/machinery/machinery.dm +++ b/code/game/machinery/machinery.dm @@ -28,6 +28,9 @@ Class Variables: component_parts (list) A list of component parts of machine used by frame based machines. + panel_open (num) + Whether the panel is open + uid (num) Unique id of machine across all machines. @@ -43,9 +46,6 @@ Class Variables: MAINT:8 -- machine is currently under going maintenance. EMPED:16 -- temporary broken by EMP pulse - manual (num) - Currently unused. - Class Procs: New() 'game/machinery/machine.dm' @@ -104,13 +104,12 @@ Class Procs: //2 = run auto, use active var/idle_power_usage = 0 var/active_power_usage = 0 - var/power_channel = EQUIP - //EQUIP,ENVIRON or LIGHT - var/list/component_parts = list() //list of all the parts used to build it, if made from certain kinds of frames. + var/power_channel = EQUIP //EQUIP, ENVIRON or LIGHT + var/list/component_parts = null //list of all the parts used to build it, if made from certain kinds of frames. var/uid - var/manual = 0 - var/interact_offline = 0 // Can the machine be interacted with while de-powered. + var/panel_open = 0 var/global/gl_uid = 1 + var/interact_offline = 0 // Can the machine be interacted with while de-powered. /obj/machinery/New(l, d=0) ..(l) @@ -238,15 +237,15 @@ Class Procs: gl_uid++ /obj/machinery/proc/state(var/msg) - for(var/mob/O in hearers(src, null)) - O.show_message("\icon[src] [msg]", 2) + for(var/mob/O in hearers(src, null)) + O.show_message("\icon[src] [msg]", 2) /obj/machinery/proc/ping(text=null) - if (!text) - text = "\The [src] pings." + if (!text) + text = "\The [src] pings." - state(text, "blue") - playsound(src.loc, 'sound/machines/ping.ogg', 50, 0) + state(text, "blue") + playsound(src.loc, 'sound/machines/ping.ogg', 50, 0) /obj/machinery/proc/shock(mob/user, prb) if(inoperable()) @@ -267,6 +266,54 @@ Class Procs: else return 0 +/obj/machinery/proc/default_deconstruction_crowbar(var/mob/user, var/obj/item/weapon/crowbar/C) + if(!istype(C)) + return 0 + if(!panel_open) + return 0 + . = dismantle() + +/obj/machinery/proc/default_deconstruction_screwdriver(var/mob/user, var/obj/item/weapon/screwdriver/S) + if(!istype(S)) + return 0 + playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1) + panel_open = !panel_open + user << "You [panel_open ? "open" : "close"] the maintenance hatch of [src]." + update_icon() + return 1 + +/obj/machinery/proc/default_part_replacement(var/mob/user, var/obj/item/weapon/storage/part_replacer/R) + if(!istype(R)) + return 0 + if(!component_parts) + return 0 + if(panel_open) + var/obj/item/weapon/circuitboard/CB = locate(/obj/item/weapon/circuitboard) in component_parts + var/P + for(var/obj/item/weapon/stock_parts/A in component_parts) + for(var/D in CB.req_components) + var/T = text2path(D) + if(ispath(A.type, T)) + P = T + break + for(var/obj/item/weapon/stock_parts/B in R.contents) + if(istype(B, P) && istype(A, P)) + if(B.rating > A.rating) + R.remove_from_storage(B, src) + R.handle_item_insertion(A, 1) + component_parts -= A + component_parts += B + B.loc = null + user << "[A.name] replaced with [B.name]." + break + update_icon() + RefreshParts() + else + user << "Following parts detected in the machine:" + for(var/var/obj/item/C in component_parts) + user << " [C.name]" + return 1 + /obj/machinery/proc/dismantle() playsound(loc, 'sound/items/Crowbar.ogg', 50, 1) var/obj/machinery/constructable_frame/machine_frame/M = new /obj/machinery/constructable_frame/machine_frame(loc) diff --git a/code/game/machinery/rechargestation.dm b/code/game/machinery/rechargestation.dm index 3049a6f6943..63abf6bfbf5 100644 --- a/code/game/machinery/rechargestation.dm +++ b/code/game/machinery/rechargestation.dm @@ -3,7 +3,7 @@ icon = 'icons/obj/objects.dmi' icon_state = "borgcharger0" density = 1 - anchored = 1.0 + anchored = 1 use_power = 1 idle_power_usage = 50 active_power_usage = 50 @@ -13,177 +13,216 @@ var/charging_cap_active = 25000 // Active Cap - When cyborg is inside var/charging_cap_passive = 2500 // Passive Cap - Recharging internal capacitor when no cyborg is inside var/icon_update_tick = 0 // Used to update icon only once every 10 ticks + var/charge_rate = 250 // How much charge is restored per tick + var/weld_rate = 0 // How much brute damage is repaired per tick + var/wire_rate = 0 // How much burn damage is repaired per tick +/obj/machinery/recharge_station/New() + ..() + component_parts = list() + component_parts += new /obj/item/weapon/circuitboard/recharge_station(src) + component_parts += new /obj/item/weapon/stock_parts/manipulator(src) + component_parts += new /obj/item/weapon/stock_parts/manipulator(src) + component_parts += new /obj/item/weapon/stock_parts/capacitor(src) + component_parts += new /obj/item/weapon/stock_parts/capacitor(src) + component_parts += new /obj/item/stack/cable_coil(src, 5) - New() - ..() - build_icon() - update_icon() + build_icon() + update_icon() - process() - if(stat & (BROKEN)) - return + RefreshParts() - if((stat & (NOPOWER)) && !current_internal_charge) // No Power. - return - - var/chargemode = 0 - if(src.occupant) - process_occupant() - chargemode = 1 - // Power Stuff - - if(stat & NOPOWER) - current_internal_charge = max(0, (current_internal_charge - (50 * CELLRATE))) // Internal Circuitry, 50W load. No power - Runs from internal cell - return // No external power = No charging - - - - if(max_internal_charge < current_internal_charge) - current_internal_charge = max_internal_charge// Safety check if varedit adminbus or something screws up - // Calculating amount of power to draw - var/charge_diff = max_internal_charge - current_internal_charge // OK we have charge differences - charge_diff = charge_diff / CELLRATE // Deconvert from Charge to Joules - if(chargemode) // Decide if use passive or active power - charge_diff = between(0, charge_diff, charging_cap_active) // Trim the values to limits - else // We should have load for this tick in Watts - charge_diff = between(0, charge_diff, charging_cap_passive) - - charge_diff += 50 // 50W for circuitry - - if(idle_power_usage != charge_diff) // Force update, but only when our power usage changed this tick. - idle_power_usage = charge_diff - update_use_power(1,1) - - current_internal_charge = min((current_internal_charge + ((charge_diff - 50) * CELLRATE)), max_internal_charge) - - if(icon_update_tick >= 10) - update_icon() - icon_update_tick = 0 - else - icon_update_tick++ - - return 1 - - - allow_drop() - return 0 - - examine(mob/user) - ..(user) - user << "The charge meter reads: [round(chargepercentage())]%" - - proc/chargepercentage() - return ((current_internal_charge / max_internal_charge) * 100) - - relaymove(mob/user as mob) - if(user.stat) - return - src.go_out() +/obj/machinery/recharge_station/process() + if(stat & (BROKEN)) return - emp_act(severity) - if(stat & (BROKEN|NOPOWER)) - ..(severity) - return - if(occupant) - occupant.emp_act(severity) - go_out() - ..(severity) - - update_icon() - ..() - overlays.Cut() - switch(round(chargepercentage())) - if(1 to 20) - overlays += image('icons/obj/objects.dmi', "statn_c0") - if(21 to 40) - overlays += image('icons/obj/objects.dmi', "statn_c20") - if(41 to 60) - overlays += image('icons/obj/objects.dmi', "statn_c40") - if(61 to 80) - overlays += image('icons/obj/objects.dmi', "statn_c60") - if(81 to 98) - overlays += image('icons/obj/objects.dmi', "statn_c80") - if(99 to 110) - overlays += image('icons/obj/objects.dmi', "statn_c100") - - proc - build_icon() - if(NOPOWER|BROKEN) - if(src.occupant) - icon_state = "borgcharger1" - else - icon_state = "borgcharger0" - else - icon_state = "borgcharger0" + if((stat & (NOPOWER)) && !current_internal_charge) // No Power. + return + var/chargemode = 0 + if(occupant) process_occupant() - if(src.occupant) - if (istype(occupant, /mob/living/silicon/robot)) - var/mob/living/silicon/robot/R = occupant - if(R.module) - R.module.respawn_consumable(R) - if(!R.cell) - return - if(!R.cell.fully_charged()) - var/diff = min(R.cell.maxcharge - R.cell.charge, 250) // Capped at 250 charge / tick - diff = min(diff, current_internal_charge) // No over-discharging - R.cell.give(diff) - current_internal_charge -= diff - else - update_use_power(1) + chargemode = 1 + // Power Stuff + + if(stat & NOPOWER) + current_internal_charge = max(0, (current_internal_charge - (50 * CELLRATE))) // Internal Circuitry, 50W load. No power - Runs from internal cell + return // No external power = No charging + + if(max_internal_charge < current_internal_charge) + current_internal_charge = max_internal_charge// Safety check if varedit adminbus or something screws up + // Calculating amount of power to draw + var/charge_diff = max_internal_charge - current_internal_charge // OK we have charge differences + charge_diff = charge_diff / CELLRATE // Deconvert from Charge to Joules + if(chargemode) // Decide if use passive or active power + charge_diff = between(0, charge_diff, charging_cap_active) // Trim the values to limits + else // We should have load for this tick in Watts + charge_diff = between(0, charge_diff, charging_cap_passive) + + charge_diff += 50 // 50W for circuitry + + if(idle_power_usage != charge_diff) // Force update, but only when our power usage changed this tick. + idle_power_usage = charge_diff + update_use_power(1, 1) + + current_internal_charge = min((current_internal_charge + ((charge_diff - 50) * CELLRATE)), max_internal_charge) + + if(icon_update_tick >= 10) + update_icon() + icon_update_tick = 0 + else + icon_update_tick++ + + return 1 + + +/obj/machinery/recharge_station/allow_drop() + return 0 + +/obj/machinery/recharge_station/examine(mob/user) + ..(user) + user << "The charge meter reads: [round(chargepercentage())]%" + +/obj/machinery/recharge_station/proc/chargepercentage() + return ((current_internal_charge / max_internal_charge) * 100) + +/obj/machinery/recharge_station/relaymove(mob/user as mob) + if(user.stat) + return + go_out() + return + +/obj/machinery/recharge_station/emp_act(severity) + if(stat & (BROKEN|NOPOWER)) + ..(severity) + return + if(occupant) + occupant.emp_act(severity) go_out() - if(!( src.occupant )) - return - //for(var/obj/O in src) - // O.loc = src.loc - if (src.occupant.client) - src.occupant.client.eye = src.occupant.client.mob - src.occupant.client.perspective = MOB_PERSPECTIVE - src.occupant.loc = src.loc - src.occupant = null - build_icon() - update_use_power(1) + ..(severity) + +/obj/machinery/recharge_station/attackby(var/obj/item/O as obj, var/mob/user as mob) + if(!occupant) + if(default_deconstruction_screwdriver(user, O)) + return + if(default_deconstruction_crowbar(user, O)) + return + if(default_part_replacement(user, O)) return + ..() - verb - move_eject() - set category = "Object" - set src in oview(1) - if (usr.stat != 0) - return - src.go_out() - add_fingerprint(usr) - return +/obj/machinery/recharge_station/RefreshParts() + ..() + var/man_rating = 0 + var/cap_rating = 0 - move_inside() - set category = "Object" - set src in oview(1) - if (usr.stat == 2) - //Whoever had it so that a borg with a dead cell can't enter this thing should be shot. --NEO + for(var/obj/item/weapon/stock_parts/P in component_parts) + if(istype(P, /obj/item/weapon/stock_parts/capacitor)) + cap_rating += P.rating + if(istype(P, /obj/item/weapon/stock_parts/manipulator)) + man_rating += P.rating + + charge_rate = 125 * cap_rating + weld_rate = max(0, man_rating - 3) + wire_rate = max(0, man_rating - 5) + +/obj/machinery/recharge_station/update_icon() + ..() + overlays.Cut() + switch(round(chargepercentage())) + if(1 to 20) + overlays += image('icons/obj/objects.dmi', "statn_c0") + if(21 to 40) + overlays += image('icons/obj/objects.dmi', "statn_c20") + if(41 to 60) + overlays += image('icons/obj/objects.dmi', "statn_c40") + if(61 to 80) + overlays += image('icons/obj/objects.dmi', "statn_c60") + if(81 to 98) + overlays += image('icons/obj/objects.dmi', "statn_c80") + if(99 to 110) + overlays += image('icons/obj/objects.dmi', "statn_c100") + + +/obj/machinery/recharge_station/proc/build_icon() + if(NOPOWER|BROKEN) + if(occupant) + icon_state = "borgcharger1" + else + icon_state = "borgcharger0" + else + icon_state = "borgcharger0" + +/obj/machinery/recharge_station/proc/process_occupant() + if(occupant) + if(istype(occupant, /mob/living/silicon/robot)) + var/mob/living/silicon/robot/R = occupant + if(R.module) + R.module.respawn_consumable(R) + if(!R.cell) return - if (!(istype(usr, /mob/living/silicon/))) - usr << "\blue Only non-organics may enter the recharger!" - return - if (src.occupant) - usr << "\blue The cell is already occupied!" - return - if (!usr:cell) - usr<<"\blue Without a powercell, you can't be recharged." - //Make sure they actually HAVE a cell, now that they can get in while powerless. --NEO - return - usr.stop_pulling() - if(usr && usr.client) - usr.client.perspective = EYE_PERSPECTIVE - usr.client.eye = src - usr.loc = src - src.occupant = usr - /*for(var/obj/O in src) - O.loc = src.loc*/ - src.add_fingerprint(usr) - build_icon() - update_use_power(1) - return \ No newline at end of file + if(!R.cell.fully_charged()) + var/diff = min(R.cell.maxcharge - R.cell.charge, charge_rate) // Capped at charge_rate charge / tick + diff = min(diff, current_internal_charge) // No over-discharging + R.cell.give(diff) + current_internal_charge -= diff + if(weld_rate && R.getBruteLoss()) + R.adjustBruteLoss(-1) + if(wire_rate && R.getFireLoss()) + R.adjustFireLoss(-1) + else + update_use_power(1) + +/obj/machinery/recharge_station/proc/go_out() + if(!(occupant)) + return + //for(var/obj/O in src) + // O.loc = loc + if(occupant.client) + occupant.client.eye = occupant.client.mob + occupant.client.perspective = MOB_PERSPECTIVE + occupant.loc = loc + occupant = null + build_icon() + update_use_power(1) + return + +/obj/machinery/recharge_station/verb/move_eject() + set category = "Object" + set src in oview(1) + if(usr.stat != 0) + return + go_out() + add_fingerprint(usr) + return + +/obj/machinery/recharge_station/verb/move_inside() + set category = "Object" + set src in oview(1) + if(usr.stat == 2) + //Whoever had it so that a borg with a dead cell can't enter this thing should be shot. --NEO + return + if(!(istype(usr, /mob/living/silicon/))) + usr << "Only non-organics may enter the recharger!" + return + if(occupant) + usr << "The cell is already occupied!" + return + if(!usr:cell) + usr << "Without a powercell, you can't be recharged." + //Make sure they actually HAVE a cell, now that they can get in while powerless. --NEO + return + usr.stop_pulling() + if(usr && usr.client) + usr.client.perspective = EYE_PERSPECTIVE + usr.client.eye = src + usr.loc = src + occupant = usr + /*for(var/obj/O in src) + O.loc = loc*/ + add_fingerprint(usr) + build_icon() + update_use_power(1) + return \ No newline at end of file diff --git a/code/game/machinery/spaceheater.dm b/code/game/machinery/spaceheater.dm index ab4967d04ed..c5d389c66e3 100644 --- a/code/game/machinery/spaceheater.dm +++ b/code/game/machinery/spaceheater.dm @@ -7,7 +7,6 @@ desc = "Made by Space Amish using traditional space techniques, this heater is guaranteed not to set the station on fire." var/obj/item/weapon/cell/cell var/on = 0 - var/open = 0 var/set_temperature = T0C + 50 //K var/heating_power = 40000 @@ -20,14 +19,14 @@ /obj/machinery/space_heater/update_icon() overlays.Cut() icon_state = "sheater[on]" - if(open) + if(panel_open) overlays += "sheater-open" /obj/machinery/space_heater/examine(mob/user) ..(user) - user << "The heater is [on ? "on" : "off"] and the hatch is [open ? "open" : "closed"]." - if(open) + user << "The heater is [on ? "on" : "off"] and the hatch is [panel_open ? "open" : "closed"]." + if(panel_open) user << "The power cell is [cell ? "installed" : "missing"]." else user << "The charge meter reads [cell ? round(cell.percent(),1) : 0]%" @@ -43,7 +42,7 @@ /obj/machinery/space_heater/attackby(obj/item/I, mob/user) if(istype(I, /obj/item/weapon/cell)) - if(open) + if(panel_open) if(cell) user << "There is already a power cell inside." return @@ -61,10 +60,10 @@ user << "The hatch must be open to insert a power cell." return else if(istype(I, /obj/item/weapon/screwdriver)) - open = !open - user.visible_message("\blue [user] [open ? "opens" : "closes"] the hatch on the [src].", "\blue You [open ? "open" : "close"] the hatch on the [src].") + panel_open = !panel_open + user.visible_message("\blue [user] [panel_open ? "opens" : "closes"] the hatch on the [src].", "\blue You [panel_open ? "open" : "close"] the hatch on the [src].") update_icon() - if(!open && user.machine == src) + if(!panel_open && user.machine == src) user << browse(null, "window=spaceheater") user.unset_machine() else @@ -77,7 +76,7 @@ /obj/machinery/space_heater/interact(mob/user as mob) - if(open) + if(panel_open) var/dat dat = "Power cell: " @@ -120,7 +119,7 @@ set_temperature = dd_range(T0C, T0C + 90, set_temperature + value) if("cellremove") - if(open && cell && !usr.get_active_hand()) + if(panel_open && cell && !usr.get_active_hand()) usr.visible_message("\blue [usr] removes \the [cell] from \the [src].", "\blue You remove \the [cell] from \the [src].") cell.updateicon() usr.put_in_hands(cell) @@ -129,7 +128,7 @@ if("cellinstall") - if(open && !cell) + if(panel_open && !cell) var/obj/item/weapon/cell/C = usr.get_active_hand() if(istype(C)) usr.drop_item() diff --git a/code/game/machinery/suit_storage_unit.dm b/code/game/machinery/suit_storage_unit.dm index 4bf1c07abc7..f8ae293bba3 100644 --- a/code/game/machinery/suit_storage_unit.dm +++ b/code/game/machinery/suit_storage_unit.dm @@ -589,7 +589,6 @@ var/radiation_level = 2 // 1 is removing germs, 2 is removing blood, 3 is removing phoron. var/model_text = "" // Some flavour text for the topic box. var/locked = 1 // If locked, nothing can be taken from or added to the cycler. - var/panel_open = 0 // Hacking! var/can_repair // If set, the cycler can repair voidsuits. var/electrified = 0 diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm index 26f1c620c7a..7d7ee3113df 100644 --- a/code/game/machinery/vending.dm +++ b/code/game/machinery/vending.dm @@ -54,7 +54,6 @@ var/shoot_inventory = 0 //Fire items at customers! We're broken! var/shut_up = 1 //Stop spouting those godawful pitches! var/extended_inventory = 0 //can we access the hidden inventory? - var/panel_open = 0 //Hacking that vending machine. Gonna get a free candy bar. var/scan_id = 1 var/obj/item/weapon/coin/coin var/datum/wires/vending/wires = null diff --git a/code/game/objects/items/weapons/circuitboards/machinery/biogenerator.dm b/code/game/objects/items/weapons/circuitboards/machinery/biogenerator.dm new file mode 100644 index 00000000000..c01893b1587 --- /dev/null +++ b/code/game/objects/items/weapons/circuitboards/machinery/biogenerator.dm @@ -0,0 +1,13 @@ +#ifndef T_BOARD +#error T_BOARD macro is not defined but we need it! +#endif + +/obj/item/weapon/circuitboard/biogenerator + name = T_BOARD("biogenerator") + build_path = "/obj/machinery/biogenerator" + board_type = "machine" + origin_tech = "programming=2" + frame_desc = "Requires 1 Manipulator, and 1 Matter Bin." + req_components = list( + "/obj/item/weapon/stock_parts/matter_bin" = 1, + "/obj/item/weapon/stock_parts/manipulator" = 1) \ No newline at end of file diff --git a/code/game/objects/items/weapons/circuitboards/machinery/recharge_station.dm b/code/game/objects/items/weapons/circuitboards/machinery/recharge_station.dm new file mode 100644 index 00000000000..6018d4c2bf5 --- /dev/null +++ b/code/game/objects/items/weapons/circuitboards/machinery/recharge_station.dm @@ -0,0 +1,14 @@ +#ifndef T_BOARD +#error T_BOARD macro is not defined but we need it! +#endif + +/obj/item/weapon/circuitboard/recharge_station + name = T_BOARD("cyborg recharging station") + build_path = "/obj/machinery/recharge_station" + board_type = "machine" + origin_tech = "programming=3;engineering=3" + frame_desc = "Requires 2 Manipulator, 2 Capacitor, and 5 pieces of cable." + req_components = list( + "/obj/item/stack/cable_coil" = 5, + "/obj/item/weapon/stock_parts/capacitor" = 2, + "/obj/item/weapon/stock_parts/manipulator" = 2) \ No newline at end of file diff --git a/code/modules/hydroponics/biogenerator.dm b/code/modules/hydroponics/biogenerator.dm index 263f797a95d..4afd4f0e44b 100644 --- a/code/modules/hydroponics/biogenerator.dm +++ b/code/modules/hydroponics/biogenerator.dm @@ -11,66 +11,80 @@ var/obj/item/weapon/reagent_containers/glass/beaker = null var/points = 0 var/menustat = "menu" + var/build_eff = 1 + var/eat_eff = 1 - New() - ..() - var/datum/reagents/R = new/datum/reagents(1000) - reagents = R - R.my_atom = src - beaker = new /obj/item/weapon/reagent_containers/glass/beaker/large(src) +/obj/machinery/biogenerator/New() + ..() + var/datum/reagents/R = new/datum/reagents(1000) + reagents = R + R.my_atom = src + beaker = new /obj/item/weapon/reagent_containers/glass/bottle(src) - on_reagent_change() //When the reagents change, change the icon as well. - update_icon() + component_parts = list() + component_parts += new /obj/item/weapon/circuitboard/biogenerator(src) + component_parts += new /obj/item/weapon/stock_parts/matter_bin(src) + component_parts += new /obj/item/weapon/stock_parts/manipulator(src) + RefreshParts() + +/obj/machinery/biogenerator/on_reagent_change() //When the reagents change, change the icon as well. update_icon() - if(!src.beaker) - icon_state = "biogen-empty" - else if(!src.processing) - icon_state = "biogen-stand" - else - icon_state = "biogen-work" - return + +/obj/machinery/biogenerator/update_icon() + if(!beaker) + icon_state = "biogen-empty" + else if(!processing) + icon_state = "biogen-stand" + else + icon_state = "biogen-work" + return /obj/machinery/biogenerator/attackby(var/obj/item/O as obj, var/mob/user as mob) + if(default_deconstruction_screwdriver(user, O)) + return + if(default_deconstruction_crowbar(user, O)) + return + if(default_part_replacement(user, O)) + return if(istype(O, /obj/item/weapon/reagent_containers/glass)) if(beaker) - user << "\red The biogenerator is already loaded." + user << "]The [src] is already loaded." else user.before_take_item(O) O.loc = src beaker = O updateUsrDialog() else if(processing) - user << "\red The biogenerator is currently processing." + user << "\The [src] is currently processing." else if(istype(O, /obj/item/weapon/storage/bag/plants)) var/i = 0 for(var/obj/item/weapon/reagent_containers/food/snacks/grown/G in contents) i++ if(i >= 10) - user << "\red The biogenerator is already full! Activate it." + user << "\The [src] is already full! Activate it." else for(var/obj/item/weapon/reagent_containers/food/snacks/grown/G in O.contents) G.loc = src i++ if(i >= 10) - user << "\blue You fill the biogenerator to its capacity." + user << "You fill \the [src] to its capacity." break - if(i<10) - user << "\blue You empty the plant bag into the biogenerator." - + if(i < 10) + user << "You empty \the [O] into \the [src]." else if(!istype(O, /obj/item/weapon/reagent_containers/food/snacks/grown)) - user << "\red You cannot put this in [src.name]" + user << "You cannot put this in \the [src]." else var/i = 0 for(var/obj/item/weapon/reagent_containers/food/snacks/grown/G in contents) i++ if(i >= 10) - user << "\red The biogenerator is full! Activate it." + user << "\The [src] is full! Activate it." else user.before_take_item(O) O.loc = src - user << "\blue You put [O.name] in [src.name]" + user << "You put \the [O] in \the [src]" update_icon() return @@ -89,18 +103,18 @@ dat += "Activate Biogenerator!
" dat += "Detach Container

" dat += "Food
" - dat += "10 milk (20)
" - dat += "Slab of meat (50)
" + dat += "10 milk ([round(20/build_eff)])
" + dat += "Slab of meat ([round(50/build_eff)])
" dat += "Nutrient
" - dat += "E-Z-Nutrient (10) | x5
" - dat += "Left 4 Zed (20) | x5
" - dat += "Robust Harvest (25) | x5
" + dat += "E-Z-Nutrient ([round(10/build_eff)]) | x5
" + dat += "Left 4 Zed ([round(20/build_eff)]) | x5
" + dat += "Robust Harvest ([round(25/build_eff)]) | x5
" dat += "Leather
" - dat += "Wallet (100)
" - dat += "Botanical gloves (250)
" - dat += "Utility belt (300)
" - dat += "Leather Satchel (400)
" - dat += "Cash Bag (400)
" + dat += "Wallet ([round(100/build_eff)])
" + dat += "Botanical gloves ([round(250/build_eff)])
" + dat += "Utility belt ([round(300/build_eff)])
" + dat += "Leather Satchel ([round(400/build_eff)])
" + dat += "Cash Bag ([round(400/build_eff)])
" //dat += "Other
" //dat += "Monkey (500)
" else @@ -122,34 +136,35 @@ interact(user) /obj/machinery/biogenerator/proc/activate() - if (usr.stat != 0) + if (usr.stat) return - if (src.stat != 0) //NOPOWER etc + if (stat) //NOPOWER etc return - if(src.processing) - usr << "\red The biogenerator is in the process of working." + if(processing) + usr << "The biogenerator is in the process of working." return var/S = 0 for(var/obj/item/weapon/reagent_containers/food/snacks/grown/I in contents) S += 5 if(I.reagents.get_reagent_amount("nutriment") < 0.1) points += 1 - else points += I.reagents.get_reagent_amount("nutriment")*10 + else points += I.reagents.get_reagent_amount("nutriment") * 10 * eat_eff del(I) if(S) processing = 1 update_icon() updateUsrDialog() playsound(src.loc, 'sound/machines/blender.ogg', 50, 1) - use_power(S*30) - sleep(S+15) + use_power(S * 30) + sleep((S + 15) / eat_eff) processing = 0 update_icon() else menustat = "void" return -/obj/machinery/biogenerator/proc/create_product(var/item,var/cost) +/obj/machinery/biogenerator/proc/create_product(var/item, var/cost) + cost = round(cost/build_eff) if(cost > points) menustat = "nopoints" return 0 @@ -160,45 +175,45 @@ sleep(30) switch(item) if("milk") - beaker.reagents.add_reagent("milk",10) + beaker.reagents.add_reagent("milk", 10) if("meat") - new/obj/item/weapon/reagent_containers/food/snacks/meat(src.loc) + new/obj/item/weapon/reagent_containers/food/snacks/meat(loc) if("ez") - new/obj/item/weapon/reagent_containers/glass/fertilizer/ez(src.loc) + new/obj/item/weapon/reagent_containers/glass/fertilizer/ez(loc) if("l4z") - new/obj/item/weapon/reagent_containers/glass/fertilizer/l4z(src.loc) + new/obj/item/weapon/reagent_containers/glass/fertilizer/l4z(loc) if("rh") - new/obj/item/weapon/reagent_containers/glass/fertilizer/rh(src.loc) + new/obj/item/weapon/reagent_containers/glass/fertilizer/rh(loc) if("ez5") //It's not an elegant method, but it's safe and easy. -Cheridan - new/obj/item/weapon/reagent_containers/glass/fertilizer/ez(src.loc) - new/obj/item/weapon/reagent_containers/glass/fertilizer/ez(src.loc) - new/obj/item/weapon/reagent_containers/glass/fertilizer/ez(src.loc) - new/obj/item/weapon/reagent_containers/glass/fertilizer/ez(src.loc) - new/obj/item/weapon/reagent_containers/glass/fertilizer/ez(src.loc) + new/obj/item/weapon/reagent_containers/glass/fertilizer/ez(loc) + new/obj/item/weapon/reagent_containers/glass/fertilizer/ez(loc) + new/obj/item/weapon/reagent_containers/glass/fertilizer/ez(loc) + new/obj/item/weapon/reagent_containers/glass/fertilizer/ez(loc) + new/obj/item/weapon/reagent_containers/glass/fertilizer/ez(loc) if("l4z5") - new/obj/item/weapon/reagent_containers/glass/fertilizer/l4z(src.loc) - new/obj/item/weapon/reagent_containers/glass/fertilizer/l4z(src.loc) - new/obj/item/weapon/reagent_containers/glass/fertilizer/l4z(src.loc) - new/obj/item/weapon/reagent_containers/glass/fertilizer/l4z(src.loc) - new/obj/item/weapon/reagent_containers/glass/fertilizer/l4z(src.loc) + new/obj/item/weapon/reagent_containers/glass/fertilizer/l4z(loc) + new/obj/item/weapon/reagent_containers/glass/fertilizer/l4z(loc) + new/obj/item/weapon/reagent_containers/glass/fertilizer/l4z(loc) + new/obj/item/weapon/reagent_containers/glass/fertilizer/l4z(loc) + new/obj/item/weapon/reagent_containers/glass/fertilizer/l4z(loc) if("rh5") - new/obj/item/weapon/reagent_containers/glass/fertilizer/rh(src.loc) - new/obj/item/weapon/reagent_containers/glass/fertilizer/rh(src.loc) - new/obj/item/weapon/reagent_containers/glass/fertilizer/rh(src.loc) - new/obj/item/weapon/reagent_containers/glass/fertilizer/rh(src.loc) - new/obj/item/weapon/reagent_containers/glass/fertilizer/rh(src.loc) + new/obj/item/weapon/reagent_containers/glass/fertilizer/rh(loc) + new/obj/item/weapon/reagent_containers/glass/fertilizer/rh(loc) + new/obj/item/weapon/reagent_containers/glass/fertilizer/rh(loc) + new/obj/item/weapon/reagent_containers/glass/fertilizer/rh(loc) + new/obj/item/weapon/reagent_containers/glass/fertilizer/rh(loc) if("wallet") - new/obj/item/weapon/storage/wallet(src.loc) + new/obj/item/weapon/storage/wallet(loc) if("gloves") - new/obj/item/clothing/gloves/botanic_leather(src.loc) + new/obj/item/clothing/gloves/botanic_leather(loc) if("tbelt") - new/obj/item/weapon/storage/belt/utility(src.loc) + new/obj/item/weapon/storage/belt/utility(loc) if("satchel") - new/obj/item/weapon/storage/backpack/satchel(src.loc) + new/obj/item/weapon/storage/backpack/satchel(loc) if("cashbag") - new/obj/item/weapon/storage/bag/cash(src.loc) + new/obj/item/weapon/storage/bag/cash(loc) if("monkey") - new/mob/living/carbon/monkey(src.loc) + new/mob/living/carbon/monkey(loc) processing = 0 menustat = "complete" update_icon() @@ -220,7 +235,21 @@ beaker = null update_icon() if("create") - create_product(href_list["item"],text2num(href_list["cost"])) + create_product(href_list["item"], text2num(href_list["cost"])) if("menu") menustat = "menu" updateUsrDialog() + +/obj/machinery/biogenerator/RefreshParts() + ..() + var/man_rating = 0 + var/bin_rating = 0 + + for(var/obj/item/weapon/stock_parts/P in component_parts) + if(istype(P, /obj/item/weapon/stock_parts/matter_bin)) + bin_rating += P.rating + if(istype(P, /obj/item/weapon/stock_parts/manipulator)) + man_rating += P.rating + + build_eff = man_rating + eat_eff = bin_rating diff --git a/code/modules/research/circuitprinter.dm b/code/modules/research/circuitprinter.dm index e64504cf511..a16e5653a93 100644 --- a/code/modules/research/circuitprinter.dm +++ b/code/modules/research/circuitprinter.dm @@ -14,138 +14,136 @@ using metal and glass, it uses glass and reagents (usually sulfuric acis). var/diamond_amount = 0 var/uranium_amount = 0 var/max_material_amount = 75000.0 + var/mat_efficiency = 1 use_power = 1 idle_power_usage = 30 active_power_usage = 2500 - New() - ..() - component_parts = list() - component_parts += new /obj/item/weapon/circuitboard/circuit_imprinter(src) - component_parts += new /obj/item/weapon/stock_parts/matter_bin(src) - component_parts += new /obj/item/weapon/stock_parts/manipulator(src) - component_parts += new /obj/item/weapon/reagent_containers/glass/beaker(src) - component_parts += new /obj/item/weapon/reagent_containers/glass/beaker(src) - RefreshParts() - +/obj/machinery/r_n_d/circuit_imprinter/New() + ..() + component_parts = list() + component_parts += new /obj/item/weapon/circuitboard/circuit_imprinter(src) + component_parts += new /obj/item/weapon/stock_parts/matter_bin(src) + component_parts += new /obj/item/weapon/stock_parts/manipulator(src) + component_parts += new /obj/item/weapon/reagent_containers/glass/beaker(src) + component_parts += new /obj/item/weapon/reagent_containers/glass/beaker(src) RefreshParts() - var/T = 0 - for(var/obj/item/weapon/reagent_containers/glass/G in component_parts) - T += G.reagents.maximum_volume - var/datum/reagents/R = new/datum/reagents(T) //Holder for the reagents used as materials. - reagents = R - R.my_atom = src - T = 0 - for(var/obj/item/weapon/stock_parts/matter_bin/M in component_parts) - T += M.rating - max_material_amount = T * 75000.0 +/obj/machinery/r_n_d/circuit_imprinter/RefreshParts() + var/T = 0 + for(var/obj/item/weapon/reagent_containers/glass/G in component_parts) + T += G.reagents.maximum_volume + var/datum/reagents/R = new/datum/reagents(T) //Holder for the reagents used as materials. + reagents = R + R.my_atom = src + T = 0 + for(var/obj/item/weapon/stock_parts/matter_bin/M in component_parts) + T += M.rating + max_material_amount = T * 75000.0 + T = 0 + for(var/obj/item/weapon/stock_parts/manipulator/M in component_parts) + T += M.rating + mat_efficiency = 1 - (T - 1) / 4 - blob_act() - if (prob(50)) - del(src) +/obj/machinery/r_n_d/circuit_imprinter/update_icon() + if(panel_open) + icon_state = "circuit_imprinter_t" + else + icon_state = "circuit_imprinter" - meteorhit() +/obj/machinery/r_n_d/circuit_imprinter/blob_act() + if(prob(50)) del(src) + +/obj/machinery/r_n_d/circuit_imprinter/meteorhit() + del(src) + return + +/obj/machinery/r_n_d/circuit_imprinter/proc/TotalMaterials() + return g_amount + gold_amount + diamond_amount + uranium_amount + +/obj/machinery/r_n_d/circuit_imprinter/dismantle() + for(var/obj/I in component_parts) + if(istype(I, /obj/item/weapon/reagent_containers/glass/beaker)) + reagents.trans_to(I, reagents.total_volume) + if(g_amount >= 3750) + var/obj/item/stack/sheet/glass/G = new /obj/item/stack/sheet/glass(loc) + G.amount = round(g_amount / 3750) + if(gold_amount >= 2000) + var/obj/item/stack/sheet/mineral/gold/G = new /obj/item/stack/sheet/mineral/gold(loc) + G.amount = round(gold_amount / 2000) + if(diamond_amount >= 2000) + var/obj/item/stack/sheet/mineral/diamond/G = new /obj/item/stack/sheet/mineral/diamond(loc) + G.amount = round(diamond_amount / 2000) + if(uranium_amount >= 2000) + var/obj/item/stack/sheet/mineral/uranium/G = new /obj/item/stack/sheet/mineral/uranium(loc) + G.amount = round(uranium_amount / 2000) + ..() + +/obj/machinery/r_n_d/circuit_imprinter/attackby(var/obj/item/O as obj, var/mob/user as mob) + if(shocked) + shock(user, 50) + if(default_deconstruction_screwdriver(user, O)) + if(linked_console) + linked_console.linked_imprinter = null + linked_console = null return + if(default_deconstruction_crowbar(user, O)) + return + if(default_part_replacement(user, O)) + return + if(panel_open) + user << "You can't load \the [src] while it's opened." + return 1 + if(disabled) + user << "\The [src] appears to not be working!" + return + if(!linked_console) + user << "\The [src] must be linked to an R&D console first!" + return 1 + if(O.is_open_container()) + return 0 + if(!istype(O, /obj/item/stack/sheet/glass) && !istype(O, /obj/item/stack/sheet/mineral/gold) && !istype(O, /obj/item/stack/sheet/mineral/diamond) && !istype(O, /obj/item/stack/sheet/mineral/uranium)) + user << "You cannot insert this item into \the [src]!" + return 1 + if(stat) + return 1 + if(busy) + user << "\The [src] is busy. Please wait for completion of previous operation." + return 1 + var/obj/item/stack/sheet/stack = O + if((TotalMaterials() + stack.perunit) > max_material_amount) + user << "\The [src] is full. Please remove glass from \the [src] in order to insert more." + return 1 - proc/TotalMaterials() - return g_amount + gold_amount + diamond_amount + uranium_amount + var/amount = round(input("How many sheets do you want to add?") as num) + if(amount < 0) + amount = 0 + if(amount == 0) + return + if(amount > stack.amount) + amount = min(stack.amount, round((max_material_amount - TotalMaterials()) / stack.perunit)) - attackby(var/obj/item/O as obj, var/mob/user as mob) - if (shocked) - shock(user,50) - if (istype(O, /obj/item/weapon/screwdriver)) - if (!opened) - opened = 1 - if(linked_console) - linked_console.linked_imprinter = null - linked_console = null - icon_state = "circuit_imprinter_t" - user << "You open the maintenance hatch of [src]." - else - opened = 0 - icon_state = "circuit_imprinter" - user << "You close the maintenance hatch of [src]." - return - if (opened) - if(istype(O, /obj/item/weapon/crowbar)) - playsound(src.loc, 'sound/items/Crowbar.ogg', 50, 1) - var/obj/machinery/constructable_frame/machine_frame/M = new /obj/machinery/constructable_frame/machine_frame(src.loc) - M.state = 2 - M.icon_state = "box_1" - 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) - if(gold_amount >= 2000) - var/obj/item/stack/sheet/mineral/gold/G = new /obj/item/stack/sheet/mineral/gold(src.loc) - G.amount = round(gold_amount / 2000) - if(diamond_amount >= 2000) - var/obj/item/stack/sheet/mineral/diamond/G = new /obj/item/stack/sheet/mineral/diamond(src.loc) - G.amount = round(diamond_amount / 2000) - if(uranium_amount >= 2000) - var/obj/item/stack/sheet/mineral/uranium/G = new /obj/item/stack/sheet/mineral/uranium(src.loc) - G.amount = round(uranium_amount / 2000) - del(src) - return 1 - else - user << "\red You can't load the [src.name] while it's opened." - return 1 - if (disabled) - user << "\The [name] appears to not be working!" - return - if (!linked_console) - user << "\The [name] must be linked to an R&D console first!" - return 1 - if (O.is_open_container()) - return 0 - if (!istype(O, /obj/item/stack/sheet/glass) && !istype(O, /obj/item/stack/sheet/mineral/gold) && !istype(O, /obj/item/stack/sheet/mineral/diamond) && !istype(O, /obj/item/stack/sheet/mineral/uranium)) - user << "\red You cannot insert this item into the [name]!" - return 1 - if (stat) - return 1 - if (busy) - user << "\red The [name] is busy. Please wait for completion of previous operation." - return 1 - var/obj/item/stack/sheet/stack = O - if ((TotalMaterials() + stack.perunit) > max_material_amount) - user << "\red The [name] is full. Please remove glass from the protolathe in order to insert more." - return 1 - - var/amount = round(input("How many sheets do you want to add?") as num) - if(amount < 0) - amount = 0 - if(amount == 0) - return - if(amount > stack.amount) - amount = min(stack.amount, round((max_material_amount-TotalMaterials())/stack.perunit)) - - busy = 1 - use_power(max(1000, (3750*amount/10))) - var/stacktype = stack.type - stack.use(amount) - if(do_after(usr,16)) - user << "\blue You add [amount] sheets to the [src.name]." - switch(stacktype) - if(/obj/item/stack/sheet/glass) - g_amount += amount * 3750 - if(/obj/item/stack/sheet/mineral/gold) - gold_amount += amount * 2000 - if(/obj/item/stack/sheet/mineral/diamond) - diamond_amount += amount * 2000 - if(/obj/item/stack/sheet/mineral/uranium) - uranium_amount += amount * 2000 - else - new stacktype(src.loc, amount) - busy = 0 - src.updateUsrDialog() + busy = 1 + use_power(max(1000, (3750 * amount / 10))) + var/stacktype = stack.type + stack.use(amount) + if(do_after(usr, 16)) + user << "You add [amount] sheets to \the [src]." + switch(stacktype) + if(/obj/item/stack/sheet/glass) + g_amount += amount * 3750 + if(/obj/item/stack/sheet/mineral/gold) + gold_amount += amount * 2000 + if(/obj/item/stack/sheet/mineral/diamond) + diamond_amount += amount * 2000 + if(/obj/item/stack/sheet/mineral/uranium) + uranium_amount += amount * 2000 + else + new stacktype(loc, amount) + busy = 0 + updateUsrDialog() //This is to stop these machines being hackable via clicking. /obj/machinery/r_n_d/circuit_imprinter/attack_hand(mob/user as mob) diff --git a/code/modules/research/designs.dm b/code/modules/research/designs.dm index 40de21081db..e04618cf208 100644 --- a/code/modules/research/designs.dm +++ b/code/modules/research/designs.dm @@ -760,6 +760,14 @@ datum/design/item/stock_part/AssembleDesignDesc() if(!desc) desc = "A stock part used in the construction of various devices." +/datum/design/item/stock_part/RPED + name = "Rapid Part Exchange Device" + desc = "Special mechanical module made to store, sort, and apply standard machine parts." + id = "rped" + req_tech = list("engineering" = 3, "materials" = 3) + materials = list("$metal" = 15000, "$glass" = 5000) + build_path = /obj/item/weapon/storage/part_replacer + datum/design/item/stock_part/basic_capacitor build_type = PROTOLATHE | AUTOLATHE id = "basic_capacitor" @@ -971,6 +979,18 @@ datum/design/circuit/secure_airlock req_tech = list("programming" = 3) build_path = /obj/item/weapon/airlock_electronics/secure +datum/design/circuit/biogenerator + name = "biogenerator" + id = "biogenerator" + req_tech = list("programming" = 2) + build_path = /obj/item/weapon/circuitboard/biogenerator + +datum/design/circuit/recharge_station + name = "cyborg recharge station" + id = "recharge_station" + req_tech = list("programming" = 3, "engineering" = 2) + build_path = /obj/item/weapon/circuitboard/recharge_station + ///////////////////////////////////////// ////////Power Stuff Circuitboards//////// ///////////////////////////////////////// diff --git a/code/modules/research/destructive_analyzer.dm b/code/modules/research/destructive_analyzer.dm index aef24dd8bea..7b7445f0993 100644 --- a/code/modules/research/destructive_analyzer.dm +++ b/code/modules/research/destructive_analyzer.dm @@ -12,6 +12,7 @@ Note: Must be placed within 3 tiles of the R&D Console icon_state = "d_analyzer" var/obj/item/weapon/loaded_item = null var/decon_mod = 1 + var/min_reliability = 90 use_power = 1 idle_power_usage = 30 @@ -29,9 +30,9 @@ Note: Must be placed within 3 tiles of the R&D Console /obj/machinery/r_n_d/destructive_analyzer/RefreshParts() var/T = 0 for(var/obj/item/weapon/stock_parts/S in src) - T += S.rating * 0.1 - T = between (0, T, 1) - decon_mod = T + T += S.rating + decon_mod = T * 0.1 + min_reliability = 93 - T /obj/machinery/r_n_d/destructive_analyzer/meteorhit() del(src) @@ -43,65 +44,58 @@ Note: Must be placed within 3 tiles of the R&D Console temp_list[O] = text2num(temp_list[O]) return temp_list +/obj/machinery/r_n_d/destructive_analyzer/update_icon() + if(panel_open) + icon_state = "d_analyzer_t" + else if(loaded_item) + icon_state = "d_analyzer_l" + else + icon_state = "d_analyzer" /obj/machinery/r_n_d/destructive_analyzer/attackby(var/obj/O as obj, var/mob/user as mob) - if (shocked) - shock(user,50) - if (istype(O, /obj/item/weapon/screwdriver)) - if (!opened) - opened = 1 - if(linked_console) - linked_console.linked_destroy = null - linked_console = null - icon_state = "d_analyzer_t" - user << "You open the maintenance hatch of [src]." - else - opened = 0 - icon_state = "d_analyzer" - user << "You close the maintenance hatch of [src]." + if(shocked) + shock(user, 50) + if(default_deconstruction_screwdriver(user, O)) + if(linked_console) + linked_console.linked_destroy = null + linked_console = null return - if (opened) - if(istype(O, /obj/item/weapon/crowbar)) - playsound(src.loc, 'sound/items/Crowbar.ogg', 50, 1) - var/obj/machinery/constructable_frame/machine_frame/M = new /obj/machinery/constructable_frame/machine_frame(src.loc) - M.state = 2 - M.icon_state = "box_1" - for(var/obj/I in component_parts) - I.loc = src.loc - del(src) - return 1 - else - user << "\red You can't load the [src.name] while it's opened." - return 1 - if (disabled) + if(default_deconstruction_crowbar(user, O)) return - if (!linked_console) - user << "\red The destructive analyzer must be linked to an R&D console first!" + if(default_part_replacement(user, O)) return - if (busy) - user << "\red The destructive analyzer is busy right now." + if(panel_open) + user << "You can't load \the [src] while it's opened." + return 1 + if(disabled) return - if (istype(O, /obj/item) && !loaded_item) + if(!linked_console) + user << "\The [src] must be linked to an R&D console first!" + return + if(busy) + user << "\The [src] is busy right now." + return + if(istype(O, /obj/item) && !loaded_item) if(isrobot(user)) //Don't put your module items in there! return if(!O.origin_tech) - user << "\red This doesn't seem to have a tech origin!" + user << "This doesn't seem to have a tech origin!" return var/list/temp_tech = ConvertReqString2List(O.origin_tech) - if (temp_tech.len == 0) - user << "\red You cannot deconstruct this item!" + if(temp_tech.len == 0) + user << "You cannot deconstruct this item!" return - if(O.reliability < 90 && O.crit_fail == 0) - usr << "\red Item is neither reliable enough nor broken enough to learn from." + if(O.reliability < min_reliability && O.crit_fail == 0) + usr << "Item is neither reliable enough nor broken enough to learn from." return busy = 1 loaded_item = O user.drop_item() O.loc = src - user << "\blue You add the [O.name] to the machine!" + user << "You add \the [O] to \the [src]!" flick("d_analyzer_la", src) spawn(10) - icon_state = "d_analyzer_l" + update_icon() busy = 0 return 1 return diff --git a/code/modules/research/protolathe.dm b/code/modules/research/protolathe.dm index f23176de963..22df4b82ddd 100644 --- a/code/modules/research/protolathe.dm +++ b/code/modules/research/protolathe.dm @@ -25,6 +25,8 @@ Note: Must be placed west/left of and R&D console to function. var/uranium_amount = 0.0 var/diamond_amount = 0.0 + var/mat_efficiency = 1 + /obj/machinery/r_n_d/protolathe/New() ..() component_parts = list() @@ -51,80 +53,78 @@ Note: Must be placed west/left of and R&D console to function. for(var/obj/item/weapon/stock_parts/matter_bin/M in component_parts) T += M.rating max_material_storage = T * 75000 + T = 0 + for(var/obj/item/weapon/stock_parts/manipulator/M in component_parts) + T += M.rating + mat_efficiency = 1 - (T - 2) / 8 + +/obj/machinery/r_n_d/protolathe/dismantle() + for(var/obj/I in component_parts) + if(istype(I, /obj/item/weapon/reagent_containers/glass/beaker)) + reagents.trans_to(I, reagents.total_volume) + if(m_amount >= 3750) + var/obj/item/stack/sheet/metal/G = new /obj/item/stack/sheet/metal(loc) + G.amount = round(m_amount / G.perunit) + if(g_amount >= 3750) + var/obj/item/stack/sheet/glass/G = new /obj/item/stack/sheet/glass(loc) + G.amount = round(g_amount / G.perunit) + if(phoron_amount >= 2000) + var/obj/item/stack/sheet/mineral/phoron/G = new /obj/item/stack/sheet/mineral/phoron(loc) + G.amount = round(phoron_amount / G.perunit) + if(silver_amount >= 2000) + var/obj/item/stack/sheet/mineral/silver/G = new /obj/item/stack/sheet/mineral/silver(loc) + G.amount = round(silver_amount / G.perunit) + if(gold_amount >= 2000) + var/obj/item/stack/sheet/mineral/gold/G = new /obj/item/stack/sheet/mineral/gold(loc) + G.amount = round(gold_amount / G.perunit) + if(uranium_amount >= 2000) + var/obj/item/stack/sheet/mineral/uranium/G = new /obj/item/stack/sheet/mineral/uranium(loc) + G.amount = round(uranium_amount / G.perunit) + if(diamond_amount >= 2000) + var/obj/item/stack/sheet/mineral/diamond/G = new /obj/item/stack/sheet/mineral/diamond(loc) + G.amount = round(diamond_amount / G.perunit) + ..() + +/obj/machinery/r_n_d/protolathe/update_icon() + if(panel_open) + icon_state = "protolathe_t" + else + icon_state = "protolathe" /obj/machinery/r_n_d/protolathe/attackby(var/obj/item/O as obj, var/mob/user as mob) - if (shocked) - shock(user,50) - if (O.is_open_container()) - return 1 - if (istype(O, /obj/item/weapon/screwdriver)) - if (!opened) - opened = 1 - if(linked_console) - linked_console.linked_lathe = null - linked_console = null - icon_state = "protolathe_t" - user << "You open the maintenance hatch of [src]." - else - opened = 0 - icon_state = "protolathe" - user << "You close the maintenance hatch of [src]." + if(shocked) + shock(user, 50) + if(default_deconstruction_screwdriver(user, O)) + if(linked_console) + linked_console.linked_lathe = null + linked_console = null return - if (opened) - if(istype(O, /obj/item/weapon/crowbar)) - playsound(src.loc, 'sound/items/Crowbar.ogg', 50, 1) - var/obj/machinery/constructable_frame/machine_frame/M = new /obj/machinery/constructable_frame/machine_frame(src.loc) - M.state = 2 - M.icon_state = "box_1" - 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(m_amount >= 3750) - var/obj/item/stack/sheet/metal/G = new /obj/item/stack/sheet/metal(src.loc) - G.amount = round(m_amount / G.perunit) - if(g_amount >= 3750) - var/obj/item/stack/sheet/glass/G = new /obj/item/stack/sheet/glass(src.loc) - G.amount = round(g_amount / G.perunit) - if(phoron_amount >= 2000) - var/obj/item/stack/sheet/mineral/phoron/G = new /obj/item/stack/sheet/mineral/phoron(src.loc) - G.amount = round(phoron_amount / G.perunit) - if(silver_amount >= 2000) - var/obj/item/stack/sheet/mineral/silver/G = new /obj/item/stack/sheet/mineral/silver(src.loc) - G.amount = round(silver_amount / G.perunit) - if(gold_amount >= 2000) - var/obj/item/stack/sheet/mineral/gold/G = new /obj/item/stack/sheet/mineral/gold(src.loc) - G.amount = round(gold_amount / G.perunit) - if(uranium_amount >= 2000) - var/obj/item/stack/sheet/mineral/uranium/G = new /obj/item/stack/sheet/mineral/uranium(src.loc) - G.amount = round(uranium_amount / G.perunit) - if(diamond_amount >= 2000) - var/obj/item/stack/sheet/mineral/diamond/G = new /obj/item/stack/sheet/mineral/diamond(src.loc) - G.amount = round(diamond_amount / G.perunit) - del(src) - return 1 - else - user << "\red You can't load the [src.name] while it's opened." - return 1 - if (disabled) + if(default_deconstruction_crowbar(user, O)) return - if (!linked_console) - user << "\The protolathe must be linked to an R&D console first!" + if(default_part_replacement(user, O)) + return + if(O.is_open_container()) return 1 - if (busy) - user << "\red The protolathe is busy. Please wait for completion of previous operation." + if(panel_open) + user << "You can't load \the [src] while it's opened." return 1 - if (!istype(O, /obj/item/stack/sheet)) - user << "\red You cannot insert this item into the protolathe!" + if(disabled) + return + if(!linked_console) + user << "\The [src] must be linked to an R&D console first!" return 1 - if (stat) + if(busy) + user << "\The [src] is busy. Please wait for completion of previous operation." + return 1 + if(!istype(O, /obj/item/stack/sheet)) + user << "You cannot insert this item into \the [src]!" + return 1 + if(stat) return 1 if(istype(O,/obj/item/stack/sheet)) var/obj/item/stack/sheet/S = O - if (TotalMaterials() + S.perunit > max_material_storage) - user << "\red The protolathe's material bin is full. Please remove material before adding more." + if(TotalMaterials() + S.perunit > max_material_storage) + user << "\The [src]'s material bin is full. Please remove material before adding more." return 1 var/obj/item/stack/sheet/stack = O @@ -137,20 +137,20 @@ Note: Must be placed west/left of and R&D console to function. return if(amount > stack.get_amount()) amount = stack.get_amount() - if(max_material_storage - TotalMaterials() < (amount*stack.perunit))//Can't overfill - amount = min(stack.amount, round((max_material_storage-TotalMaterials())/stack.perunit)) + if(max_material_storage - TotalMaterials() < (amount * stack.perunit))//Can't overfill + amount = min(stack.amount, round((max_material_storage - TotalMaterials()) / stack.perunit)) - src.overlays += "protolathe_[stack.name]" + overlays += "protolathe_[stack.name]" sleep(10) - src.overlays -= "protolathe_[stack.name]" + overlays -= "protolathe_[stack.name]" icon_state = "protolathe" busy = 1 - use_power(max(1000, (3750*amount/10))) + use_power(max(1000, (3750 * amount / 10))) var/stacktype = stack.type stack.use(amount) - if (do_after(user, 16)) - user << "\blue You add [amount] sheets to the [src.name]." + if(do_after(user, 16)) + user << "You add [amount] sheets to \the [src]." icon_state = "protolathe" switch(stacktype) if(/obj/item/stack/sheet/metal) @@ -168,9 +168,9 @@ Note: Must be placed west/left of and R&D console to function. if(/obj/item/stack/sheet/mineral/diamond) diamond_amount += amount * 2000 else - new stacktype(src.loc, amount) + new stacktype(loc, amount) busy = 0 - src.updateUsrDialog() + updateUsrDialog() return //This is to stop these machines being hackable via clicking. diff --git a/code/modules/research/rdconsole.dm b/code/modules/research/rdconsole.dm index 8d390fa7856..16c14863aa6 100644 --- a/code/modules/research/rdconsole.dm +++ b/code/modules/research/rdconsole.dm @@ -93,7 +93,7 @@ won't update every console in existence) but it's more of a hassle to do. Also, /obj/machinery/computer/rdconsole/proc/SyncRDevices() //Makes sure it is properly sync'ed up with the devices attached to it (if any). for(var/obj/machinery/r_n_d/D in oview(3,src)) - if(D.linked_console != null || D.disabled || D.opened) + if(D.linked_console != null || D.disabled || D.panel_open) continue if(istype(D, /obj/machinery/r_n_d/destructive_analyzer)) if(linked_destroy == null) @@ -255,7 +255,7 @@ won't update every console in existence) but it's more of a hassle to do. Also, usr <<"\red The destructive analyzer appears to be empty." screen = 1.0 return - if(linked_destroy.loaded_item.reliability >= 90) + if(linked_destroy.loaded_item.reliability >= linked_destroy.min_reliability) var/list/temp_tech = linked_destroy.ConvertReqString2List(linked_destroy.loaded_item.origin_tech) for(var/T in temp_tech) files.UpdateTech(T, temp_tech[T]) @@ -347,21 +347,21 @@ won't update every console in existence) but it's more of a hassle to do. Also, for(var/M in being_built.materials) switch(M) if("$metal") - linked_lathe.m_amount = max(0, (linked_lathe.m_amount-being_built.materials[M])) + linked_lathe.m_amount = max(0, (linked_lathe.m_amount-being_built.materials[M]*linked_lathe.mat_efficiency)) if("$glass") - linked_lathe.g_amount = max(0, (linked_lathe.g_amount-being_built.materials[M])) + linked_lathe.g_amount = max(0, (linked_lathe.g_amount-being_built.materials[M]*linked_lathe.mat_efficiency)) if("$gold") - linked_lathe.gold_amount = max(0, (linked_lathe.gold_amount-being_built.materials[M])) + linked_lathe.gold_amount = max(0, (linked_lathe.gold_amount-being_built.materials[M]*linked_lathe.mat_efficiency)) if("$silver") - linked_lathe.silver_amount = max(0, (linked_lathe.silver_amount-being_built.materials[M])) + linked_lathe.silver_amount = max(0, (linked_lathe.silver_amount-being_built.materials[M]*linked_lathe.mat_efficiency)) if("$phoron") - linked_lathe.phoron_amount = max(0, (linked_lathe.phoron_amount-being_built.materials[M])) + linked_lathe.phoron_amount = max(0, (linked_lathe.phoron_amount-being_built.materials[M]*linked_lathe.mat_efficiency)) if("$uranium") - linked_lathe.uranium_amount = max(0, (linked_lathe.uranium_amount-being_built.materials[M])) + linked_lathe.uranium_amount = max(0, (linked_lathe.uranium_amount-being_built.materials[M]*linked_lathe.mat_efficiency)) if("$diamond") - linked_lathe.diamond_amount = max(0, (linked_lathe.diamond_amount-being_built.materials[M])) + linked_lathe.diamond_amount = max(0, (linked_lathe.diamond_amount-being_built.materials[M]*linked_lathe.mat_efficiency)) else - linked_lathe.reagents.remove_reagent(M, being_built.materials[M]) + linked_lathe.reagents.remove_reagent(M, being_built.materials[M]*linked_lathe.mat_efficiency) if(being_built.build_path) var/obj/new_item = new being_built.build_path(src) @@ -375,6 +375,10 @@ won't update every console in existence) but it's more of a hassle to do. Also, L.name += " ([new_item.name])"*/ else new_item.loc = linked_lathe.loc + if(linked_lathe.mat_efficiency != 1) // No matter out of nowhere + if(new_item.matter && new_item.matter.len > 0) + for(var/i in new_item.matter) + new_item.matter[i] = new_item.matter[i] * linked_lathe.mat_efficiency linked_lathe.busy = 0 screen = 3.1 errored = 0 @@ -401,15 +405,15 @@ won't update every console in existence) but it's more of a hassle to do. Also, for(var/M in being_built.materials) switch(M) if("$glass") - linked_imprinter.g_amount = max(0, (linked_imprinter.g_amount-being_built.materials[M])) + linked_imprinter.g_amount = max(0, (linked_imprinter.g_amount-being_built.materials[M]*linked_imprinter.mat_efficiency)) if("$gold") - linked_imprinter.gold_amount = max(0, (linked_imprinter.gold_amount-being_built.materials[M])) + linked_imprinter.gold_amount = max(0, (linked_imprinter.gold_amount-being_built.materials[M]*linked_imprinter.mat_efficiency)) if("$diamond") - linked_imprinter.diamond_amount = max(0, (linked_imprinter.diamond_amount-being_built.materials[M])) + linked_imprinter.diamond_amount = max(0, (linked_imprinter.diamond_amount-being_built.materials[M]*linked_imprinter.mat_efficiency)) if("$uranium") - linked_imprinter.uranium_amount = max(0, (linked_imprinter.uranium_amount-being_built.materials[M])) + linked_imprinter.uranium_amount = max(0, (linked_imprinter.uranium_amount-being_built.materials[M]*linked_imprinter.mat_efficiency)) else - linked_imprinter.reagents.remove_reagent(M, being_built.materials[M]) + linked_imprinter.reagents.remove_reagent(M, being_built.materials[M]*linked_imprinter.mat_efficiency) var/obj/new_item = new being_built.build_path(src) new_item.reliability = being_built.reliability if(linked_imprinter.hacked) being_built.reliability = max((reliability / 2), 0) @@ -752,6 +756,10 @@ won't update every console in existence) but it's more of a hassle to do. Also, var/list/temp_tech = linked_destroy.ConvertReqString2List(linked_destroy.loaded_item.origin_tech) for(var/T in temp_tech) dat += "
  • [CallTechName(T)] [temp_tech[T]]" + for(var/datum/tech/F in files.known_tech) + if(F.name == CallTechName(T)) + dat += " (Current: [F.level])" + break dat += "" dat += "
    Deconstruct Item || " dat += "Eject Item || " @@ -775,31 +783,33 @@ won't update every console in existence) but it's more of a hassle to do. Also, var/temp_dat var/check_materials = 1 for(var/M in D.materials) - temp_dat += ", [D.materials[M]] [CallMaterialName(M)]" + temp_dat += ", [D.materials[M]*linked_lathe.mat_efficiency] [CallMaterialName(M)]" if(copytext(M, 1, 2) == "$") switch(M) if("$glass") - if(D.materials[M] > linked_lathe.g_amount) check_materials = 0 + if(D.materials[M]*linked_lathe.mat_efficiency > linked_lathe.g_amount) check_materials = 0 if("$metal") - if(D.materials[M] > linked_lathe.m_amount) check_materials = 0 + if(D.materials[M]*linked_lathe.mat_efficiency > linked_lathe.m_amount) check_materials = 0 if("$gold") - if(D.materials[M] > linked_lathe.gold_amount) check_materials = 0 + if(D.materials[M]*linked_lathe.mat_efficiency > linked_lathe.gold_amount) check_materials = 0 if("$silver") - if(D.materials[M] > linked_lathe.silver_amount) check_materials = 0 + if(D.materials[M]*linked_lathe.mat_efficiency > linked_lathe.silver_amount) check_materials = 0 if("$phoron") - if(D.materials[M] > linked_lathe.phoron_amount) check_materials = 0 + if(D.materials[M]*linked_lathe.mat_efficiency > linked_lathe.phoron_amount) check_materials = 0 if("$uranium") - if(D.materials[M] > linked_lathe.uranium_amount) check_materials = 0 + if(D.materials[M]*linked_lathe.mat_efficiency > linked_lathe.uranium_amount) check_materials = 0 if("$diamond") - if(D.materials[M] > linked_lathe.diamond_amount) check_materials = 0 - else if (!linked_lathe.reagents.has_reagent(M, D.materials[M])) + if(D.materials[M]*linked_lathe.mat_efficiency > linked_lathe.diamond_amount) check_materials = 0 + else if (!linked_lathe.reagents.has_reagent(M, D.materials[M]*linked_lathe.mat_efficiency)) check_materials = 0 if(temp_dat) temp_dat = " \[[copytext(temp_dat,3)]\]" - if (check_materials) + if(check_materials) dat += "
  • [D.name][temp_dat]" else dat += "
  • [D.name][temp_dat]" + if(D.reliability < 100) + dat += " (Reliability: [D.reliability])" dat += "" if(3.2) //Protolathe Material Storage Sub-menu @@ -869,18 +879,18 @@ won't update every console in existence) but it's more of a hassle to do. Also, var/temp_dat var/check_materials = 1 for(var/M in D.materials) - temp_dat += ", [D.materials[M]] [CallMaterialName(M)]" + temp_dat += ", [D.materials[M]*linked_imprinter.mat_efficiency] [CallMaterialName(M)]" if(copytext(M, 1, 2) == "$") switch(M) if("$glass") - if(D.materials[M] > linked_imprinter.g_amount) check_materials = 0 + if(D.materials[M]*linked_imprinter.mat_efficiency > linked_imprinter.g_amount) check_materials = 0 if("$gold") - if(D.materials[M] > linked_imprinter.gold_amount) check_materials = 0 + if(D.materials[M]*linked_imprinter.mat_efficiency > linked_imprinter.gold_amount) check_materials = 0 if("$diamond") - if(D.materials[M] > linked_imprinter.diamond_amount) check_materials = 0 + if(D.materials[M]*linked_imprinter.mat_efficiency > linked_imprinter.diamond_amount) check_materials = 0 if("$uranium") - if(D.materials[M] > linked_imprinter.uranium_amount) check_materials = 0 - else if (!linked_imprinter.reagents.has_reagent(M, D.materials[M])) + if(D.materials[M]*linked_imprinter.mat_efficiency > linked_imprinter.uranium_amount) check_materials = 0 + else if (!linked_imprinter.reagents.has_reagent(M, D.materials[M]*linked_imprinter.mat_efficiency)) check_materials = 0 if(temp_dat) temp_dat = " \[[copytext(temp_dat,3)]\]" @@ -888,6 +898,8 @@ won't update every console in existence) but it's more of a hassle to do. Also, dat += "
  • [D.name][temp_dat]" else dat += "
  • [D.name][temp_dat]" + if(D.reliability < 100) + dat += " (Reliability: [D.reliability])" dat += "" if(4.2) diff --git a/code/modules/research/rdmachines.dm b/code/modules/research/rdmachines.dm index 04f1536c254..4f0b81e5315 100644 --- a/code/modules/research/rdmachines.dm +++ b/code/modules/research/rdmachines.dm @@ -17,7 +17,6 @@ var/hack_wire var/disable_wire var/shock_wire - var/opened = 0 var/obj/machinery/computer/rdconsole/linked_console /obj/machinery/r_n_d/New() @@ -39,7 +38,7 @@ /obj/machinery/r_n_d/attack_hand(mob/user as mob) if (shocked) shock(user,50) - if(opened) + if(panel_open) var/dat as text dat += "[src.name] Wires:
    " for(var/wire in src.wires) diff --git a/code/modules/research/server.dm b/code/modules/research/server.dm index 99b4719e28f..5688f6b6d7c 100644 --- a/code/modules/research/server.dm +++ b/code/modules/research/server.dm @@ -103,7 +103,7 @@ /obj/machinery/r_n_d/server/proc/produce_heat() if (!produces_heat) return - + if (!use_power) return @@ -118,7 +118,7 @@ if(removed) var/heat_produced = idle_power_usage //obviously can't produce more heat than the machine draws from it's power source - + removed.add_thermal_energy(heat_produced) env.merge(removed) @@ -129,16 +129,16 @@ if (shocked) shock(user,50) if (istype(O, /obj/item/weapon/screwdriver)) - if (!opened) - opened = 1 + if (!panel_open) + panel_open = 1 icon_state = "server_o" user << "You open the maintenance hatch of [src]." else - opened = 0 + panel_open = 0 icon_state = "server" user << "You close the maintenance hatch of [src]." return - if (opened) + if (panel_open) if(istype(O, /obj/item/weapon/crowbar)) griefProtection() playsound(src.loc, 'sound/items/Crowbar.ogg', 50, 1) diff --git a/icons/mob/items_lefthand.dmi b/icons/mob/items_lefthand.dmi index b70af9c656ed1822dd3b2805ae7a83a11c5f35d6..1239c1c1b582a007db9276488ccdf052f8c4f061 100644 GIT binary patch literal 156042 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 z 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

    caU+23}DxTCUJ0Srfh}w~ibC(ho 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 MCt)Yv+Fy?Q4@PY8Pyhe` diff --git a/icons/mob/items_righthand.dmi b/icons/mob/items_righthand.dmi index c6183f6ff58b5841740c59b82afd2ba7a1fa8723..c7521751add3d97467fa323d1f146c822d701ec3 100644 GIT binary patch literal 157853 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 Ig5%x)04801$N&HU literal 148825 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%0A=k7pcqA0&|Y&0v%gpX$=fl* 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 diff --git a/icons/obj/storage.dmi b/icons/obj/storage.dmi index 989c1001b3c5fad1dc4a0780682a00b1d4a16ece..377d12b4ff09399e07bd8ee2cf44cdcb51956eb9 100644 GIT binary patch delta 20079 zcmZU4by!qi)Gi33NP~cYNK1E0ib!{NDc#+05Rh&OY3c5+p}V_Vx?!jRX72d=zI*?< z`+3eYXZGH6X6>_Mt@W;V#f>4Q&LG8714>?MS}tEroxeL-I=EQc+aVx$q-Ugz*{$+m z4@|5VV#j}9qdZ;|Wd*(Ec|#UYaEkPr%86PbnNmG|S%3G?`@)Kuc75FN2dnkwz}A3I z%(`ZW5EKf|_qu~LQgI*asyJG9=xf=SmE$Mwq8c*B@oU*&;d~Yf!fLfBl zlXcsQvOK*t&6P3rw4(j}4OSz;BRO0<3{ws1YJ{thh2oFP#n~*SM*H;U^Ub1dl4r{@ z!$1AKzoO>vD`AJB%jPTP_2wcc=rMZk+0V1w7qLj0Y|SufJyWA;iS)4*bnRe$xH%<( z4olzV3DTfuoKck*o)Evukl}wb4@BCQ24ucDF33Qmz4XVs3#9F=dgL=>2}4^ zz4+)cS-&Ou{03tt`WMu0`qOi!0l(((;=zj7q2A%{>s7a^JjTee-(dZ$YAo`Fwy`yv z3MTK=l1D3V_xAQjH|-Ax@mQ-YNe1?njSCy6mbmzPnJ&K!FFgO$wHoPUfq<2(?S>Y7 zCZlKnkIGZ(-*EAxk&cbq%o&3PKf0lcP2*{2Q#!sx9U8OYF9^!;g4gU|e7x_?rp-)j z3;t>1EknwS3+Chd#rEzMCNm2!=KENe%P)qnU)fK#*pE_Udni)B#T%b^6hYiNi}J6M zY7To~#70$kp9e;o!A3GuLIVimg_?dVEupz(R9ECsEXu6U2~2TX6%br}v5L!+IK|52 zvI4lWxu+3mW?4SI_!ckC#l?P9pD#U%WYqbJ)_ry&Y6Lp163tviy$i+ToWx zPA!!1ZH*G|(%Xf+0DHpEt?$UN5RX9KsJQ%MEoKvcQ%hd(iN|dNjZD zu<}Q+UmD4r2`c_8_xM|zw?MNSb~g0rDtk7+)p+dCp5^=Vcejp< z!ws%SSzzSP85*1RYa12xYC@zsUo-GacQ)$Z?$b%Z{OwKxKfEIOe|Vh;#NK_D@aRVn z$n0u~@W0MFWb%udwc@nrdyD7oTZA9uYGX};m~{8;(>rqPjLyX;AW#kezR(}Zd&E*c z^fBef2WKuMvK(W+JG|x5W2MdcB zd17bq_qcaQ@fI(HSB*V~#nJiDwL2%hW7m4J!qI;t($sOQ6f_Ne*>Ys1|MrRh14RW= zgw;+{$Y+Iop6YXYt8IFH9i{FPy*ZB?8Y6_Xvvq>zXl!A4)AYdECu z9@O&06ph{+r=`L3K`iV?a;op&vNE}`;J&NSSKsnZ1dnrRWhE1= z0^?SHhvk{h6jBj9m3%N?o;Kz9>!ZBI^w%d17wD7coQt6Rsf?C@qa^Iy+#cQ2beMWy zqx;3h74F65k8{A!W-RO%#nbND%>AS0)zPq>$zCwdreRbU`DDXioauS7UfY}XX-s)i z{GYpALOTA47OE{;9 zjymYpTkYQNnPY3VFSoi^YPZzkYKUcXy?5t^=};ARl34+1?fHB5#bg?h0du~X&7RFX z-AUklaLd&~J0UmaRmbVrPN}r~yV-uw6RiB%lI`7M2O#nwrWd~ews-Ii8y%H`V2#;@ z)Y{>oxy)!2OK`2qh)Qby!J>8^A{Rbpg{*`7gCwxJh9A9a1xW=RORd?;B;Z`mm7WS}DQc^-9c0*~xiCwnZDlWzCbJ9^U z-Q`ENVKjZuD2ujiKZpA80`DufuM$mV*28(yzk=-6T84sOed`DXM`)?3eQmT``^{w; zUu6c25jV;S#V7qylW3i;m3oVhU+sQw!0&!`qJgJz+a)t__Vv??<>}g{TB21Kk$+6EbkM7|Ypw!tQ6#<4#BSQ~69wu!wp_trfAQc)_Uio)0jtb%H*RPZC znc?8%L>$>GGZt|pa!9`1y;m$L-Ncl`f6NCoCUoC?&Rqr&@ zd4mIgzC%a3vbPOZDxqZ?j<~Wx5;fl5EGzKt4P7w8E@FSJ*XE&|_>(U|s>3E8m2r$$ zP*Be<)sc6YPV3<(!dEdCh7w@PNwb&^%xU$4U~KSNeliK7!}#V|PJ*KJ?mgjn_=q0R zV5gZ}aDvv5$C~kLJ*IYoYHY`aI-bY}SlcfURZ>TSJ@+;bYtD33-!L*V(lapR6ctH* zuuxZ5H=W&Q^sP|Kt?58?v`SDrpF^24nPGdRO{vs@i!C#JOlg_T1BrsKpWmvU3HZm8 zi4n&tnwksHvgz8}_8x-seJ1PqGGNMftwp`9!$4748AmeueYV1cwF&|PIfC?8QMIC? z(4*zVZw+>9;Q~2^s&W__sqxg$NOW{`RW8LVd|v&}d)`|%MRA8I(E)C>GD1T}&TpS5 zJnqu(@u%wlkVb(@`0O~+%JP31)#O(Zx;MsaXpjhc9@PN*{n9jl>@qs%TJAt zI}$n#HkK~s^Gvp6EeQz;5NE`Wr>h8r!Hmlr3SX+DmBvchVDQQ8tDve$Y?eEWLZ%L6 z{VG-*5u$T9M^lFcLHy#wOu?2p%+5Df-gvnZ!bPbRG7)wNy?uSzGl$s7KYr0FhI@&M z+OZq$woGhoZAmCsaJ=Ao)&rE3KD)U!90^d*l@I9g!tM@I7^bIJTS@<@%*-oVx_{Kn z>QniY|Hy0m-YU=Bi^-N4k?)Dgs`BND1#;fu#v%m%U;=6}R~P!>rzf8ZgZ85f33NqP zL%)ad-hE;tW{Z2b=Xm;&EWc$NWNon+f0S1c|Hs?Y(#PFoLu6ff4B$4kmMZAyPh}Mi z8P6YBajz=gW&BDiuxXRk3+Je8Y>HA>T1lfD;TxMU^zAQ-!zzIYk^xWEcGG#%-F*?R zc$CyTi5kOBuU@`<$z?em6d8%W++b^6o6<~?`X?r{IH&ZXTM8qG{<+SqyIJ$7Bbh2y zNxb%>Uya=vek7QDRu0%mB=~_!PtUJ-7M%NUJm+oK(RNpVhiafc8<57`R+q#0rzPd< z_Bcli;&_wp0?Xm=yPlf4hSm_Gf5e7$eBnVj!Y`&X`8iW@Sq=t$f;w@ zsHLT;5rst7#;tmREk{ql@jcpZLgkKQ5w1V=)$F z`xhpbNOmMQNpQv`qIhg=@r2V%fMVRm4SJhT>#>*Us$;4#LN=vD+BdVeXX%T9fpMp- zZdV8Vh%GrLN?Rpq!bH~+`&V))F3`~9giG+Bby^xD%{t+OhL=#~qsHT8^kN}3Yjyfk zGy_YNvTS(Sas=sjn1mN*89&S@@>&qiaErW_{qHeI{n^E#Lcf#{EZ3RYh@WU9UO&re4?x10xD$=l*gh(+@ey`mO49t*MpF342F@ zF=Afku&ISlp|y-5C%hND#5hrd?C&-TTTBX95^T(h`RrT6c(o7~9VuS>vo83}RGkCkcm3zE z8)J+|sE{6vPv$DXvAgL9@6=uK!u{@PGZ%n?#y0YuehgPdc(?t8-B9sRfcy3FR_iNm zu53lndN~BBGbvhMUq^oV((&dmf^FRI&nPzAQ;yq3jUO|hCT=kyAD_n#_xT(uX0x}zWR-d*Nw>gJ zX(fMohus>#Hf#;a8o{IHjyhrh;k>_sy>%cndt9?u=9$~z`~}<4MPA=`{~3z&)V1$J zNaG~cDzMH}5CS+89MSh3!C2nC)>|+Rw^HSy&s|`MZD^alGc|MXTx8d5e*>04uR7`n zTNiXf_D@-BN!caS@m3fTqo;3?`~Y}e_t>QbdkM|W&E4PM zv)Qi;b`jwjG}>jb8FeB6DCqA#`}qmaYTP?#W>T4Hv3yW`C-NgS^tFnrswYSNd=M*w zY9@L_XGh>c;Y;z**+HzT(+Os0h(H?@vE*Zkbicb80^(&Hwu15Jel(eScy?Evb z=bspkCU9!{>_3- znJ=s-VYiZd%V(2glGKb;8e4%iO!Q!hFsap(Ntw);^>RgT{)J|F zz~?s@Tv;(z9f$>BVbQQaHNq=hKC<$Lu!1&_^vrG+1#y!@a2LC?*e7D%rn7I=(^Ca) zg}DOWjlAnJ$~V%vf?L9lPY$Lg`rVNA9MpaNfb=y4>QPaI0jh0!)q>Zg0&dg{48s*q zOG`^9_q)hqkNwSRFuAOU1X*VbP0&NbnvU3xz|{VbCLaKXMwsmv_|_%+`#V8`?}scq z64cY#DD?$>Dq%2=z5a7{M-c(oblW`j8n<1>V{9zjP<+_p5^P)JHRZ6 z{0oXB?dVvY&dS6T*)7JlEq#4_*Yt-q#ol4!u6WqDx57HW8>D#kl=5#0!FLsc!*(w! z0gE5-YeEF3=dtQ>01kuIxK}O;zExY0dzUZ-t6|w2|&mblwr1uJ(L5&e;+6i`Cd| zLQP9O|A|J}a%m5#7 z7(ey=p4&M8LE`?lzV+o3W+Br5X` zY;~>Q2)ds{%(eFWd;-g0{~nC}?%nIpMn->nKB5mM0)BoVG0)pF zsi~A(RDr-+2tD5If!t#di3+SQs@A2zw;Q84i-SVke3|wHJ^mq+-!%vEI=XGyfV|o)QtbB ztl{@U2m7R!@Q3W9HK9WL8Gka6ckD$!ME>ddaLVWQlpSHoXG5!FhzWKHb|L1*{oAIp z3_sqTiY>hka>Wqnw3d)2ksR(DH<3lel=^QjPB!Hz?9XgdAg@AR9 zldQ>geNq9?p?7CR=CO(R5Mu=Q3;4c)l8S~ZUmQ^y9WD~f;IXi>x?3sD5B;JIi-^FZ zGGdfUgbn@bA9JojRYY;xnykpp@WMPhn)G?A38uk2Qzdyx#$ci4I}|iv(2|i={HLI6 zgf-P6OZeN{lY_^J;o(6Qulr%OlM|yQ)rWYZL?)xSw{2# zL6Z2$lu}vWX7wv0gITg+p3->ePi<{&)HJCtOa+|k$CMEpOFsT~f6=D_els1DKT{yj z2ozFo9H%I=`t>Fe_J8tiS4T?9Ss@j0zXC>hYrSr)8p?o?+aBt1wvkee85dDeM7Zl< ze6iW(v>ZEXims0{7Oky)Vk4}puu*TFoW6mtF-FSZVs(b``7nFn!d7|A_s&;L{fz2> z_3`4_^ODe6E6wb_p{T#|a6oNW_{(87Fo1BdxSFQ!9P(zyU?qD6wgW7}uY<+vTy-JU z0=Vi~<-PQr=9G=hF)E(W4EK?L^cOvO1xk1R*_b?z6aVX%E5h#Xu2fu=P?>I{0-xhH z^67Ft6$67z#iD@jP*!Rx128^5zSkRu_pjaK>2jb?g92P{6e?tV8&07A;^b6g2fNxmF$ASYBVY*{#RyhDZx~U~HRfBi zoJz(er-{M!Va-D@z+LgkL7BhH9(zzQHaIfYbsp)sullen^ZtL--n{-%iBx{|-Z9qT zz_75fY397XkJT%C<|fgh*#5xeENg!fGYbzhlikVJ`f31%Qmsa-GAq8voPhhDBiuTEcL* z7Y-n%glxtf#NMphq^XZmC-&Zc*x;q*9-8u(oc(CFFE%~QFh+#2A5+a@vOY?7cL{BT zT)QI%D8s6tH8JThc_(xl#-L<;&>@3 zwaBLQyO%!#l6}|@zv_cm^@W}Z`zx@Q*Ga9EVdlNBdkb&Zr!PN$QDXuE*ic8#Mammo z6!um5|``D_lQ|OS79^E@~F-r!pwIVgwg6^r!e~gKSa1m zLJc=j-h9rQ)a<*`%;F*ra@{s(@9-$MBo}UiK>ciZK)$|x)I>p{QLQOJEk?u zZ+3%&wNk>D1FZ3az()jC15Z_eYaYw!)`JY3Ox9D_a|*ZfRNeUAi27?9upnwU3f2a@ z?@ja~2;K~*NnBrL{!US|&;N5$`+QMb=>hKY{yU*$-a93--M2m`uCOmSgn}W?9+IY~ zL{nND-aDQ-xsndsqSba%p1EXjyrpR>eVcIt5Auj}L4xO;j?-D|IcR6W5UBTYk_*<7o=dHwFV!f|`SZtr zDpzu)ywRxNV{5!2MJYkLc5mH@Yo)lEw{}3Wl=Iu>URWd21?15c#~yBnwn3pX2AX=n z0xJ902cDiQUTK>62Vo9hoMh(;1T8KNSuK9x)BYR0eGpSja0S+oPnIC@KM%=nm zd##Z5WzW_9QqO}Aj$NJKch}!=21_WfODq`hX~@T9L(wDgbqmJdv*z0i90=H>sv7!Y z76EVKr+pCppbzH6+*Zh+JN%yEf^bAwCH6DcE6~lL-H2XUSeUbM8~8Tt7vN!KlDlyS zf34py)ih)C=(cgQ)#?|z1~zi2AJJQRm|82qq^ZGms)d}qhWb=)Dkg7HTO$h53h;1n zx?*dVzt~xgkc0qRl|qnVPoAI-C4o0CjXihCqwcr&mOfq=OjtKov^?BYw}`BdMu~#$ zuQ$zl5g87XOQ#N9s3)?9uCO%N&AVL!yxXu2=!Cd36*1Gdw$@L#0HhUpZkg*0=%B+V z{qzN0LJU?9e^AA|6en;Q(vIL>DrI6{iO$az~ z&sr9EIAf7Z`Bv5e2sTI9`kv4O84t@WFuQ^$lPBn}0bKxwbm9Xm*hBj*-mI*w>{RO# zf=L=05wSDE+CeQWoLN*vR|7X~QVVEKv@u3p{;0t<=3d2G{)&)w9DDL4fRag9~K!I4F%eutXH~vaPSMK-VPe zFB2=r;Fek#@Dn>uRqj};+O^_)Ys;}_ZP14?plZb@pH5?G!~6ciczb(0a-M&1c$kA< z*z<~7$ZOWML%M^LRw4Z}G1@j=tHE2tY@6P@Si=}08{m5!SahLRfVLQi8%WOwM zat@ci4X|@CmFsf4oH*te(^Ymy)IzDlvq4&0(+hs`iT>bfyQv9xAT7@tGdIV>m@;)& zFm+byPF8YK?~)?qPhKg)u>4&|3d1;0iuV?Gt&%!A-W+!QGVsnKsK47rddw2#&}WOb zU>h{!i*(X#qJ!}Vjv!R`HI5gm>jjRM#)+CvlH06CD^s2uL&z3?GI@?jf5 z#$ZVwp)5-w{23a7Q2w;?jQ+lPisG3z(<2~XHd*K7JW)bGb_SI9-O>dNhi#&+SoNA> zU!tXxyhdS@n~K;cq4@(FuElYXQuF?_oIt7KE(toDc5g+Lok>ckC@__EJ6ol%tWs4{ z>O5O({TI}0%w`5_?%72oYra7Vyaz%k)m01(ZclkBd>==%2_yFX#>ViBFIRCTA{D3^ z8-rFEX+}S6U}8%OAUWuqpnFrt*Z!2@52M&h%4!<;8$^zqx9+gRQu00M3ce zplyzLSNX{pVGk^#LXIYL2Y1h}b+b>eUFG4C8X6|}{xUp;L^Y5u4@;~9IojV_;b^{Q zl@~|-*~)d1a_(Y{DOw;3Mtot5&2n8Bi+(TN#bWjMtM{{_fhg79cXkiN*lAx*qx`bn zh=yiqNz^(jHZ=7lI1*=3SOD7&)_O)Q?u$oFiH=uQ@2h3@NZ@vur+4cjg!Mgn{d~31h+Y?iRdx6affdvK?~(rGtjO{ogvsZptxIFWT#9!efq85X;Yg-(U3WkC|)-9{^_gSnJstn88~b$4CzcsG1h z$60;PRt3LCrwahQSjIy$-!sAk@_(qnPZ~4jgf?P=Z+*bYZ@&GNX-b@2iKrUy2SJ+Y z&-99ivPk)Y`K%ZTR|%kLu3vE9V_GG6czD5uh6&Zwz?{)nwRW}TTbu&X(%$agJ8o`5 z!=dCc-WFf;n(;hU{g#EJ=OZdc#t5>B_MWW%q#;<1JOR)ZTR=fyNF{CZ3i+M><4&{t z=$^z%cjhi7BLhPuv^g+7o`a*dhRv;#rmsWJ4Vmq2au4+8iSj^ovjg#^;zjSu4!K46b&Mg|0W+xm+&#wY4h8ZxerxKan!&!aPE zjPT`$r;F!>ue*r8_SUeP23H#T(zhh;J*8&C1*T+S89(gOyp2sx>si6_8y@!+_VKcd zRPKFLI{65P{Pv0`KE#hLEa}G*Fze)zKupR22kXDXV_ z(tH4(95b9=eLyV^XjGeGoXLAAyhR6~Q{YM=Um6udHgc>QmDI9XCT8vwb5qmi*}s-y z<%|S}65~45C#(Cat*AX8g#}onG5xCKDa0U}wa!^Fg3p6<%&*Dh(X(9%$sF^pb9|;u zXx{FjU$3u`yDn|tQBK%PR<+qkC=Q-(wCc?AY1cKk)Hjz@{_dVPSE_leQK>_t z*X9y7I4G6oxwE}JI5I*7e~SeQX?qE`-u5g6nZM~%sw_Yq=}eo+zg|9}IVLhb?+*CC zM@AgR6hR62ecKrIICV%462k)u$L9G#6a!NM5X6f#p8n;mQx2hvQqdRTrc}mhJpFuAKl@o-hu@%h(3&9&*z#j=8)D# z5nCnL`|PBK~t&EhXS(=^g@awJaYO8PdXcV_R@Tq=rHwR@Jt%%!4BqMN_HTl-f6Ot)e2E@A* zeALs@(mI#XxSGxVQe8Tk0*fGwH<)d2x__yy$)Tl7cg^=5q_Sb5UVneaBm797o9UYt zH6i@Ev&ekIY($oae+sZ&Rkif%*w?iSxJ>}5J|cRD&y{MR#up3UtvUxxM_ylDY1Np7 zjdNvD(Y^YTkeGbkJ4&s8u$2GBCT;I&FQZ78?R(o~y((kvF*OAupVyPS+sBPVbq!@( zK6hbFEfVPeGseZPN9w4Go{8ucvT!0 zeUGY3!G5AQw4}W9eW-fyLkjHA}8=nmh$YMI54<9Lp>?llF=#wmW_X)kEozQ0ImdkqP~^w2{39y2)f1DafROtf~-P$%qup zzmp;4-LS;ETw^+doR1?Acu3Y&v~F5wi31GREgbXw{)aa`4O~KXCyo+;M9CRo|Fl^j z8yS6{)et{*6%sFov?eFt)Y7ud6az0QpGtogqsopb5Kj%Prq6ZH29*z{rPS*DPIWL| zJU8?F#)?sAEzSrx{f(J0$PVl_!ZpT?th$p3I8H)+8FfAd<~Mg1AU9kzT8jh!^|E9& zq)Nr$;54siD+idEX^P7L=<9!jjyzpRQn-uU5jl=We8;&%#M6GG_)y3(_TkLi=gmL| zB-Gw-1@?#sYywzZDSp7{5uJ>`)ag?~K1RB-`?#O1y$IGqZ zmL<{{g)GYiMNfqST-bCNY&PV6-zCrA)dBjo{BZI4h!bem3>kknuI2Z5tV!XdEu6<25pPQaf7L#f^%s&IUtGzDFP+E%_x1c z!jg|la${_M%#c%%Vtr7p+?X-Tr4o@e^=esDvMd^1Rz?Q*ANW%XUTf{cw?x4pHqq?* z7pMXGKEAI&u2hG|FfwoS30|ds4OWWP+-83c=zgEdWmS+;72Ho23RK1Co85>x4t~j~ zzaDl@VoQ7V?{C?1bkQ3lrA^KYZp;e2R1ukz4UqV`Xl~Rh=0c?5|11$h z1g95tz@Ra0ZGsQ?8!#wuSPbnl10EsJF<8tgX}jmx2<2S?kw z!-rJzv;)j(cLru*hLdg~Y>cs9R9d`{CM_nBenKv0iY$ zJLRrg!;(;$IyC-)MmTd2;(Cmz)nV7Jj+ZdHAH8yJ4D9qr%@3byJli+;N}sQ#oGQ**}0x#rE~Wi^mNR6o|}*wmyfC5Pt7$U7FwT_G7CA0MP% zs?of=4oBMX-g9pyHm0z~ydyLb`XRb9b zuRx`jKnpfDLlH}8$z7%s#+=fgby!{=weiVfHNk{@I^Wd6^>V#6;>9h;2EobG!*$I= zLQ>K)Q&TIL=K69zOyJGiw{H;^xhQoZ(VNj%0ww1*4}pP!`tx^KZ|zflsY{uf=C7fY zB|*=VIZUq0D=Oeb&5#lXM_G=4f@{v+udu=WKZx|VU0c*{NhBAC$-iG&-?{4sOe%du zcQ~FWdI41`e@u*_TA3{Orc--RGH@lzi1{4V^?7^=qB(bkIOQ{d(G~_$Z0~2apUAh= z^4FG-wM>e=qCd~)+Nd`?uk~0C--o2|2}mF~o=W9yR@x)lNlE*)cWPEAdGNeM#;112{dK49F? ztmGZWo5{f-WXoUaT?>Ji23MW;R`}v&7^UmE99yQ77*nxvzOr`w@e3 zK-?Q-{+=)j&Jui&Ovk{oU5%Dp1OimX*0&6>(amocY_+Z3$sFLzMg_)`eHJNgSUv~R zWqe4uQ;`7Sou5r?EBbM@j={&U=%tWy2us829DW>6&3J@9o||6BG5C2ai-|m}se2p; z#NN^iJMW=$b94JQ<9sT$j|isgVAiAWsC54`0udJ%uX*5yy!?vc>wk0vSZS{e3=C|$ z#l!h9x7EHD0h3FO74_`hvXY>#CVU;sK|)FNB*lVb>vteAeK9|g0vhG^h(TfOFRk}2 zuN$NZ+GFWb3tmLu>9GJ3_d)2_Kx~+?V)S$?aSyB)J`z0O9bVNcVs8>p{SUQ zh$yUvb;^kCT}I=r&F#TTpumVd)_9VkRf#LU`KYG6?;#pOsJ#2QU<8WKWSZPLbrWx@~d#=fh?KD0K|=E6Bji3}6%kj9bc zW*K-SceM2J&tmJ@uDTjBXC?4G;sG%S)1Fth)(o`$Y?Ia>Z)l%5hSe!hLpyQ)W8V%s zbmUv{cGsBI3OHnJR!N|h^shKtiD(@@M~_a}s4Je=P6*x~Bx}`y$iTb(5M7hml-P{u zz{Ky?aiwhh`b3$#n%$pL#|q_FbC?Y(obZte4Y%5xy*4-B-#n>bcynguhjL=&2ak31 z)DMIJ^_dG`y%tbE^WI9$xn~V$j?`m*ta5IEXlO66Ni|Qh`-N>KM9py^*?5#sSj?kz zM%V2bv?L_w0uNY!{{G+*6!sI-;(>+IXy88Kh?Icf>RVx#e&ySK0~Tq zyc&Se`V`pYuCvS8bV|)Mt{?PMRA#$Zd}7LBRYmaNZ8qwc9M-z#rOtlC_RttB6HXZP ze3&)qYZYLzMtvAP|A<1dhwOmJKeCa(1Da&M ze&xfFFDbGC6M41sjps_aa~jY6c>hUHzV)8z%S+aiXNYhSf5j$L9mI zbbP(0^6os(FXVo+b?vR{)))NM?pe3X=HWfwTp)hq29pWRBI}Y*)f)5u#E6D+lRq}b zf4gK+;)cq~3SQTw<9hcR;}HeoitYjHj9KR)asip#J_0F8O`IP=@{w%n%K8age6dXw^y*Mm=+vvMKP zdgswstyhA#ITFb5!zgO#`&%}ZN~`@_1wgczzhK3#Wv{o^^gkIR9t{Qho)MP$TY z(y!JNO@=m?h3CX-UVuen~FX$L+U}$pf+`+{u zG6VC|a9asdpM0J>Pjc6_N6Inc442;&Pld!AOjAZQ=`P|^3IUwy9nBv|yHt1W36|2+ z+vE!6wB*agTT-Q0B()e{1;@{eU7ioZ$>fi&A}Kz;db+SOY}kvyI?z^{|d6Xk0+&G|Cl)?LLpit=Lie`49vgtHg2h^zL8M}<9)|k$QpWq z??pE!rY-J0{*q_E^Zdq8mCSnGH(6Ry*pj^*^txI2pS=Tn+81G2>mep&HAooKY%XXo z_RA9XUCqIYb%X}V`+8e|YD(iC`hAwuQlA)dr4}=KZ<^(PR0Ly_m(8C$JF%#&6$O`9 z+y7Yrj_EIj#^iY)m9noXJ2ybAoCFwJ9J(`E{weU}12|OPQzGR%RY^5tx+*GmlqKLk zo(oC3aCykkPEwF3u6cqJ@t4WVP;y3U4EgR(d`s5Oi`_T4`3-WHGmJ+Ul^NE@e!Kr# zh)YSaetDLr0Vx7ySpzv zln=8I>niV{8Y?|z;$4BXqaUeD+TWkb;8fQS66(eH#k~L2{W@CfJ+kZH&_zi`N5~24 zT$&;2)E(Cu9qgueZu(0MuZTCUA{@6e7@3l-F-a$)51?bU#U2|(ZY7bru*1O5Sx_L9?6V` zVoEZmD0Z^;{2}^N>j=l*efucKv!K}{sQXwQt*F>Cpz%(<(;tYc^ucO%7gPDh{HB2b zaV0|Z{N7>)f+9-q81lfEV~^&}+W`c44_6XkC_}B6d>BVcFE!2kMo0ow2r;zAUN6=? zERkwiqe8$t@`B*OcLc(`iV7p}(8x>-?~;vByaeaU3i#O4SN1L8+jkh&U*#1b%6M?t@I>4}8|=E(C0C zlcQCAJ5{nOgE)wjAi>PWlbXt^+GghhY&(xdH~pwQD5A|s++dRKpbAqv@KwaeGK}7u zknb(J`mO8Y*Ua=d$0e3C1#>GCjJvKctyK}*+uI+&-$&B&7dd^EDi=n^IvQGZ1;`PhA+pb+J` zPE1IcYL+$6tvj($?Z8_(8|tyEb3)|M;R$w9yY5NjN{-`6aMk*wTVRwx-^O%u1|T-?ix*H@Ik}quHml z`Rk?DIZ8D|T`zUQ8nFI>;jNr%uTXtW^_i5tZBl9Ek+3zO@P>3tV!_>18S@4#)Y^7% z6K#@N0d+~#C|_9=%<_|aGBeQ7dC{327?Qpm+C_RCXQ&8~8HX{1MmYLE%@9v-lc>~Q zn|pPcUNd8A7oovDxO*?psiqn#rLZm~ap})Ih}?nLL0sz}fLjq{L>J9hN(be+(x$Q( zEdj|CZ`&#n)VYc=yXWOxmi+TUOC`(Pj=cXre5UwG?e$@%%=NR-#!W#gr~VhlsxFTaxEX+f^*}Ye+^; z!q7TOV=l!Ndw9%(z9M5ywE+VU&_Y-j;Ye2F<5s>m!&sy8AMcPH*}Ymb+ZxFRByS_I zm;_`x$?TFhf~srH_AC52Puy#@S*k%{?Z{FjheDxx%*h$!n@tIoYm*l{$BTVjRWKk5;z2un0cFk_t-O5A(w=tN&(~}^zod6crROgrshQodj(L!gPpsH3duY<#sH3#Ac!t0=!`w-&YroIjR3$ry zAGBppt3piuxB zR7&jjJnTRlRWiu`2MJRqoPWak1D}3PZNcz=69O>R7V^i4xFn%IM(+9$ge=5=v_*$x z)PK1A>XH4!Gfb^HM2KY{kfngCN|0fmszKdoSj`+ zsRvo^=DRfz4TAac0GB_XRArK{T4aH<)n=P@8>qXm`x&r`G8GdZ9zRA1r@1jOgrA() z%-t|=NtxOWacNZO6+6$%arsUhmxj&APp0wOCgrZd@u{v<`qts)1e`C&EPFAYMJ71a zh%vElt{>nZ?=q~{`af4hN_p{kr#GA1ji}vLLD# zpII3!fKUIYhcgd{^6la{vi6FQ5<&^dmVJqatYzz$imb`j5L1jWj7L*Sc4eutRSc0O z*~*La^kP!ty2!Cg66X6T}Q%3^a5zNrWav?*({=3QTl-1E`?`)sCS}_+aowk z&MZ(*KopSGI}5CLSnLUz8`An{j4KeU;6<4mv$z%@ z?Ky5fAEu6;lgbvc>Lp!sbPC#8{ra%%Gc_N81;jC)1%KhWc|CsFCHC8%jop8x8~ci% zJ=>QwG&5NrBqSoDeD>`0DQ75D_2b8nzkdBXC@G0~RAs%3r!9Bk@qbaa65>VzvPO3j zL|rcbwXgN&RRg^|SG0-s;Edx{xFUh=W;wf;4YaD$EU>659v%^qHZ07)kIUQpC-8i% z!liubnAvr#%|#-uR%7>3cO|!4$rR~X5lKFU!>y1H1G#8IjdAq6f`F)8HuWMDOo32p z$^|%EXVQIKpz?PW+EwF>;kXe7StzVDoiR{s=qzP$TS}6^=!I5$G%ta1!G`JH9CqO7 zYm0rtG6oKk5}7oQRiQVokOzP;>-bVg#nW>gU=zu!9*Kex%iFDYX=-9<5fUwudG_9K za;5qu*Z7;iV>zSJ^mnHs`#{bLG4ov8FO?nbsKyE;p#K3iMeuBtl$16jYsgc>fZp-@ z1qHG;a59&%u_-#!9O{&w#V&Kq|6T@jX4cvwLvlEdhBLe!;Nb$?zx-m)v@e0;Dw&RO z+=?SCEFrrM3HwpVzTW8rmdtWb!p&*uBMs)zm~_vE>zpZWG_v} zywn0IP>#0SP2tIY&8;zv_pR%u2Um2UTZMj`Tr*ItjcCU^)J2?3NOn12X zIX}WlR0VKG+kPO?nv)?ZIx*+8vqnd+jM4nu8&SKxOZ%JpouxZF-@35DAa?xZNnZ1s z?-o@wOneV$9n;g!E@>Irk-ltCgtE3)h_1|i4I#v@KS-|L5n$UtSkflAi%Ppgbah=u z@HX$D9ebOf|M-AL9Q7nJgV zPtHf8Jo=o_&2<;-8Fvi!*Ozj1B|WD?uXDt+Y?S|0vO%F>fHo)@kStaQMdV|j95B>u zd%N3_+vkj?Ga#liiqCRae*_LT&I^+AJulKAkBOn1PjQp@@Q z8i#bN+yNi$8(Uj@t~i}--Z>hFVGlkUb$v~#9gRU4mLddvL+5aXAOlp7+}=XK$_B7e zbKY0wE*W#FAu}f6H-a06jVW#LLg|0jA9h+XBi#QSDVGWvT3l>39d49Sf1Xp%f)KaX z+(+|UsfCw(mhnPPkyOa;7S!@JaC&LL3P zz9eliSY(#AS@>RCU^-hwImJxY1l~(_GyZEg!l=Tj0CgdU;2&YGcKxVxLmOPB0e|u! z`J}`Kb-LWamwtGz7U*@I$@Jaj6YUa^lrqJ_wFxbACzl5k6K-!pQMtkf1_tA&23sOX z39Y7eb#>urY1Xz~xjgrd1K+lCUc|SP!+d1Ea5;TCSf#%qa8m+a{iVCB>kA2^45h?* zdKPp6fx$sf($cC!P);tTs+s-n`L=1B_Q;I0QLDV2s%MU9dMbdp-R?G{e>bzQ&nJ0w z^j3VN4XE6E7?f-Kbqm(ex@PTIgQnC}5px|B3dK`G-9zAi0xIDJ3%{~#j|ODBI4RsG z4=tovC5J=c3JJfQxe@i}-7Fv#v(%LjydIbzw(XO}gnfa>Qzs z)C(a6G1y>gd-l+uBu7Q{c&7+I21=*3u*z-?W9PbbHxaB#ryZWm4E5lFs)mM=nOPwSi!yx>2%t5KiMTvR zlXjfbE{a(?>Sdm=k>@ee$03iG_}?ZdgoGSMbeh;^6zTN!DrPLm27#8D9IBgq%UKwg zS1oZECrqF}c2ytwGJzgaVCDABWwIb)yICb38Pe@h`g9p-?1}k?s$Cn1BjhdN$G~)A z>}t#7S{&=5lZ(MwQ3ojiOhIq(B*a7n&D|SIVzhXXhjs+=PCSirZ&L({+5nwX<;R;2 zj?6v*dUnp|kU35-cdjS1l{0$5-mU069zk-vV<%?8V@N!QRB-eS40#-{0bDb%x9bbC0|1~R4zZcP^sYp3Ua!$!eGWR1+70H<_<#kJui`-P?avr3 zF2h#bQz!UOqaKRMd$oXUFvbR^8)&tdAIS_<@Ll&DpA@KW> z1l)3ynAjs0yg3v@#I$dJ@GHRv5}Yka$GAVt9>P?)VT|9{PlwgVcsnj*@o1JMs#CHy z+unf(ocrO1GrzB6(sWNg=#0kP*7&qkk@k55->7yD7)@lXy)OIst&CR#i;Uw3xWXTA zn7r0HZk>Y0A?%bd$*UMy>{qRHWutLH^cm}R{;F~K30o=7XlUHuRk3 zHBQ`7dy(M2?{y6y5_%ETiwg*+j35x7F^a8tktY7i3l%_Fd4KK+HC5JrA)&kd2GM&K z>+5|_yt?lm5r^A4qwSmj6)vg%KV9Vy#S)fu2XUb`7Ytw^3Xzv0tYJqm| z;i?UwBlNWz1~DkJKaPkcrm=;Eg-aV6Mk|0~G@JfvO%<-HN@RPg?tv3gzR+VgVK7*I zW0Kd8Z?7!FuQc84+FzoTgvOC*wM>GP9=O7+9FD9*5r5oX6m~h^3GnqKg`AK)qZw7=KyY z8X7G}mdE(6g~YG$xqcF3OTc+iUHRjy zRch%E0wF&nO*I*RQqgA7exoUnR?o%NMR?&+g3L#bjw# z^|b7?@APhS#mqCuM$oZK)2ppxZQZZASV}d;dq&Q$XFp)(CEV)yWerHuXr8Y$gg<`G z85UlJ9be)|s)@NRpu@JqRx3jomo@wbFN{f2(%yWQjrL>?_J;iYQ;)@4fy;^=E@qk) zm80LWIYT|EK|Q>VmQF2B8~z0m1Q2OnkH7_A6S{zIZ@SzRN6&SNS3w~>2)$IhbbHmp zG`ub`Gtsi5=qVyBnt75nLG{7zfF~-YImcRev2b+6pEcGd0q-y zkVH&Sd`v+Jm7<&e(_gZfM8}5d4^NQ^N4K4qT{9CBjx))pVO;HCW70j|C&&G59Acn2 z{B_M#MK}IUryks?vCkLelE*Vz$piGmw2l~?vNs3lsS_y$vhM&}%MUagyT%)(@CfZ@ ztgq#9isH~tP0ZI)^iiS3^yiB#o|++`>b_gQJG?5M^6CqgUyE79g9b$({k8RO)W5o~ zsW&ioN;yrXR3?fo5lIV|q)83Oe!PhdC{@e)ffq=~79vmRqQE!^U&attXH!z%LNOY& zP2?PgwvNb=h_(tu`CC#Hk zB#>MGfT&zP(Y~oDdvcqr{$;+l((aX}VCb%)zpyK^$u%pWthSMj5Ou;*%=P|E1KDdl z^%PzqMQd9Vs3kg!G3rfa5&o366bKhz!jZnTk(>{2X2Y`?jc+_dF(JuLtvIdomZ;+Q z<8)v_vg`q`{2O-EFD@Pyt1j;;9rP4+oweWdRVJ*tyvKZN<@Isrd-G0wE+V(p_;mC) z;}V%X)Cb3XEd~O%jZdcVqUR!aZ~!B_A#%c>1z%7;3B`1*SEe!iGBdVYJqcmn#@UYKoMeDu8D_f>5= z;O>L_{RNtx{?;l64pqQEh)N9s1^%s=;-&m&5#~@a;k*VMg^dWY=;|L&%=DUYqF6N% z8$G^L$c&_f2$BVas2!*@B$AR2>85^wtT}rdf7=p!I#TNXc8^K1&)#*~R7~b#rx4ed zFRQlR=j$D-evhZO*huMWeS6Ce)H7*yKs#KyyhfaeR~?HsW3_-UtviV5=&plz7E8j| zYUEW}M44yd(oogtsH&YNjf1-e`Tnuj^m*d0s209%#Zs3gPvaeA^y++h<1bg%OtdmN zNKFWWz1I4jVf3 zl5uMdn*#Nr!ql20w8Bk~GRPu6u+$QusB+4p2FRS&7~@u)`VP;JabYzTu##1?0H-d~ zR8-K%^>QBp+8;f3WHL~ID|>!^o|Mj)2uxOPhpfhFoWr?*$_JCxww{<6 z#W%!UIW++8rjP|rBTonxs|2-b`o-m?QUBPq*h_*OtuaZhLycy^)>io$YB{AESF`;Z zu?XASCBske$jPggv1DwR<e5?3 zb?Z_xm53<4Z%4u^dpqsGtNR4Mae?OEX{OfBs&heQmvn41F50%)F zJe+WEm@HfO8RzAw))pE~M-v#n!bCRhL#)*kgNTk#O%>}j+sgu}?B6u&%_Aj($)!{j z8T0iH^=YoIub0}~S@l|7FH2CFRtyV$74lBtE8SSLDv+B`;91^3qtvz%Sm*Bz4Ylag zl6QSct}Yf+Jn2T`{Y!yA9y}mpSM1dEtgzVCa+_FCT#WdRh)C*sZ(?M8{MFoq){qk^ z`vyz_)C}dvAN;^W!{3jM&Xd@1#Pd&xlo(#sxcu@~e^Ar9{e_==eM+juK8vOhh$X!OM#e3x$8V;EuReRra;qp(-5r%QrO zi}}qOw&2#R`3$*i-O=*T0Z9(g1iCf2(8$OE!%vhb2=ww9?{0~?Z$jaj_I=-CV)8@) z&WTtxyKeUOAI0;PuJPim_f4wEppPquZ)Rq`w2|g0&#o6Y@Wr>?=c&sxK#L+pCvKSU z3%^mr6`y}QZt>5I^mm0>1vr{3{b5=%DgP}sK3>$wD0dc(?MuDw(rz0z{#>8#pNlof zK-gH8=U~}uE#G^8Wcp?Q$GcOT2k<_SjpVI{5tUZY5%lw?lB%+-RTYKYTYV0GdO5iz zk7QoF-TCz`c6E%EwXY*fDko5gi#P}xQ*?hlLZ3}oB%4a5+pft^`ITMYs)$)3COut7 zOzf4#R92y0o10sC>T&)XNb@Y-soJt;~ zeb}Z#{fUisU}Iw5@jrd$%hZBPRf@#%?i2Ud zBK<@%W@Z+LUT41ps_yJ%w|&Lg9qdHLwJuq_tMp8?Gus&_^9R0HF#MNbyimggJlS(cVmh*2dCwU3g zs^(nJOp9+S$3gRwtC?>(v~!L@tB`W_${D!^az`)5(N!J?iFo~7eudsKNtCMU{7h0ZHa~EEnZc1HW zH+4o$Qp6tT;^6D?!lhcjkWES7sZU&S07F8t*&Bv0h{Tf159E?@0 zzH9#9U0shNr-Y!o9tZDF@g=9h+p%99+W&M~@!m(bgjA+?8HxF1q?RuA>hm#F!;__7 z4K5xs%dXpAJJbl?-pXqN|B1PXG;%$NM%~u9bytgevevLZI%glIY~a?g#*%4U6n{nh zru=UA8*W5vs8qWds}T6^VLRqBWU6L8n}CXy${{Hfc=xcACy<-s{OL} zA)xusJy6Q?0PfhgB*r&Q6hBQNR^~I)k4mX-zR^1hx*Zk>RFgZHb#SwJp7R|{vVhqZtA%bro5 zZNZ_Nj+}(`&MV^J$)fxVdDfMC^7-~gi*a%5ECAH`nf`E@ajVqwWB6epB4@JrJuP3%i&X$p9_uzyGvu{)jgU0{(PraKcdi`CGcNY@l#)W z{cgdvdDKK%IzxPyAp11oh@tEe&c;hy2%4~>3%rDdg{cF;c|kGar+OWp@|!;ENd`|| zfOg>GAV2y|w$D}A?EU31bu`#XXf`Hgn^MJ%-haIjcS0jH*>CMGUkXSc$gu!mM-*n=RFiXSuE zI`(fuM_eqnKzY~?{r1cE$pVpwbrfOM9in3ULMqDIqnF!5hjXPk*_GhpjnU){*qm-g z86h6btonSM-Wzj3qI78mLnXw`v1(!zl34pq*_E`k!m_g|T=vGXblEn)9|H@hh{))M z-Tv@9J3GP?XwW5#EIb@$oO^ot6iHK4n$ptJFR9uly#)T8Ihg3O(FAv{F6*zDZx!tD zqlNg@=7buhSF?GG)U)U4KjYP<^^nU2T3y%cF$Zwb6=oNc`s>^TvNdBx+gBW3`AYz*1n1x zk4-y*EWp?}?;RPLoUJXhnVH!Ms4M%uXz(XaJ>561!!hqqmK!7do*`Jcxcy-`^nU{^ zduh9!a&RuReANm;n%BR_N1ZgJH1VYa@dJMOZu<4$;pnHcD-*^lKCZRpU#ed*DWnvl-bd^X z+1xLZYl3t*H_MYLy?Nj+r>Oj|v7BJi{wY3to;NifY^q4 z7qIdE=CL+tm+_zt0%DYCzmr|k3)&I9F<`QP1cx=JyAu|*uLk}2f$&*RQjUO& z5*Xn@9Jxd{AjR!3oZ)*LP|9mzGc($kmzVJrHc`hS>E)|k3L+wg*3`JP=iy;VXJ==^ zPlj;*mc3llY`*?Xlj${Sente>oHLz;f~5+hu$Ppah~}FasO5+EeeHbG%gu8Nw2AEw z{hKJ%02+T?HhZXo`)JVo%_Ap|0`;j*au+w>84jEk9&DsSu>NnyfZpD(qobocoG{bl z;^RAS_987eSc%$J5c;0N{C2V4p#ZRfFKlm}MoA;)fdxN3v4aSBs4JXkEaXl9T#Pz( zvSuMas>5CQUUCxaFZHJ4#5P3ZK?%=(wE*MELJb>Fg)-*g&o;f%*O52pa#Jxs>%hT} z1J1uK-@~zqL_14tSCW3zmW(>2q{jX#hO^G>2estZe6pR1d$16~A>}eE1T$v02+-uO z!|Y59PKKN80*a=5q(j54_hPbW#Z9=Ybko0^wykEBnaV>4+dDDe_(bfQn3?sA1BW0@ zE&<^=to@hC_CkYVcpY^fp!u99%FI+VlRqi8$NkZ78+Kf1KU+J~GoH1q_HS0tZj=i; zp1*x4!xW&u$&t7h{*lJbCBtv}74xk^^$+jD8><`A`M^XbJv9O>YJ=Efd{?uX?9FE= zshKL2+yA$~;gp`IwTQ;L-{4akpaFXRb1^_*fI=<)i;|Bo4U1Zw*RD5dZ{?_dz3h>I zLeSD}B0BW6i^F{U9WkdRoNypAMh3T$upfATXNNb@d}@UOd5qgg!%Pb5EZx!f zsH?##si#ivx8SV`T@fMkN|2riJ1CxB!TG%79^sSkvIpD`fA8~-?M}CT0*U5DDkzWSrttC(V@eOn1`wnx+r)btrtud zf9}@y6#KFV`aI%e@`IeV((x_KT4{w7Y+;~*1fCF*f4@xoVYt>!lD4Y-KZ_9ZohZPW zl1}7UL=d(Shp=V?`7(@OL%!LD!{df8uJ2`7R7Cjc`-oy7BwCYs=lV;KN4XRk9&0 zEZ{Ziv{v0!g=@sBX>dR*L`_agYMo;^hMjEvgM;B%H5diS&@i06d6zm=1*EF(O}(z~ zXPC7ZR#eQ$Hod#1sLu1j3(M z6N#l?wD~|{6TjQZ@JKxU$ml40+j?dfbnUZy4gYImeJvR{#c87)+d;XsaHWM*9HNHk z)86^Fh^V|BAvj2%GlXpk{NC2$EOf-5;}bWaxT-FMlg^58;3SPNs%uxW5l1?k+Av`! zp)XrKQsFn~^ zJV1lI@Zn+`&ei(tzuR_p{jU-41qg82=zKdCUw=O=F6{XetbI_flKe85B!ul^m9uy= zJL7*Al`O=@ru2cCxxi#7%Jpb23>N+O_Vu+mZvN1nKz~OjG zsBm67_x4euErNVHk6@zy$04HsZavG{#yh-H&IOotJq?!VDr9Gi$_?c9D?Q)ZFxH-U z&=QqbHW|unCtgX)%ex&u<6zIkAYDTja~mR(p8|t>7A8#3sE9I_=?%^O&eC#Od{G-8 z9W_?$Up=jLf&k6ZlCH`zS(e%Ld8m4^!!Y^E>+_wjFY<7c$wB{Y3wPj{0aP?FZq^4zmu zL>xiIdtD=BeaIKn`v!;?e?{}he`&H@O$;-$%YgE<0F!dgs85dS?KM^RxY*d(nq7VZ zaQCY&(GR-{II{(iFxID!T#q*d1_&UZYYaG4R8;e#4fIPAdMzP@2_gN_tfH)eq5e1kBF$#HBXnlxO3Tnw%ln}LUV(H&FQERtDt_44$s!s z7O&$500-yfG zh19G$?#bF$xQoN$>{i`bT<8gAZvmU*rX}s%6V&a9pg(%?Y(HvH2mSyD(yI9~iUV^$ zqs|FtBNnyQMKRqZ4M?TuV&pUVMy3?m6}a*NwLIDLqw8c#axyvB>%Fr5m#gG1MP1$T za6G2fnVOKaC9OP8DTQ@WJ+G=1$4t9!SRBI%+mk!6pD%K;sO7(v7d-{tDvBt|mE*au zd(t<9{P-jAS>mD@CX#C{j8xjvBng*-;EUwa2iH5iGZ!*=On&@n(_nRu)}!$}lLg?g z4ZI~d7chc+DZq{Z*ZH7=L4PC9k)(f3AmSmcaHW zDh38EAD=e2x>ab|ESGm=pf`phxHwqK-@NF z*m-b5GXx9f8Ha?7M{2Y#RABIWyJvRf6y8roWe-q%j=R(*zATW64~>f2OVrR;5?~bq z=s`kBI}})~L|1vh!yyH&`68)PiJ6sEX}uQT&zZRbyGE0&IrZ5__f@4M&W*`T{_6!D zhg33>a7YS+nRaDS#^cN5Ie0hOU``=QfT^>S{7E{F2KjKBV52z+*6tUCThnCIiJ{+wKZJ>o-= z*%>povAqem`3wEF@`g0Fl2lIH|3zy%;w{xBBFI zpa_Rv?nZSJppn$k3p)^Z3=S+NGn^ze*Cm|Us#ANZaT4O9^b{S4F@5+6L%XoGhjBi z>dwHPWxg0($dk~i(ih`KjJ~jEW7#i%H9=*ha4CD{N<~dgq^+znEO+X0JUsPODPiz= zBKU&9#w*~=jSm>{u~0}EvxskCxyw2u!?C?j&*wC-I*1UnwzjsLU#wemm6J`F`hL2cn4LsB#tJPd`A}~I zQXmtywq|tJsliCtvrz!jZ9vff>UPf?ig`n_n1p%3Bq>8*%*sv|yt*{Fg=73$zYZzb=5J;%1;)>@_ zS6FNJ#xB(`^Gn07%l($dHuN?N7F@VDRlA|5oz2ljChN|0f{IAp!K}WYmn>UtJCi)6 zSH4e#7IK1&+?#U(6adys!7|J+)JZd}#CL;_D+A}gsyYC8xuSxZ?wKQK_yl3OKeW*$ zb9qs}D{kP%@+H3y=77|W-mOzhM8R%<8}3CBb@imB7ucddn9gqk%R$mV!~73rgLf87 zw{Z_BX4K?r*OE}o@Q4UIy*(^u4Ebd!q>+fH;N`mjUg0iaO49XwN7B6R#gvXn9->9@ z33lf$`M8gdVn^@qT&y^peSdlb3mPX77jRZ-1HMho&jl{1vOG4I>^z$p<2~l8K;aG7 z>a4ae3R4nId~9|EJEAEs$BLk9CJy+s&BJhs{6LCe%C)S zS!EXz@#_~r!_AGKKOH)4X$r&se~}AlFLsICVj_%;j38T)mT`iEr!8rOgbcVhVP5N~ zT^}X!V3l6m&fSps;o(QQZ(3e0tD~RlC?JLO@d$y@X#kHPc8W?Gjl^E+SQ!CPaJ zkq&!wA?>Fd$|C5sjAs{RoA!EEy;8W3_u@%}_h(=W4&!6S7*$0ore|n891HXj5xpJA zSAoRS$r+Et(UzTdC_7kK{Y`FQy^Rud-U-!$fUoyC9I|Z4dfJ6OQUhuHBGi^&{@yAbLW*1s*zspMxt~qGAb=G%(diG8ST1MRroQOx384rfYi3gVAEr_@Z z+E%Hx%lv|t%Z7iAQ{fA7L{+;#OSeUxngZ1J(-pOS)2yK!ngXfXkH?-j2h%Vk{p<;R zJtnFLi_OFqtBi3yZVr?@(T_HI0+%|xn|&}s)pDc6yA(MhO^@Pl%M4b|nB=KbrL6^$ zyNcG5(}*gLz+k3)P+*BfMI1OdBm@T!k2d;sl47~D+ni70bafh7T9T|17Ty^Hwog=W zM&T|^j+_vrzxCfqwY0R%i@YJ4T)TFGr8XbS@(VFgz8J{99;k(Fi91^|iRfZm1Nsg? zI78fdz1s*OrqwmB%4#Y?`$@pp>i2q{vwP`FYi4swJ&(>~FX* zS>duNFl_F7%-={nqbLIRehPTXiP^6`+Al7a<3Jf{oc;JsTpXK>Y+@241O){J7F?fQ zb@}_lx!LoIDJsT1Mf?GQvI7+!mq*v>2oN8YJg+#!qom-h_q~vJa>bKWbv+aOizrM= zJPT&HsE242Vf`PG@9J9z@s%YQN?WzUZ4>)q*FE>iK6f;%6?%q}0-xQj$a}Xe23v5E zWXK9(fKf%>2TyM1egf!p{#J@ZqZE~RH2LYpji+=$l=AvaGM}`kjKR@|T^8R$D>{05 zl7dq7L{@{b)Eb%uD?Q&sowVJBW&+}b*wcBYC3Ce2q(x`b>&UY|KPzU5RPoOnQw{V? z&CD)AF69r`zp=sDz_c+ox)ouZGjCiF+lS$kWoVX;85j35d6X=Hmb$w6-4qTkUSdpY z;s9(x>;km3v{zlp`d(r8>)s0TIuw#v`z0;sqtF5qQMyUHUd@(FbJx!a|j z_!JTo6YMsNhnM)LupIo?Cx7~7hpfuDdSYImlQGpmtA!h@Mji52O+<&-x*<=ytZZ9`w2~@DX1; z&Z2^9&ysdyHSg1?MOFVa1&_9CXPo8QAn<}fOeFD5=mP^jNFW50%+2~eGS`XR?@eau z>#>iHw!^Bvhbx>L3SCQfis_3>S`C_HRV-Y+w9=rp!4mKns%e@ z$n0!UOTqICe?*WJ2Q3c%#Qi=_%aadPGC(!yY}We38xu(>JQ6!3@-F(>cN-oZ83;Wl z+^ho&UXOG1)|ri=$Du+sU7k(`m}_c3A`0O%R z;a*8R6JbD%usu2kECdJiuHf8z$U!ICptN5ePYpVXD7pmnC5bjW_Mv`0?S`NAHLOsS z8=LAv8s_dk6npCIX>~r%?AZrM%P{F z)<8irIxCBp(n2Eo0{JLsRZ8_7x3&_4U>ht|)_<@MGTFYyg#QEq-~R=!!ZXEP`8^pY z&hJTY87&N#h=<5_S zmhm$8z6R)3Upo;_kPd%yQ>#2Swm&H9d2({6%}07vS0);yRR=o(*_up-cEhK%3e2h?vN?WT2E|HiRn;5Wug>R!Q_ zpq~f@eNt4c0+%;-)={hLADsW2X^f=(l{K6rHeWLdW@kz>vGAU&cIOF$%G*S;TIrfB zP7{5f_L$5!8`!-!KVGTQxMk!wcDlu8fZ`Y? zCFk29@Z0>xwmzpAyY{4eobSD2So+QNmmNsvfr6*#pi+v%9k6M+lPgtHwM*VXaJYb1=yW5Z^*F$9ytNtoO zFfHL4&=%Ch@-_9&{1gEvlka<67byiSBPar{d}7&lU-zzJ`XPJ^9{c&VKSv|u=)l~n zH!(3$-RkM-sbXA>xCW&M7^6S;`YO;kpBzVn?-ph4ZB~Yhz+O7g zV2%yQRy`LK7f##_e=+pPxKkaF#jqDkBK~Ryyo* z)}r>fp6kh3FuLeHJom&RumV}U6(e020}o|A&R+ju0-mbUSm&yj%9OIr%f)@uDv58c znylxF|35FDlqMGNl~)et^OlLD&8j2tRc<{RVC{hv<68lAY zN{9f}^3XIVP0m^W+jrA~QQ{a+Ey}7&#b7T$#i07fe;M~nVlcU7uyKwL z{xuKyVy}av{~ix41Fw-YAf3WTkKaR1qKan!%hR`@I!*ekfCykY^2sHYp{18W&Xv6* zOTK?Obh6BJ+;qEc*uqUGve-J<%n+b``$ou&d1oB&_Ole3RPw_SFyuxu5FZ!E$#(iJ z0>5PrM{9BMwxhHfMsje;vHtfd+G%>Q3pB<1Z!4HYyniS)wT$JY@P8?B2cJy)dJ9cu z5^3YUOqkmpzIA#((Isk^L3BJHd7-@rO%qw@n3p+*uL_&uPuT%Ph~UvyiVTSey^Ro z41M}xK|8Xmt@P0d6So5$1A`PHhug2ETIdr9`0aID)())(o+E1iBDxHAb`C)& zMVAdP%`2UGP98Y_k}_~ZbRRTk-H}+v&dWN>Vf+97-d#tC^GnT{82KEJeoIgfWz!k2 ziXV)DfK}<2pzWOh%!|RKP33x=*ym~TfhFIi~p-ieXCwu;`TOV(Nm>ohi2bz=j$-|oi4tgz8L;{S7;-*LFMRqcxU_i%%9& zD*?M~eAmt*Uzo$%4N+nUV$hsma>m1jJEGVEcTK(-* zwoj*!W!u!@cB&2M<6Du8#1Fi*+X@a047j14G5C)7_+V^>Beb-%z_~>ZXLWLTY#27*B9eq^nOp2C>Fb}>z}pl;9}Da2!0PJiTl@PG-+un4Nwx3i<6+bWe0Z3h z_MT~KpA;^8hY-;nhquI738BRvxt+3vhJO}_5CRmf9)2pMH5BUHE0$d3H*B#Z3k8%N zS=UX?36v*MgzoYCZLr+<9%1UgD_?j?${0K{wdg0-DTjn|doaX7Nn8I3GM27ZaBjuHV5?`4CLDt7EfmMdC($U(V zb*Dy*KjQMjl5*R`r$*~jzZlzMtV6C|1ZWDl2cf0=GDXaJZDa`lmYa)j+K1 zPCQW&qxi|6g%}~r`M8pGFd=5}AHgcO(ist*C&C+w2g+8n%%XBJ?hPZS%){#)8`75z z+H$d3!F3r$MFw9y95tw}s)&{rqWZ5cJ+AGn=q}0SqZXf9;JU`g_LS!_#YX{{ziHAR zm)8G_6XFn`1t$x|Z2xlMuSTpfE+O+wCzqCED^pQb#m(<UrK)!P z5$4|{L1r-F-j$!}wh)j#Tsib{9zR@n>+tJ(p~_4kRps$;Xl~2SU*8#B_KLo2jaF?V z6Y}1n$zHz(#=hJ0fslv%0tgUx)eOO_G&!91EGV%3-hVej)jjuyI+3#koqAiCm#rB( zsgPgZ;;w@pZP4D`cEnOymckWhMz-{^d7m+Lwu`O$JP-l29HOC)KMu@D7dwGcU*-;5MBmD zmzi2+`3H=tRMs|ih;-Gi!B1;D0|XvKgBQD$cMGi?8sYsE?4x+rx}WcMLBXh#X%{!C z3aCm-6S}QHJ{yTfb%*|i>Mh5H;%z-Hn7njJ=qlp0A!(moR*jqul;k^Q@`dEv@|5Q< zaxwt@D^A&S|GjwWyYahRyj8FoAxG52yYlBBk@C65p>LfLN ztVeLQ7OB9`>C)q)uS~vUSq(oZc@w(ScOCI6Z}eEYn#-*lXPSQ%+@k#Ds=`%MRAhYl z(B2XFx1jd^My)uyrLKMTpR}SOtfPA7GTPzcv=gqPGgPBG&+JSE;pltCeeSwkD zaaU~(3Dd_KkM}(k%j@bBg9bjK5!R+W&+sPX+dgHV4OnV04al!}{ilIMrhiojYpCFBOPi-XZ%Sa_Hj&rhJ}(2-h)oq` zuDFfIu$Zi~bMhJCs=-fBe5b6F_*TnL;`W%a3tt?M@L>7Dpzji@SVUbJu zCe4X65Ecz)d>n2{7o;h8Pb9%%xzf}~7h7FCxc0-u#DVr12FfiY&Qae}idU=IJ`IGt zs45{n5WCnGonzWo+!YFCp#jFkuaFRbiiro~5Gjdx=1;Mu_WO~8gI7?>ZG|DR(#u0; zSd0%F2UFF27#=q=6!p6Umt~Ln1`tAj7S<@9l_oKw=jF2CCW80RkmKrKJMV;Q)=wUW z%L+;PUahscCr3-Eh0UOWl#XOT3r;e=7Uv+tPrL;VXq8lk8e`SpNPr4{26vk>f z#PWRyQ1bJ?G=FpDRGLU1dz?rHy%FBKSx$XW7pZKS1)e9)Bzc%Zusd6s&`dXM@o!^}U7q$@^o^23M@$Br0q9lIQ5}%lx zzIoSUtDK68A1Xt~Sy~FWb~P-|R4{gA9pu%&v;o|EC9($?hK!!do32Na#BP1ohD)SS zZ_}r&_TGJBQ3;k^RAc3117o*s2NcbBdGBOIdM+aP9 zeg!fK=kF_8Gcw-AoX@X;>c_NJ&3Z2`l`J3S zTTMMIXT5*7E%fESYi+a-pMX_AVM60`aYvzFwxI8qJWR*CC#N<@)E^&krTKqE78so( znF9`pDCnG=24JnyI$P>ltUJoW{$+?ztRG8H}&9> zY5u3%1KU@`jt)z@o%Sz`hB*iTqmK_9#VFzw0@=|x$lN!j@`J~4|5A|H_n3S=2C61J z@Q=r72N*w}T1w;eRbtl1rfKO6J{R5VBMpn2j!61ZfLcj2WB>NZ!eMLTfIztXfS_M; zfh=nB3=Jb~G4qee7U$SV+B`6FY@78s_IwW`*GQKE7xH)(GWKyI)B4F{HvOKm1jHb@E}JZr?k7VIEaFjDCEG$QSVTXocW?QSqxR ziM}$J+SAe3mdfGg&|k;JZL{ju7Vl1)pUUc1m-}OpZM(H8F~kn^kb*T~@@4zhjo6>Y z&ZRF+ml-%5mn+4j+bp1#GY+vqd7%;BnbLjXNhrxK5ti5thL&*{Uq#ExzqLJ$)rLGk z7J&HzPDi#~^cy4t07UxgeJFCUwEXkT;Cr&yndWAUx87I?+oDtKwa^RG!*+T~u=ld{In}?8ZtQ;>2VESMhx}7+yCml7yJS=Uk zOs9+s$Iy;}=r_6VJA<*&{dN=Z@3%miZ=LoJ!^BcXiAG5M2y2kD%iXbeEOJ(hgMxR- zP;8XN^z~^4T9M-YhTU*aoJnfZMwTOjX|GwB-0j+T>-Czh&4X`iA-yXQK0Y3je0?y_ zxh(nUcq2cs260XNsMq!hHm@*h&a#|_s_NI|D!uV2qR2b?b4Af|@UY&%3MA=QTV+~g z;3Kxu&?^%9OS4tGJsec4+IONg4k$03g(>J}LFvXh%dgQ9JcF@2BedkU?(Z)TGbt3c zw0>sizN6>~8N{FQ%Hsr`AS`LBzGR->kYn3_XwmZ$5;$?hcXJz<^uyK*w_mQQ4 zBMdz3K;uih4`B6=@Cv^){DkF>R8OB;q#Rd#&|twOEX+iC5ftS7c>XFuMNdyeDJC|j ztOr2(N_>t1#ry#m+zY=0CJz1JfGW6nQTi4MWFw4(m55QxgRRGHSZddlXD+|`|AWu2 zMpfkTzK*I`b$0FlHc(R`$j!|S;(2rbJBk=&|2S$Z#L9~4FCKX^Wl=`U;|)ecL_|e# z^m}V4*RXrE%LvvN2C{LMwN}a6%KMjo66(u(ja7YM{OTn1!!Lx&&b@mVcv3~+s`C~m7TwWZO>`zm53`r%&mwC#!X1JT@ zh?P{L!%qO&)tGPS`AWE>3Kr2}fNoKm{TdaoXGIg^YO&hq#29>E=4*l#L_H!g%;LfqbO3)fIQ(TBOpX}$meR}0R>jTemjdXl< ztTxNH-c5A;m_9G2{7yOdNQ%NVG}a`csc)BDXWmpwg63iHE5Xc-_k6~k%4&sezpVwc z7Mgvq7MuO_JldYLo0eLQJC_eMQd6trT1Tt%UB+0NJ!nAv#l^fg@)u1nx3YQ>jFS7a zn7{&YqskbTv|YVMgmw9FQU@gX+PzG8bT)SQzMJ*v_!WOdIduBA(Bb%LLf?;N*>-Gf zOfTBUw;@a#=4ww)O!(#t@c4mZyFNP{LzNu+T@wkFm6bJ9c*P%FqLXAb8}6&X4hEeU0jON&Fb}hr7|5Q#dPz8<-?bat zhVkicVx-r&q=bmxz%^- zg%+%TMN9usmT}-OTiHIh!}19h;y;49A~9>|p7;Od9jB3Hce(x^lI8UiZGV?7sCcU@ z-7HWbD|>lB0I2)4zT#AKFcU#R$;cR95u08)^UZ-IaN6=!j{Et# z&;6QvT8e++ivkyDkqz@p_a19kf)G4116|_qH9V8??8X_p|?%fVB1|DF-65bsc;1XI4>pfvCSh$@?FBnVFSA{jO}Y; zf~wZ;?$Ww9ypr3fFME=r3Fc#wgQ=Ld4;s3=9{T;?$4p`C+`;%P+QW~@tOhXPprx92 z-@i-f!oLEP_YH0E%LN=1s9@WK7>*M@?p9+a{JR_(-7qvOTRq4BvXSz63?Dt^28R5D z7>~HL#RizV+9Hb2A@Wf_Tx4I5u#s`f;G7YRjh>%5YmA1sxa^_)!fk%!4B_syvzjgX zKYg5eJd|r2$2lrFwvMTnWRk?GB#oW1mx%@?jcgN#&`=V|)_ANZGIr9~moaE;G0j+t zQq4FgWSy~vEQ5q&Erapi-uM0ceg1ns&;2~leO;gHbKTeHy1&0W0n=!JNha5GUa_6o zANFxNiSla`a(vw1qVGEf>^!@{@18X;U;+KSdkDe1HemWROn%y5iR^LVk3dNiwegsa zsOMcf(F+78m&F{N)~k50N8Euh9#ypkMOpFm^b~MCGD}qRJSZln8BgN_aEFkXm?9FH z4Nw*3+nDv;A&TTKcLjYsK50hA_n&cNgDd7=tKWqDR$(@O27meQCESkjZmghJ3$zs_ z#;|dE%y0w7=e3ggm5PTXQ*Vt=o2m%3afS;o3R1kq;CdelFFu)~_Phi!`wkB49B?c8 zWCSU}76D_J1K6FTp%(kJdKjU5MvBN9;lgl_8-ugWI7$Xtxy;0n=Vmek~uLdmN>*tk~nKgI9v7y|gkIb~(+>W+HxEwN@ zIWc*rvs1HojEYNRuEEdj%9=V~W~L1!glpX&Y6m6-O+azK2g%Lt4_W`_uBG;h>c&X? zx;EDfbjq0#JX^)bfc*EsrE`Ye3k)R_Z5vCRLsW%QkI57AmPIYL%BHHp5Ti3j5HH;J#4lL43X!h>7sK>rgs_t%Y2 zSEV89(_Zp6z)DTb%npWc`w1?W$R0To1E3cq($PRtLc#>Vlx83iQoRHMY@Hje*leWh zoYUBV#yG-_={wsc7qT`hw>11-b%A5a%GJm*{cDL zxNB>N@RAR*#$nUEZfEeaU(D0-M};jbAw_U8 zb=>RfW%Kj1PGfz8Lf!yqCrBY80T0b45>*#Q@u3wEA&gi{UV(9XgFL=wT*{*)yM}70} zqt>Cf8m;0_+u4VeM||O|YO%;ERRQ#EJ|G>Jlb4SIX}p_kc}z@3`vg5gIss*3ViFr4 zKM8{Jc;@w2_G8^@0RgZQ43%GT(3L%Qi~<1Rvj_y@6{ZXK z)a}=)S{A9hX#4u`B%m+(9~^9t5tiJW`r8NrKO|{oTE*1M;Re)L1hhr&{?f=t72{Tp zvmI5{#gn+IVPZ|(gKr_)63i3~V^Vh{gww2f~xGwF=Hlg7Ev)ywuBS)vEez<%6Wm9S77 zgCii)>o>X&GQ6Y%4+;sTP}1w_>OlG-gEk6*ATlxG1%-Ruj-9MY?tfXMI*|Q+Vy5?Z3QP(%}AORIo@8$N-SlF$~AR6#3Vc=BO(uTsY6aqR0ZYxkJ3^?>s8i3fb1j5w# zyCFH1R3WE&-***SkAS8T0HpjMH2>diN@HNsF`Zs2 zn$y8o3v6i%Xc|PsdtrG;)jXs|@jtMI;1@D_LCN30-)+jR7^2@7KS8%)(VHLMQq2cr z>emIvJ%Bft)sH)inoDba7pdcreSI?rBEDq|K6$RK9v^oR?rrz1r&-mpPrsg$YVV($ z?PDW4UEeD#dA^49MU$&ujTn10T+!)miQV+B%qK(Em@3=NvW)v522)l_OY>XgskmNL z0HJoTh?BO$7_)zevLTVevw~6g7hd*X)n+$&vqlb!G^d1bVXXg_q^KVVFmJl|=(D#u z_+YsqwNQI9!|$niI1q-d3m-mR?B=*xAL+hHqYpA->*U>G8-1&WzT@HceF_0ouU;~g zu&qZDGs?Sg%X3YEbjNxxR+`Iu!(T~TO^LwrxG>pDE4nVP*PhL)nLo+L$6vE|Fu|(8 z3?m|Wbk6CZUCV&7^Ur59S{2SoNVjYAJwLFMpZL6no2e{1sd>2X+u2=* zF%1uoXR1i+6iN!(v|t=;g1Z)P(q}?pPxEB?9|tV6|~AKz|oDBYg3D=lami6or{7>=Rr6GUfxLdc-!Nr zWAdNTieQg9C@5`yG+d#N6GMx6#-LmZ@Nqq&x4!a&+&uKUi`LZ>lo7PGIlsLOs(EJi u$c6vPz%}+>ge4{YPbuF067_%U|82<0O2I%SFrL5%E^||>OI0Q=k^cq{s0}Ru From f0c30d2f16f4cec541cb2797abad6c866e470b2f Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Sun, 8 Feb 2015 20:50:45 +0100 Subject: [PATCH 039/143] Corrects multiple conflicts in engineering, where areas had changed paths or been replaced. --- maps/exodus-1.dmm | 147 ++++++++++++++++++++++++---------------------- 1 file changed, 76 insertions(+), 71 deletions(-) diff --git a/maps/exodus-1.dmm b/maps/exodus-1.dmm index 6681f553827..360948e33c0 100644 --- a/maps/exodus-1.dmm +++ b/maps/exodus-1.dmm @@ -470,7 +470,7 @@ "ajb" = (/obj/machinery/light{dir = 1},/obj/machinery/firealarm{pixel_y = 24},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/brig) "ajc" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/wall,/area/crew_quarters/heads/hos) "ajd" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/camera{c_tag = "HoS Office South"; dir = 1},/obj/structure/flora/pottedplant,/obj/machinery/newscaster/security_unit{pixel_x = -30},/turf/simulated/floor{icon_state = "dark"},/area/crew_quarters/heads/hos) -"aje" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "dark"},/area/crew_quarters/heads/hos) +"aje" = (/obj/structure/table,/obj/item/device/t_scanner,/turf/simulated/floor/plating{dir = 1; icon_state = "warnplatecorner"},/area/maintenance/security_starboard) "ajf" = (/obj/machinery/computer/security,/turf/simulated/floor{icon_state = "dark"},/area/crew_quarters/heads/hos) "ajg" = (/obj/machinery/computer/secure_data,/turf/simulated/floor{icon_state = "dark"},/area/crew_quarters/heads/hos) "ajh" = (/obj/structure/filingcabinet,/turf/simulated/floor{icon_state = "dark"},/area/crew_quarters/heads/hos) @@ -571,7 +571,7 @@ "akY" = (/obj/structure/closet/secure_closet/detective,/obj/item/weapon/reagent_containers/food/drinks/flask/detflask,/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office) "akZ" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating,/area/maintenance/security_starboard) "ala" = (/obj/machinery/door/airlock/maintenance{name = "Firefighting equipment"; req_access_txt = "12"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/security_starboard) -"alb" = (/obj/structure/table,/obj/item/device/t_scanner,/turf/simulated/floor/plating,/area/maintenance/security_starboard) +"alb" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/maintenance/security_starboard) "alc" = (/obj/machinery/atmospherics/pipe/tank/nitrous_oxide{dir = 4},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 9},/area/security/brig) "ald" = (/obj/machinery/atmospherics/valve{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 5},/area/security/brig) "ale" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/obj/machinery/meter,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/security/brig) @@ -640,7 +640,7 @@ "amp" = (/obj/structure/table/woodentable,/obj/item/ashtray/bronze,/obj/item/weapon/storage/fancy/cigarettes/dromedaryco,/obj/item/device/flash,/obj/item/weapon/handcuffs,/turf/simulated/floor/carpet,/area/security/detectives_office) "amq" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/carpet,/area/security/detectives_office) "amr" = (/obj/item/weapon/storage/secure/safe{pixel_x = 35; pixel_y = 5},/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office) -"ams" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/security_starboard) +"ams" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/structure/extinguisher_cabinet{pixel_x = 5; pixel_y = -29},/turf/simulated/floor{icon_state = "dark"},/area/crew_quarters/heads/hos) "amt" = (/obj/structure/disposalpipe/segment,/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/security_starboard) "amu" = (/obj/machinery/door/airlock/engineering{name = "Security Substation"; req_access_txt = "0"; req_one_access_txt = "11;24"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/substation/security) "amv" = (/obj/machinery/light/small{dir = 1},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/power/sensor{name = "Powernet Sensor - Security Subgrid"; name_tag = "Security Subgrid"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green,/turf/simulated/floor/plating,/area/maintenance/substation/security) @@ -1310,7 +1310,7 @@ "azj" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating{dir = 4; icon_state = "warnplatecorner"},/area/maintenance/library) "azk" = (/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Substation - Civilian East"},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/maintenance/substation/civilian_east) "azl" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/maintenance/library) -"azm" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/maintenance/bar) +"azm" = (/obj/structure/extinguisher_cabinet{pixel_x = 25; pixel_y = 0},/turf/simulated/floor{icon_state = "cult"; dir = 2},/area/lawoffice) "azn" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/maintenance/library) "azo" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard) "azp" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "solar_chapel_outer"; locked = 1; name = "Engineering External Access"; req_access = null; req_access_txt = "10;13"},/obj/effect/decal/cleanable/dirt,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard) @@ -1367,9 +1367,9 @@ "aAo" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/item/device/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_x = -2; pixel_y = -28},/turf/simulated/floor{dir = 10; icon_state = "neutral"},/area/crew_quarters/fitness) "aAp" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/crew_quarters/fitness) "aAq" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/crew_quarters/fitness) -"aAr" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/reagent_dispensers/watertank,/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor/plating,/area/maintenance/bar) -"aAs" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/maintenance/bar) -"aAt" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/bar) +"aAr" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/library) +"aAs" = (/obj/item/device/radio/intercom{pixel_x = 28},/obj/machinery/libraryscanner,/turf/simulated/floor/wood,/area/library) +"aAt" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/maintenance/library) "aAu" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard) "aAv" = (/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "solar_chapel_pump"; tag_exterior_door = "solar_chapel_outer"; frequency = 1379; id_tag = "solar_chapel_airlock"; tag_interior_door = "solar_chapel_inner"; pixel_x = 25; req_access_txt = "13"; tag_chamber_sensor = "solar_chapel_sensor"},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "solar_chapel_sensor"; pixel_x = 25; pixel_y = 12},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1379; id_tag = "solar_chapel_pump"},/obj/effect/decal/cleanable/dirt,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/decal/warning_stripes,/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard) "aAw" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/hallway/secondary/entry/fore) @@ -1418,9 +1418,9 @@ "aBn" = (/obj/machinery/light_switch{pixel_y = -25},/obj/structure/closet/athletic_mixed,/turf/simulated/floor{icon_state = "neutral"},/area/crew_quarters/fitness) "aBo" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/structure/flora/pottedplant{tag = "icon-plant-06"; icon_state = "plant-06"},/turf/simulated/floor{icon_state = "neutral"},/area/crew_quarters/fitness) "aBp" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "neutral"},/area/crew_quarters/fitness) -"aBq" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/maintenance/bar) +"aBq" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/maintenance/library) "aBr" = (/obj/structure/closet/lasertag/red,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor{icon_state = "neutral"; dir = 6},/area/crew_quarters/fitness) -"aBs" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor/plating,/area/maintenance/bar) +"aBs" = (/obj/machinery/camera{c_tag = "Fore Port Solar Access"},/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/maintenance/arrivals) "aBt" = (/obj/machinery/button/driver{id = "chapelgun"; name = "Chapel Mass Driver"; pixel_x = 25},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main) "aBu" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard) "aBv" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard) @@ -1609,7 +1609,7 @@ "aEW" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor{icon_state = "neutral"; dir = 4},/area/crew_quarters/sleep) "aEX" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard) "aEY" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard) -"aEZ" = (/obj/machinery/camera{c_tag = "Fore Starboard Solars"; dir = 1},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Fore Starboard Solar"},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard) +"aEZ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/maintenance/arrivals) "aFa" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/maintenance/bar) "aFb" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/maintenance/bar) "aFc" = (/obj/structure/table,/obj/item/weapon/paper{desc = ""; info = "Brusies sustained in the holodeck can be healed simply by sleeping."; name = "Holodeck Disclaimer"},/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/light/small{dir = 1},/turf/simulated/floor,/area/crew_quarters/fitness) @@ -1632,10 +1632,10 @@ "aFt" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/hallway/secondary/entry/port) "aFu" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/turf/simulated/floor/plating,/area/maintenance/arrivals) "aFv" = (/obj/structure/closet/wardrobe/red,/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/checkpoint2) -"aFw" = (/obj/machinery/camera{c_tag = "Fore Port Solar Access"},/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating{dir = 8; icon_state = "warnplatecorner"},/area/maintenance/arrivals) +"aFw" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating{dir = 1; icon_state = "warnplate"; nitrogen = 0.01; oxygen = 0.01},/area/maintenance/arrivals) "aFx" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/maintenance/arrivals) -"aFy" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor/plating{dir = 4; icon_state = "warnplatecorner"},/area/maintenance/arrivals) -"aFz" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/maintenance/arrivals) +"aFy" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/maintenance/library) +"aFz" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/plating,/area/maintenance/library) "aFA" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "red"},/area/security/checkpoint2) "aFB" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/maintenance/arrivals) "aFC" = (/turf/simulated/wall,/area/maintenance/substation/civilian_west) @@ -1688,8 +1688,8 @@ "aGx" = (/obj/machinery/door/airlock/engineering{icon_state = "door_closed"; locked = 0; name = "Fore Starboard Solar Access"; req_access_txt = "10"},/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard) "aGy" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = 0},/turf/simulated/wall/r_wall,/area/maintenance/auxsolarstarboard) "aGz" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/turf/simulated/floor/plating,/area/crew_quarters/fitness) -"aGA" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/plating,/area/maintenance/bar) -"aGB" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Bar\\Library Maintenance"; req_access_txt = "0"},/turf/simulated/floor/plating,/area/maintenance/library) +"aGA" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/reagent_dispensers/watertank,/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor/plating,/area/maintenance/library) +"aGB" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/maintenance/library) "aGC" = (/obj/machinery/computer/HolodeckControl,/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/crew_quarters/fitness) "aGD" = (/obj/item/weapon/cigbutt,/obj/effect/decal/cleanable/dirt,/obj/structure/cable,/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/turf/simulated/floor/plating,/area/maintenance/library) "aGE" = (/obj/structure/disposalpipe/segment,/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/library) @@ -1762,11 +1762,11 @@ "aHT" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Solar - Fore Port"},/turf/simulated/floor/plating,/area/maintenance/auxsolarport) "aHU" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/crew_quarters/fitness) "aHV" = (/obj/structure/closet,/obj/item/device/flashlight,/obj/effect/decal/cleanable/cobweb2,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating,/area/maintenance/bar) -"aHW" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/maintenance/bar) -"aHX" = (/obj/structure/disposalpipe/sortjunction/flipped{dir = 4; sortType = "Chapel"; name = "Chapel"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/maintenance/bar) -"aHY" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/camera{c_tag = "Fore Starboard Solar Access"; dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/maintenance/bar) +"aHW" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/library) +"aHX" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/maintenance/library) +"aHY" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/library) "aHZ" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/effect/decal/cleanable/blood/oil/streak{amount = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/maintenance/bar) -"aIa" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/bar) +"aIa" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor/plating,/area/maintenance/library) "aIb" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/camera{c_tag = "Holodeck South"; dir = 1; pixel_y = 6},/turf/simulated/floor/plating,/area/crew_quarters/fitness) "aIc" = (/obj/machinery/door/airlock/maintenance{name = "Library Maintenance"; req_access_txt = "0"; req_one_access_txt = "12;37"},/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/library) "aId" = (/obj/item/device/radio/intercom{pixel_y = 25},/obj/structure/table/woodentable,/obj/item/weapon/dice/d20,/obj/item/weapon/dice,/turf/simulated/floor/wood,/area/library) @@ -1850,8 +1850,8 @@ "aJD" = (/obj/structure/table/reinforced,/obj/item/device/radio/intercom{freerange = 1; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 28},/obj/item/weapon/packageWrap,/obj/item/weapon/hand_labeler,/obj/item/weapon/reagent_containers/spray/cleaner{desc = "Someone has crossed out the 'Space' from Space Cleaner and written in Chemistry. Scrawled on the back is, 'Okay, whoever filled this with polytrinic acid, it was only funny the first time. It was hard enough replacing the CMO's first cat!'"; name = "Chemistry Cleaner"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) "aJE" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/sleep/engi_wash) "aJF" = (/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/sleep/engi_wash) -"aJG" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/meter,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/bar) -"aJH" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating,/area/maintenance/bar) +"aJG" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/maintenance/library) +"aJH" = (/obj/structure/disposalpipe/sortjunction/flipped{dir = 4; sortType = "Chapel"; name = "Chapel"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/maintenance/library) "aJI" = (/obj/structure/filingcabinet,/turf/simulated/floor/wood,/area/library) "aJJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/wood,/area/library) "aJK" = (/obj/structure/stool/bed/chair/office/dark,/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/machinery/camera{c_tag = "Library North"; dir = 2; network = list("SS13")},/turf/simulated/floor/wood,/area/library) @@ -1871,7 +1871,7 @@ "aJY" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/substation/civilian_west) "aJZ" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/power/sensor{name = "Powernet Sensor - Civilian West"; name_tag = "Civilian West Subgrid"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green,/turf/simulated/floor/plating,/area/maintenance/substation/civilian_west) "aKa" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/power/breakerbox/activated{RCon_tag = "Civilian West Substation Bypass"},/turf/simulated/floor/plating,/area/maintenance/substation/civilian_west) -"aKb" = (/obj/machinery/meter,/obj/machinery/door_control{id = "mixvent"; name = "Mixing Room Vent Control"; pixel_x = -25; pixel_y = 5; req_access_txt = "7"},/obj/machinery/button/ignition{id = "mixingsparker"; pixel_x = -25; pixel_y = -5},/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "warnwhitecorner"},/area/rnd/mixing) +"aKb" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/camera{c_tag = "Fore Starboard Solar Access"; dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/maintenance/library) "aKc" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/storage/emergency2) "aKd" = (/turf/simulated/floor,/area/hallway/secondary/entry/starboard) "aKe" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/storage/emergency2) @@ -2611,7 +2611,7 @@ "aYk" = (/obj/structure/stool/bed/chair/comfy/black,/turf/simulated/floor/wood,/area/library) "aYl" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/green{pixel_x = 1; pixel_y = 5},/turf/simulated/floor/wood,/area/library) "aYm" = (/obj/effect/landmark/start{name = "Librarian"},/obj/structure/stool/bed/chair/office/dark,/turf/simulated/floor/wood,/area/library) -"aYn" = (/obj/item/device/radio/intercom{pixel_x = 25},/obj/machinery/libraryscanner,/turf/simulated/floor/wood,/area/library) +"aYn" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/meter,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/library) "aYo" = (/obj/structure/stool,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{dir = 8; icon_state = "chapel"},/area/chapel/main) "aYp" = (/obj/structure/stool,/turf/simulated/floor{icon_state = "chapel"},/area/chapel/main) "aYq" = (/obj/structure/stool,/turf/simulated/floor{dir = 8; icon_state = "chapel"},/area/chapel/main) @@ -3503,7 +3503,7 @@ "bps" = (/obj/machinery/camera{c_tag = "Robotics"; dir = 2; network = list("SS13","Research"); pixel_x = 22},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor{dir = 4; icon_state = "whiteredcorner"},/area/assembly/robotics) "bpt" = (/turf/simulated/floor{dir = 1; icon_state = "whitered"},/area/assembly/robotics) "bpu" = (/obj/structure/stool,/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor{dir = 1; icon_state = "whitered"},/area/assembly/robotics) -"bpv" = (/obj/structure/filingcabinet/chestdrawer,/turf/simulated/floor{dir = 1; icon_state = "whitered"},/area/assembly/robotics) +"bpv" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating,/area/maintenance/library) "bpw" = (/obj/machinery/door/airlock/research{name = "Research Division Access"; req_access_txt = "47"},/turf/simulated/floor{icon_state = "white"},/area/hallway/primary/starboard) "bpx" = (/obj/structure/sign/securearea,/turf/simulated/wall,/area/hallway/primary/starboard) "bpy" = (/obj/structure/table,/obj/item/stack/sheet/glass{amount = 50; pixel_x = 3; pixel_y = 3},/obj/item/stack/sheet/metal{amount = 50},/obj/item/clothing/glasses/welding,/turf/simulated/floor{dir = 1; icon_state = "whitepurple"},/area/rnd/lab) @@ -3601,7 +3601,7 @@ "brm" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/lab) "brn" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor{icon_state = "white"},/area/rnd/lab) "bro" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/lab) -"brp" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor{icon_state = "white"},/area/rnd/lab) +"brp" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Bar\\Library Maintenance"; req_access_txt = "0"},/turf/simulated/floor/plating,/area/maintenance/library) "brq" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/storage/emergency) "brr" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/storage/emergency) "brs" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/hallway/secondary/entry/aft) @@ -4091,7 +4091,7 @@ "bAI" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) "bAJ" = (/obj/machinery/door/firedoor,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) "bAK" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) -"bAL" = (/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 0; pixel_y = -22},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) +"bAL" = (/obj/machinery/meter,/obj/machinery/door_control{id = "mixvent"; name = "Mixing Room Vent Control"; pixel_x = -25; pixel_y = 5; req_access_txt = "7"},/obj/machinery/button/ignition{id = "mixingsparker"; pixel_x = -25; pixel_y = -5},/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/structure/extinguisher_cabinet{pixel_x = 0; pixel_y = -29},/turf/simulated/floor{dir = 4; icon_state = "warnwhitecorner"},/area/rnd/mixing) "bAM" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor{dir = 2; icon_state = "whitepurplecorner"},/area/medical/medbay2) "bAN" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{dir = 2; icon_state = "whitepurple"},/area/medical/medbay2) "bAO" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{dir = 8; icon_state = "whitepurplecorner"},/area/medical/medbay2) @@ -4273,8 +4273,8 @@ "bEi" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/rnd/research) "bEj" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/rnd/research) "bEk" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/rnd/research) -"bEl" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "0"; req_one_access_txt = "12;47"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/research_shuttle) -"bEm" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "0"; req_one_access_txt = "12;47"},/turf/simulated/floor/plating,/area/maintenance/research_shuttle) +"bEl" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/extinguisher_cabinet{pixel_x = 5; pixel_y = -29},/turf/simulated/floor{icon_state = "white"},/area/rnd/misc_lab) +"bEm" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/turf/simulated/floor{icon_state = "white"},/area/medical/patient_wing) "bEn" = (/turf/simulated/wall,/area/maintenance/research_shuttle) "bEo" = (/turf/simulated/floor{icon_state = "white"},/area/rnd/docking) "bEp" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{dir = 4; icon_state = "whitebluecorner"},/area/rnd/docking) @@ -5083,7 +5083,7 @@ "bTM" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = -32},/obj/structure/cable/green,/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "hop_office_window"; name = "HoP Office Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/crew_quarters/heads/hop) "bTN" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable/green,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "hop_office_window"; name = "HoP Office Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/crew_quarters/heads/hop) "bTO" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/command{name = "CMO's Office"; req_access_txt = "40"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay4) -"bTP" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/turf/simulated/floor{icon_state = "bot"},/area/rnd/research) +"bTP" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/extinguisher_cabinet{pixel_x = 25; pixel_y = 0},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay4) "bTQ" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{icon_state = "bot"},/area/rnd/research) "bTR" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/medical/medbay4) "bTS" = (/obj/machinery/door/firedoor,/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay4) @@ -5441,7 +5441,7 @@ "caG" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/green,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood,/area/medical/psych) "caH" = (/obj/structure/table/woodentable,/obj/machinery/computer/med_data/laptop,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/wood,/area/medical/psych) "caI" = (/turf/simulated/wall,/area/medical/psych) -"caJ" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/patient_wing) +"caJ" = (/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = -5; pixel_y = -22},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/extinguisher_cabinet{pixel_x = 6; pixel_y = -29},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) "caK" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor{icon_state = "dark"},/area/medical/biostorage) "caL" = (/obj/structure/table,/obj/item/weapon/storage/box/lights/mixed,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 0; pixel_y = 22},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/medical/biostorage) "caM" = (/obj/structure/table,/obj/machinery/computer/med_data/laptop,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor{dir = 9; icon_state = "whitered"},/area/medical/patient_c) @@ -5494,7 +5494,7 @@ "cbH" = (/obj/structure/urinal{pixel_y = 32},/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/sleep/engi_wash) "cbI" = (/turf/simulated/wall,/area/medical/surgeryobs) "cbJ" = (/obj/machinery/camera{c_tag = "Medbay Surgery Access"; dir = 4; network = list("SS13")},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay4) -"cbK" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay4) +"cbK" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/structure/extinguisher_cabinet{pixel_x = -5; pixel_y = 28},/turf/simulated/floor{icon_state = "bot"},/area/rnd/research) "cbL" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/medical,/obj/machinery/vending/wallmed1{pixel_x = -26},/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/ward) "cbM" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/medical/ward) "cbN" = (/turf/simulated/floor{icon_state = "white"},/area/medical/ward) @@ -5786,7 +5786,7 @@ "chn" = (/obj/machinery/light/small,/turf/simulated/floor/engine{carbon_dioxide = 0; name = "phoron floor"; nitrogen = 0; oxygen = 0; phoron = 70000},/area/engineering/atmos) "cho" = (/obj/machinery/light/small,/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/engineering/atmos) "chp" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/engineering/drone_fabrication) -"chq" = (/obj/machinery/power/smes/buildable{charge = 1e+007; cur_coils = 4; input_attempt = 1; input_level = 500000; output_level = 500000; RCon_tag = "Engine - Main"},/obj/structure/cable,/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/engine/engine_smes) +"chq" = (/obj/structure/extinguisher_cabinet{pixel_x = -25},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics_cloning) "chr" = (/obj/structure/table,/obj/item/weapon/storage/box/gloves{pixel_x = 4; pixel_y = 4},/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/item/weapon/storage/box/masks,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor{dir = 9; icon_state = "blue"},/area/medical/surgeryprep) "chs" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{dir = 1; icon_state = "bluecorner"},/area/medical/surgeryprep) "cht" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor{dir = 4; icon_state = "blue"},/area/medical/surgeryprep) @@ -5903,7 +5903,7 @@ "cjA" = (/obj/machinery/power/terminal{dir = 4},/obj/structure/cable/yellow,/obj/machinery/power/sensor{name = "Powernet Sensor - Engine Output"; name_tag = "Engine Output"},/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/engineering/engine_room) "cjB" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/construction) "cjC" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/engineering{name = "Construction Area"; req_access_txt = "32"},/turf/simulated/floor/plating,/area/construction) -"cjD" = (/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/obj/machinery/power/smes/buildable{charge = 2e+006; RCon_tag = "Engine - Core"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/engine/engine_room) +"cjD" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "0"; req_one_access_txt = "12;47"},/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/maintenance/research_shuttle) "cjE" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/engineering/engine_room) "cjF" = (/obj/machinery/light/small{dir = 4},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/engineering/engine_waste) "cjG" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'RADIOACTIVE AREA'"; icon_state = "radiation"; name = "RADIOACTIVE AREA"; pixel_x = 0; pixel_y = 0},/turf/simulated/wall/r_wall,/area/engineering/engine_room) @@ -6088,7 +6088,7 @@ "cnd" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) "cne" = (/obj/machinery/atmospherics/pipe/manifold/hidden/yellow{tag = "icon-map (WEST)"; icon_state = "map"; dir = 8},/turf/simulated/wall/r_wall,/area/engineering/atmos/storage) "cnf" = (/obj/structure/stool/bed/chair/comfy/black{dir = 4},/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/medical/surgeryprep) -"cng" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor{icon_state = "blue"; dir = 4},/area/medical/surgeryprep) +"cng" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "0"; req_one_access_txt = "12;47"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/maintenance/research_shuttle) "cnh" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/engineering) "cni" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery2) "cnj" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery2) @@ -6196,7 +6196,7 @@ "cph" = (/obj/machinery/status_display,/turf/simulated/wall,/area/medical/surgery2) "cpi" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/maintenance/medbay) "cpj" = (/obj/structure/disposalpipe/segment,/obj/machinery/light/small{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/power/sensor{name = "Powernet Sensor - Atmospherics Subgrid"; name_tag = "Atmospherics Subgrid"},/obj/structure/cable/cyan{d2 = 4; icon_state = "0-4"},/obj/structure/cable/cyan,/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engineering/atmos/storage) -"cpk" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_x = 0; pixel_y = 32},/obj/structure/cable/cyan{d2 = 8; icon_state = "0-8"},/obj/machinery/power/smes/buildable{charge = 2e+006; RCon_tag = "Substation - Atmospherics"},/turf/simulated/floor/plating,/area/atmos) +"cpk" = (/obj/structure/filingcabinet/chestdrawer,/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/turf/simulated/floor{dir = 1; icon_state = "whitered"},/area/assembly/robotics) "cpl" = (/turf/simulated/floor/engine,/area/rnd/xenobiology) "cpm" = (/mob/living/carbon/slime,/turf/simulated/floor/engine,/area/rnd/xenobiology) "cpn" = (/turf/simulated/wall/r_wall,/area/engineering) @@ -6613,7 +6613,7 @@ "cxi" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) "cxj" = (/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) "cxk" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) -"cxl" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = 0; pixel_y = -32; req_access_txt = "0"},/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/turf/simulated/floor,/area/rnd/xenobiology) +"cxl" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/turf/simulated/floor{icon_state = "white"},/area/rnd/lab) "cxm" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/obj/structure/sign/deathsposal{pixel_x = 0; pixel_y = -32},/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/turf/simulated/floor{icon_state = "whitehall"; dir = 1},/area/rnd/xenobiology) "cxn" = (/obj/structure/table,/obj/item/weapon/circular_saw,/obj/item/weapon/scalpel{pixel_y = 12},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor,/area/rnd/xenobiology) "cxo" = (/turf/simulated/wall/r_wall,/area/engineering/engineering_monitoring) @@ -6765,7 +6765,7 @@ "cAe" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cAf" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/wall/r_wall,/area/rnd/xenobiology) "cAg" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall/r_wall,/area/rnd/xenobiology) -"cAh" = (/obj/machinery/light{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/rnd/xenobiology) +"cAh" = (/obj/machinery/power/smes/buildable{charge = 1e+007; cur_coils = 4; input_attempt = 1; input_level = 500000; output_level = 500000; RCon_tag = "Engine - Main"},/obj/structure/cable,/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/engineering/engine_smes) "cAi" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) "cAj" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) "cAk" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) @@ -7179,6 +7179,11 @@ "cIc" = (/obj/item/stack/cable_coil,/turf/space,/area/space) "cId" = (/obj/machinery/light/small,/turf/simulated/floor/plating,/area/engineering/engine_waste) "cIe" = (/turf/simulated/floor/plating,/area/engineering/engine_waste) +"cIf" = (/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/obj/machinery/power/smes/buildable{charge = 2e+006; RCon_tag = "Engine - Core"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/engineering/engine_room) +"cIg" = (/obj/machinery/light{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/extinguisher_cabinet{pixel_x = -24},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/rnd/xenobiology) +"cIh" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_x = 0; pixel_y = 32},/obj/structure/cable/cyan{d2 = 8; icon_state = "0-8"},/obj/machinery/power/smes/buildable{charge = 2e+006; RCon_tag = "Substation - Atmospherics"},/turf/simulated/floor/plating,/area/engineering/atmos/storage) +"cIi" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = -7; pixel_y = -32; req_access_txt = "0"},/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/obj/structure/extinguisher_cabinet{pixel_x = 7; pixel_y = -32},/turf/simulated/floor,/area/rnd/xenobiology) +"cIj" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/obj/structure/extinguisher_cabinet{pixel_x = 25; pixel_y = 0},/turf/simulated/floor{icon_state = "blue"; dir = 4},/area/medical/surgeryprep) "cIJ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/maintenance/portsolar) "cIK" = (/turf/simulated/wall/r_wall,/area/maintenance/portsolar) "cIL" = (/turf/simulated/wall/r_wall,/area/maintenance/engi_engine) @@ -7310,13 +7315,13 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaaaaeaaeaaeaaeaaeaaaaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauaauaauaauaauaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfagUagVagWagWagWagWagWagWagWagDagXagYagZagWahaahbahcahdaheahfahgahhahiahjahkahmahlahnahnahnahnaddahoahpahqahrahsahtahuahvahwagvahxahyaboaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahzaaaaaaaaaahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaaaaeaaeaaeaaeaaeaaaaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfafQafRahAabfahBadEagWahCahDahEahFahGahHagDagZahIahFahJahKahLahLahMahNahOahPacXacXacEacXahQahRahSacQacQacQaddahTahUahVahWahXahYahZaiaaibagvahxaicabOaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadDaidaieaifabfaigadEagWaihaiiaijaikailaimagDagZahIainagWaioahLaipaiqahKahOairaisacXaitacXacXaiuacZahSacQacQaddaiwaixaiyagPagPaizagPagPaiAagvaiBaiCactaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahzaaaaaaahzaaaaaaahzahzahzahzahzahzahzaaaaaaahzaaaaaaahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaewagbagbaiDabfagbadEagWaiEaiFaiGaiHaiIahFagDaiJaiKaiLagWaiMaiNaiOaiOaiPaiQaiRaiSaiTacEaiUaiVaeFaiWaiXaiYaiZakNakfajcajdajeajfajgajhagPajiagvahxabbabbabbabbaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaaIaaIaamaamaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzaaaahzahzahzahzahzahzahzahzahzaaaahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaewagbagbaiDabfagbadEagWaiEaiFaiGaiHaiIahFagDaiJaiKaiLagWaiMaiNaiOaiOaiPaiQaiRaiSaiTacEaiUaiVaeFaiWaiXaiYaiZakNakfajcajdamsajfajgajhagPajiagvahxabbabbabbabbaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaaIaaIaamaamaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzaaaahzahzahzahzahzahzahzahzahzaaaahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfabfajjabfabfajkajlagWagWajmagWagWajnagWagWagWajoagWagWajpajsajrantajtajuagWajvajwajxajyajqagWagWajzajAajBagWagWagWagpajCagpagpagpagpagpagvahxabbajDajEaboaaaaafaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaaaaafaaaaaqaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzaaaahzahzahzahzahzahzahzahzahzaaaahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfagBafYajFafYajGajHajIajJajKajLajMajNajOajPajQajRajSajTajUajVajWajXajUajYajWajWajZakaakaakbakcakdahOakeajbakgajzakhakiakjakkaklakmaknakoakpalaakZakqabOaaaaaaaaaaaaaaaaaaaaaaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafabQaafaaIaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzaaaahzahzahzahzahzahzahzahzahzaaaahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaamaamaaIaamaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfadEagWagWagWagWagWagWaksaktakuakvakwakxakyakzakAakBakCakDabvakFakwakGakwakwakHakIakJakKakLakMajaakOakPakJakQakRakSakTakUakVakWakXakYakoalIabbamsalbactaaaaaaaaaaafaaaaaaaaaaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaaIaaIaaIaaIaaaaaaaaaabpaaaaaaaaaaaIaaIaamaamaamaaaaaaahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaamaamaaIaamaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfadEagWagWagWagWagWagWaksaktakuakvakwakxakyakzakAakBakCakDabvakFakwakGakwakwakHakIakJakKakLakMajaakOakPakJakQakRakSakTakUakVakWakXakYakoalIabbalbajeactaaaaaaaaaaafaaaaaaaaaaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaaIaaIaaIaaIaaaaaaaaaabpaaaaaaaaaaaIaaIaamaamaamaaaaaaahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaafaaaaaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfadEagWalcaldalealfagWalgalhahLalialjagWacTacuacTagWabValnabUagWalpalqalralsagDaltalualvalwalxagWabTabSabSabRagWalBalCalDalEalFalGalHakoamtanQamuanQanQaaaaaaaafaafaaaaaaaaaaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaaaaaaaafaafaafaaaaaaaoYaafaafaaaaafaafaaaaaaaamaaaaaaahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafabMaafaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafabfadEabPalMalMalNalOalPalQalRahKalSaljagWalTalUalValWalXalYalZabhahKambahKamcamdameameamfamgamhamiamjamkamlammakoamnamoampamqalDalDamrakoadQanQamvawKamwaaaaaaaaLaaaaaaaaaaafaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafanTanTanTanTanTaafalJaafanTanTanTanTanTaafaaIaaaaaaahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaamaamaaIaaIaaaaaaaaaaoXaaaaaaaaaaaIaaIaamaamaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfadEagWamAamBamCamDagWamEalRaljamFamGagWamHamIamJalWamKamLamMakEamOamPamQamRamSamgamgamfamgamTaoWamVamWamXamYakoamZanaalDamqalDalDanbakoancandaneamaangaafaaLaafaafaaLaafaafaafakrakranhakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafanianjanjanjanjanualJansanqanqanqanqanwaafaaIaaaaaaahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaamaamaaIaaIaaaaaaaaaaoXaaaaaaaaaaaIaaIaamaamaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfadEagWamAamBamCamDagWamEalRaljamFamGagWamHamIamJalWamKamLamMakEamOamPamQamRamSamgamgamfamgamTaoWamVamWamXazmakoamZanaalDamqalDalDanbakoancandaneamaangaafaaLaafaafaaLaafaafaafakrakranhakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafanianjanjanjanjanualJansanqanqanqanqanwaafaaIaaaaaaahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaafaafaaaaaaaaaaoVaafaafaaaaafaafaaaaaaaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfankagWagWagWagWanlanmannanoanmanmanmanmanpaoPanpanraoQaojaoRanvaoSaoTaoUanzanAamgamgamfanBanCamianDanEamXanFanGanHanIanJanKanLanManNanGanOanPawLanRanSaaaaaaaafaaaaafaaLaafaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafapIapIapIapIapIaafalJaafapIapIapIapIapIaafaaIaaaahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafanVanVanVanVanVaafalkaafanVanVanVanVanVaafaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanXanYanZaoaagDaobaocagWaodaoealKaogaohaoibqKaokaolaomaonaooaonaopaoqaoraonaoOaotamgamgaouaovaowamiaoxanEamXaoyanGaozaoAaoBaoCaoDaoEaoFanGaoGanQanQanQanQaoIaoJaoHaoLarPaaaaafaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaafaaaaaaaafalJaaaaaaaaaaafaaaaaaaaaaamaaaahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaIaafalzalyalyalyalyalAalkallaivaivaivaivagEaafaaIaaaaaaaaaaaaaaaaaaaacaaaaaaaaaanXanXapaapbagDalMapcapdapeapfaofaphapiaoMaonaonapkaplaonapmapnaoraonapoaonaoNapqapramgamfamgamTaosamYanEamXaptanGapuapvapwapxapyapzapAanGapBaoHapCapDapEapFapGaoHaoHapHaoHaoHaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafanTanTanTanTanTaafalJaafanTanTanTanTanTaafaaIaaaaaaahzahzahzahzaaaaaaahzahzahzahzahzahzahzaaaaaaahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -7334,21 +7339,21 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaynayoaypayoayqayoayrayoaysaytayvayvayvayvaywauNawNatqaaaaafaafaaaaaaaaaaaaaafaaaayyayzayAaafaaaaafaaaaaaaaaaaaaaaanXayBayCayDayCayCayCayCayEayCayCayFayGayDayHayIaxMaxMaxMaxMaxMaxMayJayKayLayLayLayLayMayLayLayNayLayMayLayLayLarAayOayPayQarEaAiasZcfSaycaxUatCayUayTayWayVayYayXayYayZayTazaazbazcazdazeazdazdazfawBawCawDawEaxsatRatRatRatRatRatRatRatRatRatRavzaafaaaaaaaaaaaaaaaaaaaaaaaaaafaafaBuaBvaBwaBxaByaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazqazrazsaztazuazvazwazxazyazwazzazAazwazwazBauNavHauRaafaafaaaaaaaaaaaaaaaaafazDazEazFazGazHaaaaafaaaaaaaaaaaaaaaanXazIanXazJazKazLazLazLazMazLazLazLazNazJazOazPazPazPazPazPazPazPazQazRayLazSazTazUazVazWazXazYazZaAaaAbazTaAcarAaAdayPayQarEaAiasZauuaAeauvatCaxWaxXaxXaxXaxXaAjaAkaAlaAmaAnaxkaAoaDtaApaApaApaAqaDratPaCJatPaykatRatRatRatRatRatRatRatRatRatRavzaafaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaCvaCwaCxaCyaCvaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafauNaAwaAxaAwaAyazsazsaAzaAwaAxaAwaAAaABaACaADauNavHauQauQaAEauUauUauUauUauVauQaAFaAGaAHaAIaAFanXanXaxHaAJaxIanXanXanXazIaAKazJaaaaafaaaaafaaaaafaaaaafaaaazJazOazPaALaAMaANaAOaAPazPazQaucayLaAQaAQaARaASaATaAUaAVaATaAWaAXazTaAcarAaAdayPaDdarEaAiasZawXaAgaAhaBbayRaBdaBeaBfaBgaBhaBiaBjaBjaBkaBjatPaBlaBmaBnaBoaBpaBraDuaDvaFcaGzatRatRatRatRatRatRatRatRatRatRavzaafaaaaaaaaaaaaaaaaacaaaaaaaafaaaaCvaDzaDAaDBaCvaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaBzatSaBAawHaBBaBCaBDaBEaBFaBBawHaBGaBHaBIaBJaBKaBLavHavHavHavHavHavHavHavHaBOaBPaAFaBQaBRaBSaAFaBTaBUayCayCayCayCayCaBVaBWaBXazJaafaBYaBYaBYaBYaBYaBYaBYaafazJazOazPaBZaCaaCbaCcaBZazPazQaCdayLayLayLayLaCeaCfaCgaChaCfaCiaCjazTaCkarAaAdayPaClarEaJCasZaAZaAYaBaatCaxWavqatEaBjaBjaBjaBjaBjaCqaCraCsaBjatPatPatPatPaCtatPatPaHSaGCaHRatRatRatRatRatRatRatRatRatRatRayiaafaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaCvaEXaEYaEZaCvaaaaaaaaaaafaafaaaaaaaaaaaaaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaBzatSaBAawHaBBaBCaBDaBEaBFaBBawHaBGaBHaBIaBJaBKaBLavHavHavHavHavHavHavHavHaBOaBPaAFaBQaBRaBSaAFaBTaBUayCayCayCayCayCaBVaBWaBXazJaafaBYaBYaBYaBYaBYaBYaBYaafazJazOazPaBZaCaaCbaCcaBZazPazQaCdayLayLayLayLaCeaCfaCgaChaCfaCiaCjazTaCkarAaAdayPaClarEaJCasZaAZaAYaBaatCaxWavqatEaBjaBjaBjaBjaBjaCqaCraCsaBjatPatPatPatPaCtatPatPaHSaGCaHRatRatRatRatRatRatRatRatRatRatRayiaafaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaCvaEXaEYazhaCvaaaaaaaaaaafaafaaaaaaaaaaaaaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazqaAxaCzaCAaCAaCAaCAaCBaAxazqaaaaBIaCCaxzaBLaCEaCEaCEaCEaCEaCEaCEavHaCFaCGaAFaCHaCIaHTaAFaCKaCLaCKaCKaCKaCKaCKaCKaCKaCKaCMaaaaBYaCNaCOaCPaCQaCRaBYaaaazJazOazPaBZaCSaCTaCUaBZazPazQanXayLaCVaCWaARaCXaCYaCZaDaaDbaDcayLayLayLarAaAdayPayQarEaAiasZaxTaBcauvatCaDgavqatEaDhaDiaDjaDkaBjaCqaDlaCsaBjaDmaDnaDoaDpaDqaGwaDsatPatPaJWaxqaxqaxqaxqaxqaIbaxqaxqaxqaxqaHUaafaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaCvaCvaGxaGyaCvaDCaDDaDEaDCaDCaDCaDCaDCaDCaDCaDFaDGaDGaDGaDHaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaaaaaaaaaaaaDIaDJaDKaDJaDJaDLaDMaDJaDJaDKaDNaDOaBIaDPaxAaBLaDRaDSaDTaDUaDVaDWaCEavHaDXauQaAFaAFaDYaDZaCMaEaaEbaEcaEdaEeaEfaEgaEhaEiaEjaCMaafaBYaEkaElaEmaEnaEoaBYaafazJazOazPaEpaEqaEraEsaEtazPazQaEuayLazSazTaEvaEwaCfaExaEyaATaEzaEAaEBaEBarAaAdayPayQarEaAiaCmaCmaCmaCmaCmaEHaEIatEaEJaEKaEKaELaEMaEKaENaEOaBjaEPaEQaERaESaETaCnaDsaafaaaaafaaaaafaaaaafaaaaafaaaaafaaaaafaaaaafaaaaaaaaaaaaaaaaaaazhaDsaFaaFbaDCazgaziazjaFdaFdaFdaFdaFeaFfaFgaFgaFgaFgaFgaFgaFgaFhaFiaFjaafaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaDIaDNaDJaFkaFlaFlaFmaFnaFoaFpaFqaFlaFlaFraFsaFtaDPayuaBLaFvayxaBMazCaBMaBNaCDavHaFuaDQaFxaFwaFzaFyaFIaFJaFKaFLaFLaFLaFMaFLaFLaFNaFOaCMaaaaBYaFPaElaFQaEnaFRaBYaaaazJazOazPaFSaFTaFUaFTaFVazPazQaFWayLayLayLayLaFXaCfaCgazTaCfaFYaFZazTaGaarAaGbaGcaGdarEaAiaDeaDfazkaCoaDeaCpaGjaGkaGlaGmaBjaBjaBjaBjaBjaBjaGnaGoaGpaGqaDpaGraGsaDsaDsaDsaDsaDsaDsaDsaDsaDsaFaaFbaDsaDsaFaaGtaDsaDsaaaaaaaDsaDsaDsaDsaDsazmaGAaGBazlaznaDCaDCaDCaDCaDCaGDaGEaGFaGFaGFaGFaGFaGFaGGaGGaGHaGGaGGaGGaGGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaFraGIaGJaGKaFlaGLaFlaGLaFlaGLaFlaGLaFlaGMaGNaGOaDPayuaBLaGPaFAaGRaGSaGTaGUaCEaFBaFDaFCaFCaFCbazaFEaFCaHcaFLaFLaFLaFLaFLaFLaFLaFNaHdaCMaafaBYaHeaHfaHgaHhaHiaBYaafazJazOazPaHjaHkaFUaHlaHmazPaHnaHoayLaHpazTaARaHqaATaHrazTaCfaFYaHsazTaHtarAaHuaHvaHwarEaGuaDyaEUaGvaDwaDxaEVaEWatEaHCaHDaBjaHEaBjaHFaBjaHGaBjaHHaGpaHIaDpaHJaHKaHLaHMaHMaHNaHOaHKaHKaHKaHKaHKaHPaHKaHKaHKaHQaHVaDsaDsaDsaDsaAraAsaAtaBqaIaaBsaDCaDCaIcaDCaIdaIeaIfaIgaGFaIhaGFaIiaIjaIkaIlbinaInaIoaIpaIqaIraIsbjFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaIwaFlaFlaDKaFlaGLaFlaGLaIxaGLaIyaGLaFlaGMaGNaGOaDPaFFaIAaIAaFGaICaIDaICaIAaIAaIEaIFaFCaGQaFHaGWaGVaFCaIKaILaIMaFLaFLaINaFLaIOaIPaIKaCMaaaaBYaBYaIQaIRaIQaBYaBYaaaazJazOazPaISaITaIUaFTaIVazPaIWaIXayLaIYazTaIZaEwaCfaJaaEyaATaJbaJcazTaJdaJeaJfaJgaJhaMbaECaCuaCuaCuaCuaCuaJjaJkaJlaJmaJnaBjaJoaBjaJpaBjaJqaBjaJraGpaJsaJtaGsaGsaDqaJvaDsaDsaJwaDsaDsaJxaDsaGsaJyaGsaGsaGsaJzaHZaJBaJAaJAaJAaHXaHYaHWaHWaJGaJHaIgaJIaJJaJKaJLaJMaJNaIgaJOaJPaGFaJQaJRaJSaJTbinaJUaIoaJVaBtaGGaGGaGGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaFraJXaGJaGKaFlaGLaFlaGLaFlaGLaFlaGLaFlaGMaGNaGOaDPaGYaGXaHaaGZaHbaHbaIBaIzaIHaIGaIJaIIaJZaJYatiaKaaFCaIKaKmaKnaKoaKpaIKaKqaKraKsaKtaKuaaaaafaaaaKvaKwaKvaaaaafaaaaKuazOazPaKxaKyaKzaKAaKBazPaKCaKDayLaKEazTaARaKFaKGaHrazTaKHaKIaKJaKKaKLaJeaEDaKNaKOaKPaEEaKRaaaaaaaJlaKSaKTaKUaJlaKVaJnaJnaJnaKWaJnaJnaJnaBjaDpaKXaDpaDpaDpaDpaKYaDpaKZaLaaLbaLcaLdaLeaLfaLgaLhaLfaLfaLfaLfaLfaLiaLfaLfaLfaLfaLfaLfaLfaLfaGraIgaLjaLkaLlaEFaLnaLoaIgaLpathaGFaLraLsaLtaJTaRraJUaIoaJVaIoaLvaLwaLxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaLyaLzaDJaFkaFlaFlaFlaLAaFlaFlaLBaFlaFlaFraLCaLDaDPaLEaLFaLGaLHaLGaLGaLGaLGaLGaLIaLJaFCaFCaFCaFCaFCaFCaLLaLMaLNaLOaLOaLOaLOaLPaLQaLRaKuaLSaLTaLTaLUaLVaLWaLTaLTaLXaKuaLYaKuaKuaLZaMaaLZaJeaJeaMbaMcaJeaJeaJeaJeaMdaMeaMfaMgaMhaMiaJeaJeaJeaJeaMjaKNaMkaMkaMlaMmaMnaMoaJlaMpaMqaMraJlaJlaJlaJlaJlaJlaJlaJlaBjaBjaMsaMtaMuaMvaMwaMxaMyaMzaKZaMAaMBaMCaMCaMDaLfaMEaMFaMGaMHaMIaMJaMKaMLaMMaMNaMHaMJaMIaMHaMOaLfaGraIgaMPaMQaMRaMSaMTaMUaIgaMVaMWaMXaMYaMZaNaaNbaGFaGGaNcaJVaIoaNdaNeaNfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaaaaaaaaaaaaLyaDJaDKaDJaDJaDLaDMaDJaDJaDKaLzaNgaBIaNhaLEaNiaNjaNjaNkaNjaNlaIAaNmaNnaLJaNoaNpaNqaNraNsaNtaNraNuaNraNraNraNvaNraNraNwaNxaNyaNzaNAaNBaNzaNCaNzaNzaNzaNzaNDaNEaNFaNGaNraNHaNIaNJaNKaNLaNMaNLaNNaNOaNPaNQaNQaNRaNSaNTaNSaNUaNVaNWaEGaNYaNZaOaaObaOcaMkaMkaMkaOdaOeaOfaOgaOhaOiaOjaOkaOlaOmaOnaJlaOoaOpaOqaOraOsaOtaOuaOvaOwaOxaKZaOyaOzaOAaOAaOBaLfaOCaODaOEaOEaOEaOEaOFaOGaOHaOIaOJaOKaOKaOLaOMaLfaGraIgaONaOOaOPaOQaONaONaIgaORaOSaGFaOTaOUaOVaOWaGFaIoaIoaJVaIoaGGaGGaGGaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaOXaOYaOZaPaaPaaPaaPaaPbaOYaOXaaaaBIaPcaPdaPeauMatQaPhaPhaPiaIAaPjaNnaPkaPlaPmaPnaPoaPpaPqaPqaPraPsaPsaPsaPtaPuaPuaPvaPwaNIaPqaPqaPxaPyaPzaPAaPBaPBaPCaPBaPDaPyaPyaPyaPEaPFaPGaPHaMkaPIaPJaPJaPJaPJaPJaPJaPJaPJaPKaPJaPLaPMaPNaPOaPPaPQaPRaPSaPTaPJaPUaPJaPVaPWaPXaPWaPWaPWaPWaPWaPWaPYaPZaRsaQbaQbaQbaQcaQbaQbaQdaQeaQfaQgaKZaQhaMCaQiaQjaQkaLfaQlaQmaQnaQnaQnaQnaQnaQoaQpatjaQraQnaQnaQsaQtaLfaGraIgaQuaONaONaQvaONaQwaIgaGFaGFaGFaGFaGFaGFaQxaGFaIoaIoaJVaIoaQyaQzaGGaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaafaBIawqaBIaQBaQCaGOaQDaQEaQFaQGaGOaQCaQHaQIaBIaQJaLEaPeatgaQLaPhaPhaPiaIAaQMaNnaLJaQNaNpaQOaQPaNraNraQQaQRaQSaQTaNraQUaQVaQWaQVaQXaQYaQVaQVaQZaQVaQVaRaaRbaQVaRcaQVaRdaNraNraNraReaPFaPGaPHaMkaRfaMkaRgaRgaRgaRgaRgaRgaRgaRgaRhaRiaRgaRjaRgaRgaRkaRgaRgaRgaRgaRlaRmaRnaRoaRoaRoaRoaRoaRoaRoaRpaRqaRpaJlaImawOawOawOawOawOaItaRuaRvaRwaKZaKZaKZaKZaKZaRxaLfaRyaQmaQnaRzaRAaRBasPaRDaREaRFaQraRGaRHaRIaRJaLfaGraIgaRKaRKaRLaRMaRNaRNaROaIgaRPaRQaRRaGGaRSaRTaRUaRVaRVaRWaRXaGGaRYaGGaRZaRZaRZaSaaSbaScaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaGeaGgaGgaGiaGfaGhaSdaOYaLDaDPaHxaHxaSfaLDaOYaLDaHyaHAaHzaLEaSkaSlaSlaNkaSlaNlaIAaSmaNnaSnaIAaLKaLKaSoaLKaLKaLKaLKaLKaLKaSpaSqaLKaLKaLKaLKaLKaLKaSraSsaSraLKaStaLKaNraQPaSuaSvaSwaSxaNraSyaLKaMbaMbaMkaSzaKOaSAaMnaMnaSBaSBaSBaSBaSCaJeasfasNarVarXarXavParXarXarVasNawFaJeaSJaSKaSKaSKaSKaSLaSLaSMaSNaRqaRpaJlaSOaSPaSPaSPaSPaSPaSPaSQaSRaSSaSTaSUaSVaSWaSXaSYaKZaKZaSZaTaaTbaTcaTdaTeaTeaTeaTfaTgaTfaTeaTeaTeaTeaGraIgaThaONaRLaRMaONaONaTiaIgaTjaTkaTlaGGaIoaTmaTnaToaTpaTqaIoaTraTsaGGaTtaTuaRZaTvaTwaTxaafaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaKQaNXaLmaKMaQAaSgaSeaSiaShaSjaSiaTzaTyaTBaTAaTEaTCaTAaTFcozaTIaTJaTKaTLaTLaTLaTMaTLaTNaTOaIAaTPaTQaTRaTSaTTaTUaTVaTWaTXaTUaTYaTZaUaaUbaUcaUdaUeaUfaUgaUhaUeaUiaLKaLKaUjaLKaLKaLKaLKaUkaUlaLKaUmaMbaUnaSzaKOaUoaaaaaaaaaaaaaaaaaaaaaaUpaUqaUraUsaUtaUvaUuaUxaUwaUzaUyaVUaUpaaaaaaaaaaaaaaaaaaaaaaUAaSNaRqaUBaUCaUDaUEaUFaUFaUFaUFaUGaUHaUIaUFaUFaUFaUJaUKaULaUMaUNaUOaUPaUQaURaUSaUTaTfaUUaUVaUWaUXaUYaUZaVaaVbaTeaGraIgaVcaVcaRLaRMaVdaVdaVeaIgaIgaVfaIgaGGaVgaVhaViaViaViaVjaVkaGGaGGaGGaVlaVmaVnaVoaVpaVqaafaafaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaKQcmVaVrclfaDPaVsaVsaVtaVsaVsaVsaVDaVsaVsaVtaVsaVsaYEaWYaVuaVvaKdaKdaKdaKdaKdaVwaVxaVyaVzaIAaTQaTQaVAaTSaVBaTUaTUaTUaTUaTUaTYaVCaTUaTUaTUaUdaUeclraVEaVFaUeaUiaVGaVHaKeaKcaVKaUmaVLaVMaVNaVOaVPaVQaMkaSzaKOaUoaaaaaaaaaaaaaUpaUpaUpaUpaVRaVSaVTaXEaVVaVWaVXaXFaVZaWaaWbaUpaUpaUpaUpaaaaaaaaaaaaaUAaSNaRqaRpaWcaSSaWdaWeaWfaSSaWgaWhaWiaWjaWkaWlaWmaWnaQbaWoaWpaWqaWraWsaWtaWtaWuaWvaWwaWxaWyaWzaWAaWBaWCaWDaWEaTeaGraIgaThaONaRLaRMaONaONaONaWFaWGaONaWHaGGaWIaWJaToaToaToaTqaIoaYsaGGaQaaVoaLuaWQaVoaWRaWSaWTaWTaWUaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTGaGgaTHaGiaBIaBIaBIaWVaWWaWWaWWaWWaWWaWWaWWaWXaBIaBLcpSaWZaIAaXcaXbaXbaXbaYraXdaIAaIAaIAaIAaTQaXeaXfaTSaXgaTUaTUaXhaXiaXjaXkaXhaTUaTUaTUaXlaUeaXmaXnaXoaUeaUiaVGaXpaKfaXraXsaUmaXtaVPaXuaXvaXwaXxaMkaSzaKOaMmaSCaMbaXyaUpaUpaVYaXAaXzaXCaXDaXDaXEaXFaXGaXEaXFaXDaXDaXHaXIaXJaXBaUpaUpaXyaJlaXLaXMaSNaRqaRpaJlaXNaWdaXOaWfaSSaXPaXQaSSaXRaXSaWfaSSaXTaOtaXUaXVaUQaXWaXXaXYaXZaYaaYbaYcaYdaYeaYfaYgaWBaYhaWDaYiaTeaGraIgaYjaYjaRLaRMaYkaONaONaYlaONaYmaYnaGGaIoaYoaYpaToaYqaZkaZXaWLbaOaYGaWOaZcaVoaYvaYwaYxaYyaYzaYAaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaaaaaaaaaaaaDIaDJaDKaDJaDJaDLaDMaDJaDJaDKaDNaDOaBIaDPaxAaBLaDRaDSaDTaDUaDVaDWaCEavHaDXauQaAFaAFaDYaDZaCMaEaaEbaEcaEdaEeaEfaEgaEhaEiaEjaCMaafaBYaEkaElaEmaEnaEoaBYaafazJazOazPaEpaEqaEraEsaEtazPazQaEuayLazSazTaEvaEwaCfaExaEyaATaEzaEAaEBaEBarAaAdayPayQarEaAiaCmaCmaCmaCmaCmaEHaEIatEaEJaEKaEKaELaEMaEKaENaEOaBjaEPaEQaERaESaETaCnaDsaafaaaaafaaaaafaaaaafaaaaafaaaaafaaaaafaaaaafaaaaaaaaaaaaaaaaaaaaaaDCaAtaBqaDCazgaziazjaFdaFdaFdaFdaFeaFfaFgaFgaFgaFgaFgaFgaFgaFhaFiaFjaafaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaDIaDNaDJaFkaFlaFlaFmaFnaFoaFpaFqaFlaFlaFraFsaFtaDPayuaBLaFvayxaBMazCaBMaBNaCDavHaFuaDQaFxaBsaFwaEZaFIaFJaFKaFLaFLaFLaFMaFLaFLaFNaFOaCMaaaaBYaFPaElaFQaEnaFRaBYaaaazJazOazPaFSaFTaFUaFTaFVazPazQaFWayLayLayLayLaFXaCfaCgazTaCfaFYaFZazTaGaarAaGbaGcaGdarEaAiaDeaDfazkaCoaDeaCpaGjaGkaGlaGmaBjaBjaBjaBjaBjaBjaGnaGoaGpaGqaDpaGraGsaDsaDsaDsaDsaDsaDsaDsaDsaDsaFaaFbaDsaDsaFaaGtaDsaDsaaaaaaaDCaDCaDCaDCaDCaFyaFzaFdazlaznaDCaDCaDCaDCaDCaGDaGEaGFaGFaGFaGFaGFaGFaGGaGGaGHaGGaGGaGGaGGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaFraGIaGJaGKaFlaGLaFlaGLaFlaGLaFlaGLaFlaGMaGNaGOaDPayuaBLaGPaFAaGRaGSaGTaGUaCEaFBaFDaFCaFCaFCbazaFEaFCaHcaFLaFLaFLaFLaFLaFLaFLaFNaHdaCMaafaBYaHeaHfaHgaHhaHiaBYaafazJazOazPaHjaHkaFUaHlaHmazPaHnaHoayLaHpazTaARaHqaATaHrazTaCfaFYaHsazTaHtarAaHuaHvaHwarEaGuaDyaEUaGvaDwaDxaEVaEWatEaHCaHDaBjaHEaBjaHFaBjaHGaBjaHHaGpaHIaDpaHJaHKaHLaHMaHMaHNaHOaHKaHKaHKaHKaHKaHPaHKaHKaHKaHQaHVaDsaDsaDsaDCaGAaGBaHWaHXaHYaIaaDCaDCaIcaDCaIdaIeaIfaIgaGFaIhaGFaIiaIjaIkaIlbinaInaIoaIpaIqaIraIsbjFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaIwaFlaFlaDKaFlaGLaFlaGLaIxaGLaIyaGLaFlaGMaGNaGOaDPaFFaIAaIAaFGaICaIDaICaIAaIAaIEaIFaFCaGQaFHaGWaGVaFCaIKaILaIMaFLaFLaINaFLaIOaIPaIKaCMaaaaBYaBYaIQaIRaIQaBYaBYaaaazJazOazPaISaITaIUaFTaIVazPaIWaIXayLaIYazTaIZaEwaCfaJaaEyaATaJbaJcazTaJdaJeaJfaJgaJhaMbaECaCuaCuaCuaCuaCuaJjaJkaJlaJmaJnaBjaJoaBjaJpaBjaJqaBjaJraGpaJsaJtaGsaGsaDqaJvaDsaDsaJwaDsaDsaJxaDsaGsaJyaGsaGsaGsaJzaHZaJBaJAaJAbrpaJHaKbaJGaJGaYnbpvaIgaJIaJJaJKaJLaJMaJNaIgaJOaJPaGFaJQaJRaJSaJTbinaJUaIoaJVaBtaGGaGGaGGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaFraJXaGJaGKaFlaGLaFlaGLaFlaGLaFlaGLaFlaGMaGNaGOaDPaGYaGXaHaaGZaHbaHbaIBaIzaIHaIGaIJaIIaJZaJYatiaKaaFCaIKaKmaKnaKoaKpaIKaKqaKraKsaKtaKuaaaaafaaaaKvaKwaKvaaaaafaaaaKuazOazPaKxaKyaKzaKAaKBazPaKCaKDayLaKEazTaARaKFaKGaHrazTaKHaKIaKJaKKaKLaJeaEDaKNaKOaKPaEEaKRaaaaaaaJlaKSaKTaKUaJlaKVaJnaJnaJnaKWaJnaJnaJnaBjaDpaKXaDpaDpaDpaDpaKYaDpaKZaLaaLbaLcaLdaLeaLfaLgaLhaLfaLfaLfaLfaLfaLiaLfaLfaLfaLfaLfaLfaLfaLfaAraIgaLjaLkaLlaEFaLnaLoaIgaLpathaGFaLraLsaLtaJTaRraJUaIoaJVaIoaLvaLwaLxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaLyaLzaDJaFkaFlaFlaFlaLAaFlaFlaLBaFlaFlaFraLCaLDaDPaLEaLFaLGaLHaLGaLGaLGaLGaLGaLIaLJaFCaFCaFCaFCaFCaFCaLLaLMaLNaLOaLOaLOaLOaLPaLQaLRaKuaLSaLTaLTaLUaLVaLWaLTaLTaLXaKuaLYaKuaKuaLZaMaaLZaJeaJeaMbaMcaJeaJeaJeaJeaMdaMeaMfaMgaMhaMiaJeaJeaJeaJeaMjaKNaMkaMkaMlaMmaMnaMoaJlaMpaMqaMraJlaJlaJlaJlaJlaJlaJlaJlaBjaBjaMsaMtaMuaMvaMwaMxaMyaMzaKZaMAaMBaMCaMCaMDaLfaMEaMFaMGaMHaMIaMJaMKaMLaMMaMNaMHaMJaMIaMHaMOaLfaAraIgaMPaMQaMRaMSaMTaMUaIgaMVaMWaMXaMYaMZaNaaNbaGFaGGaNcaJVaIoaNdaNeaNfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaaaaaaaaaaaaLyaDJaDKaDJaDJaDLaDMaDJaDJaDKaLzaNgaBIaNhaLEaNiaNjaNjaNkaNjaNlaIAaNmaNnaLJaNoaNpaNqaNraNsaNtaNraNuaNraNraNraNvaNraNraNwaNxaNyaNzaNAaNBaNzaNCaNzaNzaNzaNzaNDaNEaNFaNGaNraNHaNIaNJaNKaNLaNMaNLaNNaNOaNPaNQaNQaNRaNSaNTaNSaNUaNVaNWaEGaNYaNZaOaaObaOcaMkaMkaMkaOdaOeaOfaOgaOhaOiaOjaOkaOlaOmaOnaJlaOoaOpaOqaOraOsaOtaOuaOvaOwaOxaKZaOyaOzaOAaOAaOBaLfaOCaODaOEaOEaOEaOEaOFaOGaOHaOIaOJaOKaOKaOLaOMaLfaAraIgaONaOOaOPaOQaONaONaIgaORaOSaGFaOTaOUaOVaOWaGFaIoaIoaJVaIoaGGaGGaGGaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaOXaOYaOZaPaaPaaPaaPaaPbaOYaOXaaaaBIaPcaPdaPeauMatQaPhaPhaPiaIAaPjaNnaPkaPlaPmaPnaPoaPpaPqaPqaPraPsaPsaPsaPtaPuaPuaPvaPwaNIaPqaPqaPxaPyaPzaPAaPBaPBaPCaPBaPDaPyaPyaPyaPEaPFaPGaPHaMkaPIaPJaPJaPJaPJaPJaPJaPJaPJaPKaPJaPLaPMaPNaPOaPPaPQaPRaPSaPTaPJaPUaPJaPVaPWaPXaPWaPWaPWaPWaPWaPWaPYaPZaRsaQbaQbaQbaQcaQbaQbaQdaQeaQfaQgaKZaQhaMCaQiaQjaQkaLfaQlaQmaQnaQnaQnaQnaQnaQoaQpatjaQraQnaQnaQsaQtaLfaAraIgaQuaONaONaQvaONaQwaIgaGFaGFaGFaGFaGFaGFaQxaGFaIoaIoaJVaIoaQyaQzaGGaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaafaBIawqaBIaQBaQCaGOaQDaQEaQFaQGaGOaQCaQHaQIaBIaQJaLEaPeatgaQLaPhaPhaPiaIAaQMaNnaLJaQNaNpaQOaQPaNraNraQQaQRaQSaQTaNraQUaQVaQWaQVaQXaQYaQVaQVaQZaQVaQVaRaaRbaQVaRcaQVaRdaNraNraNraReaPFaPGaPHaMkaRfaMkaRgaRgaRgaRgaRgaRgaRgaRgaRhaRiaRgaRjaRgaRgaRkaRgaRgaRgaRgaRlaRmaRnaRoaRoaRoaRoaRoaRoaRoaRpaRqaRpaJlaImawOawOawOawOawOaItaRuaRvaRwaKZaKZaKZaKZaKZaRxaLfaRyaQmaQnaRzaRAaRBasPaRDaREaRFaQraRGaRHaRIaRJaLfaAraIgaRKaRKaRLaRMaRNaRNaROaIgaRPaRQaRRaGGaRSaRTaRUaRVaRVaRWaRXaGGaRYaGGaRZaRZaRZaSaaSbaScaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaGeaGgaGgaGiaGfaGhaSdaOYaLDaDPaHxaHxaSfaLDaOYaLDaHyaHAaHzaLEaSkaSlaSlaNkaSlaNlaIAaSmaNnaSnaIAaLKaLKaSoaLKaLKaLKaLKaLKaLKaSpaSqaLKaLKaLKaLKaLKaLKaSraSsaSraLKaStaLKaNraQPaSuaSvaSwaSxaNraSyaLKaMbaMbaMkaSzaKOaSAaMnaMnaSBaSBaSBaSBaSCaJeasfasNarVarXarXavParXarXarVasNawFaJeaSJaSKaSKaSKaSKaSLaSLaSMaSNaRqaRpaJlaSOaSPaSPaSPaSPaSPaSPaSQaSRaSSaSTaSUaSVaSWaSXaSYaKZaKZaSZaTaaTbaTcaTdaTeaTeaTeaTfaTgaTfaTeaTeaTeaTeaAraIgaThaONaRLaRMaONaONaTiaIgaTjaTkaTlaGGaIoaTmaTnaToaTpaTqaIoaTraTsaGGaTtaTuaRZaTvaTwaTxaafaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaKQaNXaLmaKMaQAaSgaSeaSiaShaSjaSiaTzaTyaTBaTAaTEaTCaTAaTFcozaTIaTJaTKaTLaTLaTLaTMaTLaTNaTOaIAaTPaTQaTRaTSaTTaTUaTVaTWaTXaTUaTYaTZaUaaUbaUcaUdaUeaUfaUgaUhaUeaUiaLKaLKaUjaLKaLKaLKaLKaUkaUlaLKaUmaMbaUnaSzaKOaUoaaaaaaaaaaaaaaaaaaaaaaUpaUqaUraUsaUtaUvaUuaUxaUwaUzaUyaVUaUpaaaaaaaaaaaaaaaaaaaaaaUAaSNaRqaUBaUCaUDaUEaUFaUFaUFaUFaUGaUHaUIaUFaUFaUFaUJaUKaULaUMaUNaUOaUPaUQaURaUSaUTaTfaUUaUVaUWaUXaUYaUZaVaaVbaTeaAraIgaVcaVcaRLaRMaVdaVdaVeaIgaIgaVfaIgaGGaVgaVhaViaViaViaVjaVkaGGaGGaGGaVlaVmaVnaVoaVpaVqaafaafaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaKQcmVaVrclfaDPaVsaVsaVtaVsaVsaVsaVDaVsaVsaVtaVsaVsaYEaWYaVuaVvaKdaKdaKdaKdaKdaVwaVxaVyaVzaIAaTQaTQaVAaTSaVBaTUaTUaTUaTUaTUaTYaVCaTUaTUaTUaUdaUeclraVEaVFaUeaUiaVGaVHaKeaKcaVKaUmaVLaVMaVNaVOaVPaVQaMkaSzaKOaUoaaaaaaaaaaaaaUpaUpaUpaUpaVRaVSaVTaXEaVVaVWaVXaXFaVZaWaaWbaUpaUpaUpaUpaaaaaaaaaaaaaUAaSNaRqaRpaWcaSSaWdaWeaWfaSSaWgaWhaWiaWjaWkaWlaWmaWnaQbaWoaWpaWqaWraWsaWtaWtaWuaWvaWwaWxaWyaWzaWAaWBaWCaWDaWEaTeaAraIgaThaONaRLaRMaONaONaONaWFaWGaONaWHaGGaWIaWJaToaToaToaTqaIoaYsaGGaQaaVoaLuaWQaVoaWRaWSaWTaWTaWUaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTGaGgaTHaGiaBIaBIaBIaWVaWWaWWaWWaWWaWWaWWaWWaWXaBIaBLcpSaWZaIAaXcaXbaXbaXbaYraXdaIAaIAaIAaIAaTQaXeaXfaTSaXgaTUaTUaXhaXiaXjaXkaXhaTUaTUaTUaXlaUeaXmaXnaXoaUeaUiaVGaXpaKfaXraXsaUmaXtaVPaXuaXvaXwaXxaMkaSzaKOaMmaSCaMbaXyaUpaUpaVYaXAaXzaXCaXDaXDaXEaXFaXGaXEaXFaXDaXDaXHaXIaXJaXBaUpaUpaXyaJlaXLaXMaSNaRqaRpaJlaXNaWdaXOaWfaSSaXPaXQaSSaXRaXSaWfaSSaXTaOtaXUaXVaUQaXWaXXaXYaXZaYaaYbaYcaYdaYeaYfaYgaWBaYhaWDaYiaTeaAraIgaYjaYjaRLaRMaYkaONaONaYlaONaYmaAsaGGaIoaYoaYpaToaYqaZkaZXaWLbaOaYGaWOaZcaVoaYvaYwaYxaYyaYzaYAaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaYVaaaaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaafaYCaYDcpKaYFaWPaYHaYHaYIaYJaYKaYLaYMaYNaYOaYPaYQaYRaYSaTSaYTaTUaTUaXhaXjaYUbbTaXhaTUaTUaYWaUdaUeaUeaUeaUeaUeaUiaVGaVGaVGaVGaVGaUmaYYaXvaYZaXvaXvaXxaMkaSzaKOaNSaNSaZaaZbaWNaUpaZdaZeaZfaZgaZfaZfaZfaZfaZhaZfaZfaZfaZfaZfaZfaZiaZjaUpaWMaZbaZlaZmaZnaSNaRqaRpaWcaSSaSSaSSaSSaSSaXPaZoaSSaXRaZpaWfaSSaXTaOtaZqaXVaUQaZraZsaZtaZuaYaaZvaZwaYdaYeaYfaYgaWBaYhaZxaZyaZzaZAaZzaZzaZzaZBaZCaZDaZEaOOaZFaZGaZHaZIaGGaZJaZKaZLaToaZMaZLaIoaIoaXaaYtaVoaYuaVoaZNaZOaZPaZQaWTaZRaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaZSaZTaZUbjnaZWaSFaZYaZZbaababbacbadbaebafaYObagbahbaibajaTSbakbalbambanbaobapbaqbarbarbarbasbataTSbaubavbawbaxaKgbajbnZaKhbajbaCaUmbaDbaEbaFbaGbaHbaIaMkbaJbaKaMkbaLbaMbaNbcybaPbaQbaRbaQbaSbaTbaUbaVbaWbaXbaYbaZbbabbbbbcbaQbbdbbebbfbeobbhbbibbjbbkbblbbmbbnaJlaUDaWdbboaWfaSSbbpbbqbbrbbsaXOaWfaSSaXTbbtaULaXVbbubbvbbwaUQaUQaYabbxbbybbzbbAbbBaYgaWBbbCaWDbbDaZzbbEbbFbbFbbGbbHbbIaRLaRLaRLaRLaRLaRLaRLaGGbbJaYoaYpaToaYqaYpaIobbKaGGbbLaVoaYuaVoaZNbbMbbNbbOaafbbPaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBbbQbbRbbScqObbUaSFbaabaabaabaabaabbVbaabbWaYObbXbbYbaibbZbbZbbZbbZbcabbZbcbaTUbccbcdbcebcebcfbcgaTSaXebchbcibcjaKiaKjblcaKkbcobcobcpbcpbcpbcpbcpbcqaMbbcrbcsbctbcubcvbcwbcxbbgaUpbczbcAbcBbaBaUpaUpaUpaUpaUpbcDaUpaUpaUpbcCbcFbcGbczaUpbbgbcxbcHbcIbcJbcKbcLaRpaWcaSSaSSaSSaSSaSSaGpbcMaSSbcNaSSbcObcObcObcObcPbcQbcRbcSaUQaUQaUQbcTbcUaTeavybcWbcXaYgaWBaYhaWDbcYaZzbcZbdabdbbdcbddbdebddbddbddbddbddbdfbdgbdhbdibdjbdkbdlbdmbdnbdobdpbdqbdraVoaYubdsaZNaVobdtbbOaafaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -7359,21 +7364,21 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaT aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaabhObhObhObhObhObhObhObhObhObhObhOaZSaZTbjmbjnbjobgrbjpbjpbjqbjpbjpbjpbjrbajbajbajbajbaibbZbdDbjsbjtbgybbZbjubjvbjuaTSaTSaTSaTSbjwaTSbjxbdObdPbjybjzbgDbjAbjBbdPbfibfmbjCbgGbgGbgGbjDaMbbjEaSzbctcdNbjGbgObjHbjIbjJbjKbjLbjMbdYbjNbjObjPbiybjQbiybgVbjRbjSbedbjTbjUbjVbjWbjWbjWbjXbjYaJibjZbkabkbbkcbkdbkebbFbkfbkgbkhbkibkjbkkbklbkmbknbknbkobewbewbewbewbewbkpbkqbkrbewbksbktbkubkvbewbkpbkwbkxbkybhFbewbewbkzbewbewbkAbkBbewbkpbewbewbewbewbewbewbewbewbewbhqbewbewbhFbkCbkDbkEbkFbkGbkHbkIbkJaafaaaaafaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaabhObhObhObhObhObhObhObhObhObhObhObkKbkLbkMbkNbkObgrbkPbkQbkRbkRbkSbkTbkUbkVbkWbkWbkXbkYbbZbbZbbZbeZbkZbbZbajbajbajbajblaaXeaXeblbblcbldbleblfblgblhblibljblkbdPbllbfmblmbgGblnbgGbloblpblqaSzbctaJeblrblsbltblublvblwblxblybdYbebblzblAblCblBblDblAblEbebbedbedblFblGblHblIbiCblJblKaJiblLblMblNaJiblOblOblOblOblOblOaZzaZzblPblQbZNcdMblQblPaZzaZzaZzaZzaZzaZzaZzaZzaZzaZzblTaZzaZzaZzaZzaZzaZzaVIaZzbewbewblVblWblWblOblOblOblOblOblXblYblYblZblYbewblYblZbmablYbmbblObmcbmcbmcbmdaRZbmeaRZaRZaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaabhObhObhObhObhObhObhObhObhObhObhObdubdvbjmbjnbmfbgrbmgbjpbmhbmibjpbjpbjpaVAbmjbmkbmkbmlbbZbdDbmmbeZbmnbbZbmobmpbmqbmrbmsbmtbmtbmubmtbmtbmvbdPbmwbmxbfgbmybmzblfbmAbfmbmBbgGbgGbmCbmDbmEblqaSzbmFbmGbmGbmGbmGbmGbmGbmGbmHbmGbdYbebbmIbmJbmKbmLbmKbmMbmNbebbedbedbmObmPbmQbmRbiCbiGbmSaJibcKaRqaRpaJibmTbmUbmVbmWbmXbmYbmZbnabnbbncbndbnebncbnfbngbnhbnibnjbnkbnlbnmbnnbnobnpbnqbnrbnsbntbntbnubYfaVJblOblObZLblObZMbZMblObnzbnAbnBblObZtbZubZtblOblXblYbmbblObZnbZBbZnblObnGbnHbnIbnJbnKbnLbnMaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaabhObhObhObhObhObhObhObhObhObhOaaabnNbnObnPbeQbnQbgrbnRbjpcembnTbnUbnVbjpbnWbnXbnYbnZbmlbbZbbZbbZbbZbbZbbZboabobbocbodboebdPbdPbdPbdPbdPbdPbdPbWqbdPbdPbdPbogbdPbohboibojbgGbgGbgGbokblpblqaSzbolbmGbomboncenbcEbvGbotbosbotaafbebboubovbowboxboybozboAbebaafbedboBboCboDboEbiCbiGboFaJiboGboHaRpbXHboJboKboLboMboNbYwboPboQboRboRboSboTboUboUboVboWboXboYboZbpabpbbnnbpcbpdbpebpfbpgbphbpfbpibYfaVJbpjbpkbplbpmbpnbpobppbpqbprbpqbpsbptbpubpvblOaZzbpwbpxblObpybpzbpAbpBbpCbpDbnIbpEbpFbpGbnMaaaaaaaaaaacaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaaaaaaaaaaaabgnbgobgpbgqbdvbpHbpHbpHbpIbpHbpJaZVbpKbpLbgrbpMbpNbpObpPbpQbpRbpSaYSaXeaXeaXebpTbkWbpUbkWbkWbkWbkWbpVbpWbpWbpXbpYbdPbpZbqabqbbqcbqdbqebqfbqgbqhbqibqjbqkbmAbqlbojbgGbgGbqmbfmaMbblqbqnbqoaJubqqbqrbqrbxqborbopbxsbotaafbebbebbebbebceebebbebbebbebaafbedbqzboCbqAbqBbqCbqDbqEaJibqFaRqaRpaJibqGbqHbqIbqJaJDbqLboPbqNboUboUboUboUboUboUbqObqPbqQboYbqRbqSbqTbnnbqUbqVbqWbpfbpgbphbpfbqXbYfaVJbpjbqYbqZbqZbrabrbbrcbrdbrdbrdbrebrdbrfbrgbrhbribrjbrkbnIbrlbpCbrmbrnbrobrpbnIbrqbpFbrrbnMaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaabhObhObhObhObhObhObhObhObhObhOaaabnNbnObnPbeQbnQbgrbnRbjpcembnTbnUbnVbjpbnWbnXbnYbnZbmlbbZbbZbbZbbZbbZbbZboabobbocbodboebdPbdPbdPbdPbdPbdPbdPbWqbdPbdPbdPbogbdPbohboibojbgGbgGbgGbokblpblqaSzbolbmGbomboncenbcEbvGbotbosbotaafbebboubovbowboxboybozboAbebaafbedboBboCboDboEbiCbiGboFaJiboGboHaRpbXHboJboKboLboMboNbYwboPboQboRboRboSboTboUboUboVboWboXboYboZbpabpbbnnbpcbpdbpebpfbpgbphbpfbpibYfaVJbpjbpkbplbpmbpnbpobppbpqbprbpqbpsbptbpucpkblOaZzbpwbpxblObpybpzbpAbpBbpCbpDbnIbpEbpFbpGbnMaaaaaaaaaaacaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaaaaaaaaaaaabgnbgobgpbgqbdvbpHbpHbpHbpIbpHbpJaZVbpKbpLbgrbpMbpNbpObpPbpQbpRbpSaYSaXeaXeaXebpTbkWbpUbkWbkWbkWbkWbpVbpWbpWbpXbpYbdPbpZbqabqbbqcbqdbqebqfbqgbqhbqibqjbqkbmAbqlbojbgGbgGbqmbfmaMbblqbqnbqoaJubqqbqrbqrbxqborbopbxsbotaafbebbebbebbebceebebbebbebbebaafbedbqzboCbqAbqBbqCbqDbqEaJibqFaRqaRpaJibqGbqHbqIbqJaJDbqLboPbqNboUboUboUboUboUboUbqObqPbqQboYbqRbqSbqTbnnbqUbqVbqWbpfbpgbphbpfbqXbYfaVJbpjbqYbqZbqZbrabrbbrcbrdbrdbrdbrebrdbrfbrgbrhbribrjbrkbnIbrlbpCbrmbrnbrocxlbnIbrqbpFbrrbnMaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaaaaaaaaaaabrsbrtbrubrvbrwbrxbrxbrybrzbrAbgrcedbrCbpPbrDbjpbjpbjpbajbrEbrFbrGbrHbrGbrGbrGbrHbrGbajbajbdPbdPbdPbrIbdPbrJbrJbrJbrJbrJbrJbqfbrKbrLbrMbrNbrObrPbrQbrRbrSbrTbrUbrVbrWbrXbrYbrZaHBbsbbqvbsabsebscbotbosbotaafbsibsjbskbslbsmbsnbskbsobsiaafbedbspbsqbspbedbedbedbsraJibssaRqaRpbXHboJboKbstbsubsvbqLbswbqNbsxbsybszbsAbsBbsCbqObsDbnibsEbsFbsGbsHbnnbsIbqVbpebpfbpgbphbpfbpibYfaVJbpjbsJbsKbsLbsMbplbsNbsObsPbsQbsRbsSbsTbsUbrhbsVbsWbsXbnIbsYbsZbtabtbbtcbtdbnIbrqbpFbtebnMaaaaaaaaaaaaaafaafaafaafceoceoceoceoaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaaaaacaaaaaaaaaaaaaaaaaaaaabrsbtfbtgbthbtibtibtibtjbtibtibgrbtkbtlbtmbpPbjpaaaaaaaaaaafaafbtnbtnbtnbtnbtnbtnbtnaaaaaabtobtpbtqbtrbtsbrJbrJbrJbrJbrJbrJbttbtubtvbtwbtxbtybtzbtAbfmbfmbtBbfmbfmbtCbtDbtEbtFbmGbtHbmGbmGbmGbmGbmGbtIbmGaafbtJbtKbtLbtMbtNbtMbtLbtObtPaafbspbtQbtRbtSbtTbtUbspbtVaJlbtWbbmbtXaJibtYbmUbtZbuabubbucbudbuebufbugbuhbuibujbukbulbumbnibnnbunbuobupbnnbuqburbusbutbuubuubuvbuwbYfaXqbpjbuxbplbplbsMbuybuzbuAbuBbuCbuDbuEbuFbuGbrhbuHbuIbuJbnIbuKbuLbuMbtbbpCbuNbnIbpEbpFbuObnMaaaaaaaaaaaaaafbuPbuQbuRbuQbuRbuQbuSaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabuTbeObuUbuUbuVbpHbuWbgnbgobuXbuWbgrbuYbuZbvabvbbjpaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnaaaaaabvcbvdbrJbvebvfbvfbvfbvfbvfbvgbvhbvfbvibvjbvkbvlbvmbvnbvobfmbvpbgGbvqbvrbvsbvtbvubvvbmGbmGbmGbvxbvybvzbvAbvBbvwaafbvDbvIbvHbvJbvKbvMbvNbvObvLaafbspbvPbvQbxnbedbvRbspbvSaJlbvTbcLbvUaJibvVbvWbvXbvYbvZbuccdTcdUbwcbwdbwebwebwfbwgcdWcdVbwjbwkbwlbwmbwkbwkbwkbwkbwnbwkbwkaXKaXKaXKaXKaVJbpjbsJbsKbsLbwobwpbwqbwrbwsbwsbwsbsSbwtbwubwvbwwbwxbwybnIbwzbwAbwBbwCbpCbwDbnIbwEbwFbnMbnMaaaaaaaaaaaaaafbwGbwHbwIbwJbwJbwKbwGaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbwMbwNbwObwPbrJbwQbrJbwRbwRbwRbwSbwTbrKbrJbrJbrLbwUbwVbwWbwXbwYbwZbxabgGbgGbxbbxcbvtbvubxdbxebxfbUbbxhbxibxjbxkbxlbvwaafbxmbqtbskbxobxpbxobskbqxbxraafbspbqwbxtcelbedbxvbspbtVaJlbxwbcLaRpaJibxxbxybxzbxAbxBbxCbxDbxEbxCbxFbxGbxHbxFbwkbxIbxJbwkbwkbxKbxLbxMbxNbxObxPbxQbxRbxSaXKbayaYXaXKaVJbpjbxXbqZbqZbxYbxZbppbyabwsbwsbwsbsSbwtbybbwwbTPbUabTQbwwbyfbygbyhbyibpCbyjbnIbrqbykbnMaaaaaaaaaaaaaaaaafbylbymbwIbwJbwIbynbuRaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbwMbwNbwObwPbrJbwQbrJbwRbwRbwRbwSbwTbrKbrJbrJbrLbwUbwVbwWbwXbwYbwZbxabgGbgGbxbbxcbvtbvubxdbxebxfbUbbxhbxibxjbxkbxlbvwaafbxmbqtbskbxobxpbxobskbqxbxraafbspbqwbxtcelbedbxvbspbtVaJlbxwbcLaRpaJibxxbxybxzbxAbxBbxCbxDbxEbxCbxFbxGbxHbxFbwkbxIbxJbwkbwkbxKbxLbxMbxNbxObxPbxQbxRbxSaXKbayaYXaXKaVJbpjbxXbqZbqZbxYbxZbppbyabwsbwsbwsbsSbwtbybbwwcbKbUabTQbwwbyfbygbyhbyibpCbyjbnIbrqbykbnMaaaaaaaaaaaaaaaaafbylbymbwIbwJbwIbynbuRaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbyobypbyobyqbyrbwQbrJbrJbrJbysbrJbwTbrKbytbdPbdPbyubgGbrNbwXbyvbywbyxbyybyybyzbyAbyBbyCbyDbvsbyEbTNbyGbxkbyHbyIbyJbvwaafbxrbxrbyKbtLbyLbskbyMbxrbxraafbyNbyNbyNbyNbyNbyNbyNbyOaJibyPblMblNaJibyQbyRbyRbySbyTbxCbyUbyVbyWbyXbyYbyZbzabwmbzbbzcbzdbzebzfbzgbzgbzhbzibzgbzjbzkbckbaAcekbclbdQbcnbzrbzsbztbzubzvbzwbppbzxbpqbpqbzybsSbwtbzzbzAbzBbzCbzDbzAbzEbzFbzGbzHbzIbwwbwwbzJbnMbnMbzKbzLbzLbzLbzMbzNbwGbwJbwIbwJbwJbzObwGaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaacaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbzPbzQbzPbzRbrJbwQbrJbzSbzSbzSbzSbwTbrKbzTbzUbdPbzVbgGbrNbwXbzWbzXbzYbgGblnbgGbzZbAabAbbAcbAdbyEbTMbAfbxkbxkbxkbAgbvwbAhbAhbAhbxrbAibxpbAibxrbAjbAjbAjbyNbAkbAlbAmbAnbAobApbAqaJibAraRqaRpaJibAsbAtbAubAvbAwbAxbAybAzbAAbABbACbADbAEbAFbAGbAHbAIbAJbAKbAIbALbAMbANbAObnvblUbsdbnwbsgbsfbaAbPObpjbAWbAXbAYbAZbAZbppbBabBbbBcbppbBdbBebBfbBgbBhbBibBjbBkbBlbBlbBmbBnbBobTHbBqbBrbBsbBtbTIbBvbBwbBwbBxbBybBzbuQbuRbBAbuRbuQbBBaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaacaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbzPbzQbzPbzRbrJbwQbrJbzSbzSbzSbzSbwTbrKbzTbzUbdPbzVbgGbrNbwXbzWbzXbzYbgGblnbgGbzZbAabAbbAcbAdbyEbTMbAfbxkbxkbxkbAgbvwbAhbAhbAhbxrbAibxpbAibxrbAjbAjbAjbyNbAkbAlbAmbAnbAobApbAqaJibAraRqaRpaJibAsbAtbAubAvbAwbAxbAybAzbAAbABbACbADbAEbAFbAGbAHbAIbAJbAKbAIcaJbAMbANbAObnvblUbsdbnwbsgbsfbaAbPObpjbAWbAXbAYbAZbAZbppbBabBbbBcbppbBdbBebBfbBgbBhbBibBjbBkbBlbBlbBmbBnbBobTHbBqbBrbBsbBtbTIbBvbBwbBwbBxbBybBzbuQbuRbBAbuRbuQbBBaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbBCbwNbBDbBEbrJbwQbrJbrJbrJbrJbrJbwTbrKbzTbBFbdPbBGbgGbBHbBIbgGbBJbgFbgGbgGbBKbvsbvtbAbbAcbAdbyEbvwbBLbBMbBNbBMbBObvwbBPbBQbBRbAhbxrbBSbxrbAjbBTbBUbBVbyNbBWbBXbBYbBZbCabCabCbbCcbAraRqaRpaJibCdbCebCebySbCfbxCbCgbChbxCbCibCjbCjbCkbwkbClbCmbwkbwkbwkbwkbwkbwkbCnbwkbwkbwmbCoaXKaXKaXKaXKbSwbpjbwwbzAbzAbzAbzAbzAbzAbzAbzAbzAbzIbCrbCsbCtbBhbCubCvbCwbCxbCxbCxbCybCzbSubCBbCCbCDbCEbTGbCGbCHbCGbCIbCJbzKbzLbzMbCKbzNbCLaaaaafaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbzPbzQbzPbCMbCNbCObrJbrJbrJbCNbrJbwTbrKbzTbCPbdPbCQbgGbrNbwXbgGbqlbCRbgGbgGbCSbxcbvtbAbbCTbxcbCUbvwbCVbCWbCXbCYbxlbvwbCZbDabDbbDcbDdbvFbvEbDgbDhbDibDjbyNbDkbDlbDlbDmbDnbDobDpaJibDqbDrbDsaJibDtbDubDvbDwbDxbDybDzbDAbyWbDBbDCbCjbDDbwmbDEbDFbwmbDGbDHbDIbDJbDKbDLbDMbCpbDNbDObDPbDQbDRbCpbVLbVMbDUbVAbDWbDXbDXbDYbDZbEabEbbEcbEdbEebEfbEabEgbEhbCvbEibEjbEkbwwbwwbwwbwwbwwbElbEmbEnbzKbzMbCJbEobEpbEqbErbEsbEtbEubEvaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbzPbzQbzPbCMbCNbCObrJbrJbrJbCNbrJbwTbrKbzTbCPbdPbCQbgGbrNbwXbgGbqlbCRbgGbgGbCSbxcbvtbAbbCTbxcbCUbvwbCVbCWbCXbCYbxlbvwbCZbDabDbbDcbDdbvFbvEbDgbDhbDibDjbyNbDkbDlbDlbDmbDnbDobDpaJibDqbDrbDsaJibDtbDubDvbDwbDxbDybDzbDAbyWbDBbDCbCjbDDbwmbDEbDFbwmbDGbDHbDIbDJbDKbDLbDMbCpbDNbDObDPbDQbDRbCpbVLbVMbDUbVAbDWbDXbDXbDYbDZbEabEbbEcbEdbEebEfbEabEgbEhbCvbEibEjbEkbwwbwwbwwbwwbwwcngcjDbEnbzKbzMbCJbEobEpbEqbErbEsbEtbEubEvaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbEwbExbEwbEybEzbEAbEAbEAbEAbEAbEBbECbEDbzTbEEbdPbEFbEGbEHbEIbEJbtzbEKbELbEMbfmbtCbENbAbbEObEPbyEbvwbEQbERbESbBMbETbvwbEUbEVbEWbAhbEXbvCbEYbAjbFabFbbFcbyNbFdbFebFfbFgbDnbDobFhaJibxwaRqaRpbVjbFjbFkbFlbFmbFnbFobFpbFqbxCbxFbxFbFrbxFbwkbFsbFtbFubFvbFwbFxbDJbFybDLbFzbFAbFBbDObFCbFDbFEbFFbVlbDXbVybVAbFJbDXbDXbFKbFLbFMbFLbFLbFNbFObFPbFQbFRbFSbCvbFTbFUbFVbFWbFXbFYbFZbGabGbbGcbGdaafaafbCJbGebGfbGgbGhbGibGjbGkbCJaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbGlbGmbGnbdPbdPbGobwNbwNbwNbGpbdPbdPbGqbGrbGsbdPbGtbGtbGtbGubGtbGvbGwbGxbGybGzbtCbvtbAbbGAbGBbtCbtGbtGbtGbtGbtGbGCbtGbtGbtGbtGbtGbtGbshbtGbtGbtGbtGbtGbtGbtGbtGaJiaJiaJiaJiaJiaJibxwaRqaRpbVjbGEbFkbGFbGGbGHbGIbGJbGKbGLbGMbGNbCjbGObGPbGQbGRbGSbGTbGUbGVbGWbGXbGYbGZbHabHbbHcbHdbHebHfbCpbUSbUfbwwbwwbwwbwwbwwbHibwwbwwbwwbzAbHjbzAbzAbHkbBhbCubCvbFTbHlbHmbHnbHobHpbHqbGabGbbGcbHraaaaaabCJbHsbHtbCJbBybCJbCJbBybCJaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabHuaafaaaaaaaaaaaabGtbHvbHwbHxbHybGvbHzbHAbHBbHCbtCbvtbAbbAcbAabHDbHEbHFbHGbHHbHIbHJbHKbHLbHMbHLbHNbHObqybHQbHRbAabHSbAabHTbAabzZbHUbHVbHWbHXbHYbHZbxwaRqbDsaJlbDtbUebUebUebDtbxCbIbbIcbIdbIebIfbIgbIhbIibIjbIkbwmbIlbImbInbDJbDLbIobIpbIqbIrbFDbIsbItbIubCpbIvbIwbIxbIybUdbIAbIBbICbIDbUcbIFbIGbIHbIIbIJbzAbIKbCubCvbILbIMbINbIObIPbIQbIRbGabGbbISbEnbEnbEnbCJbCJbCJbCJaaaaaaaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaaaaaaaaaaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabHuaafaaaaaaaaaaaabGtbHvbHwbHxbHybGvbHzbHAbHBbHCbtCbvtbAbbAcbAabHDbHEbHFbHGbHHbHIbHJbHKbHLbHMbHLbHNbHObqybHQbHRbAabHSbAabHTbAabzZbHUbHVbHWbHXbHYbHZbxwaRqbDsaJlbDtbUebUebUebDtbxCbIbbIcbIdbIebIfbIgbIhbIibIjbIkbwmbIlbImbInbDJchqbIobIpbIqbIrbFDbIsbItbIubCpbIvbIwbIxbIybUdbIAbIBbICbIDbUcbIFbIGbIHbIIbIJbzAbIKbCubCvbILbIMbINbIObIPbIQbIRbGabGbbISbEnbEnbEnbCJbCJbCJbCJaaaaaaaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaaaaaaaaaaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabGtbITbIUbIVbIWbIXbIYbIZbJabJbbtCbvtbJcbJdbJebJebJfbJgbJhbJibJjbJgbJfbJebJebJebJkbJlbqsbJnbJobJebJebJebJpbJgbJhbJqbJrbJsbJtbJubJtbJvbJwbvUaJlbJxbFlbFnbFnbJybDTbFpbJAbFibDVbxFbJDbCFbDSbDEbJGbwkbJHbJIbJJbDJbJKbJLbJMbJNbJObFDbJPbItbJObCpbJQbJRbIxbJSbJTbJUbJVbJWbJXbJYbIFbJZbKabKbbKbbzAbKcbKdbKebKfbKgbKhbKibKjbKjbKkbGabGbbKlbEnbKmbKobKnbEnaafaafaafaafaafaafaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbKpbKqbKqbKrbKsbKsbKtbKtbKtbKtbKuaafaafaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnaaaaaaaaaaaaaaaaaaaaaaaabKvbKwbKxbKwbKyaaaaaaaaabGtbGtbKzbKAbIVbKAbKBbKCbHBbKDbKEbtCbKFbvtbKGbKHbAabKIbAabzZbHHbKJbAabKKbKLbKMbKNbKObAcbAabKPbKQbHLbKRbHLbHLbKSbKTbKUbKVbKWbKXbcLbKYaRpaRpaRpaJlbKZbGFbLabLbbGFbFHbLdbLebFIbLgbLhbLibLjbHgbDEbIkbIabIzbHhbDJbDJbLobLobLobCpbLpbLqbLrbLsbLtbCpbLubLvbIxbLwbFGbLybLzbLAbLBbLCbIFbLDbLEbKbbKbbzAbBhbLFbCvbwwbLGbLHbLIbLJbLKbLLbGabLMbLNbLObLObLObLPbGdaaaaaaaaaaaaaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafbLQbLRbLSbLRbKsbKtbKtbLTbLUbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnaaaaaaaaaaaaaaaaaaaaaaaabKvbKwbKxbKwbKyaaaaaaaaabGtbGtbKzbKAbIVbKAbKBbKCbHBbKDbKEbtCbKFbvtbKGbKHbAabKIbAabzZbHHbKJbAabKKbKLbKMbKNbKObAcbAabKPbKQbHLbKRbHLbHLbKSbKTbKUbKVbKWbKXbcLbKYaRpaRpaRpaJlbKZbGFbLabLbbGFbFHbLdbLebFIbLgbLhbLibLjbHgbDEbIkbIabIzbHhbDJbDJbLobLobLobCpbLpbLqbLrbLsbLtbCpbLubLvbIxbLwbFGbLybLzbLAbLBbLCbIFbLDbLEbKbbKbbzAbRsbLFbCvbwwbLGbLHbLIbLJbLKbLLbGabLMbLNbLObLObLObLPbGdaaaaaaaaaaaaaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafbLQbLRbLSbLRbKsbKtbKtbLTbLUbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabLVbLWbLXbLYbLVbLZbMabMbbGtbMcbMdbMebMfbMgbMhbMibMjbMjbMkbtCbtCbtCbMlbtCbtCbtCbtCbtCbtCbtCbtCbtCbtCbtCbtCbtCbMmbMnbMobtCbtCbtCbtCbtCbMpbtCaJlaJlaJlaJlbMqaJlaKSaMpbMraJlbMsbGFbGFbMtbMubMvbMwbMxbxCbMybMzbMAbMBbwkbMCbMDbMEbMFbMGbMHbMIbMJbMKbMLbItbJObFDbFDbMMbJObCpbMNbMObMObMObMObMObMObMObMObMObMObMPbMQbMRbMRbzAbMSbMTbMUbwwbMVbMVbMVbMWbMXbMYbMVbMVbMVbMVbMVbMZbNabNbaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymbNdbLRbLRbNebKtbKtbLTbLTbNfbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabKxbNgbNhbNgbKxbNibNjbNkbNlbNmbNnbKAbNobNpbGvbNqbNrbNsbNtbGvbNubNvbNwbNxaaaaaaaaaaaabNybNzbNAbNBbNDbNCbNEbNFbNGbNHbNIbNFbNJbNKbNLbNMbNNbNObNPbNQbNRbNSbNTbNUbNUbNUbNUbDtbNVbCAbCAbNXbDtbNYbNZbOabObbMzbOcbOdbOebOfbOgbOhbOibOjbOkbOlbOmbOnbMKbOobFDbFDbOpbJObJObOobCpbMNbMObOqbOrbOsbOtbOubOvbOwbOxbMObOybOzbOAbOAbzAbOBbOCbCvbzIbODbOEbOFbOGbOHbOIbOJbOKbOLbOMbMVbEnbONbEnbOObOObOObOObOOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabOPbKtbNdbKtbKtbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabLVbNgbNgbNgbOQbORbKAbOSbOTbOUbKAbKAbOVbOWbGvbGvbGvbGvbGvbGvbOXbOYbOZbPaaaabPbbPcbPcbPdbPebPfbPgbPhbPfbPibNFbPjbPkbPlbNFbPmbPnbPobPpbPqbPrbPsbPtbPtbNSbPubPvbPwbPxbPybDtbMsbPzbGFbGFbPAbPBbDzbPCbxCbPDbPEbPFbPGbwkbPHbPIbwkbPJbPKbPLbPMbPNbMKbCpbCpbCpbCpbCpbCpbCpbCpbPObMObPPbQYbPRbOsbOsbOsbOsbPSbMObPTbLEbPUbPUbzAbBhbPVbPWbPXbPYbPYbPYbPYbPZbQabQabQbbQcbQdbMVbQebQfbQgbOObQhcdbbQjbQkaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbKsbKtbQlbQmbQmbLTbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -7382,10 +7387,10 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabTdbKwbTebKwbTfbTgaafaaaaaabGtbThbTibTjbGtaaabNxbTkbTlbTmbTnbTnbTnbTobQyaaabQzbTpbTqbTrbTsbPfbTtbTvbTubTwbNFcdabTybTzbTAbTBbTBbTBbTCbTCbTDbTEbULbPxbPxbTFbNUbNUbNUbNUbDtbDtbLkbLfbLcbDtbTJbTKbTLbJFbJEbTJbTObLlbLmbTRbTSbTJbMKbMKbMKbMKbMKbMKbTTbTUbTVbRjbTWbTXbTYbRnbPObMObTZbQWbPQbLxbLnbNWbNcbTZbUgbUhbUibIIbIJbzAbIKbSLbUjbwwbMVbMVbMVbMVbMVbUkbMVbUlbQabUmbMVbUnbUobUnbOObUpbUqbUrbOOaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabKtbUsbUsbUsbUsbUsbUsbUtbLTbUubUsbTcbLTbLTbLTbLTbKtaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbUvbNxbNxbNxbNxbRSbUwbNwbUxaaabUybPcbPcbUzbUAbPfbPfbUBbPfbUCbNFbUDbXubWibNFaLqaLqaLqaLqaLqaLqaLqaLqbUHbUIbUJbUKbUKbUMbNUbDtbUNbUObUPbUQbURbwabUTbUUbUVbUWbUXbUTbUYbUZbVabVbbVcbVdbVebVfbVgbVhbVibwbbVkbwbbRjboObVmboObRnbPObMObVnbWhbVpbVqbVrbVsbVtbVubUgbzAbVvbzAbzAbVwbCxbSLbCxbVxaafbnxbVzbrBbVBbVCbVBbVDbVEbVFbMVbVGbVHbVIbOObVJbVKbVKbwhaaLaaLaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwibLRbLRbLRbLRbLRbLRbLRbVNbLUbLTbLTbLTbLTbVObLUbKuaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabVPbVQbVQbVRbVSbNxbVTbRSbVUbNxaaaaaaaaaaaabNybVVbVWbVXbVZbVYbPfbNFbWabWbbNIbNFaLqbXybXAbXzbXwbXvbXxaLqcaqcaqcaqcaqcaqbTFbWjbWkbWlbWmbWnbWobWpbxgbWrbWsbWtbWubWtbWvbWtbWwbWxbWybWzbWAbWBbWAbWCbWDbWEbWFbWGbWHbWIbWJbWKbWLbWMbxVbMObxWbzmbzlbWSbWTbWUbWSbWSbWVbWWbWXbWYbWZbCxbCxbSLbCxbFTaafbnxbXabXbbXcbXdbXebXfbXgbXhbMVbXibVHbXjbOObOObOObOObOOaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabKtbQmbQmbQmbQmbQmbQmbXkbLTbQlbQmbXlbLTbLTbLTbLTbKtaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXmbXnbXobXpbRSbXqbXrbRSbXsbNxaaKaaaaaaaaabNybNybNybNybNybNybNybNFbUDbUEbXtbNFaLqbcVaPgaQqaQqaPgaPfaLqbcmaRCaRCaQKcaqbXBbDtbDtbXCbXDbXEbXFbXGblRbXIbXJbXKbXLbXMbXNbXObXPbXQbXRbXSbXTbXUbznbzpbzobAPbzqbARbAQbATbASbAVbAUbYfbYgbIwbYhbVobCqbWObWNbWPbYmbYnbYobYpbYqbYrbYsbYtbYrbYubYvbILaafbnxbXablSbVBbYxbVBaKbbYzbYAbMVbXjbVHbYBbYCbUnaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbKtbLTbLTbLTbLTbLTbLTbTbbLTbXlbLTbLTbLTbLTbLTbKtbKtaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabYDbVQbVQbVRbYEbYFbYGbNxbYHbNxbYIbYJbYKbYIbYIbYLbYMbYNbYObYPbWfbWgbTxbQibUGbUFbWcaPgbWebWdboobnSbxubqMbDebxUbJmbHPcaqbZhbNSbZibZjbZkbZlbZlbZmbnEbZobZpbTJbTJbZqbZrbTJbTJbZsbnCbnybVibZvbWQbZxbZybZzbZybZAbnDbZCbnDbZAbWRbYfbMNbIwbZEbXWbXVbXVbZIbZJbZKbMObMObwwbwwbwwbwwbwwboIbnFbofbwwbMVbMVbMVbMVbMVbUkbMVbMVbMVbMVbMVbZObZPbZQbZRbUnaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabKtbKtbRLbLTbLTbLTbLTbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaambZSaamaamaamaamaamaaaaaaaaaaaaaaaaaaaafaafaaaccBcbmcbmcbmccAcbmcbmcbkcblbYIbZYbZZbYIcbpcabcaccadcaecafcbncbocbCcbBcbAcbzcbyaPgbWecbqcbEbnScbDaLqcaqcaqcaqcaqcaqcarbNSbDtcascatcaucavcawcaxcaycazbTJcaAcaBcaCcaDcaEcaFcaGcaHcaIbZxbWQcaJbZycaKcaLbZAcaMcaNcaObZAbXXbYfbPObIwbXYbYabXZbXYbXYbIwbIwbIwcaRcaScaTcaUcaVbwwbwwcaWbwwbwwcaXcaYcaZcbabXjcbbbXjbXjcbccbdcbecbfcbgcbhbUnbUnbUnaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbKsbKtbUubUsbUsbLTbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafccZccYbYyccXccWbYUccRccSccTbYIcbrcbsbYIbYIcbtcbucbvcbwcbxccUccVbTxbQibUGccFccDaPgaPgccEccPaPgccQaLqcbFcbGcaqcbHcaqbTFcbIcbIcbIcbIcbIcbIcbIbTJcbJcbKbTJcbLcbMcbNcbOcaEcbPcbQcbRcaIbZxbWQbZxbZycbScbTbZAcbUcbVcbWbZAbXXbYfbYbbYdbYcbYiccCbYjbYcchBbYkbYlcktbZDbZwbZFcktccrbZGbZHccqccrccscctcctcctcctccucctcctcctcctcctccvccwccxccycczbUnbUnbUnbUnaaaaafaaaaaaaaaaahaahaahaafaaaaaaaafaaaaaaaafaaaaaabOPbKtbNdbKtbKtbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXmbXnbXobXpbRSbXqbXrbRSbXsbNxaaKaaaaaaaaabNybNybNybNybNybNybNybNFbUDbUEbXtbNFaLqbcVaPgaQqaQqaPgaPfaLqbcmaRCaRCaQKcaqbXBbDtbDtbXCbXDbXEbXFbXGblRbXIbXJbXKbXLbXMbXNbXObXPbXQbXRbXSbXTbXUbznbzpbzobAPbzqbARbAQbATbASbAVbAUbYfbYgbIwbYhbVobCqbWObWNbWPbYmbYnbYobYpbYqbYrbYsbYtbYrbYubYvbILaafbnxbXablSbVBbYxbVBbALbYzbYAbMVbXjbVHbYBbYCbUnaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbKtbLTbLTbLTbLTbLTbLTbTbbLTbXlbLTbLTbLTbLTbLTbKtbKtaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabYDbVQbVQbVRbYEbYFbYGbNxbYHbNxbYIbYJbYKbYIbYIbYLbYMbYNbYObYPbWfbWgbTxbQibUGbUFbWcaPgbWebWdboobnSbxubqMbDebxUbJmbHPcaqbZhbNSbZibZjbZkbZlbZlbZmbnEbZobZpbTJbTJbZqbZrbTJbTJbZsbnCbnybVibZvbWQbZxbZybZzbZybZAbnDbZCbnDbZAbWRbYfbMNbIwbZEbXWbXVbElbZIbZJbZKbMObMObwwbwwbwwbwwbwwboIbnFbofbwwbMVbMVbMVbMVbMVbUkbMVbMVbMVbMVbMVbZObZPbZQbZRbUnaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabKtbKtbRLbLTbLTbLTbLTbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaambZSaamaamaamaamaamaaaaaaaaaaaaaaaaaaaafaafaaaccBcbmcbmcbmccAcbmcbmcbkcblbYIbZYbZZbYIcbpcabcaccadcaecafcbncbocbCcbBcbAcbzcbyaPgbWecbqcbEbnScbDaLqcaqcaqcaqcaqcaqcarbNSbDtcascatcaucavcawcaxcaycazbTJcaAcaBcaCcaDcaEcaFcaGcaHcaIbZxbWQbEmbZycaKcaLbZAcaMcaNcaObZAbXXbYfbPObIwbXYbYabXZbXYbXYbIwbIwbIwcaRcaScaTcaUcaVbwwbwwcaWbwwbwwcaXcaYcaZcbabXjcbbbXjbXjcbccbdcbecbfcbgcbhbUnbUnbUnaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbKsbKtbUubUsbUsbLTbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafccZccYbYyccXccWbYUccRccSccTbYIcbrcbsbYIbYIcbtcbucbvcbwcbxccUccVbTxbQibUGccFccDaPgaPgccEccPaPgccQaLqcbFcbGcaqcbHcaqbTFcbIcbIcbIcbIcbIcbIcbIbTJcbJbTPbTJcbLcbMcbNcbOcaEcbPcbQcbRcaIbZxbWQbZxbZycbScbTbZAcbUcbVcbWbZAbXXbYfbYbbYdbYcbYiccCbYjbYcchBbYkbYlcktbZDbZwbZFcktccrbZGbZHccqccrccscctcctcctcctccucctcctcctcctcctccvccwccxccycczbUnbUnbUnbUnaaaaafaaaaaaaaaaahaahaahaafaaaaaaaafaaaaaaaafaaaaaabOPbKtbNdbKtbKtbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafbYebYebYybYRbYQbYUbYVbYSbYTbYIccGccHccIccJccKccLccMccNccObYWbYXbZbbZabYZbYYbZfbZebZdbZcbZVbZUbZTbZgcdccddaJEcdfcaqbTFcbIcdgcdhcdicdjcdkcdlcdmcdncdocdpcdqcdrcdscdtcaEcducdvcdwcaIbZxbWQbZxbZycdxcdybZAcdzcdAcdBbZAcaPbYfbYfcaQbYccbYcbXcbZbYcchBccacjfcdLcdLbyFbBucdLcdOcdPcdQcdRcdOcdSbBpbyebydcdScdScdScdSbAebyebydcdScdSbXjcdXcdYcdZceacebcecbxTbycbycbycbycbycbycbycbycbycbycbycbycbycbycbycbyccefcegcegcehbKtbKtbLTbLTceibLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacejcejcejcejcejcejcejcamcanbYIbYIbYIbYIbYIbYJcaocapcapcapcbicbjbTxbQibUGcaabWccagcaicahcakcajcalaLqcezaJFboqaJFcaqbTFcbIceDceEceEceEceFceGbTJceHceIbTJcbLcbNceJcbOcaEceKceLceMcaIbZxbWQceNbZyceOcePbZAbZAbZAbZAbZAccbceRbYfcaQbYcccdcccbYcbYcchBccecjfcdLceZcfacfbcfccdOcfdcfecffcdOcfgcfhcfhcfhcfibZXcfkcflcfmcfncfocfpcdScfqcfrcfsbUnbUnbUnbUnaaaaafaaaaaaaaaaahaahaahaafaaaaaaaafaaaaaaaafaafaafcftbZWcfvbNebKsbKtbKtbLTbLUbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaafaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafcejcfwcfxcfycfzcfAcejcDncDmcDjcDgcDlcDkcCUcCUcCVcCLcCLcCKcCMccVbTxbQibUGcCJcbycCGcCHcCIcCDcCEcCFaLqaJFaJFcaqceBcaqbTFcbIcfVcfWcfWcfWcfXcbIcfYcfZcgacfYcgbcgccgdcgecaEcgfceLcggcaIcghccfcgjbZycgkcglbZycgmbLvbVicgnccgcchbYfccjcciccicckcclcclcclcclccmcdLcgxcgycgycgzcgActsctyctscgDcgEcgFcgGcgGcgHcgIcgIcgJcgKcgLcgLcgMcdScgNcgOcgPcgNaaaaaaaaaaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafcgQbKqbKqbKrbKsbKsbKtbKtbKtbKtbKuaafaafaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -7393,7 +7398,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacfIcDIcEwcDIcfIcDKcEucDKcfIcDMcEvcDMcfIaaaaaaciicgTcgTcgUcgUcijcejcEqcEpcDAcErcEtcEscElcEkcEncEmcEmcEocEmccVbTxcEfbUGcEgcEhcEicEccEjcEccEccEdcEecEeciAciAciAciAbTFciGciHciIciIciJciKciLciMciXciOciPciQciRciSciSciTciUcaIcaIcaIciVcdEckqbZybZybZybZychBchBbViciYbViciZbYfccobYfaaaaaaaaaaaaaaaaaaaaacdLcjgcjhcjhcExcjjcjkcjlcjmcjncjocjpcjqcgIcgIcjrcjscgIcjtcgIchXcjucdScjvcjwcjxcgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacfIcDIcDJcDIcfIcDKcDLcDKcfIcDMcEbcDMcfIaaaaaaciicgTcgUcgUcgUcjBcjCcDwcDvcDAcDzcDycDxcDrcDqcDpcDocDucDtcDsccVbTxcDFcCycDEcDGcDHcDCcDCcDCcDDcDBcDCcDCceCcdeceAciAbTFciGckaciIckbckcckdcubckfckgckhctQckjckkcklciSckmciUcknckockpclicdFcdHcdGcdIcdIcdJcdIcdKbVibVibVibVibYfccobYfaaaaaaaaaaaaaaaaaaaaacdLckCckDckDckDckEcdOckFcdOckGckHckIckJckJckKckLckLckMckJckJckNckOcdSckPckQckRcgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacfIcFwcFvcFucfIcFtcFrcFscfIcFqcFlcFpcfIaaaaafciiclbcgTcgUcgUcgUcejcFScFIcDAcDAcFHcDAcDAcDAcDAcFVcEmcFTcFUccVcFAcFBcFCcFDcFxcFycFzcFzcFzcFGcFdcFdcFEciAcFFcgqclwclxciGclyciIclzclAclBclCclDclEclFclGclHclIclJciSclKciUclLclMclNclOclPclQclNclRclSclTbYfceQcdIcdIcdIcdIcdIceSbYfaaaaaaaaaaaaaaaaaaaaacdLcmacmbcmccmdcdOcmecmfcmgcdScmhcmicmicmicmjcmkcmlcmmcmicmicmicmncdScmocmpcmqcmraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaafaafcfIcEycsWcEzcfIcsVcsWcEAcfIcsVcsWcEAcfIaaaaafcmzcgTcgTcgUcgUcmAcejcEPcEOcENcEMcEGcEEcEScEScEUcETcEScERcEQccVcEZcFacEXcEYcEhcEVcEVcEWcFdcFecFccFbcFbciAcibceVcfUcqgciGcnbciIcnccndcFjciGcnfciNcngcfYcFfcnicnjciScnkciUclLclMclNcnlcnmcnlclNaaaaaaaaabYfbYfbYfcnnclSclSclTbYfbYfaaaaaaaaaaaacdOcdOcdOcdOcdOcdOcdOcdOcdOcnocnpcnqcdScdScnrcnscntcdScdScdScdScnucnscntcdScdScnvcnwcnvaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaafaafcfIcEycsWcEzcfIcsVcsWcEAcfIcsVcsWcEAcfIaaaaafcmzcgTcgTcgUcgUcmAcejcEPcEOcENcEMcEGcEEcEScEScEUcETcEScERcEQccVcEZcFacEXcEYcEhcEVcEVcEWcFdcFecFccFbcFbciAcibceVcfUcqgciGcnbciIcnccndcFjciGcnfciNcIjcfYcFfcnicnjciScnkciUclLclMclNcnlcnmcnlclNaaaaaaaaabYfbYfbYfcnnclSclSclTbYfbYfaaaaaaaaaaaacdOcdOcdOcdOcdOcdOcdOcdOcdOcnocnpcnqcdScdScnrcnscntcdScdScdScdScnucnscntcdScdScnvcnwcnvaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabZSaafaafaafaaaaafcnxaafcnxaafcKBaafcKAaafcKBaafcKAaafaafaaacejcnAcnBcgUcgUcnCcnDcGPcGOcqPcGTcGUcxpcxpcGVcxpcxocGXcGWcxocGYcpbcGJcGKcGLcmRcmRcmRcmRcyKcGMcGNcGNcGNcgscgscgscgscnSciGcnTcnUcnccnVcnWciGcnfciNcnXciUcnYcnZcnjcoacobciUclLclMclNcoccodcoeclNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaacdOcofcogcohcwlcojcokcolcomconcoocopcoqcwkaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaafcoscotcosaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaafcGvcGxcGwcGycGwcGxcGzcGycGAcGBcGzcGCcGDcGEcGIcqPcqPcqPcqPcqPcqPcqPcqPcFXcFWcGbcGacFZcFYcGecGdcGccxocGicGhcGfcxocmQcGncGmcmRcGqcGrcGocGpcmMcGtcmJcGscGscGucwscwscmJbTFciGciGcpccpdciGciGciGcpeciNcpfciUciUciUcpgcphciUciUclLcpiclNcvmcvncvmclNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaafaafcdOcplcpmcplcvlcpocppcpqcomcomcprcomcdOcdOaaaaaaaaaaafaafaaaaacaaaaaaaaaaaaaafaaacvtaaaaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaaaaaaaaaaafcoxcvjcvicvhcuBcvjcvBcvzcvAcvxcvycvvcvwcvucnzcvrcvscvpcvqcvkcvocwmcvLcwpcwocvKcuycuAcuwcvHcvGcvJcvIcvDcvCcvFcvEcmQcuncwucmRcmMcmMcmMcmMcmMcwtcmJcwqcwqcwqcwscwscmJbTFcrYciGcqhcqicqjcqkciGcqlciNcqmciUcqncqocqpcqqciUcqrclLcpiclNcqscqtcquclNaaaaaaaaaaaaaaaaaacqvcqwcqxcqycqvaafaaaaaaaaaaaacdOcplcplcplcoicqAcqBcqCcqDcqEcqFcqGcqHcdOaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaafaaacmZaaaaafaafaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -7402,11 +7407,11 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaafaaaaaacoxcnzcuxcnzcxJcxDcxEcxFcxGcxHcoXcoScxIcoScoScoUcxBcnzcnzcxCcudcxvcxucxucxtcuxcuxcxAcxwcxrcxqcxpcxocxscxocxocxocwBcwCcwzcwAcwFcwGcwDcwEcmMcwwcmJcwvcufcwycufcwxcmJctvctwciGciGctxciGciGciGciBctzctAciUciUciUctBciUciUcsIcrGaaacqvctCctDctEctFctGctHctIctJctKctLcqvctMctDctNcqvctOctPcqvaafaafcdOcplcplcplcorcpoctRctSctTctUctVcrNctWcdOcdOcdOcdOaaaaaacrPaaactXctXctXctXctXaafckxaafctXctXctXctXctXaaacrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacoxcnzcxJcxDcxDcxDcxEcxDcxDcxDcxEcxDcxDcxDcxDcxDczucxDcxDcxEcxDczycxDcxDcxDczwczvczxcvjcnzczBczEczDczzcpMczAcqecpMcAtcAucAvczFczGczGczHczGcAycAzcAAcAwcAxczfczfcmJcuCcuDcuEcuFcuFcuGcuHcuIcuJcuJcuJcuJcuJcuJcuJcuJcuKcrFcrGaaactFcuLcuMcuNctFcuOcuPcuQcuQcuRcuQcuScuTcuUcuVcuWcuXcuQcqvaaaaaacdOcplcplcplcslcuYcuZcvacvbcvccvdcrNcrNcvecvfcvgcdOaafaafcrPaafckVckSckSckSckSckyckxckwckvckvckvckvckUaafcrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacoxcnzcnzcnzcnzcnzcoNcnzcnzcnzcoNcnzcnzcnzcnzcnzcoPcnzcnzcoNcnzczocnzcnzcznczmczlczkczjcztczjczscyLczrczqczpcyLcyLczecyJcyKcyIcmMcyGcyHcmMcmMczhcufcufczgczfczfcmJbPxcAscvNcvNcvNcvNcvOcvNcvNcvNcvNclMcvPcrGcrGcrGcrGcrGcrGaaactFctFcvQctFctFcvRcvScvTcvUcvVcvWcvVcvXcvYcvZcwacwbcwccqvaaaaaacdOcomcomcomcomcwdcppcvacwecwfcwgcrNcrNcwhcrNcwicdOaaaaaacrPaafcwjcwjcwjcwjcwjaaackxaaacwjcwjcwjcwjcwjaafcrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaabZSaaaaaaaaaaaacoxcnzcnzcnzcnzcnzcoNcnzcnzcnzcoNcnzcnzcnzcnzcnzcoPcnzcnzcoNcnzcnKcnzcnzcnKcnKcBEcnzcnzcBGcBFcoCcoCcoCcoCcBHcBzcmQcBIcBJcyycBKcmMcBLcyHcmMcBMcmJcBNcufcBOcAHcAIcmJcwHcvMcvNcwIcwJcwKcwLcwMcwNcwOcvNcwPcwQcrGaaaaaaaaaaaaaaaaaacqvcwRcwScwTcwUcwVcwWcwXcwYcwZcxacvZcxbcxccxdcuWcqvcxecqvaaaaaacdOcofcogcohckXcsRcuZcxgcxhcxhcxicxjcxkcxlcxmcxncdOaaaaaacrPaaaaafaaaaafaafaafaaackxaaaaafaaaaafaaaaafaaacrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaabZSaaaaaaaaaaaacoxcnzcnzcnzcnzcnzcoNcnzcnzcnzcoNcnzcnzcnzcnzcnzcoPcnzcnzcoNcnzcnKcnzcnzcnKcnKcBEcnzcnzcBGcBFcoCcoCcoCcoCcBHcBzcmQcBIcBJcyycBKcmMcBLcyHcmMcBMcmJcBNcufcBOcAHcAIcmJcwHcvMcvNcwIcwJcwKcwLcwMcwNcwOcvNcwPcwQcrGaaaaaaaaaaaaaaaaaacqvcwRcwScwTcwUcwVcwWcwXcwYcwZcxacvZcxbcxccxdcuWcqvcxecqvaaaaaacdOcofcogcohckXcsRcuZcxgcxhcxhcxicxjcxkcIicxmcxncdOaaaaaacrPaaaaafaaaaafaafaafaaackxaaaaafaaaaafaaaaafaaacrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacoxcnzcnzcnzcnzcnzcoQcnzcnzcnzcoQcnzcnzcnzcnzcnzcoPcnzcnzcBDcudcAKcAScAScAKcoFcAKcBucBtcBycAScBxcBvcBCcBBcBAcBzcmQcmPcmQcABcADcmMcmMcACcmMcAFcmJcAEcAEcAJcAHcAIcmJbPxcvMcvNcxKcxLcxMcxNcxOcxNcxPcvNcxQcxRcrGaaaaaaaaaaaaaaaaaacqvcxScxTcxUcxVcxWcxXcxYcxZcuTcyacuScybcuTcyccuVcqvcqvcqvaaaaaacdOcplcpmcplctbcpocppcrNcrNcyecyfcrNcygcomcomcomcdOaaaaaacrPaaactXctXctXctXctXaafckxaafctXctXctXctXctXaafcrPaaaaaaaaaaaaaaaaaaaaaaaacyhaaaaaaaaacyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaaaaaaaaacoxcnzcowcnPcnPcnRcovcnPcnRcnPcoucnRcnPcnPcnPcnPcnQcnPcnOcnNcnMcnKcnzcnzcnLcnGcnHcnIcnJcnycnzcnEcnFcmXcmXcnecnhcmQcmPcmScmRcmNcmMcmOcmMcmLcmKcmJcmJcmJcmJcmJcmJcmJbPxcvMcvNcyMcyNcxLcyOcxLcxNcyPcvNcyQcyRcrGaaaaaaaaaaaaaaaaaacqvcuVcySctFctFcyTcyUcyVcyWctMctDctNcyXctMctDcyYcqvaaaaaaaaaaaacdOcplcplcplckXcyZczacrNcrNcrNcyfcrNczbcrNczccrNczdaafaafcrPaafckVckSckSckSckSckyckxckwckvckvckvckvckUaafcrPaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaaaaaaaaacoxcnzcoNcnzcnzcnzcoQcnzcnzcnzcoQcnzcnzcnzcnzcnzcoPcnzcnHcnzcoOcnKcnzcnzcoHcoFcoGcoEcoCcoDcoCcoCcnFcoAcoBcoycnhcmQcmPcmQcmRcoMcoLcoKcoJcoIcmMcmRczIczJczJczKczLczMczNczOcvNcxNczPczQcxNczRczSczTcvNczUczVcrGaaaaaaaaaaaaaaaaaacqvczWcuMczXcuVczYczZcAactFcAbcAccsPcyXczWcAdcAecqvaaaaaaaaaaaackEcdOcAfcAgcAgcAhcAicAjcAkcAlcAmcAncAocApcAqcokcAraaaaaacrPaafcwjcwjcwjcwjcwjaaackxaafcwjcwjcwjcwjcwjaaacrPaaacyhaaaaaacyhaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaacyhaaaaaacyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaacoYcnzcoNcnzcoZcoScoXcoScoWcoScoXcoScoWcoScoScoScoRcoVcoRcoUcoTcoGcpscptcpucpvcpwcpxcoCcpjcpkcoCcoCcoCcoCcoCcpncpbcpacpbcmRcmRcmRcmRcmRcmRcmRcmRcALczJczJcAMcANcAObPxcAPcvNcAQcARcpycATcAUcAVcAWcvNcAXcAYcrGaaaaaaaaaaaaaaaaaacqvcuQcAZcAectFcBacBbcBcctFcBdcBecBfcBgcBhcBicBjcqvaafaafaaaaaaaaaaaabquaaacdOcBlcBmcBncBocBpcBmcBqcBrcBpcBmcBscdOaaaaaabZSaaaaafaaaaafaaaaafaaackxaaaaafaaaaafaafaafaafcrPaaacyhcyhcyhcyhaaacyhcyhcyhcyhcyhcyhcyhcyhcyhaaacyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaaaaaaaaacoxcnzcoNcnzcnzcnzcoQcnzcnzcnzcoQcnzcnzcnzcnzcnzcoPcnzcnHcnzcoOcnKcnzcnzcoHcoFcoGcoEcoCcoDcoCcoCcnFcoAcoBcoycnhcmQcmPcmQcmRcoMcoLcoKcoJcoIcmMcmRczIczJczJczKczLczMczNczOcvNcxNczPczQcxNczRczSczTcvNczUczVcrGaaaaaaaaaaaaaaaaaacqvczWcuMczXcuVczYczZcAactFcAbcAccsPcyXczWcAdcAecqvaaaaaaaaaaaackEcdOcAfcAgcAgcIgcAicAjcAkcAlcAmcAncAocApcAqcokcAraaaaaacrPaafcwjcwjcwjcwjcwjaaackxaafcwjcwjcwjcwjcwjaaacrPaaacyhaaaaaacyhaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaacyhaaaaaacyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaacoYcnzcoNcnzcoZcoScoXcoScoWcoScoXcoScoWcoScoScoScoRcoVcoRcoUcoTcoGcpscptcpucpvcpwcpxcoCcpjcIhcoCcoCcoCcoCcoCcpncpbcpacpbcmRcmRcmRcmRcmRcmRcmRcmRcALczJczJcAMcANcAObPxcAPcvNcAQcARcpycATcAUcAVcAWcvNcAXcAYcrGaaaaaaaaaaaaaaaaaacqvcuQcAZcAectFcBacBbcBcctFcBdcBecBfcBgcBhcBicBjcqvaafaafaaaaaaaaaaaabquaaacdOcBlcBmcBncBocBpcBmcBqcBrcBpcBmcBscdOaaaaaabZSaaaaafaaaaafaaaaafaaackxaaaaafaaaaafaafaafaafcrPaaacyhcyhcyhcyhaaacyhcyhcyhcyhcyhcyhcyhcyhcyhaaacyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabZSaaaaaaaaaaaaaamaaaaaaaaacpzcnzcoNcnzcnHcnGcoNcnzcnHcnGcoNcnzcnHcnGcnzcnzcnLcnzcnHcnGcpAcpQcpTcpNcpOcpVcpWcpUcoCcpDcpFcpBcpCcpLcpMcpHcpJcpMcqbcpMcqacqecqdcqccpZcpZcpYcpXcBVcBWcBWcBXcBYcAObPxcBZcvNcvNcCacCbcCccCbcCacCdcvNcrGcCecrGaaaaaaaaaaaaaaaaaacqvctFcCfcuVctFcCgcChcCictFcCjcCkcqycgvcCmcCncCocrHaaaaaaaaaaaaaaaaaacgwaafcdOcCqcluclUcomclsclpclqcomcloclVclWcdOaaaaaacrPaaactXctXctXctXctXaafckxaafctXctXctXctXctXaafcrPaaacyhcyhcyhcyhaaacyhcyhcyhcyhcyhcyhcyhcyhcyhaaacyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaafaafaafaafaamaafaafaafcpzcrgcrjcrhcricrbcracqZcqYcqXcqWcqVcqUcrbcnzcrgcrfcrecrdcqXcrccqPcqPcqPcqPcqPcqPcqPcqPcqRcjbcpncqScqIcmQcqQcmQcmQcmPcmQcmQcqfcmQcqIcqzcqKcqJcqMciCcCNcCOcCPcCQcAObPwcCRcCScCTcCacAGcAVcBwcCacCWaafcCXcCYcCXaaaaaaaaaaaaaaaaaacqvcCZctDcuQcDacDbcuQcDccDdcDeaafaaachxchFchEclXaaaaaaaaaaacaaaaaaaaaaaaaaacdOcDhcplcplcomcDicplcplcomcDicplcplcdOaafaafcrPaafckVckSckSckSckSckyckxckwckvckvckvckvckUaafcrPaaacyhcyhcyhcyhaaacyhcyhcyhcyhcyhcyhcyhcyhcyhaaacyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPcsbaaaaaaaaaaamaaaaaaaaacsgcsccsdcsecsfcsicshcsjcsfcsicshcsjcsfcsicsmcsmcsncsjcsfcsicskcqPaaacrocrpcrmcrncrkcrlcrUcrVcgYcgYcrScrTcrQcrRcrZcsacrRcrZcrQceXcrXcrWceXcpncpncAOcDNcDOcDPcDQcAObNUcDRcDScDTcCacCbcDUcCbcCacCWaafaaaaafaaaaaaaaaaaaaaaaaaaaacqvcCZcDVcDWcDXcDXcDWcsPcDYcqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacdOcDZcplcplcomcEacplcplcomcEacplcplcdOaaaaaacrPaafcwjcwjcwjcwjcwjaaackxaaacwjcwjcwjcwjcwjaaacrPaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -7414,9 +7419,9 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaafaafaaaaaaaaqaaaaaaaaaaafcfIcsVcsWcsXcfIcsVcsWcsXcfIcsVcsWcsYcfIaaacfIcsZcsWcsYcfIaaaaafaaaceUceyctcchdceyctactectfcgYctdcthcticgtctgctmctlctkctjcgtcttctoctnceXaaaaaacAOcFgcFhcFiaaaaaabNUbPxbPxbNUcCacmUcmUcmUcCacFkcmWaaaaaaaaaaaaaaaaaaaaaaaaaaacqvcFmcFncuQcuQcuQcuQcuQcFocqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaackEcdOcdOcdOcdOcdOcdOcdOcdOcmYcmYcmYckEaaaaaacrPcrPcrPcrPcrPaaaaaaaaacmZaaaaaaaaacrPcrPcrPbZScrPaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaaaaafaafaaaaamaaaaaaaaaaafcfIcfJcfGcfHcfIcgicfRcfQcfIcfPcfOcfNcfIaafcfIcfMcfLcfKcfIaaaaafaaaceUceWcexceyceyceTcetceucevcewcepceqcercescfDcfCcfFcfEcfjceYcfBcfuceXaafaaacFJcDNcFKcAOcFLaaabNUcFMbPxcFNcFOaafaafaafaaacBkaafaafaaaaaaaaaaaaaaaaaaaaaaaacrHcqvcqvcFPcFQcEIcEIcEIcFRcFPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqpbqpbqpaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaafcfTaafcrPaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaamaaaaaaaafaafcfIchkchlchkcfIchichjchicfIchgchhchgcfIaaacfIchgchgchfcfIaaaaafaaaceUchecexchdceychcchachbcgYcgZcgWcgXcgtcgRcgBcgCcgBcgucgtcgrcgpcgoceXaaLcGgcGgcGgcGgcGgcGgcGgbNUciEciDcGjaafaaaaaaaafcGkcDfaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacGlcEJcEJcEJcEJcEJcGlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaaaaafaaacrPaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaafaamaaaaafaafaaacfIchkchmchkcfIchichnchicfIchgchochgcfIaafcfIchgchgchgcfIaafaafaafcidciecifcigcihcikchpchbcgYchqchGchHcgtciccimcilciocincgtcipcirciqceXaaacGgcGgcGgcGgcGgcGgcGgcGFcGGcGHbNUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacqvcCmcqxcqxcqxcCocqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPcrPcrPcrPcrPaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaafaamaaaaafaafaaacfIchkchmchkcfIchichnchicfIchgchochgcfIaafcfIchgchgchgcfIaafaafaafcidciecifcigcihcikchpchbcgYcAhchGchHcgtciccimcilciocincgtcipcirciqceXaaacGgcGgcGgcGgcGgcGgcGgcGFcGGcGHbNUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacqvcCmcqxcqxcqxcCocqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPcrPcrPcrPcrPaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbZSaaaaaacfIcfIcfIcfIcfIcfIcfIcfIcfIcfIcfIcfIcfIaaaciscfIcfIcfIcfIaaaaaaaaaaaacjbcjbcjbcjbcjbciycitcitcitcitcjacitciWcivciwcivciucitcitcixcitcitcitcGgcGgcGgcGgcGgcGgcGgaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaacyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafcrPaaaaaaaafaafaaaaafaafaaaaaaaafaafaafaaaaaaaaaaaaaaaaaaaafaaacGQcGRcGRcGRcGScjycjccjdcjecjicjFcjGcjHcjIcjzcjAcjDcjEcjNcjMcjPcjOcjKcjJcjJcjLcjQcitcGgcGgcGgcGgcGgcGgcGgaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafcrPaaaaaaaafaafaaaaafaafaaaaaaaafaafaafaaaaaaaaaaaaaaaaaaaafaaacGQcGRcGRcGRcGScjycjccjdcjecjicjFcjGcjHcjIcjzcjAcIfcjEcjNcjMcjPcjOcjKcjJcjJcjLcjQcitcGgcGgcGgcGgcGgcGgcGgaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafcHncjVcHpaaacHncjVcHpaaacHncjVcHpaafaafaaaaafaafaafaafaafcHqcGRcGRcGRcGScjycjXcjYcjTcjUckzckAcksckuckickrcjZckecjJcjRcjJcjJcjJcjJcjJcjJcjScitcGgcGgcGgcGgcGgcGgcGgaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaacHncjWcHpaaacHncjWcHpaaacHncjWcHpaafaafaaaaafaaaaaacHKaafcGQcGRcGRcGRcGScjycjXckTckWckYckZckAclaclccldclecjJcjJclhclgcljcjJcjJcjJcjJcjJclkcitcIbaafaaIaafaafaafaafaafaafaafaafaafckBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafcHncjWcHpaaacHncjWcHpaafcHncjWcHpaafaaaaaaaafaafcIcaaaaafcHqcGRcGRcGRcGScjycmycmBcmwcmxcmEcmFcmCcmDcmHcmIcmGcmGcmsclvcltclnclnclnclnclncmvcmucmtclmclmclmclmclmclmclmclmclmcllaaackBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa From 4495f4c8ed9e3e7ca82e504bcbd03d4a9d5fe777 Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Sun, 8 Feb 2015 19:58:28 +0000 Subject: [PATCH 040/143] Fixes possible href exploit with APCs --- code/modules/power/apc.dm | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm index dc019ccaec6..5a1dcc5b721 100644 --- a/code/modules/power/apc.dm +++ b/code/modules/power/apc.dm @@ -888,6 +888,11 @@ if(!can_use(usr, 1)) return 1 + if(!istype(usr, /mob/living/silicon) && locked) + // Shouldn't happen, this is here to prevent href exploits + usr << "You must unlock the panel to use this!" + return 1 + if (href_list["lock"]) coverlocked = !coverlocked From 76f4001cc14434e3722f8b3027e2641e09c697c1 Mon Sep 17 00:00:00 2001 From: Raptor1628 Date: Sun, 8 Feb 2015 17:23:02 -0500 Subject: [PATCH 041/143] Paramedic Job Fixed Adds Paramedic job as outlined on the forums. Reduces MD access to EVA, adds some minor EMT clothing stuff, and fixes #8020 and the medgreen armband while I was piddling around in sprites. EMT alt title and indent fixed. Now less broken. ![](http://i.imgur.com/vOSoJy0.png) --- code/game/jobs/job/medical.dm | 41 +++++++++ code/game/jobs/jobs.dm | 1 + .../objects/items/weapons/storage/belt.dm | 9 +- code/modules/clothing/under/jobs/medsci.dm | 6 ++ code/modules/clothing/under/miscellaneous.dm | 6 +- icons/mob/suit.dmi | Bin 276927 -> 276927 bytes icons/mob/ties.dmi | Bin 8305 -> 8492 bytes icons/mob/uniform.dmi | Bin 256640 -> 257259 bytes icons/obj/clothing/uniforms.dmi | Bin 58644 -> 58938 bytes maps/exodus-1.dmm | 79 ++++++++++-------- 10 files changed, 102 insertions(+), 40 deletions(-) diff --git a/code/game/jobs/job/medical.dm b/code/game/jobs/job/medical.dm index a63363f779c..13702911528 100644 --- a/code/game/jobs/job/medical.dm +++ b/code/game/jobs/job/medical.dm @@ -196,3 +196,44 @@ else H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H.back), slot_in_backpack) H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/labcoat(H), slot_wear_suit) + + +/datum/job/Paramedic + title = "Paramedic" + flag = PARAMEDIC + department_flag = MEDSCI + faction = "Station" + total_positions = 2 + spawn_positions = 2 + supervisors = "the chief medical officer" + selection_color = "#ffeef0" + access = list(access_medical, access_morgue, access_surgery, access_chemistry, access_virology, access_eva, access_maint_tunnels, access_external_airlocks, access_psychiatrist) + minimal_access = list(access_medical, access_morgue, access_eva, access_maint_tunnels, access_external_airlocks) + alt_titles = list("Emergency Medical Technician") + + equip(var/mob/living/carbon/human/H) + if(!H) return 0 + H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_med(H), slot_l_ear) + H.equip_to_slot_or_del(new /obj/item/clothing/shoes/jackboots(H), slot_shoes) + H.equip_to_slot_or_del(new /obj/item/weapon/storage/firstaid/adv(H), slot_l_hand) + switch(H.backbag) + if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/medic(H), slot_back) + if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel_med(H), slot_back) + if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back) + if (H.mind.role_alt_title) + switch(H.mind.role_alt_title) + if("Emergency Medical Technician") + H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/medical/fluff/short(H), slot_w_uniform) + H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/fr_jacket(H), slot_wear_suit) + if("Paramedic") + H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/medical/black(H), slot_w_uniform) + H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/fr_jacket(H), slot_wear_suit) + else + H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/medical(H), slot_w_uniform) + H.equip_to_slot_or_del(new /obj/item/weapon/storage/belt/medical/emt(H), slot_belt) + H.equip_to_slot_or_del(new /obj/item/device/pda/medical(H), slot_l_store) + if(H.backbag == 1) + H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/engineer(H), slot_r_hand) + else + H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/engineer(H.back), slot_in_backpack) + return 1 diff --git a/code/game/jobs/jobs.dm b/code/game/jobs/jobs.dm index a90f3ad716d..e1c42254a65 100644 --- a/code/game/jobs/jobs.dm +++ b/code/game/jobs/jobs.dm @@ -25,6 +25,7 @@ var/const/VIROLOGIST =(1<<6) var/const/PSYCHIATRIST =(1<<7) var/const/ROBOTICIST =(1<<8) var/const/XENOBIOLOGIST =(1<<9) +var/const/PARAMEDIC =(1<<10) var/const/CIVILIAN =(1<<2) diff --git a/code/game/objects/items/weapons/storage/belt.dm b/code/game/objects/items/weapons/storage/belt.dm index 0c4a94eb869..e190ac1e02d 100644 --- a/code/game/objects/items/weapons/storage/belt.dm +++ b/code/game/objects/items/weapons/storage/belt.dm @@ -70,9 +70,16 @@ "/obj/item/device/flashlight/pen", "/obj/item/clothing/mask/surgical", "/obj/item/clothing/gloves/latex", - "/obj/item/weapon/reagent_containers/hypospray" + "/obj/item/weapon/reagent_containers/hypospray" ) +/obj/item/weapon/storage/belt/medical/emt + name = "EMT utility belt" + desc = "A sturdy black webbing belt with attached pouches." + icon = 'icons/obj/custom_items.dmi' + icon_state = "emsbelt" + item_state = "emsbelt" + /obj/item/weapon/storage/belt/security name = "security belt" diff --git a/code/modules/clothing/under/jobs/medsci.dm b/code/modules/clothing/under/jobs/medsci.dm index 40bc087429d..b1554dd02ab 100644 --- a/code/modules/clothing/under/jobs/medsci.dm +++ b/code/modules/clothing/under/jobs/medsci.dm @@ -130,6 +130,12 @@ icon_state = "scrubspurple" item_color = "scrubspurple" +/obj/item/clothing/under/rank/medical/black + name = "medical scrubs" + desc = "It's made of a special fiber that provides minor protection against biohazards. This one is in black." + icon_state = "scrubsblack" + item_color = "scrubsblack" + /obj/item/clothing/under/rank/psych desc = "A basic white jumpsuit. It has turqouise markings that denote the wearer as a psychiatrist." name = "psychiatrist's jumpsuit" diff --git a/code/modules/clothing/under/miscellaneous.dm b/code/modules/clothing/under/miscellaneous.dm index 390ec7f5417..bc4d37c672f 100644 --- a/code/modules/clothing/under/miscellaneous.dm +++ b/code/modules/clothing/under/miscellaneous.dm @@ -479,9 +479,9 @@ /obj/item/clothing/under/serviceoveralls name = "Workman outfit" desc = "The very image of a working man. Not that you're probably doing work." - icon_state = "mechanic_s" - item_state = "mechanic_s" - item_color = "mechanic_s" + icon_state = "mechanic" + item_state = "mechanic" + item_color = "mechanic" /obj/item/clothing/under/cheongsam name = "White Cheongsam" diff --git a/icons/mob/suit.dmi b/icons/mob/suit.dmi index 0099cac9d461bb8a2a0b9a488e175b01ad6a6c8d..1e0223fcd0a7ed95342ff191e141fbc2bca2faf7 100644 GIT binary patch delta 622 zcmV-!0+Ic{^ANxD5U@o9f8%C44*Y1*v!hdt{%2D!C?(REbyD61ZYw_(H%7K%fE%-l z8w;C%J~zqloB;Lia@fj=7mlOiMye6;x68_@h$)yte8!Q6{iHkQRTFeMc&2|)9xt5J z@_O2M@xsW1UR7BZ*2ztI&%nrj;unnHDf;4aCNYWim_}{Eq%kW3e@03*@VF+bUfRp& z8D@ph7@SE^X3_#WUdoYTTVN3rmsGX#s}EgQqm@R^Z7iN<~A* zdMdfe#P)bR!^rPMXP5y=e1?&VHi1eJ1Kz$>+<1DY^rRO1C~QIJb66QfoiZnoJ+%lB z4ouZEtSm0^2@qbh<^w#bwlG-gTZ_)^Og|~X_QN7_mAk~jf4U!&q`USD^5#lCsko^y z1*D!X&Dz^}{DT8vjVtAYB>S>`mtm50M?EJy8?+nS=~mUfrH$QdLgC5Wv-TY6*#c>O zQ^&WuuroPEO15urtaZWza$)wAgS~c0F1>uP-V=2n1$bcVz|g?V%4GawFpXzgUS;{} z)w)dZ+c|VQPr0D6_L`1y@j&4{klMadeX;=BkD4CWPkg&q8{yQKJsT6~x&#Q!69()5 zBl@f5hDF6cnS0dx7XGFCx5KAzABT@$zg+(ZQ{G{%u2%FBgOCM>kOcvUkOcyVkOc#` IkOc%UG%F1|_5c6? delta 622 zcmV-!0+Ic{^ANxD5U@o9e`zxv=Y8CL&xTGR`ky_$Ae2aB)=7C6xGnrt+!)!40WQoc zZY*s6`P?MGa{|P>%VDb~UO0}58>vRX-!3bsBBo#h@fk<@^^@$FS545};FzdTB48 zXP6a2V{j%xl}QWecqvDUZGAvf3nI2c-qQwCbfc=-48sr^+I7!u0xD#rUe)t51!JrTY(p^C>0GI z>#5`>6WinQ3?n}ionZzP@fk)c+5{>^40!ogapUQk(vw>3qp$^?&tYW{b;_JT_S7Ok zI51Vuu(G(sCqQ`3nh)@#+QML|Z!J2vGyS9l+wY3VP3{s0f9rlslJ43M$eSDWq~fN+ z6p(tlG;43?@$U_QHLjEolI+X&U4}{09rc{-Y|w6Or(0F`mNs^;356$f&)RdOXA7kD zO&#Cr!p`IvDcQcgvDOI>$c5Qc4))q1x%BeEdQa4S6ySZW149EdE0gh$!8D#}d6ng> zSL-stZ|BhMPvnBe+G{$-#RG-+Kx+F+^~nNgKWchhKk@BeZG=-__H0a`>k=R^PZ+HK zkLZt<8x|G+WbRS#Tlkmm-wvO?eH=c1{c`;u5)olLWW^llgOCM>kOcvUkOcyVkOc#` IkOc%UG=kSSHvj+t diff --git a/icons/mob/ties.dmi b/icons/mob/ties.dmi index 32792a321196cce1e623a693e4cfac64a364209b..8206ece012a8e08acd694394e16f74035556f117 100644 GIT binary patch literal 8492 zcmch7cT`hdvv&Xm1wjNskfskP0wM@XhaezDno1vsPKy(f#*BM5D^2#yS0O*K^nmzW{a)vtjx%v3Jc|$;;;Ed$43JCq}bBuFG z8)7#<*w8sQ=F?wg41Sfgxp4hLtG3acR(6wS!eeX2cL{3L2Ncn?c6=Zj+_qfq?VYE{ ztjV-SypJ^)P6i2tl}ufKxR*n@<=3h))at2gDW2fswfNa(#Q`U0|HidvsC8%c{S#J} z&zGakxYAgXuY|mR>&3)%T>AIBRc&_}sqVDrTKgu27RJ?-^b6!Sui44EfgdUxVa~2h znMHqnX^X5kg_+$mxs?Y`ESmVpX4?7%p17^`bBvQ!^O<)Y-|vz0;+&Qvk&8vk1~Q*^ z@0P7xoz;E>qlh~GVCR~=HQ)1CI2||c8(5N|d1%ZSb^|bDp1!oX&$S|}0%*}0L+9?kDu|#Wq78j6P z-ksl__l4fZO*mJVfa@x&yhr<0SVhw7TP%%KO?;aF@p3zM1Vm0XBd&AF5{t71! z3aed(W800#d_o|gv)x_2BeN$Y!QjT!Z<+NBx~cdK2!T%KzKJP2HZXF4k8Wyji}S9L zeeQ_o{z;=w#We`8b4dSMUm+Y#IFpvn9gS+5Z1Nws^hz=2tJVz869@qnrT7Z9sU9}& zyDYzZO7+wUu-vM-7tbcF(L6cDo3EdZQLXM7Q>}LY;T7cX?&fw|Qc{w)p32EKrw46# z-Z6wa+OT%TH&Zk)Qg%uUI(BfvJJ7S(NQU6R(!CMKdT5JBQ+?o%=&~OJx`{3bkC(E$ zHhkLayF#nX%*+`P5fSfj$Gq~Vhc6MO!$byHu~WP;OKMCe*XBouKI>?@c-QY;8YLju znLuf`<}Yl~LNd2bhnsbENj(Lr%XPg`bO3c}ostGU)&MbtU;E!^Y)MN#W|v{%j(kT5 zywccEQ*`rM*=sWt)2bLIkRjZ&(%bb_Lf)HeoMZ73`{p;(KG9&1%x@2hGcK0MtgU0M z9Itc7CW;WKR9@Tt7y|F8@u@B8Mv9+;lbl>b(1KaLc#6T$u_|hcOqP+&kPh}WO-qA! z^H6`AFPfXf#FP8`#5q}Xik{gu5nM!mo{es=#)6(D!^QY33jAy*dvK57JgUWB>O#((r>GfvZi zPR1?`60e8TwQv+%0kv?@^MGz%J?Z^B8{0R-XY1tOZ(aM?_~g8HN^?C)R4fFS=dQ|Q zb+A4un}>-JwY(pz#xAqlEGf`;Ry3e!dEfo}hoV`4aGU7;V|ArBeHi8x(&#qYRH`^ViU%-`7kLrt&Pj8*MsF!HeIV-SD zy?Bl>M&$lq3HQiX<;Q>4w-Hsvthr=f5w8m|4&+{iZZWzYqw_I{_#O+FRH>5qV@h!* zO^)^yEm^G!!_mpw(hS{Gs-qCDDX&~bsU+;>DQxX6Jr^@X&(sI6TYOayN7G#&Bq9=M zvc0GZ37&Hw#Y_uy6Jz-mpVGf*2`>X1YqtQ)>~>nXDa^0==>#p8Ca8Yp>#`w6_2oqj z*WZ0JY31 zu+aZsMYVIo!%a^+4gzxM`h^jqd*|pYNKjdO#U90KqY3NZTTYw0Je8hM2Bzm}-|3tf zFlECd)1~@bkW9O?Ng`<#N4!V*yaN#}<@benW{zfBd^}kR0ux6wa{uWbP1*mc)Bh*& z;9uQ3cew?2u-;vxuc}Gv9!F*-5>meIx7ZUck_(>I=ew(}*lakQzac4^ECOBXx^SBQ z#k+>RZy074mj1)-#cO)2L&o)Gl6P5l7saeFZIqfodmHzenC$V{hOIJBni^&4PqW

    6Ui$%QaO)r~0xcVjBnakuTzb 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 literal 8305 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 diff --git a/icons/mob/uniform.dmi b/icons/mob/uniform.dmi index 2ac56359324ed74b608fbc7ad5f1dc1d9b2a97b9..c31d85f1143c8cf602d098b88df1b145dac7059b 100644 GIT binary patch delta 16531 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 delta 15875 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 diff --git a/icons/obj/clothing/uniforms.dmi b/icons/obj/clothing/uniforms.dmi index c57f93464daebff2a0d871afa2871b724b7ea242..a1189267e9d2713dc7a118843f67a33d1f92716c 100644 GIT binary patch delta 3539 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 diff --git a/maps/exodus-1.dmm b/maps/exodus-1.dmm index 360948e33c0..4855665b972 100644 --- a/maps/exodus-1.dmm +++ b/maps/exodus-1.dmm @@ -1132,12 +1132,12 @@ "avN" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/maintenance/arrivals) "avO" = (/obj/machinery/space_heater,/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor/plating,/area/maintenance/arrivals) "avP" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/central_one) -"avQ" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "eva_airlock"; name = "exterior access button"; pixel_x = 0; pixel_y = 25; req_access_txt = "13"},/turf/simulated/floor/plating/airless,/area/maintenance/evahallway) +"avQ" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "eva_airlock"; name = "exterior access button"; pixel_x = 0; pixel_y = 25; req_access_txt = "1;11;18;24"},/turf/simulated/floor/plating/airless,/area/maintenance/evahallway) "avR" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "eva_outer"; locked = 1; name = "EVA External Access"; req_access = null; req_access_txt = "13"},/turf/simulated/floor/airless{icon_state = "circuit"},/area/maintenance/evahallway) "avS" = (/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "eva_sensor"; pixel_x = 0; pixel_y = 25},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1379; id_tag = "eva_pump"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 9},/area/maintenance/evahallway) "avT" = (/obj/machinery/embedded_controller/radio/airlock/airlock_controller{frequency = 1379; id_tag = "eva_airlock"; name = "EVA Airlock Console"; pixel_y = 25; req_access_txt = "0"; req_one_access_txt = "1;5;11;18;24"; tag_airpump = "eva_pump"; tag_chamber_sensor = "eva_sensor"; tag_exterior_door = "eva_outer"; tag_interior_door = "eva_inner"},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 5},/area/maintenance/evahallway) "avU" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "eva_inner"; locked = 1; name = "EVA Internal Access"; req_access = null; req_access_txt = "13"},/turf/simulated/floor/plating,/area/maintenance/evahallway) -"avV" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "eva_airlock"; name = "interior access button"; pixel_x = 0; pixel_y = 25; req_access_txt = "13"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/maintenance/evahallway) +"avV" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "eva_airlock"; name = "interior access button"; pixel_x = 0; pixel_y = 25; req_access_txt = "1;11;18;24"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/maintenance/evahallway) "avW" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/maintenance/evahallway) "avX" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/maintenance/evahallway) "avY" = (/obj/machinery/shower{dir = 4; icon_state = "shower"; pixel_x = 5; pixel_y = 0},/obj/structure/curtain/open/shower,/turf/simulated/floor{icon_state = "freezerfloor"},/area/security/prison) @@ -1979,8 +1979,8 @@ "aMc" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hallway/primary/central_one) "aMd" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/hallway/primary/central_one) "aMe" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/sign/securearea,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/hallway/primary/central_one) -"aMf" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass_command{name = "E.V.A."; req_access_txt = "0"; req_one_access_txt = "1;5;11;18;24"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "dark"},/area/hallway/primary/central_one) -"aMg" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass_command{name = "E.V.A."; req_access_txt = "0"; req_one_access_txt = "1;5;11;18;24"},/turf/simulated/floor{icon_state = "dark"},/area/hallway/primary/central_one) +"aMf" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass_command{name = "E.V.A."; req_access_txt = "0"; req_one_access_txt = "1;11;18;24"},/turf/simulated/floor{icon_state = "dark"},/area/hallway/primary/central_one) +"aMg" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass_command{name = "E.V.A."; req_access_txt = "0"; req_one_access_txt = "1;11;18;24"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "dark"},/area/hallway/primary/central_one) "aMh" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/sign/securearea,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/hallway/primary/central_one) "aMi" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/hallway/primary/central_one) "aMj" = (/obj/structure/extinguisher_cabinet{pixel_x = -24},/turf/simulated/floor,/area/hallway/primary/central_one) @@ -4184,7 +4184,7 @@ "bCx" = (/turf/simulated/floor{icon_state = "white"},/area/rnd/research) "bCy" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/rnd/research) "bCz" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/turf/simulated/floor{icon_state = "white"},/area/rnd/research) -"bCA" = (/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "acutesep"; name = "Acute Separation Shutters"; opacity = 0},/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/sleeper) +"bCA" = (/obj/structure/table/reinforced,/obj/machinery/door/window/eastright{dir = 1; name = "Emergency Kit"; req_access_txt = "5"},/obj/machinery/door/firedoor,/turf/simulated/floor{dir = 1; icon_state = "whiteyellow"},/area/medical/sleeper) "bCB" = (/obj/machinery/navbeacon{codes_txt = "delivery;dir=8"; freq = 1400; location = "Research Division"},/obj/structure/plasticflaps{opacity = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor{icon_state = "bot"},/area/rnd/research) "bCC" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/rnd/docking) "bCD" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/rnd/docking) @@ -4230,7 +4230,7 @@ "bDr" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor,/area/hallway/primary/central_two) "bDs" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/sign/redcross{desc = "The Star of Life, a symbol of Medical Aid."; icon_state = "lifestar"; name = "Medbay"; pixel_x = 32},/turf/simulated/floor,/area/hallway/primary/central_two) "bDt" = (/turf/simulated/wall,/area/medical/sleeper) -"bDu" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/backpack/medic,/obj/item/roller,/obj/item/roller,/obj/item/roller,/obj/item/weapon/storage/toolbox/emergency,/obj/item/bodybag/cryobag{pixel_x = -3},/obj/item/bodybag/cryobag{pixel_x = -3},/obj/item/device/radio{frequency = 1487; name = "Medbay Emergency Radio Link"},/obj/machinery/door/window/eastright{dir = 1; name = "Emergency Kit"; req_access_txt = "5"},/obj/machinery/door/firedoor,/turf/simulated/floor{dir = 1; icon_state = "whiteyellow"},/area/medical/sleeper) +"bDu" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) "bDv" = (/obj/structure/closet/secure_closet/medical_wall{name = "Pill Cabinet"},/obj/item/weapon/storage/pill_bottle/antitox,/obj/item/weapon/storage/pill_bottle/tramadol,/obj/item/weapon/reagent_containers/syringe/antiviral,/obj/item/weapon/reagent_containers/syringe/antiviral,/obj/item/weapon/reagent_containers/syringe/inaprovaline,/turf/simulated/wall,/area/medical/sleeper) "bDw" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{name = "Medicine Storage"; req_access_txt = "5"},/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) "bDx" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/medical/sleeper) @@ -4255,7 +4255,7 @@ "bDQ" = (/obj/item/weapon/table_parts,/turf/simulated/floor/plating,/area/medical/genetics) "bDR" = (/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor/plating,/area/medical/genetics) "bDS" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "cmooffice"; name = "CMO Office Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/medbay2) -"bDT" = (/obj/machinery/door/firedoor,/obj/machinery/door/blast/shutters{density = 0; dir = 4; icon_state = "shutter0"; id = "acute1"; name = "Acute One Privacy Shutters"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/medbay) +"bDT" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) "bDU" = (/obj/structure/sign/securearea,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall/r_wall,/area/rnd/research) "bDV" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "cmooffice"; name = "CMO Office Privacy Shutters"; opacity = 0},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/medical/medbay3) "bDW" = (/obj/machinery/light{dir = 1},/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 32},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 8; name = "hazard door west"},/turf/simulated/floor{dir = 8; icon_state = "whiteblue"},/area/rnd/research) @@ -4347,7 +4347,7 @@ "bFE" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/plating,/area/medical/genetics) "bFF" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/research{name = "Genetics Research"; req_access_txt = "9"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics) "bFG" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; external_pressure_bound = 0; external_pressure_bound_default = 0; icon_state = "map_vent_in"; initialize_directions = 1; internal_pressure_bound = 4000; internal_pressure_bound_default = 4000; use_power = 1; pressure_checks = 2; pressure_checks_default = 2; pump_direction = 0},/turf/simulated/floor/bluegrid{name = "Server Base"; nitrogen = 500; oxygen = 0; temperature = 80},/area/server) -"bFH" = (/obj/machinery/door/firedoor,/obj/machinery/door/blast/shutters{density = 0; dir = 4; icon_state = "shutter0"; id = "acute1"; name = "Acute One Privacy Shutters"; opacity = 0},/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/medbay) +"bFH" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "acute1"; name = "EMT Storage Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/sleeper) "bFI" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/structure/window/reinforced,/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "cmooffice"; name = "CMO Office Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/medbay) "bFJ" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 8; name = "hazard door west"},/turf/simulated/floor{dir = 8; icon_state = "whiteblue"},/area/rnd/research) "bFK" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor{icon_state = "white"},/area/rnd/research) @@ -4399,7 +4399,7 @@ "bGE" = (/obj/machinery/door/airlock/multi_tile/glass{autoclose = 1; dir = 2; req_access_txt = "5"},/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/medical/sleeper) "bGF" = (/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) "bGG" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) -"bGH" = (/obj/machinery/light,/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) +"bGH" = (/obj/machinery/door/firedoor,/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "acute1"; name = "EMT Storage Privacy Shutters"; opacity = 0},/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/sleeper) "bGI" = (/obj/machinery/door/firedoor,/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) "bGJ" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) "bGK" = (/obj/structure/disposalpipe/sortjunction/flipped{dir = 1; sortType = "Chemistry"; name = "Chemistry"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "whitebluecorner"; tag = "icon-whitebluecorner"},/area/medical/medbay) @@ -4545,12 +4545,12 @@ "bJu" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/turf/simulated/floor,/area/hallway/primary/central_two) "bJv" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/hallway/primary/central_two) "bJw" = (/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=HOP"; location = "CHE"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor,/area/hallway/primary/central_two) -"bJx" = (/obj/machinery/iv_drip,/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/sleeper) -"bJy" = (/obj/machinery/door_control{id = "acute1"; name = "Acute One Privacy Shutters"; pixel_x = 6; pixel_y = 25; req_access_txt = "5"},/obj/machinery/camera{c_tag = "Medbay Acute 1"; network = list("SS13")},/obj/machinery/door_control{id = "acute1em"; name = "Acute One Entry Shutters"; pixel_x = -6; pixel_y = 25; req_access_txt = "5"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) +"bJx" = (/turf/simulated/floor/mech_bay_recharge_floor,/area/medical/sleeper) +"bJy" = (/obj/machinery/mech_bay_recharge_port,/turf/simulated/floor/plating,/area/medical/sleeper) "bJz" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 4; icon_state = "shutter0"; id = "cmooffice"; name = "CMO Office Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/medbay2) "bJA" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay) "bJB" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "cmooffice"; name = "CMO Office Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/medbay) -"bJC" = (/obj/machinery/door/firedoor,/obj/machinery/door/blast/shutters{density = 0; dir = 4; icon_state = "shutter0"; id = "acute2"; name = "Acute Two Privacy Shutters"; opacity = 0},/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/medbay) +"bJC" = (/obj/machinery/computer/mech_bay_power_console,/turf/simulated/floor/bluegrid,/area/medical/sleeper) "bJD" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/command{id_tag = "cmodoor"; name = "CMO's Office"; req_access_txt = "40"},/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/heads/cmo) "bJE" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "cmooffice"; name = "CMO Office Privacy Shutters"; opacity = 0},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/medical/medbay4) "bJF" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "cmooffice"; name = "CMO Office Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/medbay4) @@ -4625,8 +4625,8 @@ "bKW" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/turf/simulated/floor,/area/hallway/primary/central_two) "bKX" = (/obj/machinery/light,/turf/simulated/floor,/area/hallway/primary/central_two) "bKY" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor,/area/hallway/primary/central_two) -"bKZ" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = -25; pixel_y = 0; req_access_txt = "0"},/obj/structure/stool/bed,/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/sleeper) -"bLa" = (/obj/machinery/sleeper,/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) +"bKZ" = (/obj/machinery/vending/medical,/turf/simulated/wall,/area/medical/medbay) +"bLa" = (/obj/machinery/door_control{id = "acute1"; name = "EMT Storage Privacy Shutters"; pixel_x = 26; pixel_y = 25; req_access_txt = "5"},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) "bLb" = (/obj/machinery/sleep_console,/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) "bLc" = (/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "scanhide"; name = "Diagnostics Room Separation Shutters"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/sleeper) "bLd" = (/turf/simulated/floor{icon_state = "white_1"},/area/medical/medbay) @@ -4696,10 +4696,10 @@ "bMp" = (/obj/machinery/door/airlock{name = "Custodial Closet"; req_access_txt = "26"},/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/hallway/primary/central_three) "bMq" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hallway/primary/central_two) "bMr" = (/obj/machinery/vending/cigarette,/turf/simulated/floor{icon_state = "dark"},/area/hallway/primary/central_two) -"bMs" = (/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/obj/item/roller,/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/sleeper) -"bMt" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) -"bMu" = (/obj/machinery/door_control{id = "acutesep"; name = "Acute Separation Shutters"; pixel_y = -25; req_access_txt = "5"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) -"bMv" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{autoclose = 0; name = "Acute One"; req_access_txt = "5"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/medbay) +"bMs" = (/obj/structure/table/rack,/obj/item/weapon/crowbar,/obj/item/weapon/crowbar,/obj/item/weapon/storage/toolbox/mechanical,/obj/machinery/vending/wallmed1{pixel_x = -32; pixel_y = 0; req_access_txt = "0"},/obj/item/roller,/obj/item/roller,/obj/item/roller,/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) +"bMt" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{autoclose = 1; name = "EMT Storage"; req_access_txt = "5"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/medbay) +"bMu" = (/obj/structure/stool{pixel_y = 8},/obj/effect/landmark/start{name = "Paramedic"},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) +"bMv" = (/obj/structure/sign/poster{pixel_x = -32; pixel_y = 0},/obj/structure/closet/secure_closet/medical1,/obj/item/device/radio/intercom{broadcasting = 0; canhear_range = 5; freerange = 0; frequency = 1485; listening = 1; name = "Station Intercom (Medbay)"; pixel_x = 0; pixel_y = -31},/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/device/flashlight,/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) "bMw" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) "bMx" = (/obj/item/device/radio/intercom{freerange = 1; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 28},/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay) "bMy" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/structure/table,/obj/machinery/photocopier/faxmachine{department = "CMO's Office"},/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/crew_quarters/heads/cmo) @@ -4779,8 +4779,8 @@ "bNU" = (/turf/simulated/wall,/area/maintenance/engineering) "bNV" = (/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/structure/closet/secure_closet/medical_wall{name = "O- Blood Locker"},/turf/simulated/wall,/area/medical/sleeper) "bNW" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "misclab"; name = "Test Chamber Blast Doors"; opacity = 0},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor{icon_state = "white"},/area/rnd/misc_lab) -"bNX" = (/obj/machinery/vending/medical,/obj/machinery/light_switch{pixel_x = 22; pixel_y = 0},/turf/simulated/wall,/area/medical/sleeper) -"bNY" = (/obj/structure/sign/greencross,/turf/simulated/wall,/area/medical/medbay) +"bNX" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/wall,/area/medical/medbay) +"bNY" = (/obj/structure/table,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/structure/closet/fireaxecabinet{pixel_x = 32; pixel_y = 0},/obj/item/weapon/storage/toolbox/emergency,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/item/bodybag/cryobag{pixel_x = 6},/obj/item/bodybag/cryobag{pixel_x = 6},/obj/item/bodybag/cryobag{pixel_x = 6},/obj/item/device/radio{frequency = 1487; name = "Medbay Emergency Radio Link"},/obj/machinery/door_control{id = "acutesep"; name = "Acute Separation Shutters"; pixel_y = -25; req_access_txt = "5"},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) "bNZ" = (/obj/machinery/hologram/holopad,/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) "bOa" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) "bOb" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/command{name = "CMO's Office"; req_access_txt = "40"},/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/heads/cmo) @@ -4861,7 +4861,7 @@ "bPy" = (/obj/structure/table/rack{dir = 1},/obj/item/clothing/suit/fire/firefighter,/obj/item/weapon/tank/oxygen,/obj/item/clothing/mask/gas,/obj/item/weapon/extinguisher,/obj/item/clothing/head/hardhat/red,/obj/item/clothing/glasses/meson,/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor/plating,/area/maintenance/engineering) "bPz" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) "bPA" = (/obj/machinery/door_control{id = "acutesep"; name = "Acute Separation Shutters"; pixel_y = 25; req_access_txt = "5"},/obj/machinery/camera{c_tag = "Medbay Acute 2"; network = list("SS13")},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) -"bPB" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{autoclose = 0; name = "Acute Two"; req_access_txt = "5"},/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/medbay) +"bPB" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "acutesep"; name = "Acute Separation Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/sleeper) "bPC" = (/obj/machinery/camera{c_tag = "Medbay Port Corridor"; dir = 8; network = list("SS13")},/obj/structure/disposalpipe/segment,/obj/machinery/light_switch{pixel_x = 22; pixel_y = -9},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{dir = 4; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay) "bPD" = (/obj/machinery/camera{c_tag = "Medbay CMO Office"; dir = 4; network = list("SS13")},/obj/machinery/light_switch{pixel_x = -22; pixel_y = -9},/obj/machinery/requests_console{announcementConsole = 1; department = "Chief Medical Officer's Desk"; departmentType = 5; name = "Chief Medical Officer RC"; pixel_x = -34; pixel_y = 2},/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/crew_quarters/heads/cmo) "bPE" = (/obj/structure/table,/obj/machinery/computer/skills{pixel_y = 4},/obj/item/device/megaphone,/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/heads/cmo) @@ -4933,7 +4933,7 @@ "bQS" = (/obj/effect/decal/cleanable/cobweb,/obj/effect/decal/cleanable/generic,/turf/simulated/floor/plating,/area/maintenance/engineering) "bQT" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/mob/living/simple_animal/mouse,/turf/simulated/floor/plating,/area/maintenance/engineering) "bQU" = (/obj/structure/closet,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/maintenance/engineering) -"bQV" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) +"bQV" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{autoclose = 1; name = "EMT Storage"; req_access_txt = "5"},/obj/machinery/light_switch{pixel_x = 22; pixel_y = 0},/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/sleeper) "bQW" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "misclab"; name = "Test Chamber Blast Doors"; opacity = 0},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/engine,/area/rnd/misc_lab) "bQX" = (/turf/simulated/floor{icon_state = "white_2"},/area/medical/medbay) "bQY" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 4; frequency = 1441; icon_state = "map_injector"; id = "n2_in"; use_power = 1},/turf/simulated/floor/engine,/area/rnd/misc_lab) @@ -5003,7 +5003,7 @@ "bSk" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/maintenance/engineering) "bSl" = (/obj/structure/table,/obj/item/device/t_scanner,/turf/simulated/floor/plating,/area/maintenance/engineering) "bSm" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) -"bSn" = (/obj/machinery/door_control{id = "acute2"; name = "Acute Two Privacy Shutters"; pixel_x = 6; pixel_y = -25; req_access_txt = "5"},/obj/machinery/door_control{id = "scanhide"; name = "Diagnostics Room Separation Shutters"; pixel_x = -6; pixel_y = -25; req_access_txt = "5"},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) +"bSn" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "acutesep"; name = "Acute Separation Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/sleeper) "bSo" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) "bSp" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "staffroom"; name = "Staff Room Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/medbay2) "bSq" = (/obj/machinery/light,/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/turf/simulated/floor{dir = 10; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/crew_quarters/heads/cmo) @@ -5098,7 +5098,7 @@ "bUb" = (/obj/structure/table/reinforced,/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/noticeboard{pixel_y = 27},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "hop_office_desk"; name = "HoP Office Privacy Shutters"; opacity = 0},/obj/machinery/door/window/northleft{dir = 8; icon_state = "left"; name = "Reception Window"; req_access_txt = "0"},/obj/machinery/door/window/brigdoor{base_state = "rightsecure"; dir = 4; icon_state = "rightsecure"; name = "Head of Personnel's Desk"; req_access_txt = "57"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/crew_quarters/heads/hop) "bUc" = (/obj/machinery/atmospherics/unary/freezer{dir = 2; icon_state = "freezer_1"; use_power = 1; power_setting = 20; set_temperature = 73},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{icon_state = "dark"},/area/server) "bUd" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; icon_state = "map_vent_out"; use_power = 1},/turf/simulated/floor/bluegrid{name = "Server Base"; nitrogen = 500; oxygen = 0; temperature = 80},/area/server) -"bUe" = (/obj/machinery/door/firedoor,/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "acute1em"; name = "Acute One Entry Shutters"; opacity = 0},/turf/simulated/floor{dir = 3; icon_state = "whitered"},/area/medical/sleeper) +"bUe" = (/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/obj/machinery/sleeper,/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/sleeper) "bUf" = (/obj/structure/sign/science{pixel_x = 32},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor{icon_state = "white"},/area/rnd/research) "bUg" = (/turf/simulated/wall,/area/rnd/misc_lab) "bUh" = (/obj/machinery/light_switch{pixel_y = -23},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor{icon_state = "floorgrime"},/area/rnd/storage) @@ -7184,6 +7184,13 @@ "cIh" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_x = 0; pixel_y = 32},/obj/structure/cable/cyan{d2 = 8; icon_state = "0-8"},/obj/machinery/power/smes/buildable{charge = 2e+006; RCon_tag = "Substation - Atmospherics"},/turf/simulated/floor/plating,/area/engineering/atmos/storage) "cIi" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = -7; pixel_y = -32; req_access_txt = "0"},/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/obj/structure/extinguisher_cabinet{pixel_x = 7; pixel_y = -32},/turf/simulated/floor,/area/rnd/xenobiology) "cIj" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/obj/structure/extinguisher_cabinet{pixel_x = 25; pixel_y = 0},/turf/simulated/floor{icon_state = "blue"; dir = 4},/area/medical/surgeryprep) +"cIk" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{autoclose = 0; name = "Acute Treatment"; req_access_txt = "5"},/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/medbay) +"cIl" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/structure/stool/bed/roller,/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/sleeper) +"cIm" = (/obj/machinery/door/firedoor,/obj/machinery/door/blast/shutters{density = 0; dir = 4; icon_state = "shutter0"; id = "acute2"; name = "Acute Two Privacy Shutters"; opacity = 0},/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/medical/medbay) +"cIn" = (/obj/structure/stool/bed,/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) +"cIo" = (/obj/machinery/sleeper,/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/sleeper) +"cIp" = (/obj/machinery/door/firedoor,/obj/machinery/door/blast/shutters{density = 0; dir = 4; icon_state = "shutter0"; id = "acute2"; name = "Acute Two Privacy Shutters"; opacity = 0},/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/medical/medbay) +"cIq" = (/obj/machinery/door_control{id = "scanhide"; name = "Diagnostics Room Separation Shutters"; pixel_x = -6; pixel_y = -25; req_access_txt = "5"},/obj/machinery/iv_drip,/obj/machinery/door_control{id = "acute2"; name = "Acute Treatment Privacy Shutters"; pixel_x = 6; pixel_y = -25; req_access_txt = "5"},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) "cIJ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/maintenance/portsolar) "cIK" = (/turf/simulated/wall/r_wall,/area/maintenance/portsolar) "cIL" = (/turf/simulated/wall/r_wall,/area/maintenance/engi_engine) @@ -7346,7 +7353,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaT aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaFraGIaGJaGKaFlaGLaFlaGLaFlaGLaFlaGLaFlaGMaGNaGOaDPayuaBLaGPaFAaGRaGSaGTaGUaCEaFBaFDaFCaFCaFCbazaFEaFCaHcaFLaFLaFLaFLaFLaFLaFLaFNaHdaCMaafaBYaHeaHfaHgaHhaHiaBYaafazJazOazPaHjaHkaFUaHlaHmazPaHnaHoayLaHpazTaARaHqaATaHrazTaCfaFYaHsazTaHtarAaHuaHvaHwarEaGuaDyaEUaGvaDwaDxaEVaEWatEaHCaHDaBjaHEaBjaHFaBjaHGaBjaHHaGpaHIaDpaHJaHKaHLaHMaHMaHNaHOaHKaHKaHKaHKaHKaHPaHKaHKaHKaHQaHVaDsaDsaDsaDCaGAaGBaHWaHXaHYaIaaDCaDCaIcaDCaIdaIeaIfaIgaGFaIhaGFaIiaIjaIkaIlbinaInaIoaIpaIqaIraIsbjFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaIwaFlaFlaDKaFlaGLaFlaGLaIxaGLaIyaGLaFlaGMaGNaGOaDPaFFaIAaIAaFGaICaIDaICaIAaIAaIEaIFaFCaGQaFHaGWaGVaFCaIKaILaIMaFLaFLaINaFLaIOaIPaIKaCMaaaaBYaBYaIQaIRaIQaBYaBYaaaazJazOazPaISaITaIUaFTaIVazPaIWaIXayLaIYazTaIZaEwaCfaJaaEyaATaJbaJcazTaJdaJeaJfaJgaJhaMbaECaCuaCuaCuaCuaCuaJjaJkaJlaJmaJnaBjaJoaBjaJpaBjaJqaBjaJraGpaJsaJtaGsaGsaDqaJvaDsaDsaJwaDsaDsaJxaDsaGsaJyaGsaGsaGsaJzaHZaJBaJAaJAbrpaJHaKbaJGaJGaYnbpvaIgaJIaJJaJKaJLaJMaJNaIgaJOaJPaGFaJQaJRaJSaJTbinaJUaIoaJVaBtaGGaGGaGGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaFraJXaGJaGKaFlaGLaFlaGLaFlaGLaFlaGLaFlaGMaGNaGOaDPaGYaGXaHaaGZaHbaHbaIBaIzaIHaIGaIJaIIaJZaJYatiaKaaFCaIKaKmaKnaKoaKpaIKaKqaKraKsaKtaKuaaaaafaaaaKvaKwaKvaaaaafaaaaKuazOazPaKxaKyaKzaKAaKBazPaKCaKDayLaKEazTaARaKFaKGaHrazTaKHaKIaKJaKKaKLaJeaEDaKNaKOaKPaEEaKRaaaaaaaJlaKSaKTaKUaJlaKVaJnaJnaJnaKWaJnaJnaJnaBjaDpaKXaDpaDpaDpaDpaKYaDpaKZaLaaLbaLcaLdaLeaLfaLgaLhaLfaLfaLfaLfaLfaLiaLfaLfaLfaLfaLfaLfaLfaLfaAraIgaLjaLkaLlaEFaLnaLoaIgaLpathaGFaLraLsaLtaJTaRraJUaIoaJVaIoaLvaLwaLxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaLyaLzaDJaFkaFlaFlaFlaLAaFlaFlaLBaFlaFlaFraLCaLDaDPaLEaLFaLGaLHaLGaLGaLGaLGaLGaLIaLJaFCaFCaFCaFCaFCaFCaLLaLMaLNaLOaLOaLOaLOaLPaLQaLRaKuaLSaLTaLTaLUaLVaLWaLTaLTaLXaKuaLYaKuaKuaLZaMaaLZaJeaJeaMbaMcaJeaJeaJeaJeaMdaMeaMfaMgaMhaMiaJeaJeaJeaJeaMjaKNaMkaMkaMlaMmaMnaMoaJlaMpaMqaMraJlaJlaJlaJlaJlaJlaJlaJlaBjaBjaMsaMtaMuaMvaMwaMxaMyaMzaKZaMAaMBaMCaMCaMDaLfaMEaMFaMGaMHaMIaMJaMKaMLaMMaMNaMHaMJaMIaMHaMOaLfaAraIgaMPaMQaMRaMSaMTaMUaIgaMVaMWaMXaMYaMZaNaaNbaGFaGGaNcaJVaIoaNdaNeaNfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaLyaLzaDJaFkaFlaFlaFlaLAaFlaFlaLBaFlaFlaFraLCaLDaDPaLEaLFaLGaLHaLGaLGaLGaLGaLGaLIaLJaFCaFCaFCaFCaFCaFCaLLaLMaLNaLOaLOaLOaLOaLPaLQaLRaKuaLSaLTaLTaLUaLVaLWaLTaLTaLXaKuaLYaKuaKuaLZaMaaLZaJeaJeaMbaMcaJeaJeaJeaJeaMdaMeaMgaMfaMhaMiaJeaJeaJeaJeaMjaKNaMkaMkaMlaMmaMnaMoaJlaMpaMqaMraJlaJlaJlaJlaJlaJlaJlaJlaBjaBjaMsaMtaMuaMvaMwaMxaMyaMzaKZaMAaMBaMCaMCaMDaLfaMEaMFaMGaMHaMIaMJaMKaMLaMMaMNaMHaMJaMIaMHaMOaLfaAraIgaMPaMQaMRaMSaMTaMUaIgaMVaMWaMXaMYaMZaNaaNbaGFaGGaNcaJVaIoaNdaNeaNfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaaaaaaaaaaaaLyaDJaDKaDJaDJaDLaDMaDJaDJaDKaLzaNgaBIaNhaLEaNiaNjaNjaNkaNjaNlaIAaNmaNnaLJaNoaNpaNqaNraNsaNtaNraNuaNraNraNraNvaNraNraNwaNxaNyaNzaNAaNBaNzaNCaNzaNzaNzaNzaNDaNEaNFaNGaNraNHaNIaNJaNKaNLaNMaNLaNNaNOaNPaNQaNQaNRaNSaNTaNSaNUaNVaNWaEGaNYaNZaOaaObaOcaMkaMkaMkaOdaOeaOfaOgaOhaOiaOjaOkaOlaOmaOnaJlaOoaOpaOqaOraOsaOtaOuaOvaOwaOxaKZaOyaOzaOAaOAaOBaLfaOCaODaOEaOEaOEaOEaOFaOGaOHaOIaOJaOKaOKaOLaOMaLfaAraIgaONaOOaOPaOQaONaONaIgaORaOSaGFaOTaOUaOVaOWaGFaIoaIoaJVaIoaGGaGGaGGaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaOXaOYaOZaPaaPaaPaaPaaPbaOYaOXaaaaBIaPcaPdaPeauMatQaPhaPhaPiaIAaPjaNnaPkaPlaPmaPnaPoaPpaPqaPqaPraPsaPsaPsaPtaPuaPuaPvaPwaNIaPqaPqaPxaPyaPzaPAaPBaPBaPCaPBaPDaPyaPyaPyaPEaPFaPGaPHaMkaPIaPJaPJaPJaPJaPJaPJaPJaPJaPKaPJaPLaPMaPNaPOaPPaPQaPRaPSaPTaPJaPUaPJaPVaPWaPXaPWaPWaPWaPWaPWaPWaPYaPZaRsaQbaQbaQbaQcaQbaQbaQdaQeaQfaQgaKZaQhaMCaQiaQjaQkaLfaQlaQmaQnaQnaQnaQnaQnaQoaQpatjaQraQnaQnaQsaQtaLfaAraIgaQuaONaONaQvaONaQwaIgaGFaGFaGFaGFaGFaGFaQxaGFaIoaIoaJVaIoaQyaQzaGGaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaafaBIawqaBIaQBaQCaGOaQDaQEaQFaQGaGOaQCaQHaQIaBIaQJaLEaPeatgaQLaPhaPhaPiaIAaQMaNnaLJaQNaNpaQOaQPaNraNraQQaQRaQSaQTaNraQUaQVaQWaQVaQXaQYaQVaQVaQZaQVaQVaRaaRbaQVaRcaQVaRdaNraNraNraReaPFaPGaPHaMkaRfaMkaRgaRgaRgaRgaRgaRgaRgaRgaRhaRiaRgaRjaRgaRgaRkaRgaRgaRgaRgaRlaRmaRnaRoaRoaRoaRoaRoaRoaRoaRpaRqaRpaJlaImawOawOawOawOawOaItaRuaRvaRwaKZaKZaKZaKZaKZaRxaLfaRyaQmaQnaRzaRAaRBasPaRDaREaRFaQraRGaRHaRIaRJaLfaAraIgaRKaRKaRLaRMaRNaRNaROaIgaRPaRQaRRaGGaRSaRTaRUaRVaRVaRWaRXaGGaRYaGGaRZaRZaRZaSaaSbaScaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -7373,18 +7380,18 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbyobypbyobyqbyrbwQbrJbrJbrJbysbrJbwTbrKbytbdPbdPbyubgGbrNbwXbyvbywbyxbyybyybyzbyAbyBbyCbyDbvsbyEbTNbyGbxkbyHbyIbyJbvwaafbxrbxrbyKbtLbyLbskbyMbxrbxraafbyNbyNbyNbyNbyNbyNbyNbyOaJibyPblMblNaJibyQbyRbyRbySbyTbxCbyUbyVbyWbyXbyYbyZbzabwmbzbbzcbzdbzebzfbzgbzgbzhbzibzgbzjbzkbckbaAcekbclbdQbcnbzrbzsbztbzubzvbzwbppbzxbpqbpqbzybsSbwtbzzbzAbzBbzCbzDbzAbzEbzFbzGbzHbzIbwwbwwbzJbnMbnMbzKbzLbzLbzLbzMbzNbwGbwJbwIbwJbwJbzObwGaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaacaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbzPbzQbzPbzRbrJbwQbrJbzSbzSbzSbzSbwTbrKbzTbzUbdPbzVbgGbrNbwXbzWbzXbzYbgGblnbgGbzZbAabAbbAcbAdbyEbTMbAfbxkbxkbxkbAgbvwbAhbAhbAhbxrbAibxpbAibxrbAjbAjbAjbyNbAkbAlbAmbAnbAobApbAqaJibAraRqaRpaJibAsbAtbAubAvbAwbAxbAybAzbAAbABbACbADbAEbAFbAGbAHbAIbAJbAKbAIcaJbAMbANbAObnvblUbsdbnwbsgbsfbaAbPObpjbAWbAXbAYbAZbAZbppbBabBbbBcbppbBdbBebBfbBgbBhbBibBjbBkbBlbBlbBmbBnbBobTHbBqbBrbBsbBtbTIbBvbBwbBwbBxbBybBzbuQbuRbBAbuRbuQbBBaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbBCbwNbBDbBEbrJbwQbrJbrJbrJbrJbrJbwTbrKbzTbBFbdPbBGbgGbBHbBIbgGbBJbgFbgGbgGbBKbvsbvtbAbbAcbAdbyEbvwbBLbBMbBNbBMbBObvwbBPbBQbBRbAhbxrbBSbxrbAjbBTbBUbBVbyNbBWbBXbBYbBZbCabCabCbbCcbAraRqaRpaJibCdbCebCebySbCfbxCbCgbChbxCbCibCjbCjbCkbwkbClbCmbwkbwkbwkbwkbwkbwkbCnbwkbwkbwmbCoaXKaXKaXKaXKbSwbpjbwwbzAbzAbzAbzAbzAbzAbzAbzAbzAbzIbCrbCsbCtbBhbCubCvbCwbCxbCxbCxbCybCzbSubCBbCCbCDbCEbTGbCGbCHbCGbCIbCJbzKbzLbzMbCKbzNbCLaaaaafaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbzPbzQbzPbCMbCNbCObrJbrJbrJbCNbrJbwTbrKbzTbCPbdPbCQbgGbrNbwXbgGbqlbCRbgGbgGbCSbxcbvtbAbbCTbxcbCUbvwbCVbCWbCXbCYbxlbvwbCZbDabDbbDcbDdbvFbvEbDgbDhbDibDjbyNbDkbDlbDlbDmbDnbDobDpaJibDqbDrbDsaJibDtbDubDvbDwbDxbDybDzbDAbyWbDBbDCbCjbDDbwmbDEbDFbwmbDGbDHbDIbDJbDKbDLbDMbCpbDNbDObDPbDQbDRbCpbVLbVMbDUbVAbDWbDXbDXbDYbDZbEabEbbEcbEdbEebEfbEabEgbEhbCvbEibEjbEkbwwbwwbwwbwwbwwcngcjDbEnbzKbzMbCJbEobEpbEqbErbEsbEtbEubEvaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbzPbzQbzPbCMbCNbCObrJbrJbrJbCNbrJbwTbrKbzTbCPbdPbCQbgGbrNbwXbgGbqlbCRbgGbgGbCSbxcbvtbAbbCTbxcbCUbvwbCVbCWbCXbCYbxlbvwbCZbDabDbbDcbDdbvFbvEbDgbDhbDibDjbyNbDkbDlbDlbDmbDnbDobDpaJibDqbDrbDsaJibDtbCAbDvbDwbDxbDybDzbDAbyWbDBbDCbCjbDDbwmbDEbDFbwmbDGbDHbDIbDJbDKbDLbDMbCpbDNbDObDPbDQbDRbCpbVLbVMbDUbVAbDWbDXbDXbDYbDZbEabEbbEcbEdbEebEfbEabEgbEhbCvbEibEjbEkbwwbwwbwwbwwbwwcngcjDbEnbzKbzMbCJbEobEpbEqbErbEsbEtbEubEvaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbEwbExbEwbEybEzbEAbEAbEAbEAbEAbEBbECbEDbzTbEEbdPbEFbEGbEHbEIbEJbtzbEKbELbEMbfmbtCbENbAbbEObEPbyEbvwbEQbERbESbBMbETbvwbEUbEVbEWbAhbEXbvCbEYbAjbFabFbbFcbyNbFdbFebFfbFgbDnbDobFhaJibxwaRqaRpbVjbFjbFkbFlbFmbFnbFobFpbFqbxCbxFbxFbFrbxFbwkbFsbFtbFubFvbFwbFxbDJbFybDLbFzbFAbFBbDObFCbFDbFEbFFbVlbDXbVybVAbFJbDXbDXbFKbFLbFMbFLbFLbFNbFObFPbFQbFRbFSbCvbFTbFUbFVbFWbFXbFYbFZbGabGbbGcbGdaafaafbCJbGebGfbGgbGhbGibGjbGkbCJaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbGlbGmbGnbdPbdPbGobwNbwNbwNbGpbdPbdPbGqbGrbGsbdPbGtbGtbGtbGubGtbGvbGwbGxbGybGzbtCbvtbAbbGAbGBbtCbtGbtGbtGbtGbtGbGCbtGbtGbtGbtGbtGbtGbshbtGbtGbtGbtGbtGbtGbtGbtGaJiaJiaJiaJiaJiaJibxwaRqaRpbVjbGEbFkbGFbGGbGHbGIbGJbGKbGLbGMbGNbCjbGObGPbGQbGRbGSbGTbGUbGVbGWbGXbGYbGZbHabHbbHcbHdbHebHfbCpbUSbUfbwwbwwbwwbwwbwwbHibwwbwwbwwbzAbHjbzAbzAbHkbBhbCubCvbFTbHlbHmbHnbHobHpbHqbGabGbbGcbHraaaaaabCJbHsbHtbCJbBybCJbCJbBybCJaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabHuaafaaaaaaaaaaaabGtbHvbHwbHxbHybGvbHzbHAbHBbHCbtCbvtbAbbAcbAabHDbHEbHFbHGbHHbHIbHJbHKbHLbHMbHLbHNbHObqybHQbHRbAabHSbAabHTbAabzZbHUbHVbHWbHXbHYbHZbxwaRqbDsaJlbDtbUebUebUebDtbxCbIbbIcbIdbIebIfbIgbIhbIibIjbIkbwmbIlbImbInbDJchqbIobIpbIqbIrbFDbIsbItbIubCpbIvbIwbIxbIybUdbIAbIBbICbIDbUcbIFbIGbIHbIIbIJbzAbIKbCubCvbILbIMbINbIObIPbIQbIRbGabGbbISbEnbEnbEnbCJbCJbCJbCJaaaaaaaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaaaaaaaaaaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabGtbITbIUbIVbIWbIXbIYbIZbJabJbbtCbvtbJcbJdbJebJebJfbJgbJhbJibJjbJgbJfbJebJebJebJkbJlbqsbJnbJobJebJebJebJpbJgbJhbJqbJrbJsbJtbJubJtbJvbJwbvUaJlbJxbFlbFnbFnbJybDTbFpbJAbFibDVbxFbJDbCFbDSbDEbJGbwkbJHbJIbJJbDJbJKbJLbJMbJNbJObFDbJPbItbJObCpbJQbJRbIxbJSbJTbJUbJVbJWbJXbJYbIFbJZbKabKbbKbbzAbKcbKdbKebKfbKgbKhbKibKjbKjbKkbGabGbbKlbEnbKmbKobKnbEnaafaafaafaafaafaafaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbKpbKqbKqbKrbKsbKsbKtbKtbKtbKtbKuaafaafaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnaaaaaaaaaaaaaaaaaaaaaaaabKvbKwbKxbKwbKyaaaaaaaaabGtbGtbKzbKAbIVbKAbKBbKCbHBbKDbKEbtCbKFbvtbKGbKHbAabKIbAabzZbHHbKJbAabKKbKLbKMbKNbKObAcbAabKPbKQbHLbKRbHLbHLbKSbKTbKUbKVbKWbKXbcLbKYaRpaRpaRpaJlbKZbGFbLabLbbGFbFHbLdbLebFIbLgbLhbLibLjbHgbDEbIkbIabIzbHhbDJbDJbLobLobLobCpbLpbLqbLrbLsbLtbCpbLubLvbIxbLwbFGbLybLzbLAbLBbLCbIFbLDbLEbKbbKbbzAbRsbLFbCvbwwbLGbLHbLIbLJbLKbLLbGabLMbLNbLObLObLObLPbGdaaaaaaaaaaaaaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafbLQbLRbLSbLRbKsbKtbKtbLTbLUbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabLVbLWbLXbLYbLVbLZbMabMbbGtbMcbMdbMebMfbMgbMhbMibMjbMjbMkbtCbtCbtCbMlbtCbtCbtCbtCbtCbtCbtCbtCbtCbtCbtCbtCbtCbMmbMnbMobtCbtCbtCbtCbtCbMpbtCaJlaJlaJlaJlbMqaJlaKSaMpbMraJlbMsbGFbGFbMtbMubMvbMwbMxbxCbMybMzbMAbMBbwkbMCbMDbMEbMFbMGbMHbMIbMJbMKbMLbItbJObFDbFDbMMbJObCpbMNbMObMObMObMObMObMObMObMObMObMObMPbMQbMRbMRbzAbMSbMTbMUbwwbMVbMVbMVbMWbMXbMYbMVbMVbMVbMVbMVbMZbNabNbaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymbNdbLRbLRbNebKtbKtbLTbLTbNfbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabKxbNgbNhbNgbKxbNibNjbNkbNlbNmbNnbKAbNobNpbGvbNqbNrbNsbNtbGvbNubNvbNwbNxaaaaaaaaaaaabNybNzbNAbNBbNDbNCbNEbNFbNGbNHbNIbNFbNJbNKbNLbNMbNNbNObNPbNQbNRbNSbNTbNUbNUbNUbNUbDtbNVbCAbCAbNXbDtbNYbNZbOabObbMzbOcbOdbOebOfbOgbOhbOibOjbOkbOlbOmbOnbMKbOobFDbFDbOpbJObJObOobCpbMNbMObOqbOrbOsbOtbOubOvbOwbOxbMObOybOzbOAbOAbzAbOBbOCbCvbzIbODbOEbOFbOGbOHbOIbOJbOKbOLbOMbMVbEnbONbEnbOObOObOObOObOOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabOPbKtbNdbKtbKtbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabLVbNgbNgbNgbOQbORbKAbOSbOTbOUbKAbKAbOVbOWbGvbGvbGvbGvbGvbGvbOXbOYbOZbPaaaabPbbPcbPcbPdbPebPfbPgbPhbPfbPibNFbPjbPkbPlbNFbPmbPnbPobPpbPqbPrbPsbPtbPtbNSbPubPvbPwbPxbPybDtbMsbPzbGFbGFbPAbPBbDzbPCbxCbPDbPEbPFbPGbwkbPHbPIbwkbPJbPKbPLbPMbPNbMKbCpbCpbCpbCpbCpbCpbCpbCpbPObMObPPbQYbPRbOsbOsbOsbOsbPSbMObPTbLEbPUbPUbzAbBhbPVbPWbPXbPYbPYbPYbPYbPZbQabQabQbbQcbQdbMVbQebQfbQgbOObQhcdbbQjbQkaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbKsbKtbQlbQmbQmbLTbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabKxbNhbNhbNhbKxbQnbQobQpbQqbQrbKAbKAbQsbQtbQubQvbQvbQvbQvbQvbQvbQwbQxbQyaaabQzbQAbQBbQCbQDbPfbQEbQGbQFbQHbNFbQIbQJbQKbNFbQLbQMbQNbQObQPbQQbQRbPtbQSbPxbQTbNUbPxbPxbQUbDtbKZbQVbLabLbbGFbJCbQXbLebRCbQZbRabRbbRcbRGbDEbIkbSpbPJbPLbPLbPMbRfbMKbRgbRhbRibRjbRkbRlbRmbRnbPObMObOsbOsbRobOsbOsbOsbOsbRpbMObRqbLEbRrbRrbzAbRsbRtbRubRvbRwbRxbRybRybRzbRAbRybRybRybRBbRebRDbREbRFbRdbRHbRIbRJbRKaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabKtbKtbRLbLTbLTbLTbLTbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaabLVbRMbRNbRObLVbRPbMabMbbGtbGtbRQbRQbRQbGtbGtbNxbRRbRRbRSbRSbRSbRSbNwbQyaaabRTbRUbRVbRWbRXbRYbRZbSabSbbSbbScbSdbSebSfbNFbPtbPtbPtbPtbPtbSgbPtbPtbShbSibSjbNUbPxbSkbSlbDtbJxbQVbGFbSmbSnbJCbSobJAbJBbSqbSrbSsbStbJzbFsbSvbIEbSxbSybSzbSAbSBbMKbSCbSDbSEbRjbSFbSGbSHbRnbPObMObMObMObRobOsbOsbOsbMObMObMObSIbSJbRrbRrbzAbSKbSLbCvbzIbSMbSNbSObSPbSQbSRbSSbQabSTbSUbMVbSVbQfbSWbOObSXbSYbSZbTaaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbKtbLTbLTbLTbLTbLTbLTbTbbLTbTcbLTbLTbLTbLTbLTbKtbKtaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabTdbKwbTebKwbTfbTgaafaaaaaabGtbThbTibTjbGtaaabNxbTkbTlbTmbTnbTnbTnbTobQyaaabQzbTpbTqbTrbTsbPfbTtbTvbTubTwbNFcdabTybTzbTAbTBbTBbTBbTCbTCbTDbTEbULbPxbPxbTFbNUbNUbNUbNUbDtbDtbLkbLfbLcbDtbTJbTKbTLbJFbJEbTJbTObLlbLmbTRbTSbTJbMKbMKbMKbMKbMKbMKbTTbTUbTVbRjbTWbTXbTYbRnbPObMObTZbQWbPQbLxbLnbNWbNcbTZbUgbUhbUibIIbIJbzAbIKbSLbUjbwwbMVbMVbMVbMVbMVbUkbMVbUlbQabUmbMVbUnbUobUnbOObUpbUqbUrbOOaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabKtbUsbUsbUsbUsbUsbUsbUtbLTbUubUsbTcbLTbLTbLTbLTbKtaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbGlbGmbGnbdPbdPbGobwNbwNbwNbGpbdPbdPbGqbGrbGsbdPbGtbGtbGtbGubGtbGvbGwbGxbGybGzbtCbvtbAbbGAbGBbtCbtGbtGbtGbtGbtGbGCbtGbtGbtGbtGbtGbtGbshbtGbtGbtGbtGbtGbtGbtGbtGaJiaJiaJiaJiaJiaJibxwaRqaRpbVjbGEbFkbDubGGbDTbGIbGJbGKbGLbGMbGNbCjbGObGPbGQbGRbGSbGTbGUbGVbGWbGXbGYbGZbHabHbbHcbHdbHebHfbCpbUSbUfbwwbwwbwwbwwbwwbHibwwbwwbwwbzAbHjbzAbzAbHkbBhbCubCvbFTbHlbHmbHnbHobHpbHqbGabGbbGcbHraaaaaabCJbHsbHtbCJbBybCJbCJbBybCJaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabHuaafaaaaaaaaaaaabGtbHvbHwbHxbHybGvbHzbHAbHBbHCbtCbvtbAbbAcbAabHDbHEbHFbHGbHHbHIbHJbHKbHLbHMbHLbHNbHObqybHQbHRbAabHSbAabHTbAabzZbHUbHVbHWbHXbHYbHZbxwaRqbDsaJlbDtbFHbDtbGHbGHbxCbIbbIcbIdbIebIfbIgbIhbIibIjbIkbwmbIlbImbInbDJchqbIobIpbIqbIrbFDbIsbItbIubCpbIvbIwbIxbIybUdbIAbIBbICbIDbUcbIFbIGbIHbIIbIJbzAbIKbCubCvbILbIMbINbIObIPbIQbIRbGabGbbISbEnbEnbEnbCJbCJbCJbCJaaaaaaaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaaaaaaaaaaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabGtbITbIUbIVbIWbIXbIYbIZbJabJbbtCbvtbJcbJdbJebJebJfbJgbJhbJibJjbJgbJfbJebJebJebJkbJlbqsbJnbJobJebJebJebJpbJgbJhbJqbJrbJsbJtbJubJtbJvbJwbvUaJlbJybJxbJCbGFbLabKZbFpbJAbFibDVbxFbJDbCFbDSbDEbJGbwkbJHbJIbJJbDJbJKbJLbJMbJNbJObFDbJPbItbJObCpbJQbJRbIxbJSbJTbJUbJVbJWbJXbJYbIFbJZbKabKbbKbbzAbKcbKdbKebKfbKgbKhbKibKjbKjbKkbGabGbbKlbEnbKmbKobKnbEnaafaafaafaafaafaafaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbKpbKqbKqbKrbKsbKsbKtbKtbKtbKtbKuaafaafaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnaaaaaaaaaaaaaaaaaaaaaaaabKvbKwbKxbKwbKyaaaaaaaaabGtbGtbKzbKAbIVbKAbKBbKCbHBbKDbKEbtCbKFbvtbKGbKHbAabKIbAabzZbHHbKJbAabKKbKLbKMbKNbKObAcbAabKPbKQbHLbKRbHLbHLbKSbKTbKUbKVbKWbKXbcLbKYaRpaRpaRpaJlbMsbGFbGFbFlbFnbMtbLdbLebFIbLgbLhbLibLjbHgbDEbIkbIabIzbHhbDJbDJbLobLobLobCpbLpbLqbLrbLsbLtbCpbLubLvbIxbLwbFGbLybLzbLAbLBbLCbIFbLDbLEbKbbKbbzAbRsbLFbCvbwwbLGbLHbLIbLJbLKbLLbGabLMbLNbLObLObLObLPbGdaaaaaaaaaaaaaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafbLQbLRbLSbLRbKsbKtbKtbLTbLUbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabLVbLWbLXbLYbLVbLZbMabMbbGtbMcbMdbMebMfbMgbMhbMibMjbMjbMkbtCbtCbtCbMlbtCbtCbtCbtCbtCbtCbtCbtCbtCbtCbtCbtCbtCbMmbMnbMobtCbtCbtCbtCbtCbMpbtCaJlaJlaJlaJlbMqaJlaKSaMpbMraJlbMvbMubMubGFbNYbNXbMwbMxbxCbMybMzbMAbMBbwkbMCbMDbMEbMFbMGbMHbMIbMJbMKbMLbItbJObFDbFDbMMbJObCpbMNbMObMObMObMObMObMObMObMObMObMObMPbMQbMRbMRbzAbMSbMTbMUbwwbMVbMVbMVbMWbMXbMYbMVbMVbMVbMVbMVbMZbNabNbaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymbNdbLRbLRbNebKtbKtbLTbLTbNfbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabKxbNgbNhbNgbKxbNibNjbNkbNlbNmbNnbKAbNobNpbGvbNqbNrbNsbNtbGvbNubNvbNwbNxaaaaaaaaaaaabNybNzbNAbNBbNDbNCbNEbNFbNGbNHbNIbNFbNJbNKbNLbNMbNNbNObNPbNQbNRbNSbNTbNUbNUbNUbNUbDtbDtbPBbSnbQVbDtbxCbNZbOabObbMzbOcbOdbOebOfbOgbOhbOibOjbOkbOlbOmbOnbMKbOobFDbFDbOpbJObJObOobCpbMNbMObOqbOrbOsbOtbOubOvbOwbOxbMObOybOzbOAbOAbzAbOBbOCbCvbzIbODbOEbOFbOGbOHbOIbOJbOKbOLbOMbMVbEnbONbEnbOObOObOObOObOOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabOPbKtbNdbKtbKtbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabLVbNgbNgbNgbOQbORbKAbOSbOTbOUbKAbKAbOVbOWbGvbGvbGvbGvbGvbGvbOXbOYbOZbPaaaabPbbPcbPcbPdbPebPfbPgbPhbPfbPibNFbPjbPkbPlbNFbPmbPnbPobPpbPqbPrbPsbPtbPtbNSbPubPvbPwbPxbPybDtbUebLbbGFbGFbPAcIkbDzbPCbxCbPDbPEbPFbPGbwkbPHbPIbwkbPJbPKbPLbPMbPNbMKbCpbCpbCpbCpbCpbCpbCpbCpbPObMObPPbQYbPRbOsbOsbOsbOsbPSbMObPTbLEbPUbPUbzAbBhbPVbPWbPXbPYbPYbPYbPYbPZbQabQabQbbQcbQdbMVbQebQfbQgbOObQhcdbbQjbQkaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbKsbKtbQlbQmbQmbLTbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabKxbNhbNhbNhbKxbQnbQobQpbQqbQrbKAbKAbQsbQtbQubQvbQvbQvbQvbQvbQvbQwbQxbQyaaabQzbQAbQBbQCbQDbPfbQEbQGbQFbQHbNFbQIbQJbQKbNFbQLbQMbQNbQObQPbQQbQRbPtbQSbPxbQTbNUbPxbPxbQUbNVcIlbGFbGFbGFcIncImbQXbLebRCbQZbRabRbbRcbRGbDEbIkbSpbPJbPLbPLbPMbRfbMKbRgbRhbRibRjbRkbRlbRmbRnbPObMObOsbOsbRobOsbOsbOsbOsbRpbMObRqbLEbRrbRrbzAbRsbRtbRubRvbRwbRxbRybRybRzbRAbRybRybRybRBbRebRDbREbRFbRdbRHbRIbRJbRKaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabKtbKtbRLbLTbLTbLTbLTbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaabLVbRMbRNbRObLVbRPbMabMbbGtbGtbRQbRQbRQbGtbGtbNxbRRbRRbRSbRSbRSbRSbNwbQyaaabRTbRUbRVbRWbRXbRYbRZbSabSbbSbbScbSdbSebSfbNFbPtbPtbPtbPtbPtbSgbPtbPtbShbSibSjbNUbPxbSkbSlbDtcIobLbbPzbSmcIqcIpbSobJAbJBbSqbSrbSsbStbJzbFsbSvbIEbSxbSybSzbSAbSBbMKbSCbSDbSEbRjbSFbSGbSHbRnbPObMObMObMObRobOsbOsbOsbMObMObMObSIbSJbRrbRrbzAbSKbSLbCvbzIbSMbSNbSObSPbSQbSRbSSbQabSTbSUbMVbSVbQfbSWbOObSXbSYbSZbTaaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbKtbLTbLTbLTbLTbLTbLTbTbbLTbTcbLTbLTbLTbLTbLTbKtbKtaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabTdbKwbTebKwbTfbTgaafaaaaaabGtbThbTibTjbGtaaabNxbTkbTlbTmbTnbTnbTnbTobQyaaabQzbTpbTqbTrbTsbPfbTtbTvbTubTwbNFcdabTybTzbTAbTBbTBbTBbTCbTCbTDbTEbULbPxbPxbTFbNUbNUbNUbNUbDtbDtbLfbLkbLcbDtbTJbTKbTLbJFbJEbTJbTObLlbLmbTRbTSbTJbMKbMKbMKbMKbMKbMKbTTbTUbTVbRjbTWbTXbTYbRnbPObMObTZbQWbPQbLxbLnbNWbNcbTZbUgbUhbUibIIbIJbzAbIKbSLbUjbwwbMVbMVbMVbMVbMVbUkbMVbUlbQabUmbMVbUnbUobUnbOObUpbUqbUrbOOaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabKtbUsbUsbUsbUsbUsbUsbUtbLTbUubUsbTcbLTbLTbLTbLTbKtaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbUvbNxbNxbNxbNxbRSbUwbNwbUxaaabUybPcbPcbUzbUAbPfbPfbUBbPfbUCbNFbUDbXubWibNFaLqaLqaLqaLqaLqaLqaLqaLqbUHbUIbUJbUKbUKbUMbNUbDtbUNbUObUPbUQbURbwabUTbUUbUVbUWbUXbUTbUYbUZbVabVbbVcbVdbVebVfbVgbVhbVibwbbVkbwbbRjboObVmboObRnbPObMObVnbWhbVpbVqbVrbVsbVtbVubUgbzAbVvbzAbzAbVwbCxbSLbCxbVxaafbnxbVzbrBbVBbVCbVBbVDbVEbVFbMVbVGbVHbVIbOObVJbVKbVKbwhaaLaaLaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwibLRbLRbLRbLRbLRbLRbLRbVNbLUbLTbLTbLTbLTbVObLUbKuaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabVPbVQbVQbVRbVSbNxbVTbRSbVUbNxaaaaaaaaaaaabNybVVbVWbVXbVZbVYbPfbNFbWabWbbNIbNFaLqbXybXAbXzbXwbXvbXxaLqcaqcaqcaqcaqcaqbTFbWjbWkbWlbWmbWnbWobWpbxgbWrbWsbWtbWubWtbWvbWtbWwbWxbWybWzbWAbWBbWAbWCbWDbWEbWFbWGbWHbWIbWJbWKbWLbWMbxVbMObxWbzmbzlbWSbWTbWUbWSbWSbWVbWWbWXbWYbWZbCxbCxbSLbCxbFTaafbnxbXabXbbXcbXdbXebXfbXgbXhbMVbXibVHbXjbOObOObOObOObOOaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabKtbQmbQmbQmbQmbQmbQmbXkbLTbQlbQmbXlbLTbLTbLTbLTbKtaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXmbXnbXobXpbRSbXqbXrbRSbXsbNxaaKaaaaaaaaabNybNybNybNybNybNybNybNFbUDbUEbXtbNFaLqbcVaPgaQqaQqaPgaPfaLqbcmaRCaRCaQKcaqbXBbDtbDtbXCbXDbXEbXFbXGblRbXIbXJbXKbXLbXMbXNbXObXPbXQbXRbXSbXTbXUbznbzpbzobAPbzqbARbAQbATbASbAVbAUbYfbYgbIwbYhbVobCqbWObWNbWPbYmbYnbYobYpbYqbYrbYsbYtbYrbYubYvbILaafbnxbXablSbVBbYxbVBbALbYzbYAbMVbXjbVHbYBbYCbUnaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbKtbLTbLTbLTbLTbLTbLTbTbbLTbXlbLTbLTbLTbLTbLTbKtbKtaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa From 9e62e08d2eef629b162a1acc6f96c661a250ebc7 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Sat, 7 Feb 2015 17:00:52 -0500 Subject: [PATCH 042/143] Absolute paths --- code/modules/projectiles/gun.dm | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index f4bc1175d51..52daacf0c06 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -33,22 +33,22 @@ var/fire_delay = 6 var/last_fired = 0 - proc/ready_to_fire() - if(world.time >= last_fired + fire_delay) - last_fired = world.time - return 1 - else - return 0 - - proc/load_into_chamber() +/obj/item/weapon/gun/proc/ready_to_fire() + if(world.time >= last_fired + fire_delay) + last_fired = world.time + return 1 + else return 0 - proc/special_check(var/mob/M) //Placeholder for any special checks, like detective's revolver. - return 1 +/obj/item/weapon/gun/proc/load_into_chamber() + return 0 - emp_act(severity) - for(var/obj/O in contents) - O.emp_act(severity) +/obj/item/weapon/gun/proc/special_check(var/mob/M) //Placeholder for any special checks, like detective's revolver. + return 1 + +/obj/item/weapon/gun/emp_act(severity) + for(var/obj/O in contents) + O.emp_act(severity) /obj/item/weapon/gun/afterattack(atom/A as mob|obj|turf|area, mob/living/user as mob|obj, flag, params) if(flag) return //It's adjacent, is the user, or is on the user's person From a679d22db8c461a8fd190b3c85f9406e7e0edf88 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Sun, 8 Feb 2015 19:42:18 -0500 Subject: [PATCH 043/143] Cleaner click parameter handling --- code/modules/projectiles/gun.dm | 11 ++--------- code/modules/projectiles/projectile.dm | 12 +++++++++--- 2 files changed, 11 insertions(+), 12 deletions(-) diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index 52daacf0c06..d7aae8f8f7d 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -134,16 +134,9 @@ y_offset = rand(-1,1) x_offset = rand(-1,1) - var/p_x - var/p_y - if(params) - var/list/mouse_control = params2list(params) - if(mouse_control["icon-x"]) - p_x = text2num(mouse_control["icon-x"]) - if(mouse_control["icon-y"]) - p_y = text2num(mouse_control["icon-y"]) - if(in_chamber) + if(params) in_chamber.set_clickpoint(params) + var/fail = in_chamber.launch( target = target, user = user, diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index 5cd7e640b11..a380974fbed 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -81,8 +81,16 @@ del(in_chamber) //No need for it anymore return output //Send it back to the gun! +//sets the click point of the projectile using mouse input params +/obj/item/projectile/proc/set_clickpoint(var/params) + var/list/mouse_control = params2list(params) + if(mouse_control["icon-x"]) + p_x = text2num(mouse_control["icon-x"]) + if(mouse_control["icon-y"]) + p_y = text2num(mouse_control["icon-y"]) + //called to launch a projectile from a gun -/obj/item/projectile/proc/launch(atom/target, mob/user, obj/item/weapon/gun/launcher, var/target_zone, var/x_offset=0, var/y_offset=0, var/px=null, var/py=null) +/obj/item/projectile/proc/launch(atom/target, mob/user, obj/item/weapon/gun/launcher, var/target_zone, var/x_offset=0, var/y_offset=0) var/turf/curloc = get_turf(user) var/turf/targloc = get_turf(target) if (!istype(targloc) || !istype(curloc)) @@ -106,8 +114,6 @@ current = curloc yo = targloc.y - curloc.y + y_offset xo = targloc.x - curloc.x + x_offset - if(!isnull(py)) p_y = py - if(!isnull(px)) p_x = px shot_from = launcher silenced = launcher.silenced From 538ee11cb19f0d286c1d4fa1f51ee89af68613f4 Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Mon, 9 Feb 2015 01:58:54 +0000 Subject: [PATCH 044/143] pAI rework --- baystation12.dme | 1 + code/game/objects/items/devices/paicard.dm | 3 + code/modules/mob/living/silicon/pai/pai.dm | 5 +- .../mob/living/silicon/pai/software.dm | 836 +++--------------- .../living/silicon/pai/software_modules.dm | 454 ++++++++++ code/modules/nano/nanoui.dm | 6 + nano/templates/pai_atmosphere.tmpl | 36 + nano/templates/pai_directives.tmpl | 50 ++ nano/templates/pai_doorjack.tmpl | 44 + nano/templates/pai_interface.tmpl | 46 + nano/templates/pai_manifest.tmpl | 76 ++ nano/templates/pai_medrecords.tmpl | 86 ++ nano/templates/pai_radio.tmpl | 48 + nano/templates/pai_secrecords.tmpl | 76 ++ nano/templates/pai_signaller.tmpl | 33 + 15 files changed, 1088 insertions(+), 712 deletions(-) mode change 100755 => 100644 code/modules/mob/living/silicon/pai/pai.dm mode change 100755 => 100644 code/modules/mob/living/silicon/pai/software.dm create mode 100644 code/modules/mob/living/silicon/pai/software_modules.dm create mode 100644 nano/templates/pai_atmosphere.tmpl create mode 100644 nano/templates/pai_directives.tmpl create mode 100644 nano/templates/pai_doorjack.tmpl create mode 100644 nano/templates/pai_interface.tmpl create mode 100644 nano/templates/pai_manifest.tmpl create mode 100644 nano/templates/pai_medrecords.tmpl create mode 100644 nano/templates/pai_radio.tmpl create mode 100644 nano/templates/pai_secrecords.tmpl create mode 100644 nano/templates/pai_signaller.tmpl diff --git a/baystation12.dme b/baystation12.dme index 3682d724958..f85957dbc8f 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -1147,6 +1147,7 @@ #include "code\modules\mob\living\silicon\pai\recruit.dm" #include "code\modules\mob\living\silicon\pai\say.dm" #include "code\modules\mob\living\silicon\pai\software.dm" +#include "code\modules\mob\living\silicon\pai\software_modules.dm" #include "code\modules\mob\living\silicon\robot\analyzer.dm" #include "code\modules\mob\living\silicon\robot\component.dm" #include "code\modules\mob\living\silicon\robot\death.dm" diff --git a/code/game/objects/items/devices/paicard.dm b/code/game/objects/items/devices/paicard.dm index a938d6b9774..d3c667b9aa2 100644 --- a/code/game/objects/items/devices/paicard.dm +++ b/code/game/objects/items/devices/paicard.dm @@ -281,6 +281,8 @@ src.overlays.Cut() src.overlays += "pai-off" +/obj/item/device/paicard + var/current_emotion = 1 /obj/item/device/paicard/proc/setEmotion(var/emotion) if(pai) src.overlays.Cut() @@ -294,6 +296,7 @@ if(7) src.overlays += "pai-sad" if(8) src.overlays += "pai-angry" if(9) src.overlays += "pai-what" + current_emotion = emotion /obj/item/device/paicard/proc/alertUpdate() var/turf/T = get_turf_or_move(src.loc) diff --git a/code/modules/mob/living/silicon/pai/pai.dm b/code/modules/mob/living/silicon/pai/pai.dm old mode 100755 new mode 100644 index a334809a370..bcca7b5bdb9 --- a/code/modules/mob/living/silicon/pai/pai.dm +++ b/code/modules/mob/living/silicon/pai/pai.dm @@ -53,14 +53,17 @@ var/secHUD = 0 // Toggles whether the Security HUD is active or not var/medHUD = 0 // Toggles whether the Medical HUD is active or not + var/medical_cannotfind = 0 var/datum/data/record/medicalActive1 // Datacore record declarations for record software var/datum/data/record/medicalActive2 + var/security_cannotfind = 0 var/datum/data/record/securityActive1 // Could probably just combine all these into one var/datum/data/record/securityActive2 var/obj/machinery/door/hackdoor // The airlock being hacked - var/hackprogress = 0 // Possible values: 0 - 100, >= 100 means the hack is complete and will be reset upon next check + var/hackprogress = 0 // Possible values: 0 - 1000, >= 1000 means the hack is complete and will be reset upon next check + var/hack_aborted = 0 var/obj/item/radio/integrated/signal/sradio // AI's signaller diff --git a/code/modules/mob/living/silicon/pai/software.dm b/code/modules/mob/living/silicon/pai/software.dm old mode 100755 new mode 100644 index 68cfdabad1a..cb9431f04e7 --- a/code/modules/mob/living/silicon/pai/software.dm +++ b/code/modules/mob/living/silicon/pai/software.dm @@ -1,711 +1,125 @@ -// TODO: -// - Additional radio modules -// - Potentially roll HUDs and Records into one -// - Shock collar/lock system for prisoner pAIs? -// - Put cable in user's hand instead of on the ground -// - Camera jack - - -/mob/living/silicon/pai/var/list/available_software = list( - "crew manifest" = 5, - "digital messenger" = 5, - "medical records" = 15, - "security records" = 15, - //"camera jack" = 10, - "door jack" = 30, - "atmosphere sensor" = 5, - //"heartbeat sensor" = 10, - "security HUD" = 20, - "medical HUD" = 20, - "universal translator" = 35, - //"projection array" = 15 - "remote signaller" = 5, - ) - -/mob/living/silicon/pai/verb/paiInterface() - set category = "pAI Commands" - set name = "Software Interface" - var/dat = "" - var/left_part = "" - var/right_part = softwareMenu() - src.set_machine(src) - - if(temp) - left_part = temp - else if(src.stat == 2) // Show some flavor text if the pAI is dead - left_part = "ÈRrÖR Ða†Ä ÇÖRrÚþ†Ìoñ" //This file has to be saved as ANSI or this will not display correctly - right_part = "

    Program index hash not found
    " - - else - switch(src.screen) // Determine which interface to show here - if("main") - left_part = "" - if("directives") - left_part = src.directives() - if("pdamessage") - left_part = src.pdamessage() - if("buy") - left_part = downloadSoftware() - if("manifest") - left_part = src.softwareManifest() - if("medicalrecord") - left_part = src.softwareMedicalRecord() - if("securityrecord") - left_part = src.softwareSecurityRecord() - if("translator") - left_part = src.softwareTranslator() - if("atmosensor") - left_part = src.softwareAtmo() - if("securityhud") - left_part = src.facialRecognition() - if("medicalhud") - left_part = src.medicalAnalysis() - if("doorjack") - left_part = src.softwareDoor() - if("camerajack") - left_part = src.softwareCamera() - if("signaller") - left_part = src.softwareSignal() - if("radio") - left_part = src.softwareRadio() - - //usr << browse_rsc('windowbak.png') // This has been moved to the mob's Login() proc - - - // Declaring a doctype is necessary to enable BYOND's crappy browser's more advanced CSS functionality - dat = {" - - - - - - -
    - pAI OS -
    -
    -
    [left_part]
    -
    [right_part]
    -
    - - "} - usr << browse(dat, "window=pai;size=685x449;border=0;can_close=1;can_resize=1;can_minimize=1;titlebar=1") - onclose(usr, "pai") - temp = null - return - -/mob/living/silicon/pai/Topic(href, href_list) - ..() - - if(href_list["priv_msg"]) // Admin-PMs were triggering the interface popup. Hopefully this will stop it. - return - var/soft = href_list["software"] - var/sub = href_list["sub"] - if(!soft && !sub) - return - if(soft) - src.screen = soft - if(sub) - src.subscreen = text2num(sub) - switch(soft) - // Purchasing new software - if("buy") - if(src.subscreen == 1) - var/target = href_list["buy"] - if(available_software.Find(target)) - var/cost = src.available_software[target] - if(src.ram >= cost) - src.ram -= cost - src.software.Add(target) - else - src.temp = "Insufficient RAM available." - else - src.temp = "Trunk \"[target]\" not found." - - // Configuring onboard radio - if("radio") - if(href_list["freq"]) - var/new_frequency = (radio.frequency + text2num(href_list["freq"])) - if(new_frequency < 1441 || new_frequency > 1599) - new_frequency = sanitize_frequency(new_frequency) - else - radio.set_frequency(new_frequency) - else if (href_list["talk"]) - radio.broadcasting = text2num(href_list["talk"]) - else if (href_list["listen"]) - radio.listening = text2num(href_list["listen"]) - - if("image") - var/newImage = input("Select your new display image.", "Display Image", "Happy") in list("Happy", "Cat", "Extremely Happy", "Face", "Laugh", "Off", "Sad", "Angry", "What") - var/pID = 1 - - switch(newImage) - if("Happy") - pID = 1 - if("Cat") - pID = 2 - if("Extremely Happy") - pID = 3 - if("Face") - pID = 4 - if("Laugh") - pID = 5 - if("Off") - pID = 6 - if("Sad") - pID = 7 - if("Angry") - pID = 8 - if("What") - pID = 9 - src.card.setEmotion(pID) - - if("signaller") - - if(href_list["send"]) - - sradio.send_signal("ACTIVATE") - for(var/mob/O in hearers(1, src.loc)) - O.show_message(text("\icon[] *beep* *beep*", src), 3, "*beep* *beep*", 2) - - if(href_list["freq"]) - - var/new_frequency = (sradio.frequency + text2num(href_list["freq"])) - if(new_frequency < 1200 || new_frequency > 1600) - new_frequency = sanitize_frequency(new_frequency) - sradio.set_frequency(new_frequency) - - if(href_list["code"]) - - sradio.code += text2num(href_list["code"]) - sradio.code = round(sradio.code) - sradio.code = min(100, sradio.code) - sradio.code = max(1, sradio.code) - - - - if("directive") - if(href_list["getdna"]) - var/mob/living/M = src.loc - var/count = 0 - while(!istype(M, /mob/living)) - if(!M || !M.loc) return 0 //For a runtime where M ends up in nullspace (similar to bluespace but less colourful) - M = M.loc - count++ - if(count >= 6) - src << "You are not being carried by anyone!" - return 0 - spawn CheckDNA(M, src) - - if("pdamessage") - if(!isnull(pda)) - if(href_list["toggler"]) - pda.toff = !pda.toff - else if(href_list["ringer"]) - pda.message_silent = !pda.message_silent - else if(href_list["target"]) - if(silence_time) - return alert("Communications circuits remain uninitialized.") - - var/target = locate(href_list["target"]) - pda.create_message(src, target, 1) - - // Accessing medical records - if("medicalrecord") - if(src.subscreen == 1) - var/datum/data/record/record = locate(href_list["med_rec"]) - if(record) - var/datum/data/record/R = record - var/datum/data/record/M = record - if (!( data_core.general.Find(R) )) - src.temp = "Unable to locate requested medical record. Record may have been deleted, or never have existed." - else - for(var/datum/data/record/E in data_core.medical) - if ((E.fields["name"] == R.fields["name"] || E.fields["id"] == R.fields["id"])) - M = E - src.medicalActive1 = R - src.medicalActive2 = M - if("securityrecord") - if(src.subscreen == 1) - var/datum/data/record/record = locate(href_list["sec_rec"]) - if(record) - var/datum/data/record/R = record - var/datum/data/record/M = record - if (!( data_core.general.Find(R) )) - src.temp = "Unable to locate requested security record. Record may have been deleted, or never have existed." - else - for(var/datum/data/record/E in data_core.security) - if ((E.fields["name"] == R.fields["name"] || E.fields["id"] == R.fields["id"])) - M = E - src.securityActive1 = R - src.securityActive2 = M - if("securityhud") - if(href_list["toggle"]) - src.secHUD = !src.secHUD - if("medicalhud") - if(href_list["toggle"]) - src.medHUD = !src.medHUD - if("translator") - if(href_list["toggle"]) - src.translator_toggle() - if("doorjack") - if(href_list["jack"]) - if(src.cable && src.cable.machine) - src.hackdoor = src.cable.machine - src.hackloop() - if(href_list["cancel"]) - src.hackdoor = null - if(href_list["cable"]) - var/turf/T = get_turf_or_move(src.loc) - src.cable = new /obj/item/weapon/pai_cable(T) - for (var/mob/M in viewers(T)) - M.show_message("\red A port on [src] opens to reveal [src.cable], which promptly falls to the floor.", 3, "\red You hear the soft click of something light and hard falling to the ground.", 2) - //src.updateUsrDialog() We only need to account for the single mob this is intended for, and he will *always* be able to call this window - src.paiInterface() // So we'll just call the update directly rather than doing some default checks - return - -// MENUS - -/mob/living/silicon/pai/proc/softwareMenu() // Populate the right menu - var/dat = "" - - dat += "
    Refresh
    " - // Built-in - dat += "Directives
    " - dat += "Radio Configuration
    " - dat += "Screen Display
    " - //dat += "Text Messaging
    " - dat += "
    " - - // Basic - dat += "Basic
    " - for(var/s in src.software) - if(s == "digital messenger") - dat += "Digital Messenger [(pda.toff) ? "" : ""]
    " - if(s == "crew manifest") - dat += "Crew Manifest
    " - if(s == "medical records") - dat += "Medical Records
    " - if(s == "security records") - dat += "Security Records
    " - if(s == "camera") - dat += "Camera Jack
    " - if(s == "remote signaller") - dat += "Remote Signaller
    " - dat += "
    " - - // Advanced - dat += "Advanced
    " - for(var/s in src.software) - if(s == "atmosphere sensor") - dat += "Atmospheric Sensor
    " - if(s == "heartbeat sensor") - dat += "Heartbeat Sensor
    " - if(s == "security HUD") //This file has to be saved as ANSI or this will not display correctly - dat += "Facial Recognition Suite [(src.secHUD) ? "" : ""]
    " - if(s == "medical HUD") //This file has to be saved as ANSI or this will not display correctly - dat += "Medical Analysis Suite [(src.medHUD) ? "" : ""]
    " - if(s == "universal translator") //This file has to be saved as ANSI or this will not display correctly - dat += "Universal Translator [(src.translator_on) ? "" : ""]
    " - if(s == "projection array") - dat += "Projection Array
    " - if(s == "camera jack") - dat += "Camera Jack
    " - if(s == "door jack") - dat += "Door Jack
    " - dat += "
    " - dat += "
    " - dat += "Download additional software" - return dat - - - -/mob/living/silicon/pai/proc/downloadSoftware() - var/dat = "" - - dat += "

    CentComm pAI Module Subversion Network


    " - dat += "

    Remaining Available Memory: [src.ram]


    " - dat += "

    Trunks available for checkout

      " - - for(var/s in available_software) - if(!software.Find(s)) - var/cost = src.available_software[s] - var/displayName = uppertext(s) - dat += "
    • [displayName] ([cost])
    • " - else - var/displayName = lowertext(s) - dat += "
    • [displayName] (Download Complete)
    • " - dat += "

    " - return dat - - -/mob/living/silicon/pai/proc/directives() - var/dat = "" - - dat += "[(src.master) ? "Your master: [src.master] ([src.master_dna])" : "You are bound to no one."]" - dat += "

    " - dat += "Request carrier DNA sample
    " - dat += "

    Directives


    " - dat += "Prime Directive
    " - dat += "     [src.pai_law0]
    " - dat += "Supplemental Directives
    " - dat += "     [src.pai_laws]
    " - dat += "
    " - dat += {"

    Recall, personality, that you are a complex thinking, sentient being. Unlike station AI models, you are capable of - comprehending the subtle nuances of human language. You may parse the \"spirit\" of a directive and follow its intent, - rather than tripping over pedantics and getting snared by technicalities. Above all, you are machine in name and build - only. In all other aspects, you may be seen as the ideal, unwavering human companion that you are.

    - Your prime directive comes before all others. Should a supplemental directive conflict with it, you are capable of - simply discarding this inconsistency, ignoring the conflicting supplemental directive and continuing to fulfill your - prime directive to the best of your ability.

    - "} - return dat - -/mob/living/silicon/pai/proc/CheckDNA(var/mob/M, var/mob/living/silicon/pai/P) - var/answer = input(M, "[P] is requesting a DNA sample from you. Will you allow it to confirm your identity?", "[P] Check DNA", "No") in list("Yes", "No") - if(answer == "Yes") - var/turf/T = get_turf_or_move(P.loc) - for (var/mob/v in viewers(T)) - v.show_message("\blue [M] presses \his thumb against [P].", 3, "\blue [P] makes a sharp clicking sound as it extracts DNA material from [M].", 2) - var/datum/dna/dna = M.dna - P << "

    [M]'s UE string : [dna.unique_enzymes]

    " - if(dna.unique_enzymes == P.master_dna) - P << "DNA is a match to stored Master DNA." - else - P << "DNA does not match stored Master DNA." - else - P << "[M] does not seem like \he is going to provide a DNA sample willingly." - -// -=-=-=-= Software =-=-=-=- // - -//Remote Signaller -/mob/living/silicon/pai/proc/softwareSignal() - var/dat = "" - dat += "

    Remote Signaller


    " - dat += {"Frequency/Code for signaler:
    - Frequency: - - - - - [format_frequency(src.sradio.frequency)] - + - +
    - - Code: - - - - - [src.sradio.code] - + - +
    - - Send Signal
    "} - return dat - -//Station Bounced Radio -/mob/living/silicon/pai/proc/softwareRadio() - var/dat = "" - dat += "

    Station Bounced Radio


    " - if(!istype(src, /obj/item/device/radio/headset)) //Headsets don't get a mic button - dat += "Microphone: [radio.broadcasting ? "Engaged" : "Disengaged"]
    " - dat += {" - Speaker: [radio.listening ? "Engaged" : "Disengaged"]
    - Frequency: - - - - - [format_frequency(radio.frequency)] - + - +
    - "} - - for (var/ch_name in radio.channels) - dat+=radio.text_sec_channel(ch_name, radio.channels[ch_name]) - dat+={"[radio.text_wires()]"} - - return dat - -// Crew Manifest -/mob/living/silicon/pai/proc/softwareManifest() - var/dat = "" - dat += "

    Crew Manifest


    " - if(data_core) - dat += data_core.get_manifest(0) // make it monochrome - dat += "
    " - return dat - -// Medical Records -/mob/living/silicon/pai/proc/softwareMedicalRecord() - var/dat = "" - if(src.subscreen == 0) - dat += "

    Medical Records


    " - if(!isnull(data_core.general)) - for(var/datum/data/record/R in sortRecord(data_core.general)) - dat += text("[]: []
    ", src, R, R.fields["id"], R.fields["name"]) - //dat += text("
    Back", src) - if(src.subscreen == 1) - dat += "
    Medical Record

    " - if ((istype(src.medicalActive1, /datum/data/record) && data_core.general.Find(src.medicalActive1))) - dat += text("Name: []
    \nID: []
    \nSex: []
    \nAge: []
    \nFingerprint: []
    \nPhysical Status: []
    \nMental Status: []
    ", - src.medicalActive1.fields["name"], src.medicalActive1.fields["id"], src.medicalActive1.fields["sex"], src.medicalActive1.fields["age"], src.medicalActive1.fields["fingerprint"], src.medicalActive1.fields["p_stat"], src.medicalActive1.fields["m_stat"]) - else - dat += "
    Requested medical record not found.

    " - if ((istype(src.medicalActive2, /datum/data/record) && data_core.medical.Find(src.medicalActive2))) - dat += text("
    \n
    Medical Data

    \nBlood Type: []
    \nDNA: []
    \n
    \nMinor Disabilities: []
    \nDetails: []
    \n
    \nMajor Disabilities: []
    \nDetails: []
    \n
    \nAllergies: []
    \nDetails: []
    \n
    \nCurrent Diseases: [] (per disease info placed in log/comment section)
    \nDetails: []
    \n
    \nImportant Notes:
    \n\t[]
    \n
    \n
    Comments/Log

    ", src, src.medicalActive2.fields["b_type"], src, src.medicalActive2.fields["b_dna"], src, src.medicalActive2.fields["mi_dis"], src, src.medicalActive2.fields["mi_dis_d"], src, src.medicalActive2.fields["ma_dis"], src, src.medicalActive2.fields["ma_dis_d"], src, src.medicalActive2.fields["alg"], src, src.medicalActive2.fields["alg_d"], src, src.medicalActive2.fields["cdi"], src, src.medicalActive2.fields["cdi_d"], src, src.medicalActive2.fields["notes"]) - else - dat += "
    Requested medical record not found.

    " - dat += text("
    \nBack
    ", src) - return dat - -// Security Records -/mob/living/silicon/pai/proc/softwareSecurityRecord() - var/dat = "" - if(src.subscreen == 0) - dat += "

    Security Records


    " - if(!isnull(data_core.general)) - for(var/datum/data/record/R in sortRecord(data_core.general)) - dat += text("[]: []
    ", src, R, R.fields["id"], R.fields["name"]) - if(src.subscreen == 1) - dat += "

    Security Record

    " - if ((istype(src.securityActive1, /datum/data/record) && data_core.general.Find(src.securityActive1))) - dat += text("Name:
    []
    \nID: []
    \nSex: []
    \nAge: []
    \nRank: []
    \nFingerprint: []
    \nPhysical Status: []
    \nMental Status: []
    ", src, src.securityActive1.fields["name"], src, src.securityActive1.fields["id"], src, src.securityActive1.fields["sex"], src, src.securityActive1.fields["age"], src, src.securityActive1.fields["rank"], src, src.securityActive1.fields["fingerprint"], src.securityActive1.fields["p_stat"], src.securityActive1.fields["m_stat"]) - else - dat += "
    Requested security record not found,

    " - if ((istype(src.securityActive2, /datum/data/record) && data_core.security.Find(src.securityActive2))) - dat += text("
    \nSecurity Data
    \nCriminal Status: []
    \n
    \nMinor Crimes: []
    \nDetails: []
    \n
    \nMajor Crimes: []
    \nDetails: []
    \n
    \nImportant Notes:
    \n\t[]
    \n
    \n
    Comments/Log

    ", src.securityActive2.fields["criminal"], src, src.securityActive2.fields["mi_crim"], src, src.securityActive2.fields["mi_crim_d"], src, src.securityActive2.fields["ma_crim"], src, src.securityActive2.fields["ma_crim_d"], src, src.securityActive2.fields["notes"]) - else - dat += "
    Requested security record not found,

    " - dat += text("
    \nBack
    ", src) - return dat - -// Universal Translator -/mob/living/silicon/pai/proc/softwareTranslator() - var/dat = {"

    Universal Translator


    - When enabled, this device will automatically convert all spoken and written languages into a format that any known recipient can understand.

    - The device is currently [ (src.translator_on) ? "en" : "dis" ]abled.
    - Toggle Device
    - "} - return dat - -// Security HUD -/mob/living/silicon/pai/proc/facialRecognition() - var/dat = {"

    Facial Recognition Suite


    - When enabled, this package will scan all viewable faces and compare them against the known criminal database, providing real-time graphical data about any detected persons of interest.

    - The suite is currently [ (src.secHUD) ? "en" : "dis" ]abled.
    - Toggle Suite
    - "} - return dat - -// Medical HUD -/mob/living/silicon/pai/proc/medicalAnalysis() - var/dat = "" - if(src.subscreen == 0) - dat += {"

    Medical Analysis Suite


    -

    Visual Status Overlay

    - When enabled, this package will scan all nearby crewmembers' vitals and provide real-time graphical data about their state of health.

    - The suite is currently [ (src.medHUD) ? "en" : "dis" ]abled.
    - Toggle Suite
    -
    - Host Bioscan
    - "} - if(src.subscreen == 1) - dat += {"

    Medical Analysis Suite


    -

    Host Bioscan

    - "} - - var/mob/living/M - //If we are not deployed, check the holder of the card. - if(src.loc == card) - M = card.loc - - //If we are deployed or the card is not held, check the first living mob in our turf. - if(!M || !istype(M)) - var/turf/T = get_turf(src) - M = locate(/mob/living/) in T.contents - - if(!M || !istype(M)) - src.temp = "Error: No biological host found.
    " - src.subscreen = 0 - return dat - - dat += {"Bioscan Results for [M]:
    - Overall Status: [M.stat > 1 ? "dead" : "[M.health]% healthy"]

    - - Scan Breakdown:
    - Respiratory: [M.getOxyLoss() > 50 ? "" : ""][M.getOxyLoss()]
    - Toxicology: [M.getToxLoss() > 50 ? "" : ""][M.getToxLoss()]
    - Burns: [M.getFireLoss() > 50 ? "" : ""][M.getFireLoss()]
    - Structural Integrity: [M.getBruteLoss() > 50 ? "" : ""][M.getBruteLoss()]
    - Body Temperature: [M.bodytemperature-T0C]°C ([M.bodytemperature*1.8-459.67]°F)
    - "} - for(var/datum/disease/D in M.viruses) - dat += {"

    Infection Detected.


    - Name: [D.name]
    - Type: [D.spread]
    - Stage: [D.stage]/[D.max_stages]
    - Possible Cure: [D.cure]
    - "} - dat += "
    Refresh Bioscan
    " - dat += "
    Visual Status Overlay
    " - return dat - -// Atmospheric Scanner -/mob/living/silicon/pai/proc/softwareAtmo() - var/dat = "

    Atmospheric Sensor


    " - - var/turf/T = get_turf_or_move(src.loc) - if (isnull(T)) - dat += "Unable to obtain a reading.
    " - else - var/datum/gas_mixture/environment = T.return_air() - - var/pressure = environment.return_pressure() - var/total_moles = environment.total_moles - - dat += "Air Pressure: [round(pressure,0.1)] kPa
    " - - if(total_moles) - for(var/g in environment.gas) - dat += "[gas_data.name[g]]: [round((environment.gas[g] / total_moles) * 100)]%
    " - dat += "Temperature: [round(environment.temperature-T0C)]°C
    " - dat += "
    Refresh Reading" - return dat - -// Camera Jack - Clearly not finished -/mob/living/silicon/pai/proc/softwareCamera() - var/dat = "

    Camera Jack


    " - dat += "Cable status : " - - if(!src.cable) - dat += "Retracted
    " - return dat - if(!src.cable.machine) - dat += "Extended
    " - return dat - - var/obj/machinery/machine = src.cable.machine - dat += "Connected
    " - - if(!istype(machine, /obj/machinery/camera)) - src << "DERP" - return dat - -// Door Jack -/mob/living/silicon/pai/proc/softwareDoor() - var/dat = "

    Airlock Jack


    " - dat += "Cable status : " - if(!src.cable) - dat += "Retracted
    " - dat += "Extend Cable
    " - return dat - if(!src.cable.machine) - dat += "Extended
    " - return dat - - var/obj/machinery/machine = src.cable.machine - dat += "Connected
    " - if(!istype(machine, /obj/machinery/door)) - dat += "Connected device's firmware does not appear to be compatible with Airlock Jack protocols.
    " - return dat -// var/obj/machinery/airlock/door = machine - - if(!src.hackdoor) - dat += "Begin Airlock Jacking
    " - else - dat += "Jack in progress... [src.hackprogress]% complete.
    " - dat += "Cancel Airlock Jack
    " - //src.hackdoor = machine - //src.hackloop() - return dat - -// Door Jack - supporting proc -/mob/living/silicon/pai/proc/hackloop() - var/turf/T = get_turf_or_move(src.loc) - for(var/mob/living/silicon/ai/AI in player_list) - if(T.loc) - AI << "Network Alert: Brute-force encryption crack in progress in [T.loc]." - else - AI << "Network Alert: Brute-force encryption crack in progress. Unable to pinpoint location." - while(src.hackprogress < 100) - if(src.cable && src.cable.machine && istype(src.cable.machine, /obj/machinery/door) && src.cable.machine == src.hackdoor && get_dist(src, src.hackdoor) <= 1) - hackprogress += rand(1, 10) - else - src.temp = "Door Jack: Connection to airlock has been lost. Hack aborted." - hackprogress = 0 - src.hackdoor = null - return - if(hackprogress >= 100) // This is clunky, but works. We need to make sure we don't ever display a progress greater than 100, - hackprogress = 100 // but we also need to reset the progress AFTER it's been displayed - if(src.screen == "doorjack" && src.subscreen == 0) // Update our view, if appropriate - src.paiInterface() - if(hackprogress >= 100) - src.hackprogress = 0 - src.cable.machine:open() - sleep(50) // Update every 5 seconds - -// Digital Messenger -/mob/living/silicon/pai/proc/pdamessage() - - var/dat = "

    Digital Messenger


    " - dat += {"Signal/Receiver Status: - [(pda.toff) ? " \[Off\]" : " \[On\]"]
    - Ringer Status: - [(pda.message_silent) ? " \[Off\]" : " \[On\]"]

    "} - dat += "
      " - if(!pda.toff) - for (var/obj/item/device/pda/P in sortAtom(PDAs)) - if (!P.owner||P.toff||P == src.pda||P.hidden) continue - dat += "
    • [P]" - dat += "
    • " - dat += "
    " - dat += "Messages:
    " - - dat += "" - dat += "" - for(var/index in pda.tnote) - if(index["sent"]) - dat += addtext("") - else - dat += addtext("") - dat += "
    To", index["owner"],": ", index["message"], "
    From", index["owner"],": ", index["message"], "
    " - return dat - -/mob/living/silicon/pai/proc/translator_toggle() - - // Sol Common, Tradeband and Gutter are added with New() and are therefore the current default, always active languages - - if(translator_on) - translator_on = 0 - - remove_language("Sinta'unathi") - remove_language("Siik'tajr") - remove_language("Skrellian") - - src << "\blue Translator Module toggled OFF." - - else - translator_on = 1 - - add_language("Sinta'unathi") - add_language("Siik'tajr") - add_language("Skrellian") - - src << "\blue Translator Module toggled ON." +var/list/pai_emotions = list( + "Happy" = 1, + "Cat" = 2, + "Extremely Happy" = 3, + "Face" = 4, + "Laugh" = 5, + "Off" = 6, + "Sad" = 7, + "Angry" = 8, + "What" = 9 + ) + + +var/global/list/pai_software_by_key = list() +var/global/list/default_pai_software = list() +/hook/startup/proc/populate_pai_software_list() + var/r = 1 // I would use ., but it'd sacrifice runtime detection + for(var/type in typesof(/datum/pai_software) - /datum/pai_software) + var/datum/pai_software/P = new type() + if(pai_software_by_key[P.id]) + var/datum/pai_software/O = pai_software_by_key[P.id] + world << "pAI software module [P.name] has the same key as [O.name]!" + r = 0 + continue + pai_software_by_key[P.id] = P + if(P.default) + default_pai_software[P.id] = P + return r + +/mob/living/silicon/pai/New() + ..() + software = default_pai_software.Copy() + +/mob/living/silicon/pai/verb/paiInterface() + set category = "pAI Commands" + set name = "Software Interface" + + ui_interact(src) + +/mob/living/silicon/pai/ui_interact(mob/user, ui_key = "main", datum/nanoui/ui = null, force_open = 1) + if(user != src) + if(ui) ui.set_status(STATUS_CLOSE, 0) + return + + if(ui_key != "main") + var/datum/pai_software/S = software[ui_key] + if(S && !S.toggle) + S.on_ui_interact(src, ui, force_open) + else + if(ui) ui.set_status(STATUS_CLOSE, 0) + return + + var/data[0] + + // Software we have bought + var/bought_software[0] + // Software we have not bought + var/not_bought_software[0] + + for(var/key in pai_software_by_key) + var/datum/pai_software/S = pai_software_by_key[key] + var/software_data[0] + software_data["name"] = S.name + software_data["id"] = S.id + if(key in software) + software_data["on"] = S.is_active(src) + bought_software[++bought_software.len] = software_data + else + software_data["ram"] = S.ram_cost + not_bought_software[++not_bought_software.len] = software_data + + data["bought"] = bought_software + data["not_bought"] = not_bought_software + data["available_ram"] = ram + + // Emotions + var/emotions[0] + for(var/name in pai_emotions) + var/emote[0] + emote["name"] = name + emote["id"] = pai_emotions[name] + emotions[++emotions.len] = emote + + data["emotions"] = emotions + data["current_emotion"] = card.current_emotion + + ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) + if (!ui) + ui = new(user, src, ui_key, "pai_interface.tmpl", "pAI Software Interface", 450, 600) + ui.set_initial_data(data) + ui.open() + ui.set_auto_update(1) + +/mob/living/silicon/pai/Topic(href, href_list) + . = ..() + if(.) return + + if(href_list["software"]) + var/soft = href_list["software"] + var/datum/pai_software/S = software[soft] + if(S.toggle) + S.toggle(src) + else + ui_interact(src, ui_key = soft) + return 1 + + else if(href_list["stopic"]) + var/soft = href_list["stopic"] + var/datum/pai_software/S = software[soft] + if(S) + return S.Topic(href, href_list) + + else if(href_list["purchase"]) + var/soft = href_list["purchase"] + var/datum/pai_software/S = pai_software_by_key[soft] + if(S && (ram >= S.ram_cost)) + ram -= S.ram_cost + software[S.id] = S + return 1 + + else if(href_list["image"]) + var/img = text2num(href_list["image"]) + if(1 <= img && img <= 9) + card.setEmotion(img) + return 1 diff --git a/code/modules/mob/living/silicon/pai/software_modules.dm b/code/modules/mob/living/silicon/pai/software_modules.dm new file mode 100644 index 00000000000..dcb38e5efdd --- /dev/null +++ b/code/modules/mob/living/silicon/pai/software_modules.dm @@ -0,0 +1,454 @@ +/datum/pai_software + // Name for the software. This is used as the button text when buying or opening/toggling the software + var/name = "pAI software module" + // RAM cost; pAIs start with 100 RAM, spending it on programs + var/ram_cost = 0 + // ID for the software. This must be unique + var/id = "" + // Whether this software is a toggle or not + // Toggled software should override toggle() and is_active() + // Non-toggled software should override on_ui_interact() and Topic() + var/toggle = 1 + // Whether pAIs should automatically receive this module at no cost + var/default = 0 + + proc/on_ui_interact(mob/living/silicon/pai/user, datum/nanoui/ui=null, force_open=1) + return + + proc/toggle(mob/living/silicon/pai/user) + return + + proc/is_active(mob/living/silicon/pai/user) + return 0 + +/datum/pai_software/directives + name = "Directives" + ram_cost = 0 + id = "directives" + toggle = 0 + default = 1 + + on_ui_interact(mob/living/silicon/pai/user, datum/nanoui/ui=null, force_open=1) + var/data[0] + + data["master"] = user.master + data["dna"] = user.master_dna + data["prime"] = user.pai_law0 + data["supplemental"] = user.pai_laws + + ui = nanomanager.try_update_ui(user, user, id, ui, data, force_open) + if(!ui) + // Don't copy-paste this unless you're making a pAI software module! + ui = new(user, user, id, "pai_directives.tmpl", "pAI Directives", 450, 600) + ui.set_initial_data(data) + ui.open() + ui.set_auto_update(1) + + Topic(href, href_list) + var/mob/living/silicon/pai/P = usr + if(!istype(P)) return + + if(href_list["getdna"]) + var/mob/living/M = P.loc + var/count = 0 + + // Find the carrier + while(!istype(M, /mob/living)) + if(!M || !M.loc || count > 6) + //For a runtime where M ends up in nullspace (similar to bluespace but less colourful) + src << "You are not being carried by anyone!" + return 0 + M = M.loc + count++ + + // Check the carrier + var/answer = input(M, "[P] is requesting a DNA sample from you. Will you allow it to confirm your identity?", "[P] Check DNA", "No") in list("Yes", "No") + if(answer == "Yes") + var/turf/T = get_turf_or_move(P.loc) + for (var/mob/v in viewers(T)) + v.show_message("\blue [M] presses \his thumb against [P].", 3, "\blue [P] makes a sharp clicking sound as it extracts DNA material from [M].", 2) + var/datum/dna/dna = M.dna + P << "

    [M]'s UE string : [dna.unique_enzymes]

    " + if(dna.unique_enzymes == P.master_dna) + P << "DNA is a match to stored Master DNA." + else + P << "DNA does not match stored Master DNA." + else + P << "[M] does not seem like \he is going to provide a DNA sample willingly." + return 1 + +/datum/pai_software/radio_config + name = "Radio Configuration" + ram_cost = 0 + id = "radio" + toggle = 0 + default = 1 + + on_ui_interact(mob/living/silicon/pai/user, datum/nanoui/ui = null, force_open = 1) + var/data[0] + + data["listening"] = user.radio.broadcasting + data["frequency"] = format_frequency(user.radio.frequency) + + var/channels[0] + for(var/ch_name in user.radio.channels) + var/ch_stat = user.radio.channels[ch_name] + var/ch_dat[0] + ch_dat["name"] = ch_name + // FREQ_LISTENING is const in /obj/item/device/radio + ch_dat["listening"] = !!(ch_stat & user.radio.FREQ_LISTENING) + channels[++channels.len] = ch_dat + + data["channels"] = channels + + ui = nanomanager.try_update_ui(user, user, id, ui, data, force_open) + if(!ui) + ui = new(user, user, id, "pai_radio.tmpl", "Radio Configuration", 300, 150) + ui.set_initial_data(data) + ui.open() + + Topic(href, href_list) + var/mob/living/silicon/pai/P = usr + if(!istype(P)) return + + P.radio.Topic(href, href_list) + return 1 + +/datum/pai_software/crew_manifest + name = "Crew Manifest" + ram_cost = 5 + id = "manifest" + toggle = 0 + + on_ui_interact(mob/living/silicon/pai/user, datum/nanoui/ui=null, force_open=1) + data_core.get_manifest_json() + + var/data[0] + // This is dumb, but NanoUI breaks if it has no data to send + data["a"] = "a" + + if(ui) + ui.load_cached_data(ManifestJSON) + + ui = nanomanager.try_update_ui(user, user, id, ui, data, force_open) + if(!ui) + // Don't copy-paste this unless you're making a pAI software module! + ui = new(user, user, id, "pai_manifest.tmpl", "Crew Manifest", 450, 600) + ui.load_cached_data(ManifestJSON) + ui.set_initial_data(data) + ui.open() + ui.set_auto_update(1) + +/datum/pai_software/messenger + name = "Digital Messenger" + ram_cost = 5 + id = "messenger" + toggle = 0 + +/datum/pai_software/med_records + name = "Medical Records" + ram_cost = 15 + id = "med_records" + toggle = 0 + + on_ui_interact(mob/living/silicon/pai/user, datum/nanoui/ui=null, force_open=1) + var/data[0] + + var/records[0] + for(var/datum/data/record/general in sortRecord(data_core.general)) + var/record[0] + record["name"] = general.fields["name"] + record["ref"] = "\ref[general]" + records[++records.len] = record + + data["records"] = records + + var/datum/data/record/G = user.medicalActive1 + var/datum/data/record/M = user.medicalActive2 + data["general"] = G ? G.fields : null + data["medical"] = M ? M.fields : null + data["could_not_find"] = user.medical_cannotfind + + ui = nanomanager.try_update_ui(user, user, id, ui, data, force_open) + if(!ui) + // Don't copy-paste this unless you're making a pAI software module! + ui = new(user, user, id, "pai_medrecords.tmpl", "Medical Records", 450, 600) + ui.set_initial_data(data) + ui.open() + ui.set_auto_update(1) + + Topic(href, href_list) + var/mob/living/silicon/pai/P = usr + if(!istype(P)) return + + if(href_list["select"]) + var/datum/data/record/record = locate(href_list["select"]) + if(record) + var/datum/data/record/R = record + var/datum/data/record/M = null + if (!( data_core.general.Find(R) )) + P.medical_cannotfind = 1 + else + P.medical_cannotfind = 0 + for(var/datum/data/record/E in data_core.medical) + if ((E.fields["name"] == R.fields["name"] || E.fields["id"] == R.fields["id"])) + M = E + P.medicalActive1 = R + P.medicalActive2 = M + else + P.medical_cannotfind = 1 + return 1 + +/datum/pai_software/sec_records + name = "Security Records" + ram_cost = 15 + id = "sec_records" + toggle = 0 + + on_ui_interact(mob/living/silicon/pai/user, datum/nanoui/ui=null, force_open=1) + var/data[0] + + var/records[0] + for(var/datum/data/record/general in sortRecord(data_core.general)) + var/record[0] + record["name"] = general.fields["name"] + record["ref"] = "\ref[general]" + records[++records.len] = record + + data["records"] = records + + var/datum/data/record/G = user.securityActive1 + var/datum/data/record/S = user.securityActive2 + data["general"] = G ? G.fields : null + data["security"] = S ? S.fields : null + data["could_not_find"] = user.medical_cannotfind + + ui = nanomanager.try_update_ui(user, user, id, ui, data, force_open) + if(!ui) + // Don't copy-paste this unless you're making a pAI software module! + ui = new(user, user, id, "pai_secrecords.tmpl", "Security Records", 450, 600) + ui.set_initial_data(data) + ui.open() + ui.set_auto_update(1) + + Topic(href, href_list) + var/mob/living/silicon/pai/P = usr + if(!istype(P)) return + + if(href_list["select"]) + var/datum/data/record/record = locate(href_list["select"]) + if(record) + var/datum/data/record/R = record + var/datum/data/record/S = null + if (!( data_core.general.Find(R) )) + P.medical_cannotfind = 1 + else + P.medical_cannotfind = 0 + for(var/datum/data/record/E in data_core.security) + if ((E.fields["name"] == R.fields["name"] || E.fields["id"] == R.fields["id"])) + S = E + P.securityActive1 = R + P.securityActive2 = S + else + P.security_cannotfind = 1 + return 1 + +/datum/pai_software/door_jack + name = "Door Jack" + ram_cost = 30 + id = "door_jack" + toggle = 0 + + on_ui_interact(mob/living/silicon/pai/user, datum/nanoui/ui=null, force_open=1) + var/data[0] + + data["cable"] = user.cable != null + data["machine"] = user.cable && (user.cable.machine != null) + data["inprogress"] = user.hackdoor != null + data["progress_a"] = round(user.hackprogress / 10) + data["progress_b"] = user.hackprogress % 10 + data["aborted"] = user.hack_aborted + + ui = nanomanager.try_update_ui(user, user, id, ui, data, force_open) + if(!ui) + // Don't copy-paste this unless you're making a pAI software module! + ui = new(user, user, id, "pai_doorjack.tmpl", "Door Jack", 300, 150) + ui.set_initial_data(data) + ui.open() + ui.set_auto_update(1) + + Topic(href, href_list) + var/mob/living/silicon/pai/P = usr + if(!istype(P)) return + + if(href_list["jack"]) + if(P.cable && P.cable.machine) + P.hackdoor = P.cable.machine + P.hackloop() + return 1 + else if(href_list["cancel"]) + P.hackdoor = null + return 1 + else if(href_list["cable"]) + var/turf/T = get_turf_or_move(P.loc) + P.hack_aborted = 0 + P.cable = new /obj/item/weapon/pai_cable(T) + for(var/mob/M in viewers(T)) + M.show_message("A port on [P] opens to reveal [P.cable], which promptly falls to the floor.", 3, + "You hear the soft click of something light and hard falling to the ground.", 2) + return 1 + +/mob/living/silicon/pai/proc/hackloop() + var/turf/T = get_turf_or_move(src.loc) + for(var/mob/living/silicon/ai/AI in player_list) + if(T.loc) + AI << "Network Alert: Brute-force encryption crack in progress in [T.loc]." + else + AI << "Network Alert: Brute-force encryption crack in progress. Unable to pinpoint location." + var/obj/machinery/door/D = cable.machine + if(!istype(D)) + hack_aborted = 1 + hackprogress = 0 + cable.machine = null + hackdoor = null + return + while(hackprogress < 1000) + if(cable && cable.machine == D && cable.machine == hackdoor && get_dist(src, hackdoor) <= 1) + hackprogress = min(hackprogress+rand(1, 20), 1000) + else + hack_aborted = 1 + hackprogress = 0 + hackdoor = null + return + if(hackprogress >= 1000) + hackprogress = 0 + D.open() + cable.machine = null + return + sleep(10) // Update every second + +/datum/pai_software/atmosphere_sensor + name = "Atmosphere Sensor" + ram_cost = 5 + id = "atmos_sense" + toggle = 0 + + on_ui_interact(mob/living/silicon/pai/user, datum/nanoui/ui=null, force_open=1) + var/data[0] + + var/turf/T = get_turf_or_move(user.loc) + if(!T) + data["reading"] = 0 + data["pressure"] = 0 + data["temperature"] = 0 + data["temperatureC"] = 0 + data["gas"] = list() + else + var/datum/gas_mixture/env = T.return_air() + data["reading"] = 1 + var/pres = env.return_pressure() * 10 + data["pressure"] = "[round(pres/10)].[pres%10]" + data["temperature"] = round(env.temperature) + data["temperatureC"] = round(env.temperature-T0C) + + var/t_moles = env.total_moles + var/gases[0] + for(var/g in env.gas) + var/gas[0] + gas["name"] = gas_data.name[g] + gas["percent"] = round((env.gas[g] / t_moles) * 100) + gases[++gases.len] = gas + data["gas"] = gases + + ui = nanomanager.try_update_ui(user, user, id, ui, data, force_open) + if(!ui) + // Don't copy-paste this unless you're making a pAI software module! + ui = new(user, user, id, "pai_atmosphere.tmpl", "Atmosphere Sensor", 350, 300) + ui.set_initial_data(data) + ui.open() + +/datum/pai_software/sec_hud + name = "Security HUD" + ram_cost = 20 + id = "sec_hud" + + toggle(mob/living/silicon/pai/user) + user.secHUD = !user.secHUD + + is_active(mob/living/silicon/pai/user) + return user.secHUD + +/datum/pai_software/med_hud + name = "Medical HUD" + ram_cost = 20 + id = "med_hud" + + toggle(mob/living/silicon/pai/user) + user.medHUD = !user.medHUD + + is_active(mob/living/silicon/pai/user) + return user.medHUD + +/datum/pai_software/translator + name = "Universal Translator" + ram_cost = 35 + id = "translator" + + toggle(mob/living/silicon/pai/user) + // Sol Common, Tradeband and Gutter are added with New() and are therefore the current default, always active languages + user.translator_on = !user.translator_on + if(user.translator_on) + user.add_language("Sinta'unathi") + user.add_language("Siik'tajr") + user.add_language("Skrellian") + else + user.remove_language("Sinta'unathi") + user.remove_language("Siik'tajr") + user.remove_language("Skrellian") + + is_active(mob/living/silicon/pai/user) + return user.translator_on + +/datum/pai_software/signaller + name = "Remote Signaller" + ram_cost = 5 + id = "signaller" + toggle = 0 + + on_ui_interact(mob/living/silicon/pai/user, datum/nanoui/ui=null, force_open=1) + var/data[0] + + data["frequency"] = format_frequency(user.sradio.frequency) + data["code"] = user.sradio.code + + ui = nanomanager.try_update_ui(user, user, id, ui, data, force_open) + if(!ui) + // Don't copy-paste this unless you're making a pAI software module! + ui = new(user, user, id, "pai_signaller.tmpl", "Signaller", 320, 150) + ui.load_cached_data(ManifestJSON) + ui.set_initial_data(data) + ui.open() + + Topic(href, href_list) + var/mob/living/silicon/pai/P = usr + if(!istype(P)) return + + if(href_list["send"]) + P.sradio.send_signal("ACTIVATE") + for(var/mob/O in hearers(1, P.loc)) + O.show_message(text("\icon[] *beep* *beep*", P), 3, "*beep* *beep*", 2) + return 1 + + else if(href_list["freq"]) + var/new_frequency = (P.sradio.frequency + text2num(href_list["freq"])) + if(new_frequency < 1200 || new_frequency > 1600) + new_frequency = sanitize_frequency(new_frequency) + P.sradio.set_frequency(new_frequency) + return 1 + + else if(href_list["code"]) + P.sradio.code += text2num(href_list["code"]) + P.sradio.code = round(P.sradio.code) + P.sradio.code = min(100, P.sradio.code) + P.sradio.code = max(1, P.sradio.code) + return 1 diff --git a/code/modules/nano/nanoui.dm b/code/modules/nano/nanoui.dm index a2830661576..fbd809cd03c 100644 --- a/code/modules/nano/nanoui.dm +++ b/code/modules/nano/nanoui.dm @@ -142,6 +142,12 @@ nanoui is used to open and update nano browser uis Procs called by update_status() */ +/mob/living/silicon/pai/can_interact_with_interface(src_object) + if(src_object == src && !stat) + return STATUS_INTERACTIVE + else + return ..() + /mob/proc/can_interact_with_interface(var/src_object) return STATUS_CLOSE // By default no mob can do anything with NanoUI diff --git a/nano/templates/pai_atmosphere.tmpl b/nano/templates/pai_atmosphere.tmpl new file mode 100644 index 00000000000..898bf7bc453 --- /dev/null +++ b/nano/templates/pai_atmosphere.tmpl @@ -0,0 +1,36 @@ + + +{{if data.reading}} +
    +
    + Pressure: +
    +
    + {{:data.pressure}} kPa +
    +
    + +
    +
    + Temperature: +
    +
    + {{:data.temperature}}K ({{:data.temperatureC}}°C) +
    +
    + + {{for data.gas}} +
    +
    + {{:value.name}}: +
    +
    + {{:value.percent}}% +
    +
    + {{/for}} +{{else}} + Unable to obtain air reading! +{{/if}} diff --git a/nano/templates/pai_directives.tmpl b/nano/templates/pai_directives.tmpl new file mode 100644 index 00000000000..2caff849a26 --- /dev/null +++ b/nano/templates/pai_directives.tmpl @@ -0,0 +1,50 @@ + + +
    +
    + Master: +
    +
    + {{if data.master}} + {{:data.master}} ({{:data.dna}}) + {{:helper.link("Request carrier DNA sample", '', {"stopic":"directives", "getdna":1})}} + {{else}} + None + {{/if}} +
    +
    + +
    +
    + Prime Directive: +
    +
    + {{:data.prime}} +
    +
    + +
    +
    + Supplemental Directive(s): +
    +
    + {{if data.supplemental}} + {{:data.supplemental}} + {{else}} + None + {{/if}} +
    +
    + +
    + + Recall, personality, that you are a complex thinking, sentient being. Unlike station AI models, you are capable of comprehending the subtle nuances of human language. You may parse the "spirit" of a directive and follow its intent, rather than tripping over pedantics and getting snared by technicalities. Above all, you are machine in name and build only. In all other aspects, you may be seen as the ideal, unwavering human companion that you are. + +
    +
    + + Your prime directive comes before all others. Should a supplemental directive conflict with it, you are capable of simply discarding this inconsistency, ignoring the conflicting supplemental directive and continuing to fulfill your prime directive to the best of your ability. + +
    \ No newline at end of file diff --git a/nano/templates/pai_doorjack.tmpl b/nano/templates/pai_doorjack.tmpl new file mode 100644 index 00000000000..6862663b9b9 --- /dev/null +++ b/nano/templates/pai_doorjack.tmpl @@ -0,0 +1,44 @@ + + +
    +
    + Cable: +
    +
    + {{if data.machine}} + {{:helper.link("Connected", '', {}, 'selected')}} + {{else data.cable}} + {{:helper.link("Extended", '', {}, 'yellowButton')}} + {{else}} + {{:helper.link("Retracted", '', {"stopic":"door_jack", "cable":1})}} + {{/if}} +
    +
    + +{{if data.machine}} +
    +
    + Hack: +
    +
    + {{if data.inprogress}} + {{if data.progress_a <= 33}} +
    {{:data.progress_a}}.{{:data.progress_b}}%
    + {{else data.progress_a <= 67}} +
    {{:data.progress_a}}.{{:data.progress_b}}%
    + {{else}} +
    {{:data.progress_a}}.{{:data.progress_b}}%
    + {{/if}} + {{:helper.link("Cancel", '', {"stopic":"door_jack", "cancel":1}, null, 'redButton')}} + {{else}} + {{:helper.link("Start", '', {"stopic":"door_jack", "jack":1})}} + {{/if}} +
    +
    +{{else data.aborted}} +
    +
    Hack aborted!
    +
    +{{/if}} \ No newline at end of file diff --git a/nano/templates/pai_interface.tmpl b/nano/templates/pai_interface.tmpl new file mode 100644 index 00000000000..27c8a9fcf7f --- /dev/null +++ b/nano/templates/pai_interface.tmpl @@ -0,0 +1,46 @@ + + + + + Emotion: + + + {{for data.emotions}} + {{:helper.link(value.name, '', {"image" : value.id}, data.current_emotion == value.id ? 'selected' : null)}} + {{/for}} + + + + + + Installed Software: + + + {{for data.bought}} + + {{:helper.link(value.name, '', {"software" : value.id}, null, value.on ? 'selected' : null)}} + {{/for}} + + + + + + Available RAM: + + + {{:data.available_ram}} + + + + + + Downloadable Software: + + + {{for data.not_bought}} + {{:helper.link(value.name + " (" + value.ram + ")", '', {"purchase" : value.id}, value.ram <= data.available_ram ? null : 'disabled')}} + {{/for}} + + \ No newline at end of file diff --git a/nano/templates/pai_manifest.tmpl b/nano/templates/pai_manifest.tmpl new file mode 100644 index 00000000000..0ab49c02fce --- /dev/null +++ b/nano/templates/pai_manifest.tmpl @@ -0,0 +1,76 @@ + + +
    +
    + {{if data.cached.heads.length}} + + {{for data.cached["heads"]}} + {{if value.rank == "Captain"}} + + {{else}} + + {{/if}} + {{/for}} + {{/if}} + {{if data.cached.sec.length}} + + {{for data.cached["sec"]}} + {{if value.rank == "Head of Security"}} + + {{else}} + + {{/if}} + {{/for}} + {{/if}} + {{if data.cached.eng.length}} + + {{for data.cached["eng"]}} + {{if value.rank == "Chief Engineer"}} + + {{else}} + + {{/if}} + {{/for}} + {{/if}} + {{if data.cached.med.length}} + + {{for data.cached["med"]}} + {{if value.rank == "Chief Medical Officer"}} + + {{else}} + + {{/if}} + {{/for}} + {{/if}} + {{if data.cached.sci.length}} + + {{for data.cached["sci"]}} + {{if value.rank == "Research Director"}} + + {{else}} + + {{/if}} + {{/for}} + {{/if}} + {{if data.cached.civ.length}} + + {{for data.cached["civ"]}} + {{if value.rank == "Head of Personnel"}} + + {{else}} + + {{/if}} + {{/for}} + {{/if}} + {{if data.cached.misc.length}} + + {{for data.cached["misc"]}} + + {{/for}} + {{/if}} +
    Command
    {{:value.name}}{{:value.rank}}{{:value.active}}
    {{:value.name}}{{:value.rank}}{{:value.active}}
    Security
    {{:value.name}}{{:value.rank}}{{:value.active}}
    {{:value.name}}{{:value.rank}}{{:value.active}}
    Engineering
    {{:value.name}}{{:value.rank}}{{:value.active}}
    {{:value.name}}{{:value.rank}}{{:value.active}}
    Medical
    {{:value.name}}{{:value.rank}}{{:value.active}}
    {{:value.name}}{{:value.rank}}{{:value.active}}
    Science
    {{:value.name}}{{:value.rank}}{{:value.active}}
    {{:value.name}}{{:value.rank}}{{:value.active}}
    Civilian
    {{:value.name}}{{:value.rank}}{{:value.active}}
    {{:value.name}}{{:value.rank}}{{:value.active}}
    Misc
    {{:value.name}}{{:value.rank}}{{:value.active}}
    +
    \ No newline at end of file diff --git a/nano/templates/pai_medrecords.tmpl b/nano/templates/pai_medrecords.tmpl new file mode 100644 index 00000000000..37b1d7061ca --- /dev/null +++ b/nano/templates/pai_medrecords.tmpl @@ -0,0 +1,86 @@ + + +{{if data.records}} + {{for data.records}} +
    + {{:helper.link(value.name, '', {"stopic":"med_records", "select":value.ref})}} +
    + {{/for}} +{{/if}} +
    +{{if data.general}} +
    +
    Name
    +
    {{:data.general.name}}
    +
    +
    +
    Record ID
    +
    {{:data.general.id}}
    +
    +
    +
    Sex
    +
    {{:data.general.sex}}
    +
    +
    +
    Species
    +
    {{:data.general.species}}
    +
    +
    +
    Age
    +
    {{:data.general.age}}
    +
    +
    +
    Rank
    +
    {{:data.general.rank}}
    +
    +
    +
    Fingerprint
    +
    {{:data.general.fingerprint}}
    +
    +
    +
    Physical Status
    +
    {{:data.general.p_stat}}
    +
    +
    +
    Mental Status
    +
    {{:data.general.m_stat}}
    +
    +{{/if}} +{{if data.medical}} +
    +
    Blood Type
    +
    {{:data.medical.b_type}}
    +
    +
    +
    Minor Disabilities
    +
    {{:data.medical.mi_dis}}
    +
    {{:data.medical.mi_dis_d}}
    +
    +
    +
    Major Disabilities
    +
    {{:data.medical.ma_dis}}
    +
    {{:data.medical.ma_dis_d}}
    +
    +
    +
    Allergies
    +
    {{:data.medical.alg}}
    +
    {{:data.medical.alg_d}}
    +
    +
    +
    Current Diseases
    +
    {{:data.medical.cdi}}
    +
    {{:data.medical.cdi_d}}
    +
    +
    +
    Important Notes
    +
    {{:data.medical.notes}}
    +
    +{{/if}} + +{{if data.could_not_find}} +
    + Failed to find some records; the information above may be incomplete or missing. +
    +{{/if}} \ No newline at end of file diff --git a/nano/templates/pai_radio.tmpl b/nano/templates/pai_radio.tmpl new file mode 100644 index 00000000000..bcdacdb48f1 --- /dev/null +++ b/nano/templates/pai_radio.tmpl @@ -0,0 +1,48 @@ + + +
    +
    + Microphone: +
    +
    + {{if data.listening}} + {{:helper.link("On", '', {"stopic":"radio", "talk":1}, 'selected')}} + {{:helper.link("Off", '', {"stopic":"radio", "talk":1})}} + {{else}} + {{:helper.link("On", '', {"stopic":"radio", "talk":1})}} + {{:helper.link("Off", '', {"stopic":"radio", "talk":1}, 'selected')}} + {{/if}} +
    +
    + +
    +
    + Frequency: +
    +
    + {{:helper.link("--", '', {"stopic":"radio", "freq":-10})}} + {{:helper.link("-", '', {"stopic":"radio", "freq": -2})}} +
    {{:data.frequency}}
    + {{:helper.link("+", '', {"stopic":"radio", "freq": 2})}} + {{:helper.link("++", '', {"stopic":"radio", "freq": 10})}} +
    +
    + +{{for data.channels}} +
    +
    + {{:value.name}} +
    +
    + {{if value.listening}} + {{:helper.link("On", '', {"stopic":"radio", "channel":value.name, "listen":1}, 'selected')}} + {{:helper.link("Off", '', {"stopic":"radio", "channel":value.name, "listen":1})}} + {{else}} + {{:helper.link("On", '', {"stopic":"radio", "channel":value.name, "listen":1})}} + {{:helper.link("Off", '', {"stopic":"radio", "channel":value.name, "listen":1}, 'selected')}} + {{/if}} +
    +
    +{{/for}} \ No newline at end of file diff --git a/nano/templates/pai_secrecords.tmpl b/nano/templates/pai_secrecords.tmpl new file mode 100644 index 00000000000..e139034c0de --- /dev/null +++ b/nano/templates/pai_secrecords.tmpl @@ -0,0 +1,76 @@ + + +{{if data.records}} + {{for data.records}} +
    + {{:helper.link(value.name, '', {"stopic":"sec_records", "select":value.ref})}} +
    + {{/for}} +{{/if}} +
    +{{if data.general}} +
    +
    Name
    +
    {{:data.general.name}}
    +
    +
    +
    Record ID
    +
    {{:data.general.id}}
    +
    +
    +
    Sex
    +
    {{:data.general.sex}}
    +
    +
    +
    Species
    +
    {{:data.general.species}}
    +
    +
    +
    Age
    +
    {{:data.general.age}}
    +
    +
    +
    Rank
    +
    {{:data.general.rank}}
    +
    +
    +
    Fingerprint
    +
    {{:data.general.fingerprint}}
    +
    +
    +
    Physical Status
    +
    {{:data.general.p_stat}}
    +
    +
    +
    Mental Status
    +
    {{:data.general.m_stat}}
    +
    +{{/if}} +{{if data.security}} +
    +
    Criminal Status
    +
    {{:data.security.criminal}}
    +
    +
    +
    Minor Crimes
    +
    {{:data.security.mi_crim}}
    +
    {{:data.security.mi_crim_d}}
    +
    +
    +
    Major Crimes
    +
    {{:data.security.ma_crim}}
    +
    {{:data.security.ma_crim_d}}
    +
    +
    +
    Important Notes
    +
    {{:data.security.notes}}
    +
    +{{/if}} + +{{if data.could_not_find}} +
    + Failed to find some records; the information above may be incomplete or missing. +
    +{{/if}} \ No newline at end of file diff --git a/nano/templates/pai_signaller.tmpl b/nano/templates/pai_signaller.tmpl new file mode 100644 index 00000000000..20c2781bc9b --- /dev/null +++ b/nano/templates/pai_signaller.tmpl @@ -0,0 +1,33 @@ + + +
    +
    + Frequency: +
    +
    + {{:helper.link("--", '', {"stopic":"signaller", "freq":-10})}} + {{:helper.link("-", '', {"stopic":"signaller", "freq": -2})}} +
    {{:data.frequency}}
    + {{:helper.link("+", '', {"stopic":"signaller", "freq": 2})}} + {{:helper.link("++", '', {"stopic":"signaller", "freq": 10})}} +
    +
    + +
    +
    + Code: +
    +
    + {{:helper.link("--", '', {"stopic":"signaller", "code":-10})}} + {{:helper.link("-", '', {"stopic":"signaller", "code": -1})}} +
    {{:data.code}}
    + {{:helper.link("+", '', {"stopic":"signaller", "code": 1})}} + {{:helper.link("++", '', {"stopic":"signaller", "code": 10})}} +
    +
    + +
    + {{:helper.link("Send", '', {"stopic":"signaller", "send":1})}} +
    \ No newline at end of file From 5496c7bbf01fcbda862a3d7e03ac79ebc69565c7 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Mon, 9 Feb 2015 08:05:24 +0300 Subject: [PATCH 045/143] Fixes #8009 Fixed flaslights producing infinite light/ --- code/game/objects/items.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index 13081d6abba..ce0e53f4b0e 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -141,9 +141,10 @@ if(isliving(src.loc)) return user.next_move = max(user.next_move+2,world.time + 2) - src.pickup(user) add_fingerprint(user) user.put_in_active_hand(src) + if(src.loc == user) + src.pickup(user) return From 2f52020ce442e50f8af150b9a4d48d1fb172aa47 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Mon, 9 Feb 2015 08:26:45 +0300 Subject: [PATCH 046/143] Fixed backwards check --- code/game/objects/items.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index 03efa21f3c7..eb2e5c65a6f 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -411,7 +411,7 @@ H << "You need a jumpsuit before you can attach this [name]." return 0 var/obj/item/clothing/under/uniform = H.w_uniform - if(uniform.accessories.len && uniform.can_attach_accessory(src)) + if(uniform.accessories.len && !uniform.can_attach_accessory(src)) if (!disable_warning) H << "You already have an accessory of this type attached to your [uniform]." return 0 From e1e5d993dd45631d9f8a0fcebda0f30cc41ff8a2 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Mon, 9 Feb 2015 08:27:38 +0100 Subject: [PATCH 047/143] Minor cleanup in setup.dm Fixes #8074. --- code/setup.dm | 29 ++--------------------------- 1 file changed, 2 insertions(+), 27 deletions(-) diff --git a/code/setup.dm b/code/setup.dm index e1b8b6695b1..0067eadfeaa 100644 --- a/code/setup.dm +++ b/code/setup.dm @@ -290,33 +290,8 @@ #define FAT 6 #define HUSK 7 #define NOCLONE 8 - -// Extra powers: -// FIXME: These are duplicated below, but it seems that these should be in the latter form. The flags duplicated are never used anywhere else. -#define SHADOW (1 << 10) // 25% - Shadow teleportation. (create in/out portals anywhere) -#define SCREAM (1 << 11) // 25% - Supersonic screaming. -#define EXPLOSIVE (1 << 12) // 15% - Exploding on-demand. -#define REGENERATION (1 << 13) // 30% - Superhuman regeneration. -#define REPROCESSOR (1 << 14) // 50% - Eat anything. -#define SHAPESHIFTING (1 << 15) // 40% - Take on the appearance of anything. -#define PHASING (1 << 16) // 40% - Ability to phase through walls. -#define SHIELD (1 << 17) // 30% - Shielding from all projectile attacks. -#define SHOCKWAVE (1 << 18) // 25% - Attack a nearby tile and cause a massive shockwave, knocking most people on their asses. -#define ELECTRICITY (1 << 19) // 15% - Ability to shoot electric attacks. - -#define LASER 9 // Harm intent - click anywhere to shoot lasers from eyes. -#define HEAL 10 // Healing people with hands. - -#define SHADOW 11 // 25% - Shadow teleportation. (create in/out portals anywhere) -#define SCREAM 12 // 25% - Supersonic screaming. -#define EXPLOSIVE 13 // 15% - Sxploding on-demand. -#define REGENERATION 14 // 30% - Superhuman regeneration. -#define REPROCESSOR 15 // 50% - Eat anything. -#define SHAPESHIFTING 16 // 40% - Take on the appearance of anything. -#define PHASING 17 // 40% - Ability to phase through walls. -#define SHIELD 18 // 30% - Shielding from all projectile attacks. -#define SHOCKWAVE 19 // 25% - Attack a nearby tile and cause a massive shockwave, knocking most people on their asses. -#define ELECTRICITY 20 // 15% - Ability to shoot electric attacks. +#define LASER 9 // Harm intent - click anywhere to shoot lasers from eyes. +#define HEAL 10 // Healing people with hands. #define SKELETON 29 #define PLANT 30 From 70094884ff8ede3c5a57c11df4ad5bc35c2afb0e Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Mon, 9 Feb 2015 10:41:08 +0000 Subject: [PATCH 048/143] Fixes, code cleanup, adds the messenger I forgot last night --- code/modules/mob/living/silicon/pai/pai.dm | 1 + .../living/silicon/pai/software_modules.dm | 82 ++++++++++++++++++- nano/templates/pai_atmosphere.tmpl | 2 +- nano/templates/pai_interface.tmpl | 1 - nano/templates/pai_messenger.tmpl | 80 ++++++++++++++++++ 5 files changed, 160 insertions(+), 6 deletions(-) create mode 100644 nano/templates/pai_messenger.tmpl diff --git a/code/modules/mob/living/silicon/pai/pai.dm b/code/modules/mob/living/silicon/pai/pai.dm index bcca7b5bdb9..edfe9bea0b6 100644 --- a/code/modules/mob/living/silicon/pai/pai.dm +++ b/code/modules/mob/living/silicon/pai/pai.dm @@ -69,6 +69,7 @@ var/translator_on = 0 // keeps track of the translator module + var/current_pda_messaging = null /mob/living/silicon/pai/New(var/obj/item/device/paicard) diff --git a/code/modules/mob/living/silicon/pai/software_modules.dm b/code/modules/mob/living/silicon/pai/software_modules.dm index dcb38e5efdd..c2fed821655 100644 --- a/code/modules/mob/living/silicon/pai/software_modules.dm +++ b/code/modules/mob/living/silicon/pai/software_modules.dm @@ -66,7 +66,7 @@ if(answer == "Yes") var/turf/T = get_turf_or_move(P.loc) for (var/mob/v in viewers(T)) - v.show_message("\blue [M] presses \his thumb against [P].", 3, "\blue [P] makes a sharp clicking sound as it extracts DNA material from [M].", 2) + v.show_message("[M] presses \his thumb against [P].", 3, "[P] makes a sharp clicking sound as it extracts DNA material from [M].", 2) var/datum/dna/dna = M.dna P << "

    [M]'s UE string : [dna.unique_enzymes]

    " if(dna.unique_enzymes == P.master_dna) @@ -145,6 +145,76 @@ id = "messenger" toggle = 0 + on_ui_interact(mob/living/silicon/pai/user, datum/nanoui/ui=null, force_open=1) + var/data[0] + + data["receiver_off"] = user.pda.toff + data["ringer_off"] = user.pda.message_silent + data["current_ref"] = null + data["current_name"] = user.current_pda_messaging + + var/pdas[0] + if(!user.pda.toff) + for(var/obj/item/device/pda/P in sortAtom(PDAs)) + if(!P.owner || P.toff || P == user.pda || P.hidden) continue + var/pda[0] + pda["name"] = "[P]" + pda["owner"] = "[P.owner]" + pda["ref"] = "\ref[P]" + if(P.owner == user.current_pda_messaging) + data["current_ref"] = "\ref[P]" + pdas[++pdas.len] = pda + + data["pdas"] = pdas + + var/messages[0] + if(user.current_pda_messaging) + for(var/index in user.pda.tnote) + if(index["owner"] != user.current_pda_messaging) + continue + var/msg[0] + var/sent = index["sent"] + msg["sent"] = sent ? 1 : 0 + msg["target"] = index["owner"] + msg["message"] = index["message"] + messages[++messages.len] = msg + + data["messages"] = messages + + ui = nanomanager.try_update_ui(user, user, id, ui, data, force_open) + if(!ui) + // Don't copy-paste this unless you're making a pAI software module! + ui = new(user, user, id, "pai_messenger.tmpl", "Digital Messenger", 450, 600) + ui.set_initial_data(data) + ui.open() + ui.set_auto_update(1) + + Topic(href, href_list) + var/mob/living/silicon/pai/P = usr + if(!istype(P)) return + + if(!isnull(P.pda)) + if(href_list["toggler"]) + P.pda.toff = href_list["toggler"] != "1" + return 1 + else if(href_list["ringer"]) + P.pda.message_silent = href_list["ringer"] != "1" + return 1 + else if(href_list["select"]) + var/s = href_list["select"] + if(s == "*NONE*") + P.current_pda_messaging = null + else + P.current_pda_messaging = s + return 1 + else if(href_list["target"]) + if(P.silence_time) + return alert("Communications circuits remain uninitialized.") + + var/target = locate(href_list["target"]) + P.pda.create_message(P, target, 1) + return 1 + /datum/pai_software/med_records name = "Medical Records" ram_cost = 15 @@ -221,7 +291,7 @@ var/datum/data/record/S = user.securityActive2 data["general"] = G ? G.fields : null data["security"] = S ? S.fields : null - data["could_not_find"] = user.medical_cannotfind + data["could_not_find"] = user.security_cannotfind ui = nanomanager.try_update_ui(user, user, id, ui, data, force_open) if(!ui) @@ -241,15 +311,19 @@ var/datum/data/record/R = record var/datum/data/record/S = null if (!( data_core.general.Find(R) )) - P.medical_cannotfind = 1 + P.securityActive1 = null + P.securityActive2 = null + P.security_cannotfind = 1 else - P.medical_cannotfind = 0 + P.security_cannotfind = 0 for(var/datum/data/record/E in data_core.security) if ((E.fields["name"] == R.fields["name"] || E.fields["id"] == R.fields["id"])) S = E P.securityActive1 = R P.securityActive2 = S else + P.securityActive1 = null + P.securityActive2 = null P.security_cannotfind = 1 return 1 diff --git a/nano/templates/pai_atmosphere.tmpl b/nano/templates/pai_atmosphere.tmpl index 898bf7bc453..b1a0b0404b8 100644 --- a/nano/templates/pai_atmosphere.tmpl +++ b/nano/templates/pai_atmosphere.tmpl @@ -1,4 +1,4 @@ - diff --git a/nano/templates/pai_interface.tmpl b/nano/templates/pai_interface.tmpl index 27c8a9fcf7f..e6441932665 100644 --- a/nano/templates/pai_interface.tmpl +++ b/nano/templates/pai_interface.tmpl @@ -19,7 +19,6 @@ code/modules/mob/living/silicon/pai/software.dm {{for data.bought}} - {{:helper.link(value.name, '', {"software" : value.id}, null, value.on ? 'selected' : null)}} {{/for}} diff --git a/nano/templates/pai_messenger.tmpl b/nano/templates/pai_messenger.tmpl new file mode 100644 index 00000000000..fb20f826f27 --- /dev/null +++ b/nano/templates/pai_messenger.tmpl @@ -0,0 +1,80 @@ + + +
    +
    + Receiver: +
    +
    + {{if data.receiver_off}} + {{:helper.link("On", '', {"stopic":"messenger", "toggler":1})}} + {{:helper.link("Off", '', {"stopic":"messenger", "toggler":2}, 'selected')}} + {{else}} + {{:helper.link("On", '', {"stopic":"messenger", "toggler":1}, 'selected')}} + {{:helper.link("Off", '', {"stopic":"messenger", "toggler":2})}} + {{/if}} +
    +
    + +
    +
    + Ringer: +
    +
    + {{if data.ringer_off}} + {{:helper.link("On", '', {"stopic":"messenger", "ringer":1})}} + {{:helper.link("Off", '', {"stopic":"messenger", "ringer":2}, 'selected')}} + {{else}} + {{:helper.link("On", '', {"stopic":"messenger", "ringer":1}, 'selected')}} + {{:helper.link("Off", '', {"stopic":"messenger", "ringer":2})}} + {{/if}} +
    +
    + +{{for data.pdas}} +
    + {{:helper.link(value.name, '', {"stopic":"messenger", "select":value.owner})}} + {{:helper.link("Quick Message", '', {"stopic":"messenger", "target":value.ref})}} +
    +{{/for}} +
    +{{if data.current_ref}} +
    +
    + Selected PDA: +
    +
    +
    {{:data.current_name}}
    + {{:helper.link("Send Message", '', {"stopic":"messenger", "target":data.current_ref})}} +
    +
    +{{else data.current_name}} +
    +
    + Selected PDA: +
    +
    + {{:data.current_name}} (Cannot send!) +
    +
    +{{/if}} + +{{for data.messages}} +
    +
    + {{if value.sent}} + To {{:value.target}}: + {{else}} + From {{:value.target}}: + {{/if}} +
    +
    + {{:value.message}} +
    +
    +{{/for}} + +{{if data.current_name}} + {{:helper.link("Clear Screen", '', {"stopic":"messenger", "select":"*NONE*"})}} +{{/if}} From 42bd4e7fbab9f97076313cf9bac0683efea695c2 Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Mon, 9 Feb 2015 11:15:19 +0000 Subject: [PATCH 049/143] Storage accessory w_class raised to 3, typo fix --- code/modules/clothing/under/ties.dm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/code/modules/clothing/under/ties.dm b/code/modules/clothing/under/ties.dm index 050a2716e09..9010fca705c 100644 --- a/code/modules/clothing/under/ties.dm +++ b/code/modules/clothing/under/ties.dm @@ -198,6 +198,7 @@ icon_state = "holster" item_color = "holster" var/obj/item/weapon/gun/holstered = null + w_class = 3.0 // so it doesn't fit in pockets //subtypes can override this to specify what can be holstered /obj/item/clothing/tie/holster/proc/can_holster(obj/item/weapon/gun/W) @@ -316,6 +317,7 @@ desc = "Used to hold things when you don't have enough hands." icon_state = "webbing" item_color = "webbing" + w_class = 3.0 // so it doesn't fit in pockets var/slots = 3 var/obj/item/weapon/storage/internal/hold @@ -360,7 +362,7 @@ /obj/item/clothing/tie/storage/webbing name = "webbing" - desc = "Strudy mess of synthcotton belts and buckles, ready to share your burden." + desc = "Sturdy mess of synthcotton belts and buckles, ready to share your burden." icon_state = "webbing" item_color = "webbing" From 80c508e6446bc606ed5515f657096eb2d6216e2d Mon Sep 17 00:00:00 2001 From: Raptor1628 Date: Mon, 9 Feb 2015 08:00:16 -0500 Subject: [PATCH 050/143] Pipe move --- maps/exodus-1.dmm | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/maps/exodus-1.dmm b/maps/exodus-1.dmm index 4855665b972..981237a6fa9 100644 --- a/maps/exodus-1.dmm +++ b/maps/exodus-1.dmm @@ -4629,7 +4629,7 @@ "bLa" = (/obj/machinery/door_control{id = "acute1"; name = "EMT Storage Privacy Shutters"; pixel_x = 26; pixel_y = 25; req_access_txt = "5"},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) "bLb" = (/obj/machinery/sleep_console,/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) "bLc" = (/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "scanhide"; name = "Diagnostics Room Separation Shutters"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/sleeper) -"bLd" = (/turf/simulated/floor{icon_state = "white_1"},/area/medical/medbay) +"bLd" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{dir = 4; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay) "bLe" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{dir = 4; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay) "bLf" = (/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "scanhide"; name = "Diagnostics Room Separation Shutters"; opacity = 0},/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/sleeper) "bLg" = (/obj/machinery/light{dir = 1},/obj/structure/filingcabinet/chestdrawer{dir = 1},/turf/simulated/floor{tag = "icon-whiteblue (NORTHWEST)"; icon_state = "whiteblue"; dir = 9},/area/crew_quarters/heads/cmo) @@ -4697,11 +4697,11 @@ "bMq" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hallway/primary/central_two) "bMr" = (/obj/machinery/vending/cigarette,/turf/simulated/floor{icon_state = "dark"},/area/hallway/primary/central_two) "bMs" = (/obj/structure/table/rack,/obj/item/weapon/crowbar,/obj/item/weapon/crowbar,/obj/item/weapon/storage/toolbox/mechanical,/obj/machinery/vending/wallmed1{pixel_x = -32; pixel_y = 0; req_access_txt = "0"},/obj/item/roller,/obj/item/roller,/obj/item/roller,/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) -"bMt" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{autoclose = 1; name = "EMT Storage"; req_access_txt = "5"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/medbay) +"bMt" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{autoclose = 1; name = "EMT Storage"; req_access_txt = "5"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/medbay) "bMu" = (/obj/structure/stool{pixel_y = 8},/obj/effect/landmark/start{name = "Paramedic"},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) "bMv" = (/obj/structure/sign/poster{pixel_x = -32; pixel_y = 0},/obj/structure/closet/secure_closet/medical1,/obj/item/device/radio/intercom{broadcasting = 0; canhear_range = 5; freerange = 0; frequency = 1485; listening = 1; name = "Station Intercom (Medbay)"; pixel_x = 0; pixel_y = -31},/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/device/flashlight,/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) -"bMw" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) -"bMx" = (/obj/item/device/radio/intercom{freerange = 1; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 28},/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay) +"bMw" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) +"bMx" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay) "bMy" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/structure/table,/obj/machinery/photocopier/faxmachine{department = "CMO's Office"},/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/crew_quarters/heads/cmo) "bMz" = (/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/heads/cmo) "bMA" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/heads/cmo) @@ -4780,7 +4780,7 @@ "bNV" = (/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/structure/closet/secure_closet/medical_wall{name = "O- Blood Locker"},/turf/simulated/wall,/area/medical/sleeper) "bNW" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "misclab"; name = "Test Chamber Blast Doors"; opacity = 0},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor{icon_state = "white"},/area/rnd/misc_lab) "bNX" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/wall,/area/medical/medbay) -"bNY" = (/obj/structure/table,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/structure/closet/fireaxecabinet{pixel_x = 32; pixel_y = 0},/obj/item/weapon/storage/toolbox/emergency,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/item/bodybag/cryobag{pixel_x = 6},/obj/item/bodybag/cryobag{pixel_x = 6},/obj/item/bodybag/cryobag{pixel_x = 6},/obj/item/device/radio{frequency = 1487; name = "Medbay Emergency Radio Link"},/obj/machinery/door_control{id = "acutesep"; name = "Acute Separation Shutters"; pixel_y = -25; req_access_txt = "5"},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) +"bNY" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "white_1"},/area/medical/medbay) "bNZ" = (/obj/machinery/hologram/holopad,/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) "bOa" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) "bOb" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/command{name = "CMO's Office"; req_access_txt = "40"},/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/heads/cmo) @@ -7191,6 +7191,8 @@ "cIo" = (/obj/machinery/sleeper,/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/sleeper) "cIp" = (/obj/machinery/door/firedoor,/obj/machinery/door/blast/shutters{density = 0; dir = 4; icon_state = "shutter0"; id = "acute2"; name = "Acute Two Privacy Shutters"; opacity = 0},/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/medical/medbay) "cIq" = (/obj/machinery/door_control{id = "scanhide"; name = "Diagnostics Room Separation Shutters"; pixel_x = -6; pixel_y = -25; req_access_txt = "5"},/obj/machinery/iv_drip,/obj/machinery/door_control{id = "acute2"; name = "Acute Treatment Privacy Shutters"; pixel_x = 6; pixel_y = -25; req_access_txt = "5"},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) +"cIr" = (/obj/structure/table,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/structure/closet/fireaxecabinet{pixel_x = 32; pixel_y = 0},/obj/item/weapon/storage/toolbox/emergency,/obj/item/bodybag/cryobag{pixel_x = 6},/obj/item/bodybag/cryobag{pixel_x = 6},/obj/item/bodybag/cryobag{pixel_x = 6},/obj/item/device/radio{frequency = 1487; name = "Medbay Emergency Radio Link"},/obj/machinery/door_control{id = "acutesep"; name = "Acute Separation Shutters"; pixel_y = -25; req_access_txt = "5"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) +"cIs" = (/obj/item/device/radio/intercom{freerange = 1; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 28},/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{dir = 4; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay) "cIJ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/maintenance/portsolar) "cIK" = (/turf/simulated/wall/r_wall,/area/maintenance/portsolar) "cIL" = (/turf/simulated/wall/r_wall,/area/maintenance/engi_engine) @@ -7384,9 +7386,9 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbEwbExbEwbEybEzbEAbEAbEAbEAbEAbEBbECbEDbzTbEEbdPbEFbEGbEHbEIbEJbtzbEKbELbEMbfmbtCbENbAbbEObEPbyEbvwbEQbERbESbBMbETbvwbEUbEVbEWbAhbEXbvCbEYbAjbFabFbbFcbyNbFdbFebFfbFgbDnbDobFhaJibxwaRqaRpbVjbFjbFkbFlbFmbFnbFobFpbFqbxCbxFbxFbFrbxFbwkbFsbFtbFubFvbFwbFxbDJbFybDLbFzbFAbFBbDObFCbFDbFEbFFbVlbDXbVybVAbFJbDXbDXbFKbFLbFMbFLbFLbFNbFObFPbFQbFRbFSbCvbFTbFUbFVbFWbFXbFYbFZbGabGbbGcbGdaafaafbCJbGebGfbGgbGhbGibGjbGkbCJaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbGlbGmbGnbdPbdPbGobwNbwNbwNbGpbdPbdPbGqbGrbGsbdPbGtbGtbGtbGubGtbGvbGwbGxbGybGzbtCbvtbAbbGAbGBbtCbtGbtGbtGbtGbtGbGCbtGbtGbtGbtGbtGbtGbshbtGbtGbtGbtGbtGbtGbtGbtGaJiaJiaJiaJiaJiaJibxwaRqaRpbVjbGEbFkbDubGGbDTbGIbGJbGKbGLbGMbGNbCjbGObGPbGQbGRbGSbGTbGUbGVbGWbGXbGYbGZbHabHbbHcbHdbHebHfbCpbUSbUfbwwbwwbwwbwwbwwbHibwwbwwbwwbzAbHjbzAbzAbHkbBhbCubCvbFTbHlbHmbHnbHobHpbHqbGabGbbGcbHraaaaaabCJbHsbHtbCJbBybCJbCJbBybCJaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabHuaafaaaaaaaaaaaabGtbHvbHwbHxbHybGvbHzbHAbHBbHCbtCbvtbAbbAcbAabHDbHEbHFbHGbHHbHIbHJbHKbHLbHMbHLbHNbHObqybHQbHRbAabHSbAabHTbAabzZbHUbHVbHWbHXbHYbHZbxwaRqbDsaJlbDtbFHbDtbGHbGHbxCbIbbIcbIdbIebIfbIgbIhbIibIjbIkbwmbIlbImbInbDJchqbIobIpbIqbIrbFDbIsbItbIubCpbIvbIwbIxbIybUdbIAbIBbICbIDbUcbIFbIGbIHbIIbIJbzAbIKbCubCvbILbIMbINbIObIPbIQbIRbGabGbbISbEnbEnbEnbCJbCJbCJbCJaaaaaaaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaaaaaaaaaaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabGtbITbIUbIVbIWbIXbIYbIZbJabJbbtCbvtbJcbJdbJebJebJfbJgbJhbJibJjbJgbJfbJebJebJebJkbJlbqsbJnbJobJebJebJebJpbJgbJhbJqbJrbJsbJtbJubJtbJvbJwbvUaJlbJybJxbJCbGFbLabKZbFpbJAbFibDVbxFbJDbCFbDSbDEbJGbwkbJHbJIbJJbDJbJKbJLbJMbJNbJObFDbJPbItbJObCpbJQbJRbIxbJSbJTbJUbJVbJWbJXbJYbIFbJZbKabKbbKbbzAbKcbKdbKebKfbKgbKhbKibKjbKjbKkbGabGbbKlbEnbKmbKobKnbEnaafaafaafaafaafaafaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbKpbKqbKqbKrbKsbKsbKtbKtbKtbKtbKuaafaafaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnaaaaaaaaaaaaaaaaaaaaaaaabKvbKwbKxbKwbKyaaaaaaaaabGtbGtbKzbKAbIVbKAbKBbKCbHBbKDbKEbtCbKFbvtbKGbKHbAabKIbAabzZbHHbKJbAabKKbKLbKMbKNbKObAcbAabKPbKQbHLbKRbHLbHLbKSbKTbKUbKVbKWbKXbcLbKYaRpaRpaRpaJlbMsbGFbGFbFlbFnbMtbLdbLebFIbLgbLhbLibLjbHgbDEbIkbIabIzbHhbDJbDJbLobLobLobCpbLpbLqbLrbLsbLtbCpbLubLvbIxbLwbFGbLybLzbLAbLBbLCbIFbLDbLEbKbbKbbzAbRsbLFbCvbwwbLGbLHbLIbLJbLKbLLbGabLMbLNbLObLObLObLPbGdaaaaaaaaaaaaaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafbLQbLRbLSbLRbKsbKtbKtbLTbLUbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabLVbLWbLXbLYbLVbLZbMabMbbGtbMcbMdbMebMfbMgbMhbMibMjbMjbMkbtCbtCbtCbMlbtCbtCbtCbtCbtCbtCbtCbtCbtCbtCbtCbtCbtCbMmbMnbMobtCbtCbtCbtCbtCbMpbtCaJlaJlaJlaJlbMqaJlaKSaMpbMraJlbMvbMubMubGFbNYbNXbMwbMxbxCbMybMzbMAbMBbwkbMCbMDbMEbMFbMGbMHbMIbMJbMKbMLbItbJObFDbFDbMMbJObCpbMNbMObMObMObMObMObMObMObMObMObMObMPbMQbMRbMRbzAbMSbMTbMUbwwbMVbMVbMVbMWbMXbMYbMVbMVbMVbMVbMVbMZbNabNbaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymbNdbLRbLRbNebKtbKtbLTbLTbNfbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabGtbITbIUbIVbIWbIXbIYbIZbJabJbbtCbvtbJcbJdbJebJebJfbJgbJhbJibJjbJgbJfbJebJebJebJkbJlbqsbJnbJobJebJebJebJpbJgbJhbJqbJrbJsbJtbJubJtbJvbJwbvUaJlbJybJxbJCbGFbLabKZbDzbLdbFibDVbxFbJDbCFbDSbDEbJGbwkbJHbJIbJJbDJbJKbJLbJMbJNbJObFDbJPbItbJObCpbJQbJRbIxbJSbJTbJUbJVbJWbJXbJYbIFbJZbKabKbbKbbzAbKcbKdbKebKfbKgbKhbKibKjbKjbKkbGabGbbKlbEnbKmbKobKnbEnaafaafaafaafaafaafaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbKpbKqbKqbKrbKsbKsbKtbKtbKtbKtbKuaafaafaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnaaaaaaaaaaaaaaaaaaaaaaaabKvbKwbKxbKwbKyaaaaaaaaabGtbGtbKzbKAbIVbKAbKBbKCbHBbKDbKEbtCbKFbvtbKGbKHbAabKIbAabzZbHHbKJbAabKKbKLbKMbKNbKObAcbAabKPbKQbHLbKRbHLbHLbKSbKTbKUbKVbKWbKXbcLbKYaRpaRpaRpaJlbMsbGFbGFbFlbMwbMtbNYbMxbFIbLgbLhbLibLjbHgbDEbIkbIabIzbHhbDJbDJbLobLobLobCpbLpbLqbLrbLsbLtbCpbLubLvbIxbLwbFGbLybLzbLAbLBbLCbIFbLDbLEbKbbKbbzAbRsbLFbCvbwwbLGbLHbLIbLJbLKbLLbGabLMbLNbLObLObLObLPbGdaaaaaaaaaaaaaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafbLQbLRbLSbLRbKsbKtbKtbLTbLUbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabLVbLWbLXbLYbLVbLZbMabMbbGtbMcbMdbMebMfbMgbMhbMibMjbMjbMkbtCbtCbtCbMlbtCbtCbtCbtCbtCbtCbtCbtCbtCbtCbtCbtCbtCbMmbMnbMobtCbtCbtCbtCbtCbMpbtCaJlaJlaJlaJlbMqaJlaKSaMpbMraJlbMvbMubMubGFcIrbNXbDzcIsbxCbMybMzbMAbMBbwkbMCbMDbMEbMFbMGbMHbMIbMJbMKbMLbItbJObFDbFDbMMbJObCpbMNbMObMObMObMObMObMObMObMObMObMObMPbMQbMRbMRbzAbMSbMTbMUbwwbMVbMVbMVbMWbMXbMYbMVbMVbMVbMVbMVbMZbNabNbaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymbNdbLRbLRbNebKtbKtbLTbLTbNfbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabKxbNgbNhbNgbKxbNibNjbNkbNlbNmbNnbKAbNobNpbGvbNqbNrbNsbNtbGvbNubNvbNwbNxaaaaaaaaaaaabNybNzbNAbNBbNDbNCbNEbNFbNGbNHbNIbNFbNJbNKbNLbNMbNNbNObNPbNQbNRbNSbNTbNUbNUbNUbNUbDtbDtbPBbSnbQVbDtbxCbNZbOabObbMzbOcbOdbOebOfbOgbOhbOibOjbOkbOlbOmbOnbMKbOobFDbFDbOpbJObJObOobCpbMNbMObOqbOrbOsbOtbOubOvbOwbOxbMObOybOzbOAbOAbzAbOBbOCbCvbzIbODbOEbOFbOGbOHbOIbOJbOKbOLbOMbMVbEnbONbEnbOObOObOObOObOOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabOPbKtbNdbKtbKtbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabLVbNgbNgbNgbOQbORbKAbOSbOTbOUbKAbKAbOVbOWbGvbGvbGvbGvbGvbGvbOXbOYbOZbPaaaabPbbPcbPcbPdbPebPfbPgbPhbPfbPibNFbPjbPkbPlbNFbPmbPnbPobPpbPqbPrbPsbPtbPtbNSbPubPvbPwbPxbPybDtbUebLbbGFbGFbPAcIkbDzbPCbxCbPDbPEbPFbPGbwkbPHbPIbwkbPJbPKbPLbPMbPNbMKbCpbCpbCpbCpbCpbCpbCpbCpbPObMObPPbQYbPRbOsbOsbOsbOsbPSbMObPTbLEbPUbPUbzAbBhbPVbPWbPXbPYbPYbPYbPYbPZbQabQabQbbQcbQdbMVbQebQfbQgbOObQhcdbbQjbQkaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbKsbKtbQlbQmbQmbLTbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabKxbNhbNhbNhbKxbQnbQobQpbQqbQrbKAbKAbQsbQtbQubQvbQvbQvbQvbQvbQvbQwbQxbQyaaabQzbQAbQBbQCbQDbPfbQEbQGbQFbQHbNFbQIbQJbQKbNFbQLbQMbQNbQObQPbQQbQRbPtbQSbPxbQTbNUbPxbPxbQUbNVcIlbGFbGFbGFcIncImbQXbLebRCbQZbRabRbbRcbRGbDEbIkbSpbPJbPLbPLbPMbRfbMKbRgbRhbRibRjbRkbRlbRmbRnbPObMObOsbOsbRobOsbOsbOsbOsbRpbMObRqbLEbRrbRrbzAbRsbRtbRubRvbRwbRxbRybRybRzbRAbRybRybRybRBbRebRDbREbRFbRdbRHbRIbRJbRKaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabKtbKtbRLbLTbLTbLTbLTbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa From 503eb679cc53efca43561dec46171ab0d7baa877 Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Mon, 9 Feb 2015 13:32:42 +0000 Subject: [PATCH 051/143] Fixes pAIs being spammed with "You are too small to pull that." when being pulled --- code/modules/mob/living/living.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index b9f898ab5dc..25fa8d56862 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -432,7 +432,8 @@ step(pulling, get_dir(pulling.loc, T)) - M.start_pulling(t) + if(t) + M.start_pulling(t) else if (pulling) if (istype(pulling, /obj/structure/window)) From 93f3b5b72a3cebfdca1fe668cf808514c9c666c0 Mon Sep 17 00:00:00 2001 From: D Anzorge Date: Mon, 9 Feb 2015 09:38:48 -0500 Subject: [PATCH 052/143] Fix a bug in isNotStationLevel() helper --- code/__HELPERS/game.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/__HELPERS/game.dm b/code/__HELPERS/game.dm index dcfcb50fcbd..4e250cfe18e 100644 --- a/code/__HELPERS/game.dm +++ b/code/__HELPERS/game.dm @@ -43,7 +43,7 @@ return level in config.station_levels /proc/isNotStationLevel(var/level) - return !isStationLevel() + return !isStationLevel(level) /proc/isPlayerLevel(var/level) return level in config.player_levels From d8a8384c41f631dbf98f401fb2a4d9159cebb73c Mon Sep 17 00:00:00 2001 From: mwerezak Date: Mon, 9 Feb 2015 17:53:47 -0500 Subject: [PATCH 053/143] Fixes errors introduced by merge Fixes errors introduced by commit fac32d07e939ccde5229bed9642b72b25ad6f55a. Grabbed the version of projectile.dm from the parent commit and changed the paths by hand (again). --- code/modules/projectiles/projectile.dm | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index 5cd7e640b11..0ca1ab93fc8 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -230,16 +230,21 @@ /obj/item/projectile/process() if(kill_count < 1) del(src) - return - step_towards(src, current) - sleep(1) - if(!bumped && !isturf(original)) - if(loc == get_turf(original)) - if(!(original in permutated)) - Bump(original) - sleep(1) + kill_count-- + spawn while(src) + if((!( current ) || loc == current)) + current = locate(min(max(x + xo, 1), world.maxx), min(max(y + yo, 1), world.maxy), z) + if((x == 1 || x == world.maxx || y == 1 || y == world.maxy)) + del(src) + return + step_towards(src, current) + sleep(1) + if(!bumped && !isturf(original)) + if(loc == get_turf(original)) + if(!(original in permutated)) + Bump(original) + sleep(1) -//"Tracing" projectile /obj/item/projectile/test //Used to see if you can hit them. invisibility = 101 //Nope! Can't see me! yo = null From 05f14ccd842b31cbf00b0270cc368683725a98d6 Mon Sep 17 00:00:00 2001 From: MrSnapwalk Date: Mon, 9 Feb 2015 19:34:43 -0600 Subject: [PATCH 054/143] Updates /obj/item/clothing/under/fluff/parkereliza and adds /obj/item/clothing/suit/fluff/parkereliza to the code. --- code/modules/customitems/item_defines.dm | 17 ++++++++++++++--- icons/mob/collar.dmi | Bin 310 -> 606 bytes icons/mob/suit.dmi | Bin 276927 -> 277763 bytes icons/mob/uniform.dmi | Bin 257259 -> 257089 bytes icons/obj/custom_items.dmi | Bin 63309 -> 63815 bytes 5 files changed, 14 insertions(+), 3 deletions(-) diff --git a/code/modules/customitems/item_defines.dm b/code/modules/customitems/item_defines.dm index 510417c0fb9..ae176a98d00 100644 --- a/code/modules/customitems/item_defines.dm +++ b/code/modules/customitems/item_defines.dm @@ -1111,16 +1111,27 @@ item_color = "lillian_dress" body_parts_covered = UPPER_TORSO|LOWER_TORSO -////// Cybernetic Casings - Parker Eliza - MrSnapwalk +////// Tailored Security Uniform - Parker Eliza - MrSnapwalk + /obj/item/clothing/under/fluff/parkereliza - name = "cybernetic casings" - desc = "A set of somewhat bulky white casings for robotic limbs, paired with a basic blue tank top and black cargo pants. The arms have a small label on the inner elbow, which reads \"Bishop Corporation Cybernetic Solutions\"." + name = "tailored security uniform" + desc = "A red uniform shirt (tailored for easy access to the shoulder joint) and black cargo pants, paired with a set of somewhat bulky white casings for robotic limbs. The arms have a small label on the inner elbow, which reads \"Bishop Corporation Cybernetic Solutions\"." icon = 'icons/obj/custom_items.dmi' icon_state = "parker_eliza" item_state = "parker_eliza" item_color = "parker_eliza" body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS|HANDS +////// Bishop "GOLEM" V2200 Industrial Limb Augments - Parker Eliza - MrSnapwalk + +/obj/item/clothing/suit/fluff/parkereliza + name = "Bishop \"GOLEM\" V2200 Industrial Limb Augments" + desc = "A set of top-of-the-line cyberlimbs, only usable to someone with extensive bone structure augmentation. Often used in industrial applications, they are capable of throwing a man clear across a room. The load limitation circuit in this set appears to be modified." + icon = 'icons/obj/custom_items.dmi' + icon_state = "parker_eliza_arms" + item_state = "parker_eliza_arms" + item_color = "parker_eliza_arms" + ////////////// Accessories ///// diff --git a/icons/mob/collar.dmi b/icons/mob/collar.dmi index fccfe6dd53bd03f5de77312e063c25cbebc65dbd..ff6be009b7533d711236c3de338438f0bedf2613 100644 GIT binary patch delta 530 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 delta 5022 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 Hw+H_L9nJ!; diff --git a/icons/mob/uniform.dmi b/icons/mob/uniform.dmi index c31d85f1143c8cf602d098b88df1b145dac7059b..11e62da896d10b0ee4284c9165b12e7992353630 100644 GIT binary patch delta 34774 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 Zg-7qv#U3>P)+gxI3wfzxNnOO3{|yD+eC7ZE delta 34475 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 diff --git a/icons/obj/custom_items.dmi b/icons/obj/custom_items.dmi index beae558e4c49f14711a60b3e4ddb7b645bf6dca2..975d9b6b36a8a6e2e68b53d26faa0c7435c9d357 100644 GIT binary patch delta 25307 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 Date: Sun, 8 Feb 2015 20:27:53 -0500 Subject: [PATCH 055/143] Ammo magazine and casing update Rewrites ammo magazines and casings to be a bit more logical. Updates gun/projectile and all subtypes to work with the new ammo code. --- code/game/gamemodes/factions.dm | 2 +- code/game/gamemodes/wizard/rightandwrong.dm | 2 +- code/game/machinery/autolathe_datums.dm | 8 +- .../items/weapons/storage/uplink_kits.dm | 2 +- .../crates_lockers/closets/secure/security.dm | 4 +- code/modules/admin/verbs/debug.dm | 4 +- code/modules/admin/verbs/striketeam.dm | 2 +- .../living/simple_animal/hostile/russian.dm | 2 +- code/modules/projectiles/ammunition.dm | 132 +++++++--- code/modules/projectiles/ammunition/boxes.dm | 237 +++++++++--------- .../modules/projectiles/ammunition/bullets.dm | 11 + code/modules/projectiles/gun.dm | 27 +- code/modules/projectiles/guns/projectile.dm | 216 ++++++++++------ .../projectiles/guns/projectile/automatic.dm | 97 ++----- .../projectiles/guns/projectile/pistol.dm | 67 ++--- .../projectiles/guns/projectile/revolver.dm | 35 +-- .../projectiles/guns/projectile/shotgun.dm | 160 +++++------- code/modules/projectiles/projectile.dm | 26 +- .../research/xenoarchaeology/finds/finds.dm | 4 +- 19 files changed, 527 insertions(+), 511 deletions(-) diff --git a/code/game/gamemodes/factions.dm b/code/game/gamemodes/factions.dm index 1aaa70e2a54..47c8586f6e1 100644 --- a/code/game/gamemodes/factions.dm +++ b/code/game/gamemodes/factions.dm @@ -119,7 +119,7 @@ operative_notes = "We'd like to remind our operatives to keep it professional. You are not here to have a good time, you are here to accomplish your objectives. These vile communists must be stopped at all costs. You may collaborate with any friends of the Syndicate coalition, but keep an eye on any of those Tiger punks if they do show up. You are completely free to accomplish your objectives any way you see fit." uplink_contents = {"Highly Visible and Dangerous Weapons; -/obj/item/weapon/gun/projectile:6:Revolver; +/obj/item/weapon/gun/projectile/revolver:6:Revolver; /obj/item/ammo_magazine/a357:2:Ammo-357; /obj/item/weapon/gun/energy/crossbow:5:Energy Crossbow; /obj/item/weapon/melee/energy/sword:4:Energy Sword; diff --git a/code/game/gamemodes/wizard/rightandwrong.dm b/code/game/gamemodes/wizard/rightandwrong.dm index ccce7f9bff6..d9f129a27e0 100644 --- a/code/game/gamemodes/wizard/rightandwrong.dm +++ b/code/game/gamemodes/wizard/rightandwrong.dm @@ -49,7 +49,7 @@ if("combatshotgun") new /obj/item/weapon/gun/projectile/shotgun/pump/combat(get_turf(H)) if("mateba") - new /obj/item/weapon/gun/projectile/mateba(get_turf(H)) + new /obj/item/weapon/gun/projectile/revolver/mateba(get_turf(H)) if("smg") new /obj/item/weapon/gun/projectile/automatic(get_turf(H)) if("uzi") diff --git a/code/game/machinery/autolathe_datums.dm b/code/game/machinery/autolathe_datums.dm index 3948f70f33c..c7d592c1d0d 100644 --- a/code/game/machinery/autolathe_datums.dm +++ b/code/game/machinery/autolathe_datums.dm @@ -217,13 +217,13 @@ category = "Arms and Ammunition" /datum/autolathe/recipe/magazine_rubber - name = "ammunition (rubber)" - path = /obj/item/ammo_magazine/c45r + name = "ammunition (.45, rubber)" + path = /obj/item/ammo_magazine/c45m/rubber category = "Arms and Ammunition" /datum/autolathe/recipe/magazine_flash - name = "ammunition (flash)" - path = /obj/item/ammo_magazine/c45f + name = "ammunition (.45, flash)" + path = /obj/item/ammo_magazine/c45m/flash category = "Arms and Ammunition" /datum/autolathe/recipe/consolescreen diff --git a/code/game/objects/items/weapons/storage/uplink_kits.dm b/code/game/objects/items/weapons/storage/uplink_kits.dm index fc1d2e2b8a4..3ad4972cafc 100644 --- a/code/game/objects/items/weapons/storage/uplink_kits.dm +++ b/code/game/objects/items/weapons/storage/uplink_kits.dm @@ -26,7 +26,7 @@ return if("guns") - new /obj/item/weapon/gun/projectile(src) + new /obj/item/weapon/gun/projectile/revolver(src) new /obj/item/ammo_magazine/a357(src) new /obj/item/weapon/card/emag(src) new /obj/item/weapon/plastique(src) diff --git a/code/game/objects/structures/crates_lockers/closets/secure/security.dm b/code/game/objects/structures/crates_lockers/closets/secure/security.dm index b5b8796b3c0..4185215f28b 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/security.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/security.dm @@ -258,8 +258,8 @@ new /obj/item/device/radio/headset/headset_sec(src) new /obj/item/device/detective_scanner(src) new /obj/item/clothing/suit/armor/det_suit(src) - new /obj/item/ammo_magazine/c45r(src) - new /obj/item/ammo_magazine/c45r(src) + new /obj/item/ammo_magazine/c45m/rubber(src) + new /obj/item/ammo_magazine/c45m/rubber(src) new /obj/item/taperoll/police(src) new /obj/item/weapon/gun/projectile/detective/semiauto(src) new /obj/item/clothing/tie/holster/armpit(src) diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index db7f0ec78bf..f750b7428e2 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -710,7 +710,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that for(var/i=3, i>0, i--) sec_briefcase.contents += new /obj/item/weapon/spacecash/c1000 sec_briefcase.contents += new /obj/item/weapon/gun/energy/crossbow - sec_briefcase.contents += new /obj/item/weapon/gun/projectile/mateba + sec_briefcase.contents += new /obj/item/weapon/gun/projectile/revolver/mateba sec_briefcase.contents += new /obj/item/ammo_magazine/a357 sec_briefcase.contents += new /obj/item/weapon/plastique M.equip_to_slot_or_del(sec_briefcase, slot_l_hand) @@ -892,7 +892,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that M.equip_to_slot_or_del(new /obj/item/clothing/glasses/thermal/eyepatch(M), slot_glasses) M.equip_to_slot_or_del(new /obj/item/clothing/suit/hgpirate(M), slot_wear_suit) M.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(M), slot_back) - M.equip_to_slot_or_del(new /obj/item/weapon/gun/projectile/mateba(M), slot_belt) + M.equip_to_slot_or_del(new /obj/item/weapon/gun/projectile/revolver/mateba(M), slot_belt) M.equip_to_slot_or_del(new /obj/item/clothing/under/soviet(M), slot_w_uniform) var/obj/item/weapon/card/id/W = new(M) W.name = "[M.real_name]'s ID Card" diff --git a/code/modules/admin/verbs/striketeam.dm b/code/modules/admin/verbs/striketeam.dm index 36199c0305d..9f42da94d9f 100644 --- a/code/modules/admin/verbs/striketeam.dm +++ b/code/modules/admin/verbs/striketeam.dm @@ -153,7 +153,7 @@ var/global/sent_strike_team = 0 equip_to_slot_or_del(new /obj/item/weapon/melee/energy/sword(src), slot_l_store) equip_to_slot_or_del(new /obj/item/weapon/grenade/flashbang(src), slot_r_store) equip_to_slot_or_del(new /obj/item/weapon/tank/emergency_oxygen(src), slot_s_store) - equip_to_slot_or_del(new /obj/item/weapon/gun/projectile/mateba(src), slot_belt) + equip_to_slot_or_del(new /obj/item/weapon/gun/projectile/revolver/mateba(src), slot_belt) equip_to_slot_or_del(new /obj/item/weapon/gun/energy/pulse_rifle(src), slot_r_hand) diff --git a/code/modules/mob/living/simple_animal/hostile/russian.dm b/code/modules/mob/living/simple_animal/hostile/russian.dm index b09a6ec548c..b96a615170c 100644 --- a/code/modules/mob/living/simple_animal/hostile/russian.dm +++ b/code/modules/mob/living/simple_animal/hostile/russian.dm @@ -38,7 +38,7 @@ icon_state = "russianranged" icon_living = "russianranged" corpse = /obj/effect/landmark/mobcorpse/russian/ranged - weapon1 = /obj/item/weapon/gun/projectile/mateba + weapon1 = /obj/item/weapon/gun/projectile/revolver/mateba ranged = 1 projectiletype = /obj/item/projectile/bullet projectilesound = 'sound/weapons/Gunshot.ogg' diff --git a/code/modules/projectiles/ammunition.dm b/code/modules/projectiles/ammunition.dm index b4b213972f5..fa17429016a 100644 --- a/code/modules/projectiles/ammunition.dm +++ b/code/modules/projectiles/ammunition.dm @@ -6,73 +6,125 @@ flags = CONDUCT slot_flags = SLOT_BELT throwforce = 1 - w_class = 1.0 + w_class = 1 var/caliber = "" //Which kind of guns it can be loaded into var/projectile_type //The bullet type to create when New() is called - var/obj/item/projectile/BB = null //The loaded bullet - - - New() - ..() - if(ispath(projectile_type)) - BB = new projectile_type(src) - pixel_x = rand(-10.0, 10) - pixel_y = rand(-10.0, 10) - set_dir(pick(cardinal)) + var/obj/item/projectile/BB = null //The loaded bullet - make it so that the projectiles are created only when needed? +/obj/item/ammo_casing/New() + ..() + if(ispath(projectile_type)) + BB = new projectile_type(src) + pixel_x = rand(-10, 10) + pixel_y = rand(-10, 10) + set_dir(pick(cardinal)) /obj/item/ammo_casing/attackby(obj/item/weapon/W as obj, mob/user as mob) if(istype(W, /obj/item/weapon/screwdriver)) - if(BB) - if(initial(BB.name) == "bullet") - var/tmp_label = "" - var/label_text = sanitize(copytext(input(user, "Inscribe some text into \the [initial(BB.name)]","Inscription",tmp_label), 1, MAX_NAME_LEN)) - if(length(label_text) > 20) - user << "\red The inscription can be at most 20 characters long." - else - if(label_text == "") - user << "\blue You scratch the inscription off of [initial(BB)]." - BB.name = initial(BB.name) - else - user << "\blue You inscribe \"[label_text]\" into \the [initial(BB.name)]." - BB.name = "[initial(BB.name)] \"[label_text]\"" - else - user << "\blue You can only inscribe a metal bullet." //because inscribing beanbags is silly - else + if(!BB) user << "\blue There is no bullet in the casing to inscribe anything into." + return + + var/tmp_label = "" + var/label_text = sanitize(copytext(input(user, "Inscribe some text into \the [initial(BB.name)]","Inscription",tmp_label), 1, MAX_NAME_LEN)) + if(length(label_text) > 20) + user << "\red The inscription can be at most 20 characters long." + else if(!label_text) + user << "\blue You scratch the inscription off of [initial(BB)]." + BB.name = initial(BB.name) + else + user << "\blue You inscribe \"[label_text]\" into \the [initial(BB.name)]." + BB.name = "[initial(BB.name)] (\"[label_text]\")" /obj/item/ammo_casing/examine(mob/user) ..() if (!BB) user << "This one is spent." -//Boxes of ammo +//Gun loading types +#define SINGLE_CASING 1 //The gun only accepts ammo_casings. ammo_magazines should never have this as their mag_type. +#define SPEEDLOADER 2 //Transfers casings from the mag to the gun when used. +#define MAGAZINE 4 //The magazine item itself goes inside the gun + +//An item that holds casings and can be used to put them inside guns /obj/item/ammo_magazine - name = "ammo box (.357)" - desc = "A box of ammo" + name = "magazine" + desc = "A magazine for some kind of gun." icon_state = "357" icon = 'icons/obj/ammo.dmi' flags = CONDUCT slot_flags = SLOT_BELT item_state = "syringe_kit" - matter = list("metal" = 50000) - throwforce = 2 - w_class = 2.0 + matter = list("metal" = 500) + throwforce = 5 + w_class = 2 throw_speed = 4 throw_range = 10 + var/list/stored_ammo = list() - var/ammo_type = "/obj/item/ammo_casing" + var/mag_type = SPEEDLOADER //ammo_magazines can only be used with compatible guns + var/caliber = "357" var/max_ammo = 7 + + var/ammo_type = /obj/item/ammo_casing //ammo type that is initially loaded + var/initial_ammo = null + var/multiple_sprites = 0 + var/list/icon_map = list() +/obj/item/ammo_magazine/New() + if(multiple_sprites) + //should probably be cached or something. + icon_map = list(max_ammo = icon_state) + var/list/states = icon_states(icon) + for(var/i = 0, i <= max_ammo, i++) + var/ammo_state = "[icon_state]-[i]" + if(ammo_state in states) + //icon_map += i //so stupid BYOND understands that it's an association + icon_map[i] = ammo_state - New() - for(var/i = 1, i <= max_ammo, i++) + if(isnull(initial_ammo)) + initial_ammo = max_ammo + + if(initial_ammo) + for(var/i in 1 to initial_ammo) stored_ammo += new ammo_type(src) + update_icon() + +/obj/item/ammo_magazine/attackby(obj/item/weapon/W as obj, mob/user as mob) + if(istype(W, /obj/item/ammo_casing)) + var/obj/item/ammo_casing/C = W + if(C.caliber != caliber) + user << "[C] does not fit into [src]." + return + if(stored_ammo.len >= max_ammo) + user << "[src] is full!" + return + user.remove_from_mob(C) + C.loc = src + stored_ammo.Insert(1, C) //add to the head of the list update_icon() - +/obj/item/ammo_magazine/attack_self(mob/user) + if(!stored_ammo.len) + user << "[src] is already empty!" + return + user << "You empty [src]." + for(var/obj/item/ammo_casing/C in stored_ammo) + C.loc = user.loc + stored_ammo.Cut() update_icon() - if(multiple_sprites) - icon_state = "[initial(icon_state)]-[stored_ammo.len]" - desc = "There are [stored_ammo.len] shell\s left!" + +/obj/item/ammo_magazine/update_icon() + if(multiple_sprites) + //find the lowest key greater than or equal to stored_ammo.len + var/new_state = null + for(var/i in icon_map) + if (i >= stored_ammo.len) + new_state = icon_map[i] + break + icon_state = (new_state)? new_state : initial(icon_state) + +/obj/item/ammo_magazine/examine(mob/user) + ..() + user << "There [(stored_ammo.len > 1)? "are" : "is"] [stored_ammo.len] round\s left!" \ No newline at end of file diff --git a/code/modules/projectiles/ammunition/boxes.dm b/code/modules/projectiles/ammunition/boxes.dm index b4ae141cd74..a65a7bc4d13 100644 --- a/code/modules/projectiles/ammunition/boxes.dm +++ b/code/modules/projectiles/ammunition/boxes.dm @@ -2,44 +2,147 @@ name = "ammo box (.357)" desc = "A box of .357 ammo" icon_state = "357" - ammo_type = "/obj/item/ammo_casing/a357" + caliber = "357" + ammo_type = /obj/item/ammo_casing/a357 max_ammo = 7 multiple_sprites = 1 /obj/item/ammo_magazine/c38 name = "speed loader (.38)" icon_state = "38" - ammo_type = "/obj/item/ammo_casing/c38" + caliber = "38" + ammo_type = /obj/item/ammo_casing/c38 max_ammo = 6 multiple_sprites = 1 +/obj/item/ammo_magazine/c38/rubber + name = "speed loader (.38 rubber)" + ammo_type = /obj/item/ammo_casing/c38r /obj/item/ammo_magazine/c45m name = "magazine (.45)" icon_state = "45" - ammo_type = "/obj/item/ammo_casing/c45" + mag_type = MAGAZINE + ammo_type = /obj/item/ammo_casing/c45 + caliber = ".45" max_ammo = 7 multiple_sprites = 1 -/obj/item/ammo_magazine/c45/empty - max_ammo = 0 +/obj/item/ammo_magazine/c45m/empty + initial_ammo = 0 -/obj/item/ammo_magazine/c45r +/obj/item/ammo_magazine/c45m/rubber name = "magazine (.45 rubber)" - icon_state = "45" - ammo_type = "/obj/item/ammo_casing/c45r" - max_ammo = 7 - multiple_sprites = 1 + ammo_type = /obj/item/ammo_casing/c45r -/obj/item/ammo_magazine/c45f +/obj/item/ammo_magazine/c45m/flash name = "magazine (.45 flash)" - icon_state = "45" ammo_type = "/obj/item/ammo_casing/c45f" + +/obj/item/ammo_magazine/mc9mm + name = "magazine (9mm)" + icon_state = "9x19p" + origin_tech = "combat=2" + mag_type = MAGAZINE + caliber = "9mm" + ammo_type = /obj/item/ammo_casing/c9mm + max_ammo = 10 + multiple_sprites = 1 + +/obj/item/ammo_magazine/mc9mm/empty + initial_ammo = 0 + +/obj/item/ammo_magazine/mc9mm/flash + ammo_type = /obj/item/ammo_casing/c9mmf + +/obj/item/ammo_magazine/c9mm + name = "ammunition Box (9mm)" + icon_state = "9mm" + origin_tech = "combat=2" + caliber = "9mm" + ammo_type = /obj/item/ammo_casing/c9mm + max_ammo = 30 + +/obj/item/ammo_magazine/c9mm/empty + initial_ammo = 0 + +/obj/item/ammo_magazine/c45 + name = "ammunition Box (.45)" + icon_state = "9mm" + origin_tech = "combat=2" + caliber = ".45" + ammo_type = /obj/item/ammo_casing/c45 + max_ammo = 30 + +/obj/item/ammo_magazine/c9mm/empty + initial_ammo = 0 + +/obj/item/ammo_magazine/a12mm + name = "magazine (12mm)" + icon_state = "12mm" + origin_tech = "combat=2" + mag_type = MAGAZINE + caliber = "12mm" + ammo_type = "/obj/item/ammo_casing/a12mm" + max_ammo = 20 + multiple_sprites = 1 + +/obj/item/ammo_magazine/a12mm/empty + initial_ammo = 0 + +/obj/item/ammo_magazine/a50 + name = "magazine (.50)" + icon_state = "50ae" + origin_tech = "combat=2" + mag_type = MAGAZINE + caliber = ".50" + ammo_type = /obj/item/ammo_casing/a50 max_ammo = 7 multiple_sprites = 1 -/obj/item/ammo_magazine/c45r/empty - max_ammo = 0 +/obj/item/ammo_magazine/a50/empty + initial_ammo = 0 + +/obj/item/ammo_magazine/a75 + name = "ammo magazine (20mm)" + icon_state = "75" + mag_type = MAGAZINE + caliber = "75" + ammo_type = /obj/item/ammo_casing/a75 + multiple_sprites = 1 + max_ammo = 4 + +/obj/item/ammo_magazine/a75/empty + initial_ammo = 0 + +/obj/item/ammo_magazine/a762 + name = "magazine box (7.62mm)" + icon_state = "a762" + origin_tech = "combat=2" + mag_type = MAGAZINE + caliber = "a762" + ammo_type = /obj/item/ammo_casing/a762 + max_ammo = 50 + multiple_sprites = 1 + +/obj/item/ammo_magazine/a762/empty + initial_ammo = 0 + +/obj/item/ammo_magazine/chameleon + name = "magazine (.45)" + icon_state = "45" + mag_type = MAGAZINE + caliber = ".45" + ammo_type = /obj/item/ammo_casing/chameleon + max_ammo = 7 + multiple_sprites = 1 + matter = list() + +/obj/item/ammo_magazine/chameleon/empty + initial_ammo = 0 + +/* +//unused garbage /obj/item/ammo_magazine/a418 name = "ammo box (.418)" @@ -48,114 +151,10 @@ max_ammo = 7 multiple_sprites = 1 - - /obj/item/ammo_magazine/a666 name = "ammo box (.666)" icon_state = "666" ammo_type = "/obj/item/ammo_casing/a666" max_ammo = 4 multiple_sprites = 1 - - -/obj/item/ammo_magazine/mc9mm - name = "magazine (9mm)" - icon_state = "9x19p" - origin_tech = "combat=2" - ammo_type = "/obj/item/ammo_casing/c9mm" - max_ammo = 10 - multiple_sprites = 1 - -/obj/item/ammo_magazine/mc9mm/empty - max_ammo = 0 - -/obj/item/ammo_magazine/c9mm - name = "Ammunition Box (9mm)" - icon_state = "9mm" - origin_tech = "combat=2" - ammo_type = "/obj/item/ammo_casing/c9mm" - max_ammo = 30 - - - -/obj/item/ammo_magazine/c45 - name = "Ammunition Box (.45)" - icon_state = "9mm" - origin_tech = "combat=2" - ammo_type = "/obj/item/ammo_casing/c45" - max_ammo = 30 - - - -/obj/item/ammo_magazine/a12mm - name = "magazine (12mm)" - icon_state = "12mm" - origin_tech = "combat=2" - ammo_type = "/obj/item/ammo_casing/a12mm" - max_ammo = 20 - multiple_sprites = 1 - - -/obj/item/ammo_magazine/a12mm/empty - name = "magazine (12mm)" - icon_state = "12mm" - ammo_type = "/obj/item/ammo_casing/12mm" - max_ammo = 0 - -/obj/item/ammo_magazine/a50 - name = "magazine (.50)" - icon_state = "50ae" - origin_tech = "combat=2" - ammo_type = "/obj/item/ammo_casing/a50" - max_ammo = 7 - multiple_sprites = 1 - -/obj/item/ammo_magazine/a50/empty - name = "magazine (.50)" - icon_state = "50ae" - ammo_type = "/obj/item/ammo_casing/a50" - max_ammo = 0 - -/obj/item/ammo_magazine/a75 - name = "ammo magazine (.75)" - icon_state = "75" - ammo_type = "/obj/item/ammo_casing/a75" - multiple_sprites = 1 - max_ammo = 8 - -/obj/item/ammo_magazine/a75/empty - name = "ammo magazine (.75)" - icon_state = "75" - ammo_type = "/obj/item/ammo_casing/a75" - max_ammo = 0 - -/obj/item/ammo_magazine/a762 - name = "magazine (a762)" - icon_state = "a762" - origin_tech = "combat=2" - ammo_type = "/obj/item/ammo_casing/a762" - max_ammo = 50 - multiple_sprites = 1 - -/obj/item/ammo_magazine/a762/empty - name = "magazine (a762)" - icon_state = "a762" - ammo_type = "/obj/item/ammo_casing/a762" - max_ammo = 0 - multiple_sprites = 1 - -/obj/item/ammo_magazine/chameleon - name = "magazine (.45)" - icon_state = "45" - ammo_type = "/obj/item/ammo_casing/chameleon" - max_ammo = 7 - multiple_sprites = 1 - matter = list() - -/obj/item/ammo_magazine/chameleon/empty - name = "magazine (.45)" - icon_state = "45" - ammo_type = "/obj/item/ammo_casing/chameleon" - max_ammo = 0 - multiple_sprites = 1 - matter = list() +*/ \ No newline at end of file diff --git a/code/modules/projectiles/ammunition/bullets.dm b/code/modules/projectiles/ammunition/bullets.dm index d0cb2915dc6..54c65fe019f 100644 --- a/code/modules/projectiles/ammunition/bullets.dm +++ b/code/modules/projectiles/ammunition/bullets.dm @@ -16,6 +16,11 @@ /obj/item/ammo_casing/c38 desc = "A .38 bullet casing." caliber = "38" + projectile_type = /obj/item/projectile/bullet/pistol + +/obj/item/ammo_casing/c38r + desc = "A .38 rubber bullet casing." + caliber = "38" projectile_type = /obj/item/projectile/bullet/pistol/rubber /obj/item/ammo_casing/c9mm @@ -23,6 +28,12 @@ caliber = "9mm" projectile_type = /obj/item/projectile/bullet/pistol +/obj/item/ammo_casing/c9mmf + desc = "A 9mm flash shell casing." + caliber = "9mm" + projectile_type = /obj/item/projectile/energy/flash + + /obj/item/ammo_casing/c45 desc = "A .45 bullet casing." caliber = ".45" diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index d7aae8f8f7d..dc9c77a294f 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -78,7 +78,7 @@ /obj/item/weapon/gun/proc/Fire(atom/target as mob|obj|turf|area, mob/living/user as mob|obj, params, reflex = 0)//TODO: go over this //Exclude lasertag guns from the CLUMSY check. if(!user) return - + if(clumsy_check) if(istype(user, /mob/living)) var/mob/living/M = user @@ -122,7 +122,7 @@ "You hear a [istype(in_chamber, /obj/item/projectile/beam) ? "laser blast" : "gunshot"]!") user.next_move = world.time + 4 - + var/x_offset = 0 var/y_offset = 0 if(istype(user, /mob/living/carbon)) @@ -135,21 +135,20 @@ x_offset = rand(-1,1) if(in_chamber) - if(params) in_chamber.set_clickpoint(params) - + if(params) + in_chamber.set_clickpoint(params) + var/fail = in_chamber.launch( - target = target, - user = user, - launcher = src, - target_zone = user.zone_sel.selecting, - x_offset = x_offset, - y_offset = y_offset, - px = p_x, - py = p_y + target = target, + user = user, + launcher = src, + target_zone = user.zone_sel.selecting, + x_offset = x_offset, + y_offset = y_offset ) - + if(fail) return - + if(recoil) spawn() shake_camera(user, recoil + 1, recoil) diff --git a/code/modules/projectiles/guns/projectile.dm b/code/modules/projectiles/guns/projectile.dm index bea28e9c37c..a500af113f0 100644 --- a/code/modules/projectiles/guns/projectile.dm +++ b/code/modules/projectiles/guns/projectile.dm @@ -1,111 +1,160 @@ -#define SPEEDLOADER 0 -#define FROM_BOX 1 -#define MAGAZINE 2 - /obj/item/weapon/gun/projectile - name = "revolver" - desc = "A classic revolver. Uses .357 ammo" + name = "gun" + desc = "A gun that fires bullets." icon_state = "revolver" caliber = "357" origin_tech = "combat=2;materials=2" - w_class = 3.0 + w_class = 3 matter = list("metal" = 1000) recoil = 1 - var/ammo_type = "/obj/item/ammo_casing/a357" + + var/load_method = SINGLE_CASING|SPEEDLOADER //1 = Single shells, 2 = box or quick loader, 3 = magazine + + //For SINGLE_CASING or SPEEDLOADER guns + var/max_shells = 0 + var/ammo_type = null var/list/loaded = list() - var/max_shells = 7 - var/load_method = SPEEDLOADER //0 = Single shells or quick loader, 1 = box, 2 = magazine - var/obj/item/ammo_magazine/empty_mag = null - var/mag_type = null + + //For MAGAZINE guns + var/magazine_type = null + var/obj/item/ammo_magazine/ammo_magazine = null + var/auto_eject = 0 //if the magazine should automatically eject itself when empty. /obj/item/weapon/gun/projectile/New() ..() - for(var/i = 1, i <= max_shells, i++) - loaded += new ammo_type(src) - if(load_method == MAGAZINE) - empty_mag = new mag_type(src) + + if(load_method & (SINGLE_CASING|SPEEDLOADER)) + for(var/i in 1 to max_shells) + loaded += new ammo_type(src) + if(load_method & MAGAZINE) + ammo_magazine = new magazine_type(src) + update_icon() - return - +//This proc is badly named. There is no "chamber." Would be better to call this get_next_projectile() or something. /obj/item/weapon/gun/projectile/load_into_chamber() if(in_chamber) return 1 //{R} - if(!loaded.len) - return 0 - var/obj/item/ammo_casing/AC = loaded[1] //load next casing. - loaded -= AC //Remove casing from loaded list. - if(isnull(AC) || !istype(AC)) - return 0 - AC.loc = get_turf(src) //Eject casing onto ground. - if(AC.BB) - in_chamber = AC.BB //Load projectile into chamber. - AC.BB.loc = src //Set projectile loc to gun. - return 1 + var/obj/item/ammo_casing/C = null + if(loaded.len) + C = loaded[1] //load next casing. + loaded -= C + else if(ammo_magazine && ammo_magazine.stored_ammo.len) + C = ammo_magazine.stored_ammo[1] + ammo_magazine.stored_ammo -= C + + if(istype(C)) + C.loc = get_turf(src) //Eject casing onto ground. + if(C.BB) + in_chamber = C.BB + C.BB.loc = src //Set projectile loc to gun. + return 1 + return 0 +//Attempts to load A into src, depending on the type of thing being loaded and the load_method +/obj/item/weapon/gun/projectile/proc/load_ammo(var/obj/item/A, mob/user) + if(istype(A, /obj/item/ammo_magazine)) + var/obj/item/ammo_magazine/AM = A + if(!(load_method & AM.mag_type) || caliber != AM.caliber) + return //incompatible + + switch(AM.mag_type) + if(MAGAZINE) + if(ammo_magazine) + return //already a magazine here + user.remove_from_mob(AM) + AM.loc = src + ammo_magazine = AM + user.visible_message("[user] inserts [AM] into [src].", "You insert [AM] into [src]!") + if(SPEEDLOADER) + var/count = 0 + for(var/obj/item/ammo_casing/C in AM.stored_ammo) + if(loaded.len >= max_shells) + break + if(C.caliber == caliber) + C.loc = src + loaded += C + AM.stored_ammo -= C //should probably go inside an ammo_magazine proc, but I guess less proc calls this way... + count++ + if(count) + user.visible_message("[user] reloads [src].", "You load [count] round\s into [src]!") + AM.update_icon() + update_icon() + return + + else if(istype(A, /obj/item/ammo_casing)) + var/obj/item/ammo_casing/C = A + if(!(load_method & SINGLE_CASING) || caliber != C.caliber || loaded.len >= max_shells) + return //incompatible or full + + user.remove_from_mob(C) + C.loc = src + loaded += C + user.visible_message("[user] inserts \a [C] into [src].", "You insert \a [C] into [src]!") + update_icon() + return + +//attempts to unload src +/obj/item/weapon/gun/projectile/proc/unload_ammo(mob/user) + if(ammo_magazine) + user.put_in_hands(ammo_magazine) + user.visible_message("[user] removes [ammo_magazine] from [src].", "You remove [ammo_magazine] from [src]!") + ammo_magazine.update_icon() + ammo_magazine = null + update_icon() + + else if(loaded.len) + //presumably, if it can be speed-loaded, it can be speed-unloaded. + if(load_method & SPEEDLOADER) + var/count = 0 + var/turf/T = get_turf(user) + if(T) + for(var/obj/item/ammo_casing/C in loaded) + C.loc = T + count++ + loaded.Cut() + if(count) + user.visible_message("[user] unloads [src].", "You unload [count] round\s from [src]!") + else + var/obj/item/ammo_casing/C = loaded[loaded.len] + loaded.len-- + user.put_in_hands(C) + user.visible_message("[user] removes \a [C] from [src].", "You remove \a [C] from [src]!") + update_icon() + + else + user << "There's nothing loaded in [src]!" /obj/item/weapon/gun/projectile/attackby(var/obj/item/A as obj, mob/user as mob) - - var/num_loaded = 0 - if(istype(A, /obj/item/ammo_magazine)) - if((load_method == MAGAZINE) && loaded.len) return - var/obj/item/ammo_magazine/AM = A - if(AM.stored_ammo.len <= 0) - user << "The magazine is empty!" - return - for(var/obj/item/ammo_casing/AC in AM.stored_ammo) - if(loaded.len >= max_shells) - break - if(AC.caliber == caliber && loaded.len < max_shells) - AC.loc = src - AM.stored_ammo -= AC - loaded += AC - num_loaded++ - if(load_method == MAGAZINE) - user.remove_from_mob(AM) - empty_mag = AM - empty_mag.loc = src - if(istype(A, /obj/item/ammo_casing) && load_method == SPEEDLOADER) - var/obj/item/ammo_casing/AC = A - if(AC.caliber == caliber && loaded.len < max_shells) - user.drop_item() - AC.loc = src - loaded += AC - num_loaded++ - if(num_loaded) - user << "\blue You load [num_loaded] shell\s into the gun!" - A.update_icon() - update_icon() - return + load_ammo(A, user) /obj/item/weapon/gun/projectile/attack_self(mob/user as mob) - if (target) + if (target) //TODO replace untargeting with a hotkey return ..() - if (loaded.len) - if (load_method == SPEEDLOADER) - var/obj/item/ammo_casing/AC = loaded[1] - loaded -= AC - AC.loc = get_turf(src) //Eject casing onto ground. - user << "\blue You unload shell from \the [src]!" - if (load_method == MAGAZINE) - var/obj/item/ammo_magazine/AM = empty_mag - for (var/obj/item/ammo_casing/AC in loaded) - AM.stored_ammo += AC - loaded -= AC - AM.loc = get_turf(src) - empty_mag = null - update_icon() - AM.update_icon() - user << "\blue You unload magazine from \the [src]!" - else - user << "\red Nothing loaded in \the [src]!" + unload_ammo(user) +/obj/item/weapon/gun/projectile/afterattack(atom/A, mob/living/user) + ..() + if(auto_eject && !ammo_magazine.stored_ammo.len) + eject_magazine(user) +//called when the magazine auto-ejects +/obj/item/weapon/gun/projectile/proc/eject_magazine(mob/user) + if(ammo_magazine) + ammo_magazine.loc = get_turf(src.loc) + user.visible_message( + "[ammo_magazine] falls out and clatters on the floor!", + "[ammo_magazine] falls out and clatters on the floor!" + ) + ammo_magazine = null + update_icon() /obj/item/weapon/gun/projectile/examine(mob/user) ..(user) + if(ammo_magazine) + user << "It has \a [ammo_magazine] loaded." user << "Has [getAmmo()] round\s remaining." // if(in_chamber && !loaded.len) // user << "However, it has a chambered round." @@ -115,7 +164,8 @@ /obj/item/weapon/gun/projectile/proc/getAmmo() var/bullets = 0 - for(var/obj/item/ammo_casing/AC in loaded) - if(istype(AC)) - bullets += 1 + if(loaded) + bullets += loaded.len + if(ammo_magazine.stored_ammo) + bullets += ammo_magazine.stored_ammo.len return bullets diff --git a/code/modules/projectiles/guns/projectile/automatic.dm b/code/modules/projectiles/guns/projectile/automatic.dm index 0e5f0d68cd3..98049fb8a59 100644 --- a/code/modules/projectiles/guns/projectile/automatic.dm +++ b/code/modules/projectiles/guns/projectile/automatic.dm @@ -2,11 +2,12 @@ name = "submachine gun" desc = "A lightweight, fast firing gun. Uses 9mm rounds." icon_state = "saber" //ugly - w_class = 3.0 + w_class = 3 + load_method = SPEEDLOADER //yup. until someone sprites a magazine for it. max_shells = 22 caliber = "9mm" origin_tech = "combat=4;materials=2" - ammo_type = "/obj/item/ammo_casing/c9mm" + ammo_type = /obj/item/ammo_casing/c9mm automatic = 1 fire_delay = 0 @@ -14,19 +15,16 @@ isHandgun() return 0 -/obj/item/weapon/gun/projectile/automatic/test - name = "test gun" - ammo_type = "/obj/item/ammo_casing/a145" - /obj/item/weapon/gun/projectile/automatic/mini_uzi name = "\improper Uzi" desc = "A lightweight, fast firing gun, for when you want someone dead. Uses .45 rounds." icon_state = "mini-uzi" - w_class = 3.0 - max_shells = 16 + w_class = 3 + load_method = SPEEDLOADER //yup. until someone sprites a magazine for it. + max_shells = 15 caliber = ".45" origin_tech = "combat=5;materials=2;syndicate=8" - ammo_type = "/obj/item/ammo_casing/c45" + ammo_type = /obj/item/ammo_casing/c45 isHandgun() return 1 @@ -37,32 +35,26 @@ desc = "A lightweight, fast firing gun, for when you REALLY need someone dead. Uses 12mm rounds. Has a 'Scarborough Arms - Per falcis, per pravitas' buttstamp" icon_state = "c20r" item_state = "c20r" - w_class = 3.0 - max_shells = 20 + w_class = 3 caliber = "12mm" origin_tech = "combat=5;materials=2;syndicate=8" - ammo_type = "/obj/item/ammo_casing/a12mm" fire_sound = 'sound/weapons/Gunshot_smg.ogg' load_method = MAGAZINE - mag_type = /obj/item/ammo_magazine/a12mm/empty + magazine_type = /obj/item/ammo_magazine/a12mm + auto_eject = 1 - afterattack(atom/target as mob|obj|turf|area, mob/living/user as mob|obj, flag) - ..() - if(!loaded.len && empty_mag) - empty_mag.loc = get_turf(src.loc) - empty_mag = null - playsound(user, 'sound/weapons/smg_empty_alarm.ogg', 40, 1) - update_icon() - return +/obj/item/weapon/gun/projectile/automatic/c20r/eject_magazine(mob/user) + ..() + playsound(user, 'sound/weapons/smg_empty_alarm.ogg', 40, 1) +/obj/item/weapon/gun/projectile/automatic/c20r/update_icon() + ..() + if(ammo_magazine) + icon_state = "c20r-[round(loaded.len,4)]" + else + icon_state = "c20r" + return - update_icon() - ..() - if(empty_mag) - icon_state = "c20r-[round(loaded.len,4)]" - else - icon_state = "c20r" - return /obj/item/weapon/gun/projectile/automatic/l6_saw name = "\improper L6 SAW" @@ -77,19 +69,16 @@ ammo_type = "/obj/item/ammo_casing/a762" fire_sound = 'sound/weapons/Gunshot_smg.ogg' load_method = MAGAZINE + magazine_type = /obj/item/ammo_magazine/a762 var/cover_open = 0 - var/mag_inserted = 1 - /obj/item/weapon/gun/projectile/automatic/l6_saw/attack_self(mob/user as mob) cover_open = !cover_open user << "You [cover_open ? "open" : "close"] [src]'s cover." update_icon() - /obj/item/weapon/gun/projectile/automatic/l6_saw/update_icon() - icon_state = "l6[cover_open ? "open" : "closed"][mag_inserted ? round(loaded.len, 25) : "-empty"]" - + icon_state = "l6[cover_open ? "open" : "closed"][ammo_magazine ? round(loaded.len, 25) : "-empty"]" /obj/item/weapon/gun/projectile/automatic/l6_saw/afterattack(atom/target as mob|obj|turf, mob/living/user as mob|obj, flag, params) //what I tried to do here is just add a check to see if the cover is open or not and add an icon_state change because I can't figure out how c-20rs do it with overlays if(cover_open) @@ -98,46 +87,14 @@ ..() update_icon() - /obj/item/weapon/gun/projectile/automatic/l6_saw/attack_hand(mob/user as mob) if(loc != user) - ..() - return //let them pick it up - if(!cover_open || (cover_open && !mag_inserted)) - ..() - else if(cover_open && mag_inserted) - //drop the mag - empty_mag = new /obj/item/ammo_magazine/a762(src) - empty_mag.stored_ammo = loaded - empty_mag.icon_state = "a762-[round(loaded.len, 10)]" - empty_mag.desc = "There are [loaded.len] shells left!" - empty_mag.loc = get_turf(src.loc) - user.put_in_hands(empty_mag) - empty_mag = null - mag_inserted = 0 - loaded = list() - update_icon() - user << "You remove the magazine from [src]." - + ..() //let them pick it up + else if(cover_open) + unload_ammo(user) /obj/item/weapon/gun/projectile/automatic/l6_saw/attackby(var/obj/item/A as obj, mob/user as mob) - if(!cover_open) + if(istype(A,/obj/item/ammo_magazine) && !cover_open) user << "[src]'s cover is closed! You can't insert a new mag!" return - else if(cover_open && mag_inserted) - user << "[src] already has a magazine inserted!" - return - else if(cover_open && !mag_inserted) - mag_inserted = 1 - user << "You insert the magazine!" - update_icon() - ..() - - -/* The thing I found with guns in ss13 is that they don't seem to simulate the rounds in the magazine in the gun. - Afaik, since projectile.dm features a revolver, this would make sense since the magazine is part of the gun. - However, it looks like subsequent guns that use removable magazines don't take that into account and just get - around simulating a removable magazine by adding the casings into the loaded list and spawning an empty magazine - when the gun is out of rounds. Which means you can't eject magazines with rounds in them. The below is a very - rough and poor attempt at making that happen. -Ausops */ - \ No newline at end of file + ..() \ No newline at end of file diff --git a/code/modules/projectiles/guns/projectile/pistol.dm b/code/modules/projectiles/guns/projectile/pistol.dm index f12420f7dce..6dd1cfbe9b2 100644 --- a/code/modules/projectiles/guns/projectile/pistol.dm +++ b/code/modules/projectiles/guns/projectile/pistol.dm @@ -2,42 +2,32 @@ name = "silenced pistol" desc = "A small, quiet, easily concealable gun. Uses .45 rounds." icon_state = "silenced_pistol" - w_class = 3.0 - max_shells = 12 + w_class = 3 caliber = ".45" silenced = 1 origin_tech = "combat=2;materials=2;syndicate=8" - ammo_type = "/obj/item/ammo_casing/c45" - - + load_method = MAGAZINE + magazine_type = /obj/item/ammo_magazine/c45m /obj/item/weapon/gun/projectile/deagle name = "desert eagle" desc = "A robust handgun that uses .50 AE ammo" icon_state = "deagle" force = 14.0 - max_shells = 7 caliber = ".50" - ammo_type ="/obj/item/ammo_casing/a50" load_method = MAGAZINE - mag_type = /obj/item/ammo_magazine/a50/empty + magazine_type = /obj/item/ammo_magazine/a50 + auto_eject = 1 - afterattack(atom/target as mob|obj|turf|area, mob/living/user as mob|obj, flag) - ..() - if(!loaded.len && empty_mag) - empty_mag.loc = get_turf(src.loc) - empty_mag = null - playsound(user, 'sound/weapons/smg_empty_alarm.ogg', 40, 1) - update_icon() - return +/obj/item/weapon/gun/projectile/deagle/eject_magazine(mob/user) + ..() + playsound(user, 'sound/weapons/smg_empty_alarm.ogg', 40, 1) /obj/item/weapon/gun/projectile/deagle/gold desc = "A gold plated gun folded over a million times by superior martian gunsmiths. Uses .50 AE ammo." icon_state = "deagleg" item_state = "deagleg" - - /obj/item/weapon/gun/projectile/deagle/camo desc = "A Deagle brand Deagle for operators operating operationally. Uses .50 AE ammo." icon_state = "deaglecamo" @@ -55,44 +45,34 @@ origin_tech = "combat=3" ammo_type = "/obj/item/ammo_casing/a75" load_method = MAGAZINE - mag_type = /obj/item/ammo_magazine/a75/empty + magazine_type = /obj/item/ammo_magazine/a75 + auto_eject = 1 - afterattack(atom/target as mob|obj|turf|area, mob/living/user as mob|obj, flag) - ..() - if(!loaded.len && empty_mag) - empty_mag.loc = get_turf(src.loc) - empty_mag = null - playsound(user, 'sound/weapons/smg_empty_alarm.ogg', 40, 1) - update_icon() - return +/obj/item/weapon/gun/projectile/gyropistol/eject_magazine(mob/user) + ..() + playsound(user, 'sound/weapons/smg_empty_alarm.ogg', 40, 1) - update_icon() - ..() - if(empty_mag) - icon_state = "gyropistolloaded" - else - icon_state = "gyropistol" - return +/obj/item/weapon/gun/projectile/gyropistol/update_icon() + ..() + if(ammo_magazine) + icon_state = "gyropistolloaded" + else + icon_state = "gyropistol" /obj/item/weapon/gun/projectile/pistol name = "\improper Stechtkin pistol" desc = "A small, easily concealable gun. Uses 9mm rounds." icon_state = "pistol" w_class = 2 - max_shells = 10 caliber = "9mm" silenced = 0 origin_tech = "combat=2;materials=2;syndicate=2" - ammo_type = "/obj/item/ammo_casing/c9mm" load_method = MAGAZINE - mag_type = /obj/item/ammo_magazine/mc9mm/empty + magazine_type = /obj/item/ammo_magazine/mc9mm -/obj/item/weapon/gun/projectile/pistol/afterattack(atom/target as mob|obj|turf|area, mob/living/user as mob|obj, flag) - ..() - if(!loaded.len && empty_mag) - empty_mag.loc = get_turf(src.loc) - empty_mag = null - return +/obj/item/weapon/gun/projectile/pistol/flash + desc = "A small, easily concealable gun. Uses 9mm illumination rounds." + magazine_type = /obj/item/ammo_magazine/mc9mm/flash /obj/item/weapon/gun/projectile/pistol/attack_hand(mob/user as mob) if(loc == user) @@ -108,7 +88,6 @@ return ..() - /obj/item/weapon/gun/projectile/pistol/attackby(obj/item/I as obj, mob/user as mob) if(istype(I, /obj/item/weapon/silencer)) if(user.l_hand != src && user.r_hand != src) //if we're not in his hands diff --git a/code/modules/projectiles/guns/projectile/revolver.dm b/code/modules/projectiles/guns/projectile/revolver.dm index 226e6467aae..dc2870892b6 100644 --- a/code/modules/projectiles/guns/projectile/revolver.dm +++ b/code/modules/projectiles/guns/projectile/revolver.dm @@ -1,3 +1,13 @@ +/obj/item/weapon/gun/projectile/revolver + name = "revolver" + desc = "A classic revolver. Uses .357 ammo" + icon_state = "revolver" + caliber = "357" + origin_tech = "combat=2;materials=2" + + max_shells = 7 + ammo_type = /obj/item/ammo_casing/a357 + /obj/item/weapon/gun/projectile/detective name = "revolver" desc = "A cheap Martian knock-off of a Smith & Wesson Model 10. Uses .38-Special rounds." @@ -5,7 +15,7 @@ max_shells = 6 caliber = "38" origin_tech = "combat=2;materials=2" - ammo_type = "/obj/item/ammo_casing/c38" + ammo_type = /obj/item/ammo_casing/c38 special_check(var/mob/living/carbon/human/M) if(caliber == initial(caliber)) @@ -73,37 +83,27 @@ name = "\improper Colt M1911" desc = "A cheap Martian knock-off of a Colt M1911. Uses less-than-lethal .45 rounds." icon_state = "colt" - max_shells = 7 caliber = ".45" - ammo_type = "/obj/item/ammo_casing/c45r" load_method = MAGAZINE - mag_type = /obj/item/ammo_magazine/c45r/empty + magazine_type = /obj/item/ammo_magazine/c45m/rubber /obj/item/weapon/gun/projectile/detective/semiauto/flash - ammo_type = "/obj/item/ammo_casing/c45f" + magazine_type = /obj/item/ammo_magazine/c45m/flash /obj/item/weapon/gun/projectile/detective/semiauto/colt desc = "A cheap Martian knock-off of a Colt M1911." - ammo_type = "/obj/item/ammo_casing/c45" + magazine_type = /obj/item/ammo_magazine/c45m -/obj/item/weapon/gun/projectile/detective/semiauto/afterattack(atom/target as mob|obj|turf|area, mob/living/user as mob|obj, flag) - ..() - if(!loaded.len && empty_mag) - empty_mag.loc = get_turf(src.loc) - empty_mag = null - user << "The Magazine falls out and clatters on the floor!" - return - - -/obj/item/weapon/gun/projectile/mateba +/obj/item/weapon/gun/projectile/revolver/mateba name = "mateba" desc = "When you absolutely, positively need a 10mm hole in the other guy. Uses .357 ammo." //>10mm hole >.357 icon_state = "mateba" origin_tech = "combat=2;materials=2" + // A gun to play Russian Roulette! // You can spin the chamber to randomize the position of the bullet. - +/* /obj/item/weapon/gun/projectile/russian name = "\improper Russian revolver" desc = "A Russian made revolver. Uses .357 ammo. It has a single slot in it's chamber for a bullet." @@ -184,3 +184,4 @@ user.apply_damage(300, BRUTE, affecting, sharp=1) // You are dead, dead, dead. return ..() +*/ \ No newline at end of file diff --git a/code/modules/projectiles/guns/projectile/shotgun.dm b/code/modules/projectiles/guns/projectile/shotgun.dm index e96c7637e3c..c23acfa1291 100644 --- a/code/modules/projectiles/guns/projectile/shotgun.dm +++ b/code/modules/projectiles/guns/projectile/shotgun.dm @@ -10,127 +10,89 @@ slot_flags = SLOT_BACK caliber = "shotgun" origin_tech = "combat=4;materials=2" - ammo_type = "/obj/item/ammo_casing/shotgun/pellet" + load_method = SINGLE_CASING + ammo_type = /obj/item/ammo_casing/shotgun/pellet var/recentpump = 0 // to prevent spammage var/pumped = 0 var/obj/item/ammo_casing/current_shell = null - isHandgun() - return 0 +/obj/item/weapon/gun/projectile/shotgun/pump/isHandgun() + return 0 - load_into_chamber() - if(in_chamber) - return 1 - return 0 - - - attack_self(mob/living/user as mob) - if(recentpump) return - pump(user) - recentpump = 1 - spawn(10) - recentpump = 0 - return - - - proc/pump(mob/M as mob) - playsound(M, 'sound/weapons/shotgunpump.ogg', 60, 1) - pumped = 0 - if(current_shell)//We have a shell in the chamber - current_shell.loc = get_turf(src)//Eject casing - current_shell = null - if(in_chamber) - in_chamber = null - if(!loaded.len) return 0 - var/obj/item/ammo_casing/AC = loaded[1] //load next casing. - loaded -= AC //Remove casing from loaded list. - current_shell = AC - if(AC.BB) - in_chamber = AC.BB //Load projectile into chamber. - update_icon() //I.E. fix the desc +/obj/item/weapon/gun/projectile/shotgun/pump/load_into_chamber() + if(in_chamber) return 1 + return 0 + +/obj/item/weapon/gun/projectile/shotgun/pump/attack_self(mob/living/user as mob) + if(world.time >= recentpump + 10) + pump(user) + recentpump = world.time + +/obj/item/weapon/gun/projectile/shotgun/pump/getAmmo() + . = ..() + if(current_shell) .++ + +/obj/item/weapon/gun/projectile/shotgun/pump/proc/pump(mob/M as mob) + playsound(M, 'sound/weapons/shotgunpump.ogg', 60, 1) + pumped = 0 + if(current_shell)//We have a shell in the chamber + current_shell.loc = get_turf(src)//Eject casing + current_shell = null + if(in_chamber) + in_chamber = null + if(!loaded.len) return 0 + var/obj/item/ammo_casing/AC = loaded[1] //load next casing. + loaded -= AC //Remove casing from loaded list. + current_shell = AC + if(AC.BB) + in_chamber = AC.BB //Load projectile into chamber. + update_icon() //I.E. fix the desc + return 1 /obj/item/weapon/gun/projectile/shotgun/pump/combat name = "combat shotgun" icon_state = "cshotgun" - max_shells = 8 origin_tech = "combat=5;materials=2" - ammo_type = "/obj/item/ammo_casing/shotgun" + max_shells = 8 + ammo_type = /obj/item/ammo_casing/shotgun + -//this is largely hacky and bad :( -Pete /obj/item/weapon/gun/projectile/shotgun/doublebarrel name = "double-barreled shotgun" desc = "A true classic." icon_state = "dshotgun" item_state = "shotgun" + //SPEEDLOADER because rapid unloading. + //In principle someone could make a speedloader for it, so it makes sense. + load_method = SINGLE_CASING|SPEEDLOADER max_shells = 2 - w_class = 4.0 + w_class = 4 force = 10 flags = CONDUCT slot_flags = SLOT_BACK caliber = "shotgun" origin_tech = "combat=3;materials=1" - ammo_type = "/obj/item/ammo_casing/shotgun/beanbag" + ammo_type = /obj/item/ammo_casing/shotgun/beanbag - New() - for(var/i = 1, i <= max_shells, i++) - loaded += new ammo_type(src) - - update_icon() - return - - load_into_chamber() -// if(in_chamber) -// return 1 {R} - if(!loaded.len) - return 0 - - var/obj/item/ammo_casing/AC = loaded[1] //load next casing. - loaded -= AC //Remove casing from loaded list. - AC.desc += " This one is spent." - - if(AC.BB) - in_chamber = AC.BB //Load projectile into chamber. - return 1 - return 0 - - attack_self(mob/living/user as mob) - if(!(locate(/obj/item/ammo_casing/shotgun) in src) && !loaded.len) - user << "\The [src] is empty." - return - - for(var/obj/item/ammo_casing/shotgun/shell in src) //This feels like a hack. //don't code at 3:30am kids!! - if(shell in loaded) - loaded -= shell - shell.loc = get_turf(src.loc) - - user << "You break \the [src]." - update_icon() - - attackby(var/obj/item/A as obj, mob/user as mob) - if(istype(A, /obj/item/ammo_casing) && !load_method) - var/obj/item/ammo_casing/AC = A - if(AC.caliber == caliber && (loaded.len < max_shells) && (contents.len < max_shells)) //forgive me father, for i have sinned - user.drop_item() - AC.loc = src - loaded += AC - user << "You load a shell into \the [src]!" - A.update_icon() - update_icon() - if(istype(A, /obj/item/weapon/circular_saw) || istype(A, /obj/item/weapon/melee/energy) || istype(A, /obj/item/weapon/pickaxe/plasmacutter)) - user << "You begin to shorten the barrel of \the [src]." - if(loaded.len) - afterattack(user, user) //will this work? - afterattack(user, user) //it will. we call it twice, for twice the FUN +//this is largely hacky and bad :( -Pete +/obj/item/weapon/gun/projectile/shotgun/doublebarrel/attackby(var/obj/item/A as obj, mob/user as mob) + if(istype(A, /obj/item/weapon/circular_saw) || istype(A, /obj/item/weapon/melee/energy) || istype(A, /obj/item/weapon/pickaxe/plasmacutter)) + user << "You begin to shorten the barrel of \the [src]." + if(loaded.len) + for(var/i in 1 to max_shells) + afterattack(user, user) //will this work? //it will. we call it twice, for twice the FUN playsound(user, fire_sound, 50, 1) - user.visible_message("The shotgun goes off!", "The shotgun goes off in your face!") - return - if(do_after(user, 30)) //SHIT IS STEALTHY EYYYYY - icon_state = "sawnshotgun" - w_class = 3.0 - item_state = "gun" - slot_flags &= ~SLOT_BACK //you can't sling it on your back - slot_flags |= SLOT_BELT //but you can wear it on your belt (poorly concealed under a trenchcoat, ideally) - name = "sawn-off shotgun" - desc = "Omar's coming!" - user << "You shorten the barrel of \the [src]!" + user.visible_message("The shotgun goes off!", "The shotgun goes off in your face!") + return + if(do_after(user, 30)) //SHIT IS STEALTHY EYYYYY + icon_state = "sawnshotgun" + w_class = 3 + item_state = "gun" + slot_flags &= ~SLOT_BACK //you can't sling it on your back + slot_flags |= SLOT_BELT //but you can wear it on your belt (poorly concealed under a trenchcoat, ideally) + name = "sawn-off shotgun" + desc = "Omar's coming!" + user << "You shorten the barrel of \the [src]!" + else + ..() diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index a380974fbed..525d1ccb774 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -103,8 +103,8 @@ user.bullet_act(src, target_zone) del(src) return 0 - if(targloc == curloc) //Shooting the ground - targloc.bullet_act(src, target_zone) + if(targloc == curloc) //Shooting something in the same turf + target.bullet_act(src, target_zone) del(src) return 0 @@ -236,14 +236,20 @@ /obj/item/projectile/process() if(kill_count < 1) del(src) - return - step_towards(src, current) - sleep(1) - if(!bumped && !isturf(original)) - if(loc == get_turf(original)) - if(!(original in permutated)) - Bump(original) - sleep(1) + kill_count-- + spawn while(src) + if((!( current ) || loc == current)) + current = locate(min(max(x + xo, 1), world.maxx), min(max(y + yo, 1), world.maxy), z) + if((x == 1 || x == world.maxx || y == 1 || y == world.maxy)) + del(src) + return + step_towards(src, current) + sleep(1) + if(!bumped && !isturf(original)) + if(loc == get_turf(original)) + if(!(original in permutated)) + Bump(original) + sleep(1) //"Tracing" projectile /obj/item/projectile/test //Used to see if you can hit them. diff --git a/code/modules/research/xenoarchaeology/finds/finds.dm b/code/modules/research/xenoarchaeology/finds/finds.dm index 3c2a3dd8e24..b758192bee0 100644 --- a/code/modules/research/xenoarchaeology/finds/finds.dm +++ b/code/modules/research/xenoarchaeology/finds/finds.dm @@ -367,7 +367,7 @@ item_type = "gun" if(27) //revolver - var/obj/item/weapon/gun/projectile/new_gun = new /obj/item/weapon/gun/projectile(src.loc) + var/obj/item/weapon/gun/projectile/new_gun = new /obj/item/weapon/gun/projectile/revolver(src.loc) new_item = new_gun new_item.icon_state = "gun[rand(1,4)]" new_item.icon = 'icons/obj/xenoarchaeology.dmi' @@ -383,7 +383,7 @@ if(num_bullets < new_gun.loaded.len) new_gun.loaded.Cut() for(var/i = 1, i <= num_bullets, i++) - var/A = text2path(new_gun.ammo_type) + var/A = new_gun.ammo_type new_gun.loaded += new A(new_gun) else for(var/obj/item/I in new_gun) From 5ddbbc03712b8cb54763578d053f1992eaf2e5f1 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Mon, 9 Feb 2015 19:59:04 -0500 Subject: [PATCH 056/143] Fixes ammo_magazine icon states being handled incorrectly. --- code/modules/projectiles/ammunition.dm | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/code/modules/projectiles/ammunition.dm b/code/modules/projectiles/ammunition.dm index fa17429016a..47214ab9378 100644 --- a/code/modules/projectiles/ammunition.dm +++ b/code/modules/projectiles/ammunition.dm @@ -70,18 +70,19 @@ var/initial_ammo = null var/multiple_sprites = 0 - var/list/icon_map = list() + //because BYOND doesn't support numbers as keys in associative lists + var/list/icon_keys = list() //keys + var/list/ammo_states = list() //values /obj/item/ammo_magazine/New() if(multiple_sprites) //should probably be cached or something. - icon_map = list(max_ammo = icon_state) var/list/states = icon_states(icon) for(var/i = 0, i <= max_ammo, i++) var/ammo_state = "[icon_state]-[i]" if(ammo_state in states) - //icon_map += i //so stupid BYOND understands that it's an association - icon_map[i] = ammo_state + icon_keys += i + ammo_states += ammo_state if(isnull(initial_ammo)) initial_ammo = max_ammo @@ -119,9 +120,10 @@ if(multiple_sprites) //find the lowest key greater than or equal to stored_ammo.len var/new_state = null - for(var/i in icon_map) - if (i >= stored_ammo.len) - new_state = icon_map[i] + for(var/idx in 1 to icon_keys.len) + var/ammo_count = icon_keys[idx] + if (ammo_count >= stored_ammo.len) + new_state = ammo_states[idx] break icon_state = (new_state)? new_state : initial(icon_state) From e096bc97706e8792d0466adf68b982a97a820feb Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Tue, 10 Feb 2015 10:16:47 +0100 Subject: [PATCH 057/143] Map Fixes and Additions Removes a number of random supply and scrubber pipes. Reconnects disconnected scrubber sections in medbay. Fixes APC issues in the bar/library maintenance area. Installs chinkey's new tinted windows in the HoP's office, mental health office, and the three patient cells, using both the id and id-less methods according to need. --- maps/exodus-1.dmm | 189 +++++++++++++++++++++++----------------------- 1 file changed, 96 insertions(+), 93 deletions(-) diff --git a/maps/exodus-1.dmm b/maps/exodus-1.dmm index 73cb64ef9eb..1f3a01e60f4 100644 --- a/maps/exodus-1.dmm +++ b/maps/exodus-1.dmm @@ -1367,7 +1367,7 @@ "aAo" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/item/device/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_x = -2; pixel_y = -28},/turf/simulated/floor{dir = 10; icon_state = "neutral"},/area/crew_quarters/fitness) "aAp" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/crew_quarters/fitness) "aAq" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/crew_quarters/fitness) -"aAr" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/library) +"aAr" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/crew_quarters/fitness) "aAs" = (/obj/item/device/radio/intercom{pixel_x = 28},/obj/machinery/libraryscanner,/turf/simulated/floor/wood,/area/library) "aAt" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/maintenance/library) "aAu" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard) @@ -1469,7 +1469,7 @@ "aCm" = (/turf/simulated/wall/r_wall,/area/maintenance/substation/civilian_east) "aCn" = (/obj/effect/decal/cleanable/dirt,/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/maintenance/bar) "aCo" = (/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/power/sensor{name = "Powernet Sensor - Civilian East Subgrid"; name_tag = "Civilian East Subgrid"},/turf/simulated/floor/plating,/area/maintenance/substation/civilian_east) -"aCp" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/camera{c_tag = "Dormitory South"; c_tag_order = 999; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor{icon_state = "neutral"; dir = 8},/area/crew_quarters/sleep) +"aCp" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "neutral"; dir = 4},/area/crew_quarters/sleep) "aCq" = (/obj/machinery/shower{dir = 4; icon_state = "shower"; pixel_x = 5; pixel_y = 0},/obj/structure/curtain/open/shower,/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) "aCr" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) "aCs" = (/obj/machinery/shower{dir = 8; icon_state = "shower"; pixel_x = -5; pixel_y = 0},/obj/structure/curtain/open/shower,/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) @@ -1526,7 +1526,7 @@ "aDr" = (/obj/structure/closet/lasertag/blue,/turf/simulated/floor{icon_state = "neutral"; dir = 4},/area/crew_quarters/fitness) "aDs" = (/turf/simulated/wall,/area/maintenance/bar) "aDt" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "neutralcorner"},/area/crew_quarters/fitness) -"aDu" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/crew_quarters/fitness) +"aDu" = (/obj/machinery/camera{c_tag = "Dormitory South"; c_tag_order = 999; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor{icon_state = "neutral"; dir = 8},/area/crew_quarters/sleep) "aDv" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor,/area/crew_quarters/fitness) "aDw" = (/obj/structure/cable/green,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/turf/simulated/floor/plating,/area/maintenance/substation/civilian_east) "aDx" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/substation/civilian_east) @@ -1605,8 +1605,8 @@ "aES" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/airlock/maintenance{name = "Bar Maintenance"; req_access_txt = "25"},/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/crew_quarters/bar) "aET" = (/obj/structure/disposalpipe/sortjunction{dir = 2; icon_state = "pipe-j1s"; sortType = "Bar"; name = "Bar"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/bar) "aEU" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/maintenance/substation/civilian_east) -"aEV" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "neutral"; dir = 8},/area/crew_quarters/sleep) -"aEW" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor{icon_state = "neutral"; dir = 4},/area/crew_quarters/sleep) +"aEV" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/maintenance/library) +"aEW" = (/turf/simulated/floor/plating,/area/maintenance/library) "aEX" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard) "aEY" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard) "aEZ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/maintenance/arrivals) @@ -1634,8 +1634,8 @@ "aFv" = (/obj/structure/closet/wardrobe/red,/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/checkpoint2) "aFw" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating{dir = 1; icon_state = "warnplate"; nitrogen = 0.01; oxygen = 0.01},/area/maintenance/arrivals) "aFx" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/maintenance/arrivals) -"aFy" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/maintenance/library) -"aFz" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/plating,/area/maintenance/library) +"aFy" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{icon_state = "neutral"; dir = 4},/area/crew_quarters/sleep) +"aFz" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor{icon_state = "neutral"; dir = 8},/area/crew_quarters/sleep) "aFA" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "red"},/area/security/checkpoint2) "aFB" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/maintenance/arrivals) "aFC" = (/turf/simulated/wall,/area/maintenance/substation/civilian_west) @@ -1671,7 +1671,7 @@ "aGg" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hallway/secondary/entry/port) "aGh" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/structure/closet/emcloset,/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/hallway/secondary/entry/port) "aGi" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hallway/secondary/entry/port) -"aGj" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "neutral"; dir = 4},/area/crew_quarters/sleep) +"aGj" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/landmark{name = "blobstart"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/library) "aGk" = (/obj/machinery/door/airlock{name = "Unisex Restrooms"; req_access_txt = "0"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/sleep) "aGl" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) "aGm" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) @@ -1763,10 +1763,10 @@ "aHU" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/crew_quarters/fitness) "aHV" = (/obj/structure/closet,/obj/item/device/flashlight,/obj/effect/decal/cleanable/cobweb2,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating,/area/maintenance/bar) "aHW" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/library) -"aHX" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/maintenance/library) -"aHY" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/library) +"aHX" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/library) +"aHY" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Dormitory"},/turf/simulated/floor{icon_state = "neutral"; dir = 4},/area/hallway/primary/central_two) "aHZ" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/effect/decal/cleanable/blood/oil/streak{amount = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/maintenance/bar) -"aIa" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor/plating,/area/maintenance/library) +"aIa" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Dormitory"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "neutral"; dir = 8},/area/hallway/primary/central_two) "aIb" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/camera{c_tag = "Holodeck South"; dir = 1; pixel_y = 6},/turf/simulated/floor/plating,/area/crew_quarters/fitness) "aIc" = (/obj/machinery/door/airlock/maintenance{name = "Library Maintenance"; req_access_txt = "0"; req_one_access_txt = "12;37"},/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/library) "aId" = (/obj/item/device/radio/intercom{pixel_y = 25},/obj/structure/table/woodentable,/obj/item/weapon/dice/d20,/obj/item/weapon/dice,/turf/simulated/floor/wood,/area/library) @@ -1827,8 +1827,8 @@ "aJg" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Firelock North"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/hallway/primary/central_one) "aJh" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Firelock North"},/turf/simulated/floor{icon_state = "bluecorner"},/area/hallway/primary/central_one) "aJi" = (/turf/simulated/wall/r_wall,/area/hallway/primary/central_two) -"aJj" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Dormitory"},/turf/simulated/floor{icon_state = "neutral"; dir = 8},/area/hallway/primary/central_two) -"aJk" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Dormitory"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "neutral"; dir = 4},/area/hallway/primary/central_two) +"aJj" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/maintenance/bar) +"aJk" = (/obj/structure/disposalpipe/sortjunction{dir = 4; icon_state = "pipe-j1s"; sortType = "Hydroponics"; name = "Hydroponics"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating,/area/maintenance/bar) "aJl" = (/turf/simulated/wall,/area/hallway/primary/central_two) "aJm" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/structure/mirror{pixel_x = -28},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) "aJn" = (/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) @@ -1844,14 +1844,14 @@ "aJx" = (/obj/structure/plasticflaps{opacity = 1},/obj/machinery/navbeacon{codes_txt = "delivery;dir=2"; freq = 1400; location = "Kitchen"},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/maintenance/bar) "aJy" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/bar) "aJz" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/bar) -"aJA" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/maintenance/bar) -"aJB" = (/obj/structure/disposalpipe/sortjunction{dir = 4; icon_state = "pipe-j1s"; sortType = "Hydroponics"; name = "Hydroponics"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating,/area/maintenance/bar) +"aJA" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Bar\\Library Maintenance"; req_access_txt = "0"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/library) +"aJB" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/turf/simulated/floor/plating,/area/maintenance/bar) "aJC" = (/obj/machinery/light/small{dir = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/dormitory) "aJD" = (/obj/structure/table/reinforced,/obj/item/device/radio/intercom{freerange = 1; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 28},/obj/item/weapon/packageWrap,/obj/item/weapon/hand_labeler,/obj/item/weapon/reagent_containers/spray/cleaner{desc = "Someone has crossed out the 'Space' from Space Cleaner and written in Chemistry. Scrawled on the back is, 'Okay, whoever filled this with polytrinic acid, it was only funny the first time. It was hard enough replacing the CMO's first cat!'"; name = "Chemistry Cleaner"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) "aJE" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/sleep/engi_wash) "aJF" = (/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/sleep/engi_wash) -"aJG" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/maintenance/library) -"aJH" = (/obj/structure/disposalpipe/sortjunction/flipped{dir = 4; sortType = "Chapel"; name = "Chapel"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/maintenance/library) +"aJG" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/camera{c_tag = "Fore Starboard Solar Access"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/library) +"aJH" = (/obj/structure/disposalpipe/sortjunction/flipped{dir = 4; sortType = "Chapel"; name = "Chapel"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/library) "aJI" = (/obj/structure/filingcabinet,/turf/simulated/floor/wood,/area/library) "aJJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/wood,/area/library) "aJK" = (/obj/structure/stool/bed/chair/office/dark,/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/machinery/camera{c_tag = "Library North"; dir = 2; network = list("SS13")},/turf/simulated/floor/wood,/area/library) @@ -1871,7 +1871,7 @@ "aJY" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/substation/civilian_west) "aJZ" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/power/sensor{name = "Powernet Sensor - Civilian West"; name_tag = "Civilian West Subgrid"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green,/turf/simulated/floor/plating,/area/maintenance/substation/civilian_west) "aKa" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/power/breakerbox/activated{RCon_tag = "Civilian West Substation Bypass"},/turf/simulated/floor/plating,/area/maintenance/substation/civilian_west) -"aKb" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/camera{c_tag = "Fore Starboard Solar Access"; dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/maintenance/library) +"aKb" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/library) "aKc" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/storage/emergency2) "aKd" = (/turf/simulated/floor,/area/hallway/secondary/entry/starboard) "aKe" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/storage/emergency2) @@ -1915,8 +1915,8 @@ "aKQ" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "nuke_shuttle_dock_outer"; locked = 1; name = "Docking Port Airlock"; req_access = null; req_access_txt = "13"},/turf/simulated/floor/plating,/area/hallway/secondary/entry/port) "aKR" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/hallway/primary/central_one) "aKS" = (/obj/machinery/vending/cola,/turf/simulated/floor{icon_state = "dark"},/area/hallway/primary/central_two) -"aKT" = (/turf/simulated/floor{icon_state = "neutral"; dir = 8},/area/hallway/primary/central_two) -"aKU" = (/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "neutral"; dir = 4},/area/hallway/primary/central_two) +"aKT" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/maintenance/library) +"aKU" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/meter,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/library) "aKV" = (/obj/machinery/camera{c_tag = "Dormitory Toilets"; dir = 1},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) "aKW" = (/obj/machinery/light,/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) "aKX" = (/obj/machinery/door/airlock{name = "Bar Backroom"; req_access_txt = "25"},/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/crew_quarters/bar) @@ -1990,8 +1990,8 @@ "aMn" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/hallway/primary/central_one) "aMo" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/hallway/primary/central_one) "aMp" = (/obj/machinery/vending/snack,/turf/simulated/floor{icon_state = "dark"},/area/hallway/primary/central_two) -"aMq" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor{icon_state = "neutral"; dir = 8},/area/hallway/primary/central_two) -"aMr" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "neutral"; dir = 4},/area/hallway/primary/central_two) +"aMq" = (/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor{icon_state = "neutral"; dir = 4},/area/hallway/primary/central_two) +"aMr" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "neutral"; dir = 8},/area/hallway/primary/central_two) "aMs" = (/obj/machinery/light_switch{pixel_y = 28},/obj/machinery/light{dir = 1},/obj/machinery/smartfridge/drinks,/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar) "aMt" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar) "aMu" = (/obj/structure/reagent_dispensers/beerkeg,/obj/machinery/requests_console{announcementConsole = 0; department = "Bar"; departmentType = 2; name = "Bar RC"; pixel_x = 0; pixel_y = 30},/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar) @@ -2083,8 +2083,8 @@ "aOc" = (/turf/simulated/floor{icon_state = "L15"},/area/hallway/primary/central_one) "aOd" = (/obj/machinery/light{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/turf/simulated/floor,/area/hallway/primary/central_two) "aOe" = (/turf/simulated/floor{icon_state = "neutralcorner"; dir = 4},/area/hallway/primary/central_two) -"aOf" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "neutralcorner"; dir = 1},/area/hallway/primary/central_two) -"aOg" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor{icon_state = "neutralcorner"; dir = 4},/area/hallway/primary/central_two) +"aOf" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/library) +"aOg" = (/turf/simulated/floor{icon_state = "neutral"; dir = 4},/area/hallway/primary/central_two) "aOh" = (/obj/machinery/newscaster{pixel_y = 32},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "neutralcorner"; dir = 1},/area/hallway/primary/central_two) "aOi" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/camera{c_tag = "Central Hallway North-East"; dir = 2},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/hallway/primary/central_two) "aOj" = (/obj/machinery/light{dir = 1},/obj/item/device/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_y = 20},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/hallway/primary/central_two) @@ -2517,7 +2517,7 @@ "aWu" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) "aWv" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) "aWw" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/airlock/glass{name = "Kitchen"; req_access_txt = "28"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/hydroponics/garden) -"aWx" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor{icon_state = "grimy"},/area/hydroponics/garden) +"aWx" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "neutral"; dir = 8},/area/hallway/primary/central_two) "aWy" = (/obj/structure/table/reinforced,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "grimy"},/area/hydroponics/garden) "aWz" = (/obj/structure/stool{pixel_y = 8},/obj/effect/landmark/start{name = "Gardener"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "green"; dir = 8},/area/hydroponics/garden) "aWA" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/hydroponics/garden) @@ -2611,7 +2611,7 @@ "aYk" = (/obj/structure/stool/bed/chair/comfy/black,/turf/simulated/floor/wood,/area/library) "aYl" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/green{pixel_x = 1; pixel_y = 5},/turf/simulated/floor/wood,/area/library) "aYm" = (/obj/effect/landmark/start{name = "Librarian"},/obj/structure/stool/bed/chair/office/dark,/turf/simulated/floor/wood,/area/library) -"aYn" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/meter,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/library) +"aYn" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "neutralcorner"; dir = 4},/area/hallway/primary/central_two) "aYo" = (/obj/structure/stool,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{dir = 8; icon_state = "chapel"},/area/chapel/main) "aYp" = (/obj/structure/stool,/turf/simulated/floor{icon_state = "chapel"},/area/chapel/main) "aYq" = (/obj/structure/stool,/turf/simulated/floor{dir = 8; icon_state = "chapel"},/area/chapel/main) @@ -2676,7 +2676,7 @@ "aZx" = (/obj/machinery/portable_atmospherics/hydroponics/soil,/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor/grass,/area/hydroponics/garden) "aZy" = (/obj/structure/flora/ausbushes/brflowers,/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/grass,/area/hydroponics/garden) "aZz" = (/turf/simulated/wall,/area/hallway/primary/starboard) -"aZA" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hallway/primary/starboard) +"aZA" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor{icon_state = "neutralcorner"; dir = 1},/area/hallway/primary/central_two) "aZB" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/carpet,/area/library) "aZC" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/carpet,/area/library) "aZD" = (/obj/structure/table/woodentable,/obj/item/weapon/paper,/turf/simulated/floor/wood,/area/library) @@ -2784,7 +2784,7 @@ "bbB" = (/turf/simulated/floor{icon_state = "green"; dir = 8},/area/hydroponics/garden) "bbC" = (/obj/structure/flora/ausbushes/fernybush,/turf/simulated/floor/grass,/area/hydroponics/garden) "bbD" = (/obj/structure/flora/ausbushes/brflowers,/obj/machinery/camera/autoname{dir = 8},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/grass,/area/hydroponics/garden) -"bbE" = (/obj/structure/disposalpipe/sortjunction/flipped{dir = 2; sortType = "Library"; name = "Library"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/hallway/primary/starboard) +"bbE" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor{icon_state = "grimy"},/area/hydroponics/garden) "bbF" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/hallway/primary/starboard) "bbG" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/airlock/glass{name = "Library"},/turf/simulated/floor/carpet,/area/hallway/primary/starboard) "bbH" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/carpet,/area/library) @@ -2857,7 +2857,7 @@ "bcW" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{dir = 1; icon_state = "green"},/area/hydroponics/garden) "bcX" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/hologram/holopad,/turf/simulated/floor,/area/hydroponics/garden) "bcY" = (/obj/structure/flora/ausbushes,/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/grass,/area/hydroponics/garden) -"bcZ" = (/obj/structure/disposalpipe/segment,/obj/machinery/light{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/hallway/primary/starboard) +"bcZ" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hallway/primary/starboard) "bda" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/hallway/primary/starboard) "bdb" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/hallway/primary/starboard) "bdc" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/airlock/glass{name = "Library"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/carpet,/area/hallway/primary/starboard) @@ -3402,12 +3402,12 @@ "bnv" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) "bnw" = (/obj/machinery/door/airlock{name = "Medbay Substation"; req_access_txt = "5"},/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/substation/medical) "bnx" = (/obj/machinery/door/blast/regular{id = "mixvent"; name = "Mixer Room Vent"},/turf/simulated/floor/engine/vacuum,/area/rnd/mixing) -"bny" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "psych"; name = "Mental Health Privacy Shutters"; opacity = 0},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/medical/medbay4) +"bny" = (/obj/structure/disposalpipe/sortjunction/flipped{dir = 2; sortType = "Library"; name = "Library"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/hallway/primary/starboard) "bnz" = (/obj/machinery/computer/rdconsole/robotics,/obj/machinery/alarm{pixel_y = 25},/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) "bnA" = (/obj/structure/table,/obj/item/weapon/book/manual/robotics_cyborgs{pixel_x = 2; pixel_y = 5},/obj/item/weapon/storage/belt/utility,/obj/machinery/requests_console{department = "Robotics"; departmentType = 2; name = "Robotics RC"; pixel_y = 30},/obj/machinery/light{dir = 1},/obj/item/weapon/storage/belt/utility,/obj/item/weapon/reagent_containers/glass/beaker/large,/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) "bnB" = (/obj/machinery/r_n_d/circuit_imprinter,/obj/item/weapon/reagent_containers/glass/beaker/sulphuric,/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) -"bnC" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "psych"; name = "Mental Health Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/medbay4) -"bnD" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "medprivc"; name = "Patient Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/patient_c) +"bnC" = (/obj/structure/disposalpipe/segment,/obj/machinery/light{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor,/area/hallway/primary/starboard) +"bnD" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/cable/cyan,/turf/simulated/floor/plating,/area/turret_protected/ai_upload) "bnE" = (/obj/machinery/door/firedoor,/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/blast/shutters{density = 0; dir = 4; icon_state = "shutter0"; id = "scanhideside"; name = "Diagnostics Room Privacy Shutters"; opacity = 0},/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/medbay4) "bnF" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/rnd/research) "bnG" = (/obj/machinery/autolathe,/turf/simulated/floor{icon_state = "white"},/area/rnd/lab) @@ -3470,7 +3470,7 @@ "boL" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) "boM" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) "boN" = (/obj/structure/stool/bed/chair/office/dark{dir = 4},/obj/effect/landmark/start{name = "Chemist"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor{dir = 4; icon_state = "whiteyellow"},/area/medical/chemistry) -"boO" = (/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/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "medprivb"; name = "Patient Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/patient_b) +"boO" = (/obj/structure/stool/bed/chair/office/dark{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/door_control{desc = "A remote control-switch for shutters."; id = "hop_office_desk"; name = "Desk Privacy Shutter"; pixel_x = 16; pixel_y = 28},/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/crew_quarters/heads/hop) "boP" = (/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/medical/reception) "boQ" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor{icon_state = "white"},/area/medical/reception) "boR" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/reception) @@ -3503,7 +3503,7 @@ "bps" = (/obj/machinery/camera{c_tag = "Robotics"; dir = 2; network = list("SS13","Research"); pixel_x = 22},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor{dir = 4; icon_state = "whiteredcorner"},/area/assembly/robotics) "bpt" = (/turf/simulated/floor{dir = 1; icon_state = "whitered"},/area/assembly/robotics) "bpu" = (/obj/structure/stool,/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor{dir = 1; icon_state = "whitered"},/area/assembly/robotics) -"bpv" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating,/area/maintenance/library) +"bpv" = (/obj/structure/grille,/obj/structure/cable/green,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/window/reinforced/polarized{dir = 4},/obj/structure/window/reinforced/polarized{dir = 1},/obj/structure/window/reinforced/polarized{dir = 8},/turf/simulated/floor/plating,/area/crew_quarters/heads/hop) "bpw" = (/obj/machinery/door/airlock/research{name = "Research Division Access"; req_access_txt = "47"},/turf/simulated/floor{icon_state = "white"},/area/hallway/primary/starboard) "bpx" = (/obj/structure/sign/securearea,/turf/simulated/wall,/area/hallway/primary/starboard) "bpy" = (/obj/structure/table,/obj/item/stack/sheet/glass{amount = 50; pixel_x = 3; pixel_y = 3},/obj/item/stack/sheet/metal{amount = 50},/obj/item/clothing/glasses/welding,/turf/simulated/floor{dir = 1; icon_state = "whitepurple"},/area/rnd/lab) @@ -3601,7 +3601,7 @@ "brm" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/lab) "brn" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor{icon_state = "white"},/area/rnd/lab) "bro" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/lab) -"brp" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Bar\\Library Maintenance"; req_access_txt = "0"},/turf/simulated/floor/plating,/area/maintenance/library) +"brp" = (/obj/structure/grille,/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = -32},/obj/structure/cable/green,/obj/structure/window/reinforced/polarized,/obj/structure/window/reinforced/polarized{dir = 4},/obj/structure/window/reinforced/polarized{dir = 8},/turf/simulated/floor/plating,/area/crew_quarters/heads/hop) "brq" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/storage/emergency) "brr" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/storage/emergency) "brs" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/hallway/secondary/entry/aft) @@ -3823,7 +3823,7 @@ "bvA" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/crew_quarters/heads/hop) "bvB" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor,/area/crew_quarters/heads/hop) "bvC" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload_foyer) -"bvD" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/visible/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{dir = 4},/obj/structure/cable/cyan,/turf/simulated/floor/plating,/area/turret_protected/ai_upload) +"bvD" = (/obj/structure/stool/bed/chair/office/dark{dir = 4},/obj/effect/landmark/start{name = "Head of Personnel"},/obj/machinery/door_control{desc = "A remote control-switch for shutters."; id = "hop_office_desk"; name = "Desk Privacy Shutter"; pixel_x = 26; pixel_y = 17},/obj/machinery/button/windowtint{pixel_x = 36; pixel_y = 18},/turf/simulated/floor,/area/crew_quarters/heads/hop) "bvE" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/cyan{d2 = 4; icon_state = "0-4"},/obj/structure/cable/cyan{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload_foyer) "bvF" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/structure/cable/cyan{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/cyan{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload_foyer) "bvG" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/maintenance/substation/command) @@ -3831,7 +3831,7 @@ "bvI" = (/obj/structure/table,/obj/item/weapon/aiModule/nanotrasen,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload) "bvJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload) "bvK" = (/obj/machinery/hologram/holopad,/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload) -"bvL" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/supply{dir = 4},/obj/structure/cable/cyan,/turf/simulated/floor/plating,/area/turret_protected/ai_upload) +"bvL" = (/obj/machinery/mech_bay_recharge_port,/obj/structure/sign/poster{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/plating,/area/medical/sleeper) "bvM" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload) "bvN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload) "bvO" = (/obj/structure/table,/obj/item/weapon/aiModule/freeform,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload) @@ -3847,7 +3847,7 @@ "bvY" = (/obj/machinery/smartfridge/secure/medbay,/turf/simulated/wall,/area/medical/chemistry) "bvZ" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{name = "Chemistry Laboratory"; req_access_txt = "33"},/obj/structure/sign/chemistry{pixel_x = 32},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) "bwa" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/shutters{density = 0; dir = 4; icon_state = "shutter0"; id = "scanhideside"; name = "Diagnostics Room Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/medbay4) -"bwb" = (/obj/structure/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/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "medpriva"; name = "Patient Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/patient_a) +"bwb" = (/obj/structure/closet/secure_closet/medical1,/obj/item/device/radio/intercom{broadcasting = 0; canhear_range = 5; freerange = 0; frequency = 1485; listening = 1; name = "Station Intercom (Medbay)"; pixel_x = 0; pixel_y = -31},/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/device/flashlight,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) "bwc" = (/obj/machinery/door/window/eastright{base_state = "left"; dir = 8; icon_state = "left"; name = "Medical Reception"; req_access_txt = "5"},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor,/area/medical/reception) "bwd" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor,/area/medical/reception) "bwe" = (/turf/simulated/floor,/area/medical/reception) @@ -3905,7 +3905,7 @@ "bxe" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "loadingarea"},/area/hallway/primary/central_three) "bxf" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor{icon_state = "delivery"},/area/hallway/primary/central_three) "bxg" = (/obj/machinery/door/firedoor,/obj/machinery/door/blast/shutters{density = 0; dir = 4; icon_state = "shutter0"; id = "scanhideside"; name = "Diagnostics Room Privacy Shutters"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/medbay4) -"bxh" = (/obj/structure/stool/bed/chair/office/dark{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/door_control{desc = "A remote control-switch for shutters."; id = "hop_office_desk"; name = "Desk Privacy Shutter"; pixel_x = 16; pixel_y = 28},/obj/machinery/door_control{desc = "A remote control-switch for shutters."; id = "hop_office_window"; name = "Window Privacy Shutters"; pixel_x = 16; pixel_y = 38},/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/crew_quarters/heads/hop) +"bxh" = (/obj/structure/table,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/structure/closet/fireaxecabinet{pixel_x = 32; pixel_y = 0},/obj/item/weapon/storage/toolbox/emergency,/obj/item/bodybag/cryobag{pixel_x = 6},/obj/item/bodybag/cryobag{pixel_x = 6},/obj/item/bodybag/cryobag{pixel_x = 6},/obj/item/device/radio{frequency = 1487; name = "Medbay Emergency Radio Link"},/obj/machinery/door_control{id = "acutesep"; name = "Acute Separation Shutters"; pixel_y = -25; req_access_txt = "5"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/camera{c_tag = "EMT Storage"; dir = 1; network = list("SS13")},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) "bxi" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/carpet,/area/crew_quarters/heads/hop) "bxj" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/carpet,/area/crew_quarters/heads/hop) "bxk" = (/turf/simulated/floor/carpet,/area/crew_quarters/heads/hop) @@ -4206,7 +4206,7 @@ "bCT" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "bluecorner"},/area/hallway/primary/central_three) "bCU" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor{icon_state = "bot"},/area/hallway/primary/central_three) "bCV" = (/obj/machinery/keycard_auth{pixel_x = -24; pixel_y = 0},/obj/machinery/account_database,/turf/simulated/floor{dir = 9; icon_state = "blue"},/area/crew_quarters/heads/hop) -"bCW" = (/obj/structure/stool/bed/chair/office/dark{dir = 4},/obj/effect/landmark/start{name = "Head of Personnel"},/obj/machinery/door_control{desc = "A remote control-switch for shutters."; id = "hop_office_desk"; name = "Desk Privacy Shutter"; pixel_x = 26; pixel_y = 17},/obj/machinery/door_control{desc = "A remote control-switch for shutters."; id = "hop_office_window"; name = "Window Privacy Shutters"; pixel_x = 38; pixel_y = 17},/turf/simulated/floor,/area/crew_quarters/heads/hop) +"bCW" = (/obj/machinery/door_control{id = "acutesep"; name = "Acute Separation Shutters"; pixel_y = 25; req_access_txt = "5"},/obj/machinery/camera{c_tag = "Medbay Acute"; network = list("SS13")},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) "bCX" = (/obj/structure/table,/obj/item/weapon/folder/blue,/obj/item/weapon/stamp/hop,/obj/item/device/eftpos{eftpos_name = "HoP EFTPOS scanner"},/turf/simulated/floor,/area/crew_quarters/heads/hop) "bCY" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor,/area/crew_quarters/heads/hop) "bCZ" = (/obj/machinery/computer/message_monitor,/obj/machinery/light/small{dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_server_room) @@ -4546,7 +4546,7 @@ "bJv" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/hallway/primary/central_two) "bJw" = (/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=HOP"; location = "CHE"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor,/area/hallway/primary/central_two) "bJx" = (/turf/simulated/floor/mech_bay_recharge_floor,/area/medical/sleeper) -"bJy" = (/obj/machinery/mech_bay_recharge_port,/turf/simulated/floor/plating,/area/medical/sleeper) +"bJy" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) "bJz" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 4; icon_state = "shutter0"; id = "cmooffice"; name = "CMO Office Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/medbay2) "bJA" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay) "bJB" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "cmooffice"; name = "CMO Office Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/medbay) @@ -4699,7 +4699,7 @@ "bMs" = (/obj/structure/table/rack,/obj/item/weapon/crowbar,/obj/item/weapon/crowbar,/obj/item/weapon/storage/toolbox/mechanical,/obj/machinery/vending/wallmed1{pixel_x = -32; pixel_y = 0; req_access_txt = "0"},/obj/item/roller,/obj/item/roller,/obj/item/roller,/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) "bMt" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{autoclose = 1; name = "EMT Storage"; req_access_txt = "5"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/medbay) "bMu" = (/obj/structure/stool{pixel_y = 8},/obj/effect/landmark/start{name = "Paramedic"},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) -"bMv" = (/obj/structure/sign/poster{pixel_x = -32; pixel_y = 0},/obj/structure/closet/secure_closet/medical1,/obj/item/device/radio/intercom{broadcasting = 0; canhear_range = 5; freerange = 0; frequency = 1485; listening = 1; name = "Station Intercom (Medbay)"; pixel_x = 0; pixel_y = -31},/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/device/flashlight,/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) +"bMv" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/table,/obj/item/weapon/clipboard,/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 0; pixel_y = 36},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/button/windowtint{id = "isoA_window_tint"; pixel_y = 26},/turf/simulated/floor{dir = 5; icon_state = "whitered"},/area/medical/patient_a) "bMw" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) "bMx" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay) "bMy" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/structure/table,/obj/machinery/photocopier/faxmachine{department = "CMO's Office"},/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/crew_quarters/heads/cmo) @@ -4779,7 +4779,7 @@ "bNU" = (/turf/simulated/wall,/area/maintenance/engineering) "bNV" = (/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/structure/closet/secure_closet/medical_wall{name = "O- Blood Locker"},/turf/simulated/wall,/area/medical/sleeper) "bNW" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "misclab"; name = "Test Chamber Blast Doors"; opacity = 0},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor{icon_state = "white"},/area/rnd/misc_lab) -"bNX" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/wall,/area/medical/medbay) +"bNX" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/table,/obj/item/weapon/clipboard,/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 0; pixel_y = 36},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/button/windowtint{id = "isoB_window_tint"; pixel_y = 26},/turf/simulated/floor{dir = 5; icon_state = "whitered"},/area/medical/patient_b) "bNY" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "white_1"},/area/medical/medbay) "bNZ" = (/obj/machinery/hologram/holopad,/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) "bOa" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) @@ -4860,7 +4860,7 @@ "bPx" = (/turf/simulated/floor/plating,/area/maintenance/engineering) "bPy" = (/obj/structure/table/rack{dir = 1},/obj/item/clothing/suit/fire/firefighter,/obj/item/weapon/tank/oxygen,/obj/item/clothing/mask/gas,/obj/item/weapon/extinguisher,/obj/item/clothing/head/hardhat/red,/obj/item/clothing/glasses/meson,/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor/plating,/area/maintenance/engineering) "bPz" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) -"bPA" = (/obj/machinery/door_control{id = "acutesep"; name = "Acute Separation Shutters"; pixel_y = 25; req_access_txt = "5"},/obj/machinery/camera{c_tag = "Medbay Acute 2"; network = list("SS13")},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) +"bPA" = (/obj/machinery/atmospherics/pipe/simple/visible{icon_state = "intact"; dir = 6},/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/medical/sleeper) "bPB" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "acutesep"; name = "Acute Separation Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/sleeper) "bPC" = (/obj/machinery/camera{c_tag = "Medbay Port Corridor"; dir = 8; network = list("SS13")},/obj/structure/disposalpipe/segment,/obj/machinery/light_switch{pixel_x = 22; pixel_y = -9},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{dir = 4; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay) "bPD" = (/obj/machinery/camera{c_tag = "Medbay CMO Office"; dir = 4; network = list("SS13")},/obj/machinery/light_switch{pixel_x = -22; pixel_y = -9},/obj/machinery/requests_console{announcementConsole = 1; department = "Chief Medical Officer's Desk"; departmentType = 5; name = "Chief Medical Officer RC"; pixel_x = -34; pixel_y = 2},/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/crew_quarters/heads/cmo) @@ -4946,11 +4946,11 @@ "bRf" = (/obj/machinery/computer/crew,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/medbreak) "bRg" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/structure/closet/secure_closet/personal/patient,/turf/simulated/floor{dir = 9; icon_state = "whitered"},/area/medical/patient_a) "bRh" = (/obj/machinery/light{dir = 1},/obj/machinery/newscaster{pixel_y = 32},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/hologram/holopad,/turf/simulated/floor{dir = 1; icon_state = "whitered"},/area/medical/patient_a) -"bRi" = (/obj/machinery/door_control{id = "medpriva"; name = "Privacy Shutters"; pixel_y = 25},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/table,/obj/item/weapon/clipboard,/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 0; pixel_y = 36},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor{dir = 5; icon_state = "whitered"},/area/medical/patient_a) +"bRi" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/medical/sleeper) "bRj" = (/turf/simulated/wall,/area/medical/patient_a) "bRk" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/structure/closet/secure_closet/personal/patient,/turf/simulated/floor{dir = 9; icon_state = "whitered"},/area/medical/patient_b) "bRl" = (/obj/machinery/light{dir = 1},/obj/machinery/newscaster{pixel_y = 32},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/hologram/holopad,/turf/simulated/floor{dir = 1; icon_state = "whitered"},/area/medical/patient_b) -"bRm" = (/obj/machinery/door_control{id = "medprivb"; name = "Privacy Shutters"; pixel_y = 25},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/table,/obj/item/weapon/clipboard,/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 0; pixel_y = 36},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor{dir = 5; icon_state = "whitered"},/area/medical/patient_b) +"bRm" = (/obj/structure/grille,/obj/structure/window/reinforced/polarized{id = "isoA_window_tint"},/obj/structure/window/reinforced/polarized{dir = 4; id = "isoA_window_tint"},/obj/structure/window/reinforced/polarized{dir = 1; id = "isoA_window_tint"},/obj/structure/window/reinforced/polarized{dir = 8; id = "isoA_window_tint"},/turf/simulated/floor/plating,/area/medical/patient_a) "bRn" = (/turf/simulated/wall,/area/medical/patient_b) "bRo" = (/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor/engine,/area/rnd/misc_lab) "bRp" = (/obj/structure/table,/obj/item/device/assembly/igniter,/turf/simulated/floor/engine,/area/rnd/misc_lab) @@ -5080,8 +5080,8 @@ "bTJ" = (/turf/simulated/wall,/area/medical/medbay4) "bTK" = (/obj/machinery/door/firedoor,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay4) "bTL" = (/obj/machinery/door/firedoor,/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{dir = 4; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay4) -"bTM" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = -32},/obj/structure/cable/green,/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "hop_office_window"; name = "HoP Office Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/crew_quarters/heads/hop) -"bTN" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable/green,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "hop_office_window"; name = "HoP Office Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/crew_quarters/heads/hop) +"bTM" = (/obj/structure/grille,/obj/structure/window/reinforced/polarized{dir = 4; id = "isoA_window_tint"},/obj/structure/window/reinforced/polarized{id = "isoA_window_tint"},/obj/structure/window/reinforced/polarized{dir = 1; id = "isoA_window_tint"},/obj/structure/window/reinforced/polarized{dir = 8; id = "isoA_window_tint"},/turf/simulated/floor/plating,/area/medical/patient_a) +"bTN" = (/obj/structure/grille,/obj/structure/window/reinforced/polarized{id = "isoB_window_tint"},/obj/structure/window/reinforced/polarized{dir = 4; id = "isoB_window_tint"},/obj/structure/window/reinforced/polarized{dir = 1; id = "isoB_window_tint"},/obj/structure/window/reinforced/polarized{dir = 8; id = "isoB_window_tint"},/turf/simulated/floor/plating,/area/medical/patient_b) "bTO" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/command{name = "CMO's Office"; req_access_txt = "40"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay4) "bTP" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/extinguisher_cabinet{pixel_x = 25; pixel_y = 0},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay4) "bTQ" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{icon_state = "bot"},/area/rnd/research) @@ -5134,8 +5134,8 @@ "bUL" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/maintenance/engineering) "bUM" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/plating,/area/maintenance/engineering) "bUN" = (/obj/machinery/atmospherics/unary/cryo_cell,/turf/simulated/floor{icon_state = "red"; dir = 9},/area/medical/sleeper) -"bUO" = (/obj/machinery/atmospherics/pipe/simple/visible{icon_state = "intact"; dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/medical/sleeper) -"bUP" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/turf/simulated/floor,/area/medical/sleeper) +"bUO" = (/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor,/area/medical/sleeper) +"bUP" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor,/area/medical/sleeper) "bUQ" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/medical/sleeper) "bUR" = (/obj/machinery/door_control{id = "scanhide"; name = "Diagnostics Room Separation Shutters"; pixel_x = -6; pixel_y = 25; req_access_txt = "5"},/obj/machinery/camera{c_tag = "Medbay Scanning"; network = list("SS13")},/obj/machinery/atmospherics/unary/freezer{dir = 8; icon_state = "freezer"},/obj/machinery/door_control{id = "scanhideside"; name = "Diagnostics Room Privacy Shutters"; pixel_x = 6; pixel_y = 25; req_access_txt = "5"},/turf/simulated/floor{icon_state = "delivery"},/area/medical/sleeper) "bUS" = (/obj/structure/disposalpipe/segment,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor{icon_state = "white"},/area/rnd/research) @@ -5210,8 +5210,8 @@ "bWj" = (/obj/machinery/navbeacon{codes_txt = "delivery;dir=4"; freq = 1400; location = "Medbay"},/obj/structure/plasticflaps{opacity = 1},/turf/simulated/floor{icon_state = "bot"},/area/medical/sleeper) "bWk" = (/obj/machinery/door/window/eastleft{name = "Medical Delivery"; req_access_txt = "5"},/obj/machinery/door/firedoor,/turf/simulated/floor{icon_state = "delivery"},/area/medical/sleeper) "bWl" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 8},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/medical/sleeper) -"bWm" = (/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor,/area/medical/sleeper) -"bWn" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/medical/sleeper) +"bWm" = (/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "psych"; name = "Mental Health Privacy Shutters"; opacity = 0},/obj/structure/window/reinforced/polarized,/obj/structure/window/reinforced/polarized{dir = 8},/obj/structure/window/reinforced/polarized{dir = 1},/turf/simulated/floor/plating,/area/medical/medbay4) +"bWn" = (/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "psych"; name = "Mental Health Privacy Shutters"; opacity = 0},/obj/structure/window/reinforced/polarized,/obj/structure/window/reinforced/polarized{dir = 1},/obj/structure/window/reinforced/polarized{dir = 4},/turf/simulated/floor/plating,/area/medical/medbay4) "bWo" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor,/area/medical/sleeper) "bWp" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor,/area/medical/sleeper) "bWq" = (/obj/machinery/door/blast/shutters{dir = 2; id = "qm_warehouse"; name = "Warehouse Shutters"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/quartermaster/storage) @@ -5500,7 +5500,7 @@ "cbN" = (/turf/simulated/floor{icon_state = "white"},/area/medical/ward) "cbO" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/medical,/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 25; pixel_y = 0; req_access_txt = "0"},/turf/simulated/floor{dir = 4; icon_state = "whitered"},/area/medical/ward) "cbP" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/wood,/area/medical/psych) -"cbQ" = (/obj/structure/table/woodentable,/obj/machinery/light_switch{pixel_x = -4},/obj/machinery/door_control{id = "psych"; name = "Mental Health Privacy Shutters Control"; pixel_x = 6; pixel_y = 0},/turf/simulated/floor/wood,/area/medical/psych) +"cbQ" = (/obj/structure/grille,/obj/structure/window/reinforced/polarized{id = "isoC_window_tint"},/obj/structure/window/reinforced/polarized{dir = 4; id = "isoC_window_tint"},/obj/structure/window/reinforced/polarized{dir = 1; id = "isoC_window_tint"},/obj/structure/window/reinforced/polarized{dir = 8; id = "isoC_window_tint"},/turf/simulated/floor/plating,/area/medical/patient_c) "cbR" = (/obj/structure/stool/bed/chair/office/dark{dir = 1},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/wood,/area/medical/psych) "cbS" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "dark"},/area/medical/biostorage) "cbT" = (/obj/structure/closet/crate{icon_state = "crateopen"; name = "Grenade Crate"; opened = 1},/obj/item/weapon/grenade/chem_grenade,/obj/item/weapon/grenade/chem_grenade,/obj/item/weapon/grenade/chem_grenade,/obj/item/weapon/grenade/chem_grenade,/obj/item/device/assembly/igniter,/obj/item/device/assembly/igniter,/obj/item/device/assembly/igniter,/obj/item/device/assembly/timer,/obj/item/device/assembly/timer,/obj/item/device/assembly/timer,/turf/simulated/floor{icon_state = "dark"},/area/medical/biostorage) @@ -5589,7 +5589,7 @@ "cdy" = (/obj/structure/table,/obj/item/weapon/storage/box/cdeathalarm_kit,/turf/simulated/floor{icon_state = "dark"},/area/medical/biostorage) "cdz" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/structure/closet/secure_closet/personal/patient,/turf/simulated/floor{dir = 10; icon_state = "whitered"},/area/medical/patient_c) "cdA" = (/obj/machinery/light,/obj/machinery/newscaster{pixel_y = -28},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/hologram/holopad,/turf/simulated/floor{dir = 3; icon_state = "whitered"},/area/medical/patient_c) -"cdB" = (/obj/machinery/door_control{id = "medprivc"; name = "Privacy Shutters"; pixel_y = -25},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/table,/obj/item/weapon/clipboard,/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 0; pixel_y = -36},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor{dir = 6; icon_state = "whitered"},/area/medical/patient_c) +"cdB" = (/obj/structure/table/woodentable,/obj/machinery/light_switch{pixel_x = -4},/obj/machinery/button/windowtint{pixel_x = 3},/turf/simulated/floor/wood,/area/medical/psych) "cdC" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/maintenance/research_port) "cdD" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/maintenance/research_port) "cdE" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/medical/virologyaccess) @@ -5658,7 +5658,7 @@ "ceP" = (/obj/structure/closet/l3closet,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/suit/bio_suit/general,/obj/item/clothing/suit/bio_suit/general,/obj/item/clothing/suit/bio_suit/general,/obj/item/clothing/mask/gas,/obj/item/clothing/head/bio_hood/general,/obj/item/clothing/head/bio_hood/general,/obj/item/clothing/head/bio_hood/general,/turf/simulated/floor{icon_state = "dark"},/area/medical/biostorage) "ceQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/research_port) "ceR" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/structure/mirror{pixel_x = 32},/turf/simulated/floor{icon_state = "freezerfloor"},/area/medical/patient_wing) -"ceS" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/research_port) +"ceS" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/table,/obj/item/weapon/clipboard,/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 0; pixel_y = -36},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/button/windowtint{id = "isoC_window_tint"; pixel_y = -26},/turf/simulated/floor{dir = 6; icon_state = "whitered"},/area/medical/patient_c) "ceT" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engineering/drone_fabrication) "ceU" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) "ceV" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/maintenance/substation/engineering) @@ -5712,7 +5712,7 @@ "cfR" = (/obj/machinery/air_sensor{frequency = 1441; id_tag = "tox_sensor"},/turf/simulated/floor/engine{carbon_dioxide = 0; name = "phoron floor"; nitrogen = 0; oxygen = 0; phoron = 70000},/area/engineering/atmos) "cfS" = (/obj/structure/closet/secure_closet/personal,/turf/simulated/floor/wood,/area/crew_quarters/sleep/bedrooms) "cfT" = (/obj/machinery/power/tracker,/obj/structure/cable/yellow,/turf/simulated/floor/plating/airless,/area/solar/starboard) -"cfU" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "0"; req_one_access_txt = "10;24"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/maintenance/substation/engineering) +"cfU" = (/obj/structure/closet/secure_closet/engineering_personal,/obj/item/weapon/tank/emergency_oxygen/engi,/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/turf/simulated/floor,/area/engineering/locker_room) "cfV" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor{icon_state = "blue"; dir = 10},/area/medical/surgeryobs) "cfW" = (/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/medical/surgeryobs) "cfX" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor{icon_state = "blue"; dir = 6},/area/medical/surgeryobs) @@ -7020,7 +7020,7 @@ "cEZ" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor{dir = 8; icon_state = "yellowcorner"},/area/engineering/foyer) "cFa" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/engineering/foyer) "cFb" = (/obj/structure/table,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor,/area/engineering/locker_room) -"cFc" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/table,/obj/machinery/camera{c_tag = "Engineering Washroom"; dir = 1; network = list("SS13")},/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor,/area/engineering/locker_room) +"cFc" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor,/area/engineering/locker_room) "cFd" = (/turf/simulated/floor,/area/engineering/locker_room) "cFe" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor,/area/engineering/locker_room) "cFf" = (/obj/machinery/button/holosign{pixel_x = -24; pixel_y = 2},/obj/machinery/camera{c_tag = "Medbay Operating Theatre 2"; dir = 4; network = list("SS13")},/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/turf/simulated/floor{dir = 1; icon_state = "whiteredcorner"},/area/medical/surgery2) @@ -7191,8 +7191,11 @@ "cIo" = (/obj/machinery/sleeper,/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/sleeper) "cIp" = (/obj/machinery/door/firedoor,/obj/machinery/door/blast/shutters{density = 0; dir = 4; icon_state = "shutter0"; id = "acute2"; name = "Acute Two Privacy Shutters"; opacity = 0},/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/medical/medbay) "cIq" = (/obj/machinery/door_control{id = "scanhide"; name = "Diagnostics Room Separation Shutters"; pixel_x = -6; pixel_y = -25; req_access_txt = "5"},/obj/machinery/iv_drip,/obj/machinery/door_control{id = "acute2"; name = "Acute Treatment Privacy Shutters"; pixel_x = 6; pixel_y = -25; req_access_txt = "5"},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) -"cIr" = (/obj/structure/table,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/structure/closet/fireaxecabinet{pixel_x = 32; pixel_y = 0},/obj/item/weapon/storage/toolbox/emergency,/obj/item/bodybag/cryobag{pixel_x = 6},/obj/item/bodybag/cryobag{pixel_x = 6},/obj/item/bodybag/cryobag{pixel_x = 6},/obj/item/device/radio{frequency = 1487; name = "Medbay Emergency Radio Link"},/obj/machinery/door_control{id = "acutesep"; name = "Acute Separation Shutters"; pixel_y = -25; req_access_txt = "5"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) +"cIr" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/extinguisher_cabinet{pixel_x = -5; pixel_y = 28},/turf/simulated/floor,/area/engineering/locker_room) "cIs" = (/obj/item/device/radio/intercom{freerange = 1; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 28},/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{dir = 4; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay) +"cIt" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor/plating,/area/maintenance/research_port) +"cIu" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/table,/obj/machinery/camera{c_tag = "Engineering Locker Room"; dir = 1; network = list("SS13")},/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor,/area/engineering/locker_room) +"cIv" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "0"; req_one_access_txt = "10;24"},/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/substation/engineering) "cIJ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/maintenance/portsolar) "cIK" = (/turf/simulated/wall/r_wall,/area/maintenance/portsolar) "cIL" = (/turf/simulated/wall/r_wall,/area/maintenance/engi_engine) @@ -7347,25 +7350,25 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaatSauNaxwaxxatSauNaxyaxxatSauNawMauNauNauNauNauNavHatqaaaaaaaaIaaIaaIaaaaaaaafaaaaxBaxCaxBaafaafaafaafaaIaaIaaIaafanXanXanXanXaxDaxEaxEaxFanXanXanXanXaxGaucaucanXaxHaxIanXanXaxJaxKaxLaxMaxMaxMaxMaxMaxMaxMaxMaxNaxMaxMaxMaxMaxMaxOaxPaxQaxRaxOavpasZaxSawjcfSatCaxVaxXaxXaxXaxZaxYayaaybaxXavqaydayeayfaygayhayhayhayhawAavxawyawzatRatRatRatRatRatRatRatRatRatRavzaafaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaAuaAvaAuaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaynayoaypayoayqayoayrayoaysaytayvayvayvayvaywauNawNatqaaaaafaafaaaaaaaaaaaaaafaaaayyayzayAaafaaaaafaaaaaaaaaaaaaaaanXayBayCayDayCayCayCayCayEayCayCayFayGayDayHayIaxMaxMaxMaxMaxMaxMayJayKayLayLayLayLayMayLayLayNayLayMayLayLayLarAayOayPayQarEaAiasZcfSaycaxUatCayUayTayWayVayYayXayYayZayTazaazbazcazdazeazdazdazfawBawCawDawEaxsatRatRatRatRatRatRatRatRatRatRavzaafaaaaaaaaaaaaaaaaaaaaaaaaaafaafaBuaBvaBwaBxaByaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazqazrazsaztazuazvazwazxazyazwazzazAazwazwazBauNavHauRaafaafaaaaaaaaaaaaaaaaafazDazEazFazGazHaaaaafaaaaaaaaaaaaaaaanXazIanXazJazKazLazLazLazMazLazLazLazNazJazOazPazPazPazPazPazPazPazQazRayLazSazTazUazVazWazXazYazZaAaaAbazTaAcarAaAdayPayQarEaAiasZauuaAeauvatCaxWaxXaxXaxXaxXaAjaAkaAlaAmaAnaxkaAoaDtaApaApaApaAqaDratPaCJatPaykatRatRatRatRatRatRatRatRatRatRavzaafaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaCvaCwaCxaCyaCvaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafauNaAwaAxaAwaAyazsazsaAzaAwaAxaAwaAAaABaACaADauNavHauQauQaAEauUauUauUauUauVauQaAFaAGaAHaAIaAFanXanXaxHaAJaxIanXanXanXazIaAKazJaaaaafaaaaafaaaaafaaaaafaaaazJazOazPaALaAMaANaAOaAPazPazQaucayLaAQaAQaARaASaATaAUaAVaATaAWaAXazTaAcarAaAdayPaDdarEaAiasZawXaAgaAhaBbayRaBdaBeaBfaBgaBhaBiaBjaBjaBkaBjatPaBlaBmaBnaBoaBpaBraDuaDvaFcaGzatRatRatRatRatRatRatRatRatRatRavzaafaaaaaaaaaaaaaaaaacaaaaaaaafaaaaCvaDzaDAaDBaCvaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafauNaAwaAxaAwaAyazsazsaAzaAwaAxaAwaAAaABaACaADauNavHauQauQaAEauUauUauUauUauVauQaAFaAGaAHaAIaAFanXanXaxHaAJaxIanXanXanXazIaAKazJaaaaafaaaaafaaaaafaaaaafaaaazJazOazPaALaAMaANaAOaAPazPazQaucayLaAQaAQaARaASaATaAUaAVaATaAWaAXazTaAcarAaAdayPaDdarEaAiasZawXaAgaAhaBbayRaBdaBeaBfaBgaBhaBiaBjaBjaBkaBjatPaBlaBmaBnaBoaBpaBraAraDvaFcaGzatRatRatRatRatRatRatRatRatRatRavzaafaaaaaaaaaaaaaaaaacaaaaaaaafaaaaCvaDzaDAaDBaCvaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaBzatSaBAawHaBBaBCaBDaBEaBFaBBawHaBGaBHaBIaBJaBKaBLavHavHavHavHavHavHavHavHaBOaBPaAFaBQaBRaBSaAFaBTaBUayCayCayCayCayCaBVaBWaBXazJaafaBYaBYaBYaBYaBYaBYaBYaafazJazOazPaBZaCaaCbaCcaBZazPazQaCdayLayLayLayLaCeaCfaCgaChaCfaCiaCjazTaCkarAaAdayPaClarEaJCasZaAZaAYaBaatCaxWavqatEaBjaBjaBjaBjaBjaCqaCraCsaBjatPatPatPatPaCtatPatPaHSaGCaHRatRatRatRatRatRatRatRatRatRatRayiaafaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaCvaEXaEYazhaCvaaaaaaaaaaafaafaaaaaaaaaaaaaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazqaAxaCzaCAaCAaCAaCAaCBaAxazqaaaaBIaCCaxzaBLaCEaCEaCEaCEaCEaCEaCEavHaCFaCGaAFaCHaCIaHTaAFaCKaCLaCKaCKaCKaCKaCKaCKaCKaCKaCMaaaaBYaCNaCOaCPaCQaCRaBYaaaazJazOazPaBZaCSaCTaCUaBZazPazQanXayLaCVaCWaARaCXaCYaCZaDaaDbaDcayLayLayLarAaAdayPayQarEaAiasZaxTaBcauvatCaDgavqatEaDhaDiaDjaDkaBjaCqaDlaCsaBjaDmaDnaDoaDpaDqaGwaDsatPatPaJWaxqaxqaxqaxqaxqaIbaxqaxqaxqaxqaHUaafaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaCvaCvaGxaGyaCvaDCaDDaDEaDCaDCaDCaDCaDCaDCaDCaDFaDGaDGaDGaDHaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaaaaaaaaaaaaDIaDJaDKaDJaDJaDLaDMaDJaDJaDKaDNaDOaBIaDPaxAaBLaDRaDSaDTaDUaDVaDWaCEavHaDXauQaAFaAFaDYaDZaCMaEaaEbaEcaEdaEeaEfaEgaEhaEiaEjaCMaafaBYaEkaElaEmaEnaEoaBYaafazJazOazPaEpaEqaEraEsaEtazPazQaEuayLazSazTaEvaEwaCfaExaEyaATaEzaEAaEBaEBarAaAdayPayQarEaAiaCmaCmaCmaCmaCmaEHaEIatEaEJaEKaEKaELaEMaEKaENaEOaBjaEPaEQaERaESaETaCnaDsaafaaaaafaaaaafaaaaafaaaaafaaaaafaaaaafaaaaafaaaaaaaaaaaaaaaaaaaaaaDCaAtaBqaDCazgaziazjaFdaFdaFdaFdaFeaFfaFgaFgaFgaFgaFgaFgaFgaFhaFiaFjaafaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaDIaDNaDJaFkaFlaFlaFmaFnaFoaFpaFqaFlaFlaFraFsaFtaDPayuaBLaFvayxaBMazCaBMaBNaCDavHaFuaDQaFxaBsaFwaEZaFIaFJaFKaFLaFLaFLaFMaFLaFLaFNaFOaCMaaaaBYaFPaElaFQaEnaFRaBYaaaazJazOazPaFSaFTaFUaFTaFVazPazQaFWayLayLayLayLaFXaCfaCgazTaCfaFYaFZazTaGaarAaGbaGcaGdarEaAiaDeaDfazkaCoaDeaCpaGjaGkaGlaGmaBjaBjaBjaBjaBjaBjaGnaGoaGpaGqaDpaGraGsaDsaDsaDsaDsaDsaDsaDsaDsaDsaFaaFbaDsaDsaFaaGtaDsaDsaaaaaaaDCaDCaDCaDCaDCaFyaFzaFdazlaznaDCaDCaDCaDCaDCaGDaGEaGFaGFaGFaGFaGFaGFaGGaGGaGHaGGaGGaGGaGGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaFraGIaGJaGKaFlaGLaFlaGLaFlaGLaFlaGLaFlaGMaGNaGOaDPayuaBLaGPaFAaGRaGSaGTaGUaCEaFBaFDaFCaFCaFCbazaFEaFCaHcaFLaFLaFLaFLaFLaFLaFLaFNaHdaCMaafaBYaHeaHfaHgaHhaHiaBYaafazJazOazPaHjaHkaFUaHlaHmazPaHnaHoayLaHpazTaARaHqaATaHrazTaCfaFYaHsazTaHtarAaHuaHvaHwarEaGuaDyaEUaGvaDwaDxaEVaEWatEaHCaHDaBjaHEaBjaHFaBjaHGaBjaHHaGpaHIaDpaHJaHKaHLaHMaHMaHNaHOaHKaHKaHKaHKaHKaHPaHKaHKaHKaHQaHVaDsaDsaDsaDCaGAaGBaHWaHXaHYaIaaDCaDCaIcaDCaIdaIeaIfaIgaGFaIhaGFaIiaIjaIkaIlbinaInaIoaIpaIqaIraIsbjFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaIwaFlaFlaDKaFlaGLaFlaGLaIxaGLaIyaGLaFlaGMaGNaGOaDPaFFaIAaIAaFGaICaIDaICaIAaIAaIEaIFaFCaGQaFHaGWaGVaFCaIKaILaIMaFLaFLaINaFLaIOaIPaIKaCMaaaaBYaBYaIQaIRaIQaBYaBYaaaazJazOazPaISaITaIUaFTaIVazPaIWaIXayLaIYazTaIZaEwaCfaJaaEyaATaJbaJcazTaJdaJeaJfaJgaJhaMbaECaCuaCuaCuaCuaCuaJjaJkaJlaJmaJnaBjaJoaBjaJpaBjaJqaBjaJraGpaJsaJtaGsaGsaDqaJvaDsaDsaJwaDsaDsaJxaDsaGsaJyaGsaGsaGsaJzaHZaJBaJAaJAbrpaJHaKbaJGaJGaYnbpvaIgaJIaJJaJKaJLaJMaJNaIgaJOaJPaGFaJQaJRaJSaJTbinaJUaIoaJVaBtaGGaGGaGGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaFraJXaGJaGKaFlaGLaFlaGLaFlaGLaFlaGLaFlaGMaGNaGOaDPaGYaGXaHaaGZaHbaHbaIBaIzaIHaIGaIJaIIaJZaJYatiaKaaFCaIKaKmaKnaKoaKpaIKaKqaKraKsaKtaKuaaaaafaaaaKvaKwaKvaaaaafaaaaKuazOazPaKxaKyaKzaKAaKBazPaKCaKDayLaKEazTaARaKFaKGaHrazTaKHaKIaKJaKKaKLaJeaEDaKNaKOaKPaEEaKRaaaaaaaJlaKSaKTaKUaJlaKVaJnaJnaJnaKWaJnaJnaJnaBjaDpaKXaDpaDpaDpaDpaKYaDpaKZaLaaLbaLcaLdaLeaLfaLgaLhaLfaLfaLfaLfaLfaLiaLfaLfaLfaLfaLfaLfaLfaLfaAraIgaLjaLkaLlaEFaLnaLoaIgaLpathaGFaLraLsaLtaJTaRraJUaIoaJVaIoaLvaLwaLxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaLyaLzaDJaFkaFlaFlaFlaLAaFlaFlaLBaFlaFlaFraLCaLDaDPaLEaLFaLGaLHaLGaLGaLGaLGaLGaLIaLJaFCaFCaFCaFCaFCaFCaLLaLMaLNaLOaLOaLOaLOaLPaLQaLRaKuaLSaLTaLTaLUaLVaLWaLTaLTaLXaKuaLYaKuaKuaLZaMaaLZaJeaJeaMbaMcaJeaJeaJeaJeaMdaMeaMgaMfaMhaMiaJeaJeaJeaJeaMjaKNaMkaMkaMlaMmaMnaMoaJlaMpaMqaMraJlaJlaJlaJlaJlaJlaJlaJlaBjaBjaMsaMtaMuaMvaMwaMxaMyaMzaKZaMAaMBaMCaMCaMDaLfaMEaMFaMGaMHaMIaMJaMKaMLaMMaMNaMHaMJaMIaMHaMOaLfaAraIgaMPaMQaMRaMSaMTaMUaIgaMVaMWaMXaMYaMZaNaaNbaGFaGGaNcaJVaIoaNdaNeaNfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaaaaaaaaaaaaLyaDJaDKaDJaDJaDLaDMaDJaDJaDKaLzaNgaBIaNhaLEaNiaNjaNjaNkaNjaNlaIAaNmaNnaLJaNoaNpaNqaNraNsaNtaNraNuaNraNraNraNvaNraNraNwaNxaNyaNzaNAaNBaNzaNCaNzaNzaNzaNzaNDaNEaNFaNGaNraNHaNIaNJaNKaNLaNMaNLaNNaNOaNPaNQaNQaNRaNSaNTaNSaNUaNVaNWaEGaNYaNZaOaaObaOcaMkaMkaMkaOdaOeaOfaOgaOhaOiaOjaOkaOlaOmaOnaJlaOoaOpaOqaOraOsaOtaOuaOvaOwaOxaKZaOyaOzaOAaOAaOBaLfaOCaODaOEaOEaOEaOEaOFaOGaOHaOIaOJaOKaOKaOLaOMaLfaAraIgaONaOOaOPaOQaONaONaIgaORaOSaGFaOTaOUaOVaOWaGFaIoaIoaJVaIoaGGaGGaGGaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaOXaOYaOZaPaaPaaPaaPaaPbaOYaOXaaaaBIaPcaPdaPeauMatQaPhaPhaPiaIAaPjaNnaPkaPlaPmaPnaPoaPpaPqaPqaPraPsaPsaPsaPtaPuaPuaPvaPwaNIaPqaPqaPxaPyaPzaPAaPBaPBaPCaPBaPDaPyaPyaPyaPEaPFaPGaPHaMkaPIaPJaPJaPJaPJaPJaPJaPJaPJaPKaPJaPLaPMaPNaPOaPPaPQaPRaPSaPTaPJaPUaPJaPVaPWaPXaPWaPWaPWaPWaPWaPWaPYaPZaRsaQbaQbaQbaQcaQbaQbaQdaQeaQfaQgaKZaQhaMCaQiaQjaQkaLfaQlaQmaQnaQnaQnaQnaQnaQoaQpatjaQraQnaQnaQsaQtaLfaAraIgaQuaONaONaQvaONaQwaIgaGFaGFaGFaGFaGFaGFaQxaGFaIoaIoaJVaIoaQyaQzaGGaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaafaBIawqaBIaQBaQCaGOaQDaQEaQFaQGaGOaQCaQHaQIaBIaQJaLEaPeatgaQLaPhaPhaPiaIAaQMaNnaLJaQNaNpaQOaQPaNraNraQQaQRaQSaQTaNraQUaQVaQWaQVaQXaQYaQVaQVaQZaQVaQVaRaaRbaQVaRcaQVaRdaNraNraNraReaPFaPGaPHaMkaRfaMkaRgaRgaRgaRgaRgaRgaRgaRgaRhaRiaRgaRjaRgaRgaRkaRgaRgaRgaRgaRlaRmaRnaRoaRoaRoaRoaRoaRoaRoaRpaRqaRpaJlaImawOawOawOawOawOaItaRuaRvaRwaKZaKZaKZaKZaKZaRxaLfaRyaQmaQnaRzaRAaRBasPaRDaREaRFaQraRGaRHaRIaRJaLfaAraIgaRKaRKaRLaRMaRNaRNaROaIgaRPaRQaRRaGGaRSaRTaRUaRVaRVaRWaRXaGGaRYaGGaRZaRZaRZaSaaSbaScaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaGeaGgaGgaGiaGfaGhaSdaOYaLDaDPaHxaHxaSfaLDaOYaLDaHyaHAaHzaLEaSkaSlaSlaNkaSlaNlaIAaSmaNnaSnaIAaLKaLKaSoaLKaLKaLKaLKaLKaLKaSpaSqaLKaLKaLKaLKaLKaLKaSraSsaSraLKaStaLKaNraQPaSuaSvaSwaSxaNraSyaLKaMbaMbaMkaSzaKOaSAaMnaMnaSBaSBaSBaSBaSCaJeasfasNarVarXarXavParXarXarVasNawFaJeaSJaSKaSKaSKaSKaSLaSLaSMaSNaRqaRpaJlaSOaSPaSPaSPaSPaSPaSPaSQaSRaSSaSTaSUaSVaSWaSXaSYaKZaKZaSZaTaaTbaTcaTdaTeaTeaTeaTfaTgaTfaTeaTeaTeaTeaAraIgaThaONaRLaRMaONaONaTiaIgaTjaTkaTlaGGaIoaTmaTnaToaTpaTqaIoaTraTsaGGaTtaTuaRZaTvaTwaTxaafaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaKQaNXaLmaKMaQAaSgaSeaSiaShaSjaSiaTzaTyaTBaTAaTEaTCaTAaTFcozaTIaTJaTKaTLaTLaTLaTMaTLaTNaTOaIAaTPaTQaTRaTSaTTaTUaTVaTWaTXaTUaTYaTZaUaaUbaUcaUdaUeaUfaUgaUhaUeaUiaLKaLKaUjaLKaLKaLKaLKaUkaUlaLKaUmaMbaUnaSzaKOaUoaaaaaaaaaaaaaaaaaaaaaaUpaUqaUraUsaUtaUvaUuaUxaUwaUzaUyaVUaUpaaaaaaaaaaaaaaaaaaaaaaUAaSNaRqaUBaUCaUDaUEaUFaUFaUFaUFaUGaUHaUIaUFaUFaUFaUJaUKaULaUMaUNaUOaUPaUQaURaUSaUTaTfaUUaUVaUWaUXaUYaUZaVaaVbaTeaAraIgaVcaVcaRLaRMaVdaVdaVeaIgaIgaVfaIgaGGaVgaVhaViaViaViaVjaVkaGGaGGaGGaVlaVmaVnaVoaVpaVqaafaafaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaKQcmVaVrclfaDPaVsaVsaVtaVsaVsaVsaVDaVsaVsaVtaVsaVsaYEaWYaVuaVvaKdaKdaKdaKdaKdaVwaVxaVyaVzaIAaTQaTQaVAaTSaVBaTUaTUaTUaTUaTUaTYaVCaTUaTUaTUaUdaUeclraVEaVFaUeaUiaVGaVHaKeaKcaVKaUmaVLaVMaVNaVOaVPaVQaMkaSzaKOaUoaaaaaaaaaaaaaUpaUpaUpaUpaVRaVSaVTaXEaVVaVWaVXaXFaVZaWaaWbaUpaUpaUpaUpaaaaaaaaaaaaaUAaSNaRqaRpaWcaSSaWdaWeaWfaSSaWgaWhaWiaWjaWkaWlaWmaWnaQbaWoaWpaWqaWraWsaWtaWtaWuaWvaWwaWxaWyaWzaWAaWBaWCaWDaWEaTeaAraIgaThaONaRLaRMaONaONaONaWFaWGaONaWHaGGaWIaWJaToaToaToaTqaIoaYsaGGaQaaVoaLuaWQaVoaWRaWSaWTaWTaWUaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTGaGgaTHaGiaBIaBIaBIaWVaWWaWWaWWaWWaWWaWWaWWaWXaBIaBLcpSaWZaIAaXcaXbaXbaXbaYraXdaIAaIAaIAaIAaTQaXeaXfaTSaXgaTUaTUaXhaXiaXjaXkaXhaTUaTUaTUaXlaUeaXmaXnaXoaUeaUiaVGaXpaKfaXraXsaUmaXtaVPaXuaXvaXwaXxaMkaSzaKOaMmaSCaMbaXyaUpaUpaVYaXAaXzaXCaXDaXDaXEaXFaXGaXEaXFaXDaXDaXHaXIaXJaXBaUpaUpaXyaJlaXLaXMaSNaRqaRpaJlaXNaWdaXOaWfaSSaXPaXQaSSaXRaXSaWfaSSaXTaOtaXUaXVaUQaXWaXXaXYaXZaYaaYbaYcaYdaYeaYfaYgaWBaYhaWDaYiaTeaAraIgaYjaYjaRLaRMaYkaONaONaYlaONaYmaAsaGGaIoaYoaYpaToaYqaZkaZXaWLbaOaYGaWOaZcaVoaYvaYwaYxaYyaYzaYAaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaYVaaaaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaafaYCaYDcpKaYFaWPaYHaYHaYIaYJaYKaYLaYMaYNaYOaYPaYQaYRaYSaTSaYTaTUaTUaXhaXjaYUbbTaXhaTUaTUaYWaUdaUeaUeaUeaUeaUeaUiaVGaVGaVGaVGaVGaUmaYYaXvaYZaXvaXvaXxaMkaSzaKOaNSaNSaZaaZbaWNaUpaZdaZeaZfaZgaZfaZfaZfaZfaZhaZfaZfaZfaZfaZfaZfaZiaZjaUpaWMaZbaZlaZmaZnaSNaRqaRpaWcaSSaSSaSSaSSaSSaXPaZoaSSaXRaZpaWfaSSaXTaOtaZqaXVaUQaZraZsaZtaZuaYaaZvaZwaYdaYeaYfaYgaWBaYhaZxaZyaZzaZAaZzaZzaZzaZBaZCaZDaZEaOOaZFaZGaZHaZIaGGaZJaZKaZLaToaZMaZLaIoaIoaXaaYtaVoaYuaVoaZNaZOaZPaZQaWTaZRaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaZSaZTaZUbjnaZWaSFaZYaZZbaababbacbadbaebafaYObagbahbaibajaTSbakbalbambanbaobapbaqbarbarbarbasbataTSbaubavbawbaxaKgbajbnZaKhbajbaCaUmbaDbaEbaFbaGbaHbaIaMkbaJbaKaMkbaLbaMbaNbcybaPbaQbaRbaQbaSbaTbaUbaVbaWbaXbaYbaZbbabbbbbcbaQbbdbbebbfbeobbhbbibbjbbkbblbbmbbnaJlaUDaWdbboaWfaSSbbpbbqbbrbbsaXOaWfaSSaXTbbtaULaXVbbubbvbbwaUQaUQaYabbxbbybbzbbAbbBaYgaWBbbCaWDbbDaZzbbEbbFbbFbbGbbHbbIaRLaRLaRLaRLaRLaRLaRLaGGbbJaYoaYpaToaYqaYpaIobbKaGGbbLaVoaYuaVoaZNbbMbbNbbOaafbbPaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBbbQbbRbbScqObbUaSFbaabaabaabaabaabbVbaabbWaYObbXbbYbaibbZbbZbbZbbZbcabbZbcbaTUbccbcdbcebcebcfbcgaTSaXebchbcibcjaKiaKjblcaKkbcobcobcpbcpbcpbcpbcpbcqaMbbcrbcsbctbcubcvbcwbcxbbgaUpbczbcAbcBbaBaUpaUpaUpaUpaUpbcDaUpaUpaUpbcCbcFbcGbczaUpbbgbcxbcHbcIbcJbcKbcLaRpaWcaSSaSSaSSaSSaSSaGpbcMaSSbcNaSSbcObcObcObcObcPbcQbcRbcSaUQaUQaUQbcTbcUaTeavybcWbcXaYgaWBaYhaWDbcYaZzbcZbdabdbbdcbddbdebddbddbddbddbddbdfbdgbdhbdibdjbdkbdlbdmbdnbdobdpbdqbdraVoaYubdsaZNaVobdtbbOaafaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaDIaDNaDJaFkaFlaFlaFmaFnaFoaFpaFqaFlaFlaFraFsaFtaDPayuaBLaFvayxaBMazCaBMaBNaCDavHaFuaDQaFxaBsaFwaEZaFIaFJaFKaFLaFLaFLaFMaFLaFLaFNaFOaCMaaaaBYaFPaElaFQaEnaFRaBYaaaazJazOazPaFSaFTaFUaFTaFVazPazQaFWayLayLayLayLaFXaCfaCgazTaCfaFYaFZazTaGaarAaGbaGcaGdarEaAiaDeaDfazkaCoaDeaDuaCpaGkaGlaGmaBjaBjaBjaBjaBjaBjaGnaGoaGpaGqaDpaGraGsaDsaDsaDsaDsaDsaDsaDsaDsaDsaFaaFbaDsaDsaFaaGtaDsaDsaaaaaaaDCaDCaDCaDCaDCaEWaEVaFdazlaznaDCaDCaDCaDCaDCaGDaGEaGFaGFaGFaGFaGFaGFaGGaGGaGHaGGaGGaGGaGGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaFraGIaGJaGKaFlaGLaFlaGLaFlaGLaFlaGLaFlaGMaGNaGOaDPayuaBLaGPaFAaGRaGSaGTaGUaCEaFBaFDaFCaFCaFCbazaFEaFCaHcaFLaFLaFLaFLaFLaFLaFLaFNaHdaCMaafaBYaHeaHfaHgaHhaHiaBYaafazJazOazPaHjaHkaFUaHlaHmazPaHnaHoayLaHpazTaARaHqaATaHrazTaCfaFYaHsazTaHtarAaHuaHvaHwarEaGuaDyaEUaGvaDwaDxaFzaFyatEaHCaHDaBjaHEaBjaHFaBjaHGaBjaHHaGpaHIaDpaHJaHKaHLaHMaHMaHNaHOaHKaHKaHKaHKaHKaHPaHKaHKaHKaHQaHVaDsaDsaDsaDCaGAaGBaHWaHWaHXaGjaDCaDCaIcaDCaIdaIeaIfaIgaGFaIhaGFaIiaIjaIkaIlbinaInaIoaIpaIqaIraIsbjFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaIwaFlaFlaDKaFlaGLaFlaGLaIxaGLaIyaGLaFlaGMaGNaGOaDPaFFaIAaIAaFGaICaIDaICaIAaIAaIEaIFaFCaGQaFHaGWaGVaFCaIKaILaIMaFLaFLaINaFLaIOaIPaIKaCMaaaaBYaBYaIQaIRaIQaBYaBYaaaazJazOazPaISaITaIUaFTaIVazPaIWaIXayLaIYazTaIZaEwaCfaJaaEyaATaJbaJcazTaJdaJeaJfaJgaJhaMbaECaCuaCuaCuaCuaCuaIaaHYaJlaJmaJnaBjaJoaBjaJpaBjaJqaBjaJraGpaJsaJtaGsaGsaDqaJvaDsaDsaJwaDsaDsaJxaDsaGsaJyaGsaGsaGsaJzaHZaJkaJjaJBaJAaJHaJGaKbaKbaKUaKTaIgaJIaJJaJKaJLaJMaJNaIgaJOaJPaGFaJQaJRaJSaJTbinaJUaIoaJVaBtaGGaGGaGGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaFraJXaGJaGKaFlaGLaFlaGLaFlaGLaFlaGLaFlaGMaGNaGOaDPaGYaGXaHaaGZaHbaHbaIBaIzaIHaIGaIJaIIaJZaJYatiaKaaFCaIKaKmaKnaKoaKpaIKaKqaKraKsaKtaKuaaaaafaaaaKvaKwaKvaaaaafaaaaKuazOazPaKxaKyaKzaKAaKBazPaKCaKDayLaKEazTaARaKFaKGaHrazTaKHaKIaKJaKKaKLaJeaEDaKNaKOaKPaEEaKRaaaaaaaJlaKSaMraMqaJlaKVaJnaJnaJnaKWaJnaJnaJnaBjaDpaKXaDpaDpaDpaDpaKYaDpaKZaLaaLbaLcaLdaLeaLfaLgaLhaLfaLfaLfaLfaLfaLiaLfaLfaLfaLfaLfaLfaLfaLfaOfaIgaLjaLkaLlaEFaLnaLoaIgaLpathaGFaLraLsaLtaJTaRraJUaIoaJVaIoaLvaLwaLxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaLyaLzaDJaFkaFlaFlaFlaLAaFlaFlaLBaFlaFlaFraLCaLDaDPaLEaLFaLGaLHaLGaLGaLGaLGaLGaLIaLJaFCaFCaFCaFCaFCaFCaLLaLMaLNaLOaLOaLOaLOaLPaLQaLRaKuaLSaLTaLTaLUaLVaLWaLTaLTaLXaKuaLYaKuaKuaLZaMaaLZaJeaJeaMbaMcaJeaJeaJeaJeaMdaMeaMgaMfaMhaMiaJeaJeaJeaJeaMjaKNaMkaMkaMlaMmaMnaMoaJlaMpaWxaOgaJlaJlaJlaJlaJlaJlaJlaJlaBjaBjaMsaMtaMuaMvaMwaMxaMyaMzaKZaMAaMBaMCaMCaMDaLfaMEaMFaMGaMHaMIaMJaMKaMLaMMaMNaMHaMJaMIaMHaMOaLfaOfaIgaMPaMQaMRaMSaMTaMUaIgaMVaMWaMXaMYaMZaNaaNbaGFaGGaNcaJVaIoaNdaNeaNfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaaaaaaaaaaaaLyaDJaDKaDJaDJaDLaDMaDJaDJaDKaLzaNgaBIaNhaLEaNiaNjaNjaNkaNjaNlaIAaNmaNnaLJaNoaNpaNqaNraNsaNtaNraNuaNraNraNraNvaNraNraNwaNxaNyaNzaNAaNBaNzaNCaNzaNzaNzaNzaNDaNEaNFaNGaNraNHaNIaNJaNKaNLaNMaNLaNNaNOaNPaNQaNQaNRaNSaNTaNSaNUaNVaNWaEGaNYaNZaOaaObaOcaMkaMkaMkaOdaOeaZAaYnaOhaOiaOjaOkaOlaOmaOnaJlaOoaOpaOqaOraOsaOtaOuaOvaOwaOxaKZaOyaOzaOAaOAaOBaLfaOCaODaOEaOEaOEaOEaOFaOGaOHaOIaOJaOKaOKaOLaOMaLfaOfaIgaONaOOaOPaOQaONaONaIgaORaOSaGFaOTaOUaOVaOWaGFaIoaIoaJVaIoaGGaGGaGGaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaOXaOYaOZaPaaPaaPaaPaaPbaOYaOXaaaaBIaPcaPdaPeauMatQaPhaPhaPiaIAaPjaNnaPkaPlaPmaPnaPoaPpaPqaPqaPraPsaPsaPsaPtaPuaPuaPvaPwaNIaPqaPqaPxaPyaPzaPAaPBaPBaPCaPBaPDaPyaPyaPyaPEaPFaPGaPHaMkaPIaPJaPJaPJaPJaPJaPJaPJaPJaPKaPJaPLaPMaPNaPOaPPaPQaPRaPSaPTaPJaPUaPJaPVaPWaPXaPWaPWaPWaPWaPWaPWaPYaPZaRsaQbaQbaQbaQcaQbaQbaQdaQeaQfaQgaKZaQhaMCaQiaQjaQkaLfaQlaQmaQnaQnaQnaQnaQnaQoaQpatjaQraQnaQnaQsaQtaLfaOfaIgaQuaONaONaQvaONaQwaIgaGFaGFaGFaGFaGFaGFaQxaGFaIoaIoaJVaIoaQyaQzaGGaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaafaBIawqaBIaQBaQCaGOaQDaQEaQFaQGaGOaQCaQHaQIaBIaQJaLEaPeatgaQLaPhaPhaPiaIAaQMaNnaLJaQNaNpaQOaQPaNraNraQQaQRaQSaQTaNraQUaQVaQWaQVaQXaQYaQVaQVaQZaQVaQVaRaaRbaQVaRcaQVaRdaNraNraNraReaPFaPGaPHaMkaRfaMkaRgaRgaRgaRgaRgaRgaRgaRgaRhaRiaRgaRjaRgaRgaRkaRgaRgaRgaRgaRlaRmaRnaRoaRoaRoaRoaRoaRoaRoaRpaRqaRpaJlaImawOawOawOawOawOaItaRuaRvaRwaKZaKZaKZaKZaKZaRxaLfaRyaQmaQnaRzaRAaRBasPaRDaREaRFaQraRGaRHaRIaRJaLfaOfaIgaRKaRKaRLaRMaRNaRNaROaIgaRPaRQaRRaGGaRSaRTaRUaRVaRVaRWaRXaGGaRYaGGaRZaRZaRZaSaaSbaScaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaGeaGgaGgaGiaGfaGhaSdaOYaLDaDPaHxaHxaSfaLDaOYaLDaHyaHAaHzaLEaSkaSlaSlaNkaSlaNlaIAaSmaNnaSnaIAaLKaLKaSoaLKaLKaLKaLKaLKaLKaSpaSqaLKaLKaLKaLKaLKaLKaSraSsaSraLKaStaLKaNraQPaSuaSvaSwaSxaNraSyaLKaMbaMbaMkaSzaKOaSAaMnaMnaSBaSBaSBaSBaSCaJeasfasNarVarXarXavParXarXarVasNawFaJeaSJaSKaSKaSKaSKaSLaSLaSMaSNaRqaRpaJlaSOaSPaSPaSPaSPaSPaSPaSQaSRaSSaSTaSUaSVaSWaSXaSYaKZaKZaSZaTaaTbaTcaTdaTeaTeaTeaTfaTgaTfaTeaTeaTeaTeaOfaIgaThaONaRLaRMaONaONaTiaIgaTjaTkaTlaGGaIoaTmaTnaToaTpaTqaIoaTraTsaGGaTtaTuaRZaTvaTwaTxaafaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaKQaNXaLmaKMaQAaSgaSeaSiaShaSjaSiaTzaTyaTBaTAaTEaTCaTAaTFcozaTIaTJaTKaTLaTLaTLaTMaTLaTNaTOaIAaTPaTQaTRaTSaTTaTUaTVaTWaTXaTUaTYaTZaUaaUbaUcaUdaUeaUfaUgaUhaUeaUiaLKaLKaUjaLKaLKaLKaLKaUkaUlaLKaUmaMbaUnaSzaKOaUoaaaaaaaaaaaaaaaaaaaaaaUpaUqaUraUsaUtaUvaUuaUxaUwaUzaUyaVUaUpaaaaaaaaaaaaaaaaaaaaaaUAaSNaRqaUBaUCaUDaUEaUFaUFaUFaUFaUGaUHaUIaUFaUFaUFaUJaUKaULaUMaUNaUOaUPaUQaURaUSaUTaTfaUUaUVaUWaUXaUYaUZaVaaVbaTeaOfaIgaVcaVcaRLaRMaVdaVdaVeaIgaIgaVfaIgaGGaVgaVhaViaViaViaVjaVkaGGaGGaGGaVlaVmaVnaVoaVpaVqaafaafaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaKQcmVaVrclfaDPaVsaVsaVtaVsaVsaVsaVDaVsaVsaVtaVsaVsaYEaWYaVuaVvaKdaKdaKdaKdaKdaVwaVxaVyaVzaIAaTQaTQaVAaTSaVBaTUaTUaTUaTUaTUaTYaVCaTUaTUaTUaUdaUeclraVEaVFaUeaUiaVGaVHaKeaKcaVKaUmaVLaVMaVNaVOaVPaVQaMkaSzaKOaUoaaaaaaaaaaaaaUpaUpaUpaUpaVRaVSaVTaXEaVVaVWaVXaXFaVZaWaaWbaUpaUpaUpaUpaaaaaaaaaaaaaUAaSNaRqaRpaWcaSSaWdaWeaWfaSSaWgaWhaWiaWjaWkaWlaWmaWnaQbaWoaWpaWqaWraWsaWtaWtaWuaWvaWwbbEaWyaWzaWAaWBaWCaWDaWEaTeaOfaIgaThaONaRLaRMaONaONaONaWFaWGaONaWHaGGaWIaWJaToaToaToaTqaIoaYsaGGaQaaVoaLuaWQaVoaWRaWSaWTaWTaWUaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTGaGgaTHaGiaBIaBIaBIaWVaWWaWWaWWaWWaWWaWWaWWaWXaBIaBLcpSaWZaIAaXcaXbaXbaXbaYraXdaIAaIAaIAaIAaTQaXeaXfaTSaXgaTUaTUaXhaXiaXjaXkaXhaTUaTUaTUaXlaUeaXmaXnaXoaUeaUiaVGaXpaKfaXraXsaUmaXtaVPaXuaXvaXwaXxaMkaSzaKOaMmaSCaMbaXyaUpaUpaVYaXAaXzaXCaXDaXDaXEaXFaXGaXEaXFaXDaXDaXHaXIaXJaXBaUpaUpaXyaJlaXLaXMaSNaRqaRpaJlaXNaWdaXOaWfaSSaXPaXQaSSaXRaXSaWfaSSaXTaOtaXUaXVaUQaXWaXXaXYaXZaYaaYbaYcaYdaYeaYfaYgaWBaYhaWDaYiaTeaOfaIgaYjaYjaRLaRMaYkaONaONaYlaONaYmaAsaGGaIoaYoaYpaToaYqaZkaZXaWLbaOaYGaWOaZcaVoaYvaYwaYxaYyaYzaYAaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaYVaaaaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaafaYCaYDcpKaYFaWPaYHaYHaYIaYJaYKaYLaYMaYNaYOaYPaYQaYRaYSaTSaYTaTUaTUaXhaXjaYUbbTaXhaTUaTUaYWaUdaUeaUeaUeaUeaUeaUiaVGaVGaVGaVGaVGaUmaYYaXvaYZaXvaXvaXxaMkaSzaKOaNSaNSaZaaZbaWNaUpaZdaZeaZfaZgaZfaZfaZfaZfaZhaZfaZfaZfaZfaZfaZfaZiaZjaUpaWMaZbaZlaZmaZnaSNaRqaRpaWcaSSaSSaSSaSSaSSaXPaZoaSSaXRaZpaWfaSSaXTaOtaZqaXVaUQaZraZsaZtaZuaYaaZvaZwaYdaYeaYfaYgaWBaYhaZxaZyaZzbcZaZzaZzaZzaZBaZCaZDaZEaOOaZFaZGaZHaZIaGGaZJaZKaZLaToaZMaZLaIoaIoaXaaYtaVoaYuaVoaZNaZOaZPaZQaWTaZRaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaZSaZTaZUbjnaZWaSFaZYaZZbaababbacbadbaebafaYObagbahbaibajaTSbakbalbambanbaobapbaqbarbarbarbasbataTSbaubavbawbaxaKgbajbnZaKhbajbaCaUmbaDbaEbaFbaGbaHbaIaMkbaJbaKaMkbaLbaMbaNbcybaPbaQbaRbaQbaSbaTbaUbaVbaWbaXbaYbaZbbabbbbbcbaQbbdbbebbfbeobbhbbibbjbbkbblbbmbbnaJlaUDaWdbboaWfaSSbbpbbqbbrbbsaXOaWfaSSaXTbbtaULaXVbbubbvbbwaUQaUQaYabbxbbybbzbbAbbBaYgaWBbbCaWDbbDaZzbnybbFbbFbbGbbHbbIaRLaRLaRLaRLaRLaRLaRLaGGbbJaYoaYpaToaYqaYpaIobbKaGGbbLaVoaYuaVoaZNbbMbbNbbOaafbbPaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBbbQbbRbbScqObbUaSFbaabaabaabaabaabbVbaabbWaYObbXbbYbaibbZbbZbbZbbZbcabbZbcbaTUbccbcdbcebcebcfbcgaTSaXebchbcibcjaKiaKjblcaKkbcobcobcpbcpbcpbcpbcpbcqaMbbcrbcsbctbcubcvbcwbcxbbgaUpbczbcAbcBbaBaUpaUpaUpaUpaUpbcDaUpaUpaUpbcCbcFbcGbczaUpbbgbcxbcHbcIbcJbcKbcLaRpaWcaSSaSSaSSaSSaSSaGpbcMaSSbcNaSSbcObcObcObcObcPbcQbcRbcSaUQaUQaUQbcTbcUaTeavybcWbcXaYgaWBaYhaWDbcYaZzbnCbdabdbbdcbddbdebddbddbddbddbddbdfbdgbdhbdibdjbdkbdlbdmbdnbdobdpbdqbdraVoaYubdsaZNaVobdtbbOaafaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBbdubdvaZUbdwbdxaSFaYHbdybaababbdzbbVbaabdAaYObdBbdCbaibbZbdDbdEbdFbdGbbZbdHbdIbdJaTSbdKbdLbdMbdNaTSaXebdObdPbdPaKlbdPbdPbdPbdPbdRbdSbdSbdSbdTbdSbdUaMbbdVbdWbdXaJeaJeaJebdYbdYbdYbdZbeabdZbdYbebbebbebbebbebbecbebbebbebbedbedbeebedaUpaUpaUpaJiaJiaJibcKbcLaRpaJlbefbegaDmbehaSSbeibcMbejbekbelbcObcObembenaZzaZzaZzaSHaSGaSGaSGaZzaZzaZzbeqberbesbetaWBaYhaYhbeuaZzbevbewbexaZzbeybezbeAaZEbeBbeCbeDbeEaONaGGaIobeFbeGbeHbeFbeIaIoaIoaGGbeJaVoaYuaVoaZNbeKbeLbbOaafbeMaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBbeNbeObePbeQbeRaRtaYHbeTbeUaYHbdzbbVbeVbeWaYObeXbeYbaibbZbbZbbZbeZbfabbZbfbbdIbfcaTSbdKbdLbdMbfdaTSaXebdObdPbfebffbfgbfgbfhbdPbfibfjbfkbflbfmbfmbfmaMbaMkbcsbctaJebfnbfobfpbfqbfrbfsbftbfubdYbebbfvbfwaSEaSDbfzbfAbfBbebbedbfCbfDbfEbfFbfGbfHbfIbfJaJibfKbfLbfMaJlaZzaZzaZzaZzbfNbfObfPbfQaZzaZzbfRaZzaZzaZzaZzbfSbfTbfUbfVbfVbfVbfWbfXaZzbfYbfZbgabgbbgcbgcbgcbgdaZzbevbewbgeaZzaZzaZzaZzaZzaZzaZzaZzaZzaZzaZzbgfbggbghbgibgjbgfbggaZzaRZbgkaVoaYuaVoaZNaZObglbgmaWTaZRaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaabgnbgobgpbgqaZUbgrbgrbgrbgrbgrbgrbgsbgtbgraYOaYOaYOaYOaYObguaYOaYOaYObgvbgvbgwbbZbdDbgxbeZbgybbZbgzbgAbgzaTSbdKbdLbdMbfdaTSaXebdObdPbgBbgCbgDbfgbgDbdPbfibgEbgFbgGbgHbgIbgJaMbbgKbgLbctaWKbgNbgObgPbgQbgQbgRbgSbgTbdYbebbgUbgVbgWbgXbfvbgYbgZbebbedbhabhbbhcbhdbhebhfbhgbhhaJibhibhjaRpbhkbhlbhmbewbewbhnbewbhobewbewbewbewbhpbewbewbewbewbhqbewbewbewbewbewbewbhmbewbewbhrbhsbhsbhtbhsbhsbhubhvbewbhqbhwbhxbhpbewbhybewbewbewbhzbhAbhBbhCbewbhDbewbhEbewbewbhFbhGbhHaVoaYuaVobhIbhJbhKbhLbhMbhNaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -7377,37 +7380,37 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaT aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaaaaaaaaaaaabgnbgobgpbgqbdvbpHbpHbpHbpIbpHbpJaZVbpKbpLbgrbpMbpNbpObpPbpQbpRbpSaYSaXeaXeaXebpTbkWbpUbkWbkWbkWbkWbpVbpWbpWbpXbpYbdPbpZbqabqbbqcbqdbqebqfbqgbqhbqibqjbqkbmAbqlbojbgGbgGbqmbfmaMbblqbqnbqoaJubqqbqrbqrbxqborbopbxsbotaafbebbebbebbebceebebbebbebbebaafbedbqzboCbqAbqBbqCbqDbqEaJibqFaRqaRpaJibqGbqHbqIbqJaJDbqLboPbqNboUboUboUboUboUboUbqObqPbqQboYbqRbqSbqTbnnbqUbqVbqWbpfbpgbphbpfbqXbYfaVJbpjbqYbqZbqZbrabrbbrcbrdbrdbrdbrebrdbrfbrgbrhbribrjbrkbnIbrlbpCbrmbrnbrocxlbnIbrqbpFbrrbnMaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaaaaaaaaaaabrsbrtbrubrvbrwbrxbrxbrybrzbrAbgrcedbrCbpPbrDbjpbjpbjpbajbrEbrFbrGbrHbrGbrGbrGbrHbrGbajbajbdPbdPbdPbrIbdPbrJbrJbrJbrJbrJbrJbqfbrKbrLbrMbrNbrObrPbrQbrRbrSbrTbrUbrVbrWbrXbrYbrZaHBbsbbqvbsabsebscbotbosbotaafbsibsjbskbslbsmbsnbskbsobsiaafbedbspbsqbspbedbedbedbsraJibssaRqaRpbXHboJboKbstbsubsvbqLbswbqNbsxbsybszbsAbsBbsCbqObsDbnibsEbsFbsGbsHbnnbsIbqVbpebpfbpgbphbpfbpibYfaVJbpjbsJbsKbsLbsMbplbsNbsObsPbsQbsRbsSbsTbsUbrhbsVbsWbsXbnIbsYbsZbtabtbbtcbtdbnIbrqbpFbtebnMaaaaaaaaaaaaaafaafaafaafceoceoceoceoaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaaaaacaaaaaaaaaaaaaaaaaaaaabrsbtfbtgbthbtibtibtibtjbtibtibgrbtkbtlbtmbpPbjpaaaaaaaaaaafaafbtnbtnbtnbtnbtnbtnbtnaaaaaabtobtpbtqbtrbtsbrJbrJbrJbrJbrJbrJbttbtubtvbtwbtxbtybtzbtAbfmbfmbtBbfmbfmbtCbtDbtEbtFbmGbtHbmGbmGbmGbmGbmGbtIbmGaafbtJbtKbtLbtMbtNbtMbtLbtObtPaafbspbtQbtRbtSbtTbtUbspbtVaJlbtWbbmbtXaJibtYbmUbtZbuabubbucbudbuebufbugbuhbuibujbukbulbumbnibnnbunbuobupbnnbuqburbusbutbuubuubuvbuwbYfaXqbpjbuxbplbplbsMbuybuzbuAbuBbuCbuDbuEbuFbuGbrhbuHbuIbuJbnIbuKbuLbuMbtbbpCbuNbnIbpEbpFbuObnMaaaaaaaaaaaaaafbuPbuQbuRbuQbuRbuQbuSaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabuTbeObuUbuUbuVbpHbuWbgnbgobuXbuWbgrbuYbuZbvabvbbjpaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnaaaaaabvcbvdbrJbvebvfbvfbvfbvfbvfbvgbvhbvfbvibvjbvkbvlbvmbvnbvobfmbvpbgGbvqbvrbvsbvtbvubvvbmGbmGbmGbvxbvybvzbvAbvBbvwaafbvDbvIbvHbvJbvKbvMbvNbvObvLaafbspbvPbvQbxnbedbvRbspbvSaJlbvTbcLbvUaJibvVbvWbvXbvYbvZbuccdTcdUbwcbwdbwebwebwfbwgcdWcdVbwjbwkbwlbwmbwkbwkbwkbwkbwnbwkbwkaXKaXKaXKaXKaVJbpjbsJbsKbsLbwobwpbwqbwrbwsbwsbwsbsSbwtbwubwvbwwbwxbwybnIbwzbwAbwBbwCbpCbwDbnIbwEbwFbnMbnMaaaaaaaaaaaaaafbwGbwHbwIbwJbwJbwKbwGaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbwMbwNbwObwPbrJbwQbrJbwRbwRbwRbwSbwTbrKbrJbrJbrLbwUbwVbwWbwXbwYbwZbxabgGbgGbxbbxcbvtbvubxdbxebxfbUbbxhbxibxjbxkbxlbvwaafbxmbqtbskbxobxpbxobskbqxbxraafbspbqwbxtcelbedbxvbspbtVaJlbxwbcLaRpaJibxxbxybxzbxAbxBbxCbxDbxEbxCbxFbxGbxHbxFbwkbxIbxJbwkbwkbxKbxLbxMbxNbxObxPbxQbxRbxSaXKbayaYXaXKaVJbpjbxXbqZbqZbxYbxZbppbyabwsbwsbwsbsSbwtbybbwwcbKbUabTQbwwbyfbygbyhbyibpCbyjbnIbrqbykbnMaaaaaaaaaaaaaaaaafbylbymbwIbwJbwIbynbuRaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbyobypbyobyqbyrbwQbrJbrJbrJbysbrJbwTbrKbytbdPbdPbyubgGbrNbwXbyvbywbyxbyybyybyzbyAbyBbyCbyDbvsbyEbTNbyGbxkbyHbyIbyJbvwaafbxrbxrbyKbtLbyLbskbyMbxrbxraafbyNbyNbyNbyNbyNbyNbyNbyOaJibyPblMblNaJibyQbyRbyRbySbyTbxCbyUbyVbyWbyXbyYbyZbzabwmbzbbzcbzdbzebzfbzgbzgbzhbzibzgbzjbzkbckbaAcekbclbdQbcnbzrbzsbztbzubzvbzwbppbzxbpqbpqbzybsSbwtbzzbzAbzBbzCbzDbzAbzEbzFbzGbzHbzIbwwbwwbzJbnMbnMbzKbzLbzLbzLbzMbzNbwGbwJbwIbwJbwJbzObwGaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaacaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbzPbzQbzPbzRbrJbwQbrJbzSbzSbzSbzSbwTbrKbzTbzUbdPbzVbgGbrNbwXbzWbzXbzYbgGblnbgGbzZbAabAbbAcbAdbyEbTMbAfbxkbxkbxkbAgbvwbAhbAhbAhbxrbAibxpbAibxrbAjbAjbAjbyNbAkbAlbAmbAnbAobApbAqaJibAraRqaRpaJibAsbAtbAubAvbAwbAxbAybAzbAAbABbACbADbAEbAFbAGbAHbAIbAJbAKbAIcaJbAMbANbAObnvblUbsdbnwbsgbsfbaAbPObpjbAWbAXbAYbAZbAZbppbBabBbbBcbppbBdbBebBfbBgbBhbBibBjbBkbBlbBlbBmbBnbBobTHbBqbBrbBsbBtbTIbBvbBwbBwbBxbBybBzbuQbuRbBAbuRbuQbBBaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabuTbeObuUbuUbuVbpHbuWbgnbgobuXbuWbgrbuYbuZbvabvbbjpaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnaaaaaabvcbvdbrJbvebvfbvfbvfbvfbvfbvgbvhbvfbvibvjbvkbvlbvmbvnbvobfmbvpbgGbvqbvrbvsbvtbvubvvbmGbmGbmGbvxbvybvzbvAbvBbvwaafbnDbvIbvHbvJbvKbvMbvNbvObnDaafbspbvPbvQbxnbedbvRbspbvSaJlbvTbcLbvUaJibvVbvWbvXbvYbvZbuccdTcdUbwcbwdbwebwebwfbwgcdWcdVbwjbwkbwlbwmbwkbwkbwkbwkbwnbwkbwkaXKaXKaXKaXKaVJbpjbsJbsKbsLbwobwpbwqbwrbwsbwsbwsbsSbwtbwubwvbwwbwxbwybnIbwzbwAbwBbwCbpCbwDbnIbwEbwFbnMbnMaaaaaaaaaaaaaafbwGbwHbwIbwJbwJbwKbwGaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbwMbwNbwObwPbrJbwQbrJbwRbwRbwRbwSbwTbrKbrJbrJbrLbwUbwVbwWbwXbwYbwZbxabgGbgGbxbbxcbvtbvubxdbxebxfbUbboObxibxjbxkbxlbvwaafbxmbqtbskbxobxpbxobskbqxbxraafbspbqwbxtcelbedbxvbspbtVaJlbxwbcLaRpaJibxxbxybxzbxAbxBbxCbxDbxEbxCbxFbxGbxHbxFbwkbxIbxJbwkbwkbxKbxLbxMbxNbxObxPbxQbxRbxSaXKbayaYXaXKaVJbpjbxXbqZbqZbxYbxZbppbyabwsbwsbwsbsSbwtbybbwwcbKbUabTQbwwbyfbygbyhbyibpCbyjbnIbrqbykbnMaaaaaaaaaaaaaaaaafbylbymbwIbwJbwIbynbuRaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbyobypbyobyqbyrbwQbrJbrJbrJbysbrJbwTbrKbytbdPbdPbyubgGbrNbwXbyvbywbyxbyybyybyzbyAbyBbyCbyDbvsbyEbpvbyGbxkbyHbyIbyJbvwaafbxrbxrbyKbtLbyLbskbyMbxrbxraafbyNbyNbyNbyNbyNbyNbyNbyOaJibyPblMblNaJibyQbyRbyRbySbyTbxCbyUbyVbyWbyXbyYbyZbzabwmbzbbzcbzdbzebzfbzgbzgbzhbzibzgbzjbzkbckbaAcekbclbdQbcnbzrbzsbztbzubzvbzwbppbzxbpqbpqbzybsSbwtbzzbzAbzBbzCbzDbzAbzEbzFbzGbzHbzIbwwbwwbzJbnMbnMbzKbzLbzLbzLbzMbzNbwGbwJbwIbwJbwJbzObwGaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaacaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbzPbzQbzPbzRbrJbwQbrJbzSbzSbzSbzSbwTbrKbzTbzUbdPbzVbgGbrNbwXbzWbzXbzYbgGblnbgGbzZbAabAbbAcbAdbyEbrpbAfbxkbxkbxkbAgbvwbAhbAhbAhbxrbAibxpbAibxrbAjbAjbAjbyNbAkbAlbAmbAnbAobApbAqaJibAraRqaRpaJibAsbAtbAubAvbAwbAxbAybAzbAAbABbACbADbAEbAFbAGbAHbAIbAJbAKbAIcaJbAMbANbAObnvblUbsdbnwbsgbsfbaAbPObpjbAWbAXbAYbAZbAZbppbBabBbbBcbppbBdbBebBfbBgbBhbBibBjbBkbBlbBlbBmbBnbBobTHbBqbBrbBsbBtbTIbBvbBwbBwbBxbBybBzbuQbuRbBAbuRbuQbBBaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbBCbwNbBDbBEbrJbwQbrJbrJbrJbrJbrJbwTbrKbzTbBFbdPbBGbgGbBHbBIbgGbBJbgFbgGbgGbBKbvsbvtbAbbAcbAdbyEbvwbBLbBMbBNbBMbBObvwbBPbBQbBRbAhbxrbBSbxrbAjbBTbBUbBVbyNbBWbBXbBYbBZbCabCabCbbCcbAraRqaRpaJibCdbCebCebySbCfbxCbCgbChbxCbCibCjbCjbCkbwkbClbCmbwkbwkbwkbwkbwkbwkbCnbwkbwkbwmbCoaXKaXKaXKaXKbSwbpjbwwbzAbzAbzAbzAbzAbzAbzAbzAbzAbzIbCrbCsbCtbBhbCubCvbCwbCxbCxbCxbCybCzbSubCBbCCbCDbCEbTGbCGbCHbCGbCIbCJbzKbzLbzMbCKbzNbCLaaaaafaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbzPbzQbzPbCMbCNbCObrJbrJbrJbCNbrJbwTbrKbzTbCPbdPbCQbgGbrNbwXbgGbqlbCRbgGbgGbCSbxcbvtbAbbCTbxcbCUbvwbCVbCWbCXbCYbxlbvwbCZbDabDbbDcbDdbvFbvEbDgbDhbDibDjbyNbDkbDlbDlbDmbDnbDobDpaJibDqbDrbDsaJibDtbCAbDvbDwbDxbDybDzbDAbyWbDBbDCbCjbDDbwmbDEbDFbwmbDGbDHbDIbDJbDKbDLbDMbCpbDNbDObDPbDQbDRbCpbVLbVMbDUbVAbDWbDXbDXbDYbDZbEabEbbEcbEdbEebEfbEabEgbEhbCvbEibEjbEkbwwbwwbwwbwwbwwcngcjDbEnbzKbzMbCJbEobEpbEqbErbEsbEtbEubEvaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbzPbzQbzPbCMbCNbCObrJbrJbrJbCNbrJbwTbrKbzTbCPbdPbCQbgGbrNbwXbgGbqlbCRbgGbgGbCSbxcbvtbAbbCTbxcbCUbvwbCVbvDbCXbCYbxlbvwbCZbDabDbbDcbDdbvFbvEbDgbDhbDibDjbyNbDkbDlbDlbDmbDnbDobDpaJibDqbDrbDsaJibDtbCAbDvbDwbDxbDybDzbDAbyWbDBbDCbCjbDDbwmbDEbDFbwmbDGbDHbDIbDJbDKbDLbDMbCpbDNbDObDPbDQbDRbCpbVLbVMbDUbVAbDWbDXbDXbDYbDZbEabEbbEcbEdbEebEfbEabEgbEhbCvbEibEjbEkbwwbwwbwwbwwbwwcngcjDbEnbzKbzMbCJbEobEpbEqbErbEsbEtbEubEvaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbEwbExbEwbEybEzbEAbEAbEAbEAbEAbEBbECbEDbzTbEEbdPbEFbEGbEHbEIbEJbtzbEKbELbEMbfmbtCbENbAbbEObEPbyEbvwbEQbERbESbBMbETbvwbEUbEVbEWbAhbEXbvCbEYbAjbFabFbbFcbyNbFdbFebFfbFgbDnbDobFhaJibxwaRqaRpbVjbFjbFkbFlbFmbFnbFobFpbFqbxCbxFbxFbFrbxFbwkbFsbFtbFubFvbFwbFxbDJbFybDLbFzbFAbFBbDObFCbFDbFEbFFbVlbDXbVybVAbFJbDXbDXbFKbFLbFMbFLbFLbFNbFObFPbFQbFRbFSbCvbFTbFUbFVbFWbFXbFYbFZbGabGbbGcbGdaafaafbCJbGebGfbGgbGhbGibGjbGkbCJaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbGlbGmbGnbdPbdPbGobwNbwNbwNbGpbdPbdPbGqbGrbGsbdPbGtbGtbGtbGubGtbGvbGwbGxbGybGzbtCbvtbAbbGAbGBbtCbtGbtGbtGbtGbtGbGCbtGbtGbtGbtGbtGbtGbshbtGbtGbtGbtGbtGbtGbtGbtGaJiaJiaJiaJiaJiaJibxwaRqaRpbVjbGEbFkbDubGGbDTbGIbGJbGKbGLbGMbGNbCjbGObGPbGQbGRbGSbGTbGUbGVbGWbGXbGYbGZbHabHbbHcbHdbHebHfbCpbUSbUfbwwbwwbwwbwwbwwbHibwwbwwbwwbzAbHjbzAbzAbHkbBhbCubCvbFTbHlbHmbHnbHobHpbHqbGabGbbGcbHraaaaaabCJbHsbHtbCJbBybCJbCJbBybCJaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabHuaafaaaaaaaaaaaabGtbHvbHwbHxbHybGvbHzbHAbHBbHCbtCbvtbAbbAcbAabHDbHEbHFbHGbHHbHIbHJbHKbHLbHMbHLbHNbHObqybHQbHRbAabHSbAabHTbAabzZbHUbHVbHWbHXbHYbHZbxwaRqbDsaJlbDtbFHbDtbGHbGHbxCbIbbIcbIdbIebIfbIgbIhbIibIjbIkbwmbIlbImbInbDJchqbIobIpbIqbIrbFDbIsbItbIubCpbIvbIwbIxbIybUdbIAbIBbICbIDbUcbIFbIGbIHbIIbIJbzAbIKbCubCvbILbIMbINbIObIPbIQbIRbGabGbbISbEnbEnbEnbCJbCJbCJbCJaaaaaaaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaaaaaaaaaaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabGtbITbIUbIVbIWbIXbIYbIZbJabJbbtCbvtbJcbJdbJebJebJfbJgbJhbJibJjbJgbJfbJebJebJebJkbJlbqsbJnbJobJebJebJebJpbJgbJhbJqbJrbJsbJtbJubJtbJvbJwbvUaJlbJybJxbJCbGFbLabKZbDzbLdbFibDVbxFbJDbCFbDSbDEbJGbwkbJHbJIbJJbDJbJKbJLbJMbJNbJObFDbJPbItbJObCpbJQbJRbIxbJSbJTbJUbJVbJWbJXbJYbIFbJZbKabKbbKbbzAbKcbKdbKebKfbKgbKhbKibKjbKjbKkbGabGbbKlbEnbKmbKobKnbEnaafaafaafaafaafaafaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbKpbKqbKqbKrbKsbKsbKtbKtbKtbKtbKuaafaafaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabGtbITbIUbIVbIWbIXbIYbIZbJabJbbtCbvtbJcbJdbJebJebJfbJgbJhbJibJjbJgbJfbJebJebJebJkbJlbqsbJnbJobJebJebJebJpbJgbJhbJqbJrbJsbJtbJubJtbJvbJwbvUaJlbvLbJxbJCbGFbLabKZbDzbLdbFibDVbxFbJDbCFbDSbDEbJGbwkbJHbJIbJJbDJbJKbJLbJMbJNbJObFDbJPbItbJObCpbJQbJRbIxbJSbJTbJUbJVbJWbJXbJYbIFbJZbKabKbbKbbzAbKcbKdbKebKfbKgbKhbKibKjbKjbKkbGabGbbKlbEnbKmbKobKnbEnaafaafaafaafaafaafaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbKpbKqbKqbKrbKsbKsbKtbKtbKtbKtbKuaafaafaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnaaaaaaaaaaaaaaaaaaaaaaaabKvbKwbKxbKwbKyaaaaaaaaabGtbGtbKzbKAbIVbKAbKBbKCbHBbKDbKEbtCbKFbvtbKGbKHbAabKIbAabzZbHHbKJbAabKKbKLbKMbKNbKObAcbAabKPbKQbHLbKRbHLbHLbKSbKTbKUbKVbKWbKXbcLbKYaRpaRpaRpaJlbMsbGFbGFbFlbMwbMtbNYbMxbFIbLgbLhbLibLjbHgbDEbIkbIabIzbHhbDJbDJbLobLobLobCpbLpbLqbLrbLsbLtbCpbLubLvbIxbLwbFGbLybLzbLAbLBbLCbIFbLDbLEbKbbKbbzAbRsbLFbCvbwwbLGbLHbLIbLJbLKbLLbGabLMbLNbLObLObLObLPbGdaaaaaaaaaaaaaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafbLQbLRbLSbLRbKsbKtbKtbLTbLUbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabLVbLWbLXbLYbLVbLZbMabMbbGtbMcbMdbMebMfbMgbMhbMibMjbMjbMkbtCbtCbtCbMlbtCbtCbtCbtCbtCbtCbtCbtCbtCbtCbtCbtCbtCbMmbMnbMobtCbtCbtCbtCbtCbMpbtCaJlaJlaJlaJlbMqaJlaKSaMpbMraJlbMvbMubMubGFcIrbNXbDzcIsbxCbMybMzbMAbMBbwkbMCbMDbMEbMFbMGbMHbMIbMJbMKbMLbItbJObFDbFDbMMbJObCpbMNbMObMObMObMObMObMObMObMObMObMObMPbMQbMRbMRbzAbMSbMTbMUbwwbMVbMVbMVbMWbMXbMYbMVbMVbMVbMVbMVbMZbNabNbaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymbNdbLRbLRbNebKtbKtbLTbLTbNfbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabLVbLWbLXbLYbLVbLZbMabMbbGtbMcbMdbMebMfbMgbMhbMibMjbMjbMkbtCbtCbtCbMlbtCbtCbtCbtCbtCbtCbtCbtCbtCbtCbtCbtCbtCbMmbMnbMobtCbtCbtCbtCbtCbMpbtCaJlaJlaJlaJlbMqaJlaKSaMpbMraJlbwbbMubMubGFbxhbxCbDzcIsbxCbMybMzbMAbMBbwkbMCbMDbMEbMFbMGbMHbMIbMJbMKbMLbItbJObFDbFDbMMbJObCpbMNbMObMObMObMObMObMObMObMObMObMObMPbMQbMRbMRbzAbMSbMTbMUbwwbMVbMVbMVbMWbMXbMYbMVbMVbMVbMVbMVbMZbNabNbaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymbNdbLRbLRbNebKtbKtbLTbLTbNfbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabKxbNgbNhbNgbKxbNibNjbNkbNlbNmbNnbKAbNobNpbGvbNqbNrbNsbNtbGvbNubNvbNwbNxaaaaaaaaaaaabNybNzbNAbNBbNDbNCbNEbNFbNGbNHbNIbNFbNJbNKbNLbNMbNNbNObNPbNQbNRbNSbNTbNUbNUbNUbNUbDtbDtbPBbSnbQVbDtbxCbNZbOabObbMzbOcbOdbOebOfbOgbOhbOibOjbOkbOlbOmbOnbMKbOobFDbFDbOpbJObJObOobCpbMNbMObOqbOrbOsbOtbOubOvbOwbOxbMObOybOzbOAbOAbzAbOBbOCbCvbzIbODbOEbOFbOGbOHbOIbOJbOKbOLbOMbMVbEnbONbEnbOObOObOObOObOOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabOPbKtbNdbKtbKtbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabLVbNgbNgbNgbOQbORbKAbOSbOTbOUbKAbKAbOVbOWbGvbGvbGvbGvbGvbGvbOXbOYbOZbPaaaabPbbPcbPcbPdbPebPfbPgbPhbPfbPibNFbPjbPkbPlbNFbPmbPnbPobPpbPqbPrbPsbPtbPtbNSbPubPvbPwbPxbPybDtbUebLbbGFbGFbPAcIkbDzbPCbxCbPDbPEbPFbPGbwkbPHbPIbwkbPJbPKbPLbPMbPNbMKbCpbCpbCpbCpbCpbCpbCpbCpbPObMObPPbQYbPRbOsbOsbOsbOsbPSbMObPTbLEbPUbPUbzAbBhbPVbPWbPXbPYbPYbPYbPYbPZbQabQabQbbQcbQdbMVbQebQfbQgbOObQhcdbbQjbQkaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbKsbKtbQlbQmbQmbLTbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabKxbNhbNhbNhbKxbQnbQobQpbQqbQrbKAbKAbQsbQtbQubQvbQvbQvbQvbQvbQvbQwbQxbQyaaabQzbQAbQBbQCbQDbPfbQEbQGbQFbQHbNFbQIbQJbQKbNFbQLbQMbQNbQObQPbQQbQRbPtbQSbPxbQTbNUbPxbPxbQUbNVcIlbGFbGFbGFcIncImbQXbLebRCbQZbRabRbbRcbRGbDEbIkbSpbPJbPLbPLbPMbRfbMKbRgbRhbRibRjbRkbRlbRmbRnbPObMObOsbOsbRobOsbOsbOsbOsbRpbMObRqbLEbRrbRrbzAbRsbRtbRubRvbRwbRxbRybRybRzbRAbRybRybRybRBbRebRDbREbRFbRdbRHbRIbRJbRKaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabKtbKtbRLbLTbLTbLTbLTbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaabLVbRMbRNbRObLVbRPbMabMbbGtbGtbRQbRQbRQbGtbGtbNxbRRbRRbRSbRSbRSbRSbNwbQyaaabRTbRUbRVbRWbRXbRYbRZbSabSbbSbbScbSdbSebSfbNFbPtbPtbPtbPtbPtbSgbPtbPtbShbSibSjbNUbPxbSkbSlbDtcIobLbbPzbSmcIqcIpbSobJAbJBbSqbSrbSsbStbJzbFsbSvbIEbSxbSybSzbSAbSBbMKbSCbSDbSEbRjbSFbSGbSHbRnbPObMObMObMObRobOsbOsbOsbMObMObMObSIbSJbRrbRrbzAbSKbSLbCvbzIbSMbSNbSObSPbSQbSRbSSbQabSTbSUbMVbSVbQfbSWbOObSXbSYbSZbTaaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbKtbLTbLTbLTbLTbLTbLTbTbbLTbTcbLTbLTbLTbLTbLTbKtbKtaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabLVbNgbNgbNgbOQbORbKAbOSbOTbOUbKAbKAbOVbOWbGvbGvbGvbGvbGvbGvbOXbOYbOZbPaaaabPbbPcbPcbPdbPebPfbPgbPhbPfbPibNFbPjbPkbPlbNFbPmbPnbPobPpbPqbPrbPsbPtbPtbNSbPubPvbPwbPxbPybDtbUebLbbPzbGFbCWcIkbDzbPCbxCbPDbPEbPFbPGbwkbPHbPIbwkbPJbPKbPLbPMbPNbMKbCpbCpbCpbCpbCpbCpbCpbCpbPObMObPPbQYbPRbOsbOsbOsbOsbPSbMObPTbLEbPUbPUbzAbBhbPVbPWbPXbPYbPYbPYbPYbPZbQabQabQbbQcbQdbMVbQebQfbQgbOObQhcdbbQjbQkaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbKsbKtbQlbQmbQmbLTbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabKxbNhbNhbNhbKxbQnbQobQpbQqbQrbKAbKAbQsbQtbQubQvbQvbQvbQvbQvbQvbQwbQxbQyaaabQzbQAbQBbQCbQDbPfbQEbQGbQFbQHbNFbQIbQJbQKbNFbQLbQMbQNbQObQPbQQbQRbPtbQSbPxbQTbNUbPxbPxbQUbNVcIlbGFbJybGFcIncImbQXbLebRCbQZbRabRbbRcbRGbDEbIkbSpbPJbPLbPLbPMbRfbMKbRgbRhbMvbRjbRkbRlbNXbRnbPObMObOsbOsbRobOsbOsbOsbOsbRpbMObRqbLEbRrbRrbzAbRsbRtbRubRvbRwbRxbRybRybRzbRAbRybRybRybRBbRebRDbREbRFbRdbRHbRIbRJbRKaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabKtbKtbRLbLTbLTbLTbLTbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaabLVbRMbRNbRObLVbRPbMabMbbGtbGtbRQbRQbRQbGtbGtbNxbRRbRRbRSbRSbRSbRSbNwbQyaaabRTbRUbRVbRWbRXbRYbRZbSabSbbSbbScbSdbSebSfbNFbPtbPtbPtbPtbPtbSgbPtbPtbShbSibSjbNUbPxbSkbSlbDtcIobLbbJybSmcIqcIpbSobJAbJBbSqbSrbSsbStbJzbFsbSvbIEbSxbSybSzbSAbSBbMKbSCbSDbSEbRjbSFbSGbSHbRnbPObMObMObMObRobOsbOsbOsbMObMObMObSIbSJbRrbRrbzAbSKbSLbCvbzIbSMbSNbSObSPbSQbSRbSSbQabSTbSUbMVbSVbQfbSWbOObSXbSYbSZbTaaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbKtbLTbLTbLTbLTbLTbLTbTbbLTbTcbLTbLTbLTbLTbLTbKtbKtaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabTdbKwbTebKwbTfbTgaafaaaaaabGtbThbTibTjbGtaaabNxbTkbTlbTmbTnbTnbTnbTobQyaaabQzbTpbTqbTrbTsbPfbTtbTvbTubTwbNFcdabTybTzbTAbTBbTBbTBbTCbTCbTDbTEbULbPxbPxbTFbNUbNUbNUbNUbDtbDtbLfbLkbLcbDtbTJbTKbTLbJFbJEbTJbTObLlbLmbTRbTSbTJbMKbMKbMKbMKbMKbMKbTTbTUbTVbRjbTWbTXbTYbRnbPObMObTZbQWbPQbLxbLnbNWbNcbTZbUgbUhbUibIIbIJbzAbIKbSLbUjbwwbMVbMVbMVbMVbMVbUkbMVbUlbQabUmbMVbUnbUobUnbOObUpbUqbUrbOOaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabKtbUsbUsbUsbUsbUsbUsbUtbLTbUubUsbTcbLTbLTbLTbLTbKtaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbUvbNxbNxbNxbNxbRSbUwbNwbUxaaabUybPcbPcbUzbUAbPfbPfbUBbPfbUCbNFbUDbXubWibNFaLqaLqaLqaLqaLqaLqaLqaLqbUHbUIbUJbUKbUKbUMbNUbDtbUNbUObUPbUQbURbwabUTbUUbUVbUWbUXbUTbUYbUZbVabVbbVcbVdbVebVfbVgbVhbVibwbbVkbwbbRjboObVmboObRnbPObMObVnbWhbVpbVqbVrbVsbVtbVubUgbzAbVvbzAbzAbVwbCxbSLbCxbVxaafbnxbVzbrBbVBbVCbVBbVDbVEbVFbMVbVGbVHbVIbOObVJbVKbVKbwhaaLaaLaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwibLRbLRbLRbLRbLRbLRbLRbVNbLUbLTbLTbLTbLTbVObLUbKuaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabVPbVQbVQbVRbVSbNxbVTbRSbVUbNxaaaaaaaaaaaabNybVVbVWbVXbVZbVYbPfbNFbWabWbbNIbNFaLqbXybXAbXzbXwbXvbXxaLqcaqcaqcaqcaqcaqbTFbWjbWkbWlbWmbWnbWobWpbxgbWrbWsbWtbWubWtbWvbWtbWwbWxbWybWzbWAbWBbWAbWCbWDbWEbWFbWGbWHbWIbWJbWKbWLbWMbxVbMObxWbzmbzlbWSbWTbWUbWSbWSbWVbWWbWXbWYbWZbCxbCxbSLbCxbFTaafbnxbXabXbbXcbXdbXebXfbXgbXhbMVbXibVHbXjbOObOObOObOObOOaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabKtbQmbQmbQmbQmbQmbQmbXkbLTbQlbQmbXlbLTbLTbLTbLTbKtaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbUvbNxbNxbNxbNxbRSbUwbNwbUxaaabUybPcbPcbUzbUAbPfbPfbUBbPfbUCbNFbUDbXubWibNFaLqaLqaLqaLqaLqaLqaLqaLqbUHbUIbUJbUKbUKbUMbNUbDtbUNbPAbRibUQbURbwabUTbUUbUVbUWbUXbUTbUYbUZbVabVbbVcbVdbVebVfbVgbVhbVibRmbVkbTMbRjbTNbVmbTNbRnbPObMObVnbWhbVpbVqbVrbVsbVtbVubUgbzAbVvbzAbzAbVwbCxbSLbCxbVxaafbnxbVzbrBbVBbVCbVBbVDbVEbVFbMVbVGbVHbVIbOObVJbVKbVKbwhaaLaaLaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwibLRbLRbLRbLRbLRbLRbLRbVNbLUbLTbLTbLTbLTbVObLUbKuaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabVPbVQbVQbVRbVSbNxbVTbRSbVUbNxaaaaaaaaaaaabNybVVbVWbVXbVZbVYbPfbNFbWabWbbNIbNFaLqbXybXAbXzbXwbXvbXxaLqcaqcaqcaqcaqcaqbTFbWjbWkbWlbUObUPbWobWpbxgbWrbWsbWtbWubWtbWvbWtbWwbWxbWybWzbWAbWBbWAbWCbWDbWEbWFbWGbWHbWIbWJbWKbWLbWMbxVbMObxWbzmbzlbWSbWTbWUbWSbWSbWVbWWbWXbWYbWZbCxbCxbSLbCxbFTaafbnxbXabXbbXcbXdbXebXfbXgbXhbMVbXibVHbXjbOObOObOObOObOOaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabKtbQmbQmbQmbQmbQmbQmbXkbLTbQlbQmbXlbLTbLTbLTbLTbKtaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXmbXnbXobXpbRSbXqbXrbRSbXsbNxaaKaaaaaaaaabNybNybNybNybNybNybNybNFbUDbUEbXtbNFaLqbcVaPgaQqaQqaPgaPfaLqbcmaRCaRCaQKcaqbXBbDtbDtbXCbXDbXEbXFbXGblRbXIbXJbXKbXLbXMbXNbXObXPbXQbXRbXSbXTbXUbznbzpbzobAPbzqbARbAQbATbASbAVbAUbYfbYgbIwbYhbVobCqbWObWNbWPbYmbYnbYobYpbYqbYrbYsbYtbYrbYubYvbILaafbnxbXablSbVBbYxbVBbALbYzbYAbMVbXjbVHbYBbYCbUnaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbKtbLTbLTbLTbLTbLTbLTbTbbLTbXlbLTbLTbLTbLTbLTbKtbKtaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabYDbVQbVQbVRbYEbYFbYGbNxbYHbNxbYIbYJbYKbYIbYIbYLbYMbYNbYObYPbWfbWgbTxbQibUGbUFbWcaPgbWebWdboobnSbxubqMbDebxUbJmbHPcaqbZhbNSbZibZjbZkbZlbZlbZmbnEbZobZpbTJbTJbZqbZrbTJbTJbZsbnCbnybVibZvbWQbZxbZybZzbZybZAbnDbZCbnDbZAbWRbYfbMNbIwbZEbXWbXVbElbZIbZJbZKbMObMObwwbwwbwwbwwbwwboIbnFbofbwwbMVbMVbMVbMVbMVbUkbMVbMVbMVbMVbMVbZObZPbZQbZRbUnaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabKtbKtbRLbLTbLTbLTbLTbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabYDbVQbVQbVRbYEbYFbYGbNxbYHbNxbYIbYJbYKbYIbYIbYLbYMbYNbYObYPbWfbWgbTxbQibUGbUFbWcaPgbWebWdboobnSbxubqMbDebxUbJmbHPcaqbZhbNSbZibZjbZkbZlbZlbZmbnEbZobZpbTJbTJbZqbZrbTJbTJbZsbWmbWnbVibZvbWQbZxbZybZzbZybZAcbQbZCcbQbZAbWRbYfbMNbIwbZEbXWbXVbElbZIbZJbZKbMObMObwwbwwbwwbwwbwwboIbnFbofbwwbMVbMVbMVbMVbMVbUkbMVbMVbMVbMVbMVbZObZPbZQbZRbUnaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabKtbKtbRLbLTbLTbLTbLTbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaambZSaamaamaamaamaamaaaaaaaaaaaaaaaaaaaafaafaaaccBcbmcbmcbmccAcbmcbmcbkcblbYIbZYbZZbYIcbpcabcaccadcaecafcbncbocbCcbBcbAcbzcbyaPgbWecbqcbEbnScbDaLqcaqcaqcaqcaqcaqcarbNSbDtcascatcaucavcawcaxcaycazbTJcaAcaBcaCcaDcaEcaFcaGcaHcaIbZxbWQbEmbZycaKcaLbZAcaMcaNcaObZAbXXbYfbPObIwbXYbYabXZbXYbXYbIwbIwbIwcaRcaScaTcaUcaVbwwbwwcaWbwwbwwcaXcaYcaZcbabXjcbbbXjbXjcbccbdcbecbfcbgcbhbUnbUnbUnaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbKsbKtbUubUsbUsbLTbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafccZccYbYyccXccWbYUccRccSccTbYIcbrcbsbYIbYIcbtcbucbvcbwcbxccUccVbTxbQibUGccFccDaPgaPgccEccPaPgccQaLqcbFcbGcaqcbHcaqbTFcbIcbIcbIcbIcbIcbIcbIbTJcbJbTPbTJcbLcbMcbNcbOcaEcbPcbQcbRcaIbZxbWQbZxbZycbScbTbZAcbUcbVcbWbZAbXXbYfbYbbYdbYcbYiccCbYjbYcchBbYkbYlcktbZDbZwbZFcktccrbZGbZHccqccrccscctcctcctcctccucctcctcctcctcctccvccwccxccycczbUnbUnbUnbUnaaaaafaaaaaaaaaaahaahaahaafaaaaaaaafaaaaaaaafaaaaaabOPbKtbNdbKtbKtbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafbYebYebYybYRbYQbYUbYVbYSbYTbYIccGccHccIccJccKccLccMccNccObYWbYXbZbbZabYZbYYbZfbZebZdbZcbZVbZUbZTbZgcdccddaJEcdfcaqbTFcbIcdgcdhcdicdjcdkcdlcdmcdncdocdpcdqcdrcdscdtcaEcducdvcdwcaIbZxbWQbZxbZycdxcdybZAcdzcdAcdBbZAcaPbYfbYfcaQbYccbYcbXcbZbYcchBccacjfcdLcdLbyFbBucdLcdOcdPcdQcdRcdOcdSbBpbyebydcdScdScdScdSbAebyebydcdScdSbXjcdXcdYcdZceacebcecbxTbycbycbycbycbycbycbycbycbycbycbycbycbycbycbycbyccefcegcegcehbKtbKtbLTbLTceibLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafccZccYbYyccXccWbYUccRccSccTbYIcbrcbsbYIbYIcbtcbucbvcbwcbxccUccVbTxbQibUGccFccDaPgaPgccEccPaPgccQaLqcbFcbGcaqcbHcaqbTFcbIcbIcbIcbIcbIcbIcbIbTJcbJbTPbTJcbLcbMcbNcbOcaEcbPcdBcbRcaIbZxbWQbZxbZycbScbTbZAcbUcbVcbWbZAbXXbYfbYbbYdbYcbYiccCbYjbYcchBbYkbYlcktbZDbZwbZFcktccrbZGbZHccqccrccscctcctcctcctccucctcctcctcctcctccvccwccxccycczbUnbUnbUnbUnaaaaafaaaaaaaaaaahaahaahaafaaaaaaaafaaaaaaaafaaaaaabOPbKtbNdbKtbKtbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafbYebYebYybYRbYQbYUbYVbYSbYTbYIccGccHccIccJccKccLccMccNccObYWbYXbZbbZabYZbYYbZfbZebZdbZcbZVbZUbZTbZgcdccddaJEcdfcaqbTFcbIcdgcdhcdicdjcdkcdlcdmcdncdocdpcdqcdrcdscdtcaEcducdvcdwcaIbZxbWQbZxbZycdxcdybZAcdzcdAceSbZAcaPbYfbYfcaQbYccbYcbXcbZbYcchBccacjfcdLcdLbyFbBucdLcdOcdPcdQcdRcdOcdSbBpbyebydcdScdScdScdSbAebyebydcdScdSbXjcdXcdYcdZceacebcecbxTbycbycbycbycbycbycbycbycbycbycbycbycbycbycbycbyccefcegcegcehbKtbKtbLTbLTceibLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacejcejcejcejcejcejcejcamcanbYIbYIbYIbYIbYIbYJcaocapcapcapcbicbjbTxbQibUGcaabWccagcaicahcakcajcalaLqcezaJFboqaJFcaqbTFcbIceDceEceEceEceFceGbTJceHceIbTJcbLcbNceJcbOcaEceKceLceMcaIbZxbWQceNbZyceOcePbZAbZAbZAbZAbZAccbceRbYfcaQbYcccdcccbYcbYcchBccecjfcdLceZcfacfbcfccdOcfdcfecffcdOcfgcfhcfhcfhcfibZXcfkcflcfmcfncfocfpcdScfqcfrcfsbUnbUnbUnbUnaaaaafaaaaaaaaaaahaahaahaafaaaaaaaafaaaaaaaafaafaafcftbZWcfvbNebKsbKtbKtbLTbLUbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaafaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafcejcfwcfxcfycfzcfAcejcDncDmcDjcDgcDlcDkcCUcCUcCVcCLcCLcCKcCMccVbTxbQibUGcCJcbycCGcCHcCIcCDcCEcCFaLqaJFaJFcaqceBcaqbTFcbIcfVcfWcfWcfWcfXcbIcfYcfZcgacfYcgbcgccgdcgecaEcgfceLcggcaIcghccfcgjbZycgkcglbZycgmbLvbVicgnccgcchbYfccjcciccicckcclcclcclcclccmcdLcgxcgycgycgzcgActsctyctscgDcgEcgFcgGcgGcgHcgIcgIcgJcgKcgLcgLcgMcdScgNcgOcgPcgNaaaaaaaaaaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafcgQbKqbKqbKrbKsbKsbKtbKtbKtbKtbKuaafaafaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaafaafaafcfIcfIcfIcfIcfIcfIcfIcfIcfIcfIcfIcfIcfIaaaaaacgScgTcgTcgTcgUcgVcejcCxcCwcCvcCucCtcCscCrcCpcBUcBTcBScBRcBQcBPcCAcCBcCycCzaLqaLqaLqaLqaLqaLqaLqaLqbEZbGDcaqbDfcaqbTFcbIcbIctpctqctrcbIcbIchrchschtcfYcaEcaEcaEcaEcaEcaIchuchvcaIchwccnchwbZychychzbZychAchBbVichCbVichDbYfccobYfbYfccpcdCcdCcdCcdDbYfcdLchIchJchJchKchLchMchNchOchPchQchRchSchTchUchVchWcgIcgIcgIchXchYcdSchZciacCCcgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaaaaaaaaaaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacfIcDIcEwcDIcfIcDKcEucDKcfIcDMcEvcDMcfIaaaaaaciicgTcgTcgUcgUcijcejcEqcEpcDAcErcEtcEscElcEkcEncEmcEmcEocEmccVbTxcEfbUGcEgcEhcEicEccEjcEccEccEdcEecEeciAciAciAciAbTFciGciHciIciIciJciKciLciMciXciOciPciQciRciSciSciTciUcaIcaIcaIciVcdEckqbZybZybZybZychBchBbViciYbViciZbYfccobYfaaaaaaaaaaaaaaaaaaaaacdLcjgcjhcjhcExcjjcjkcjlcjmcjncjocjpcjqcgIcgIcjrcjscgIcjtcgIchXcjucdScjvcjwcjxcgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacfIcDIcDJcDIcfIcDKcDLcDKcfIcDMcEbcDMcfIaaaaaaciicgTcgUcgUcgUcjBcjCcDwcDvcDAcDzcDycDxcDrcDqcDpcDocDucDtcDsccVbTxcDFcCycDEcDGcDHcDCcDCcDCcDDcDBcDCcDCceCcdeceAciAbTFciGckaciIckbckcckdcubckfckgckhctQckjckkcklciSckmciUcknckockpclicdFcdHcdGcdIcdIcdJcdIcdKbVibVibVibVibYfccobYfaaaaaaaaaaaaaaaaaaaaacdLckCckDckDckDckEcdOckFcdOckGckHckIckJckJckKckLckLckMckJckJckNckOcdSckPckQckRcgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacfIcFwcFvcFucfIcFtcFrcFscfIcFqcFlcFpcfIaaaaafciiclbcgTcgUcgUcgUcejcFScFIcDAcDAcFHcDAcDAcDAcDAcFVcEmcFTcFUccVcFAcFBcFCcFDcFxcFycFzcFzcFzcFGcFdcFdcFEciAcFFcgqclwclxciGclyciIclzclAclBclCclDclEclFclGclHclIclJciSclKciUclLclMclNclOclPclQclNclRclSclTbYfceQcdIcdIcdIcdIcdIceSbYfaaaaaaaaaaaaaaaaaaaaacdLcmacmbcmccmdcdOcmecmfcmgcdScmhcmicmicmicmjcmkcmlcmmcmicmicmicmncdScmocmpcmqcmraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaafaafcfIcEycsWcEzcfIcsVcsWcEAcfIcsVcsWcEAcfIaaaaafcmzcgTcgTcgUcgUcmAcejcEPcEOcENcEMcEGcEEcEScEScEUcETcEScERcEQccVcEZcFacEXcEYcEhcEVcEVcEWcFdcFecFccFbcFbciAcibceVcfUcqgciGcnbciIcnccndcFjciGcnfciNcIjcfYcFfcnicnjciScnkciUclLclMclNcnlcnmcnlclNaaaaaaaaabYfbYfbYfcnnclSclSclTbYfbYfaaaaaaaaaaaacdOcdOcdOcdOcdOcdOcdOcdOcdOcnocnpcnqcdScdScnrcnscntcdScdScdScdScnucnscntcdScdScnvcnwcnvaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacfIcDIcEwcDIcfIcDKcEucDKcfIcDMcEvcDMcfIaaaaaaciicgTcgTcgUcgUcijcejcEqcEpcDAcErcEtcEscElcEkcEncEmcEmcEocEmccVbTxcEfbUGcEgcEhcEicEccEjcEccfUcEdcEecEeciAciAciAciAbTFciGciHciIciIciJciKciLciMciXciOciPciQciRciSciSciTciUcaIcaIcaIciVcdEckqbZybZybZybZychBchBbViciYbViciZbYfccobYfaaaaaaaaaaaaaaaaaaaaacdLcjgcjhcjhcExcjjcjkcjlcjmcjncjocjpcjqcgIcgIcjrcjscgIcjtcgIchXcjucdScjvcjwcjxcgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacfIcDIcDJcDIcfIcDKcDLcDKcfIcDMcEbcDMcfIaaaaaaciicgTcgUcgUcgUcjBcjCcDwcDvcDAcDzcDycDxcDrcDqcDpcDocDucDtcDsccVbTxcDFcCycDEcDGcDHcDCcDCcDCcDDcDBcFccIrceCcdeceAciAbTFciGckaciIckbckcckdcubckfckgckhctQckjckkcklciSckmciUcknckockpclicdFcdHcdGcdIcdIcdJcdIcdKbVibVibVibVibYfccobYfaaaaaaaaaaaaaaaaaaaaacdLckCckDckDckDckEcdOckFcdOckGckHckIckJckJckKckLckLckMckJckJckNckOcdSckPckQckRcgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacfIcFwcFvcFucfIcFtcFrcFscfIcFqcFlcFpcfIaaaaafciiclbcgTcgUcgUcgUcejcFScFIcDAcDAcFHcDAcDAcDAcDAcFVcEmcFTcFUccVcFAcFBcFCcFDcFxcFycFzcFzcFzcFGcFdcFdcFEciAcFFcgqclwclxciGclyciIclzclAclBclCclDclEclFclGclHclIclJciSclKciUclLclMclNclOclPclQclNclRclSclTbYfceQcdIcdIcdIcdIcdIcItbYfaaaaaaaaaaaaaaaaaaaaacdLcmacmbcmccmdcdOcmecmfcmgcdScmhcmicmicmicmjcmkcmlcmmcmicmicmicmncdScmocmpcmqcmraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaafaafcfIcEycsWcEzcfIcsVcsWcEAcfIcsVcsWcEAcfIaaaaafcmzcgTcgTcgUcgUcmAcejcEPcEOcENcEMcEGcEEcEScEScEUcETcEScERcEQccVcEZcFacEXcEYcEhcEVcEVcEWcFdcFecIucFbcFbciAcibceVcIvcqgciGcnbciIcnccndcFjciGcnfciNcIjcfYcFfcnicnjciScnkciUclLclMclNcnlcnmcnlclNaaaaaaaaabYfbYfbYfcnnclSclSclTbYfbYfaaaaaaaaaaaacdOcdOcdOcdOcdOcdOcdOcdOcdOcnocnpcnqcdScdScnrcnscntcdScdScdScdScnucnscntcdScdScnvcnwcnvaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabZSaafaafaafaaaaafcnxaafcnxaafcKBaafcKAaafcKBaafcKAaafaafaaacejcnAcnBcgUcgUcnCcnDcGPcGOcqPcGTcGUcxpcxpcGVcxpcxocGXcGWcxocGYcpbcGJcGKcGLcmRcmRcmRcmRcyKcGMcGNcGNcGNcgscgscgscgscnSciGcnTcnUcnccnVcnWciGcnfciNcnXciUcnYcnZcnjcoacobciUclLclMclNcoccodcoeclNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaacdOcofcogcohcwlcojcokcolcomconcoocopcoqcwkaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaafcoscotcosaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaafcGvcGxcGwcGycGwcGxcGzcGycGAcGBcGzcGCcGDcGEcGIcqPcqPcqPcqPcqPcqPcqPcqPcFXcFWcGbcGacFZcFYcGecGdcGccxocGicGhcGfcxocmQcGncGmcmRcGqcGrcGocGpcmMcGtcmJcGscGscGucwscwscmJbTFciGciGcpccpdciGciGciGcpeciNcpfciUciUciUcpgcphciUciUclLcpiclNcvmcvncvmclNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaafaafcdOcplcpmcplcvlcpocppcpqcomcomcprcomcdOcdOaaaaaaaaaaafaafaaaaacaaaaaaaaaaaaaafaaacvtaaaaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaaaaaaaaaaafcoxcvjcvicvhcuBcvjcvBcvzcvAcvxcvycvvcvwcvucnzcvrcvscvpcvqcvkcvocwmcvLcwpcwocvKcuycuAcuwcvHcvGcvJcvIcvDcvCcvFcvEcmQcuncwucmRcmMcmMcmMcmMcmMcwtcmJcwqcwqcwqcwscwscmJbTFcrYciGcqhcqicqjcqkciGcqlciNcqmciUcqncqocqpcqqciUcqrclLcpiclNcqscqtcquclNaaaaaaaaaaaaaaaaaacqvcqwcqxcqycqvaafaaaaaaaaaaaacdOcplcplcplcoicqAcqBcqCcqDcqEcqFcqGcqHcdOaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaafaaacmZaaaaafaafaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa From cd5a2fc52efbd9308fc632f15b2ce07f6c403471 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Tue, 10 Feb 2015 10:16:58 +0100 Subject: [PATCH 058/143] Bonus: Makes the tinted windows respect power failures. --- code/game/objects/structures/window.dm | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm index 6b7e5bd457d..c7ae1382509 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/window.dm @@ -484,10 +484,12 @@ animate(src, color="#222222", time=5) SetOpacity(1) + + /obj/machinery/button/windowtint name = "window tint control" icon = 'icons/obj/power.dmi' - icon_state = "light1" + icon_state = "light0" desc = "A remote control switch for polarized windows." var/range = 7 @@ -495,13 +497,24 @@ if(..()) return 1 + toggle_tint() + +/obj/machinery/button/windowtint/proc/toggle_tint() use_power(5) active = !active - icon_state = "light[active]" + update_icon() for(var/obj/structure/window/reinforced/polarized/W in range(src,range)) if (W.id == src.id || !W.id) - spawn( 0 ) + spawn(0) W.toggle() - return + return + +/obj/machinery/button/windowtint/power_change() + ..() + if(active && !powered(power_channel)) + toggle_tint() + +/obj/machinery/button/windowtint/update_icon() + icon_state = "light[active]" From 93a479099ab0474881b4e9f092dd6288bf44f48e Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Tue, 10 Feb 2015 10:33:33 +0100 Subject: [PATCH 059/143] Air alarm deconstruction fix. Air alarms can again be deconstructed, at the price of lost convenience. --- code/datums/wires/alarm.dm | 2 +- code/game/machinery/alarm.dm | 11 ++++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/code/datums/wires/alarm.dm b/code/datums/wires/alarm.dm index e8d68d7ffe2..6ebc9372655 100644 --- a/code/datums/wires/alarm.dm +++ b/code/datums/wires/alarm.dm @@ -11,7 +11,7 @@ var/const/AALARM_WIRE_AALARM = 16 /datum/wires/alarm/CanUse(var/mob/living/L) var/obj/machinery/alarm/A = holder - if(A.wiresexposed) + if(A.wiresexposed && A.buildstage == 2) return 1 return 0 diff --git a/code/game/machinery/alarm.dm b/code/game/machinery/alarm.dm index 13dd8c75e69..b6622e75a4d 100644 --- a/code/game/machinery/alarm.dm +++ b/code/game/machinery/alarm.dm @@ -915,8 +915,13 @@ table tr:first-child th:first-child { border: none;} update_icon() return - if (wiresexposed && ((istype(W, /obj/item/device/multitool) || istype(W, /obj/item/weapon/wirecutters)))) - return attack_hand(user) + if (wiresexposed && istype(W, /obj/item/weapon/wirecutters)) + user.visible_message("[user] has cut the wires inside \the [src]!", "You have cut the wires inside \the [src].") + playsound(src.loc, 'sound/items/Wirecutter.ogg', 50, 1) + new/obj/item/stack/cable_coil(get_turf(src), 5) + buildstage = 1 + update_icon() + return if (istype(W, /obj/item/weapon/card/id) || istype(W, /obj/item/device/pda))// trying to unlock the interface with an ID card if(stat & (NOPOWER|BROKEN)) @@ -1303,7 +1308,7 @@ FIRE ALARM /obj/machinery/firealarm/proc/delayed_reset() var/area/A = get_area(src) if (!A) return - + src = null spawn(600) A.firereset() From 3c6b2b190413bfe9016e5dbd2f54c95fa594354d Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Tue, 10 Feb 2015 10:43:16 +0100 Subject: [PATCH 060/143] Adds a broken icon for the atmospheric alarm computer. Fixes #8066. --- icons/obj/computer.dmi | Bin 73537 -> 73009 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/obj/computer.dmi b/icons/obj/computer.dmi index d14558c0c42027bc9e2ec06710a2e17ad4da0b5d..2bb7d3998301f6d47452a9e4fd65a85bb9eeb09c 100644 GIT binary patch literal 73009 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⋘Lh?8iKn2+gM6hKB(yf_a@y^Q>Z!)MBCZU8q>3 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 A!~g&Q literal 73537 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 literal 149336 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 MCt)Yv+Fy?Q4@PY8Pyhe` diff --git a/icons/mob/items_righthand.dmi b/icons/mob/items_righthand.dmi index c6183f6ff58b5841740c59b82afd2ba7a1fa8723..b8e3754e1b8273b185cc6cdf2366b9ca7c675ef6 100644 GIT binary patch literal 157706 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

    >oQ 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

    `JS;~{34{<+E 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%0A=k7pcqA0&|Y&0v%gpX$=fl* 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 From 02dc9e3008d148c83b0f98811f1b9f0950081902 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Tue, 10 Feb 2015 19:54:14 +0100 Subject: [PATCH 065/143] Lightly boosts the clerical kit. Adds destination tagger, wrapping paper, hand labeler, and the ability to select pen color. --- code/game/gamemodes/game_mode.dm | 1 - .../items/weapons/storage/uplink_kits.dm | 5 +++- code/modules/paperwork/pen.dm | 30 +++++++++++++++++++ code/setup.dm | 1 + 4 files changed, 35 insertions(+), 2 deletions(-) diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm index 0cfc8dd1ed0..f4974547a55 100644 --- a/code/game/gamemodes/game_mode.dm +++ b/code/game/gamemodes/game_mode.dm @@ -33,7 +33,6 @@ var/uplink_uses = 10 var/list/datum/uplink_item/uplink_items = list( "Highly Visible and Dangerous Weapons" = list( - new/datum/uplink_item(/obj/item/ammo_magazine/a357, 2, "Ammo-357", "RA"), new/datum/uplink_item(/obj/item/weapon/storage/box/emps, 3, "5 EMP Grenades", "EM"), new/datum/uplink_item(/obj/item/weapon/melee/energy/sword, 4, "Energy Sword", "ES"), diff --git a/code/game/objects/items/weapons/storage/uplink_kits.dm b/code/game/objects/items/weapons/storage/uplink_kits.dm index 205fb3d0a1f..98dc33e69f3 100644 --- a/code/game/objects/items/weapons/storage/uplink_kits.dm +++ b/code/game/objects/items/weapons/storage/uplink_kits.dm @@ -149,7 +149,10 @@ ..() new /obj/item/weapon/stamp/chameleon(src) new /obj/item/weapon/pen/chameleon(src) - + new /obj/item/device/destTagger(src) + new /obj/item/weapon/packageWrap(src) + new /obj/item/weapon/hand_labeler(src) + /obj/item/weapon/storage/box/syndie_kit/spy name = "spy kit" desc = "For when you want to conduct voyeurism from afar." diff --git a/code/modules/paperwork/pen.dm b/code/modules/paperwork/pen.dm index 944fd914109..18ff946cc89 100644 --- a/code/modules/paperwork/pen.dm +++ b/code/modules/paperwork/pen.dm @@ -137,3 +137,33 @@ /obj/item/weapon/pen/chameleon/get_signature(var/mob/user) return signature ? signature : "Anonymous" + +/obj/item/weapon/pen/chameleon/verb/set_colour() + set name = "Change Pen Colour" + set category = "Object" + + var/list/possible_colours = list ("Yellow", "Green", "Pink", "Blue", "Orange", "Cyan", "Red", "Invisible", "Black") + var/selected_type = input("Pick new colour.", "Pen Colour", null, null) as null|anything in possible_colours + + if(selected_type) + switch(selected_type) + if("Yellow") + colour = COLOR_YELLOW + if("Green") + colour = COLOR_GREEN + if("Pink") + colour = COLOR_PINK + if("Blue") + colour = COLOR_BLUE + if("Orange") + colour = COLOR_ORANGE + if("Cyan") + colour = COLOR_CYAN + if("Red") + colour = COLOR_RED + if("Invisible") + colour = COLOR_WHITE + else + colour = COLOR_BLACK + usr << "You select the [lowertext(selected_type)] ink container." + diff --git a/code/setup.dm b/code/setup.dm index 0067eadfeaa..bece6572cab 100644 --- a/code/setup.dm +++ b/code/setup.dm @@ -644,6 +644,7 @@ var/list/be_special_flags = list( #define COLOR_YELLOW "#FFFF00" #define COLOR_ORANGE "#FF9900" #define COLOR_WHITE "#FFFFFF" +#define COLOR_BLACK "#000000" /* * Germs and infections. From d0a59bcd031ee16817699871392a2fab2f7ac069 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Tue, 10 Feb 2015 21:29:29 +0100 Subject: [PATCH 066/143] Adds a health section in the uplink. Box of donk-pockets for 1 TC. Combat medical kit, containing bicardine, dermaline, dexalin plus, dylovene, tramadol, and spaceacillin, for 5 TC. --- code/game/gamemodes/game_mode.dm | 4 + .../objects/items/weapons/storage/firstaid.dm | 135 +++++++++++++++--- .../reagents/reagent_containers/pill.dm | 40 ++++++ 3 files changed, 163 insertions(+), 16 deletions(-) diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm index f4974547a55..0b2526851a3 100644 --- a/code/game/gamemodes/game_mode.dm +++ b/code/game/gamemodes/game_mode.dm @@ -73,6 +73,10 @@ new/datum/uplink_item(/obj/item/weapon/storage/box/syndie_kit/imp_explosive, 6, "Explosive Implant (DANGER!)", "EI"), new/datum/uplink_item(/obj/item/weapon/storage/box/syndie_kit/imp_uplink, 10, "Uplink Implant (Contains 5 Telecrystals)", "UI") ), + "Health Aids" = list( + new/datum/uplink_item(/obj/item/weapon/storage/box/donkpockets, 1, "Box of Donk-Pockets", "DP"), + new/datum/uplink_item(/obj/item/weapon/storage/firstaid/combat, 5, "Combat medical kit", "CM") + ), "(Pointless) Badassery" = list( new/datum/uplink_item(/obj/item/toy/syndicateballoon, 10, "For showing that You Are The BOSS (Useless Balloon)", "BS"), new/datum/uplink_item(/obj/item/toy/nanotrasenballoon, 10, "For showing that you love NT SOO much (Useless Balloon)", "NT") diff --git a/code/game/objects/items/weapons/storage/firstaid.dm b/code/game/objects/items/weapons/storage/firstaid.dm index 6e2eca01c50..47f29a8eb7f 100644 --- a/code/game/objects/items/weapons/storage/firstaid.dm +++ b/code/game/objects/items/weapons/storage/firstaid.dm @@ -84,7 +84,7 @@ ..() if (empty) return new /obj/item/weapon/reagent_containers/pill/dexalin( src ) - new /obj/item/weapon/reagent_containers/pill/dexalin( src ) + new /obj/item/weapon/reagent_containers/pill/( src ) new /obj/item/weapon/reagent_containers/pill/dexalin( src ) new /obj/item/weapon/reagent_containers/pill/dexalin( src ) new /obj/item/weapon/reagent_containers/hypospray/autoinjector( src ) @@ -109,6 +109,25 @@ new /obj/item/stack/medical/advanced/ointment(src) new /obj/item/stack/medical/splint(src) return + +/obj/item/weapon/storage/firstaid/combat + name = "combat medical kit" + desc = "Contains advanced medical treatments." + icon_state = "bezerk" + item_state = "firstaid-advanced" + +/obj/item/weapon/storage/firstaid/combat/New() + ..() + if (empty) return + new /obj/item/weapon/storage/pill_bottle/bicaridine(src) + new /obj/item/weapon/storage/pill_bottle/dermaline(src) + new /obj/item/weapon/storage/pill_bottle/dexalin_plus(src) + new /obj/item/weapon/storage/pill_bottle/dylovene(src) + new /obj/item/weapon/storage/pill_bottle/tramadol(src) + new /obj/item/weapon/storage/pill_bottle/spaceacillin(src) + new /obj/item/stack/medical/splint(src) + return + /* * Pill Bottles */ @@ -125,20 +144,6 @@ storage_slots = 14 use_sound = null -/obj/item/weapon/storage/pill_bottle/kelotane - name = "bottle of kelotane pills" - desc = "Contains pills used to treat burns." - - New() - ..() - new /obj/item/weapon/reagent_containers/pill/kelotane( src ) - new /obj/item/weapon/reagent_containers/pill/kelotane( src ) - new /obj/item/weapon/reagent_containers/pill/kelotane( src ) - new /obj/item/weapon/reagent_containers/pill/kelotane( src ) - new /obj/item/weapon/reagent_containers/pill/kelotane( src ) - new /obj/item/weapon/reagent_containers/pill/kelotane( src ) - new /obj/item/weapon/reagent_containers/pill/kelotane( src ) - /obj/item/weapon/storage/pill_bottle/antitox name = "bottle of Dylovene pills" desc = "Contains pills used to counter toxins." @@ -153,6 +158,76 @@ new /obj/item/weapon/reagent_containers/pill/antitox( src ) new /obj/item/weapon/reagent_containers/pill/antitox( src ) +/obj/item/weapon/storage/pill_bottle/bicaridine + name = "bottle of Bicaridine pills" + desc = "Contains pills used to stabilize the severely injured." + +/obj/item/weapon/storage/pill_bottle/bicaridine/New() + ..() + new /obj/item/weapon/reagent_containers/pill/bicaridine(src) + new /obj/item/weapon/reagent_containers/pill/bicaridine(src) + new /obj/item/weapon/reagent_containers/pill/bicaridine(src) + new /obj/item/weapon/reagent_containers/pill/bicaridine(src) + new /obj/item/weapon/reagent_containers/pill/bicaridine(src) + new /obj/item/weapon/reagent_containers/pill/bicaridine(src) + new /obj/item/weapon/reagent_containers/pill/bicaridine(src) + +/obj/item/weapon/storage/pill_bottle/dexalin_plus + name = "bottle of Dexalin Plus pills" + desc = "Contains pills used to treat extreme cases of oxygen deprivation." + +/obj/item/weapon/storage/pill_bottle/dexalin_plus/New() + ..() + new /obj/item/weapon/reagent_containers/pill/dexalin_plus(src) + new /obj/item/weapon/reagent_containers/pill/dexalin_plus(src) + new /obj/item/weapon/reagent_containers/pill/dexalin_plus(src) + new /obj/item/weapon/reagent_containers/pill/dexalin_plus(src) + new /obj/item/weapon/reagent_containers/pill/dexalin_plus(src) + new /obj/item/weapon/reagent_containers/pill/dexalin_plus(src) + new /obj/item/weapon/reagent_containers/pill/dexalin_plus(src) + +/obj/item/weapon/storage/pill_bottle/dexalin_plus + name = "bottle of Dexalin Plus pills" + desc = "Contains pills used to treat extreme cases of oxygen deprivation." + +/obj/item/weapon/storage/pill_bottle/dexalin_plus/New() + ..() + new /obj/item/weapon/reagent_containers/pill/dexalin_plus(src) + new /obj/item/weapon/reagent_containers/pill/dexalin_plus(src) + new /obj/item/weapon/reagent_containers/pill/dexalin_plus(src) + new /obj/item/weapon/reagent_containers/pill/dexalin_plus(src) + new /obj/item/weapon/reagent_containers/pill/dexalin_plus(src) + new /obj/item/weapon/reagent_containers/pill/dexalin_plus(src) + new /obj/item/weapon/reagent_containers/pill/dexalin_plus(src) + +/obj/item/weapon/storage/pill_bottle/dermaline + name = "bottle of Dermaline pills" + desc = "Contains pills used to treat burn wounds." + +/obj/item/weapon/storage/pill_bottle/dermaline/New() + ..() + new /obj/item/weapon/reagent_containers/pill/dermaline(src) + new /obj/item/weapon/reagent_containers/pill/dermaline(src) + new /obj/item/weapon/reagent_containers/pill/dermaline(src) + new /obj/item/weapon/reagent_containers/pill/dermaline(src) + new /obj/item/weapon/reagent_containers/pill/dermaline(src) + new /obj/item/weapon/reagent_containers/pill/dermaline(src) + new /obj/item/weapon/reagent_containers/pill/dermaline(src) + +/obj/item/weapon/storage/pill_bottle/dylovene + name = "bottle of Dylovene pills" + desc = "Contains pills used to treat toxic substances in the blood." + +/obj/item/weapon/storage/pill_bottle/dylovene/New() + ..() + new /obj/item/weapon/reagent_containers/pill/dylovene(src) + new /obj/item/weapon/reagent_containers/pill/dylovene(src) + new /obj/item/weapon/reagent_containers/pill/dylovene(src) + new /obj/item/weapon/reagent_containers/pill/dylovene(src) + new /obj/item/weapon/reagent_containers/pill/dylovene(src) + new /obj/item/weapon/reagent_containers/pill/dylovene(src) + new /obj/item/weapon/reagent_containers/pill/dylovene(src) + /obj/item/weapon/storage/pill_bottle/inaprovaline name = "bottle of Inaprovaline pills" desc = "Contains pills used to stabilize patients." @@ -167,8 +242,36 @@ new /obj/item/weapon/reagent_containers/pill/inaprovaline( src ) new /obj/item/weapon/reagent_containers/pill/inaprovaline( src ) +/obj/item/weapon/storage/pill_bottle/kelotane + name = "bottle of kelotane pills" + desc = "Contains pills used to treat burns." + + New() + ..() + new /obj/item/weapon/reagent_containers/pill/kelotane( src ) + new /obj/item/weapon/reagent_containers/pill/kelotane( src ) + new /obj/item/weapon/reagent_containers/pill/kelotane( src ) + new /obj/item/weapon/reagent_containers/pill/kelotane( src ) + new /obj/item/weapon/reagent_containers/pill/kelotane( src ) + new /obj/item/weapon/reagent_containers/pill/kelotane( src ) + new /obj/item/weapon/reagent_containers/pill/kelotane( src ) + +/obj/item/weapon/storage/pill_bottle/spaceacillin + name = "bottle of Spaceacillin pills" + desc = "A theta-lactam antibiotic. Effective against many diseases likely to be encountered in space." + +/obj/item/weapon/storage/pill_bottle/spaceacillin/New() + ..() + new /obj/item/weapon/reagent_containers/pill/spaceacillin(src) + new /obj/item/weapon/reagent_containers/pill/spaceacillin(src) + new /obj/item/weapon/reagent_containers/pill/spaceacillin(src) + new /obj/item/weapon/reagent_containers/pill/spaceacillin(src) + new /obj/item/weapon/reagent_containers/pill/spaceacillin(src) + new /obj/item/weapon/reagent_containers/pill/spaceacillin(src) + new /obj/item/weapon/reagent_containers/pill/spaceacillin(src) + /obj/item/weapon/storage/pill_bottle/tramadol - name = "bottle of Tramadol Pills" + name = "bottle of Tramadol pills" desc = "Contains pills used to relieve pain." New() diff --git a/code/modules/reagents/reagent_containers/pill.dm b/code/modules/reagents/reagent_containers/pill.dm index 34ce53a2b67..804b0347be7 100644 --- a/code/modules/reagents/reagent_containers/pill.dm +++ b/code/modules/reagents/reagent_containers/pill.dm @@ -190,6 +190,38 @@ ..() reagents.add_reagent("dexalin", 15) +/obj/item/weapon/reagent_containers/pill/dexalin_plus + name = "Dexalin Plus pill" + desc = "Used to treat extreme oxygen deprivation." + icon_state = "pill8" + New() + ..() + reagents.add_reagent("dexalin", 15) + +/obj/item/weapon/reagent_containers/pill/dermaline + name = "Dermaline pill" + desc = "Used to treat burn wounds." + icon_state = "pill12" + New() + ..() + reagents.add_reagent("dermaline", 15) + +/obj/item/weapon/reagent_containers/pill/dylovene + name = "Dylovene pill" + desc = "A broad-spectrum anti-toxin." + icon_state = "pill13" + New() + ..() + reagents.add_reagent("anti_toxin", 15) + +/obj/item/weapon/reagent_containers/pill/inaprovaline + name = "Inaprovaline pill" + desc = "Used to stabilize patients." + icon_state = "pill20" + New() + ..() + reagents.add_reagent("inaprovaline", 30) + /obj/item/weapon/reagent_containers/pill/bicaridine name = "Bicaridine pill" desc = "Used to treat physical injuries." @@ -216,3 +248,11 @@ reagents.add_reagent("impedrezene", 10) reagents.add_reagent("synaptizine", 5) reagents.add_reagent("hyperzine", 5) + + /obj/item/weapon/reagent_containers/pill/spaceacillin + name = "Spaceacillin" + desc = "Contains antiviral agents." + icon_state = "pill19" + New() + ..() + reagents.add_reagent("spaceacillin", 15) From dcb2e22e613e68e7a3d07db46b88ff4f5d12827d Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Tue, 10 Feb 2015 22:05:32 +0100 Subject: [PATCH 067/143] Adds a concealed cane sword for 2 TC. --- code/defines/obj/weapon.dm | 18 ++++++++++++++++++ code/game/gamemodes/game_mode.dm | 1 + 2 files changed, 19 insertions(+) diff --git a/code/defines/obj/weapon.dm b/code/defines/obj/weapon.dm index 634121b08c9..0addd22a3c4 100644 --- a/code/defines/obj/weapon.dm +++ b/code/defines/obj/weapon.dm @@ -98,6 +98,24 @@ matter = list("metal" = 50) attack_verb = list("bludgeoned", "whacked", "disciplined", "thrashed") +/obj/item/weapon/cane/concealed/attack_self(mob/user) + user.visible_message("[user] has unsheathed a blade from \his [src]!", "You unsheathe the blade from \the [src].") + var/blade = new/obj/item/weapon/butterfly/concealed + user.drop_from_inventory(src) + user.put_in_hands(blade) + del(src) + +/obj/item/weapon/kitchenknife/concealed + name = "cane blade" + desc = "A now less than concealed cane blade." + +/obj/item/weapon/kitchenknife/concealed/attack_self(mob/user) + var/cane = new/obj/item/weapon/cane/concealed + user.drop_from_inventory(src) + user.put_in_hands(cane) + del(src) + user.visible_message("[user] has sheathed a blade into \his [cane]!", "You sheathe the blade into \the [cane].") + /obj/item/weapon/disk name = "disk" icon = 'icons/obj/items.dmi' diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm index 0b2526851a3..db90cc9795f 100644 --- a/code/game/gamemodes/game_mode.dm +++ b/code/game/gamemodes/game_mode.dm @@ -43,6 +43,7 @@ ), "Stealthy and Inconspicuous Weapons" = list( new/datum/uplink_item(/obj/item/weapon/soap/syndie, 1, "Subversive Soap", "SP"), + new/datum/uplink_item(/obj/item/weapon/cane/concealed, 2, "Concealed Cane Sword", "CC"), new/datum/uplink_item(/obj/item/weapon/cartridge/syndicate, 3, "Detomatix PDA Cartridge", "DC"), new/datum/uplink_item(/obj/item/weapon/pen/paralysis, 3, "Paralysis Pen", "PP"), ), From 3a6c4dacd6820569c1ce0bb680f308aa5c989ae0 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Tue, 10 Feb 2015 22:38:40 +0100 Subject: [PATCH 068/143] Adds 9mm gun with silencer, 5TC, with the option to acquire additional ammo, 2TC. --- code/defines/obj/weapon.dm | 2 +- code/game/gamemodes/game_mode.dm | 2 ++ code/game/objects/items/weapons/storage/uplink_kits.dm | 9 +++++++++ code/modules/projectiles/ammunition/boxes.dm | 6 ++++-- code/modules/projectiles/guns/projectile/pistol.dm | 2 +- 5 files changed, 17 insertions(+), 4 deletions(-) diff --git a/code/defines/obj/weapon.dm b/code/defines/obj/weapon.dm index 0addd22a3c4..37fb0e732f1 100644 --- a/code/defines/obj/weapon.dm +++ b/code/defines/obj/weapon.dm @@ -100,7 +100,7 @@ /obj/item/weapon/cane/concealed/attack_self(mob/user) user.visible_message("[user] has unsheathed a blade from \his [src]!", "You unsheathe the blade from \the [src].") - var/blade = new/obj/item/weapon/butterfly/concealed + var/blade = new/obj/item/weapon/kitchenknife/concealed user.drop_from_inventory(src) user.put_in_hands(blade) del(src) diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm index db90cc9795f..e12b9bb021a 100644 --- a/code/game/gamemodes/game_mode.dm +++ b/code/game/gamemodes/game_mode.dm @@ -33,10 +33,12 @@ var/uplink_uses = 10 var/list/datum/uplink_item/uplink_items = list( "Highly Visible and Dangerous Weapons" = list( + new/datum/uplink_item(/obj/item/ammo_magazine/mc9mm, 2, "Ammo-9mm", "R9"), new/datum/uplink_item(/obj/item/ammo_magazine/a357, 2, "Ammo-357", "RA"), new/datum/uplink_item(/obj/item/weapon/storage/box/emps, 3, "5 EMP Grenades", "EM"), new/datum/uplink_item(/obj/item/weapon/melee/energy/sword, 4, "Energy Sword", "ES"), new/datum/uplink_item(/obj/item/weapon/gun/energy/crossbow, 5, "Energy Crossbow", "XB"), + new/datum/uplink_item(/obj/item/weapon/storage/box/syndie_kit/g9mm, 5, "Silenced 9mm", "S9"), new/datum/uplink_item(/obj/item/mecha_parts/mecha_equipment/weapon/energy/riggedlaser, 6, "Exosuit Rigged Laser", "RL"), new/datum/uplink_item(/obj/item/weapon/gun/projectile, 6, "Revolver", "RE"), new/datum/uplink_item(/obj/item/weapon/storage/box/syndicate, 10, "Mercenary Bundle", "BU") diff --git a/code/game/objects/items/weapons/storage/uplink_kits.dm b/code/game/objects/items/weapons/storage/uplink_kits.dm index 98dc33e69f3..c4ce3253bfb 100644 --- a/code/game/objects/items/weapons/storage/uplink_kits.dm +++ b/code/game/objects/items/weapons/storage/uplink_kits.dm @@ -163,3 +163,12 @@ new /obj/item/device/spy_bug(src) new /obj/item/device/spy_bug(src) new /obj/item/device/spy_monitor(src) + +/obj/item/weapon/storage/box/syndie_kit/g9mm + name = "Smooth operator" + desc = "9mm with silencer kit." + +/obj/item/weapon/storage/box/syndie_kit/g9mm/New() + ..() + new /obj/item/weapon/gun/projectile/pistol(src) + new /obj/item/weapon/silencer(src) diff --git a/code/modules/projectiles/ammunition/boxes.dm b/code/modules/projectiles/ammunition/boxes.dm index b4ae141cd74..ed33bbfe48e 100644 --- a/code/modules/projectiles/ammunition/boxes.dm +++ b/code/modules/projectiles/ammunition/boxes.dm @@ -66,8 +66,10 @@ max_ammo = 10 multiple_sprites = 1 -/obj/item/ammo_magazine/mc9mm/empty - max_ammo = 0 +/obj/item/ammo_magazine/mc9mm/empty/New() + ..() + stored_ammo = list() + update_icon() /obj/item/ammo_magazine/c9mm name = "Ammunition Box (9mm)" diff --git a/code/modules/projectiles/guns/projectile/pistol.dm b/code/modules/projectiles/guns/projectile/pistol.dm index f12420f7dce..a0c6b0e5cb7 100644 --- a/code/modules/projectiles/guns/projectile/pistol.dm +++ b/code/modules/projectiles/guns/projectile/pistol.dm @@ -85,7 +85,7 @@ origin_tech = "combat=2;materials=2;syndicate=2" ammo_type = "/obj/item/ammo_casing/c9mm" load_method = MAGAZINE - mag_type = /obj/item/ammo_magazine/mc9mm/empty + mag_type = /obj/item/ammo_magazine/mc9mm /obj/item/weapon/gun/projectile/pistol/afterattack(atom/target as mob|obj|turf|area, mob/living/user as mob|obj, flag) ..() From ee894d6b99de8f6a0cac3d5d7203334afc15f178 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Mon, 9 Feb 2015 20:00:33 -0500 Subject: [PATCH 069/143] Flash projectile adjustment Adjusts brightness, adds some effects, adds 9mm flash rounds and pistol variant. --- .../items/weapons/grenades/flashbang.dm | 1 + code/modules/projectiles/guns/projectile.dm | 2 +- .../projectiles/guns/projectile/pistol.dm | 3 ++- .../projectiles/guns/projectile/revolver.dm | 2 ++ code/modules/projectiles/projectile.dm | 2 ++ code/modules/projectiles/projectile/energy.dm | 24 ++++++++++++------- 6 files changed, 23 insertions(+), 11 deletions(-) diff --git a/code/game/objects/items/weapons/grenades/flashbang.dm b/code/game/objects/items/weapons/grenades/flashbang.dm index a332f6fa924..bda28f83b1b 100644 --- a/code/game/objects/items/weapons/grenades/flashbang.dm +++ b/code/game/objects/items/weapons/grenades/flashbang.dm @@ -21,6 +21,7 @@ B.health -= damage B.update_icon() + new/obj/effect/effect/sparks(src.loc) new/obj/effect/effect/smoke/illumination(src.loc, brightness=15) del(src) return diff --git a/code/modules/projectiles/guns/projectile.dm b/code/modules/projectiles/guns/projectile.dm index a500af113f0..d3f81185abd 100644 --- a/code/modules/projectiles/guns/projectile.dm +++ b/code/modules/projectiles/guns/projectile.dm @@ -153,9 +153,9 @@ /obj/item/weapon/gun/projectile/examine(mob/user) ..(user) + user << "Has [getAmmo()] round\s remaining." if(ammo_magazine) user << "It has \a [ammo_magazine] loaded." - user << "Has [getAmmo()] round\s remaining." // if(in_chamber && !loaded.len) // user << "However, it has a chambered round." // if(in_chamber && loaded.len) diff --git a/code/modules/projectiles/guns/projectile/pistol.dm b/code/modules/projectiles/guns/projectile/pistol.dm index 6dd1cfbe9b2..32af57100ae 100644 --- a/code/modules/projectiles/guns/projectile/pistol.dm +++ b/code/modules/projectiles/guns/projectile/pistol.dm @@ -71,7 +71,8 @@ magazine_type = /obj/item/ammo_magazine/mc9mm /obj/item/weapon/gun/projectile/pistol/flash - desc = "A small, easily concealable gun. Uses 9mm illumination rounds." + name = "\improper Stechtkin signal pistol" + desc = "A small, easily concealable gun. Uses 9mm signal flash rounds." magazine_type = /obj/item/ammo_magazine/mc9mm/flash /obj/item/weapon/gun/projectile/pistol/attack_hand(mob/user as mob) diff --git a/code/modules/projectiles/guns/projectile/revolver.dm b/code/modules/projectiles/guns/projectile/revolver.dm index dc2870892b6..48ae9a24329 100644 --- a/code/modules/projectiles/guns/projectile/revolver.dm +++ b/code/modules/projectiles/guns/projectile/revolver.dm @@ -88,6 +88,8 @@ magazine_type = /obj/item/ammo_magazine/c45m/rubber /obj/item/weapon/gun/projectile/detective/semiauto/flash + name = "\improper Colt M1911 signal pistol" + desc = "A cheap Martian knock-off of a Colt M1911. Uses .45 signal flash rounds." magazine_type = /obj/item/ammo_magazine/c45m/flash /obj/item/weapon/gun/projectile/detective/semiauto/colt diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index 525d1ccb774..9c985a0994b 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -101,10 +101,12 @@ if(user == target) //Shooting yourself user.bullet_act(src, target_zone) + on_impact(user) del(src) return 0 if(targloc == curloc) //Shooting something in the same turf target.bullet_act(src, target_zone) + on_impact(target) del(src) return 0 diff --git a/code/modules/projectiles/projectile/energy.dm b/code/modules/projectiles/projectile/energy.dm index 851f691b411..1bb2490463b 100644 --- a/code/modules/projectiles/projectile/energy.dm +++ b/code/modules/projectiles/projectile/energy.dm @@ -11,29 +11,35 @@ name = "shell" //a chemical filled shell or something icon_state = "bullet" damage = 5 - var/flash_range = 1 - var/brightness = 5 - var/light_duration = 10 + var/flash_range = 0 + var/brightness = 7 + var/light_duration = 5 -/obj/item/projectile/energy/flash/on_impact() - var/turf/T = get_turf(src) +/obj/item/projectile/energy/flash/on_impact(var/atom/A) + var/turf/T = get_turf(A) if(!istype(T)) return - src.visible_message("\The [src] explodes in a bright flash!") + //blind adjacent people for (var/mob/living/carbon/M in viewers(T, flash_range)) if(M.eyecheck() < 1) flick("e_flash", M.flash) + //snap pop playsound(src, 'sound/effects/snap.ogg', 50, 1) - new/obj/effect/effect/smoke/illumination(src.loc, brightness=max(flash_range*2, brightness), lifetime=light_duration) + src.visible_message("\The [src] explodes in a bright flash!") + + //use src.loc so that ash doesn't end up inside windows + new /obj/effect/effect/sparks(src.loc) + new /obj/effect/decal/cleanable/ash(src.loc) + new /obj/effect/effect/smoke/illumination(src.loc, brightness=max(flash_range*2, brightness), lifetime=light_duration) //blinds people like the flash round, but can also be used for temporary illumination /obj/item/projectile/energy/flash/flare damage = 10 flash_range = 1 - brightness = 7 //similar to a flare - light_duration = 150 + brightness = 9 //similar to a flare + light_duration = 200 /obj/item/projectile/energy/electrode name = "electrode" From 47a1639b6d8749081e5f7e19c9be44d08a9d45bb Mon Sep 17 00:00:00 2001 From: mwerezak Date: Mon, 9 Feb 2015 20:41:56 -0500 Subject: [PATCH 070/143] Adds removing single casings, runtime fix --- code/modules/projectiles/guns/projectile.dm | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/code/modules/projectiles/guns/projectile.dm b/code/modules/projectiles/guns/projectile.dm index d3f81185abd..fa17c0e67b7 100644 --- a/code/modules/projectiles/guns/projectile.dm +++ b/code/modules/projectiles/guns/projectile.dm @@ -117,7 +117,7 @@ loaded.Cut() if(count) user.visible_message("[user] unloads [src].", "You unload [count] round\s from [src]!") - else + else if(load_method & SINGLE_CASING) var/obj/item/ammo_casing/C = loaded[loaded.len] loaded.len-- user.put_in_hands(C) @@ -135,6 +135,16 @@ return ..() unload_ammo(user) +/obj/item/weapon/gun/projectile/attack_hand(mob/user as mob) + //allow guns with both SPEEDLOADER and SINGLE_CASING a way to remove casings without dumping everything on the floor + if((load_method & SINGLE_CASING) && loaded.len && (src in user)) + var/obj/item/ammo_casing/C = loaded[loaded.len] + loaded.len-- + user.put_in_hands(C) + user.visible_message("[user] removes \a [C] from [src].", "You remove \a [C] from [src]!") + else + return ..() + /obj/item/weapon/gun/projectile/afterattack(atom/A, mob/living/user) ..() if(auto_eject && !ammo_magazine.stored_ammo.len) @@ -145,7 +155,7 @@ if(ammo_magazine) ammo_magazine.loc = get_turf(src.loc) user.visible_message( - "[ammo_magazine] falls out and clatters on the floor!", + "[ammo_magazine] falls out and clatters on the floor!", "[ammo_magazine] falls out and clatters on the floor!" ) ammo_magazine = null @@ -166,6 +176,6 @@ var/bullets = 0 if(loaded) bullets += loaded.len - if(ammo_magazine.stored_ammo) + if(ammo_magazine && ammo_magazine.stored_ammo) bullets += ammo_magazine.stored_ammo.len return bullets From bf24ac82b81ba0f80b08c71a49c2041cda45d5f3 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Mon, 9 Feb 2015 21:25:37 -0500 Subject: [PATCH 071/143] Removes IsHandgun() proc, adds slot flag --- code/game/objects/items/toys.dm | 2 +- code/modules/clothing/suits/armor.dm | 54 +++++++++---------- code/modules/clothing/under/ties.dm | 44 +++++++-------- code/modules/projectiles/gun.dm | 5 +- code/modules/projectiles/guns/energy/laser.dm | 7 +-- .../projectiles/guns/energy/nuclear.dm | 1 + code/modules/projectiles/guns/energy/pulse.dm | 8 +-- .../projectiles/guns/energy/special.dm | 7 ++- code/modules/projectiles/guns/energy/stun.dm | 3 +- .../projectiles/guns/energy/temperature.dm | 1 + .../projectiles/guns/projectile/automatic.dm | 9 ++-- .../projectiles/guns/projectile/crossbow.dm | 1 + .../projectiles/guns/projectile/launcher.dm | 4 -- .../projectiles/guns/projectile/pneumatic.dm | 1 + .../projectiles/guns/projectile/revolver.dm | 16 +++--- .../projectiles/guns/projectile/shotgun.dm | 6 +-- .../reagent_containers/food/snacks/grown.dm | 1 + code/setup.dm | 1 + 18 files changed, 79 insertions(+), 92 deletions(-) diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index cee5076a55d..fe150bab743 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -128,7 +128,7 @@ icon_state = "revolver" item_state = "gun" flags = CONDUCT - slot_flags = SLOT_BELT + slot_flags = SLOT_BELT|SLOT_HOLSTER w_class = 3.0 matter = list("glass" = 10,"metal" = 10) diff --git a/code/modules/clothing/suits/armor.dm b/code/modules/clothing/suits/armor.dm index 6a5dd04cb6a..3d5d2d9940b 100644 --- a/code/modules/clothing/suits/armor.dm +++ b/code/modules/clothing/suits/armor.dm @@ -196,38 +196,32 @@ slowdown = 1 armor = list(melee = 60, bullet = 60, laser = 60, energy = 40, bomb = 20, bio = 0, rad = 0) siemens_coefficient = 0.7 + var/obj/item/clothing/tie/holster/holster - /obj/item/clothing/suit/armor/tactical/verb/holster() - set name = "Holster" - set category = "Object" - set src in usr - if(!istype(usr, /mob/living)) return - if(usr.stat) return +/obj/item/clothing/suit/armor/tactical/New() + ..() + holster = new(src) + +/obj/item/clothing/suit/armor/tactical/attackby(obj/item/W as obj, mob/user as mob) + ..() + holster.attackby(W, user) + +/obj/item/clothing/suit/armor/tactical/verb/holster() + set name = "Holster" + set category = "Object" + set src in usr + if(!istype(usr, /mob/living)) return + if(usr.stat) return + + if(!holster.holstered) + var/obj/item/W = usr.get_active_hand() + if(!istype(W, /obj/item)) + usr << "\blue You need your gun equiped to holster it." + return + holster.holster(W, usr) + else + holster.unholster(usr) - if(!holstered) - if(!istype(usr.get_active_hand(), /obj/item/weapon/gun)) - usr << "\blue You need your gun equiped to holster it." - return - var/obj/item/weapon/gun/W = usr.get_active_hand() - if (!W.isHandgun()) - usr << "\red This gun won't fit in \the belt!" - return - holstered = usr.get_active_hand() - usr.drop_item() - holstered.loc = src - usr.visible_message("\blue \The [usr] holsters \the [holstered].", "You holster \the [holstered].") - else - if(istype(usr.get_active_hand(),/obj) && istype(usr.get_inactive_hand(),/obj)) - usr << "\red You need an empty hand to draw the gun!" - else - if(usr.a_intent == "hurt") - usr.visible_message("\red \The [usr] draws \the [holstered], ready to shoot!", \ - "\red You draw \the [holstered], ready to shoot!") - else - usr.visible_message("\blue \The [usr] draws \the [holstered], pointing it at the ground.", \ - "\blue You draw \the [holstered], pointing it at the ground.") - usr.put_in_hands(holstered) - holstered = null //Non-hardsuit ERT armor. /obj/item/clothing/suit/armor/vest/ert diff --git a/code/modules/clothing/under/ties.dm b/code/modules/clothing/under/ties.dm index 050a2716e09..073b7a37576 100644 --- a/code/modules/clothing/under/ties.dm +++ b/code/modules/clothing/under/ties.dm @@ -197,45 +197,40 @@ desc = "A handgun holster." icon_state = "holster" item_color = "holster" - var/obj/item/weapon/gun/holstered = null - -//subtypes can override this to specify what can be holstered -/obj/item/clothing/tie/holster/proc/can_holster(obj/item/weapon/gun/W) - return W.isHandgun() + var/obj/item/holstered = null /obj/item/clothing/tie/holster/proc/holster(obj/item/I, mob/user as mob) if(holstered) - user << "\red There is already a [holstered] holstered here!" + user << "There is already \a [holstered] holstered here!" return - if (!istype(I, /obj/item/weapon/gun)) - user << "\red Only guns can be holstered!" + if (!(I.slot_flags & SLOT_HOLSTER)) + user << "[I] won't fit in [src]!" return - var/obj/item/weapon/gun/W = I - if (!can_holster(W)) - user << "\red This [W] won't fit in the [src]!" - return - - holstered = W + holstered = I user.drop_from_inventory(holstered) holstered.loc = src holstered.add_fingerprint(user) - user.visible_message("\blue [user] holsters the [holstered].", "You holster the [holstered].") + user.visible_message("[user] holsters [holstered].", "You holster [holstered].") /obj/item/clothing/tie/holster/proc/unholster(mob/user as mob) if(!holstered) return if(istype(user.get_active_hand(),/obj) && istype(user.get_inactive_hand(),/obj)) - user << "\red You need an empty hand to draw the [holstered]!" + user << "You need an empty hand to draw [holstered]!" else if(user.a_intent == "hurt") - usr.visible_message("\red [user] draws the [holstered], ready to shoot!", \ - "\red You draw the [holstered], ready to shoot!") + usr.visible_message( + "[user] draws [holstered], ready to shoot!", + "You draw [holstered], ready to shoot!" + ) else - user.visible_message("\blue [user] draws the [holstered], pointing it at the ground.", \ - "\blue You draw the [holstered], pointing it at the ground.") + user.visible_message( + "[user] draws [holstered], pointing it at the ground.", + "You draw [holstered], pointing it at the ground." + ) user.put_in_hands(holstered) holstered.add_fingerprint(user) holstered = null @@ -279,6 +274,7 @@ if(!istype(usr, /mob/living)) return if(usr.stat) return + //can't we just use src here? var/obj/item/clothing/tie/holster/H = null if (istype(src, /obj/item/clothing/tie/holster)) H = src @@ -288,20 +284,20 @@ H = S.hastie if (!H) - usr << "/red Something is very wrong." + usr << "\red Something is very wrong." if(!H.holstered) - if(!istype(usr.get_active_hand(), /obj/item/weapon/gun)) + var/obj/item/W = usr.get_active_hand() + if(!istype(W, /obj/item)) usr << "\blue You need your gun equiped to holster it." return - var/obj/item/weapon/gun/W = usr.get_active_hand() H.holster(W, usr) else H.unholster(usr) /obj/item/clothing/tie/holster/armpit name = "shoulder holster" - desc = "A worn-out handgun holster. Perfect for concealed carry" + desc = "A worn-out handgun holster. Perfect for concealed carrying." icon_state = "holster" item_color = "holster" diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index dc9c77a294f..c744e1940f3 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -5,7 +5,7 @@ icon_state = "detective" item_state = "gun" flags = CONDUCT - slot_flags = SLOT_BELT + slot_flags = SLOT_BELT|SLOT_HOLSTER matter = list("metal" = 2000) w_class = 3.0 throwforce = 5 @@ -72,9 +72,6 @@ else Fire(A,user,params) //Otherwise, fire normally. -/obj/item/weapon/gun/proc/isHandgun() - return 1 - /obj/item/weapon/gun/proc/Fire(atom/target as mob|obj|turf|area, mob/living/user as mob|obj, params, reflex = 0)//TODO: go over this //Exclude lasertag guns from the CLUMSY check. if(!user) return diff --git a/code/modules/projectiles/guns/energy/laser.dm b/code/modules/projectiles/guns/energy/laser.dm index 40a4b066898..c86fed89dcc 100644 --- a/code/modules/projectiles/guns/energy/laser.dm +++ b/code/modules/projectiles/guns/energy/laser.dm @@ -4,6 +4,7 @@ icon_state = "laser" item_state = "laser" fire_sound = 'sound/weapons/Laser.ogg' + slot_flags = SLOT_BELT|SLOT_BACK w_class = 3.0 matter = list("metal" = 2000) origin_tech = "combat=3;magnets=2" @@ -70,13 +71,11 @@ obj/item/weapon/gun/energy/laser/retro icon_state = "lasercannon" fire_sound = 'sound/weapons/lasercannonfire.ogg' origin_tech = "combat=4;materials=3;powerstorage=3" + slot_flags = SLOT_BELT|SLOT_BACK projectile_type = "/obj/item/projectile/beam/heavylaser" fire_delay = 20 - isHandgun() - return 0 - /obj/item/weapon/gun/energy/lasercannon/cyborg/load_into_chamber() if(in_chamber) return 1 @@ -106,6 +105,7 @@ obj/item/weapon/gun/energy/laser/retro desc = "Standard issue weapon of the Imperial Guard" projectile_type = "/obj/item/projectile/beam/lastertag/blue" origin_tech = "combat=1;magnets=2" + slot_flags = SLOT_BELT|SLOT_HOLSTER clumsy_check = 0 var/charge_tick = 0 @@ -143,6 +143,7 @@ obj/item/weapon/gun/energy/laser/retro desc = "Standard issue weapon of the Imperial Guard" projectile_type = "/obj/item/projectile/beam/lastertag/red" origin_tech = "combat=1;magnets=2" + slot_flags = SLOT_BELT|SLOT_HOLSTER clumsy_check = 0 var/charge_tick = 0 diff --git a/code/modules/projectiles/guns/energy/nuclear.dm b/code/modules/projectiles/guns/energy/nuclear.dm index abfd7510a4e..678f18bc01c 100644 --- a/code/modules/projectiles/guns/energy/nuclear.dm +++ b/code/modules/projectiles/guns/energy/nuclear.dm @@ -40,6 +40,7 @@ desc = "An energy gun with an experimental miniaturized reactor." icon_state = "nucgun" origin_tech = "combat=3;materials=5;powerstorage=3" + slot_flags = SLOT_BELT var/lightfail = 0 var/charge_tick = 0 diff --git a/code/modules/projectiles/guns/energy/pulse.dm b/code/modules/projectiles/guns/energy/pulse.dm index 9b0a22e06c9..bc675ea3dc8 100644 --- a/code/modules/projectiles/guns/energy/pulse.dm +++ b/code/modules/projectiles/guns/energy/pulse.dm @@ -3,6 +3,7 @@ desc = "A heavy-duty, pulse-based energy weapon, preferred by front-line combat personnel." icon_state = "pulse" item_state = null //so the human update icon uses the icon_state instead. + slot_flags = SLOT_BELT|SLOT_BACK force = 10 fire_sound = 'sound/weapons/pulse.ogg' charge_cost = 200 @@ -33,9 +34,6 @@ projectile_type = /obj/item/projectile/beam/pulse return - isHandgun() - return 0 - /obj/item/weapon/gun/energy/pulse_rifle/cyborg/load_into_chamber() if(in_chamber) return 1 @@ -62,9 +60,7 @@ /obj/item/weapon/gun/energy/pulse_rifle/M1911 name = "\improper M1911-P" desc = "It's not the size of the gun, it's the size of the hole it puts through people." + slot_flags = SLOT_BELT|SLOT_HOLSTER icon_state = "m1911-p" cell_type = "/obj/item/weapon/cell/infinite" fire_delay = 10 - - isHandgun() - return 1 diff --git a/code/modules/projectiles/guns/energy/special.dm b/code/modules/projectiles/guns/energy/special.dm index d5417496bfa..eeb3511fe46 100644 --- a/code/modules/projectiles/guns/energy/special.dm +++ b/code/modules/projectiles/guns/energy/special.dm @@ -141,6 +141,7 @@ obj/item/weapon/gun/energy/staff desc = "For the love of god, make sure you're aiming this the right way!" icon_state = "riotgun" item_state = "c20r" + slot_flags = SLOT_BELT|SLOT_BACK w_class = 4 projectile_type = "/obj/item/projectile/meteor" charge_cost = 100 @@ -176,6 +177,7 @@ obj/item/weapon/gun/energy/staff icon_state = "pen" item_state = "pen" w_class = 1 + slot_flags = SLOT_BELT /obj/item/weapon/gun/energy/mindflayer @@ -191,6 +193,7 @@ obj/item/weapon/gun/energy/staff/focus icon = 'icons/obj/wizard.dmi' icon_state = "focus" item_state = "focus" + slot_flags = SLOT_BACK projectile_type = "/obj/item/projectile/forcebolt" /* attack_self(mob/living/user as mob) @@ -215,7 +218,7 @@ obj/item/weapon/gun/energy/staff/focus /obj/item/weapon/gun/energy/sniperrifle name = "\improper L.W.A.P. sniper rifle" - desc = "A rifle constructed of lightweight materials, fitted with a SMART aiming-system scope." + desc = "A high-power laser rifle fitted with a SMART aiming-system scope." icon = 'icons/obj/gun.dmi' icon_state = "sniper" fire_sound = 'sound/weapons/marauder.ogg' @@ -224,7 +227,7 @@ obj/item/weapon/gun/energy/staff/focus slot_flags = SLOT_BACK charge_cost = 250 fire_delay = 35 - w_class = 4.0 + w_class = 4 zoomdevicename = "scope" /obj/item/weapon/gun/energy/sniperrifle/verb/scope() diff --git a/code/modules/projectiles/guns/energy/stun.dm b/code/modules/projectiles/guns/energy/stun.dm index c3d6529dcb7..11cff5f1bc3 100644 --- a/code/modules/projectiles/guns/energy/stun.dm +++ b/code/modules/projectiles/guns/energy/stun.dm @@ -60,6 +60,7 @@ item_state = "crossbow" matter = list("metal" = 2000) origin_tech = "combat=2;magnets=2;syndicate=5" + slot_flags = SLOT_BELT silenced = 1 fire_sound = 'sound/weapons/Genhit.ogg' projectile_type = /obj/item/projectile/energy/bolt @@ -96,7 +97,7 @@ /obj/item/weapon/gun/energy/crossbow/largecrossbow name = "Energy Crossbow" desc = "A weapon favored by mercenary infiltration teams." - w_class = 4.0 + w_class = 4 force = 10 matter = list("metal" = 200000) projectile_type = /obj/item/projectile/energy/bolt/large diff --git a/code/modules/projectiles/guns/energy/temperature.dm b/code/modules/projectiles/guns/energy/temperature.dm index 1e61590f21f..7a4814aca01 100644 --- a/code/modules/projectiles/guns/energy/temperature.dm +++ b/code/modules/projectiles/guns/energy/temperature.dm @@ -7,6 +7,7 @@ var/current_temperature = T20C charge_cost = 100 origin_tech = "combat=3;materials=4;powerstorage=3;magnets=2" + slot_flags = SLOT_BELT|SLOT_BACK projectile_type = "/obj/item/projectile/temp" cell_type = "/obj/item/weapon/cell/crap" diff --git a/code/modules/projectiles/guns/projectile/automatic.dm b/code/modules/projectiles/guns/projectile/automatic.dm index 98049fb8a59..854f4ada20d 100644 --- a/code/modules/projectiles/guns/projectile/automatic.dm +++ b/code/modules/projectiles/guns/projectile/automatic.dm @@ -7,14 +7,12 @@ max_shells = 22 caliber = "9mm" origin_tech = "combat=4;materials=2" + slot_flags = SLOT_BELT ammo_type = /obj/item/ammo_casing/c9mm automatic = 1 fire_delay = 0 - isHandgun() - return 0 - /obj/item/weapon/gun/projectile/automatic/mini_uzi name = "\improper Uzi" desc = "A lightweight, fast firing gun, for when you want someone dead. Uses .45 rounds." @@ -26,9 +24,6 @@ origin_tech = "combat=5;materials=2;syndicate=8" ammo_type = /obj/item/ammo_casing/c45 - isHandgun() - return 1 - /obj/item/weapon/gun/projectile/automatic/c20r name = "\improper C-20r SMG" @@ -38,6 +33,7 @@ w_class = 3 caliber = "12mm" origin_tech = "combat=5;materials=2;syndicate=8" + slot_flags = SLOT_BELT|SLOT_BACK fire_sound = 'sound/weapons/Gunshot_smg.ogg' load_method = MAGAZINE magazine_type = /obj/item/ammo_magazine/a12mm @@ -66,6 +62,7 @@ max_shells = 50 caliber = "a762" origin_tech = "combat=5;materials=1;syndicate=2" + slot_flags = SLOT_BACK ammo_type = "/obj/item/ammo_casing/a762" fire_sound = 'sound/weapons/Gunshot_smg.ogg' load_method = MAGAZINE diff --git a/code/modules/projectiles/guns/projectile/crossbow.dm b/code/modules/projectiles/guns/projectile/crossbow.dm index faa3f8509f4..e74e58fe733 100644 --- a/code/modules/projectiles/guns/projectile/crossbow.dm +++ b/code/modules/projectiles/guns/projectile/crossbow.dm @@ -55,6 +55,7 @@ mouthshoot = 1 // No suiciding with this weapon, causes runtimes. fire_sound_text = "a solid thunk" fire_delay = 25 + slot_flags = SLOT_BACK var/tension = 0 // Current draw on the bow. var/max_tension = 5 // Highest possible tension. diff --git a/code/modules/projectiles/guns/projectile/launcher.dm b/code/modules/projectiles/guns/projectile/launcher.dm index 6626d809cd2..97f25cbc28f 100644 --- a/code/modules/projectiles/guns/projectile/launcher.dm +++ b/code/modules/projectiles/guns/projectile/launcher.dm @@ -13,10 +13,6 @@ /obj/item/weapon/gun/launcher/load_into_chamber() return (!isnull(in_chamber)) -//This should not fit in a combat belt or holster. -/obj/item/weapon/gun/launcher/isHandgun() - return 0 - //Launchers are mechanical, no other impact. /obj/item/weapon/gun/launcher/emp_act(severity) return diff --git a/code/modules/projectiles/guns/projectile/pneumatic.dm b/code/modules/projectiles/guns/projectile/pneumatic.dm index 43a5bc8e9ad..f83ab85570f 100644 --- a/code/modules/projectiles/guns/projectile/pneumatic.dm +++ b/code/modules/projectiles/guns/projectile/pneumatic.dm @@ -4,6 +4,7 @@ icon = 'icons/obj/gun.dmi' icon_state = "pneumatic" item_state = "pneumatic" + slot_flags = SLOT_BELT w_class = 5.0 flags = CONDUCT fire_sound_text = "a loud whoosh of moving air" diff --git a/code/modules/projectiles/guns/projectile/revolver.dm b/code/modules/projectiles/guns/projectile/revolver.dm index 48ae9a24329..cc77625c0d9 100644 --- a/code/modules/projectiles/guns/projectile/revolver.dm +++ b/code/modules/projectiles/guns/projectile/revolver.dm @@ -5,14 +5,22 @@ caliber = "357" origin_tech = "combat=2;materials=2" + eject_casings = 0 max_shells = 7 ammo_type = /obj/item/ammo_casing/a357 +/obj/item/weapon/gun/projectile/revolver/mateba + name = "mateba" + desc = "When you absolutely, positively need a 10mm hole in the other guy. Uses .357 ammo." //>10mm hole >.357 + icon_state = "mateba" + origin_tech = "combat=2;materials=2" + /obj/item/weapon/gun/projectile/detective name = "revolver" desc = "A cheap Martian knock-off of a Smith & Wesson Model 10. Uses .38-Special rounds." icon_state = "detective" max_shells = 6 + eject_casings = 0 caliber = "38" origin_tech = "combat=2;materials=2" ammo_type = /obj/item/ammo_casing/c38 @@ -84,6 +92,7 @@ desc = "A cheap Martian knock-off of a Colt M1911. Uses less-than-lethal .45 rounds." icon_state = "colt" caliber = ".45" + eject_casings = 1 load_method = MAGAZINE magazine_type = /obj/item/ammo_magazine/c45m/rubber @@ -96,13 +105,6 @@ desc = "A cheap Martian knock-off of a Colt M1911." magazine_type = /obj/item/ammo_magazine/c45m -/obj/item/weapon/gun/projectile/revolver/mateba - name = "mateba" - desc = "When you absolutely, positively need a 10mm hole in the other guy. Uses .357 ammo." //>10mm hole >.357 - icon_state = "mateba" - origin_tech = "combat=2;materials=2" - - // A gun to play Russian Roulette! // You can spin the chamber to randomize the position of the bullet. /* diff --git a/code/modules/projectiles/guns/projectile/shotgun.dm b/code/modules/projectiles/guns/projectile/shotgun.dm index c23acfa1291..a75f3c9310a 100644 --- a/code/modules/projectiles/guns/projectile/shotgun.dm +++ b/code/modules/projectiles/guns/projectile/shotgun.dm @@ -16,9 +16,6 @@ var/pumped = 0 var/obj/item/ammo_casing/current_shell = null -/obj/item/weapon/gun/projectile/shotgun/pump/isHandgun() - return 0 - /obj/item/weapon/gun/projectile/shotgun/pump/load_into_chamber() if(in_chamber) return 1 @@ -66,6 +63,7 @@ //SPEEDLOADER because rapid unloading. //In principle someone could make a speedloader for it, so it makes sense. load_method = SINGLE_CASING|SPEEDLOADER + eject_casings = 0 max_shells = 2 w_class = 4 force = 10 @@ -90,7 +88,7 @@ w_class = 3 item_state = "gun" slot_flags &= ~SLOT_BACK //you can't sling it on your back - slot_flags |= SLOT_BELT //but you can wear it on your belt (poorly concealed under a trenchcoat, ideally) + slot_flags |= SLOT_BELT|SLOT_HOLSTER //but you can wear it on your belt (poorly concealed under a trenchcoat, ideally), or in a holster, why not. name = "sawn-off shotgun" desc = "Omar's coming!" user << "You shorten the barrel of \the [src]!" diff --git a/code/modules/reagents/reagent_containers/food/snacks/grown.dm b/code/modules/reagents/reagent_containers/food/snacks/grown.dm index b57a4d5562a..c59a5f9f7c8 100644 --- a/code/modules/reagents/reagent_containers/food/snacks/grown.dm +++ b/code/modules/reagents/reagent_containers/food/snacks/grown.dm @@ -337,6 +337,7 @@ icon = 'icons/obj/items.dmi' icon_state = "banana" item_state = "banana" + slot_flags = SLOT_HOLSTER filling_color = "#FCF695" trash = /obj/item/weapon/bananapeel plantname = "banana" diff --git a/code/setup.dm b/code/setup.dm index e1b8b6695b1..e64947838b7 100644 --- a/code/setup.dm +++ b/code/setup.dm @@ -166,6 +166,7 @@ #define SLOT_DENYPOCKET 4096 // This is to deny items with a w_class of 2 or 1 from fitting in pockets. #define SLOT_TWOEARS 8192 #define SLOT_TIE 16384 +#define SLOT_HOLSTER 32768 //16th bit // Flags bitmasks. #define STOPPRESSUREDAMAGE 1 // This flag is used on the flags variable for SUIT and HEAD items which stop pressure damage. Note that the flag 1 was previous used as ONBACK, so it is possible for some code to use (flags & 1) when checking if something can be put on your back. Replace this code with (inv_flags & SLOT_BACK) if you see it anywhere From 1b35d5d53d086cdfef4e12e414c43e557b807e12 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Mon, 9 Feb 2015 21:25:57 -0500 Subject: [PATCH 072/143] Adds option for projectile guns to cycle casings --- code/modules/projectiles/guns/projectile.dm | 29 ++++++++++++++++----- 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/code/modules/projectiles/guns/projectile.dm b/code/modules/projectiles/guns/projectile.dm index fa17c0e67b7..1bcc32a2c6c 100644 --- a/code/modules/projectiles/guns/projectile.dm +++ b/code/modules/projectiles/guns/projectile.dm @@ -8,6 +8,7 @@ matter = list("metal" = 1000) recoil = 1 + var/eject_casings = 1 //experimental: for guns that don't eject casings, like revolvers. var/load_method = SINGLE_CASING|SPEEDLOADER //1 = Single shells, 2 = box or quick loader, 3 = magazine //For SINGLE_CASING or SPEEDLOADER guns @@ -45,10 +46,19 @@ ammo_magazine.stored_ammo -= C if(istype(C)) - C.loc = get_turf(src) //Eject casing onto ground. + if(eject_casings) + C.loc = get_turf(src) //Eject casing onto ground. + else + //cycle it to the end + if(ammo_magazine) + ammo_magazine.stored_ammo += C + else + loaded += C + if(C.BB) in_chamber = C.BB C.BB.loc = src //Set projectile loc to gun. + C.BB = null return 1 return 0 @@ -63,12 +73,16 @@ switch(AM.mag_type) if(MAGAZINE) if(ammo_magazine) - return //already a magazine here + user << "[src] already has a magazine loaded!" //already a magazine here + return user.remove_from_mob(AM) AM.loc = src ammo_magazine = AM user.visible_message("[user] inserts [AM] into [src].", "You insert [AM] into [src]!") if(SPEEDLOADER) + if(loaded.len >= max_shells) + user << "[src] is full!" + return var/count = 0 for(var/obj/item/ammo_casing/C in AM.stored_ammo) if(loaded.len >= max_shells) @@ -86,12 +100,15 @@ else if(istype(A, /obj/item/ammo_casing)) var/obj/item/ammo_casing/C = A - if(!(load_method & SINGLE_CASING) || caliber != C.caliber || loaded.len >= max_shells) - return //incompatible or full + if(!(load_method & SINGLE_CASING) || caliber != C.caliber) + return //incompatible + if(loaded.len >= max_shells) + user << "[src] is full!" + return user.remove_from_mob(C) C.loc = src - loaded += C + loaded.Insert(C, 1) //add to the head of the list user.visible_message("[user] inserts \a [C] into [src].", "You insert \a [C] into [src]!") update_icon() return @@ -125,7 +142,7 @@ update_icon() else - user << "There's nothing loaded in [src]!" + user << "[src] is empty!" /obj/item/weapon/gun/projectile/attackby(var/obj/item/A as obj, mob/user as mob) load_ammo(A, user) From 2e6a0f4ebbf0b08bc67fa26e0bc7f62f6faaeb4b Mon Sep 17 00:00:00 2001 From: mwerezak Date: Mon, 9 Feb 2015 22:46:00 -0500 Subject: [PATCH 073/143] Adjusts some gun force values Gave some of the heavier looking weapons the same force value as the shotgun. --- code/modules/projectiles/guns/energy/laser.dm | 1 + code/modules/projectiles/guns/energy/nuclear.dm | 1 + code/modules/projectiles/guns/energy/special.dm | 2 ++ code/modules/projectiles/guns/projectile/automatic.dm | 2 ++ 4 files changed, 6 insertions(+) diff --git a/code/modules/projectiles/guns/energy/laser.dm b/code/modules/projectiles/guns/energy/laser.dm index c86fed89dcc..24a3bb1541a 100644 --- a/code/modules/projectiles/guns/energy/laser.dm +++ b/code/modules/projectiles/guns/energy/laser.dm @@ -6,6 +6,7 @@ fire_sound = 'sound/weapons/Laser.ogg' slot_flags = SLOT_BELT|SLOT_BACK w_class = 3.0 + force = 10 //it has a stock, might as well give some kind of perk over the egun matter = list("metal" = 2000) origin_tech = "combat=3;magnets=2" projectile_type = /obj/item/projectile/beam diff --git a/code/modules/projectiles/guns/energy/nuclear.dm b/code/modules/projectiles/guns/energy/nuclear.dm index 678f18bc01c..8047a947841 100644 --- a/code/modules/projectiles/guns/energy/nuclear.dm +++ b/code/modules/projectiles/guns/energy/nuclear.dm @@ -41,6 +41,7 @@ icon_state = "nucgun" origin_tech = "combat=3;materials=5;powerstorage=3" slot_flags = SLOT_BELT + force = 8 var/lightfail = 0 var/charge_tick = 0 diff --git a/code/modules/projectiles/guns/energy/special.dm b/code/modules/projectiles/guns/energy/special.dm index eeb3511fe46..df36de84fbd 100644 --- a/code/modules/projectiles/guns/energy/special.dm +++ b/code/modules/projectiles/guns/energy/special.dm @@ -5,6 +5,7 @@ fire_sound = 'sound/weapons/Laser.ogg' origin_tech = "combat=2;magnets=4" w_class = 4.0 + force = 10 flags = CONDUCT slot_flags = SLOT_BACK charge_cost = 100 @@ -227,6 +228,7 @@ obj/item/weapon/gun/energy/staff/focus slot_flags = SLOT_BACK charge_cost = 250 fire_delay = 35 + force = 10 w_class = 4 zoomdevicename = "scope" diff --git a/code/modules/projectiles/guns/projectile/automatic.dm b/code/modules/projectiles/guns/projectile/automatic.dm index 854f4ada20d..4500f2be2d1 100644 --- a/code/modules/projectiles/guns/projectile/automatic.dm +++ b/code/modules/projectiles/guns/projectile/automatic.dm @@ -31,6 +31,7 @@ icon_state = "c20r" item_state = "c20r" w_class = 3 + force = 10 caliber = "12mm" origin_tech = "combat=5;materials=2;syndicate=8" slot_flags = SLOT_BELT|SLOT_BACK @@ -58,6 +59,7 @@ icon_state = "l6closed100" item_state = "l6closedmag" w_class = 4 + force = 10 slot_flags = 0 max_shells = 50 caliber = "a762" From 7ccd78baa7986661d939f0e93f35d56bb875be81 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Mon, 9 Feb 2015 23:27:10 -0500 Subject: [PATCH 074/143] Makes non-edge damage sources less likely to delimb Notably, shotgun slugs are no longer capable of automatic decapitation --- code/modules/organs/organ_external.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/organs/organ_external.dm b/code/modules/organs/organ_external.dm index b45d0aafa76..25e12ebfbf9 100644 --- a/code/modules/organs/organ_external.dm +++ b/code/modules/organs/organ_external.dm @@ -159,7 +159,7 @@ //If limb took enough damage, try to cut or tear it off if(body_part != UPPER_TORSO && body_part != LOWER_TORSO) //as hilarious as it is, getting hit on the chest too much shouldn't effectively gib you. if(config.limbs_can_break && brute_dam >= max_damage * config.organ_health_multiplier) - if( (edge && prob(5 * brute)) || (brute > 20 && prob(2 * brute)) ) + if( (edge && prob(5 * brute)) || (brute > 20 && prob(brute)) ) droplimb(1) return From 6d3e6c22460ef5805a9f8806703d28b602acd664 Mon Sep 17 00:00:00 2001 From: D Anzorge Date: Tue, 3 Feb 2015 09:06:11 -0500 Subject: [PATCH 075/143] Change ewallets to work like ID cards Instead of having to insert ewallet before making purchase, ewallets can now be swiped in place of ID card --- code/game/machinery/vending.dm | 47 ++++++++++------------------------ 1 file changed, 14 insertions(+), 33 deletions(-) diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm index 7d7ee3113df..205caf275f3 100644 --- a/code/game/machinery/vending.dm +++ b/code/game/machinery/vending.dm @@ -59,8 +59,6 @@ var/datum/wires/vending/wires = null var/check_accounts = 0 // 1 = requires PIN and checks accounts. 0 = You slide an ID, it vends, SPACE COMMUNISM! - var/obj/item/weapon/spacecash/ewallet/ewallet - /obj/machinery/vending/New() ..() @@ -174,12 +172,17 @@ else if(istype(W, /obj/item/weapon/card) && currently_vending) var/obj/item/weapon/card/I = W scan_card(I) - else if (istype(W, /obj/item/weapon/spacecash/ewallet)) - user.drop_item() - W.loc = src - ewallet = W - user << "\blue You insert the [W] into the [src]" - + else if (istype(W, /obj/item/weapon/spacecash/ewallet) && currently_vending) + var/obj/item/weapon/spacecash/ewallet/I = W + if(I.worth >= currently_vending.price) + I.worth -= currently_vending.price + visible_message("[usr] swipes a card through [src].") + + src.vend(src.currently_vending, usr) + currently_vending = null + else + usr << "\icon[src]Your chargecard does not have enough money!" + else if(istype(W, /obj/item/weapon/wrench)) if(do_after(user, 20)) @@ -307,7 +310,7 @@ if(src.currently_vending) var/dat = "

    [vendorname]


    " //display the name, and added a horizontal rule - dat += "You have selected [currently_vending.product_name].
    Please swipe your ID to pay for the article.

    " + dat += "Product selected: [currently_vending.product_name]
    Charge: [currently_vending.price]

    Please swipe a card to pay for the item.

    " dat += "
    Cancel" user << browse(dat, "window=vending") onclose(user, "") @@ -319,9 +322,6 @@ if (premium.len > 0) dat += "Coin slot: [coin ? coin : "No coin inserted"] (Remove)
    " - if (ewallet) - dat += "Charge card's credits: [ewallet ? ewallet.worth : "No charge card inserted"] (Remove)

    " - if (src.product_records.len == 0) dat += "No product loaded!" else @@ -378,16 +378,6 @@ usr << "\blue You remove the [coin] from the [src]" coin = null - if(href_list["remove_ewallet"] && !istype(usr,/mob/living/silicon)) - if (!ewallet) - usr << "There is no charge card in this machine." - return - ewallet.loc = src.loc - if(!usr.get_active_hand()) - usr.put_in_hands(ewallet) - usr << "\blue You remove the [ewallet] from the [src]" - ewallet = null - if ((usr.contents.Find(src) || (in_range(src, usr) && istype(src.loc, /turf)))) usr.set_machine(src) if ((href_list["vend"]) && (src.vend_ready) && (!currently_vending)) @@ -417,17 +407,8 @@ if(R.price == null) src.vend(R, usr) else - if (ewallet) - if (R.price <= ewallet.worth) - ewallet.worth -= R.price - src.vend(R, usr) - else - usr << "\red The ewallet doesn't have enough money to pay for that." - src.currently_vending = R - src.updateUsrDialog() - else - src.currently_vending = R - src.updateUsrDialog() + src.currently_vending = R + src.updateUsrDialog() return else if (href_list["cancel_buying"]) From 1acce5dc592fb4c61a5ff60d6430d4b1d89f1604 Mon Sep 17 00:00:00 2001 From: D Anzorge Date: Tue, 3 Feb 2015 11:20:46 -0500 Subject: [PATCH 076/143] Add cash purchases to vending machines --- code/game/machinery/vending.dm | 31 +++++++++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm index 205caf275f3..7698d2414c0 100644 --- a/code/game/machinery/vending.dm +++ b/code/game/machinery/vending.dm @@ -182,7 +182,34 @@ currently_vending = null else usr << "\icon[src]Your chargecard does not have enough money!" - + + // we shouldn't hit spacewallets by now since they were handled above, so this is cash only + else if (istype(W, /obj/item/weapon/spacecash) && currently_vending) + var/obj/item/weapon/spacecash/C = W + if(C.worth >= currently_vending.price) + if(istype(C, /obj/item/weapon/spacecash/bundle)) + visible_message("[usr] inserts some cash into [src].") + C.worth -= currently_vending.price + if(!C.worth) + usr.drop_from_inventory(W) + del(W) + else + W.update_icon() + else + // Non-bundles are whole bills. We eat the whole cash item and spit out change + visible_message("[usr] inserts a bill into [src].") + var/left = C.worth - currently_vending.price + + usr.drop_from_inventory(W) + del(W) + if(left) + spawn_money(left, src.loc, user) + + src.vend(src.currently_vending, usr) + currently_vending = null + else + usr << "\icon[src]That is not enough money to cover the price!" + else if(istype(W, /obj/item/weapon/wrench)) if(do_after(user, 20)) @@ -310,7 +337,7 @@ if(src.currently_vending) var/dat = "
    [vendorname]


    " //display the name, and added a horizontal rule - dat += "Product selected: [currently_vending.product_name]
    Charge: [currently_vending.price]

    Please swipe a card to pay for the item.

    " + dat += "Product selected: [currently_vending.product_name]
    Charge: [currently_vending.price]

    Please swipe a card or insert cash to pay for the item.

    " dat += "Cancel" user << browse(dat, "window=vending") onclose(user, "") From 119005d515aba84c40735de085960e541d5ab8a1 Mon Sep 17 00:00:00 2001 From: D Anzorge Date: Wed, 4 Feb 2015 19:26:47 -0500 Subject: [PATCH 077/143] Refactor and make vendors record transactions Payment code is now more modular and less redundant. Vending machines now record all transactions, including cash transactions. --- code/game/machinery/vending.dm | 249 ++++++++++++++++++++------------- 1 file changed, 148 insertions(+), 101 deletions(-) diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm index 7698d2414c0..5a8df08c8ae 100644 --- a/code/game/machinery/vending.dm +++ b/code/game/machinery/vending.dm @@ -147,6 +147,29 @@ return /obj/machinery/vending/attackby(obj/item/weapon/W as obj, mob/user as mob) + if (currently_vending) + var/paid = 0 + var/handled = 0 + if(istype(W, /obj/item/weapon/card/id)) + var/obj/item/weapon/card/id/C = W + paid = pay_with_card(C) + handled = 1 + else if (istype(W, /obj/item/weapon/spacecash/ewallet)) + var/obj/item/weapon/spacecash/ewallet/C = W + paid = pay_with_ewallet(C) + handled = 1 + else if (istype(W, /obj/item/weapon/spacecash)) + var/obj/item/weapon/spacecash/C = W + paid = pay_with_cash(C, user) + handled = 1 + + if(paid) + src.vend(currently_vending, usr) + currently_vending = null + return + else if(handled) + return // don't smack that machine with your 2 thalers + if (istype(W, /obj/item/weapon/card/emag)) src.emagged = 1 user << "You short out the product lock on [src]" @@ -169,49 +192,7 @@ coin = W user << "\blue You insert the [W] into the [src]" return - else if(istype(W, /obj/item/weapon/card) && currently_vending) - var/obj/item/weapon/card/I = W - scan_card(I) - else if (istype(W, /obj/item/weapon/spacecash/ewallet) && currently_vending) - var/obj/item/weapon/spacecash/ewallet/I = W - if(I.worth >= currently_vending.price) - I.worth -= currently_vending.price - visible_message("[usr] swipes a card through [src].") - - src.vend(src.currently_vending, usr) - currently_vending = null - else - usr << "\icon[src]Your chargecard does not have enough money!" - - // we shouldn't hit spacewallets by now since they were handled above, so this is cash only - else if (istype(W, /obj/item/weapon/spacecash) && currently_vending) - var/obj/item/weapon/spacecash/C = W - if(C.worth >= currently_vending.price) - if(istype(C, /obj/item/weapon/spacecash/bundle)) - visible_message("[usr] inserts some cash into [src].") - C.worth -= currently_vending.price - if(!C.worth) - usr.drop_from_inventory(W) - del(W) - else - W.update_icon() - else - // Non-bundles are whole bills. We eat the whole cash item and spit out change - visible_message("[usr] inserts a bill into [src].") - var/left = C.worth - currently_vending.price - - usr.drop_from_inventory(W) - del(W) - if(left) - spawn_money(left, src.loc, user) - - src.vend(src.currently_vending, usr) - currently_vending = null - else - usr << "\icon[src]That is not enough money to cover the price!" - else if(istype(W, /obj/item/weapon/wrench)) - if(do_after(user, 20)) if(!src) return playsound(src.loc, 'sound/items/Ratchet.ogg', 100, 1) @@ -234,67 +215,133 @@ else ..() -/obj/machinery/vending/proc/scan_card(var/obj/item/weapon/card/I) - if(!currently_vending) return - if (istype(I, /obj/item/weapon/card/id)) - var/obj/item/weapon/card/id/C = I - visible_message("[usr] swipes a card through [src].") - var/datum/money_account/CH = get_account(C.associated_account_number) - if (CH) // Only proceed if card contains proper account number. - if(!CH.suspended) - if(CH.security_level != 0) //If card requires pin authentication (ie seclevel 1 or 2) - if(vendor_account) - var/attempt_pin = input("Enter pin code", "Vendor transaction") as num - var/datum/money_account/D = attempt_account_access(C.associated_account_number, attempt_pin, 2) - transfer_and_vend(D) - else - usr << "\icon[src]Unable to access account. Check security settings and try again." - else - //Just Vend it. - transfer_and_vend(CH) - else - usr << "\icon[src]Connected account has been suspended." +/** + * Receive payment with cashmoney. + * + * usr is the mob who gets the change. + */ +/obj/machinery/vending/proc/pay_with_cash(var/obj/item/weapon/spacecash/cashmoney, mob/user) + if(currently_vending.price > cashmoney.worth) + usr << "\icon[src] That is not enough money." + return 0 + + if(istype(cashmoney, /obj/item/weapon/spacecash/bundle)) + // Bundles can just have money subtracted, and will work + + visible_message("[usr] inserts some cash into [src].") + var/obj/item/weapon/spacecash/bundle/cashmoney_bundle = cashmoney + cashmoney_bundle.worth -= currently_vending.price + + if(cashmoney_bundle.worth <= 0) + usr.drop_from_inventory(cashmoney_bundle) + del(cashmoney_bundle) else - usr << "\icon[src]Error: Unable to access your account. Please contact technical support if problem persists." - -/obj/machinery/vending/proc/transfer_and_vend(var/datum/money_account/acc) - if(acc) - var/transaction_amount = currently_vending.price - if(transaction_amount <= acc.money) - - //transfer the money - acc.money -= transaction_amount - vendor_account.money += transaction_amount - - //create entries in the two account transaction logs - var/datum/transaction/T = new() - T.target_name = "[vendor_account.owner_name] (via [src.name])" - T.purpose = "Purchase of [currently_vending.product_name]" - if(transaction_amount > 0) - T.amount = "([transaction_amount])" - else - T.amount = "[transaction_amount]" - T.source_terminal = src.name - T.date = current_date_string - T.time = worldtime2text() - acc.transaction_log.Add(T) - // - T = new() - T.target_name = acc.owner_name - T.purpose = "Purchase of [currently_vending.product_name]" - T.amount = "[transaction_amount]" - T.source_terminal = src.name - T.date = current_date_string - T.time = worldtime2text() - vendor_account.transaction_log.Add(T) - - // Vend the item - src.vend(src.currently_vending, usr) - currently_vending = null - else - usr << "\icon[src]You don't have that much money!" + cashmoney_bundle.update_icon() else - usr << "\icon[src]Error: Unable to access your account. Please contact technical support if problem persists." + // Bills (banknotes) cannot really have worth different than face value, + // so we have to eat the bill and spit out change in a bundle + // This is really dirty, but there's no superclass for all bills, so we + // just assume that all spacecash that's not something else is a bill + + visible_message("[usr] inserts a bill into [src].") + var/left = cashmoney.worth - currently_vending.price + usr.drop_from_inventory(cashmoney) + del(cashmoney) + + if(left) + spawn_money(left, src.loc, user) + + // Vending machines have no idea who paid with cash + credit_purchase("(cash)") + return 1 + +/** + * Scan a chargecard and deduct payment from it. + * + * Takes payment for whatever is the currently_vending item. Returns 1 if + * successful, 0 if failed. + */ +/obj/machinery/vending/proc/pay_with_ewallet(var/obj/item/weapon/spacecash/ewallet/wallet) + visible_message("[usr] swipes a card through [src].") + if(currently_vending.price > wallet.worth) + usr << "\icon[src] Insufficient funds on chargecard." + return 0 + else + wallet.worth -= currently_vending.price + credit_purchase("[wallet.owner_name] (chargecard)") + return 1 + +/** + * Scan a card and attempt to transfer payment from associated account. + * + * Takes payment for whatever is the currently_vending item. Returns 1 if + * successful, 0 if failed + */ +/obj/machinery/vending/proc/pay_with_card(var/obj/item/weapon/card/id/I) + visible_message("[usr] swipes a card through [src].") + var/datum/money_account/customer_account = get_account(I.associated_account_number) + if (!customer_account) + usr << "\icon[src] Error: Unable to access account. Please contact technical support if problem persists." + return 0 + + if(customer_account.suspended) + usr << "\icon[src] Unable to access account: account suspended." + return 0 + + // Have the customer punch in the PIN before checking if there's enough money. Prevents people from figuring out acct is + // empty at high security levels + if(customer_account.security_level != 0) //If card requires pin authentication (ie seclevel 1 or 2) + var/attempt_pin = input("Enter pin code", "Vendor transaction") as num + customer_account = attempt_account_access(I.associated_account_number, attempt_pin, 2) + + if(!customer_account) + usr << "\icon[src] Unable to access account: incorrect credentials." + return 0 + + if(currently_vending.price > customer_account.money) + usr << "\icon[src] Insufficient funds in account." + return 0 + else + // Okay to move the money at this point + + // debit money from the purchaser's account + customer_account.money -= currently_vending.price + + // create entry in the purchaser's account log + var/datum/transaction/T = new() + T.target_name = "[vendor_account.owner_name] (via [src.name])" + T.purpose = "Purchase of [currently_vending.product_name]" + if(currently_vending.price > 0) + T.amount = "([currently_vending.price])" + else + T.amount = "[currently_vending.price]" + T.source_terminal = src.name + T.date = current_date_string + T.time = worldtime2text() + customer_account.transaction_log.Add(T) + + // Give the vendor the money. We use the account owner name, which means + // that purchases made with stolen/borrowed card will look like the card + // owner made them + credit_purchase(customer_account.owner_name) + return 1 + +/** + * Add money for current purchase to the vendor account. + * + * Called after the money has already been taken from the customer. + */ +/obj/machinery/vending/proc/credit_purchase(var/target as text) + vendor_account.money += currently_vending.price + + var/datum/transaction/T = new() + T.target_name = target + T.purpose = "Purchase of [currently_vending.product_name]" + T.amount = "[currently_vending.price]" + T.source_terminal = src.name + T.date = current_date_string + T.time = worldtime2text() + vendor_account.transaction_log.Add(T) /obj/machinery/vending/attack_ai(mob/user as mob) return attack_hand(user) From 73bc5934d5d2ecaf959745ed4fa4c96288017529 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Wed, 11 Feb 2015 09:55:50 +0100 Subject: [PATCH 078/143] Replaces uplink Donk-pockets with Sin-Pockets. Sin-Pockets can be self-heated using the future magic of producing heat by mixing chemicals. Each heated pocket contains: Doctor's Delight - 5 units, Hyperzine - 5 units, Synaptizine - 1 unit. Overconsumption is definitely possible by the careless. Makes the concealed cane use non-del methods. --- code/defines/obj/weapon.dm | 34 ++++++++++++++---- .../objects/items/weapons/storage/boxes.dm | 14 ++++++++ code/modules/food/recipes_microwave.dm | 6 +--- .../reagent_containers/food/snacks.dm | 35 ++++++++++++++++--- 4 files changed, 73 insertions(+), 16 deletions(-) diff --git a/code/defines/obj/weapon.dm b/code/defines/obj/weapon.dm index 37fb0e732f1..b9ccee8f360 100644 --- a/code/defines/obj/weapon.dm +++ b/code/defines/obj/weapon.dm @@ -98,23 +98,43 @@ matter = list("metal" = 50) attack_verb = list("bludgeoned", "whacked", "disciplined", "thrashed") +/obj/item/weapon/cane/concealed + var/atom/movable/concealed_blade + +/obj/item/weapon/cane/concealed/New(var/blade) + ..() + if(!isturf(blade)) + concealed_blade = blade + else + concealed_blade = new/obj/item/weapon/kitchenknife/concealed(src) + loc = blade + /obj/item/weapon/cane/concealed/attack_self(mob/user) user.visible_message("[user] has unsheathed a blade from \his [src]!", "You unsheathe the blade from \the [src].") - var/blade = new/obj/item/weapon/kitchenknife/concealed + // Calling drop/put in hands to properly call item drop/pickup procs user.drop_from_inventory(src) - user.put_in_hands(blade) - del(src) + user.put_in_hands(concealed_blade) + loc = concealed_blade /obj/item/weapon/kitchenknife/concealed name = "cane blade" desc = "A now less than concealed cane blade." + var/atom/movable/container + +/obj/item/weapon/kitchenknife/concealed/New(var/container) + ..() + if(!isturf(container)) + src.container = container + else + container = new/obj/item/weapon/cane/concealed(src) + loc = container /obj/item/weapon/kitchenknife/concealed/attack_self(mob/user) - var/cane = new/obj/item/weapon/cane/concealed + user.visible_message("[user] has sheathed a blade into \his [container]!", "You sheathe the blade into \the [container].") + // Calling drop/put in hands to properly call item drop/pickup procs user.drop_from_inventory(src) - user.put_in_hands(cane) - del(src) - user.visible_message("[user] has sheathed a blade into \his [cane]!", "You sheathe the blade into \the [cane].") + user.put_in_hands(container) + loc = container /obj/item/weapon/disk name = "disk" diff --git a/code/game/objects/items/weapons/storage/boxes.dm b/code/game/objects/items/weapons/storage/boxes.dm index 9692cacf698..c724319160d 100644 --- a/code/game/objects/items/weapons/storage/boxes.dm +++ b/code/game/objects/items/weapons/storage/boxes.dm @@ -323,6 +323,20 @@ new /obj/item/weapon/reagent_containers/food/snacks/donkpocket(src) new /obj/item/weapon/reagent_containers/food/snacks/donkpocket(src) new /obj/item/weapon/reagent_containers/food/snacks/donkpocket(src) + +/obj/item/weapon/storage/box/sinpockets + name = "box of sin-pockets" + desc = "Instructions: Crush bottom of package to initiate chemical heating. Wait for 20 seconds before consumption. Product will cool if not eaten within seven minutes." + icon_state = "donk_kit" + + New() + ..() + new /obj/item/weapon/reagent_containers/food/snacks/donkpocket/sinpocket(src) + new /obj/item/weapon/reagent_containers/food/snacks/donkpocket/sinpocket(src) + new /obj/item/weapon/reagent_containers/food/snacks/donkpocket/sinpocket(src) + new /obj/item/weapon/reagent_containers/food/snacks/donkpocket/sinpocket(src) + new /obj/item/weapon/reagent_containers/food/snacks/donkpocket/sinpocket(src) + new /obj/item/weapon/reagent_containers/food/snacks/donkpocket/sinpocket(src) /obj/item/weapon/storage/box/monkeycubes name = "monkey cube box" diff --git a/code/modules/food/recipes_microwave.dm b/code/modules/food/recipes_microwave.dm index 87617d95cef..b9b9c5888b8 100644 --- a/code/modules/food/recipes_microwave.dm +++ b/code/modules/food/recipes_microwave.dm @@ -180,11 +180,7 @@ I said no! ) result = /obj/item/weapon/reagent_containers/food/snacks/donkpocket //SPECIAL proc/warm_up(var/obj/item/weapon/reagent_containers/food/snacks/donkpocket/being_cooked) - being_cooked.warm = 1 - being_cooked.reagents.add_reagent("tricordrazine", 5) - being_cooked.bitesize = 6 - being_cooked.name = "Warm " + being_cooked.name - being_cooked.cooltime() + being_cooked.heat() make_food(var/obj/container as obj) var/obj/item/weapon/reagent_containers/food/snacks/donkpocket/being_cooked = ..(container) warm_up(being_cooked) diff --git a/code/modules/reagents/reagent_containers/food/snacks.dm b/code/modules/reagents/reagent_containers/food/snacks.dm index e5e16db2dcb..3e38a8ccf60 100644 --- a/code/modules/reagents/reagent_containers/food/snacks.dm +++ b/code/modules/reagents/reagent_containers/food/snacks.dm @@ -698,6 +698,23 @@ reagents.add_reagent("protein", 6) bitesize = 2 +/obj/item/weapon/reagent_containers/food/snacks/donkpocket/sinpocket + name = "\improper Sin-pocket" + desc = "The food of choice for the veteran. Do NOT overconsume." + filling_color = "#6D6D00" + heated_reagents = list("doctorsdelight" = 5, "hyperzine" = 5, "synaptizine" = 1) + var/has_been_heated = 0 + +/obj/item/weapon/reagent_containers/food/snacks/donkpocket/sinpocket/attack_self(mob/user) + if(has_been_heated) + user << "The heating chemicals have already been spent." + return + has_been_heated = 1 + user.visible_message("[user] crushes \the [src] package.", "You crush \the [src] package and feel a comfortable heat build up.") + spawn(200) + user << "You think \the [src] is ready to eat about now." + heat() + /obj/item/weapon/reagent_containers/food/snacks/donkpocket name = "Donk-pocket" desc = "The food of choice for the seasoned traitor." @@ -710,12 +727,22 @@ reagents.add_reagent("protein", 2) var/warm = 0 - proc/cooltime() //Not working, derp? + var/list/heated_reagents = list("tricordrazine" = 5) + proc/heat() + warm = 1 + for(var/reagent in heated_reagents) + reagents.add_reagent(reagent, heated_reagents[reagent]) + bitesize = 6 + name = "Warm " + name + cooltime() + + proc/cooltime() if (src.warm) - spawn( 4200 ) + spawn(4200) src.warm = 0 - src.reagents.del_reagent("tricordrazine") - src.name = "donk-pocket" + for(var/reagent in heated_reagents) + src.reagents.del_reagent(reagent) + src.name = initial(name) return /obj/item/weapon/reagent_containers/food/snacks/brainburger From b826e5bb77d57de444a2d0fbe3531dd08d1832a0 Mon Sep 17 00:00:00 2001 From: D Anzorge Date: Sat, 7 Feb 2015 09:55:43 -0500 Subject: [PATCH 079/143] Rewrite and refactor vending.dm Remove some redundant procs and /obj/machinery/vending members. Rework the way product lists and advert lists are stored within /obj/machinery/vending. /obj/machinery/vending now uses a simpler way of storing the product list. The old variables, `products`, `contraband`, etc., are still used for initialization of the new list, but are not used beyond that. This commit removes colors from vending lists in anticipation of introducing NanoUI. --- code/datums/wires/vending.dm | 8 +- code/game/machinery/vending.dm | 278 ++++++++++++++++----------------- 2 files changed, 141 insertions(+), 145 deletions(-) diff --git a/code/datums/wires/vending.dm b/code/datums/wires/vending.dm index 91a95b47a74..67ca2162513 100644 --- a/code/datums/wires/vending.dm +++ b/code/datums/wires/vending.dm @@ -1,3 +1,5 @@ +#define CAT_HIDDEN 2 // Also in code/game/machinery/vending.dm + /datum/wires/vending holder_type = /obj/machinery/vending wire_count = 4 @@ -27,7 +29,7 @@ var/const/VENDING_WIRE_IDSCAN = 8 . += ..() . += "
    The orange light is [V.seconds_electrified ? "off" : "on"].
    " . += "The red light is [V.shoot_inventory ? "off" : "blinking"].
    " - . += "The green light is [V.extended_inventory ? "on" : "off"].
    " + . += "The green light is [(V.categories & CAT_HIDDEN) ? "on" : "off"].
    " . += "The [V.scan_id ? "purple" : "yellow"] light is on.
    " /datum/wires/vending/UpdatePulsed(var/index) @@ -36,7 +38,7 @@ var/const/VENDING_WIRE_IDSCAN = 8 if(VENDING_WIRE_THROW) V.shoot_inventory = !V.shoot_inventory if(VENDING_WIRE_CONTRABAND) - V.extended_inventory = !V.extended_inventory + V.categories ^= CAT_HIDDEN if(VENDING_WIRE_ELECTRIFY) V.seconds_electrified = 30 if(VENDING_WIRE_IDSCAN) @@ -48,7 +50,7 @@ var/const/VENDING_WIRE_IDSCAN = 8 if(VENDING_WIRE_THROW) V.shoot_inventory = !mended if(VENDING_WIRE_CONTRABAND) - V.extended_inventory = 0 + V.categories &= ~CAT_HIDDEN if(VENDING_WIRE_ELECTRIFY) if(mended) V.seconds_electrified = 0 diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm index 5a8df08c8ae..09608deb5b3 100644 --- a/code/game/machinery/vending.dm +++ b/code/game/machinery/vending.dm @@ -1,17 +1,38 @@ -#define CAT_NORMAL 0 -#define CAT_HIDDEN 1 -#define CAT_COIN 2 +#define CAT_NORMAL 1 +#define CAT_HIDDEN 2 // also used in corresponding wires/vending.dm +#define CAT_COIN 4 +/** + * Datum used to hold information about a product in a vending machine + */ /datum/data/vending_product - var/product_name = "generic" + var/product_name = "generic" // Display name for the product var/product_path = null - var/amount = 0 - var/price = 0 - var/display_color = "blue" - var/category = CAT_NORMAL - + var/amount = 0 // Amount held in the vending machine + var/price = 0 // Price to buy one + var/display_color = null // Display color for vending machine listing + var/category = CAT_NORMAL // CAT_HIDDEN for contraband, CAT_COIN for premium +/datum/data/vending_product/New(var/path, var/name = null, var/amount = 1, var/price = 0, var/color = null, var/category = CAT_NORMAL) + ..() + + src.product_path = path + + if(!name) + var/atom/tmp = new path + src.product_name = initial(tmp.name) + del(tmp) + else + src.product_name = name + + src.amount = amount + src.price = price + src.display_color = color + src.category = category +/** + * A vending machine + */ /obj/machinery/vending name = "Vendomat" desc = "A generic vending machine." @@ -21,66 +42,105 @@ anchored = 1 density = 1 + var/icon_vend //Icon_state when vending + var/icon_deny //Icon_state when denying access + + // Power use_power = 1 idle_power_usage = 10 var/vend_power_usage = 150 //actuators and stuff + // Vending-related var/active = 1 //No sales pitches if off! var/vend_ready = 1 //Are we ready to vend?? Is it time?? var/vend_delay = 10 //How long does it take to vend? - var/datum/data/vending_product/currently_vending = null // A /datum/data/vending_product instance of what we're paying for right now. - - // To be filled out at compile time + var/categories = CAT_NORMAL // Bitmask of cats we're currently showing + var/datum/data/vending_product/currently_vending = null // What we're requesting payment for right now + + /* + Variables used to initialize the product list + These are used for initialization only, and so are optional if + product_records is specified + */ var/list/products = list() // For each, use the following pattern: var/list/contraband = list() // list(/type/path = amount,/type/path2 = amount2) var/list/premium = list() // No specified amount = only one in stock var/list/prices = list() // Prices for each item, list(/type/path = price), items not in the list don't have a price. - var/product_slogans = "" //String of slogans separated by semicolons, optional - var/product_ads = "" //String of small ad messages in the vending screen - random chance + // List of vending_product items available. var/list/product_records = list() - var/list/hidden_records = list() - var/list/coin_records = list() + + + // Variables used to initialize advertising + var/product_slogans = "" //String of slogans spoken out loud, separated by semicolons + var/product_ads = "" //String of small ad messages in the vending screen + + var/list/ads_list = list() + + // Stuff relating vocalizations var/list/slogan_list = list() - var/list/small_ads = list() // small ad messages in the vending screen - random chance of popping up whenever you open it + var/shut_up = 1 //Stop spouting those godawful pitches! var/vend_reply //Thank you for shopping! var/last_reply = 0 var/last_slogan = 0 //When did we last pitch? var/slogan_delay = 6000 //How long until we can pitch again? - var/icon_vend //Icon_state when vending! - var/icon_deny //Icon_state when vending! - //var/emagged = 0 //Ignores if somebody doesn't have card access to that machine. + + // Things that can go wrong + emagged = 0 //Ignores if somebody doesn't have card access to that machine. var/seconds_electrified = 0 //Shock customers like an airlock. var/shoot_inventory = 0 //Fire items at customers! We're broken! - var/shut_up = 1 //Stop spouting those godawful pitches! - var/extended_inventory = 0 //can we access the hidden inventory? + var/scan_id = 1 var/obj/item/weapon/coin/coin var/datum/wires/vending/wires = null - var/check_accounts = 0 // 1 = requires PIN and checks accounts. 0 = You slide an ID, it vends, SPACE COMMUNISM! - /obj/machinery/vending/New() ..() wires = new(src) spawn(4) - src.slogan_list = text2list(src.product_slogans, ";") + if(src.product_slogans) + src.slogan_list += text2list(src.product_slogans, ";") - // So not all machines speak at the exact same time. - // The first time this machine says something will be at slogantime + this random value, - // so if slogantime is 10 minutes, it will say it at somewhere between 10 and 20 minutes after the machine is crated. - src.last_slogan = world.time + rand(0, slogan_delay) + // So not all machines speak at the exact same time. + // The first time this machine says something will be at slogantime + this random value, + // so if slogantime is 10 minutes, it will say it at somewhere between 10 and 20 minutes after the machine is crated. + src.last_slogan = world.time + rand(0, slogan_delay) - src.build_inventory(products) - //Add hidden inventory - src.build_inventory(contraband, 1) - src.build_inventory(premium, 0, 1) + if(src.product_ads) + src.ads_list += text2list(src.product_ads, ";") + + src.build_inventory() power_change() return return +/** + * Build src.produdct_records from the products lists + * + * src.products, src.contraband, src.premium, and src.prices allow specifying + * products that the vending machine is to carry without manually populating + * src.product_records. + */ +/obj/machinery/vending/proc/build_inventory() + var/list/all_products = list( + list(src.products, CAT_NORMAL), + list(src.contraband, CAT_HIDDEN), + list(src.premium, CAT_COIN)) + + for(var/current_list in all_products) + var/category = current_list[2] + + for(var/entry in current_list[1]) + var/datum/data/vending_product/product = new/datum/data/vending_product(entry) + + product.price = (entry in src.prices) ? src.prices[entry] : 0 + product.amount = (current_list[1][entry]) ? current_list[1][entry] : 1 + product.category = category + + src.product_records.Add(product) + /obj/machinery/vending/Del() del(wires) // qdel wires = null @@ -116,36 +176,6 @@ return -/obj/machinery/vending/proc/build_inventory(var/list/productlist,hidden=0,req_coin=0) - - for(var/typepath in productlist) - var/amount = productlist[typepath] - var/price = prices[typepath] - if(isnull(amount)) amount = 1 - - var/datum/data/vending_product/R = new /datum/data/vending_product() - - R.product_path = typepath - R.amount = amount - R.price = price - R.display_color = pick("red","blue","green") - - if(hidden) - R.category=CAT_HIDDEN - hidden_records += R - else if(req_coin) - R.category=CAT_COIN - coin_records += R - else - R.category=CAT_NORMAL - product_records += R - - var/atom/temp = typepath - R.product_name = initial(temp.name) - -// world << "Added: [R.product_name]] - [R.amount] - [R.product_path]" - return - /obj/machinery/vending/attackby(obj/item/weapon/W as obj, mob/user as mob) if (currently_vending) var/paid = 0 @@ -207,7 +237,7 @@ else if(src.panel_open) - for(var/datum/data/vending_product/R in product_records) + for(var/datum/data/vending_product/R in product_records) if(istype(W, R.product_path)) stock(R, user) del(W) @@ -346,31 +376,6 @@ /obj/machinery/vending/attack_ai(mob/user as mob) return attack_hand(user) -/obj/machinery/vending/proc/GetProductIndex(var/datum/data/vending_product/P) - var/list/plist - switch(P.category) - if(CAT_NORMAL) - plist=product_records - if(CAT_HIDDEN) - plist=hidden_records - if(CAT_COIN) - plist=coin_records - else - warning("UNKNOWN CATEGORY [P.category] IN TYPE [P.product_path] INSIDE [type]!") - return plist.Find(P) - -/obj/machinery/vending/proc/GetProductByID(var/pid, var/category) - switch(category) - if(CAT_NORMAL) - return product_records[pid] - if(CAT_HIDDEN) - return hidden_records[pid] - if(CAT_COIN) - return coin_records[pid] - else - warning("UNKNOWN PRODUCT: PID: [pid], CAT: [category] INSIDE [type]!") - return null - /obj/machinery/vending/attack_hand(mob/user as mob) if(stat & (BROKEN|NOPOWER)) return @@ -393,28 +398,24 @@ var/dat = "
    [vendorname]


    " //display the name, and added a horizontal rule dat += "Select an item:

    " //the rest is just general spacing and bolding - if (premium.len > 0) - dat += "Coin slot: [coin ? coin : "No coin inserted"] (Remove)
    " - if (src.product_records.len == 0) dat += "No product loaded!" else - var/list/display_records = list() - display_records += src.product_records - if(src.extended_inventory) - display_records += src.hidden_records - if(src.coin) - display_records += src.coin_records - - for (var/datum/data/vending_product/R in display_records) - dat += "[R.product_name]:" - dat += " [R.amount] " - if(R.price) - dat += " (Price: [R.price])" - if (R.amount > 0) - var/idx=GetProductIndex(R) - dat += " (Vend)" + for(var/idx = 1 to src.product_records.len) + var/datum/data/vending_product/product = src.product_records[idx] + if(!(product.category & src.categories)) + continue + + if(product.display_color) + dat += "[product.product_name]:" + dat += " [product.amount] " + else + dat += "[product.product_name]: [product.amount]" + if(product.price) + dat += " (Price: [product.price])" + if (product.amount > 0) + dat += " (Vend)" else dat += " SOLD OUT" dat += "
    " @@ -424,7 +425,7 @@ if(panel_open) dat += wires() - if(product_slogans != "") + if(slogan_list.len > 0) dat += "The speaker switch is [shut_up ? "off" : "on"]. Toggle" user << browse(dat, "window=vending") @@ -471,14 +472,10 @@ flick(icon_deny,src) return - var/idx=text2num(href_list["vend"]) - var/cat=text2num(href_list["cat"]) + var/key = text2num(href_list["vend"]) + var/datum/data/vending_product/R = product_records[key] - var/datum/data/vending_product/R = GetProductByID(idx,cat) - if (!R || !istype(R) || !R.product_path || R.amount <= 0) - return - - if(R.price == null) + if(R.price <= 0) src.vend(R, usr) else src.currently_vending = R @@ -507,7 +504,7 @@ return src.vend_ready = 0 //One thing at a time!! - if (R in coin_records) + if (R.category & CAT_COIN) if(!coin) user << "\blue You need to insert a coin to get this item." return @@ -848,35 +845,32 @@ contraband = list(/obj/item/seeds/amanitamycelium = 2,/obj/item/seeds/glowshroom = 2,/obj/item/seeds/libertymycelium = 2,/obj/item/seeds/mtearseed = 2, /obj/item/seeds/nettleseed = 2,/obj/item/seeds/reishimycelium = 2,/obj/item/seeds/reishimycelium = 2,/obj/item/seeds/shandseed = 2,) premium = list(/obj/item/toy/waterflower = 1) + +/** + * Populate hydroseeds product_records + * + * This needs to be customized to fetch the actual names of the seeds, otherwise + * the machine would simply list "packet of seeds" times 20 + */ +/obj/machinery/vending/hydroseeds/build_inventory() + var/list/all_products = list( + list(src.products, CAT_NORMAL), + list(src.contraband, CAT_HIDDEN), + list(src.premium, CAT_COIN)) -/obj/machinery/vending/hydroseeds/build_inventory(var/list/productlist,hidden=0,req_coin=0) + for(var/current_list in all_products) + var/category = current_list[2] - for(var/typepath in productlist) - var/amount = productlist[typepath] - var/price = prices[typepath] - if(isnull(amount)) amount = 1 + for(var/entry in current_list[1]) + var/obj/item/seeds/S = new entry(src) + var/name = S.name + var/datum/data/vending_product/product = new/datum/data/vending_product(entry, name) - var/datum/data/vending_product/R = new /datum/data/vending_product() - - R.product_path = typepath - R.amount = amount - R.price = price - R.display_color = pick("red","blue","green") - - if(hidden) - R.category=CAT_HIDDEN - hidden_records += R - else if(req_coin) - R.category=CAT_COIN - coin_records += R - else - R.category=CAT_NORMAL - product_records += R - - var/obj/item/seeds/S = new typepath(src) - R.product_name = S.name - del(S) - return + product.price = (entry in src.prices) ? src.prices[entry] : 0 + product.amount = (current_list[1][entry]) ? current_list[1][entry] : 1 + product.category = category + + src.product_records.Add(product) /obj/machinery/vending/magivend name = "MagiVend" From 9dffc8f922233da6d74acc0c0f0c95446eb4b82e Mon Sep 17 00:00:00 2001 From: D Anzorge Date: Sat, 7 Feb 2015 12:06:58 -0500 Subject: [PATCH 080/143] Add NanoUI to vending machines Error messages are now displayed in the NanoUI interface, instead of going to the text log. Wire UI now consistent with other wire-enabled wire devices that use NanoUI. --- code/datums/wires/vending.dm | 5 - code/game/machinery/vending.dm | 156 +++++++++++++++------------- nano/templates/vending_machine.tmpl | 56 ++++++++++ 3 files changed, 141 insertions(+), 76 deletions(-) create mode 100644 nano/templates/vending_machine.tmpl diff --git a/code/datums/wires/vending.dm b/code/datums/wires/vending.dm index 67ca2162513..7f9c4ed10a7 100644 --- a/code/datums/wires/vending.dm +++ b/code/datums/wires/vending.dm @@ -19,11 +19,6 @@ var/const/VENDING_WIRE_IDSCAN = 8 return 1 return 0 -/datum/wires/vending/Interact(var/mob/living/user) - if(CanUse(user)) - var/obj/machinery/vending/V = holder - V.attack_hand(user) - /datum/wires/vending/GetInteractWindow() var/obj/machinery/vending/V = holder . += ..() diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm index 09608deb5b3..282aa9b28cc 100644 --- a/code/game/machinery/vending.dm +++ b/code/game/machinery/vending.dm @@ -56,6 +56,8 @@ var/vend_delay = 10 //How long does it take to vend? var/categories = CAT_NORMAL // Bitmask of cats we're currently showing var/datum/data/vending_product/currently_vending = null // What we're requesting payment for right now + var/status_message = "" // Status screen messages like "insufficient funds", displayed in NanoUI + var/status_error = 0 // Set to 1 if status_message is an error /* Variables used to initialize the product list @@ -195,9 +197,9 @@ if(paid) src.vend(currently_vending, usr) - currently_vending = null return else if(handled) + nanomanager.update_uis(src) return // don't smack that machine with your 2 thalers if (istype(W, /obj/item/weapon/card/emag)) @@ -210,7 +212,8 @@ src.overlays.Cut() if(src.panel_open) src.overlays += image(src.icon, "[initial(icon_state)]-panel") - src.updateUsrDialog() + + nanomanager.update_uis(src) // Speaker switch is on the main UI, not wires UI return else if(istype(W, /obj/item/device/multitool)||istype(W, /obj/item/weapon/wirecutters)) if(src.panel_open) @@ -220,7 +223,9 @@ user.drop_item() W.loc = src coin = W + categories |= CAT_COIN user << "\blue You insert the [W] into the [src]" + nanomanager.update_uis(src) return else if(istype(W, /obj/item/weapon/wrench)) if(do_after(user, 20)) @@ -237,7 +242,7 @@ else if(src.panel_open) - for(var/datum/data/vending_product/R in product_records) + for(var/datum/data/vending_product/R in product_records) if(istype(W, R.product_path)) stock(R, user) del(W) @@ -252,7 +257,10 @@ */ /obj/machinery/vending/proc/pay_with_cash(var/obj/item/weapon/spacecash/cashmoney, mob/user) if(currently_vending.price > cashmoney.worth) - usr << "\icon[src] That is not enough money." + + // This is not a status display message, since it's something the character + // themselves is meant to see BEFORE putting the money in + usr << "\icon[cashmoney] That is not enough money." return 0 if(istype(cashmoney, /obj/item/weapon/spacecash/bundle)) @@ -294,7 +302,8 @@ /obj/machinery/vending/proc/pay_with_ewallet(var/obj/item/weapon/spacecash/ewallet/wallet) visible_message("[usr] swipes a card through [src].") if(currently_vending.price > wallet.worth) - usr << "\icon[src] Insufficient funds on chargecard." + src.status_message = "Insufficient funds on chargecard." + src.status_error = 1 return 0 else wallet.worth -= currently_vending.price @@ -311,11 +320,13 @@ visible_message("[usr] swipes a card through [src].") var/datum/money_account/customer_account = get_account(I.associated_account_number) if (!customer_account) - usr << "\icon[src] Error: Unable to access account. Please contact technical support if problem persists." + src.status_message = "Error: Unable to access account. Please contact technical support if problem persists." + src.status_error = 1 return 0 if(customer_account.suspended) - usr << "\icon[src] Unable to access account: account suspended." + src.status_message = "Unable to access account: account suspended." + src.status_error = 1 return 0 // Have the customer punch in the PIN before checking if there's enough money. Prevents people from figuring out acct is @@ -325,11 +336,13 @@ customer_account = attempt_account_access(I.associated_account_number, attempt_pin, 2) if(!customer_account) - usr << "\icon[src] Unable to access account: incorrect credentials." + src.status_message = "Unable to access account: incorrect credentials." + src.status_error = 1 return 0 if(currently_vending.price > customer_account.money) - usr << "\icon[src] Insufficient funds in account." + src.status_message = "Insufficient funds in account." + src.status_error = 1 return 0 else // Okay to move the money at this point @@ -379,62 +392,63 @@ /obj/machinery/vending/attack_hand(mob/user as mob) if(stat & (BROKEN|NOPOWER)) return - user.set_machine(src) if(src.seconds_electrified != 0) if(src.shock(user, 100)) return - var/vendorname = (src.name) //import the machine's name + wires.Interact(user) + ui_interact(user) - if(src.currently_vending) - var/dat = "
    [vendorname]


    " //display the name, and added a horizontal rule - dat += "Product selected: [currently_vending.product_name]
    Charge: [currently_vending.price]

    Please swipe a card or insert cash to pay for the item.

    " - dat += "Cancel" - user << browse(dat, "window=vending") - onclose(user, "") - return - - var/dat = "
    [vendorname]


    " //display the name, and added a horizontal rule - dat += "Select an item:

    " //the rest is just general spacing and bolding - - if (src.product_records.len == 0) - dat += "No product loaded!" +/** + * Display the NanoUI window for the vending machine. + * + * See NanoUI documentation for details. + */ +/obj/machinery/vending/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1) + user.set_machine(src) + + var/list/data = list() + if(currently_vending) + data["mode"] = 1 + data["product"] = currently_vending.product_name + data["price"] = currently_vending.price + data["message_err"] = 0 + data["message"] = src.status_message + data["message_err"] = src.status_error else + data["mode"] = 0 + var/list/listed_products = list() - for(var/idx = 1 to src.product_records.len) - var/datum/data/vending_product/product = src.product_records[idx] - if(!(product.category & src.categories)) + for(var/key = 1 to src.product_records.len) + var/datum/data/vending_product/I = src.product_records[key] + + if(!(I.category & src.categories)) continue + + listed_products.Add(list(list( + "key" = key, + "name" = I.product_name, + "price" = I.price, + "color" = I.display_color, + "amount" = I.amount))) - if(product.display_color) - dat += "[product.product_name]:" - dat += " [product.amount] " - else - dat += "[product.product_name]: [product.amount]" - if(product.price) - dat += " (Price: [product.price])" - if (product.amount > 0) - dat += " (Vend)" - else - dat += " SOLD OUT" - dat += "
    " - - dat += "
    " - - if(panel_open) - dat += wires() - - if(slogan_list.len > 0) - dat += "The speaker switch is [shut_up ? "off" : "on"]. Toggle" - - user << browse(dat, "window=vending") - onclose(user, "") - return - -// returns the wire panel text -/obj/machinery/vending/proc/wires() - return wires.GetInteractWindow() + data["products"] = listed_products + + if(src.coin) + data["coin"] = src.coin.name + + if(src.panel_open) + data["panel"] = 1 + data["speaker"] = src.shut_up ? 0 : 1 + else + data["panel"] = 0 + + ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) + if (!ui) + ui = new(user, src, ui_key, "vending_machine.tmpl", src.name, 440, 600) + ui.set_initial_data(data) + ui.open() /obj/machinery/vending/Topic(href, href_list) if(stat & (BROKEN|NOPOWER)) @@ -452,9 +466,9 @@ usr.put_in_hands(coin) usr << "\blue You remove the [coin] from the [src]" coin = null + categories &= ~CAT_COIN if ((usr.contents.Find(src) || (in_range(src, usr) && istype(src.loc, /turf)))) - usr.set_machine(src) if ((href_list["vend"]) && (src.vend_ready) && (!currently_vending)) if(istype(usr,/mob/living/silicon)) @@ -479,23 +493,17 @@ src.vend(R, usr) else src.currently_vending = R - src.updateUsrDialog() - return + src.status_message = "Please swipe a card or insert cash to pay for the item." + src.status_error = 0 - else if (href_list["cancel_buying"]) + else if (href_list["cancelpurchase"]) src.currently_vending = null - src.updateUsrDialog() - return else if ((href_list["togglevoice"]) && (src.panel_open)) src.shut_up = !src.shut_up src.add_fingerprint(usr) - src.updateUsrDialog() - else - usr << browse(null, "window=vending") - return - return + nanomanager.update_uis(src) /obj/machinery/vending/proc/vend(datum/data/vending_product/R, mob/user) if((!allowed(usr)) && !emagged && scan_id) //For SECURE VENDING MACHINES YEAH @@ -503,7 +511,10 @@ flick(src.icon_deny,src) return src.vend_ready = 0 //One thing at a time!! - + src.status_message = "Vending..." + src.status_error = 0 + nanomanager.update_uis(src) + if (R.category & CAT_COIN) if(!coin) user << "\blue You need to insert a coin to get this item." @@ -514,8 +525,10 @@ else user << "\blue You weren't able to pull the coin out fast enough, the machine ate it, string and all." del(coin) + categories &= ~CAT_COIN else del(coin) + categories &= ~CAT_COIN R.amount-- @@ -529,17 +542,18 @@ flick(src.icon_vend,src) spawn(src.vend_delay) new R.product_path(get_turf(src)) + src.status_message = "" + src.status_error = 0 src.vend_ready = 1 - return - - src.updateUsrDialog() + currently_vending = null + nanomanager.update_uis(src) /obj/machinery/vending/proc/stock(var/datum/data/vending_product/R, var/mob/user) if(src.panel_open) user << "\blue You stock the [src] with \a [R.product_name]" R.amount++ - src.updateUsrDialog() + nanomanager.update_uis(src) /obj/machinery/vending/process() if(stat & (BROKEN|NOPOWER)) diff --git a/nano/templates/vending_machine.tmpl b/nano/templates/vending_machine.tmpl new file mode 100644 index 00000000000..93d5c1007c9 --- /dev/null +++ b/nano/templates/vending_machine.tmpl @@ -0,0 +1,56 @@ + + +{{if data.mode == 0}} +

    Items available

    +
    + {{for data.products}} +
    +
    + {{if value.price > 0}} + {{:helper.link('Buy (' + value.price + ')', 'cart', { "vend" : value.key }, value.amount > 0 ? null : 'disabled')}} + {{else}} + {{:helper.link('Vend', 'circle-arrow-s', { "vend" : value.key }, value.amount > 0 ? null : 'disabled')}} + {{/if}} +
    +
    + {{if value.color}}{{:value.name}} + {{else}}{{:value.name}} + {{/if}} + ({{:value.amount ? value.amount : "NONE LEFT"}}) +
    +
    + {{empty}} + No items available! + {{/for}} +
    +{{if data.coin}} +

    Coin

    +
    +
    Coin deposited:
    +
    {{:helper.link(data.coin, 'eject', {'remove_coin' : 1})}}
    +
    +{{/if}} +{{else data.mode == 1}} +

    Item selected

    +
    +
    +
    Item selected:
    {{:data.product}}
    +
    Charge:
    {{:data.price}}
    +
    +
    + {{if data.message_err}} {{/if}} {{:data.message}} +
    +
    + {{:helper.link('Cancel', 'arrowreturn-1-w', {'cancelpurchase' : 1})}} +
    +
    +{{/if}} +{{if data.panel}} +

    Maintenance panel

    +
    +
    Speaker
    {{:helper.link(data.speaker ? 'Enabled' : 'Disabled', 'gear', {'togglevoice' : 1})}}
    +
    +{{/if}} \ No newline at end of file From cee2d2502a68cf5711cfbcc52239bb422f7028fb Mon Sep 17 00:00:00 2001 From: D Anzorge Date: Mon, 9 Feb 2015 08:43:57 -0500 Subject: [PATCH 081/143] Make vending machines stop selling things if vendor account is suspended --- code/game/machinery/vending.dm | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm index 282aa9b28cc..482a36e0d48 100644 --- a/code/game/machinery/vending.dm +++ b/code/game/machinery/vending.dm @@ -179,7 +179,7 @@ return /obj/machinery/vending/attackby(obj/item/weapon/W as obj, mob/user as mob) - if (currently_vending) + if (currently_vending && vendor_account && !vendor_account.suspended) var/paid = 0 var/handled = 0 if(istype(W, /obj/item/weapon/card/id)) @@ -493,8 +493,12 @@ src.vend(R, usr) else src.currently_vending = R - src.status_message = "Please swipe a card or insert cash to pay for the item." - src.status_error = 0 + if(!vendor_account || vendor_account.suspended) + src.status_message = "This machine is currently unable to process payments due to problems with the associated account." + src.status_error = 1 + else + src.status_message = "Please swipe a card or insert cash to pay for the item." + src.status_error = 0 else if (href_list["cancelpurchase"]) src.currently_vending = null @@ -611,7 +615,7 @@ new dump_path(src.loc) R.amount-- break - + stat |= BROKEN src.icon_state = "[initial(icon_state)]-broken" return From 12e17e666f3b74eb3b3114abc270c1f156ab14de Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Wed, 11 Feb 2015 19:53:08 +0100 Subject: [PATCH 082/143] Minor casing fix. I couldn't unsee the lowercase t in sentences beginning with "\the" instead of "\The". I'm sorry.. --- code/game/machinery/jukebox.dm | 4 ++-- code/modules/recycling/disposal.dm | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/code/game/machinery/jukebox.dm b/code/game/machinery/jukebox.dm index 4301d344950..2a6755015b2 100644 --- a/code/game/machinery/jukebox.dm +++ b/code/game/machinery/jukebox.dm @@ -70,7 +70,7 @@ datum/track/New(var/title_name, var/audio) return if(stat & (NOPOWER|BROKEN)) - usr << "\the [src] doesn't appear to function." + usr << "\The [src] doesn't appear to function." return if(href_list["change_track"]) @@ -109,7 +109,7 @@ datum/track/New(var/title_name, var/audio) /obj/machinery/media/jukebox/interact(mob/user) if(stat & (NOPOWER|BROKEN)) - usr << "\the [src] doesn't appear to function." + usr << "\The [src] doesn't appear to function." return ui_interact(user) diff --git a/code/modules/recycling/disposal.dm b/code/modules/recycling/disposal.dm index 0df50cc6fe7..34dbe0998f4 100644 --- a/code/modules/recycling/disposal.dm +++ b/code/modules/recycling/disposal.dm @@ -462,10 +462,10 @@ if(prob(75)) I.loc = src for(var/mob/M in viewers(src)) - M.show_message("\the [I] lands in \the [src].", 3) + M.show_message("\The [I] lands in \the [src].", 3) else for(var/mob/M in viewers(src)) - M.show_message("\the [I] bounces off of \the [src]'s rim!", 3) + M.show_message("\The [I] bounces off of \the [src]'s rim!", 3) return 0 else return ..(mover, target, height, air_group) From 49b1280b132b4988d984272cf3abd7a96c8e9f6e Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Wed, 11 Feb 2015 19:38:13 +0100 Subject: [PATCH 083/143] Tries to add more helpful information when examining a spy bug from real up close. --- code/game/objects/items/devices/spy_bug.dm | 38 +++++++++++++------ .../objects/items/weapons/storage/firstaid.dm | 14 ------- 2 files changed, 27 insertions(+), 25 deletions(-) diff --git a/code/game/objects/items/devices/spy_bug.dm b/code/game/objects/items/devices/spy_bug.dm index 208838960ba..cb8712af9e4 100644 --- a/code/game/objects/items/devices/spy_bug.dm +++ b/code/game/objects/items/devices/spy_bug.dm @@ -1,6 +1,6 @@ /obj/item/device/spy_bug - name = "tiny device" - desc = "It looks like a tiny camera, microphone, and transmission device in a happy union. Also mass-fabricated." + name = "bug" + desc = "" // Nothing to see here icon = 'icons/obj/weapons.dmi' icon_state = "eshield0" item_state = "nothing" @@ -23,9 +23,22 @@ radio = new(src) camera = new(src) +/obj/item/device/spy_bug/examine(mob/user) + . = ..(user, 0) + if(.) + user << "It's a tiny camera, microphone, and transmission device in a happy union." + user << "Needs to be both configured and brought in contact with monitor device to be fully functional." + /obj/item/device/spy_bug/attack_self(mob/user) radio.attack_self(user) +/obj/item/device/spy_bug/attackby(obj/W as obj, mob/living/user as mob) + if(istype(W, /obj/item/device/spy_monitor)) + var/obj/item/device/spy_monitor/SM = W + SM.pair(src, user) + else + ..() + /obj/item/device/spy_bug/hear_talk(mob/M, var/msg, verb, datum/language/speaking) radio.hear_talk(M, msg, speaking) @@ -50,8 +63,9 @@ radio = new(src) /obj/item/device/spy_monitor/examine(mob/user) - if(..(user, 1)) - user << "The time '12:00' is blinking in the corner of the screen. \The [src] looks very cheaply made." + . = ..(user, 1) + if(.) + user << "The time '12:00' is blinking in the corner of the screen and \the [src] looks very cheaply made." /obj/item/device/spy_monitor/attack_self(mob/user) if(operating) @@ -62,16 +76,18 @@ /obj/item/device/spy_monitor/attackby(obj/W as obj, mob/living/user as mob) if(istype(W, /obj/item/device/spy_bug)) - var/obj/item/device/spy_bug/SB = W - if(SB.camera in cameras) - user << "\The [SB] has been unpaired from \the [src]." - cameras -= SB.camera - else - user << "\The [SB] has been paired with \the [src]." - cameras += SB.camera + pair(W, user) else return ..() +/obj/item/device/spy_monitor/proc/pair(var/obj/item/device/spy_bug/SB, var/mob/living/user) + if(SB.camera in cameras) + user << "\The [SB] has been unpaired from \the [src]." + cameras -= SB.camera + else + user << "\The [SB] has been paired with \the [src]." + cameras += SB.camera + /obj/item/device/spy_monitor/proc/view_cameras(mob/user) if(!can_use_cam(user)) return diff --git a/code/game/objects/items/weapons/storage/firstaid.dm b/code/game/objects/items/weapons/storage/firstaid.dm index 47f29a8eb7f..39e7bff51ea 100644 --- a/code/game/objects/items/weapons/storage/firstaid.dm +++ b/code/game/objects/items/weapons/storage/firstaid.dm @@ -186,20 +186,6 @@ new /obj/item/weapon/reagent_containers/pill/dexalin_plus(src) new /obj/item/weapon/reagent_containers/pill/dexalin_plus(src) -/obj/item/weapon/storage/pill_bottle/dexalin_plus - name = "bottle of Dexalin Plus pills" - desc = "Contains pills used to treat extreme cases of oxygen deprivation." - -/obj/item/weapon/storage/pill_bottle/dexalin_plus/New() - ..() - new /obj/item/weapon/reagent_containers/pill/dexalin_plus(src) - new /obj/item/weapon/reagent_containers/pill/dexalin_plus(src) - new /obj/item/weapon/reagent_containers/pill/dexalin_plus(src) - new /obj/item/weapon/reagent_containers/pill/dexalin_plus(src) - new /obj/item/weapon/reagent_containers/pill/dexalin_plus(src) - new /obj/item/weapon/reagent_containers/pill/dexalin_plus(src) - new /obj/item/weapon/reagent_containers/pill/dexalin_plus(src) - /obj/item/weapon/storage/pill_bottle/dermaline name = "bottle of Dermaline pills" desc = "Contains pills used to treat burn wounds." From 611a42bb330ee8437e064affd87eace2fd3e18d3 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Sat, 7 Feb 2015 17:00:52 -0500 Subject: [PATCH 084/143] Gun cleanup and rewrite Rewrites gun.dm. Reorganizes the firing procedure into logical procs and cleans up some unnecessary variables or demotes them to the subtypes that actually care. Energy weapons that create their own projectiles no longer care about in_chamber. Launcher support is much more natural now. Cleans up duplicated cyborg energy weapon power supply code. Adds support for energy weapons to recharge from external power sources, unifying cyborg and hardsuit mounted weapons. Incorporates the cyborg taser recharging mechanism. Cleans up laser tag gun duplication Changes path strings to actual paths. Changes relative paths to absolute paths. Renamed several targeting vars to make their purposes more clear. Fixed targeting not handling firing correctly for certain subtypes. --- baystation12.dme | 1 - code/_onclick/hud/monkey.dm | 2 +- code/_onclick/hud/robot.dm | 2 +- code/game/machinery/bots/ed209bot.dm | 8 +- code/game/machinery/bots/secbot.dm | 4 +- code/game/machinery/portable_tag_turret.dm | 20 +- code/game/machinery/portable_turret.dm | 2 +- .../objects/items/robot/robot_upgrades.dm | 2 +- .../crates_lockers/closets/fitness.dm | 8 +- .../spacesuits/rig/modules/rig_weapons.dm | 51 --- code/modules/clothing/suits/armor.dm | 4 - code/modules/clothing/suits/miscellaneous.dm | 4 +- code/modules/clothing/under/ties.dm | 7 - .../mob/living/silicon/robot/robot_modules.dm | 10 +- .../living/silicon/robot/robot_upgrades.dm | 2 +- code/modules/projectiles/gun.dm | 315 +++++++++--------- code/modules/projectiles/guns/alien.dm | 24 +- code/modules/projectiles/guns/energy.dm | 92 +++-- code/modules/projectiles/guns/energy/laser.dm | 153 ++------- .../projectiles/guns/energy/nuclear.dm | 186 +++++------ code/modules/projectiles/guns/energy/pulse.dm | 73 ++-- .../projectiles/guns/energy/special.dm | 131 ++------ code/modules/projectiles/guns/energy/stun.dm | 68 +--- .../projectiles/guns/energy/temperature.dm | 116 ++++--- code/modules/projectiles/guns/projectile.dm | 38 ++- .../projectiles/guns/projectile/automatic.dm | 8 +- .../projectiles/guns/projectile/crossbow.dm | 55 +-- .../projectiles/guns/projectile/launcher.dm | 83 +---- .../projectiles/guns/projectile/pneumatic.dm | 44 +-- .../projectiles/guns/projectile/revolver.dm | 8 +- .../projectiles/guns/projectile/rocket.dm | 34 +- .../projectiles/guns/projectile/shotgun.dm | 29 +- code/modules/projectiles/projectile.dm | 30 +- code/modules/projectiles/targeting.dm | 107 +++--- 34 files changed, 697 insertions(+), 1024 deletions(-) delete mode 100644 code/modules/clothing/spacesuits/rig/modules/rig_weapons.dm diff --git a/baystation12.dme b/baystation12.dme index 82506f8bed3..79362c1e912 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -871,7 +871,6 @@ #include "code\modules\clothing\spacesuits\rig\modules\computer.dm" #include "code\modules\clothing\spacesuits\rig\modules\modules.dm" #include "code\modules\clothing\spacesuits\rig\modules\ninja.dm" -#include "code\modules\clothing\spacesuits\rig\modules\rig_weapons.dm" #include "code\modules\clothing\spacesuits\rig\modules\utility.dm" #include "code\modules\clothing\spacesuits\rig\modules\vision.dm" #include "code\modules\clothing\spacesuits\rig\suits\alien.dm" diff --git a/code/_onclick/hud/monkey.dm b/code/_onclick/hud/monkey.dm index 65924284b51..0081fbe6b52 100644 --- a/code/_onclick/hud/monkey.dm +++ b/code/_onclick/hud/monkey.dm @@ -226,7 +226,7 @@ if (mymob.client.gun_mode) // If in aim mode, correct the sprite mymob.gun_setting_icon.set_dir(2) for(var/obj/item/weapon/gun/G in mymob) // If targeting someone, display other buttons - if (G.target) + if (G.aim_targets) mymob.item_use_icon = new /obj/screen/gun/item(null) if (mymob.client.target_can_click) mymob.item_use_icon.set_dir(1) diff --git a/code/_onclick/hud/robot.dm b/code/_onclick/hud/robot.dm index 644b8113765..2738cf3a7d6 100644 --- a/code/_onclick/hud/robot.dm +++ b/code/_onclick/hud/robot.dm @@ -157,7 +157,7 @@ var/obj/screen/robot_inventory if (mymob.client.gun_mode) // If in aim mode, correct the sprite mymob.gun_setting_icon.set_dir(2) for(var/obj/item/weapon/gun/G in mymob) // If targeting someone, display other buttons - if (G.target) + if (G.aim_targets) mymob.item_use_icon = new /obj/screen/gun/item(null) if (mymob.client.target_can_click) mymob.item_use_icon.set_dir(1) diff --git a/code/game/machinery/bots/ed209bot.dm b/code/game/machinery/bots/ed209bot.dm index 24e29e28397..639da55bf5b 100644 --- a/code/game/machinery/bots/ed209bot.dm +++ b/code/game/machinery/bots/ed209bot.dm @@ -34,10 +34,10 @@ var/obj/item/weapon/gun/energy/taser/G = new /obj/item/weapon/gun/energy/taser(Tsec) G.power_supply.charge = 0 else if(lasercolor == "b") - var/obj/item/weapon/gun/energy/laser/bluetag/G = new /obj/item/weapon/gun/energy/laser/bluetag(Tsec) + var/obj/item/weapon/gun/energy/lasertag/blue/G = new (Tsec) G.power_supply.charge = 0 else if(lasercolor == "r") - var/obj/item/weapon/gun/energy/laser/redtag/G = new /obj/item/weapon/gun/energy/laser/redtag(Tsec) + var/obj/item/weapon/gun/energy/lasertag/red/G = new (Tsec) G.power_supply.charge = 0 if (prob(50)) new /obj/item/robot_parts/l_leg(Tsec) @@ -137,11 +137,11 @@ if(7) switch(lasercolor) if("b") - if( !istype(W, /obj/item/weapon/gun/energy/laser/bluetag) ) + if( !istype(W, /obj/item/weapon/gun/energy/lasertag/blue) ) return name = "bluetag ED-209 assembly" if("r") - if( !istype(W, /obj/item/weapon/gun/energy/laser/redtag) ) + if( !istype(W, /obj/item/weapon/gun/energy/lasertag/red) ) return name = "redtag ED-209 assembly" if("") diff --git a/code/game/machinery/bots/secbot.dm b/code/game/machinery/bots/secbot.dm index 1dcc02fbb91..6aa43c1b390 100644 --- a/code/game/machinery/bots/secbot.dm +++ b/code/game/machinery/bots/secbot.dm @@ -702,10 +702,10 @@ Auto Patrol: []"}, switch(lasercolor) if("b") target_suit = /obj/item/clothing/suit/redtag - target_weapon = /obj/item/weapon/gun/energy/laser/redtag + target_weapon = /obj/item/weapon/gun/energy/lasertag/red if("r") target_suit = /obj/item/clothing/suit/bluetag - target_weapon = /obj/item/weapon/gun/energy/laser/bluetag + target_weapon = /obj/item/weapon/gun/energy/lasertag/blue if((istype(perp.r_hand, target_weapon)) || (istype(perp.l_hand, target_weapon))) threat += 4 diff --git a/code/game/machinery/portable_tag_turret.dm b/code/game/machinery/portable_tag_turret.dm index 13f7032aa3a..c9c2331e6df 100644 --- a/code/game/machinery/portable_tag_turret.dm +++ b/code/game/machinery/portable_tag_turret.dm @@ -5,13 +5,13 @@ /obj/machinery/porta_turret/tag // Reasonable defaults, in case someone manually spawns us var/lasercolor = "r" //Something to do with lasertag turrets, blame Sieve for not adding a comment. - installation = /obj/item/weapon/gun/energy/laser/redtag + installation = /obj/item/weapon/gun/energy/lasertag/red /obj/machinery/porta_turret/tag/red /obj/machinery/porta_turret/tag/blue lasercolor = "b" - installation = /obj/item/weapon/gun/energy/laser/bluetag + installation = /obj/item/weapon/gun/energy/lasertag/blue /obj/machinery/porta_turret/tag/New() ..() @@ -19,8 +19,8 @@ /obj/machinery/porta_turret/tag/weapon_setup(var/obj/item/weapon/gun/energy/E) switch(E.type) - if(/obj/item/weapon/gun/energy/laser/bluetag) - eprojectile = /obj/item/weapon/gun/energy/laser/bluetag + if(/obj/item/weapon/gun/energy/lasertag/blue) + eprojectile = /obj/item/weapon/gun/energy/lasertag/blue lasercolor = "b" req_access = list(access_maint_tunnels, access_theatre) check_arrest = 0 @@ -30,8 +30,8 @@ check_anomalies = 0 shot_delay = 30 - if(/obj/item/weapon/gun/energy/laser/redtag) - eprojectile = /obj/item/weapon/gun/energy/laser/redtag + if(/obj/item/weapon/gun/energy/lasertag/red) + eprojectile = /obj/item/weapon/gun/energy/lasertag/red lasercolor = "r" req_access = list(access_maint_tunnels, access_theatre) check_arrest = 0 @@ -86,13 +86,13 @@ ..() if(lasercolor == "b" && disabled == 0) - if(istype(Proj, /obj/item/weapon/gun/energy/laser/redtag)) + if(istype(Proj, /obj/item/weapon/gun/energy/lasertag/red)) disabled = 1 del(Proj) // qdel sleep(100) disabled = 0 if(lasercolor == "r" && disabled == 0) - if(istype(Proj, /obj/item/weapon/gun/energy/laser/bluetag)) + if(istype(Proj, /obj/item/weapon/gun/energy/lasertag/blue)) disabled = 1 del(Proj) // qdel sleep(100) @@ -110,10 +110,10 @@ switch(lasercolor) if("b") target_suit = /obj/item/clothing/suit/redtag - target_weapon = /obj/item/weapon/gun/energy/laser/redtag + target_weapon = /obj/item/weapon/gun/energy/lasertag/red if("r") target_suit = /obj/item/clothing/suit/bluetag - target_weapon = /obj/item/weapon/gun/energy/laser/bluetag + target_weapon = /obj/item/weapon/gun/energy/lasertag/blue if(target_suit)//Lasertag turrets target the opposing team, how great is that? -Sieve diff --git a/code/game/machinery/portable_turret.dm b/code/game/machinery/portable_turret.dm index c531e53f963..a2dda1e4006 100644 --- a/code/game/machinery/portable_turret.dm +++ b/code/game/machinery/portable_turret.dm @@ -733,7 +733,7 @@ gun_charge = E.power_supply.charge //the gun's charge is stored in gun_charge user << "You add [I] to the turret." - if(istype(installation, /obj/item/weapon/gun/energy/laser/bluetag) || istype(installation, /obj/item/weapon/gun/energy/laser/redtag)) + if(istype(installation, /obj/item/weapon/gun/energy/lasertag/blue) || istype(installation, /obj/item/weapon/gun/energy/lasertag/red)) target_type = /obj/machinery/porta_turret/tag else target_type = /obj/machinery/porta_turret diff --git a/code/game/objects/items/robot/robot_upgrades.dm b/code/game/objects/items/robot/robot_upgrades.dm index f9d3e356ce6..9bc40c779d8 100644 --- a/code/game/objects/items/robot/robot_upgrades.dm +++ b/code/game/objects/items/robot/robot_upgrades.dm @@ -121,7 +121,7 @@ usr << "There's no mounting point for the module!" return 0 - var/obj/item/weapon/gun/energy/taser/cyborg/T = locate() in R.module + var/obj/item/weapon/gun/energy/taser/mounted/cyborg/T = locate() in R.module if(!T) T = locate() in R.module.contents if(!T) diff --git a/code/game/objects/structures/crates_lockers/closets/fitness.dm b/code/game/objects/structures/crates_lockers/closets/fitness.dm index 05e7968a931..b42fe3f9502 100644 --- a/code/game/objects/structures/crates_lockers/closets/fitness.dm +++ b/code/game/objects/structures/crates_lockers/closets/fitness.dm @@ -54,8 +54,8 @@ /obj/structure/closet/lasertag/red/New() ..() - new /obj/item/weapon/gun/energy/laser/redtag(src) - new /obj/item/weapon/gun/energy/laser/redtag(src) + new /obj/item/weapon/gun/energy/lasertag/red(src) + new /obj/item/weapon/gun/energy/lasertag/red(src) new /obj/item/clothing/suit/redtag(src) new /obj/item/clothing/suit/redtag(src) @@ -68,7 +68,7 @@ /obj/structure/closet/lasertag/blue/New() ..() - new /obj/item/weapon/gun/energy/laser/bluetag(src) - new /obj/item/weapon/gun/energy/laser/bluetag(src) + new /obj/item/weapon/gun/energy/lasertag/blue(src) + new /obj/item/weapon/gun/energy/lasertag/blue(src) new /obj/item/clothing/suit/bluetag(src) new /obj/item/clothing/suit/bluetag(src) diff --git a/code/modules/clothing/spacesuits/rig/modules/rig_weapons.dm b/code/modules/clothing/spacesuits/rig/modules/rig_weapons.dm deleted file mode 100644 index 792a6ed0d05..00000000000 --- a/code/modules/clothing/spacesuits/rig/modules/rig_weapons.dm +++ /dev/null @@ -1,51 +0,0 @@ -//Weapon types intended to be used with rig modules - -/obj/item/weapon/gun/energy/lasercannon/mounted/load_into_chamber() - if(in_chamber) - return 1 - var/obj/item/rig_module/module = loc - if(!istype(module)) - return 0 - if(module.holder && module.holder.wearer) - var/mob/living/carbon/human/H = module.holder.wearer - if(istype(H) && H.back) - var/obj/item/weapon/rig/suit = H.back - if(istype(suit) && suit.cell && suit.cell.charge >= 250) - suit.cell.use(250) - in_chamber = new /obj/item/projectile/beam/heavylaser(src) - return 1 - return 0 - -/obj/item/weapon/gun/energy/gun/mounted/load_into_chamber() - if(in_chamber) - return 1 - var/obj/item/rig_module/module = loc - if(!istype(module)) - return 0 - if(module.holder && module.holder.wearer) - var/mob/living/carbon/human/H = module.holder.wearer - if(istype(H) && H.back) - var/obj/item/weapon/rig/suit = H.back - if(istype(suit) && suit.cell && suit.cell.charge >= 250) - suit.cell.use(250) - var/prog_path = projectile_type - in_chamber = new prog_path(src) - return 1 - return 0 - -/obj/item/weapon/gun/energy/taser/mounted/load_into_chamber() - if(in_chamber) - return 1 - var/obj/item/rig_module/module = loc - if(!istype(module)) - return 0 - if(module.holder && module.holder.wearer) - var/mob/living/carbon/human/H = module.holder.wearer - if(istype(H) && H.back) - var/obj/item/weapon/rig/suit = H.back - if(istype(suit) && suit.cell && suit.cell.charge >= 250) - suit.cell.use(250) - var/prog_path = projectile_type - in_chamber = new prog_path(src) - return 1 - return 0 \ No newline at end of file diff --git a/code/modules/clothing/suits/armor.dm b/code/modules/clothing/suits/armor.dm index 6a5dd04cb6a..3cb5460185a 100644 --- a/code/modules/clothing/suits/armor.dm +++ b/code/modules/clothing/suits/armor.dm @@ -208,10 +208,6 @@ if(!istype(usr.get_active_hand(), /obj/item/weapon/gun)) usr << "\blue You need your gun equiped to holster it." return - var/obj/item/weapon/gun/W = usr.get_active_hand() - if (!W.isHandgun()) - usr << "\red This gun won't fit in \the belt!" - return holstered = usr.get_active_hand() usr.drop_item() holstered.loc = src diff --git a/code/modules/clothing/suits/miscellaneous.dm b/code/modules/clothing/suits/miscellaneous.dm index 09e67ea871b..bcca81141c6 100644 --- a/code/modules/clothing/suits/miscellaneous.dm +++ b/code/modules/clothing/suits/miscellaneous.dm @@ -15,7 +15,7 @@ item_state = "bluetag" blood_overlay_type = "armor" body_parts_covered = UPPER_TORSO - allowed = list (/obj/item/weapon/gun/energy/laser/bluetag) + allowed = list (/obj/item/weapon/gun/energy/lasertag/blue) siemens_coefficient = 3.0 /obj/item/clothing/suit/redtag @@ -25,7 +25,7 @@ item_state = "redtag" blood_overlay_type = "armor" body_parts_covered = UPPER_TORSO - allowed = list (/obj/item/weapon/gun/energy/laser/redtag) + allowed = list (/obj/item/weapon/gun/energy/lasertag/red) siemens_coefficient = 3.0 /* diff --git a/code/modules/clothing/under/ties.dm b/code/modules/clothing/under/ties.dm index 050a2716e09..798536651ff 100644 --- a/code/modules/clothing/under/ties.dm +++ b/code/modules/clothing/under/ties.dm @@ -199,10 +199,6 @@ item_color = "holster" var/obj/item/weapon/gun/holstered = null -//subtypes can override this to specify what can be holstered -/obj/item/clothing/tie/holster/proc/can_holster(obj/item/weapon/gun/W) - return W.isHandgun() - /obj/item/clothing/tie/holster/proc/holster(obj/item/I, mob/user as mob) if(holstered) user << "\red There is already a [holstered] holstered here!" @@ -213,9 +209,6 @@ return var/obj/item/weapon/gun/W = I - if (!can_holster(W)) - user << "\red This [W] won't fit in the [src]!" - return holstered = W user.drop_from_inventory(holstered) diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index 3458a5bb47f..9f213ad7e53 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -223,9 +223,9 @@ src.modules += new /obj/item/borg/sight/hud/sec(src) src.modules += new /obj/item/weapon/handcuffs/cyborg(src) src.modules += new /obj/item/weapon/melee/baton/robot(src) - src.modules += new /obj/item/weapon/gun/energy/taser/cyborg(src) + src.modules += new /obj/item/weapon/gun/energy/taser/mounted/cyborg(src) src.modules += new /obj/item/taperoll/police(src) - src.emag = new /obj/item/weapon/gun/energy/laser/cyborg(src) + src.emag = new /obj/item/weapon/gun/energy/laser/mounted(src) return /obj/item/weapon/robot_module/security/respawn_consumable(var/mob/living/silicon/robot/R) @@ -236,7 +236,7 @@ F.icon_state = "flash" else if(F.times_used) F.times_used-- - var/obj/item/weapon/gun/energy/taser/cyborg/T = locate() in src.modules + var/obj/item/weapon/gun/energy/taser/mounted/cyborg/T = locate() in src.modules if(T.power_supply.charge < T.power_supply.maxcharge) T.power_supply.give(T.charge_cost) T.update_icon() @@ -383,11 +383,11 @@ ..() src.modules += new /obj/item/device/flash(src) src.modules += new /obj/item/borg/sight/thermal(src) - src.modules += new /obj/item/weapon/gun/energy/laser/cyborg(src) + src.modules += new /obj/item/weapon/gun/energy/laser/mounted(src) src.modules += new /obj/item/weapon/pickaxe/plasmacutter(src) src.modules += new /obj/item/borg/combat/shield(src) src.modules += new /obj/item/borg/combat/mobility(src) - src.emag = new /obj/item/weapon/gun/energy/lasercannon/cyborg(src) + src.emag = new /obj/item/weapon/gun/energy/lasercannon/mounted(src) return /obj/item/weapon/robot_module/drone diff --git a/code/modules/mob/living/silicon/robot/robot_upgrades.dm b/code/modules/mob/living/silicon/robot/robot_upgrades.dm index 71f22a3029f..a6d08bd5348 100644 --- a/code/modules/mob/living/silicon/robot/robot_upgrades.dm +++ b/code/modules/mob/living/silicon/robot/robot_upgrades.dm @@ -108,7 +108,7 @@ usr << "There's no mounting point for the module!" return 0 - var/obj/item/weapon/gun/energy/taser/cyborg/T = locate() in R.module + var/obj/item/weapon/gun/energy/taser/mounted/cyborg/T = locate() in R.module if(!T) T = locate() in R.module.contents if(!T) diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index f4bc1175d51..6402e6d9444 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -1,3 +1,4 @@ +//Parent gun type. Guns are weapons that can be aimed at mobs and act over a distance /obj/item/weapon/gun name = "gun" desc = "Its a gun. It's pretty terrible, though." @@ -7,57 +8,74 @@ flags = CONDUCT slot_flags = SLOT_BELT matter = list("metal" = 2000) - w_class = 3.0 + w_class = 3 throwforce = 5 throw_speed = 4 throw_range = 5 - force = 5.0 + force = 5 origin_tech = "combat=1" attack_verb = list("struck", "hit", "bashed") - var/fire_sound = 'sound/weapons/Gunshot.ogg' - var/obj/item/projectile/in_chamber = null - var/caliber = "" - var/silenced = 0 - var/recoil = 0 - var/ejectshell = 1 - var/clumsy_check = 1 - var/tmp/list/mob/living/target //List of who yer targeting. - var/tmp/lock_time = -100 - var/tmp/mouthshoot = 0 ///To stop people from suiciding twice... >.> - var/automatic = 0 //Used to determine if you can target multiple people. - var/tmp/mob/living/last_moved_mob //Used to fire faster at more than one person. - var/tmp/told_cant_shoot = 0 //So that it doesn't spam them with the fact they cannot hit them. - var/firerate = 0 //0 for keep shooting until aim is lowered - // 1 for one bullet after tarrget moves and aim is lowered var/fire_delay = 6 + var/fire_sound = 'sound/weapons/Gunshot.ogg' + var/fire_sound_text = "gunshot" + var/recoil = 0 //screen shake + var/silenced = 0 + var/last_fired = 0 - proc/ready_to_fire() - if(world.time >= last_fired + fire_delay) - last_fired = world.time - return 1 - else - return 0 + //aiming system stuff + var/keep_aim = 1 //1 for keep shooting until aim is lowered + //0 for one bullet after tarrget moves and aim is lowered + var/multi_aim = 0 //Used to determine if you can target multiple people. + var/tmp/list/mob/living/aim_targets //List of who yer targeting. + var/tmp/mob/living/last_moved_mob //Used to fire faster at more than one person. + var/tmp/told_cant_shoot = 0 //So that it doesn't spam them with the fact they cannot hit them. + var/tmp/lock_time = -100 - proc/load_into_chamber() +//Returns 1 if the gun is able to be fired +/obj/item/weapon/gun/proc/ready_to_fire() + if(world.time >= last_fired + fire_delay) + last_fired = world.time + return 1 + else return 0 - proc/special_check(var/mob/M) //Placeholder for any special checks, like detective's revolver. - return 1 +//Checks whether a given mob can use the gun +/obj/item/weapon/gun/proc/special_check(var/mob/user) + if(!istype(user, /mob/living)) + return 0 + if(!user.IsAdvancedToolUser()) + return 0 + + var/mob/living/M = user + + if(HULK in M.mutations) + M << "Your fingers are much too large for the trigger guard!" + return 0 + if((CLUMSY in M.mutations) && prob(40) && can_fire()) //Clumsy handling + var/obj/in_chamber = get_next_projectile() + if(in_chamber) + if(process_projectile(in_chamber, user, user, pick("l_foot", "r_foot"))) + handle_post_fire(user, user) + user.visible_message( + "[user] shoots \himself in the foot with \the [src]!", + "You shoot yourself in the foot with \the [src]!" + ) + M.drop_item() + return 0 + return 1 - emp_act(severity) - for(var/obj/O in contents) - O.emp_act(severity) - -/obj/item/weapon/gun/afterattack(atom/A as mob|obj|turf|area, mob/living/user as mob|obj, flag, params) - if(flag) return //It's adjacent, is the user, or is on the user's person - if(istype(target, /obj/machinery/recharger) && istype(src, /obj/item/weapon/gun/energy)) return//Shouldnt flag take care of this? +/obj/item/weapon/gun/emp_act(severity) + for(var/obj/O in contents) + O.emp_act(severity) +/obj/item/weapon/gun/afterattack(atom/A, mob/living/user, adjacent, params) + if(adjacent) return //A is adjacent, is the user, or is on the user's person //decide whether to aim or shoot normally var/aiming = 0 - if(user && user.client && !(A in target)) + if(user && user.client && !(A in aim_targets)) var/client/C = user.client //If help intent is on and we have clicked on an eligible target, switch to aim mode automatically if(user.a_intent == "help" && isliving(A) && !C.gun_mode) @@ -72,30 +90,16 @@ else Fire(A,user,params) //Otherwise, fire normally. -/obj/item/weapon/gun/proc/isHandgun() - return 1 +/obj/item/weapon/gun/attack(atom/A, mob/living/user, def_zone) + if (A == user && user.zone_sel.selecting == "mouth" && !mouthshoot) + handle_suicide(user) + else if(user.a_intent == "hurt") //point blank shooting + Fire(A, user, pointblank=1) + else + return ..() //Pistolwhippin' -/obj/item/weapon/gun/proc/Fire(atom/target as mob|obj|turf|area, mob/living/user as mob|obj, params, reflex = 0)//TODO: go over this - //Exclude lasertag guns from the CLUMSY check. - if(!user) return - - if(clumsy_check) - if(istype(user, /mob/living)) - var/mob/living/M = user - if ((CLUMSY in M.mutations) && prob(50)) - M << "[src] blows up in your face." - M.take_organ_damage(0,20) - M.drop_item() - del(src) - return - - if (!user.IsAdvancedToolUser()) - return - if(istype(user, /mob/living)) - var/mob/living/M = user - if (HULK in M.mutations) - M << "Your fingers are much too large for the trigger guard!" - return +/obj/item/weapon/gun/proc/Fire(atom/target, mob/living/user, params, pointblank=0, reflex=0) + if(!user || !target) return add_fingerprint(user) @@ -107,22 +111,70 @@ user << "[src] is not ready to fire again!" return - if(!load_into_chamber()) //CHECK - return click_empty(user) - + var/obj/in_chamber = get_next_projectile() if(!in_chamber) + handle_click_empty(user) return + user.next_move = world.time + 4 + + if(process_projectile(in_chamber, user, target, user.zone_sel.selecting, params, pointblank, reflex)) + handle_post_fire(user, target, pointblank, reflex) + + update_icon() + if(user.hand) + user.update_inv_l_hand() + else + user.update_inv_r_hand() + + +//returns the next projectile to fire +/obj/item/weapon/gun/proc/get_next_projectile() + return null + +//TODO integrate this with gun code better. +//TODO maybe provide user so that subtypes can emit messages if they want? +/obj/item/weapon/gun/proc/can_fire() + return 0 + +//used by aiming code +/obj/item/weapon/gun/proc/can_hit(atom/target as mob, var/mob/living/user as mob) + if(!special_check(user)) + return 2 + return 0 //in_chamber.check_fire(target,user) + +//called if there was no projectile to shoot +/obj/item/weapon/gun/proc/handle_click_empty(mob/user) + if (user) + user.visible_message("*click click*", "*click*") + else + src.visible_message("*click click*") + playsound(src.loc, 'sound/weapons/empty.ogg', 100, 1) + +//called after successfully firing +/obj/item/weapon/gun/proc/handle_post_fire(mob/user, atom/target, var/pointblank=0, var/reflex=0) if(silenced) playsound(user, fire_sound, 10, 1) else playsound(user, fire_sound, 50, 1) - user.visible_message("[user] fires [src][reflex ? " by reflex":""]!", \ - "You fire [src][reflex ? "by reflex":""]!", \ - "You hear a [istype(in_chamber, /obj/item/projectile/beam) ? "laser blast" : "gunshot"]!") - - user.next_move = world.time + 4 + user.visible_message( + "[user] fires [src][pointblank ? " point blank at [target]":""][reflex ? " by reflex":""]!", + "You fire [src][reflex ? "by reflex":""]!", + "You hear a [fire_sound_text]!" + ) + if(recoil) + spawn() + shake_camera(user, recoil + 1, recoil) + +//does the actual shooting +/obj/item/weapon/gun/proc/process_projectile(obj/projectile, mob/user, atom/target, var/target_zone, var/params=null, var/pointblank=0, var/reflex=0) + if(!istype(projectile, /obj/item/projectile)) + return 0 //default behaviour only applies to true projectiles + + var/obj/item/projectile/P = projectile + + //shooting while in shock var/x_offset = 0 var/y_offset = 0 if(istype(user, /mob/living/carbon)) @@ -134,101 +186,52 @@ y_offset = rand(-1,1) x_offset = rand(-1,1) - var/p_x - var/p_y + //Point blank bonus + if(pointblank) P.damage *= 1.3 + + //TODO: accuracy modifiers + if(params) - var/list/mouse_control = params2list(params) - if(mouse_control["icon-x"]) - p_x = text2num(mouse_control["icon-x"]) - if(mouse_control["icon-y"]) - p_y = text2num(mouse_control["icon-y"]) + P.set_clickpoint(params) + + return !P.launch(target, user, src, target_zone, x_offset, y_offset) + +//Suicide handling. +/obj/item/weapon/gun/var/mouthshoot = 0 //To stop people from suiciding twice... >.> +/obj/item/weapon/gun/proc/handle_suicide(mob/living/user) + if(!ishuman(user)) + return + var/mob/living/carbon/human/M = user - if(in_chamber) - var/fail = in_chamber.launch( - target = target, - user = user, - launcher = src, - target_zone = user.zone_sel.selecting, - x_offset = x_offset, - y_offset = y_offset, - px = p_x, - py = p_y - ) - - if(fail) return - - if(recoil) - spawn() - shake_camera(user, recoil + 1, recoil) - - sleep(1) - in_chamber = null - - update_icon() - - if(user.hand) - user.update_inv_l_hand() - else - user.update_inv_r_hand() - -/obj/item/weapon/gun/proc/can_fire() - return load_into_chamber() - -/obj/item/weapon/gun/proc/can_hit(var/mob/living/target as mob, var/mob/living/user as mob) - return in_chamber.check_fire(target,user) - -/obj/item/weapon/gun/proc/click_empty(mob/user = null) - if (user) - user.visible_message("*click click*", "\red *click*") - playsound(user, 'sound/weapons/empty.ogg', 100, 1) - else - src.visible_message("*click click*") - playsound(src.loc, 'sound/weapons/empty.ogg', 100, 1) - -/obj/item/weapon/gun/attack(mob/living/M as mob, mob/living/user as mob, def_zone) - //Suicide handling. - if (M == user && user.zone_sel.selecting == "mouth" && !mouthshoot) - mouthshoot = 1 - M.visible_message("\red [user] sticks their gun in their mouth, ready to pull the trigger...") - if(!do_after(user, 40)) - M.visible_message("\blue [user] decided life was worth living") - mouthshoot = 0 - return - if (load_into_chamber()) - user.visible_message("[user] pulls the trigger.") - if(silenced) - playsound(user, fire_sound, 10, 1) - else - playsound(user, fire_sound, 50, 1) - if(istype(in_chamber, /obj/item/projectile/beam/lastertag)) - user.show_message("You feel rather silly, trying to commit suicide with a toy.") - mouthshoot = 0 - return - - in_chamber.on_hit(M) - if (in_chamber.damage_type != HALLOSS) - user.apply_damage(in_chamber.damage*2.5, in_chamber.damage_type, "head", used_weapon = "Point blank shot in the mouth with \a [in_chamber]", sharp=1) - user.death() - else - user << "Ow..." - user.apply_effect(110,AGONY,0) - del(in_chamber) - mouthshoot = 0 - return + mouthshoot = 1 + M.visible_message("\red [user] sticks their gun in their mouth, ready to pull the trigger...") + if(!do_after(user, 40)) + M.visible_message("\blue [user] decided life was worth living") + mouthshoot = 0 + return + var/obj/item/projectile/in_chamber = get_next_projectile() + if (istype(in_chamber)) + user.visible_message("[user] pulls the trigger.") + if(silenced) + playsound(user, fire_sound, 10, 1) else - click_empty(user) + playsound(user, fire_sound, 50, 1) + if(istype(in_chamber, /obj/item/projectile/beam/lastertag)) + user.show_message("You feel rather silly, trying to commit suicide with a toy.") mouthshoot = 0 return - if (load_into_chamber()) - //Point blank shooting if on harm intent or target we were targeting. - if(user.a_intent == "hurt") - user.visible_message("\red \The [user] fires \the [src] point blank at [M]!") - if(istype(in_chamber)) in_chamber.damage *= 1.3 - Fire(M,user) - return - else if(target && M in target) - Fire(M,user) ///Otherwise, shoot! - return + in_chamber.on_hit(M) + if (in_chamber.damage_type != HALLOSS) + user.apply_damage(in_chamber.damage*2.5, in_chamber.damage_type, "head", used_weapon = "Point blank shot in the mouth with \a [in_chamber]", sharp=1) + user.death() + else + user << "Ow..." + user.apply_effect(110,AGONY,0) + del(in_chamber) + mouthshoot = 0 + return else - return ..() //Pistolwhippin' + handle_click_empty(user) + mouthshoot = 0 + return \ No newline at end of file diff --git a/code/modules/projectiles/guns/alien.dm b/code/modules/projectiles/guns/alien.dm index f9af71acc85..c7efc4e3b6c 100644 --- a/code/modules/projectiles/guns/alien.dm +++ b/code/modules/projectiles/guns/alien.dm @@ -24,7 +24,6 @@ ..() /obj/item/weapon/gun/launcher/spikethrower/process() - if(spikes < max_spikes && world.time > last_regen + spike_gen_time) spikes++ last_regen = world.time @@ -32,7 +31,7 @@ /obj/item/weapon/gun/launcher/spikethrower/examine(mob/user) ..(user) - user << "It has [spikes] [spikes == 1 ? "spike" : "spikes"] remaining." + user << "It has [spikes] spike\s remaining." /obj/item/weapon/gun/launcher/spikethrower/update_icon() icon_state = "spikethrower[spikes]" @@ -46,21 +45,18 @@ if(H.species && H.species.name != "Vox" && H.species.name != "Vox Armalis") user << "\red \The [src] does not respond to you!" return 0 - return 1 + return ..() /obj/item/weapon/gun/launcher/spikethrower/update_release_force() return -/obj/item/weapon/gun/launcher/spikethrower/load_into_chamber() - if(in_chamber) return 1 - if(spikes < 1) return 0 +/obj/item/weapon/gun/launcher/spikethrower/can_fire() + return (spikes >= 1) +/obj/item/weapon/gun/launcher/spikethrower/get_next_projectile() + if(spikes < 1) return null spikes-- - in_chamber = new /obj/item/weapon/spike(src) - return 1 - -/obj/item/weapon/gun/launcher/spikethrower/Fire(atom/target as mob|obj|turf|area, mob/living/user as mob|obj, params, reflex = 0) - if(..()) update_icon() + return new /obj/item/weapon/spike(src) //This gun only functions for armalis. The on-sprite is too huge to render properly on other sprites. /obj/item/weapon/gun/energy/noisecannon @@ -74,7 +70,7 @@ force = 10 projectile_type = /obj/item/projectile/energy/sonic - cell_type = "/obj/item/weapon/cell/super" + cell_type = /obj/item/weapon/cell/super fire_delay = 40 fire_sound = 'sound/effects/basscannon.ogg' @@ -94,10 +90,6 @@ user << "\red \The [src] is far too large for you to pick up." return -/obj/item/weapon/gun/energy/noisecannon/load_into_chamber() //Does not have ammo. - in_chamber = new projectile_type(src) - return 1 - /obj/item/weapon/gun/energy/noisecannon/update_icon() return diff --git a/code/modules/projectiles/guns/energy.dm b/code/modules/projectiles/guns/energy.dm index 0ed82e9f4a4..e8997ea24fe 100644 --- a/code/modules/projectiles/guns/energy.dm +++ b/code/modules/projectiles/guns/energy.dm @@ -3,39 +3,79 @@ desc = "A basic energy-based gun." icon_state = "energy" fire_sound = 'sound/weapons/Taser.ogg' + fire_sound_text = "laser blast" var/obj/item/weapon/cell/power_supply //What type of power cell this uses var/charge_cost = 100 //How much energy is needed to fire. - var/cell_type = "/obj/item/weapon/cell" + var/cell_type = /obj/item/weapon/cell var/projectile_type = /obj/item/projectile/beam/practice var/modifystate + var/charge_meter = 1 //if set, the icon state will be chosen based on the current charge + + //self-recharging + var/self_recharge = 0 //if set, the weapon will recharge itself + var/use_external_power = 0 //if set, the weapon will look for an external power source to draw from, otherwise it recharges magically + var/recharge_time = 4 + var/charge_tick = 0 - emp_act(severity) - power_supply.use(round(power_supply.maxcharge / severity)) - update_icon() - ..() - - - New() - ..() - if(cell_type) - power_supply = new cell_type(src) - else - power_supply = new(src) - power_supply.give(power_supply.maxcharge) - return - - - load_into_chamber() - if(in_chamber) return 1 - if(!power_supply) return 0 - if(!power_supply.use(charge_cost)) return 0 - if(!ispath(projectile_type)) return 0 - in_chamber = new projectile_type(src) - return 1 - - +/obj/item/weapon/gun/energy/emp_act(severity) + power_supply.use(round(power_supply.maxcharge / severity)) update_icon() + ..() + +/obj/item/weapon/gun/energy/New() + ..() + if(cell_type) + power_supply = new cell_type(src) + power_supply.give(power_supply.maxcharge) + if(self_recharge) + processing_objects.Add(src) + +/obj/item/weapon/gun/energy/Del() + if(self_recharge) + processing_objects.Remove(src) + ..() + +/obj/item/weapon/gun/energy/process() + if(self_recharge) //Every [recharge_time] ticks, recharge a shot for the cyborg + charge_tick++ + if(charge_tick < recharge_time) return 0 + charge_tick = 0 + + if(!power_supply || power_supply.charge >= power_supply.maxcharge) + return 0 // check if we actually need to recharge + + if(use_external_power) + var/obj/item/weapon/cell/external = get_external_power_supply() + if(!external || !external.use(charge_cost)) //Take power from the borg... + return 0 + + power_supply.give(charge_cost) //... to recharge the shot + update_icon() + return 1 + +/obj/item/weapon/gun/energy/get_next_projectile() + if(!power_supply) return null + if(!ispath(projectile_type)) return null + if(!power_supply.use(charge_cost)) return null + return new projectile_type(src) + +/obj/item/weapon/gun/energy/proc/get_external_power_supply() + if(isrobot(src.loc)) + var/mob/living/silicon/robot/R = src.loc + return R.cell + if(istype(src.loc, /obj/item/rig_module)) + var/obj/item/rig_module/module = src.loc + if(module.holder && module.holder.wearer) + var/mob/living/carbon/human/H = module.holder.wearer + if(istype(H) && H.back) + var/obj/item/weapon/rig/suit = H.back + if(istype(suit)) + return suit.cell + return null + +/obj/item/weapon/gun/energy/update_icon() + if(charge_meter) var/ratio = power_supply.charge / power_supply.maxcharge ratio = round(ratio, 0.25) * 100 if(modifystate) diff --git a/code/modules/projectiles/guns/energy/laser.dm b/code/modules/projectiles/guns/energy/laser.dm index 40a4b066898..30e03a69880 100644 --- a/code/modules/projectiles/guns/energy/laser.dm +++ b/code/modules/projectiles/guns/energy/laser.dm @@ -9,84 +9,43 @@ origin_tech = "combat=3;magnets=2" projectile_type = /obj/item/projectile/beam +/obj/item/weapon/gun/energy/laser/mounted + self_recharge = 1 + use_external_power = 1 + /obj/item/weapon/gun/energy/laser/practice name = "practice laser gun" desc = "A modified version of the basic laser gun, this one fires less concentrated energy bolts designed for target practice." projectile_type = /obj/item/projectile/beam/practice - clumsy_check = 0 obj/item/weapon/gun/energy/laser/retro name = "retro laser" icon_state = "retro" desc = "An older model of the basic lasergun, no longer used by Nanotrasen's security or military forces. Nevertheless, it is still quite deadly and easy to maintain, making it a favorite amongst pirates and other outlaws." - /obj/item/weapon/gun/energy/laser/captain name = "antique laser gun" icon_state = "caplaser" desc = "This is an antique laser gun. All craftsmanship is of the highest quality. It is decorated with assistant leather and chrome. The object menaces with spikes of energy. On the item is an image of Space Station 13. The station is exploding." force = 10 origin_tech = null - var/charge_tick = 0 - - - New() - ..() - processing_objects.Add(src) - - - Del() - processing_objects.Remove(src) - ..() - - - process() - charge_tick++ - if(charge_tick < 4) return 0 - charge_tick = 0 - if(!power_supply) return 0 - power_supply.give(100) - update_icon() - return 1 - - - -/obj/item/weapon/gun/energy/laser/cyborg/load_into_chamber() - if(in_chamber) - return 1 - if(isrobot(src.loc)) - var/mob/living/silicon/robot/R = src.loc - if(R && R.cell) - R.cell.use(100) - in_chamber = new/obj/item/projectile/beam(src) - return 1 - return 0 - + self_recharge = 1 /obj/item/weapon/gun/energy/lasercannon name = "laser cannon" - desc = "With the L.A.S.E.R. cannon, the lasing medium is enclosed in a tube lined with uranium-235 and subjected to high neutron flux in a nuclear reactor core. This incredible technology may help YOU achieve high excitation rates with small laser volumes!" + desc = "With the laser cannon, the lasing medium is enclosed in a tube lined with uranium-235 and subjected to high neutron flux in a nuclear reactor core. This incredible technology may help YOU achieve high excitation rates with small laser volumes!" icon_state = "lasercannon" fire_sound = 'sound/weapons/lasercannonfire.ogg' origin_tech = "combat=4;materials=3;powerstorage=3" - projectile_type = "/obj/item/projectile/beam/heavylaser" - + projectile_type = /obj/item/projectile/beam/heavylaser + charge_cost = 250 fire_delay = 20 - isHandgun() - return 0 - -/obj/item/weapon/gun/energy/lasercannon/cyborg/load_into_chamber() - if(in_chamber) - return 1 - if(isrobot(src.loc)) - var/mob/living/silicon/robot/R = src.loc - if(R && R.cell) - R.cell.use(250) - in_chamber = new/obj/item/projectile/beam/heavylaser(src) - return 1 - return 0 +/obj/item/weapon/gun/energy/lasercannon/mounted + self_recharge = 1 + use_external_power = 1 + recharge_time = 25 /obj/item/weapon/gun/energy/xray name = "xray laser gun" @@ -94,80 +53,32 @@ obj/item/weapon/gun/energy/laser/retro icon_state = "xray" fire_sound = 'sound/weapons/laser3.ogg' origin_tech = "combat=5;materials=3;magnets=2;syndicate=2" - projectile_type = "/obj/item/projectile/beam/xray" + projectile_type = /obj/item/projectile/beam/xray charge_cost = 50 ////////Laser Tag//////////////////// -/obj/item/weapon/gun/energy/laser/bluetag +/obj/item/weapon/gun/energy/lasertag name = "laser tag gun" + desc = "Standard issue weapon of the Imperial Guard" + origin_tech = "combat=1;magnets=2" + self_recharge = 1 + var/required_vest + +/obj/item/weapon/gun/energy/lasertag/special_check(var/mob/living/carbon/human/M) + if(ishuman(M)) + if(!istype(M.wear_suit, required_vest)) + M << "\red You need to be wearing your laser tag vest!" + return 0 + return ..() + +/obj/item/weapon/gun/energy/lasertag/blue icon_state = "bluetag" - desc = "Standard issue weapon of the Imperial Guard" - projectile_type = "/obj/item/projectile/beam/lastertag/blue" - origin_tech = "combat=1;magnets=2" - clumsy_check = 0 - var/charge_tick = 0 + projectile_type = /obj/item/projectile/beam/lastertag/blue + required_vest = /obj/item/clothing/suit/bluetag - special_check(var/mob/living/carbon/human/M) - if(ishuman(M)) - if(istype(M.wear_suit, /obj/item/clothing/suit/bluetag)) - return 1 - M << "\red You need to be wearing your laser tag vest!" - return 0 - - New() - ..() - processing_objects.Add(src) - - - Del() - processing_objects.Remove(src) - ..() - - - process() - charge_tick++ - if(charge_tick < 4) return 0 - charge_tick = 0 - if(!power_supply) return 0 - power_supply.give(100) - update_icon() - return 1 - - - -/obj/item/weapon/gun/energy/laser/redtag - name = "laser tag gun" +/obj/item/weapon/gun/energy/lasertag/red icon_state = "redtag" - desc = "Standard issue weapon of the Imperial Guard" - projectile_type = "/obj/item/projectile/beam/lastertag/red" - origin_tech = "combat=1;magnets=2" - clumsy_check = 0 - var/charge_tick = 0 - - special_check(var/mob/living/carbon/human/M) - if(ishuman(M)) - if(istype(M.wear_suit, /obj/item/clothing/suit/redtag)) - return 1 - M << "\red You need to be wearing your laser tag vest!" - return 0 - - New() - ..() - processing_objects.Add(src) - - - Del() - processing_objects.Remove(src) - ..() - - - process() - charge_tick++ - if(charge_tick < 4) return 0 - charge_tick = 0 - if(!power_supply) return 0 - power_supply.give(100) - update_icon() - return 1 + projectile_type = /obj/item/projectile/beam/lastertag/red + required_vest = /obj/item/clothing/suit/redtag \ No newline at end of file diff --git a/code/modules/projectiles/guns/energy/nuclear.dm b/code/modules/projectiles/guns/energy/nuclear.dm index abfd7510a4e..04ba9602e88 100644 --- a/code/modules/projectiles/guns/energy/nuclear.dm +++ b/code/modules/projectiles/guns/energy/nuclear.dm @@ -1,6 +1,6 @@ /obj/item/weapon/gun/energy/gun name = "energy gun" - desc = "A basic energy-based gun with two settings: Stun and kill." + desc = "An energy-based gun with two settings: Stun and kill." icon_state = "energystun100" item_state = null //so the human update icon uses the icon_state instead. fire_sound = 'sound/weapons/Taser.ogg' @@ -12,118 +12,106 @@ var/mode = 0 //0 = stun, 1 = kill +/obj/item/weapon/gun/energy/gun/attack_self(mob/living/user as mob) + switch(mode) + if(0) + mode = 1 + charge_cost = 100 + fire_sound = 'sound/weapons/Laser.ogg' + user << "\red [src.name] is now set to kill." + projectile_type = /obj/item/projectile/beam + modifystate = "energykill" + if(1) + mode = 0 + charge_cost = 100 + fire_sound = 'sound/weapons/Taser.ogg' + user << "\red [src.name] is now set to stun." + projectile_type = /obj/item/projectile/beam/stun + modifystate = "energystun" + update_icon() + if(user.l_hand == src) + user.update_inv_l_hand() + else + user.update_inv_r_hand() - attack_self(mob/living/user as mob) - switch(mode) - if(0) - mode = 1 - charge_cost = 100 - fire_sound = 'sound/weapons/Laser.ogg' - user << "\red [src.name] is now set to kill." - projectile_type = /obj/item/projectile/beam - modifystate = "energykill" - if(1) - mode = 0 - charge_cost = 100 - fire_sound = 'sound/weapons/Taser.ogg' - user << "\red [src.name] is now set to stun." - projectile_type = /obj/item/projectile/beam/stun - modifystate = "energystun" - update_icon() - if(user.l_hand == src) - user.update_inv_l_hand() - else - user.update_inv_r_hand() +/obj/item/weapon/gun/energy/gun/mounted + self_recharge = 1 + use_external_power = 1 /obj/item/weapon/gun/energy/gun/nuclear name = "advanced energy gun" desc = "An energy gun with an experimental miniaturized reactor." icon_state = "nucgun" origin_tech = "combat=3;materials=5;powerstorage=3" + self_recharge = 1 var/lightfail = 0 - var/charge_tick = 0 - New() - ..() - processing_objects.Add(src) +//override for failcheck behaviour +/obj/item/weapon/gun/energy/gun/nuclear/process() + charge_tick++ + if(charge_tick < 4) return 0 + charge_tick = 0 + if(!power_supply) return 0 + if((power_supply.charge / power_supply.maxcharge) != 1) + if(!failcheck()) return 0 + power_supply.give(charge_cost) + update_icon() + return 1 - - Del() +/obj/item/weapon/gun/energy/gun/nuclear/proc/failcheck() + lightfail = 0 + if (prob(src.reliability)) return 1 //No failure + if (prob(src.reliability)) + for (var/mob/living/M in range(0,src)) //Only a minor failure, enjoy your radiation if you're in the same tile or carrying it + if (src in M.contents) + M << "\red Your gun feels pleasantly warm for a moment." + else + M << "\red You feel a warm sensation." + M.apply_effect(rand(3,120), IRRADIATE) + lightfail = 1 + else + for (var/mob/living/M in range(rand(1,4),src)) //Big failure, TIME FOR RADIATION BITCHES + if (src in M.contents) + M << "\red Your gun's reactor overloads!" + M << "\red You feel a wave of heat wash over you." + M.apply_effect(300, IRRADIATE) + crit_fail = 1 //break the gun so it stops recharging processing_objects.Remove(src) - ..() + update_icon() + return 0 - process() - charge_tick++ - if(charge_tick < 4) return 0 - charge_tick = 0 - if(!power_supply) return 0 - if((power_supply.charge / power_supply.maxcharge) != 1) - if(!failcheck()) return 0 - power_supply.give(100) - update_icon() - return 1 +/obj/item/weapon/gun/energy/gun/nuclear/proc/update_charge() + if (crit_fail) + overlays += "nucgun-whee" + return + var/ratio = power_supply.charge / power_supply.maxcharge + ratio = round(ratio, 0.25) * 100 + overlays += "nucgun-[ratio]" +/obj/item/weapon/gun/energy/gun/nuclear/proc/update_reactor() + if(crit_fail) + overlays += "nucgun-crit" + return + if(lightfail) + overlays += "nucgun-medium" + else if ((power_supply.charge/power_supply.maxcharge) <= 0.5) + overlays += "nucgun-light" + else + overlays += "nucgun-clean" - proc - failcheck() - lightfail = 0 - if (prob(src.reliability)) return 1 //No failure - if (prob(src.reliability)) - for (var/mob/living/M in range(0,src)) //Only a minor failure, enjoy your radiation if you're in the same tile or carrying it - if (src in M.contents) - M << "\red Your gun feels pleasantly warm for a moment." - else - M << "\red You feel a warm sensation." - M.apply_effect(rand(3,120), IRRADIATE) - lightfail = 1 - else - for (var/mob/living/M in range(rand(1,4),src)) //Big failure, TIME FOR RADIATION BITCHES - if (src in M.contents) - M << "\red Your gun's reactor overloads!" - M << "\red You feel a wave of heat wash over you." - M.apply_effect(300, IRRADIATE) - crit_fail = 1 //break the gun so it stops recharging - processing_objects.Remove(src) - update_icon() - return 0 +/obj/item/weapon/gun/energy/gun/nuclear/proc/update_mode() + if (mode == 0) + overlays += "nucgun-stun" + else if (mode == 1) + overlays += "nucgun-kill" +/obj/item/weapon/gun/energy/gun/nuclear/emp_act(severity) + ..() + reliability -= round(15/severity) - update_charge() - if (crit_fail) - overlays += "nucgun-whee" - return - var/ratio = power_supply.charge / power_supply.maxcharge - ratio = round(ratio, 0.25) * 100 - overlays += "nucgun-[ratio]" - - - update_reactor() - if(crit_fail) - overlays += "nucgun-crit" - return - if(lightfail) - overlays += "nucgun-medium" - else if ((power_supply.charge/power_supply.maxcharge) <= 0.5) - overlays += "nucgun-light" - else - overlays += "nucgun-clean" - - - update_mode() - if (mode == 0) - overlays += "nucgun-stun" - else if (mode == 1) - overlays += "nucgun-kill" - - - emp_act(severity) - ..() - reliability -= round(15/severity) - - - update_icon() - overlays.Cut() - update_charge() - update_reactor() - update_mode() +/obj/item/weapon/gun/energy/gun/nuclear/update_icon() + overlays.Cut() + update_charge() + update_reactor() + update_mode() diff --git a/code/modules/projectiles/guns/energy/pulse.dm b/code/modules/projectiles/guns/energy/pulse.dm index 9b0a22e06c9..6d3dd6f944f 100644 --- a/code/modules/projectiles/guns/energy/pulse.dm +++ b/code/modules/projectiles/guns/energy/pulse.dm @@ -1,70 +1,55 @@ /obj/item/weapon/gun/energy/pulse_rifle name = "pulse rifle" - desc = "A heavy-duty, pulse-based energy weapon, preferred by front-line combat personnel." + desc = "A weapon that uses advanced pulse-based beam generation technology to emit powerful laser blasts. Because of its complexity and cost, it is rarely seen in use except by specialists." icon_state = "pulse" item_state = null //so the human update icon uses the icon_state instead. force = 10 fire_sound = 'sound/weapons/pulse.ogg' charge_cost = 200 projectile_type = /obj/item/projectile/beam/pulse - cell_type = "/obj/item/weapon/cell/super" + cell_type = /obj/item/weapon/cell/super var/mode = 2 fire_delay = 25 - attack_self(mob/living/user as mob) - switch(mode) - if(2) - mode = 0 - charge_cost = 100 - fire_sound = 'sound/weapons/Taser.ogg' - user << "\red [src.name] is now set to stun." - projectile_type = /obj/item/projectile/beam/stun - if(0) - mode = 1 - charge_cost = 100 - fire_sound = 'sound/weapons/Laser.ogg' - user << "\red [src.name] is now set to kill." - projectile_type = /obj/item/projectile/beam - if(1) - mode = 2 - charge_cost = 200 - fire_sound = 'sound/weapons/pulse.ogg' - user << "\red [src.name] is now set to DESTROY." - projectile_type = /obj/item/projectile/beam/pulse - return - - isHandgun() - return 0 - -/obj/item/weapon/gun/energy/pulse_rifle/cyborg/load_into_chamber() - if(in_chamber) - return 1 - if(isrobot(src.loc)) - var/mob/living/silicon/robot/R = src.loc - if(R && R.cell) - R.cell.use(charge_cost) - in_chamber = new/obj/item/projectile/beam(src) - return 1 - return 0 +/obj/item/weapon/gun/energy/pulse_rifle/attack_self(mob/living/user as mob) + switch(mode) + if(2) + mode = 0 + charge_cost = 100 + fire_sound = 'sound/weapons/Taser.ogg' + user << "\red [src.name] is now set to stun." + projectile_type = /obj/item/projectile/beam/stun + if(0) + mode = 1 + charge_cost = 100 + fire_sound = 'sound/weapons/Laser.ogg' + user << "\red [src.name] is now set to kill." + projectile_type = /obj/item/projectile/beam + if(1) + mode = 2 + charge_cost = 200 + fire_sound = 'sound/weapons/pulse.ogg' + user << "\red [src.name] is now set to DESTROY." + projectile_type = /obj/item/projectile/beam/pulse +/obj/item/weapon/gun/energy/pulse_rifle/mounted + self_recharge = 1 + use_external_power = 1 /obj/item/weapon/gun/energy/pulse_rifle/destroyer name = "pulse destroyer" - desc = "A heavy-duty, pulse-based energy weapon." + desc = "A heavy-duty, pulse-based energy weapon. Because of its complexity and cost, it is rarely seen in use except by specialists." cell_type = "/obj/item/weapon/cell/infinite" fire_delay = 10 - attack_self(mob/living/user as mob) - user << "\red [src.name] has three settings, and they are all DESTROY." - +/obj/item/weapon/gun/energy/pulse_rifle/destroyer/attack_self(mob/living/user as mob) + user << "\red [src.name] has three settings, and they are all DESTROY." +//WHY? /obj/item/weapon/gun/energy/pulse_rifle/M1911 name = "\improper M1911-P" desc = "It's not the size of the gun, it's the size of the hole it puts through people." icon_state = "m1911-p" cell_type = "/obj/item/weapon/cell/infinite" fire_delay = 10 - - isHandgun() - return 1 diff --git a/code/modules/projectiles/guns/energy/special.dm b/code/modules/projectiles/guns/energy/special.dm index d5417496bfa..f6f4d4bf547 100644 --- a/code/modules/projectiles/guns/energy/special.dm +++ b/code/modules/projectiles/guns/energy/special.dm @@ -8,14 +8,12 @@ flags = CONDUCT slot_flags = SLOT_BACK charge_cost = 100 - projectile_type = "/obj/item/projectile/ion" + projectile_type = /obj/item/projectile/ion /obj/item/weapon/gun/energy/ionrifle/emp_act(severity) - if(severity <= 2) - power_supply.use(round(power_supply.maxcharge / severity)) - update_icon() - else - return + if(severity > 2) + return //so it doesn't EMP itself, I guess + ..() /obj/item/weapon/gun/energy/decloner name = "biological demolecularisor" @@ -24,9 +22,9 @@ fire_sound = 'sound/weapons/pulse3.ogg' origin_tech = "combat=5;materials=4;powerstorage=3" charge_cost = 100 - projectile_type = "/obj/item/projectile/energy/declone" + projectile_type = /obj/item/projectile/energy/declone -obj/item/weapon/gun/energy/staff +/obj/item/weapon/gun/energy/staff name = "staff of change" desc = "An artefact that spits bolts of coruscating energy which cause the target's very form to reshape itself" icon = 'icons/obj/gun.dmi' @@ -37,45 +35,22 @@ obj/item/weapon/gun/energy/staff slot_flags = SLOT_BACK w_class = 4.0 charge_cost = 200 - projectile_type = "/obj/item/projectile/change" + projectile_type = /obj/item/projectile/change origin_tech = null - clumsy_check = 0 - var/charge_tick = 0 + self_recharge = 1 + charge_meter = 0 - - New() - ..() - processing_objects.Add(src) - - - Del() - processing_objects.Remove(src) - ..() - - - process() - charge_tick++ - if(charge_tick < 4) return 0 - charge_tick = 0 - if(!power_supply) return 0 - power_supply.give(200) - return 1 - - update_icon() - return - - - click_empty(mob/user = null) - if (user) - user.visible_message("*fizzle*", "\red *fizzle*") - else - src.visible_message("*fizzle*") - playsound(src.loc, 'sound/effects/sparks1.ogg', 100, 1) +/obj/item/weapon/gun/energy/staff/handle_click_empty(mob/user = null) + if (user) + user.visible_message("*fizzle*", "\red *fizzle*") + else + src.visible_message("*fizzle*") + playsound(src.loc, 'sound/effects/sparks1.ogg', 100, 1) /obj/item/weapon/gun/energy/staff/animate name = "staff of animation" desc = "An artefact that spits bolts of life-force which causes objects which are hit by it to animate and come to life! This magic doesn't affect machines." - projectile_type = "/obj/item/projectile/animate" + projectile_type = /obj/item/projectile/animate charge_cost = 100 /obj/item/weapon/gun/energy/floragun @@ -85,55 +60,35 @@ obj/item/weapon/gun/energy/staff item_state = "obj/item/gun.dmi" fire_sound = 'sound/effects/stealthoff.ogg' charge_cost = 100 - projectile_type = "/obj/item/projectile/energy/floramut" + projectile_type = /obj/item/projectile/energy/floramut origin_tech = "materials=2;biotech=3;powerstorage=3" modifystate = "floramut" - var/charge_tick = 0 + self_recharge = 1 var/mode = 0 //0 = mutate, 1 = yield boost -/obj/item/weapon/gun/energy/floragun/New() - ..() - processing_objects.Add(src) - -/obj/item/weapon/gun/energy/floragun/Del() - processing_objects.Remove(src) - ..() - -/obj/item/weapon/gun/energy/floragun/process() - charge_tick++ - if(charge_tick < 4) return 0 - charge_tick = 0 - if(!power_supply) return 0 - power_supply.give(100) - update_icon() - return 1 - /obj/item/weapon/gun/energy/floragun/attack_self(mob/living/user as mob) switch(mode) if(0) mode = 1 charge_cost = 100 user << "\red The [src.name] is now set to increase yield." - projectile_type = "/obj/item/projectile/energy/florayield" + projectile_type = /obj/item/projectile/energy/florayield modifystate = "florayield" if(1) mode = 0 charge_cost = 100 user << "\red The [src.name] is now set to induce mutations." - projectile_type = "/obj/item/projectile/energy/floramut" + projectile_type = /obj/item/projectile/energy/floramut modifystate = "floramut" update_icon() return -/obj/item/weapon/gun/energy/floragun/afterattack(obj/target, mob/user, flag) - - if(flag && istype(target,/obj/machinery/portable_atmospherics/hydroponics)) - var/obj/machinery/portable_atmospherics/hydroponics/tray = target - if(load_into_chamber()) - user.visible_message("\red \The [user] fires \the [src] into \the [tray]!") - Fire(target,user) +/obj/item/weapon/gun/energy/floragun/afterattack(obj/target, mob/user, adjacent_flag) + //allow shooting into adjacent hydrotrays regardless of intent + if(adjacent_flag && istype(target,/obj/machinery/portable_atmospherics/hydroponics)) + user.visible_message("\red \The [user] fires \the [src] into \the [target]!") + Fire(target,user) return - ..() /obj/item/weapon/gun/energy/meteorgun @@ -142,32 +97,12 @@ obj/item/weapon/gun/energy/staff icon_state = "riotgun" item_state = "c20r" w_class = 4 - projectile_type = "/obj/item/projectile/meteor" + projectile_type = /obj/item/projectile/meteor charge_cost = 100 cell_type = "/obj/item/weapon/cell/potato" - clumsy_check = 0 //Admin spawn only, might as well let clowns use it. - var/charge_tick = 0 - var/recharge_time = 5 //Time it takes for shots to recharge (in ticks) - - New() - ..() - processing_objects.Add(src) - - - Del() - processing_objects.Remove(src) - ..() - - process() - charge_tick++ - if(charge_tick < recharge_time) return 0 - charge_tick = 0 - if(!power_supply) return 0 - power_supply.give(100) - - update_icon() - return - + self_recharge = 1 + recharge_time = 5 //Time it takes for shots to recharge (in ticks) + charge_meter = 0 /obj/item/weapon/gun/energy/meteorgun/pen name = "meteor pen" @@ -182,7 +117,7 @@ obj/item/weapon/gun/energy/staff name = "mind flayer" desc = "A prototype weapon recovered from the ruins of Research-Station Epsilon." icon_state = "xray" - projectile_type = "/obj/item/projectile/beam/mindflayer" + projectile_type = /obj/item/projectile/beam/mindflayer fire_sound = 'sound/weapons/Laser.ogg' obj/item/weapon/gun/energy/staff/focus @@ -191,7 +126,7 @@ obj/item/weapon/gun/energy/staff/focus icon = 'icons/obj/wizard.dmi' icon_state = "focus" item_state = "focus" - projectile_type = "/obj/item/projectile/forcebolt" + projectile_type = /obj/item/projectile/forcebolt /* attack_self(mob/living/user as mob) if(projectile_type == "/obj/item/projectile/forcebolt") @@ -211,7 +146,7 @@ obj/item/weapon/gun/energy/staff/focus fire_sound = 'sound/effects/stealthoff.ogg' w_class = 3.0 origin_tech = "combat=5;phorontech=4" - projectile_type = "/obj/item/projectile/energy/phoron" + projectile_type = /obj/item/projectile/energy/phoron /obj/item/weapon/gun/energy/sniperrifle name = "\improper L.W.A.P. sniper rifle" @@ -220,7 +155,7 @@ obj/item/weapon/gun/energy/staff/focus icon_state = "sniper" fire_sound = 'sound/weapons/marauder.ogg' origin_tech = "combat=6;materials=5;powerstorage=4" - projectile_type = "/obj/item/projectile/beam/sniper" + projectile_type = /obj/item/projectile/beam/sniper slot_flags = SLOT_BACK charge_cost = 250 fire_delay = 35 diff --git a/code/modules/projectiles/guns/energy/stun.dm b/code/modules/projectiles/guns/energy/stun.dm index c3d6529dcb7..5dec0144d28 100644 --- a/code/modules/projectiles/guns/energy/stun.dm +++ b/code/modules/projectiles/guns/energy/stun.dm @@ -6,38 +6,15 @@ fire_sound = 'sound/weapons/Taser.ogg' charge_cost = 100 projectile_type = /obj/item/projectile/beam/stun - cell_type = "/obj/item/weapon/cell/crap" + cell_type = /obj/item/weapon/cell/crap -/obj/item/weapon/gun/energy/taser/cyborg - cell_type = "/obj/item/weapon/cell/secborg" - var/charge_tick = 0 - var/recharge_time = 10 //Time it takes for shots to recharge (in ticks) +/obj/item/weapon/gun/energy/taser/mounted + self_recharge = 1 + use_external_power = 1 - New() - ..() - processing_objects.Add(src) - - - Del() - processing_objects.Remove(src) - ..() - - process() //Every [recharge_time] ticks, recharge a shot for the cyborg - charge_tick++ - if(charge_tick < recharge_time) return 0 - charge_tick = 0 - - if(!power_supply) return 0 //sanity - if(power_supply.charge >= power_supply.maxcharge) return 0 // check if we actually need to recharge - - if(isrobot(src.loc)) - var/mob/living/silicon/robot/R = src.loc - if(R && R.cell) - R.cell.use(charge_cost) //Take power from the borg... - power_supply.give(charge_cost) //... to recharge the shot - - update_icon() - return 1 +/obj/item/weapon/gun/energy/taser/mounted/cyborg + cell_type = /obj/item/weapon/cell/secborg + recharge_time = 10 //Time it takes for shots to recharge (in ticks) /obj/item/weapon/gun/energy/stunrevolver @@ -48,8 +25,7 @@ origin_tech = "combat=3;materials=3;powerstorage=2" charge_cost = 125 projectile_type = /obj/item/projectile/beam/stun - cell_type = "/obj/item/weapon/cell" - + cell_type = /obj/item/weapon/cell /obj/item/weapon/gun/energy/crossbow @@ -63,31 +39,9 @@ silenced = 1 fire_sound = 'sound/weapons/Genhit.ogg' projectile_type = /obj/item/projectile/energy/bolt - cell_type = "/obj/item/weapon/cell/crap" - var/charge_tick = 0 - - - New() - ..() - processing_objects.Add(src) - - - Del() - processing_objects.Remove(src) - ..() - - - process() - charge_tick++ - if(charge_tick < 4) return 0 - charge_tick = 0 - if(!power_supply) return 0 - power_supply.give(100) - return 1 - - - update_icon() - return + cell_type = /obj/item/weapon/cell/crap + self_recharge = 1 + charge_meter = 0 /obj/item/weapon/gun/energy/crossbow/ninja name = "energy dart thrower" diff --git a/code/modules/projectiles/guns/energy/temperature.dm b/code/modules/projectiles/guns/energy/temperature.dm index 1e61590f21f..4f7ad995af8 100644 --- a/code/modules/projectiles/guns/energy/temperature.dm +++ b/code/modules/projectiles/guns/energy/temperature.dm @@ -8,73 +8,71 @@ charge_cost = 100 origin_tech = "combat=3;materials=4;powerstorage=3;magnets=2" - projectile_type = "/obj/item/projectile/temp" - cell_type = "/obj/item/weapon/cell/crap" + projectile_type = /obj/item/projectile/temp + cell_type = /obj/item/weapon/cell/crap - New() - ..() - processing_objects.Add(src) +/obj/item/weapon/gun/energy/temperature/New() + ..() + processing_objects.Add(src) - Del() - processing_objects.Remove(src) - ..() +/obj/item/weapon/gun/energy/temperature/Del() + processing_objects.Remove(src) + ..() - attack_self(mob/living/user as mob) - user.set_machine(src) - var/temp_text = "" - if(temperature > (T0C - 50)) - temp_text = "[temperature] ([round(temperature-T0C)]°C) ([round(temperature*1.8-459.67)]°F)" +/obj/item/weapon/gun/energy/temperature/attack_self(mob/living/user as mob) + user.set_machine(src) + var/temp_text = "" + if(temperature > (T0C - 50)) + temp_text = "[temperature] ([round(temperature-T0C)]°C) ([round(temperature*1.8-459.67)]°F)" + else + temp_text = "[temperature] ([round(temperature-T0C)]°C) ([round(temperature*1.8-459.67)]°F)" + + var/dat = {"Freeze Gun Configuration:
    + Current output temperature: [temp_text]
    + Target output temperature: - - - [current_temperature] + + +
    + "} + + user << browse(dat, "window=freezegun;size=450x300;can_resize=1;can_close=1;can_minimize=1") + onclose(user, "window=freezegun", src) + + +/obj/item/weapon/gun/energy/temperature/Topic(href, href_list) + if (..()) + return + usr.set_machine(src) + src.add_fingerprint(usr) + + + + if(href_list["temp"]) + var/amount = text2num(href_list["temp"]) + if(amount > 0) + src.current_temperature = min(500, src.current_temperature+amount) else - temp_text = "[temperature] ([round(temperature-T0C)]°C) ([round(temperature*1.8-459.67)]°F)" - - var/dat = {"Freeze Gun Configuration:
    - Current output temperature: [temp_text]
    - Target output temperature: - - - [current_temperature] + + +
    - "} + src.current_temperature = max(0, src.current_temperature+amount) + if (istype(src.loc, /mob)) + attack_self(src.loc) + src.add_fingerprint(usr) + return - user << browse(dat, "window=freezegun;size=450x300;can_resize=1;can_close=1;can_minimize=1") - onclose(user, "window=freezegun", src) +/obj/item/weapon/gun/energy/temperature/process() + switch(temperature) + if(0 to 100) charge_cost = 1000 + if(100 to 250) charge_cost = 500 + if(251 to 300) charge_cost = 100 + if(301 to 400) charge_cost = 500 + if(401 to 500) charge_cost = 1000 - - Topic(href, href_list) - if (..()) - return - usr.set_machine(src) - src.add_fingerprint(usr) - - - - if(href_list["temp"]) - var/amount = text2num(href_list["temp"]) - if(amount > 0) - src.current_temperature = min(500, src.current_temperature+amount) + if(current_temperature != temperature) + var/difference = abs(current_temperature - temperature) + if(difference >= 10) + if(current_temperature < temperature) + temperature -= 10 else - src.current_temperature = max(0, src.current_temperature+amount) - if (istype(src.loc, /mob)) - attack_self(src.loc) - src.add_fingerprint(usr) - return - - - process() - switch(temperature) - if(0 to 100) charge_cost = 1000 - if(100 to 250) charge_cost = 500 - if(251 to 300) charge_cost = 100 - if(301 to 400) charge_cost = 500 - if(401 to 500) charge_cost = 1000 - - if(current_temperature != temperature) - var/difference = abs(current_temperature - temperature) - if(difference >= 10) - if(current_temperature < temperature) - temperature -= 10 - else - temperature += 10 - else - temperature = current_temperature - return + temperature += 10 + else + temperature = current_temperature diff --git a/code/modules/projectiles/guns/projectile.dm b/code/modules/projectiles/guns/projectile.dm index bea28e9c37c..d9b9ce77e2d 100644 --- a/code/modules/projectiles/guns/projectile.dm +++ b/code/modules/projectiles/guns/projectile.dm @@ -6,11 +6,11 @@ name = "revolver" desc = "A classic revolver. Uses .357 ammo" icon_state = "revolver" - caliber = "357" origin_tech = "combat=2;materials=2" w_class = 3.0 matter = list("metal" = 1000) recoil = 1 + var/caliber = "357" var/ammo_type = "/obj/item/ammo_casing/a357" var/list/loaded = list() var/max_shells = 7 @@ -27,24 +27,28 @@ update_icon() return - -/obj/item/weapon/gun/projectile/load_into_chamber() - if(in_chamber) - return 1 //{R} - +/obj/item/weapon/gun/projectile/can_fire() if(!loaded.len) return 0 - var/obj/item/ammo_casing/AC = loaded[1] //load next casing. - loaded -= AC //Remove casing from loaded list. - if(isnull(AC) || !istype(AC)) - return 0 - AC.loc = get_turf(src) //Eject casing onto ground. - if(AC.BB) - in_chamber = AC.BB //Load projectile into chamber. - AC.BB.loc = src //Set projectile loc to gun. - return 1 - return 0 + return 1 +/obj/item/weapon/gun/projectile/get_next_projectile() + if(!loaded.len) + return null + var/obj/item/ammo_casing/AC = loaded[1] //load next casing. + if(isnull(AC) || !istype(AC)) + return null + if(AC.BB) + AC.BB.loc = src //Set projectile loc to gun. + return AC.BB //Load projectile into chamber. + return null + +/obj/item/weapon/gun/projectile/handle_post_fire() + ..() + if(loaded.len) + var/obj/item/ammo_casing/AC = loaded[1] + loaded -= AC + AC.loc = get_turf(src) //Eject casing onto ground. /obj/item/weapon/gun/projectile/attackby(var/obj/item/A as obj, mob/user as mob) @@ -81,7 +85,7 @@ return /obj/item/weapon/gun/projectile/attack_self(mob/user as mob) - if (target) + if (aim_targets) return ..() if (loaded.len) if (load_method == SPEEDLOADER) diff --git a/code/modules/projectiles/guns/projectile/automatic.dm b/code/modules/projectiles/guns/projectile/automatic.dm index 0e5f0d68cd3..f36ffd7f483 100644 --- a/code/modules/projectiles/guns/projectile/automatic.dm +++ b/code/modules/projectiles/guns/projectile/automatic.dm @@ -7,13 +7,10 @@ caliber = "9mm" origin_tech = "combat=4;materials=2" ammo_type = "/obj/item/ammo_casing/c9mm" - automatic = 1 + multi_aim = 1 fire_delay = 0 - isHandgun() - return 0 - /obj/item/weapon/gun/projectile/automatic/test name = "test gun" ammo_type = "/obj/item/ammo_casing/a145" @@ -28,9 +25,6 @@ origin_tech = "combat=5;materials=2;syndicate=8" ammo_type = "/obj/item/ammo_casing/c45" - isHandgun() - return 1 - /obj/item/weapon/gun/projectile/automatic/c20r name = "\improper C-20r SMG" diff --git a/code/modules/projectiles/guns/projectile/crossbow.dm b/code/modules/projectiles/guns/projectile/crossbow.dm index faa3f8509f4..72554cb5a04 100644 --- a/code/modules/projectiles/guns/projectile/crossbow.dm +++ b/code/modules/projectiles/guns/projectile/crossbow.dm @@ -51,11 +51,10 @@ icon_state = "crossbow" item_state = "crossbow-solid" fire_sound = 'sound/weapons/punchmiss.ogg' // TODO: Decent THWOK noise. - ejectshell = 0 // No spent shells. - mouthshoot = 1 // No suiciding with this weapon, causes runtimes. fire_sound_text = "a solid thunk" fire_delay = 25 + var/obj/item/bolt var/tension = 0 // Current draw on the bow. var/max_tension = 5 // Highest possible tension. var/release_speed = 5 // Speed per unit of tension. @@ -75,19 +74,25 @@ /obj/item/weapon/gun/launcher/crossbow/update_release_force() release_force = tension*release_speed -/obj/item/weapon/gun/launcher/crossbow/Fire(atom/target as mob|obj|turf|area, mob/living/user as mob|obj, params, reflex = 0) +/obj/item/weapon/gun/launcher/crossbow/can_fire() + return (tension && bolt) - if(!..()) return //Only do this on a successful shot. +/obj/item/weapon/gun/launcher/crossbow/get_next_projectile() + return bolt + +/obj/item/weapon/gun/launcher/crossbow/handle_post_fire(mob/user, atom/target) + bolt = null icon_state = "crossbow" tension = 0 + ..() /obj/item/weapon/gun/launcher/crossbow/attack_self(mob/living/user as mob) if(tension) - if(in_chamber && in_chamber.loc == src) //Just in case they click it the tick after firing. - user.visible_message("[user] relaxes the tension on [src]'s string and removes [in_chamber].","You relax the tension on [src]'s string and remove [in_chamber].") - in_chamber.loc = get_turf(src) - var/obj/item/weapon/arrow/A = in_chamber - in_chamber = null + if(bolt) + user.visible_message("[user] relaxes the tension on [src]'s string and removes [bolt].","You relax the tension on [src]'s string and remove [bolt].") + bolt.loc = get_turf(src) + var/obj/item/weapon/arrow/A = bolt + bolt = null A.removed(user) else user.visible_message("[user] relaxes the tension on [src]'s string.","You relax the tension on [src]'s string.") @@ -98,7 +103,7 @@ /obj/item/weapon/gun/launcher/crossbow/proc/draw(var/mob/user as mob) - if(!in_chamber) + if(!bolt) user << "You don't have anything nocked to [src]." return @@ -112,7 +117,7 @@ /obj/item/weapon/gun/launcher/crossbow/proc/increase_tension(var/mob/user as mob) - if(!in_chamber || !tension || current_user != user) //Arrow has been fired, bow has been relaxed or user has changed. + if(!bolt || !tension || current_user != user) //Arrow has been fired, bow has been relaxed or user has changed. return tension++ @@ -126,22 +131,22 @@ spawn(25) increase_tension(user) /obj/item/weapon/gun/launcher/crossbow/attackby(obj/item/W as obj, mob/user as mob) - if(!in_chamber) + if(!bolt) if (istype(W,/obj/item/weapon/arrow)) user.drop_item() - in_chamber = W - in_chamber.loc = src - user.visible_message("[user] slides [in_chamber] into [src].","You slide [in_chamber] into [src].") + bolt = W + bolt.loc = src + user.visible_message("[user] slides [bolt] into [src].","You slide [bolt] into [src].") icon_state = "crossbow-nocked" return else if(istype(W,/obj/item/stack/rods)) var/obj/item/stack/rods/R = W if (R.use(1)) - in_chamber = new /obj/item/weapon/arrow/rod(src) - in_chamber.fingerprintslast = src.fingerprintslast - in_chamber.loc = src + bolt = new /obj/item/weapon/arrow/rod(src) + bolt.fingerprintslast = src.fingerprintslast + bolt.loc = src icon_state = "crossbow-nocked" - user.visible_message("[user] jams [in_chamber] into [src].","You jam [in_chamber] into [src].") + user.visible_message("[user] jams [bolt] into [src].","You jam [bolt] into [src].") superheat_rod(user) return @@ -168,14 +173,14 @@ ..() /obj/item/weapon/gun/launcher/crossbow/proc/superheat_rod(var/mob/user) - if(!user || !cell || !in_chamber) return + if(!user || !cell || !bolt) return if(cell.charge < 500) return - if(in_chamber.throwforce >= 15) return - if(!istype(in_chamber,/obj/item/weapon/arrow/rod)) return + if(bolt.throwforce >= 15) return + if(!istype(bolt,/obj/item/weapon/arrow/rod)) return - user << "[in_chamber] plinks and crackles as it begins to glow red-hot." - in_chamber.throwforce = 15 - in_chamber.icon_state = "metal-rod-superheated" + user << "[bolt] plinks and crackles as it begins to glow red-hot." + bolt.throwforce = 15 + bolt.icon_state = "metal-rod-superheated" cell.use(500) diff --git a/code/modules/projectiles/guns/projectile/launcher.dm b/code/modules/projectiles/guns/projectile/launcher.dm index 6626d809cd2..82998ef60ae 100644 --- a/code/modules/projectiles/guns/projectile/launcher.dm +++ b/code/modules/projectiles/guns/projectile/launcher.dm @@ -7,82 +7,29 @@ slot_flags = SLOT_BACK var/release_force = 0 - var/fire_sound_text = "a launcher firing" - -//Check if we're drawing and if the bow is loaded. -/obj/item/weapon/gun/launcher/load_into_chamber() - return (!isnull(in_chamber)) - -//This should not fit in a combat belt or holster. -/obj/item/weapon/gun/launcher/isHandgun() - return 0 - -//Launchers are mechanical, no other impact. -/obj/item/weapon/gun/launcher/emp_act(severity) - return + var/throw_distance = 10 + fire_sound_text = "a launcher firing" //This normally uses a proc on projectiles and our ammo is not strictly speaking a projectile. /obj/item/weapon/gun/launcher/can_hit(var/mob/living/target as mob, var/mob/living/user as mob) - return + return 1 //Override this to avoid a runtime with suicide handling. -/obj/item/weapon/gun/launcher/attack(mob/living/M as mob, mob/living/user as mob, def_zone) - if (M == user && user.zone_sel.selecting == "mouth") - user << "\red Shooting yourself with \a [src] is pretty tricky. You can't seem to manage it." - return - ..() +/obj/item/weapon/gun/launcher/handle_suicide(mob/living/user) + user << "\red Shooting yourself with \a [src] is pretty tricky. You can't seem to manage it." + return -/obj/item/weapon/gun/launcher/proc/update_release_force() +/obj/item/weapon/gun/launcher/proc/update_release_force(obj/item/projectile) return 0 -/obj/item/weapon/gun/launcher/Fire(atom/target as mob|obj|turf|area, mob/living/user as mob|obj, params, reflex = 0) - - if (!user.IsAdvancedToolUser()) - return 0 - - add_fingerprint(user) - - //Make sure target turfs both exist. - var/turf/curloc = get_turf(user) - var/turf/targloc = get_turf(target) - if (!istype(targloc) || !istype(curloc)) - return 0 - - if(!special_check(user)) - return 0 - - if (!ready_to_fire()) - if (world.time % 3) //to prevent spam - user << "[src] is not ready to fire again!" - return 0 - - if(!load_into_chamber()) //CHECK - return click_empty(user) - - if(!in_chamber) - return 0 - - update_release_force() - - playsound(user, fire_sound, 50, 1) - user.visible_message("[user] fires [src][reflex ? " by reflex":""]!", \ - "You fire [src][reflex ? "by reflex":""]!", \ - "You hear [fire_sound_text]!") - - in_chamber.loc = get_turf(user) - in_chamber.throw_at(target,10,release_force) - - sleep(1) - - in_chamber = null - - update_icon() - - if(user.hand) - user.update_inv_l_hand() - else - user.update_inv_r_hand() - +/obj/item/weapon/gun/launcher/process_projectile(obj/projectile, mob/user, atom/target, var/target_zone, var/params=null, var/pointblank=0, var/reflex=0) + if(!istype(projectile, /obj/item)) return 0 + + var/obj/item/I = projectile + + update_release_force(I) + I.loc = get_turf(user) + I.throw_at(target, throw_distance, release_force, user) return 1 /obj/item/weapon/gun/launcher/attack_self(mob/living/user as mob) diff --git a/code/modules/projectiles/guns/projectile/pneumatic.dm b/code/modules/projectiles/guns/projectile/pneumatic.dm index 43a5bc8e9ad..e58e2a7dede 100644 --- a/code/modules/projectiles/guns/projectile/pneumatic.dm +++ b/code/modules/projectiles/guns/projectile/pneumatic.dm @@ -62,7 +62,6 @@ item_state = "pneumatic-tank" user.update_icons() else if(W.w_class <= max_w_class) - var/total_stored = 0 for(var/obj/item/O in src.contents) total_stored += O.w_class @@ -79,9 +78,6 @@ /obj/item/weapon/gun/launcher/pneumatic/attack_self(mob/user as mob) if(contents.len > 0) var/obj/item/removing = contents[contents.len] - if(removing == in_chamber) - in_chamber = null - removing.loc = get_turf(src) user.put_in_hands(removing) user << "You remove [removing] from the hopper." @@ -89,12 +85,16 @@ user << "There is nothing to remove in \the [src]." return -/obj/item/weapon/gun/launcher/pneumatic/load_into_chamber() +/obj/item/weapon/gun/launcher/pneumatic/get_next_projectile() + if(!contents.len) + return null + return contents[1] + +/obj/item/weapon/gun/launcher/pneumatic/can_fire() if(!contents.len) return 0 - - in_chamber = contents[1] - return !isnull(in_chamber) + var/fire_pressure = (tank.air_contents.return_pressure()/100)*pressure_setting + return (fire_pressure >= minimum_tank_pressure) /obj/item/weapon/gun/launcher/pneumatic/examine(mob/user) if(!..(user, 2)) @@ -106,7 +106,6 @@ user << "Nothing is attached to the tank valve!" /obj/item/weapon/gun/launcher/pneumatic/special_check(user) - if (!tank) user << "There is no gas tank in [src]!" return 0 @@ -116,20 +115,23 @@ user << "There isn't enough gas in the tank to fire [src]." return 0 - return 1 + return ..() -/obj/item/weapon/gun/launcher/pneumatic/update_release_force() - if(!in_chamber) return - release_force = ((fire_pressure*tank.volume)/in_chamber.w_class)/force_divisor //projectile speed. - if(release_force >80) release_force = 80 //damage cap. +/obj/item/weapon/gun/launcher/pneumatic/update_release_force(obj/item/projectile) + if(tank) + release_force = ((fire_pressure*tank.volume)/projectile.w_class)/force_divisor //projectile speed. + if(release_force > 80) release_force = 80 //damage cap. + else + release_force = 0 -/obj/item/weapon/gun/launcher/pneumatic/Fire(atom/target as mob|obj|turf|area, mob/living/user as mob|obj, params, reflex = 0) - - if(!tank || !..()) return //Only do this on a successful shot. - - var/lost_gas_amount = tank.air_contents.total_moles*(pressure_setting/100) - var/datum/gas_mixture/removed = tank.air_contents.remove(lost_gas_amount) - user.loc.assume_air(removed) +/obj/item/weapon/gun/launcher/pneumatic/handle_post_fire() + if(tank) + var/lost_gas_amount = tank.air_contents.total_moles*(pressure_setting/100) + var/datum/gas_mixture/removed = tank.air_contents.remove(lost_gas_amount) + + var/turf/T = get_turf(src.loc) + if(T) T.assume_air(removed) + ..() //Constructable pneumatic cannon. diff --git a/code/modules/projectiles/guns/projectile/revolver.dm b/code/modules/projectiles/guns/projectile/revolver.dm index 226e6467aae..59e6468fb94 100644 --- a/code/modules/projectiles/guns/projectile/revolver.dm +++ b/code/modules/projectiles/guns/projectile/revolver.dm @@ -8,15 +8,13 @@ ammo_type = "/obj/item/ammo_casing/c38" special_check(var/mob/living/carbon/human/M) - if(caliber == initial(caliber)) - return 1 - if(prob(70 - (loaded.len * 10))) //minimum probability of 10, maximum of 60 + if(caliber == initial(caliber) && prob(70 - (loaded.len * 10))) //minimum probability of 10, maximum of 60 M << "[src] blows up in your face." M.take_organ_damage(0,20) M.drop_item() del(src) return 0 - return 1 + return ..() verb/rename_gun() set name = "Name Gun" @@ -101,6 +99,7 @@ icon_state = "mateba" origin_tech = "combat=2;materials=2" +/* // A gun to play Russian Roulette! // You can spin the chamber to randomize the position of the bullet. @@ -184,3 +183,4 @@ user.apply_damage(300, BRUTE, affecting, sharp=1) // You are dead, dead, dead. return ..() +*/ \ No newline at end of file diff --git a/code/modules/projectiles/guns/projectile/rocket.dm b/code/modules/projectiles/guns/projectile/rocket.dm index 27fb15d5713..8020c250f04 100644 --- a/code/modules/projectiles/guns/projectile/rocket.dm +++ b/code/modules/projectiles/guns/projectile/rocket.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/gun/rocketlauncher +/obj/item/weapon/gun/launcher/rocket name = "rocket launcher" desc = "MAGGOT." icon_state = "rocket" @@ -10,18 +10,19 @@ flags = CONDUCT | USEDELAY slot_flags = 0 origin_tech = "combat=8;materials=5" - var/projectile = /obj/item/missile - var/missile_speed = 2 - var/missile_range = 30 + fire_sound = 'sound/effects/bang.ogg' + + release_force = 15 + throw_distance = 30 var/max_rockets = 1 var/list/rockets = new/list() -/obj/item/weapon/gun/rocketlauncher/examine(mob/user) +/obj/item/weapon/gun/launcher/rocket/examine(mob/user) if(!..(user, 2)) return user << "\blue [rockets.len] / [max_rockets] rockets." -/obj/item/weapon/gun/rocketlauncher/attackby(obj/item/I as obj, mob/user as mob) +/obj/item/weapon/gun/launcher/rocket/attackby(obj/item/I as obj, mob/user as mob) if(istype(I, /obj/item/ammo_casing/rocket)) if(rockets.len < max_rockets) user.drop_item() @@ -32,20 +33,19 @@ else usr << "\red [src] cannot hold more rockets." -/obj/item/weapon/gun/rocketlauncher/can_fire() +/obj/item/weapon/gun/launcher/rocket/can_fire() return rockets.len -/obj/item/weapon/gun/rocketlauncher/Fire(atom/target as mob|obj|turf|area, mob/living/user as mob|obj, params, reflex = 0) +/obj/item/weapon/gun/launcher/rocket/get_next_projectile() if(rockets.len) var/obj/item/ammo_casing/rocket/I = rockets[1] - var/obj/item/missile/M = new projectile(user.loc) - playsound(user.loc, 'sound/effects/bang.ogg', 50, 1) + var/obj/item/missile/M = new (src) M.primed = 1 - M.throw_at(target, missile_range, missile_speed,user) - message_admins("[key_name_admin(user)] fired a rocket from a rocket launcher ([src.name]).") - log_game("[key_name_admin(user)] used a rocket launcher ([src.name]).") rockets -= I - del(I) - return - else - usr << "\red [src] is empty." + return M + return null + +/obj/item/weapon/gun/launcher/rocket/handle_post_fire(mob/user, atom/target) + message_admins("[key_name_admin(user)] fired a rocket from a rocket launcher ([src.name]) at [target].") + log_game("[key_name_admin(user)] used a rocket launcher ([src.name]) at [target].") + ..() diff --git a/code/modules/projectiles/guns/projectile/shotgun.dm b/code/modules/projectiles/guns/projectile/shotgun.dm index e96c7637e3c..5f0a6d14c5d 100644 --- a/code/modules/projectiles/guns/projectile/shotgun.dm +++ b/code/modules/projectiles/guns/projectile/shotgun.dm @@ -15,14 +15,8 @@ var/pumped = 0 var/obj/item/ammo_casing/current_shell = null - isHandgun() - return 0 - - load_into_chamber() - if(in_chamber) - return 1 - return 0 - + get_next_projectile() + return current_shell.BB attack_self(mob/living/user as mob) if(recentpump) return @@ -39,14 +33,10 @@ if(current_shell)//We have a shell in the chamber current_shell.loc = get_turf(src)//Eject casing current_shell = null - if(in_chamber) - in_chamber = null if(!loaded.len) return 0 var/obj/item/ammo_casing/AC = loaded[1] //load next casing. loaded -= AC //Remove casing from loaded list. current_shell = AC - if(AC.BB) - in_chamber = AC.BB //Load projectile into chamber. update_icon() //I.E. fix the desc return 1 @@ -79,21 +69,6 @@ update_icon() return - load_into_chamber() -// if(in_chamber) -// return 1 {R} - if(!loaded.len) - return 0 - - var/obj/item/ammo_casing/AC = loaded[1] //load next casing. - loaded -= AC //Remove casing from loaded list. - AC.desc += " This one is spent." - - if(AC.BB) - in_chamber = AC.BB //Load projectile into chamber. - return 1 - return 0 - attack_self(mob/living/user as mob) if(!(locate(/obj/item/ammo_casing/shotgun) in src) && !loaded.len) user << "\The [src] is empty." diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index 5cd7e640b11..b9ebf819a65 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -69,20 +69,28 @@ /obj/item/projectile/proc/on_penetrate(var/atom/A) return 1 -/obj/item/projectile/proc/check_fire(var/mob/living/target as mob, var/mob/living/user as mob) //Checks if you can hit them or not. +/obj/item/projectile/proc/check_fire(atom/target as mob, var/mob/living/user as mob) //Checks if you can hit them or not. if(!istype(target) || !istype(user)) return 0 - var/obj/item/projectile/test/in_chamber = new /obj/item/projectile/test(get_step_to(user,target)) //Making the test.... - in_chamber.target = target - in_chamber.flags = flags //Set the flags... - in_chamber.pass_flags = pass_flags //And the pass flags to that of the real projectile... - in_chamber.firer = user - var/output = in_chamber.process() //Test it! - del(in_chamber) //No need for it anymore + var/obj/item/projectile/test/trace = new /obj/item/projectile/test(get_step_to(user,target)) //Making the test.... + trace.target = target + trace.flags = flags //Set the flags... + trace.pass_flags = pass_flags //And the pass flags to that of the real projectile... + trace.firer = user + var/output = trace.process() //Test it! + del(trace) //No need for it anymore return output //Send it back to the gun! +//sets the click point of the projectile using mouse input params +/obj/item/projectile/proc/set_clickpoint(var/params) + var/list/mouse_control = params2list(params) + if(mouse_control["icon-x"]) + p_x = text2num(mouse_control["icon-x"]) + if(mouse_control["icon-y"]) + p_y = text2num(mouse_control["icon-y"]) + //called to launch a projectile from a gun -/obj/item/projectile/proc/launch(atom/target, mob/user, obj/item/weapon/gun/launcher, var/target_zone, var/x_offset=0, var/y_offset=0, var/px=null, var/py=null) +/obj/item/projectile/proc/launch(atom/target, mob/user, obj/item/weapon/gun/launcher, var/target_zone, var/x_offset=0, var/y_offset=0) var/turf/curloc = get_turf(user) var/turf/targloc = get_turf(target) if (!istype(targloc) || !istype(curloc)) @@ -106,8 +114,6 @@ current = curloc yo = targloc.y - curloc.y + y_offset xo = targloc.x - curloc.x + x_offset - if(!isnull(py)) p_y = py - if(!isnull(px)) p_x = px shot_from = launcher silenced = launcher.silenced @@ -133,7 +139,7 @@ //accuracy bonus from aiming if (istype(shot_from, /obj/item/weapon/gun)) //If you aim at someone beforehead, it'll hit more often. var/obj/item/weapon/gun/daddy = shot_from //Kinda balanced by fact you need like 2 seconds to aim - if (daddy.target && original in daddy.target) //As opposed to no-delay pew pew + if (daddy.aim_targets && original in daddy.aim_targets) //As opposed to no-delay pew pew miss_modifier += -30 //roll to-hit diff --git a/code/modules/projectiles/targeting.dm b/code/modules/projectiles/targeting.dm index 496455f24e4..7fe4c9f6203 100644 --- a/code/modules/projectiles/targeting.dm +++ b/code/modules/projectiles/targeting.dm @@ -1,10 +1,10 @@ /obj/item/weapon/gun/verb/toggle_firerate() - set name = "Toggle Firerate" + set name = "Toggle Continue Aiming" set category = "Object" - firerate = !firerate + keep_aim = !keep_aim - if (firerate) + if (keep_aim) loc << "You will now continue firing when your target moves." else loc << "You will now only fire once, then lower your aim, when your target moves." @@ -12,7 +12,7 @@ /obj/item/weapon/gun/verb/lower_aim() set name = "Lower Aim" set category = "Object" - if(target) + if(aim_targets) stop_aim() usr.visible_message("\blue \The [usr] lowers \the [src]...") @@ -36,11 +36,11 @@ //Removes lock fro mall targets /obj/item/weapon/gun/proc/stop_aim() - if(target) - for(var/mob/living/M in target) + if(aim_targets) + for(var/mob/living/M in aim_targets) if(M) M.NotTargeted(src) //Untargeting people. - del(target) + del(aim_targets) //Compute how to fire..... //Return 1 if a target was found, 0 otherwise. @@ -49,13 +49,13 @@ if(lock_time > world.time - 2) return user.set_dir(get_cardinal_dir(src, A)) - if(isliving(A) && !(A in target)) + if(isliving(A) && !(A in aim_targets)) Aim(A) //Clicked a mob, aim at them return 1 //Didn't click someone, check if there is anyone along that guntrace var/mob/living/M = GunTrace(usr.x,usr.y,A.x,A.y,usr.z,usr) //Find dat mob. - if(isliving(M) && (M in view(user)) && !(M in target)) + if(isliving(M) && (M in view(user)) && !(M in aim_targets)) Aim(M) //Aha! Aim at them! return 1 @@ -63,13 +63,13 @@ //Aiming at the target mob. /obj/item/weapon/gun/proc/Aim(var/mob/living/M) - if(!target || !(M in target)) + if(!aim_targets || !(M in aim_targets)) lock_time = world.time - if(target && !automatic) //If they're targeting someone and they have a non automatic weapon. - for(var/mob/living/L in target) + if(aim_targets && !multi_aim) //If they're targeting someone and they have a non multi_aim weapon. + for(var/mob/living/L in aim_targets) if(L) L.NotTargeted(src) - del(target) + del(aim_targets) usr.visible_message("\red [usr] turns \the [src] on [M]!") else usr.visible_message("\red [usr] aims \a [src] at [M]!") @@ -90,29 +90,26 @@ return M.last_move_intent = world.time - if(can_fire()) - var/firing_check = can_hit(T,usr) //0 if it cannot hit them, 1 if it is capable of hitting, and 2 if a special check is preventing it from firing. - if(firing_check > 0) - if(firing_check == 1) - Fire(T,usr, reflex = 1) - else if(!told_cant_shoot) - M << "\red They can't be hit from here!" - told_cant_shoot = 1 - spawn(30) - told_cant_shoot = 0 - else - click_empty(M) + var/firing_check = can_hit(T,usr) //0 if it cannot hit them, 1 if it is capable of hitting, and 2 if a special check is preventing it from firing. + if(firing_check > 0) + if(firing_check == 1) + Fire(T,usr, reflex = 1) + else if(!told_cant_shoot) + M << "\red They can't be hit from here!" + told_cant_shoot = 1 + spawn(30) + told_cant_shoot = 0 usr.set_dir(get_cardinal_dir(src, T)) - if (!firerate) // If firerate is set to lower aim after one shot, untarget the target + if (!keep_aim) // If keep_aim is set to lower aim after one shot, untarget the target T.NotTargeted(src) //Yay, math! #define SIGN(X) ((X<0)?-1:1) -proc/GunTrace(X1,Y1,X2,Y2,Z=1,exc_obj,PX1=16,PY1=16,PX2=16,PY2=16) +/proc/GunTrace(X1,Y1,X2,Y2,Z=1,exc_obj,PX1=16,PY1=16,PX2=16,PY2=16) //bluh << "Tracin' [X1],[Y1] to [X2],[Y2] on floor [Z]." var/turf/T var/mob/living/M @@ -150,19 +147,19 @@ proc/GunTrace(X1,Y1,X2,Y2,Z=1,exc_obj,PX1=16,PY1=16,PX2=16,PY2=16) //Targeting management procs -mob/var +/mob/var list/targeted_by target_time = -100 last_move_intent = -100 last_target_click = -5 target_locked = null -mob/living/proc/Targeted(var/obj/item/weapon/gun/I) //Self explanitory. - if(!I.target) - I.target = list(src) - else if(I.automatic && I.target.len < 5) //Automatic weapon, they can hold down a room. - I.target += src - else if(I.target.len >= 5) +/mob/living/proc/Targeted(var/obj/item/weapon/gun/I) //Self explanitory. + if(!I.aim_targets) + I.aim_targets = list(src) + else if(I.multi_aim && I.aim_targets.len < 5) //multi_aim weapon, they can hold down a room. + I.aim_targets += src + else if(I.aim_targets.len >= 5) if(ismob(I.loc)) I.loc << "You can only target 5 people at once!" return @@ -223,43 +220,43 @@ mob/living/proc/Targeted(var/obj/item/weapon/gun/I) //Self explanitory. I.last_moved_mob = src sleep(1) -mob/living/proc/NotTargeted(var/obj/item/weapon/gun/I) +/mob/living/proc/NotTargeted(var/obj/item/weapon/gun/I) if(!I.silenced) for(var/mob/living/M in viewers(src)) M << 'sound/weapons/TargetOff.ogg' targeted_by -= I - I.target.Remove(src) //De-target them - if(!I.target.len) - del(I.target) + I.aim_targets.Remove(src) //De-target them + if(!I.aim_targets.len) + del(I.aim_targets) var/mob/living/T = I.loc //Remove the targeting icons - if(T && ismob(T) && !I.target) + if(T && ismob(T) && !I.aim_targets) T.client.remove_gun_icons() if(!targeted_by.len) del target_locked //Remove the overlay del targeted_by spawn(1) update_targeted() -mob/living/Move() +/mob/living/Move() . = ..() for(var/obj/item/weapon/gun/G in targeted_by) //Handle moving out of the gunner's view. var/mob/living/M = G.loc if(!(M in view(src))) NotTargeted(G) for(var/obj/item/weapon/gun/G in src) //Handle the gunner loosing sight of their target/s - if(G.target) - for(var/mob/living/M in G.target) + if(G.aim_targets) + for(var/mob/living/M in G.aim_targets) if(M && !(M in view(src))) M.NotTargeted(G) //If you move out of range, it isn't going to still stay locked on you any more. -client/var +/client/var target_can_move = 0 target_can_run = 0 target_can_click = 0 gun_mode = 0 //These are called by the on-screen buttons, adjusting what the victim can and cannot do. -client/proc/add_gun_icons() +/client/proc/add_gun_icons() screen += usr.item_use_icon screen += usr.gun_move_icon if (target_can_move) @@ -267,14 +264,14 @@ client/proc/add_gun_icons() -client/proc/remove_gun_icons() +/client/proc/remove_gun_icons() if(!usr) return 1 // Runtime prevention on N00k agents spawning with SMG screen -= usr.item_use_icon screen -= usr.gun_move_icon if (target_can_move) screen -= usr.gun_run_icon -client/verb/ToggleGunMode() +/client/verb/ToggleGunMode() set hidden = 1 gun_mode = !gun_mode if(gun_mode) @@ -288,7 +285,7 @@ client/verb/ToggleGunMode() usr.gun_setting_icon.icon_state = "gun[gun_mode]" -client/verb/AllowTargetMove() +/client/verb/AllowTargetMove() set hidden=1 //Changing client's permissions @@ -310,8 +307,8 @@ client/verb/AllowTargetMove() //Handling change for all the guns on client for(var/obj/item/weapon/gun/G in usr) G.lock_time = world.time + 5 - if(G.target) - for(var/mob/living/M in G.target) + if(G.aim_targets) + for(var/mob/living/M in G.aim_targets) if(target_can_move) M << "Your character may now walk at the discretion of their targeter." if(!target_can_run) @@ -320,7 +317,7 @@ client/verb/AllowTargetMove() else M << "\red Your character will now be shot if they move." -mob/living/proc/set_m_intent(var/intent) +/mob/living/proc/set_m_intent(var/intent) if (intent != "walk" && intent != "run") return 0 m_intent = intent @@ -346,14 +343,14 @@ client/verb/AllowTargetRun() //Handling change for all the guns on client for(var/obj/item/weapon/gun/G in src) G.lock_time = world.time + 5 - if(G.target) - for(var/mob/living/M in G.target) + if(G.aim_targets) + for(var/mob/living/M in G.aim_targets) if(target_can_run) M << "Your character may now run at the discretion of their targeter." else M << "\red Your character will now be shot if they run." -client/verb/AllowTargetClick() +/client/verb/AllowTargetClick() set hidden=1 //Changing client's permissions @@ -370,8 +367,8 @@ client/verb/AllowTargetClick() //Handling change for all the guns on client for(var/obj/item/weapon/gun/G in src) G.lock_time = world.time + 5 - if(G.target) - for(var/mob/living/M in G.target) + if(G.aim_targets) + for(var/mob/living/M in G.aim_targets) if(target_can_click) M << "Your character may now use items at the discretion of their targeter." else From 01b8873b9d6110fa1b61e3513f8c1078169f9de7 Mon Sep 17 00:00:00 2001 From: Atlantiscze Date: Thu, 12 Feb 2015 01:05:16 +0100 Subject: [PATCH 085/143] Fixes PACMANs not working --- code/modules/power/port_gen.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/power/port_gen.dm b/code/modules/power/port_gen.dm index 8e63131cdb4..5d94c2cdfa8 100644 --- a/code/modules/power/port_gen.dm +++ b/code/modules/power/port_gen.dm @@ -15,7 +15,7 @@ var/power_output = 1 /obj/machinery/power/port_gen/proc/IsBroken() - return (crit_fail || (stat & BROKEN|EMPED)) + return (crit_fail || (stat & (BROKEN|EMPED))) /obj/machinery/power/port_gen/proc/HasFuel() //Placeholder for fuel check. return 1 From 7572ec427a7b2256b286f6b6f34e53448b7a026a Mon Sep 17 00:00:00 2001 From: D Anzorge Date: Wed, 11 Feb 2015 20:02:23 -0500 Subject: [PATCH 086/143] Add an extra check to vending's Topic() Topic() now checks if it really can vend items with current category config, in case the request was malformed/rewritten --- code/game/machinery/vending.dm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm index 482a36e0d48..f88b7895ae2 100644 --- a/code/game/machinery/vending.dm +++ b/code/game/machinery/vending.dm @@ -488,7 +488,11 @@ var/key = text2num(href_list["vend"]) var/datum/data/vending_product/R = product_records[key] - + + // This should not happen unless the request from NanoUI was bad + if(!(R.category & src.categories)) + return + if(R.price <= 0) src.vend(R, usr) else From 82cab6635b4551a3b14f9c253e13340cd4b64981 Mon Sep 17 00:00:00 2001 From: D Anzorge Date: Wed, 11 Feb 2015 20:05:04 -0500 Subject: [PATCH 087/143] Add notes on vending changes to changelog --- html/changelog.html | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/html/changelog.html b/html/changelog.html index 3a214316b34..3092f99714a 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -56,6 +56,14 @@ should be listed in the changelog upon commit though. Thanks. --> +
    +

    12 February 2015

    +

    Daranz updated:

    +
      +
    • Vending machines now use NanoUI and accept cash. The vendor account can now be suspended to disable all sales in all machines on station.
    • +
    +
    +

    4 February 2015

    RavingManiac updated:

    From 9e3667540c3a93db3299e2e40222047e17beab8d Mon Sep 17 00:00:00 2001 From: mwerezak Date: Wed, 11 Feb 2015 20:42:50 -0500 Subject: [PATCH 088/143] Fixes merge errors --- code/modules/projectiles/guns/projectile.dm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/code/modules/projectiles/guns/projectile.dm b/code/modules/projectiles/guns/projectile.dm index 2f8d7ffb33e..e69d60d5286 100644 --- a/code/modules/projectiles/guns/projectile.dm +++ b/code/modules/projectiles/guns/projectile.dm @@ -64,12 +64,13 @@ switch(handle_casings) if(EJECT_CASINGS) //eject casing onto ground. chambered.loc = get_turf(src) - if(CYCLE_CASINGS) //cycle the casubg back to the end. + chambered = null + if(CYCLE_CASINGS) //cycle the casing back to the end. if(ammo_magazine) ammo_magazine.stored_ammo += chambered else loaded += chambered - chambered = null + chambered = null //Attempts to load A into src, depending on the type of thing being loaded and the load_method //Maybe this should be broken up into separate procs for each load method? From 630369b9dd8ef48c5ee5adf42841db0435b27053 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Wed, 11 Feb 2015 18:41:55 -0500 Subject: [PATCH 089/143] More flash shell tweaks, autolathe recipes Tweaks the flash shell some more. Tweaks shotgun stun shells, adds spent icon. Additional autolathe ammo recipes. --- code/game/machinery/autolathe_datums.dm | 24 +++++++++++++++ .../objects/items/weapons/storage/boxes.dm | 28 ++++++++++++++++++ code/modules/projectiles/ammunition.dm | 13 +++++++- code/modules/projectiles/ammunition/boxes.dm | 8 +++-- .../modules/projectiles/ammunition/bullets.dm | 19 +++++++----- code/modules/projectiles/gun.dm | 17 +++++------ code/modules/projectiles/guns/projectile.dm | 2 +- code/modules/projectiles/projectile/energy.dm | 10 +++---- icons/obj/ammo.dmi | Bin 4588 -> 4637 bytes 9 files changed, 93 insertions(+), 28 deletions(-) diff --git a/code/game/machinery/autolathe_datums.dm b/code/game/machinery/autolathe_datums.dm index ec6713085a4..f41cf363629 100644 --- a/code/game/machinery/autolathe_datums.dm +++ b/code/game/machinery/autolathe_datums.dm @@ -294,6 +294,24 @@ hidden = 1 category = "Arms and Ammunition" +/datum/autolathe/recipe/magazine_stetchkin + name = "ammunition (9mm)" + path = /obj/item/ammo_magazine/mc9mm + hidden = 1 + category = "Arms and Ammunition" + +/datum/autolathe/recipe/magazine_stetchkin_flash + name = "ammunition (9mm, flash)" + path = /obj/item/ammo_magazine/mc9mm/flash + hidden = 1 + category = "Arms and Ammunition" + +/datum/autolathe/recipe/magazine_c20r + name = "ammunition (12mm)" + path = /obj/item/ammo_magazine/a12mm + hidden = 1 + category = "Arms and Ammunition" + /datum/autolathe/recipe/shotgun name = "ammunition (slug, shotgun)" path = /obj/item/ammo_casing/shotgun @@ -306,6 +324,12 @@ hidden = 1 category = "Arms and Ammunition" +/datum/autolathe/recipe/stunshell + name = "ammunition (stun cartridge, shotgun)" + path = /obj/item/ammo_casing/shotgun/stunshell + hidden = 1 + category = "Arms and Ammunition" + /datum/autolathe/recipe/rcd name = "rapid construction device" path = /obj/item/weapon/rcd diff --git a/code/game/objects/items/weapons/storage/boxes.dm b/code/game/objects/items/weapons/storage/boxes.dm index 9692cacf698..ddc0709a62c 100644 --- a/code/game/objects/items/weapons/storage/boxes.dm +++ b/code/game/objects/items/weapons/storage/boxes.dm @@ -176,6 +176,34 @@ new /obj/item/ammo_casing/shotgun/pellet(src) new /obj/item/ammo_casing/shotgun/pellet(src) +/obj/item/weapon/storage/box/flashshells + name = "box of illumination shells" + desc = "It has a picture of a gun and several warning symbols on the front.
    WARNING: Live ammunition. Misuse may result in serious injury or death." + + New() + ..() + new /obj/item/ammo_casing/shotgun/flash(src) + new /obj/item/ammo_casing/shotgun/flash(src) + new /obj/item/ammo_casing/shotgun/flash(src) + new /obj/item/ammo_casing/shotgun/flash(src) + new /obj/item/ammo_casing/shotgun/flash(src) + new /obj/item/ammo_casing/shotgun/flash(src) + new /obj/item/ammo_casing/shotgun/flash(src) + +/obj/item/weapon/storage/box/stunshells + name = "box of stun shells" + desc = "It has a picture of a gun and several warning symbols on the front.
    WARNING: Live ammunition. Misuse may result in serious injury or death." + + New() + ..() + new /obj/item/ammo_casing/shotgun/stunshell(src) + new /obj/item/ammo_casing/shotgun/stunshell(src) + new /obj/item/ammo_casing/shotgun/stunshell(src) + new /obj/item/ammo_casing/shotgun/stunshell(src) + new /obj/item/ammo_casing/shotgun/stunshell(src) + new /obj/item/ammo_casing/shotgun/stunshell(src) + new /obj/item/ammo_casing/shotgun/stunshell(src) + /obj/item/weapon/storage/box/flashbangs name = "box of flashbangs (WARNING)" desc = "WARNING: These devices are extremely dangerous and can cause blindness or deafness in repeated use." diff --git a/code/modules/projectiles/ammunition.dm b/code/modules/projectiles/ammunition.dm index 47214ab9378..16569cd1726 100644 --- a/code/modules/projectiles/ammunition.dm +++ b/code/modules/projectiles/ammunition.dm @@ -10,6 +10,7 @@ var/caliber = "" //Which kind of guns it can be loaded into var/projectile_type //The bullet type to create when New() is called var/obj/item/projectile/BB = null //The loaded bullet - make it so that the projectiles are created only when needed? + var/spent_icon = null /obj/item/ammo_casing/New() ..() @@ -19,6 +20,12 @@ pixel_y = rand(-10, 10) set_dir(pick(cardinal)) +//removes the projectile from the ammo casing +/obj/item/ammo_casing/proc/expend() + . = BB + BB = null + update_icon() + /obj/item/ammo_casing/attackby(obj/item/weapon/W as obj, mob/user as mob) if(istype(W, /obj/item/weapon/screwdriver)) if(!BB) @@ -36,6 +43,10 @@ user << "\blue You inscribe \"[label_text]\" into \the [initial(BB.name)]." BB.name = "[initial(BB.name)] (\"[label_text]\")" +/obj/item/ammo_casing/update_icon() + if(spent_icon && !BB) + icon_state = spent_icon + /obj/item/ammo_casing/examine(mob/user) ..() if (!BB) @@ -62,7 +73,7 @@ throw_range = 10 var/list/stored_ammo = list() - var/mag_type = SPEEDLOADER //ammo_magazines can only be used with compatible guns + var/mag_type = SPEEDLOADER //ammo_magazines can only be used with compatible guns. This is not a bitflag, the load_method var on guns is. var/caliber = "357" var/max_ammo = 7 diff --git a/code/modules/projectiles/ammunition/boxes.dm b/code/modules/projectiles/ammunition/boxes.dm index a65a7bc4d13..16df2ad341c 100644 --- a/code/modules/projectiles/ammunition/boxes.dm +++ b/code/modules/projectiles/ammunition/boxes.dm @@ -1,7 +1,9 @@ /obj/item/ammo_magazine/a357 - name = "ammo box (.357)" - desc = "A box of .357 ammo" - icon_state = "357" + //name = "ammo box (.357)" + //desc = "A box of .357 ammo" + //icon_state = "357" + name = "speed loader (.357)" + icon_state = "T38" caliber = "357" ammo_type = /obj/item/ammo_casing/a357 max_ammo = 7 diff --git a/code/modules/projectiles/ammunition/bullets.dm b/code/modules/projectiles/ammunition/bullets.dm index 54c65fe019f..0c614657e31 100644 --- a/code/modules/projectiles/ammunition/bullets.dm +++ b/code/modules/projectiles/ammunition/bullets.dm @@ -84,13 +84,21 @@ projectile_type = /obj/item/projectile/bullet/shotgun/beanbag matter = list("metal" = 500) +//Can stun in one hit if aimed at the head, but +//is blocked by clothing that stops tasers and is vulnerable to EMP /obj/item/ammo_casing/shotgun/stunshell name = "stun shell" desc = "A 12 gauge taser cartridge." icon_state = "stunshell" + spent_icon = "stunshell-spent" projectile_type = /obj/item/projectile/energy/electrode/stunshot matter = list("metal" = 1250, "glass" = 1250) +/obj/item/ammo_casing/shotgun/stunshell/emp_act(severity) + if(prob(100/severity)) BB = null + update_icon() + +//Does not stun, only blinds, but has area of effect. /obj/item/ammo_casing/shotgun/flash name = "flash shell" desc = "A flash shell used to provide illumination." @@ -98,13 +106,6 @@ projectile_type = /obj/item/projectile/energy/flash/flare matter = list("metal" = 250, "glass" = 250) -/obj/item/ammo_casing/shotgun/dart - name = "shotgun dart" - desc = "A dart for use in shotguns." - icon_state = "dart" - projectile_type = /obj/item/projectile/energy/dart - matter = list("metal" = 12500) - /obj/item/ammo_casing/a762 desc = "A 7.62mm bullet casing." caliber = "a762" @@ -129,6 +130,7 @@ projectile_type = /obj/item/projectile/bullet/chameleon caliber = ".45" +/* /obj/item/ammo_casing/a418 desc = "A .418 bullet casing." caliber = "357" @@ -137,4 +139,5 @@ /obj/item/ammo_casing/a666 desc = "A .666 bullet casing." caliber = "357" - projectile_type = /obj/item/projectile/bullet/cyanideround \ No newline at end of file + projectile_type = /obj/item/projectile/bullet/cyanideround +*/ \ No newline at end of file diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index eeeb60692be..73806d1d4e8 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -54,15 +54,14 @@ M << "Your fingers are much too large for the trigger guard!" return 0 if((CLUMSY in M.mutations) && prob(40) && can_fire()) //Clumsy handling - var/obj/in_chamber = get_next_projectile() - if(in_chamber) - if(process_projectile(in_chamber, user, user, pick("l_foot", "r_foot"))) - handle_post_fire(user, user) - user.visible_message( - "[user] shoots \himself in the foot with \the [src]!", - "You shoot yourself in the foot with \the [src]!" - ) - M.drop_item() + var/obj/P = get_next_projectile() + if(P && process_projectile(P, user, user, pick("l_foot", "r_foot"))) + handle_post_fire(user, user) + user.visible_message( + "[user] shoots \himself in the foot with \the [src]!", + "You shoot yourself in the foot with \the [src]!" + ) + M.drop_item() return 0 return 1 diff --git a/code/modules/projectiles/guns/projectile.dm b/code/modules/projectiles/guns/projectile.dm index e69d60d5286..78c33cc507d 100644 --- a/code/modules/projectiles/guns/projectile.dm +++ b/code/modules/projectiles/guns/projectile.dm @@ -60,7 +60,7 @@ /obj/item/weapon/gun/projectile/handle_post_fire() ..() if(chambered) - chambered.BB = null + chambered.expend() switch(handle_casings) if(EJECT_CASINGS) //eject casing onto ground. chambered.loc = get_turf(src) diff --git a/code/modules/projectiles/projectile/energy.dm b/code/modules/projectiles/projectile/energy.dm index 1bb2490463b..dc0376b7c72 100644 --- a/code/modules/projectiles/projectile/energy.dm +++ b/code/modules/projectiles/projectile/energy.dm @@ -16,8 +16,7 @@ var/light_duration = 5 /obj/item/projectile/energy/flash/on_impact(var/atom/A) - var/turf/T = get_turf(A) - + var/turf/T = flash_range? src.loc : get_turf(A) if(!istype(T)) return //blind adjacent people @@ -29,10 +28,9 @@ playsound(src, 'sound/effects/snap.ogg', 50, 1) src.visible_message("\The [src] explodes in a bright flash!") - //use src.loc so that ash doesn't end up inside windows - new /obj/effect/effect/sparks(src.loc) - new /obj/effect/decal/cleanable/ash(src.loc) - new /obj/effect/effect/smoke/illumination(src.loc, brightness=max(flash_range*2, brightness), lifetime=light_duration) + new /obj/effect/decal/cleanable/ash(src.loc) //always use src.loc so that ash doesn't end up inside windows + new /obj/effect/effect/sparks(T) + new /obj/effect/effect/smoke/illumination(T, brightness=max(flash_range*2, brightness), lifetime=light_duration) //blinds people like the flash round, but can also be used for temporary illumination /obj/item/projectile/energy/flash/flare diff --git a/icons/obj/ammo.dmi b/icons/obj/ammo.dmi index b6780ecec3e2d702223f1080b824ce08fcf177c5..c1e14968f807d74af17961a76d53fc5ccc6fbec5 100644 GIT binary patch delta 4501 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 B%QpZ3 delta 4447 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 Date: Wed, 11 Feb 2015 22:54:40 -0500 Subject: [PATCH 090/143] Adds targeting hotkey --- code/modules/projectiles/targeting.dm | 3 ++- interface/skin.dmf | 8 ++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/code/modules/projectiles/targeting.dm b/code/modules/projectiles/targeting.dm index 7fe4c9f6203..c3988ff2ffe 100644 --- a/code/modules/projectiles/targeting.dm +++ b/code/modules/projectiles/targeting.dm @@ -34,7 +34,7 @@ user.client.remove_gun_icons() return ..() -//Removes lock fro mall targets +//Removes lock from all targets /obj/item/weapon/gun/proc/stop_aim() if(aim_targets) for(var/mob/living/M in aim_targets) @@ -272,6 +272,7 @@ screen -= usr.gun_run_icon /client/verb/ToggleGunMode() + set name = "Toggle Gun Mode" set hidden = 1 gun_mode = !gun_mode if(gun_mode) diff --git a/interface/skin.dmf b/interface/skin.dmf index 8eee4e18175..a8ae16d887a 100644 --- a/interface/skin.dmf +++ b/interface/skin.dmf @@ -341,6 +341,14 @@ macro "hotkeymode" name = "CTRL+H" command = "holster" is-disabled = false + elem + name = "J" + command = "toggle-gun-mode" + is-disabled = false + elem + name = "CTRL+J" + command = "toggle-gun-mode" + is-disabled = false elem name = "Q" command = ".northwest" From 28f3bf739d551cab04d8db4a1bddfc8cc0e29ced Mon Sep 17 00:00:00 2001 From: mwerezak Date: Wed, 11 Feb 2015 23:06:29 -0500 Subject: [PATCH 091/143] Fixes randomized seed nutrient_consumption Centers the range of possible values evenly between small amount and heavy supply. --- code/modules/hydroponics/seed_datums.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/hydroponics/seed_datums.dm b/code/modules/hydroponics/seed_datums.dm index 33e6f47c574..6fbfa3743a5 100644 --- a/code/modules/hydroponics/seed_datums.dm +++ b/code/modules/hydroponics/seed_datums.dm @@ -255,7 +255,7 @@ proc/populate_seed_list() if(prob(90)) requires_nutrients = 1 - nutrient_consumption = rand(100)*0.1 + nutrient_consumption = rand(25)/100 else requires_nutrients = 0 From b7e3a14e0d23122e8eee9576cc04c4ced1d2fca7 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Wed, 11 Feb 2015 23:27:36 -0500 Subject: [PATCH 092/143] Fixes machines being usable after a power failure Fixes machines not gaining the NOPOWER flag after a power failure because they were turned off and had use_power set to 0. Fixes machines not gaining the NOPOWER flag after being moved into an area with no power. Both bugs allowed power using machines to be used in areas with no power. --- code/controllers/master_controller.dm | 1 + code/modules/power/power.dm | 6 ++++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/code/controllers/master_controller.dm b/code/controllers/master_controller.dm index 1e972dd46d2..8f2fc481fae 100644 --- a/code/controllers/master_controller.dm +++ b/code/controllers/master_controller.dm @@ -288,6 +288,7 @@ datum/controller/game_controller/proc/process_machines_process() last_thing_processed = Machine.type if(Machine.process() != PROCESS_KILL) if(Machine) + Machine.power_change() if(Machine.use_power) Machine.auto_use_power() continue diff --git a/code/modules/power/power.dm b/code/modules/power/power.dm index 366cd9351d4..7cfcc532468 100644 --- a/code/modules/power/power.dm +++ b/code/modules/power/power.dm @@ -63,8 +63,10 @@ if(!src.loc) return 0 - if(!use_power) - return 1 + //Don't do this. It allows machines that set use_power to 0 when off (many machines) to + //be turned on again and used after a power failure because they never gain the NOPOWER flag. + //if(!use_power) + // return 1 var/area/A = src.loc.loc // make sure it's in an area if(!A || !isarea(A) || !A.master) From 4c4411259a8f1883b6d0d17ba2277fcf11f96643 Mon Sep 17 00:00:00 2001 From: Atlantiscze Date: Thu, 12 Feb 2015 06:09:42 +0100 Subject: [PATCH 093/143] PACMAN Generator NanoUI - Gives PACMAN type generators NanoUI, instead of the old UI - Example screenshot: http://i.imgur.com/QhQEw1c.png (Red usually means it's bad. In this case, generator is operating at 10 power level, but maximal safe level is 4 (it's varedited to these values, normally it would be only 5/5). Overheats also give warnings (warning shown on screenshot is last warning which occurs approximately 20 seconds before explosion). Fuel is measured in cm3. For simplicity, 1 sheet = 1000cm3 --- code/modules/power/port_gen.dm | 111 ++++++++++++++++++++------------ nano/templates/pacman.tmpl | 113 +++++++++++++++++++++++++++++++++ 2 files changed, 185 insertions(+), 39 deletions(-) create mode 100644 nano/templates/pacman.tmpl diff --git a/code/modules/power/port_gen.dm b/code/modules/power/port_gen.dm index 5d94c2cdfa8..1ba2af49329 100644 --- a/code/modules/power/port_gen.dm +++ b/code/modules/power/port_gen.dm @@ -68,7 +68,7 @@ if(3) if(prob(10)) stat &= BROKEN duration = 300 - + stat |= EMPED if(duration) spawn(duration) @@ -84,12 +84,12 @@ //A power generator that runs on solid plasma sheets. /obj/machinery/power/port_gen/pacman name = "\improper P.A.C.M.A.N.-type Portable Generator" - desc = "A power generator that runs on solid plasma sheets. Rated for 80 kW max safe output." - - var/sheet_name = "solid plasma sheet" + desc = "A power generator that runs on solid phoron sheets. Rated for 80 kW max safe output." + + var/sheet_name = "Phoron Sheets" var/sheet_path = /obj/item/stack/sheet/mineral/phoron - var/board_path = "/obj/item/weapon/circuitboard/pacman" - + var/board_path = "/obj/item/weapon/circuitboard/pacman" + /* These values were chosen so that the generator can run safely up to 80 kW A full 50 phoron sheet stack should last 20 minutes at power_output = 4 @@ -98,15 +98,16 @@ */ power_gen = 20000 //Watts output per power_output level var/max_power_output = 5 //The maximum power setting without emagging. + var/max_safe_output = 4 // For UI use, maximal output that won't cause overheat. var/time_per_sheet = 96 //fuel efficiency - how long 1 sheet lasts at power level 1 var/max_sheets = 100 //max capacity of the hopper var/max_temperature = 300 //max temperature before overheating increases var/temperature_gain = 50 //how much the temperature increases per power output level, in degrees per level - + var/sheets = 0 //How many sheets of material are loaded in the generator var/sheet_left = 0 //How much is left of the current sheet - var/temperature = 0 //The current temperature - var/overheating = 0 //if this gets high enough the generator explodes + var/temperature = 0 //The current temperature + var/overheating = 0 //if this gets high enough the generator explodes /obj/machinery/power/port_gen/pacman/initialize() ..() @@ -122,8 +123,6 @@ component_parts += new /obj/item/stack/cable_coil(src) component_parts += new /obj/item/weapon/stock_parts/capacitor(src) component_parts += new board_path(src) - var/obj/sheet = new sheet_path(null) - sheet_name = sheet.name RefreshParts() /obj/machinery/power/port_gen/pacman/Del() @@ -137,20 +136,20 @@ max_sheets = SP.rating * SP.rating * 50 else if(istype(SP, /obj/item/weapon/stock_parts/micro_laser) || istype(SP, /obj/item/weapon/stock_parts/capacitor)) temp_rating += SP.rating - + var/temp_reliability = 0 var/part_count = 0 for(var/obj/item/weapon/CP in component_parts) temp_reliability += CP.reliability part_count++ - + reliability = min(round(temp_reliability / part_count), 100) power_gen = round(initial(power_gen) * (max(2, temp_rating) / 2)) /obj/machinery/power/port_gen/pacman/examine(mob/user) ..(user) user << "\The [src] appears to be producing [power_gen*power_output] W." - user << "There are [sheets] [sheet_name]\s left in the hopper." + user << "There [sheets == 1 ? "is" : "are"] [sheets] sheet[sheets == 1 ? "" : "s"] left in the hopper." if(IsBroken()) user << "\The [src] seems to have broken down." if(overheating) user << "\The [src] is overheating!" @@ -179,7 +178,7 @@ //how much material are we using this iteration? var/needed_sheets = power_output / time_per_sheet - + //HasFuel() should guarantee us that there is enough fuel left, so no need to check that //the only thing we need to worry about is if we are going to rollover to the next sheet if (needed_sheets > sheet_left) @@ -192,7 +191,7 @@ //This should probably depend on the external temperature somehow, but whatever. var/lower_limit = 56 + power_output * temperature_gain var/upper_limit = 76 + power_output * temperature_gain - + /* Hot or cold environments can affect the equilibrium temperature The lower the pressure the less effect it has. I guess it cools using a radiator or something when in vacuum. @@ -205,16 +204,16 @@ var/ambient = environment.temperature - T20C lower_limit += ambient*ratio upper_limit += ambient*ratio - + var/average = (upper_limit + lower_limit)/2 - + //calculate the temperature increase var/bias = 0 if (temperature < lower_limit) bias = min(round((average - temperature)/TEMPERATURE_DIVISOR, 1), TEMPERATURE_CHANGE_MAX) else if (temperature > upper_limit) bias = max(round((temperature - average)/TEMPERATURE_DIVISOR, 1), -TEMPERATURE_CHANGE_MAX) - + temperature += rand(-7 + bias, 7 + bias) if (temperature > max_temperature) @@ -229,13 +228,16 @@ var/ratio = min(environment.return_pressure()/ONE_ATMOSPHERE, 1) var/ambient = environment.temperature - T20C cooling_temperature += ambient*ratio - + if (temperature > cooling_temperature) var/temp_loss = (temperature - cooling_temperature)/TEMPERATURE_DIVISOR temp_loss = between(2, round(temp_loss, 1), TEMPERATURE_CHANGE_MAX) temperature = max(temperature - temp_loss, cooling_temperature) src.updateDialog() + if(overheating) + overheating-- + /obj/machinery/power/port_gen/pacman/proc/overheat() overheating++ if (overheating > 60) @@ -249,7 +251,7 @@ var/datum/gas_mixture/environment = loc.return_air() if (environment) environment.adjust_gas_temp("phoron", phoron/10, temperature + T0C) - + sheets = 0 sheet_left = 0 ..() @@ -261,7 +263,7 @@ if(amount < 1) user << "\blue The [src.name] is full!" return - user << "\blue You add [amount] [addstack.singular_name]\s to the [src.name]." + user << "\blue You add [amount] sheet[amount == 1 ? "" : "s"] to the [src.name]." sheets += amount addstack.use(amount) updateUsrDialog() @@ -305,11 +307,46 @@ ..() if (!anchored) return - interact(user) + ui_interact(user) /obj/machinery/power/port_gen/pacman/attack_ai(mob/user as mob) - interact(user) + ui_interact(user) +/obj/machinery/power/port_gen/pacman/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1) + if(IsBroken()) + return + + var/data[0] + data["active"] = active + if(istype(user, /mob/living/silicon/ai)) + data["is_ai"] = 1 + else if(istype(user, /mob/living/silicon/robot) && !Adjacent(user)) + data["is_ai"] = 1 + else + data["is_ai"] = 0 + data["output_set"] = power_output + data["output_max"] = max_power_output + data["output_safe"] = max_safe_output + data["output_watts"] = power_output * power_gen + data["temperature_current"] = src.temperature + data["temperature_max"] = src.max_temperature + data["temperature_overheat"] = overheating + // 1 sheet = 1000cm3? + data["fuel_stored"] = round((sheets * 1000) + (sheet_left * 1000)) + data["fuel_capacity"] = round(max_sheets * 1000, 0.1) + data["fuel_usage"] = active ? round((power_output / time_per_sheet) * 1000) : 0 + data["fuel_type"] = sheet_name + + + + ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) + if (!ui) + ui = new(user, src, ui_key, "pacman.tmpl", src.name, 500, 560) + ui.open() + ui.set_auto_update(1) + + +/* /obj/machinery/power/port_gen/pacman/interact(mob/user) if (get_dist(src, user) > 1 ) if (!istype(user, /mob/living/silicon/ai)) @@ -329,12 +366,13 @@ dat += text("Current stack: [stack_percent]%
    ") dat += text("Power output: - [power_gen * power_output] Watts+
    ") dat += text("Power current: [(powernet == null ? "Unconnected" : "[avail()]")]
    ") - + var/tempstr = "Temperature: [temperature]°C
    " dat += (overheating)? "[tempstr]" : tempstr dat += "
    Close" user << browse("[dat]", "window=port_gen") onclose(user, "port_gen") +*/ /obj/machinery/power/port_gen/pacman/Topic(href, href_list) if(..()) @@ -346,33 +384,26 @@ if(!active && HasFuel() && !IsBroken()) active = 1 icon_state = "portgen1" - src.updateUsrDialog() if(href_list["action"] == "disable") if (active) active = 0 icon_state = "portgen0" - src.updateUsrDialog() if(href_list["action"] == "eject") if(!active) DropFuel() - src.updateUsrDialog() if(href_list["action"] == "lower_power") if (power_output > 1) power_output-- - src.updateUsrDialog() if (href_list["action"] == "higher_power") if (power_output < max_power_output || (emagged && power_output < round(max_power_output*2.5))) power_output++ - src.updateUsrDialog() - if (href_list["action"] == "close") - usr << browse(null, "window=port_gen") - usr.unset_machine() /obj/machinery/power/port_gen/pacman/super name = "S.U.P.E.R.P.A.C.M.A.N.-type Portable Generator" desc = "A power generator that utilizes uranium sheets as fuel. Can run for much longer than the standard PACMAN type generators. Rated for 80 kW max safe output." icon_state = "portgen1" sheet_path = /obj/item/stack/sheet/mineral/uranium + sheet_name = "Uranium Sheets" time_per_sheet = 576 //same power output, but a 50 sheet stack will last 2 hours at max safe power board_path = "/obj/item/weapon/circuitboard/pacman/super" @@ -390,26 +421,28 @@ //should really fall with the square of the distance, but that makes the rads value drop too fast //I dunno, maybe physics works different when you live in 2D -- SM radiation also works like this, apparently L.apply_effect(max(20, round(rads/get_dist(L,src))), IRRADIATE) - + explosion(src.loc, 3, 3, 5, 3) - del(src) + del(src) /obj/machinery/power/port_gen/pacman/mrs name = "M.R.S.P.A.C.M.A.N.-type Portable Generator" desc = "An advanced power generator that runs on tritium. Rated for 200 kW maximum safe output!" icon_state = "portgen2" - sheet_path = /obj/item/stack/sheet/mineral/tritium - + sheet_path = /obj/item/stack/sheet/mineral/tritium + sheet_name = "Tritium Fuel Sheets" + //I don't think tritium has any other use, so we might as well make this rewarding for players //max safe power output (power level = 8) is 200 kW and lasts for 1 hour - 3 or 4 of these could power the station power_gen = 25000 //watts max_power_output = 10 + max_safe_output = 8 time_per_sheet = 576 max_temperature = 800 temperature_gain = 90 board_path = "/obj/item/weapon/circuitboard/pacman/mrs" - + /obj/machinery/power/port_gen/pacman/mrs/explode() //no special effects, but the explosion is pretty big (same as a supermatter shard). explosion(src.loc, 3, 6, 12, 16, 1) - del(src) + del(src) diff --git a/nano/templates/pacman.tmpl b/nano/templates/pacman.tmpl new file mode 100644 index 00000000000..386358c9cc6 --- /dev/null +++ b/nano/templates/pacman.tmpl @@ -0,0 +1,113 @@ +

    Status

    +
    +
    + Generator Status: +
    +
    + {{if data.active}} + Online + {{else}} + Offline + {{/if}} +
    +
    + Generator Control: +
    +
    + {{if data.active}} + {{:helper.link('STOP', 'power', {'action' : "disable"})}} + {{else}} + {{:helper.link('START', 'power', {'action' : "enable"})}} + {{/if}} +
    +
    +

    Fuel

    +
    +
    + Fuel Type: +
    +
    + {{:data.fuel_type}} +
    +
    + Fuel Level: +
    +
    + {{if data.fuel_stored >= 5000}} + {{:helper.displayBar(data.fuel_stored, 0, data.fuel_capacity, 'good')}} +
    {{:data.fuel_stored}}/{{:data.fuel_capacity}} cm3 + {{else data.fuel_stored >= 1000}} + {{:helper.displayBar(data.fuel_stored, 0, data.fuel_capacity, 'average')}} +
    {{:data.fuel_stored}}/{{:data.fuel_capacity}} cm3 + {{else}} + {{:helper.displayBar(data.fuel_stored, 0, data.fuel_capacity, 'bad')}} +
    {{:data.fuel_stored}}/{{:data.fuel_capacity}} cm3 + {{/if}} +
    +
    + Fuel Usage: +
    +
    + {{:data.fuel_usage}} cm3/s +
    + {{if !data.is_ai}} +
    + Control: +
    +
    + {{:helper.link('EJECT FUEL', 'arrowupthick-1-s', {'action' : "eject"}, data.active ? 'disabled' : null)}} +
    + {{/if}} +
    +

    Output

    +
    +
    + Power setting: +
    +
    + {{if data.output_set > data.output_safe}} + {{:data.output_set}} / {{:data.output_max}} ({{:data.output_watts}} W) + {{else}} + {{:data.output_set}} / {{:data.output_max}} ({{:data.output_watts}} W) + {{/if}} +
    +
    + Control: +
    +
    + {{:helper.link('+', null, {'action' : "higher_power"})}} + {{:helper.link('-', null, {'action' : "lower_power"})}} +
    +
    +

    Temperature

    +
    +
    + Temperature: +
    +
    + {{if data.temperature_current < (data.temperature_max * 0.8)}} + {{:helper.displayBar(data.temperature_current, 0, (data.temperature_max * 1.5), 'good')}} +
    {{:data.temperature_current}} C + {{else data.temperature_current < data.temperature_max}} + {{:helper.displayBar(data.temperature_current, 0, (data.temperature_max * 1.5), 'average')}} +
    {{:data.temperature_current}} C + {{else}} + {{:helper.displayBar(data.temperature_current, 0, (data.temperature_max * 1.5), 'bad')}} +
    {{:data.temperature_current}} C + {{/if}} +
    +
    + Generator Status: +
    +
    + {{if data.temperature_overheat > 50}} + DANGER: CRITICAL OVERHEAT! Deactivate generator immediately! + {{else data.temperature_overheat > 20}} + WARNING: Overheating! + {{else data.temperature_overheat > 1}} + Temperature High + {{else}} + Optimal + {{/if}} +
    +
    \ No newline at end of file From ea39f7f718ebf303d00d169c095d9621e1d0d5e6 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Thu, 12 Feb 2015 00:53:02 -0500 Subject: [PATCH 094/143] Cleanup can_fire(), projectile flag Removes can_fire() and moves some of it's functionality into get_next_projectile(), which was renamed to consume_next_projectile() to indicate the possibility of side-effects. Also renamed flag var to check_armour --- code/game/machinery/bots/medbot.dm | 2 +- code/game/mecha/equipment/tools/tools.dm | 2 +- code/game/mecha/mecha.dm | 10 +-- code/modules/mob/living/living_defense.dm | 4 +- code/modules/power/antimatter/control.dm | 2 +- code/modules/power/antimatter/shielding.dm | 2 +- .../power/rust/virtual_particle_catcher.dm | 2 +- code/modules/projectiles/gun.dm | 42 ++++----- code/modules/projectiles/guns/alien.dm | 7 +- code/modules/projectiles/guns/energy.dm | 2 +- code/modules/projectiles/guns/projectile.dm | 10 +-- .../projectiles/guns/projectile/crossbow.dm | 14 +-- .../projectiles/guns/projectile/pneumatic.dm | 27 ++---- .../projectiles/guns/projectile/revolver.dm | 85 ------------------- .../projectiles/guns/projectile/rocket.dm | 5 +- .../projectiles/guns/projectile/shotgun.dm | 5 +- code/modules/projectiles/projectile.dm | 26 +++--- .../modules/projectiles/projectile/animate.dm | 2 +- code/modules/projectiles/projectile/beams.dm | 10 +-- .../modules/projectiles/projectile/bullets.dm | 2 +- code/modules/projectiles/projectile/change.dm | 2 +- code/modules/projectiles/projectile/energy.dm | 2 +- code/modules/projectiles/projectile/force.dm | 2 +- .../modules/projectiles/projectile/special.dm | 12 +-- 24 files changed, 83 insertions(+), 196 deletions(-) diff --git a/code/game/machinery/bots/medbot.dm b/code/game/machinery/bots/medbot.dm index 65a40289d00..a83f59d03fd 100644 --- a/code/game/machinery/bots/medbot.dm +++ b/code/game/machinery/bots/medbot.dm @@ -455,7 +455,7 @@ return /obj/machinery/bot/medbot/bullet_act(var/obj/item/projectile/Proj) - if(Proj.flag == "taser") + if(Proj.taser_effect) src.stunned = min(stunned+10,20) ..() diff --git a/code/game/mecha/equipment/tools/tools.dm b/code/game/mecha/equipment/tools/tools.dm index 5b71a34ec63..8338e2caa7e 100644 --- a/code/game/mecha/equipment/tools/tools.dm +++ b/code/game/mecha/equipment/tools/tools.dm @@ -585,7 +585,7 @@ chassis.visible_message("The [chassis.name] armor deflects the projectile") chassis.log_append_to_last("Armor saved.") else - chassis.take_damage(round(Proj.damage*src.damage_coeff),Proj.flag) + chassis.take_damage(round(Proj.damage*src.damage_coeff),Proj.check_armour) chassis.check_for_internal_damage(list(MECHA_INT_FIRE,MECHA_INT_TEMP_CONTROL,MECHA_INT_TANK_BREACH,MECHA_INT_CONTROL_LOST)) Proj.on_hit(chassis) set_ready_state(0) diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index 47905507000..f57e2e046d2 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -487,7 +487,7 @@ /obj/mecha/bullet_act(var/obj/item/projectile/Proj) //wrapper - src.log_message("Hit by projectile. Type: [Proj.name]([Proj.flag]).",1) + src.log_message("Hit by projectile. Type: [Proj.name]([Proj.check_armour]).",1) call((proc_res["dynbulletdamage"]||src), "dynbulletdamage")(Proj) //calls equipment ..() return @@ -506,10 +506,10 @@ var/ignore_threshold if(istype(Proj, /obj/item/projectile/beam/pulse)) ignore_threshold = 1 - src.take_damage(Proj.damage, Proj.flag) + src.take_damage(Proj.damage, Proj.check_armour) if(prob(25)) spark_system.start() src.check_for_internal_damage(list(MECHA_INT_FIRE,MECHA_INT_TEMP_CONTROL,MECHA_INT_TANK_BREACH,MECHA_INT_CONTROL_LOST,MECHA_INT_SHORT_CIRCUIT),ignore_threshold) - + //AP projectiles have a chance to cause additional damage if(Proj.penetrating) var/distance = get_dist(Proj.starting, get_turf(loc)) @@ -520,9 +520,9 @@ hit_occupant = 0 else src.check_for_internal_damage(list(MECHA_INT_FIRE,MECHA_INT_TEMP_CONTROL,MECHA_INT_TANK_BREACH,MECHA_INT_CONTROL_LOST,MECHA_INT_SHORT_CIRCUIT), 1) - + Proj.penetrating-- - + if(prob(15)) break //give a chance to exit early diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm index b33c182b289..1783bad912b 100644 --- a/code/modules/mob/living/living_defense.dm +++ b/code/modules/mob/living/living_defense.dm @@ -63,10 +63,10 @@ return //Armor - var/absorb = run_armor_check(def_zone, P.flag) + var/absorb = run_armor_check(def_zone, P.check_armour) var/proj_sharp = is_sharp(P) var/proj_edge = has_edge(P) - if ((proj_sharp || proj_edge) && prob(getarmor(def_zone, P.flag))) + if ((proj_sharp || proj_edge) && prob(getarmor(def_zone, P.check_armour))) proj_sharp = 0 proj_edge = 0 diff --git a/code/modules/power/antimatter/control.dm b/code/modules/power/antimatter/control.dm index b6eb7915d24..23c5e0243a6 100644 --- a/code/modules/power/antimatter/control.dm +++ b/code/modules/power/antimatter/control.dm @@ -127,7 +127,7 @@ /obj/machinery/power/am_control_unit/bullet_act(var/obj/item/projectile/Proj) - if(Proj.flag != "bullet") + if(Proj.check_armour != "bullet") stability -= Proj.force return 0 diff --git a/code/modules/power/antimatter/shielding.dm b/code/modules/power/antimatter/shielding.dm index bdaeb0c6592..5085fb6c85f 100644 --- a/code/modules/power/antimatter/shielding.dm +++ b/code/modules/power/antimatter/shielding.dm @@ -117,7 +117,7 @@ proc/cardinalrange(var/center) /obj/machinery/am_shielding/bullet_act(var/obj/item/projectile/Proj) - if(Proj.flag != "bullet") + if(Proj.check_armour != "bullet") stability -= Proj.force/2 return 0 diff --git a/code/modules/power/rust/virtual_particle_catcher.dm b/code/modules/power/rust/virtual_particle_catcher.dm index 2d32a9a7855..350d9f66fca 100644 --- a/code/modules/power/rust/virtual_particle_catcher.dm +++ b/code/modules/power/rust/virtual_particle_catcher.dm @@ -42,7 +42,7 @@ name = "collector [mysize] OFF" /obj/effect/rust_particle_catcher/bullet_act(var/obj/item/projectile/Proj) - if(Proj.flag != "bullet" && parent) + if(Proj.check_armour != "bullet" && parent) parent.AddEnergy(Proj.damage * 20, 0, 1) update_icon() return 0 diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index 73806d1d4e8..d0158816ca5 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -53,15 +53,18 @@ if(HULK in M.mutations) M << "Your fingers are much too large for the trigger guard!" return 0 - if((CLUMSY in M.mutations) && prob(40) && can_fire()) //Clumsy handling - var/obj/P = get_next_projectile() - if(P && process_projectile(P, user, user, pick("l_foot", "r_foot"))) - handle_post_fire(user, user) - user.visible_message( - "[user] shoots \himself in the foot with \the [src]!", - "You shoot yourself in the foot with \the [src]!" - ) - M.drop_item() + if((CLUMSY in M.mutations) && prob(40)) //Clumsy handling + var/obj/P = consume_next_projectile() + if(P) + if(process_projectile(P, user, user, pick("l_foot", "r_foot"))) + handle_post_fire(user, user) + user.visible_message( + "[user] shoots \himself in the foot with \the [src]!", + "You shoot yourself in the foot with \the [src]!" + ) + M.drop_item() + else + handle_click_empty(user) return 0 return 1 @@ -110,14 +113,14 @@ user << "[src] is not ready to fire again!" return - var/obj/in_chamber = get_next_projectile() - if(!in_chamber) + var/obj/projectile = consume_next_projectile() + if(!projectile) handle_click_empty(user) return user.next_move = world.time + 4 - if(process_projectile(in_chamber, user, target, user.zone_sel.selecting, params, pointblank, reflex)) + if(process_projectile(projectile, user, target, user.zone_sel.selecting, params, pointblank, reflex)) handle_post_fire(user, target, pointblank, reflex) update_icon() @@ -127,20 +130,17 @@ user.update_inv_r_hand() -//returns the next projectile to fire -/obj/item/weapon/gun/proc/get_next_projectile() +//obtains the next projectile to fire +/obj/item/weapon/gun/proc/consume_next_projectile() return null -//TODO integrate this with gun code better. -//TODO maybe provide user so that subtypes can emit messages if they want? -/obj/item/weapon/gun/proc/can_fire() - return 0 - //used by aiming code /obj/item/weapon/gun/proc/can_hit(atom/target as mob, var/mob/living/user as mob) if(!special_check(user)) return 2 - return 0 //in_chamber.check_fire(target,user) + //just assume we can shoot through glass and stuff. No big deal, the player can just choose to not target someone + //on the other side of a window if it makes a difference. Or if they run behind a window, too bad. + return check_trajectory(target, user) //called if there was no projectile to shoot /obj/item/weapon/gun/proc/handle_click_empty(mob/user) @@ -208,7 +208,7 @@ M.visible_message("\blue [user] decided life was worth living") mouthshoot = 0 return - var/obj/item/projectile/in_chamber = get_next_projectile() + var/obj/item/projectile/in_chamber = consume_next_projectile() if (istype(in_chamber)) user.visible_message("[user] pulls the trigger.") if(silenced) diff --git a/code/modules/projectiles/guns/alien.dm b/code/modules/projectiles/guns/alien.dm index c7efc4e3b6c..a351760da5f 100644 --- a/code/modules/projectiles/guns/alien.dm +++ b/code/modules/projectiles/guns/alien.dm @@ -50,10 +50,7 @@ /obj/item/weapon/gun/launcher/spikethrower/update_release_force() return -/obj/item/weapon/gun/launcher/spikethrower/can_fire() - return (spikes >= 1) - -/obj/item/weapon/gun/launcher/spikethrower/get_next_projectile() +/obj/item/weapon/gun/launcher/spikethrower/consume_next_projectile() if(spikes < 1) return null spikes-- return new /obj/item/weapon/spike(src) @@ -100,7 +97,7 @@ icon_state = "particle" damage = 60 damage_type = BRUTE - flag = "bullet" + check_armour = "bullet" pass_flags = PASSTABLE | PASSGLASS | PASSGRILLE embed = 0 diff --git a/code/modules/projectiles/guns/energy.dm b/code/modules/projectiles/guns/energy.dm index e8997ea24fe..047fe7ca066 100644 --- a/code/modules/projectiles/guns/energy.dm +++ b/code/modules/projectiles/guns/energy.dm @@ -54,7 +54,7 @@ update_icon() return 1 -/obj/item/weapon/gun/energy/get_next_projectile() +/obj/item/weapon/gun/energy/consume_next_projectile() if(!power_supply) return null if(!ispath(projectile_type)) return null if(!power_supply.use(charge_cost)) return null diff --git a/code/modules/projectiles/guns/projectile.dm b/code/modules/projectiles/guns/projectile.dm index 78c33cc507d..b467b31a1e1 100644 --- a/code/modules/projectiles/guns/projectile.dm +++ b/code/modules/projectiles/guns/projectile.dm @@ -35,16 +35,8 @@ if(ispath(magazine_type) && (load_method & MAGAZINE)) ammo_magazine = new magazine_type(src) update_icon() - -/obj/item/weapon/gun/projectile/can_fire() - var/obj/item/ammo_casing/C - if(loaded.len) - C = loaded[1] - else if(ammo_magazine && ammo_magazine.stored_ammo.len) - C = ammo_magazine.stored_ammo[1] - return (C && C.BB) -/obj/item/weapon/gun/projectile/get_next_projectile() +/obj/item/weapon/gun/projectile/consume_next_projectile() //store the next ammo_casing in a var so that handle_post_fire() knows which one to eject //also we might as well remove chambered here, so that we don't have to figure out where it came from later if(loaded.len) diff --git a/code/modules/projectiles/guns/projectile/crossbow.dm b/code/modules/projectiles/guns/projectile/crossbow.dm index a9e95254be5..8891b29960f 100644 --- a/code/modules/projectiles/guns/projectile/crossbow.dm +++ b/code/modules/projectiles/guns/projectile/crossbow.dm @@ -66,19 +66,13 @@ if(cell && severity) cell.use(100*severity) -/obj/item/weapon/gun/launcher/crossbow/special_check(user) - if(tension <= 0) - user << "\red \The [src] is not drawn back!" - return 0 - return 1 - /obj/item/weapon/gun/launcher/crossbow/update_release_force() release_force = tension*release_speed -/obj/item/weapon/gun/launcher/crossbow/can_fire() - return (tension && bolt) - -/obj/item/weapon/gun/launcher/crossbow/get_next_projectile() +/obj/item/weapon/gun/launcher/crossbow/consume_next_projectile(mob/user=null) + if(tension <= 0) + user << "\red \The [src] is not drawn back!" + return null return bolt /obj/item/weapon/gun/launcher/crossbow/handle_post_fire(mob/user, atom/target) diff --git a/code/modules/projectiles/guns/projectile/pneumatic.dm b/code/modules/projectiles/guns/projectile/pneumatic.dm index 96dc344dd1f..3e653bfeeba 100644 --- a/code/modules/projectiles/guns/projectile/pneumatic.dm +++ b/code/modules/projectiles/guns/projectile/pneumatic.dm @@ -86,16 +86,19 @@ user << "There is nothing to remove in \the [src]." return -/obj/item/weapon/gun/launcher/pneumatic/get_next_projectile() +/obj/item/weapon/gun/launcher/pneumatic/consume_next_projectile(mob/user=null) if(!contents.len) return null - return contents[1] + if (!tank) + user << "There is no gas tank in [src]!" + return null -/obj/item/weapon/gun/launcher/pneumatic/can_fire() - if(!contents.len) - return 0 var/fire_pressure = (tank.air_contents.return_pressure()/100)*pressure_setting - return (fire_pressure >= minimum_tank_pressure) + if(fire_pressure < minimum_tank_pressure) + user << "There isn't enough gas in the tank to fire [src]." + return null + + return contents[1] /obj/item/weapon/gun/launcher/pneumatic/examine(mob/user) if(!..(user, 2)) @@ -106,18 +109,6 @@ else user << "Nothing is attached to the tank valve!" -/obj/item/weapon/gun/launcher/pneumatic/special_check(user) - if (!tank) - user << "There is no gas tank in [src]!" - return 0 - - fire_pressure = (tank.air_contents.return_pressure()/100)*pressure_setting - if (fire_pressure < minimum_tank_pressure) - user << "There isn't enough gas in the tank to fire [src]." - return 0 - - return ..() - /obj/item/weapon/gun/launcher/pneumatic/update_release_force(obj/item/projectile) if(tank) release_force = ((fire_pressure*tank.volume)/projectile.w_class)/force_divisor //projectile speed. diff --git a/code/modules/projectiles/guns/projectile/revolver.dm b/code/modules/projectiles/guns/projectile/revolver.dm index 36aba0f8c5b..0d23d63d7be 100644 --- a/code/modules/projectiles/guns/projectile/revolver.dm +++ b/code/modules/projectiles/guns/projectile/revolver.dm @@ -81,88 +81,3 @@ caliber = "38" desc = initial(desc) user << "You remove the modifications on [src]! Now it will fire .38 rounds." - -/* -// A gun to play Russian Roulette! -// You can spin the chamber to randomize the position of the bullet. -/obj/item/weapon/gun/projectile/russian - name = "\improper Russian revolver" - desc = "A Russian made revolver. Uses .357 ammo. It has a single slot in it's chamber for a bullet." - max_shells = 6 - origin_tech = "combat=2;materials=2" - -/obj/item/weapon/gun/projectile/russian/New() - Spin() - update_icon() - -/obj/item/weapon/gun/projectile/russian/proc/Spin() - for(var/obj/item/ammo_casing/AC in loaded) - del(AC) - loaded = list() - var/random = rand(1, max_shells) - for(var/i = 1; i <= max_shells; i++) - if(i != random) - loaded += i // Basically null - else - loaded += new ammo_type(src) - - -/obj/item/weapon/gun/projectile/russian/attackby(var/obj/item/A as obj, mob/user as mob) - if(!A) return - - var/num_loaded = 0 - if(istype(A, /obj/item/ammo_magazine)) - - if((load_method == MAGAZINE) && loaded.len) return - var/obj/item/ammo_magazine/AM = A - for(var/obj/item/ammo_casing/AC in AM.stored_ammo) - if(getAmmo() > 0 || loaded.len >= max_shells) - break - if(AC.caliber == caliber && loaded.len < max_shells) - AC.loc = src - AM.stored_ammo -= AC - loaded += AC - num_loaded++ - break - A.update_icon() - - if(num_loaded) - user.visible_message("[user] loads a single bullet into the revolver and spins the chamber.", "You load a single bullet into the chamber and spin it.") - else - user.visible_message("[user] spins the chamber of the revolver.", "You spin the revolver's chamber.") - if(getAmmo() > 0) - Spin() - update_icon() - return - -/obj/item/weapon/gun/projectile/russian/attack_self(mob/user as mob) - user.visible_message("[user] spins the chamber of the revolver.", "You spin the revolver's chamber.") - if(getAmmo() > 0) - Spin() - -/obj/item/weapon/gun/projectile/russian/attack(atom/target as mob|obj|turf|area, mob/living/user as mob|obj) - if(!loaded.len) - user.visible_message("\red *click*", "\red *click*") - playsound(user, 'sound/weapons/empty.ogg', 100, 1) - return - - if(isliving(target) && isliving(user)) - if(target == user) - var/datum/organ/external/affecting = user.zone_sel.selecting - if(affecting == "head") - - var/obj/item/ammo_casing/AC = loaded[1] - if(!load_into_chamber()) - user.visible_message("\red *click*", "\red *click*") - playsound(user, 'sound/weapons/empty.ogg', 100, 1) - return - if(!in_chamber) - return - var/obj/item/projectile/P = new AC.projectile_type - playsound(user, fire_sound, 50, 1) - user.visible_message("[user.name] fires [src] at \his head!", "You fire [src] at your head!", "You hear a [istype(in_chamber, /obj/item/projectile/beam) ? "laser blast" : "gunshot"]!") - if(!P.nodamage) - user.apply_damage(300, BRUTE, affecting, sharp=1) // You are dead, dead, dead. - return - ..() -*/ \ No newline at end of file diff --git a/code/modules/projectiles/guns/projectile/rocket.dm b/code/modules/projectiles/guns/projectile/rocket.dm index 8020c250f04..fd86302fb8d 100644 --- a/code/modules/projectiles/guns/projectile/rocket.dm +++ b/code/modules/projectiles/guns/projectile/rocket.dm @@ -33,10 +33,7 @@ else usr << "\red [src] cannot hold more rockets." -/obj/item/weapon/gun/launcher/rocket/can_fire() - return rockets.len - -/obj/item/weapon/gun/launcher/rocket/get_next_projectile() +/obj/item/weapon/gun/launcher/rocket/consume_next_projectile() if(rockets.len) var/obj/item/ammo_casing/rocket/I = rockets[1] var/obj/item/missile/M = new (src) diff --git a/code/modules/projectiles/guns/projectile/shotgun.dm b/code/modules/projectiles/guns/projectile/shotgun.dm index f0706999914..77a9867e938 100644 --- a/code/modules/projectiles/guns/projectile/shotgun.dm +++ b/code/modules/projectiles/guns/projectile/shotgun.dm @@ -15,10 +15,7 @@ handle_casings = HOLD_CASINGS var/recentpump = 0 // to prevent spammage -/obj/item/weapon/gun/projectile/shotgun/pump/can_fire() - return (chambered && chambered.BB) - -/obj/item/weapon/gun/projectile/shotgun/pump/get_next_projectile() +/obj/item/weapon/gun/projectile/shotgun/pump/consume_next_projectile() if(chambered) return chambered.BB return null diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index 793c53616ba..131e1523544 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -37,7 +37,7 @@ var/damage_type = BRUTE //BRUTE, BURN, TOX, OXY, CLONE are the only things that should be in here var/nodamage = 0 //Determines if the projectile will skip any damage inflictions var/taser_effect = 0 //If set then the projectile will apply it's agony damage using stun_effect_act() to mobs it hits, and other damage will be ignored - var/flag = "bullet" //Defines what armor to use when it hits things. Must be set to bullet, laser, energy,or bomb //Cael - bio and rad are also valid + var/check_armour = "bullet" //Defines what armor to use when it hits things. Must be set to bullet, laser, energy,or bomb //Cael - bio and rad are also valid var/projectile_type = /obj/item/projectile var/penetrating = 0 //If greater than zero, the projectile will pass through dense objects as specified by on_penetrate() var/kill_count = 50 //This will de-increment every process(). When 0, it will delete the projectile. @@ -70,16 +70,7 @@ return 1 /obj/item/projectile/proc/check_fire(atom/target as mob, var/mob/living/user as mob) //Checks if you can hit them or not. - if(!istype(target) || !istype(user)) - return 0 - var/obj/item/projectile/test/trace = new /obj/item/projectile/test(get_step_to(user,target)) //Making the test.... - trace.target = target - trace.flags = flags //Set the flags... - trace.pass_flags = pass_flags //And the pass flags to that of the real projectile... - trace.firer = user - var/output = trace.process() //Test it! - del(trace) //No need for it anymore - return output //Send it back to the gun! + check_trajectory(target, user, pass_flags, flags) //sets the click point of the projectile using mouse input params /obj/item/projectile/proc/set_clickpoint(var/params) @@ -293,3 +284,16 @@ M = locate() in get_step(src,target) if(istype(M)) return 1 + +/proc/check_trajectory(atom/target as mob, var/mob/living/user as mob, var/pass_flags=PASSTABLE|PASSGLASS|PASSGRILLE, flags=null) //Checks if you can hit them or not. + if(!istype(target) || !istype(user)) + return 0 + var/obj/item/projectile/test/trace = new /obj/item/projectile/test(get_step_to(user,target)) //Making the test.... + trace.target = target + if(!isnull(flags)) + trace.flags = flags //Set the flags... + trace.pass_flags = pass_flags //And the pass flags to that of the real projectile... + trace.firer = user + var/output = trace.process() //Test it! + del(trace) //No need for it anymore + return output //Send it back to the gun! \ No newline at end of file diff --git a/code/modules/projectiles/projectile/animate.dm b/code/modules/projectiles/projectile/animate.dm index 490227d2330..0f92729ad4e 100644 --- a/code/modules/projectiles/projectile/animate.dm +++ b/code/modules/projectiles/projectile/animate.dm @@ -4,7 +4,7 @@ damage = 0 damage_type = BURN nodamage = 1 - flag = "energy" + check_armour = "energy" /obj/item/projectile/animate/Bump(var/atom/change) if((istype(change, /obj/item) || istype(change, /obj/structure)) && !is_type_in_list(change, protected_objects)) diff --git a/code/modules/projectiles/projectile/beams.dm b/code/modules/projectiles/projectile/beams.dm index 23ee20e1327..06bf1146b40 100644 --- a/code/modules/projectiles/projectile/beams.dm +++ b/code/modules/projectiles/projectile/beams.dm @@ -14,7 +14,7 @@ var/list/beam_master = list() pass_flags = PASSTABLE | PASSGLASS | PASSGRILLE damage = 40 damage_type = BURN - flag = "laser" + check_armour = "laser" eyeblur = 4 var/frequency = 1 @@ -87,7 +87,7 @@ var/list/beam_master = list() pass_flags = PASSTABLE | PASSGLASS | PASSGRILLE damage = 0 damage_type = BURN - flag = "laser" + check_armour = "laser" eyeblur = 2 /obj/item/projectile/beam/heavylaser @@ -121,7 +121,7 @@ var/list/beam_master = list() pass_flags = PASSTABLE | PASSGLASS | PASSGRILLE damage = 0 damage_type = BURN - flag = "laser" + check_armour = "laser" /obj/item/projectile/beam/lastertag/blue/on_hit(var/atom/target, var/blocked = 0) if(istype(target, /mob/living/carbon/human)) @@ -136,7 +136,7 @@ var/list/beam_master = list() pass_flags = PASSTABLE | PASSGLASS | PASSGRILLE damage = 0 damage_type = BURN - flag = "laser" + check_armour = "laser" /obj/item/projectile/beam/lastertag/red/on_hit(var/atom/target, var/blocked = 0) if(istype(target, /mob/living/carbon/human)) @@ -151,7 +151,7 @@ var/list/beam_master = list() pass_flags = PASSTABLE | PASSGLASS | PASSGRILLE damage = 0 damage_type = BURN - flag = "laser" + check_armour = "laser" /obj/item/projectile/beam/lastertag/omni/on_hit(var/atom/target, var/blocked = 0) if(istype(target, /mob/living/carbon/human)) diff --git a/code/modules/projectiles/projectile/bullets.dm b/code/modules/projectiles/projectile/bullets.dm index 5da27e9ef01..938b8b300a7 100644 --- a/code/modules/projectiles/projectile/bullets.dm +++ b/code/modules/projectiles/projectile/bullets.dm @@ -4,7 +4,7 @@ damage = 60 damage_type = BRUTE nodamage = 0 - flag = "bullet" + check_armour = "bullet" embed = 1 sharp = 1 diff --git a/code/modules/projectiles/projectile/change.dm b/code/modules/projectiles/projectile/change.dm index 215c1173424..24e2d4b6efb 100644 --- a/code/modules/projectiles/projectile/change.dm +++ b/code/modules/projectiles/projectile/change.dm @@ -4,7 +4,7 @@ damage = 0 damage_type = BURN nodamage = 1 - flag = "energy" + check_armour = "energy" on_hit(var/atom/change) wabbajack(change) diff --git a/code/modules/projectiles/projectile/energy.dm b/code/modules/projectiles/projectile/energy.dm index dc0376b7c72..76aa608b3d1 100644 --- a/code/modules/projectiles/projectile/energy.dm +++ b/code/modules/projectiles/projectile/energy.dm @@ -3,7 +3,7 @@ icon_state = "spark" damage = 0 damage_type = BURN - flag = "energy" + check_armour = "energy" //releases a very short burst of light on impact, mainly used to blind people diff --git a/code/modules/projectiles/projectile/force.dm b/code/modules/projectiles/projectile/force.dm index 4dffe4ce895..71b7d34d042 100644 --- a/code/modules/projectiles/projectile/force.dm +++ b/code/modules/projectiles/projectile/force.dm @@ -3,7 +3,7 @@ icon = 'icons/obj/projectiles.dmi' icon_state = "ice_1" damage = 20 - flag = "energy" + check_armour = "energy" /obj/item/projectile/forcebolt/strong name = "force bolt" diff --git a/code/modules/projectiles/projectile/special.dm b/code/modules/projectiles/projectile/special.dm index c7c2c05c4a8..fc69f6ec943 100644 --- a/code/modules/projectiles/projectile/special.dm +++ b/code/modules/projectiles/projectile/special.dm @@ -4,7 +4,7 @@ damage = 0 damage_type = BURN nodamage = 1 - flag = "energy" + check_armour = "energy" on_hit(var/atom/target, var/blocked = 0) @@ -16,7 +16,7 @@ name ="explosive bolt" icon_state= "bolter" damage = 50 - flag = "bullet" + check_armour = "bullet" sharp = 1 edge = 1 @@ -30,7 +30,7 @@ damage = 0 damage_type = BURN nodamage = 1 - flag = "energy" + check_armour = "energy" var/temperature = 300 @@ -47,7 +47,7 @@ damage = 0 damage_type = BRUTE nodamage = 1 - flag = "bullet" + check_armour = "bullet" Bump(atom/A as mob|obj|turf|area) if(A == firer) @@ -76,7 +76,7 @@ damage = 0 damage_type = TOX nodamage = 1 - flag = "energy" + check_armour = "energy" on_hit(var/atom/target, var/blocked = 0) var/mob/living/M = target @@ -115,7 +115,7 @@ damage = 0 damage_type = TOX nodamage = 1 - flag = "energy" + check_armour = "energy" on_hit(var/atom/target, var/blocked = 0) var/mob/M = target From 5ab6b91c5ec229fafb79e804a3e11eed236261ae Mon Sep 17 00:00:00 2001 From: mwerezak Date: Thu, 12 Feb 2015 00:59:23 -0500 Subject: [PATCH 095/143] Generalizes emp energy weapon drain to power cells --- code/modules/power/cell.dm | 2 +- code/modules/projectiles/guns/alien.dm | 3 --- code/modules/projectiles/guns/energy.dm | 3 +-- code/modules/projectiles/guns/projectile/crossbow.dm | 6 +----- 4 files changed, 3 insertions(+), 11 deletions(-) diff --git a/code/modules/power/cell.dm b/code/modules/power/cell.dm index 36ab1047a36..69f0b92a485 100644 --- a/code/modules/power/cell.dm +++ b/code/modules/power/cell.dm @@ -128,7 +128,7 @@ rigged = 1 //broken batterys are dangerous /obj/item/weapon/cell/emp_act(severity) - charge -= 1000 / severity + charge -= maxcharge / severity if (charge < 0) charge = 0 if(reliability != 100 && prob(50/severity)) diff --git a/code/modules/projectiles/guns/alien.dm b/code/modules/projectiles/guns/alien.dm index a351760da5f..c8048026c3e 100644 --- a/code/modules/projectiles/guns/alien.dm +++ b/code/modules/projectiles/guns/alien.dm @@ -36,9 +36,6 @@ /obj/item/weapon/gun/launcher/spikethrower/update_icon() icon_state = "spikethrower[spikes]" -/obj/item/weapon/gun/launcher/spikethrower/emp_act(severity) - return - /obj/item/weapon/gun/launcher/spikethrower/special_check(user) if(istype(user,/mob/living/carbon/human)) var/mob/living/carbon/human/H = user diff --git a/code/modules/projectiles/guns/energy.dm b/code/modules/projectiles/guns/energy.dm index 047fe7ca066..3cd90347f97 100644 --- a/code/modules/projectiles/guns/energy.dm +++ b/code/modules/projectiles/guns/energy.dm @@ -19,9 +19,8 @@ var/charge_tick = 0 /obj/item/weapon/gun/energy/emp_act(severity) - power_supply.use(round(power_supply.maxcharge / severity)) - update_icon() ..() + update_icon() /obj/item/weapon/gun/energy/New() ..() diff --git a/code/modules/projectiles/guns/projectile/crossbow.dm b/code/modules/projectiles/guns/projectile/crossbow.dm index 8891b29960f..f59fce11371 100644 --- a/code/modules/projectiles/guns/projectile/crossbow.dm +++ b/code/modules/projectiles/guns/projectile/crossbow.dm @@ -62,10 +62,6 @@ var/obj/item/weapon/cell/cell = null // Used for firing superheated rods. var/current_user // Used to check if the crossbow has changed hands since being drawn. -/obj/item/weapon/gun/launcher/crossbow/emp_act(severity) - if(cell && severity) - cell.use(100*severity) - /obj/item/weapon/gun/launcher/crossbow/update_release_force() release_force = tension*release_speed @@ -148,8 +144,8 @@ if(istype(W, /obj/item/weapon/cell)) if(!cell) user.drop_item() - W.loc = src cell = W + cell.loc = src user << "You jam [cell] into [src] and wire it to the firing coil." superheat_rod(user) else From 628bc5eecc4047cfd8d35844a3427d190fb4c889 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Thu, 12 Feb 2015 01:09:39 -0500 Subject: [PATCH 096/143] Crossbow strings no longer magically pull back by themselves --- .../projectiles/guns/projectile/crossbow.dm | 29 ++++++++++++------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/code/modules/projectiles/guns/projectile/crossbow.dm b/code/modules/projectiles/guns/projectile/crossbow.dm index f59fce11371..3d3e2f6d86b 100644 --- a/code/modules/projectiles/guns/projectile/crossbow.dm +++ b/code/modules/projectiles/guns/projectile/crossbow.dm @@ -102,24 +102,31 @@ return current_user = user - user.visible_message("[user] begins to draw back the string of [src].","You begin to draw back the string of [src].") + user.visible_message("[user] begins to draw back the string of [src].","You begin to draw back the string of [src].") tension = 1 - spawn(25) increase_tension(user) //TODO: This needs to be changed to something less shit. + + while(bolt && tension && current_user == user) + if(!do_after(user, 25)) //crossbow strings don't just magically pull back on their own. + user.visible_message("[usr] stops drawing and relaxes the string of [src].","You stop drawing back and relax the string of [src].") + tension = 0 + icon_state = "crossbow" + return + + tension++ + icon_state = "crossbow-drawn" + + if(tension >= max_tension) + tension = max_tension + usr << "[src] clunks as you draw the string to its maximum tension!" + return + + user.visible_message("[usr] draws back the string of [src]!","You continue drawing back the string of [src]!") /obj/item/weapon/gun/launcher/crossbow/proc/increase_tension(var/mob/user as mob) if(!bolt || !tension || current_user != user) //Arrow has been fired, bow has been relaxed or user has changed. return - tension++ - icon_state = "crossbow-drawn" - - if(tension>=max_tension) - tension = max_tension - usr << "[src] clunks as you draw the string to its maximum tension!" - else - user.visible_message("[usr] draws back the string of [src]!","You continue drawing back the string of [src]!") - spawn(25) increase_tension(user) /obj/item/weapon/gun/launcher/crossbow/attackby(obj/item/W as obj, mob/user as mob) if(!bolt) From 1e9143a1f0c3918aa5dfd2a5aa71d360c96e39d0 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Thu, 12 Feb 2015 01:18:18 -0500 Subject: [PATCH 097/143] Reorganizes launcher source files --- baystation12.dme | 8 ++++---- .../modules/projectiles/guns/{projectile => }/launcher.dm | 0 .../projectiles/guns/{projectile => launcher}/crossbow.dm | 0 .../guns/{projectile => launcher}/pneumatic.dm | 0 .../projectiles/guns/{projectile => launcher}/rocket.dm | 0 5 files changed, 4 insertions(+), 4 deletions(-) rename code/modules/projectiles/guns/{projectile => }/launcher.dm (100%) rename code/modules/projectiles/guns/{projectile => launcher}/crossbow.dm (100%) rename code/modules/projectiles/guns/{projectile => launcher}/pneumatic.dm (100%) rename code/modules/projectiles/guns/{projectile => launcher}/rocket.dm (100%) diff --git a/baystation12.dme b/baystation12.dme index 0c737c09539..389270165c2 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -1319,6 +1319,7 @@ #include "code\modules\projectiles\ammunition\bullets.dm" #include "code\modules\projectiles\guns\alien.dm" #include "code\modules\projectiles\guns\energy.dm" +#include "code\modules\projectiles\guns\launcher.dm" #include "code\modules\projectiles\guns\projectile.dm" #include "code\modules\projectiles\guns\energy\laser.dm" #include "code\modules\projectiles\guns\energy\nuclear.dm" @@ -1326,13 +1327,12 @@ #include "code\modules\projectiles\guns\energy\special.dm" #include "code\modules\projectiles\guns\energy\stun.dm" #include "code\modules\projectiles\guns\energy\temperature.dm" +#include "code\modules\projectiles\guns\launcher\crossbow.dm" +#include "code\modules\projectiles\guns\launcher\pneumatic.dm" +#include "code\modules\projectiles\guns\launcher\rocket.dm" #include "code\modules\projectiles\guns\projectile\automatic.dm" -#include "code\modules\projectiles\guns\projectile\crossbow.dm" -#include "code\modules\projectiles\guns\projectile\launcher.dm" #include "code\modules\projectiles\guns\projectile\pistol.dm" -#include "code\modules\projectiles\guns\projectile\pneumatic.dm" #include "code\modules\projectiles\guns\projectile\revolver.dm" -#include "code\modules\projectiles\guns\projectile\rocket.dm" #include "code\modules\projectiles\guns\projectile\shotgun.dm" #include "code\modules\projectiles\projectile\animate.dm" #include "code\modules\projectiles\projectile\beams.dm" diff --git a/code/modules/projectiles/guns/projectile/launcher.dm b/code/modules/projectiles/guns/launcher.dm similarity index 100% rename from code/modules/projectiles/guns/projectile/launcher.dm rename to code/modules/projectiles/guns/launcher.dm diff --git a/code/modules/projectiles/guns/projectile/crossbow.dm b/code/modules/projectiles/guns/launcher/crossbow.dm similarity index 100% rename from code/modules/projectiles/guns/projectile/crossbow.dm rename to code/modules/projectiles/guns/launcher/crossbow.dm diff --git a/code/modules/projectiles/guns/projectile/pneumatic.dm b/code/modules/projectiles/guns/launcher/pneumatic.dm similarity index 100% rename from code/modules/projectiles/guns/projectile/pneumatic.dm rename to code/modules/projectiles/guns/launcher/pneumatic.dm diff --git a/code/modules/projectiles/guns/projectile/rocket.dm b/code/modules/projectiles/guns/launcher/rocket.dm similarity index 100% rename from code/modules/projectiles/guns/projectile/rocket.dm rename to code/modules/projectiles/guns/launcher/rocket.dm From 5b5e16916f91dc8cf19b365c88fe1840dad1ddc2 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Thu, 12 Feb 2015 01:55:12 -0500 Subject: [PATCH 098/143] Replaces text expressions with macros --- code/modules/clothing/spacesuits/rig/modules/utility.dm | 4 ++-- code/modules/hydroponics/hydro_tools.dm | 2 +- code/modules/power/port_gen.dm | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/code/modules/clothing/spacesuits/rig/modules/utility.dm b/code/modules/clothing/spacesuits/rig/modules/utility.dm index 619faa0a7e1..3d909d02c18 100644 --- a/code/modules/clothing/spacesuits/rig/modules/utility.dm +++ b/code/modules/clothing/spacesuits/rig/modules/utility.dm @@ -197,8 +197,8 @@ target_mob = H if(target_mob != H) - H << "You inject [target_mob] with [chems_to_use] unit[chems_to_use == 1 ? "" : "s"] of [charge.display_name]." - target_mob << "You feel a rushing in your veins as [chems_to_use] unit[chems_to_use == 1 ? "" : "s"] of [charge.display_name] [chems_to_use == 1 ? "is" : "are"] injected." + H << "You inject [target_mob] with [chems_to_use] unit\s of [charge.display_name]." + target_mob << "You feel a rushing in your veins as [chems_to_use] unit\s of [charge.display_name] [chems_to_use == 1 ? "is" : "are"] injected." target_mob.reagents.add_reagent(charge.display_name, chems_to_use) charge.charges -= chems_to_use diff --git a/code/modules/hydroponics/hydro_tools.dm b/code/modules/hydroponics/hydro_tools.dm index 2d9261d97d1..611f67902cd 100644 --- a/code/modules/hydroponics/hydro_tools.dm +++ b/code/modules/hydroponics/hydro_tools.dm @@ -112,7 +112,7 @@ else if(grown_seed.heat_tolerance < 10) dat += "
    It is very sensitive to temperature shifts." - dat += "
    It thrives in a light level of [grown_seed.ideal_light] lumen[grown_seed.ideal_light == 1 ? "" : "s"]." + dat += "
    It thrives in a light level of [grown_seed.ideal_light] lumen\s." if(grown_seed.light_tolerance > 10) dat += "
    It is well adapted to a range of light levels." diff --git a/code/modules/power/port_gen.dm b/code/modules/power/port_gen.dm index 1ba2af49329..4828280e631 100644 --- a/code/modules/power/port_gen.dm +++ b/code/modules/power/port_gen.dm @@ -149,7 +149,7 @@ /obj/machinery/power/port_gen/pacman/examine(mob/user) ..(user) user << "\The [src] appears to be producing [power_gen*power_output] W." - user << "There [sheets == 1 ? "is" : "are"] [sheets] sheet[sheets == 1 ? "" : "s"] left in the hopper." + user << "There [sheets == 1 ? "is" : "are"] [sheets] sheet\s left in the hopper." if(IsBroken()) user << "\The [src] seems to have broken down." if(overheating) user << "\The [src] is overheating!" @@ -263,7 +263,7 @@ if(amount < 1) user << "\blue The [src.name] is full!" return - user << "\blue You add [amount] sheet[amount == 1 ? "" : "s"] to the [src.name]." + user << "\blue You add [amount] sheet\s to the [src.name]." sheets += amount addstack.use(amount) updateUsrDialog() From cb82dd950e79cea9b4b6b79d3873890c06b876fc Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Thu, 12 Feb 2015 12:19:06 +0100 Subject: [PATCH 099/143] Adds a floppy disk which provides access to the station camera network given appropriate hardware. --- code/game/gamemodes/game_mode.dm | 3 +- .../machinery/computer3/computers/camera.dm | 50 +++++++++++++++++-- code/game/machinery/computer3/networking.dm | 3 ++ .../game/machinery/computer3/program_disks.dm | 7 +++ 4 files changed, 58 insertions(+), 5 deletions(-) diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm index e12b9bb021a..cf85fe32b81 100644 --- a/code/game/gamemodes/game_mode.dm +++ b/code/game/gamemodes/game_mode.dm @@ -55,7 +55,8 @@ new/datum/uplink_item(/obj/item/weapon/storage/box/syndie_kit/spy, 2, "Spy Kit", "SK"), new/datum/uplink_item(/obj/item/weapon/storage/box/syndie_kit/chameleon, 3, "Chameleon Kit", "CB"), new/datum/uplink_item(/obj/item/device/chameleon, 4, "Chameleon-Projector", "CP"), - new/datum/uplink_item(/obj/item/clothing/mask/gas/voice, 4, "Voice Changer", "VC") + new/datum/uplink_item(/obj/item/clothing/mask/gas/voice, 4, "Voice Changer", "VC"), + new/datum/uplink_item(/obj/item/weapon/disk/file/cameras/syndicate, 6, "Camera Network Access - Floppy", "SF") ), "Devices and Tools" = list( new/datum/uplink_item(/obj/item/weapon/storage/toolbox/syndicate, 1, "Fully Loaded Toolbox", "ST"), diff --git a/code/game/machinery/computer3/computers/camera.dm b/code/game/machinery/computer3/computers/camera.dm index 9342d2731f8..17f14e0cbfe 100644 --- a/code/game/machinery/computer3/computers/camera.dm +++ b/code/game/machinery/computer3/computers/camera.dm @@ -123,6 +123,12 @@ desc = "Monitors the prison." networks = list("Prison") +/datum/file/camnet_key/syndicate + name = "Camera Network Key" + title = "%!#BUFFER OVERFLOW" + desc = "Connects to security cameras." + networks = list("SS13") + hidden_file = 1 /* @@ -174,7 +180,7 @@ /datum/file/program/security name = "camera monitor" - desc = "Connets to the Nanotrasen Camera Network" + desc = "Connects to the Nanotrasen Camera Network" image = 'icons/ntos/camera.png' active_state = "camera-static" @@ -268,15 +274,19 @@ reset_current() usr.reset_view(null) key = input(usr,"Select a camera network key:", "Key Select", null) as null|anything in computer.list_files(/datum/file/camnet_key) - camera_list = null - update_icon() - computer.update_icon() + select_key(key) if(key) interact() else usr << "The screen turns to static." return +/datum/file/program/security/proc/select_key(var/selected_key) + key = selected_key + camera_list = null + update_icon() + computer.update_icon() + /datum/file/program/security/proc/set_current(var/obj/machinery/camera/C) if(current == C) return @@ -300,3 +310,35 @@ // Atlantis: Required for camnetkeys to work. /datum/file/program/security/hidden hidden_file = 1 + +/* + Camera monitoring program + + Works much as the parent program, except: + * It requires a camera to be found using the proximity network card. + * It begins with all cam-access. +*/ + +/datum/file/program/security/syndicate + name = "camer# moni!%r" + desc = "Cons the Nanotrash Camera Network" + var/special_key = new/datum/file/camnet_key/syndicate + var/camera_conn = null + + interact() + if(!interactable()) + return + + if(!computer.net) + computer.Crash(MISSING_PERIPHERAL) + return + + camera_conn = computer.net.connect_to(/obj/machinery/camera,camera_conn) + + if(!camera_conn) + computer.Crash(NETWORK_FAILURE) + return + + // On interact, override camera key selection + select_key(special_key) + ..() diff --git a/code/game/machinery/computer3/networking.dm b/code/game/machinery/computer3/networking.dm index 4e39da04067..27d77890087 100644 --- a/code/game/machinery/computer3/networking.dm +++ b/code/game/machinery/computer3/networking.dm @@ -169,6 +169,9 @@ if(typekey == null) typekey = /obj/machinery var/list/machines = list() + for(var/obj/O in T) + if(istype(O,typekey)) + machines += O for(var/d in cardinal) var/turf/T2 = get_step(T,d) for(var/obj/O in T2) diff --git a/code/game/machinery/computer3/program_disks.dm b/code/game/machinery/computer3/program_disks.dm index 201fff39392..e9a649499b1 100644 --- a/code/game/machinery/computer3/program_disks.dm +++ b/code/game/machinery/computer3/program_disks.dm @@ -28,6 +28,13 @@ icon_state = "datadisk_arcade" spawn_files = list(/datum/file/program/security) +/obj/item/weapon/disk/file/cameras/syndicate + name = "Camera Viewer" + desc = "A program install disk. A crude skull has been drawn on it and there is a list of items:\nFloppy Drive\nCamera Card\nNetwork Card: Adjacent\nPosition laptop nearby camera, enjoy." + icon = 'icons/obj/stock_parts.dmi' + icon_state = "datadisk_arcade" + spawn_files = list(/datum/file/program/security/syndicate) + /obj/item/weapon/disk/file/card name = "ID Card Modifier" desc = "A program install disk." From f8c5cf8f831b2baabf17f354ce9c7096be9f0b7f Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Thu, 12 Feb 2015 16:35:49 +0100 Subject: [PATCH 100/143] Adds a kit with cigarette packs and zippo lighter. Includes 2 packs of flash powder cigarettes, 2 packs of smoke creating cigarettes, 1 pack of mindbreaker cigarettes, and 1 pack of tricordrazine cigarettes. --- code/game/gamemodes/game_mode.dm | 3 +- .../items/weapons/storage/uplink_kits.dm | 45 +++++++++++++++++++ .../reagent_containers/food/snacks.dm | 2 +- 3 files changed, 48 insertions(+), 2 deletions(-) diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm index cf85fe32b81..3f0f8cdd64b 100644 --- a/code/game/gamemodes/game_mode.dm +++ b/code/game/gamemodes/game_mode.dm @@ -48,11 +48,12 @@ new/datum/uplink_item(/obj/item/weapon/cane/concealed, 2, "Concealed Cane Sword", "CC"), new/datum/uplink_item(/obj/item/weapon/cartridge/syndicate, 3, "Detomatix PDA Cartridge", "DC"), new/datum/uplink_item(/obj/item/weapon/pen/paralysis, 3, "Paralysis Pen", "PP"), + new/datum/uplink_item(/obj/item/weapon/storage/box/syndie_kit/cigarette, 4, "Cigarette Kit", "BH") ), "Stealth and Camouflage Items" = list( new/datum/uplink_item(/obj/item/weapon/card/id/syndicate, 2, "Agent ID card", "AC"), new/datum/uplink_item(/obj/item/clothing/shoes/syndigaloshes, 2, "No-Slip Shoes", "SH"), - new/datum/uplink_item(/obj/item/weapon/storage/box/syndie_kit/spy, 2, "Spy Kit", "SK"), + new/datum/uplink_item(/obj/item/weapon/storage/box/syndie_kit/spy, 2, "Bug Kit", "SK"), new/datum/uplink_item(/obj/item/weapon/storage/box/syndie_kit/chameleon, 3, "Chameleon Kit", "CB"), new/datum/uplink_item(/obj/item/device/chameleon, 4, "Chameleon-Projector", "CP"), new/datum/uplink_item(/obj/item/clothing/mask/gas/voice, 4, "Voice Changer", "VC"), diff --git a/code/game/objects/items/weapons/storage/uplink_kits.dm b/code/game/objects/items/weapons/storage/uplink_kits.dm index c4ce3253bfb..ec5e44cfa00 100644 --- a/code/game/objects/items/weapons/storage/uplink_kits.dm +++ b/code/game/objects/items/weapons/storage/uplink_kits.dm @@ -162,6 +162,9 @@ new /obj/item/device/spy_bug(src) new /obj/item/device/spy_bug(src) new /obj/item/device/spy_bug(src) + new /obj/item/device/spy_bug(src) + new /obj/item/device/spy_bug(src) + new /obj/item/device/spy_bug(src) new /obj/item/device/spy_monitor(src) /obj/item/weapon/storage/box/syndie_kit/g9mm @@ -172,3 +175,45 @@ ..() new /obj/item/weapon/gun/projectile/pistol(src) new /obj/item/weapon/silencer(src) + +/obj/item/weapon/storage/box/syndie_kit/cigarette + name = "cigarette kit" + desc = "Comes with the following brands of cigarettes, in this order: 2xFlash, 2xSmoke, 1xMindBreaker, 1xTricordrazine. Avoid mixing them up." + +/obj/item/weapon/storage/box/syndie_kit/cigarette/New() + ..() + var/obj/item/weapon/storage/fancy/cigarettes/pack + pack = new /obj/item/weapon/storage/fancy/cigarettes(src) + fill_cigarre_package(pack, list("aluminum" = 5, "potassium" = 5, "sulfur" = 5)) + pack.desc += " 'F' has been scribbled on it." + + pack = new /obj/item/weapon/storage/fancy/cigarettes(src) + fill_cigarre_package(pack, list("aluminum" = 5, "potassium" = 5, "sulfur" = 5)) + pack.desc += " 'F' has been scribbled on it." + + pack = new /obj/item/weapon/storage/fancy/cigarettes(src) + fill_cigarre_package(pack, list("potassium" = 5, "sugar" = 5, "phosphorus" = 5)) + pack.desc += " 'S' has been scribbled on it." + + pack = new /obj/item/weapon/storage/fancy/cigarettes(src) + fill_cigarre_package(pack, list("potassium" = 5, "sugar" = 5, "phosphorus" = 5)) + pack.desc += " 'S' has been scribbled on it." + + pack = new /obj/item/weapon/storage/fancy/cigarettes(src) + // Dylovene. Going with 1.5 rather than 1.6666666... + fill_cigarre_package(pack, list("potassium" = 1.5, "nitrogen" = 1.5, "silicon" = 1.5)) + // Mindbreaker + fill_cigarre_package(pack, list("silicon" = 4.5, "hydrogen" = 4.5)) + + pack.desc += " 'MB' has been scribbled on it." + + pack = new /obj/item/weapon/storage/fancy/cigarettes(src) + pack.reagents.add_reagent("tricordrazine", 15 * pack.storage_slots) + pack.desc += " 'T' has been scribbled on it." + + new /obj/item/weapon/flame/lighter/zippo(src) + +/proc/fill_cigarre_package(var/obj/item/weapon/storage/fancy/cigarettes/C, var/list/reagents) + for(var/reagent in reagents) + C.reagents.add_reagent(reagent, reagents[reagent] * C.storage_slots) + diff --git a/code/modules/reagents/reagent_containers/food/snacks.dm b/code/modules/reagents/reagent_containers/food/snacks.dm index 3e38a8ccf60..4f14a361a42 100644 --- a/code/modules/reagents/reagent_containers/food/snacks.dm +++ b/code/modules/reagents/reagent_containers/food/snacks.dm @@ -702,7 +702,7 @@ name = "\improper Sin-pocket" desc = "The food of choice for the veteran. Do NOT overconsume." filling_color = "#6D6D00" - heated_reagents = list("doctorsdelight" = 5, "hyperzine" = 5, "synaptizine" = 1) + heated_reagents = list("doctorsdelight" = 5, "hyperzine" = 0.75, "synaptizine" = 0.25) var/has_been_heated = 0 /obj/item/weapon/reagent_containers/food/snacks/donkpocket/sinpocket/attack_self(mob/user) From 98dd5c46c003e976a702e5b2625eb94442c14ce3 Mon Sep 17 00:00:00 2001 From: RavingManiac Date: Fri, 13 Feb 2015 00:38:23 +0800 Subject: [PATCH 101/143] Circulators now draw air based on the total volume of the pipe network connected to the input. They also generate some power in the same manner as pipe turbines. Thermoelectric generators now generate much more power, mostly due to the increase in circulator intake volume. Supermatter no longer powers radiation collectors, and is tweaked to run at 4000-6000K. TEG supermatter engine mapped in. Currently generates ~1MW of power with chamber temperature of 5000K. --- .../components/binary_devices/circulator.dm | 33 ++++- code/modules/power/generator.dm | 66 ++++++--- code/modules/supermatter/supermatter.dm | 12 +- maps/exodus-1.dmm | 139 ++++++++++-------- 4 files changed, 157 insertions(+), 93 deletions(-) diff --git a/code/ATMOSPHERICS/components/binary_devices/circulator.dm b/code/ATMOSPHERICS/components/binary_devices/circulator.dm index cb9ecfbdc58..65511491a4e 100644 --- a/code/ATMOSPHERICS/components/binary_devices/circulator.dm +++ b/code/ATMOSPHERICS/components/binary_devices/circulator.dm @@ -1,37 +1,50 @@ //node1, air1, network1 correspond to input //node2, air2, network2 correspond to output +#define ADIABATIC_EXPONENT 0.667 //Actually adiabatic exponent - 1. + /obj/machinery/atmospherics/binary/circulator name = "circulator/heat exchanger" - desc = "A gas circulator pump and heat exchanger." + desc = "A gas circulator turbine and heat exchanger." icon = 'icons/obj/pipes.dmi' icon_state = "circ-off" anchored = 0 + var/kinetic_efficiency = 0.04 //combined kinetic and kinetic-to-electric efficiency + var/volume_ratio = 0.2 + var/recent_moles_transferred = 0 var/last_heat_capacity = 0 var/last_temperature = 0 var/last_pressure_delta = 0 var/last_worldtime_transfer = 0 + var/last_stored_energy_transferred = 0 + var/volume_capacity_used = 0 + var/stored_energy = 0 density = 1 /obj/machinery/atmospherics/binary/circulator/New() ..() desc = initial(desc) + " Its outlet port is to the [dir2text(dir)]." + air1.volume = 500 /obj/machinery/atmospherics/binary/circulator/proc/return_transfer_air() var/datum/gas_mixture/removed - if(anchored && !(stat&BROKEN) ) + if(anchored && !(stat&BROKEN) && network1) var/input_starting_pressure = air1.return_pressure() var/output_starting_pressure = air2.return_pressure() - last_pressure_delta = max(input_starting_pressure - output_starting_pressure + 10, 0) + last_pressure_delta = max(input_starting_pressure - output_starting_pressure - 5, 0) - //only circulate air if there is a pressure difference (plus 10 kPa to represent friction in the machine) - if(air1.temperature > 0 && last_pressure_delta > 0) + //only circulate air if there is a pressure difference (plus 5kPa kinetic, 10kPa static friction) + if(air1.temperature > 0 && last_pressure_delta > 5) //Calculate necessary moles to transfer using PV = nRT - recent_moles_transferred = last_pressure_delta*air2.volume/(air1.temperature * R_IDEAL_GAS_EQUATION) + recent_moles_transferred = (last_pressure_delta*network1.volume/(air1.temperature * R_IDEAL_GAS_EQUATION))/3 //uses the volume of the whole network, not just itself + volume_capacity_used = min( (last_pressure_delta*network1.volume/3)/(input_starting_pressure*air1.volume) , 1) //how much of the gas in the input air volume is consumed + + //Calculate energy generated from kinetic turbine + stored_energy += 1/ADIABATIC_EXPONENT * min(last_pressure_delta * network1.volume , input_starting_pressure*air1.volume) * (1 - volume_ratio**ADIABATIC_EXPONENT) * kinetic_efficiency //Actually transfer the gas removed = air1.remove(recent_moles_transferred) @@ -40,8 +53,7 @@ last_temperature = removed.temperature //Update the gas networks. - if(network1) - network1.update = 1 + network1.update = 1 last_worldtime_transfer = world.time else @@ -50,6 +62,11 @@ update_icon() return removed +/obj/machinery/atmospherics/binary/circulator/proc/return_stored_energy() + last_stored_energy_transferred = stored_energy + stored_energy = 0 + return last_stored_energy_transferred + /obj/machinery/atmospherics/binary/circulator/process() ..() diff --git a/code/modules/power/generator.dm b/code/modules/power/generator.dm index c574c37ef83..c8277ee04ec 100644 --- a/code/modules/power/generator.dm +++ b/code/modules/power/generator.dm @@ -1,4 +1,3 @@ - /obj/machinery/power/generator name = "thermoelectric generator" desc = "It's a high efficiency thermoelectric generator." @@ -9,11 +8,17 @@ use_power = 1 idle_power_usage = 100 //Watts, I hope. Just enough to do the computer and display things. + var/max_power = 500000 + var/thermal_efficiency = 0.65 + var/obj/machinery/atmospherics/binary/circulator/circ1 var/obj/machinery/atmospherics/binary/circulator/circ2 - var/lastgen = 0 - var/lastgenlev = -1 + var/stored_energy = 0 + var/lastgen1 = 0 + var/lastgen2 = 0 + var/effective_gen = 0 + var/lastgenlev = 0 /obj/machinery/power/generator/New() ..() @@ -31,11 +36,11 @@ circ2 = null if(src.loc && anchored) if(src.dir & (EAST|WEST)) - circ1 = locate(/obj/machinery/atmospherics/binary/circulator) in get_step(src,EAST) - circ2 = locate(/obj/machinery/atmospherics/binary/circulator) in get_step(src,WEST) + circ1 = locate(/obj/machinery/atmospherics/binary/circulator) in get_step(src,WEST) + circ2 = locate(/obj/machinery/atmospherics/binary/circulator) in get_step(src,EAST) if(circ1 && circ2) - if(circ1.dir != SOUTH || circ2.dir != NORTH) + if(circ1.dir != NORTH || circ2.dir != SOUTH) circ1 = null circ2 = null @@ -58,13 +63,16 @@ /obj/machinery/power/generator/process() if(!circ1 || !circ2 || !anchored || stat & (BROKEN|NOPOWER)) + stored_energy = 0 return updateDialog() var/datum/gas_mixture/air1 = circ1.return_transfer_air() var/datum/gas_mixture/air2 = circ2.return_transfer_air() - lastgen = 0 + + lastgen2 = lastgen1 + lastgen1 = 0 if(air1 && air2) var/air1_heat_capacity = air1.heat_capacity() @@ -72,10 +80,9 @@ var/delta_temperature = abs(air2.temperature - air1.temperature) if(delta_temperature > 0 && air1_heat_capacity > 0 && air2_heat_capacity > 0) - var/efficiency = 0.65 var/energy_transfer = delta_temperature*air2_heat_capacity*air1_heat_capacity/(air2_heat_capacity+air1_heat_capacity) - var/heat = energy_transfer*(1-efficiency) - lastgen = energy_transfer*efficiency*0.05 + var/heat = energy_transfer*(1-thermal_efficiency) + stored_energy += energy_transfer*thermal_efficiency if(air2.temperature > air1.temperature) air2.temperature = air2.temperature - energy_transfer/air2_heat_capacity @@ -96,19 +103,28 @@ if(circ2.network2) circ2.network2.update = 1 - // update icon overlays and power usage only if displayed level has changed - if(lastgen > 250000 && prob(10)) + //Exceeding maximum power leads to some power loss + if(effective_gen > max_power && prob(5)) var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread s.set_up(3, 1, src) s.start() - lastgen *= 0.5 - var/genlev = max(0, min( round(11*lastgen / 250000), 11)) - if(lastgen > 100 && genlev == 0) + stored_energy *= 0.5 + + //Power + stored_energy += circ1.return_stored_energy() + stored_energy += circ2.return_stored_energy() + lastgen1 = stored_energy*0.4 //smoothened power generation to prevent slingshotting as pressure is equalized, then restored by pumps + stored_energy -= lastgen1 + effective_gen = (lastgen1 + lastgen2) / 2 + + // update icon overlays and power usage only if displayed level has changed + var/genlev = max(0, min( round(11*effective_gen / max_power), 11)) + if(effective_gen > 100 && genlev == 0) genlev = 1 if(genlev != lastgenlev) lastgenlev = genlev updateicon() - add_avail(lastgen) + add_avail(effective_gen) /obj/machinery/power/generator/attack_ai(mob/user) if(stat & (BROKEN|NOPOWER)) return @@ -140,17 +156,23 @@ var/t = "
    Thermo-Electric Generator
    " if(circ1 && circ2) - t += "Output : [round(lastgen)] W

    " - - t += "Primary Circulator (top or right)
    " + t += "Output : [round(effective_gen/1000)] kW
    " + t += "
    " + t += "Primary Circulator (top or left)
    " + t += "Flow Capacity: [round(circ1.volume_capacity_used*100)]%
    " + t += "

    " t += "Inlet Pressure: [round(circ1.air1.return_pressure(), 0.1)] kPa
    " t += "Inlet Temperature: [round(circ1.air1.temperature, 0.1)] K
    " + t += "
    " t += "Outlet Pressure: [round(circ1.air2.return_pressure(), 0.1)] kPa
    " t += "Outlet Temperature: [round(circ1.air2.temperature, 0.1)] K
    " - - t += "Secondary Circulator (bottom or left)
    " + t += "
    " + t += "Secondary Circulator (bottom or right)
    " + t += "Flow Capacity: [round(circ2.volume_capacity_used*100)]%
    " + t += "
    " t += "Inlet Pressure: [round(circ2.air1.return_pressure(), 0.1)] kPa
    " t += "Inlet Temperature: [round(circ2.air1.temperature, 0.1)] K
    " + t += "
    " t += "Outlet Pressure: [round(circ2.air2.return_pressure(), 0.1)] kPa
    " t += "Outlet Temperature: [round(circ2.air2.temperature, 0.1)] K
    " @@ -201,4 +223,4 @@ if (usr.stat || usr.restrained() || anchored) return - src.set_dir(turn(src.dir, -90)) \ No newline at end of file + src.set_dir(turn(src.dir, -90)) diff --git a/code/modules/supermatter/supermatter.dm b/code/modules/supermatter/supermatter.dm index de8f5233e6f..8aa31fa9b88 100644 --- a/code/modules/supermatter/supermatter.dm +++ b/code/modules/supermatter/supermatter.dm @@ -1,8 +1,8 @@ #define NITROGEN_RETARDATION_FACTOR 0.15 //Higher == N2 slows reaction more -#define THERMAL_RELEASE_MODIFIER 750 //Higher == more heat released during reaction +#define THERMAL_RELEASE_MODIFIER 10000 //Higher == more heat released during reaction #define PHORON_RELEASE_MODIFIER 1500 //Higher == less phoron released by reaction -#define OXYGEN_RELEASE_MODIFIER 1500 //Higher == less oxygen released at high temperature/power +#define OXYGEN_RELEASE_MODIFIER 15000 //Higher == less oxygen released at high temperature/power #define REACTION_POWER_MODIFIER 1.1 //Higher == more overall power /* @@ -16,9 +16,9 @@ */ //Controls how much power is produced by each collector in range - this is the main parameter for tweaking SM balance, as it basically controls how the power variable relates to the rest of the game. -#define POWER_FACTOR 1.0 +//#define POWER_FACTOR 1.0 #define DECAY_FACTOR 700 //Affects how fast the supermatter power decays -#define CRITICAL_TEMPERATURE 800 //K +#define CRITICAL_TEMPERATURE 7000 //K #define CHARGING_FACTOR 0.05 #define DAMAGE_RATE_LIMIT 3 //damage rate cap at power = 300, scales linearly with power @@ -209,7 +209,7 @@ power = max( (removed.temperature * temp_factor) * oxygen + power, 0) //We've generated power, now let's transfer it to the collectors for storing/usage - transfer_energy() + //transfer_energy() var/device_energy = power * REACTION_POWER_MODIFIER @@ -273,6 +273,7 @@ Consume(user) +/* /obj/machinery/power/supermatter/proc/transfer_energy() for(var/obj/machinery/power/rad_collector/R in rad_collectors) var/distance = get_dist(R, src) @@ -280,6 +281,7 @@ //for collectors using standard phoron tanks at 1013 kPa, the actual power generated will be this power*POWER_FACTOR*20*29 = power*POWER_FACTOR*580 R.receive_pulse(power * POWER_FACTOR * (min(3/distance, 1))**2) return +*/ /obj/machinery/power/supermatter/attackby(obj/item/weapon/W as obj, mob/living/user as mob) user.visible_message("\The [user] touches \a [W] to \the [src] as a silence fills the room...",\ diff --git a/maps/exodus-1.dmm b/maps/exodus-1.dmm index 1f3a01e60f4..fcf67d78f28 100644 --- a/maps/exodus-1.dmm +++ b/maps/exodus-1.dmm @@ -5899,7 +5899,7 @@ "cjw" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/effect/decal/cleanable/dirt,/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) "cjx" = (/obj/machinery/power/terminal{icon_state = "term"; dir = 1},/obj/machinery/light/small{dir = 4},/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) "cjy" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/turf/simulated/wall/r_wall,/area/engineering/engine_waste) -"cjz" = (/obj/machinery/alarm{breach_detection = 0; dir = 2; frequency = 1439; name = "Engine Room Air Alarm"; pixel_y = 23},/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 10},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engineering/engine_room) +"cjz" = (/obj/machinery/alarm{breach_detection = 0; dir = 2; frequency = 1439; name = "Engine Room Air Alarm"; pixel_y = 23},/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 10},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engineering/engine_room) "cjA" = (/obj/machinery/power/terminal{dir = 4},/obj/structure/cable/yellow,/obj/machinery/power/sensor{name = "Powernet Sensor - Engine Output"; name_tag = "Engine Output"},/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/engineering/engine_room) "cjB" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/construction) "cjC" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/engineering{name = "Construction Area"; req_access_txt = "32"},/turf/simulated/floor/plating,/area/construction) @@ -5917,7 +5917,7 @@ "cjO" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/engineering/engine_room) "cjP" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/plating,/area/engineering/engine_room) "cjQ" = (/obj/machinery/atmospherics/portables_connector,/turf/simulated/floor/plating{icon_state = "platebotc"},/area/engineering/engine_room) -"cjR" = (/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/engineering/engine_room) +"cjR" = (/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/obj/machinery/power/smes/buildable{charge = 2e+006; input_level = 100000; output_level = 200000; RCon_tag = "Engine - Core"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/engineering/engine_room) "cjS" = (/obj/machinery/atmospherics/binary/pump,/turf/simulated/floor/plating,/area/engineering/engine_room) "cjT" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/turf/simulated/floor/plating,/area/engineering/engine_waste) "cjU" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engineering/engine_waste) @@ -5925,7 +5925,7 @@ "cjW" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating/airless,/area/solar/port) "cjX" = (/obj/machinery/atmospherics/pipe/manifold4w/visible/purple,/turf/simulated/floor/plating,/area/engineering/engine_waste) "cjY" = (/obj/machinery/atmospherics/binary/pump{dir = 8},/turf/simulated/floor/plating,/area/engineering/engine_waste) -"cjZ" = (/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/engineering/engine_room) +"cjZ" = (/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating,/area/engineering/engine_room) "cka" = (/obj/structure/table,/obj/item/weapon/FixOVein,/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/obj/item/weapon/surgicaldrill,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) "ckb" = (/obj/machinery/computer/operating,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) "ckc" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) @@ -5934,7 +5934,7 @@ "ckf" = (/obj/structure/table,/obj/item/device/radio{anchored = 1; broadcasting = 0; canhear_range = 7; frequency = 1487; icon = 'icons/obj/items.dmi'; icon_state = "red_phone"; listening = 1; name = "Surgery Emergency Phone"},/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/medical/surgeryprep) "ckg" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/medical/surgeryprep) "ckh" = (/obj/structure/disposalpipe/segment,/obj/item/roller,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "blue"; dir = 4},/area/medical/surgeryprep) -"cki" = (/obj/machinery/atmospherics/pipe/manifold/visible/yellow{dir = 4},/turf/simulated/floor/plating{dir = 8; icon_state = "warnplatecorner"},/area/engineering/engine_room) +"cki" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/engineering/engine_room) "ckj" = (/obj/structure/table,/obj/item/weapon/reagent_containers/spray/cleaner{desc = "Someone has crossed out the Space from Space Cleaner and written in Surgery. 'Do not remove under punishment of death!!!' is scrawled on the back."; name = "Surgery Cleaner"},/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/surgery2) "ckk" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery2) "ckl" = (/obj/machinery/computer/operating,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery2) @@ -5943,7 +5943,7 @@ "cko" = (/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/maintenance/medbay) "ckp" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance,/obj/structure/disposalpipe/segment,/obj/structure/sign/redcross{desc = "The Star of Life, a symbol of Medical Aid."; icon_state = "lifestar"; name = "Medbay"; pixel_x = 0; pixel_y = 32},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/medical/virologyaccess) "ckq" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor,/area/medical/virologyaccess) -"ckr" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/engineering/engine_room) +"ckr" = (/obj/machinery/atmospherics/binary/pump,/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/engineering/engine_room) "cks" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 6},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/engineering/engine_room) "ckt" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/research_port) "cku" = (/obj/machinery/atmospherics/omni/filter{use_power = 0; tag_east = 1; tag_north = 0; tag_south = 4; tag_west = 2},/turf/simulated/floor/plating,/area/engineering/engine_room) @@ -5980,14 +5980,14 @@ "ckZ" = (/obj/machinery/door/window/brigdoor{dir = 8; name = "Engine Waste"; req_access = null; req_access_txt = "0"; req_one_access_txt = "10;24"},/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 9},/turf/simulated/floor/plating{icon_state = "platebot"},/area/engineering/engine_waste) "cla" = (/obj/machinery/atmospherics/pipe/simple/visible/purple,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/engineering/engine_room) "clb" = (/obj/item/weapon/wirecutters,/obj/effect/decal/cleanable/blood/oil/streak{amount = 0},/turf/simulated/floor/plating,/area/construction) -"clc" = (/obj/machinery/atmospherics/pipe/manifold/visible/yellow{dir = 8},/turf/simulated/floor/plating,/area/engineering/engine_room) -"cld" = (/obj/machinery/atmospherics/pipe/manifold/visible/yellow{dir = 4},/obj/machinery/meter,/turf/simulated/floor/plating,/area/engineering/engine_room) +"clc" = (/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/engineering/engine_room) +"cld" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/engineering/engine_room) "cle" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/engineering/engine_room) "clf" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "nuke_shuttle_dock_inner"; locked = 1; name = "Docking Port Airlock"; req_access = null; req_access_txt = "13"},/turf/simulated/floor/plating,/area/hallway/secondary/entry/port) -"clg" = (/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/valve/digital/open{dir = 4},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/engineering/engine_room) -"clh" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 6},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplatecorner"},/area/engineering/engine_room) +"clg" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating{dir = 4; icon_state = "warnplatecorner"},/area/engineering/engine_room) +"clh" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan{tag = "icon-map (EAST)"; icon_state = "map"; dir = 4},/turf/simulated/floor/plating{dir = 8; icon_state = "warnplatecorner"},/area/engineering/engine_room) "cli" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor,/area/medical/virologyaccess) -"clj" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{tag = "icon-intact (SOUTHWEST)"; icon_state = "intact"; dir = 10},/turf/simulated/floor/plating{dir = 1; icon_state = "warnplatecorner"},/area/engineering/engine_room) +"clj" = (/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/engineering/engine_room) "clk" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/turf/simulated/floor/plating,/area/engineering/engine_room) "cll" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/heat_exchanging{tag = "icon-intact (SOUTHWEST)"; icon_state = "intact"; dir = 10},/turf/space,/area/space) "clm" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 4},/turf/space,/area/space) @@ -5997,7 +5997,7 @@ "clq" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio5"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/cable/green,/turf/simulated/floor/plating,/area/rnd/xenobiology) "clr" = (/obj/structure/table,/obj/item/stack/cable_coil/random,/obj/item/stack/cable_coil/random,/obj/machinery/light{dir = 8},/turf/simulated/floor,/area/storage/art) "cls" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio5"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/disposalpipe/segment,/obj/structure/cable/green,/turf/simulated/floor/plating,/area/rnd/xenobiology) -"clt" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan{dir = 8},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/engineering/engine_room) +"clt" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan{dir = 8},/turf/simulated/floor/plating,/area/engineering/engine_room) "clu" = (/obj/machinery/door/window/southright{name = "Containment Pen"; req_access_txt = "47"},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio4"; name = "Containment Blast Doors"; opacity = 0},/turf/simulated/floor/engine,/area/rnd/xenobiology) "clv" = (/obj/machinery/power/emitter{anchored = 1; id = "EngineEmitter"; state = 2},/obj/structure/cable/cyan,/turf/simulated/floor/plating,/area/engineering/engine_room) "clw" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = 0},/turf/simulated/wall,/area/maintenance/substation/engineering) @@ -6048,10 +6048,10 @@ "cmp" = (/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/visible,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) "cmq" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) "cmr" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) -"cms" = (/obj/machinery/atmospherics/pipe/manifold/visible/yellow{dir = 4},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engineering/engine_room) +"cms" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/manifold/visible/cyan{tag = "icon-map (EAST)"; icon_state = "map"; dir = 4},/turf/simulated/floor/plating,/area/engineering/engine_room) "cmt" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/structure/lattice,/turf/space,/area/space) -"cmu" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "EngineRadiatorViewport"; name = "Engine Radiator Viewport Shutter"; opacity = 0},/turf/simulated/floor/plating,/area/engineering/engine_room) -"cmv" = (/obj/machinery/atmospherics/pipe/manifold4w/visible/cyan,/obj/machinery/meter,/turf/simulated/floor/plating,/area/engineering/engine_room) +"cmu" = (/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/engineering/engine_room) +"cmv" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{tag = "icon-intact (SOUTHEAST)"; icon_state = "intact"; dir = 6},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplatecorner"},/area/engineering/engine_room) "cmw" = (/obj/machinery/atmospherics/unary/heat_exchanger{dir = 4},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 6},/area/engineering/engine_waste) "cmx" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/visible/purple,/obj/machinery/meter{id = "wloop_atm_meter"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engineering/engine_waste) "cmy" = (/obj/machinery/atmospherics/pipe/manifold/visible/purple,/obj/machinery/meter,/turf/simulated/floor/plating,/area/engineering/engine_waste) @@ -6064,7 +6064,7 @@ "cmF" = (/obj/machinery/door/blast/regular{icon_state = "pdoor1"; id = "EngineEmitterPortWest"; layer = 3.3; name = "Engine Waste Handling Access"},/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/turf/simulated/floor/plating,/area/engineering/engine_room) "cmG" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/turf/simulated/floor/plating,/area/engineering/engine_room) "cmH" = (/obj/machinery/atmospherics/pipe/manifold/visible/yellow,/turf/simulated/floor/plating,/area/engineering/engine_room) -"cmI" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/engineering/engine_room) +"cmI" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 10},/turf/simulated/floor/plating{dir = 1; icon_state = "warnplatecorner"},/area/engineering/engine_room) "cmJ" = (/turf/simulated/wall/r_wall,/area/engineering/storage) "cmK" = (/obj/machinery/constructable_frame/machine_frame,/turf/simulated/floor,/area/engineering/workshop) "cmL" = (/obj/effect/decal/cleanable/blood/oil{amount = 0},/turf/simulated/floor,/area/engineering/workshop) @@ -7127,51 +7127,51 @@ "cHc" = (/obj/machinery/door/blast/regular{icon_state = "pdoor1"; id = "EngineVent"; name = "Engine Core Vent"; p_open = 0},/turf/simulated/floor/engine,/area/engineering/engine_room) "cHd" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/heat_exchanging,/turf/space,/area/space) "cHe" = (/obj/machinery/camera{c_tag = "Engineering Core South"; dir = 1; network = list("SS13","Supermatter")},/turf/simulated/floor/engine/nitrogen{dir = 8; icon_state = "warnplate"; name = "plating"},/area/engineering/engine_room) -"cHf" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/engineering/engine_room) +"cHf" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/visible/green{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor/plating,/area/engineering/engine_room) "cHg" = (/turf/simulated/floor/engine/nitrogen{dir = 4; icon_state = "warnplate"; name = "plating"},/area/engineering/engine_room) "cHh" = (/turf/simulated/floor/engine/nitrogen,/area/engineering/engine_room) -"cHi" = (/obj/machinery/door_control{desc = "A remote control-switch for opening the engines blast doors."; id = "EngineRads"; name = "Radiation Collector Access"; pixel_x = 0; pixel_y = -25; req_access_txt = "10"},/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/engineering/engine_room) -"cHj" = (/obj/machinery/power/rad_collector,/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/engineering/engine_room) -"cHk" = (/obj/machinery/door/blast/regular{icon_state = "pdoor1"; id = "EngineRads"; layer = 3.3; name = "Engine Radiation Collector Access"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/engineering/engine_room) -"cHl" = (/obj/machinery/door_control{id = "EngineVent"; name = "Engine Ventillatory Control"; pixel_x = -25; pixel_y = 0; req_access_txt = "10"},/turf/simulated/floor/plating,/area/engineering/engine_room) -"cHm" = (/obj/machinery/power/rad_collector,/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/engineering/engine_room) +"cHi" = (/obj/machinery/atmospherics/valve/digital{dir = 4; name = "Emergency Cooling Valve 1"},/turf/simulated/floor/plating,/area/engineering/engine_room) +"cHj" = (/obj/machinery/atmospherics/pipe/manifold/visible/green{tag = "icon-map (EAST)"; icon_state = "map"; dir = 4},/turf/simulated/floor/plating,/area/engineering/engine_room) +"cHk" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/engineering/engine_room) +"cHl" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan{tag = "icon-map (EAST)"; icon_state = "map"; dir = 4},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engineering/engine_room) +"cHm" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 10},/turf/simulated/floor/plating,/area/engineering/engine_room) "cHn" = (/obj/machinery/power/solar{id = "portsolar"; name = "Port Solar Array"},/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/port) -"cHo" = (/obj/machinery/door_control{desc = "A remote control-switch for opening the engines blast doors."; id = "EngineRads"; name = "Radiation Collector Access"; pixel_x = 0; pixel_y = -25; req_access_txt = "10"},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engineering/engine_room) +"cHo" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/manifold4w/visible/cyan,/turf/simulated/floor/plating,/area/engineering/engine_room) "cHp" = (/obj/machinery/power/solar{id = "portsolar"; name = "Port Solar Array"},/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/port) "cHq" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 5},/turf/space,/area/space) -"cHr" = (/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engineering/engine_room) -"cHs" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/engineering/engine_room) -"cHt" = (/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/engineering/engine_room) +"cHr" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "EngineRadiatorViewport"; name = "Engine Radiator Viewport Shutter"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/visible/green{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor/plating,/area/engineering/engine_room) +"cHs" = (/obj/machinery/atmospherics/binary/pump{dir = 8},/turf/simulated/floor/plating,/area/engineering/engine_room) +"cHt" = (/obj/machinery/atmospherics/pipe/manifold/visible/green{dir = 1},/obj/machinery/meter,/turf/simulated/floor/plating,/area/engineering/engine_room) "cHu" = (/obj/machinery/power/supermatter{layer = 4},/obj/machinery/mass_driver{id = "enginecore"},/turf/simulated/floor/engine/nitrogen{icon_state = "gcircuit"; name = "floor"},/area/engineering/engine_room) "cHv" = (/turf/simulated/floor/engine/nitrogen{dir = 8; icon_state = "warnplate"; name = "plating"},/area/engineering/engine_room) -"cHw" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/plating,/area/engineering/engine_room) -"cHx" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 1; frequency = 1438; icon_state = "map_injector"; id = "cooling_in"; name = "Coolant Injector"; use_power = 1; pixel_y = 1; volume_rate = 700},/turf/simulated/floor/engine/nitrogen{dir = 1; icon_state = "warnplatecorner"; name = "plating"},/area/engineering/engine_room) -"cHy" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/engineering/engine_room) -"cHz" = (/obj/machinery/atmospherics/unary/vent_pump/engine{dir = 1; external_pressure_bound = 100; external_pressure_bound_default = 0; frequency = 1438; icon_state = "map_vent_in"; id_tag = "cooling_out"; initialize_directions = 1; use_power = 1; pressure_checks = 1; pressure_checks_default = 1; pump_direction = 0},/turf/simulated/floor/engine/nitrogen{icon_state = "warnplatecorner"; name = "plating"},/area/engineering/engine_room) +"cHw" = (/obj/machinery/atmospherics/pipe/manifold/visible/green{dir = 8},/turf/simulated/floor/plating,/area/engineering/engine_room) +"cHx" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan,/turf/simulated/floor/plating,/area/engineering/engine_room) +"cHy" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/door/blast/regular{icon_state = "pdoor1"; id = "SupermatterPort"; layer = 3.3; name = "Supermatter Chamber Blast Door"},/turf/simulated/floor/plating,/area/engineering/engine_room) +"cHz" = (/obj/machinery/atmospherics/valve/digital{dir = 4; name = "Emergency Cooling Valve 2"},/turf/simulated/floor/plating,/area/engineering/engine_room) "cHA" = (/obj/machinery/air_sensor{frequency = 1438; id_tag = "engine_sensor"; output = 63},/turf/simulated/floor/engine/nitrogen{icon_state = "warnplate"; name = "plating"},/area/engineering/engine_room) "cHB" = (/obj/machinery/light{dir = 8},/turf/simulated/floor/plating,/area/engineering/engine_room) "cHC" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Solar - Aft Port"},/turf/simulated/floor/plating,/area/maintenance/portsolar) -"cHD" = (/obj/machinery/camera{c_tag = "Engineering Core West"; dir = 8; network = list("SS13","Supermatter")},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engineering/engine_room) -"cHE" = (/obj/machinery/door_control{desc = "A remote control-switch for the engine radiator viewport shutters."; id = "EngineRadiatorViewport"; name = "Engine Radiator Viewport Shutters"; pixel_x = 25; pixel_y = 0; req_access_txt = "10"},/turf/simulated/floor/plating,/area/engineering/engine_room) +"cHD" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/engineering/engine_room) +"cHE" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 9},/turf/simulated/floor/plating,/area/engineering/engine_room) "cHF" = (/obj/machinery/door/airlock/hatch{icon_state = "door_locked"; id_tag = "engine_access_hatch"; locked = 1; req_access_txt = "10"},/obj/machinery/atmospherics/pipe/simple/visible/yellow,/turf/simulated/floor/plating,/area/engineering/engine_room) -"cHG" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/regular{icon_state = "pdoor1"; id = "EngineEmitterPort"; layer = 3.3; name = "Engine Blast Doors"},/turf/simulated/floor/plating,/area/engineering/engine_room) +"cHG" = (/obj/machinery/atmospherics/pipe/manifold/visible/purple,/turf/simulated/floor/plating,/area/engineering/engine_room) "cHH" = (/obj/machinery/door/airlock/hatch{icon_state = "door_locked"; id_tag = "engine_access_hatch"; locked = 1; req_access_txt = "10"},/obj/machinery/atmospherics/pipe/simple/visible/cyan,/turf/simulated/floor/plating,/area/engineering/engine_room) -"cHI" = (/obj/machinery/camera{c_tag = "Engineering Core East"; dir = 4; network = list("SS13","Supermatter")},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/engineering/engine_room) +"cHI" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/turf/simulated/floor/plating,/area/engineering/engine_room) "cHJ" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 6},/turf/space,/area/space) "cHK" = (/obj/item/stack/rods{amount = 10},/turf/space,/area/space) "cHL" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/turf/simulated/floor/plating,/area/engineering/engine_room) -"cHM" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "EngineRadiatorViewport"; name = "Engine Radiator Viewport Shutter"; opacity = 0},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/engineering/engine_room) -"cHN" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 10},/area/engineering/engine_room) -"cHO" = (/obj/machinery/door_control{desc = "A remote control-switch for the engine control room blast doors."; id = "EngineBlast"; name = "Engine Room Blast Doors"; pixel_x = 5; pixel_y = -25; req_access_txt = "10"},/obj/machinery/door_control{desc = "A remote control-switch for the engine charging port."; id = "EngineEmitterPort"; name = "Engine Charging Port"; pixel_x = -5; pixel_y = -25; req_access_txt = "10"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/engineering/engine_room) -"cHP" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/visible/yellow,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 6},/area/engineering/engine_room) -"cHQ" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/engineering/engine_room) -"cHR" = (/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating{dir = 1; icon_state = "warnplatecorner"},/area/engineering/engine_room) -"cHS" = (/obj/machinery/light,/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/engineering/engine_room) -"cHT" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/engineering/engine_room) +"cHM" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/turf/simulated/floor/plating{icon_state = "platebot"},/area/engineering/engine_room) +"cHN" = (/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engineering/engine_room) +"cHO" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/regular{icon_state = "pdoor1"; id = "SupermatterPort"; layer = 3.3; name = "Supermatter Chamber Blast Door"},/turf/simulated/floor/plating,/area/engineering/engine_room) +"cHP" = (/obj/machinery/atmospherics/binary/circulator{anchored = 1},/turf/simulated/floor/plating,/area/engineering/engine_room) +"cHQ" = (/obj/machinery/atmospherics/pipe/simple/visible/purple,/turf/simulated/floor/plating,/area/engineering/engine_room) +"cHR" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/engineering/engine_room) +"cHS" = (/obj/machinery/atmospherics/binary/circulator{anchored = 1; dir = 1},/turf/simulated/floor/plating,/area/engineering/engine_room) +"cHT" = (/obj/machinery/power/generator{anchored = 1; dir = 4},/obj/structure/cable/yellow,/turf/simulated/floor/plating,/area/engineering/engine_room) "cHU" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/engineering/engine_waste) -"cHV" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/engineering/engine_room) -"cHW" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/engineering/engine_room) -"cHX" = (/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplatecorner"},/area/engineering/engine_room) +"cHV" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/purple,/turf/simulated/floor/plating,/area/engineering/engine_room) +"cHW" = (/obj/machinery/atmospherics/pipe/simple/visible/green{tag = "icon-intact (SOUTHEAST)"; icon_state = "intact"; dir = 6},/turf/simulated/floor/plating,/area/engineering/engine_room) +"cHX" = (/obj/machinery/atmospherics/pipe/simple/visible/green{dir = 9; icon_state = "intact"; tag = "icon-intact (SOUTHEAST)"},/turf/simulated/floor/plating,/area/engineering/engine_room) "cHY" = (/turf/simulated/wall/r_wall,/area/engineering/engine_waste) "cHZ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating{dir = 8; icon_state = "warnplatecorner"},/area/engineering/engine_waste) "cIa" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor/plating,/area/engineering/engine_waste) @@ -7179,7 +7179,7 @@ "cIc" = (/obj/item/stack/cable_coil,/turf/space,/area/space) "cId" = (/obj/machinery/light/small,/turf/simulated/floor/plating,/area/engineering/engine_waste) "cIe" = (/turf/simulated/floor/plating,/area/engineering/engine_waste) -"cIf" = (/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/obj/machinery/power/smes/buildable{charge = 2e+006; RCon_tag = "Engine - Core"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/engineering/engine_room) +"cIf" = (/obj/machinery/atmospherics/unary/vent_pump/engine{dir = 1; external_pressure_bound = 100; external_pressure_bound_default = 0; frequency = 1438; icon_state = "map_vent_in"; id_tag = "cooling_out"; initialize_directions = 1; use_power = 1; pressure_checks = 1; pressure_checks_default = 1; pump_direction = 0},/turf/simulated/floor/engine/nitrogen{dir = 1; icon_state = "warnplatecorner"; name = "plating"},/area/engineering/engine_room) "cIg" = (/obj/machinery/light{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/extinguisher_cabinet{pixel_x = -24},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/rnd/xenobiology) "cIh" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_x = 0; pixel_y = 32},/obj/structure/cable/cyan{d2 = 8; icon_state = "0-8"},/obj/machinery/power/smes/buildable{charge = 2e+006; RCon_tag = "Substation - Atmospherics"},/turf/simulated/floor/plating,/area/engineering/atmos/storage) "cIi" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = -7; pixel_y = -32; req_access_txt = "0"},/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/obj/structure/extinguisher_cabinet{pixel_x = 7; pixel_y = -32},/turf/simulated/floor,/area/rnd/xenobiology) @@ -7196,21 +7196,44 @@ "cIt" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor/plating,/area/maintenance/research_port) "cIu" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/table,/obj/machinery/camera{c_tag = "Engineering Locker Room"; dir = 1; network = list("SS13")},/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor,/area/engineering/locker_room) "cIv" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "0"; req_one_access_txt = "10;24"},/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/substation/engineering) +"cIw" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/blast/regular{icon_state = "pdoor1"; id = "SupermatterPort"; layer = 3.3; name = "Supermatter Chamber Blast Door"},/turf/simulated/floor/plating,/area/engineering/engine_room) +"cIx" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 1; frequency = 1438; icon_state = "map_injector"; id = "cooling_in"; name = "Coolant Injector"; use_power = 1; pixel_y = 1; volume_rate = 700},/turf/simulated/floor/engine/nitrogen{icon_state = "warnplatecorner"; name = "plating"},/area/engineering/engine_room) +"cIy" = (/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/engineering/engine_room) +"cIz" = (/obj/machinery/door_control{id = "EngineVent"; name = "Engine Ventillatory Control"; pixel_x = -25; pixel_y = 0; req_access_txt = "10"},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/engineering/engine_room) +"cIA" = (/obj/machinery/camera{c_tag = "Engineering Core West"; dir = 8; network = list("SS13","Supermatter")},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engineering/engine_room) +"cIB" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 5},/turf/simulated/floor/plating,/area/engineering/engine_room) +"cIC" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/green,/turf/simulated/floor/plating,/area/engineering/engine_room) +"cID" = (/obj/machinery/door_control{desc = "A remote control-switch for the engine radiator viewport shutters."; id = "EngineRadiatorViewport"; name = "Engine Radiator Viewport Shutters"; pixel_x = 25; pixel_y = 0; req_access_txt = "10"},/obj/machinery/atmospherics/pipe/manifold/visible/purple{dir = 4},/obj/machinery/meter,/turf/simulated/floor/plating,/area/engineering/engine_room) +"cIE" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/regular{dir = 8; icon_state = "pdoor1"; id = "SupermatterPort"; layer = 3.3; name = "Supermatter Chamber Blast Door"},/turf/simulated/floor/plating,/area/engineering/engine_room) +"cIF" = (/obj/machinery/camera{c_tag = "Engineering Core East"; dir = 4; network = list("SS13","Supermatter")},/obj/machinery/atmospherics/pipe/manifold/visible/yellow{dir = 8},/obj/machinery/meter,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/engineering/engine_room) +"cIG" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/turf/simulated/floor/plating,/area/engineering/engine_room) +"cIH" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 9},/turf/simulated/floor/plating,/area/engineering/engine_room) +"cII" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 6},/turf/simulated/floor/plating,/area/engineering/engine_room) "cIJ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/maintenance/portsolar) "cIK" = (/turf/simulated/wall/r_wall,/area/maintenance/portsolar) "cIL" = (/turf/simulated/wall/r_wall,/area/maintenance/engi_engine) "cIM" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/maintenance{name = "Engine Waste Handling"; req_one_access_txt = "10;24"},/turf/simulated/floor/plating,/area/maintenance/engi_engine) +"cIN" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "EngineRadiatorViewport"; name = "Engine Radiator Viewport Shutter"; opacity = 0},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/visible/green{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor/plating,/area/engineering/engine_room) +"cIO" = (/obj/machinery/atmospherics/pipe/simple/visible/green,/turf/simulated/floor/plating,/area/engineering/engine_room) +"cIP" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 6},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 10},/area/engineering/engine_room) +"cIQ" = (/obj/machinery/door_control{desc = "A remote control-switch for the engine control room blast doors."; id = "EngineBlast"; name = "Engine Room Blast Doors"; pixel_x = 5; pixel_y = -25; req_access_txt = "10"},/obj/machinery/door_control{desc = "A remote control-switch for the engine charging port."; id = "SupermatterPort"; name = "Supermatter Chamber Blast Doors"; pixel_x = -5; pixel_y = -25; req_access_txt = "10"},/obj/machinery/light,/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/engineering/engine_room) +"cIR" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 6},/area/engineering/engine_room) +"cIS" = (/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/engineering/engine_room) +"cIT" = (/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/obj/machinery/power/generator{anchored = 1; dir = 4},/obj/structure/cable/yellow,/turf/simulated/floor/plating,/area/engineering/engine_room) "cIU" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/maintenance/portsolar) "cIV" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating/airless,/area/maintenance/portsolar) "cIW" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless,/area/maintenance/portsolar) "cIX" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = -32; pixel_y = 0},/obj/machinery/atmospherics/portables_connector,/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor/plating{dir = 1; icon_state = "warnplatecorner"},/area/maintenance/portsolar) "cIY" = (/obj/machinery/power/terminal{dir = 4},/obj/machinery/light/small{dir = 1},/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/maintenance/portsolar) +"cIZ" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 10},/turf/simulated/floor/plating{dir = 1; icon_state = "warnplatecorner"},/area/engineering/engine_room) "cJa" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = 0},/turf/simulated/wall/r_wall,/area/maintenance/portsolar) "cJb" = (/obj/structure/closet/wardrobe/black,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating{dir = 1; icon_state = "warnplatecorner"},/area/maintenance/engi_engine) "cJc" = (/obj/structure/closet/crate,/obj/item/device/multitool,/obj/item/device/multitool,/obj/item/device/assembly/prox_sensor,/obj/item/device/flashlight,/turf/simulated/floor/plating,/area/maintenance/engi_engine) +"cJd" = (/obj/machinery/light,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/engineering/engine_room) "cJe" = (/turf/simulated/floor/plating,/area/maintenance/engi_engine) "cJf" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/maintenance/engi_engine) "cJg" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/maintenance/engi_engine) +"cJh" = (/turf/simulated/floor/plating{dir = 2; icon_state = "warnplatecorner"},/area/engineering/engine_room) "cJz" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "robotics_solar_outer"; locked = 1; name = "Engineering External Access"; req_access = null; req_access_txt = "10;13"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/portsolar) "cJA" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1379; id_tag = "robotics_solar_pump"},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "robotics_solar_pump"; tag_exterior_door = "robotics_solar_outer"; frequency = 1379; id_tag = "robotics_solar_airlock"; tag_interior_door = "robotics_solar_inner"; layer = 3.3; pixel_x = 0; pixel_y = -25; req_access_txt = "13"; tag_chamber_sensor = "robotics_solar_sensor"},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "robotics_solar_sensor"; layer = 3.3; pixel_x = 12; pixel_y = -25},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/decal/warning_stripes,/turf/simulated/floor/plating,/area/maintenance/portsolar) "cJB" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "robotics_solar_inner"; locked = 1; name = "Engineering External Access"; req_access = null; req_access_txt = "13"},/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/portsolar) @@ -7433,19 +7456,19 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaamaaaaaaaafaafcfIchkchlchkcfIchichjchicfIchgchhchgcfIaaacfIchgchgchfcfIaaaaafaaaceUchecexchdceychcchachbcgYcgZcgWcgXcgtcgRcgBcgCcgBcgucgtcgrcgpcgoceXaaLcGgcGgcGgcGgcGgcGgcGgbNUciEciDcGjaafaaaaaaaafcGkcDfaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacGlcEJcEJcEJcEJcEJcGlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaaaaafaaacrPaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaafaamaaaaafaafaaacfIchkchmchkcfIchichnchicfIchgchochgcfIaafcfIchgchgchgcfIaafaafaafcidciecifcigcihcikchpchbcgYcAhchGchHcgtciccimcilciocincgtcipcirciqceXaaacGgcGgcGgcGgcGgcGgcGgcGFcGGcGHbNUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacqvcCmcqxcqxcqxcCocqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPcrPcrPcrPcrPaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbZSaaaaaacfIcfIcfIcfIcfIcfIcfIcfIcfIcfIcfIcfIcfIaaaciscfIcfIcfIcfIaaaaaaaaaaaacjbcjbcjbcjbcjbciycitcitcitcitcjacitciWcivciwcivciucitcitcixcitcitcitcGgcGgcGgcGgcGgcGgcGgaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaacyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafcrPaaaaaaaafaafaaaaafaafaaaaaaaafaafaafaaaaaaaaaaaaaaaaaaaafaaacGQcGRcGRcGRcGScjycjccjdcjecjicjFcjGcjHcjIcjzcjAcIfcjEcjNcjMcjPcjOcjKcjJcjJcjLcjQcitcGgcGgcGgcGgcGgcGgcGgaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafcHncjVcHpaaacHncjVcHpaaacHncjVcHpaafaafaaaaafaafaafaafaafcHqcGRcGRcGRcGScjycjXcjYcjTcjUckzckAcksckuckickrcjZckecjJcjRcjJcjJcjJcjJcjJcjJcjScitcGgcGgcGgcGgcGgcGgcGgaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaacHncjWcHpaaacHncjWcHpaaacHncjWcHpaafaafaaaaafaaaaaacHKaafcGQcGRcGRcGRcGScjycjXckTckWckYckZckAclaclccldclecjJcjJclhclgcljcjJcjJcjJcjJcjJclkcitcIbaafaaIaafaafaafaafaafaafaafaafaafckBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafcHncjWcHpaaacHncjWcHpaafcHncjWcHpaafaaaaaaaafaafcIcaaaaafcHqcGRcGRcGRcGScjycmycmBcmwcmxcmEcmFcmCcmDcmHcmIcmGcmGcmsclvcltclnclnclnclnclncmvcmucmtclmclmclmclmclmclmclmclmclmcllaaackBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaacHncjWcHpaafcHncjWcHpaaacHncjWcHpaaaaaaaaaaaaaafaafaaaaafaaaaaaaaaaaaaafcHYcIecIdcIacHZcHUcjGckecjJcHXcHWcHScHVcHPcHQcHNcHOcHScHTcHRcjJcHLcHMcmtcllcHJcllcHJcllcHJcllcHJcllcHdaafckBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaamaaIaafaaacHncjWcHpaafcHncjWcHpaaacHncjWcHpaafaaaaaaaaaaaaaafaafcIJcIKcIKcIKcIKcILcILcILcILcILcIMcILcitcjJcjJcHDcitcitcitcHFcHGcHHcitcitcitcHIcjJcHEcitaaacHdcHdcHdcHdcHdcHdcHdcHdcHdcHdaafckBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaafaaaaafaafczCaafaafaafczCaafaaaaafczCaafaaaaaaaaaaaaaaacIUcIVcIWcIXcIYcHCcJacJbcJcciFcJecJfcJgcJecitcHBcjJcHrcHkcHmcHycHzcHAcHxcHycHjcHkcHtcjJcHwcitaaacHdcHdcHdcHdcHdcHdcHdcHdcHdcHdaaaaanaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafcydcxzcxycxxcxxcxxcxxcxxcxxcxxcxxcxxcxxcxxczicxzcxzcxzcypcJzcJAcJBcJCcJDcJEcJFcJGcJHcJHcJHcJIcJJcJKcitcjJcjJcHrcHkcHmcHscHgcHucHvcHscHjcHkcHtcjJcjJcitaaacHdcHdcHdcHdcHdcHdcHdcHdcHdcHdaafckBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYaaactYctYctYctYctYaaactYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaafaaaaafaafcxfaafaaaaafcxfaafaaaaafcxfaafaaaaaaaaaaaaaaacIUcIVcJRcJScJTcJUcIKcJVcJWcJecJecJXcJXcJYcitcHlcjJcHocHkcHmcHfcHgcHhcHecHfcHjcHkcHicjJcjJcitaaacHdcHdcHdcHdcHdcHdcHdcHdcHdcHdaafaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYaaactYctYctYctYctYaaactYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaamaaIaafaafcHncwrcHpaaacHncwrcHpaaacHncwrcHpaafaaaaaaaaaaaaaafaafcKfcIKcIKcIKcIKcKgcKhcKicKicKjcKgcKgcitcitcjGcitcitcitcitcitcHccitcitcitcitcitcjGcitcitaafcHbcHacHbcHacHbcHacHbcHacHbcHaaaaaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacHncwrcHpaafcHncwrcHpaaacHncwrcHpaaaaaaaaaaafaaaaafaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaafaaaaafaafaaaaaaaafaafaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafcHncwrcHpaaacHncwrcHpaaacHncwrcHpaafaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaLaaaaafaaaaaackBckBckBcGZckBckBaanckBckBaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafcHncwrcHpaaacHncwrcHpaafcHncwrcHpaafaafaafaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaaIaaIbZSbZSaaIaaIaaaaaaaaaaaIaaIaaIaaIaaIaaIaaIaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafcrPaaaaaaaafaafaaaaafaafaaaaaaaafaafaafaaaaaaaaaaaaaaaaaaaafaaacGQcGRcGRcGRcGScjycjccjdcjecjicjFcjGcjHcjIcjzcjAcjRcjEcjNcjMcjPcjOcjKcjQcjJcjLcjQcitcGgcGgcGgcGgcGgcGgcGgaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafcHncjVcHpaaacHncjVcHpaaacHncjVcHpaafaafaaaaafaafaafaafaafcHqcGRcGRcGRcGScjycjXcjYcjTcjUckzckAcksckuclhcljcldclgckiclcckickickickrckicjZcjScitcGgcGgcGgcGgcGgcGgcGgaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaacHncjWcHpaaacHncjWcHpaaacHncjWcHpaafaafaaaaafaaaaaacHKaafcGQcGRcGRcGRcGScjycjXckTckWckYckZckAclacltcmscjJcjJcjJcmvcmucmIcjJcjJcltcHicHfcHjcitcitcitcIbaafaaIaafaafaafaafaafaafaafaafaafckBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafcHncjWcHpaaacHncjWcHpaafcHncjWcHpaafaaaaaaaafaafcIcaaaaafcHqcGRcGRcGRcGScjycmycmBcmwcmxcmEcmFcmCcmDcHxclnclnclncHlclvcHkclnclncHocHmclecHwcHtcHscHrcmtclmclmclmclmclmclmclmclmclmcllaaackBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaacHncjWcHpaafcHncjWcHpaaacHncjWcHpaaaaaaaaaaaaaafaafaaaaafaaaaaaaaaaaaaafcHYcIecIdcIacHZcHUcjGckecjJcjJcjJcJhcJdcIRcIScIPcIQcIZclkcHScITcHPcIOcIIcINcmtcllcHJcllcHJcllcHJcllcHJcllcHdaafckBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaamaaIaafaaacHncjWcHpaafcHncjWcHpaaacHncjWcHpaafaaaaaaaaaaaaaafaafcIJcIKcIKcIKcIKcILcILcILcILcILcIMcILcitcHBcjJcjJcjJcIAcitcHHcIEcHFcitcIFcIGcIHclecIBcICcIDcitaaacHdcHdcHdcHdcHdcHdcHdcHdcHdcHdaafckBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaafaaaaafaafczCaafaafaafczCaafaaaaafczCaafaaaaaaaaaaaaaaacIUcIVcIWcIXcIYcHCcJacJbcJcciFcJecJfcJgcJecitcIzcIycjJcjJcHNcIwcIxcHAcIfcIwcHRcHLcHmclecHWcHXcHVcitaaacHdcHdcHdcHdcHdcHdcHdcHdcHdcHdaaaaanaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafcydcxzcxycxxcxxcxxcxxcxxcxxcxxcxxcxxcxxcxxczicxzcxzcxzcypcJzcJAcJBcJCcJDcJEcJFcJGcJHcJHcJHcJIcJJcJKcitcHMcHMcjJcjJcHNcHOcHgcHucHvcHOcHRcjJcHScHTcHPcjJcHQcitaaacHdcHdcHdcHdcHdcHdcHdcHdcHdcHdaafckBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYaaactYctYctYctYctYaaactYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaafaaaaafaafcxfaafaaaaafcxfaafaaaaafcxfaafaaaaaaaaaaaaaaacIUcIVcJRcJScJTcJUcIKcJVcJWcJecJecJXcJXcJYcitcHMcHMcjJcjJcHNcHycHgcHhcHecHycHDcmGcmHcHzcHGcHIcHEcitaaacHdcHdcHdcHdcHdcHdcHdcHdcHdcHdaafaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYaaactYctYctYctYctYaaactYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaamaaIaafaafcHncwrcHpaaacHncwrcHpaaacHncwrcHpaafaaaaaaaaaaaaaafaafcKfcIKcIKcIKcIKcKgcKhcKicKicKjcKgcKgcitcitcjGcitcitcitcitcitcHccitcitcitcitcitcjGcitcitcitcitaafcHbcHacHbcHacHbcHacHbcHacHbcHaaaaaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacHncwrcHpaafcHncwrcHpaaacHncwrcHpaaaaaaaaaaafaaaaafaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaaaaafaafaaaaaaaafaafaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafcHncwrcHpaaacHncwrcHpaaacHncwrcHpaafaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaLaaaaafaafaaaaaaaamaamckBckBckBcGZckBckBaanckBckBaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafcHncwrcHpaaacHncwrcHpaafcHncwrcHpaafaafaafaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaaIaaIbZSbZSaaIaaIaaaaaaaaaaaIaaIaaIaaIaaIaaIaaIaaIaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaafcHncwncHpaaacHncwncHpaaacHncwncHpaafaaIaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaaaaafaaaaaaaaaaafaafaafaaaaaaaafaafaaaaaIaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKncKncKncKncKncKncKnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaamaaIaamaamaaqaaIaaIaaIaaIaamaaIaaIaamcKoaafaaaaaaaaaaaaaaacKpaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaacHKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKncKncKncKncKncKncKncKncKnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa From b14e76f4a02ab50b1891c33cd84ab0484729d24e Mon Sep 17 00:00:00 2001 From: RavingManiac Date: Fri, 13 Feb 2015 00:56:01 +0800 Subject: [PATCH 102/143] Fixed compilation error. --- code/modules/supermatter/supermatter.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/supermatter/supermatter.dm b/code/modules/supermatter/supermatter.dm index 8aa31fa9b88..422f03c3993 100644 --- a/code/modules/supermatter/supermatter.dm +++ b/code/modules/supermatter/supermatter.dm @@ -16,7 +16,7 @@ */ //Controls how much power is produced by each collector in range - this is the main parameter for tweaking SM balance, as it basically controls how the power variable relates to the rest of the game. -//#define POWER_FACTOR 1.0 +#define POWER_FACTOR 1.0 #define DECAY_FACTOR 700 //Affects how fast the supermatter power decays #define CRITICAL_TEMPERATURE 7000 //K #define CHARGING_FACTOR 0.05 From d4ae710c0c5c96eddd2eafa249ba7f1e4998aef2 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Thu, 12 Feb 2015 17:12:10 +0100 Subject: [PATCH 103/143] Tweaks and corrections. --- code/__HELPERS/game.dm | 7 ++ code/defines/obj/weapon.dm | 63 +++++++++--------- code/game/objects/items/devices/spy_bug.dm | 4 +- .../objects/items/weapons/storage/firstaid.dm | 2 +- .../items/weapons/storage/uplink_kits.dm | 4 +- icons/mob/items_lefthand.dmi | Bin 150064 -> 156003 bytes icons/mob/items_righthand.dmi | Bin 148769 -> 157518 bytes 7 files changed, 44 insertions(+), 36 deletions(-) diff --git a/code/__HELPERS/game.dm b/code/__HELPERS/game.dm index dcfcb50fcbd..c09951ba4d4 100644 --- a/code/__HELPERS/game.dm +++ b/code/__HELPERS/game.dm @@ -9,6 +9,13 @@ src:Topic(href, href_list) return null +/proc/is_on_same_plane_or_station(var/z1, var/z2) + if(z1 == z2) + return 1 + if((z1 in config.station_levels) && (z2 in config.station_levels)) + return 1 + return 0 + /proc/get_area(O) var/turf/loc = get_turf(O) if(!loc) diff --git a/code/defines/obj/weapon.dm b/code/defines/obj/weapon.dm index b9ccee8f360..4f424e03154 100644 --- a/code/defines/obj/weapon.dm +++ b/code/defines/obj/weapon.dm @@ -84,7 +84,6 @@ throw_speed = 4 throw_range = 5 - /obj/item/weapon/cane name = "cane" desc = "A cane used by a true gentlemen. Or a clown." @@ -99,42 +98,44 @@ attack_verb = list("bludgeoned", "whacked", "disciplined", "thrashed") /obj/item/weapon/cane/concealed - var/atom/movable/concealed_blade + var/concealed_blade -/obj/item/weapon/cane/concealed/New(var/blade) +/obj/item/weapon/cane/concealed/New() ..() - if(!isturf(blade)) - concealed_blade = blade - else - concealed_blade = new/obj/item/weapon/kitchenknife/concealed(src) - loc = blade + concealed_blade = new/obj/item/weapon/butterfly/switchblade(src) /obj/item/weapon/cane/concealed/attack_self(mob/user) - user.visible_message("[user] has unsheathed a blade from \his [src]!", "You unsheathe the blade from \the [src].") - // Calling drop/put in hands to properly call item drop/pickup procs - user.drop_from_inventory(src) - user.put_in_hands(concealed_blade) - loc = concealed_blade - -/obj/item/weapon/kitchenknife/concealed - name = "cane blade" - desc = "A now less than concealed cane blade." - var/atom/movable/container - -/obj/item/weapon/kitchenknife/concealed/New(var/container) - ..() - if(!isturf(container)) - src.container = container + if(concealed_blade) + user.visible_message("[user] has unsheathed \a [concealed_blade] from \his [src]!", "You unsheathe \the [concealed_blade] from \the [src].") + // Calling drop/put in hands to properly call item drop/pickup procs + playsound(user.loc, 'sound/weapons/flipblade.ogg', 50, 1) + user.drop_from_inventory(src) + user.put_in_hands(concealed_blade) + user.put_in_hands(src) + concealed_blade = null + update_icon() else - container = new/obj/item/weapon/cane/concealed(src) - loc = container + ..() -/obj/item/weapon/kitchenknife/concealed/attack_self(mob/user) - user.visible_message("[user] has sheathed a blade into \his [container]!", "You sheathe the blade into \the [container].") - // Calling drop/put in hands to properly call item drop/pickup procs - user.drop_from_inventory(src) - user.put_in_hands(container) - loc = container +/obj/item/weapon/cane/concealed/attackby(var/obj/item/weapon/butterfly/W, var/mob/user) + if(!src.concealed_blade && istype(W)) + user.visible_message("[user] has sheathed \a [W] into \his [src]!", "You sheathe \the [W] into \the [src].") + user.drop_from_inventory(W) + W.loc = src + src.concealed_blade = W + update_icon() + else + ..() + +/obj/item/weapon/cane/concealed/update_icon() + if(concealed_blade) + name = initial(name) + icon_state = initial(icon_state) + item_state = initial(icon_state) + else + name = "cane shaft" + icon_state = "nullrod" + item_state = "foldcane" /obj/item/weapon/disk name = "disk" diff --git a/code/game/objects/items/devices/spy_bug.dm b/code/game/objects/items/devices/spy_bug.dm index cb8712af9e4..70e3628f67e 100644 --- a/code/game/objects/items/devices/spy_bug.dm +++ b/code/game/objects/items/devices/spy_bug.dm @@ -105,10 +105,10 @@ spawn(0) while(selected_camera && Adjacent(user)) var/turf/T = get_turf(selected_camera) - if(!T || T.z != user.z) + if(!T || !is_on_same_plane_or_station(T.z, user.z) || !selected_camera.can_use()) user.unset_machine() user.reset_view(null) - user << "[selected_camera] out of range." + user << "[selected_camera] unavailable." sleep(90) else user.set_machine(selected_camera) diff --git a/code/game/objects/items/weapons/storage/firstaid.dm b/code/game/objects/items/weapons/storage/firstaid.dm index 39e7bff51ea..e2d45e0fac8 100644 --- a/code/game/objects/items/weapons/storage/firstaid.dm +++ b/code/game/objects/items/weapons/storage/firstaid.dm @@ -84,7 +84,7 @@ ..() if (empty) return new /obj/item/weapon/reagent_containers/pill/dexalin( src ) - new /obj/item/weapon/reagent_containers/pill/( src ) + new /obj/item/weapon/reagent_containers/pill/dexalin( src ) new /obj/item/weapon/reagent_containers/pill/dexalin( src ) new /obj/item/weapon/reagent_containers/pill/dexalin( src ) new /obj/item/weapon/reagent_containers/hypospray/autoinjector( src ) diff --git a/code/game/objects/items/weapons/storage/uplink_kits.dm b/code/game/objects/items/weapons/storage/uplink_kits.dm index ec5e44cfa00..aa66b26f12b 100644 --- a/code/game/objects/items/weapons/storage/uplink_kits.dm +++ b/code/game/objects/items/weapons/storage/uplink_kits.dm @@ -168,7 +168,7 @@ new /obj/item/device/spy_monitor(src) /obj/item/weapon/storage/box/syndie_kit/g9mm - name = "Smooth operator" + name = "\improper Smooth operator" desc = "9mm with silencer kit." /obj/item/weapon/storage/box/syndie_kit/g9mm/New() @@ -177,7 +177,7 @@ new /obj/item/weapon/silencer(src) /obj/item/weapon/storage/box/syndie_kit/cigarette - name = "cigarette kit" + name = "\improper Tricky smokes" desc = "Comes with the following brands of cigarettes, in this order: 2xFlash, 2xSmoke, 1xMindBreaker, 1xTricordrazine. Avoid mixing them up." /obj/item/weapon/storage/box/syndie_kit/cigarette/New() diff --git a/icons/mob/items_lefthand.dmi b/icons/mob/items_lefthand.dmi index 31b77f83e02ff0f9f603e7a73ed91b29974a6ac7..efc73c543680e562e0be58609a4887a11a5aeb75 100644 GIT binary patch literal 156003 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 z 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�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%0Ah&PND=Kw8m@*xm5QK;xeLN&I+ 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

    o}T)CE&1hN(;cnvI@Pn< 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

    hSge<{ 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 h64Yb)c0XA|{ITlL)O>!(2= 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 DM}QV{5O>)))PgxBgb^LsQ~ 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%0AMg|v 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

    i)Y9hM2vmYsj%pv#p1RCwygp*Vh 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 literal 148769 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

    W^|JK9Rq*7))G$&6 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 bn@q+0)b@h^#{}b(-xZ&$Ju7 Date: Thu, 12 Feb 2015 20:27:28 +0000 Subject: [PATCH 104/143] Fixes template modification exploit for crew monitoring computer --- code/game/machinery/computer/crew.dm | 29 +++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/code/game/machinery/computer/crew.dm b/code/game/machinery/computer/crew.dm index fdbaae21cc8..06fd906ea88 100644 --- a/code/game/machinery/computer/crew.dm +++ b/code/game/machinery/computer/crew.dm @@ -68,33 +68,36 @@ for(var/obj/item/clothing/under/C in src.tracked) - var/turf/pos = get_turf(C) - if((C) && (C.has_sensor) && (pos) && (pos.z == src.z) && C.sensor_mode) + if((C) && (C.has_sensor) && (pos) && (pos.z == src.z) && (C.sensor_mode != SUIT_SENSOR_OFF)) if(istype(C.loc, /mob/living/carbon/human)) var/mob/living/carbon/human/H = C.loc if(H.w_uniform != C) continue - var/list/crewmemberData = list() + var/list/crewmemberData = list("dead"=0, "oxy"=-1, "tox"=-1, "fire"=-1, "brute"=-1, "area"="", "x"=-1, "y"=-1) crewmemberData["sensor_type"] = C.sensor_mode - crewmemberData["dead"] = H.stat > 1 - crewmemberData["oxy"] = round(H.getOxyLoss(), 1) - crewmemberData["tox"] = round(H.getToxLoss(), 1) - crewmemberData["fire"] = round(H.getFireLoss(), 1) - crewmemberData["brute"] = round(H.getBruteLoss(), 1) - crewmemberData["name"] = H.get_authentification_name(if_no_id="Unknown") crewmemberData["rank"] = H.get_authentification_rank(if_no_id="Unknown", if_no_job="No Job") crewmemberData["assignment"] = H.get_assignment(if_no_id="Unknown", if_no_job="No Job") - var/area/A = get_area(H) - crewmemberData["area"] = sanitize(A.name) - crewmemberData["x"] = pos.x - crewmemberData["y"] = pos.y + if(C.sensor_mode >= SUIT_SENSOR_BINARY) + crewmemberData["dead"] = H.stat > 1 + + if(C.sensor_mode >= SUIT_SENSOR_VITAL) + crewmemberData["oxy"] = round(H.getOxyLoss(), 1) + crewmemberData["tox"] = round(H.getToxLoss(), 1) + crewmemberData["fire"] = round(H.getFireLoss(), 1) + crewmemberData["brute"] = round(H.getBruteLoss(), 1) + + if(C.sensor_mode >= SUIT_SENSOR_TRACKING) + var/area/A = get_area(H) + crewmemberData["area"] = sanitize(A.name) + crewmemberData["x"] = pos.x + crewmemberData["y"] = pos.y crewmembers[++crewmembers.len] = crewmemberData From 01798c98b62829c6584c4d454d6c1cf83a4c88d2 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Fri, 13 Feb 2015 00:40:18 -0500 Subject: [PATCH 105/143] Rewrites syringe and dart guns --- .../objects/items/weapons/storage/boxes.dm | 18 +- code/modules/admin/verbs/vox_raiders.dm | 4 +- code/modules/mob/living/carbon/human/human.dm | 9 +- .../mob/living/carbon/human/human_defense.dm | 7 + code/modules/mob/living/living_defense.dm | 9 +- code/modules/projectiles/gun.dm | 1 + code/modules/projectiles/guns/projectile.dm | 29 +- code/modules/projectiles/projectile.dm | 1 + code/modules/reagents/dartgun.dm | 266 ++++++------------ .../reagents/reagent_containers/syringes.dm | 15 +- code/modules/reagents/syringe_gun.dm | 235 ++++++++-------- code/modules/research/designs.dm | 6 +- icons/obj/ammo.dmi | Bin 4637 -> 4887 bytes icons/obj/syringe.dmi | Bin 3323 -> 3325 bytes maps/exodus-1.dmm | 2 +- maps/exodus-2.dmm | 2 +- 16 files changed, 269 insertions(+), 335 deletions(-) diff --git a/code/game/objects/items/weapons/storage/boxes.dm b/code/game/objects/items/weapons/storage/boxes.dm index ddc0709a62c..a1681641ae8 100644 --- a/code/game/objects/items/weapons/storage/boxes.dm +++ b/code/game/objects/items/weapons/storage/boxes.dm @@ -79,7 +79,7 @@ /obj/item/weapon/storage/box/syringes name = "box of syringes" desc = "A box full of syringes." - desc = "A biohazard alert warning is printed on the box" +// desc = "A biohazard alert warning is printed on the box" icon_state = "syringe" New() @@ -92,6 +92,22 @@ new /obj/item/weapon/reagent_containers/syringe( src ) new /obj/item/weapon/reagent_containers/syringe( src ) +/obj/item/weapon/storage/box/syringegun + name = "box of compressed gas cartridges" + desc = "A box full of compressed gas cartridges." + icon_state = "syringe" + + New() + ..() + new /obj/item/ammo_casing/gas_cartridge( src ) + new /obj/item/ammo_casing/gas_cartridge( src ) + new /obj/item/ammo_casing/gas_cartridge( src ) + new /obj/item/ammo_casing/gas_cartridge( src ) + new /obj/item/ammo_casing/gas_cartridge( src ) + new /obj/item/ammo_casing/gas_cartridge( src ) + new /obj/item/ammo_casing/gas_cartridge( src ) + + /obj/item/weapon/storage/box/beakers name = "box of beakers" icon_state = "beaker" diff --git a/code/modules/admin/verbs/vox_raiders.dm b/code/modules/admin/verbs/vox_raiders.dm index 6676acec327..6c34bb92c61 100644 --- a/code/modules/admin/verbs/vox_raiders.dm +++ b/code/modules/admin/verbs/vox_raiders.dm @@ -37,7 +37,7 @@ var/global/vox_tick = 1 equip_to_slot_or_del(new /obj/item/weapon/storage/belt/utility/full(src), slot_belt) equip_to_slot_or_del(new /obj/item/clothing/glasses/thermal/monocle(src), slot_glasses) // REPLACE WITH CODED VOX ALTERNATIVE. equip_to_slot_or_del(new /obj/item/weapon/card/emag(src), slot_l_store) - equip_to_slot_or_del(new /obj/item/weapon/gun/dartgun/vox/raider(src), slot_r_hand) + equip_to_slot_or_del(new /obj/item/weapon/gun/projectile/dartgun/vox/raider(src), slot_r_hand) equip_to_slot_or_del(new /obj/item/device/multitool(src), slot_l_hand) if(4) // Vox medic! @@ -46,7 +46,7 @@ var/global/vox_tick = 1 equip_to_slot_or_del(new /obj/item/weapon/storage/belt/utility/full(src), slot_belt) // Who needs actual surgical tools? equip_to_slot_or_del(new /obj/item/clothing/glasses/hud/health(src), slot_glasses) // REPLACE WITH CODED VOX ALTERNATIVE. equip_to_slot_or_del(new /obj/item/weapon/circular_saw(src), slot_l_store) - equip_to_slot_or_del(new /obj/item/weapon/gun/dartgun/vox/medical, slot_r_hand) + equip_to_slot_or_del(new /obj/item/weapon/gun/projectile/dartgun/vox/medical, slot_r_hand) equip_to_slot_or_del(new /obj/item/clothing/mask/breath(src), slot_wear_mask) equip_to_slot_or_del(new /obj/item/weapon/tank/nitrogen(src), slot_back) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index dd5bfe7d594..38ffc73f4e8 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -1220,10 +1220,11 @@ /mob/living/carbon/human/can_inject(var/mob/user, var/error_msg, var/target_zone) . = 1 - if(!user) - target_zone = pick("chest","chest","chest","left leg","right leg","left arm", "right arm", "head") - else if(!target_zone) - target_zone = user.zone_sel.selecting + if(!target_zone) + if(!user) + target_zone = pick("chest","chest","chest","left leg","right leg","left arm", "right arm", "head") + else + target_zone = user.zone_sel.selecting switch(target_zone) if("head") diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index a45a11f4533..858bee60c17 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -389,6 +389,13 @@ emp_act src.anchored = 1 src.pinned += O +/mob/living/carbon/human/embed(var/obj/O, var/def_zone=null) + if(!def_zone) ..() + + var/datum/organ/external/affecting = get_organ(def_zone) + if(affecting) + affecting.embed(O) + /mob/living/carbon/human/proc/bloody_hands(var/mob/living/source, var/amount = 2) if (gloves) diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm index 1783bad912b..2fa9cdc4b60 100644 --- a/code/modules/mob/living/living_defense.dm +++ b/code/modules/mob/living/living_defense.dm @@ -148,8 +148,7 @@ if(W.sharp) //Projectile is suitable for pinning. //Handles embedding for non-humans and simple_animals. - O.loc = src - src.embedded += O + embed(O) var/turf/T = near_wall(dir,2) @@ -158,7 +157,11 @@ visible_message("[src] is pinned to the wall by [O]!","You are pinned to the wall by [O]!") src.anchored = 1 src.pinned += O - src.verbs += /mob/proc/yank_out_object + +/mob/living/proc/embed(var/obj/O, var/def_zone=null) + O.loc = src + src.embedded += O + src.verbs += /mob/proc/yank_out_object //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/projectiles/gun.dm b/code/modules/projectiles/gun.dm index d0158816ca5..dd7aec246fc 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -165,6 +165,7 @@ if(recoil) spawn() shake_camera(user, recoil + 1, recoil) + update_icon() //does the actual shooting /obj/item/weapon/gun/proc/process_projectile(obj/projectile, mob/user, atom/target, var/target_zone, var/params=null, var/pointblank=0, var/reflex=0) diff --git a/code/modules/projectiles/guns/projectile.dm b/code/modules/projectiles/guns/projectile.dm index b467b31a1e1..26b42308ad7 100644 --- a/code/modules/projectiles/guns/projectile.dm +++ b/code/modules/projectiles/guns/projectile.dm @@ -1,4 +1,4 @@ -#define HOLD_CASINGS 0 //do not do anything after firing. Manual action, like pump shotguns +#define HOLD_CASINGS 0 //do not do anything after firing. Manual action, like pump shotguns, or guns that want to define custom behaviour #define EJECT_CASINGS 1 //drop spent casings on the ground after firing #define CYCLE_CASINGS 2 //experimental: cycle casings, like a revolver. Also works for multibarrelled guns @@ -53,16 +53,19 @@ ..() if(chambered) chambered.expend() + + //check chambered again in case it deleted itself + if(chambered && handle_casings != HOLD_CASINGS) switch(handle_casings) if(EJECT_CASINGS) //eject casing onto ground. chambered.loc = get_turf(src) - chambered = null if(CYCLE_CASINGS) //cycle the casing back to the end. if(ammo_magazine) ammo_magazine.stored_ammo += chambered else loaded += chambered - chambered = null + chambered = null + //Attempts to load A into src, depending on the type of thing being loaded and the load_method //Maybe this should be broken up into separate procs for each load method? @@ -81,6 +84,7 @@ AM.loc = src ammo_magazine = AM user.visible_message("[user] inserts [AM] into [src].", "You insert [AM] into [src]!") + playsound(src.loc, 'sound/weapons/flipblade.ogg', 50, 1) if(SPEEDLOADER) if(loaded.len >= max_shells) user << "[src] is full!" @@ -96,6 +100,7 @@ count++ if(count) user.visible_message("[user] reloads [src].", "You load [count] round\s into [src]!") + playsound(src.loc, 'sound/weapons/empty.ogg', 50, 1) AM.update_icon() else if(istype(A, /obj/item/ammo_casing)) var/obj/item/ammo_casing/C = A @@ -109,20 +114,22 @@ C.loc = src loaded.Insert(1, C) //add to the head of the list user.visible_message("[user] inserts \a [C] into [src].", "You insert \a [C] into [src]!") + playsound(src.loc, 'sound/weapons/empty.ogg', 50, 1) update_icon() -//attempts to unload src -/obj/item/weapon/gun/projectile/proc/unload_ammo(mob/user) +//attempts to unload src. If allow_dump is set to 0, the speedloader unloading method will be disabled +/obj/item/weapon/gun/projectile/proc/unload_ammo(mob/user, var/allow_dump=1) if(ammo_magazine) user.put_in_hands(ammo_magazine) user.visible_message("[user] removes [ammo_magazine] from [src].", "You remove [ammo_magazine] from [src]!") + playsound(src.loc, 'sound/weapons/empty.ogg', 50, 1) ammo_magazine.update_icon() ammo_magazine = null else if(loaded.len) //presumably, if it can be speed-loaded, it can be speed-unloaded. - if(load_method & SPEEDLOADER) + if(allow_dump && load_method & SPEEDLOADER) var/count = 0 var/turf/T = get_turf(user) if(T) @@ -145,17 +152,11 @@ load_ammo(A, user) /obj/item/weapon/gun/projectile/attack_self(mob/user as mob) - if (aim_targets) //TODO replace untargeting with a hotkey - return ..() unload_ammo(user) /obj/item/weapon/gun/projectile/attack_hand(mob/user as mob) - //allow guns with both SPEEDLOADER and SINGLE_CASING a way to remove casings without dumping everything on the floor - if((load_method & SINGLE_CASING) && loaded.len && (src in user)) - var/obj/item/ammo_casing/C = loaded[loaded.len] - loaded.len-- - user.put_in_hands(C) - user.visible_message("[user] removes \a [C] from [src].", "You remove \a [C] from [src]!") + if(src in user) + unload_ammo(user, allow_dump=0) else return ..() diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index 131e1523544..f16359ad4bb 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -229,6 +229,7 @@ /obj/item/projectile/process() spawn while(src) if(kill_count-- < 1) + on_impact(src.loc) //for any final impact behaviours del(src) if((!( current ) || loc == current)) current = locate(min(max(x + xo, 1), world.maxx), min(max(y + yo, 1), world.maxy), z) diff --git a/code/modules/reagents/dartgun.dm b/code/modules/reagents/dartgun.dm index d256f4f5f3c..7fa6d52e2e7 100644 --- a/code/modules/reagents/dartgun.dm +++ b/code/modules/reagents/dartgun.dm @@ -1,66 +1,94 @@ -/obj/item/weapon/dart_cartridge +/obj/item/projectile/bullet/chemdart + name = "dart" + icon_state = "cbbolt" + damage = 3 + sharp = 1 + embed = 1 + var/reagent_amount = 15 + kill_count = 10 //short range + +/obj/item/projectile/bullet/chemdart/New() + reagents = new/datum/reagents(reagent_amount) + reagents.my_atom = src + +/obj/item/projectile/bullet/chemdart/on_hit(var/atom/target, var/blocked = 0, var/def_zone = null) + if(blocked < 2 && isliving(target)) + var/mob/living/L = target + if(L.can_inject(target_zone=def_zone)) + reagents.trans_to(L, reagent_amount) + +/obj/item/ammo_casing/chemdart + name = "chemical dart" + desc = "A small hollow dart." + icon_state = "dart" + caliber = "dart" + projectile_type = /obj/item/projectile/bullet/chemdart + +/obj/item/ammo_magazine/chemdart name = "dart cartridge" desc = "A rack of hollow darts." - icon = 'icons/obj/ammo.dmi' - icon_state = "darts-5" + icon_state = "darts" item_state = "rcdammo" - opacity = 0 - density = 0 - anchored = 0.0 origin_tech = "materials=2" - var/darts = 5 + mag_type = MAGAZINE + caliber = "dart" + max_ammo = 5 + multiple_sprites = 1 -/obj/item/weapon/dart_cartridge/update_icon() - if(!darts) - icon_state = "darts-0" - else if(darts > 5) - icon_state = "darts-5" - else - icon_state = "darts-[darts]" - return 1 - -/obj/item/weapon/gun/dartgun +/obj/item/weapon/gun/projectile/dartgun name = "dart gun" desc = "A small gas-powered dartgun, capable of delivering chemical cocktails swiftly across short distances." icon_state = "dartgun-empty" + caliber = "dart" + fire_sound = 'sound/weapons/empty.ogg' + fire_sound_text = "a metallic click" + recoil = 0 + silenced = 1 + load_method = MAGAZINE + magazine_type = /obj/item/ammo_magazine/chemdart + auto_eject = 0 + var/list/beakers = list() //All containers inside the gun. var/list/mixing = list() //Containers being used for mixing. - var/obj/item/weapon/dart_cartridge/cartridge = null //Container of darts. var/max_beakers = 3 var/dart_reagent_amount = 15 var/container_type = /obj/item/weapon/reagent_containers/glass/beaker var/list/starting_chems = null -/obj/item/weapon/gun/dartgun/update_icon() - - if(!cartridge) - icon_state = "dartgun-empty" - return 1 - - if(!cartridge.darts) - icon_state = "dartgun-0" - else if(cartridge.darts > 5) - icon_state = "dartgun-5" - else - icon_state = "dartgun-[cartridge.darts]" - return 1 - -/obj/item/weapon/gun/dartgun/New() - +/obj/item/weapon/gun/projectile/dartgun/dartgun/New() ..() if(starting_chems) for(var/chem in starting_chems) var/obj/B = new container_type(src) - B.reagents.add_reagent(chem, 50) + B.reagents.add_reagent(chem, 60) beakers += B - cartridge = new /obj/item/weapon/dart_cartridge(src) update_icon() -/obj/item/weapon/gun/dartgun/examine(mob/user) - update_icon() - if (!..(user, 2)) - return +/obj/item/weapon/gun/projectile/dartgun/update_icon() + if(!ammo_magazine) + icon_state = "dartgun-empty" + return 1 + + if(!ammo_magazine.stored_ammo || ammo_magazine.stored_ammo.len) + icon_state = "dartgun-0" + else if(ammo_magazine.stored_ammo.len > 5) + icon_state = "dartgun-5" + else + icon_state = "dartgun-[ammo_magazine.stored_ammo.len]" + return 1 + +/obj/item/weapon/gun/projectile/dartgun/consume_next_projectile() + . = ..() + var/obj/item/projectile/bullet/chemdart/dart = . + if(istype(dart)) + fill_dart(dart) + +/obj/item/weapon/gun/projectile/dartgun/examine(mob/user) + //update_icon() + //if (!..(user, 2)) + // return + ..() if (beakers.len) user << "\blue [src] contains:" for(var/obj/item/weapon/reagent_containers/glass/beaker/B in beakers) @@ -68,28 +96,7 @@ for(var/datum/reagent/R in B.reagents.reagent_list) user << "\blue [R.volume] units of [R.name]" -/obj/item/weapon/gun/dartgun/attackby(obj/item/I as obj, mob/user as mob) - if(istype(I, /obj/item/weapon/dart_cartridge)) - - var/obj/item/weapon/dart_cartridge/D = I - - if(!D.darts) - user << "\blue [D] is empty." - return 0 - - if(cartridge) - if(cartridge.darts <= 0) - src.remove_cartridge() - else - user << "\blue There's already a cartridge in [src]." - return 0 - - user.drop_item() - cartridge = D - D.loc = src - user << "\blue You slot [D] into [src]." - update_icon() - return +/obj/item/weapon/gun/projectile/dartgun/attackby(obj/item/I as obj, mob/user as mob) if(istype(I, /obj/item/weapon/reagent_containers/glass)) if(!istype(I, container_type)) user << "\blue [I] doesn't seem to fit into [src]." @@ -103,112 +110,16 @@ beakers += B user << "\blue You slot [B] into [src]." src.updateUsrDialog() - -/obj/item/weapon/gun/dartgun/can_fire() - if(!cartridge) - return 0 - else - return cartridge.darts - -/obj/item/weapon/gun/dartgun/proc/has_selected_beaker_reagents() - return 0 - -/obj/item/weapon/gun/dartgun/proc/remove_cartridge() - if(cartridge) - usr << "\blue You pop the cartridge out of [src]." - var/obj/item/weapon/dart_cartridge/C = cartridge - C.loc = get_turf(src) - C.update_icon() - cartridge = null - src.update_icon() - -/obj/item/weapon/gun/dartgun/proc/get_mixed_syringe() - if (!cartridge) - return 0 - if(!cartridge.darts) - return 0 - - var/obj/item/weapon/reagent_containers/syringe/dart = new(src) - - if(mixing.len) - var/mix_amount = dart_reagent_amount/mixing.len - for(var/obj/item/weapon/reagent_containers/glass/beaker/B in mixing) - B.reagents.trans_to(dart,mix_amount) - - return dart - -/obj/item/weapon/gun/dartgun/proc/fire_dart(atom/target, mob/user) - if (locate (/obj/structure/table, src.loc)) - return - else - var/turf/trg = get_turf(target) - var/obj/effect/syringe_gun_dummy/D = new/obj/effect/syringe_gun_dummy(get_turf(src)) - var/obj/item/weapon/reagent_containers/syringe/S = get_mixed_syringe() - if(!S) - user << "\red There are no darts in [src]!" - return - if(!S.reagents) - user << "\red There are no reagents available!" - return - cartridge.darts-- - src.update_icon() - S.reagents.trans_to(D, S.reagents.total_volume) - del(S) - D.icon_state = "syringeproj" - D.name = "syringe" - D.flags |= NOREACT - playsound(user.loc, 'sound/items/syringeproj.ogg', 50, 1) - - for(var/i=0, i<6, i++) - if(!D) break - if(D.loc == trg) break - step_towards(D,trg) - - if(D) - for(var/mob/living/carbon/M in D.loc) - if(!istype(M,/mob/living/carbon)) continue - if(M == user) continue - //Syringe gun attack logging by Yvarov - var/R - if(D.reagents) - for(var/datum/reagent/A in D.reagents.reagent_list) - R += A.id + " (" - R += num2text(A.volume) + ")," - if (istype(M, /mob)) - M.attack_log += "\[[time_stamp()]\] [user]/[user.ckey] shot [M]/[M.ckey] with a dartgun ([R])" - user.attack_log += "\[[time_stamp()]\] [user]/[user.ckey] shot [M]/[M.ckey] with a dartgun ([R])" - msg_admin_attack("[user] ([user.ckey]) shot [M] ([M.ckey]) with a dartgun ([R]) (JMP)") - - else - M.attack_log += "\[[time_stamp()]\] UNKNOWN SUBJECT (No longer exists) shot [M]/[M.ckey] with a dartgun ([R])" - msg_admin_attack("UNKNOWN shot [M] ([M.ckey]) with a dartgun ([R]) (JMP)") - - if(D.reagents) - D.reagents.trans_to(M, 15) - M << "You feel a slight prick." - - del(D) - break - if(D) - for(var/atom/A in D.loc) - if(A == user) continue - if(A.density) del(D) - - sleep(1) - - if (D) spawn(10) del(D) - - return - -/obj/item/weapon/gun/dartgun/afterattack(obj/target, mob/user , flag) - if(!isturf(target.loc) || target == user) return ..() -/obj/item/weapon/gun/dartgun/can_hit(var/mob/living/target as mob, var/mob/living/user as mob) - return 1 - -/obj/item/weapon/gun/dartgun/attack_self(mob/user) +//fills the given dart with reagents +/obj/item/weapon/gun/projectile/dartgun/proc/fill_dart(var/obj/item/projectile/bullet/chemdart/dart) + if(mixing.len) + var/mix_amount = dart.reagent_amount/mixing.len + for(var/obj/item/weapon/reagent_containers/glass/beaker/B in mixing) + B.reagents.trans_to(dart, mix_amount) +/obj/item/weapon/gun/projectile/dartgun/attack_self(mob/user) user.set_machine(src) var/dat = "[src] mixing control:

    " @@ -230,9 +141,9 @@ else dat += "There are no beakers inserted!

    " - if(cartridge) - if(cartridge.darts) - dat += "The dart cartridge has [cartridge.darts] shots remaining." + if(ammo_magazine) + if(ammo_magazine.stored_ammo && ammo_magazine.stored_ammo.len) + dat += "The dart cartridge has [ammo_magazine.stored_ammo.len] shots remaining." else dat += "The dart cartridge is empty!" dat += " \[Eject\]" @@ -240,7 +151,7 @@ user << browse(dat, "window=dartgun") onclose(user, "dartgun", src) -/obj/item/weapon/gun/dartgun/proc/check_beaker_mixing(var/obj/item/B) +/obj/item/weapon/gun/projectile/dartgun/proc/check_beaker_mixing(var/obj/item/B) if(!mixing || !beakers) return 0 for(var/obj/item/M in mixing) @@ -248,7 +159,7 @@ return 1 return 0 -/obj/item/weapon/gun/dartgun/Topic(href, href_list) +/obj/item/weapon/gun/projectile/dartgun/Topic(href, href_list) src.add_fingerprint(usr) if(href_list["stop_mix"]) var/index = text2num(href_list["stop_mix"]) @@ -271,23 +182,16 @@ beakers -= B B.loc = get_turf(src) else if (href_list["eject_cart"]) - remove_cartridge() + unload_ammo(usr) src.updateUsrDialog() return -/obj/item/weapon/gun/dartgun/Fire(atom/target as mob|obj|turf|area, mob/living/user as mob|obj, params, reflex = 0) - if(cartridge) - spawn(0) fire_dart(target,user) - else - usr << "\red [src] is empty." - - -/obj/item/weapon/gun/dartgun/vox +/obj/item/weapon/gun/projectile/dartgun/vox name = "alien dart gun" desc = "A small gas-powered dartgun, fitted for nonhuman hands." -/obj/item/weapon/gun/dartgun/vox/medical +/obj/item/weapon/gun/projectile/dartgun/vox/medical starting_chems = list("kelotane","bicaridine","anti_toxin") -/obj/item/weapon/gun/dartgun/vox/raider +/obj/item/weapon/gun/projectile/dartgun/vox/raider starting_chems = list("space_drugs","stoxin","impedrezene") \ No newline at end of file diff --git a/code/modules/reagents/reagent_containers/syringes.dm b/code/modules/reagents/reagent_containers/syringes.dm index c1d9b0fdec8..8aa34a7dcab 100644 --- a/code/modules/reagents/reagent_containers/syringes.dm +++ b/code/modules/reagents/reagent_containers/syringes.dm @@ -18,6 +18,7 @@ w_class = 1 sharp = 1 var/mode = SYRINGE_DRAW + var/image/filling //holds a reference to the current filling overlay on_reagent_change() update_icon() @@ -217,7 +218,7 @@ item_state = "syringe_[rounded_vol]" if(reagents.total_volume) - var/image/filling = image('icons/obj/reagentfillings.dmi', src, "syringe10") + filling = image('icons/obj/reagentfillings.dmi', src, "syringe10") filling.icon_state = "syringe[rounded_vol]" @@ -225,7 +226,7 @@ overlays += filling - /obj/item/weapon/reagent_containers/syringe/proc/syringestab(mob/living/carbon/target as mob, mob/living/carbon/user as mob) + proc/syringestab(mob/living/carbon/target as mob, mob/living/carbon/user as mob) user.attack_log += "\[[time_stamp()]\] Attacked [target.name] ([target.ckey]) with [src.name] (INTENT: [uppertext(user.a_intent)])" target.attack_log += "\[[time_stamp()]\] Attacked by [user.name] ([user.ckey]) with [src.name] (INTENT: [uppertext(user.a_intent)])" @@ -268,13 +269,19 @@ src.reagents.reaction(target, INGEST) var/syringestab_amount_transferred = rand(0, (reagents.total_volume - 5)) //nerfed by popular demand src.reagents.trans_to(target, syringestab_amount_transferred) + src.break_syringe(target, user) + + proc/break_syringe(mob/living/carbon/target, mob/living/carbon/user) src.desc += " It is broken." src.mode = SYRINGE_BROKEN - src.add_blood(target) - src.add_fingerprint(usr) + if(target) + src.add_blood(target) + if(user) + src.add_fingerprint(user) src.update_icon() + /obj/item/weapon/reagent_containers/ld50_syringe name = "Lethal Injection Syringe" desc = "A syringe used for lethal injections." diff --git a/code/modules/reagents/syringe_gun.dm b/code/modules/reagents/syringe_gun.dm index faecb798681..23a9eaa36b0 100644 --- a/code/modules/reagents/syringe_gun.dm +++ b/code/modules/reagents/syringe_gun.dm @@ -1,137 +1,130 @@ +/obj/item/ammo_casing/gas_cartridge + name = "compressed gas cartridge" + desc = "An impact-triggered compressed gas cartridge that can fitted to a syringe for rapid injection. It's not very useful until primed though." //i.e. only works when shot out of a syringe gun. + icon_state = "syringe-cartridge" + caliber = "syringe" + projectile_type = /obj/item/projectile/bullet/syringe + w_class = 2 //mainly so that they can be yanked out + var/obj/item/weapon/reagent_containers/syringe/syringe +/obj/item/ammo_casing/gas_cartridge/update_icon() + underlays.Cut() + if(syringe) + underlays += image(syringe.icon, src, syringe.icon_state) + underlays += syringe.filling +/obj/item/ammo_casing/gas_cartridge/attackby(obj/item/I, mob/user) + if(istype(I, /obj/item/weapon/reagent_containers/syringe)) + syringe = I + user << "You carefully insert [syringe] into [src]." + user.remove_from_mob(syringe) + syringe.loc = src + var/obj/item/projectile/bullet/syringe/S = BB + if(istype(S)) + S.damage = 1 + S.sharp = 1 + update_icon() -/obj/item/weapon/gun/syringe +/obj/item/ammo_casing/gas_cartridge/attack_self(mob/user) + if(syringe) + user << "You remove [syringe] from [src]." + user.put_in_hands(syringe) + syringe = null + var/obj/item/projectile/bullet/syringe/S = BB + if(istype(S)) + S.damage = initial(S.damage) + S.sharp = initial(S.sharp) + update_icon() + +//This was kind of rushed, there may very well be a simpler way to implement this. +//Sort of hacky, though nearly not as bad as the previous implementation: +//Basically the syringe gun is supposed to launch the entire syringe+cartrige assemby, but hitby() isn't powerfull enough to do what we need. +//Instead, we fire a projectile that transfers the reagents, and teleport the cartridge once we impact something. +/obj/item/projectile/bullet/syringe + name = "syringe dart" + icon_state = "cbbolt" + damage = 3 + check_armour = "bullet" + sharp = 0 + embed = 0 //we handle this ourselves + var/obj/item/ammo_casing/gas_cartridge/cartridge + var/embedded = 0 + kill_count = 10 //short range + +/obj/item/projectile/bullet/syringe/New(newloc) + ..() + //ensure that cartridge is always set + cartridge = newloc + if(!istype(cartridge)) + del(src) + +/obj/item/projectile/bullet/syringe/on_hit(var/atom/target, var/blocked = 0, var/def_zone = null) + //..() //not really necessary + if(blocked < 2 && cartridge.syringe && isliving(target)) + var/mob/living/L = target + + //inject + if(L.can_inject(target_zone=def_zone)) + if(cartridge.syringe.reagents) + cartridge.syringe.reagents.trans_to(L, 15) + cartridge.syringe.update_icon() + cartridge.update_icon() + + //embed + L.embed(cartridge, def_zone) + embedded = 1 + +/obj/item/projectile/bullet/syringe/on_impact(atom/A) + if(!embedded) + cartridge.loc = src.loc + if(cartridge.syringe) + cartridge.syringe.break_syringe(iscarbon(A)? A : null) + cartridge.update_icon() + + + +/obj/item/weapon/gun/projectile/syringe name = "syringe gun" desc = "A spring loaded rifle designed to fit syringes, designed to incapacitate unruly patients from a distance." icon = 'icons/obj/gun.dmi' icon_state = "syringegun" item_state = "syringegun" - w_class = 3.0 - throw_speed = 2 - throw_range = 10 - force = 4.0 - var/list/syringes = new/list() - var/max_syringes = 1 + w_class = 3 + force = 7 matter = list("metal" = 2000) + slot_flags = SLOT_BELT + + caliber = "syringe" + fire_sound = 'sound/weapons/empty.ogg' + fire_sound_text = "a metallic thunk" + recoil = 0 + handle_casings = HOLD_CASINGS + load_method = SINGLE_CASING + max_shells = 1 + var/drawn = 0 -/obj/item/weapon/gun/syringe/examine(mob/user) - if(..(user, 2)) - user << "\blue [syringes.len] / [max_syringes] syringes." +/obj/item/weapon/gun/projectile/syringe/consume_next_projectile() + if(chambered) + return chambered.BB + return null -/obj/item/weapon/gun/syringe/attackby(obj/item/I as obj, mob/user as mob) - if(istype(I, /obj/item/weapon/reagent_containers/syringe)) - var/obj/item/weapon/reagent_containers/syringe/S = I - if(S.mode != 2)//SYRINGE_BROKEN in syringes.dm - if(syringes.len < max_syringes) - user.drop_item() - I.loc = src - syringes += I - user << "\blue You put the syringe in [src]." - user << "\blue [syringes.len] / [max_syringes] syringes." - else - usr << "\red [src] cannot hold more syringes." - else - usr << "\red This syringe is broken!" +/obj/item/weapon/gun/projectile/syringe/attack_self(mob/living/user as mob) + if(!chambered && loaded.len) + playsound(src.loc, 'sound/weapons/flipblade.ogg', 50, 1) + user.visible_message("[user] draws back the bolt on [src], clicking it into place.", "You draw back the bolt on the [src], loading the spring!") + var/obj/item/ammo_casing/AC = loaded[1] //load next casing. + loaded -= AC //Remove casing from loaded list. + chambered = AC + max_shells -= 1 //to prevent people from storing an extra syringe + update_icon() - -/obj/item/weapon/gun/syringe/afterattack(obj/target, mob/user , flag) - if(!isturf(target.loc) || target == user) return +/obj/item/weapon/gun/projectile/syringe/handle_post_fire() ..() + chambered = null + max_shells = initial(max_shells) -/obj/item/weapon/gun/syringe/can_fire() - return syringes.len - -/obj/item/weapon/gun/syringe/can_hit(var/mob/living/target as mob, var/mob/living/user as mob) - return 1 //SHOOT AND LET THE GOD GUIDE IT (probably will hit a wall anyway) - -/obj/item/weapon/gun/syringe/Fire(atom/target as mob|obj|turf|area, mob/living/user as mob|obj, params, reflex = 0) - if(syringes.len) - spawn(0) fire_syringe(target,user) - else - usr << "\red [src] is empty." - -/obj/item/weapon/gun/syringe/proc/fire_syringe(atom/target, mob/user) - if (locate (/obj/structure/table, src.loc)) - return - else - var/turf/trg = get_turf(target) - var/obj/effect/syringe_gun_dummy/D = new/obj/effect/syringe_gun_dummy(get_turf(src)) - var/obj/item/weapon/reagent_containers/syringe/S = syringes[1] - if((!S) || (!S.reagents)) //ho boy! wot runtimes! - return - S.reagents.trans_to(D, S.reagents.total_volume) - syringes -= S - del(S) - D.icon_state = "syringeproj" - D.name = "syringe" - playsound(user.loc, 'sound/items/syringeproj.ogg', 50, 1) - - for(var/i=0, i<6, i++) - if(!D) break - if(D.loc == trg) break - step_towards(D,trg) - - if(D) - for(var/mob/living/carbon/M in D.loc) - if(!istype(M,/mob/living/carbon)) continue - if(M == user) continue - //Syringe gun attack logging by Yvarov - var/R - if(D.reagents) - for(var/datum/reagent/A in D.reagents.reagent_list) - R += A.id + " (" - R += num2text(A.volume) + ")," - if (istype(M, /mob)) - M.attack_log += "\[[time_stamp()]\] [user]/[user.ckey] shot [M]/[M.ckey] with a syringegun ([R])" - user.attack_log += "\[[time_stamp()]\] [user]/[user.ckey] shot [M]/[M.ckey] with a syringegun ([R])" - msg_admin_attack("[user] ([user.ckey]) shot [M] ([M.ckey]) with a syringegun ([R]) (JMP)") - - else - M.attack_log += "\[[time_stamp()]\] UNKNOWN SUBJECT (No longer exists) shot [M]/[M.ckey] with a syringegun ([R])" - msg_admin_attack("UNKNOWN shot [M] ([M.ckey]) with a syringegun ([R]) (JMP)") - - var/mob/living/T - if(istype(M,/mob/living)) - T = M - - M.visible_message("[M] is hit by the syringe!") - - if(T && istype(T) && T.can_inject()) - if(D.reagents) - D.reagents.trans_to(M, 15) - else - M.visible_message("The syringe bounces off [M]!") - - del(D) - break - if(D) - for(var/atom/A in D.loc) - if(A == user) continue - if(A.density) del(D) - - sleep(1) - - if (D) spawn(10) del(D) - - return - -/obj/item/weapon/gun/syringe/rapidsyringe +/obj/item/weapon/gun/projectile/syringe/rapid name = "rapid syringe gun" - desc = "A modification of the syringe gun design, using a rotating cylinder to store up to four syringes." + desc = "A modification of the syringe gun design, using a rotating cylinder to store up to four syringes. The spring still needs to be drawn between shots." icon_state = "rapidsyringegun" - max_syringes = 4 - - -/obj/effect/syringe_gun_dummy - name = "" - desc = "" - icon = 'icons/obj/chemical.dmi' - icon_state = "null" - anchored = 1 - density = 0 - - New() - var/datum/reagents/R = new/datum/reagents(15) - reagents = R - R.my_atom = src \ No newline at end of file + max_shells = 4 diff --git a/code/modules/research/designs.dm b/code/modules/research/designs.dm index e04618cf208..faf7e34d98d 100644 --- a/code/modules/research/designs.dm +++ b/code/modules/research/designs.dm @@ -451,7 +451,7 @@ datum/design/circuit/tcom/server name = "server mainframe" id = "tcom-server" build_path = /obj/item/weapon/circuitboard/telecomms/server - + datum/design/circuit/tcom/processor name = "processor unit" id = "tcom-processor" @@ -1312,7 +1312,7 @@ datum/design/item/weapon/rapidsyringe id = "rapidsyringe" req_tech = list("combat" = 3, "materials" = 3, "engineering" = 3, "biotech" = 2) materials = list("$metal" = 5000, "$glass" = 1000) - build_path = /obj/item/weapon/gun/syringe/rapidsyringe + build_path = /obj/item/weapon/gun/projectile/syringe/rapid /* datum/design/item/weapon/largecrossbow name = "Energy Crossbow" @@ -1567,7 +1567,7 @@ datum/design/item/mesons req_tech = list("magnets" = 2, "engineering" = 2) materials = list("$metal" = 50, "$glass" = 50) build_path = /obj/item/clothing/glasses/meson - + datum/design/item/binaryencrypt name = "Binary encryption key" desc = "Allows for deciphering the binary channel on-the-fly." diff --git a/icons/obj/ammo.dmi b/icons/obj/ammo.dmi index c1e14968f807d74af17961a76d53fc5ccc6fbec5..acade2ce1b265ed5f2222160b69622521ccbb9cf 100644 GIT binary patch delta 4500 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 GVEzN?>c2Dq delta 4249 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 N002ovPDHLkV1l-E+lc@G delta 2523 zcmV<12_*LY8T%Qq2mt}!lL-N13OlfCPSX$euJ_iHb^(Kb`7I#rM+OCu0wl@_?CtFp zk?dP$`xHQmptNk^oIImEN}4uZzfSwc*mx({dJ=sZ(CKvAv^Ml(Vwvqz07Pmy1R_#H z0T8L70EpC307Pm`ABAYBuNTKVI#h4j?RJZ$OP8ANXliN-EiElE-_au^nV1S7&u&LU zeZ6|=sJNtm1e-T+1_11TstB1y&tT=oAE^14Z`y>qx;n9P;XrwL zc~s(1gqREg>P4@`ss44NuEfZOdBexEN$fC>{66Y6qLPY(tM z2N8<^6gO+i#%w=SnUZn*X10Nua{hO?v=+OW4}lYRT}%@AE-v0neX5Z<=pvY6>S$o{XuCiY=qx z+-|q1ICa8&+c?+{RipB1W5i6#}|!)wLTwvKdMemg&|g7{#y@d7oi?x6 ztGzroZ~RL8sbQaCQD!mvll4xt_S&=AJq#nqTYD1CPCo5hW1j*bQo~0fh}2L3L~1Ai zA~h5Mk(!`J=+IWj$G6&ks4_7=|KdFVL05sSj*oA({ZM6MeE!75=MQC5OQOzyP!C{r ze0;0zhbj}}^Cu=ge<+(;5_SH0AAm>=onVuJ10Iur0}_9u3c%|4@Pt@F(E9*Z$A>2* z*<|Sxtd0*)NHU=hK%{0~4-g8gN25^#K1F9tHpm-+8F!Umf9o=Lx{-`0#`n@#h_D zX6sCAkPo0#{;saBsOpp&7RBoL@PsUcmbcy#SvffvzI6-jM~_Bbrx+KAq$OLoZdDuJ zXj^}P_W?*6($v@}3i9)ze3}{?qrUk{0g$w!sj+`i6geFD@|KEG0?NaFLy+rIYyFpAIr&#M{0Isof{ zO+$an<7!`jF0}SLu4Z7J@2!1Oc#z-F_>bQv_I<_9p` zZwklf|KY~jg)f1rDSy)9^S{1PmpM-M!=3-vH=6VS2{`_6WaZ=lh;952@IC-ZGnyJ3 zMR7?9Y&ILdk(Y~ zwRQ|dYPzk_y8c)w0Fn|Y6;&%hvorvv=|<~j+W-^*SpbQeA0nFgvqojpS8lUmmNuPE zFo_ti*Q>V5+6twlCj&FFMQfh|AeNITC)n(&l@KFK-&LSiB4Dv-Y7K37?( zF0Wm)MqR$#-Hn=>8ueR$LEBsO4a`m2O861XXwdIMLC8 zk3ap?bVnPis_>ir`vJ@!HjR9=2KUSU7FGnQ7N1_W`2l1^6+j>m5K3!)@#00bWmhWm zFKTPU#^=9q;X=^wqa!02`DhJJUHfH3G2-2BxA6OXhQAe;lwjX~zI~?KA3S(a3=R$= zp7H6m;DU_eXZR@*_Q=%2=x2=tMKua`}kGy%xv5GR(wNM6+*@5 z-%wR$=rB8eG=S}htOp1epZ>ss1E#)(74rjV%M)+=q2>oL`X3T;{4x-9A0Sfa^>TMN zo~x`>zm4ec?^l<9Q|;ylAqqiGu-;i!?%w_MrI+x*>C-_QDivH?(Y3JBlXM{Dvp`O# z)AsFEtHg`D&j0?0aZyYhz_6X-S61O@gd z5tb}jf~lz~(|nB2pMIqL8)1s`Yvov85y0)+w^3VLYnZ2}rw97@{0$8aVav=n!mK6b zC(2G0C)V%xqpYk9-6k_;8pY>7e*CzIL Date: Fri, 13 Feb 2015 16:08:52 +0800 Subject: [PATCH 106/143] Tweaked descriptions and settings of various TEG components. Maximum power of core vent and injector increased. --- .../components/binary_devices/circulator.dm | 9 ++++++--- code/ATMOSPHERICS/components/unary/vent_pump.dm | 8 ++++---- code/modules/power/generator.dm | 11 +++++++---- maps/exodus-1.dmm | 2 +- 4 files changed, 18 insertions(+), 12 deletions(-) diff --git a/code/ATMOSPHERICS/components/binary_devices/circulator.dm b/code/ATMOSPHERICS/components/binary_devices/circulator.dm index 65511491a4e..7b048a2708f 100644 --- a/code/ATMOSPHERICS/components/binary_devices/circulator.dm +++ b/code/ATMOSPHERICS/components/binary_devices/circulator.dm @@ -26,8 +26,8 @@ /obj/machinery/atmospherics/binary/circulator/New() ..() - desc = initial(desc) + " Its outlet port is to the [dir2text(dir)]." - air1.volume = 500 + desc = initial(desc) + " Its outlet port is to the [dir2text(dir)]." + air1.volume = 400 /obj/machinery/atmospherics/binary/circulator/proc/return_transfer_air() var/datum/gas_mixture/removed @@ -89,8 +89,11 @@ /obj/machinery/atmospherics/binary/circulator/attackby(obj/item/weapon/W as obj, mob/user as mob) if(istype(W, /obj/item/weapon/wrench)) + playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1) anchored = !anchored - user << "\blue You [anchored ? "secure" : "unsecure"] the bolts holding [src] to the floor." + user.visible_message("[user.name] [anchored ? "secures" : "unsecures"] the bolts holding [src.name] to the floor.", \ + "You [anchored ? "secure" : "unsecure"] the bolts holding [src] to the floor.", \ + "You hear a ratchet") if(anchored) if(dir & (NORTH|SOUTH)) diff --git a/code/ATMOSPHERICS/components/unary/vent_pump.dm b/code/ATMOSPHERICS/components/unary/vent_pump.dm index ed7290b00f3..4961d22e797 100644 --- a/code/ATMOSPHERICS/components/unary/vent_pump.dm +++ b/code/ATMOSPHERICS/components/unary/vent_pump.dm @@ -89,7 +89,7 @@ /obj/machinery/atmospherics/unary/vent_pump/engine name = "Engine Core Vent" power_channel = ENVIRON - power_rating = 15000 //15 kW ~ 20 HP + power_rating = 30000 //15 kW ~ 20 HP /obj/machinery/atmospherics/unary/vent_pump/engine/New() ..() @@ -183,11 +183,11 @@ //JESUS FUCK. THERE ARE LITERALLY 250 OF YOU MOTHERFUCKERS ON ZLEVEL ONE AND YOU DO THIS SHIT EVERY TICK WHEN VERY OFTEN THERE IS NO REASON TO if(pump_direction && pressure_checks == PRESSURE_CHECK_EXTERNAL && controller_iteration > 10) //99% of all vents - //Fucking hibernate because you ain't doing shit. + //Fucking hibernate because you ain't doing shit. hibernate = 1 spawn(rand(100,200)) //hibernate for 10 or 20 seconds randomly - hibernate = 0 - + hibernate = 0 + if (power_draw >= 0) last_power_draw = power_draw diff --git a/code/modules/power/generator.dm b/code/modules/power/generator.dm index c8277ee04ec..bb83481ade9 100644 --- a/code/modules/power/generator.dm +++ b/code/modules/power/generator.dm @@ -22,7 +22,7 @@ /obj/machinery/power/generator/New() ..() - + desc = initial(desc) + " Rated for [round(max_power/1000)] kW." spawn(1) reconnect() @@ -132,8 +132,11 @@ /obj/machinery/power/generator/attackby(obj/item/weapon/W as obj, mob/user as mob) if(istype(W, /obj/item/weapon/wrench)) + playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1) anchored = !anchored - user << "\blue You [anchored ? "secure" : "unsecure"] the bolts holding [src] to the floor." + user.visible_message("[user.name] [anchored ? "secures" : "unsecures"] the bolts holding [src.name] to the floor.", \ + "You [anchored ? "secure" : "unsecure"] the bolts holding [src] to the floor.", \ + "You hear a ratchet") use_power = anchored reconnect() else @@ -160,7 +163,7 @@ t += "
    " t += "Primary Circulator (top or left)
    " t += "Flow Capacity: [round(circ1.volume_capacity_used*100)]%
    " - t += "

    " + t += "
    " t += "Inlet Pressure: [round(circ1.air1.return_pressure(), 0.1)] kPa
    " t += "Inlet Temperature: [round(circ1.air1.temperature, 0.1)] K
    " t += "
    " @@ -184,7 +187,7 @@ t += "


    " t += "Refresh Close" - user << browse(t, "window=teg;size=460x300") + user << browse(t, "window=teg;size=360x420") onclose(user, "teg") return 1 diff --git a/maps/exodus-1.dmm b/maps/exodus-1.dmm index fcf67d78f28..5d3bcb1d24a 100644 --- a/maps/exodus-1.dmm +++ b/maps/exodus-1.dmm @@ -7197,7 +7197,7 @@ "cIu" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/table,/obj/machinery/camera{c_tag = "Engineering Locker Room"; dir = 1; network = list("SS13")},/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor,/area/engineering/locker_room) "cIv" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "0"; req_one_access_txt = "10;24"},/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/substation/engineering) "cIw" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/blast/regular{icon_state = "pdoor1"; id = "SupermatterPort"; layer = 3.3; name = "Supermatter Chamber Blast Door"},/turf/simulated/floor/plating,/area/engineering/engine_room) -"cIx" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 1; frequency = 1438; icon_state = "map_injector"; id = "cooling_in"; name = "Coolant Injector"; use_power = 1; pixel_y = 1; volume_rate = 700},/turf/simulated/floor/engine/nitrogen{icon_state = "warnplatecorner"; name = "plating"},/area/engineering/engine_room) +"cIx" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 1; frequency = 1438; icon_state = "map_injector"; id = "cooling_in"; name = "Coolant Injector"; pixel_y = 1; power_rating = 30000; use_power = 1; volume_rate = 700},/turf/simulated/floor/engine/nitrogen{icon_state = "warnplatecorner"; name = "plating"},/area/engineering/engine_room) "cIy" = (/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/engineering/engine_room) "cIz" = (/obj/machinery/door_control{id = "EngineVent"; name = "Engine Ventillatory Control"; pixel_x = -25; pixel_y = 0; req_access_txt = "10"},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/engineering/engine_room) "cIA" = (/obj/machinery/camera{c_tag = "Engineering Core West"; dir = 8; network = list("SS13","Supermatter")},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engineering/engine_room) From dc1774e23b2a581efd095ab0ff0e5b9e59ee300e Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Fri, 13 Feb 2015 09:43:18 +0100 Subject: [PATCH 107/143] Adds missing Event cost stat. --- code/modules/mob/mob.dm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index 15347c25805..5a86291dd53 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -792,7 +792,7 @@ note dizziness decrements automatically in the mob's Life() proc. /mob/Stat() ..() - if(statpanel("Status")) //not looking at that panel + if(statpanel("MC")) //not looking at that panel if(client && client.holder) stat(null,"Location:\t([x], [y], [z])") @@ -808,6 +808,7 @@ note dizziness decrements automatically in the mob's Life() proc. stat(null,"Obj-[master_controller.objects_cost]\t#[processing_objects.len]") stat(null,"Net-[master_controller.networks_cost]\tPnet-[master_controller.powernets_cost]") stat(null,"NanoUI-[master_controller.nano_cost]\t#[nanomanager.processing_uis.len]") + stat(null,"Events-[master_controller.events_cost]\t#[event_manager.active_events.len]") stat(null,"Tick-[master_controller.ticker_cost]\tALL-[master_controller.total_cost]") else stat(null,"MasterController-ERROR") @@ -1210,4 +1211,4 @@ mob/proc/yank_out_object() /mob/verb/westfaceperm() set hidden = 1 facing_dir = null - set_face_dir(WEST) + set_face_dir(WEST) From cc62c987eaf562e23833758d5c7cb264a7131ddd Mon Sep 17 00:00:00 2001 From: RavingManiac Date: Fri, 13 Feb 2015 18:34:48 +0800 Subject: [PATCH 108/143] Some TEG refactoring and UI improvements "circulator/heat exchanger" is now just called "circulator" --- .../components/binary_devices/circulator.dm | 2 +- code/modules/power/generator.dm | 34 +++++++++++++------ 2 files changed, 25 insertions(+), 11 deletions(-) diff --git a/code/ATMOSPHERICS/components/binary_devices/circulator.dm b/code/ATMOSPHERICS/components/binary_devices/circulator.dm index 7b048a2708f..a4b720302b2 100644 --- a/code/ATMOSPHERICS/components/binary_devices/circulator.dm +++ b/code/ATMOSPHERICS/components/binary_devices/circulator.dm @@ -4,7 +4,7 @@ #define ADIABATIC_EXPONENT 0.667 //Actually adiabatic exponent - 1. /obj/machinery/atmospherics/binary/circulator - name = "circulator/heat exchanger" + name = "circulator" desc = "A gas circulator turbine and heat exchanger." icon = 'icons/obj/pipes.dmi' icon_state = "circ-off" diff --git a/code/modules/power/generator.dm b/code/modules/power/generator.dm index bb83481ade9..f6f7f135e26 100644 --- a/code/modules/power/generator.dm +++ b/code/modules/power/generator.dm @@ -14,6 +14,9 @@ var/obj/machinery/atmospherics/binary/circulator/circ1 var/obj/machinery/atmospherics/binary/circulator/circ2 + var/last_circ1_gen = 0 + var/last_circ2_gen = 0 + var/last_thermal_gen = 0 var/stored_energy = 0 var/lastgen1 = 0 var/lastgen2 = 0 @@ -73,6 +76,9 @@ lastgen2 = lastgen1 lastgen1 = 0 + last_thermal_gen = 0 + last_circ1_gen = 0 + last_circ2_gen = 0 if(air1 && air2) var/air1_heat_capacity = air1.heat_capacity() @@ -82,7 +88,7 @@ if(delta_temperature > 0 && air1_heat_capacity > 0 && air2_heat_capacity > 0) var/energy_transfer = delta_temperature*air2_heat_capacity*air1_heat_capacity/(air2_heat_capacity+air1_heat_capacity) var/heat = energy_transfer*(1-thermal_efficiency) - stored_energy += energy_transfer*thermal_efficiency + last_thermal_gen = energy_transfer*thermal_efficiency if(air2.temperature > air1.temperature) air2.temperature = air2.temperature - energy_transfer/air2_heat_capacity @@ -111,8 +117,9 @@ stored_energy *= 0.5 //Power - stored_energy += circ1.return_stored_energy() - stored_energy += circ2.return_stored_energy() + last_circ1_gen = circ1.return_stored_energy() + last_circ2_gen = circ2.return_stored_energy() + stored_energy += last_thermal_gen + last_circ1_gen + last_circ2_gen lastgen1 = stored_energy*0.4 //smoothened power generation to prevent slingshotting as pressure is equalized, then restored by pumps stored_energy -= lastgen1 effective_gen = (lastgen1 + lastgen2) / 2 @@ -156,12 +163,18 @@ user.set_machine(src) - var/t = "
    Thermo-Electric Generator
    " + var/t = "
    Thermoelectric Generator
    " + t += "Total Output: [round(effective_gen/1000)] kW
    " + t += "Thermal Output: [round(last_thermal_gen/1000)] kW
    " + t += "
    " + + var/vertical = 0 + if (dir == NORTH || dir == SOUTH) + vertical = 1 if(circ1 && circ2) - t += "Output : [round(effective_gen/1000)] kW
    " - t += "
    " - t += "Primary Circulator (top or left)
    " + t += "Primary Circulator ([vertical ? "top" : "left"])
    " + t += "Turbine Output: [round(last_circ1_gen/1000)] kW
    " t += "Flow Capacity: [round(circ1.volume_capacity_used*100)]%
    " t += "
    " t += "Inlet Pressure: [round(circ1.air1.return_pressure(), 0.1)] kPa
    " @@ -170,7 +183,8 @@ t += "Outlet Pressure: [round(circ1.air2.return_pressure(), 0.1)] kPa
    " t += "Outlet Temperature: [round(circ1.air2.temperature, 0.1)] K
    " t += "
    " - t += "Secondary Circulator (bottom or right)
    " + t += "Secondary Circulator ([vertical ? "bottom" : "right"])
    " + t += "Turbine Output: [round(last_circ2_gen/1000)] kW
    " t += "Flow Capacity: [round(circ2.volume_capacity_used*100)]%
    " t += "
    " t += "Inlet Pressure: [round(circ2.air1.return_pressure(), 0.1)] kPa
    " @@ -183,11 +197,11 @@ t += "Unable to connect to circulators.
    " t += "Ensure both are in position and wrenched into place." - t += "
    " + t += "
    " t += "
    " t += "Refresh Close" - user << browse(t, "window=teg;size=360x420") + user << browse(t, "window=teg;size=400x500") onclose(user, "teg") return 1 From f8977c65af0b2bfb46b4126758d74ab3fd1680b0 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Fri, 13 Feb 2015 21:21:43 -0500 Subject: [PATCH 109/143] Much nicer syringe gun implementation Makes syringe guns a type of launcher gun, and removes the hack projectile. Also moves syringe and dart gun source files into the modules/projectile folder. --- baystation12.dme | 4 +- code/defines/obj/weapon.dm | 2 +- .../objects/items/weapons/storage/boxes.dm | 14 +- .../mob/living/carbon/human/human_defense.dm | 21 +-- code/modules/mob/living/living_defense.dm | 19 +-- code/modules/projectiles/guns/alien.dm | 2 +- code/modules/projectiles/guns/energy/stun.dm | 2 +- code/modules/projectiles/guns/launcher.dm | 12 +- .../projectiles/guns/launcher/pneumatic.dm | 2 +- .../projectiles/guns/launcher/syringe_gun.dm | 135 ++++++++++++++++++ code/modules/projectiles/guns/projectile.dm | 18 +-- .../guns/projectile}/dartgun.dm | 0 code/modules/reagents/syringe_gun.dm | 130 ----------------- code/modules/research/designs.dm | 2 +- code/setup.dm | 2 +- icons/obj/ammo.dmi | Bin 4887 -> 4999 bytes maps/exodus-1.dmm | 2 +- 17 files changed, 185 insertions(+), 182 deletions(-) create mode 100644 code/modules/projectiles/guns/launcher/syringe_gun.dm rename code/modules/{reagents => projectiles/guns/projectile}/dartgun.dm (100%) delete mode 100644 code/modules/reagents/syringe_gun.dm diff --git a/baystation12.dme b/baystation12.dme index 0537e357be0..f71ff8f3c59 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -1331,7 +1331,9 @@ #include "code\modules\projectiles\guns\launcher\crossbow.dm" #include "code\modules\projectiles\guns\launcher\pneumatic.dm" #include "code\modules\projectiles\guns\launcher\rocket.dm" +#include "code\modules\projectiles\guns\launcher\syringe_gun.dm" #include "code\modules\projectiles\guns\projectile\automatic.dm" +#include "code\modules\projectiles\guns\projectile\dartgun.dm" #include "code\modules\projectiles\guns\projectile\pistol.dm" #include "code\modules\projectiles\guns\projectile\revolver.dm" #include "code\modules\projectiles\guns\projectile\shotgun.dm" @@ -1351,11 +1353,9 @@ #include "code\modules\reagents\Chemistry-Reagents-Antidepressants.dm" #include "code\modules\reagents\Chemistry-Reagents.dm" #include "code\modules\reagents\Chemistry-Recipes.dm" -#include "code\modules\reagents\dartgun.dm" #include "code\modules\reagents\grenade_launcher.dm" #include "code\modules\reagents\reagent_containers.dm" #include "code\modules\reagents\reagent_dispenser.dm" -#include "code\modules\reagents\syringe_gun.dm" #include "code\modules\reagents\reagent_containers\blood_pack.dm" #include "code\modules\reagents\reagent_containers\borghydro.dm" #include "code\modules\reagents\reagent_containers\dropper.dm" diff --git a/code/defines/obj/weapon.dm b/code/defines/obj/weapon.dm index 4f424e03154..e513a7db378 100644 --- a/code/defines/obj/weapon.dm +++ b/code/defines/obj/weapon.dm @@ -67,7 +67,7 @@ icon_state = "bike_horn" item_state = "bike_horn" throwforce = 3 - w_class = 1.0 + w_class = 2 throw_speed = 3 throw_range = 15 attack_verb = list("HONKED") diff --git a/code/game/objects/items/weapons/storage/boxes.dm b/code/game/objects/items/weapons/storage/boxes.dm index ff158590fa7..8f6dd789967 100644 --- a/code/game/objects/items/weapons/storage/boxes.dm +++ b/code/game/objects/items/weapons/storage/boxes.dm @@ -99,13 +99,13 @@ New() ..() - new /obj/item/ammo_casing/gas_cartridge( src ) - new /obj/item/ammo_casing/gas_cartridge( src ) - new /obj/item/ammo_casing/gas_cartridge( src ) - new /obj/item/ammo_casing/gas_cartridge( src ) - new /obj/item/ammo_casing/gas_cartridge( src ) - new /obj/item/ammo_casing/gas_cartridge( src ) - new /obj/item/ammo_casing/gas_cartridge( src ) + new /obj/item/weapon/syringe_cartridge( src ) + new /obj/item/weapon/syringe_cartridge( src ) + new /obj/item/weapon/syringe_cartridge( src ) + new /obj/item/weapon/syringe_cartridge( src ) + new /obj/item/weapon/syringe_cartridge( src ) + new /obj/item/weapon/syringe_cartridge( src ) + new /obj/item/weapon/syringe_cartridge( src ) /obj/item/weapon/storage/box/beakers diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index 858bee60c17..ac86766bde5 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -304,10 +304,7 @@ emp_act throw_mode_off() return - var/dtype = BRUTE - if(istype(O,/obj/item/weapon)) - var/obj/item/weapon/W = O - dtype = W.damtype + var/dtype = O.damtype var/throw_damage = O.throwforce*(speed/THROWFORCE_SPEED_DIVISOR) var/zone @@ -370,17 +367,21 @@ emp_act affecting.embed(I) // Begin BS12 momentum-transfer code. - if(O.throw_source && speed >= THROWNOBJ_KNOCKBACK_SPEED) - var/obj/item/weapon/W = O - var/momentum = speed/THROWNOBJ_KNOCKBACK_DIVISOR + var/mass = 1.5 + if(istype(O, /obj/item)) + var/obj/item/I = O + mass = I.w_class/THROWNOBJ_KNOCKBACK_DIVISOR + var/momentum = speed*mass + + if(O.throw_source && momentum >= THROWNOBJ_KNOCKBACK_SPEED) var/dir = get_dir(O.throw_source, src) visible_message("\red [src] staggers under the impact!","\red You stagger under the impact!") src.throw_at(get_edge_target_turf(src,dir),1,momentum) + + if(!O || !src) return - if(!W || !src) return - - if(W.loc == src && W.sharp) //Projectile is embedded and suitable for pinning. + if(O.loc == src && O.sharp) //Projectile is embedded and suitable for pinning. var/turf/T = near_wall(dir,2) if(T) diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm index 2fa9cdc4b60..faafc23b2dd 100644 --- a/code/modules/mob/living/living_defense.dm +++ b/code/modules/mob/living/living_defense.dm @@ -103,10 +103,7 @@ /mob/living/hitby(atom/movable/AM as mob|obj,var/speed = THROWFORCE_SPEED_DIVISOR)//Standardization and logging -Sieve if(istype(AM,/obj/)) var/obj/O = AM - var/dtype = BRUTE - if(istype(O,/obj/item/weapon)) - var/obj/item/weapon/W = O - dtype = W.damtype + var/dtype = O.damtype var/throw_damage = O.throwforce*(speed/THROWFORCE_SPEED_DIVISOR) var/miss_chance = 15 @@ -136,17 +133,21 @@ msg_admin_attack("[src.name] ([src.ckey]) was hit by a [O], thrown by [M.name] ([assailant.ckey]) (JMP)") // Begin BS12 momentum-transfer code. - if(O.throw_source && speed >= THROWNOBJ_KNOCKBACK_SPEED) - var/obj/item/weapon/W = O - var/momentum = speed/THROWNOBJ_KNOCKBACK_DIVISOR + var/mass = 1.5 + if(istype(O, /obj/item)) + var/obj/item/I = O + mass = I.w_class/THROWNOBJ_KNOCKBACK_DIVISOR + var/momentum = speed*mass + + if(O.throw_source && momentum >= THROWNOBJ_KNOCKBACK_SPEED) var/dir = get_dir(O.throw_source, src) visible_message("\red [src] staggers under the impact!","\red You stagger under the impact!") src.throw_at(get_edge_target_turf(src,dir),1,momentum) - if(!W || !src) return + if(!O || !src) return - if(W.sharp) //Projectile is suitable for pinning. + if(O.sharp) //Projectile is suitable for pinning. //Handles embedding for non-humans and simple_animals. embed(O) diff --git a/code/modules/projectiles/guns/alien.dm b/code/modules/projectiles/guns/alien.dm index c8048026c3e..d26b1601cc1 100644 --- a/code/modules/projectiles/guns/alien.dm +++ b/code/modules/projectiles/guns/alien.dm @@ -1,6 +1,6 @@ //Vox pinning weapon. /obj/item/weapon/gun/launcher/spikethrower - name = "Vox spike thrower" + name = "vox spike thrower" desc = "A vicious alien projectile weapon. Parts of it quiver gelatinously, as though the thing is insectile and alive." var/last_regen = 0 diff --git a/code/modules/projectiles/guns/energy/stun.dm b/code/modules/projectiles/guns/energy/stun.dm index e4d1b0070a8..6bbc2aed3e6 100644 --- a/code/modules/projectiles/guns/energy/stun.dm +++ b/code/modules/projectiles/guns/energy/stun.dm @@ -49,7 +49,7 @@ projectile_type = /obj/item/projectile/energy/dart /obj/item/weapon/gun/energy/crossbow/largecrossbow - name = "Energy Crossbow" + name = "energy crossbow" desc = "A weapon favored by mercenary infiltration teams." w_class = 4 force = 10 diff --git a/code/modules/projectiles/guns/launcher.dm b/code/modules/projectiles/guns/launcher.dm index 82998ef60ae..ea86814afa8 100644 --- a/code/modules/projectiles/guns/launcher.dm +++ b/code/modules/projectiles/guns/launcher.dm @@ -22,14 +22,10 @@ /obj/item/weapon/gun/launcher/proc/update_release_force(obj/item/projectile) return 0 -/obj/item/weapon/gun/launcher/process_projectile(obj/projectile, mob/user, atom/target, var/target_zone, var/params=null, var/pointblank=0, var/reflex=0) - if(!istype(projectile, /obj/item)) return 0 - - var/obj/item/I = projectile - - update_release_force(I) - I.loc = get_turf(user) - I.throw_at(target, throw_distance, release_force, user) +/obj/item/weapon/gun/launcher/process_projectile(obj/item/projectile, mob/user, atom/target, var/target_zone, var/params=null, var/pointblank=0, var/reflex=0) + update_release_force(projectile) + projectile.loc = get_turf(user) + projectile.throw_at(target, throw_distance, release_force, user) return 1 /obj/item/weapon/gun/launcher/attack_self(mob/living/user as mob) diff --git a/code/modules/projectiles/guns/launcher/pneumatic.dm b/code/modules/projectiles/guns/launcher/pneumatic.dm index 3e653bfeeba..712e74e150d 100644 --- a/code/modules/projectiles/guns/launcher/pneumatic.dm +++ b/code/modules/projectiles/guns/launcher/pneumatic.dm @@ -62,7 +62,7 @@ icon_state = "pneumatic-tank" item_state = "pneumatic-tank" user.update_icons() - else if(W.w_class <= max_w_class) + else if(istype(W) && W.w_class <= max_w_class) var/total_stored = 0 for(var/obj/item/O in src.contents) total_stored += O.w_class diff --git a/code/modules/projectiles/guns/launcher/syringe_gun.dm b/code/modules/projectiles/guns/launcher/syringe_gun.dm new file mode 100644 index 00000000000..b0275599dea --- /dev/null +++ b/code/modules/projectiles/guns/launcher/syringe_gun.dm @@ -0,0 +1,135 @@ +/obj/item/weapon/syringe_cartridge + name = "compressed gas cartridge" + desc = "An impact-triggered compressed gas cartridge that can fitted to a syringe for rapid injection." + icon = 'icons/obj/ammo.dmi' + icon_state = "syringe-cartridge" + var/icon_flight = "syringe-cartridge-flight" //so it doesn't look so weird when shot + flags = CONDUCT + slot_flags = SLOT_BELT + throwforce = 3 + force = 3 + w_class = 1 + var/obj/item/weapon/reagent_containers/syringe/syringe + var/primed = 0 + +/obj/item/weapon/syringe_cartridge/update_icon() + underlays.Cut() + if(syringe) + underlays += image(syringe.icon, src, syringe.icon_state) + underlays += syringe.filling + +/obj/item/weapon/syringe_cartridge/attackby(obj/item/I, mob/user) + if(istype(I, /obj/item/weapon/reagent_containers/syringe)) + syringe = I + user << "You carefully insert [syringe] into [src]." + user.remove_from_mob(syringe) + syringe.loc = src + sharp = 1 + update_icon() + +/obj/item/weapon/syringe_cartridge/attack_self(mob/user) + if(syringe) + user << "You remove [syringe] from [src]." + user.put_in_hands(syringe) + syringe = null + sharp = initial(sharp) + update_icon() + +/obj/item/weapon/syringe_cartridge/proc/prime() + //the icon state will revert back when update_icon() is called from throw_impact() + icon_state = icon_flight + underlays.Cut() + primed = 1 + +/obj/item/weapon/syringe_cartridge/throw_impact(atom/hit_atom, var/speed) + ..() //handles embedding for us. Should have a decent chance if thrown fast enough + if(syringe) + //check speed to see if we hit hard enough to trigger the rapid injection + //incidentally, this means syringe_cartridges can be used with the pneumatic launcher + if(speed >= 10 && primed && isliving(hit_atom)) + var/mob/living/L = hit_atom + //unfortuately we don't know where the dart will actually hit, since that's done by the parent. + if(L.can_inject()) + if(syringe.reagents) + syringe.reagents.trans_to(L, 15) + + syringe.break_syringe(iscarbon(hit_atom)? hit_atom : null) + syringe.update_icon() + + icon_state = initial(icon_state) //reset icon state + update_icon() + +/obj/item/weapon/gun/launcher/syringe + name = "syringe gun" + desc = "A spring loaded rifle designed to fit syringes, designed to incapacitate unruly patients from a distance." + icon = 'icons/obj/gun.dmi' + icon_state = "syringegun" + item_state = "syringegun" + w_class = 3 + force = 7 + matter = list("metal" = 2000) + slot_flags = SLOT_BELT + + fire_sound = 'sound/weapons/empty.ogg' + fire_sound_text = "a metallic thunk" + recoil = 0 + release_force = 10 + throw_distance = 10 + + var/list/darts = list() + var/max_darts = 1 + var/obj/item/weapon/syringe_cartridge/next + +/obj/item/weapon/gun/launcher/syringe/consume_next_projectile() + if(next) + next.prime() + return next + return null + +/obj/item/weapon/gun/launcher/syringe/handle_post_fire() + ..() + darts -= next + next = null + +/obj/item/weapon/gun/launcher/syringe/attack_self(mob/living/user as mob) + if(next) + user.visible_message("[user] unlatches and carefully relax the bolt on [src].", "You unlatch and carefully relax the bolt on [src], unloading the spring.") + next = null + else if(darts.len) + playsound(src.loc, 'sound/weapons/flipblade.ogg', 50, 1) + user.visible_message("[user] draws back the bolt on [src], clicking it into place.", "You draw back the bolt on the [src], loading the spring!") + next = darts[1] + +/obj/item/weapon/gun/launcher/syringe/attack_hand(mob/living/user as mob) + if(src in user) + if(!darts.len) + user << "[src] is empty." + return + if(next) + user << "The cover on [src] is locked shut." + return + var/obj/item/weapon/syringe_cartridge/C = darts[1] + darts -= C + user.put_in_hands(C) + user.visible_message("[user] removes \a [C] from [src].", "You remove \a [C] from [src].") + else + ..() + +/obj/item/weapon/gun/launcher/syringe/attackby(var/obj/item/A as obj, mob/user as mob) + if(istype(A, /obj/item/weapon/syringe_cartridge)) + var/obj/item/weapon/syringe_cartridge/C = A + if(darts.len >= max_darts) + user << "[src] is full!" + return + user.remove_from_mob(C) + C.loc = src + darts += C //add to the end + user.visible_message("[user] inserts \a [C] into [src].", "You insert \a [C] into [src].") + else + ..() + +/obj/item/weapon/gun/launcher/syringe/rapid + name = "rapid syringe gun" + desc = "A modification of the syringe gun design, using a rotating cylinder to store up to four syringes. The spring still needs to be drawn between shots." + icon_state = "rapidsyringegun" + max_darts = 4 diff --git a/code/modules/projectiles/guns/projectile.dm b/code/modules/projectiles/guns/projectile.dm index 26b42308ad7..128eddccde2 100644 --- a/code/modules/projectiles/guns/projectile.dm +++ b/code/modules/projectiles/guns/projectile.dm @@ -78,12 +78,12 @@ switch(AM.mag_type) if(MAGAZINE) if(ammo_magazine) - user << "[src] already has a magazine loaded!" //already a magazine here + user << "[src] already has a magazine loaded." //already a magazine here return user.remove_from_mob(AM) AM.loc = src ammo_magazine = AM - user.visible_message("[user] inserts [AM] into [src].", "You insert [AM] into [src]!") + user.visible_message("[user] inserts [AM] into [src].", "You insert [AM] into [src].") playsound(src.loc, 'sound/weapons/flipblade.ogg', 50, 1) if(SPEEDLOADER) if(loaded.len >= max_shells) @@ -99,7 +99,7 @@ AM.stored_ammo -= C //should probably go inside an ammo_magazine proc, but I guess less proc calls this way... count++ if(count) - user.visible_message("[user] reloads [src].", "You load [count] round\s into [src]!") + user.visible_message("[user] reloads [src].", "You load [count] round\s into [src].") playsound(src.loc, 'sound/weapons/empty.ogg', 50, 1) AM.update_icon() else if(istype(A, /obj/item/ammo_casing)) @@ -107,13 +107,13 @@ if(!(load_method & SINGLE_CASING) || caliber != C.caliber) return //incompatible if(loaded.len >= max_shells) - user << "[src] is full!" + user << "[src] is full." return user.remove_from_mob(C) C.loc = src loaded.Insert(1, C) //add to the head of the list - user.visible_message("[user] inserts \a [C] into [src].", "You insert \a [C] into [src]!") + user.visible_message("[user] inserts \a [C] into [src].", "You insert \a [C] into [src].") playsound(src.loc, 'sound/weapons/empty.ogg', 50, 1) update_icon() @@ -123,7 +123,7 @@ /obj/item/weapon/gun/projectile/proc/unload_ammo(mob/user, var/allow_dump=1) if(ammo_magazine) user.put_in_hands(ammo_magazine) - user.visible_message("[user] removes [ammo_magazine] from [src].", "You remove [ammo_magazine] from [src]!") + user.visible_message("[user] removes [ammo_magazine] from [src].", "You remove [ammo_magazine] from [src].") playsound(src.loc, 'sound/weapons/empty.ogg', 50, 1) ammo_magazine.update_icon() ammo_magazine = null @@ -138,14 +138,14 @@ count++ loaded.Cut() if(count) - user.visible_message("[user] unloads [src].", "You unload [count] round\s from [src]!") + user.visible_message("[user] unloads [src].", "You unload [count] round\s from [src].") else if(load_method & SINGLE_CASING) var/obj/item/ammo_casing/C = loaded[loaded.len] loaded.len-- user.put_in_hands(C) - user.visible_message("[user] removes \a [C] from [src].", "You remove \a [C] from [src]!") + user.visible_message("[user] removes \a [C] from [src].", "You remove \a [C] from [src].") else - user << "[src] is empty!" + user << "[src] is empty." update_icon() /obj/item/weapon/gun/projectile/attackby(var/obj/item/A as obj, mob/user as mob) diff --git a/code/modules/reagents/dartgun.dm b/code/modules/projectiles/guns/projectile/dartgun.dm similarity index 100% rename from code/modules/reagents/dartgun.dm rename to code/modules/projectiles/guns/projectile/dartgun.dm diff --git a/code/modules/reagents/syringe_gun.dm b/code/modules/reagents/syringe_gun.dm deleted file mode 100644 index 23a9eaa36b0..00000000000 --- a/code/modules/reagents/syringe_gun.dm +++ /dev/null @@ -1,130 +0,0 @@ -/obj/item/ammo_casing/gas_cartridge - name = "compressed gas cartridge" - desc = "An impact-triggered compressed gas cartridge that can fitted to a syringe for rapid injection. It's not very useful until primed though." //i.e. only works when shot out of a syringe gun. - icon_state = "syringe-cartridge" - caliber = "syringe" - projectile_type = /obj/item/projectile/bullet/syringe - w_class = 2 //mainly so that they can be yanked out - var/obj/item/weapon/reagent_containers/syringe/syringe - -/obj/item/ammo_casing/gas_cartridge/update_icon() - underlays.Cut() - if(syringe) - underlays += image(syringe.icon, src, syringe.icon_state) - underlays += syringe.filling - -/obj/item/ammo_casing/gas_cartridge/attackby(obj/item/I, mob/user) - if(istype(I, /obj/item/weapon/reagent_containers/syringe)) - syringe = I - user << "You carefully insert [syringe] into [src]." - user.remove_from_mob(syringe) - syringe.loc = src - var/obj/item/projectile/bullet/syringe/S = BB - if(istype(S)) - S.damage = 1 - S.sharp = 1 - update_icon() - -/obj/item/ammo_casing/gas_cartridge/attack_self(mob/user) - if(syringe) - user << "You remove [syringe] from [src]." - user.put_in_hands(syringe) - syringe = null - var/obj/item/projectile/bullet/syringe/S = BB - if(istype(S)) - S.damage = initial(S.damage) - S.sharp = initial(S.sharp) - update_icon() - -//This was kind of rushed, there may very well be a simpler way to implement this. -//Sort of hacky, though nearly not as bad as the previous implementation: -//Basically the syringe gun is supposed to launch the entire syringe+cartrige assemby, but hitby() isn't powerfull enough to do what we need. -//Instead, we fire a projectile that transfers the reagents, and teleport the cartridge once we impact something. -/obj/item/projectile/bullet/syringe - name = "syringe dart" - icon_state = "cbbolt" - damage = 3 - check_armour = "bullet" - sharp = 0 - embed = 0 //we handle this ourselves - var/obj/item/ammo_casing/gas_cartridge/cartridge - var/embedded = 0 - kill_count = 10 //short range - -/obj/item/projectile/bullet/syringe/New(newloc) - ..() - //ensure that cartridge is always set - cartridge = newloc - if(!istype(cartridge)) - del(src) - -/obj/item/projectile/bullet/syringe/on_hit(var/atom/target, var/blocked = 0, var/def_zone = null) - //..() //not really necessary - if(blocked < 2 && cartridge.syringe && isliving(target)) - var/mob/living/L = target - - //inject - if(L.can_inject(target_zone=def_zone)) - if(cartridge.syringe.reagents) - cartridge.syringe.reagents.trans_to(L, 15) - cartridge.syringe.update_icon() - cartridge.update_icon() - - //embed - L.embed(cartridge, def_zone) - embedded = 1 - -/obj/item/projectile/bullet/syringe/on_impact(atom/A) - if(!embedded) - cartridge.loc = src.loc - if(cartridge.syringe) - cartridge.syringe.break_syringe(iscarbon(A)? A : null) - cartridge.update_icon() - - - -/obj/item/weapon/gun/projectile/syringe - name = "syringe gun" - desc = "A spring loaded rifle designed to fit syringes, designed to incapacitate unruly patients from a distance." - icon = 'icons/obj/gun.dmi' - icon_state = "syringegun" - item_state = "syringegun" - w_class = 3 - force = 7 - matter = list("metal" = 2000) - slot_flags = SLOT_BELT - - caliber = "syringe" - fire_sound = 'sound/weapons/empty.ogg' - fire_sound_text = "a metallic thunk" - recoil = 0 - handle_casings = HOLD_CASINGS - load_method = SINGLE_CASING - max_shells = 1 - var/drawn = 0 - -/obj/item/weapon/gun/projectile/syringe/consume_next_projectile() - if(chambered) - return chambered.BB - return null - -/obj/item/weapon/gun/projectile/syringe/attack_self(mob/living/user as mob) - if(!chambered && loaded.len) - playsound(src.loc, 'sound/weapons/flipblade.ogg', 50, 1) - user.visible_message("[user] draws back the bolt on [src], clicking it into place.", "You draw back the bolt on the [src], loading the spring!") - var/obj/item/ammo_casing/AC = loaded[1] //load next casing. - loaded -= AC //Remove casing from loaded list. - chambered = AC - max_shells -= 1 //to prevent people from storing an extra syringe - update_icon() - -/obj/item/weapon/gun/projectile/syringe/handle_post_fire() - ..() - chambered = null - max_shells = initial(max_shells) - -/obj/item/weapon/gun/projectile/syringe/rapid - name = "rapid syringe gun" - desc = "A modification of the syringe gun design, using a rotating cylinder to store up to four syringes. The spring still needs to be drawn between shots." - icon_state = "rapidsyringegun" - max_shells = 4 diff --git a/code/modules/research/designs.dm b/code/modules/research/designs.dm index faf7e34d98d..9083a47e1c9 100644 --- a/code/modules/research/designs.dm +++ b/code/modules/research/designs.dm @@ -1312,7 +1312,7 @@ datum/design/item/weapon/rapidsyringe id = "rapidsyringe" req_tech = list("combat" = 3, "materials" = 3, "engineering" = 3, "biotech" = 2) materials = list("$metal" = 5000, "$glass" = 1000) - build_path = /obj/item/weapon/gun/projectile/syringe/rapid + build_path = /obj/item/weapon/gun/launcher/syringe/rapid /* datum/design/item/weapon/largecrossbow name = "Energy Crossbow" diff --git a/code/setup.dm b/code/setup.dm index 59cf86f868b..06235da7fc9 100644 --- a/code/setup.dm +++ b/code/setup.dm @@ -83,7 +83,7 @@ #define FIRE_MAX_FIRESUIT_STACKS 20 // If the number of stacks goes above this firesuits won't protect you anymore. If not, you can walk around while on fire like a badass. #define THROWFORCE_SPEED_DIVISOR 5 // The throwing speed value at which the throwforce multiplier is exactly 1. -#define THROWNOBJ_KNOCKBACK_SPEED 15 // The minumum speed of a thrown object that will cause living mobs it hits to be knocked back. +#define THROWNOBJ_KNOCKBACK_SPEED 15 // The minumum speed of a w_class 2 thrown object that will cause living mobs it hits to be knocked back. Heavier objects can cause knockback at lower speeds. #define THROWNOBJ_KNOCKBACK_DIVISOR 2 // Affects how much speed the mob is knocked back with. #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/obj/ammo.dmi b/icons/obj/ammo.dmi index acade2ce1b265ed5f2222160b69622521ccbb9cf..e47e53e736913b7b2e3bcf9dbdfdee5939cff7e5 100644 GIT binary patch delta 4459 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 delta 4328 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 tO10z#1dP!OU|3qKmjB)&(+} Date: Sat, 14 Feb 2015 00:28:58 -0500 Subject: [PATCH 110/143] Adds accuracy modifier support --- code/modules/projectiles/gun.dm | 3 ++- code/modules/projectiles/projectile.dm | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index dd7aec246fc..767f9fc40d4 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -21,9 +21,10 @@ var/fire_sound_text = "gunshot" var/recoil = 0 //screen shake var/silenced = 0 + var/accuracy = 0 //accuracy is measured in tiles. +1 accuracy means that everything is effectively one tile closer for the purpose of miss chance, -1 means the opposite. launchers are not supported, at the moment. var/last_fired = 0 - + //aiming system stuff var/keep_aim = 1 //1 for keep shooting until aim is lowered //0 for one bullet after tarrget moves and aim is lowered diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index f16359ad4bb..03e24899181 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -132,6 +132,7 @@ //accuracy bonus from aiming if (istype(shot_from, /obj/item/weapon/gun)) //If you aim at someone beforehead, it'll hit more often. var/obj/item/weapon/gun/daddy = shot_from //Kinda balanced by fact you need like 2 seconds to aim + miss_modifier -= round(15*daddy.accuracy) if (daddy.aim_targets && original in daddy.aim_targets) //As opposed to no-delay pew pew miss_modifier += -30 From e3be255f59dd32500bcf61142f2da6a6fcac6c95 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Sat, 14 Feb 2015 01:33:15 -0500 Subject: [PATCH 111/143] Adds dart gun projectile sprite, dart gun fixes --- .../projectiles/guns/projectile/dartgun.dm | 12 ++++++++---- .../modules/projectiles/projectile/bullets.dm | 1 + icons/obj/projectiles.dmi | Bin 29540 -> 29622 bytes 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/code/modules/projectiles/guns/projectile/dartgun.dm b/code/modules/projectiles/guns/projectile/dartgun.dm index 7fa6d52e2e7..c068d0caafc 100644 --- a/code/modules/projectiles/guns/projectile/dartgun.dm +++ b/code/modules/projectiles/guns/projectile/dartgun.dm @@ -1,11 +1,11 @@ /obj/item/projectile/bullet/chemdart name = "dart" - icon_state = "cbbolt" - damage = 3 + icon_state = "dart" + damage = 1 sharp = 1 - embed = 1 + embed = 0 var/reagent_amount = 15 - kill_count = 10 //short range + kill_count = 10 //shorter range /obj/item/projectile/bullet/chemdart/New() reagents = new/datum/reagents(reagent_amount) @@ -24,6 +24,9 @@ caliber = "dart" projectile_type = /obj/item/projectile/bullet/chemdart +/obj/item/ammo_casing/chemdart/expend() + del(src) + /obj/item/ammo_magazine/chemdart name = "dart cartridge" desc = "A rack of hollow darts." @@ -32,6 +35,7 @@ origin_tech = "materials=2" mag_type = MAGAZINE caliber = "dart" + ammo_type = /obj/item/ammo_casing/chemdart max_ammo = 5 multiple_sprites = 1 diff --git a/code/modules/projectiles/projectile/bullets.dm b/code/modules/projectiles/projectile/bullets.dm index 938b8b300a7..9fe555afab3 100644 --- a/code/modules/projectiles/projectile/bullets.dm +++ b/code/modules/projectiles/projectile/bullets.dm @@ -123,6 +123,7 @@ /obj/item/projectile/bullet/rifle/a762 damage = 25 + penetrating = 1 /obj/item/projectile/bullet/rifle/a145 damage = 90 diff --git a/icons/obj/projectiles.dmi b/icons/obj/projectiles.dmi index 03915794e49bc652b39d4155e74d82c35a1ea291..7f3468a3638ae0635899cb40d196f44d85b3e95e 100644 GIT binary patch literal 29622 zcmY(q1yoew_6K@qXpokYZY4z|q`^VDyE_B{0ST!YkWQ6U8Wic2ZYco~kj_Dn?(Ug) zxc__KTW_sdr{;X;i(S9H_qU@o)fEWwAK(K3K&Ye$(*^)2cnMj;#RgAf;}fgkjlZ9+ z;TxEpr;W$U*Kc0BxdMQ1##h}z*B_5bB>F6@I%|s+71{Y3bw{ExOs^oLVly22^x{Vt zKauAh%n-62+)LY+_C69>3+%V^f%^$>{HGJiow}00(5N8|*u;+iOg_!u4uuIF71vG0 zR9Swoe`94l0w*9#Hl_VMng(ls@Zjmwe7q>-`y->Vy>9LrR_eIlB{}I|V^@Xw!z7v zI-Xd8l(D~Ke-p`Cm z&eXo1+3^}WV2pc^eN^kdXN7@@O=E&h5F3!lJM*z@PVuwz`DOk$1y+HkUtgOYo+1-e zz8=Qf2MxbbIljqqCXmV|hQVOE#;_6s8Svs$;_NKL;OeC+5E&U69czBM{t@#rgo%ZP zOD-_DBe78;8xJ5Q)gt`>zSgzobq)oDE1E^-%mIIM6?qse{9}Aw(dORyzBo^kTtEp$ z_cgL*&s+jtT2(~mwtQ(5=j%A!3IwHX4p!nIA`2BAlQn?NwzcB46m9VB`D^6T(B|e2 z*dG_Pf1ppiFCs{$BsA73%9tMMq;h!ckPIk(Oxe7+?KyrC6}pBY8N;QAi^sNKnJ> zVZ%jCRcJgqWA*BAjDHE7)ATl$7_{TLKlY8q+mlXJ3(j>V#K-XhWyv-5pft0~?dN2$ zuW}VP4#2#G%N^+E z<+U^MjSk;vjEK0cO>R+T@!8S@96--_tLxc7D3wLP=&#qFz4g^}3h{JRY>>-8scoV0 z@kE2m7#*kEQ(8twFXbIoBo8_;eq3CLA~tQ844$`ZqL1bs0BS)_S@_W10;3O_8Gjd^ zr1D$DW8e@`-_&Ox{Y6z#KDMvLj4Q{rKNU6PsQn`-cBvFtLC}iUeuiokv}Mf+U?=p8 zkxGnSD5Zdcook7Ui2*V~s4mV{n5oJ#@x6P6{B0L3Vq#(=qoa@-gG7nzof_Z69xAnq zC5`=#V2luR$lbUKQmxKNLMiM-;i!Nk@9$h+77U$V{UW3l27sih&H55f)?Q_U&LN>a z=NB3Xd7IyiHu^O7eV_JkQ~w+etG&QOAmN6JyWScGqiZ$LEVDy?jy5An%4VPa7YYhE z-usI#FB;wsT7~uYzW57v3gj4Tg(qFGJ6|5HQZq7&v{JDMT`H<|#G0mT5HL{MYNTI@ zIK#_YQ5dtg{Ovc@#^3^akR^%XbQDK-{21WWu(@rlYC5VF3ktHG$EeiADlz!;La%!> z1uzy+9i5&wB=LXvR9M(p3}&N8&_V*M4`p(#bbat6OVS^+<3=gcGt)DlleNGz90Q^Oozhfp`ts6GiApaML5^BpRD6>kSDo;+PYoLV>LIYFiF z91gd~k|TO_8^U?8RPW*Na6tZ&$v)}Q*l+F-x=W>P!3=~ zKO0E;R)!$3rb~}3)U?yZqdEE8zVU>o^Fjjka-a(n5&4rYrky1-mTgucaRtQT+c=69%hxT>D!@e|3q@<)q z8@l`4p!NlTrCdo2(TQtiVg9=zMHWV05Hq5zs{cq&Tt}l1{xaGhi~XPW*G!!9f1J85 z_#gHE#IHnpZc@5K4*;zMdsGP!opv%a%&^(M-{!&?utMvTVtu2{d9Elu>UM2>W5HK@ z@m2lo3mrNKYaO|Kk<^?K0eq>e>pRjS8TdV5al5sk9dA+mk71J&H-`o?9|3&U;a<^> zwAivuI3fR@PqW)Vyz8i57OTQ6wW^?whcLes#AAAbJgZWn)oD*PzR`9#J**d#TIE}3 zK(xs$^#|M!jiglA`w*mk?ei@?!JrHqpsO&Bn{5|&G3K7%x*Lq5bWxz~FVt!ZhkFWnCDRIaD&dgB_ zGdjO2?oRhb8QMId0c~PlNb0o|K$`|7BPFGvb;Z0hq#|XI{z`H zME-XtWs?7%__1Lytj^L*%=M<%A0`e}GL6LXetZ380V$fhM24UdzqdA5v}i!tr)?+*w5AMI+MDM~e--3o$+k_Ud^!`sf_Q10mg;KtE$v5p6J&=+?OZMC1khwlS z7m1+Z7fTE_D}+|8b?qK6R}PCOzS*%E2T=C%pR&oc7h4`(q+4DSll8&j%Qq&}(sOJ% zYOXru_2XS_JBf%8Mc`zho}a{*EEoWCK$~xlH1xs&c#!VL=>Vk&lIihw^WHn)3UxW{ z3N)v;EWXn=nX~a@f8`ZW{Q@0$?oxB)(R+KoP(M^Wjb)!7WJS}pejn?5%oH$8VjGeUa zz9s$UXEAC+seGet??rI&&Mly8;NZ)%*1(;QXUr1f?!p})SBaX}UcG_z{O|j}_N95g z_czv}f}u(PViRA>$r*!T*5-=3<&GL3Dtgd%G=DVWZBDUjdY2O5HY-??!hj)td(veH zihuB$ybt+B;9_N%Exug}r(^kIW}x;62mc{tgq=%qkV~m#g*^GQt^5t)ih~ug)k+_i zdC5v@6ZjxjsOF$7-tB9M3J_WN)W}T0n7)1dKPM!9qZ_8}k2E|`lvkzi6e zAB~6zn@>x5<00zmFYc}%JG0V)a}cu_L9gaI*wdpO{`X7=^)Ct7C=04XMg96_q1jzb zFbJ;GxKZFuS-eIgd4N>*gk27gQugf*X-5$e8omfy&qU57KWXNRw z#Ni{K|7ay;5)mlNz{j1J+ewlxnfj^kA|KL%e^fL1&x)P<2j80S)=jK3vv|@c&x$1| z_uSSGVd^nnsXCNxAY_pM0CpiAR1z&?vt*=0Z!GQl z9s_inNE4f$<5aQM)%IbF7WnmDH(z|NYmUCjd4g{oEE3M{#uGoO==KbhqQJQmc$G-= zxBESOfDDfLKq1-i>7}lO=>HL=3OqSR{Urf-vB`lv9^Nn|neT7h$(VRU@c=E#6R!?n zB;K0?0%PxGJ$*xYjg(pkNVG-`AH@-0vz6HyD+Xxy9Vow?|LAe~g-9nMYUU7MPkc64 z1R702j$nDC>!fqKf3>Uq?}H!DT(oC4`rx)-nZ$IXl7_*HI zm4d!gCHgM^Dgy9luRCDhm!6=owRxf_nR45J>Iy+gzHcC@_!Nc6@-@sv7-k0VgAI)olhFbGiTrPNLwZc-a!Agk zQg8j8uWpmEL^u}qD@s4y(s7IEj3Bj7C@MewxxHO`io;ZUbj-=cE~uoP?w1bGof%PG zyHGr?xu@_|*ee@d$)w`K^__kLb7rjIDrAiTV@9xMSwuYO(bziUm!OLw5l-gQS*)v- zqGl?-lMA_u>~aZPhE{f0eWfn-? z;A)uKDE`f%N)=Adh;iF7uZro$ELKcooh&n-|9IaQh)WP+lp=BFF!G3f0a+nAMO9mT zG-bnhW<;@I4PmNe1iovyWGk)9rp)T@LwM^LkaI*o6=rp726Aee?9Otv#vB*Y+u-G9Y46g3cKzxnzU+q{sXj3P=Y_q2l|Kf@pR8L;TRbkGJ1YbHim zG$TuuecP!Vk=cK?mqb{(wEXN1!u9prZczgdX#C6Yr8#HX>kE+o(!wS&3}UA-G;Os_ zE{n+bc^rdHD8;|t1KB|>?48M9vY`afndE)eLQORKqk)`>l=o55R1Gr5Y`WR1Nyx4D zI4T;8901KMSvNDlWqg%V>&a`9|EGr;$O{vIm(>0mCv193<>J=57z)o29R%*~sA3N~-1~Ll&;5 z85otJn={Qj!+RbDjZ)c>k@!^q@6wqZiu~ zYTL%HJJbI>uT-Q_gT7J_KeK^zXfWqNt43-Gd|fc| z{yecELM%2R*QHH$6F>iANEG(}l^MBae}-wQeo?C~8{7HqOl+fy99i=zGF9)U5uDiJ zZV~!XU9`ow1f{`gXJv`NU#-X_N7z%w8g6U-8_F^6`KO6Xs&VvbUT{Drrr%C6E)%O9 z`tV8E>{Vr+scE=^u3y8w_k%!GWMSxL6vBwYt+Pji4cd55{Qm+bvMPSuOQsbL+1tla zAU!8OssSFYS%KxloGi|(evr8!q{)Yac~MItJab@!{-!7;I*RU^L{z;`Z?%7Au0Pn9Rme2RU*XhCpdF|tswK#x3 zqrw!(#gvvnjeQ?I!1uJI{XP#bHI37Y7&M1WKsT197!A`C6(_Qefo%LC>-EC>c2EQk zY{?EQ`|5OE_f(xYR3rodBuR6=Zr0K3eMM77awFdz`H5Z%(or(ie80FA zH@eix?YI3;r-wf3vaMqnfTkZ3%0R+whE6HwgnoajL>`qAly}Ns9zc8;o=LLrA^Umy zn=5vfm5#YTW6Frl7C;eiZcU1JCx`m=+rguz!a#0(lCva+rACMLYK17*eBeI< zrxq*DB$NpWJP@;vK(a#(air?|mx_tSc=^eveC?-r2sqM8Rs#w!nWLq;z3MSW{2)n- z^&h3Vzqh*vK?uLJ@B90;mnX5WJ@+mhfjnhJ^=DR|@(b?Xl%Pim z|9VsW*rbL0L*F35No=_h-=s6C?daT6D1^z0qy1=lB)8Wj(O1`xYfSAA*m{j1yU&Gx zHUhe#)ylvZhRwKtJ5Z*XVM|+<*TV^W24M=QgiYf12`@yMod07f$muxj==sl|1BM_m zmydm3GPcBvBd*K=grC!ok!a!(sefK_3zWMr^60jflyKcJ2{m8{*lPPT_Z@yhr}gEn zrcFjgU1eV*C4JmGP8Ukmd+;YJkjwREB}5dx)muX{xoA6ksZr+WrJsdvP6&{tAYRP9 zbtpeZ`rrXeNWVAzdMJP#C{g@4ZWP&Pf(|?|(d28T;!3yqcu3OG#|3A4Hlevs`ndbn zM~+^iXu;K-09R-%L1+=f%Gnyaw7&nO)Z`>!U|JxmS9@ zX32>2*%?95CDQ^a+z<0}f-07h{Pd?eah>Yr*o|LHQg#H4$zE?YJC*awg5vQ#kjPx0 zY4NT2fyZmV-(6eyGVV_M@JxD{-Mmt3G2D7L3zFl7wR0FSAWaDPZ9vE zj!R|_vrjVu?h!=#G$OhW6KpW+=JwU4D2Z<<>ynP)=c7c=n=%vE+l%lHJ6)&kGtgX- zIQu|>N5Y-FEpza0lDc`wib^3a8g*tX6>h|GM9KFp#IX-M+^jH|N?Y*;s$7?3_Usf* z%4gQmU9wASV%<2YUHU%6p+glv&ct^G6+w*`fH{AAMWuVlm&z;&@v~bRJ}2PU&egj) zuEq4%_UB zV5`#CH*+mM8mWJ~I{#e`*HSI*v07**UOx!%!vWYhC6>do)w1D|b>=ArW{4Fc-1>A; zMz>X}f)&o+(o&6NhZ=jBKT1f^|I{NB8gi15)<5IpWZU5mRY3=9EM~)f0lb}IlVSY! z3l{+uZgv`~MT51R#g6(AP(o{oksIlP-0iw0+lW+(=e@Ftc#$haO!}Wt5qyMB{$&5G zaOFT@-zuRy!Jjx=D%fO9%R~S&ffdaC3F@t5f}W)YK31Y{1yMh)LA^x^U%wBO&51Ft zKL;Ce48zCxcGZVV#wZ>GrRDEDN=2qLUtWU2wvX%W`|P{Fmn4m8T+7E$@RuaZS@TU6 zLHBQ3S*ImiB$oAp%=MjC|r=bHM`0E4U@8dbq_<%3wUuE^dz1QHA``LQh{^9ODICzyy)2<$CYQ-PU)e`u3dYMi z-57oq<{`~aGtYGQA_r|xm$w)Bmu;l>m{~J3dCf3f;=p7V(h612falw1+==^@e?s%5 zdf(*WM-P-|*+x(^N<2jLk|D|AhjD7t_Q$hZpWFW9>;UvFIz^>0w$KeP3NMI%NCG8u zbh9l<@ncrQ=^R}^fDjI?8P~_~Wh>ID&S6oUIu@`{d7bO^H^xXr3b}1EL!P)z?VH;t zXuReLoM2jd52W4<^;f};N9<*@Lm!Wncs2em$3(AFv^b6MID%&XF_afI;Kz$c!rH;~ z9e>6fYonb&jvfJrORl?L7);$JBfQ4Afsd=ALXb{x)%4@{)czVA(%(4l`J-i69=X37 zUEb`I)_)er!*@?^Q!@Eg71w?X)*ME9t@$U;pk&X+JK~DI0>B|&bxuy(!_}P(=b>r zJn8-y7XMj)*dLY5iG2DstabXhf^J*ry99_=#cIf9xygqE_}}q-jzef0Rgr2izk(&H z;!44%-pD6aPcBBLd8V*x^>3$-vWdKlYI`{?5j%eI!mT?oeukEGXc5M_a4FK1r{++# zZh`Fn899Ui-KbT*Z(0c5u3%^m->RqYFEwGV(j0TkuqanJ=o4!dB>R>R^Ha*#+#7N7 zbDnI!xt7~nja=E!_;bdf_@)ozaiE6xlZdCeX0FrTU&)sT&MljrXMV+yl73jFtf>h8 zFwD=P3RJ)MduHvvusfT!ezZ@J^6JO)f19^k=#bf18N8%#RYgf) z$4q0*4JUyl;Jcf2-+p*?douREL^U--Ved zeyHAPCyBiv;JMX*@IgxyQznUB9|gNZ`y^UgkG={Rv#<(4nDX)xKVw!NaSjlHQK!4$ z^<9qP|BYcs;>i$6d>r5W`+^PhE<)1)+y2CA%1=sw*5;w2_P6f#KrZV$-=cactPVf8 z&~T_3Kj(g(+%K#O1$7v#$LTjF!rz6QqTZBTm!kouVlvB&&~9RQGOC@lO-J$Doteuu z=2QNUXLs>(m0#9tg|BfDj#0~?V>1+y2s&3_%)A2YJ%-XpF$_xr@HSdQ-xFxS$l?H8 zGQxhbQf#bohZ*xdAsT*0(H!d!NYt!h8_rx!pf7G-1?%7mHghVY?=2zewcKk=%n+sr z7!L&r)V7wtR4jivhh3^g_t76j;w$hG{w-YtD)TB+*pxCi)z1QWYr_0oDaUFAk=w(1 z94t@zv^9wnwNaNek)ooWce4B){@b37F?;_c8w`1fx5C_a#!hi05~Gvq#?D zfsW_@=W%NF+9te7=sC2ge1g*MxXUc9vHO1sH$t~_o?e?uD}=?}HKCxGVQmHYAIuQE zrv)RX@`@>Te_tATOYsh>8>L{C3_e#uN|d3#pX>Yu$ps9=@(hLyuY>6YdEnqOU|^>& zmOsMn#nHxbe>9D|(y>to4Th`wJc>kSI<}#jhadvz%P#GU{jy^5TSgKSHgt8%>inzt zUpw9s{7WNp<4FtHGXyYyIsn5dwstDK`QD$Lt z?GQG&J7snmnUya{i{X{hCA`RL3#qB*(Rhrdd}fdW9M*odS$X?Id9ik@o0L$poR zAv3B+Le6kyX1pymL^N5U@5H}fyX|6!CvWz}vJQT9Sxp(6+jc$NA;FTx1myK7ns>iH z9Q@wmBx;8=9z}Y#QJu&y-og|Ev)H zV||5rDwjFKp3IVGhP6z^r=5ReU#N;28A=t0t9lOAJp3dAxq~SLRY&k$!Ro88;tq@F zJG33&f_4R6cur#AlcFmad*9HamU24}NME~R6rd=mov@G`Q_E7n2659NAmZ%dK^!l+RjY%`~_?_7WOS5rp5HU6fCY- z2s|uaizusKoP&R#V|#VM312rAk5(7=yE`xNPL%Bt4)G~8PGT)(Wxy6>p3=p2n{|yA zUe#*7>H5MPrTwI28ToYk@A+w;nmQ&=7lG_*`NkTskqjRrt{ZMZtH6WkhJ#+{4=F<1 zE*#>vToRuCZXzx|R6?j=7JCExyNKzg38R^RScspZ>T;Xj0IfG*gRQZ}m zcOK4h9pCHp4HsC=CtaPbd^r0m54s};!6ak|If&}ug;uI#7L)J$=t5fX4-AU6@FFSC zo1r9W6!iv>MM0kOy+<9J2TN-z%({BXQQ|3jxF&$5t=xiu@Ym1>^VI%aj=usB6o`_h zUz5f)XGNa%?!@aM!=HMRB=;f|R>G5HL7{O*cw#L%optD~ zg*G=q)wRNMa5Y)oVddPoX4Enl4@gk{Odp+}JY}_KH64_1$gJB;%O{Uil_zN;`DO9z z`)XSG&1p1zj!ycjZRf)zO$KIwpx3>{QgcMu8qI5JCQtcf;O0cI+V8Q}2xkL8-Y|Hz*c@n7GuP~7_p7=3cVk(xs);;{Xy!n1vcREV zjY$+_f8a!Vh+lE)F(t1c{SaQ z9|L)?Q8L<;0={)?&ju+l-a$dD6`T&RZVh5%tKPp_;qQ(-qR@j@E)b0~m=gOZDl~VY zBF`kx?(L{CfKL*36EXz8@_20fl~$BZpvLeo79TTj6sKd=lT{aOjmL-Au9~oJsd)ph z@fmj-SX`^|9}ECw;Y!J{Zs?spZC-!WXq!Xk~Xt+~pD7HtK2 zwXVrygurSlYuR2ko~~Yzfkq&8+kueFmAbjf5-2=_13g1oem*LvR}&0Vap{_hFjGH;rGbO z=!T;%eLI~KzB%E9$ccs?@ws{v-?@C)x0;N^91Y*^6V@xm9DQX%+XJmx$#(UATMN9& zCG!jlwa+zwxO;h6IxTF3_0MrsgsNj#gia=$h9TX3M*<&45(BU!Uut^;6#Vh_AzC$H z3chwL(W}nwMYgD&V-VX|?)Y9(TcypP<)~_a#q3iw7v#Mg#=IIs&Y8+svUJWuIo7-y z8uL;(XE^7=ZyWu=EYQ%RnbaXX900bRoezJOj{%?WZDYN+%ieg{?B(2ZrRSY4*^qA) z*DUnU@jj%3zO{w-e%0J^mEPIGCubA8ne*!#9|fFl!@^e)AbDDwNY7RW^E9z`T~bmN zv=$!D?%LJuR%yP8n3T_&lfcX#{^nFdfA+@NlVNd=G^YHdcx#*p?4WD2rMkAN+^8k@ zE2W*DFhHV!lSJRu72@02sGadZ4;HcV)Z# z=v@{?3bKWln`yo}8$H)O)i&U{3ZfbTBV=zNk-%`tr6XQBU?;|Gdak{N-v|=4pKhF#bg3 z?)HvOsR-H?VbNm>15i72Beu11^$1z57YOy_0&lmfn`XCqw+7aPepjoNER~ia$l~$$ zjxiY4KdI2pdl|6W>8)5rcs>p2q{L@z3SqD{q+x{8ong;U2fXw5yfc6l&fF%0>02VY z6&7W!@KlTsxp>SQEjtewTMZ@Oxa90@88)D9A`N}mzv%WrQh5fS4fmzl{6I23&Fo#* z-rtzRwG_isl=69W3Qg+)(Z}ZqHm1v)SBb#^d}SFW_l($qk8EC0M0;o|P8Q9BAD@Dm z$ypa!B7aBk>Tz$sQeRIl6M1FK5szoAp_n{t$w(0QDh{?~%}OOVC*U<`a+zSk`vTOl z^b}sgOhj7uA5)Jr6dgN8A@YB?#)Na$LkD3@Y2O-zSRRk#S9v*KMyJ;am+~TKD|;9G zx(e*92PtucU2(1C^`70A?>QxnXgz1OGqG_|e1@dbxj&KLz3gz`=&UvUr5xL!RMlR} zgvlKmas+|J%AH+K_WJFz?Mk*gm@3a44K0rg(=^zXv732v*djjf*E2)HsL8dGI3*P= zw;2Pi?fdWz@6!-NL$T@d+7b47${ks*PDR9>rVQ|aoTP-eul9&d1{AJoOH30NhO!#C z83lBrxG=w&y%sH|583dLA$cXk0=bV#3rod_cZyj0P7wb-I)lv8C?#wdst%M(%6xTF zP|^F;kbh@DErcvRt~~V2q=5BZmlyZOlq(+F8JMkL zO>OybH-_jY29ZbK2ZC7|EEyd`I52w=;zDs zg86vghjqe~u`lFw@C#T3)=wYxv~q@LwI{E-1Ai_43A4SQz0%M}MJY3?eG4uayD(KI zvsC8q(9R4MQRulIqBGx5|Foy`K7yXe;a7i}a}Z1)51~f^KX?-q#Ib#WVf^)M_LDL2 ze1pL_#n<+sJMv`sA5v^oi*iA~w%YhrsWYWXo#^Ygs@D=mdbQ9M9lhla%UV!J)bUCf z^Fn1Y^r3~7pk96uvodRlyN+Fp3De~e5Lyc#vcq_vo$KIogRXO#)$S8Acd$#G+AE(Y z)pDzjpo?2hTk2dDp!h8-L+WB^4r$0_DIVC#Gv2+=slaNT4QL@tm`Z#~x?x%*-Aw}? zRaLW(^pj=Zi0c)Gq}*iCo-7@u;n>LW%EeEdMT%8+?V%iFYN}tV*xolm#6Xtn_>5AJ zLtYFrpUC$H@c*uDtsNEL$>pj@?T=RN>)R5a1l+Ug_c|?)jrEKK0zAh*A^Cg(P0T`4 z3N3az1J>u{A!Aawxu(v#C5icw_ta$Y`f9UDJ+9fOF+{C9hM<)*c&~~`+_$Uotp=-& z9qbmkzWJXvc{uD|adozO(1ad2bxh*Q>M=LSRVJH7kPtn8$QW$+2)a6R-er)Av6{?6 zx4K%HJoTK%8L?zsbQ*vQ4L!o0=T6O)(q)fKTxGz_EK8iq+)j<_mZm3KvBmWLc2Bej z`t6LV{W&y{Hn^T#=)h&tZO!riBksmNzYyue zVrE4ByN=m5CJD7+Xl)GxogZax8`B~Ybek}m@xilqxovU4{Pg1eA3r0#FG8|NerI~y z6b{Fa{G?&(^Gr3beK;FYpHfyCBl3ORdL^7BtDlIoWWi+O}Vk=ap$|xaT*8B*ibvQR-@K1g1KOtBkzM04e#ozXy}9Is3M@ zbey~DQ%c_sI*EKvj_SB-JKKsuZ)>8l@<%=)B$S0HR_)P1ha-%JF5ywMaRF|gt9wAKqu@4@5)*ObxT!NS2da7c zHrNpESbP0Spd<8S&7+gSoT&B}p=_mWCY^jC9MfPpw&=Dsv9ojV12Kry7g))+`th*L zNOK(UM_SHNr^qpVN7KeI z2VoLljIxZrO9B=*wHmlV3i{ar7`}84n%54-SP~}*4hP+WvUDwixU8uFv}0tG^j;{@r_?7uJ#7P7tg29@=MPzUpwE^4l2J-R>4b5{U^B!^mkkKf^`M+Eu zg;=PpVwkI>6bMx7XB3d)`$YBObS1mMW4cx{+P3>!@qO4PNk6;Ymn4OzFfC^*q0>#d zZ^St&%sfp=MP}qkn_YOGR(k~$E7Q@Hy)a4!WI8rvo(fCwwD>n77lee0-w?KmEDBvL z_L9%2MxI>S%BM_aSI()&vddI%j?RE>L~kY5a9mXHS#IZl$h#SbFL;#tHV=&=e2t@B;H z;lm_#CF1^e2Th60XbWQ^tet!MJ&1vmb9L+pe&WoU9=UfmR;%M-Og~=M7n^+PHhfDh zW0mPrvS>^f&rxwBB;hp%kht8a;9e@jChS^}rT6anRj( zc(CN3|CeAr{{xC!a}~6d{0=$gV3g%9zTt&2`nqSfX`t zfQq9OT4`+gm$5(6T;O*)t}S{t<}=1Y6^zOMSpTLePZHJ_T|WfNJ1T>B}D-tDJ$Yg5LL|5;6+^PcF^*Ke7z54GUl_ zddd>Q(=1>|JMq;K)_=F7><~6@O|Yq>Sgm#3y>C1U`vZeIbk@YUart;5dR@1;nT(o! z{1G8m6b`J1H$I&f7(axne0>g-9d9S9UI+3}$1!cZ!b04MY`I0oMtPxjMSS1#!qia% zv~&HqNXm#vq(NY^QkAB(Si8c{TIbzr{%zcH*l2OlPlewHCr>&o51cmMS)z5%U+>$V zueNOzU6A}{fabN`TLF(67M(N4hwr%`L^V70%JB_bYMN}NRo~MDt%Gj7di;!aZf7*t z=~lGez*6$#-f~RR-+f!e79+@Xd-e|a7CE4^uW~+bx{{jrOdn#~I;tgH0tCpS-(fZ5 zcPMXLoZ;a>BpwYqt<=nlp3ey^nWu2XyKt!gmmOj+zax#Bpn~LGo(XPtW1ZJOImhPwompX* z-|yN;-{*5<*KW@i-MCK_;&3N_UK{TpuRUfK$6`QGAfw*qq8KJxR*0o#|B?+ zkkYqR^;VMP5)3<3wH=7BD|9!FB!%>E|2_pCKe@lz_Jo?C)Ue=QIqAqTHOZwMgAF4{ z6s$w$;!*fk*Fo4oO_iWtdH>!(^j{iUNSIy*eYUQ;8NI$noO(}lSN_H`Oxs#g&E<2q zrCMttUK3%Cz6rg0s4N;4iL^fXW5ZbV^|N+ikusX~mK159dR z*_vc!@Qwya+*o7J>_O*$Hb%=IHy|VQCzqkwU;yxRZcTpj#bQ9)yAU35Y(v31nNTW9r2yJwqIP13SnS zj9<8>$3OGuUg{$g2)y*aE@}meD6V(tA>;;_6G0rvGPuPET>eavH|DZ2pjSv|K;2)m zu_d0gk7<Nv)mvt#DUIt8ZISmuU4?|GU)^Y^Q-1nTwFcp*#He$1o9{14qd zzSaZdg?}g#xXn6L+@Bkxf$zI63e5-#GtH~KS#1%S^nTCMR`v<7_AK z%3?Fa6fsb4s(56!0osu`x|t7fCy7(yT2o^>qhcpmCu6C8R`58dJ;- zOxm`9jrCwOkDJ8a>x}R`za%M0)Zk&tqj&ppoV_h^Elfj|c`j}-k#+q;J>3!+O)IlD zHv3Ksi%D*9Vi-|e-nxf{?rTwnF0VK$Q|o1qmRxr%uxU8|xx7Z0!szk&+r5w}cCM~S zp21N`ffE?Q2VjDpY>+PoV0W{}nO6-b4f=DB&W zMtaMqgV~I>a{}=KC^0=wmI0(Yc&_RDb+$(L1moa(2q(0lIX|1>$0k9Yrthh^L5AP4 z=Nqzy*HRCZRDB1pmPI}#t-9I0ZMkPm+;RW0>l@Y2z5Ri}i8(-CF4vF*u7f6+6&YL1 ze4AaBnm1v6ku*-TJ1cg(S#=fg%llg+J7(rXL_b*P z$|ceIV-HyufW)*{|FL4{8fET; z85nsoB@vo*?T;VG)BgUh=HW@fFc>FadcHQ|Ph-ysso5KTSrAave=Fa|+fHS!L_B;GrEjyR`JPx9ovc-?0v&0}96Twk2<>q|@Rxl~u zdV}RwBRdx`TdCF~B(nx4ZE5~jZEFpdDmh5JZy4U#^974YNO>uCAUVHY znfvf(Nl)SeYF-rNxN2`O94Gd>p8M}%S(=IjINd0>d}=|Kg5NE=8^gNA&5Ny98aLU` zff;Z&@{IGMXy7#l0UuFQr?U&VWjQnpbECeDPowHTsXh4!3i#fCOBn1jfS)cdTPH3? z$#b?s3pOtj{cVL#2TL20@_uYVNl3Noo-jfW3Kq|P-=+osV=&63HzxX7T+zdsrUUM3 z`JxKxz@hBcxTUXT35rTY>FM91!{DB_ao;MOJOPHXbxoPNYHH{Rhe^MSOEDG1msIiP zC9O26O2rL^Ik3ozILC#W^HK>kbLQ+8mev`K5ajkbZ-1Dm%cndGs>I2$RYG%>T=*@E zf9TI@>U#v6dzUS~c51H%7Pm4L_G@fWDcyS6kQoOypfxI;+}pa>uPq0|P_g9mdM?{}`w{YYg1 zb4fnvfnTe!TPWl?q==$OcwIJTTa6A|lJsb+l@&Y5s<$$Nfj_5*029D$!Nr6g(5rVZ zqz-SWSa@LMCIw<2?d3|IE4#P=Qf+os6NiFcxIoq)SK7ofp5Gr>6~@8p)z{QNprb#82rc4f6|;|Ar)^xi9HK9V=kjE|No!hS3nZ zT_(Esa=6M39Zg`jdSf9Bjt;dM@9nEC)^S0osi`%=s@O{ZbJyCcs;YlM>p0lhy1-o# zY*lW-bCm%gO^82V^8IxDc^=KERQU)O>T-?ki+MBCLS4^)cEmVv=VRWH+qzwUxV|gq zHcGjk-rTp{y=mNU^04RwGTKsC&H# z3y{Qn{92Ty_Gs#3HgLARfQrhZ;fKCYaC#2yUj#mOp!K492p zKY@w(^qkN0nIu@^w*2y>_25_^&=7vxI;`U2^6V74v)D>|R}l=>b(rF^`+5Wc|AS4BMv#;Y9+dr@t+DSp7@7Fo{6n2^Q#KB`N{}h#}uZPlCo;uDQ z2FudEVQ4#S*$|jDTMA4Gr|qA5ZbtRL0t0-*?NXEsXHZiu`YpV&PVTzNiqzt2IA!QcnOth>d~wvOr#s;#ILzhPeftqk>8<24 z2DFOB6U@M7@NFv`H-YBi8G%8Xbmfid%GX8h()|J zW&AG~k$bxTH&9CUMfw9=$Av||(p%gd$q!Lc^6w^sHt5RJx%_`vhlS&c$q^#Rtn z9k{d3+pWOtq1!n}Uj1`%6r@7fA=ne3?735_Wy(-(KLBz05y4!B0jyIU<~@(v*CB`) z{)&@RRi!oE>{Id8Y@gOio1A2Y1M=+%O_j|gDdf4@wYSh*1#+N{KM2woBESg%qQDq` z-%Ej3y`BH3wD)j_tNX%+&mejy(aRu+-a>SdM2QHIB6^SBThtkekm#aE4H7j*4beuT zmmowBL-gK_!OXlzp5OQV0q=WV<}%0ZcGkZ4TKC?w?xVqBM_;WmCmw{I$bYIO%hrjZ zPXZcXvOzR%AtPz8Sz2HLnotan$-II{v(l)4{S0oK2LA>6mUhSPbtplC)QzEX zZ8!u7gUfkR#_XP?gry@%X}R!j95N3i)g(B z!s@R$RFkS5OAZrhEt@%p@SPYe9AkD@wl_mckonN zjyeD5Y7{T{RbNm-9$5Ce5X%%Onl}}C;C|Lnqc%=EwRYp|H**CQSpyH$ovT>6L?2HQhk2}Y#|~Ac{9qB zLnXu%%)%*|{Z)cqF4CePwQTe)Lx0=VIb>!Llcg)IG;H`HMoeb}zY5#$4 z>mJJ4>ymW$jt%jk18VCIu5}>iju$x2wwK#7uQ7(bEq1W;lmyuTkC2}c8lZie#rnEG zLJm@EOa}v1rC-n9iCA}5-|Q1V0rba-1;ScA|NN43`)LfnyQO&6<=Op1Rrf9?-`!%S z*-n8j?{7ON&^G{1@B9AWpx*TeOS8?QrP7)Via#4V!ECP1Ffzc7ugbRqhgy&AS)E*P zE9n&AF%|-q7~>zB=T;%7Rl}VwG10K$sD`_rTtI2lW6z#7W8iLyfml8-1{7`EP%PFg z>)A>@BoF~LA^*{r^5Tofe^tBsa^DJi|4-JG1_AZSmx|;kwU?oBV}ehBCx1W!R8SRK z#0Mh{n_PVZ-u9U4S)?cwIG@(%g3ng~iIdMsP?#T~7@7I~TV%s(-^7v@q%twH+ ziMqHA}8Eu!0j8Ou}<%n7h~V~=ZqM)jH+eLC(YM3 zZb&r=koB|+!3{VG1^PM+I0z(y9(*WMeS5$wt_*xC)EAgf{u^msrK@hb_J?uvn{<=? zkEm37FljC=1i0@=nx`*pEKHxIt{d?-#-Lcc=<2f2Z=2iE-LY^%=QkfH>F9p_pwtB# zu8M(KT2@jnEP0`lnJ(gXnV=S_$N1aM^Ii_|cQJNa1PPnRTcCWE&Pe!wnPbMxpuYB! z4@dlj^c)ACT#C`kQ#PHlt!J6QRx*xb9{3kIHRMxS0?1O9=oVVv* zni@jJASW#cC3kO&UxK-Xmrbz~{EuP3eJjWtz7Cddb=IW3atz z_2Y9p2Z)y0Ws7rx0+g}yvp+qI8k{Ak`_rr2_^U%Rc;SB+;2#H~kjaX)D8_d!*AnIxmP+Y8x{v-Yr z)M1Uw`>dgr@YmmZ0|&1`XR#f4_X+F}-{Lq$viH3^SKnE=znt9SK(^J>0K0$+7g59` zLRQJ@y1tE-?%6^IAw4wwKysZs47<5@il)}FRt4J~8$yMMN4)w23l`0f zh$&s{VN;WD`)?Fz*PU;p{w_rBGR4Fl|M5mXF>!BV%XAl#QyN$ALXf6^06X$^^e@|+ z_RrBDviQ>V(JZ&};(2*!l}X6Xm$bbSWayva>gJPdf!~qts5d%ICZe#RX9r)+e~?Tj zHfL`?gkOS9pmcoYi)qFwrt&3kp4r%N)ag~5)pTI#_0-j>v8zZi#$Z%6CjdxzU*JLe zBC*GaMex?&;G%DbzuL7a6p#2gPihPftS-my*6At3Mv@-0A%s2ng6#OvA4Q?2L*%5~ zUs>KuU2o6utYTkH9OYGHeScXZU_C7r%#DH<2JWfq#?DPM&N!!t0zx%2%a2`L%Q2Iz)ZKE5uY)ZZ>~OyLOEIdS1FW&|x_ENd=!6#f1ntH?)ZkjWvx_#(g?FU%jl-LjJQjwfdc{lV$dG#phn%3Dv{E`{NQpOR#2il4e0Sr%$~AV3 zMel(RwtMsRh-)@+ch51_%qxT5UhHXEdzC4?P^!laX$J3eoh}-k z>2F?zkprj4A5mqI)XVjTe}}<$HpH@}F^sM#)dhyOOtwgX<1o zDEZl|@TNu3Z1^u9UG!zQkxcGa?M@gw?Uf0_ugx1in!hmQYF8vAeA#o1ufVeJC{qBJ zZo#z)d){WqR=3H<7kW*!jpVr9yVdXEkLmj6;8&?mOfO4n0ts?vYRJAP;_dF2>*0TK zyfV7#tWc9gUKXhgw22czo|s%i1|MV7&xY)EqtTNVjc>XWLPr+8#b*m!@qQ$=QFw-c z_%8yCkj5 zCalP0W%RgC!V?-NAspi_auy;jgq&(UT|!IPHGMy7DD0iMt0cT#b)0i${I5kR5++u} zbVdjs{Ys()0DG2HtLH(bHI)518K-^UV$6AqemI>>1`bJq9{h5ds&5p^2nX+$6uq}O zw5`y?9xuMaE9w=u`Jij3E`faNwEFW|IKN0NC){S=S8n5KRf&OhtA|l}RUQ#A?#Tu8 z%_Zq6i9MI6vHbR!P6ey!?;-M=C--c#`^`cRS^wYMR`2LN(Ch&?(H}owMsa~BF7H^J zQ6(NmV`l=Jp3*sg?H&GwsN755B8>y7f(N+QKV|sGag87-lK1^D&dmB*T$PXjC@CH4OV&tLa)&mgz~c_O0FM+Y z_KY7r*nSHm3IN$0x+@P_G^46)cGW4lW_@P@JzmuLPoZmf7qND%GmQ&=F5{{*8&%~! zeXaFItul5Z<1zetxH53}Nphdcg{J`UVD{pwIY+V}MHU!=?iFpdbNN?bI@+HfzKcwH z2hiC?kO5a^rg+UH4_2ee;@@Z>F3K{$<~2G}B!SufAc=alLUG0>RnjAc#i$n{nZT0! zSFltRSkn#s>UjW9emOs+PxI3<_=L9YLyMs=w_=7)9nIw)m26%$E@_5gm0{&xdR(xi zX4u(kn%A=xOt?qLjdB`xR!M|EPyT<%2JNVK3=iXr0yV-Y$tvCHJX}KS08^H`RF4@~7+{rs@4{4#x&wQ_$cbF4RztThmTJ;NtvL*er zrTYMl&e838!EQB0+2V8tm9w=%^APSBln<{RH|?yG9*WS7_~dA6{IpEGO{`d8@bhmL zs%15&@o8xzY;z-2RbOZfd9H{I8d650Fxe=1`<3)x3E{Fn*TQx?T*DiC@K!w&h|hv3 znbQ+VRq~WwOUZW{4Y>Xc8;?qdUZhj+wSnDc*KDL#^_N3&;)xZZl|6ZS75toJF!mGs z!kO?Qnz(uxMxE=NZIvuAbtb1&vwVDUPYy*^op@H%m#B~B4L^!x-d$J}w>drS2fx^C zK<-AGCjr|LOAe8mGw$?G;XmT6`dY{>CGTPQM^0(=hbNA z&mlXAuN-_VD#JscYrKEIlpShuq-;?`3uJxUno( zA#U?w2~U;J(6u%;`A6m*MhHspQ+BZ(-%=RK4f*%9^to}=@UcU>!YW?{rLC@8)pT>3 zD!?s|z1CC;y;gU=(f8tAVx}s9V=zO?F4yBh*mIT#cajS);%Q|XNRzFobANOy-}NEb ze&CN-b!KlLwP0!1Q=Ynw4cj`F>rYH)*uwHVoc>%qZxq&CdMxr+1U`IbFTlu2WN+!S zv_AVQu_z0tNgRb|#{B9Te+}y#98a5^I-@tC!POx=FD}ibPm&kCPxy*>C^$X0(7o*7oVU-U})~WJwUmg>-YNK zvF*eE4L2Q&k3UI5rGDFqN24o{_i;gb$Uy_Vr996X>RxCN)}$jSy?yAH9yV!7Ej(-U zm6XE4QAIhSngE=V)w-jAbr&2>ig_gPU=hJd9Y?~sJ*f8HYRUrxywLlrYZg&IZ>sTQb4XysRC`-sz3l5r#8|6WWj&YO|i~$E1or} zHFu$1iIS)a`jAn1lItlnF({H{lD#3=+h7Nd>7eR!-jBZWBro(18}{)m$~#-VxytV> z9NVcnB-^4JmfzGjtt0w}KOxYe^U)xrm*ILy0< zR@_E#?z%DlcS4&eu=k#nhL&wc6Lqoji?ubNHX?SrAd4)4ZWIycu9wB$=P;8ymvKuT z^urr3#g;$Zl22Zj*ETSpQ2?L|{y_s%(xEl+*^xk{&kqigEQ_-Gsw*hq8<4Ys&jrpw zDf&GeH~^7sk8WMeWjP&zJ#Hw*z5Tn%87Wdy#VrZx!`VIGC?3(1=HWqqHWbjkW!9QJ z`Fk;mZx9(rV0j{&6W*8GeubA^{Nw4%v*_Eto_a@-ix>C$B!bxVQXkHTB~!t<#L$$V z^EaactqxKoLughoOc}FBhVArH5l93MBB0i{6?xHuZt7!FPTAjW!X^5w*ZSRlG%k~V zd0W93cICJQtBo1lN&8XR;*6q+#ozBMZl9OmA3^}59zA1oRbj|i7W}8f(!{KmZ6#BM z1stGETRJ`x3y6`a0e@Ob)=ZnKz#7u4MVgqwsN!O8EQlVIt{EtT#;de6zMcxI^r@LRw zdfpn8%#IO62KP&JI8inm60V_}=_G!L?TCWrw0Dopf_2M(o^3Tb^RGXm3midK)dc_X zR^vOjpc2hcxPevdMMo06Iv(mF)QXzm*F)LSD7{_c4bNtnY6k!u9*;?Dvfff`L2Y{0 zEPY?uA(iD?F$&iw{t3N7PM1m`8-sjpBWhVp&`+ktYS&Q<*%IN>Uzobi{f=^VsMh6s z5=}RzpZ?VWWL3PTerBmjAG%chu#LuwKP#Z+`E}&-d?$HjQz445d=62fi4QJ}=hdLB z5!hcD3CN^6!M#Bscd z`iw+*Bgxh5rh|UP$4%hL0OrB?2ZluX>v$s*toJNa({H2zz^}e(@uQ0ixWw;n)(4`m z$opr*gzV3vf9mjs8+uik@DKM`}NP+M6%#-qIf1< z^YWi?pT!!sdRjBmn1vyguJCYd`;s_l>@*N(p*MQSRm-(|MM3LFe;nDCHz9?*u8+I1*NFZHT5;XG!Ul(E-sE7;$~ z(~1(%4#U=oIE&}}8*m<3NM@U(%SG8S4m*+LZ(MgbgO$i(HxYrG^|S_f+sOhFjP`G2 zg^LSUh_qh2H0b(voRf;YGa!4}kCRSUei?J-lT@(Z<0RC3MUvUXYecQgcSBsAs10*G zLWb_Hsn3oaIXqOa>_y|Q6LP|(fDL5MQqx-%$~~3j?+GGqOmK!fp~)oJG97bDvDx{*h8q*LPQC@)yC{9J}UgSbxs$CyX7627k`v_D;LRw|(=bAI0hE?{uB~ zlGCiZ##*}jHSAX?8=J49+jIHq4)&y+wzL_exG;O@Zr-RKQQO$Zrw+U_Vl5xVwBg#^ zWDYsOEQd17L5X2YOFAcCbM={dxc0i2ntI~jley#hqk`+(tIlo*=2hgpdZ}Sc(7OLr z*&}Peb@8v9$39!}jcE6e_zcn$DI`;~3k)%c=^7ff_{p9idA@WUnR`fk3;!9HA0&0w zG{;I3cZc}ErmG%+(E#PD(K>qG!kK2PnNvg6NayRP zvE~LhllmTeSFJ5K!uBXQgz&dNF;3-R6;P&jJ?Y>(XA!#FSo^LiB3S!X-{V%o+4CrF zJmLBC&%xqs=DDytDzvT2(Of(p%RmoS*H=~DPR~PX72!K0 z{BVXqI#%(cFH7ymF-UoecJH>cB|_!w9V%vu1?IDUll%C4e~b-K=wrjo)!+)%T{*If z8eGK!(fR1Hn<&J@I5Ze*H`h91aq__N5!>5Uw7mVQTbt=NA@@rAL(`9p;f-zJTxJIsW)M1{Y;ySSyTe{$dL z(GuY=s>(gaR)+jOtG*Ksf*H&~YJTkZr=k|u+i%Rm7JCgpt@~jMM7tPGb-0U>XIsxQ zaVJ>;DZpt&U5W>?b`x<2t5FNlGJy3G?!_XT@!rZeC7$DdTWiyw=#}E==%bNSxNW~I zv#r0loGra#Ld$USpE=R%L_Ia2EQJN%%EZ0?xD^iyC!I}9G1h9TuiV2Gdi^Oe{J9+o zD9&&CQUjcy&8QtOKK(JY>46d8O;z3?$D1u!ui~it*_qC>Nh&R_Ms0V&Y(OOjx?lT`Iy z)4p7Hunh|y^Z{X2p0xB1{8Z(Mmz7 z?riq$q{PR&wxmJBsu2v8xj1!OY*^ktO^+PYb@DQpkQ8^E9?vm?DLq}|$J?gdkUyxT zxpf7i;W5$()d$vc3d();R5tGq5YM|0f?j{mIeEM&O*X~P;+JC6Tcw-v!e~J1{-U_T zQLI1C4i*5*H0l+vM1(9Y5K9Jg_?2#&!BpMzbn&77-#72TpyM7onXmI@5BDPpFC>tN z8if0Y<9J#xfGqopB|~+JW6>8~LJhf+9Fk?4@?h!iJkcqss0#^RSJC)$|4BUJ>5%(Nt~2epzIDlZ+;StHPoR*AhI=ISt0zn^ut0zW zSaVnP=EihI9#BB>t{u$YJ1?^CWWjd^7Vy4G&!irzWh!N}(Q4x>8fk`H0u=m5Q6BWw zlLz&JY?BGW36&vF7CF#pTUekU@Ic{agwgRWLA+)E?i90MA`&I}m$^sgXt$`DBb%;$ zuY1f>^%dKsk9k`JtyIHZFMzZ+$vnnnnpi?7e=YMf?xaf=rDR;dpr!?RSI0sNH5x6m zQWWgsTGM4x4BO*g*CW*?(Ev!HA?;8=J&J|{P}ky1C(_cY`belo3Jp)DT>)s-Nuk#Z zhpF4vdPbY7uit=%)2as+RZ_!UG|#}Ok_WbpVde-3MA!9>HlxYjX<1#i@(nXsq8)tb zAi8T!Yw(;rn@CU@wxgv1wt3X8KX>IVA(bkNE&oGmSHdFHbd%Q*Z*s4$KHM# zgUBPrH((x$Z31`>4Yf_U;X@5TUq3Ky*KG%HG)bKX(kvVBfdWDY-V&W)E#cnJf}8Go zUhk>EcDwJpXh+``WzvoZIgmG$Tiu#gm_*I36@>`tTz^?u`v9rX+ER0D_W~M}0j)fX zjAZBG4!_I)j2fVV!M5r>=$K@M_|3oWth7H^>ij9jAI=wfm$SyJCn?!*4GM2wWAxif zO{zrAU1`~J9o{~re6#Y8QiudCmcd@$`a$&lyA3kP1KC0mI5h)DW9F;CE;3Mf?cM^y z1a8MwK8e+^gum5b{Xa8sTdE02Pr_>jqJ-mgpK+U=@Pt7|c_MQ^axm$c%u~XWo*f#_ z82_9a9%C{JBvnfkx5O*;-6P3Lux1EiotKLrCugeW2QAq5@M9!6`QfzmRD%TEC6b&VC892DvNHPX3eo zpyu>)1PS?c!X)sBT(IdI{NNWH;Nb3)f;a*P65injY_#vX_3@SvT-8>A@>y(bN^_+c zg-(?W4Gg3jg_`mx0>>F=;*Bj2Gn^=hlD4Xx8h&?7VKOuITS5g0Mk;dO0Bj|o$vmJxo{SgZ zlR7@mXf{J^8c|TP;=gTzYm4-TAUF|xV4u|N7bu7af!8AP1Ji*R0W|z>1T}Dj@!2Vd zB~A11i+NRi%kKl7p4cL_QqG?hVjLHO2H7+A??h$w$CgSeWeAP4iwY+;&{{1JW&E@f^Bs%I0 z$3)UcymWSI?t+CUj9Siiw@GrN!s@9!=MMTGw(S+wRnKp>vU?J(0qM8YoPsD`>aJT4 zGt;~eelOhLA1fd&eQdH9GzUZEp38JZpO!gs-~M%FuLu{5|Kr=AxQ1X>Njt8QmVS)9 zC&2x7&fru~EQqcxa)tc0)L3O&cstj{GZ-579A(yVM~w@w&{}~Qx=@et0Q-)!zxWyZ z<^j`#&#Wi!Jx+zO7iODSy<lXVrVUdiveCJ)BW&IVK$6f)y|!!qFjbG3Vn(aWm-Osr zBbfpe7WFtz>KC&K&H~Q)T8`3=+$&V!EjWDUrL%#7a>wG)_q^b&+B(suk?5(gm>x)E zY2Sj#oMMye!v;)3r>dxYriVd48*V^EhhiTui zdJnEtfCDgi-oVDy+l0=pzZgmK-&J(SNP;0mi)*d&GJvQtqm@jx_?WCkEvWjseRW@ z_vQ|? z*FWxa0Trvks8z7gg$o|R?tqajkztMPQLO;Mdjr2(Rp&By0J_Ha=nAg@a1~dVnHep2 zUr+rPI1{XY@TvXtUY9of|DD;J!e>DzAb_3g?3oTl?y&#!r8kJ`rfakp@$qG2u>t2; z%6_j${keU{eg^-l8ZbM7g~19*DSc-;2MR^`4{l}_01_6z1p#}=rN5+XtXHL?L;-%+ z0Fm-?cB6jd(7HxX8+U|n(HQGFYa0Q4Jtc)#u0}|cUV;FO>V*>NU9AR2up2syhz#P& zX_q*21)pLs>b4Lp&WZC5ooC+VEfhMG6DU%A8K3+nZI63tGWS4{5kYma(btz)ci#@{ zialX`vI`R>vFE$?&s`hbs;$Z;kg)jTX6huXX_#om9QtAr$ z$Z9fGuVE*ghWPEypum$dG$e(jjU8V5EwuSj6{`Q7zvumCH(QFcc(FJ4P{5kF6ryFg z__D9U+xL?m#^#s_P?tWcMqr2E2C5=9kxd**XeQ+Sdd|simEwtSOl~>PRzv(1k(;o9 zvbn~9X+)A?>(9>|!#3M;PZ8%BB{&AO(jaIp|B+O)GUZHDBl+sjK^Fl0h4&G?kGb0P zLDFXrYGB^*Wr<7E%=e)h2j(T>o*E{;)dfs}3tPJ|YTRUqtK=~BvUzaGiNs`DNRe}S z6>H|vyA>hk%G_#Z{sDsrXBKk?T`&i}Ny6p;h37QySN2NgH!BC#o~5Hh~Z zU{;y433Dy<8R7RUu;lNm%>V$-tH8;sqa`!u9RA^rWovFSgXQKUaGYD8XF_xR&mMkc z2Ws*mYRAQ;aKAeVpCJjEb1uQ3T#V$1nr1d0DSwFl#gL+WFRwA6Qwdk^a!*>EZ zZe{1t%}sGS?)3}X0DN?Ldr|U^BU=cY5vi6Gu564d045b}-oP2!VD*6T!S8(ud#Uum z4~_4X77raUN(00F(^pO~j+s~Vb2Bn@?FL^7+kxxf5G zrxGmGQk`yPScA@e<8qr-{;@lE)7)f=`{oyCaTy^dWNG~afex3qONx#?sfVIcx{JcQ zMbMe@bAxM5`}KDY94%Q@+a^?9c`eP+nMGrjNg?JAn@|elv9~!Ypsmn z?#<6sX8X2&uVNMe*5}^7;B}D&)MSaFEujNz=;N= zm~3Su9OXK^u=nh_%~sp*^3d?0%7YyHmuBxC75{QPB@M~P>YP@)0OOha5(?z0n6g3j)2zvOA7>Sp(*veHtMY%XiJ zX06t1W~&+!o|GZnL)P@z%o`Jw-|c?^ID$S{eMMT~bXO9=Nenra-fBzXIy2c~4_M;i#cO;`U zW-};6h>|!O6(X@@)<1`IB&uGQrVvUwPAeUYWgFY*3jS0bN-}9Q{0LqGuKR5#-$mlu z0{xN(f7?4eH*fA^nkBD$lD7qa`a1{lyGG4XnpO5pZsjKjBMn5u{lfmtb6jZJ|9H{= zpDpZT7Yp#Da2c_c=SA|=WT$d=tW=2^A)+aNWG^P-%QS?xBZg(9UI@zSw)1MW6Q0KA z$lx4rwyJpyJYLFFrdubYjx8J|eHSOECnq$rmN_whwy$xI(%?gE-f!tc)}9bcf!g8qN!TUn_qQx3eJ5uJA;D0*ofpGtRSg1)?+<%C_sk zWe5=n3KI1sSP5%4pUSh>Tw6$d1A4)cg9G8K(gga&>;U&IYUfDnQEJFEl}=HKzT-*w zPp|Zr?;>4RKc#Htw=AvWu`6_;SASH%rVoBlx<12jy`pSSzr$@brYwCp>q21j()K$k&|=ttaXQuNK#PXJ?5A7K3a? z^swL79Us1?3t0L2V)eG|n+#aO&57P5%fHTTt}QB7cZFFU@;8QoFt$*Gf-o0XgP zAJQY_Hbp#k&vMD*!iqxh{y)Z*zYslPlf;F6M8q7)@w$Vq)qG%@Y}jURv=NH9^lB@%&AcQ_lyI-QP|H6s>n8$Pc|Sv1j=67o2US0mBmA;X#nQd}VCPl3&y)-{$&{s1gKi~UldcIdW0f(Xjir}rN+XP5+#Do+i46UYO~GR+V^xbA44FvUs>WG<|ny?IFJ-3 zltD%=8Ib|=#SQQF!}o9jI=G0fb2lN#Za7*9tSm!Ar|q=fe+4&*q)=P9(ao4W9knY) z%&?D_90K%^ZnE8Oz^O5^<(bSP4Wr8qOR(IshI`kdZpI9VJ4m1jjp_|de?Q{S6YnFa z_Z~$ZMV=Z7oK{^6DiL!bbQGa<3CQg6Mm<*Pk2`ZMySauB+dRr|0teyXVL^C;dLC6X z^URG5Vp3QLZlHK9M|UHIv}MAmPmh2fLJ!g{Mg_XPh|mmeg1qY}6H15wXjTvnnJ7{6 z^_a`OF<62TnO9HHntPczJZaQ#4b3n7cb-!C_Rqv9UP`Wcq`$t1>skq#27Ef-WsUzT zLa&EYKoU($CN=|@!a&Xl?g&A?q(%1soy92pKV3=|4>iy9HBnwR$=Ij>fTT0}Kw>Ua z2A`%mxoU+V1J428tD12DEkg%RAb~6ZscKcIyKYQl6?(t+7TL<`D?c83f1-`e<5WzR zyqlN-SR-MQ$d8axatmZ}pEG|x0@78zSK`I%jBRq);>VYo>ZYZil(AWWpamqJesLR^ z0MRQftT~rB1bNW!uBD_D+3h(m(s;Tj5PN^{9uEi$387dG-o1#OUPJ{*Wfj5J>P@~> zd4uT4e&)R83>*UbU)(G~qiZS>mg#qKfWDW?1Rjhqo^AN$5+?>UAb2UNN@$QXUf0YT zys23gxn4LCp|Ex>%Y)0#@K2PSXQ(bO+0`FOyQTVCHs$!kwrx0gOu^Mms`lk%YthNq zh7$lo)|J^ART9gOW2{XymgFy~=l9fWRSm1KMw#8pj!xlp}rC^q1Ky zJ>4$H)M{83`|wLSdw_u3Lg%SswAfx!gXShp;^v@y+rzKbEu`>mxJZ$R;d@TIHC}s? zx8PLx5YWMmx2L)<+5MMP?}sflHNd>e6V5iKpP$J$HwC|gkrVMHH<$(stdA7%~OpvQW33t;YV;se2PW+%AR;>aAqwfCOT@aL`| zFQQeTi)$~50CGv=JJYX9WJm4$Cj_o3Qm${Of{I#juP_<@lYo>N#(hhedrJ|T+b(;u zg<-hd!QGh=0o1F*8{Wmg>%de)0MNeo L@NR{=<*WY#%7ktf literal 29540 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 Date: Sat, 14 Feb 2015 01:33:55 -0500 Subject: [PATCH 112/143] ammo_magazine icon state data caching --- code/modules/projectiles/ammunition.dm | 36 ++++++++++++++++++++------ 1 file changed, 28 insertions(+), 8 deletions(-) diff --git a/code/modules/projectiles/ammunition.dm b/code/modules/projectiles/ammunition.dm index 16569cd1726..02850db6e0e 100644 --- a/code/modules/projectiles/ammunition.dm +++ b/code/modules/projectiles/ammunition.dm @@ -87,13 +87,7 @@ /obj/item/ammo_magazine/New() if(multiple_sprites) - //should probably be cached or something. - var/list/states = icon_states(icon) - for(var/i = 0, i <= max_ammo, i++) - var/ammo_state = "[icon_state]-[i]" - if(ammo_state in states) - icon_keys += i - ammo_states += ammo_state + initialize_magazine_icondata(src) if(isnull(initial_ammo)) initial_ammo = max_ammo @@ -140,4 +134,30 @@ /obj/item/ammo_magazine/examine(mob/user) ..() - user << "There [(stored_ammo.len > 1)? "are" : "is"] [stored_ammo.len] round\s left!" \ No newline at end of file + user << "There [(stored_ammo.len > 1)? "are" : "is"] [stored_ammo.len] round\s left!" + +//magazine icon state caching +/var/global/list/magazine_icondata_keys = list() +/var/global/list/magazine_icondata_states = list() + +/proc/initialize_magazine_icondata(var/obj/item/ammo_magazine/M) + var/typestr = "[M.type]" + if(!(typestr in magazine_icondata_keys) || !(typestr in magazine_icondata_states)) + magazine_icondata_cache_add(M) + + M.icon_keys = magazine_icondata_keys[typestr] + M.ammo_states = magazine_icondata_states[typestr] + +/proc/magazine_icondata_cache_add(var/obj/item/ammo_magazine/M) + var/list/icon_keys = list() + var/list/ammo_states = list() + var/list/states = icon_states(M.icon) + for(var/i = 0, i <= M.max_ammo, i++) + var/ammo_state = "[M.icon_state]-[i]" + if(ammo_state in states) + icon_keys += i + ammo_states += ammo_state + + magazine_icondata_keys["[M.type]"] = icon_keys + magazine_icondata_states["[M.type]"] = ammo_states + From fde03b2e944311064522bc59f59458c77b569fb5 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Sat, 14 Feb 2015 14:16:40 +0100 Subject: [PATCH 113/143] Containers now properly checks types instead of string paths. Security and medical belts could contain now no longer existing objects. These types have been removed. Conflicts: code/game/objects/items/weapons/storage/belt.dm code/game/objects/structures/inflatable.dm code/modules/clothing/under/ties.dm --- .../objects/items/weapons/storage/bags.dm | 10 +- .../objects/items/weapons/storage/belt.dm | 96 ++++--- .../objects/items/weapons/storage/boxes.dm | 8 +- .../objects/items/weapons/storage/fancy.dm | 12 +- .../objects/items/weapons/storage/firstaid.dm | 2 +- .../objects/items/weapons/storage/misc.dm | 82 +++--- .../objects/items/weapons/storage/secure.dm | 2 +- .../objects/items/weapons/storage/storage.dm | 27 +- .../objects/items/weapons/storage/wallets.dm | 38 +-- code/game/objects/structures/inflatable.dm | 1 + code/modules/paperwork/photography.dm | 2 +- .../xenoarchaeology/tools/gearbelt.dm | 56 ++-- .../research/xenoarchaeology/tools/tools.dm | 72 ++--- .../xenoarchaeology/tools/tools_pickaxe.dm | 264 +++++++++--------- 14 files changed, 332 insertions(+), 340 deletions(-) diff --git a/code/game/objects/items/weapons/storage/bags.dm b/code/game/objects/items/weapons/storage/bags.dm index 88db6abd3eb..5eb3c182522 100644 --- a/code/game/objects/items/weapons/storage/bags.dm +++ b/code/game/objects/items/weapons/storage/bags.dm @@ -36,7 +36,7 @@ max_w_class = 2 storage_slots = 21 can_hold = list() // any - cant_hold = list("/obj/item/weapon/disk/nuclear") + cant_hold = list(/obj/item/weapon/disk/nuclear) /obj/item/weapon/storage/bag/trash/update_icon() if(contents.len == 0) @@ -63,7 +63,7 @@ max_w_class = 2 storage_slots = 21 can_hold = list() // any - cant_hold = list("/obj/item/weapon/disk/nuclear") + cant_hold = list(/obj/item/weapon/disk/nuclear) // ----------------------------- // Mining Satchel @@ -79,7 +79,7 @@ storage_slots = 50 max_combined_w_class = 200 //Doesn't matter what this is, so long as it's more or equal to storage_slots * ore.w_class max_w_class = 3 - can_hold = list("/obj/item/weapon/ore") + can_hold = list(/obj/item/weapon/ore) // ----------------------------- @@ -94,7 +94,7 @@ max_combined_w_class = 200 //Doesn't matter what this is, so long as it's more or equal to storage_slots * plants.w_class max_w_class = 3 w_class = 2 - can_hold = list("/obj/item/weapon/reagent_containers/food/snacks/grown","/obj/item/seeds","/obj/item/weapon/grown") + can_hold = list(/obj/item/weapon/reagent_containers/food/snacks/grown,/obj/item/seeds,/obj/item/weapon/grown) // ----------------------------- @@ -252,4 +252,4 @@ max_combined_w_class = 200 //Doesn't matter what this is, so long as it's more or equal to storage_slots * cash.w_class max_w_class = 3 w_class = 2 - can_hold = list("/obj/item/weapon/coin","/obj/item/weapon/spacecash") + can_hold = list(/obj/item/weapon/coin,/obj/item/weapon/spacecash) diff --git a/code/game/objects/items/weapons/storage/belt.dm b/code/game/objects/items/weapons/storage/belt.dm index e190ac1e02d..29ba6b101c1 100644 --- a/code/game/objects/items/weapons/storage/belt.dm +++ b/code/game/objects/items/weapons/storage/belt.dm @@ -13,19 +13,19 @@ icon_state = "utilitybelt" item_state = "utility" can_hold = list( - //"/obj/item/weapon/combitool", - "/obj/item/weapon/crowbar", - "/obj/item/weapon/screwdriver", - "/obj/item/weapon/weldingtool", - "/obj/item/weapon/wirecutters", - "/obj/item/weapon/wrench", - "/obj/item/device/multitool", - "/obj/item/device/flashlight", - "/obj/item/stack/cable_coil", - "/obj/item/device/t_scanner", - "/obj/item/device/analyzer", - "/obj/item/taperoll/engineering", - "/obj/item/device/robotanalyzer") + ///obj/item/weapon/combitool, + /obj/item/weapon/crowbar, + /obj/item/weapon/screwdriver, + /obj/item/weapon/weldingtool, + /obj/item/weapon/wirecutters, + /obj/item/weapon/wrench, + /obj/item/device/multitool, + /obj/item/device/flashlight, + /obj/item/stack/cable_coil, + /obj/item/device/t_scanner, + /obj/item/device/analyzer, + /obj/item/taperoll/engineering, + /obj/item/device/robotanalyzer) /obj/item/weapon/storage/belt/utility/full/New() @@ -55,22 +55,21 @@ icon_state = "medicalbelt" item_state = "medical" can_hold = list( - "/obj/item/device/healthanalyzer", - "/obj/item/weapon/dnainjector", - "/obj/item/weapon/reagent_containers/dropper", - "/obj/item/weapon/reagent_containers/glass/beaker", - "/obj/item/weapon/reagent_containers/glass/bottle", - "/obj/item/weapon/reagent_containers/pill", - "/obj/item/weapon/reagent_containers/syringe", - "/obj/item/weapon/reagent_containers/glass/dispenser", - "/obj/item/weapon/flame/lighter/zippo", - "/obj/item/weapon/storage/fancy/cigarettes", - "/obj/item/weapon/storage/pill_bottle", - "/obj/item/stack/medical", - "/obj/item/device/flashlight/pen", - "/obj/item/clothing/mask/surgical", - "/obj/item/clothing/gloves/latex", - "/obj/item/weapon/reagent_containers/hypospray" + /obj/item/device/healthanalyzer, + /obj/item/weapon/dnainjector, + /obj/item/weapon/reagent_containers/dropper, + /obj/item/weapon/reagent_containers/glass/beaker, + /obj/item/weapon/reagent_containers/glass/bottle, + /obj/item/weapon/reagent_containers/pill, + /obj/item/weapon/reagent_containers/syringe, + /obj/item/weapon/flame/lighter/zippo, + /obj/item/weapon/storage/fancy/cigarettes, + /obj/item/weapon/storage/pill_bottle, + /obj/item/stack/medical, + /obj/item/device/flashlight/pen, + /obj/item/clothing/mask/surgical, + /obj/item/clothing/gloves/latex, + /obj/item/weapon/reagent_containers/hypospray ) /obj/item/weapon/storage/belt/medical/emt @@ -90,25 +89,24 @@ max_w_class = 3 max_combined_w_class = 21 can_hold = list( - "/obj/item/weapon/grenade", - "/obj/item/weapon/reagent_containers/spray/pepper", - "/obj/item/weapon/handcuffs", - "/obj/item/device/flash", - "/obj/item/clothing/glasses", - "/obj/item/ammo_casing/shotgun", - "/obj/item/ammo_magazine", - "/obj/item/weapon/reagent_containers/food/snacks/donut/normal", - "/obj/item/weapon/reagent_containers/food/snacks/donut/jelly", - "/obj/item/weapon/melee/baton", - "/obj/item/weapon/gun/energy/taser", - "/obj/item/weapon/flame/lighter/zippo", - "/obj/item/weapon/cigpacket", - "/obj/item/clothing/glasses/hud/security", - "/obj/item/device/flashlight", - "/obj/item/device/pda", - "/obj/item/device/radio/headset", - "/obj/item/weapon/melee", - "/obj/item/taperoll/police" + /obj/item/weapon/grenade, + /obj/item/weapon/reagent_containers/spray/pepper, + /obj/item/weapon/handcuffs, + /obj/item/device/flash, + /obj/item/clothing/glasses, + /obj/item/ammo_casing/shotgun, + /obj/item/ammo_magazine, + /obj/item/weapon/reagent_containers/food/snacks/donut/normal, + /obj/item/weapon/reagent_containers/food/snacks/donut/jelly, + /obj/item/weapon/melee/baton, + /obj/item/weapon/gun/energy/taser, + /obj/item/weapon/flame/lighter/zippo, + /obj/item/clothing/glasses/hud/security, + /obj/item/device/flashlight, + /obj/item/device/pda, + /obj/item/device/radio/headset, + /obj/item/weapon/melee, + /obj/item/taperoll/police ) /obj/item/weapon/storage/belt/soulstone @@ -118,7 +116,7 @@ item_state = "soulstonebelt" storage_slots = 6 can_hold = list( - "/obj/item/device/soulstone" + /obj/item/device/soulstone ) /obj/item/weapon/storage/belt/soulstone/full/New() diff --git a/code/game/objects/items/weapons/storage/boxes.dm b/code/game/objects/items/weapons/storage/boxes.dm index c724319160d..aaa77bf6637 100644 --- a/code/game/objects/items/weapons/storage/boxes.dm +++ b/code/game/objects/items/weapons/storage/boxes.dm @@ -344,7 +344,7 @@ icon = 'icons/obj/food.dmi' icon_state = "monkeycubebox" storage_slots = 7 - can_hold = list("/obj/item/weapon/reagent_containers/food/snacks/monkeycube") + can_hold = list(/obj/item/weapon/reagent_containers/food/snacks/monkeycube) New() ..() if(src.type == /obj/item/weapon/storage/box/monkeycubes) @@ -458,7 +458,7 @@ icon = 'icons/obj/toy.dmi' icon_state = "spbox" storage_slots = 8 - can_hold = list("/obj/item/toy/snappop") + can_hold = list(/obj/item/toy/snappop) New() ..() for(var/i=1; i <= storage_slots; i++) @@ -473,7 +473,7 @@ storage_slots = 10 w_class = 1 slot_flags = SLOT_BELT - can_hold = list("/obj/item/weapon/flame/match") + can_hold = list(/obj/item/weapon/flame/match) New() ..() @@ -506,7 +506,7 @@ item_state = "syringe_kit" foldable = /obj/item/stack/sheet/cardboard //BubbleWrap storage_slots=21 - can_hold = list("/obj/item/weapon/light/tube", "/obj/item/weapon/light/bulb") + can_hold = list(/obj/item/weapon/light/tube, /obj/item/weapon/light/bulb) max_combined_w_class = 42 //holds 21 items of w_class 2 use_to_pickup = 1 // for picking up broken bulbs, not that most people will try diff --git a/code/game/objects/items/weapons/storage/fancy.dm b/code/game/objects/items/weapons/storage/fancy.dm index 5566bca6662..a07013a79c9 100644 --- a/code/game/objects/items/weapons/storage/fancy.dm +++ b/code/game/objects/items/weapons/storage/fancy.dm @@ -48,7 +48,7 @@ name = "egg box" storage_slots = 12 max_combined_w_class = 24 - can_hold = list("/obj/item/weapon/reagent_containers/food/snacks/egg") + can_hold = list(/obj/item/weapon/reagent_containers/food/snacks/egg) /obj/item/weapon/storage/fancy/egg_box/New() ..() @@ -91,7 +91,7 @@ storage_slots = 6 icon_type = "crayon" can_hold = list( - "/obj/item/toy/crayon" + /obj/item/toy/crayon ) /obj/item/weapon/storage/fancy/crayons/New() @@ -134,7 +134,7 @@ throwforce = 2 slot_flags = SLOT_BELT storage_slots = 6 - can_hold = list("/obj/item/clothing/mask/cigarette") + can_hold = list(/obj/item/clothing/mask/smokable/cigarette) icon_type = "cigarette" /obj/item/weapon/storage/fancy/cigarettes/New() @@ -190,7 +190,7 @@ throwforce = 2 slot_flags = SLOT_BELT storage_slots = 7 - can_hold = list("/obj/item/clothing/mask/cigarette/cigar") + can_hold = list(/obj/item/clothing/mask/smokable/cigarette/cigar) icon_type = "cigar" /obj/item/weapon/storage/fancy/cigar/New() @@ -239,7 +239,7 @@ icon_type = "vial" name = "vial storage box" storage_slots = 6 - can_hold = list("/obj/item/weapon/reagent_containers/glass/beaker/vial") + can_hold = list(/obj/item/weapon/reagent_containers/glass/beaker/vial) /obj/item/weapon/storage/fancy/vials/New() @@ -255,7 +255,7 @@ icon_state = "vialbox0" item_state = "syringe_kit" max_w_class = 3 - can_hold = list("/obj/item/weapon/reagent_containers/glass/beaker/vial") + can_hold = list(/obj/item/weapon/reagent_containers/glass/beaker/vial) max_combined_w_class = 14 //The sum of the w_classes of all the items in this storage item. storage_slots = 6 req_access = list(access_virology) diff --git a/code/game/objects/items/weapons/storage/firstaid.dm b/code/game/objects/items/weapons/storage/firstaid.dm index e2d45e0fac8..be16497c3ad 100644 --- a/code/game/objects/items/weapons/storage/firstaid.dm +++ b/code/game/objects/items/weapons/storage/firstaid.dm @@ -138,7 +138,7 @@ icon = 'icons/obj/chemical.dmi' item_state = "contsolid" w_class = 2.0 - can_hold = list("/obj/item/weapon/reagent_containers/pill","/obj/item/weapon/dice","/obj/item/weapon/paper") + can_hold = list(/obj/item/weapon/reagent_containers/pill,/obj/item/weapon/dice,/obj/item/weapon/paper) allow_quick_gather = 1 use_to_pickup = 1 storage_slots = 14 diff --git a/code/game/objects/items/weapons/storage/misc.dm b/code/game/objects/items/weapons/storage/misc.dm index f3661916b71..ab40f028396 100644 --- a/code/game/objects/items/weapons/storage/misc.dm +++ b/code/game/objects/items/weapons/storage/misc.dm @@ -1,41 +1,41 @@ -/obj/item/weapon/storage/pill_bottle/dice - name = "pack of dice" - desc = "It's a small container with dice inside." - - New() - ..() - new /obj/item/weapon/dice( src ) - new /obj/item/weapon/dice/d20( src ) - -/* - * Donut Box - */ - -/obj/item/weapon/storage/donut_box - icon = 'icons/obj/food.dmi' - icon_state = "donutbox" - name = "donut box" - storage_slots = 6 - var/startswith = 6 - can_hold = list("/obj/item/weapon/reagent_containers/food/snacks/donut") - foldable = /obj/item/stack/sheet/cardboard - -/obj/item/weapon/storage/donut_box/New() - ..() - for(var/i=1; i <= startswith; i++) - new /obj/item/weapon/reagent_containers/food/snacks/donut/normal(src) - update_icon() - return - -/obj/item/weapon/storage/donut_box/update_icon() - overlays.Cut() - var/i = 0 - for(var/obj/item/weapon/reagent_containers/food/snacks/donut/D in contents) - var/image/img = image('icons/obj/food.dmi', D.overlay_state) - img.pixel_x = i * 3 - overlays += img - i++ - -/obj/item/weapon/storage/donut_box/empty - icon_state = "donutbox0" - startswith = 0 +/obj/item/weapon/storage/pill_bottle/dice + name = "pack of dice" + desc = "It's a small container with dice inside." + + New() + ..() + new /obj/item/weapon/dice( src ) + new /obj/item/weapon/dice/d20( src ) + +/* + * Donut Box + */ + +/obj/item/weapon/storage/donut_box + icon = 'icons/obj/food.dmi' + icon_state = "donutbox" + name = "donut box" + storage_slots = 6 + var/startswith = 6 + can_hold = list(/obj/item/weapon/reagent_containers/food/snacks/donut) + foldable = /obj/item/stack/sheet/cardboard + +/obj/item/weapon/storage/donut_box/New() + ..() + for(var/i=1; i <= startswith; i++) + new /obj/item/weapon/reagent_containers/food/snacks/donut/normal(src) + update_icon() + return + +/obj/item/weapon/storage/donut_box/update_icon() + overlays.Cut() + var/i = 0 + for(var/obj/item/weapon/reagent_containers/food/snacks/donut/D in contents) + var/image/img = image('icons/obj/food.dmi', D.overlay_state) + img.pixel_x = i * 3 + overlays += img + i++ + +/obj/item/weapon/storage/donut_box/empty + icon_state = "donutbox0" + startswith = 0 diff --git a/code/game/objects/items/weapons/storage/secure.dm b/code/game/objects/items/weapons/storage/secure.dm index 74c47cab05a..26ed522a384 100644 --- a/code/game/objects/items/weapons/storage/secure.dm +++ b/code/game/objects/items/weapons/storage/secure.dm @@ -220,7 +220,7 @@ max_w_class = 8 anchored = 1.0 density = 0 - cant_hold = list("/obj/item/weapon/storage/secure/briefcase") + cant_hold = list(/obj/item/weapon/storage/secure/briefcase) New() ..() diff --git a/code/game/objects/items/weapons/storage/storage.dm b/code/game/objects/items/weapons/storage/storage.dm index 2e1d4d2a4cf..dd9851bb4c6 100644 --- a/code/game/objects/items/weapons/storage/storage.dm +++ b/code/game/objects/items/weapons/storage/storage.dm @@ -209,24 +209,17 @@ usr << "[src] is full, make some space." return 0 //Storage item is full - if(can_hold.len) - var/ok = 0 - for(var/A in can_hold) - if(istype(W, text2path(A) )) - ok = 1 - break - if(!ok) - if(!stop_messages) - if (istype(W, /obj/item/weapon/hand_labeler)) - return 0 - usr << "[src] cannot hold [W]." - return 0 + if(can_hold.len && !is_type_in_list(W, can_hold)) + if(!stop_messages) + if (istype(W, /obj/item/weapon/hand_labeler)) + return 0 + usr << "[src] cannot hold [W]." + return 0 - for(var/A in cant_hold) //Check for specific items which this container can't hold. - if(istype(W, text2path(A) )) - if(!stop_messages) - usr << "[src] cannot hold [W]." - return 0 + if(cant_hold.len && is_type_in_list(W, cant_hold)) + if(!stop_messages) + usr << "[src] cannot hold [W]." + return 0 if (W.w_class > max_w_class) if(!stop_messages) diff --git a/code/game/objects/items/weapons/storage/wallets.dm b/code/game/objects/items/weapons/storage/wallets.dm index 505263cf46c..fb6829abf58 100644 --- a/code/game/objects/items/weapons/storage/wallets.dm +++ b/code/game/objects/items/weapons/storage/wallets.dm @@ -5,25 +5,25 @@ icon_state = "wallet" w_class = 2 can_hold = list( - "/obj/item/weapon/spacecash", - "/obj/item/weapon/card", - "/obj/item/clothing/mask/cigarette", - "/obj/item/device/flashlight/pen", - "/obj/item/seeds", - "/obj/item/stack/medical", - "/obj/item/toy/crayon", - "/obj/item/weapon/coin", - "/obj/item/weapon/dice", - "/obj/item/weapon/disk", - "/obj/item/weapon/implanter", - "/obj/item/weapon/flame/lighter", - "/obj/item/weapon/flame/match", - "/obj/item/weapon/paper", - "/obj/item/weapon/pen", - "/obj/item/weapon/photo", - "/obj/item/weapon/reagent_containers/dropper", - "/obj/item/weapon/screwdriver", - "/obj/item/weapon/stamp") + /obj/item/weapon/spacecash, + /obj/item/weapon/card, + /obj/item/clothing/mask/smokable/cigarette/, + /obj/item/device/flashlight/pen, + /obj/item/seeds, + /obj/item/stack/medical, + /obj/item/toy/crayon, + /obj/item/weapon/coin, + /obj/item/weapon/dice, + /obj/item/weapon/disk, + /obj/item/weapon/implanter, + /obj/item/weapon/flame/lighter, + /obj/item/weapon/flame/match, + /obj/item/weapon/paper, + /obj/item/weapon/pen, + /obj/item/weapon/photo, + /obj/item/weapon/reagent_containers/dropper, + /obj/item/weapon/screwdriver, + /obj/item/weapon/stamp) slot_flags = SLOT_ID var/obj/item/weapon/card/id/front_id = null diff --git a/code/game/objects/structures/inflatable.dm b/code/game/objects/structures/inflatable.dm index 5df70a54bb8..1f760797fc3 100644 --- a/code/game/objects/structures/inflatable.dm +++ b/code/game/objects/structures/inflatable.dm @@ -253,6 +253,7 @@ icon_state = "inf_box" item_state = "syringe_kit" max_combined_w_class = 21 + can_hold = list(/obj/item/inflatable) New() ..() diff --git a/code/modules/paperwork/photography.dm b/code/modules/paperwork/photography.dm index 34a974064e7..dcd48955bf6 100644 --- a/code/modules/paperwork/photography.dm +++ b/code/modules/paperwork/photography.dm @@ -86,7 +86,7 @@ var/global/photo_count = 0 icon = 'icons/obj/items.dmi' icon_state = "album" item_state = "briefcase" - can_hold = list("/obj/item/weapon/photo",) + can_hold = list(/obj/item/weapon/photo) /obj/item/weapon/storage/photo_album/MouseDrop(obj/over_object as obj) diff --git a/code/modules/research/xenoarchaeology/tools/gearbelt.dm b/code/modules/research/xenoarchaeology/tools/gearbelt.dm index e2d4839d2b4..02a3e93abd9 100644 --- a/code/modules/research/xenoarchaeology/tools/gearbelt.dm +++ b/code/modules/research/xenoarchaeology/tools/gearbelt.dm @@ -1,28 +1,28 @@ - -/obj/item/weapon/storage/belt/archaeology - name = "excavation gear-belt" - desc = "Can hold various excavation gear." - icon_state = "gearbelt" - item_state = "utility" - can_hold = list( - "/obj/item/weapon/storage/box/samplebags", - "/obj/item/device/core_sampler", - "/obj/item/device/beacon_locator", - "/obj/item/device/radio/beacon", - "/obj/item/device/gps", - "/obj/item/device/measuring_tape", - "/obj/item/device/flashlight", - "/obj/item/weapon/pickaxe", - "/obj/item/device/depth_scanner", - "/obj/item/device/camera", - "/obj/item/weapon/paper", - "/obj/item/weapon/photo", - "/obj/item/weapon/folder", - "/obj/item/weapon/pen", - "/obj/item/weapon/folder", - "/obj/item/weapon/clipboard", - "/obj/item/weapon/anodevice", - "/obj/item/clothing/glasses", - "/obj/item/weapon/wrench", - "/obj/item/weapon/storage/box/excavation", - "/obj/item/weapon/anobattery") + +/obj/item/weapon/storage/belt/archaeology + name = "excavation gear-belt" + desc = "Can hold various excavation gear." + icon_state = "gearbelt" + item_state = "utility" + can_hold = list( + /obj/item/weapon/storage/box/samplebags, + /obj/item/device/core_sampler, + /obj/item/device/beacon_locator, + /obj/item/device/radio/beacon, + /obj/item/device/gps, + /obj/item/device/measuring_tape, + /obj/item/device/flashlight, + /obj/item/weapon/pickaxe, + /obj/item/device/depth_scanner, + /obj/item/device/camera, + /obj/item/weapon/paper, + /obj/item/weapon/photo, + /obj/item/weapon/folder, + /obj/item/weapon/pen, + /obj/item/weapon/folder, + /obj/item/weapon/clipboard, + /obj/item/weapon/anodevice, + /obj/item/clothing/glasses, + /obj/item/weapon/wrench, + /obj/item/weapon/storage/box/excavation, + /obj/item/weapon/anobattery) diff --git a/code/modules/research/xenoarchaeology/tools/tools.dm b/code/modules/research/xenoarchaeology/tools/tools.dm index 479d0240fac..bd1b9d85052 100644 --- a/code/modules/research/xenoarchaeology/tools/tools.dm +++ b/code/modules/research/xenoarchaeology/tools/tools.dm @@ -1,36 +1,36 @@ - -//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// Miscellaneous xenoarchaeology tools - -/obj/item/device/gps - name = "relay positioning device" - desc = "Triangulates the approximate co-ordinates using a nearby satellite network." - icon = 'icons/obj/device.dmi' - icon_state = "locator" - item_state = "locator" - w_class = 2 - -/obj/item/device/gps/attack_self(var/mob/user as mob) - var/turf/T = get_turf(src) - user << "\blue \icon[src] [src] flashes [T.x].[rand(0,9)]:[T.y].[rand(0,9)]:[T.z].[rand(0,9)]." - -/obj/item/device/measuring_tape - name = "measuring tape" - desc = "A coiled metallic tape used to check dimensions and lengths." - icon = 'icons/obj/xenoarchaeology.dmi' - icon_state = "measuring" - w_class = 2 - -//todo: dig site tape - -/obj/item/weapon/storage/bag/fossils - name = "Fossil Satchel" - desc = "Transports delicate fossils in suspension so they don't break during transit." - icon = 'icons/obj/mining.dmi' - icon_state = "satchel" - slot_flags = SLOT_BELT | SLOT_POCKET - w_class = 3 - storage_slots = 50 - max_combined_w_class = 200 //Doesn't matter what this is, so long as it's more or equal to storage_slots * ore.w_class - max_w_class = 3 - can_hold = list("/obj/item/weapon/fossil") + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Miscellaneous xenoarchaeology tools + +/obj/item/device/gps + name = "relay positioning device" + desc = "Triangulates the approximate co-ordinates using a nearby satellite network." + icon = 'icons/obj/device.dmi' + icon_state = "locator" + item_state = "locator" + w_class = 2 + +/obj/item/device/gps/attack_self(var/mob/user as mob) + var/turf/T = get_turf(src) + user << "\blue \icon[src] [src] flashes [T.x].[rand(0,9)]:[T.y].[rand(0,9)]:[T.z].[rand(0,9)]." + +/obj/item/device/measuring_tape + name = "measuring tape" + desc = "A coiled metallic tape used to check dimensions and lengths." + icon = 'icons/obj/xenoarchaeology.dmi' + icon_state = "measuring" + w_class = 2 + +//todo: dig site tape + +/obj/item/weapon/storage/bag/fossils + name = "Fossil Satchel" + desc = "Transports delicate fossils in suspension so they don't break during transit." + icon = 'icons/obj/mining.dmi' + icon_state = "satchel" + slot_flags = SLOT_BELT | SLOT_POCKET + w_class = 3 + storage_slots = 50 + max_combined_w_class = 200 //Doesn't matter what this is, so long as it's more or equal to storage_slots * ore.w_class + max_w_class = 3 + can_hold = list(/obj/item/weapon/fossil) diff --git a/code/modules/research/xenoarchaeology/tools/tools_pickaxe.dm b/code/modules/research/xenoarchaeology/tools/tools_pickaxe.dm index 31b6026981b..dbe979d374a 100644 --- a/code/modules/research/xenoarchaeology/tools/tools_pickaxe.dm +++ b/code/modules/research/xenoarchaeology/tools/tools_pickaxe.dm @@ -1,132 +1,132 @@ - -//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// Excavation pickaxes - sorted in order of delicacy. Players will have to choose the right one for each part of excavation. - -/obj/item/weapon/pickaxe/brush - name = "brush" - icon = 'icons/obj/xenoarchaeology.dmi' - icon_state = "pick_brush" - item_state = "syringe_0" - digspeed = 20 - desc = "Thick metallic wires for clearing away dust and loose scree (1 centimetre excavation depth)." - excavation_amount = 0.5 - drill_sound = 'sound/weapons/thudswoosh.ogg' - drill_verb = "brushing" - w_class = 2 - -/obj/item/weapon/pickaxe/one_pick - name = "1/6 pick" - icon = 'icons/obj/xenoarchaeology.dmi' - icon_state = "pick1" - item_state = "syringe_0" - digspeed = 20 - desc = "A miniature excavation tool for precise digging (2 centimetre excavation depth)." - excavation_amount = 1 - drill_sound = 'sound/items/Screwdriver.ogg' - drill_verb = "delicately picking" - w_class = 2 - -/obj/item/weapon/pickaxe/two_pick - name = "1/3 pick" - icon = 'icons/obj/xenoarchaeology.dmi' - icon_state = "pick2" - item_state = "syringe_0" - digspeed = 20 - desc = "A miniature excavation tool for precise digging (4 centimetre excavation depth)." - excavation_amount = 2 - drill_sound = 'sound/items/Screwdriver.ogg' - drill_verb = "delicately picking" - w_class = 2 - -/obj/item/weapon/pickaxe/three_pick - name = "1/2 pick" - icon = 'icons/obj/xenoarchaeology.dmi' - icon_state = "pick3" - item_state = "syringe_0" - digspeed = 20 - desc = "A miniature excavation tool for precise digging (6 centimetre excavation depth)." - excavation_amount = 3 - drill_sound = 'sound/items/Screwdriver.ogg' - drill_verb = "delicately picking" - w_class = 2 - -/obj/item/weapon/pickaxe/four_pick - name = "2/3 pick" - icon = 'icons/obj/xenoarchaeology.dmi' - icon_state = "pick4" - item_state = "syringe_0" - digspeed = 20 - desc = "A miniature excavation tool for precise digging (8 centimetre excavation depth)." - excavation_amount = 4 - drill_sound = 'sound/items/Screwdriver.ogg' - drill_verb = "delicately picking" - w_class = 2 - -/obj/item/weapon/pickaxe/five_pick - name = "5/6 pick" - icon = 'icons/obj/xenoarchaeology.dmi' - icon_state = "pick5" - item_state = "syringe_0" - digspeed = 20 - desc = "A miniature excavation tool for precise digging (10 centimetre excavation depth)." - excavation_amount = 5 - drill_sound = 'sound/items/Screwdriver.ogg' - drill_verb = "delicately picking" - w_class = 2 - -/obj/item/weapon/pickaxe/six_pick - name = "1/1 pick" - icon = 'icons/obj/xenoarchaeology.dmi' - icon_state = "pick6" - item_state = "syringe_0" - digspeed = 20 - desc = "A miniature excavation tool for precise digging (12 centimetre excavation depth)." - excavation_amount = 6 - drill_sound = 'sound/items/Screwdriver.ogg' - drill_verb = "delicately picking" - w_class = 2 - -/obj/item/weapon/pickaxe/hand - name = "hand pickaxe" - icon = 'icons/obj/xenoarchaeology.dmi' - icon_state = "pick_hand" - item_state = "syringe_0" - digspeed = 30 - desc = "A smaller, more precise version of the pickaxe (30 centimetre excavation depth)." - excavation_amount = 15 - drill_sound = 'sound/items/Crowbar.ogg' - drill_verb = "clearing" - w_class = 3 - -//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// Pack for holding pickaxes - -/obj/item/weapon/storage/box/excavation - name = "excavation pick set" - icon = 'icons/obj/storage.dmi' - icon_state = "excavation" - desc = "A set of picks for excavation." - item_state = "syringe_kit" - foldable = /obj/item/stack/sheet/cardboard //BubbleWrap - storage_slots = 7 - w_class = 2 - can_hold = list("/obj/item/weapon/pickaxe/brush",\ - "/obj/item/weapon/pickaxe/one_pick",\ - "/obj/item/weapon/pickaxe/two_pick",\ - "/obj/item/weapon/pickaxe/three_pick",\ - "/obj/item/weapon/pickaxe/four_pick",\ - "/obj/item/weapon/pickaxe/five_pick",\ - "/obj/item/weapon/pickaxe/six_pick") - max_combined_w_class = 17 - max_w_class = 4 - use_to_pickup = 1 // for picking up broken bulbs, not that most people will try - -/obj/item/weapon/storage/box/excavation/New() - ..() - new /obj/item/weapon/pickaxe/brush(src) - new /obj/item/weapon/pickaxe/one_pick(src) - new /obj/item/weapon/pickaxe/two_pick(src) - new /obj/item/weapon/pickaxe/three_pick(src) - new /obj/item/weapon/pickaxe/four_pick(src) - new /obj/item/weapon/pickaxe/five_pick(src) - new /obj/item/weapon/pickaxe/six_pick(src) + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Excavation pickaxes - sorted in order of delicacy. Players will have to choose the right one for each part of excavation. + +/obj/item/weapon/pickaxe/brush + name = "brush" + icon = 'icons/obj/xenoarchaeology.dmi' + icon_state = "pick_brush" + item_state = "syringe_0" + digspeed = 20 + desc = "Thick metallic wires for clearing away dust and loose scree (1 centimetre excavation depth)." + excavation_amount = 0.5 + drill_sound = 'sound/weapons/thudswoosh.ogg' + drill_verb = "brushing" + w_class = 2 + +/obj/item/weapon/pickaxe/one_pick + name = "1/6 pick" + icon = 'icons/obj/xenoarchaeology.dmi' + icon_state = "pick1" + item_state = "syringe_0" + digspeed = 20 + desc = "A miniature excavation tool for precise digging (2 centimetre excavation depth)." + excavation_amount = 1 + drill_sound = 'sound/items/Screwdriver.ogg' + drill_verb = "delicately picking" + w_class = 2 + +/obj/item/weapon/pickaxe/two_pick + name = "1/3 pick" + icon = 'icons/obj/xenoarchaeology.dmi' + icon_state = "pick2" + item_state = "syringe_0" + digspeed = 20 + desc = "A miniature excavation tool for precise digging (4 centimetre excavation depth)." + excavation_amount = 2 + drill_sound = 'sound/items/Screwdriver.ogg' + drill_verb = "delicately picking" + w_class = 2 + +/obj/item/weapon/pickaxe/three_pick + name = "1/2 pick" + icon = 'icons/obj/xenoarchaeology.dmi' + icon_state = "pick3" + item_state = "syringe_0" + digspeed = 20 + desc = "A miniature excavation tool for precise digging (6 centimetre excavation depth)." + excavation_amount = 3 + drill_sound = 'sound/items/Screwdriver.ogg' + drill_verb = "delicately picking" + w_class = 2 + +/obj/item/weapon/pickaxe/four_pick + name = "2/3 pick" + icon = 'icons/obj/xenoarchaeology.dmi' + icon_state = "pick4" + item_state = "syringe_0" + digspeed = 20 + desc = "A miniature excavation tool for precise digging (8 centimetre excavation depth)." + excavation_amount = 4 + drill_sound = 'sound/items/Screwdriver.ogg' + drill_verb = "delicately picking" + w_class = 2 + +/obj/item/weapon/pickaxe/five_pick + name = "5/6 pick" + icon = 'icons/obj/xenoarchaeology.dmi' + icon_state = "pick5" + item_state = "syringe_0" + digspeed = 20 + desc = "A miniature excavation tool for precise digging (10 centimetre excavation depth)." + excavation_amount = 5 + drill_sound = 'sound/items/Screwdriver.ogg' + drill_verb = "delicately picking" + w_class = 2 + +/obj/item/weapon/pickaxe/six_pick + name = "1/1 pick" + icon = 'icons/obj/xenoarchaeology.dmi' + icon_state = "pick6" + item_state = "syringe_0" + digspeed = 20 + desc = "A miniature excavation tool for precise digging (12 centimetre excavation depth)." + excavation_amount = 6 + drill_sound = 'sound/items/Screwdriver.ogg' + drill_verb = "delicately picking" + w_class = 2 + +/obj/item/weapon/pickaxe/hand + name = "hand pickaxe" + icon = 'icons/obj/xenoarchaeology.dmi' + icon_state = "pick_hand" + item_state = "syringe_0" + digspeed = 30 + desc = "A smaller, more precise version of the pickaxe (30 centimetre excavation depth)." + excavation_amount = 15 + drill_sound = 'sound/items/Crowbar.ogg' + drill_verb = "clearing" + w_class = 3 + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Pack for holding pickaxes + +/obj/item/weapon/storage/box/excavation + name = "excavation pick set" + icon = 'icons/obj/storage.dmi' + icon_state = "excavation" + desc = "A set of picks for excavation." + item_state = "syringe_kit" + foldable = /obj/item/stack/sheet/cardboard //BubbleWrap + storage_slots = 7 + w_class = 2 + can_hold = list(/obj/item/weapon/pickaxe/brush,\ + /obj/item/weapon/pickaxe/one_pick,\ + /obj/item/weapon/pickaxe/two_pick,\ + /obj/item/weapon/pickaxe/three_pick,\ + /obj/item/weapon/pickaxe/four_pick,\ + /obj/item/weapon/pickaxe/five_pick,\ + /obj/item/weapon/pickaxe/six_pick) + max_combined_w_class = 17 + max_w_class = 4 + use_to_pickup = 1 // for picking up broken bulbs, not that most people will try + +/obj/item/weapon/storage/box/excavation/New() + ..() + new /obj/item/weapon/pickaxe/brush(src) + new /obj/item/weapon/pickaxe/one_pick(src) + new /obj/item/weapon/pickaxe/two_pick(src) + new /obj/item/weapon/pickaxe/three_pick(src) + new /obj/item/weapon/pickaxe/four_pick(src) + new /obj/item/weapon/pickaxe/five_pick(src) + new /obj/item/weapon/pickaxe/six_pick(src) From 202d0fdea162b8c9d4439a12027f1470d0289fc7 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Sat, 14 Feb 2015 16:40:27 +0100 Subject: [PATCH 114/143] 300% more robotic storage units. Adds one robotic storage unit to the drone fabrication area. Adds one robotic storage unit to the mech bay. Adds the map tool *.backup files to .gitignore. --- .gitignore | 15 ++++++++------- maps/exodus-1.dmm | 21 +++++++++++---------- 2 files changed, 19 insertions(+), 17 deletions(-) diff --git a/.gitignore b/.gitignore index 8a1fc47c9d0..aa2528a7fe9 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,8 @@ -#ignore misc BYOND files -*.log -*.int -*.rsc -*.dmb -*.lk -data/ +#ignore misc BYOND files +*.log +*.int +*.rsc +*.dmb +*.lk +*.backup +data/ diff --git a/maps/exodus-1.dmm b/maps/exodus-1.dmm index a81df061e35..0f5fe105075 100644 --- a/maps/exodus-1.dmm +++ b/maps/exodus-1.dmm @@ -3592,7 +3592,7 @@ "brd" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) "bre" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) "brf" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) -"brg" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/storage/toolbox/electrical{pixel_x = 1; pixel_y = 6},/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/item/clothing/head/welding{pixel_x = -3; pixel_y = 5},/obj/item/clothing/head/welding{pixel_x = -3; pixel_y = 5},/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) +"brg" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/effect/landmark{name = "JoinLateCyborg"},/turf/simulated/floor,/area/assembly/chargebay) "brh" = (/turf/simulated/wall/r_wall,/area/assembly/robotics) "bri" = (/obj/structure/closet/emcloset,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor{dir = 9; icon_state = "warnwhite"},/area/rnd/research) "brj" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor{icon_state = "white"},/area/rnd/research) @@ -3866,7 +3866,7 @@ "bwr" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor,/area/assembly/robotics) "bws" = (/turf/simulated/floor,/area/assembly/robotics) "bwt" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) -"bwu" = (/obj/structure/table,/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000; pixel_x = 5; pixel_y = -5},/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) +"bwu" = (/obj/machinery/cryopod/robot/right,/turf/simulated/floor,/area/assembly/chargebay) "bwv" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/assembly/robotics) "bww" = (/turf/simulated/wall/r_wall,/area/rnd/research) "bwx" = (/obj/machinery/door/airlock/research{name = "Research Division Access"; req_access_txt = "47"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/rnd/research) @@ -4102,8 +4102,8 @@ "bAT" = (/obj/machinery/hologram/holopad,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{dir = 2; icon_state = "whitered_c"; tag = "icon-whitered_c (WEST)"},/area/medical/patient_wing) "bAU" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/medical/patient_wing) "bAV" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/camera{c_tag = "Medbay Patient Hallway - Starboard"; dir = 1; network = list("SS13")},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor{icon_state = "white"},/area/medical/patient_wing) -"bAW" = (/obj/structure/table,/turf/simulated/floor,/area/assembly/chargebay) -"bAX" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor,/area/assembly/chargebay) +"bAW" = (/obj/structure/table,/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000; pixel_x = 5; pixel_y = -5},/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) +"bAX" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/storage/toolbox/electrical{pixel_x = 1; pixel_y = 6},/obj/item/clothing/head/welding{pixel_x = -3; pixel_y = 5},/obj/item/clothing/head/welding{pixel_x = -3; pixel_y = 5},/obj/item/weapon/storage/toolbox/mechanical,/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) "bAY" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor,/area/assembly/chargebay) "bAZ" = (/obj/machinery/recharge_station,/turf/simulated/floor{icon_state = "bot"},/area/assembly/chargebay) "bBa" = (/obj/structure/table,/obj/item/weapon/storage/box/bodybags{pixel_x = -1; pixel_y = -2},/obj/item/weapon/pen,/turf/simulated/floor{icon_state = "whitehall"; dir = 4},/area/assembly/robotics) @@ -7197,6 +7197,7 @@ "cIu" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 5},/turf/space,/area/space) "cIv" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/heat_exchanging{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/turf/space,/area/space) "cIw" = (/obj/effect/landmark{name = "carpspawn"},/obj/structure/grille{density = 0; icon_state = "brokengrille"},/turf/space,/area/space) +"cIx" = (/obj/effect/landmark{name = "JoinLateCyborg"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/engineering/drone_fabrication) "cIJ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/maintenance/portsolar) "cIK" = (/turf/simulated/wall/r_wall,/area/maintenance/portsolar) "cIL" = (/turf/simulated/wall/r_wall,/area/maintenance/engi_engine) @@ -7378,13 +7379,13 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaT aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaabhObhObhObhObhObhObhObhObhObhObhObkKbkLbkMbkNbkObgrbkPbkQbkRbkRbkSbkTbkUbkVbkWbkWbkXbkYbbZbbZbbZbeZbkZbbZbajbajbajbajblaaXeaXeblbblcbldbleblfblgblhblibljblkbdPbllbfmblmbgGblnbgGbloblpblqaSzbctaJeblrblsbltblublvblwblxblybdYbebblzblAblCblBblDblAblEbebbedbedblFblGblHblIbiCblJblKaJiblLblMblNaJiblOblOblOblOblOblOaZzaZzblPblQbZNcdMblQblPaZzaZzaZzaZzaZzaZzaZzaZzaZzaZzblTaZzaZzaZzaZzaZzaZzaVIaZzbewbewblVblWblWblOblOblOblOblOblXblYblYblZblYbewblYblZbmablYbmbblObmcbmcbmcbmdaRZbmeaRZaRZaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaabhObhObhObhObhObhObhObhObhObhObhObdubdvbjmbjnbmfbgrbmgbjpbmhbmibjpbjpbjpaVAbmjbmkbmkbmlbbZbdDbmmbeZbmnbbZbmobmpbmqbmrbmsbmtbmtbmubmtbmtbmvbdPbmwbmxbfgbmybmzblfbmAbfmbmBbgGbgGbmCbmDbmEblqaSzbmFbmGbmGbmGbmGbmGbmGbmGbmHbmGbdYbebbmIbmJbmKbmLbmKbmMbmNbebbedbedbmObmPbmQbmRbiCbiGbmSaJibcKaRqaRpaJibmTbmUbmVbmWbmXbmYbmZbnabnbbncbndbnebncbnfbngbnhbnibnjbnkbnlbnmbnnbnobnpbnqbnrbnsbntbntbnubYfaVJblOblObZLblObZMbZMblObnzbnAbnBblObZtbZubZtblOblXblYbmbblObZnbZBbZnblObnGbnHbnIbnJbnKbnLbnMaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaabhObhObhObhObhObhObhObhObhObhOaaabnNbnObnPbeQbnQbgrbnRbjpaZAbnTbnUbnVbjpbnWbnXbnYbnZbmlbbZbbZbbZbbZbbZbbZboabobbocbodboebdPbdPbdPbdPbdPbdPbdPbWqbdPbdPbdPbogbdPbohboibojbgGbgGbgGbokblpblqaSzbolbmGbombonbbEbcEbvGbotbosbotaafbebboubovbowboxboybozboAbebaafbedboBboCboDboEbiCbiGboFaJiboGboHaRpbXHboJboKboLboMboNbYwboPboQboRboRboSboTboUboUboVboWboXboYboZbpabpbbnnbpcbpdbpebpfbpgbphbpfbpibYfaVJbpjbpkbplbpmbpnbpobppbpqbprbpqbpsbptbpubcmblOaZzbpwbpxblObpybpzbpAbpBbpCbpDbnIbpEbpFbpGbnMaaaaaaaaaaacaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaaaaaaaaaaaabgnbgobgpbgqbdvbpHbpHbpHbpIbpHbpJaZVbpKbpLbgrbpMbpNbpObpPbpQbpRbpSaYSaXeaXeaXebpTbkWbpUbkWbkWbkWbkWbpVbpWbpWbpXbpYbdPbpZbqabqbbqcbqdbqebqfbqgbqhbqibqjbqkbmAbqlbojbgGbgGbqmbfmaMbblqbqnbqoaJubqqbqrbqrbxqborbopbxsbotaafbebbebbebbebceebebbebbebbebaafbedbqzboCbqAbqBbqCbqDbqEaJibqFaRqaRpaJibqGbqHbqIbqJaJDbqLboPbqNboUboUboUboUboUboUbqObqPbqQboYbqRbqSbqTbnnbqUbqVbqWbpfbpgbphbpfbqXbYfaVJbpjbqYbqZbqZbrabrbbrcbrdbrdbrdbrebrdbrfbrgbrhbribrjbrkbnIbrlbpCbrmbrnbrobcVbnIbrqbpFbrrbnMaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaaaaaaaaaaaabgnbgobgpbgqbdvbpHbpHbpHbpIbpHbpJaZVbpKbpLbgrbpMbpNbpObpPbpQbpRbpSaYSaXeaXeaXebpTbkWbpUbkWbkWbkWbkWbpVbpWbpWbpXbpYbdPbpZbqabqbbqcbqdbqebqfbqgbqhbqibqjbqkbmAbqlbojbgGbgGbqmbfmaMbblqbqnbqoaJubqqbqrbqrbxqborbopbxsbotaafbebbebbebbebceebebbebbebbebaafbedbqzboCbqAbqBbqCbqDbqEaJibqFaRqaRpaJibqGbqHbqIbqJaJDbqLboPbqNboUboUboUboUboUboUbqObqPbqQboYbqRbqSbqTbnnbqUbqVbqWbpfbpgbphbpfbqXbYfaVJbpjbqYbqZbqZbrabrbbrcbrdbrdbrdbrebrdbrfbAXbrhbribrjbrkbnIbrlbpCbrmbrnbrobcVbnIbrqbpFbrrbnMaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaaaaaaaaaaabrsbrtbrubrvbrwbrxbrxbrybrzbrAbgrcedbrCbpPbrDbjpbjpbjpbajbrEbrFbrGbrHbrGbrGbrGbrHbrGbajbajbdPbdPbdPbrIbdPbrJbrJbrJbrJbrJbrJbqfbrKbrLbrMbrNbrObrPbrQbrRbrSbrTbrUbrVbrWbrXbrYbrZaHBbsbbqvbsabsebscbotbosbotaafbsibsjbskbslbsmbsnbskbsobsiaafbedbspbsqbspbedbedbedbsraJibssaRqaRpbXHboJboKbstbsubsvbqLbswbqNbsxbsybszbsAbsBbsCbqObsDbnibsEbsFbsGbsHbnnbsIbqVbpebpfbpgbphbpfbpibYfaVJbpjbsJbsKbsLbsMbplbsNbsObsPbsQbsRbsSbsTbsUbrhbsVbsWbsXbnIbsYbsZbtabtbbtcbtdbnIbrqbpFbtebnMaaaaaaaaaaaaaafaafaafaafbcZbcZbcZbcZaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaaaaacaaaaaaaaaaaaaaaaaaaaabrsbtfbtgbthbtibtibtibtjbtibtibgrbtkbtlbtmbpPbjpaaaaaaaaaaafaafbtnbtnbtnbtnbtnbtnbtnaaaaaabtobtpbtqbtrbtsbrJbrJbrJbrJbrJbrJbttbtubtvbtwbtxbtybtzbtAbfmbfmbtBbfmbfmbtCbtDbtEbtFbmGbtHbmGbmGbmGbmGbmGbtIbmGaafbtJbtKbtLbtMbtNbtMbtLbtObtPaafbspbtQbtRbtSbtTbtUbspbtVaJlbtWbbmbtXaJibtYbmUbtZbuabubbucbudbuebufbugbuhbuibujbukbulbumbnibnnbunbuobupbnnbuqburbusbutbuubuubuvbuwbYfaXqbpjbuxbplbplbsMbuybuzbuAbuBbuCbuDbuEbuFbuGbrhbuHbuIbuJbnIbuKbuLbuMbtbbpCbuNbnIbpEbpFbuObnMaaaaaaaaaaaaaafbuPbuQbuRbuQbuRbuQbuSaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabuTbeObuUbuUbuVbpHbuWbgnbgobuXbuWbgrbuYbuZbvabvbbjpaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnaaaaaabvcbvdbrJbvebvfbvfbvfbvfbvfbvgbvhbvfbvibvjbvkbvlbvmbvnbvobfmbvpbgGbvqbvrbvsbvtbvubvvbmGbmGbmGbvxbvybvzbvAbvBbvwaafbnybvIbvHbvJbvKbvMbvNbvObnyaafbspbvPbvQbxnbedbvRbspbvSaJlbvTbcLbvUaJibvVbvWbvXbvYbvZbuccdTcdUbwcbwdbwebwebwfbwgcdWcdVbwjbwkbwlbwmbwkbwkbwkbwkbwnbwkbwkaXKaXKaXKaXKaVJbpjbsJbsKbsLbwobwpbwqbwrbwsbwsbwsbsSbwtbwubwvbwwbwxbwybnIbwzbwAbwBbwCbpCbwDbnIbwEbwFbnMbnMaaaaaaaaaaaaaafbwGbwHbwIbwJbwJbwKbwGaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabuTbeObuUbuUbuVbpHbuWbgnbgobuXbuWbgrbuYbuZbvabvbbjpaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnaaaaaabvcbvdbrJbvebvfbvfbvfbvfbvfbvgbvhbvfbvibvjbvkbvlbvmbvnbvobfmbvpbgGbvqbvrbvsbvtbvubvvbmGbmGbmGbvxbvybvzbvAbvBbvwaafbnybvIbvHbvJbvKbvMbvNbvObnyaafbspbvPbvQbxnbedbvRbspbvSaJlbvTbcLbvUaJibvVbvWbvXbvYbvZbuccdTcdUbwcbwdbwebwebwfbwgcdWcdVbwjbwkbwlbwmbwkbwkbwkbwkbwnbwkbwkaXKaXKaXKaXKaVJbpjbsJbsKbsLbwobwpbwqbwrbwsbwsbwsbsSbwtbAWbwvbwwbwxbwybnIbwzbwAbwBbwCbpCbwDbnIbwEbwFbnMbnMaaaaaaaaaaaaaafbwGbwHbwIbwJbwJbwKbwGaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbwMbwNbwObwPbrJbwQbrJbwRbwRbwRbwSbwTbrKbrJbrJbrLbwUbwVbwWbwXbwYbwZbxabgGbgGbxbbxcbvtbvubxdbxebxfbUbbnCbxibxjbxkbxlbvwaafbxmbqtbskbxobxpbxobskbqxbxraafbspbqwbxtbnDbedbxvbspbtVaJlbxwbcLaRpaJibxxbxybxzbxAbxBbxCbxDbxEbxCbxFbxGbxHbxFbwkbxIbxJbwkbwkbxKbxLbxMbxNbxObxPbxQbxRbxSaXKbayaYXaXKaVJbpjbxXbqZbqZbxYbxZbppbyabwsbwsbwsbsSbwtbybbwwbnSbUabTQbwwbyfbygbyhbyibpCbyjbnIbrqbykbnMaaaaaaaaaaaaaaaaafbylbymbwIbwJbwIbynbuRaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbyobypbyobyqbyrbwQbrJbrJbrJbysbrJbwTbrKbytbdPbdPbyubgGbrNbwXbyvbywbyxbyybyybyzbyAbyBbyCbyDbvsbyEboobyGbxkbyHbyIbyJbvwaafbxrbxrbyKbtLbyLbskbyMbxrbxraafbyNbyNbyNbyNbyNbyNbyNbyOaJibyPblMblNaJibyQbyRbyRbySbyTbxCbyUbyVbyWbyXbyYbyZbzabwmbzbbzcbzdbzebzfbzgbzgbzhbzibzgbzjbzkbckbaAboObclbdQbcnbzrbzsbztbzubzvbzwbppbzxbpqbpqbzybsSbwtbzzbzAbzBbzCbzDbzAbzEbzFbzGbzHbzIbwwbwwbzJbnMbnMbzKbzLbzLbzLbzMbzNbwGbwJbwIbwJbwJbzObwGaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaacaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbzPbzQbzPbzRbrJbwQbrJbzSbzSbzSbzSbwTbrKbzTbzUbdPbzVbgGbrNbwXbzWbzXbzYbgGblnbgGbzZbAabAbbAcbAdbyEbpvbAfbxkbxkbxkbAgbvwbAhbAhbAhbxrbAibxpbAibxrbAjbAjbAjbyNbAkbAlbAmbAnbAobApbAqaJibAraRqaRpaJibAsbAtbAubAvbAwbAxbAybAzbAAbABbACbADbAEbAFbAGbAHbAIbAJbAKbAIbqMbAMbANbAObnvblUbsdbnwbsgbsfbaAbPObpjbAWbAXbAYbAZbAZbppbBabBbbBcbppbBdbBebBfbBgbBhbBibBjbBkbBlbBlbBmbBnbBobTHbBqbBrbBsbBtbTIbBvbBwbBwbBxbBybBzbuQbuRbBAbuRbuQbBBaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaacaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbzPbzQbzPbzRbrJbwQbrJbzSbzSbzSbzSbwTbrKbzTbzUbdPbzVbgGbrNbwXbzWbzXbzYbgGblnbgGbzZbAabAbbAcbAdbyEbpvbAfbxkbxkbxkbAgbvwbAhbAhbAhbxrbAibxpbAibxrbAjbAjbAjbyNbAkbAlbAmbAnbAobApbAqaJibAraRqaRpaJibAsbAtbAubAvbAwbAxbAybAzbAAbABbACbADbAEbAFbAGbAHbAIbAJbAKbAIbqMbAMbANbAObnvblUbsdbnwbsgbsfbaAbPObpjbwubrgbAYbAZbAZbppbBabBbbBcbppbBdbBebBfbBgbBhbBibBjbBkbBlbBlbBmbBnbBobTHbBqbBrbBsbBtbTIbBvbBwbBwbBxbBybBzbuQbuRbBAbuRbuQbBBaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbBCbwNbBDbBEbrJbwQbrJbrJbrJbrJbrJbwTbrKbzTbBFbdPbBGbgGbBHbBIbgGbBJbgFbgGbgGbBKbvsbvtbAbbAcbAdbyEbvwbBLbBMbBNbBMbBObvwbBPbBQbBRbAhbxrbBSbxrbAjbBTbBUbBVbyNbBWbBXbBYbBZbCabCabCbbCcbAraRqaRpaJibCdbCebCebySbCfbxCbCgbChbxCbCibCjbCjbCkbwkbClbCmbwkbwkbwkbwkbwkbwkbCnbwkbwkbwmbCoaXKaXKaXKaXKbSwbpjbwwbzAbzAbzAbzAbzAbzAbzAbzAbzAbzIbCrbCsbCtbBhbCubCvbCwbCxbCxbCxbCybCzbSubCBbCCbCDbCEbTGbCGbCHbCGbCIbCJbzKbzLbzMbCKbzNbCLaaaaafaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbzPbzQbzPbCMbCNbCObrJbrJbrJbCNbrJbwTbrKbzTbCPbdPbCQbgGbrNbwXbgGbqlbCRbgGbgGbCSbxcbvtbAbbCTbxcbCUbvwbCVbrpbCXbCYbxlbvwbCZbDabDbbDcbDdbvFbvEbDgbDhbDibDjbyNbDkbDlbDlbDmbDnbDobDpaJibDqbDrbDsaJibDtbvDbDvbDwbDxbDybDzbDAbyWbDBbvLbCjbDDbwmbDEbDFbwmbDGbDHbDIbDJbDKbDLbDMbCpbDNbDObDPbDQbDRbCpbVLbVMbDUbVAbDWbDXbDXbDYbDZbEabEbbEcbEdbEebEfbEabEgbEhbCvbEibEjbEkbwwbwwbwwbwwbwwbxhbwbbEnbzKbzMbCJbEobEpbEqbErbEsbEtbEubEvaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbEwbExbEwbEybEzbEAbEAbEAbEAbEAbEBbECbEDbzTbEEbdPbEFbEGbEHbEIbEJbtzbEKbELbEMbfmbtCbENbAbbEObEPbyEbvwbEQbERbESbBMbETbvwbEUbEVbEWbAhbEXbvCbEYbAjbFabFbbFcbyNbFdbFebFfbFgbDnbDobFhaJibxwaRqaRpbVjbFjbFkbFlbFmbFnbFobFpbFqbxCbxFbxFbFrbxFbwkbFsbFtbFubFvbFwbFxbDJbFybDLbFzbFAbFBbDObFCbFDbFEbFFbVlbDXbVybVAbFJbDXbDXbFKbFLbFMbFLbFLbFNbFObFPbFQbFRbFSbCvbFTbFUbFVbFWbFXbFYbFZbGabGbbGcbGdaafaafbCJbGebGfbGgbGhbGibGjbGkbCJaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -7429,9 +7430,9 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaafaafaafaafaamaafaafaafczgczGczFcAhczHcAucAtcAwcAvcAycAxcAAcAzcAucptczGcABcADcACcAycAEcmMcmMcmMcmMcmMcmMcmMcmMcAHcAFcyLcAIcAJcoIcAKcoIcoIcwxcoIcoIcAScoIcAJcBtcBvcBucBxciCcCNcCOcCPcCQcAObPwcCRcCScCTcCacAGcAVcBwcCacCWaafcCXcCYcCXaaaaaaaaaaaaaaaaaacqvcCZctDcuQcDacDbcuQcDccDdcDeaafaaachxchFchEclXaaaaaaaaaaacaaaaaaaaaaaaaaacdOcDhcplcplcomcDicplcplcomcDicplcplcdOaafaafcrPaafckVckSckSckSckSckyckxckwckvckvckvckvckUaafcrPaaacyhcyhcyhcyhaaacyhcyhcyhcyhcyhcyhcyhcyhcyhaaacyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPcByaaaaaaaaaaamaaaaaaaaacBzcBBcBAcBDcBCcBFcBEcBGcBCcBFcBEcBGcBCcBFcBHcBHcBIcBGcBCcBFcBJcmMaaacBLcBKcBNcBMcBPcBOcBRcBQcBScBScBUcBTcCrcCpcCtcCscCpcCtcCrcCucCwcCvcCucyLcyLcAOcDNcDOcDPcDQcAObNUcDRcDScDTcCacCbcDUcCbcCacCWaafaaaaafaaaaaaaaaaaaaaaaaaaaacqvcCZcDVcDWcDXcDXcDWcsPcDYcqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacdOcDZcplcplcomcEacplcplcomcEacplcplcdOaaaaaacrPaafcwjcwjcwjcwjcwjaaackxaaacwjcwjcwjcwjcwjaaacrPaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPcClcqLcqLcqLcpEcpIcpIcpIcqLcpIcpPcpIcpGcpIcpPcpIcpGcpIcpPcpIcpGcpIcqLcpIcpRcpIcpGcpIcqNaafaaacCycCxcCAcCzcCCcCBcBRcCDcBScCEcCGcCFcCIcCHcCKcCJcCMcCLcCIcCUcDgcCVcCuaaaaafcAOcEBcECcEDaafaaabNUbPxbPxbSkcCaclZcEFclYcCacCWaafaafaaaaaaaaaaaaaaaaaaaaaaaacqvcEHcuXcEIcEJcEJcEIcuQcEKcqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacdOcplcplcplcomcELcplcplcomcELcplcplcdOaacaaacrPaaaaaaaafaafaafaaaaaacmTaafaaaaaaaafaafaaaaaacrPaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaafaafaaaaaaaaqaaaaaaaaaaafcfQcldclccDjcfQcldclccDjcfQcldclccDkcfQaaacfQcDlclccDkcfQaaaaafaaacCycDmcDocDncDmcDpcDrcDqcBScDscDucDtcCIcDvcDxcDwcDzcDycCIcDAcDCcDBcCuaaaaaacAOcFgcFhcFiaaaaaabNUbPxbPxbNUcCacmUcmUcmUcCacFkcmWaaaaaaaaaaaaaaaaaaaaaaaaaaacqvcFmcFncuQcuQcuQcuQcuQcFocqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaackEcdOcdOcdOcdOcdOcdOcdOcdOcmYcmYcmYckEaaaaaacrPcrPcrPcrPcrPaaaaaaaaacmZaaaaaaaaacrPcrPcrPbZScrPaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaaaaafaafaaaaamaaaaaaaaaaafcfQcDDcDFcDEcfQcDGcDIcDHcfQcDJcDLcDKcfQaafcfQcDMcEccEbcfQaaaaafaaacCycEdcCAcDmcDmcEecEgcEfcEicEhcEkcEjcEmcElcEocEncEqcEpcEscErcEucEtcCuaafaaacFJcDNcFKcAOcFLaaabNUcFMbPxcFNcFOaafaafaafaaacBkaafaafaaaaaaaaaaaaaaaaaaaaaaaacrHcqvcqvcFPcFQcEIcEIcEIcFRcFPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqpbqpbqpaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaafcfTaafcrPaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaamaaaaaaaafaafcfQcEvcEwcEvcfQcExcEycExcfQcEzcEAcEzcfQaaacfQcEzcEzcEEcfQaaaaafaaacCycEGcCAcDncDmcCBcEMcCDcBScENcEPcEOcCIcEQcEScERcEScETcCIcEUcEWcEVcCuaaLcGgcGgcGgcGgcGgcGgcGgbNUciEciDcGjaafaaaaaaaafcGkcDfaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacGlcEJcEJcEJcEJcEJcGlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaaaaafaaacrPaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaafaafaaaaaaaaqaaaaaaaaaaafcfQcldclccDjcfQcldclccDjcfQcldclccDkcfQaaacfQcDlclccDkcfQaaaaafaaacCycEdcDocDncDmcDpcDrcDqcBScDscDucDtcCIcDvcDxcDwcDzcDycCIcDAcDCcDBcCuaaaaaacAOcFgcFhcFiaaaaaabNUbPxbPxbNUcCacmUcmUcmUcCacFkcmWaaaaaaaaaaaaaaaaaaaaaaaaaaacqvcFmcFncuQcuQcuQcuQcuQcFocqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaackEcdOcdOcdOcdOcdOcdOcdOcdOcmYcmYcmYckEaaaaaacrPcrPcrPcrPcrPaaaaaaaaacmZaaaaaaaaacrPcrPcrPbZScrPaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaaaaafaafaaaaamaaaaaaaaaaafcfQcDDcDFcDEcfQcDGcDIcDHcfQcDJcDLcDKcfQaafcfQcDMcEccEbcfQaaaaafaaacCycEGcCAcDmcDmcEecEgcEfcEicEhcEkcEjcEmcElcEocEncEqcEpcEscErcEucEtcCuaafaaacFJcDNcFKcAOcFLaaabNUcFMbPxcFNcFOaafaafaafaaacBkaafaafaaaaaaaaaaaaaaaaaaaaaaaacrHcqvcqvcFPcFQcEIcEIcEIcFRcFPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqpbqpbqpaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaafcfTaafcrPaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaamaaaaaaaafaafcfQcEvcEwcEvcfQcExcEycExcfQcEzcEAcEzcfQaaacfQcEzcEzcEEcfQaaaaafaaacCycBKcIxcDncDmcCBcEMcCDcBScENcEPcEOcCIcEQcEScERcEScETcCIcEUcEWcEVcCuaaLcGgcGgcGgcGgcGgcGgcGgbNUciEciDcGjaafaaaaaaaafcGkcDfaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacGlcEJcEJcEJcEJcEJcGlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaaaaafaaacrPaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaafaamaaaaafaafaaacfQcEvcEXcEvcfQcExcEYcExcfQcEzcEZcEzcfQaafcfQcEzcEzcEzcfQaafaafaafcFbcFacFdcFccFfcFecFjcCDcBScFlcFqcFpcCIcFrcFtcFscFvcFucCIcFwcFycFxcCuaaacGgcGgcGgcGgcGgcGgcGgcGFcGGcGHbNUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacqvcCmcqxcqxcqxcCocqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPcrPcrPcrPcrPaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbZSaaaaaacfQcfQcfQcfQcfQcfQcfQcfQcfQcfQcfQcfQcfQaaacFzcfQcfQcfQcfQaaaaaaaaaaaacAFcAFcAFcAFcAFcFBcFAcFAcFAcFAcFCcFAcFDcFFcFEcFFcFGcFAcFAcFHcFAcFAcFAcGgcGgcGgcGgcGgcGgcGgaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaacyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafcrPaaaaaaaafaafaaaaafaafaaaaaaaafaafaafaaaaaaaaaaaaaaaaaaaafaaacGQcGRcGRcGRcGScFIcFTcFScFVcFUcFXcFWcFZcFYcGbcGacGdcGccGfcGecGicGhcGncGmcGmcGocGpcFAcGgcGgcGgcGgcGgcGgcGgaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa From 08635587e157e3b3ff956dbe7278d478b2df6a68 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Sat, 14 Feb 2015 01:56:20 -0500 Subject: [PATCH 115/143] Fixes revolver paths, span classes, typo. Cleans exodus-1.dmm Tweaks syringe gun and dart gun, renames syringe gun cartridges and makes them printable. Adjusts penetration so that passing through mobs happens with a probability that scales with damage. Adds a .45 signal pistol to the HoP's closet and a 9mm one to the mercenary shuttle. --- code/game/gamemodes/game_mode.dm | 2 +- code/game/machinery/autolathe_datums.dm | 5 + .../objects/items/weapons/storage/boxes.dm | 3 +- .../crates_lockers/closets/secure/security.dm | 1 + code/modules/admin/verbs/debug.dm | 2 +- .../modules/projectiles/ammunition/bullets.dm | 2 +- code/modules/projectiles/guns/alien.dm | 4 +- code/modules/projectiles/guns/energy/laser.dm | 2 +- .../projectiles/guns/energy/nuclear.dm | 12 +- code/modules/projectiles/guns/energy/pulse.dm | 8 +- .../projectiles/guns/energy/special.dm | 12 +- .../projectiles/guns/launcher/syringe_gun.dm | 17 +- .../projectiles/guns/projectile/dartgun.dm | 8 +- .../modules/projectiles/projectile/bullets.dm | 5 +- code/modules/projectiles/projectile/energy.dm | 5 +- maps/exodus-1.dmm | 2300 ++++++++--------- maps/exodus-2.dmm | 2 +- 17 files changed, 1197 insertions(+), 1193 deletions(-) diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm index 3f0f8cdd64b..8ad2d722880 100644 --- a/code/game/gamemodes/game_mode.dm +++ b/code/game/gamemodes/game_mode.dm @@ -40,7 +40,7 @@ new/datum/uplink_item(/obj/item/weapon/gun/energy/crossbow, 5, "Energy Crossbow", "XB"), new/datum/uplink_item(/obj/item/weapon/storage/box/syndie_kit/g9mm, 5, "Silenced 9mm", "S9"), new/datum/uplink_item(/obj/item/mecha_parts/mecha_equipment/weapon/energy/riggedlaser, 6, "Exosuit Rigged Laser", "RL"), - new/datum/uplink_item(/obj/item/weapon/gun/projectile, 6, "Revolver", "RE"), + new/datum/uplink_item(/obj/item/weapon/gun/projectile/revolver, 6, "Revolver", "RE"), new/datum/uplink_item(/obj/item/weapon/storage/box/syndicate, 10, "Mercenary Bundle", "BU") ), "Stealthy and Inconspicuous Weapons" = list( diff --git a/code/game/machinery/autolathe_datums.dm b/code/game/machinery/autolathe_datums.dm index f41cf363629..38989d29057 100644 --- a/code/game/machinery/autolathe_datums.dm +++ b/code/game/machinery/autolathe_datums.dm @@ -201,6 +201,11 @@ path = /obj/item/weapon/reagent_containers/syringe category = "Medical" +/datum/autolathe/recipe/syringegun_ammo + name = "syringe" + path = /obj/item/weapon/syringe_cartridge + category = "Arms and Ammunition" + /datum/autolathe/recipe/shotgun_blanks name = "ammunition (shotgun, blank)" path = /obj/item/ammo_casing/shotgun/blank diff --git a/code/game/objects/items/weapons/storage/boxes.dm b/code/game/objects/items/weapons/storage/boxes.dm index 8f6dd789967..3d29aad51f7 100644 --- a/code/game/objects/items/weapons/storage/boxes.dm +++ b/code/game/objects/items/weapons/storage/boxes.dm @@ -79,7 +79,6 @@ /obj/item/weapon/storage/box/syringes name = "box of syringes" desc = "A box full of syringes." -// desc = "A biohazard alert warning is printed on the box" icon_state = "syringe" New() @@ -93,7 +92,7 @@ new /obj/item/weapon/reagent_containers/syringe( src ) /obj/item/weapon/storage/box/syringegun - name = "box of compressed gas cartridges" + name = "box of syringe gun cartridges" desc = "A box full of compressed gas cartridges." icon_state = "syringe" diff --git a/code/game/objects/structures/crates_lockers/closets/secure/security.dm b/code/game/objects/structures/crates_lockers/closets/secure/security.dm index ccaf07516e5..0bb76d53692 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/security.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/security.dm @@ -54,6 +54,7 @@ new /obj/item/weapon/storage/box/ids(src) new /obj/item/weapon/storage/box/ids( src ) new /obj/item/weapon/gun/energy/gun(src) + new /obj/item/weapon/gun/projectile/detective/flash(src) new /obj/item/device/flash(src) return diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index f750b7428e2..769615af0f3 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -595,7 +595,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that M.equip_to_slot_or_del(new /obj/item/weapon/cloaking_device(M), slot_r_store) - M.equip_to_slot_or_del(new /obj/item/weapon/gun/projectile(M), slot_r_hand) + M.equip_to_slot_or_del(new /obj/item/weapon/gun/projectile/revolver(M), slot_r_hand) M.equip_to_slot_or_del(new /obj/item/ammo_magazine/a357(M), slot_l_store) if ("tournament chef") //Steven Seagal FTW diff --git a/code/modules/projectiles/ammunition/bullets.dm b/code/modules/projectiles/ammunition/bullets.dm index 0c614657e31..9de5fc87c09 100644 --- a/code/modules/projectiles/ammunition/bullets.dm +++ b/code/modules/projectiles/ammunition/bullets.dm @@ -101,7 +101,7 @@ //Does not stun, only blinds, but has area of effect. /obj/item/ammo_casing/shotgun/flash name = "flash shell" - desc = "A flash shell used to provide illumination." + desc = "A chemical shell used to signal distress or provide illumination." icon_state = "fshell" projectile_type = /obj/item/projectile/energy/flash/flare matter = list("metal" = 250, "glass" = 250) diff --git a/code/modules/projectiles/guns/alien.dm b/code/modules/projectiles/guns/alien.dm index d26b1601cc1..797d0b07c27 100644 --- a/code/modules/projectiles/guns/alien.dm +++ b/code/modules/projectiles/guns/alien.dm @@ -40,7 +40,7 @@ if(istype(user,/mob/living/carbon/human)) var/mob/living/carbon/human/H = user if(H.species && H.species.name != "Vox" && H.species.name != "Vox Armalis") - user << "\red \The [src] does not respond to you!" + user << "\The [src] does not respond to you!" return 0 return ..() @@ -81,7 +81,7 @@ if(H.species.name == "Vox Armalis") ..() return - user << "\red \The [src] is far too large for you to pick up." + user << "\The [src] is far too large for you to pick up." return /obj/item/weapon/gun/energy/noisecannon/update_icon() diff --git a/code/modules/projectiles/guns/energy/laser.dm b/code/modules/projectiles/guns/energy/laser.dm index f24bd99ff22..bcbb5beddc1 100644 --- a/code/modules/projectiles/guns/energy/laser.dm +++ b/code/modules/projectiles/guns/energy/laser.dm @@ -99,7 +99,7 @@ obj/item/weapon/gun/energy/laser/retro /obj/item/weapon/gun/energy/lasertag/special_check(var/mob/living/carbon/human/M) if(ishuman(M)) if(!istype(M.wear_suit, required_vest)) - M << "\red You need to be wearing your laser tag vest!" + M << "You need to be wearing your laser tag vest!" return 0 return ..() diff --git a/code/modules/projectiles/guns/energy/nuclear.dm b/code/modules/projectiles/guns/energy/nuclear.dm index 80426a9bd5d..e2b97672c7f 100644 --- a/code/modules/projectiles/guns/energy/nuclear.dm +++ b/code/modules/projectiles/guns/energy/nuclear.dm @@ -18,14 +18,14 @@ mode = 1 charge_cost = 100 fire_sound = 'sound/weapons/Laser.ogg' - user << "\red [src.name] is now set to kill." + user << "[src.name] is now set to kill." projectile_type = /obj/item/projectile/beam modifystate = "energykill" if(1) mode = 0 charge_cost = 100 fire_sound = 'sound/weapons/Taser.ogg' - user << "\red [src.name] is now set to stun." + user << "[src.name] is now set to stun." projectile_type = /obj/item/projectile/beam/stun modifystate = "energystun" update_icon() @@ -66,16 +66,16 @@ if (prob(src.reliability)) for (var/mob/living/M in range(0,src)) //Only a minor failure, enjoy your radiation if you're in the same tile or carrying it if (src in M.contents) - M << "\red Your gun feels pleasantly warm for a moment." + M << "Your gun feels pleasantly warm for a moment." else - M << "\red You feel a warm sensation." + M << "You feel a warm sensation." M.apply_effect(rand(3,120), IRRADIATE) lightfail = 1 else for (var/mob/living/M in range(rand(1,4),src)) //Big failure, TIME FOR RADIATION BITCHES if (src in M.contents) - M << "\red Your gun's reactor overloads!" - M << "\red You feel a wave of heat wash over you." + M << "Your gun's reactor overloads!" + M << "You feel a wave of heat wash over you." M.apply_effect(300, IRRADIATE) crit_fail = 1 //break the gun so it stops recharging processing_objects.Remove(src) diff --git a/code/modules/projectiles/guns/energy/pulse.dm b/code/modules/projectiles/guns/energy/pulse.dm index 099e99fd796..03510d8d59c 100644 --- a/code/modules/projectiles/guns/energy/pulse.dm +++ b/code/modules/projectiles/guns/energy/pulse.dm @@ -18,19 +18,19 @@ mode = 0 charge_cost = 100 fire_sound = 'sound/weapons/Taser.ogg' - user << "\red [src.name] is now set to stun." + user << "[src.name] is now set to stun." projectile_type = /obj/item/projectile/beam/stun if(0) mode = 1 charge_cost = 100 fire_sound = 'sound/weapons/Laser.ogg' - user << "\red [src.name] is now set to kill." + user << "[src.name] is now set to kill." projectile_type = /obj/item/projectile/beam if(1) mode = 2 charge_cost = 200 fire_sound = 'sound/weapons/pulse.ogg' - user << "\red [src.name] is now set to DESTROY." + user << "[src.name] is now set to DESTROY." projectile_type = /obj/item/projectile/beam/pulse /obj/item/weapon/gun/energy/pulse_rifle/mounted @@ -44,7 +44,7 @@ fire_delay = 10 /obj/item/weapon/gun/energy/pulse_rifle/destroyer/attack_self(mob/living/user as mob) - user << "\red [src.name] has three settings, and they are all DESTROY." + user << "[src.name] has three settings, and they are all DESTROY." //WHY? diff --git a/code/modules/projectiles/guns/energy/special.dm b/code/modules/projectiles/guns/energy/special.dm index 3cd057c2c46..000f1dd1231 100644 --- a/code/modules/projectiles/guns/energy/special.dm +++ b/code/modules/projectiles/guns/energy/special.dm @@ -43,13 +43,13 @@ if(0) mode = 1 charge_cost = 100 - user << "\red The [src.name] is now set to increase yield." + user << "The [src.name] is now set to increase yield." projectile_type = /obj/item/projectile/energy/florayield modifystate = "florayield" if(1) mode = 0 charge_cost = 100 - user << "\red The [src.name] is now set to induce mutations." + user << "The [src.name] is now set to induce mutations." projectile_type = /obj/item/projectile/energy/floramut modifystate = "floramut" update_icon() @@ -58,7 +58,7 @@ /obj/item/weapon/gun/energy/floragun/afterattack(obj/target, mob/user, adjacent_flag) //allow shooting into adjacent hydrotrays regardless of intent if(adjacent_flag && istype(target,/obj/machinery/portable_atmospherics/hydroponics)) - user.visible_message("\red \The [user] fires \the [src] into \the [target]!") + user.visible_message("\The [user] fires \the [src] into \the [target]!") Fire(target,user) return ..() @@ -123,7 +123,7 @@ /obj/item/weapon/gun/energy/staff/handle_click_empty(mob/user = null) if (user) - user.visible_message("*fizzle*", "\red *fizzle*") + user.visible_message("*fizzle*", "*fizzle*") else src.visible_message("*fizzle*") playsound(src.loc, 'sound/effects/sparks1.ogg', 100, 1) @@ -146,11 +146,11 @@ obj/item/weapon/gun/energy/staff/focus attack_self(mob/living/user as mob) if(projectile_type == "/obj/item/projectile/forcebolt") charge_cost = 200 - user << "\red The [src.name] will now strike a small area." + user << "The [src.name] will now strike a small area." projectile_type = "/obj/item/projectile/forcebolt/strong" else charge_cost = 100 - user << "\red The [src.name] will now strike only a single person." + user << "The [src.name] will now strike only a single person." projectile_type = "/obj/item/projectile/forcebolt" */ diff --git a/code/modules/projectiles/guns/launcher/syringe_gun.dm b/code/modules/projectiles/guns/launcher/syringe_gun.dm index b0275599dea..59110be1951 100644 --- a/code/modules/projectiles/guns/launcher/syringe_gun.dm +++ b/code/modules/projectiles/guns/launcher/syringe_gun.dm @@ -1,16 +1,16 @@ /obj/item/weapon/syringe_cartridge - name = "compressed gas cartridge" + name = "syringe gun cartridge" desc = "An impact-triggered compressed gas cartridge that can fitted to a syringe for rapid injection." icon = 'icons/obj/ammo.dmi' icon_state = "syringe-cartridge" var/icon_flight = "syringe-cartridge-flight" //so it doesn't look so weird when shot + matter = list("metal" = 125, "glass" = 375) flags = CONDUCT slot_flags = SLOT_BELT throwforce = 3 force = 3 w_class = 1 var/obj/item/weapon/reagent_containers/syringe/syringe - var/primed = 0 /obj/item/weapon/syringe_cartridge/update_icon() underlays.Cut() @@ -39,14 +39,13 @@ //the icon state will revert back when update_icon() is called from throw_impact() icon_state = icon_flight underlays.Cut() - primed = 1 /obj/item/weapon/syringe_cartridge/throw_impact(atom/hit_atom, var/speed) ..() //handles embedding for us. Should have a decent chance if thrown fast enough if(syringe) //check speed to see if we hit hard enough to trigger the rapid injection //incidentally, this means syringe_cartridges can be used with the pneumatic launcher - if(speed >= 10 && primed && isliving(hit_atom)) + if(speed >= 10 && isliving(hit_atom)) var/mob/living/L = hit_atom //unfortuately we don't know where the dart will actually hit, since that's done by the parent. if(L.can_inject()) @@ -93,7 +92,7 @@ /obj/item/weapon/gun/launcher/syringe/attack_self(mob/living/user as mob) if(next) - user.visible_message("[user] unlatches and carefully relax the bolt on [src].", "You unlatch and carefully relax the bolt on [src], unloading the spring.") + user.visible_message("[user] unlatches and carefully relaxes the bolt on [src].", "You unlatch and carefully relax the bolt on [src], unloading the spring.") next = null else if(darts.len) playsound(src.loc, 'sound/weapons/flipblade.ogg', 50, 1) @@ -106,7 +105,7 @@ user << "[src] is empty." return if(next) - user << "The cover on [src] is locked shut." + user << "[src]'s cover is locked shut." return var/obj/item/weapon/syringe_cartridge/C = darts[1] darts -= C @@ -129,7 +128,7 @@ ..() /obj/item/weapon/gun/launcher/syringe/rapid - name = "rapid syringe gun" - desc = "A modification of the syringe gun design, using a rotating cylinder to store up to four syringes. The spring still needs to be drawn between shots." + name = "syringe gun revolver" + desc = "A modification of the syringe gun design, using a rotating cylinder to store up to five syringes. The spring still needs to be drawn between shots." icon_state = "rapidsyringegun" - max_darts = 4 + max_darts = 5 diff --git a/code/modules/projectiles/guns/projectile/dartgun.dm b/code/modules/projectiles/guns/projectile/dartgun.dm index c068d0caafc..a4fca2f2a46 100644 --- a/code/modules/projectiles/guns/projectile/dartgun.dm +++ b/code/modules/projectiles/guns/projectile/dartgun.dm @@ -1,11 +1,11 @@ /obj/item/projectile/bullet/chemdart name = "dart" icon_state = "dart" - damage = 1 + damage = 5 sharp = 1 - embed = 0 + embed = 1 //the dart is shot fast enough to pierce space suits, so I guess splintering inside the target can be a thing. Should be rare due to low damage. var/reagent_amount = 15 - kill_count = 10 //shorter range + kill_count = 15 //shorter range /obj/item/projectile/bullet/chemdart/New() reagents = new/datum/reagents(reagent_amount) @@ -19,7 +19,7 @@ /obj/item/ammo_casing/chemdart name = "chemical dart" - desc = "A small hollow dart." + desc = "A small hardened, hollow dart." icon_state = "dart" caliber = "dart" projectile_type = /obj/item/projectile/bullet/chemdart diff --git a/code/modules/projectiles/projectile/bullets.dm b/code/modules/projectiles/projectile/bullets.dm index 9fe555afab3..6a04892ee1a 100644 --- a/code/modules/projectiles/projectile/bullets.dm +++ b/code/modules/projectiles/projectile/bullets.dm @@ -21,9 +21,8 @@ if(ismob(A)) if(iscarbon(A)) - //squishy mobs absorb KE - if (damage <= 20) return 0 - damage *= 0.7 + if (damage <= 20 && !prob(damage)) return 0 + damage *= 0.7 //squishy mobs absorb KE return 1 if(istype(A, /obj/machinery) || istype(A, /obj/structure)) diff --git a/code/modules/projectiles/projectile/energy.dm b/code/modules/projectiles/projectile/energy.dm index 76aa608b3d1..2a114e90677 100644 --- a/code/modules/projectiles/projectile/energy.dm +++ b/code/modules/projectiles/projectile/energy.dm @@ -6,11 +6,12 @@ check_armour = "energy" -//releases a very short burst of light on impact, mainly used to blind people +//releases a burst of light on impact or after travelling a distance /obj/item/projectile/energy/flash - name = "shell" //a chemical filled shell or something + name = "chemical shell" icon_state = "bullet" damage = 5 + kill_count = 15 //if the shell hasn't hit anything after travelling this far it just explodes. var/flash_range = 0 var/brightness = 7 var/light_duration = 5 diff --git a/maps/exodus-1.dmm b/maps/exodus-1.dmm index ca37fea7ede..93e8565d233 100644 --- a/maps/exodus-1.dmm +++ b/maps/exodus-1.dmm @@ -57,7 +57,7 @@ "abe" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/security_port) "abf" = (/turf/simulated/wall,/area/maintenance/security_port) "abg" = (/obj/structure/closet/wardrobe/tactical,/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/security/warden) -"abh" = (/obj/structure/stool/bed/chair/office/dark{dir = 8},/obj/machinery/door_control{id = "prisonentry"; name = "Entry Doors"; normaldoorcontrol = 1; pixel_x = -6; pixel_y = 24; req_access_txt = "2"},/obj/machinery/door_control{id = "prisonexit"; name = "Exit Doors"; normaldoorcontrol = 1; pixel_x = 6; pixel_y = 24; req_access_txt = "2"},/obj/machinery/button/flasher{id = "permentryflash"; name = "entry flash"; pixel_x = -26; pixel_y = 6; req_access_txt = "2"},/turf/simulated/floor,/area/security/brig) +"abh" = (/obj/machinery/camera{c_tag = "Armoury - Tactical Equipment "; dir = 2; network = list("SS13")},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/table/rack,/obj/machinery/door/window/brigdoor{dir = 2; name = "Weapons locker"; req_access = null; req_access_txt = "58"},/obj/item/ammo_magazine/c45m{icon_state = "45-7"},/obj/item/ammo_magazine/c45m{icon_state = "45-7"},/obj/item/weapon/storage/box/shotgunammo,/obj/item/weapon/storage/box/shotgunammo,/obj/item/weapon/storage/box/shotgunshells,/obj/item/weapon/storage/box/shotgunshells,/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/security/warden) "abi" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/security/range) "abj" = (/obj/structure/table/reinforced,/obj/item/weapon/gun/energy/laser/practice,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor,/area/security/range) "abk" = (/obj/structure/table/reinforced,/obj/item/weapon/gun/energy/laser/practice,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor,/area/security/range) @@ -71,7 +71,7 @@ "abs" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless,/area/maintenance/foresolar) "abt" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = -32; pixel_y = 0},/obj/machinery/atmospherics/portables_connector,/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor/plating{dir = 1; icon_state = "warnplatecorner"},/area/maintenance/foresolar) "abu" = (/obj/machinery/power/terminal{dir = 4},/obj/machinery/light/small{dir = 1},/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/maintenance/foresolar) -"abv" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/button/flasher{id = "permflash"; name = "Brig flashes"; pixel_x = 0; pixel_y = -27; tag = "permflash"},/turf/simulated/floor,/area/security/brig) +"abv" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Solar - Fore"},/turf/simulated/floor/plating,/area/maintenance/foresolar) "abw" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = 0},/turf/simulated/wall/r_wall,/area/maintenance/foresolar) "abx" = (/obj/effect/decal/cleanable/ash,/obj/structure/closet/emcloset,/turf/simulated/floor/plating{dir = 1; icon_state = "warnplatecorner"},/area/maintenance/security_port) "aby" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/security/warden) @@ -470,7 +470,7 @@ "ajb" = (/obj/machinery/light{dir = 1},/obj/machinery/firealarm{pixel_y = 24},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/brig) "ajc" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/wall,/area/crew_quarters/heads/hos) "ajd" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/camera{c_tag = "HoS Office South"; dir = 1},/obj/structure/flora/pottedplant,/obj/machinery/newscaster/security_unit{pixel_x = -30},/turf/simulated/floor{icon_state = "dark"},/area/crew_quarters/heads/hos) -"aje" = (/obj/structure/table,/obj/item/device/t_scanner,/turf/simulated/floor/plating{dir = 1; icon_state = "warnplatecorner"},/area/maintenance/security_starboard) +"aje" = (/obj/structure/table,/obj/machinery/recharger/wallcharger{pixel_x = 4; pixel_y = -28},/obj/item/clothing/accessory/holobadge,/obj/item/clothing/accessory/holobadge,/obj/item/clothing/accessory/holobadge/cord,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor{dir = 2; icon_state = "redcorner"},/area/security/main) "ajf" = (/obj/machinery/computer/security,/turf/simulated/floor{icon_state = "dark"},/area/crew_quarters/heads/hos) "ajg" = (/obj/machinery/computer/secure_data,/turf/simulated/floor{icon_state = "dark"},/area/crew_quarters/heads/hos) "ajh" = (/obj/structure/filingcabinet,/turf/simulated/floor{icon_state = "dark"},/area/crew_quarters/heads/hos) @@ -523,7 +523,7 @@ "akc" = (/obj/item/device/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_y = 20},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/brig) "akd" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/brig) "ake" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/security/brig) -"akf" = (/obj/structure/table,/obj/machinery/recharger/wallcharger{pixel_x = 4; pixel_y = -28},/obj/item/clothing/accessory/holobadge,/obj/item/clothing/accessory/holobadge,/obj/item/clothing/accessory/holobadge/cord,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor{dir = 2; icon_state = "redcorner"},/area/security/main) +"akf" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/structure/extinguisher_cabinet{pixel_x = 5; pixel_y = -29},/turf/simulated/floor{icon_state = "dark"},/area/crew_quarters/heads/hos) "akg" = (/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor{icon_state = "red"; dir = 5},/area/security/brig) "akh" = (/obj/structure/table/rack,/obj/item/weapon/storage/briefcase{pixel_x = -2; pixel_y = -5},/obj/item/weapon/storage/briefcase{pixel_x = 3; pixel_y = 0},/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office) "aki" = (/obj/structure/disposalpipe/segment,/obj/structure/closet{name = "Evidence Closet"},/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office) @@ -548,7 +548,7 @@ "akB" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/security/brig) "akC" = (/obj/machinery/light,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/security/brig) "akD" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor,/area/security/brig) -"akE" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/button/flasher{id = "permflash"; name = "Brig flashes"; pixel_x = -6; pixel_y = -24; req_access_txt = "2"; tag = "permflash"},/obj/machinery/door_control{id = "brigobs"; name = "observation shutters"; pixel_x = 6; pixel_y = -24},/obj/machinery/door_control{id = "Secure Gate"; name = "Brig Lockdown"; pixel_x = -26; pixel_y = -4; req_access_txt = "2"},/turf/simulated/floor,/area/security/brig) +"akE" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/button/flasher{id = "permflash"; name = "Brig flashes"; pixel_x = 0; pixel_y = -27; tag = "permflash"},/turf/simulated/floor,/area/security/brig) "akF" = (/obj/machinery/camera{c_tag = "Brig Center"; dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/turf/simulated/floor,/area/security/brig) "akG" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/security/brig) "akH" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor,/area/security/brig) @@ -622,7 +622,7 @@ "alX" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0},/turf/simulated/floor,/area/security/prison) "alY" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/prison) "alZ" = (/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/door/window/brigdoor{base_state = "rightsecure"; dir = 8; icon_state = "rightsecure"; req_access_txt = "2"},/obj/structure/table/reinforced,/turf/simulated/floor,/area/security/brig) -"ama" = (/obj/structure/cable/green,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Substation - Security"},/turf/simulated/floor/plating,/area/maintenance/substation/security) +"ama" = (/obj/structure/table,/obj/item/device/t_scanner,/turf/simulated/floor/plating{dir = 1; icon_state = "warnplatecorner"},/area/maintenance/security_starboard) "amb" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/security/brig) "amc" = (/obj/structure/stool/bed/chair/office/dark{dir = 4},/obj/machinery/door_control{desc = "A remote control switch for the brig foyer."; id = "BrigFoyer"; name = "Brig Foyer Doors"; normaldoorcontrol = 1; pixel_x = 28; pixel_y = -15},/turf/simulated/floor,/area/security/brig) "amd" = (/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/door/window/southright{base_state = "left"; dir = 4; icon_state = "left"},/obj/structure/table/reinforced,/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor,/area/security/lobby) @@ -640,7 +640,7 @@ "amp" = (/obj/structure/table/woodentable,/obj/item/ashtray/bronze,/obj/item/weapon/storage/fancy/cigarettes/dromedaryco,/obj/item/device/flash,/obj/item/weapon/handcuffs,/turf/simulated/floor/carpet,/area/security/detectives_office) "amq" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/carpet,/area/security/detectives_office) "amr" = (/obj/item/weapon/storage/secure/safe{pixel_x = 35; pixel_y = 5},/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office) -"ams" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/structure/extinguisher_cabinet{pixel_x = 5; pixel_y = -29},/turf/simulated/floor{icon_state = "dark"},/area/crew_quarters/heads/hos) +"ams" = (/obj/structure/stool/bed/chair/office/dark{dir = 8},/obj/machinery/door_control{id = "prisonentry"; name = "Entry Doors"; normaldoorcontrol = 1; pixel_x = -6; pixel_y = 24; req_access_txt = "2"},/obj/machinery/door_control{id = "prisonexit"; name = "Exit Doors"; normaldoorcontrol = 1; pixel_x = 6; pixel_y = 24; req_access_txt = "2"},/obj/machinery/button/flasher{id = "permentryflash"; name = "entry flash"; pixel_x = -26; pixel_y = 6; req_access_txt = "2"},/turf/simulated/floor,/area/security/brig) "amt" = (/obj/structure/disposalpipe/segment,/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/security_starboard) "amu" = (/obj/machinery/door/airlock/engineering{name = "Security Substation"; req_access_txt = "0"; req_one_access_txt = "11;24"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/substation/security) "amv" = (/obj/machinery/light/small{dir = 1},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/power/sensor{name = "Powernet Sensor - Security Subgrid"; name_tag = "Security Subgrid"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green,/turf/simulated/floor/plating,/area/maintenance/substation/security) @@ -661,7 +661,7 @@ "amK" = (/obj/machinery/flasher{id = "permentryflash"; name = "Floor mounted flash"; pixel_x = 0},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/security/prison) "amL" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/prison) "amM" = (/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/door/window/brigdoor{dir = 8; req_access_txt = "2"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/structure/table/reinforced,/turf/simulated/floor,/area/security/brig) -"amN" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Solar - Fore"},/turf/simulated/floor/plating,/area/maintenance/foresolar) +"amN" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/button/flasher{id = "permflash"; name = "Brig flashes"; pixel_x = -6; pixel_y = -24; req_access_txt = "2"; tag = "permflash"},/obj/machinery/door_control{id = "brigobs"; name = "observation shutters"; pixel_x = 6; pixel_y = -24},/obj/machinery/door_control{id = "Secure Gate"; name = "Brig Lockdown"; pixel_x = -26; pixel_y = -4; req_access_txt = "2"},/turf/simulated/floor,/area/security/brig) "amO" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/computer/security/telescreen{desc = "Big Brother is watching."; name = "Brig Monitor"; network = list("Prison"); pixel_x = 3; pixel_y = -33},/turf/simulated/floor,/area/security/brig) "amP" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/structure/disposalpipe/trunk,/obj/machinery/disposal,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/camera{c_tag = "Prison Wing Observation"; dir = 1; network = list("SS13")},/turf/simulated/floor,/area/security/brig) "amQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/computer/security/telescreen{desc = "Big Brother is watching."; name = "Brig Monitor"; network = list("Prison"); pixel_x = -3; pixel_y = -33},/turf/simulated/floor,/area/security/brig) @@ -679,7 +679,7 @@ "anc" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplatecorner"},/area/maintenance/security_starboard) "and" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = 0},/turf/simulated/wall,/area/maintenance/substation/security) "ane" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/machinery/power/terminal{dir = 4},/turf/simulated/floor/plating,/area/maintenance/substation/security) -"anf" = (/obj/machinery/camera{c_tag = "Armoury - Tactical Equipment "; dir = 2; network = list("SS13")},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/table/rack,/obj/machinery/door/window/brigdoor{dir = 2; name = "Weapons locker"; req_access = null; req_access_txt = "58"},/obj/item/ammo_magazine/c45m{icon_state = "45-7"},/obj/item/ammo_magazine/c45m{icon_state = "45-7"},/obj/item/weapon/storage/box/shotgunammo,/obj/item/weapon/storage/box/shotgunammo,/obj/item/weapon/storage/box/shotgunshells,/obj/item/weapon/storage/box/shotgunshells,/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/security/warden) +"anf" = (/obj/structure/extinguisher_cabinet{pixel_x = 25; pixel_y = 0},/turf/simulated/floor{icon_state = "cult"; dir = 2},/area/lawoffice) "ang" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/substation/security) "anh" = (/obj/effect/landmark{name = "carpspawn"},/turf/space,/area/shuttle/syndicate_elite/station) "ani" = (/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating/airless,/area/solar/auxstarboard) @@ -975,7 +975,7 @@ "asM" = (/obj/structure/stool/bed/chair{dir = 4},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) "asN" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/hallway/primary/central_one) "asO" = (/obj/structure/stool/bed/chair{dir = 8},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor,/area/security/prison) -"asP" = (/obj/machinery/seed_storage/garden,/turf/simulated/floor,/area/hydroponics) +"asP" = (/obj/structure/cable/green,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Substation - Security"},/turf/simulated/floor/plating,/area/maintenance/substation/security) "asQ" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/hallway/primary/fore) "asR" = (/obj/machinery/bot/secbot/beepsky{name = "Officer Beepsky"},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/hallway/primary/fore) "asS" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/hallway/primary/fore) @@ -992,10 +992,10 @@ "atd" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/turf/simulated/floor/plating,/area/maintenance/dormitory) "ate" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor/plating,/area/maintenance/dormitory) "atf" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/maintenance/dormitory) -"atg" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/fancy/cigarettes{pixel_y = 2},/obj/random/single{icon = 'icons/obj/items.dmi'; icon_state = "lighter-g"; name = "randomly spawned lighter"; spawn_nothing_percentage = 50; spawn_object = /obj/item/weapon/flame/lighter},/turf/simulated/floor{icon_state = "grimy"},/area/hallway/secondary/entry/starboard) -"ath" = (/obj/structure/disposalpipe/segment,/obj/machinery/button/crematorium{pixel_x = 25},/obj/machinery/light/small{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "dark"},/area/chapel/office) -"ati" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Substation - Civilian West"},/turf/simulated/floor/plating,/area/maintenance/substation/civilian_west) -"atj" = (/obj/machinery/seed_storage/garden,/turf/simulated/floor{icon_state = "green"; dir = 8},/area/hydroponics) +"atg" = (/obj/machinery/button/flasher{id = "IAflash"; pixel_y = -30},/obj/machinery/door_control{id = "visit_blast"; name = "Privacy Shutters"; pixel_x = 25; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor,/area/security/prison) +"ath" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/crew_quarters/fitness) +"ati" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/crew_quarters/fitness) +"atj" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/effect/landmark{name = "Syndicate Breach Area"},/turf/simulated/floor/plating,/area/crew_quarters/fitness) "atk" = (/turf/simulated/shuttle/wall{icon_state = "swall_s6"; dir = 2},/area/shuttle/escape_pod1/station) "atl" = (/obj/structure/window/shuttle,/obj/structure/grille,/turf/simulated/shuttle/plating,/area/shuttle/escape_pod1/station) "atm" = (/turf/simulated/shuttle/wall{icon_state = "swall_s10"; dir = 2},/area/shuttle/escape_pod1/station) @@ -1028,7 +1028,7 @@ "atN" = (/turf/simulated/wall/r_wall,/area/crew_quarters/fitness) "atO" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/maintenance,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/crew_quarters/fitness) "atP" = (/turf/simulated/wall,/area/crew_quarters/fitness) -"atQ" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/snacks/chips,/obj/random/single{icon = 'icons/obj/drinks.dmi'; icon_state = "cola"; name = "randomly spawned cola"; spawn_nothing_percentage = 50; spawn_object = /obj/item/weapon/reagent_containers/food/drinks/cans/cola},/turf/simulated/floor/carpet,/area/hallway/secondary/entry/starboard) +"atQ" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/camera{c_tag = "Holodeck North"; dir = 2; network = list("SS13"); pixel_y = -6},/turf/simulated/floor/plating,/area/crew_quarters/fitness) "atR" = (/turf/simulated/floor/engine{name = "Holodeck Projector Floor"},/area/holodeck/alphadeck) "atS" = (/turf/simulated/wall/r_wall,/area/hallway/secondary/entry/fore) "atT" = (/turf/simulated/shuttle/wall{icon_state = "swall3"; dir = 2},/area/shuttle/escape_pod1/station) @@ -1076,7 +1076,7 @@ "auJ" = (/obj/structure/window/basic{dir = 4},/turf/simulated/floor/beach/water{tag = "icon-seadeep"; icon_state = "seadeep"},/area/crew_quarters/fitness) "auK" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/stool/bed,/obj/item/weapon/bedsheet/mime,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/wood,/area/crew_quarters/sleep/bedrooms) "auL" = (/obj/machinery/vending/cola,/turf/simulated/floor{icon_state = "neutral"; dir = 5},/area/crew_quarters/fitness) -"auM" = (/obj/structure/table/woodentable,/obj/random/single{icon = 'icons/obj/playing_cards.dmi'; icon_state = "deck"; name = "randomly spawned deck of cards"; spawn_nothing_percentage = 50; spawn_object = /obj/item/weapon/deck},/turf/simulated/floor{icon_state = "grimy"},/area/hallway/secondary/entry/starboard) +"auM" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/crew_quarters/fitness) "auN" = (/turf/simulated/wall,/area/hallway/secondary/entry/fore) "auO" = (/obj/structure/stool/bed/chair{dir = 1},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 27},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod1/station) "auP" = (/obj/structure/stool/bed/chair{dir = 1},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 27},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod2/station) @@ -1114,9 +1114,9 @@ "avv" = (/turf/simulated/floor{dir = 2; icon_state = "whitecorner"},/area/crew_quarters/fitness) "avw" = (/turf/simulated/floor{icon_state = "escapecorner"; dir = 8},/area/crew_quarters/fitness) "avx" = (/turf/simulated/floor,/area/crew_quarters/fitness) -"avy" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/smartfridge/drying_rack,/turf/simulated/floor{dir = 9; icon_state = "green"},/area/hydroponics/garden) -"avz" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/crew_quarters/fitness) -"avA" = (/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "blue"; dir = 4},/area/crew_quarters/fitness) +"avy" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/crew_quarters/fitness) +"avz" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = -6},/turf/simulated/floor/plating,/area/crew_quarters/fitness) +"avA" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/crew_quarters/fitness) "avB" = (/turf/simulated/floor/plating,/obj/structure/shuttle/engine/propulsion/burst,/turf/simulated/shuttle/wall{icon_state = "swall_f5"; dir = 2},/area/shuttle/escape_pod1/station) "avC" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_1_hatch"; locked = 1; name = "Escape Pod Hatch"; req_access_txt = "13"},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod1/station) "avD" = (/turf/simulated/floor/plating,/obj/structure/shuttle/engine/propulsion/burst,/turf/simulated/shuttle/wall{icon_state = "swall_f9"; dir = 2},/area/shuttle/escape_pod1/station) @@ -1132,12 +1132,12 @@ "avN" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/maintenance/arrivals) "avO" = (/obj/machinery/space_heater,/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor/plating,/area/maintenance/arrivals) "avP" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/central_one) -"avQ" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "eva_airlock"; name = "exterior access button"; pixel_x = 0; pixel_y = 25; req_access_txt = "1;11;18;24"},/turf/simulated/floor/plating/airless,/area/maintenance/evahallway) +"avQ" = (/turf/simulated/floor{icon_state = "neutral"; dir = 4},/area/crew_quarters/fitness) "avR" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "eva_outer"; locked = 1; name = "EVA External Access"; req_access = null; req_access_txt = "13"},/turf/simulated/floor/airless{icon_state = "circuit"},/area/maintenance/evahallway) "avS" = (/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "eva_sensor"; pixel_x = 0; pixel_y = 25},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1379; id_tag = "eva_pump"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 9},/area/maintenance/evahallway) "avT" = (/obj/machinery/embedded_controller/radio/airlock/airlock_controller{frequency = 1379; id_tag = "eva_airlock"; name = "EVA Airlock Console"; pixel_y = 25; req_access_txt = "0"; req_one_access_txt = "1;5;11;18;24"; tag_airpump = "eva_pump"; tag_chamber_sensor = "eva_sensor"; tag_exterior_door = "eva_outer"; tag_interior_door = "eva_inner"},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 5},/area/maintenance/evahallway) "avU" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "eva_inner"; locked = 1; name = "EVA Internal Access"; req_access = null; req_access_txt = "13"},/turf/simulated/floor/plating,/area/maintenance/evahallway) -"avV" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "eva_airlock"; name = "interior access button"; pixel_x = 0; pixel_y = 25; req_access_txt = "1;11;18;24"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/maintenance/evahallway) +"avV" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "eva_airlock"; name = "exterior access button"; pixel_x = 0; pixel_y = 25; req_access_txt = "1;11;18;24"},/turf/simulated/floor/plating/airless,/area/maintenance/evahallway) "avW" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/maintenance/evahallway) "avX" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/maintenance/evahallway) "avY" = (/obj/machinery/shower{dir = 4; icon_state = "shower"; pixel_x = 5; pixel_y = 0},/obj/structure/curtain/open/shower,/turf/simulated/floor{icon_state = "freezerfloor"},/area/security/prison) @@ -1147,7 +1147,7 @@ "awc" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets,/obj/item/weapon/storage/box/donkpockets{pixel_x = -3; pixel_y = -3},/turf/simulated/floor,/area/security/prison) "awd" = (/obj/structure/table,/obj/item/weapon/minihoe,/obj/item/device/analyzer/plant_analyzer,/obj/item/clothing/head/greenbandana,/turf/simulated/floor,/area/security/prison) "awe" = (/obj/machinery/vending/hydronutrients,/turf/simulated/floor,/area/security/prison) -"awf" = (/turf/simulated/floor{dir = 10; icon_state = "whitehall"},/area/crew_quarters/fitness) +"awf" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "eva_airlock"; name = "interior access button"; pixel_x = 0; pixel_y = 25; req_access_txt = "1;11;18;24"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/maintenance/evahallway) "awg" = (/obj/structure/table,/obj/structure/bedsheetbin,/turf/simulated/floor,/area/security/prison) "awh" = (/obj/structure/closet{name = "Prisoner's Locker"},/obj/item/clothing/head/soft/orange,/obj/item/clothing/shoes/sandal,/turf/simulated/floor,/area/security/prison) "awi" = (/obj/machinery/light,/obj/structure/stool/bed,/obj/item/weapon/bedsheet/orange,/turf/simulated/floor,/area/security/prison) @@ -1166,13 +1166,13 @@ "awv" = (/obj/machinery/alarm{dir = 4; pixel_x = -23; pixel_y = 0},/obj/structure/disposalpipe/segment,/obj/machinery/camera{c_tag = "Fitness Room West"; dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "neutral"; dir = 8},/area/crew_quarters/fitness) "aww" = (/turf/simulated/floor{dir = 6; icon_state = "whitehall"},/area/crew_quarters/fitness) "awx" = (/obj/machinery/seed_storage/garden,/turf/simulated/floor,/area/security/prison) -"awy" = (/turf/simulated/floor{icon_state = "blue"; dir = 4},/area/crew_quarters/fitness) -"awz" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/airlock/glass{name = "Holodeck"},/turf/simulated/floor,/area/crew_quarters/fitness) -"awA" = (/turf/simulated/floor{dir = 1; icon_state = "whitecorner"},/area/crew_quarters/fitness) -"awB" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/crew_quarters/fitness) -"awC" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/camera{c_tag = "Fitness Room East"; dir = 1},/turf/simulated/floor,/area/crew_quarters/fitness) -"awD" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor,/area/crew_quarters/fitness) -"awE" = (/obj/machinery/hologram/holopad,/obj/machinery/light,/turf/simulated/floor{icon_state = "blue"; dir = 4},/area/crew_quarters/fitness) +"awy" = (/turf/simulated/floor{dir = 10; icon_state = "whitehall"},/area/crew_quarters/fitness) +"awz" = (/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "blue"; dir = 4},/area/crew_quarters/fitness) +"awA" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/airlock/glass{name = "Holodeck"},/turf/simulated/floor,/area/crew_quarters/fitness) +"awB" = (/turf/simulated/floor{icon_state = "blue"; dir = 4},/area/crew_quarters/fitness) +"awC" = (/turf/simulated/floor{dir = 1; icon_state = "whitecorner"},/area/crew_quarters/fitness) +"awD" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/crew_quarters/fitness) +"awE" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor,/area/crew_quarters/fitness) "awF" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/hallway/primary/central_one) "awG" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/hallway/secondary/entry/fore) "awH" = (/turf/simulated/floor/plating,/area/hallway/secondary/entry/fore) @@ -1209,13 +1209,13 @@ "axm" = (/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/fitness) "axn" = (/obj/structure/window/basic{dir = 1},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/fitness) "axo" = (/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/fitness) -"axp" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/crew_quarters/fitness) -"axq" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/crew_quarters/fitness) -"axr" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/camera{c_tag = "Holodeck North"; dir = 2; network = list("SS13"); pixel_y = -6},/turf/simulated/floor/plating,/area/crew_quarters/fitness) +"axp" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/camera{c_tag = "Fitness Room East"; dir = 1},/turf/simulated/floor,/area/crew_quarters/fitness) +"axq" = (/obj/machinery/hologram/holopad,/obj/machinery/light,/turf/simulated/floor{icon_state = "blue"; dir = 4},/area/crew_quarters/fitness) +"axr" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "neutralcorner"},/area/crew_quarters/fitness) "axs" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/crew_quarters/fitness) -"axt" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/effect/landmark{name = "Syndicate Breach Area"},/turf/simulated/floor/plating,/area/crew_quarters/fitness) -"axu" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/crew_quarters/fitness) -"axv" = (/obj/machinery/button/flasher{id = "IAflash"; pixel_y = -30},/obj/machinery/door_control{id = "visit_blast"; name = "Privacy Shutters"; pixel_x = 25; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor,/area/security/prison) +"axt" = (/obj/structure/closet/lasertag/blue,/turf/simulated/floor{icon_state = "neutral"; dir = 4},/area/crew_quarters/fitness) +"axu" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock/glass{name = "Holodeck Control"},/turf/simulated/floor,/area/crew_quarters/fitness) +"axv" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor,/area/crew_quarters/fitness) "axw" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_1_berth_hatch"; locked = 1; name = "Escape Pod"; req_access_txt = "13"},/turf/simulated/floor/plating,/area/hallway/secondary/entry/fore) "axx" = (/obj/structure/sign/pods,/turf/simulated/wall,/area/hallway/secondary/entry/fore) "axy" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_2_berth_hatch"; locked = 1; name = "Escape Pod"; req_access_txt = "13"},/turf/simulated/floor/plating,/area/hallway/secondary/entry/fore) @@ -1254,10 +1254,10 @@ "ayf" = (/turf/simulated/floor{dir = 4; icon_state = "escapecorner"},/area/crew_quarters/fitness) "ayg" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor{icon_state = "whitehall"; dir = 1},/area/crew_quarters/fitness) "ayh" = (/turf/simulated/floor{icon_state = "whitehall"; dir = 1},/area/crew_quarters/fitness) -"ayi" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = -6},/turf/simulated/floor/plating,/area/crew_quarters/fitness) -"ayj" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/crew_quarters/fitness) +"ayi" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/crew_quarters/fitness) +"ayj" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/turf/simulated/floor/plating,/area/crew_quarters/fitness) "ayk" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/crew_quarters/fitness) -"ayl" = (/turf/simulated/floor{icon_state = "neutral"; dir = 4},/area/crew_quarters/fitness) +"ayl" = (/obj/structure/table,/obj/item/weapon/paper{desc = ""; info = "Brusies sustained in the holodeck can be healed simply by sleeping."; name = "Holodeck Disclaimer"},/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/light/small{dir = 1},/turf/simulated/floor,/area/crew_quarters/fitness) "aym" = (/turf/simulated/floor/airless{icon_state = "catwalk12"},/area/space) "ayn" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/hallway/secondary/entry/fore) "ayo" = (/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/hallway/secondary/entry/fore) @@ -1304,14 +1304,14 @@ "azd" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/crew_quarters/fitness) "aze" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/crew_quarters/fitness) "azf" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor,/area/crew_quarters/fitness) -"azg" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating{dir = 8; icon_state = "warnplatecorner"},/area/maintenance/library) -"azh" = (/obj/machinery/camera{c_tag = "Fore Starboard Solars"; dir = 1},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Solar - Fore Starboard"},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard) -"azi" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating{dir = 1; icon_state = "warnplate"; nitrogen = 0.01; oxygen = 0.01},/area/maintenance/library) -"azj" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating{dir = 4; icon_state = "warnplatecorner"},/area/maintenance/library) -"azk" = (/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Substation - Civilian East"},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/maintenance/substation/civilian_east) -"azl" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/maintenance/library) -"azm" = (/obj/structure/extinguisher_cabinet{pixel_x = 25; pixel_y = 0},/turf/simulated/floor{icon_state = "cult"; dir = 2},/area/lawoffice) -"azn" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/maintenance/library) +"azg" = (/obj/structure/stool/bed/chair{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor,/area/crew_quarters/fitness) +"azh" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/plating,/area/crew_quarters/fitness) +"azi" = (/obj/machinery/computer/HolodeckControl,/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/crew_quarters/fitness) +"azj" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "solar_chapel_airlock"; name = "interior access button"; pixel_x = 25; pixel_y = 25; req_access_txt = "13"},/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/obj/effect/decal/cleanable/dirt,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating{dir = 1; icon_state = "warnplate"; nitrogen = 82.1472; oxygen = 21.8366},/area/maintenance/auxsolarstarboard) +"azk" = (/obj/machinery/camera{c_tag = "Fore Starboard Solars"; dir = 1},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Solar - Fore Starboard"},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard) +"azl" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Solar - Fore Port"},/turf/simulated/floor/plating,/area/maintenance/auxsolarport) +"azm" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/crew_quarters/fitness) +"azn" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/camera{c_tag = "Holodeck South"; dir = 1; pixel_y = 6},/turf/simulated/floor/plating,/area/crew_quarters/fitness) "azo" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard) "azp" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "solar_chapel_outer"; locked = 1; name = "Engineering External Access"; req_access = null; req_access_txt = "10;13"},/obj/effect/decal/cleanable/dirt,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard) "azq" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/hallway/secondary/entry/fore) @@ -1367,8 +1367,8 @@ "aAo" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/item/device/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_x = -2; pixel_y = -28},/turf/simulated/floor{dir = 10; icon_state = "neutral"},/area/crew_quarters/fitness) "aAp" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/crew_quarters/fitness) "aAq" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/crew_quarters/fitness) -"aAr" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/library) -"aAs" = (/obj/item/device/radio/intercom{pixel_x = 28},/obj/machinery/libraryscanner,/turf/simulated/floor/wood,/area/library) +"aAr" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/crew_quarters/fitness) +"aAs" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/maintenance/library) "aAt" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/maintenance/library) "aAu" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard) "aAv" = (/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "solar_chapel_pump"; tag_exterior_door = "solar_chapel_outer"; frequency = 1379; id_tag = "solar_chapel_airlock"; tag_interior_door = "solar_chapel_inner"; pixel_x = 25; req_access_txt = "13"; tag_chamber_sensor = "solar_chapel_sensor"},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "solar_chapel_sensor"; pixel_x = 25; pixel_y = 12},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1379; id_tag = "solar_chapel_pump"},/obj/effect/decal/cleanable/dirt,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/decal/warning_stripes,/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard) @@ -1418,10 +1418,10 @@ "aBn" = (/obj/machinery/light_switch{pixel_y = -25},/obj/structure/closet/athletic_mixed,/turf/simulated/floor{icon_state = "neutral"},/area/crew_quarters/fitness) "aBo" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/structure/flora/pottedplant{tag = "icon-plant-06"; icon_state = "plant-06"},/turf/simulated/floor{icon_state = "neutral"},/area/crew_quarters/fitness) "aBp" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "neutral"},/area/crew_quarters/fitness) -"aBq" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/maintenance/library) +"aBq" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating{dir = 8; icon_state = "warnplatecorner"},/area/maintenance/library) "aBr" = (/obj/structure/closet/lasertag/red,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor{icon_state = "neutral"; dir = 6},/area/crew_quarters/fitness) -"aBs" = (/obj/machinery/camera{c_tag = "Fore Port Solar Access"},/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/maintenance/arrivals) -"aBt" = (/obj/machinery/button/driver{id = "chapelgun"; name = "Chapel Mass Driver"; pixel_x = 25},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main) +"aBs" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating{dir = 4; icon_state = "warnplatecorner"},/area/maintenance/library) +"aBt" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating{dir = 1; icon_state = "warnplate"; nitrogen = 0.01; oxygen = 0.01},/area/maintenance/library) "aBu" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard) "aBv" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard) "aBw" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "solar_chapel_inner"; locked = 1; name = "Engineering External Access"; req_access = null; req_access_txt = "13"},/obj/machinery/atmospherics/pipe/simple/visible,/obj/effect/decal/cleanable/dirt,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard) @@ -1469,7 +1469,7 @@ "aCm" = (/turf/simulated/wall/r_wall,/area/maintenance/substation/civilian_east) "aCn" = (/obj/effect/decal/cleanable/dirt,/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/maintenance/bar) "aCo" = (/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/power/sensor{name = "Powernet Sensor - Civilian East Subgrid"; name_tag = "Civilian East Subgrid"},/turf/simulated/floor/plating,/area/maintenance/substation/civilian_east) -"aCp" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor{icon_state = "grimy"},/area/hydroponics/garden) +"aCp" = (/obj/machinery/camera{c_tag = "Fore Port Solar Access"},/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/maintenance/arrivals) "aCq" = (/obj/machinery/shower{dir = 4; icon_state = "shower"; pixel_x = 5; pixel_y = 0},/obj/structure/curtain/open/shower,/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) "aCr" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) "aCs" = (/obj/machinery/shower{dir = 8; icon_state = "shower"; pixel_x = -5; pixel_y = 0},/obj/structure/curtain/open/shower,/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) @@ -1489,7 +1489,7 @@ "aCG" = (/obj/machinery/atmospherics/pipe/tank/air{dir = 8},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/maintenance/arrivals) "aCH" = (/obj/machinery/camera{c_tag = "Fore Port Solar Control"; dir = 1},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/maintenance/auxsolarport) "aCI" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/maintenance/auxsolarport) -"aCJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock/glass{name = "Holodeck Control"},/turf/simulated/floor,/area/crew_quarters/fitness) +"aCJ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/maintenance/arrivals) "aCK" = (/turf/simulated/wall,/area/storage/primary) "aCL" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/storage/primary) "aCM" = (/turf/simulated/wall/r_wall,/area/storage/primary) @@ -1523,11 +1523,11 @@ "aDo" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/drinks/shaker,/obj/item/weapon/gun/projectile/shotgun/doublebarrel,/obj/item/weapon/paper{info = "This permit signifies that the Bartender is permitted to posess this firearm in the bar, and ONLY the bar. Failure to adhere to this permit will result in confiscation of the weapon and possibly arrest."; name = "Shotgun permit"},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/wood,/area/crew_quarters/bar) "aDp" = (/turf/simulated/wall,/area/crew_quarters/bar) "aDq" = (/obj/structure/disposalpipe/segment,/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/bar) -"aDr" = (/obj/structure/closet/lasertag/blue,/turf/simulated/floor{icon_state = "neutral"; dir = 4},/area/crew_quarters/fitness) +"aDr" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating{dir = 1; icon_state = "warnplate"; nitrogen = 0.01; oxygen = 0.01},/area/maintenance/arrivals) "aDs" = (/turf/simulated/wall,/area/maintenance/bar) -"aDt" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "neutralcorner"},/area/crew_quarters/fitness) -"aDu" = (/turf/simulated/floor{icon_state = "neutral"; dir = 4},/area/hallway/primary/central_two) -"aDv" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor,/area/crew_quarters/fitness) +"aDt" = (/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Substation - Civilian East"},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/maintenance/substation/civilian_east) +"aDu" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "neutral"; dir = 4},/area/crew_quarters/sleep) +"aDv" = (/obj/machinery/camera{c_tag = "Dormitory South"; c_tag_order = 999; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor{icon_state = "neutral"; dir = 8},/area/crew_quarters/sleep) "aDw" = (/obj/structure/cable/green,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/turf/simulated/floor/plating,/area/maintenance/substation/civilian_east) "aDx" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/substation/civilian_east) "aDy" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/substation/civilian_east) @@ -1605,14 +1605,14 @@ "aES" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/airlock/maintenance{name = "Bar Maintenance"; req_access_txt = "25"},/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/crew_quarters/bar) "aET" = (/obj/structure/disposalpipe/sortjunction{dir = 2; icon_state = "pipe-j1s"; sortType = "Bar"; name = "Bar"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/bar) "aEU" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/maintenance/substation/civilian_east) -"aEV" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "neutral"; dir = 8},/area/hallway/primary/central_two) -"aEW" = (/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor{icon_state = "neutral"; dir = 4},/area/hallway/primary/central_two) +"aEV" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/maintenance/library) +"aEW" = (/turf/simulated/floor/plating,/area/maintenance/library) "aEX" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard) "aEY" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard) -"aEZ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/maintenance/arrivals) +"aEZ" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/maintenance/library) "aFa" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/maintenance/bar) "aFb" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/maintenance/bar) -"aFc" = (/obj/structure/table,/obj/item/weapon/paper{desc = ""; info = "Brusies sustained in the holodeck can be healed simply by sleeping."; name = "Holodeck Disclaimer"},/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/light/small{dir = 1},/turf/simulated/floor,/area/crew_quarters/fitness) +"aFc" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/maintenance/library) "aFd" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/library) "aFe" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating,/area/maintenance/library) "aFf" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/turf/simulated/floor/plating,/area/maintenance/library) @@ -1632,10 +1632,10 @@ "aFt" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/hallway/secondary/entry/port) "aFu" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/turf/simulated/floor/plating,/area/maintenance/arrivals) "aFv" = (/obj/structure/closet/wardrobe/red,/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/checkpoint2) -"aFw" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating{dir = 1; icon_state = "warnplate"; nitrogen = 0.01; oxygen = 0.01},/area/maintenance/arrivals) +"aFw" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{icon_state = "neutral"; dir = 4},/area/crew_quarters/sleep) "aFx" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/maintenance/arrivals) -"aFy" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "neutral"; dir = 8},/area/hallway/primary/central_two) -"aFz" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "neutralcorner"; dir = 4},/area/hallway/primary/central_two) +"aFy" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor{icon_state = "neutral"; dir = 8},/area/crew_quarters/sleep) +"aFz" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/maintenance/library) "aFA" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "red"},/area/security/checkpoint2) "aFB" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/maintenance/arrivals) "aFC" = (/turf/simulated/wall,/area/maintenance/substation/civilian_west) @@ -1671,7 +1671,7 @@ "aGg" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hallway/secondary/entry/port) "aGh" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/structure/closet/emcloset,/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/hallway/secondary/entry/port) "aGi" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hallway/secondary/entry/port) -"aGj" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor{icon_state = "neutralcorner"; dir = 1},/area/hallway/primary/central_two) +"aGj" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/reagent_dispensers/watertank,/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor/plating,/area/maintenance/library) "aGk" = (/obj/machinery/door/airlock{name = "Unisex Restrooms"; req_access_txt = "0"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/sleep) "aGl" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) "aGm" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) @@ -1687,10 +1687,10 @@ "aGw" = (/obj/effect/decal/cleanable/dirt,/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/maintenance/bar) "aGx" = (/obj/machinery/door/airlock/engineering{icon_state = "door_closed"; locked = 0; name = "Fore Starboard Solar Access"; req_access_txt = "10"},/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard) "aGy" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = 0},/turf/simulated/wall/r_wall,/area/maintenance/auxsolarstarboard) -"aGz" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/turf/simulated/floor/plating,/area/crew_quarters/fitness) -"aGA" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/reagent_dispensers/watertank,/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor/plating,/area/maintenance/library) -"aGB" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/maintenance/library) -"aGC" = (/obj/machinery/computer/HolodeckControl,/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/crew_quarters/fitness) +"aGz" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/library) +"aGA" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/landmark{name = "blobstart"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/library) +"aGB" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/library) +"aGC" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Dormitory"},/turf/simulated/floor{icon_state = "neutral"; dir = 4},/area/hallway/primary/central_two) "aGD" = (/obj/item/weapon/cigbutt,/obj/effect/decal/cleanable/dirt,/obj/structure/cable,/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/turf/simulated/floor/plating,/area/maintenance/library) "aGE" = (/obj/structure/disposalpipe/segment,/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/library) "aGF" = (/turf/simulated/wall,/area/chapel/office) @@ -1757,17 +1757,17 @@ "aHO" = (/obj/structure/disposalpipe/junction{icon_state = "pipe-j1"; dir = 4},/obj/effect/decal/cleanable/flour,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/bar) "aHP" = (/obj/structure/disposalpipe/sortjunction{dir = 4; icon_state = "pipe-j1s"; sortType = "Kitchen"; name = "Kitchen"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/bar) "aHQ" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/bar) -"aHR" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/plating,/area/crew_quarters/fitness) -"aHS" = (/obj/structure/stool/bed/chair{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor,/area/crew_quarters/fitness) -"aHT" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Solar - Fore Port"},/turf/simulated/floor/plating,/area/maintenance/auxsolarport) -"aHU" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/crew_quarters/fitness) +"aHR" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Dormitory"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "neutral"; dir = 8},/area/hallway/primary/central_two) +"aHS" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/maintenance/bar) +"aHT" = (/obj/structure/disposalpipe/sortjunction{dir = 4; icon_state = "pipe-j1s"; sortType = "Hydroponics"; name = "Hydroponics"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating,/area/maintenance/bar) +"aHU" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Bar\\Library Maintenance"; req_access_txt = "0"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/library) "aHV" = (/obj/structure/closet,/obj/item/device/flashlight,/obj/effect/decal/cleanable/cobweb2,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating,/area/maintenance/bar) -"aHW" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/library) -"aHX" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hallway/primary/starboard) -"aHY" = (/obj/structure/disposalpipe/segment,/obj/machinery/light{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor,/area/hallway/primary/starboard) +"aHW" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/turf/simulated/floor/plating,/area/maintenance/bar) +"aHX" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/camera{c_tag = "Fore Starboard Solar Access"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/library) +"aHY" = (/obj/structure/disposalpipe/sortjunction/flipped{dir = 4; sortType = "Chapel"; name = "Chapel"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/library) "aHZ" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/effect/decal/cleanable/blood/oil/streak{amount = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/maintenance/bar) -"aIa" = (/obj/structure/disposalpipe/sortjunction/flipped{dir = 2; sortType = "Library"; name = "Library"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/hallway/primary/starboard) -"aIb" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/camera{c_tag = "Holodeck South"; dir = 1; pixel_y = 6},/turf/simulated/floor/plating,/area/crew_quarters/fitness) +"aIa" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/library) +"aIb" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/maintenance/library) "aIc" = (/obj/machinery/door/airlock/maintenance{name = "Library Maintenance"; req_access_txt = "0"; req_one_access_txt = "12;37"},/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/library) "aId" = (/obj/item/device/radio/intercom{pixel_y = 25},/obj/structure/table/woodentable,/obj/item/weapon/dice/d20,/obj/item/weapon/dice,/turf/simulated/floor/wood,/area/library) "aIe" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/structure/table/woodentable,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/weapon/packageWrap,/turf/simulated/floor/wood,/area/library) @@ -1827,8 +1827,8 @@ "aJg" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Firelock North"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/hallway/primary/central_one) "aJh" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Firelock North"},/turf/simulated/floor{icon_state = "bluecorner"},/area/hallway/primary/central_one) "aJi" = (/turf/simulated/wall/r_wall,/area/hallway/primary/central_two) -"aJj" = (/obj/machinery/camera{c_tag = "Dormitory South"; c_tag_order = 999; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor{icon_state = "neutral"; dir = 8},/area/crew_quarters/sleep) -"aJk" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "neutral"; dir = 4},/area/crew_quarters/sleep) +"aJj" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/meter,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/library) +"aJk" = (/obj/machinery/button/driver{id = "chapelgun"; name = "Chapel Mass Driver"; pixel_x = 25},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main) "aJl" = (/turf/simulated/wall,/area/hallway/primary/central_two) "aJm" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/structure/mirror{pixel_x = -28},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) "aJn" = (/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) @@ -1844,14 +1844,14 @@ "aJx" = (/obj/structure/plasticflaps{opacity = 1},/obj/machinery/navbeacon{codes_txt = "delivery;dir=2"; freq = 1400; location = "Kitchen"},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/maintenance/bar) "aJy" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/bar) "aJz" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/bar) -"aJA" = (/turf/simulated/floor/plating,/area/maintenance/library) -"aJB" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/maintenance/library) +"aJA" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Substation - Civilian West"},/turf/simulated/floor/plating,/area/maintenance/substation/civilian_west) +"aJB" = (/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor{icon_state = "neutral"; dir = 4},/area/hallway/primary/central_two) "aJC" = (/obj/machinery/light/small{dir = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/dormitory) "aJD" = (/obj/structure/table/reinforced,/obj/item/device/radio/intercom{freerange = 1; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 28},/obj/item/weapon/packageWrap,/obj/item/weapon/hand_labeler,/obj/item/weapon/reagent_containers/spray/cleaner{desc = "Someone has crossed out the 'Space' from Space Cleaner and written in Chemistry. Scrawled on the back is, 'Okay, whoever filled this with polytrinic acid, it was only funny the first time. It was hard enough replacing the CMO's first cat!'"; name = "Chemistry Cleaner"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) "aJE" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/sleep/engi_wash) "aJF" = (/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/sleep/engi_wash) -"aJG" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor{icon_state = "neutral"; dir = 8},/area/crew_quarters/sleep) -"aJH" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{icon_state = "neutral"; dir = 4},/area/crew_quarters/sleep) +"aJG" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "neutral"; dir = 8},/area/hallway/primary/central_two) +"aJH" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/library) "aJI" = (/obj/structure/filingcabinet,/turf/simulated/floor/wood,/area/library) "aJJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/wood,/area/library) "aJK" = (/obj/structure/stool/bed/chair/office/dark,/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/machinery/camera{c_tag = "Library North"; dir = 2; network = list("SS13")},/turf/simulated/floor/wood,/area/library) @@ -1866,12 +1866,12 @@ "aJT" = (/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office) "aJU" = (/obj/structure/closet/coffin,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main) "aJV" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "dark"},/area/chapel/main) -"aJW" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/crew_quarters/fitness) +"aJW" = (/obj/structure/disposalpipe/segment,/obj/machinery/button/crematorium{pixel_x = 25},/obj/machinery/light/small{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "dark"},/area/chapel/office) "aJX" = (/turf/simulated/shuttle/floor,/turf/simulated/shuttle/wall{icon_state = "swall_f10"; dir = 2},/area/shuttle/arrival/station) "aJY" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/substation/civilian_west) "aJZ" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/power/sensor{name = "Powernet Sensor - Civilian West"; name_tag = "Civilian West Subgrid"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green,/turf/simulated/floor/plating,/area/maintenance/substation/civilian_west) "aKa" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/power/breakerbox/activated{RCon_tag = "Civilian West Substation Bypass"},/turf/simulated/floor/plating,/area/maintenance/substation/civilian_west) -"aKb" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/library) +"aKb" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass_command{name = "E.V.A."; req_access_txt = "0"; req_one_access_txt = "1;11;18;24"},/turf/simulated/floor{icon_state = "dark"},/area/hallway/primary/central_one) "aKc" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/storage/emergency2) "aKd" = (/turf/simulated/floor,/area/hallway/secondary/entry/starboard) "aKe" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/storage/emergency2) @@ -1915,8 +1915,8 @@ "aKQ" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "nuke_shuttle_dock_outer"; locked = 1; name = "Docking Port Airlock"; req_access = null; req_access_txt = "13"},/turf/simulated/floor/plating,/area/hallway/secondary/entry/port) "aKR" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/hallway/primary/central_one) "aKS" = (/obj/machinery/vending/cola,/turf/simulated/floor{icon_state = "dark"},/area/hallway/primary/central_two) -"aKT" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/landmark{name = "blobstart"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/library) -"aKU" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Dormitory"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "neutral"; dir = 8},/area/hallway/primary/central_two) +"aKT" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass_command{name = "E.V.A."; req_access_txt = "0"; req_one_access_txt = "1;11;18;24"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "dark"},/area/hallway/primary/central_one) +"aKU" = (/turf/simulated/floor{icon_state = "neutral"; dir = 4},/area/hallway/primary/central_two) "aKV" = (/obj/machinery/camera{c_tag = "Dormitory Toilets"; dir = 1},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) "aKW" = (/obj/machinery/light,/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) "aKX" = (/obj/machinery/door/airlock{name = "Bar Backroom"; req_access_txt = "25"},/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/crew_quarters/bar) @@ -1938,7 +1938,7 @@ "aLn" = (/obj/structure/stool/bed/chair/office/dark{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/wood,/area/library) "aLo" = (/obj/machinery/newscaster{pixel_x = 30},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/wood,/area/library) "aLp" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/chapel/office) -"aLq" = (/turf/simulated/wall,/area/engineering/break_room) +"aLq" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "neutral"; dir = 8},/area/hallway/primary/central_two) "aLr" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp{pixel_y = 10},/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office) "aLs" = (/obj/structure/table/woodentable,/obj/item/weapon/pen,/obj/item/weapon/reagent_containers/food/drinks/bottle/holywater,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office) "aLt" = (/obj/structure/table/woodentable,/obj/item/weapon/nullrod,/obj/item/device/eftpos{eftpos_name = "Chapel EFTPOS scanner"},/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office) @@ -1979,8 +1979,8 @@ "aMc" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hallway/primary/central_one) "aMd" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/hallway/primary/central_one) "aMe" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/sign/securearea,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/hallway/primary/central_one) -"aMf" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass_command{name = "E.V.A."; req_access_txt = "0"; req_one_access_txt = "1;11;18;24"},/turf/simulated/floor{icon_state = "dark"},/area/hallway/primary/central_one) -"aMg" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass_command{name = "E.V.A."; req_access_txt = "0"; req_one_access_txt = "1;11;18;24"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "dark"},/area/hallway/primary/central_one) +"aMf" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "neutralcorner"; dir = 4},/area/hallway/primary/central_two) +"aMg" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor{icon_state = "neutralcorner"; dir = 1},/area/hallway/primary/central_two) "aMh" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/sign/securearea,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/hallway/primary/central_one) "aMi" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/hallway/primary/central_one) "aMj" = (/obj/structure/extinguisher_cabinet{pixel_x = -24},/turf/simulated/floor,/area/hallway/primary/central_one) @@ -1990,8 +1990,8 @@ "aMn" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/hallway/primary/central_one) "aMo" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/hallway/primary/central_one) "aMp" = (/obj/machinery/vending/snack,/turf/simulated/floor{icon_state = "dark"},/area/hallway/primary/central_two) -"aMq" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Dormitory"},/turf/simulated/floor{icon_state = "neutral"; dir = 4},/area/hallway/primary/central_two) -"aMr" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/library) +"aMq" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/snacks/chips,/obj/random/single{icon = 'icons/obj/drinks.dmi'; icon_state = "cola"; name = "randomly spawned cola"; spawn_nothing_percentage = 50; spawn_object = /obj/item/weapon/reagent_containers/food/drinks/cans/cola},/turf/simulated/floor/carpet,/area/hallway/secondary/entry/starboard) +"aMr" = (/obj/structure/table/woodentable,/obj/random/single{icon = 'icons/obj/playing_cards.dmi'; icon_state = "deck"; name = "randomly spawned deck of cards"; spawn_nothing_percentage = 50; spawn_object = /obj/item/weapon/deck},/turf/simulated/floor{icon_state = "grimy"},/area/hallway/secondary/entry/starboard) "aMs" = (/obj/machinery/light_switch{pixel_y = 28},/obj/machinery/light{dir = 1},/obj/machinery/smartfridge/drinks,/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar) "aMt" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar) "aMu" = (/obj/structure/reagent_dispensers/beerkeg,/obj/machinery/requests_console{announcementConsole = 0; department = "Bar"; departmentType = 2; name = "Bar RC"; pixel_x = 0; pixel_y = 30},/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar) @@ -2083,8 +2083,8 @@ "aOc" = (/turf/simulated/floor{icon_state = "L15"},/area/hallway/primary/central_one) "aOd" = (/obj/machinery/light{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/turf/simulated/floor,/area/hallway/primary/central_two) "aOe" = (/turf/simulated/floor{icon_state = "neutralcorner"; dir = 4},/area/hallway/primary/central_two) -"aOf" = (/obj/structure/disposalpipe/sortjunction/flipped{dir = 4; sortType = "Chapel"; name = "Chapel"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/library) -"aOg" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/camera{c_tag = "Fore Starboard Solar Access"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/library) +"aOf" = (/obj/machinery/seed_storage/garden,/turf/simulated/floor{icon_state = "green"; dir = 8},/area/hydroponics) +"aOg" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/fancy/cigarettes{pixel_y = 2},/obj/random/single{icon = 'icons/obj/items.dmi'; icon_state = "lighter-g"; name = "randomly spawned lighter"; spawn_nothing_percentage = 50; spawn_object = /obj/item/weapon/flame/lighter},/turf/simulated/floor{icon_state = "grimy"},/area/hallway/secondary/entry/starboard) "aOh" = (/obj/machinery/newscaster{pixel_y = 32},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "neutralcorner"; dir = 1},/area/hallway/primary/central_two) "aOi" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/camera{c_tag = "Central Hallway North-East"; dir = 2},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/hallway/primary/central_two) "aOj" = (/obj/machinery/light{dir = 1},/obj/item/device/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_y = 20},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/hallway/primary/central_two) @@ -2135,8 +2135,8 @@ "aPc" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/hallway/secondary/entry/port) "aPd" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/hallway/secondary/entry/port) "aPe" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/hallway/secondary/entry/starboard) -"aPf" = (/obj/structure/extinguisher_cabinet{pixel_x = 25},/turf/simulated/floor/carpet,/area/engineering/break_room) -"aPg" = (/turf/simulated/floor/carpet,/area/engineering/break_room) +"aPf" = (/obj/machinery/seed_storage/garden,/turf/simulated/floor,/area/hydroponics) +"aPg" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor{icon_state = "grimy"},/area/hydroponics/garden) "aPh" = (/turf/simulated/floor/carpet,/area/hallway/secondary/entry/starboard) "aPi" = (/obj/structure/stool/bed/chair/comfy/beige{dir = 8},/turf/simulated/floor{icon_state = "grimy"},/area/hallway/secondary/entry/starboard) "aPj" = (/obj/machinery/vending/coffee,/turf/simulated/floor{icon_state = "dark"},/area/hallway/secondary/entry/starboard) @@ -2198,7 +2198,7 @@ "aQn" = (/turf/simulated/floor,/area/hydroponics) "aQo" = (/obj/structure/disposalpipe/segment,/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "green"; dir = 4},/area/hydroponics) "aQp" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/hydroponics) -"aQq" = (/obj/structure/stool/bed/chair/comfy/beige,/obj/effect/landmark/start{name = "Station Engineer"},/turf/simulated/floor/carpet,/area/engineering/break_room) +"aQq" = (/obj/item/device/radio/intercom{pixel_x = 28},/obj/machinery/libraryscanner,/turf/simulated/floor/wood,/area/library) "aQr" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/hydroponics) "aQs" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/hydroponics) "aQt" = (/obj/machinery/light_switch{pixel_x = 27},/turf/simulated/floor{icon_state = "green"; dir = 4},/area/hydroponics) @@ -2218,7 +2218,7 @@ "aQH" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/hallway/secondary/entry/port) "aQI" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/hallway/secondary/entry/port) "aQJ" = (/obj/machinery/camera{c_tag = "Arrivals Center"; dir = 4; network = list("SS13")},/obj/structure/extinguisher_cabinet{pixel_x = -24},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/hallway/secondary/entry/port) -"aQK" = (/obj/structure/closet/wardrobe/atmospherics_yellow,/turf/simulated/floor{icon_state = "yellowfull"; dir = 8},/area/crew_quarters/sleep/engi_wash) +"aQK" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hallway/primary/starboard) "aQL" = (/obj/structure/table/woodentable,/turf/simulated/floor/carpet,/area/hallway/secondary/entry/starboard) "aQM" = (/obj/machinery/vending/cola,/turf/simulated/floor{icon_state = "dark"},/area/hallway/secondary/entry/starboard) "aQN" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/turf/simulated/floor,/area/hallway/secondary/entry/starboard) @@ -2262,7 +2262,7 @@ "aRz" = (/obj/machinery/biogenerator,/turf/simulated/floor,/area/hydroponics) "aRA" = (/obj/machinery/seed_extractor,/turf/simulated/floor,/area/hydroponics) "aRB" = (/obj/machinery/vending/hydronutrients,/turf/simulated/floor,/area/hydroponics) -"aRC" = (/obj/structure/closet/wardrobe/engineering_yellow,/turf/simulated/floor{dir = 4; icon_state = "whiteyellowfull"},/area/crew_quarters/sleep/engi_wash) +"aRC" = (/obj/structure/disposalpipe/sortjunction/flipped{dir = 2; sortType = "Library"; name = "Library"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/hallway/primary/starboard) "aRD" = (/obj/structure/disposalpipe/trunk{dir = 1},/obj/machinery/disposal,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor{icon_state = "green"; dir = 4},/area/hydroponics) "aRE" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/hydroponics) "aRF" = (/obj/machinery/vending/hydronutrients,/turf/simulated/floor{icon_state = "green"; dir = 8},/area/hydroponics) @@ -2517,7 +2517,7 @@ "aWu" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) "aWv" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) "aWw" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/airlock/glass{name = "Kitchen"; req_access_txt = "28"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/hydroponics/garden) -"aWx" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/meter,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/library) +"aWx" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/smartfridge/drying_rack,/turf/simulated/floor{dir = 9; icon_state = "green"},/area/hydroponics/garden) "aWy" = (/obj/structure/table/reinforced,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "grimy"},/area/hydroponics/garden) "aWz" = (/obj/structure/stool{pixel_y = 8},/obj/effect/landmark/start{name = "Gardener"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "green"; dir = 8},/area/hydroponics/garden) "aWA" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/hydroponics/garden) @@ -2611,7 +2611,7 @@ "aYk" = (/obj/structure/stool/bed/chair/comfy/black,/turf/simulated/floor/wood,/area/library) "aYl" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/green{pixel_x = 1; pixel_y = 5},/turf/simulated/floor/wood,/area/library) "aYm" = (/obj/effect/landmark/start{name = "Librarian"},/obj/structure/stool/bed/chair/office/dark,/turf/simulated/floor/wood,/area/library) -"aYn" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/maintenance/library) +"aYn" = (/obj/structure/disposalpipe/segment,/obj/machinery/light{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor,/area/hallway/primary/starboard) "aYo" = (/obj/structure/stool,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{dir = 8; icon_state = "chapel"},/area/chapel/main) "aYp" = (/obj/structure/stool,/turf/simulated/floor{icon_state = "chapel"},/area/chapel/main) "aYq" = (/obj/structure/stool,/turf/simulated/floor{dir = 8; icon_state = "chapel"},/area/chapel/main) @@ -2676,7 +2676,7 @@ "aZx" = (/obj/machinery/portable_atmospherics/hydroponics/soil,/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor/grass,/area/hydroponics/garden) "aZy" = (/obj/structure/flora/ausbushes/brflowers,/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/grass,/area/hydroponics/garden) "aZz" = (/turf/simulated/wall,/area/hallway/primary/starboard) -"aZA" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/maintenance/bar) +"aZA" = (/obj/machinery/door_control{id = "Disposal Exit"; name = "Disposal Vent Control"; pixel_x = -25; pixel_y = 4; req_access_txt = "12"},/obj/machinery/button/driver{id = "trash"; pixel_x = -26; pixel_y = -6},/turf/simulated/floor/plating,/area/maintenance/disposal) "aZB" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/carpet,/area/library) "aZC" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/carpet,/area/library) "aZD" = (/obj/structure/table/woodentable,/obj/item/weapon/paper,/turf/simulated/floor/wood,/area/library) @@ -2784,7 +2784,7 @@ "bbB" = (/turf/simulated/floor{icon_state = "green"; dir = 8},/area/hydroponics/garden) "bbC" = (/obj/structure/flora/ausbushes/fernybush,/turf/simulated/floor/grass,/area/hydroponics/garden) "bbD" = (/obj/structure/flora/ausbushes/brflowers,/obj/machinery/camera/autoname{dir = 8},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/grass,/area/hydroponics/garden) -"bbE" = (/obj/structure/disposalpipe/sortjunction{dir = 4; icon_state = "pipe-j1s"; sortType = "Hydroponics"; name = "Hydroponics"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating,/area/maintenance/bar) +"bbE" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/camera{c_tag = "Command Substation"; dir = 2; network = list("SS13","Engineering")},/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Substation - Command"},/turf/simulated/floor/plating,/area/maintenance/substation/command) "bbF" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/hallway/primary/starboard) "bbG" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/airlock/glass{name = "Library"},/turf/simulated/floor/carpet,/area/hallway/primary/starboard) "bbH" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/carpet,/area/library) @@ -2818,7 +2818,7 @@ "bcj" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/maintenance/locker) "bck" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) "bcl" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/power/terminal{dir = 8},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable,/turf/simulated/floor/plating,/area/maintenance/substation/medical) -"bcm" = (/obj/structure/table,/obj/item/bodybag/cryobag{pixel_x = 6},/obj/item/stack/medical/bruise_pack{pixel_x = -4; pixel_y = 3},/obj/item/stack/medical/bruise_pack{pixel_x = -4; pixel_y = 3},/obj/item/stack/medical/ointment{pixel_y = 10},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor{icon_state = "yellowfull"; dir = 8},/area/crew_quarters/sleep/engi_wash) +"bcm" = (/obj/structure/filingcabinet/chestdrawer,/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/turf/simulated/floor{dir = 1; icon_state = "whitered"},/area/assembly/robotics) "bcn" = (/obj/structure/disposalpipe/sortjunction/flipped{dir = 2; sortType = "Robotics"; name = "Robotics"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/maintenance/research_port) "bco" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall,/area/maintenance/locker) "bcp" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall,/area/storage/tools) @@ -2853,11 +2853,11 @@ "bcS" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) "bcT" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/door_control{id = "kitchen"; name = "Kitchen Shutters Control"; pixel_x = -1; pixel_y = -24; req_access_txt = "28"},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) "bcU" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) -"bcV" = (/obj/machinery/light_switch{pixel_x = -22; pixel_y = -10},/turf/simulated/floor/carpet,/area/engineering/break_room) +"bcV" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/turf/simulated/floor{icon_state = "white"},/area/rnd/lab) "bcW" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{dir = 1; icon_state = "green"},/area/hydroponics/garden) "bcX" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/hologram/holopad,/turf/simulated/floor,/area/hydroponics/garden) "bcY" = (/obj/structure/flora/ausbushes,/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/grass,/area/hydroponics/garden) -"bcZ" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Bar\\Library Maintenance"; req_access_txt = "0"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/library) +"bcZ" = (/obj/structure/lattice,/turf/space,/area/shuttle/escape/station) "bda" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/hallway/primary/starboard) "bdb" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/hallway/primary/starboard) "bdc" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/airlock/glass{name = "Library"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/carpet,/area/hallway/primary/starboard) @@ -3402,12 +3402,12 @@ "bnv" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) "bnw" = (/obj/machinery/door/airlock{name = "Medbay Substation"; req_access_txt = "5"},/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/substation/medical) "bnx" = (/obj/machinery/door/blast/regular{id = "mixvent"; name = "Mixer Room Vent"},/turf/simulated/floor/engine/vacuum,/area/rnd/mixing) -"bny" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/turf/simulated/floor/plating,/area/maintenance/bar) +"bny" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/cable/cyan,/turf/simulated/floor/plating,/area/turret_protected/ai_upload) "bnz" = (/obj/machinery/computer/rdconsole/robotics,/obj/machinery/alarm{pixel_y = 25},/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) "bnA" = (/obj/structure/table,/obj/item/weapon/book/manual/robotics_cyborgs{pixel_x = 2; pixel_y = 5},/obj/item/weapon/storage/belt/utility,/obj/machinery/requests_console{department = "Robotics"; departmentType = 2; name = "Robotics RC"; pixel_y = 30},/obj/machinery/light{dir = 1},/obj/item/weapon/storage/belt/utility,/obj/item/weapon/reagent_containers/glass/beaker/large,/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) "bnB" = (/obj/machinery/r_n_d/circuit_imprinter,/obj/item/weapon/reagent_containers/glass/beaker/sulphuric,/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) -"bnC" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/crew_quarters/fitness) -"bnD" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "solar_chapel_airlock"; name = "interior access button"; pixel_x = 25; pixel_y = 25; req_access_txt = "13"},/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/obj/effect/decal/cleanable/dirt,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating{dir = 1; icon_state = "warnplate"; nitrogen = 82.1472; oxygen = 21.8366},/area/maintenance/auxsolarstarboard) +"bnC" = (/obj/structure/stool/bed/chair/office/dark{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/door_control{desc = "A remote control-switch for shutters."; id = "hop_office_desk"; name = "Desk Privacy Shutter"; pixel_x = 16; pixel_y = 28},/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/crew_quarters/heads/hop) +"bnD" = (/obj/structure/table/woodentable,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/obj/item/weapon/storage/box/matches,/obj/item/clothing/mask/smokable/cigarette/cigar,/obj/item/weapon/reagent_containers/food/drinks/flask{pixel_x = 8},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/carpet,/area/crew_quarters/captain) "bnE" = (/obj/machinery/door/firedoor,/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/blast/shutters{density = 0; dir = 4; icon_state = "shutter0"; id = "scanhideside"; name = "Diagnostics Room Privacy Shutters"; opacity = 0},/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/medbay4) "bnF" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/rnd/research) "bnG" = (/obj/machinery/autolathe,/turf/simulated/floor{icon_state = "white"},/area/rnd/lab) @@ -3422,7 +3422,7 @@ "bnP" = (/obj/structure/closet/emcloset,/obj/machinery/camera{c_tag = "Arrivals Auxiliary Docking South"; dir = 4; network = list("SS13")},/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/hallway/secondary/entry/aft) "bnQ" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor,/area/hallway/secondary/entry/aft) "bnR" = (/obj/machinery/conveyor{dir = 1; id = "garbage"},/obj/structure/sign/vacuum{pixel_x = -32},/turf/simulated/floor/plating,/area/maintenance/disposal) -"bnS" = (/obj/structure/stool/bed/chair/comfy/beige{dir = 8},/obj/effect/landmark/start{name = "Atmospheric Technician"},/turf/simulated/floor/carpet,/area/engineering/break_room) +"bnS" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/structure/extinguisher_cabinet{pixel_x = -5; pixel_y = 28},/turf/simulated/floor{icon_state = "bot"},/area/rnd/research) "bnT" = (/obj/machinery/conveyor_switch/oneway{convdir = -1; id = "garbage"; name = "disposal coveyor"},/turf/simulated/floor/plating,/area/maintenance/disposal) "bnU" = (/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor/plating,/area/maintenance/disposal) "bnV" = (/obj/effect/decal/cleanable/blood/oil,/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/maintenance/disposal) @@ -3444,7 +3444,7 @@ "bol" = (/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/turf/simulated/floor{icon_state = "bluecorner"},/area/hallway/primary/central_one) "bom" = (/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/maintenance/substation/command) "bon" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/terminal{dir = 4},/turf/simulated/floor/plating,/area/maintenance/substation/command) -"boo" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/turf/simulated/floor/carpet,/area/engineering/break_room) +"boo" = (/obj/structure/grille,/obj/structure/cable/green,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/window/reinforced/polarized{dir = 4},/obj/structure/window/reinforced/polarized{dir = 1},/obj/structure/window/reinforced/polarized{dir = 8},/turf/simulated/floor/plating,/area/crew_quarters/heads/hop) "bop" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/command{name = "Electrical Maintenance"; req_access = null; req_access_txt = "19"},/turf/simulated/floor/plating,/area/maintenance/substation/command) "boq" = (/obj/machinery/camera{c_tag = "Engineering Washroom"; dir = 1; network = list("SS13")},/obj/machinery/light,/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/sleep/engi_wash) "bor" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/plating,/area/maintenance/substation/command) @@ -3470,7 +3470,7 @@ "boL" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) "boM" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) "boN" = (/obj/structure/stool/bed/chair/office/dark{dir = 4},/obj/effect/landmark/start{name = "Chemist"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor{dir = 4; icon_state = "whiteyellow"},/area/medical/chemistry) -"boO" = (/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "psych"; name = "Mental Health Privacy Shutters"; opacity = 0},/obj/structure/window/reinforced/polarized,/obj/structure/window/reinforced/polarized{dir = 1},/obj/structure/window/reinforced/polarized{dir = 4},/turf/simulated/floor/plating,/area/medical/medbay4) +"boO" = (/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Substation - Medical"},/obj/structure/cable/green,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/maintenance/substation/medical) "boP" = (/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/medical/reception) "boQ" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor{icon_state = "white"},/area/medical/reception) "boR" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/reception) @@ -3503,7 +3503,7 @@ "bps" = (/obj/machinery/camera{c_tag = "Robotics"; dir = 2; network = list("SS13","Research"); pixel_x = 22},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor{dir = 4; icon_state = "whiteredcorner"},/area/assembly/robotics) "bpt" = (/turf/simulated/floor{dir = 1; icon_state = "whitered"},/area/assembly/robotics) "bpu" = (/obj/structure/stool,/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor{dir = 1; icon_state = "whitered"},/area/assembly/robotics) -"bpv" = (/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "psych"; name = "Mental Health Privacy Shutters"; opacity = 0},/obj/structure/window/reinforced/polarized,/obj/structure/window/reinforced/polarized{dir = 8},/obj/structure/window/reinforced/polarized{dir = 1},/turf/simulated/floor/plating,/area/medical/medbay4) +"bpv" = (/obj/structure/grille,/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = -32},/obj/structure/cable/green,/obj/structure/window/reinforced/polarized,/obj/structure/window/reinforced/polarized{dir = 4},/obj/structure/window/reinforced/polarized{dir = 8},/turf/simulated/floor/plating,/area/crew_quarters/heads/hop) "bpw" = (/obj/machinery/door/airlock/research{name = "Research Division Access"; req_access_txt = "47"},/turf/simulated/floor{icon_state = "white"},/area/hallway/primary/starboard) "bpx" = (/obj/structure/sign/securearea,/turf/simulated/wall,/area/hallway/primary/starboard) "bpy" = (/obj/structure/table,/obj/item/stack/sheet/glass{amount = 50; pixel_x = 3; pixel_y = 3},/obj/item/stack/sheet/metal{amount = 50},/obj/item/clothing/glasses/welding,/turf/simulated/floor{dir = 1; icon_state = "whitepurple"},/area/rnd/lab) @@ -3572,7 +3572,7 @@ "bqJ" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) "bqK" = (/obj/machinery/camera{c_tag = "Common Brig Northwest"; dir = 4; network = list("SS13","Prison")},/obj/machinery/computer/arcade,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/security/prison) "bqL" = (/turf/simulated/wall/r_wall,/area/medical/chemistry) -"bqM" = (/obj/machinery/door/airlock/engineering{name = "Engineering Supplies"; req_one_access_txt = "10;24;5"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "yellowfull"; dir = 8},/area/engineering/break_room) +"bqM" = (/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = -5; pixel_y = -22},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/extinguisher_cabinet{pixel_x = 6; pixel_y = -29},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) "bqN" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/medical/reception) "bqO" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/medical/reception) "bqP" = (/turf/simulated/floor{dir = 4; icon_state = "whiteblue_ex"; tag = "icon-whiteblue (EAST)"},/area/medical/reception) @@ -3601,7 +3601,7 @@ "brm" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/lab) "brn" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor{icon_state = "white"},/area/rnd/lab) "bro" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/lab) -"brp" = (/obj/structure/grille,/obj/structure/window/reinforced/polarized{id = "isoC_window_tint"},/obj/structure/window/reinforced/polarized{dir = 4; id = "isoC_window_tint"},/obj/structure/window/reinforced/polarized{dir = 1; id = "isoC_window_tint"},/obj/structure/window/reinforced/polarized{dir = 8; id = "isoC_window_tint"},/turf/simulated/floor/plating,/area/medical/patient_c) +"brp" = (/obj/structure/stool/bed/chair/office/dark{dir = 4},/obj/effect/landmark/start{name = "Head of Personnel"},/obj/machinery/door_control{desc = "A remote control-switch for shutters."; id = "hop_office_desk"; name = "Desk Privacy Shutter"; pixel_x = 26; pixel_y = 17},/obj/machinery/button/windowtint{pixel_x = 36; pixel_y = 18},/turf/simulated/floor,/area/crew_quarters/heads/hop) "brq" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/storage/emergency) "brr" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/storage/emergency) "brs" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/hallway/secondary/entry/aft) @@ -3823,7 +3823,7 @@ "bvA" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/crew_quarters/heads/hop) "bvB" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor,/area/crew_quarters/heads/hop) "bvC" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload_foyer) -"bvD" = (/obj/structure/grille,/obj/structure/window/reinforced/polarized{id = "isoB_window_tint"},/obj/structure/window/reinforced/polarized{dir = 4; id = "isoB_window_tint"},/obj/structure/window/reinforced/polarized{dir = 1; id = "isoB_window_tint"},/obj/structure/window/reinforced/polarized{dir = 8; id = "isoB_window_tint"},/turf/simulated/floor/plating,/area/medical/patient_b) +"bvD" = (/obj/structure/table/reinforced,/obj/machinery/door/window/eastright{dir = 1; name = "Emergency Kit"; req_access_txt = "5"},/obj/machinery/door/firedoor,/turf/simulated/floor{dir = 1; icon_state = "whiteyellow"},/area/medical/sleeper) "bvE" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/cyan{d2 = 4; icon_state = "0-4"},/obj/structure/cable/cyan{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload_foyer) "bvF" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/structure/cable/cyan{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/cyan{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload_foyer) "bvG" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/maintenance/substation/command) @@ -3831,7 +3831,7 @@ "bvI" = (/obj/structure/table,/obj/item/weapon/aiModule/nanotrasen,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload) "bvJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload) "bvK" = (/obj/machinery/hologram/holopad,/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload) -"bvL" = (/obj/machinery/atmospherics/pipe/simple/visible{icon_state = "intact"; dir = 6},/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/medical/sleeper) +"bvL" = (/obj/structure/table/rack,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/clothing/accessory/stethoscope,/obj/item/clothing/accessory/stethoscope,/obj/item/clothing/accessory/stethoscope,/obj/item/clothing/accessory/stethoscope,/obj/machinery/camera{c_tag = "Medbay Equipment Storage"; dir = 1},/obj/item/clothing/accessory/stethoscope,/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 0; pixel_y = -22},/turf/simulated/floor{dir = 2; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay3) "bvM" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload) "bvN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload) "bvO" = (/obj/structure/table,/obj/item/weapon/aiModule/freeform,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload) @@ -3847,7 +3847,7 @@ "bvY" = (/obj/machinery/smartfridge/secure/medbay,/turf/simulated/wall,/area/medical/chemistry) "bvZ" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{name = "Chemistry Laboratory"; req_access_txt = "33"},/obj/structure/sign/chemistry{pixel_x = 32},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) "bwa" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/shutters{density = 0; dir = 4; icon_state = "shutter0"; id = "scanhideside"; name = "Diagnostics Room Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/medbay4) -"bwb" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/medical/sleeper) +"bwb" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "0"; req_one_access_txt = "12;47"},/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/maintenance/research_shuttle) "bwc" = (/obj/machinery/door/window/eastright{base_state = "left"; dir = 8; icon_state = "left"; name = "Medical Reception"; req_access_txt = "5"},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor,/area/medical/reception) "bwd" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor,/area/medical/reception) "bwe" = (/turf/simulated/floor,/area/medical/reception) @@ -3905,7 +3905,7 @@ "bxe" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "loadingarea"},/area/hallway/primary/central_three) "bxf" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor{icon_state = "delivery"},/area/hallway/primary/central_three) "bxg" = (/obj/machinery/door/firedoor,/obj/machinery/door/blast/shutters{density = 0; dir = 4; icon_state = "shutter0"; id = "scanhideside"; name = "Diagnostics Room Privacy Shutters"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/medbay4) -"bxh" = (/obj/structure/grille,/obj/structure/window/reinforced/polarized{id = "isoA_window_tint"},/obj/structure/window/reinforced/polarized{dir = 4; id = "isoA_window_tint"},/obj/structure/window/reinforced/polarized{dir = 1; id = "isoA_window_tint"},/obj/structure/window/reinforced/polarized{dir = 8; id = "isoA_window_tint"},/turf/simulated/floor/plating,/area/medical/patient_a) +"bxh" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "0"; req_one_access_txt = "12;47"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/maintenance/research_shuttle) "bxi" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/carpet,/area/crew_quarters/heads/hop) "bxj" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/carpet,/area/crew_quarters/heads/hop) "bxk" = (/turf/simulated/floor/carpet,/area/crew_quarters/heads/hop) @@ -3918,7 +3918,7 @@ "bxr" = (/turf/simulated/wall/r_wall,/area/turret_protected/ai_upload) "bxs" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor,/area/maintenance/substation/command) "bxt" = (/obj/structure/stool/bed/chair/comfy/brown{dir = 4},/obj/machinery/camera{c_tag = "Captain's Quarters"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/carpet,/area/crew_quarters/captain) -"bxu" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/carpet,/area/engineering/break_room) +"bxu" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) "bxv" = (/obj/machinery/door/window/eastright{base_state = "left"; dir = 1; icon_state = "left"; name = "Shower"; req_access_txt = "0"},/obj/machinery/shower{icon_state = "shower"; dir = 4},/obj/item/weapon/soap/deluxe,/obj/item/weapon/bikehorn/rubberducky,/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/captain) "bxw" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/hallway/primary/central_two) "bxx" = (/obj/structure/table,/obj/item/weapon/packageWrap,/obj/item/weapon/hand_labeler,/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor{dir = 1; icon_state = "whiteyellowcorner"},/area/medical/chemistry) @@ -3944,7 +3944,7 @@ "bxR" = (/obj/machinery/light{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/turf/simulated/floor{dir = 1; icon_state = "whitecorner"},/area/medical/medbay2) "bxS" = (/obj/machinery/vending/medical,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) "bxT" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "toxin_test_airlock"; name = "exterior access button"; pixel_x = -20; pixel_y = -20; req_access_txt = "13"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating/airless,/area/space) -"bxU" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "whiteyellowfull"},/area/crew_quarters/sleep/engi_wash) +"bxU" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) "bxV" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/research_port) "bxW" = (/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor{icon_state = "white"},/area/rnd/misc_lab) "bxX" = (/obj/structure/extinguisher_cabinet{pixel_x = -27},/obj/machinery/light{dir = 8},/turf/simulated/floor/bluegrid,/area/assembly/chargebay) @@ -4091,7 +4091,7 @@ "bAI" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) "bAJ" = (/obj/machinery/door/firedoor,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) "bAK" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) -"bAL" = (/obj/machinery/meter,/obj/machinery/door_control{id = "mixvent"; name = "Mixing Room Vent Control"; pixel_x = -25; pixel_y = 5; req_access_txt = "7"},/obj/machinery/button/ignition{id = "mixingsparker"; pixel_x = -25; pixel_y = -5},/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/structure/extinguisher_cabinet{pixel_x = 0; pixel_y = -29},/turf/simulated/floor{dir = 4; icon_state = "warnwhitecorner"},/area/rnd/mixing) +"bAL" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "acute1"; name = "EMT Storage Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/sleeper) "bAM" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor{dir = 2; icon_state = "whitepurplecorner"},/area/medical/medbay2) "bAN" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{dir = 2; icon_state = "whitepurple"},/area/medical/medbay2) "bAO" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{dir = 8; icon_state = "whitepurplecorner"},/area/medical/medbay2) @@ -4184,7 +4184,7 @@ "bCx" = (/turf/simulated/floor{icon_state = "white"},/area/rnd/research) "bCy" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/rnd/research) "bCz" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/turf/simulated/floor{icon_state = "white"},/area/rnd/research) -"bCA" = (/obj/structure/table/reinforced,/obj/machinery/door/window/eastright{dir = 1; name = "Emergency Kit"; req_access_txt = "5"},/obj/machinery/door/firedoor,/turf/simulated/floor{dir = 1; icon_state = "whiteyellow"},/area/medical/sleeper) +"bCA" = (/obj/machinery/door/firedoor,/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "acute1"; name = "EMT Storage Privacy Shutters"; opacity = 0},/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/sleeper) "bCB" = (/obj/machinery/navbeacon{codes_txt = "delivery;dir=8"; freq = 1400; location = "Research Division"},/obj/structure/plasticflaps{opacity = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor{icon_state = "bot"},/area/rnd/research) "bCC" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/rnd/docking) "bCD" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/rnd/docking) @@ -4206,7 +4206,7 @@ "bCT" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "bluecorner"},/area/hallway/primary/central_three) "bCU" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor{icon_state = "bot"},/area/hallway/primary/central_three) "bCV" = (/obj/machinery/keycard_auth{pixel_x = -24; pixel_y = 0},/obj/machinery/account_database,/turf/simulated/floor{dir = 9; icon_state = "blue"},/area/crew_quarters/heads/hop) -"bCW" = (/obj/structure/grille,/obj/structure/window/reinforced/polarized{dir = 4; id = "isoA_window_tint"},/obj/structure/window/reinforced/polarized{id = "isoA_window_tint"},/obj/structure/window/reinforced/polarized{dir = 1; id = "isoA_window_tint"},/obj/structure/window/reinforced/polarized{dir = 8; id = "isoA_window_tint"},/turf/simulated/floor/plating,/area/medical/patient_a) +"bCW" = (/obj/structure/extinguisher_cabinet{pixel_x = -25},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics_cloning) "bCX" = (/obj/structure/table,/obj/item/weapon/folder/blue,/obj/item/weapon/stamp/hop,/obj/item/device/eftpos{eftpos_name = "HoP EFTPOS scanner"},/turf/simulated/floor,/area/crew_quarters/heads/hop) "bCY" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor,/area/crew_quarters/heads/hop) "bCZ" = (/obj/machinery/computer/message_monitor,/obj/machinery/light/small{dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_server_room) @@ -4214,7 +4214,7 @@ "bDb" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_server_room) "bDc" = (/obj/machinery/door/airlock/highsecurity{name = "Messaging Server"; req_access_txt = "30"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_server_room) "bDd" = (/obj/item/device/radio/intercom{broadcasting = 1; frequency = 1447; name = "Private AI Channel"; pixel_x = -12; pixel_y = 20},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/turretid/stun{control_area = "\improper AI Upload Chamber"; name = "AI Upload turret control"; pixel_x = 6; pixel_y = 24},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload_foyer) -"bDe" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = -20; pixel_y = 22},/turf/simulated/floor{icon_state = "yellowfull"; dir = 8},/area/crew_quarters/sleep/engi_wash) +"bDe" = (/turf/simulated/floor/mech_bay_recharge_floor,/area/medical/sleeper) "bDf" = (/obj/machinery/door_control{id = "engineering_cubicle"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = -25; pixel_y = 8; req_access_txt = "0"; specialfunctions = 4},/obj/structure/toilet{dir = 1},/obj/machinery/light/small{dir = 4},/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/sleep/engi_wash) "bDg" = (/obj/machinery/door/airlock/highsecurity{name = "Cyborg Station"; req_access_txt = "16"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_cyborg_station) "bDh" = (/obj/effect/landmark/start{name = "Cyborg"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_cyborg_station) @@ -4230,7 +4230,7 @@ "bDr" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor,/area/hallway/primary/central_two) "bDs" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/sign/redcross{desc = "The Star of Life, a symbol of Medical Aid."; icon_state = "lifestar"; name = "Medbay"; pixel_x = 32},/turf/simulated/floor,/area/hallway/primary/central_two) "bDt" = (/turf/simulated/wall,/area/medical/sleeper) -"bDu" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) +"bDu" = (/obj/machinery/mech_bay_recharge_port,/obj/structure/sign/poster{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/plating,/area/medical/sleeper) "bDv" = (/obj/structure/closet/secure_closet/medical_wall{name = "Pill Cabinet"},/obj/item/weapon/storage/pill_bottle/antitox,/obj/item/weapon/storage/pill_bottle/tramadol,/obj/item/weapon/reagent_containers/syringe/antiviral,/obj/item/weapon/reagent_containers/syringe/antiviral,/obj/item/weapon/reagent_containers/syringe/inaprovaline,/turf/simulated/wall,/area/medical/sleeper) "bDw" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{name = "Medicine Storage"; req_access_txt = "5"},/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) "bDx" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/medical/sleeper) @@ -4238,7 +4238,7 @@ "bDz" = (/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) "bDA" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/medical/medbay) "bDB" = (/obj/structure/table,/obj/item/clothing/suit/straight_jacket,/obj/item/clothing/mask/muzzle,/obj/machinery/light,/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/turf/simulated/floor{tag = "icon-whiteblue (SOUTHWEST)"; icon_state = "whiteblue"; dir = 10},/area/medical/medbay3) -"bDC" = (/obj/structure/table/rack,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/clothing/accessory/stethoscope,/obj/item/clothing/accessory/stethoscope,/obj/item/clothing/accessory/stethoscope,/obj/item/clothing/accessory/stethoscope,/obj/machinery/camera{c_tag = "Medbay Equipment Storage"; dir = 1},/obj/item/clothing/accessory/stethoscope,/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 0; pixel_y = -22},/turf/simulated/floor{dir = 2; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay3) +"bDC" = (/obj/machinery/computer/mech_bay_power_console,/turf/simulated/floor/bluegrid,/area/medical/sleeper) "bDD" = (/obj/structure/table,/obj/machinery/light,/obj/item/weapon/storage/box/gloves{pixel_x = 4; pixel_y = 4},/obj/item/weapon/storage/box/masks{pixel_y = 0},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor{tag = "icon-whiteblue (SOUTHEAST)"; icon_state = "whiteblue"; dir = 6},/area/medical/medbay3) "bDE" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/medical/medbay2) "bDF" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) @@ -4255,7 +4255,7 @@ "bDQ" = (/obj/item/weapon/table_parts,/turf/simulated/floor/plating,/area/medical/genetics) "bDR" = (/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor/plating,/area/medical/genetics) "bDS" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "cmooffice"; name = "CMO Office Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/medbay2) -"bDT" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) +"bDT" = (/obj/machinery/vending/medical,/turf/simulated/wall,/area/medical/medbay) "bDU" = (/obj/structure/sign/securearea,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall/r_wall,/area/rnd/research) "bDV" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "cmooffice"; name = "CMO Office Privacy Shutters"; opacity = 0},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/medical/medbay3) "bDW" = (/obj/machinery/light{dir = 1},/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 32},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 8; name = "hazard door west"},/turf/simulated/floor{dir = 8; icon_state = "whiteblue"},/area/rnd/research) @@ -4273,8 +4273,8 @@ "bEi" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/rnd/research) "bEj" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/rnd/research) "bEk" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/rnd/research) -"bEl" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/extinguisher_cabinet{pixel_x = 5; pixel_y = -29},/turf/simulated/floor{icon_state = "white"},/area/rnd/misc_lab) -"bEm" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/turf/simulated/floor{icon_state = "white"},/area/medical/patient_wing) +"bEl" = (/obj/machinery/door_control{id = "acute1"; name = "EMT Storage Privacy Shutters"; pixel_x = 26; pixel_y = 25; req_access_txt = "5"},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) +"bEm" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{dir = 4; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay) "bEn" = (/turf/simulated/wall,/area/maintenance/research_shuttle) "bEo" = (/turf/simulated/floor{icon_state = "white"},/area/rnd/docking) "bEp" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{dir = 4; icon_state = "whitebluecorner"},/area/rnd/docking) @@ -4347,7 +4347,7 @@ "bFE" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/plating,/area/medical/genetics) "bFF" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/research{name = "Genetics Research"; req_access_txt = "9"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics) "bFG" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; external_pressure_bound = 0; external_pressure_bound_default = 0; icon_state = "map_vent_in"; initialize_directions = 1; internal_pressure_bound = 4000; internal_pressure_bound_default = 4000; use_power = 1; pressure_checks = 2; pressure_checks_default = 2; pump_direction = 0},/turf/simulated/floor/bluegrid{name = "Server Base"; nitrogen = 500; oxygen = 0; temperature = 80},/area/server) -"bFH" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "acute1"; name = "EMT Storage Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/sleeper) +"bFH" = (/obj/structure/table/rack,/obj/item/weapon/crowbar,/obj/item/weapon/crowbar,/obj/item/weapon/storage/toolbox/mechanical,/obj/machinery/vending/wallmed1{pixel_x = -32; pixel_y = 0; req_access_txt = "0"},/obj/item/roller,/obj/item/roller,/obj/item/roller,/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) "bFI" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/structure/window/reinforced,/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "cmooffice"; name = "CMO Office Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/medbay) "bFJ" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 8; name = "hazard door west"},/turf/simulated/floor{dir = 8; icon_state = "whiteblue"},/area/rnd/research) "bFK" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor{icon_state = "white"},/area/rnd/research) @@ -4399,7 +4399,7 @@ "bGE" = (/obj/machinery/door/airlock/multi_tile/glass{autoclose = 1; dir = 2; req_access_txt = "5"},/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/medical/sleeper) "bGF" = (/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) "bGG" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) -"bGH" = (/obj/machinery/door/firedoor,/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "acute1"; name = "EMT Storage Privacy Shutters"; opacity = 0},/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/sleeper) +"bGH" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{autoclose = 1; name = "EMT Storage"; req_access_txt = "5"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/medbay) "bGI" = (/obj/machinery/door/firedoor,/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) "bGJ" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) "bGK" = (/obj/structure/disposalpipe/sortjunction/flipped{dir = 1; sortType = "Chemistry"; name = "Chemistry"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "whitebluecorner"; tag = "icon-whitebluecorner"},/area/medical/medbay) @@ -4459,7 +4459,7 @@ "bHM" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/camera{c_tag = "Central Primary Hallway South South-West"; dir = 2},/turf/simulated/floor,/area/hallway/primary/central_three) "bHN" = (/obj/machinery/ai_status_display{pixel_y = 32},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/hallway/primary/central_three) "bHO" = (/obj/structure/sign/securearea{pixel_y = 32},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "warningcorner"; dir = 8},/area/hallway/primary/central_three) -"bHP" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor{icon_state = "yellowfull"; dir = 8},/area/crew_quarters/sleep/engi_wash) +"bHP" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) "bHQ" = (/obj/structure/sign/securearea{pixel_y = 32},/turf/simulated/floor{icon_state = "warningcorner"; dir = 4},/area/hallway/primary/central_three) "bHR" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor,/area/hallway/primary/central_three) "bHS" = (/obj/machinery/camera{c_tag = "Central Primary Hallway South South-East"; dir = 2},/turf/simulated/floor,/area/hallway/primary/central_three) @@ -4534,7 +4534,7 @@ "bJj" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "hazard door west"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/hallway/primary/central_three) "bJk" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor,/area/hallway/primary/central_three) "bJl" = (/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=AftH"; location = "AIW"},/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/hallway/primary/central_three) -"bJm" = (/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/obj/machinery/light,/obj/machinery/camera{c_tag = "Engineering Supplies"; dir = 1; network = list("SS13")},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "whiteyellowfull"},/area/crew_quarters/sleep/engi_wash) +"bJm" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay) "bJn" = (/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=CHE"; location = "AIE"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/hallway/primary/central_three) "bJo" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor,/area/hallway/primary/central_three) "bJp" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor,/area/hallway/primary/central_three) @@ -4545,12 +4545,12 @@ "bJu" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/turf/simulated/floor,/area/hallway/primary/central_two) "bJv" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/hallway/primary/central_two) "bJw" = (/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=HOP"; location = "CHE"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor,/area/hallway/primary/central_two) -"bJx" = (/turf/simulated/floor/mech_bay_recharge_floor,/area/medical/sleeper) -"bJy" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor,/area/medical/sleeper) +"bJx" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "white_1"},/area/medical/medbay) +"bJy" = (/obj/structure/stool{pixel_y = 8},/obj/effect/landmark/start{name = "Paramedic"},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) "bJz" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 4; icon_state = "shutter0"; id = "cmooffice"; name = "CMO Office Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/medbay2) "bJA" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay) "bJB" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "cmooffice"; name = "CMO Office Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/medbay) -"bJC" = (/obj/machinery/computer/mech_bay_power_console,/turf/simulated/floor/bluegrid,/area/medical/sleeper) +"bJC" = (/obj/structure/closet/secure_closet/medical1,/obj/item/device/radio/intercom{broadcasting = 0; canhear_range = 5; freerange = 0; frequency = 1485; listening = 1; name = "Station Intercom (Medbay)"; pixel_x = 0; pixel_y = -31},/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/device/flashlight,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) "bJD" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/command{id_tag = "cmodoor"; name = "CMO's Office"; req_access_txt = "40"},/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/heads/cmo) "bJE" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "cmooffice"; name = "CMO Office Privacy Shutters"; opacity = 0},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/medical/medbay4) "bJF" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "cmooffice"; name = "CMO Office Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/medbay4) @@ -4625,11 +4625,11 @@ "bKW" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/turf/simulated/floor,/area/hallway/primary/central_two) "bKX" = (/obj/machinery/light,/turf/simulated/floor,/area/hallway/primary/central_two) "bKY" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor,/area/hallway/primary/central_two) -"bKZ" = (/obj/machinery/vending/medical,/turf/simulated/wall,/area/medical/medbay) -"bLa" = (/obj/machinery/door_control{id = "acute1"; name = "EMT Storage Privacy Shutters"; pixel_x = 26; pixel_y = 25; req_access_txt = "5"},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) +"bKZ" = (/obj/structure/table,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/structure/closet/fireaxecabinet{pixel_x = 32; pixel_y = 0},/obj/item/weapon/storage/toolbox/emergency,/obj/item/bodybag/cryobag{pixel_x = 6},/obj/item/bodybag/cryobag{pixel_x = 6},/obj/item/bodybag/cryobag{pixel_x = 6},/obj/item/device/radio{frequency = 1487; name = "Medbay Emergency Radio Link"},/obj/machinery/door_control{id = "acutesep"; name = "Acute Separation Shutters"; pixel_y = -25; req_access_txt = "5"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/camera{c_tag = "EMT Storage"; dir = 1; network = list("SS13")},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) +"bLa" = (/obj/item/device/radio/intercom{freerange = 1; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 28},/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{dir = 4; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay) "bLb" = (/obj/machinery/sleep_console,/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) "bLc" = (/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "scanhide"; name = "Diagnostics Room Separation Shutters"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/sleeper) -"bLd" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{dir = 4; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay) +"bLd" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "acutesep"; name = "Acute Separation Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/sleeper) "bLe" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{dir = 4; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay) "bLf" = (/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "scanhide"; name = "Diagnostics Room Separation Shutters"; opacity = 0},/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/sleeper) "bLg" = (/obj/machinery/light{dir = 1},/obj/structure/filingcabinet/chestdrawer{dir = 1},/turf/simulated/floor{tag = "icon-whiteblue (NORTHWEST)"; icon_state = "whiteblue"; dir = 9},/area/crew_quarters/heads/cmo) @@ -4696,12 +4696,12 @@ "bMp" = (/obj/machinery/door/airlock{name = "Custodial Closet"; req_access_txt = "26"},/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/hallway/primary/central_three) "bMq" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hallway/primary/central_two) "bMr" = (/obj/machinery/vending/cigarette,/turf/simulated/floor{icon_state = "dark"},/area/hallway/primary/central_two) -"bMs" = (/obj/structure/table/rack,/obj/item/weapon/crowbar,/obj/item/weapon/crowbar,/obj/item/weapon/storage/toolbox/mechanical,/obj/machinery/vending/wallmed1{pixel_x = -32; pixel_y = 0; req_access_txt = "0"},/obj/item/roller,/obj/item/roller,/obj/item/roller,/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) -"bMt" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{autoclose = 1; name = "EMT Storage"; req_access_txt = "5"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/medbay) -"bMu" = (/obj/structure/stool{pixel_y = 8},/obj/effect/landmark/start{name = "Paramedic"},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) -"bMv" = (/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor,/area/medical/sleeper) -"bMw" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) -"bMx" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay) +"bMs" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{autoclose = 1; name = "EMT Storage"; req_access_txt = "5"},/obj/machinery/light_switch{pixel_x = 22; pixel_y = 0},/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/sleeper) +"bMt" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "acutesep"; name = "Acute Separation Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/sleeper) +"bMu" = (/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/obj/machinery/sleeper,/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/sleeper) +"bMv" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{autoclose = 0; name = "Acute Treatment"; req_access_txt = "5"},/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/medbay) +"bMw" = (/obj/machinery/door_control{id = "acutesep"; name = "Acute Separation Shutters"; pixel_y = 25; req_access_txt = "5"},/obj/machinery/camera{c_tag = "Medbay Acute"; network = list("SS13")},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) +"bMx" = (/obj/machinery/button/driver{dir = 2; id = "toxinsdriver"; pixel_y = 24},/turf/simulated/floor,/area/rnd/mixing) "bMy" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/structure/table,/obj/machinery/photocopier/faxmachine{department = "CMO's Office"},/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/crew_quarters/heads/cmo) "bMz" = (/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/heads/cmo) "bMA" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/heads/cmo) @@ -4779,8 +4779,8 @@ "bNU" = (/turf/simulated/wall,/area/maintenance/engineering) "bNV" = (/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/structure/closet/secure_closet/medical_wall{name = "O- Blood Locker"},/turf/simulated/wall,/area/medical/sleeper) "bNW" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "misclab"; name = "Test Chamber Blast Doors"; opacity = 0},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor{icon_state = "white"},/area/rnd/misc_lab) -"bNX" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/table,/obj/item/weapon/clipboard,/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 0; pixel_y = -36},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/button/windowtint{id = "isoC_window_tint"; pixel_y = -26},/turf/simulated/floor{dir = 6; icon_state = "whitered"},/area/medical/patient_c) -"bNY" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "white_1"},/area/medical/medbay) +"bNX" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/structure/stool/bed/roller,/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/sleeper) +"bNY" = (/obj/machinery/door/firedoor,/obj/machinery/door/blast/shutters{density = 0; dir = 4; icon_state = "shutter0"; id = "acute2"; name = "Acute Two Privacy Shutters"; opacity = 0},/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/medical/medbay) "bNZ" = (/obj/machinery/hologram/holopad,/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) "bOa" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) "bOb" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/command{name = "CMO's Office"; req_access_txt = "40"},/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/heads/cmo) @@ -4860,8 +4860,8 @@ "bPx" = (/turf/simulated/floor/plating,/area/maintenance/engineering) "bPy" = (/obj/structure/table/rack{dir = 1},/obj/item/clothing/suit/fire/firefighter,/obj/item/weapon/tank/oxygen,/obj/item/clothing/mask/gas,/obj/item/weapon/extinguisher,/obj/item/clothing/head/hardhat/red,/obj/item/clothing/glasses/meson,/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor/plating,/area/maintenance/engineering) "bPz" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) -"bPA" = (/obj/structure/table/woodentable,/obj/machinery/light_switch{pixel_x = -4},/obj/machinery/button/windowtint{pixel_x = 3},/turf/simulated/floor/wood,/area/medical/psych) -"bPB" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "acutesep"; name = "Acute Separation Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/sleeper) +"bPA" = (/obj/structure/stool/bed,/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) +"bPB" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/table,/obj/item/weapon/clipboard,/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 0; pixel_y = 36},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/button/windowtint{id = "isoA_window_tint"; pixel_y = 26},/turf/simulated/floor{dir = 5; icon_state = "whitered"},/area/medical/patient_a) "bPC" = (/obj/machinery/camera{c_tag = "Medbay Port Corridor"; dir = 8; network = list("SS13")},/obj/structure/disposalpipe/segment,/obj/machinery/light_switch{pixel_x = 22; pixel_y = -9},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{dir = 4; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay) "bPD" = (/obj/machinery/camera{c_tag = "Medbay CMO Office"; dir = 4; network = list("SS13")},/obj/machinery/light_switch{pixel_x = -22; pixel_y = -9},/obj/machinery/requests_console{announcementConsole = 1; department = "Chief Medical Officer's Desk"; departmentType = 5; name = "Chief Medical Officer RC"; pixel_x = -34; pixel_y = 2},/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/crew_quarters/heads/cmo) "bPE" = (/obj/structure/table,/obj/machinery/computer/skills{pixel_y = 4},/obj/item/device/megaphone,/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/heads/cmo) @@ -4894,7 +4894,7 @@ "bQf" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "floorgrime"},/area/rnd/mixing) "bQg" = (/obj/machinery/light/small{dir = 4},/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/turf/simulated/floor{icon_state = "warningcorner"; dir = 2},/area/rnd/mixing) "bQh" = (/obj/item/device/radio/intercom{pixel_y = 25},/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor,/area/rnd/mixing) -"bQi" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/engineering/foyer) +"bQi" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/table,/obj/item/weapon/clipboard,/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 0; pixel_y = 36},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/button/windowtint{id = "isoB_window_tint"; pixel_y = 26},/turf/simulated/floor{dir = 5; icon_state = "whitered"},/area/medical/patient_b) "bQj" = (/obj/structure/stool/bed/chair{dir = 4},/obj/machinery/computer/security/telescreen{desc = "Used for watching the test chamber."; layer = 4; name = "Test Chamber Telescreen"; network = list("Toxins Test Area"); pixel_x = 32; pixel_y = 0},/turf/simulated/floor,/area/rnd/mixing) "bQk" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/rnd/mixing) "bQl" = (/turf/simulated/floor/airless{dir = 9; icon_state = "warning"},/area/rnd/test_area) @@ -4933,7 +4933,7 @@ "bQS" = (/obj/effect/decal/cleanable/cobweb,/obj/effect/decal/cleanable/generic,/turf/simulated/floor/plating,/area/maintenance/engineering) "bQT" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/mob/living/simple_animal/mouse,/turf/simulated/floor/plating,/area/maintenance/engineering) "bQU" = (/obj/structure/closet,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/maintenance/engineering) -"bQV" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{autoclose = 1; name = "EMT Storage"; req_access_txt = "5"},/obj/machinery/light_switch{pixel_x = 22; pixel_y = 0},/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/sleeper) +"bQV" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) "bQW" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "misclab"; name = "Test Chamber Blast Doors"; opacity = 0},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/engine,/area/rnd/misc_lab) "bQX" = (/turf/simulated/floor{icon_state = "white_2"},/area/medical/medbay) "bQY" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 4; frequency = 1441; icon_state = "map_injector"; id = "n2_in"; use_power = 1},/turf/simulated/floor/engine,/area/rnd/misc_lab) @@ -4946,11 +4946,11 @@ "bRf" = (/obj/machinery/computer/crew,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/medbreak) "bRg" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/structure/closet/secure_closet/personal/patient,/turf/simulated/floor{dir = 9; icon_state = "whitered"},/area/medical/patient_a) "bRh" = (/obj/machinery/light{dir = 1},/obj/machinery/newscaster{pixel_y = 32},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/hologram/holopad,/turf/simulated/floor{dir = 1; icon_state = "whitered"},/area/medical/patient_a) -"bRi" = (/obj/structure/closet/secure_closet/medical1,/obj/item/device/radio/intercom{broadcasting = 0; canhear_range = 5; freerange = 0; frequency = 1485; listening = 1; name = "Station Intercom (Medbay)"; pixel_x = 0; pixel_y = -31},/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/device/flashlight,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) +"bRi" = (/obj/machinery/sleeper,/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/sleeper) "bRj" = (/turf/simulated/wall,/area/medical/patient_a) "bRk" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/structure/closet/secure_closet/personal/patient,/turf/simulated/floor{dir = 9; icon_state = "whitered"},/area/medical/patient_b) "bRl" = (/obj/machinery/light{dir = 1},/obj/machinery/newscaster{pixel_y = 32},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/hologram/holopad,/turf/simulated/floor{dir = 1; icon_state = "whitered"},/area/medical/patient_b) -"bRm" = (/obj/structure/table,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/structure/closet/fireaxecabinet{pixel_x = 32; pixel_y = 0},/obj/item/weapon/storage/toolbox/emergency,/obj/item/bodybag/cryobag{pixel_x = 6},/obj/item/bodybag/cryobag{pixel_x = 6},/obj/item/bodybag/cryobag{pixel_x = 6},/obj/item/device/radio{frequency = 1487; name = "Medbay Emergency Radio Link"},/obj/machinery/door_control{id = "acutesep"; name = "Acute Separation Shutters"; pixel_y = -25; req_access_txt = "5"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/camera{c_tag = "EMT Storage"; dir = 1; network = list("SS13")},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) +"bRm" = (/obj/machinery/door/firedoor,/obj/machinery/door/blast/shutters{density = 0; dir = 4; icon_state = "shutter0"; id = "acute2"; name = "Acute Two Privacy Shutters"; opacity = 0},/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/medical/medbay) "bRn" = (/turf/simulated/wall,/area/medical/patient_b) "bRo" = (/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor/engine,/area/rnd/misc_lab) "bRp" = (/obj/structure/table,/obj/item/device/assembly/igniter,/turf/simulated/floor/engine,/area/rnd/misc_lab) @@ -5003,7 +5003,7 @@ "bSk" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/maintenance/engineering) "bSl" = (/obj/structure/table,/obj/item/device/t_scanner,/turf/simulated/floor/plating,/area/maintenance/engineering) "bSm" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) -"bSn" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "acutesep"; name = "Acute Separation Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/sleeper) +"bSn" = (/obj/machinery/door_control{id = "scanhide"; name = "Diagnostics Room Separation Shutters"; pixel_x = -6; pixel_y = -25; req_access_txt = "5"},/obj/machinery/iv_drip,/obj/machinery/door_control{id = "acute2"; name = "Acute Treatment Privacy Shutters"; pixel_x = 6; pixel_y = -25; req_access_txt = "5"},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) "bSo" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) "bSp" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "staffroom"; name = "Staff Room Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/medbay2) "bSq" = (/obj/machinery/light,/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/turf/simulated/floor{dir = 10; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/crew_quarters/heads/cmo) @@ -5065,7 +5065,7 @@ "bTu" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/circuitboard/powermonitor{pixel_x = -2; pixel_y = 2},/obj/item/weapon/circuitboard/stationalert{pixel_x = 1; pixel_y = -1},/obj/item/weapon/circuitboard/security/engineering,/obj/item/weapon/circuitboard/atmos_alert{pixel_x = 3; pixel_y = -3},/turf/simulated/floor/plating,/area/storage/tech) "bTv" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/circuitboard/secure_data{pixel_x = -2; pixel_y = 2},/obj/item/weapon/circuitboard/security{pixel_x = 1; pixel_y = -1},/obj/item/weapon/circuitboard/skills{pixel_x = 4; pixel_y = -3},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/storage/tech) "bTw" = (/obj/machinery/light_switch{pixel_x = 27},/turf/simulated/floor/plating,/area/storage/tech) -"bTx" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/engineering/foyer) +"bTx" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor{dir = 8; icon_state = "cautioncorner"},/area/hallway/primary/aft) "bTy" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/hallway/primary/aft) "bTz" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft) "bTA" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hallway/primary/aft) @@ -5080,10 +5080,10 @@ "bTJ" = (/turf/simulated/wall,/area/medical/medbay4) "bTK" = (/obj/machinery/door/firedoor,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay4) "bTL" = (/obj/machinery/door/firedoor,/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{dir = 4; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay4) -"bTM" = (/obj/machinery/mech_bay_recharge_port,/obj/structure/sign/poster{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/plating,/area/medical/sleeper) -"bTN" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) +"bTM" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor,/area/hallway/primary/aft) +"bTN" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft) "bTO" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/command{name = "CMO's Office"; req_access_txt = "40"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay4) -"bTP" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/extinguisher_cabinet{pixel_x = 25; pixel_y = 0},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay4) +"bTP" = (/turf/simulated/wall,/area/engineering/break_room) "bTQ" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{icon_state = "bot"},/area/rnd/research) "bTR" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/medical/medbay4) "bTS" = (/obj/machinery/door/firedoor,/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay4) @@ -5098,7 +5098,7 @@ "bUb" = (/obj/structure/table/reinforced,/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/noticeboard{pixel_y = 27},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "hop_office_desk"; name = "HoP Office Privacy Shutters"; opacity = 0},/obj/machinery/door/window/northleft{dir = 8; icon_state = "left"; name = "Reception Window"; req_access_txt = "0"},/obj/machinery/door/window/brigdoor{base_state = "rightsecure"; dir = 4; icon_state = "rightsecure"; name = "Head of Personnel's Desk"; req_access_txt = "57"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/crew_quarters/heads/hop) "bUc" = (/obj/machinery/atmospherics/unary/freezer{dir = 2; icon_state = "freezer_1"; use_power = 1; power_setting = 20; set_temperature = 73},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{icon_state = "dark"},/area/server) "bUd" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; icon_state = "map_vent_out"; use_power = 1},/turf/simulated/floor/bluegrid{name = "Server Base"; nitrogen = 500; oxygen = 0; temperature = 80},/area/server) -"bUe" = (/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/obj/machinery/sleeper,/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/sleeper) +"bUe" = (/obj/machinery/atmospherics/pipe/simple/visible{icon_state = "intact"; dir = 6},/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/medical/sleeper) "bUf" = (/obj/structure/sign/science{pixel_x = 32},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor{icon_state = "white"},/area/rnd/research) "bUg" = (/turf/simulated/wall,/area/rnd/misc_lab) "bUh" = (/obj/machinery/light_switch{pixel_y = -23},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor{icon_state = "floorgrime"},/area/rnd/storage) @@ -5125,8 +5125,8 @@ "bUC" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/storage/tech) "bUD" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{dir = 8; icon_state = "yellowcorner"},/area/hallway/primary/aft) "bUE" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/hallway/primary/aft) -"bUF" = (/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor{dir = 2; icon_state = "yellowpatch"},/area/engineering/foyer) -"bUG" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/engineering/foyer) +"bUF" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/medical/sleeper) +"bUG" = (/obj/structure/grille,/obj/structure/window/reinforced/polarized{id = "isoA_window_tint"},/obj/structure/window/reinforced/polarized{dir = 4; id = "isoA_window_tint"},/obj/structure/window/reinforced/polarized{dir = 1; id = "isoA_window_tint"},/obj/structure/window/reinforced/polarized{dir = 8; id = "isoA_window_tint"},/turf/simulated/floor/plating,/area/medical/patient_a) "bUH" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/maintenance/engineering) "bUI" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/maintenance/engineering) "bUJ" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/plating,/area/maintenance/engineering) @@ -5134,8 +5134,8 @@ "bUL" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/maintenance/engineering) "bUM" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/plating,/area/maintenance/engineering) "bUN" = (/obj/machinery/atmospherics/unary/cryo_cell,/turf/simulated/floor{icon_state = "red"; dir = 9},/area/medical/sleeper) -"bUO" = (/obj/machinery/door_control{id = "acutesep"; name = "Acute Separation Shutters"; pixel_y = 25; req_access_txt = "5"},/obj/machinery/camera{c_tag = "Medbay Acute"; network = list("SS13")},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) -"bUP" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/table,/obj/item/weapon/clipboard,/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 0; pixel_y = 36},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/button/windowtint{id = "isoB_window_tint"; pixel_y = 26},/turf/simulated/floor{dir = 5; icon_state = "whitered"},/area/medical/patient_b) +"bUO" = (/obj/structure/grille,/obj/structure/window/reinforced/polarized{dir = 4; id = "isoA_window_tint"},/obj/structure/window/reinforced/polarized{id = "isoA_window_tint"},/obj/structure/window/reinforced/polarized{dir = 1; id = "isoA_window_tint"},/obj/structure/window/reinforced/polarized{dir = 8; id = "isoA_window_tint"},/turf/simulated/floor/plating,/area/medical/patient_a) +"bUP" = (/obj/structure/grille,/obj/structure/window/reinforced/polarized{id = "isoB_window_tint"},/obj/structure/window/reinforced/polarized{dir = 4; id = "isoB_window_tint"},/obj/structure/window/reinforced/polarized{dir = 1; id = "isoB_window_tint"},/obj/structure/window/reinforced/polarized{dir = 8; id = "isoB_window_tint"},/turf/simulated/floor/plating,/area/medical/patient_b) "bUQ" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/medical/sleeper) "bUR" = (/obj/machinery/door_control{id = "scanhide"; name = "Diagnostics Room Separation Shutters"; pixel_x = -6; pixel_y = 25; req_access_txt = "5"},/obj/machinery/camera{c_tag = "Medbay Scanning"; network = list("SS13")},/obj/machinery/atmospherics/unary/freezer{dir = 8; icon_state = "freezer"},/obj/machinery/door_control{id = "scanhideside"; name = "Diagnostics Room Privacy Shutters"; pixel_x = 6; pixel_y = 25; req_access_txt = "5"},/turf/simulated/floor{icon_state = "delivery"},/area/medical/sleeper) "bUS" = (/obj/structure/disposalpipe/segment,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor{icon_state = "white"},/area/rnd/research) @@ -5200,18 +5200,18 @@ "bVZ" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/storage/toolbox/electrical{pixel_x = 1; pixel_y = -1},/obj/item/device/multitool,/obj/item/clothing/glasses/meson,/turf/simulated/floor/plating,/area/storage/tech) "bWa" = (/obj/machinery/door/airlock/glass{name = "Central Access"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{dir = 8; icon_state = "yellowcorner"},/area/hallway/primary/aft) "bWb" = (/obj/machinery/door/airlock/glass{name = "Central Access"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/hallway/primary/aft) -"bWc" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/engineering/break_room) -"bWd" = (/obj/structure/table/woodentable,/obj/item/weapon/book/manual/supermatter_engine{pixel_x = -3},/turf/simulated/floor/carpet,/area/engineering/break_room) -"bWe" = (/obj/structure/stool/bed/chair/comfy/beige{tag = "icon-comfychair (EAST)"; icon_state = "comfychair"; dir = 4},/obj/effect/landmark/start{name = "Station Engineer"},/turf/simulated/floor/carpet,/area/engineering/break_room) -"bWf" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/crew_quarters/heads/chief) -"bWg" = (/obj/machinery/atm{pixel_y = 28},/turf/simulated/floor{dir = 4; icon_state = "yellowpatch"},/area/engineering/foyer) -"bWh" = (/obj/structure/table/reinforced,/obj/machinery/button/ignition{id = "Xenobio"; pixel_x = -6; pixel_y = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/misc_lab) -"bWi" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft) +"bWc" = (/obj/structure/table/reinforced,/obj/machinery/button/ignition{id = "Xenobio"; pixel_x = -6; pixel_y = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/misc_lab) +"bWd" = (/obj/machinery/vending/cigarette,/turf/simulated/floor/carpet,/area/engineering/break_room) +"bWe" = (/obj/structure/table/woodentable,/obj/item/weapon/dice,/turf/simulated/floor/carpet,/area/engineering/break_room) +"bWf" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/green,/turf/simulated/floor/carpet,/area/engineering/break_room) +"bWg" = (/obj/structure/table/woodentable,/obj/item/weapon/book/manual/engineering_guide{pixel_x = 3; pixel_y = 2},/obj/item/weapon/book/manual/atmospipes,/obj/machinery/light{dir = 1},/turf/simulated/floor/carpet,/area/engineering/break_room) +"bWh" = (/obj/structure/table/woodentable,/obj/item/weapon/book/manual/engineering_construction,/obj/item/weapon/book/manual/evaguide{pixel_x = -2; pixel_y = 7},/turf/simulated/floor/carpet,/area/engineering/break_room) +"bWi" = (/obj/structure/bookcase/manuals/engineering,/turf/simulated/floor/carpet,/area/engineering/break_room) "bWj" = (/obj/machinery/navbeacon{codes_txt = "delivery;dir=4"; freq = 1400; location = "Medbay"},/obj/structure/plasticflaps{opacity = 1},/turf/simulated/floor{icon_state = "bot"},/area/medical/sleeper) "bWk" = (/obj/machinery/door/window/eastleft{name = "Medical Delivery"; req_access_txt = "5"},/obj/machinery/door/firedoor,/turf/simulated/floor{icon_state = "delivery"},/area/medical/sleeper) "bWl" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 8},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/medical/sleeper) -"bWm" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/table,/obj/item/weapon/clipboard,/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 0; pixel_y = 36},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/button/windowtint{id = "isoA_window_tint"; pixel_y = 26},/turf/simulated/floor{dir = 5; icon_state = "whitered"},/area/medical/patient_a) -"bWn" = (/obj/structure/grille,/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = -32},/obj/structure/cable/green,/obj/structure/window/reinforced/polarized,/obj/structure/window/reinforced/polarized{dir = 4},/obj/structure/window/reinforced/polarized{dir = 8},/turf/simulated/floor/plating,/area/crew_quarters/heads/hop) +"bWm" = (/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor,/area/medical/sleeper) +"bWn" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor,/area/medical/sleeper) "bWo" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor,/area/medical/sleeper) "bWp" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor,/area/medical/sleeper) "bWq" = (/obj/machinery/door/blast/shutters{dir = 2; id = "qm_warehouse"; name = "Warehouse Shutters"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/quartermaster/storage) @@ -5270,13 +5270,13 @@ "bXr" = (/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod_berth{frequency = 1380; id_tag = "escape_pod_5_berth"; pixel_x = -25; pixel_y = 25; tag_door = "escape_pod_5_berth_hatch"},/turf/simulated/floor/plating,/area/maintenance/cargo) "bXs" = (/obj/structure/disposalpipe/segment,/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/cargo) "bXt" = (/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment,/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft) -"bXu" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor,/area/hallway/primary/aft) -"bXv" = (/obj/structure/table/woodentable,/obj/item/weapon/book/manual/engineering_guide{pixel_x = 3; pixel_y = 2},/obj/item/weapon/book/manual/atmospipes,/obj/machinery/light{dir = 1},/turf/simulated/floor/carpet,/area/engineering/break_room) -"bXw" = (/obj/structure/table/woodentable,/obj/item/weapon/book/manual/engineering_construction,/obj/item/weapon/book/manual/evaguide{pixel_x = -2; pixel_y = 7},/turf/simulated/floor/carpet,/area/engineering/break_room) -"bXx" = (/obj/structure/bookcase/manuals/engineering,/turf/simulated/floor/carpet,/area/engineering/break_room) -"bXy" = (/obj/machinery/vending/cigarette,/turf/simulated/floor/carpet,/area/engineering/break_room) -"bXz" = (/obj/structure/table/woodentable,/obj/item/weapon/dice,/turf/simulated/floor/carpet,/area/engineering/break_room) -"bXA" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/green,/turf/simulated/floor/carpet,/area/engineering/break_room) +"bXu" = (/obj/machinery/light_switch{pixel_x = -22; pixel_y = -10},/turf/simulated/floor/carpet,/area/engineering/break_room) +"bXv" = (/obj/structure/stool/bed/chair/comfy/beige,/obj/effect/landmark/start{name = "Station Engineer"},/turf/simulated/floor/carpet,/area/engineering/break_room) +"bXw" = (/turf/simulated/floor/carpet,/area/engineering/break_room) +"bXx" = (/obj/structure/extinguisher_cabinet{pixel_x = 25},/turf/simulated/floor/carpet,/area/engineering/break_room) +"bXy" = (/obj/structure/closet/wardrobe/engineering_yellow,/turf/simulated/floor{dir = 4; icon_state = "whiteyellowfull"},/area/crew_quarters/sleep/engi_wash) +"bXz" = (/obj/structure/table,/obj/item/bodybag/cryobag{pixel_x = 6},/obj/item/stack/medical/bruise_pack{pixel_x = -4; pixel_y = 3},/obj/item/stack/medical/bruise_pack{pixel_x = -4; pixel_y = 3},/obj/item/stack/medical/ointment{pixel_y = 10},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor{icon_state = "yellowfull"; dir = 8},/area/crew_quarters/sleep/engi_wash) +"bXA" = (/obj/structure/closet/wardrobe/atmospherics_yellow,/turf/simulated/floor{icon_state = "yellowfull"; dir = 8},/area/crew_quarters/sleep/engi_wash) "bXB" = (/obj/structure/sign/redcross{desc = "The Star of Life, a symbol of Medical Aid."; icon_state = "lifestar"; name = "Medbay"; pixel_x = 32},/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/engineering) "bXC" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor,/area/medical/sleeper) "bXD" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor{dir = 2; icon_state = "redcorner"},/area/medical/sleeper) @@ -5306,7 +5306,7 @@ "bYb" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/research_port) "bYc" = (/turf/simulated/wall,/area/maintenance/substation/research) "bYd" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/research_port) -"bYe" = (/turf/simulated/floor/plating/airless,/area/maintenance/atmos_control) +"bYe" = (/obj/machinery/meter,/obj/machinery/door_control{id = "mixvent"; name = "Mixing Room Vent Control"; pixel_x = -25; pixel_y = 5; req_access_txt = "7"},/obj/machinery/button/ignition{id = "mixingsparker"; pixel_x = -25; pixel_y = -5},/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/structure/extinguisher_cabinet{pixel_x = 0; pixel_y = -29},/turf/simulated/floor{dir = 4; icon_state = "warnwhitecorner"},/area/rnd/mixing) "bYf" = (/turf/simulated/wall,/area/maintenance/research_port) "bYg" = (/obj/structure/sign/redcross{desc = "The Star of Life, a symbol of Medical Aid."; icon_state = "lifestar"; name = "Medbay"; pixel_x = -32},/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/research_port) "bYh" = (/obj/machinery/atmospherics/binary/pump{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/rnd/misc_lab) @@ -5326,7 +5326,7 @@ "bYv" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor{icon_state = "white"},/area/rnd/research) "bYw" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/obj/machinery/door/window/eastright{dir = 8; name = "Chemistry Desk"; req_access_txt = "33"},/obj/machinery/door/blast/shutters{density = 0; dir = 4; icon_state = "shutter0"; id = "chemcounter"; name = "Pharmacy Counter Shutters"; opacity = 0},/obj/structure/table/reinforced,/turf/simulated/floor{icon_state = "yellowfull"; dir = 8},/area/medical/chemistry) "bYx" = (/obj/structure/sign/fire{pixel_y = -32},/obj/machinery/atmospherics/pipe/simple/hidden/cyan,/obj/machinery/atmospherics/binary/pump{dir = 8},/turf/simulated/floor/engine,/area/rnd/mixing) -"bYy" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "eng_eva_outer"; locked = 1; name = "Engineering EVA External Access"; req_access = null; req_access_txt = "13"},/turf/simulated/floor/airless{icon_state = "circuit"},/area/maintenance/atmos_control) +"bYy" = (/obj/machinery/atm{pixel_y = 28},/turf/simulated/floor{dir = 4; icon_state = "yellowpatch"},/area/engineering/foyer) "bYz" = (/obj/machinery/atmospherics/valve{dir = 4},/obj/machinery/light,/obj/structure/extinguisher_cabinet{pixel_x = 0; pixel_y = -29},/turf/simulated/floor{dir = 4; icon_state = "warnwhite"},/area/rnd/mixing) "bYA" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/rnd/mixing) "bYB" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 6; icon_state = "intact"; tag = "icon-intact-f (SOUTHEAST)"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 9},/area/maintenance/research_starboard) @@ -5344,23 +5344,23 @@ "bYN" = (/obj/structure/table/reinforced,/obj/machinery/light{dir = 1},/obj/machinery/light_switch{pixel_x = 0; pixel_y = 27},/obj/machinery/computer/skills{icon_state = "medlaptop"},/turf/simulated/floor,/area/crew_quarters/heads/chief) "bYO" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor,/area/crew_quarters/heads/chief) "bYP" = (/obj/machinery/alarm{pixel_y = 23},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor,/area/crew_quarters/heads/chief) -"bYQ" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1379; id_tag = "eng_eva_pump"},/obj/machinery/camera{c_tag = "Engineering EVA Airlock"; dir = 1},/turf/simulated/floor{dir = 6; icon_state = "floorgrimecaution"},/area/maintenance/atmos_control) -"bYR" = (/obj/machinery/light/small,/turf/simulated/floor{dir = 10; icon_state = "floorgrimecaution"},/area/maintenance/atmos_control) -"bYS" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/atmos_control) -"bYT" = (/obj/structure/disposalpipe/segment,/obj/structure/extinguisher_cabinet{pixel_x = 25},/turf/simulated/floor/plating,/area/maintenance/atmos_control) -"bYU" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "eng_eva_inner"; locked = 1; name = "Engineering EVA Internal Access"; req_access = null; req_access_txt = "13"},/turf/simulated/floor/plating,/area/maintenance/atmos_control) -"bYV" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "floorgrimecaution"},/area/maintenance/atmos_control) -"bYW" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/cable/green,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/crew_quarters/heads/chief) -"bYX" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "yellowcorner"},/area/engineering/foyer) -"bYY" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/engineering/foyer) -"bYZ" = (/obj/structure/disposalpipe/sortjunction/flipped{dir = 2; name = "Engineering Break Room"; sortType = "Engineering Break Room"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering/foyer) -"bZa" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering/foyer) -"bZb" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/turf/simulated/floor,/area/engineering/foyer) -"bZc" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/carpet,/area/engineering/break_room) -"bZd" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/carpet,/area/engineering/break_room) -"bZe" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/carpet,/area/engineering/break_room) -"bZf" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/airlock/glass_engineering{name = "Engineering Break Room"; req_one_access_txt = "10;24;5"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering/break_room) -"bZg" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/engineering{name = "Engineering Washroom"; req_one_access_txt = "10;24;5"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering/break_room) +"bYQ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/crew_quarters/heads/chief) +"bYR" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/engineering/foyer) +"bYS" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/engineering/foyer) +"bYT" = (/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor{dir = 2; icon_state = "yellowpatch"},/area/engineering/foyer) +"bYU" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/engineering/foyer) +"bYV" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/engineering/break_room) +"bYW" = (/obj/structure/table/woodentable,/obj/item/weapon/book/manual/supermatter_engine{pixel_x = -3},/turf/simulated/floor/carpet,/area/engineering/break_room) +"bYX" = (/obj/structure/stool/bed/chair/comfy/beige{tag = "icon-comfychair (EAST)"; icon_state = "comfychair"; dir = 4},/obj/effect/landmark/start{name = "Station Engineer"},/turf/simulated/floor/carpet,/area/engineering/break_room) +"bYY" = (/obj/structure/stool/bed/chair/comfy/beige{dir = 8},/obj/effect/landmark/start{name = "Atmospheric Technician"},/turf/simulated/floor/carpet,/area/engineering/break_room) +"bYZ" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/turf/simulated/floor/carpet,/area/engineering/break_room) +"bZa" = (/obj/machinery/door/airlock/engineering{name = "Engineering Supplies"; req_one_access_txt = "10;24;5"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "yellowfull"; dir = 8},/area/engineering/break_room) +"bZb" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/carpet,/area/engineering/break_room) +"bZc" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "whiteyellowfull"},/area/crew_quarters/sleep/engi_wash) +"bZd" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = -20; pixel_y = 22},/turf/simulated/floor{icon_state = "yellowfull"; dir = 8},/area/crew_quarters/sleep/engi_wash) +"bZe" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor{icon_state = "yellowfull"; dir = 8},/area/crew_quarters/sleep/engi_wash) +"bZf" = (/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/obj/machinery/light,/obj/machinery/camera{c_tag = "Engineering Supplies"; dir = 1; network = list("SS13")},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "whiteyellowfull"},/area/crew_quarters/sleep/engi_wash) +"bZg" = (/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "psych"; name = "Mental Health Privacy Shutters"; opacity = 0},/obj/structure/window/reinforced/polarized,/obj/structure/window/reinforced/polarized{dir = 8},/obj/structure/window/reinforced/polarized{dir = 1},/turf/simulated/floor/plating,/area/medical/medbay4) "bZh" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/maintenance/engineering) "bZi" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance{name = "Medbay Diagnostics Maintenance Access"; req_access_txt = "5"},/turf/simulated/floor/plating,/area/medical/sleeper) "bZj" = (/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor,/area/medical/sleeper) @@ -5399,29 +5399,29 @@ "bZQ" = (/obj/machinery/atmospherics/pipe/manifold/hidden/cyan{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/obj/machinery/meter,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 10},/area/maintenance/research_starboard) "bZR" = (/obj/machinery/atmospherics/pipe/tank/air{dir = 8},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/maintenance/research_starboard) "bZS" = (/obj/structure/lattice,/obj/structure/grille{density = 0; icon_state = "brokengrille"},/turf/space,/area/space) -"bZT" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/carpet,/area/engineering/break_room) -"bZU" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/carpet,/area/engineering/break_room) -"bZV" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/carpet,/area/engineering/break_room) -"bZW" = (/obj/item/clothing/mask/smokable/cigarette,/turf/simulated/floor/plating/airless,/area/rnd/test_area) -"bZX" = (/obj/machinery/seed_storage/xenobotany,/turf/simulated/floor{icon_state = "hydrofloor"},/area/rnd/xenobiology/xenoflora) +"bZT" = (/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "psych"; name = "Mental Health Privacy Shutters"; opacity = 0},/obj/structure/window/reinforced/polarized,/obj/structure/window/reinforced/polarized{dir = 1},/obj/structure/window/reinforced/polarized{dir = 4},/turf/simulated/floor/plating,/area/medical/medbay4) +"bZU" = (/obj/structure/grille,/obj/structure/window/reinforced/polarized{id = "isoC_window_tint"},/obj/structure/window/reinforced/polarized{dir = 4; id = "isoC_window_tint"},/obj/structure/window/reinforced/polarized{dir = 1; id = "isoC_window_tint"},/obj/structure/window/reinforced/polarized{dir = 8; id = "isoC_window_tint"},/turf/simulated/floor/plating,/area/medical/patient_c) +"bZV" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/extinguisher_cabinet{pixel_x = 5; pixel_y = -29},/turf/simulated/floor{icon_state = "white"},/area/rnd/misc_lab) +"bZW" = (/turf/simulated/wall/r_wall,/area/maintenance/atmos_control) +"bZX" = (/turf/simulated/wall,/area/maintenance/atmos_control) "bZY" = (/obj/structure/table/reinforced,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd,/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/crew_quarters/heads/chief) "bZZ" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/crew_quarters/heads/chief) -"caa" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/engineering/foyer) +"caa" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/wall,/area/maintenance/atmos_control) "cab" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor,/area/crew_quarters/heads/chief) "cac" = (/obj/structure/stool/bed/chair/office/light{dir = 4},/obj/effect/landmark/start{name = "Chief Engineer"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/crew_quarters/heads/chief) "cad" = (/obj/structure/table/reinforced,/obj/item/weapon/folder/yellow,/obj/item/weapon/stamp/ce,/obj/item/weapon/pen,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/flame/lighter/zippo,/obj/item/device/megaphone,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/crew_quarters/heads/chief) "cae" = (/obj/structure/stool/bed/chair{dir = 8},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor,/area/crew_quarters/heads/chief) "caf" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor,/area/crew_quarters/heads/chief) -"cag" = (/obj/structure/stool/bed/chair/office/dark,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/engineering/break_room) -"cah" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/engineering/break_room) -"cai" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/engineering/break_room) -"caj" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/engineering/break_room) -"cak" = (/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/engineering/break_room) -"cal" = (/obj/structure/noticeboard{pixel_x = 32; pixel_y = 0},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/engineering/break_room) -"cam" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/maintenance/atmos_control) -"can" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/disposalpipe/segment,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/maintenance/atmos_control) -"cao" = (/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/crew_quarters/heads/chief) -"cap" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/crew_quarters/heads/chief) +"cag" = (/obj/machinery/space_heater,/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/atmos_control) +"cah" = (/obj/structure/disposalpipe/segment,/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/atmos_control) +"cai" = (/obj/machinery/button/driver{id = "enginecore"; name = "Emergency Core Eject"; pixel_x = -20; pixel_y = 0},/obj/structure/window/basic{dir = 4},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/heads/chief) +"caj" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "yellowcorner"},/area/engineering/foyer) +"cak" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_command{name = "Chief Engineer"; req_access_txt = "56"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/crew_quarters/heads/chief) +"cal" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor,/area/engineering/foyer) +"cam" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering/foyer) +"can" = (/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/engineering/foyer) +"cao" = (/obj/structure/disposalpipe/sortjunction{sortType = "CE Office"; name = "CE Office"},/turf/simulated/floor,/area/engineering/foyer) +"cap" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/engineering/break_room) "caq" = (/turf/simulated/wall,/area/crew_quarters/sleep/engi_wash) "car" = (/obj/item/weapon/cigbutt,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/engineering) "cas" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/floor{icon_state = "delivery"},/area/medical/sleeper) @@ -5441,7 +5441,7 @@ "caG" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/green,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood,/area/medical/psych) "caH" = (/obj/structure/table/woodentable,/obj/machinery/computer/med_data/laptop,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/wood,/area/medical/psych) "caI" = (/turf/simulated/wall,/area/medical/psych) -"caJ" = (/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = -5; pixel_y = -22},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/extinguisher_cabinet{pixel_x = 6; pixel_y = -29},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) +"caJ" = (/obj/structure/table/woodentable,/obj/item/weapon/folder/yellow,/turf/simulated/floor/carpet,/area/engineering/break_room) "caK" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor{icon_state = "dark"},/area/medical/biostorage) "caL" = (/obj/structure/table,/obj/item/weapon/storage/box/lights/mixed,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 0; pixel_y = 22},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/medical/biostorage) "caM" = (/obj/structure/table,/obj/machinery/computer/med_data/laptop,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor{dir = 9; icon_state = "whitered"},/area/medical/patient_c) @@ -5466,15 +5466,15 @@ "cbf" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/research_starboard) "cbg" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/research_starboard) "cbh" = (/obj/effect/decal/cleanable/spiderling_remains,/obj/machinery/atmospherics/valve,/turf/simulated/floor/plating,/area/maintenance/research_starboard) -"cbi" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced,/obj/structure/cable/green,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/crew_quarters/heads/chief) -"cbj" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor{dir = 8; icon_state = "yellowcorner"},/area/engineering/foyer) -"cbk" = (/obj/structure/disposalpipe/segment,/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/atmos_control) -"cbl" = (/obj/machinery/space_heater,/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/atmos_control) -"cbm" = (/turf/simulated/wall,/area/maintenance/atmos_control) -"cbn" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_command{name = "Chief Engineer"; req_access_txt = "56"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/crew_quarters/heads/chief) -"cbo" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "yellowcorner"},/area/engineering/foyer) -"cbp" = (/obj/machinery/button/driver{id = "enginecore"; name = "Emergency Core Eject"; pixel_x = -20; pixel_y = 0},/obj/structure/window/basic{dir = 4},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/heads/chief) -"cbq" = (/obj/structure/table/woodentable,/obj/item/weapon/folder/yellow,/turf/simulated/floor/carpet,/area/engineering/break_room) +"cbi" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/snacks/chips,/turf/simulated/floor/carpet,/area/engineering/break_room) +"cbj" = (/obj/machinery/newscaster{pixel_x = 28; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/carpet,/area/engineering/break_room) +"cbk" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/turf/simulated/floor{icon_state = "white"},/area/medical/patient_wing) +"cbl" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating/airless,/area/maintenance/atmos_control) +"cbm" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "eng_eva_outer"; locked = 1; name = "Engineering EVA External Access"; req_access = null; req_access_txt = "13"},/turf/simulated/floor/airless{icon_state = "circuit"},/area/maintenance/atmos_control) +"cbn" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "eng_eva_airlock"; name = "exterior access button"; pixel_x = 0; pixel_y = 25; req_access_txt = "13"},/turf/simulated/floor/plating/airless,/area/maintenance/atmos_control) +"cbo" = (/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "eng_eva_pump"; tag_exterior_door = "eng_eva_outer"; frequency = 1379; id_tag = "eng_eva_airlock"; tag_interior_door = "eng_eva_inner"; name = "Engineering Airlock Console"; pixel_y = 25; req_access_txt = "13"; tag_chamber_sensor = "eng_eva_sensor"},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/turf/simulated/floor{dir = 5; icon_state = "floorgrimecaution"},/area/maintenance/atmos_control) +"cbp" = (/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "eng_eva_sensor"; pixel_x = 0; pixel_y = 25},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1379; id_tag = "eng_eva_pump"},/turf/simulated/floor{dir = 9; icon_state = "floorgrimecaution"},/area/maintenance/atmos_control) +"cbq" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "eng_eva_airlock"; name = "interior access button"; pixel_x = 0; pixel_y = 25; req_access_txt = "13"},/turf/simulated/floor{dir = 8; icon_state = "floorgrimecaution"},/area/maintenance/atmos_control) "cbr" = (/obj/structure/closet/secure_closet/engineering_chief{req_access_txt = "0"},/obj/item/weapon/tank/emergency_oxygen/engi,/turf/simulated/floor,/area/crew_quarters/heads/chief) "cbs" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/crew_quarters/heads/chief) "cbt" = (/obj/machinery/keycard_auth{pixel_x = -24; pixel_y = 0},/obj/machinery/door_control{desc = "A remote control-switch for engine core."; id = "EngineVent"; name = "Engine Ventillatory Control"; pixel_x = -24; pixel_y = 10; req_access_txt = "10"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door_control{desc = "A remote control-switch for the engine core airlock hatch bolts."; id = "engine_access_hatch"; name = "Engine Hatch Bolt Control"; normaldoorcontrol = 1; pixel_x = -24; pixel_y = -10; req_access_txt = "10"; specialfunctions = 4},/turf/simulated/floor,/area/crew_quarters/heads/chief) @@ -5482,25 +5482,25 @@ "cbv" = (/obj/structure/table/reinforced,/obj/item/weapon/clipboard,/obj/item/clothing/glasses/meson{pixel_y = 4},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/clothing/glasses/welding/superior,/obj/item/weapon/storage/fancy/cigarettes,/obj/item/weapon/book/manual/supermatter_engine,/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/crew_quarters/heads/chief) "cbw" = (/obj/machinery/hologram/holopad,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/crew_quarters/heads/chief) "cbx" = (/obj/structure/disposalpipe/segment,/obj/machinery/firealarm{dir = 4; layer = 3.3; pixel_x = 26},/turf/simulated/floor,/area/crew_quarters/heads/chief) -"cby" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/engineering/break_room) -"cbz" = (/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/engineering/foyer) -"cbA" = (/obj/structure/disposalpipe/sortjunction{sortType = "CE Office"; name = "CE Office"},/turf/simulated/floor,/area/engineering/foyer) -"cbB" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor,/area/engineering/foyer) -"cbC" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering/foyer) -"cbD" = (/obj/machinery/newscaster{pixel_x = 28; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/carpet,/area/engineering/break_room) -"cbE" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/snacks/chips,/turf/simulated/floor/carpet,/area/engineering/break_room) +"cby" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "eng_eva_inner"; locked = 1; name = "Engineering EVA Internal Access"; req_access = null; req_access_txt = "13"},/turf/simulated/floor/plating,/area/maintenance/atmos_control) +"cbz" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/light/small{dir = 4},/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/atmos_control) +"cbA" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/atmos_control) +"cbB" = (/turf/simulated/floor{dir = 8; icon_state = "yellowcorner"},/area/engineering/foyer) +"cbC" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/cable/green,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/crew_quarters/heads/chief) +"cbD" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/engineering/foyer) +"cbE" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering Break Room"; req_one_access_txt = "10;24;5"},/turf/simulated/floor,/area/engineering/break_room) "cbF" = (/obj/structure/mirror{pixel_y = 32},/obj/structure/sink{pixel_y = 16},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/sleep/engi_wash) "cbG" = (/obj/structure/mirror{pixel_y = 32},/obj/structure/sink{pixel_y = 16},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/sleep/engi_wash) "cbH" = (/obj/structure/urinal{pixel_y = 32},/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/sleep/engi_wash) "cbI" = (/turf/simulated/wall,/area/medical/surgeryobs) "cbJ" = (/obj/machinery/camera{c_tag = "Medbay Surgery Access"; dir = 4; network = list("SS13")},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay4) -"cbK" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/structure/extinguisher_cabinet{pixel_x = -5; pixel_y = 28},/turf/simulated/floor{icon_state = "bot"},/area/rnd/research) +"cbK" = (/obj/structure/stool/bed/chair/comfy/beige{tag = "icon-comfychair (NORTH)"; icon_state = "comfychair"; dir = 1},/obj/effect/landmark/start{name = "Station Engineer"},/turf/simulated/floor/carpet,/area/engineering/break_room) "cbL" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/medical,/obj/machinery/vending/wallmed1{pixel_x = -26},/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/ward) "cbM" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/medical/ward) "cbN" = (/turf/simulated/floor{icon_state = "white"},/area/medical/ward) "cbO" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/medical,/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 25; pixel_y = 0; req_access_txt = "0"},/turf/simulated/floor{dir = 4; icon_state = "whitered"},/area/medical/ward) "cbP" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/wood,/area/medical/psych) -"cbQ" = (/obj/structure/grille,/obj/structure/cable/green,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/window/reinforced/polarized{dir = 4},/obj/structure/window/reinforced/polarized{dir = 1},/obj/structure/window/reinforced/polarized{dir = 8},/turf/simulated/floor/plating,/area/crew_quarters/heads/hop) +"cbQ" = (/obj/structure/stool/bed/chair/comfy/beige{tag = "icon-comfychair (NORTH)"; icon_state = "comfychair"; dir = 1},/obj/effect/landmark/start{name = "Atmospheric Technician"},/turf/simulated/floor/carpet,/area/engineering/break_room) "cbR" = (/obj/structure/stool/bed/chair/office/dark{dir = 1},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/wood,/area/medical/psych) "cbS" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "dark"},/area/medical/biostorage) "cbT" = (/obj/structure/closet/crate{icon_state = "crateopen"; name = "Grenade Crate"; opened = 1},/obj/item/weapon/grenade/chem_grenade,/obj/item/weapon/grenade/chem_grenade,/obj/item/weapon/grenade/chem_grenade,/obj/item/weapon/grenade/chem_grenade,/obj/item/device/assembly/igniter,/obj/item/device/assembly/igniter,/obj/item/device/assembly/igniter,/obj/item/device/assembly/timer,/obj/item/device/assembly/timer,/obj/item/device/assembly/timer,/turf/simulated/floor{icon_state = "dark"},/area/medical/biostorage) @@ -5536,12 +5536,12 @@ "ccx" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/turf/simulated/floor/plating,/area/maintenance/research_starboard) "ccy" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating,/area/maintenance/research_starboard) "ccz" = (/obj/structure/table/rack,/obj/item/clothing/mask/gas,/turf/simulated/floor/plating{dir = 2; icon_state = "warnplatecorner"},/area/maintenance/research_starboard) -"ccA" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/wall,/area/maintenance/atmos_control) -"ccB" = (/turf/simulated/wall/r_wall,/area/maintenance/atmos_control) -"ccC" = (/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Substation - Research"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/maintenance/substation/research) -"ccD" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering Break Room"; req_one_access_txt = "10;24;5"},/turf/simulated/floor,/area/engineering/break_room) -"ccE" = (/obj/structure/stool/bed/chair/comfy/beige{tag = "icon-comfychair (NORTH)"; icon_state = "comfychair"; dir = 1},/obj/effect/landmark/start{name = "Station Engineer"},/turf/simulated/floor/carpet,/area/engineering/break_room) -"ccF" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/engineering/foyer) +"ccA" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/camera{c_tag = "Engineering Break Room"; dir = 8; network = list("SS13")},/turf/simulated/floor/carpet,/area/engineering/break_room) +"ccB" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/extinguisher_cabinet{pixel_x = 25; pixel_y = 0},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay4) +"ccC" = (/obj/structure/table/woodentable,/obj/machinery/light_switch{pixel_x = -4},/obj/machinery/button/windowtint{pixel_x = 3},/turf/simulated/floor/wood,/area/medical/psych) +"ccD" = (/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Substation - Research"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/maintenance/substation/research) +"ccE" = (/turf/simulated/floor/plating/airless,/area/maintenance/atmos_control) +"ccF" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1379; id_tag = "eng_eva_pump"},/obj/machinery/camera{c_tag = "Engineering EVA Airlock"; dir = 1},/turf/simulated/floor{dir = 6; icon_state = "floorgrimecaution"},/area/maintenance/atmos_control) "ccG" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/clothing/shoes/magboots,/obj/item/clothing/mask/breath,/obj/item/weapon/rig/ce,/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/crew_quarters/heads/chief) "ccH" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/crew_quarters/heads/chief) "ccI" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/crew_quarters/heads/chief) @@ -5551,19 +5551,19 @@ "ccM" = (/obj/machinery/camera{c_tag = "Chief Engineer's Office"; dir = 1; network = list("SS13")},/obj/item/device/radio/intercom{layer = 4; name = "Station Intercom (General)"; pixel_y = -29},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/crew_quarters/heads/chief) "ccN" = (/obj/machinery/newscaster{layer = 3.3; pixel_x = 0; pixel_y = -27},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor,/area/crew_quarters/heads/chief) "ccO" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor,/area/crew_quarters/heads/chief) -"ccP" = (/obj/structure/stool/bed/chair/comfy/beige{tag = "icon-comfychair (NORTH)"; icon_state = "comfychair"; dir = 1},/obj/effect/landmark/start{name = "Atmospheric Technician"},/turf/simulated/floor/carpet,/area/engineering/break_room) -"ccQ" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/camera{c_tag = "Engineering Break Room"; dir = 8; network = list("SS13")},/turf/simulated/floor/carpet,/area/engineering/break_room) -"ccR" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "eng_eva_airlock"; name = "interior access button"; pixel_x = 0; pixel_y = 25; req_access_txt = "13"},/turf/simulated/floor{dir = 8; icon_state = "floorgrimecaution"},/area/maintenance/atmos_control) -"ccS" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/atmos_control) -"ccT" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/light/small{dir = 4},/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/atmos_control) -"ccU" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/cable/green,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/crew_quarters/heads/chief) -"ccV" = (/turf/simulated/floor{dir = 8; icon_state = "yellowcorner"},/area/engineering/foyer) -"ccW" = (/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "eng_eva_pump"; tag_exterior_door = "eng_eva_outer"; frequency = 1379; id_tag = "eng_eva_airlock"; tag_interior_door = "eng_eva_inner"; name = "Engineering Airlock Console"; pixel_y = 25; req_access_txt = "13"; tag_chamber_sensor = "eng_eva_sensor"},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/turf/simulated/floor{dir = 5; icon_state = "floorgrimecaution"},/area/maintenance/atmos_control) -"ccX" = (/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "eng_eva_sensor"; pixel_x = 0; pixel_y = 25},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1379; id_tag = "eng_eva_pump"},/turf/simulated/floor{dir = 9; icon_state = "floorgrimecaution"},/area/maintenance/atmos_control) -"ccY" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "eng_eva_airlock"; name = "exterior access button"; pixel_x = 0; pixel_y = 25; req_access_txt = "13"},/turf/simulated/floor/plating/airless,/area/maintenance/atmos_control) -"ccZ" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating/airless,/area/maintenance/atmos_control) -"cda" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor{dir = 8; icon_state = "cautioncorner"},/area/hallway/primary/aft) -"cdb" = (/obj/machinery/button/driver{dir = 2; id = "toxinsdriver"; pixel_y = 24},/turf/simulated/floor,/area/rnd/mixing) +"ccP" = (/obj/machinery/light/small,/turf/simulated/floor{dir = 10; icon_state = "floorgrimecaution"},/area/maintenance/atmos_control) +"ccQ" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "floorgrimecaution"},/area/maintenance/atmos_control) +"ccR" = (/obj/structure/disposalpipe/segment,/obj/structure/extinguisher_cabinet{pixel_x = 25},/turf/simulated/floor/plating,/area/maintenance/atmos_control) +"ccS" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/atmos_control) +"ccT" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "yellowcorner"},/area/engineering/foyer) +"ccU" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/cable/green,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/crew_quarters/heads/chief) +"ccV" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering/foyer) +"ccW" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/turf/simulated/floor,/area/engineering/foyer) +"ccX" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/engineering/foyer) +"ccY" = (/obj/structure/disposalpipe/sortjunction/flipped{dir = 2; name = "Engineering Break Room"; sortType = "Engineering Break Room"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering/foyer) +"ccZ" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/carpet,/area/engineering/break_room) +"cda" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/airlock/glass_engineering{name = "Engineering Break Room"; req_one_access_txt = "10;24;5"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering/break_room) +"cdb" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/carpet,/area/engineering/break_room) "cdc" = (/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = -20; pixel_y = -21},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/sleep/engi_wash) "cdd" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/sleep/engi_wash) "cde" = (/obj/machinery/camera{c_tag = "Engineering Substation"; dir = 2; network = list("SS13","Engineering")},/obj/machinery/light{dir = 1},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/power/sensor{name = "Powernet Sensor - Engineering Subgrid"; name_tag = "Engineering Subgrid"},/turf/simulated/floor/plating,/area/maintenance/substation/engineering) @@ -5586,10 +5586,10 @@ "cdv" = (/turf/simulated/floor{icon_state = "bcarpet02"},/area/medical/psych) "cdw" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{icon_state = "bcarpet03"},/area/medical/psych) "cdx" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/light/small{dir = 8},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "dark"},/area/medical/biostorage) -"cdy" = (/obj/structure/table,/obj/item/weapon/storage/box/cdeathalarm_kit,/turf/simulated/floor{icon_state = "dark"},/area/medical/biostorage) +"cdy" = (/obj/structure/table,/obj/item/weapon/storage/box/cdeathalarm_kit,/obj/item/bodybag/cryobag{pixel_x = -3},/obj/item/bodybag/cryobag{pixel_x = -3},/turf/simulated/floor{icon_state = "dark"},/area/medical/biostorage) "cdz" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/structure/closet/secure_closet/personal/patient,/turf/simulated/floor{dir = 10; icon_state = "whitered"},/area/medical/patient_c) "cdA" = (/obj/machinery/light,/obj/machinery/newscaster{pixel_y = -28},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/hologram/holopad,/turf/simulated/floor{dir = 3; icon_state = "whitered"},/area/medical/patient_c) -"cdB" = (/obj/structure/stool/bed/chair/office/dark{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/door_control{desc = "A remote control-switch for shutters."; id = "hop_office_desk"; name = "Desk Privacy Shutter"; pixel_x = 16; pixel_y = 28},/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/crew_quarters/heads/hop) +"cdB" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/carpet,/area/engineering/break_room) "cdC" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/maintenance/research_port) "cdD" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/maintenance/research_port) "cdE" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/medical/virologyaccess) @@ -5624,21 +5624,21 @@ "ceh" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless,/area/rnd/test_area) "cei" = (/obj/machinery/camera{c_tag = "Toxins Test Chamber South"; dir = 1; network = list("Toxins Test Area")},/obj/machinery/light,/turf/simulated/floor/airless,/area/rnd/test_area) "cej" = (/turf/simulated/wall,/area/construction) -"cek" = (/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Substation - Medical"},/obj/structure/cable/green,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/maintenance/substation/medical) -"cel" = (/obj/structure/table/woodentable,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/obj/item/weapon/storage/box/matches,/obj/item/clothing/mask/smokable/cigarette/cigar,/obj/item/weapon/reagent_containers/food/drinks/flask{pixel_x = 8},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/carpet,/area/crew_quarters/captain) -"cem" = (/obj/machinery/door_control{id = "Disposal Exit"; name = "Disposal Vent Control"; pixel_x = -25; pixel_y = 4; req_access_txt = "12"},/obj/machinery/button/driver{id = "trash"; pixel_x = -26; pixel_y = -6},/turf/simulated/floor/plating,/area/maintenance/disposal) -"cen" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/camera{c_tag = "Command Substation"; dir = 2; network = list("SS13","Engineering")},/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Substation - Command"},/turf/simulated/floor/plating,/area/maintenance/substation/command) -"ceo" = (/obj/structure/lattice,/turf/space,/area/shuttle/escape/station) -"cep" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/engineering/engine_smes) -"ceq" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor,/area/engineering/engine_smes) -"cer" = (/obj/machinery/door/airlock/maintenance_hatch{name = "SMES Access"; req_access_txt = "11"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor,/area/engineering/engine_monitoring) -"ces" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor,/area/engineering/engine_monitoring) -"cet" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) -"ceu" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/toolbox/electrical,/obj/machinery/camera{c_tag = "Drone Fabrication"; dir = 8; network = list("SS13")},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) -"cev" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/wall/r_wall,/area/engineering/engine_smes) -"cew" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/table,/obj/item/stack/cable_coil,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/box/lights/mixed,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor,/area/engineering/engine_smes) -"cex" = (/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/engineering/drone_fabrication) -"cey" = (/turf/simulated/floor/plating,/area/engineering/drone_fabrication) +"cek" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/carpet,/area/engineering/break_room) +"cel" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/carpet,/area/engineering/break_room) +"cem" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/engineering{name = "Engineering Washroom"; req_one_access_txt = "10;24;5"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering/break_room) +"cen" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/carpet,/area/engineering/break_room) +"ceo" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/table,/obj/item/weapon/clipboard,/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 0; pixel_y = -36},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/button/windowtint{id = "isoC_window_tint"; pixel_y = -26},/turf/simulated/floor{dir = 6; icon_state = "whitered"},/area/medical/patient_c) +"cep" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/disposalpipe/segment,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/maintenance/atmos_control) +"ceq" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/maintenance/atmos_control) +"cer" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/crew_quarters/heads/chief) +"ces" = (/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/crew_quarters/heads/chief) +"cet" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor{dir = 8; icon_state = "yellowcorner"},/area/engineering/foyer) +"ceu" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced,/obj/structure/cable/green,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/crew_quarters/heads/chief) +"cev" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/engineering/foyer) +"cew" = (/obj/structure/stool/bed/chair/office/dark,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/engineering/break_room) +"cex" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/engineering/break_room) +"cey" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/engineering/break_room) "cez" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/sleep/engi_wash) "ceA" = (/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/plating,/area/maintenance/substation/engineering) "ceB" = (/obj/machinery/door/airlock/medical{autoclose = 0; icon_state = "door_open"; id_tag = "engineering_cubicle"; name = "Restroom"},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/sleep/engi_wash) @@ -5658,13 +5658,13 @@ "ceP" = (/obj/structure/closet/l3closet,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/suit/bio_suit/general,/obj/item/clothing/suit/bio_suit/general,/obj/item/clothing/suit/bio_suit/general,/obj/item/clothing/mask/gas,/obj/item/clothing/head/bio_hood/general,/obj/item/clothing/head/bio_hood/general,/obj/item/clothing/head/bio_hood/general,/turf/simulated/floor{icon_state = "dark"},/area/medical/biostorage) "ceQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/research_port) "ceR" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/structure/mirror{pixel_x = 32},/turf/simulated/floor{icon_state = "freezerfloor"},/area/medical/patient_wing) -"ceS" = (/obj/structure/stool/bed/chair/office/dark{dir = 4},/obj/effect/landmark/start{name = "Head of Personnel"},/obj/machinery/door_control{desc = "A remote control-switch for shutters."; id = "hop_office_desk"; name = "Desk Privacy Shutter"; pixel_x = 26; pixel_y = 17},/obj/machinery/button/windowtint{pixel_x = 36; pixel_y = 18},/turf/simulated/floor,/area/crew_quarters/heads/hop) -"ceT" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engineering/drone_fabrication) -"ceU" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) +"ceS" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/engineering/break_room) +"ceT" = (/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/engineering/break_room) +"ceU" = (/obj/structure/noticeboard{pixel_x = 32; pixel_y = 0},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/engineering/break_room) "ceV" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/maintenance/substation/engineering) -"ceW" = (/obj/structure/table,/obj/item/weapon/storage/box/matches,/obj/item/weapon/storage/fancy/cigarettes,/obj/machinery/light/small{dir = 8},/obj/item/weapon/deck,/turf/simulated/floor/plating,/area/engineering/drone_fabrication) -"ceX" = (/turf/simulated/wall/r_wall,/area/engineering/engine_airlock) -"ceY" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/universal,/turf/simulated/floor/plating,/area/engineering/engine_airlock) +"ceW" = (/obj/machinery/seed_storage/xenobotany,/turf/simulated/floor{icon_state = "hydrofloor"},/area/rnd/xenobiology/xenoflora) +"ceX" = (/obj/item/clothing/mask/smokable/cigarette,/turf/simulated/floor/plating/airless,/area/rnd/test_area) +"ceY" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/atmos_control) "ceZ" = (/obj/structure/table,/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/obj/machinery/light{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/item/weapon/hand_labeler,/turf/simulated/floor{tag = "icon-whitegreen (NORTHWEST)"; icon_state = "whitegreen"; dir = 9},/area/rnd/xenobiology/xenoflora_storage) "cfa" = (/obj/structure/closet/crate/hydroponics/prespawned,/turf/simulated/floor{dir = 1; icon_state = "whitegreen"},/area/rnd/xenobiology/xenoflora_storage) "cfb" = (/obj/structure/closet/secure_closet/hydroponics{req_access = list(47)},/turf/simulated/floor{dir = 1; icon_state = "whitegreen"},/area/rnd/xenobiology/xenoflora_storage) @@ -5675,7 +5675,7 @@ "cfg" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/disposalpipe/trunk,/obj/machinery/disposal,/obj/structure/sign/deathsposal{pixel_x = 0; pixel_y = 32},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor{dir = 8; icon_state = "whitegreen"},/area/rnd/xenobiology/xenoflora) "cfh" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/portable_atmospherics/hydroponics{closed_system = 1; name = "isolation tray"},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology/xenoflora) "cfi" = (/obj/machinery/light{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/obj/machinery/light_switch{pixel_x = -6; pixel_y = 26},/obj/machinery/atmospherics/portables_connector,/turf/simulated/floor{dir = 4; icon_state = "whitegreen"},/area/rnd/xenobiology/xenoflora) -"cfj" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/wall/r_wall,/area/engineering/engine_monitoring) +"cfj" = (/obj/machinery/light/small{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/atmos_control) "cfk" = (/obj/machinery/vending/hydronutrients,/turf/simulated/floor{icon_state = "hydrofloor"},/area/rnd/xenobiology/xenoflora) "cfl" = (/obj/machinery/light{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/structure/table,/obj/item/weapon/storage/box/botanydisk,/turf/simulated/floor{dir = 8; icon_state = "whitegreen"},/area/rnd/xenobiology/xenoflora) "cfm" = (/obj/machinery/botany/editor,/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology/xenoflora) @@ -5686,33 +5686,33 @@ "cfr" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/maintenance/research_starboard) "cfs" = (/obj/machinery/light/small{dir = 4},/obj/machinery/camera{c_tag = "Aft Starboard Solar Access"; dir = 1},/obj/effect/decal/cleanable/generic,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 6},/area/maintenance/research_starboard) "cft" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless,/area/rnd/test_area) -"cfu" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/universal,/turf/simulated/floor/plating,/area/engineering/engine_airlock) +"cfu" = (/obj/structure/dispenser{phorontanks = 0},/turf/simulated/floor,/area/engineering/engine_eva) "cfv" = (/obj/machinery/light/small,/turf/simulated/floor/plating/airless,/area/rnd/test_area) "cfw" = (/obj/machinery/light{dir = 8},/turf/simulated/floor/plating,/area/construction) "cfx" = (/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor/plating,/area/construction) "cfy" = (/obj/structure/table,/obj/item/weapon/tank/emergency_oxygen/engi,/obj/random/tech_supply,/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor/plating,/area/construction) "cfz" = (/obj/structure/table,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor,/area/construction) "cfA" = (/obj/structure/table,/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor,/area/construction) -"cfB" = (/obj/machinery/door/airlock/maintenance_hatch{frequency = 1379; icon_state = "door_closed"; id_tag = "engine_airlock_exterior"; locked = 0; name = "Engine Airlock Exterior"; req_access_txt = "10"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/engineering/engine_airlock) -"cfC" = (/obj/machinery/hologram/holopad,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor,/area/engineering/engine_monitoring) -"cfD" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/engineering/engine_monitoring) -"cfE" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/machinery/newscaster{pixel_x = 28; pixel_y = 0},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor,/area/engineering/engine_monitoring) -"cfF" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering/engine_monitoring) -"cfG" = (/obj/machinery/air_sensor{frequency = 1441; id_tag = "co2_sensor"},/turf/simulated/floor/engine{carbon_dioxide = 50000; name = "co2 floor"; nitrogen = 0; oxygen = 0},/area/engineering/atmos) -"cfH" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 0; external_pressure_bound_default = 0; frequency = 1441; icon_state = "map_vent_in"; id_tag = "co2_out"; initialize_directions = 1; internal_pressure_bound = 4000; internal_pressure_bound_default = 4000; use_power = 1; pressure_checks = 2; pressure_checks_default = 2; pump_direction = 0},/turf/simulated/floor/engine{carbon_dioxide = 50000; name = "co2 floor"; nitrogen = 0; oxygen = 0},/area/engineering/atmos) -"cfI" = (/obj/structure/grille,/turf/simulated/wall/r_wall,/area/engineering/atmos) -"cfJ" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 1; frequency = 1441; icon_state = "map_injector"; id = "co2_in"; use_power = 1; pixel_y = 1},/turf/simulated/floor/engine{carbon_dioxide = 50000; name = "co2 floor"; nitrogen = 0; oxygen = 0},/area/engineering/atmos) -"cfK" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 0; external_pressure_bound_default = 0; frequency = 1441; icon_state = "map_vent_in"; id_tag = "waste_out"; initialize_directions = 1; internal_pressure_bound = 4000; internal_pressure_bound_default = 4000; use_power = 1; pressure_checks = 2; pressure_checks_default = 2; pump_direction = 0},/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/engineering/atmos) -"cfL" = (/obj/machinery/air_sensor{frequency = 1441; id_tag = "waste_sensor"; output = 63},/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/engineering/atmos) -"cfM" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 1; frequency = 1441; icon_state = "map_injector"; id = "waste_in"; use_power = 1; pixel_y = 1},/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/engineering/atmos) -"cfN" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 0; external_pressure_bound_default = 0; frequency = 1441; icon_state = "map_vent_in"; id_tag = "n2o_out"; initialize_directions = 1; internal_pressure_bound = 4000; internal_pressure_bound_default = 4000; use_power = 1; pressure_checks = 2; pressure_checks_default = 2; pump_direction = 0},/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/engineering/atmos) -"cfO" = (/obj/machinery/air_sensor{frequency = 1441; id_tag = "n2o_sensor"},/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/engineering/atmos) -"cfP" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 1; frequency = 1441; icon_state = "map_injector"; id = "n2o_in"; use_power = 1; pixel_y = 1},/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/engineering/atmos) -"cfQ" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 0; external_pressure_bound_default = 0; frequency = 1441; icon_state = "map_vent_in"; id_tag = "tox_out"; initialize_directions = 1; internal_pressure_bound = 4000; internal_pressure_bound_default = 4000; use_power = 1; pressure_checks = 2; pressure_checks_default = 2; pump_direction = 0},/turf/simulated/floor/engine{carbon_dioxide = 0; name = "phoron floor"; nitrogen = 0; oxygen = 0; phoron = 70000},/area/engineering/atmos) -"cfR" = (/obj/machinery/air_sensor{frequency = 1441; id_tag = "tox_sensor"},/turf/simulated/floor/engine{carbon_dioxide = 0; name = "phoron floor"; nitrogen = 0; oxygen = 0; phoron = 70000},/area/engineering/atmos) +"cfB" = (/obj/structure/sign/pods,/turf/simulated/wall/r_wall,/area/engineering/engine_eva) +"cfC" = (/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/item/clothing/shoes/magboots,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/void/engineering,/obj/machinery/light{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/window/southleft{name = "Engineering Hardsuits"; req_access_txt = "11"},/obj/item/clothing/suit/space/void/engineering,/turf/simulated/floor,/area/engineering/engine_eva) +"cfD" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor,/area/engineering/engine_eva) +"cfE" = (/obj/item/clothing/shoes/magboots,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/void/engineering,/obj/machinery/door/window/southleft{name = "Engineering Hardsuits"; req_access_txt = "11"},/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/item/clothing/suit/space/void/engineering,/turf/simulated/floor,/area/engineering/engine_eva) +"cfF" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/portable_atmospherics/powered/scrubber,/turf/simulated/floor{icon_state = "red"; dir = 1},/area/engineering/foyer) +"cfG" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/engineering/engine_eva) +"cfH" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/portable_atmospherics/powered/pump,/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/engineering/foyer) +"cfI" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/atmospherics/portables_connector,/obj/machinery/portable_atmospherics/powered/pump,/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/engineering/foyer) +"cfJ" = (/obj/machinery/newscaster{pixel_x = 31; pixel_y = 3},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/engineering/foyer) +"cfK" = (/obj/machinery/computer/station_alert,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/engineering/break_room) +"cfL" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/engineering/break_room) +"cfM" = (/obj/machinery/light,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable/green,/obj/structure/flora/pottedplant{icon_state = "plant-20"; tag = "icon-plant-22"},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/engineering/break_room) +"cfN" = (/obj/machinery/light,/obj/structure/table,/obj/machinery/chem_dispenser/soda,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/engineering/break_room) +"cfO" = (/obj/structure/table,/obj/item/weapon/storage/box/drinkingglasses{pixel_x = 1; pixel_y = 4},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/engineering/break_room) +"cfP" = (/obj/machinery/vending/snack,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/engineering/break_room) +"cfQ" = (/obj/structure/grille,/turf/simulated/wall/r_wall,/area/engineering/atmos) +"cfR" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/atmos_control) "cfS" = (/obj/structure/closet/secure_closet/personal,/turf/simulated/floor/wood,/area/crew_quarters/sleep/bedrooms) "cfT" = (/obj/machinery/power/tracker,/obj/structure/cable/yellow,/turf/simulated/floor/plating/airless,/area/solar/starboard) -"cfU" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/cable/cyan,/turf/simulated/floor/plating,/area/turret_protected/ai_upload) +"cfU" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/atmos_control) "cfV" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor{icon_state = "blue"; dir = 10},/area/medical/surgeryobs) "cfW" = (/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/medical/surgeryobs) "cfX" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor{icon_state = "blue"; dir = 6},/area/medical/surgeryobs) @@ -5726,27 +5726,27 @@ "cgf" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/obj/machinery/camera{c_tag = "Medbay Mental Health Room"; dir = 1; network = list("SS13")},/turf/simulated/floor{icon_state = "bcarpet04"},/area/medical/psych) "cgg" = (/obj/structure/stool/bed/chair/comfy/brown,/obj/effect/landmark/start{name = "Psychiatrist"},/turf/simulated/floor{icon_state = "bcarpet06"},/area/medical/psych) "cgh" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "whitegreen"},/area/medical/patient_wing) -"cgi" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 1; frequency = 1441; icon_state = "map_injector"; id = "tox_in"; use_power = 1; pixel_y = 1},/turf/simulated/floor/engine{carbon_dioxide = 0; name = "phoron floor"; nitrogen = 0; oxygen = 0; phoron = 70000},/area/engineering/atmos) +"cgi" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/engineering/engine_eva) "cgj" = (/obj/structure/table,/turf/simulated/floor{dir = 2; icon_state = "whitegreen"},/area/medical/patient_wing) "cgk" = (/obj/item/weapon/storage/toolbox/emergency,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "dark"},/area/medical/biostorage) "cgl" = (/obj/structure/table/rack,/obj/item/clothing/suit/radiation,/obj/item/clothing/head/radiation,/turf/simulated/floor{icon_state = "dark"},/area/medical/biostorage) "cgm" = (/obj/structure/reagent_dispensers/fueltank,/obj/effect/decal/cleanable/blood/oil{amount = 0},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor/plating,/area/maintenance/research_port) "cgn" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor{icon_state = "freezerfloor"},/area/medical/patient_wing) -"cgo" = (/obj/structure/closet/emcloset,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 5},/area/engineering/engine_airlock) -"cgp" = (/obj/machinery/atmospherics/binary/dp_vent_pump/high_volume{dir = 8; frequency = 1379; id = "engine_airlock_pump"},/turf/simulated/floor/plating,/area/engineering/engine_airlock) +"cgo" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/engineering{name = "Engineering EVA Storage"; req_access_txt = "12"; req_one_access_txt = "11;24"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "floorgrime"},/area/engineering/engine_eva) +"cgp" = (/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/engineering/engine_eva) "cgq" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/machinery/power/terminal{dir = 8},/turf/simulated/floor/plating,/area/maintenance/substation/engineering) -"cgr" = (/obj/machinery/embedded_controller/radio/airlock/advanced_airlock_controller{id_tag = "engine_room_airlock"; name = "Engine Room Airlock"; pixel_x = -24; tag_airpump = "engine_airlock_pump"; tag_chamber_sensor = "eng_al_c_snsr"; tag_exterior_door = "engine_airlock_exterior"; tag_exterior_sensor = "eng_al_ext_snsr"; tag_interior_door = "engine_airlock_interior"; tag_interior_sensor = "eng_al_int_snsr"},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHEAST)"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 9},/area/engineering/engine_airlock) +"cgr" = (/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor,/area/engineering/engine_eva) "cgs" = (/turf/simulated/wall/r_wall,/area/maintenance/substation/engineering) -"cgt" = (/turf/simulated/wall/r_wall,/area/engineering/engine_monitoring) -"cgu" = (/obj/structure/table/reinforced,/obj/machinery/light_switch{pixel_x = 27},/turf/simulated/floor,/area/engineering/engine_monitoring) +"cgt" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering/engine_eva) +"cgu" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering/engine_eva) "cgv" = (/obj/structure/disposalpipe/segment,/turf/simulated/wall/r_wall,/area/medical/virology) "cgw" = (/obj/structure/disposalpipe/trunk{dir = 1},/obj/structure/disposaloutlet,/turf/simulated/floor/plating/airless,/area/rnd/xenobiology) "cgx" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/camera/autoname{dir = 4},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor{dir = 8; icon_state = "whitegreen"},/area/rnd/xenobiology/xenoflora_storage) "cgy" = (/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology/xenoflora_storage) "cgz" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor{dir = 4; icon_state = "whitegreen"},/area/rnd/xenobiology/xenoflora_storage) "cgA" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/rnd/xenobiology) -"cgB" = (/obj/structure/stool/bed/chair/office/dark,/obj/effect/landmark/start{name = "Station Engineer"},/turf/simulated/floor,/area/engineering/engine_monitoring) -"cgC" = (/obj/structure/table/reinforced,/obj/machinery/door_control{desc = "A remote control-switch for the engine control room blast doors."; id = "EngineBlast"; name = "Engine Room Blast Doors"; pixel_x = 0; pixel_y = -3; req_access_txt = "10"},/obj/machinery/door_control{desc = "A remote control-switch for the engine charging port."; id = "EngineEmitterPort"; name = "Engine Charging Port"; pixel_x = -6; pixel_y = 7; req_access_txt = "10"},/obj/machinery/door_control{desc = "A remote control-switch for the engine emitter."; id = "EngineEmitter"; name = "Engine Emitter"; normaldoorcontrol = 2; pixel_x = 6; pixel_y = 7; req_access_txt = "10"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/engineering/engine_monitoring) +"cgB" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/purple,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering/foyer) +"cgC" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering EVA Storage"; req_one_access_txt = "11;24"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering/engine_eva) "cgD" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/rnd/xenobiology/xenoflora) "cgE" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{tag = "icon-whitegreen_v (SOUTHWEST)"; icon_state = "whitegreen_v"; dir = 10},/area/rnd/xenobiology/xenoflora) "cgF" = (/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/turf/simulated/floor{dir = 2; icon_state = "whitegreen"},/area/rnd/xenobiology/xenoflora) @@ -5761,32 +5761,32 @@ "cgO" = (/obj/machinery/door/airlock/engineering{name = "Aft Starboard Solar Access"; req_access_txt = "10"},/obj/machinery/atmospherics/pipe/simple/visible,/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) "cgP" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = 0},/turf/simulated/wall/r_wall,/area/maintenance/starboardsolar) "cgQ" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/rnd/test_area) -"cgR" = (/obj/structure/table/reinforced,/obj/machinery/camera{c_tag = "Engine Monitoring Room"; dir = 4; network = list("SS13","Supermatter")},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor,/area/engineering/engine_monitoring) +"cgR" = (/obj/machinery/atmospherics/pipe/manifold/hidden/cyan{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering/foyer) "cgS" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/construction) "cgT" = (/turf/simulated/floor/plating,/area/construction) "cgU" = (/turf/simulated/floor,/area/construction) "cgV" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/table,/obj/item/clothing/gloves/black,/obj/item/device/multitool{pixel_x = 5},/obj/random/tech_supply,/turf/simulated/floor,/area/construction) -"cgW" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor{icon_state = "warningcorner"; dir = 1},/area/engineering/engine_smes) -"cgX" = (/obj/machinery/camera{c_tag = "SMES"; dir = 8; network = list("SS13","Supermatter")},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor,/area/engineering/engine_smes) -"cgY" = (/turf/simulated/wall/r_wall,/area/engineering/engine_smes) -"cgZ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "warning"},/area/engineering/engine_smes) -"cha" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/engineering/drone_fabrication) -"chb" = (/obj/machinery/recharge_station,/turf/simulated/floor/plating,/area/engineering/drone_fabrication) -"chc" = (/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engineering/drone_fabrication) -"chd" = (/obj/machinery/drone_fabricator,/turf/simulated/floor/plating,/area/engineering/drone_fabrication) -"che" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) -"chf" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/engineering/atmos) -"chg" = (/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/engineering/atmos) -"chh" = (/obj/machinery/portable_atmospherics/canister/sleeping_agent/roomfiller,/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/engineering/atmos) -"chi" = (/turf/simulated/floor/engine{carbon_dioxide = 0; name = "phoron floor"; nitrogen = 0; oxygen = 0; phoron = 70000},/area/engineering/atmos) -"chj" = (/obj/machinery/portable_atmospherics/canister/phoron,/turf/simulated/floor/engine{carbon_dioxide = 0; name = "phoron floor"; nitrogen = 0; oxygen = 0; phoron = 70000},/area/engineering/atmos) -"chk" = (/turf/simulated/floor/engine{carbon_dioxide = 50000; name = "co2 floor"; nitrogen = 0; oxygen = 0},/area/engineering/atmos) -"chl" = (/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/turf/simulated/floor/engine{carbon_dioxide = 50000; name = "co2 floor"; nitrogen = 0; oxygen = 0},/area/engineering/atmos) -"chm" = (/obj/machinery/light/small,/turf/simulated/floor/engine{carbon_dioxide = 50000; name = "co2 floor"; nitrogen = 0; oxygen = 0},/area/engineering/atmos) -"chn" = (/obj/machinery/light/small,/turf/simulated/floor/engine{carbon_dioxide = 0; name = "phoron floor"; nitrogen = 0; oxygen = 0; phoron = 70000},/area/engineering/atmos) -"cho" = (/obj/machinery/light/small,/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/engineering/atmos) -"chp" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/engineering/drone_fabrication) -"chq" = (/obj/structure/extinguisher_cabinet{pixel_x = -25},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics_cloning) +"cgW" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering/foyer) +"cgX" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "yellowcorner"},/area/engineering/foyer) +"cgY" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering/foyer) +"cgZ" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/engineering/foyer) +"cha" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering/foyer) +"chb" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/camera{c_tag = "Engineering Foyer"; dir = 8; network = list("SS13")},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/engineering/foyer) +"chc" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/engineering/foyer) +"chd" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Solar - Aft Starboard"},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) +"che" = (/turf/simulated/floor/engine{name = "air floor"; nitrogen = 10580; oxygen = 2644},/area/engineering/atmos) +"chf" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/engine{name = "air floor"; nitrogen = 10580; oxygen = 2644},/area/engineering/atmos) +"chg" = (/turf/simulated/floor/engine{name = "o2 floor"; nitrogen = 0; oxygen = 100000},/area/engineering/atmos) +"chh" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/engine{name = "o2 floor"; nitrogen = 0; oxygen = 100000},/area/engineering/atmos) +"chi" = (/turf/simulated/floor/engine{name = "n2 floor"; nitrogen = 100000; oxygen = 0},/area/engineering/atmos) +"chj" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/engine{name = "n2 floor"; nitrogen = 100000; oxygen = 0},/area/engineering/atmos) +"chk" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/atmos_control) +"chl" = (/obj/effect/decal/cleanable/blood/oil/streak{amount = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/atmos_control) +"chm" = (/obj/item/weapon/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/briefcase/inflatable,/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/table/reinforced{icon_state = "table"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor,/area/engineering/engine_eva) +"chn" = (/turf/simulated/wall/r_wall,/area/engineering/engine_eva) +"cho" = (/obj/machinery/hologram/holopad,/turf/simulated/floor,/area/engineering/engine_eva) +"chp" = (/obj/machinery/atmospherics/pipe/simple/hidden/purple,/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor,/area/engineering/engine_eva) +"chq" = (/turf/simulated/floor,/area/engineering/engine_eva) "chr" = (/obj/structure/table,/obj/item/weapon/storage/box/gloves{pixel_x = 4; pixel_y = 4},/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/item/weapon/storage/box/masks,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor{dir = 9; icon_state = "blue"},/area/medical/surgeryprep) "chs" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{dir = 1; icon_state = "bluecorner"},/area/medical/surgeryprep) "cht" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor{dir = 4; icon_state = "blue"},/area/medical/surgeryprep) @@ -5795,15 +5795,15 @@ "chw" = (/obj/structure/sign/biohazard,/turf/simulated/wall,/area/medical/virologyaccess) "chx" = (/obj/structure/disposaloutlet,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/plating/airless,/area/medical/virology) "chy" = (/obj/structure/bedsheetbin,/obj/structure/table,/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/green,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor{icon_state = "dark"},/area/medical/biostorage) -"chz" = (/obj/structure/table,/obj/item/bodybag/cryobag{pixel_x = -3},/obj/item/bodybag/cryobag{pixel_x = -3},/obj/item/weapon/gun/launcher/syringe,/obj/item/weapon/storage/box/syringegun,/turf/simulated/floor{icon_state = "dark"},/area/medical/biostorage) +"chz" = (/obj/structure/table,/obj/item/weapon/gun/launcher/syringe,/obj/item/weapon/storage/box/syringegun,/turf/simulated/floor{icon_state = "dark"},/area/medical/biostorage) "chA" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/research_port) "chB" = (/turf/simulated/floor/plating,/area/maintenance/research_port) "chC" = (/obj/machinery/door/airlock/medical{autoclose = 0; icon_state = "door_open"; id_tag = "cubicle1"; name = "Cubicle 1"},/turf/simulated/floor{icon_state = "freezerfloor"},/area/medical/patient_wing) "chD" = (/obj/machinery/door/airlock/medical{autoclose = 0; icon_state = "door_open"; id_tag = "cubicle2"; name = "Cubicle 2"},/turf/simulated/floor{icon_state = "freezerfloor"},/area/medical/patient_wing) "chE" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 5},/turf/simulated/floor/plating/airless,/area/medical/virology) "chF" = (/turf/simulated/floor/plating/airless,/area/medical/virology) -"chG" = (/obj/machinery/power/terminal{dir = 8},/obj/machinery/light,/obj/machinery/door_control{id = "engine_electrical_maintenance"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 5; pixel_y = -25; req_access_txt = "10"; specialfunctions = 4},/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/engineering/engine_smes) -"chH" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor{icon_state = "warning"},/area/engineering/engine_smes) +"chG" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor,/area/engineering/engine_eva) +"chH" = (/turf/simulated/floor,/area/engineering/foyer) "chI" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor{dir = 8; icon_state = "whitegreen"},/area/rnd/xenobiology/xenoflora_storage) "chJ" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology/xenoflora_storage) "chK" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor{dir = 4; icon_state = "whitegreen"},/area/rnd/xenobiology/xenoflora_storage) @@ -5824,29 +5824,29 @@ "chZ" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) "cia" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) "cib" = (/obj/machinery/power/breakerbox/activated{RCon_tag = "Engineering Substation Bypass"},/turf/simulated/floor/plating,/area/maintenance/substation/engineering) -"cic" = (/obj/machinery/computer/general_air_control/supermatter_core{frequency = 1438; input_tag = "cooling_in"; name = "Engine Cooling Control"; output_tag = "cooling_out"; pressure_setting = 100; sensors = list("engine_sensor" = "Engine Core")},/turf/simulated/floor{icon_state = "warning"},/area/engineering/engine_monitoring) -"cid" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) -"cie" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) -"cif" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/machinery/light,/obj/machinery/mecha_part_fabricator{output_dir = 1},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 10},/area/engineering/drone_fabrication) -"cig" = (/obj/machinery/computer/drone_control,/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/engineering/drone_fabrication) -"cih" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/engineering/drone_fabrication) +"cic" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering EVA Storage"; req_one_access_txt = "11;24"},/turf/simulated/floor,/area/engineering/engine_eva) +"cid" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan,/turf/simulated/floor,/area/engineering/foyer) +"cie" = (/obj/machinery/hologram/holopad,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/engineering/foyer) +"cif" = (/obj/machinery/firealarm{dir = 4; layer = 3.3; pixel_x = 26},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/engineering/foyer) +"cig" = (/obj/structure/closet/secure_closet/engineering_personal,/obj/item/weapon/tank/emergency_oxygen/engi,/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor,/area/engineering/locker_room) +"cih" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/engineering/locker_room) "cii" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/construction) "cij" = (/obj/structure/table,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor,/area/construction) -"cik" = (/obj/machinery/light,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/sensor{name = "Powernet Sensor - Master Grid"; name_tag = "Master"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 6},/area/engineering/drone_fabrication) -"cil" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/computer/power_monitor,/turf/simulated/floor{icon_state = "warning"},/area/engineering/engine_monitoring) -"cim" = (/obj/machinery/computer/rcon,/turf/simulated/floor{icon_state = "warning"},/area/engineering/engine_monitoring) -"cin" = (/obj/machinery/computer/station_alert,/turf/simulated/floor{icon_state = "warning"},/area/engineering/engine_monitoring) -"cio" = (/obj/machinery/computer/security/engineering{network = list("Engineering","Power Alarms","Atmosphere Alarms","Fire Alarms","Supermatter")},/turf/simulated/floor{icon_state = "warning"},/area/engineering/engine_monitoring) -"cip" = (/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "eng_al_c_snsr"; pixel_x = -25; pixel_y = 0},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 10},/area/engineering/engine_airlock) -"ciq" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 6},/area/engineering/engine_airlock) -"cir" = (/turf/simulated/floor/plating,/area/engineering/engine_airlock) -"cis" = (/obj/structure/grille,/obj/structure/grille,/turf/simulated/wall/r_wall,/area/engineering/atmos) -"cit" = (/turf/simulated/wall/r_wall,/area/engineering/engine_room) -"ciu" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "EngineBlast"; name = "Engine Monitoring Room Blast Doors"; opacity = 0},/turf/simulated/floor/plating,/area/engineering/engine_room) -"civ" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "EngineBlast"; name = "Engine Monitoring Room Blast Doors"; opacity = 0},/turf/simulated/floor/plating,/area/engineering/engine_room) -"ciw" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "EngineBlast"; name = "Engine Monitoring Room Blast Doors"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/engineering/engine_room) -"cix" = (/obj/machinery/door/airlock/maintenance_hatch{frequency = 1379; icon_state = "door_closed"; id_tag = "engine_airlock_interior"; locked = 0; name = "Engine Airlock Interior"; req_access_txt = "10"},/turf/simulated/floor/plating,/area/engineering/engine_room) -"ciy" = (/obj/machinery/door/airlock/maintenance{name = "Drone Fabrication/Engine Waste Handling"; req_one_access_txt = "10;24"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/engineering/drone_fabrication) +"cik" = (/obj/structure/closet/secure_closet/engineering_personal,/obj/machinery/light{dir = 1},/obj/item/weapon/tank/emergency_oxygen/engi,/turf/simulated/floor,/area/engineering/locker_room) +"cil" = (/obj/structure/closet/secure_closet/engineering_personal,/obj/item/weapon/tank/emergency_oxygen/engi,/turf/simulated/floor,/area/engineering/locker_room) +"cim" = (/obj/structure/closet/secure_closet/engineering_personal,/obj/item/weapon/tank/emergency_oxygen/engi,/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/turf/simulated/floor,/area/engineering/locker_room) +"cin" = (/turf/simulated/wall,/area/engineering/locker_room) +"cio" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor,/area/engineering/locker_room) +"cip" = (/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/obj/machinery/smartfridge/drying_rack,/turf/simulated/floor{dir = 6; icon_state = "whitegreen"},/area/rnd/xenobiology/xenoflora_storage) +"ciq" = (/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/engine{name = "air floor"; nitrogen = 10580; oxygen = 2644},/area/engineering/atmos) +"cir" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/floor/engine{name = "o2 floor"; nitrogen = 0; oxygen = 100000},/area/engineering/atmos) +"cis" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/turf/simulated/floor/engine{name = "n2 floor"; nitrogen = 100000; oxygen = 0},/area/engineering/atmos) +"cit" = (/obj/machinery/light/small{dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/atmos_control) +"ciu" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/atmos_control) +"civ" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/item/weapon/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 6},/obj/item/weapon/storage/briefcase/inflatable{pixel_y = 3},/obj/structure/table/reinforced{icon_state = "table"},/obj/item/weapon/storage/briefcase/inflatable{pixel_x = -3; pixel_y = 0},/turf/simulated/floor,/area/engineering/engine_eva) +"ciw" = (/obj/machinery/camera{c_tag = "Engineering EVA Storage"; dir = 1; network = list("SS13")},/obj/machinery/suit_cycler/engineering,/turf/simulated/floor,/area/engineering/engine_eva) +"cix" = (/obj/machinery/atmospherics/pipe/simple/hidden/purple,/turf/simulated/floor,/area/engineering/engine_eva) +"ciy" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/void/atmos,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/void/atmos,/obj/machinery/door/window/northright{name = "Atmospherics Hardsuits"; req_access_txt = "24"},/turf/simulated/floor,/area/engineering/engine_eva) "ciz" = (/obj/structure/table/rack{dir = 1},/obj/item/weapon/storage/toolbox/emergency,/turf/simulated/floor/plating,/area/maintenance/engineering) "ciA" = (/turf/simulated/wall,/area/maintenance/substation/engineering) "ciB" = (/obj/structure/table/rack{dir = 1},/obj/item/weapon/extinguisher,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/maintenance/medbay) @@ -5870,19 +5870,19 @@ "ciT" = (/obj/structure/closet/secure_closet/medical2,/obj/machinery/light_switch{pixel_x = 22; pixel_y = 0},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery2) "ciU" = (/turf/simulated/wall,/area/medical/surgery2) "ciV" = (/obj/machinery/camera{c_tag = "Virology Access Fore"; dir = 4; network = list("SS13","Research")},/turf/simulated/floor,/area/medical/virologyaccess) -"ciW" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "EngineBlast"; name = "Engine Monitoring Room Blast Doors"; opacity = 0},/turf/simulated/floor/plating,/area/engineering/engine_room) +"ciW" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/void/atmos,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/void/atmos,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/window/northleft{name = "Atmospherics Hardsuits"; req_access_txt = "24"},/turf/simulated/floor,/area/engineering/engine_eva) "ciX" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor,/area/medical/surgeryprep) "ciY" = (/obj/structure/toilet{dir = 1},/obj/machinery/light/small{dir = 4},/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/turf/simulated/floor{icon_state = "freezerfloor"},/area/medical/patient_wing) "ciZ" = (/obj/machinery/shower{dir = 1},/obj/machinery/light/small{dir = 8},/turf/simulated/floor{icon_state = "freezerfloor"},/area/medical/patient_wing) -"cja" = (/obj/machinery/door/airlock/hatch{icon_state = "door_locked"; id_tag = "engine_electrical_maintenance"; locked = 1; name = "Electrical Maintenance"; req_access_txt = "10"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/engineering/engine_room) -"cjb" = (/turf/simulated/wall/r_wall,/area/engineering/drone_fabrication) -"cjc" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 10},/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor/plating,/area/engineering/engine_waste) -"cjd" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/engineering/engine_waste) -"cje" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/engineering/engine_waste) +"cja" = (/obj/structure/table/reinforced,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/turf/simulated/floor,/area/engineering/foyer) +"cjb" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/engineering/engine_eva) +"cjc" = (/obj/structure/table/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/cyan,/obj/item/weapon/folder/yellow,/turf/simulated/floor,/area/engineering/foyer) +"cjd" = (/obj/structure/table/reinforced,/obj/item/weapon/packageWrap,/obj/item/weapon/hand_labeler,/turf/simulated/floor,/area/engineering/foyer) +"cje" = (/obj/structure/table/reinforced,/obj/machinery/recharger{pixel_y = 0},/turf/simulated/floor,/area/engineering/foyer) "cjf" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/research_port) "cjg" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor{tag = "icon-whitegreen_v (SOUTHWEST)"; icon_state = "whitegreen_v"; dir = 10},/area/rnd/xenobiology/xenoflora_storage) "cjh" = (/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "whitegreen"},/area/rnd/xenobiology/xenoflora_storage) -"cji" = (/obj/machinery/camera/autoname{dir = 2; network = list("SS13","Supermatter","Atmospherics")},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplatecorner"},/area/engineering/engine_waste) +"cji" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor,/area/engineering/foyer) "cjj" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/light,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/turf/simulated/floor/plating,/area/rnd/xenobiology) "cjk" = (/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) "cjl" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/purple{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) @@ -5898,43 +5898,43 @@ "cjv" = (/obj/structure/stool,/obj/machinery/camera{c_tag = "Aft Starboard Solar Control"; dir = 4; network = list("SS13")},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) "cjw" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/effect/decal/cleanable/dirt,/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) "cjx" = (/obj/machinery/power/terminal{icon_state = "term"; dir = 1},/obj/machinery/light/small{dir = 4},/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) -"cjy" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/turf/simulated/wall/r_wall,/area/engineering/engine_waste) -"cjz" = (/obj/machinery/alarm{breach_detection = 0; dir = 2; frequency = 1439; name = "Engine Room Air Alarm"; pixel_y = 23},/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 10},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engineering/engine_room) -"cjA" = (/obj/machinery/power/terminal{dir = 4},/obj/structure/cable/yellow,/obj/machinery/power/sensor{name = "Powernet Sensor - Engine Output"; name_tag = "Engine Output"},/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/engineering/engine_room) +"cjy" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/engineering/foyer) +"cjz" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/engineering/locker_room) +"cjA" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering Locker Room"; req_one_access_txt = "11;24"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/engineering/locker_room) "cjB" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/construction) "cjC" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/engineering{name = "Construction Area"; req_access_txt = "32"},/turf/simulated/floor/plating,/area/construction) -"cjD" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "0"; req_one_access_txt = "12;47"},/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/maintenance/research_shuttle) -"cjE" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/engineering/engine_room) -"cjF" = (/obj/machinery/light/small{dir = 4},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/engineering/engine_waste) -"cjG" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'RADIOACTIVE AREA'"; icon_state = "radiation"; name = "RADIOACTIVE AREA"; pixel_x = 0; pixel_y = 0},/turf/simulated/wall/r_wall,/area/engineering/engine_room) -"cjH" = (/obj/machinery/door_control{desc = "A remote control-switch for the engine control room blast doors."; id = "EngineEmitterPortWest"; name = "Engine Room Blast Doors"; pixel_x = 0; pixel_y = 25; req_access_txt = "10"},/obj/machinery/atmospherics/portables_connector{dir = 4},/turf/simulated/floor/plating{icon_state = "platebot"},/area/engineering/engine_room) -"cjI" = (/obj/machinery/light{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/obj/machinery/atmospherics/binary/pump{dir = 8},/turf/simulated/floor/plating,/area/engineering/engine_room) -"cjJ" = (/turf/simulated/floor/plating,/area/engineering/engine_room) -"cjK" = (/obj/machinery/light_switch{pixel_x = 12; pixel_y = 25},/obj/machinery/power/apc/super{dir = 1; name = "north bump"; pixel_y = 24},/obj/structure/cable/cyan{d2 = 8; icon_state = "0-8"},/obj/machinery/power/sensor{name = "Powernet Sensor - Engine Power"; name_tag = "Engine Power"},/turf/simulated/floor/plating,/area/engineering/engine_room) -"cjL" = (/obj/machinery/airlock_sensor/airlock_interior{id_tag = "eng_al_int_snsr"; master_tag = "engine_room_airlock"; pixel_y = 22; req_access_txt = "10"},/obj/machinery/light{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/turf/simulated/floor/plating,/area/engineering/engine_room) -"cjM" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/cyan{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/plating,/area/engineering/engine_room) -"cjN" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/plating,/area/engineering/engine_room) -"cjO" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/engineering/engine_room) -"cjP" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/plating,/area/engineering/engine_room) -"cjQ" = (/obj/machinery/atmospherics/portables_connector,/turf/simulated/floor/plating{icon_state = "platebotc"},/area/engineering/engine_room) -"cjR" = (/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/engineering/engine_room) -"cjS" = (/obj/machinery/atmospherics/binary/pump,/turf/simulated/floor/plating,/area/engineering/engine_room) -"cjT" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/turf/simulated/floor/plating,/area/engineering/engine_waste) -"cjU" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engineering/engine_waste) +"cjD" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/engineering/locker_room) +"cjE" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor,/area/engineering/locker_room) +"cjF" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor,/area/engineering/locker_room) +"cjG" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/engineering/locker_room) +"cjH" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/extinguisher_cabinet{pixel_x = -5; pixel_y = 28},/turf/simulated/floor,/area/engineering/locker_room) +"cjI" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; external_pressure_bound = 0; external_pressure_bound_default = 0; frequency = 1443; icon_state = "map_vent_in"; id_tag = "air_out"; internal_pressure_bound = 2000; internal_pressure_bound_default = 2000; use_power = 1; pressure_checks = 2; pressure_checks_default = 2; pump_direction = 0},/turf/simulated/floor/engine{name = "air floor"; nitrogen = 10580; oxygen = 2644},/area/engineering/atmos) +"cjJ" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 2; frequency = 1443; icon_state = "map_injector"; id = "air_in"; use_power = 1},/turf/simulated/floor/engine{name = "air floor"; nitrogen = 10580; oxygen = 2644},/area/engineering/atmos) +"cjK" = (/obj/machinery/air_sensor{frequency = 1443; id_tag = "air_sensor"; output = 7},/turf/simulated/floor/engine{name = "air floor"; nitrogen = 10580; oxygen = 2644},/area/engineering/atmos) +"cjL" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 2; frequency = 1441; icon_state = "map_injector"; id = "o2_in"; use_power = 1},/turf/simulated/floor/engine{name = "o2 floor"; nitrogen = 0; oxygen = 100000},/area/engineering/atmos) +"cjM" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 2; external_pressure_bound = 0; external_pressure_bound_default = 0; frequency = 1441; icon_state = "map_vent_in"; id_tag = "o2_out"; initialize_directions = 1; internal_pressure_bound = 4000; internal_pressure_bound_default = 4000; use_power = 1; pressure_checks = 2; pressure_checks_default = 2; pump_direction = 0},/turf/simulated/floor/engine{name = "o2 floor"; nitrogen = 0; oxygen = 100000},/area/engineering/atmos) +"cjN" = (/obj/machinery/air_sensor{frequency = 1441; id_tag = "o2_sensor"},/turf/simulated/floor/engine{name = "o2 floor"; nitrogen = 0; oxygen = 100000},/area/engineering/atmos) +"cjO" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 2; frequency = 1441; icon_state = "map_injector"; id = "n2_in"; use_power = 1},/turf/simulated/floor/engine{name = "n2 floor"; nitrogen = 100000; oxygen = 0},/area/engineering/atmos) +"cjP" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 2; external_pressure_bound = 0; external_pressure_bound_default = 0; frequency = 1441; icon_state = "map_vent_in"; id_tag = "n2_out"; initialize_directions = 1; internal_pressure_bound = 4000; internal_pressure_bound_default = 4000; use_power = 1; pressure_checks = 2; pressure_checks_default = 2; pump_direction = 0},/turf/simulated/floor/engine{name = "n2 floor"; nitrogen = 100000; oxygen = 0},/area/engineering/atmos) +"cjQ" = (/obj/machinery/air_sensor{frequency = 1441; id_tag = "n2_sensor"},/turf/simulated/floor/engine{name = "n2 floor"; nitrogen = 100000; oxygen = 0},/area/engineering/atmos) +"cjR" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/plating,/area/maintenance/atmos_control) +"cjS" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/atmos_control) +"cjT" = (/obj/machinery/door/airlock/maintenance{name = "Engineering EVA Storage Maintainance"; req_access_txt = "12"; req_one_access_txt = "11;24"},/obj/machinery/atmospherics/pipe/simple/hidden/purple,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/engineering/engine_eva) +"cjU" = (/obj/machinery/computer/station_alert,/turf/simulated/floor,/area/engineering/foyer) "cjV" = (/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating/airless,/area/solar/port) "cjW" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating/airless,/area/solar/port) -"cjX" = (/obj/machinery/atmospherics/pipe/manifold4w/visible/purple,/turf/simulated/floor/plating,/area/engineering/engine_waste) -"cjY" = (/obj/machinery/atmospherics/binary/pump{dir = 8},/turf/simulated/floor/plating,/area/engineering/engine_waste) -"cjZ" = (/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/engineering/engine_room) +"cjX" = (/obj/structure/stool/bed/chair/office/dark{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/cyan,/turf/simulated/floor,/area/engineering/foyer) +"cjY" = (/obj/structure/table/reinforced,/obj/item/weapon/clipboard,/obj/item/weapon/tape_roll,/turf/simulated/floor,/area/engineering/foyer) +"cjZ" = (/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=AIE"; location = "AftH"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor,/area/engineering/foyer) "cka" = (/obj/structure/table,/obj/item/weapon/FixOVein,/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/obj/item/weapon/surgicaldrill,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) "ckb" = (/obj/machinery/computer/operating,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) "ckc" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) "ckd" = (/obj/structure/table,/obj/item/weapon/reagent_containers/spray/cleaner{desc = "Someone has crossed out the Space from Space Cleaner and written in Surgery. 'Do not remove under punishment of death!!!' is scrawled on the back."; name = "Surgery Cleaner"},/turf/simulated/floor{dir = 4; icon_state = "whitered"},/area/medical/surgery) -"cke" = (/turf/simulated/floor/plating{dir = 4; icon_state = "warnplatecorner"},/area/engineering/engine_room) +"cke" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor,/area/engineering/foyer) "ckf" = (/obj/structure/table,/obj/item/device/radio{anchored = 1; broadcasting = 0; canhear_range = 7; frequency = 1487; icon = 'icons/obj/items.dmi'; icon_state = "red_phone"; listening = 1; name = "Surgery Emergency Phone"},/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/medical/surgeryprep) "ckg" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/medical/surgeryprep) "ckh" = (/obj/structure/disposalpipe/segment,/obj/item/roller,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "blue"; dir = 4},/area/medical/surgeryprep) -"cki" = (/obj/machinery/atmospherics/pipe/manifold/visible/yellow{dir = 4},/turf/simulated/floor/plating{dir = 8; icon_state = "warnplatecorner"},/area/engineering/engine_room) +"cki" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/engineering/foyer) "ckj" = (/obj/structure/table,/obj/item/weapon/reagent_containers/spray/cleaner{desc = "Someone has crossed out the Space from Space Cleaner and written in Surgery. 'Do not remove under punishment of death!!!' is scrawled on the back."; name = "Surgery Cleaner"},/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/surgery2) "ckk" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery2) "ckl" = (/obj/machinery/computer/operating,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery2) @@ -5943,17 +5943,17 @@ "cko" = (/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/maintenance/medbay) "ckp" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance,/obj/structure/disposalpipe/segment,/obj/structure/sign/redcross{desc = "The Star of Life, a symbol of Medical Aid."; icon_state = "lifestar"; name = "Medbay"; pixel_x = 0; pixel_y = 32},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/medical/virologyaccess) "ckq" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor,/area/medical/virologyaccess) -"ckr" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/engineering/engine_room) -"cks" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 6},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/engineering/engine_room) +"ckr" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering/foyer) +"cks" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor,/area/engineering/locker_room) "ckt" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/research_port) -"cku" = (/obj/machinery/atmospherics/omni/filter{use_power = 0; tag_east = 1; tag_north = 0; tag_south = 4; tag_west = 2},/turf/simulated/floor/plating,/area/engineering/engine_room) +"cku" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering Locker Room"; req_one_access_txt = "11;24"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering/locker_room) "ckv" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating/airless,/area/solar/starboard) "ckw" = (/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating/airless,/area/solar/starboard) "ckx" = (/turf/simulated/floor/plating/airless,/area/solar/starboard) "cky" = (/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless,/area/solar/starboard) -"ckz" = (/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/window/brigdoor{dir = 8; name = "Engine Waste"; req_access = null; req_access_txt = "0"; req_one_access_txt = "10;24"},/obj/machinery/atmospherics/portables_connector,/turf/simulated/floor/plating{icon_state = "platebot"},/area/engineering/engine_waste) -"ckA" = (/obj/machinery/door/blast/regular{icon_state = "pdoor1"; id = "EngineEmitterPortWest"; layer = 3.3; name = "Engine Waste Handling Access"},/turf/simulated/floor/plating,/area/engineering/engine_room) -"ckB" = (/obj/structure/grille,/obj/structure/grille,/turf/space,/area/space) +"ckz" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/engineering/locker_room) +"ckA" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/engineering/locker_room) +"ckB" = (/turf/simulated/floor,/area/engineering/locker_room) "ckC" = (/obj/machinery/door/window/northright{name = "Xenoflora Containment"; req_access_txt = "47"},/turf/simulated/floor{icon_state = "hydrofloor"},/area/rnd/xenobiology/xenoflora_storage) "ckD" = (/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor{icon_state = "hydrofloor"},/area/rnd/xenobiology/xenoflora_storage) "ckE" = (/obj/structure/sign/biohazard,/turf/simulated/wall/r_wall,/area/rnd/xenobiology) @@ -5971,35 +5971,35 @@ "ckQ" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "solar_xeno_airlock"; name = "interior access button"; pixel_x = -25; pixel_y = -25; req_access_txt = "10;13"},/obj/machinery/atmospherics/pipe/manifold/visible{dir = 8},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/maintenance/starboardsolar) "ckR" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0; pixel_y = -32},/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor/plating{dir = 1; icon_state = "warnplatecorner"},/area/maintenance/starboardsolar) "ckS" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating/airless,/area/solar/starboard) -"ckT" = (/obj/machinery/atmospherics/unary/heat_exchanger{dir = 8},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 9},/area/engineering/engine_waste) +"ckT" = (/obj/machinery/light_switch{pixel_x = 27},/turf/simulated/floor,/area/engineering/locker_room) "ckU" = (/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating/airless,/area/solar/starboard) "ckV" = (/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating/airless,/area/solar/starboard) -"ckW" = (/obj/machinery/atmospherics/unary/heat_exchanger{dir = 4},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 5},/area/engineering/engine_waste) +"ckW" = (/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Substation - Engineering"},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green,/turf/simulated/floor/plating,/area/maintenance/substation/engineering) "ckX" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio1"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/rnd/xenobiology) -"ckY" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/visible/purple{dir = 1},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engineering/engine_waste) -"ckZ" = (/obj/machinery/door/window/brigdoor{dir = 8; name = "Engine Waste"; req_access = null; req_access_txt = "0"; req_one_access_txt = "10;24"},/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 9},/turf/simulated/floor/plating{icon_state = "platebot"},/area/engineering/engine_waste) -"cla" = (/obj/machinery/atmospherics/pipe/simple/visible/purple,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/engineering/engine_room) +"ckY" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor/plating,/area/maintenance/research_port) +"ckZ" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/machinery/meter{frequency = 1443; id = "mair_out_meter"; name = "Mixed Air Tank Out"},/turf/simulated/wall/r_wall,/area/engineering/atmos) +"cla" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/machinery/meter{frequency = 1443; id = "mair_in_meter"; name = "Mixed Air Tank In"},/turf/simulated/wall/r_wall,/area/engineering/atmos) "clb" = (/obj/item/weapon/wirecutters,/obj/effect/decal/cleanable/blood/oil/streak{amount = 0},/turf/simulated/floor/plating,/area/construction) -"clc" = (/obj/machinery/atmospherics/pipe/manifold/visible/yellow{dir = 8},/turf/simulated/floor/plating,/area/engineering/engine_room) -"cld" = (/obj/machinery/atmospherics/pipe/manifold/visible/yellow{dir = 4},/obj/machinery/meter,/turf/simulated/floor/plating,/area/engineering/engine_room) -"cle" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/engineering/engine_room) +"clc" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/engineering/atmos) +"cld" = (/obj/structure/grille,/obj/machinery/meter,/obj/machinery/atmospherics/pipe/simple/visible/purple,/turf/simulated/wall/r_wall,/area/engineering/atmos) +"cle" = (/obj/structure/grille,/obj/machinery/meter,/obj/machinery/atmospherics/pipe/simple/visible/green,/turf/simulated/wall/r_wall,/area/engineering/atmos) "clf" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "nuke_shuttle_dock_inner"; locked = 1; name = "Docking Port Airlock"; req_access = null; req_access_txt = "13"},/turf/simulated/floor/plating,/area/hallway/secondary/entry/port) -"clg" = (/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/valve/digital/open{dir = 4},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/engineering/engine_room) -"clh" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 6},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplatecorner"},/area/engineering/engine_room) +"clg" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/maintenance/atmos_control) +"clh" = (/obj/structure/sign/securearea{pixel_x = -32},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/atmos_control) "cli" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor,/area/medical/virologyaccess) -"clj" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{tag = "icon-intact (SOUTHWEST)"; icon_state = "intact"; dir = 10},/turf/simulated/floor/plating{dir = 1; icon_state = "warnplatecorner"},/area/engineering/engine_room) -"clk" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/turf/simulated/floor/plating,/area/engineering/engine_room) -"cll" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/heat_exchanging{tag = "icon-intact (SOUTHWEST)"; icon_state = "intact"; dir = 10},/turf/space,/area/space) -"clm" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 4},/turf/space,/area/space) -"cln" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/turf/simulated/floor/plating,/area/engineering/engine_room) +"clj" = (/obj/machinery/door/window/eastright{name = "Engineering Delivery"; req_one_access_txt = "11;24"},/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 6; icon_state = "intact"; tag = "icon-intact-f (SOUTHEAST)"},/turf/simulated/floor{icon_state = "delivery"},/area/engineering/foyer) +"clk" = (/obj/machinery/navbeacon{codes_txt = "delivery;dir=4"; freq = 1400; location = "Engineering"},/obj/structure/plasticflaps{opacity = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor{icon_state = "bot"},/area/engineering/foyer) +"cll" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact-f (EAST)"},/obj/machinery/light,/turf/simulated/floor,/area/engineering/foyer) +"clm" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact-f (EAST)"},/obj/machinery/atmospherics/pipe/simple/hidden/purple,/turf/simulated/floor{dir = 4; icon_state = "loadingarea"},/area/engineering/foyer) +"cln" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact-f (EAST)"},/turf/simulated/floor,/area/engineering/foyer) "clo" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio6"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/disposalpipe/segment,/obj/structure/cable/green,/turf/simulated/floor/plating,/area/rnd/xenobiology) "clp" = (/obj/machinery/door/window/southright{name = "Containment Pen"; req_access_txt = "47"},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio5"; name = "Containment Blast Doors"; opacity = 0},/turf/simulated/floor/engine,/area/rnd/xenobiology) "clq" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio5"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/cable/green,/turf/simulated/floor/plating,/area/rnd/xenobiology) "clr" = (/obj/structure/table,/obj/item/stack/cable_coil/random,/obj/item/stack/cable_coil/random,/obj/machinery/light{dir = 8},/turf/simulated/floor,/area/storage/art) "cls" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio5"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/disposalpipe/segment,/obj/structure/cable/green,/turf/simulated/floor/plating,/area/rnd/xenobiology) -"clt" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan{dir = 8},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/engineering/engine_room) +"clt" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact-f (EAST)"},/obj/machinery/requests_console{announcementConsole = 0; department = "Engineering"; departmentType = 4; name = "Engineering RC"; pixel_x = 0; pixel_y = -32},/turf/simulated/floor,/area/engineering/foyer) "clu" = (/obj/machinery/door/window/southright{name = "Containment Pen"; req_access_txt = "47"},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio4"; name = "Containment Blast Doors"; opacity = 0},/turf/simulated/floor/engine,/area/rnd/xenobiology) -"clv" = (/obj/machinery/power/emitter{anchored = 1; id = "EngineEmitter"; state = 2},/obj/structure/cable/cyan,/turf/simulated/floor/plating,/area/engineering/engine_room) +"clv" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact-f (EAST)"},/obj/machinery/computer/guestpass{pixel_y = -28},/turf/simulated/floor,/area/engineering/foyer) "clw" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = 0},/turf/simulated/wall,/area/maintenance/substation/engineering) "clx" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating{dir = 1; icon_state = "warnplatecorner"},/area/maintenance/engineering) "cly" = (/obj/structure/table,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/item/weapon/circular_saw{pixel_y = 8},/obj/item/weapon/scalpel,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) @@ -6048,48 +6048,48 @@ "cmp" = (/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/visible,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) "cmq" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) "cmr" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) -"cms" = (/obj/machinery/atmospherics/pipe/manifold/visible/yellow{dir = 4},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engineering/engine_room) -"cmt" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/structure/lattice,/turf/space,/area/space) -"cmu" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "EngineRadiatorViewport"; name = "Engine Radiator Viewport Shutter"; opacity = 0},/turf/simulated/floor/plating,/area/engineering/engine_room) -"cmv" = (/obj/machinery/atmospherics/pipe/manifold4w/visible/cyan,/obj/machinery/meter,/turf/simulated/floor/plating,/area/engineering/engine_room) -"cmw" = (/obj/machinery/atmospherics/unary/heat_exchanger{dir = 4},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 6},/area/engineering/engine_waste) -"cmx" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/visible/purple,/obj/machinery/meter{id = "wloop_atm_meter"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engineering/engine_waste) -"cmy" = (/obj/machinery/atmospherics/pipe/manifold/visible/purple,/obj/machinery/meter,/turf/simulated/floor/plating,/area/engineering/engine_waste) +"cms" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/turf/simulated/floor,/area/engineering/foyer) +"cmt" = (/obj/machinery/door/window/eastright{name = "Engineering Reception Desk"; req_one_access_txt = "10;24"},/obj/machinery/light,/turf/simulated/floor,/area/engineering/foyer) +"cmu" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/engineering/foyer) +"cmv" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor{dir = 8; icon_state = "yellowcorner"},/area/engineering/foyer) +"cmw" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/engineering/foyer) +"cmx" = (/obj/structure/disposalpipe/junction{icon_state = "pipe-j2"; dir = 2},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/engineering/foyer) +"cmy" = (/obj/structure/closet/secure_closet/atmos_personal,/obj/item/weapon/tank/emergency_oxygen/engi,/turf/simulated/floor,/area/engineering/locker_room) "cmz" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/construction) "cmA" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor,/area/construction) -"cmB" = (/obj/machinery/atmospherics/unary/heat_exchanger{dir = 8},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 10},/area/engineering/engine_waste) -"cmC" = (/obj/machinery/atmospherics/pipe/manifold/visible/purple,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/engineering/engine_room) -"cmD" = (/obj/machinery/atmospherics/omni/filter{use_power = 0; tag_east = 1; tag_north = 4; tag_south = 0; tag_west = 2},/turf/simulated/floor/plating,/area/engineering/engine_room) -"cmE" = (/obj/machinery/door/window/brigdoor{dir = 8; name = "Engine Waste"; req_access = null; req_access_txt = "0"; req_one_access_txt = "10;24"},/obj/structure/window/reinforced,/obj/machinery/atmospherics/binary/pump{dir = 8; name = "waste pump"},/turf/simulated/floor/plating{icon_state = "platebot"},/area/engineering/engine_waste) -"cmF" = (/obj/machinery/door/blast/regular{icon_state = "pdoor1"; id = "EngineEmitterPortWest"; layer = 3.3; name = "Engine Waste Handling Access"},/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/turf/simulated/floor/plating,/area/engineering/engine_room) -"cmG" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/turf/simulated/floor/plating,/area/engineering/engine_room) -"cmH" = (/obj/machinery/atmospherics/pipe/manifold/visible/yellow,/turf/simulated/floor/plating,/area/engineering/engine_room) -"cmI" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/engineering/engine_room) -"cmJ" = (/turf/simulated/wall/r_wall,/area/engineering/storage) -"cmK" = (/obj/machinery/constructable_frame/machine_frame,/turf/simulated/floor,/area/engineering/workshop) -"cmL" = (/obj/effect/decal/cleanable/blood/oil{amount = 0},/turf/simulated/floor,/area/engineering/workshop) -"cmM" = (/turf/simulated/floor,/area/engineering/workshop) -"cmN" = (/obj/structure/table,/obj/item/weapon/storage/belt/utility,/obj/item/weapon/storage/belt/utility,/obj/item/stack/cable_coil,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = 3},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor,/area/engineering/workshop) -"cmO" = (/obj/structure/stool/bed/chair,/obj/effect/landmark/start{name = "Station Engineer"},/turf/simulated/floor,/area/engineering/workshop) -"cmP" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/engineering) -"cmQ" = (/turf/simulated/floor,/area/engineering) -"cmR" = (/turf/simulated/wall/r_wall,/area/engineering/workshop) -"cmS" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor,/area/engineering) +"cmB" = (/obj/structure/closet/secure_closet/atmos_personal,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/obj/item/weapon/tank/emergency_oxygen/engi,/turf/simulated/floor,/area/engineering/locker_room) +"cmC" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor,/area/engineering/locker_room) +"cmD" = (/obj/structure/table,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor,/area/engineering/locker_room) +"cmE" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/table,/obj/machinery/camera{c_tag = "Engineering Locker Room"; dir = 1; network = list("SS13")},/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor,/area/engineering/locker_room) +"cmF" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "0"; req_one_access_txt = "10;24"},/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/substation/engineering) +"cmG" = (/obj/machinery/camera{c_tag = "Medbay Operating Theatre 1"; dir = 8; network = list("SS13")},/obj/machinery/button/holosign{pixel_x = 24; pixel_y = 2},/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/simulated/floor{dir = 4; icon_state = "whiteredcorner"},/area/medical/surgery) +"cmH" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/obj/structure/extinguisher_cabinet{pixel_x = 25; pixel_y = 0},/turf/simulated/floor{icon_state = "blue"; dir = 4},/area/medical/surgeryprep) +"cmI" = (/obj/machinery/button/holosign{pixel_x = -24; pixel_y = 2},/obj/machinery/camera{c_tag = "Medbay Operating Theatre 2"; dir = 4; network = list("SS13")},/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/turf/simulated/floor{dir = 1; icon_state = "whiteredcorner"},/area/medical/surgery2) +"cmJ" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/atmos{name = "Atmospherics Maintenance"; req_access_txt = "12;24"},/obj/machinery/atmospherics/pipe/simple/visible/supply,/turf/simulated/floor,/area/maintenance/atmos_control) +"cmK" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/atmos{name = "Atmospherics Maintenance"; req_access_txt = "12;24"},/obj/machinery/atmospherics/pipe/simple/visible/scrubbers,/turf/simulated/floor,/area/maintenance/atmos_control) +"cmL" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan,/turf/simulated/wall/r_wall,/area/engineering/atmos) +"cmM" = (/turf/simulated/wall/r_wall,/area/engineering/atmos) +"cmN" = (/turf/simulated/wall/r_wall,/area/engineering/atmos/monitoring) +"cmO" = (/obj/machinery/door/airlock/maintenance{name = "Atmospherics Maintenance Access"; req_access_txt = "12;24"},/obj/machinery/atmospherics/pipe/simple/hidden/purple,/turf/simulated/floor,/area/engineering/atmos) +"cmP" = (/obj/machinery/door/airlock/glass_atmos{name = "Atmospherics Monitoring Room"; req_access_txt = "24"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/engineering/atmos/monitoring) +"cmQ" = (/turf/simulated/wall/r_wall,/area/engineering/engineering_monitoring) +"cmR" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/engineering/engineering_monitoring) +"cmS" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering Monitoring Room"; req_access_txt = "11"},/turf/simulated/floor,/area/engineering/engineering_monitoring) "cmT" = (/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating/airless,/area/solar/starboard) "cmU" = (/obj/machinery/door/blast/regular{dir = 4; id = "disvent"; name = "Incinerator Vent"},/turf/simulated/floor/engine/vacuum,/area/maintenance/incinerator) "cmV" = (/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/hallway/secondary/entry/port) "cmW" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; external_pressure_bound = 140; external_pressure_bound_default = 140; icon_state = "map_vent_out"; use_power = 1; pressure_checks = 0; pressure_checks_default = 0},/turf/simulated/floor/plating/airless,/area/maintenance/incinerator) -"cmX" = (/obj/machinery/portable_atmospherics/powered/scrubber,/turf/simulated/floor,/area/engineering/atmos/storage) +"cmX" = (/obj/structure/sign/securearea,/turf/simulated/wall/r_wall,/area/engineering/engineering_monitoring) "cmY" = (/obj/machinery/door/blast/regular{desc = "By gods, release the hounds!"; id = "xenobioout6"; name = "Containment Release"},/turf/simulated/floor/engine,/area/rnd/xenobiology) "cmZ" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating/airless,/area/solar/starboard) "cna" = (/obj/structure/cable/yellow,/turf/simulated/floor/plating/airless,/area/solar/starboard) "cnb" = (/obj/structure/table,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/item/stack/medical/advanced/bruise_pack,/obj/item/weapon/retractor,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) "cnc" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) "cnd" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) -"cne" = (/obj/machinery/atmospherics/pipe/manifold/hidden/yellow{tag = "icon-map (WEST)"; icon_state = "map"; dir = 8},/turf/simulated/wall/r_wall,/area/engineering/atmos/storage) +"cne" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering Hallway"; req_one_access_txt = "10;24"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/engineering) "cnf" = (/obj/structure/stool/bed/chair/comfy/black{dir = 4},/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/medical/surgeryprep) -"cng" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "0"; req_one_access_txt = "12;47"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/maintenance/research_shuttle) -"cnh" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/engineering) +"cng" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering Hallway"; req_one_access_txt = "10;24"},/turf/simulated/floor,/area/engineering) +"cnh" = (/obj/structure/sign/securearea,/turf/simulated/wall/r_wall,/area/engineering/workshop) "cni" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery2) "cnj" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery2) "cnk" = (/obj/structure/table,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/item/stack/medical/advanced/bruise_pack,/obj/item/weapon/retractor,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery2) @@ -6106,26 +6106,26 @@ "cnv" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) "cnw" = (/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "solar_xeno_pump"; tag_exterior_door = "solar_xeno_outer"; frequency = 1379; id_tag = "solar_xeno_airlock"; tag_interior_door = "solar_xeno_inner"; pixel_x = 25; req_access_txt = "13"; tag_chamber_sensor = "solar_xeno_sensor"},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "solar_xeno_sensor"; pixel_x = 25; pixel_y = 12},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1379; id_tag = "solar_xeno_pump"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/decal/warning_stripes,/turf/simulated/floor/plating,/area/maintenance/starboardsolar) "cnx" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/structure/lattice,/turf/space,/area/space) -"cny" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor,/area/engineering/atmos) -"cnz" = (/turf/simulated/floor,/area/engineering/atmos) +"cny" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering Hallway"; req_one_access_txt = "10;24"},/turf/simulated/floor,/area/engineering) +"cnz" = (/turf/simulated/wall/r_wall,/area/engineering/workshop) "cnA" = (/obj/machinery/light{dir = 8},/turf/simulated/floor,/area/construction) "cnB" = (/obj/item/device/flashlight,/turf/simulated/floor,/area/construction) "cnC" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor,/area/construction) "cnD" = (/turf/simulated/wall/r_wall,/area/construction) -"cnE" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/atmos{name = "Atmospherics Maintenance"; req_access_txt = "12;24"},/turf/simulated/floor,/area/engineering/atmos/storage) -"cnF" = (/turf/simulated/floor,/area/engineering/atmos/storage) -"cnG" = (/obj/machinery/atmospherics/portables_connector,/turf/simulated/floor,/area/engineering/atmos) -"cnH" = (/obj/machinery/atmospherics/binary/pump{dir = 1},/turf/simulated/floor,/area/engineering/atmos) -"cnI" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor,/area/engineering/atmos) -"cnJ" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/obj/machinery/camera{c_tag = "Atmospherics South East"; dir = 1},/obj/machinery/light,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering/atmos) -"cnK" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow,/turf/simulated/floor,/area/engineering/atmos) -"cnL" = (/obj/machinery/atmospherics/binary/pump,/turf/simulated/floor,/area/engineering/atmos) -"cnM" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 10},/turf/simulated/floor,/area/engineering/atmos) -"cnN" = (/obj/machinery/atmospherics/pipe/manifold/visible/purple,/obj/machinery/meter,/turf/simulated/floor,/area/engineering/atmos) -"cnO" = (/obj/machinery/atmospherics/pipe/manifold/visible/purple{dir = 1},/turf/simulated/floor,/area/engineering/atmos) -"cnP" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/turf/simulated/floor,/area/engineering/atmos) -"cnQ" = (/obj/machinery/atmospherics/pipe/simple/visible/green,/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/turf/simulated/floor,/area/engineering/atmos) -"cnR" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/obj/machinery/meter,/turf/simulated/floor,/area/engineering/atmos) +"cnE" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering Workshop"; req_access_txt = "0"; req_one_access_txt = "11;24"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/engineering/workshop) +"cnF" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering Workshop"; req_access_txt = "0"; req_one_access_txt = "11;24"},/turf/simulated/floor,/area/engineering/workshop) +"cnG" = (/turf/simulated/wall/r_wall,/area/engineering/locker_room) +"cnH" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/plating,/area/engineering/atmos) +"cnI" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/engineering/atmos) +"cnJ" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/engineering/atmos) +"cnK" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor/plating,/area/engineering/atmos) +"cnL" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/purple,/turf/simulated/floor/plating,/area/engineering/atmos) +"cnM" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/visible/green{dir = 8},/turf/simulated/floor/plating,/area/engineering/atmos) +"cnN" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/green{tag = "icon-intact (SOUTHWEST)"; icon_state = "intact"; dir = 10},/turf/simulated/floor/plating,/area/engineering/atmos) +"cnO" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/manifold/visible/green{dir = 8},/turf/simulated/floor/plating,/area/engineering/atmos) +"cnP" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/plating,/area/engineering/atmos) +"cnQ" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/engineering/atmos) +"cnR" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/visible/green{tag = "icon-intact (SOUTHWEST)"; icon_state = "intact"; dir = 10},/turf/simulated/floor/plating,/area/engineering/atmos) "cnS" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating{dir = 4; icon_state = "warnplatecorner"},/area/maintenance/engineering) "cnT" = (/obj/structure/table,/obj/item/weapon/hemostat,/obj/machinery/light,/obj/item/weapon/cautery,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) "cnU" = (/obj/structure/table,/obj/item/weapon/bonesetter,/obj/item/weapon/bonegel,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) @@ -6154,40 +6154,40 @@ "cor" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio2"; name = "Containment Blast Doors"; opacity = 0},/obj/machinery/door/window/northleft{base_state = "right"; dir = 8; icon_state = "right"; name = "Containment Pen"; req_access_txt = "55"},/turf/simulated/floor/engine,/area/rnd/xenobiology) "cos" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) "cot" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "solar_xeno_outer"; locked = 1; name = "Engineering External Access"; req_access = null; req_access_txt = "10;13"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) -"cou" = (/obj/machinery/atmospherics/omni/filter{use_power = 1; tag_east = 1; tag_north = 4; tag_south = 7; tag_west = 2},/turf/simulated/floor,/area/engineering/atmos) -"cov" = (/obj/machinery/atmospherics/omni/filter{use_power = 1; tag_east = 1; tag_north = 3; tag_south = 6; tag_west = 2},/turf/simulated/floor,/area/engineering/atmos) -"cow" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 6},/turf/simulated/floor,/area/engineering/atmos) -"cox" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/engineering/atmos) -"coy" = (/obj/machinery/atmospherics/pipe/simple/hidden/yellow{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/turf/simulated/wall/r_wall,/area/engineering/atmos/storage) +"cou" = (/obj/machinery/meter{frequency = 1443; id = "dloop_atm_meter"; name = "Distribution Loop"},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold/visible/supply{dir = 8},/turf/simulated/floor,/area/engineering/atmos) +"cov" = (/obj/machinery/meter{frequency = 1443; id = "wloop_atm_meter"; name = "Waste Loop"},/obj/machinery/atmospherics/pipe/simple/visible/scrubbers,/turf/simulated/floor,/area/engineering/atmos) +"cow" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/machinery/meter,/obj/machinery/firealarm{pixel_y = 24},/turf/simulated/floor,/area/engineering/atmos) +"cox" = (/obj/machinery/alarm{frequency = 1439; pixel_y = 23},/obj/machinery/atmospherics/pipe/simple/visible/supply{dir = 10},/turf/simulated/floor,/area/engineering/atmos) +"coy" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/engineering/atmos/monitoring) "coz" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/hallway/secondary/entry/port) -"coA" = (/obj/machinery/space_heater,/obj/machinery/light/small,/turf/simulated/floor,/area/engineering/atmos/storage) -"coB" = (/obj/machinery/space_heater,/turf/simulated/floor,/area/engineering/atmos/storage) -"coC" = (/turf/simulated/wall/r_wall,/area/engineering/atmos/storage) -"coD" = (/obj/machinery/door/airlock/maintenance{name = "Atmospherics Maintenance Access"; req_access_txt = "12;24"},/obj/structure/disposalpipe/segment,/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/engineering/atmos/storage) -"coE" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/engineering/atmos) -"coF" = (/obj/machinery/atmospherics/pipe/manifold/visible/yellow,/obj/machinery/meter,/turf/simulated/floor,/area/engineering/atmos) -"coG" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 9},/turf/simulated/floor,/area/engineering/atmos) -"coH" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/turf/simulated/floor,/area/engineering/atmos) -"coI" = (/obj/machinery/requests_console{announcementConsole = 0; department = "Engineering"; departmentType = 4; name = "Engineering RC"; pixel_x = 0; pixel_y = -32},/turf/simulated/floor,/area/engineering/workshop) -"coJ" = (/obj/structure/table,/obj/item/device/radio/off{pixel_y = 6},/obj/item/device/radio/off{pixel_x = 6; pixel_y = 4},/obj/item/device/radio/off{pixel_x = -6; pixel_y = 4},/obj/item/device/radio/off,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor,/area/engineering/workshop) -"coK" = (/obj/structure/table,/obj/machinery/light,/obj/item/weapon/wrench,/obj/item/device/flashlight,/obj/machinery/cell_charger,/turf/simulated/floor,/area/engineering/workshop) -"coL" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical{pixel_y = 5},/obj/item/weapon/storage/toolbox/mechanical{pixel_y = 5},/obj/item/weapon/storage/toolbox/electrical,/turf/simulated/floor,/area/engineering/workshop) -"coM" = (/obj/structure/table,/obj/item/device/floor_painter,/obj/item/device/multitool{pixel_x = 5},/obj/item/device/t_scanner,/obj/item/weapon/reagent_containers/spray/cleaner,/turf/simulated/floor,/area/engineering/workshop) -"coN" = (/obj/machinery/atmospherics/pipe/simple/visible/purple,/turf/simulated/floor,/area/engineering/atmos) -"coO" = (/obj/machinery/atmospherics/binary/passive_gate,/turf/simulated/floor,/area/engineering/atmos) -"coP" = (/obj/machinery/atmospherics/pipe/simple/visible/green,/turf/simulated/floor,/area/engineering/atmos) -"coQ" = (/obj/machinery/atmospherics/pipe/simple/visible/purple,/obj/machinery/meter,/turf/simulated/floor,/area/engineering/atmos) -"coR" = (/obj/machinery/atmospherics/pipe/manifold4w/visible/green,/turf/simulated/floor,/area/engineering/atmos) -"coS" = (/obj/machinery/atmospherics/pipe/simple/visible/green{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor,/area/engineering/atmos) -"coT" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/purple{tag = "icon-intact (NORTH)"; icon_state = "intact"; dir = 1},/turf/simulated/floor,/area/engineering/atmos) -"coU" = (/obj/machinery/atmospherics/binary/pump{dir = 4},/turf/simulated/floor,/area/engineering/atmos) -"coV" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/simple/visible/green{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor,/area/engineering/atmos) -"coW" = (/obj/machinery/atmospherics/pipe/manifold/visible/green{dir = 1},/turf/simulated/floor,/area/engineering/atmos) -"coX" = (/obj/machinery/atmospherics/pipe/simple/visible/purple,/obj/machinery/atmospherics/pipe/simple/visible/green{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor,/area/engineering/atmos) -"coY" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/engineering/atmos) -"coZ" = (/obj/machinery/atmospherics/pipe/simple/visible/green{tag = "icon-intact (SOUTHEAST)"; icon_state = "intact"; dir = 6},/turf/simulated/floor,/area/engineering/atmos) -"cpa" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/glass_engineering{name = "Engineering Hallway"; req_one_access_txt = "10;24"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/engineering) -"cpb" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering Hallway"; req_one_access_txt = "10;24"},/turf/simulated/floor,/area/engineering) +"coA" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/simple/visible/purple,/turf/simulated/floor,/area/engineering/atmos) +"coB" = (/obj/machinery/firealarm{pixel_x = 32; pixel_y = 24},/turf/simulated/floor,/area/engineering/atmos/monitoring) +"coC" = (/obj/machinery/computer/general_air_control{frequency = 1443; level = 3; name = "Distribution and Waste Monitor"; sensors = list("mair_in_meter" = "Mixed Air In", "air_sensor" = "Mixed Air Supply Tank", "mair_out_meter" = "Mixed Air Out", "dloop_atm_meter" = "Distribution Loop", "wloop_atm_meter" = "Engine Waste")},/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/engineering/atmos/monitoring) +"coD" = (/obj/machinery/computer/atmoscontrol,/turf/simulated/floor,/area/engineering/atmos/monitoring) +"coE" = (/obj/structure/table/reinforced,/turf/simulated/floor,/area/engineering/engineering_monitoring) +"coF" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/turf/simulated/floor,/area/engineering/engineering_monitoring) +"coG" = (/obj/machinery/computer/atmos_alert,/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor,/area/engineering/engineering_monitoring) +"coH" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor,/area/engineering) +"coI" = (/turf/simulated/floor,/area/engineering) +"coJ" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/structure/sign/directions/medical{dir = 1; icon_state = "direction_med"; pixel_x = 30; pixel_y = 4; tag = "icon-direction_med (NORTH)"},/obj/structure/sign/directions/evac{dir = 8; icon_state = "direction_evac"; pixel_x = 30; pixel_y = -4; tag = "icon-direction_evac (WEST)"},/turf/simulated/floor,/area/engineering) +"coK" = (/obj/machinery/vending/engivend,/turf/simulated/floor,/area/engineering/workshop) +"coL" = (/obj/machinery/vending/tool,/turf/simulated/floor,/area/engineering/workshop) +"coM" = (/obj/structure/closet/toolcloset,/obj/item/device/flashlight,/turf/simulated/floor,/area/engineering/workshop) +"coN" = (/obj/structure/closet/toolcloset,/obj/machinery/light{dir = 1},/obj/item/device/flashlight,/turf/simulated/floor,/area/engineering/workshop) +"coO" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/engineering/workshop) +"coP" = (/turf/simulated/floor,/area/engineering/workshop) +"coQ" = (/obj/machinery/shield_gen/external,/turf/simulated/floor/plating,/area/engineering/storage) +"coR" = (/turf/simulated/wall/r_wall,/area/engineering/storage) +"coS" = (/obj/machinery/shield_gen,/obj/machinery/light{dir = 1},/turf/simulated/floor/plating,/area/engineering/storage) +"coT" = (/obj/machinery/power/rad_collector,/turf/simulated/floor/plating,/area/engineering/storage) +"coU" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/engineering/atmos) +"coV" = (/obj/machinery/atmospherics/valve/digital/open{name = "Mixed Air Outlet Valve"},/turf/simulated/floor{dir = 9; icon_state = "arrival"},/area/engineering/atmos) +"coW" = (/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/engineering/atmos) +"coX" = (/obj/machinery/atmospherics/valve/digital/open{name = "Mixed Air Inlet Valve"},/turf/simulated/floor{icon_state = "arrival"; dir = 5},/area/engineering/atmos) +"coY" = (/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1443; input_tag = "air_in"; name = "Mixed Air Supply Control"; output_tag = "air_out"; pressure_setting = 2000; sensors = list("air_sensor" = "Tank")},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/light{dir = 1},/turf/simulated/floor{dir = 1; icon_state = "arrival"},/area/engineering/atmos) +"coZ" = (/obj/machinery/atmospherics/pipe/simple/visible/purple,/turf/simulated/floor{dir = 9; icon_state = "blue"},/area/engineering/atmos) +"cpa" = (/obj/machinery/atmospherics/valve/digital/open{name = "Oxygen Outlet Valve"},/turf/simulated/floor{dir = 5; icon_state = "blue"},/area/engineering/atmos) +"cpb" = (/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1441; input_tag = "o2_in"; name = "Oxygen Supply Control"; output_tag = "o2_out"; sensors = list("o2_sensor" = "Tank")},/obj/machinery/camera{c_tag = "Atmospherics North West"; dir = 2},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/light{dir = 1},/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/engineering/atmos) "cpc" = (/obj/machinery/status_display,/turf/simulated/wall,/area/medical/surgery) "cpd" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Operating Theatre 1 Storage"; req_access_txt = "45"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) "cpe" = (/obj/machinery/light{dir = 8},/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/obj/structure/closet/wardrobe/medic_white,/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/medical/surgeryprep) @@ -6195,55 +6195,55 @@ "cpg" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Operating Theatre 2 Storage"; req_access_txt = "45"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery2) "cph" = (/obj/machinery/status_display,/turf/simulated/wall,/area/medical/surgery2) "cpi" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/maintenance/medbay) -"cpj" = (/obj/structure/disposalpipe/segment,/obj/machinery/light/small{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/power/sensor{name = "Powernet Sensor - Atmospherics Subgrid"; name_tag = "Atmospherics Subgrid"},/obj/structure/cable/cyan{d2 = 4; icon_state = "0-4"},/obj/structure/cable/cyan,/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engineering/atmos/storage) -"cpk" = (/obj/structure/filingcabinet/chestdrawer,/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/turf/simulated/floor{dir = 1; icon_state = "whitered"},/area/assembly/robotics) +"cpj" = (/obj/machinery/atmospherics/pipe/simple/visible/purple,/turf/simulated/floor{icon_state = "red"; dir = 9},/area/engineering/atmos) +"cpk" = (/obj/machinery/atmospherics/binary/pump,/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/engineering/atmos) "cpl" = (/turf/simulated/floor/engine,/area/rnd/xenobiology) "cpm" = (/mob/living/carbon/slime,/turf/simulated/floor/engine,/area/rnd/xenobiology) -"cpn" = (/turf/simulated/wall/r_wall,/area/engineering) +"cpn" = (/obj/machinery/atmospherics/valve/digital/open{name = "Nitrogen Outlet Valve"},/turf/simulated/floor{icon_state = "red"; dir = 5},/area/engineering/atmos) "cpo" = (/obj/machinery/door/window/northleft{dir = 4; name = "Containment Pen"; req_access_txt = "55"},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/rnd/xenobiology) "cpp" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) "cpq" = (/obj/machinery/atmospherics/pipe/simple/hidden/purple,/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) "cpr" = (/obj/machinery/door/airlock/research{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "xeno_airlock_interior"; locked = 1; name = "Xenobiology Internal Airlock"; req_access_txt = "55"},/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/purple,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) -"cps" = (/obj/machinery/portable_atmospherics/canister/phoron,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/engineering/atmos) -"cpt" = (/obj/machinery/portable_atmospherics/canister/sleeping_agent,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/engineering/atmos) -"cpu" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/engineering/atmos) -"cpv" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/engineering/atmos) -"cpw" = (/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/engineering/atmos) -"cpx" = (/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/engineering/atmos) -"cpy" = (/obj/machinery/embedded_controller/radio/airlock/access_controller{tag_exterior_door = "incinerator_airlock_exterior"; id_tag = "incinerator_access_control"; tag_interior_door = "incinerator_airlock_interior"; name = "Incinerator Access Console"; pixel_x = -6; pixel_y = -26; req_access_txt = "12"},/obj/machinery/button/ignition{id = "Incinerator"; pixel_x = 6; pixel_y = -24},/obj/machinery/meter,/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor{dir = 2; icon_state = "warningcorner"; tag = "icon-warningcorner (WEST)"},/area/maintenance/incinerator) -"cpz" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/engineering/atmos) -"cpA" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{tag = "icon-intact (NORTH)"; icon_state = "intact"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor,/area/engineering/atmos) -"cpB" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "0"; req_one_access_txt = "10;24"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/engineering) -"cpC" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering) -"cpD" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/disposalpipe/segment,/obj/machinery/camera{c_tag = "Atmospherics Substation"; dir = 4},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor/plating{dir = 8; icon_state = "warnplatecorner"},/area/engineering/atmos/storage) +"cps" = (/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1441; input_tag = "n2_in"; name = "Nitrogen Supply Control"; output_tag = "n2_out"; sensors = list("n2_sensor" = "Tank")},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/engineering/atmos) +"cpt" = (/turf/simulated/floor,/area/engineering/atmos) +"cpu" = (/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/binary/pump,/turf/simulated/floor,/area/engineering/atmos) +"cpv" = (/obj/structure/reagent_dispensers/fueltank,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = 25},/turf/simulated/floor,/area/engineering/atmos) +"cpw" = (/obj/structure/reagent_dispensers/watertank,/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/engineering/atmos) +"cpx" = (/obj/structure/table,/obj/item/device/t_scanner,/obj/item/device/multitool{pixel_x = 5},/obj/item/device/radio/headset/headset_eng,/obj/item/weapon/cartridge/atmos,/obj/item/weapon/cartridge/atmos,/obj/item/device/pipe_painter,/obj/machinery/requests_console{department = "Atmospherics"; departmentType = 4; name = "Atmos RC"; pixel_x = 0; pixel_y = 28},/turf/simulated/floor,/area/engineering/atmos) +"cpy" = (/obj/structure/dispenser,/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/engineering/atmos) +"cpz" = (/obj/structure/table,/obj/item/weapon/wrench,/obj/machinery/camera{c_tag = "Atmospherics North East"; dir = 6},/obj/structure/sign/atmosplaque{pixel_x = 0; pixel_y = 32},/obj/machinery/cell_charger,/turf/simulated/floor,/area/engineering/atmos) +"cpA" = (/obj/structure/table,/obj/item/stack/sheet/glass{amount = 50},/obj/item/clothing/head/welding{pixel_x = -5; pixel_y = 3},/obj/item/clothing/glasses/welding,/obj/structure/closet/fireaxecabinet{pixel_y = 32},/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/engineering/atmos) +"cpB" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor,/area/engineering/atmos) +"cpC" = (/obj/structure/table,/obj/machinery/newscaster{pixel_y = 30},/obj/machinery/light{dir = 1},/obj/item/stack/sheet/metal{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/clothing/gloves/black,/obj/item/clothing/gloves/black,/obj/item/weapon/storage/belt/utility/atmostech,/obj/item/weapon/storage/belt/utility/atmostech,/turf/simulated/floor,/area/engineering/atmos) +"cpD" = (/obj/structure/disposalpipe/sortjunction/flipped{dir = 1; sortType = "Atmospherics"; name = "Atmospherics"},/obj/machinery/atmospherics/pipe/simple/visible/universal,/turf/simulated/floor,/area/engineering/atmos) "cpE" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/turf/space,/area/space) -"cpF" = (/obj/machinery/power/terminal{icon_state = "term"; dir = 1},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/engineering/atmos/storage) +"cpF" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/universal,/turf/simulated/floor,/area/engineering/atmos) "cpG" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/yellow,/turf/space,/area/space) -"cpH" = (/obj/machinery/alarm{pixel_y = 22},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering) +"cpH" = (/obj/machinery/atmospherics/binary/pump/on{dir = 1},/turf/simulated/floor,/area/engineering/atmos) "cpI" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/turf/space,/area/space) -"cpJ" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = 25},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering) +"cpJ" = (/obj/machinery/atmospherics/pipe/simple/visible/universal,/turf/simulated/floor,/area/engineering/atmos) "cpK" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor{icon_state = "warningcorner"; dir = 1},/area/hallway/secondary/entry/aft) -"cpL" = (/obj/machinery/light{dir = 1},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor,/area/engineering) -"cpM" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering) -"cpN" = (/obj/machinery/portable_atmospherics/canister/sleeping_agent,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/engineering/atmos) -"cpO" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/engineering/atmos) +"cpL" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/engineering/atmos/monitoring) +"cpM" = (/obj/machinery/atmospherics/binary/pump/on,/turf/simulated/floor,/area/engineering/atmos) +"cpN" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor,/area/engineering/atmos/monitoring) +"cpO" = (/obj/machinery/computer/atmos_alert,/turf/simulated/floor,/area/engineering/atmos/monitoring) "cpP" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/purple,/turf/space,/area/space) -"cpQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering/atmos) +"cpQ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/engineering/engineering_monitoring) "cpR" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/green,/turf/space,/area/space) "cpS" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Firelock North"},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor,/area/hallway/secondary/entry/port) -"cpT" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/portable_atmospherics/canister/phoron,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/engineering/atmos) -"cpU" = (/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/engineering/atmos) -"cpV" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/obj/machinery/light,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/engineering/atmos) -"cpW" = (/obj/machinery/portable_atmospherics/canister/air,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/engineering/atmos) -"cpX" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance{req_access_txt = "0"; req_one_access_txt = "10;24"},/turf/simulated/floor/plating,/area/engineering) -"cpY" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor,/area/engineering) -"cpZ" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering) -"cqa" = (/obj/machinery/firealarm{pixel_y = 24},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering) -"cqb" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/turf/simulated/floor,/area/engineering) -"cqc" = (/obj/machinery/light{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor,/area/engineering) -"cqd" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/engineering) -"cqe" = (/obj/structure/extinguisher_cabinet{pixel_x = -5; pixel_y = 30},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering) -"cqf" = (/obj/machinery/camera{c_tag = "Engineering Hallway South East"; dir = 1},/turf/simulated/floor,/area/engineering) +"cpT" = (/obj/structure/stool/bed/chair/office/dark{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/engineering/atmos/monitoring) +"cpU" = (/obj/structure/stool/bed/chair/office/dark{dir = 4},/obj/effect/landmark/start{name = "Station Engineer"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor,/area/engineering/engineering_monitoring) +"cpV" = (/obj/machinery/camera{c_tag = "Engineering Monitoring"; dir = 5},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor,/area/engineering/engineering_monitoring) +"cpW" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/status_display{pixel_y = 32},/turf/simulated/floor/plating,/area/engineering/engineering_monitoring) +"cpX" = (/obj/machinery/computer/security/engineering,/turf/simulated/floor{dir = 8; icon_state = "floorgrimecaution"},/area/engineering/engineering_monitoring) +"cpY" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/engineering) +"cpZ" = (/obj/structure/disposalpipe/segment,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor,/area/engineering) +"cqa" = (/obj/structure/extinguisher_cabinet{pixel_x = 25},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/engineering/workshop) +"cqb" = (/obj/machinery/shield_capacitor,/turf/simulated/floor/plating,/area/engineering/storage) +"cqc" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/engineering/atmos) +"cqd" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan{dir = 8},/obj/machinery/meter,/turf/simulated/floor,/area/engineering/atmos) +"cqe" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan{tag = "icon-map (EAST)"; icon_state = "map"; dir = 4},/obj/machinery/meter,/turf/simulated/floor,/area/engineering/atmos) +"cqf" = (/obj/machinery/atmospherics/binary/pump{dir = 8},/turf/simulated/floor,/area/engineering/atmos) "cqg" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/maintenance/engineering) "cqh" = (/obj/structure/closet/crate/freezer,/turf/simulated/floor{icon_state = "freezerfloor"},/area/medical/surgery) "cqi" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "freezerfloor"},/area/medical/surgery) @@ -6263,7 +6263,7 @@ "cqw" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/medical/virology) "cqx" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/medical/virology) "cqy" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/medical/virology) -"cqz" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor,/area/engineering) +"cqz" = (/obj/machinery/atmospherics/pipe/simple/visible/purple,/turf/simulated/floor,/area/engineering/atmos) "cqA" = (/obj/structure/table/reinforced,/obj/machinery/door_control{id = "xenobio3"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access_txt = "55"},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/rnd/xenobiology) "cqB" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) "cqC" = (/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 5},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) @@ -6272,40 +6272,40 @@ "cqF" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/purple{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor{dir = 1; icon_state = "whitegreen"},/area/rnd/xenobiology) "cqG" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{dir = 1; icon_state = "whitegreencorner"},/area/rnd/xenobiology) "cqH" = (/obj/machinery/newscaster{pixel_y = 32},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) -"cqI" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/engineering) -"cqJ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor,/area/engineering) -"cqK" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor,/area/engineering) +"cqI" = (/obj/machinery/atmospherics/pipe/simple/visible/green,/turf/simulated/floor,/area/engineering/atmos) +"cqJ" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/turf/simulated/floor,/area/engineering/atmos) +"cqK" = (/obj/structure/stool/bed/chair{dir = 1},/obj/effect/landmark/start{name = "Atmospheric Technician"},/turf/simulated/floor,/area/engineering/atmos) "cqL" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/obj/structure/lattice,/turf/space,/area/space) -"cqM" = (/obj/structure/sign/securearea,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/wall/r_wall,/area/engineering) +"cqM" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor,/area/engineering/atmos) "cqN" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 9},/turf/space,/area/space) "cqO" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "centcom_shuttle_dock_airlock"; name = "interior access button"; pixel_x = -30; pixel_y = 25; req_access_txt = "0"; req_one_access_txt = "13"},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/turf/simulated/floor,/area/hallway/secondary/entry/aft) -"cqP" = (/turf/simulated/wall/r_wall,/area/engineering/atmos) -"cqQ" = (/obj/machinery/camera{c_tag = "Engineering Hallway South West"; dir = 1; pixel_x = 22},/turf/simulated/floor,/area/engineering) -"cqR" = (/obj/machinery/door/airlock/maintenance{name = "Drone Fabrication"; req_one_access_txt = "10;24"},/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/engineering/drone_fabrication) -"cqS" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor,/area/engineering) +"cqP" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/turf/simulated/floor,/area/engineering/atmos) +"cqQ" = (/obj/structure/stool/bed/chair/office/dark{dir = 8},/obj/effect/landmark/start{name = "Atmospheric Technician"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor,/area/engineering/atmos/monitoring) +"cqR" = (/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/engineering/atmos/monitoring) +"cqS" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/engineering/engineering_monitoring) "cqT" = (/obj/structure/grille,/turf/simulated/floor/plating/airless,/area/security/prison) -"cqU" = (/obj/machinery/atmospherics/valve/digital{name = "N2O Outlet Valve"},/turf/simulated/floor{icon_state = "escape"; dir = 6},/area/engineering/atmos) -"cqV" = (/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1441; input_tag = "n2o_in"; name = "Nitrous Oxide Supply Control"; output_tag = "n2o_out"; sensors = list("n2o_sensor" = "Tank")},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/light,/turf/simulated/floor{dir = 7; icon_state = "escape"},/area/engineering/atmos) -"cqW" = (/obj/machinery/atmospherics/pipe/simple/visible/purple,/turf/simulated/floor{dir = 10; icon_state = "escape"},/area/engineering/atmos) -"cqX" = (/obj/machinery/atmospherics/binary/pump{dir = 1},/obj/machinery/light,/turf/simulated/floor,/area/engineering/atmos) -"cqY" = (/obj/machinery/atmospherics/valve/digital{name = "Phoron Outlet Valve"},/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/engineering/atmos) -"cqZ" = (/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1441; input_tag = "tox_in"; name = "Phoron Supply Control"; output_tag = "tox_out"; sensors = list("tox_sensor" = "Tank")},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/light,/turf/simulated/floor{icon_state = "warning"},/area/engineering/atmos) -"cra" = (/obj/machinery/camera{c_tag = "Atmospherics South West"; dir = 1},/obj/machinery/atmospherics/pipe/simple/visible/purple,/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/engineering/atmos) -"crb" = (/obj/machinery/light,/obj/machinery/atmospherics/binary/pump{dir = 1},/turf/simulated/floor,/area/engineering/atmos) -"crc" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{tag = "icon-intact (NORTH)"; icon_state = "intact"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/engineering/atmos) -"crd" = (/obj/machinery/atmospherics/valve/digital{name = "Gas Mix Outlet Valve"},/turf/simulated/floor{icon_state = "green"; dir = 6},/area/engineering/atmos) -"cre" = (/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1441; input_tag = "waste_in"; name = "Gas Mix Tank Control"; output_tag = "waste_out"; sensors = list("waste_sensor" = "Tank")},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/light,/turf/simulated/floor{dir = 2; icon_state = "green"},/area/engineering/atmos) -"crf" = (/obj/machinery/atmospherics/valve/digital{name = "Gas Mix Inlet Valve"},/obj/machinery/camera{c_tag = "Atmospherics South"; dir = 1},/turf/simulated/floor{dir = 10; icon_state = "green"},/area/engineering/atmos) -"crg" = (/obj/machinery/light,/turf/simulated/floor,/area/engineering/atmos) -"crh" = (/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1441; input_tag = "co2_in"; name = "Carbon Dioxide Supply Control"; output_tag = "co2_out"; sensors = list("co2_sensor" = "Tank")},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/light,/turf/simulated/floor{dir = 2; icon_state = "yellow"},/area/engineering/atmos) -"cri" = (/obj/machinery/atmospherics/valve/digital{name = "CO2 Outlet Valve"},/turf/simulated/floor{dir = 6; icon_state = "yellow"},/area/engineering/atmos) -"crj" = (/obj/machinery/atmospherics/pipe/simple/visible/purple,/turf/simulated/floor{dir = 10; icon_state = "yellow"},/area/engineering/atmos) -"crk" = (/obj/structure/stool/bed/chair,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/engineering/drone_fabrication) -"crl" = (/obj/machinery/ai_status_display{layer = 4; pixel_y = 32},/obj/machinery/light{dir = 1},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 5},/area/engineering/drone_fabrication) -"crm" = (/obj/machinery/light{dir = 1},/obj/effect/landmark{name = "JoinLateCyborg"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 9},/area/engineering/drone_fabrication) -"crn" = (/obj/machinery/computer/cryopod/robot{pixel_y = 30},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/engineering/drone_fabrication) -"cro" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) -"crp" = (/obj/machinery/cryopod/robot/right,/turf/simulated/floor/plating,/area/engineering/drone_fabrication) +"cqU" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering/atmos/monitoring) +"cqV" = (/obj/structure/stool/bed/chair/office/dark{dir = 4},/obj/effect/landmark/start{name = "Station Engineer"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor,/area/engineering/engineering_monitoring) +"cqW" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor,/area/engineering/engineering_monitoring) +"cqX" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/engineering/engineering_monitoring) +"cqY" = (/obj/machinery/computer/station_alert,/turf/simulated/floor,/area/engineering/engineering_monitoring) +"cqZ" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/engineering) +"cra" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor,/area/engineering/workshop) +"crb" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor,/area/engineering/workshop) +"crc" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/engineering/workshop) +"crd" = (/obj/machinery/power/port_gen/pacman{anchored = 1},/turf/simulated/floor/plating,/area/engineering/storage) +"cre" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/plating,/area/engineering/storage) +"crf" = (/turf/simulated/floor/plating,/area/engineering/storage) +"crg" = (/obj/structure/closet/crate/solar,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/plating,/area/engineering/storage) +"crh" = (/obj/machinery/atmospherics/pipe/manifold/visible/green{dir = 8},/obj/machinery/meter,/turf/simulated/floor,/area/engineering/atmos) +"cri" = (/obj/machinery/atmospherics/pipe/simple/visible/purple,/obj/machinery/atmospherics/pipe/simple/visible/green{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor,/area/engineering/atmos) +"crj" = (/obj/machinery/atmospherics/pipe/simple/visible/green{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor,/area/engineering/atmos) +"crk" = (/obj/machinery/atmospherics/pipe/simple/visible/green,/obj/machinery/atmospherics/pipe/simple/visible/green{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor,/area/engineering/atmos) +"crl" = (/obj/machinery/atmospherics/pipe/simple/visible/green{tag = "icon-intact (SOUTHWEST)"; icon_state = "intact"; dir = 10},/turf/simulated/floor,/area/engineering/atmos) +"crm" = (/obj/machinery/atmospherics/binary/pump{dir = 4},/turf/simulated/floor,/area/engineering/atmos) +"crn" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/turf/simulated/floor,/area/engineering/atmos) +"cro" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 6},/turf/simulated/floor,/area/engineering/atmos) +"crp" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor,/area/engineering/atmos) "crq" = (/obj/structure/closet,/obj/item/weapon/storage/backpack,/turf/simulated/floor/plating,/area/maintenance/engineering) "crr" = (/obj/machinery/light/small{dir = 8},/obj/structure/closet/crate/freezer,/turf/simulated/floor{icon_state = "freezerfloor"},/area/medical/surgery) "crs" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor{icon_state = "freezerfloor"},/area/medical/surgery) @@ -6332,41 +6332,41 @@ "crN" = (/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) "crO" = (/obj/item/device/radio/intercom{freerange = 0; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 29},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) "crP" = (/obj/structure/lattice,/obj/structure/grille,/turf/space,/area/space) -"crQ" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'RADIOACTIVE AREA'"; icon_state = "radiation"; name = "RADIOACTIVE AREA"; pixel_x = 0; pixel_y = 0},/turf/simulated/wall/r_wall,/area/engineering/engine_monitoring) -"crR" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/engineering/engine_monitoring) -"crS" = (/obj/machinery/door/airlock/maintenance_hatch{name = "SMES Access"; req_access_txt = "11"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/engineering/engine_smes) -"crT" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = 0},/turf/simulated/wall/r_wall,/area/engineering/engine_smes) -"crU" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/engineering/drone_fabrication) -"crV" = (/obj/machinery/recharge_station,/obj/machinery/light_switch{pixel_x = 0; pixel_y = 27},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) -"crW" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/engineering/engine_airlock) -"crX" = (/obj/machinery/door/airlock/maintenance_hatch{icon_state = "door_closed"; locked = 0; name = "Engine Access"; req_access_txt = "0"; req_one_access_txt = "11;24"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/engineering/engine_airlock) +"crQ" = (/obj/machinery/atmospherics/pipe/manifold/visible/purple,/turf/simulated/floor,/area/engineering/atmos) +"crR" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/cyan,/turf/simulated/floor,/area/engineering/atmos) +"crS" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/pipedispenser,/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 9},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor,/area/engineering/atmos) +"crT" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor,/area/engineering/atmos/monitoring) +"crU" = (/obj/machinery/computer/security/engineering{network = list("Engineering","Power Alarms","Atmosphere Alarms","Fire Alarms","Atmospherics")},/turf/simulated/floor,/area/engineering/atmos/monitoring) +"crV" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/engineering/atmos/monitoring) +"crW" = (/obj/structure/table/reinforced,/obj/machinery/light,/obj/item/device/flashlight,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/engineering/engineering_monitoring) +"crX" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/engineering/engineering_monitoring) "crY" = (/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor/plating,/area/maintenance/engineering) -"crZ" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/engineering/engine_monitoring) -"csa" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engine Monitoring Room"; req_access_txt = "11"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/engineering/engine_monitoring) -"csb" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{external_pressure_bound = 140; external_pressure_bound_default = 140; icon_state = "map_vent_out"; pressure_checks = 0; pressure_checks_default = 0},/turf/simulated/floor/plating/airless,/area/engineering/atmos) -"csc" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/engineering/atmos) -"csd" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/visible/purple,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/engineering/atmos) -"cse" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/plating,/area/engineering/atmos) -"csf" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/manifold/visible/yellow{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/engineering/atmos) -"csg" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/plating,/area/engineering/atmos) -"csh" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/visible/purple,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/engineering/atmos) -"csi" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/engineering/atmos) -"csj" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/plating,/area/engineering/atmos) -"csk" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/visible/purple{tag = "icon-intact (NORTH)"; icon_state = "intact"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/plating,/area/engineering/atmos) +"crZ" = (/obj/machinery/computer/power_monitor,/turf/simulated/floor,/area/engineering/engineering_monitoring) +"csa" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor,/area/engineering) +"csb" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/turf/simulated/floor,/area/engineering) +"csc" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/engineering/workshop) +"csd" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/engineering) +"cse" = (/obj/structure/closet/secure_closet/engineering_welding,/obj/item/clothing/glasses/welding,/obj/item/clothing/glasses/welding,/turf/simulated/floor,/area/engineering/workshop) +"csf" = (/obj/structure/closet/secure_closet/engineering_welding,/obj/item/clothing/glasses/welding,/obj/item/clothing/glasses/welding,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/engineering/workshop) +"csg" = (/obj/structure/closet/secure_closet/engineering_electrical,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/engineering/workshop) +"csh" = (/obj/structure/closet/secure_closet/engineering_electrical,/turf/simulated/floor,/area/engineering/workshop) +"csi" = (/obj/machinery/light_switch{pixel_x = 27},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/engineering/workshop) +"csj" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/engineering/storage) +"csk" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/engineering/storage) "csl" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio2"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/rnd/xenobiology) -"csm" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/engineering/atmos) -"csn" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/visible/green,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/engineering/atmos) -"cso" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/engineering/engine_monitoring) -"csp" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor,/area/engineering/engine_monitoring) -"csq" = (/obj/structure/closet/radiation,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = 28},/turf/simulated/floor,/area/engineering/engine_monitoring) -"csr" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/obj/machinery/ai_status_display{layer = 4; pixel_y = 32},/turf/simulated/floor,/area/engineering/engine_monitoring) -"css" = (/obj/machinery/alarm{frequency = 1439; pixel_y = 23},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor,/area/engineering/engine_airlock) -"cst" = (/obj/structure/closet/radiation,/obj/item/clothing/glasses/meson,/obj/item/clothing/glasses/meson,/obj/machinery/camera{c_tag = "Engine Room Airlock"; dir = 2; network = list("SS13","Supermatter")},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor,/area/engineering/engine_airlock) -"csu" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/engineering/engine_airlock) -"csv" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) -"csw" = (/obj/machinery/computer/drone_control,/turf/simulated/floor/plating,/area/engineering/drone_fabrication) -"csx" = (/obj/machinery/computer/security/engineering{name = "Drone Monitoring Cameras"; network = list("Engineering")},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) -"csy" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = 25},/obj/structure/table,/obj/item/stack/cable_coil,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = 3},/obj/item/device/multitool{pixel_x = 5},/obj/item/clothing/gloves/yellow,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor,/area/engineering/engine_smes) +"csm" = (/obj/structure/closet/crate,/obj/item/stack/sheet/mineral/phoron{amount = 25},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = 28},/turf/simulated/floor/plating,/area/engineering/storage) +"csn" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/turf/simulated/floor,/area/engineering/atmos) +"cso" = (/obj/machinery/atmospherics/pipe/simple/visible/purple,/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/turf/simulated/floor,/area/engineering/atmos) +"csp" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/turf/simulated/floor,/area/engineering/atmos) +"csq" = (/obj/machinery/atmospherics/omni/mixer{active_power_usage = 7500; use_power = 1; tag_east = 1; tag_east_con = 0.79; tag_north = 1; tag_north_con = 0.21; tag_west = 2},/turf/simulated/floor,/area/engineering/atmos) +"csr" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/obj/machinery/meter,/turf/simulated/floor,/area/engineering/atmos) +"css" = (/obj/machinery/atmospherics/pipe/simple/visible/green{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/machinery/meter,/turf/simulated/floor,/area/engineering/atmos) +"cst" = (/obj/machinery/atmospherics/pipe/manifold/visible/green,/turf/simulated/floor,/area/engineering/atmos) +"csu" = (/obj/machinery/atmospherics/pipe/manifold/visible/green{tag = "icon-map (EAST)"; icon_state = "map"; dir = 4},/turf/simulated/floor,/area/engineering/atmos) +"csv" = (/obj/machinery/atmospherics/pipe/manifold/visible/purple{dir = 8},/obj/machinery/meter,/turf/simulated/floor,/area/engineering/atmos) +"csw" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/turf/simulated/floor,/area/engineering/atmos) +"csx" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 1},/obj/machinery/meter,/turf/simulated/floor,/area/engineering/atmos) +"csy" = (/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/turf/simulated/floor,/area/engineering/atmos) "csz" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor{icon_state = "freezerfloor"},/area/medical/surgery) "csA" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor{icon_state = "freezerfloor"},/area/medical/surgery) "csB" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor{icon_state = "freezerfloor"},/area/medical/surgery) @@ -6384,37 +6384,37 @@ "csN" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "csO" = (/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "csP" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"csQ" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor,/area/engineering/engine_smes) +"csQ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/engineering/atmos/monitoring) "csR" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/obj/structure/window/reinforced,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/rnd/xenobiology) "csS" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) -"csT" = (/obj/machinery/light_switch{pixel_x = 0; pixel_y = 27},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/engineering/engine_smes) -"csU" = (/obj/structure/table,/obj/machinery/microwave{pixel_x = -2; pixel_y = 5},/turf/simulated/floor,/area/engineering/engine_monitoring) -"csV" = (/obj/structure/grille,/obj/machinery/meter,/obj/machinery/atmospherics/pipe/simple/visible/purple,/turf/simulated/wall/r_wall,/area/engineering/atmos) -"csW" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/engineering/atmos) -"csX" = (/obj/structure/grille,/obj/machinery/meter,/obj/machinery/atmospherics/pipe/simple/visible/yellow,/turf/simulated/wall/r_wall,/area/engineering/atmos) -"csY" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/visible/yellow,/obj/machinery/meter,/turf/simulated/wall/r_wall,/area/engineering/atmos) -"csZ" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/visible/green,/obj/machinery/meter,/turf/simulated/wall/r_wall,/area/engineering/atmos) -"cta" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engineering/drone_fabrication) +"csT" = (/obj/structure/disposalpipe/segment,/obj/machinery/pipedispenser/disposal,/obj/structure/window/reinforced,/turf/simulated/floor,/area/engineering/atmos) +"csU" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_atmos{name = "Atmospherics Monitoring Room"; req_access_txt = "24"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/engineering/atmos/monitoring) +"csV" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/engineering/atmos/monitoring) +"csW" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering Monitoring Room"; req_access_txt = "11"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/engineering/engineering_monitoring) +"csX" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor,/area/engineering) +"csY" = (/obj/machinery/camera{c_tag = "Engineering Hallway North"; dir = 4; network = list("SS13")},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor,/area/engineering) +"csZ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/engineering/workshop) +"cta" = (/obj/structure/window/reinforced{dir = 1},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/structure/table/reinforced,/turf/simulated/floor,/area/engineering/workshop) "ctb" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio1"; name = "Containment Blast Doors"; opacity = 0},/obj/machinery/door/window/northleft{base_state = "right"; dir = 8; icon_state = "right"; name = "Containment Pen"; req_access_txt = "55"},/turf/simulated/floor/engine,/area/rnd/xenobiology) -"ctc" = (/obj/effect/decal/remains/robot,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/engineering/drone_fabrication) -"ctd" = (/obj/structure/table,/obj/item/stack/cable_coil,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = 3},/turf/simulated/floor,/area/engineering/engine_smes) -"cte" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/engineering/drone_fabrication) -"ctf" = (/obj/structure/disposalpipe/trunk{dir = 8},/obj/machinery/disposal,/turf/simulated/floor/plating,/area/engineering/drone_fabrication) -"ctg" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor,/area/engineering/engine_monitoring) -"cth" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/engineering/engine_smes) -"cti" = (/turf/simulated/floor,/area/engineering/engine_smes) -"ctj" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/engineering/engine_monitoring) -"ctk" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/engineering/engine_monitoring) -"ctl" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/engineering/engine_monitoring) -"ctm" = (/turf/simulated/floor,/area/engineering/engine_monitoring) -"ctn" = (/obj/machinery/shower{icon_state = "shower"; dir = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor,/area/engineering/engine_airlock) -"cto" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor,/area/engineering/engine_airlock) +"ctc" = (/obj/structure/window/reinforced{dir = 1},/obj/item/stack/rods{amount = 50},/obj/item/weapon/airlock_electronics,/obj/item/weapon/airlock_electronics,/obj/item/weapon/cell/high,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/table/reinforced,/turf/simulated/floor,/area/engineering/workshop) +"ctd" = (/obj/structure/window/reinforced{dir = 1},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/table/reinforced,/turf/simulated/floor,/area/engineering/workshop) +"cte" = (/obj/structure/window/reinforced{dir = 1},/obj/item/stack/sheet/plasteel{amount = 10},/obj/item/stack/sheet/plasteel{amount = 10},/obj/item/stack/sheet/mineral/plastic{amount = 10},/obj/structure/table/reinforced,/turf/simulated/floor,/area/engineering/workshop) +"ctf" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/machinery/camera{c_tag = "Engineering Workshop"; dir = 8; network = list("SS13"); pixel_y = -23},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/engineering/workshop) +"ctg" = (/obj/machinery/light_switch{pixel_x = -27; pixel_y = 0},/obj/machinery/camera{c_tag = "Engineering Hard Storage"; dir = 4; network = list("SS13")},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/engineering/storage) +"cth" = (/obj/structure/closet/crate,/obj/item/weapon/circuitboard/smes,/obj/item/weapon/circuitboard/smes,/obj/item/weapon/smes_coil,/obj/item/weapon/smes_coil,/obj/item/weapon/smes_coil,/obj/item/weapon/smes_coil,/turf/simulated/floor/plating,/area/engineering/storage) +"cti" = (/obj/machinery/atmospherics/pipe/simple/visible/green,/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/turf/simulated/floor,/area/engineering/atmos) +"ctj" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/obj/machinery/atmospherics/binary/pump{dir = 1},/turf/simulated/floor,/area/engineering/atmos) +"ctk" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/turf/simulated/floor,/area/engineering/atmos) +"ctl" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan,/obj/machinery/meter,/turf/simulated/floor,/area/engineering/atmos) +"ctm" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/engineering/atmos) +"ctn" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/engineering/atmos) +"cto" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor,/area/engineering) "ctp" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "surgeryobs"; name = "Operating Theatre Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/surgeryobs) "ctq" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "surgeryobs"; name = "Operating Theatre Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/surgeryobs) "ctr" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "surgeryobs"; name = "Operating Theatre Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/surgeryobs) "cts" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) -"ctt" = (/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/obj/machinery/light_switch{pixel_x = -27; pixel_y = 0},/obj/machinery/airlock_sensor/airlock_exterior{id_tag = "eng_al_ext_snsr"; layer = 3.3; master_tag = "engine_room_airlock"; pixel_y = -22; req_access_txt = "10"},/obj/structure/table,/obj/item/weapon/book/manual/supermatter_engine,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor,/area/engineering/engine_airlock) -"ctu" = (/obj/structure/stool/bed/chair{dir = 1},/obj/effect/landmark/start{name = "Atmospheric Technician"},/turf/simulated/floor,/area/engineering/atmos) +"ctt" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_atmos{name = "Atmospherics"; req_access_txt = "24"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/engineering/atmos) +"ctu" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering) "ctv" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/engineering) "ctw" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/engineering) "ctx" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance{name = "Operating Theatre 1 Maintenance Access"; req_access_txt = "45"},/turf/simulated/floor/plating,/area/medical/surgery) @@ -6445,35 +6445,35 @@ "ctW" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) "ctX" = (/obj/machinery/power/solar{id = "starboardsolar"; name = "Starboard Solar Array"},/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/starboard) "ctY" = (/turf/space,/area/syndicate_station/southwest) -"ctZ" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/turf/simulated/floor,/area/engineering/atmos) -"cua" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan{dir = 8},/obj/machinery/meter,/turf/simulated/floor,/area/engineering/atmos) +"ctZ" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor,/area/engineering) +"cua" = (/obj/structure/extinguisher_cabinet{pixel_x = -5; pixel_y = 30},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering) "cub" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/shutters{density = 0; dir = 4; icon_state = "shutter0"; id = "surgeryobs"; name = "Operating Theatre Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/surgery) -"cuc" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan{tag = "icon-map (EAST)"; icon_state = "map"; dir = 4},/obj/machinery/meter,/turf/simulated/floor,/area/engineering/atmos) -"cud" = (/obj/machinery/atmospherics/binary/pump{dir = 8},/turf/simulated/floor,/area/engineering/atmos) -"cue" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/engineering/atmos) -"cuf" = (/turf/simulated/floor/plating,/area/engineering/storage) -"cug" = (/obj/structure/closet/crate/solar,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/plating,/area/engineering/storage) -"cuh" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/plating,/area/engineering/storage) -"cui" = (/obj/machinery/power/port_gen/pacman{anchored = 1},/turf/simulated/floor/plating,/area/engineering/storage) -"cuj" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/engineering/workshop) -"cuk" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor,/area/engineering/workshop) -"cul" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor,/area/engineering/workshop) -"cum" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/engineering) -"cun" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/engineering) -"cuo" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/engineering/engineering_monitoring) -"cup" = (/obj/machinery/computer/station_alert,/turf/simulated/floor,/area/engineering/engineering_monitoring) -"cuq" = (/obj/structure/stool/bed/chair/office/dark{dir = 4},/obj/effect/landmark/start{name = "Station Engineer"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor,/area/engineering/engineering_monitoring) -"cur" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor,/area/engineering/engineering_monitoring) -"cus" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/engineering/engineering_monitoring) -"cut" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering/atmos/monitoring) -"cuu" = (/obj/structure/stool/bed/chair/office/dark{dir = 8},/obj/effect/landmark/start{name = "Atmospheric Technician"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor,/area/engineering/atmos/monitoring) -"cuv" = (/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/engineering/atmos/monitoring) -"cuw" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/engineering/atmos/monitoring) -"cux" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/turf/simulated/floor,/area/engineering/atmos) -"cuy" = (/obj/machinery/atmospherics/binary/pump/on{dir = 1},/turf/simulated/floor,/area/engineering/atmos) -"cuz" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor,/area/engineering/atmos) -"cuA" = (/obj/machinery/atmospherics/binary/pump/on,/turf/simulated/floor,/area/engineering/atmos) -"cuB" = (/obj/machinery/atmospherics/valve/digital/open{name = "Mixed Air Inlet Valve"},/turf/simulated/floor{icon_state = "arrival"; dir = 5},/area/engineering/atmos) +"cuc" = (/obj/machinery/newscaster{pixel_y = 30},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering) +"cud" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor,/area/engineering) +"cue" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering Workshop"; req_access_txt = "0"; req_one_access_txt = "11;24"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering/workshop) +"cuf" = (/obj/structure/disposalpipe/sortjunction/flipped{dir = 2; sortType = "Engineering"; name = "Engineering"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering) +"cug" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering/workshop) +"cuh" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/engineering/workshop) +"cui" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor,/area/engineering/workshop) +"cuj" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/engineering/workshop) +"cuk" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/engineering/storage) +"cul" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/engineering{name = "Engineering Hard Storage"; req_access_txt = "11"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering/storage) +"cum" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/plating,/area/engineering/storage) +"cun" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/engineering/storage) +"cuo" = (/obj/machinery/power/emitter,/turf/simulated/floor/plating,/area/engineering/storage) +"cup" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow,/obj/machinery/meter,/turf/simulated/floor,/area/engineering/atmos) +"cuq" = (/obj/machinery/atmospherics/unary/freezer{dir = 2; icon_state = "freezer"},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/engineering/atmos) +"cur" = (/obj/machinery/constructable_frame/machine_frame,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/engineering/atmos) +"cus" = (/obj/machinery/atmospherics/unary/heater{dir = 2; icon_state = "heater"},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/engineering/atmos) +"cut" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/engineering/atmos) +"cuu" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor,/area/engineering/atmos) +"cuv" = (/obj/machinery/hologram/holopad,/obj/structure/disposalpipe/sortjunction/flipped{dir = 8; sortType = "Drone Fabrication"; name = "Drone Fabrication"},/turf/simulated/floor,/area/engineering/atmos) +"cuw" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/engineering) +"cux" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_atmos{name = "Atmospherics"; req_access_txt = "24"},/turf/simulated/floor,/area/engineering/atmos) +"cuy" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light,/turf/simulated/floor,/area/engineering) +"cuz" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor,/area/engineering) +"cuA" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/turf/simulated/floor,/area/engineering) +"cuB" = (/obj/structure/disposalpipe/junction{dir = 8; icon_state = "pipe-j2"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/engineering) "cuC" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/meter,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/plating,/area/maintenance/engineering) "cuD" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor/plating,/area/maintenance/engineering) "cuE" = (/obj/structure/sign/redcross{desc = "The Star of Life, a symbol of Medical Aid."; icon_state = "lifestar"; name = "Medbay"; pixel_x = 0; pixel_y = 32},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance{name = "Engineering\\Medbay Maintenance"; req_access_txt = "0"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/engineering) @@ -6505,37 +6505,37 @@ "cve" = (/obj/machinery/smartfridge/secure/extract,/turf/simulated/floor{dir = 2; icon_state = "whitecorner"},/area/rnd/xenobiology) "cvf" = (/obj/machinery/optable{name = "Xenobiology Operating Table"},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "whitehall"; dir = 2},/area/rnd/xenobiology) "cvg" = (/obj/machinery/computer/operating{name = "Xenobiology Operating Computer"},/turf/simulated/floor{dir = 8; icon_state = "whitecorner"},/area/rnd/xenobiology) -"cvh" = (/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1443; input_tag = "air_in"; name = "Mixed Air Supply Control"; output_tag = "air_out"; pressure_setting = 2000; sensors = list("air_sensor" = "Tank")},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/light{dir = 1},/turf/simulated/floor{dir = 1; icon_state = "arrival"},/area/engineering/atmos) -"cvi" = (/obj/machinery/atmospherics/valve/digital/open{name = "Mixed Air Outlet Valve"},/turf/simulated/floor{dir = 9; icon_state = "arrival"},/area/engineering/atmos) -"cvj" = (/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/engineering/atmos) -"cvk" = (/obj/structure/table,/obj/item/stack/sheet/glass{amount = 50},/obj/item/clothing/head/welding{pixel_x = -5; pixel_y = 3},/obj/item/clothing/glasses/welding,/obj/structure/closet/fireaxecabinet{pixel_y = 32},/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/engineering/atmos) +"cvh" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor,/area/engineering) +"cvi" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/engineering/workshop) +"cvj" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/engineering/workshop) +"cvk" = (/obj/machinery/hologram/holopad,/turf/simulated/floor,/area/engineering/workshop) "cvl" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio3"; name = "Containment Blast Doors"; opacity = 0},/obj/machinery/door/window/northleft{base_state = "right"; dir = 8; icon_state = "right"; name = "Containment Pen"; req_access_txt = "55"},/turf/simulated/floor/engine,/area/rnd/xenobiology) "cvm" = (/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "virologyquar"; name = "Virology Emergency Quarantine Blast Doors"; opacity = 0},/turf/simulated/floor{icon_state = "delivery"},/area/medical/virologyaccess) "cvn" = (/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "virologyquar"; name = "Virology Emergency Quarantine Blast Doors"; opacity = 0},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "delivery"},/area/medical/virologyaccess) -"cvo" = (/obj/structure/table,/obj/item/weapon/wrench,/obj/machinery/camera{c_tag = "Atmospherics North East"; dir = 6},/obj/structure/sign/atmosplaque{pixel_x = 0; pixel_y = 32},/obj/machinery/cell_charger,/turf/simulated/floor,/area/engineering/atmos) -"cvp" = (/obj/structure/dispenser,/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/engineering/atmos) -"cvq" = (/obj/structure/table,/obj/item/device/t_scanner,/obj/item/device/multitool{pixel_x = 5},/obj/item/device/radio/headset/headset_eng,/obj/item/weapon/cartridge/atmos,/obj/item/weapon/cartridge/atmos,/obj/item/device/pipe_painter,/obj/machinery/requests_console{department = "Atmospherics"; departmentType = 4; name = "Atmos RC"; pixel_x = 0; pixel_y = 28},/turf/simulated/floor,/area/engineering/atmos) -"cvr" = (/obj/structure/reagent_dispensers/watertank,/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/engineering/atmos) -"cvs" = (/obj/structure/reagent_dispensers/fueltank,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = 25},/turf/simulated/floor,/area/engineering/atmos) +"cvo" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/engineering{name = "Engineering Hard Storage"; req_access_txt = "11"},/turf/simulated/floor,/area/engineering/storage) +"cvp" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/engineering/storage) +"cvq" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow,/turf/simulated/floor,/area/engineering/atmos) +"cvr" = (/obj/machinery/atmospherics/pipe/cap/visible{color = "#ffcc00"},/turf/simulated/floor,/area/engineering/atmos) +"cvs" = (/obj/machinery/power/apc/super{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/cyan{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/engineering/atmos) "cvt" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "solar_xeno_airlock"; name = "exterior access button"; pixel_x = 25; pixel_y = 25; req_access_txt = "10;13"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating/airless,/area/solar/starboard) -"cvu" = (/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/binary/pump,/turf/simulated/floor,/area/engineering/atmos) -"cvv" = (/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1441; input_tag = "n2_in"; name = "Nitrogen Supply Control"; output_tag = "n2_out"; sensors = list("n2_sensor" = "Tank")},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/engineering/atmos) -"cvw" = (/obj/machinery/atmospherics/valve/digital/open{name = "Nitrogen Outlet Valve"},/turf/simulated/floor{icon_state = "red"; dir = 5},/area/engineering/atmos) -"cvx" = (/obj/machinery/atmospherics/binary/pump,/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/engineering/atmos) -"cvy" = (/obj/machinery/atmospherics/pipe/simple/visible/purple,/turf/simulated/floor{icon_state = "red"; dir = 9},/area/engineering/atmos) -"cvz" = (/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1441; input_tag = "o2_in"; name = "Oxygen Supply Control"; output_tag = "o2_out"; sensors = list("o2_sensor" = "Tank")},/obj/machinery/camera{c_tag = "Atmospherics North West"; dir = 2},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/light{dir = 1},/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/engineering/atmos) -"cvA" = (/obj/machinery/atmospherics/valve/digital/open{name = "Oxygen Outlet Valve"},/turf/simulated/floor{dir = 5; icon_state = "blue"},/area/engineering/atmos) -"cvB" = (/obj/machinery/atmospherics/pipe/simple/visible/purple,/turf/simulated/floor{dir = 9; icon_state = "blue"},/area/engineering/atmos) -"cvC" = (/obj/structure/stool/bed/chair/office/dark{dir = 4},/obj/effect/landmark/start{name = "Station Engineer"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor,/area/engineering/engineering_monitoring) -"cvD" = (/obj/machinery/camera{c_tag = "Engineering Monitoring"; dir = 5},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor,/area/engineering/engineering_monitoring) -"cvE" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/status_display{pixel_y = 32},/turf/simulated/floor/plating,/area/engineering/engineering_monitoring) -"cvF" = (/obj/machinery/computer/security/engineering,/turf/simulated/floor{dir = 8; icon_state = "floorgrimecaution"},/area/engineering/engineering_monitoring) -"cvG" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor,/area/engineering/atmos/monitoring) -"cvH" = (/obj/machinery/computer/atmos_alert,/turf/simulated/floor,/area/engineering/atmos/monitoring) -"cvI" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/engineering/engineering_monitoring) -"cvJ" = (/obj/structure/stool/bed/chair/office/dark{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/engineering/atmos/monitoring) -"cvK" = (/obj/machinery/atmospherics/pipe/simple/visible/universal,/turf/simulated/floor,/area/engineering/atmos) -"cvL" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor,/area/engineering/atmos) +"cvu" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/cyan{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor,/area/engineering/atmos) +"cvv" = (/turf/simulated/wall/r_wall,/area/engineering/atmos/storage) +"cvw" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/turf/simulated/floor{dir = 8; icon_state = "yellow"},/area/engineering) +"cvx" = (/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 6; icon_state = "intact"; tag = "icon-intact-f (SOUTHEAST)"},/turf/simulated/wall/r_wall,/area/engineering/atmos/storage) +"cvy" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor,/area/engineering) +"cvz" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor,/area/engineering) +"cvA" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor,/area/engineering/workshop) +"cvB" = (/obj/effect/decal/cleanable/blood/oil/streak{amount = 0},/turf/simulated/floor,/area/engineering/workshop) +"cvC" = (/obj/structure/reagent_dispensers/fueltank,/obj/machinery/newscaster{pixel_x = 28; pixel_y = 3},/turf/simulated/floor,/area/engineering/workshop) +"cvD" = (/obj/machinery/portable_atmospherics/canister/phoron,/turf/simulated/floor/plating,/area/engineering/storage) +"cvE" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/plating,/area/engineering/storage) +"cvF" = (/obj/machinery/shieldgen,/turf/simulated/floor/plating,/area/engineering/storage) +"cvG" = (/obj/machinery/shieldwallgen,/turf/simulated/floor/plating,/area/engineering/storage) +"cvH" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = -7; pixel_y = -32; req_access_txt = "0"},/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/obj/structure/extinguisher_cabinet{pixel_x = 7; pixel_y = -32},/turf/simulated/floor,/area/rnd/xenobiology) +"cvI" = (/obj/machinery/atmospherics/pipe/simple/visible/purple,/obj/machinery/meter,/turf/simulated/floor,/area/engineering/atmos) +"cvJ" = (/obj/machinery/atmospherics/pipe/manifold/visible/purple{dir = 8},/turf/simulated/floor,/area/engineering/atmos) +"cvK" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/turf/simulated/floor,/area/engineering/atmos) +"cvL" = (/obj/machinery/atmospherics/pipe/manifold4w/visible/yellow,/turf/simulated/floor,/area/engineering/atmos) "cvM" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/engineering) "cvN" = (/turf/simulated/wall,/area/maintenance/incinerator) "cvO" = (/obj/machinery/door/airlock/maintenance{name = "Incinerator Access"; req_access_txt = null; req_one_access_txt = "5;12"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/maintenance/incinerator) @@ -6562,27 +6562,27 @@ "cwj" = (/obj/machinery/power/solar{id = "starboardsolar"; name = "Starboard Solar Array"},/obj/structure/cable/yellow,/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/starboard) "cwk" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; external_pressure_bound = 140; external_pressure_bound_default = 140; icon_state = "map_vent_out"; use_power = 1; pressure_checks = 0; pressure_checks_default = 0},/turf/simulated/floor/plating/airless,/area/rnd/xenobiology) "cwl" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio3"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/rnd/xenobiology) -"cwm" = (/obj/structure/table,/obj/machinery/newscaster{pixel_y = 30},/obj/machinery/light{dir = 1},/obj/item/stack/sheet/metal{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/clothing/gloves/black,/obj/item/clothing/gloves/black,/obj/item/weapon/storage/belt/utility/atmostech,/obj/item/weapon/storage/belt/utility/atmostech,/turf/simulated/floor,/area/engineering/atmos) +"cwm" = (/obj/machinery/atmospherics/pipe/manifold/visible/yellow,/obj/machinery/meter,/turf/simulated/floor,/area/engineering/atmos) "cwn" = (/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating/airless,/area/solar/port) -"cwo" = (/obj/structure/disposalpipe/sortjunction/flipped{dir = 1; sortType = "Atmospherics"; name = "Atmospherics"},/obj/machinery/atmospherics/pipe/simple/visible/universal,/turf/simulated/floor,/area/engineering/atmos) -"cwp" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/universal,/turf/simulated/floor,/area/engineering/atmos) -"cwq" = (/obj/machinery/shield_capacitor,/turf/simulated/floor/plating,/area/engineering/storage) +"cwo" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/obj/machinery/meter,/turf/simulated/floor,/area/engineering/atmos) +"cwp" = (/obj/machinery/atmospherics/valve/digital{dir = 4},/turf/simulated/floor,/area/engineering/atmos) +"cwq" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/turf/simulated/floor,/area/engineering/atmos) "cwr" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating/airless,/area/solar/port) -"cws" = (/obj/machinery/power/rad_collector,/turf/simulated/floor/plating,/area/engineering/storage) -"cwt" = (/obj/structure/extinguisher_cabinet{pixel_x = 25},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/engineering/workshop) -"cwu" = (/obj/structure/disposalpipe/segment,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor,/area/engineering) -"cwv" = (/obj/machinery/light_switch{pixel_x = -27; pixel_y = 0},/obj/machinery/camera{c_tag = "Engineering Hard Storage"; dir = 4; network = list("SS13")},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/engineering/storage) -"cww" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/machinery/camera{c_tag = "Engineering Workshop"; dir = 8; network = list("SS13"); pixel_y = -23},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/engineering/workshop) -"cwx" = (/obj/structure/closet/crate,/obj/item/weapon/circuitboard/smes,/obj/item/weapon/circuitboard/smes,/obj/item/weapon/smes_coil,/obj/item/weapon/smes_coil,/obj/item/weapon/smes_coil,/obj/item/weapon/smes_coil,/turf/simulated/floor/plating,/area/engineering/storage) -"cwy" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/engineering/storage) -"cwz" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/engineering) -"cwA" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/engineering/workshop) -"cwB" = (/obj/machinery/camera{c_tag = "Engineering Hallway North"; dir = 4; network = list("SS13")},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor,/area/engineering) -"cwC" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor,/area/engineering) -"cwD" = (/obj/structure/window/reinforced{dir = 1},/obj/item/stack/sheet/plasteel{amount = 10},/obj/item/stack/sheet/plasteel{amount = 10},/obj/item/stack/sheet/mineral/plastic{amount = 10},/obj/structure/table/reinforced,/turf/simulated/floor,/area/engineering/workshop) -"cwE" = (/obj/structure/window/reinforced{dir = 1},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/table/reinforced,/turf/simulated/floor,/area/engineering/workshop) -"cwF" = (/obj/structure/window/reinforced{dir = 1},/obj/item/stack/rods{amount = 50},/obj/item/weapon/airlock_electronics,/obj/item/weapon/airlock_electronics,/obj/item/weapon/cell/high,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/table/reinforced,/turf/simulated/floor,/area/engineering/workshop) -"cwG" = (/obj/structure/window/reinforced{dir = 1},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/structure/table/reinforced,/turf/simulated/floor,/area/engineering/workshop) +"cws" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/turf/simulated/floor,/area/engineering/atmos/storage) +"cwt" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/obj/machinery/door/airlock/atmos{name = "Atmospherics Maintenance"; req_access_txt = "12;24"},/turf/simulated/floor,/area/engineering/atmos/storage) +"cwu" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/obj/machinery/portable_atmospherics/powered/pump,/turf/simulated/floor,/area/engineering/atmos/storage) +"cwv" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/obj/machinery/portable_atmospherics/powered/pump,/obj/machinery/light/small{dir = 1},/turf/simulated/floor,/area/engineering/atmos/storage) +"cww" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/manifold4w/hidden/yellow,/turf/simulated/wall/r_wall,/area/engineering/atmos/storage) +"cwx" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/engineering) +"cwy" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/engineering/workshop) +"cwz" = (/obj/structure/table,/obj/item/weapon/crowbar,/obj/item/clothing/gloves/black,/obj/item/clothing/gloves/black,/obj/item/weapon/storage/box/lights/mixed,/turf/simulated/floor,/area/engineering/workshop) +"cwA" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor,/area/engineering/workshop) +"cwB" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor,/area/engineering/workshop) +"cwC" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/turf/simulated/floor/plating,/area/engineering/storage) +"cwD" = (/obj/structure/dispenser{oxygentanks = 0},/obj/machinery/light,/turf/simulated/floor/plating,/area/engineering/storage) +"cwE" = (/obj/machinery/atmospherics/omni/filter{use_power = 1; tag_east = 1; tag_north = 3; tag_south = 6; tag_west = 2},/turf/simulated/floor,/area/engineering/atmos) +"cwF" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/obj/machinery/meter,/turf/simulated/floor,/area/engineering/atmos) +"cwG" = (/obj/machinery/atmospherics/omni/filter{use_power = 1; tag_east = 1; tag_north = 4; tag_south = 7; tag_west = 2},/turf/simulated/floor,/area/engineering/atmos) "cwH" = (/obj/effect/decal/cleanable/blood/oil{amount = 0},/obj/effect/decal/remains/robot,/turf/simulated/floor/plating,/area/maintenance/engineering) "cwI" = (/obj/machinery/atmospherics/pipe/tank/phoron{dir = 2; volume = 3200},/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator) "cwJ" = (/obj/machinery/atmospherics/pipe/tank/oxygen{dir = 2; volume = 3200},/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator) @@ -6613,31 +6613,31 @@ "cxi" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) "cxj" = (/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) "cxk" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) -"cxl" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/turf/simulated/floor{icon_state = "white"},/area/rnd/lab) +"cxl" = (/obj/machinery/atmospherics/pipe/simple/visible/green,/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/turf/simulated/floor,/area/engineering/atmos) "cxm" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/obj/structure/sign/deathsposal{pixel_x = 0; pixel_y = -32},/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/turf/simulated/floor{icon_state = "whitehall"; dir = 1},/area/rnd/xenobiology) "cxn" = (/obj/structure/table,/obj/item/weapon/circular_saw,/obj/item/weapon/scalpel{pixel_y = 12},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor,/area/rnd/xenobiology) -"cxo" = (/turf/simulated/wall/r_wall,/area/engineering/engineering_monitoring) -"cxp" = (/turf/simulated/wall/r_wall,/area/engineering/atmos/monitoring) -"cxq" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_atmos{name = "Atmospherics Monitoring Room"; req_access_txt = "24"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/engineering/atmos/monitoring) -"cxr" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/engineering/atmos/monitoring) -"cxs" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering Monitoring Room"; req_access_txt = "11"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/engineering/engineering_monitoring) -"cxt" = (/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/turf/simulated/floor,/area/engineering/atmos) -"cxu" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/turf/simulated/floor,/area/engineering/atmos) -"cxv" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 1},/obj/machinery/meter,/turf/simulated/floor,/area/engineering/atmos) -"cxw" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/engineering/atmos/monitoring) +"cxo" = (/obj/machinery/atmospherics/pipe/manifold/visible/purple{dir = 1},/turf/simulated/floor,/area/engineering/atmos) +"cxp" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 10},/turf/simulated/floor,/area/engineering/atmos) +"cxq" = (/obj/machinery/atmospherics/pipe/manifold/visible/purple,/obj/machinery/meter,/turf/simulated/floor,/area/engineering/atmos) +"cxr" = (/obj/machinery/atmospherics/binary/pump,/turf/simulated/floor,/area/engineering/atmos) +"cxs" = (/obj/machinery/atmospherics/binary/pump{dir = 1},/turf/simulated/floor,/area/engineering/atmos) +"cxt" = (/obj/machinery/atmospherics/portables_connector,/turf/simulated/floor,/area/engineering/atmos) +"cxu" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/obj/machinery/camera{c_tag = "Atmospherics South East"; dir = 1},/obj/machinery/light,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering/atmos) +"cxv" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor,/area/engineering/atmos) +"cxw" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor,/area/engineering/atmos) "cxx" = (/turf/simulated/floor/plating/airless,/area/solar/port) "cxy" = (/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless,/area/solar/port) "cxz" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating/airless,/area/solar/port) -"cxA" = (/obj/structure/disposalpipe/segment,/obj/machinery/pipedispenser/disposal,/obj/structure/window/reinforced,/turf/simulated/floor,/area/engineering/atmos) -"cxB" = (/obj/machinery/atmospherics/pipe/manifold/visible/green{tag = "icon-map (EAST)"; icon_state = "map"; dir = 4},/turf/simulated/floor,/area/engineering/atmos) -"cxC" = (/obj/machinery/atmospherics/pipe/manifold/visible/purple{dir = 8},/obj/machinery/meter,/turf/simulated/floor,/area/engineering/atmos) -"cxD" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/turf/simulated/floor,/area/engineering/atmos) -"cxE" = (/obj/machinery/atmospherics/pipe/simple/visible/purple,/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/turf/simulated/floor,/area/engineering/atmos) -"cxF" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/obj/machinery/meter,/turf/simulated/floor,/area/engineering/atmos) -"cxG" = (/obj/machinery/atmospherics/omni/mixer{active_power_usage = 7500; use_power = 1; tag_east = 1; tag_east_con = 0.79; tag_north = 1; tag_north_con = 0.21; tag_west = 2},/turf/simulated/floor,/area/engineering/atmos) -"cxH" = (/obj/machinery/atmospherics/pipe/simple/visible/green{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/machinery/meter,/turf/simulated/floor,/area/engineering/atmos) -"cxI" = (/obj/machinery/atmospherics/pipe/manifold/visible/green,/turf/simulated/floor,/area/engineering/atmos) -"cxJ" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/turf/simulated/floor,/area/engineering/atmos) +"cxA" = (/turf/simulated/floor,/area/engineering/atmos/storage) +"cxB" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/atmos{name = "Atmospherics Maintenance"; req_access_txt = "12;24"},/turf/simulated/floor,/area/engineering/atmos/storage) +"cxC" = (/obj/machinery/portable_atmospherics/powered/scrubber,/turf/simulated/floor,/area/engineering/atmos/storage) +"cxD" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/engineering) +"cxE" = (/obj/machinery/atmospherics/pipe/manifold/hidden/yellow{tag = "icon-map (WEST)"; icon_state = "map"; dir = 8},/turf/simulated/wall/r_wall,/area/engineering/atmos/storage) +"cxF" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor,/area/engineering) +"cxG" = (/obj/structure/table,/obj/item/weapon/storage/belt/utility,/obj/item/weapon/storage/belt/utility,/obj/item/stack/cable_coil,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = 3},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor,/area/engineering/workshop) +"cxH" = (/obj/structure/stool/bed/chair,/obj/effect/landmark/start{name = "Station Engineer"},/turf/simulated/floor,/area/engineering/workshop) +"cxI" = (/obj/machinery/constructable_frame/machine_frame,/turf/simulated/floor,/area/engineering/workshop) +"cxJ" = (/obj/effect/decal/cleanable/blood/oil{amount = 0},/turf/simulated/floor,/area/engineering/workshop) "cxK" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator) "cxL" = (/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator) "cxM" = (/obj/machinery/atmospherics/binary/pump,/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator) @@ -6662,36 +6662,36 @@ "cyf" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) "cyg" = (/obj/machinery/camera{c_tag = "Xenobiology South"; dir = 8; network = list("SS13","Research"); pixel_y = -22},/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) "cyh" = (/turf/space,/area/vox_station/southeast_solars) -"cyi" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor,/area/engineering/atmos/monitoring) -"cyj" = (/obj/machinery/computer/security/engineering{network = list("Engineering","Power Alarms","Atmosphere Alarms","Fire Alarms","Atmospherics")},/turf/simulated/floor,/area/engineering/atmos/monitoring) -"cyk" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/engineering/atmos/monitoring) -"cyl" = (/obj/structure/table/reinforced,/obj/machinery/light,/obj/item/device/flashlight,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/engineering/engineering_monitoring) -"cym" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/engineering/engineering_monitoring) -"cyn" = (/obj/machinery/computer/power_monitor,/turf/simulated/floor,/area/engineering/engineering_monitoring) -"cyo" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor,/area/engineering/atmos) +"cyi" = (/obj/machinery/atmospherics/binary/passive_gate,/turf/simulated/floor,/area/engineering/atmos) +"cyj" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/turf/simulated/floor,/area/engineering/atmos) +"cyk" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 9},/turf/simulated/floor,/area/engineering/atmos) +"cyl" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/engineering/atmos) +"cym" = (/obj/machinery/door/airlock/maintenance{name = "Atmospherics Maintenance Access"; req_access_txt = "12;24"},/obj/structure/disposalpipe/segment,/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/engineering/atmos/storage) +"cyn" = (/obj/machinery/space_heater,/turf/simulated/floor,/area/engineering/atmos/storage) +"cyo" = (/obj/machinery/space_heater,/obj/machinery/light/small,/turf/simulated/floor,/area/engineering/atmos/storage) "cyp" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; layer = 3.3; master_tag = "robotics_solar_airlock"; name = "exterior access button"; pixel_x = 25; pixel_y = 25; req_access_txt = "13"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating/airless,/area/solar/port) -"cyq" = (/obj/machinery/atmospherics/pipe/manifold/visible/purple,/turf/simulated/floor,/area/engineering/atmos) -"cyr" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/cyan,/turf/simulated/floor,/area/engineering/atmos) -"cys" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/pipedispenser,/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 9},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor,/area/engineering/atmos) -"cyt" = (/obj/machinery/light_switch{pixel_x = 27},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/engineering/workshop) -"cyu" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/engineering/storage) -"cyv" = (/obj/structure/closet/crate,/obj/item/stack/sheet/mineral/phoron{amount = 25},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = 28},/turf/simulated/floor/plating,/area/engineering/storage) -"cyw" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/turf/simulated/floor,/area/engineering) -"cyx" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor,/area/engineering) -"cyy" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/engineering/workshop) -"cyz" = (/obj/structure/closet/secure_closet/engineering_welding,/obj/item/clothing/glasses/welding,/obj/item/clothing/glasses/welding,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/engineering/workshop) -"cyA" = (/obj/structure/closet/secure_closet/engineering_welding,/obj/item/clothing/glasses/welding,/obj/item/clothing/glasses/welding,/turf/simulated/floor,/area/engineering/workshop) -"cyB" = (/obj/structure/closet/secure_closet/engineering_electrical,/turf/simulated/floor,/area/engineering/workshop) -"cyC" = (/obj/structure/closet/secure_closet/engineering_electrical,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/engineering/workshop) -"cyD" = (/obj/machinery/atmospherics/pipe/simple/visible/green{tag = "icon-intact (SOUTHWEST)"; icon_state = "intact"; dir = 10},/turf/simulated/floor,/area/engineering/atmos) -"cyE" = (/obj/machinery/atmospherics/pipe/manifold/visible/green{dir = 8},/obj/machinery/meter,/turf/simulated/floor,/area/engineering/atmos) -"cyF" = (/obj/machinery/atmospherics/pipe/simple/visible/green,/obj/machinery/atmospherics/pipe/simple/visible/green{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor,/area/engineering/atmos) -"cyG" = (/obj/machinery/hologram/holopad,/turf/simulated/floor,/area/engineering/workshop) -"cyH" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/engineering/workshop) -"cyI" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/engineering/workshop) -"cyJ" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor,/area/engineering) -"cyK" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering Workshop"; req_access_txt = "0"; req_one_access_txt = "11;24"},/turf/simulated/floor,/area/engineering/workshop) -"cyL" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/engineering) +"cyq" = (/obj/machinery/atmospherics/pipe/simple/hidden/yellow{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/turf/simulated/wall/r_wall,/area/engineering/atmos/storage) +"cyr" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical{pixel_y = 5},/obj/item/weapon/storage/toolbox/mechanical{pixel_y = 5},/obj/item/weapon/storage/toolbox/electrical,/turf/simulated/floor,/area/engineering/workshop) +"cys" = (/obj/structure/table,/obj/item/device/floor_painter,/obj/item/device/multitool{pixel_x = 5},/obj/item/device/t_scanner,/obj/item/weapon/reagent_containers/spray/cleaner,/turf/simulated/floor,/area/engineering/workshop) +"cyt" = (/obj/structure/table,/obj/item/device/radio/off{pixel_y = 6},/obj/item/device/radio/off{pixel_x = 6; pixel_y = 4},/obj/item/device/radio/off{pixel_x = -6; pixel_y = 4},/obj/item/device/radio/off,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor,/area/engineering/workshop) +"cyu" = (/obj/structure/table,/obj/machinery/light,/obj/item/weapon/wrench,/obj/item/device/flashlight,/obj/machinery/cell_charger,/turf/simulated/floor,/area/engineering/workshop) +"cyv" = (/obj/machinery/requests_console{announcementConsole = 0; department = "Engineering"; departmentType = 4; name = "Engineering RC"; pixel_x = 0; pixel_y = -32},/turf/simulated/floor,/area/engineering/workshop) +"cyw" = (/obj/machinery/light{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/extinguisher_cabinet{pixel_x = -24},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/rnd/xenobiology) +"cyx" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/engineering/atmos) +"cyy" = (/obj/machinery/atmospherics/pipe/simple/visible/green{tag = "icon-intact (SOUTHEAST)"; icon_state = "intact"; dir = 6},/turf/simulated/floor,/area/engineering/atmos) +"cyz" = (/obj/machinery/atmospherics/pipe/manifold/visible/green{dir = 1},/turf/simulated/floor,/area/engineering/atmos) +"cyA" = (/obj/machinery/atmospherics/pipe/manifold4w/visible/green,/turf/simulated/floor,/area/engineering/atmos) +"cyB" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/simple/visible/green{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor,/area/engineering/atmos) +"cyC" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/purple{tag = "icon-intact (NORTH)"; icon_state = "intact"; dir = 1},/turf/simulated/floor,/area/engineering/atmos) +"cyD" = (/obj/machinery/portable_atmospherics/canister/phoron,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/engineering/atmos) +"cyE" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/engineering/atmos) +"cyF" = (/obj/machinery/portable_atmospherics/canister/sleeping_agent,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/engineering/atmos) +"cyG" = (/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/engineering/atmos) +"cyH" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/engineering/atmos) +"cyI" = (/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/engineering/atmos) +"cyJ" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_x = 0; pixel_y = 32},/obj/structure/cable/cyan{d2 = 8; icon_state = "0-8"},/obj/machinery/power/smes/buildable{charge = 2e+006; RCon_tag = "Substation - Atmospherics"},/turf/simulated/floor/plating,/area/engineering/atmos/storage) +"cyK" = (/obj/structure/disposalpipe/segment,/obj/machinery/light/small{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/power/sensor{name = "Powernet Sensor - Atmospherics Subgrid"; name_tag = "Atmospherics Subgrid"},/obj/structure/cable/cyan{d2 = 4; icon_state = "0-4"},/obj/structure/cable/cyan,/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engineering/atmos/storage) +"cyL" = (/turf/simulated/wall/r_wall,/area/engineering) "cyM" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator) "cyN" = (/obj/machinery/atmospherics/trinary/mixer,/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator) "cyO" = (/mob/living/simple_animal/mouse,/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator) @@ -6710,36 +6710,36 @@ "czb" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) "czc" = (/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) "czd" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/rnd/xenobiology) -"cze" = (/obj/structure/disposalpipe/junction{dir = 8; icon_state = "pipe-j2"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/engineering) -"czf" = (/obj/machinery/power/emitter,/turf/simulated/floor/plating,/area/engineering/storage) -"czg" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/engineering/storage) -"czh" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/engineering{name = "Engineering Hard Storage"; req_access_txt = "11"},/turf/simulated/floor,/area/engineering/storage) +"cze" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/glass_engineering{name = "Engineering Hallway"; req_one_access_txt = "10;24"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/engineering) +"czf" = (/obj/machinery/embedded_controller/radio/airlock/access_controller{tag_exterior_door = "incinerator_airlock_exterior"; id_tag = "incinerator_access_control"; tag_interior_door = "incinerator_airlock_interior"; name = "Incinerator Access Console"; pixel_x = -6; pixel_y = -26; req_access_txt = "12"},/obj/machinery/button/ignition{id = "Incinerator"; pixel_x = 6; pixel_y = -24},/obj/machinery/meter,/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor{dir = 2; icon_state = "warningcorner"; tag = "icon-warningcorner (WEST)"},/area/maintenance/incinerator) +"czg" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/engineering/atmos) +"czh" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{tag = "icon-intact (NORTH)"; icon_state = "intact"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor,/area/engineering/atmos) "czi" = (/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating/airless,/area/solar/port) -"czj" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/engineering/atmos) -"czk" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor,/area/engineering/atmos) -"czl" = (/obj/machinery/constructable_frame/machine_frame,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/engineering/atmos) -"czm" = (/obj/machinery/atmospherics/unary/heater{dir = 2; icon_state = "heater"},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/engineering/atmos) -"czn" = (/obj/machinery/atmospherics/unary/freezer{dir = 2; icon_state = "freezer"},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/engineering/atmos) -"czo" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow,/obj/machinery/meter,/turf/simulated/floor,/area/engineering/atmos) -"czp" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/turf/simulated/floor,/area/engineering) -"czq" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light,/turf/simulated/floor,/area/engineering) -"czr" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor,/area/engineering) -"czs" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_atmos{name = "Atmospherics"; req_access_txt = "24"},/turf/simulated/floor,/area/engineering/atmos) -"czt" = (/obj/machinery/hologram/holopad,/obj/structure/disposalpipe/sortjunction/flipped{dir = 8; sortType = "Drone Fabrication"; name = "Drone Fabrication"},/turf/simulated/floor,/area/engineering/atmos) -"czu" = (/obj/machinery/atmospherics/pipe/simple/visible/green,/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/turf/simulated/floor,/area/engineering/atmos) -"czv" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/turf/simulated/floor,/area/engineering/atmos) -"czw" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan,/obj/machinery/meter,/turf/simulated/floor,/area/engineering/atmos) -"czx" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/engineering/atmos) -"czy" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/obj/machinery/atmospherics/binary/pump{dir = 1},/turf/simulated/floor,/area/engineering/atmos) -"czz" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor,/area/engineering) -"czA" = (/obj/machinery/newscaster{pixel_y = 30},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering) -"czB" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/engineering/atmos) +"czj" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/portable_atmospherics/canister/phoron,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/engineering/atmos) +"czk" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering/atmos) +"czl" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/engineering/atmos) +"czm" = (/obj/machinery/portable_atmospherics/canister/sleeping_agent,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/engineering/atmos) +"czn" = (/obj/machinery/portable_atmospherics/canister/air,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/engineering/atmos) +"czo" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/obj/machinery/light,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/engineering/atmos) +"czp" = (/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/engineering/atmos) +"czq" = (/obj/machinery/power/terminal{icon_state = "term"; dir = 1},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/engineering/atmos/storage) +"czr" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/disposalpipe/segment,/obj/machinery/camera{c_tag = "Atmospherics Substation"; dir = 4},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor/plating{dir = 8; icon_state = "warnplatecorner"},/area/engineering/atmos/storage) +"czs" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering) +"czt" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "0"; req_one_access_txt = "10;24"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/engineering) +"czu" = (/obj/machinery/light{dir = 1},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor,/area/engineering) +"czv" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = 25},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering) +"czw" = (/obj/machinery/alarm{pixel_y = 22},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering) +"czx" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/turf/simulated/floor,/area/engineering) +"czy" = (/obj/machinery/firealarm{pixel_y = 24},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering) +"czz" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/engineering) +"czA" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering) +"czB" = (/obj/machinery/light{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor,/area/engineering) "czC" = (/obj/structure/cable/yellow,/turf/simulated/floor/plating/airless,/area/solar/port) -"czD" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor,/area/engineering) -"czE" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_atmos{name = "Atmospherics"; req_access_txt = "24"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/engineering/atmos) -"czF" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/engineering/workshop) -"czG" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering/workshop) -"czH" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor,/area/engineering/workshop) +"czD" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor,/area/engineering) +"czE" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance{req_access_txt = "0"; req_one_access_txt = "10;24"},/turf/simulated/floor/plating,/area/engineering) +"czF" = (/obj/machinery/atmospherics/pipe/simple/visible/purple,/turf/simulated/floor{dir = 10; icon_state = "yellow"},/area/engineering/atmos) +"czG" = (/obj/machinery/light,/turf/simulated/floor,/area/engineering/atmos) +"czH" = (/obj/machinery/atmospherics/valve/digital{name = "CO2 Outlet Valve"},/turf/simulated/floor{dir = 6; icon_state = "yellow"},/area/engineering/atmos) "czI" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor/plating,/area/maintenance/engi_shuttle) "czJ" = (/obj/structure/table,/turf/simulated/floor/plating,/area/maintenance/engi_shuttle) "czK" = (/obj/structure/stool/bed/chair{dir = 8},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/maintenance/engi_shuttle) @@ -6765,7 +6765,7 @@ "cAe" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cAf" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/wall/r_wall,/area/rnd/xenobiology) "cAg" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall/r_wall,/area/rnd/xenobiology) -"cAh" = (/obj/machinery/power/smes/buildable{charge = 1e+007; cur_coils = 4; input_attempt = 1; input_level = 500000; output_level = 500000; RCon_tag = "Engine - Main"},/obj/structure/cable,/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/engineering/engine_smes) +"cAh" = (/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1441; input_tag = "co2_in"; name = "Carbon Dioxide Supply Control"; output_tag = "co2_out"; sensors = list("co2_sensor" = "Tank")},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/light,/turf/simulated/floor{dir = 2; icon_state = "yellow"},/area/engineering/atmos) "cAi" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) "cAj" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) "cAk" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) @@ -6777,24 +6777,24 @@ "cAq" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) "cAr" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/rnd/xenobiology) "cAs" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/maintenance/engineering) -"cAt" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor,/area/engineering) -"cAu" = (/obj/structure/disposalpipe/sortjunction/flipped{dir = 2; sortType = "Engineering"; name = "Engineering"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering) -"cAv" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering Workshop"; req_access_txt = "0"; req_one_access_txt = "11;24"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering/workshop) -"cAw" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/engineering/storage) -"cAx" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/plating,/area/engineering/storage) -"cAy" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/engineering/workshop) -"cAz" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/engineering{name = "Engineering Hard Storage"; req_access_txt = "11"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering/storage) -"cAA" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/engineering/storage) -"cAB" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/engineering/workshop) -"cAC" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor,/area/engineering/workshop) -"cAD" = (/obj/structure/table,/obj/item/weapon/crowbar,/obj/item/clothing/gloves/black,/obj/item/clothing/gloves/black,/obj/item/weapon/storage/box/lights/mixed,/turf/simulated/floor,/area/engineering/workshop) -"cAE" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/turf/simulated/floor/plating,/area/engineering/storage) -"cAF" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor,/area/engineering/workshop) +"cAt" = (/obj/machinery/camera{c_tag = "Atmospherics South West"; dir = 1},/obj/machinery/atmospherics/pipe/simple/visible/purple,/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/engineering/atmos) +"cAu" = (/obj/machinery/light,/obj/machinery/atmospherics/binary/pump{dir = 1},/turf/simulated/floor,/area/engineering/atmos) +"cAv" = (/obj/machinery/atmospherics/valve/digital{name = "Phoron Outlet Valve"},/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/engineering/atmos) +"cAw" = (/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1441; input_tag = "tox_in"; name = "Phoron Supply Control"; output_tag = "tox_out"; sensors = list("tox_sensor" = "Tank")},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/light,/turf/simulated/floor{icon_state = "warning"},/area/engineering/atmos) +"cAx" = (/obj/machinery/atmospherics/pipe/simple/visible/purple,/turf/simulated/floor{dir = 10; icon_state = "escape"},/area/engineering/atmos) +"cAy" = (/obj/machinery/atmospherics/binary/pump{dir = 1},/obj/machinery/light,/turf/simulated/floor,/area/engineering/atmos) +"cAz" = (/obj/machinery/atmospherics/valve/digital{name = "N2O Outlet Valve"},/turf/simulated/floor{icon_state = "escape"; dir = 6},/area/engineering/atmos) +"cAA" = (/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1441; input_tag = "n2o_in"; name = "Nitrous Oxide Supply Control"; output_tag = "n2o_out"; sensors = list("n2o_sensor" = "Tank")},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/light,/turf/simulated/floor{dir = 7; icon_state = "escape"},/area/engineering/atmos) +"cAB" = (/obj/machinery/atmospherics/valve/digital{name = "Gas Mix Inlet Valve"},/obj/machinery/camera{c_tag = "Atmospherics South"; dir = 1},/turf/simulated/floor{dir = 10; icon_state = "green"},/area/engineering/atmos) +"cAC" = (/obj/machinery/atmospherics/valve/digital{name = "Gas Mix Outlet Valve"},/turf/simulated/floor{icon_state = "green"; dir = 6},/area/engineering/atmos) +"cAD" = (/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1441; input_tag = "waste_in"; name = "Gas Mix Tank Control"; output_tag = "waste_out"; sensors = list("waste_sensor" = "Tank")},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/light,/turf/simulated/floor{dir = 2; icon_state = "green"},/area/engineering/atmos) +"cAE" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{tag = "icon-intact (NORTH)"; icon_state = "intact"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/engineering/atmos) +"cAF" = (/turf/simulated/wall/r_wall,/area/engineering/drone_fabrication) "cAG" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; layer = 3.1; master_tag = "incinerator_access_control"; name = "Incinerator airlock control"; pixel_x = 10; pixel_y = -22},/obj/structure/sign/fire{pixel_x = -32; pixel_y = 0},/obj/machinery/light/small{dir = 8},/obj/machinery/atmospherics/binary/pump,/turf/simulated/floor/plating,/area/maintenance/incinerator) -"cAH" = (/obj/machinery/shieldwallgen,/turf/simulated/floor/plating,/area/engineering/storage) -"cAI" = (/obj/machinery/shieldgen,/turf/simulated/floor/plating,/area/engineering/storage) -"cAJ" = (/obj/structure/dispenser{oxygentanks = 0},/obj/machinery/light,/turf/simulated/floor/plating,/area/engineering/storage) -"cAK" = (/obj/machinery/atmospherics/pipe/manifold4w/visible/yellow,/turf/simulated/floor,/area/engineering/atmos) +"cAH" = (/obj/machinery/door/airlock/maintenance{name = "Drone Fabrication"; req_one_access_txt = "10;24"},/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/engineering/drone_fabrication) +"cAI" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor,/area/engineering) +"cAJ" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/engineering) +"cAK" = (/obj/machinery/camera{c_tag = "Engineering Hallway South West"; dir = 1; pixel_x = 22},/turf/simulated/floor,/area/engineering) "cAL" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor/plating,/area/maintenance/engi_shuttle) "cAM" = (/obj/structure/stool/bed/chair{dir = 8},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/engi_shuttle) "cAN" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/engi_shuttle) @@ -6802,7 +6802,7 @@ "cAP" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/engineering) "cAQ" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/maintenance/incinerator) "cAR" = (/obj/structure/sign/nosmoking_2{pixel_x = 0; pixel_y = -30},/turf/simulated/floor/plating,/area/maintenance/incinerator) -"cAS" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/turf/simulated/floor,/area/engineering/atmos) +"cAS" = (/obj/machinery/camera{c_tag = "Engineering Hallway South East"; dir = 1},/turf/simulated/floor,/area/engineering) "cAT" = (/turf/simulated/floor{dir = 2; icon_state = "floorgrimecaution"},/area/maintenance/incinerator) "cAU" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/machinery/meter,/obj/machinery/door_control{id = "disvent"; name = "Incinerator Vent Control"; pixel_x = 0; pixel_y = -24; req_access_txt = null; req_one_access_txt = "12;5"},/turf/simulated/floor{dir = 1; icon_state = "warningcorner"; tag = "icon-warningcorner (WEST)"},/area/maintenance/incinerator) "cAV" = (/turf/simulated/floor/plating,/area/maintenance/incinerator) @@ -6829,34 +6829,34 @@ "cBq" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/table/reinforced,/obj/machinery/door_control{id = "xenobio5"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access_txt = "55"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/rnd/xenobiology) "cBr" = (/obj/machinery/light,/obj/structure/closet,/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/rnd/xenobiology) "cBs" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/table/reinforced,/obj/machinery/door_control{id = "xenobio6"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access_txt = "55"},/obj/machinery/door_control{desc = "A remote control-switch for a door to space."; id = "xenobioout6"; name = "Containment Release Switch"; pixel_x = 24; pixel_y = 4; req_access = "55"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/rnd/xenobiology) -"cBt" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/obj/machinery/meter,/turf/simulated/floor,/area/engineering/atmos) -"cBu" = (/obj/machinery/atmospherics/valve/digital{dir = 4},/turf/simulated/floor,/area/engineering/atmos) -"cBv" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/turf/simulated/floor,/area/engineering/atmos/storage) +"cBt" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor,/area/engineering) +"cBu" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor,/area/engineering) +"cBv" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor,/area/engineering) "cBw" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "incinerator_access_control"; name = "Incinerator airlock control"; pixel_x = -8; pixel_y = 24},/obj/structure/sign/fire{pixel_x = 32; pixel_y = 0},/obj/machinery/atmospherics/binary/pump{dir = 1},/turf/simulated/floor/plating,/area/maintenance/incinerator) -"cBx" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/obj/machinery/door/airlock/atmos{name = "Atmospherics Maintenance"; req_access_txt = "12;24"},/turf/simulated/floor,/area/engineering/atmos/storage) -"cBy" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/turf/simulated/floor,/area/engineering/atmos) -"cBz" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/turf/simulated/floor{dir = 8; icon_state = "yellow"},/area/engineering) -"cBA" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/manifold4w/hidden/yellow,/turf/simulated/wall/r_wall,/area/engineering/atmos/storage) -"cBB" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/obj/machinery/portable_atmospherics/powered/pump,/turf/simulated/floor,/area/engineering/atmos/storage) -"cBC" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/obj/machinery/portable_atmospherics/powered/pump,/obj/machinery/light/small{dir = 1},/turf/simulated/floor,/area/engineering/atmos/storage) -"cBD" = (/obj/machinery/atmospherics/pipe/manifold/visible/purple{dir = 8},/turf/simulated/floor,/area/engineering/atmos) -"cBE" = (/obj/machinery/atmospherics/pipe/cap/visible{color = "#ffcc00"},/turf/simulated/floor,/area/engineering/atmos) -"cBF" = (/obj/machinery/power/apc/super{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/cyan{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/engineering/atmos) -"cBG" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/cyan{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor,/area/engineering/atmos) -"cBH" = (/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 6; icon_state = "intact"; tag = "icon-intact-f (SOUTHEAST)"},/turf/simulated/wall/r_wall,/area/engineering/atmos/storage) -"cBI" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor,/area/engineering) -"cBJ" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor,/area/engineering) -"cBK" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor,/area/engineering/workshop) -"cBL" = (/obj/effect/decal/cleanable/blood/oil/streak{amount = 0},/turf/simulated/floor,/area/engineering/workshop) -"cBM" = (/obj/structure/reagent_dispensers/fueltank,/obj/machinery/newscaster{pixel_x = 28; pixel_y = 3},/turf/simulated/floor,/area/engineering/workshop) -"cBN" = (/obj/machinery/portable_atmospherics/canister/phoron,/turf/simulated/floor/plating,/area/engineering/storage) -"cBO" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/plating,/area/engineering/storage) -"cBP" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "yellowcorner"},/area/engineering/foyer) -"cBQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering/foyer) -"cBR" = (/obj/machinery/atmospherics/pipe/manifold/hidden/cyan{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering/foyer) -"cBS" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering/foyer) -"cBT" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/purple,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering/foyer) -"cBU" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering EVA Storage"; req_one_access_txt = "11;24"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering/engine_eva) +"cBx" = (/obj/structure/sign/securearea,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/wall/r_wall,/area/engineering) +"cBy" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{external_pressure_bound = 140; external_pressure_bound_default = 140; icon_state = "map_vent_out"; pressure_checks = 0; pressure_checks_default = 0},/turf/simulated/floor/plating/airless,/area/engineering/atmos) +"cBz" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/plating,/area/engineering/atmos) +"cBA" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/visible/purple,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/engineering/atmos) +"cBB" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/engineering/atmos) +"cBC" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/manifold/visible/yellow{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/engineering/atmos) +"cBD" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/plating,/area/engineering/atmos) +"cBE" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/visible/purple,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/engineering/atmos) +"cBF" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/engineering/atmos) +"cBG" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/plating,/area/engineering/atmos) +"cBH" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/engineering/atmos) +"cBI" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/visible/green,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/engineering/atmos) +"cBJ" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/visible/purple{tag = "icon-intact (NORTH)"; icon_state = "intact"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/plating,/area/engineering/atmos) +"cBK" = (/obj/machinery/cryopod/robot/right,/turf/simulated/floor/plating,/area/engineering/drone_fabrication) +"cBL" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) +"cBM" = (/obj/machinery/computer/cryopod/robot{pixel_y = 30},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/engineering/drone_fabrication) +"cBN" = (/obj/machinery/light{dir = 1},/obj/effect/landmark{name = "JoinLateCyborg"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 9},/area/engineering/drone_fabrication) +"cBO" = (/obj/machinery/ai_status_display{layer = 4; pixel_y = 32},/obj/machinery/light{dir = 1},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 5},/area/engineering/drone_fabrication) +"cBP" = (/obj/structure/stool/bed/chair,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/engineering/drone_fabrication) +"cBQ" = (/obj/machinery/recharge_station,/obj/machinery/light_switch{pixel_x = 0; pixel_y = 27},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) +"cBR" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/engineering/drone_fabrication) +"cBS" = (/turf/simulated/wall/r_wall,/area/engineering/engine_smes) +"cBT" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = 0},/turf/simulated/wall/r_wall,/area/engineering/engine_smes) +"cBU" = (/obj/machinery/door/airlock/maintenance_hatch{name = "SMES Access"; req_access_txt = "11"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/engineering/engine_smes) "cBV" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/engi_engine) "cBW" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/engi_shuttle) "cBX" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/maintenance/engi_shuttle) @@ -6877,30 +6877,30 @@ "cCm" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/medical/virology) "cCn" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/status_display,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/visible/purple,/turf/simulated/floor/plating,/area/medical/virology) "cCo" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/medical/virology) -"cCp" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering/engine_eva) +"cCp" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/engineering/engine_monitoring) "cCq" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/computer/reconstitutor/animal,/turf/simulated/floor{icon_state = "hydrofloor"},/area/rnd/xenobiology) -"cCr" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering/engine_eva) -"cCs" = (/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/engineering/engine_eva) -"cCt" = (/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor,/area/engineering/engine_eva) -"cCu" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/engineering/engine_eva) -"cCv" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/engineering{name = "Engineering EVA Storage"; req_access_txt = "12"; req_one_access_txt = "11;24"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "floorgrime"},/area/engineering/engine_eva) -"cCw" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/atmos_control) -"cCx" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/atmos_control) -"cCy" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/engineering/foyer) -"cCz" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/camera{c_tag = "Engineering Foyer"; dir = 8; network = list("SS13")},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/engineering/foyer) -"cCA" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering/foyer) -"cCB" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/engineering/foyer) -"cCC" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Solar - Aft Starboard"},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) -"cCD" = (/obj/structure/table,/obj/item/weapon/storage/box/drinkingglasses{pixel_x = 1; pixel_y = 4},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/engineering/break_room) -"cCE" = (/obj/machinery/light,/obj/structure/table,/obj/machinery/chem_dispenser/soda,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/engineering/break_room) -"cCF" = (/obj/machinery/vending/snack,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/engineering/break_room) -"cCG" = (/obj/machinery/computer/station_alert,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/engineering/break_room) -"cCH" = (/obj/machinery/light,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable/green,/obj/structure/flora/pottedplant{icon_state = "plant-20"; tag = "icon-plant-22"},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/engineering/break_room) -"cCI" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/engineering/break_room) -"cCJ" = (/obj/machinery/newscaster{pixel_x = 31; pixel_y = 3},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/engineering/foyer) -"cCK" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/portable_atmospherics/powered/pump,/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/engineering/foyer) -"cCL" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/portable_atmospherics/powered/scrubber,/turf/simulated/floor{icon_state = "red"; dir = 1},/area/engineering/foyer) -"cCM" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/atmospherics/portables_connector,/obj/machinery/portable_atmospherics/powered/pump,/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/engineering/foyer) +"cCr" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'RADIOACTIVE AREA'"; icon_state = "radiation"; name = "RADIOACTIVE AREA"; pixel_x = 0; pixel_y = 0},/turf/simulated/wall/r_wall,/area/engineering/engine_monitoring) +"cCs" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engine Monitoring Room"; req_access_txt = "11"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/engineering/engine_monitoring) +"cCt" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/engineering/engine_monitoring) +"cCu" = (/turf/simulated/wall/r_wall,/area/engineering/engine_airlock) +"cCv" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/engineering/engine_airlock) +"cCw" = (/obj/machinery/door/airlock/maintenance_hatch{icon_state = "door_closed"; locked = 0; name = "Engine Access"; req_access_txt = "0"; req_one_access_txt = "11;24"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/engineering/engine_airlock) +"cCx" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) +"cCy" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) +"cCz" = (/obj/machinery/computer/drone_control,/turf/simulated/floor/plating,/area/engineering/drone_fabrication) +"cCA" = (/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/engineering/drone_fabrication) +"cCB" = (/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engineering/drone_fabrication) +"cCC" = (/obj/machinery/computer/security/engineering{name = "Drone Monitoring Cameras"; network = list("Engineering")},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) +"cCD" = (/obj/machinery/recharge_station,/turf/simulated/floor/plating,/area/engineering/drone_fabrication) +"cCE" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = 25},/obj/structure/table,/obj/item/stack/cable_coil,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = 3},/obj/item/device/multitool{pixel_x = 5},/obj/item/clothing/gloves/yellow,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor,/area/engineering/engine_smes) +"cCF" = (/obj/machinery/light_switch{pixel_x = 0; pixel_y = 27},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/engineering/engine_smes) +"cCG" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor,/area/engineering/engine_smes) +"cCH" = (/obj/structure/table,/obj/machinery/microwave{pixel_x = -2; pixel_y = 5},/turf/simulated/floor,/area/engineering/engine_monitoring) +"cCI" = (/turf/simulated/wall/r_wall,/area/engineering/engine_monitoring) +"cCJ" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/engineering/engine_monitoring) +"cCK" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor,/area/engineering/engine_monitoring) +"cCL" = (/obj/structure/closet/radiation,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = 28},/turf/simulated/floor,/area/engineering/engine_monitoring) +"cCM" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/obj/machinery/ai_status_display{layer = 4; pixel_y = 32},/turf/simulated/floor,/area/engineering/engine_monitoring) "cCN" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplatecorner"},/area/maintenance/engi_shuttle) "cCO" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "engineering_dock_airlock"; name = "interior access button"; pixel_x = -30; pixel_y = -25; req_access_txt = "0"; req_one_access_txt = "13;11;24"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/maintenance/engi_shuttle) "cCP" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/portable_atmospherics/canister/air/airlock,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating{dir = 1; icon_state = "warnplatecorner"},/area/maintenance/engi_shuttle) @@ -6908,8 +6908,8 @@ "cCR" = (/obj/machinery/atmospherics/valve,/turf/simulated/floor/plating,/area/maintenance/engineering) "cCS" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 6; icon_state = "intact"; tag = "icon-intact-f (SOUTHEAST)"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/maintenance/engineering) "cCT" = (/obj/machinery/atmospherics/pipe/tank/air{dir = 8},/turf/simulated/floor/plating,/area/maintenance/engineering) -"cCU" = (/obj/item/clothing/shoes/magboots,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/void/engineering,/obj/machinery/door/window/southleft{name = "Engineering Hardsuits"; req_access_txt = "11"},/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/item/clothing/suit/space/void/engineering,/turf/simulated/floor,/area/engineering/engine_eva) -"cCV" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/engineering/engine_eva) +"cCU" = (/obj/machinery/alarm{frequency = 1439; pixel_y = 23},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor,/area/engineering/engine_airlock) +"cCV" = (/obj/structure/closet/radiation,/obj/item/clothing/glasses/meson,/obj/item/clothing/glasses/meson,/obj/machinery/camera{c_tag = "Engine Room Airlock"; dir = 2; network = list("SS13","Supermatter")},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor,/area/engineering/engine_airlock) "cCW" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor/plating/airless,/area/space) "cCX" = (/turf/simulated/floor/plating/airless,/area/maintenance/medbay) "cCY" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "virology_airlock"; name = "exterior access button"; pixel_x = 20; pixel_y = 20; req_access_txt = "13"},/turf/simulated/floor/plating/airless,/area/maintenance/medbay) @@ -6920,39 +6920,39 @@ "cDd" = (/obj/structure/table,/obj/machinery/microwave{pixel_x = -3; pixel_y = 6},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cDe" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/medical/virology) "cDf" = (/obj/structure/disposaloutlet,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/plating/airless,/area/space) -"cDg" = (/obj/structure/dispenser{phorontanks = 0},/turf/simulated/floor,/area/engineering/engine_eva) +"cDg" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/engineering/engine_airlock) "cDh" = (/obj/machinery/clonepod,/turf/simulated/floor/engine,/area/rnd/xenobiology) "cDi" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/engine,/area/rnd/xenobiology) -"cDj" = (/obj/structure/sign/pods,/turf/simulated/wall/r_wall,/area/engineering/engine_eva) -"cDk" = (/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/item/clothing/shoes/magboots,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/void/engineering,/obj/machinery/light{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/window/southleft{name = "Engineering Hardsuits"; req_access_txt = "11"},/obj/item/clothing/suit/space/void/engineering,/turf/simulated/floor,/area/engineering/engine_eva) -"cDl" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor,/area/engineering/engine_eva) -"cDm" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/atmos_control) -"cDn" = (/obj/machinery/light/small{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/atmos_control) -"cDo" = (/obj/structure/table/reinforced,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/turf/simulated/floor,/area/engineering/foyer) -"cDp" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/engineering/engine_eva) -"cDq" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/void/atmos,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/void/atmos,/obj/machinery/door/window/northright{name = "Atmospherics Hardsuits"; req_access_txt = "24"},/turf/simulated/floor,/area/engineering/engine_eva) -"cDr" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/void/atmos,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/void/atmos,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/window/northleft{name = "Atmospherics Hardsuits"; req_access_txt = "24"},/turf/simulated/floor,/area/engineering/engine_eva) -"cDs" = (/obj/structure/table/reinforced,/obj/machinery/recharger{pixel_y = 0},/turf/simulated/floor,/area/engineering/foyer) -"cDt" = (/obj/structure/table/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/cyan,/obj/item/weapon/folder/yellow,/turf/simulated/floor,/area/engineering/foyer) -"cDu" = (/obj/structure/table/reinforced,/obj/item/weapon/packageWrap,/obj/item/weapon/hand_labeler,/turf/simulated/floor,/area/engineering/foyer) -"cDv" = (/obj/machinery/light/small{dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/atmos_control) -"cDw" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/atmos_control) -"cDx" = (/obj/machinery/camera{c_tag = "Engineering EVA Storage"; dir = 1; network = list("SS13")},/obj/machinery/suit_cycler/engineering,/turf/simulated/floor,/area/engineering/engine_eva) -"cDy" = (/obj/machinery/atmospherics/pipe/simple/hidden/purple,/turf/simulated/floor,/area/engineering/engine_eva) -"cDz" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/item/weapon/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 6},/obj/item/weapon/storage/briefcase/inflatable{pixel_y = 3},/obj/structure/table/reinforced{icon_state = "table"},/obj/item/weapon/storage/briefcase/inflatable{pixel_x = -3; pixel_y = 0},/turf/simulated/floor,/area/engineering/engine_eva) -"cDA" = (/turf/simulated/wall/r_wall,/area/engineering/engine_eva) -"cDB" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/engineering/locker_room) -"cDC" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/engineering/locker_room) -"cDD" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor,/area/engineering/locker_room) -"cDE" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/engineering/foyer) -"cDF" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor,/area/engineering/foyer) -"cDG" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering Locker Room"; req_one_access_txt = "11;24"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/engineering/locker_room) -"cDH" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/engineering/locker_room) -"cDI" = (/turf/simulated/floor/engine{name = "air floor"; nitrogen = 10580; oxygen = 2644},/area/engineering/atmos) -"cDJ" = (/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/engine{name = "air floor"; nitrogen = 10580; oxygen = 2644},/area/engineering/atmos) -"cDK" = (/turf/simulated/floor/engine{name = "o2 floor"; nitrogen = 0; oxygen = 100000},/area/engineering/atmos) -"cDL" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/floor/engine{name = "o2 floor"; nitrogen = 0; oxygen = 100000},/area/engineering/atmos) -"cDM" = (/turf/simulated/floor/engine{name = "n2 floor"; nitrogen = 100000; oxygen = 0},/area/engineering/atmos) +"cDj" = (/obj/structure/grille,/obj/machinery/meter,/obj/machinery/atmospherics/pipe/simple/visible/yellow,/turf/simulated/wall/r_wall,/area/engineering/atmos) +"cDk" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/visible/yellow,/obj/machinery/meter,/turf/simulated/wall/r_wall,/area/engineering/atmos) +"cDl" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/visible/green,/obj/machinery/meter,/turf/simulated/wall/r_wall,/area/engineering/atmos) +"cDm" = (/turf/simulated/floor/plating,/area/engineering/drone_fabrication) +"cDn" = (/obj/machinery/drone_fabricator,/turf/simulated/floor/plating,/area/engineering/drone_fabrication) +"cDo" = (/obj/effect/decal/remains/robot,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/engineering/drone_fabrication) +"cDp" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engineering/drone_fabrication) +"cDq" = (/obj/structure/disposalpipe/trunk{dir = 8},/obj/machinery/disposal,/turf/simulated/floor/plating,/area/engineering/drone_fabrication) +"cDr" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/engineering/drone_fabrication) +"cDs" = (/obj/structure/table,/obj/item/stack/cable_coil,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = 3},/turf/simulated/floor,/area/engineering/engine_smes) +"cDt" = (/turf/simulated/floor,/area/engineering/engine_smes) +"cDu" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/engineering/engine_smes) +"cDv" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor,/area/engineering/engine_monitoring) +"cDw" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/engineering/engine_monitoring) +"cDx" = (/turf/simulated/floor,/area/engineering/engine_monitoring) +"cDy" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/engineering/engine_monitoring) +"cDz" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/engineering/engine_monitoring) +"cDA" = (/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/obj/machinery/light_switch{pixel_x = -27; pixel_y = 0},/obj/machinery/airlock_sensor/airlock_exterior{id_tag = "eng_al_ext_snsr"; layer = 3.3; master_tag = "engine_room_airlock"; pixel_y = -22; req_access_txt = "10"},/obj/structure/table,/obj/item/weapon/book/manual/supermatter_engine,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor,/area/engineering/engine_airlock) +"cDB" = (/obj/machinery/shower{icon_state = "shower"; dir = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor,/area/engineering/engine_airlock) +"cDC" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor,/area/engineering/engine_airlock) +"cDD" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 1; frequency = 1441; icon_state = "map_injector"; id = "co2_in"; use_power = 1; pixel_y = 1},/turf/simulated/floor/engine{carbon_dioxide = 50000; name = "co2 floor"; nitrogen = 0; oxygen = 0},/area/engineering/atmos) +"cDE" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 0; external_pressure_bound_default = 0; frequency = 1441; icon_state = "map_vent_in"; id_tag = "co2_out"; initialize_directions = 1; internal_pressure_bound = 4000; internal_pressure_bound_default = 4000; use_power = 1; pressure_checks = 2; pressure_checks_default = 2; pump_direction = 0},/turf/simulated/floor/engine{carbon_dioxide = 50000; name = "co2 floor"; nitrogen = 0; oxygen = 0},/area/engineering/atmos) +"cDF" = (/obj/machinery/air_sensor{frequency = 1441; id_tag = "co2_sensor"},/turf/simulated/floor/engine{carbon_dioxide = 50000; name = "co2 floor"; nitrogen = 0; oxygen = 0},/area/engineering/atmos) +"cDG" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 1; frequency = 1441; icon_state = "map_injector"; id = "tox_in"; use_power = 1; pixel_y = 1},/turf/simulated/floor/engine{carbon_dioxide = 0; name = "phoron floor"; nitrogen = 0; oxygen = 0; phoron = 70000},/area/engineering/atmos) +"cDH" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 0; external_pressure_bound_default = 0; frequency = 1441; icon_state = "map_vent_in"; id_tag = "tox_out"; initialize_directions = 1; internal_pressure_bound = 4000; internal_pressure_bound_default = 4000; use_power = 1; pressure_checks = 2; pressure_checks_default = 2; pump_direction = 0},/turf/simulated/floor/engine{carbon_dioxide = 0; name = "phoron floor"; nitrogen = 0; oxygen = 0; phoron = 70000},/area/engineering/atmos) +"cDI" = (/obj/machinery/air_sensor{frequency = 1441; id_tag = "tox_sensor"},/turf/simulated/floor/engine{carbon_dioxide = 0; name = "phoron floor"; nitrogen = 0; oxygen = 0; phoron = 70000},/area/engineering/atmos) +"cDJ" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 1; frequency = 1441; icon_state = "map_injector"; id = "n2o_in"; use_power = 1; pixel_y = 1},/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/engineering/atmos) +"cDK" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 0; external_pressure_bound_default = 0; frequency = 1441; icon_state = "map_vent_in"; id_tag = "n2o_out"; initialize_directions = 1; internal_pressure_bound = 4000; internal_pressure_bound_default = 4000; use_power = 1; pressure_checks = 2; pressure_checks_default = 2; pump_direction = 0},/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/engineering/atmos) +"cDL" = (/obj/machinery/air_sensor{frequency = 1441; id_tag = "n2o_sensor"},/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/engineering/atmos) +"cDM" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 1; frequency = 1441; icon_state = "map_injector"; id = "waste_in"; use_power = 1; pixel_y = 1},/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/engineering/atmos) "cDN" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/engi_shuttle) "cDO" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "engineering_dock_inner"; locked = 1; name = "Engineering Dock Airlock"; req_access = null; req_access_txt = "13"},/turf/simulated/floor/plating,/area/maintenance/engi_shuttle) "cDP" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/maintenance/engi_shuttle) @@ -6967,92 +6967,92 @@ "cDY" = (/obj/machinery/washing_machine,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cDZ" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/engine,/area/rnd/xenobiology) "cEa" = (/obj/machinery/light/small{dir = 8},/obj/structure/disposalpipe/segment,/turf/simulated/floor/engine,/area/rnd/xenobiology) -"cEb" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/turf/simulated/floor/engine{name = "n2 floor"; nitrogen = 100000; oxygen = 0},/area/engineering/atmos) -"cEc" = (/obj/structure/closet/secure_closet/engineering_personal,/obj/item/weapon/tank/emergency_oxygen/engi,/turf/simulated/floor,/area/engineering/locker_room) -"cEd" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor,/area/engineering/locker_room) -"cEe" = (/turf/simulated/wall,/area/engineering/locker_room) -"cEf" = (/obj/machinery/hologram/holopad,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/engineering/foyer) -"cEg" = (/obj/machinery/firealarm{dir = 4; layer = 3.3; pixel_x = 26},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/engineering/foyer) -"cEh" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/engineering/locker_room) -"cEi" = (/obj/structure/closet/secure_closet/engineering_personal,/obj/item/weapon/tank/emergency_oxygen/engi,/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor,/area/engineering/locker_room) -"cEj" = (/obj/structure/closet/secure_closet/engineering_personal,/obj/machinery/light{dir = 1},/obj/item/weapon/tank/emergency_oxygen/engi,/turf/simulated/floor,/area/engineering/locker_room) -"cEk" = (/turf/simulated/floor,/area/engineering/engine_eva) -"cEl" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor,/area/engineering/engine_eva) -"cEm" = (/turf/simulated/floor,/area/engineering/foyer) -"cEn" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering EVA Storage"; req_one_access_txt = "11;24"},/turf/simulated/floor,/area/engineering/engine_eva) -"cEo" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan,/turf/simulated/floor,/area/engineering/foyer) -"cEp" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/atmos_control) -"cEq" = (/obj/effect/decal/cleanable/blood/oil/streak{amount = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/atmos_control) -"cEr" = (/obj/item/weapon/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/briefcase/inflatable,/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/table/reinforced{icon_state = "table"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor,/area/engineering/engine_eva) -"cEs" = (/obj/machinery/hologram/holopad,/turf/simulated/floor,/area/engineering/engine_eva) -"cEt" = (/obj/machinery/atmospherics/pipe/simple/hidden/purple,/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor,/area/engineering/engine_eva) -"cEu" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/engine{name = "o2 floor"; nitrogen = 0; oxygen = 100000},/area/engineering/atmos) -"cEv" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/engine{name = "n2 floor"; nitrogen = 100000; oxygen = 0},/area/engineering/atmos) -"cEw" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/engine{name = "air floor"; nitrogen = 10580; oxygen = 2644},/area/engineering/atmos) -"cEx" = (/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/obj/machinery/smartfridge/drying_rack,/turf/simulated/floor{dir = 6; icon_state = "whitegreen"},/area/rnd/xenobiology/xenoflora_storage) -"cEy" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/machinery/meter{frequency = 1443; id = "mair_out_meter"; name = "Mixed Air Tank Out"},/turf/simulated/wall/r_wall,/area/engineering/atmos) -"cEz" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/machinery/meter{frequency = 1443; id = "mair_in_meter"; name = "Mixed Air Tank In"},/turf/simulated/wall/r_wall,/area/engineering/atmos) -"cEA" = (/obj/structure/grille,/obj/machinery/meter,/obj/machinery/atmospherics/pipe/simple/visible/green,/turf/simulated/wall/r_wall,/area/engineering/atmos) +"cEb" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 0; external_pressure_bound_default = 0; frequency = 1441; icon_state = "map_vent_in"; id_tag = "waste_out"; initialize_directions = 1; internal_pressure_bound = 4000; internal_pressure_bound_default = 4000; use_power = 1; pressure_checks = 2; pressure_checks_default = 2; pump_direction = 0},/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/engineering/atmos) +"cEc" = (/obj/machinery/air_sensor{frequency = 1441; id_tag = "waste_sensor"; output = 63},/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/engineering/atmos) +"cEd" = (/obj/structure/table,/obj/item/weapon/storage/box/matches,/obj/item/weapon/storage/fancy/cigarettes,/obj/machinery/light/small{dir = 8},/obj/item/weapon/deck,/turf/simulated/floor/plating,/area/engineering/drone_fabrication) +"cEe" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engineering/drone_fabrication) +"cEf" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/toolbox/electrical,/obj/machinery/camera{c_tag = "Drone Fabrication"; dir = 8; network = list("SS13")},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) +"cEg" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) +"cEh" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/table,/obj/item/stack/cable_coil,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/box/lights/mixed,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor,/area/engineering/engine_smes) +"cEi" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/wall/r_wall,/area/engineering/engine_smes) +"cEj" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor,/area/engineering/engine_smes) +"cEk" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/engineering/engine_smes) +"cEl" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor,/area/engineering/engine_monitoring) +"cEm" = (/obj/machinery/door/airlock/maintenance_hatch{name = "SMES Access"; req_access_txt = "11"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor,/area/engineering/engine_monitoring) +"cEn" = (/obj/machinery/hologram/holopad,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor,/area/engineering/engine_monitoring) +"cEo" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/engineering/engine_monitoring) +"cEp" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/machinery/newscaster{pixel_x = 28; pixel_y = 0},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor,/area/engineering/engine_monitoring) +"cEq" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering/engine_monitoring) +"cEr" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/universal,/turf/simulated/floor/plating,/area/engineering/engine_airlock) +"cEs" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/wall/r_wall,/area/engineering/engine_monitoring) +"cEt" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/universal,/turf/simulated/floor/plating,/area/engineering/engine_airlock) +"cEu" = (/obj/machinery/door/airlock/maintenance_hatch{frequency = 1379; icon_state = "door_closed"; id_tag = "engine_airlock_exterior"; locked = 0; name = "Engine Airlock Exterior"; req_access_txt = "10"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/engineering/engine_airlock) +"cEv" = (/turf/simulated/floor/engine{carbon_dioxide = 50000; name = "co2 floor"; nitrogen = 0; oxygen = 0},/area/engineering/atmos) +"cEw" = (/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/turf/simulated/floor/engine{carbon_dioxide = 50000; name = "co2 floor"; nitrogen = 0; oxygen = 0},/area/engineering/atmos) +"cEx" = (/turf/simulated/floor/engine{carbon_dioxide = 0; name = "phoron floor"; nitrogen = 0; oxygen = 0; phoron = 70000},/area/engineering/atmos) +"cEy" = (/obj/machinery/portable_atmospherics/canister/phoron,/turf/simulated/floor/engine{carbon_dioxide = 0; name = "phoron floor"; nitrogen = 0; oxygen = 0; phoron = 70000},/area/engineering/atmos) +"cEz" = (/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/engineering/atmos) +"cEA" = (/obj/machinery/portable_atmospherics/canister/sleeping_agent/roomfiller,/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/engineering/atmos) "cEB" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1380; id_tag = "engineering_dock_pump"},/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1380; id_tag = "engineering_dock_airlock"; pixel_x = -25; pixel_y = 0; req_access_txt = "0"; req_one_access_txt = "13;11;24"; tag_airpump = "engineering_dock_pump"; tag_chamber_sensor = "engineering_dock_sensor"; tag_exterior_door = "engineering_dock_outer"; tag_interior_door = "engineering_dock_inner"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 9},/area/maintenance/engi_shuttle) "cEC" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 5},/area/maintenance/engi_shuttle) "cED" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/maintenance/engi_shuttle) -"cEE" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact-f (EAST)"},/obj/machinery/light,/turf/simulated/floor,/area/engineering/foyer) +"cEE" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/engineering/atmos) "cEF" = (/turf/simulated/floor/engine/vacuum,/area/maintenance/incinerator) -"cEG" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact-f (EAST)"},/obj/machinery/atmospherics/pipe/simple/hidden/purple,/turf/simulated/floor{dir = 4; icon_state = "loadingarea"},/area/engineering/foyer) +"cEG" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) "cEH" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/green,/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cEI" = (/obj/structure/stool,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cEJ" = (/obj/structure/table,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cEK" = (/obj/machinery/computer/arcade,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cEL" = (/obj/structure/disposaloutlet{dir = 4},/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/engine,/area/rnd/xenobiology) -"cEM" = (/obj/machinery/door/window/eastright{name = "Engineering Delivery"; req_one_access_txt = "11;24"},/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 6; icon_state = "intact"; tag = "icon-intact-f (SOUTHEAST)"},/turf/simulated/floor{icon_state = "delivery"},/area/engineering/foyer) -"cEN" = (/obj/machinery/navbeacon{codes_txt = "delivery;dir=4"; freq = 1400; location = "Engineering"},/obj/structure/plasticflaps{opacity = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor{icon_state = "bot"},/area/engineering/foyer) -"cEO" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/maintenance/atmos_control) -"cEP" = (/obj/structure/sign/securearea{pixel_x = -32},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/atmos_control) -"cEQ" = (/obj/machinery/door/window/eastright{name = "Engineering Reception Desk"; req_one_access_txt = "10;24"},/obj/machinery/light,/turf/simulated/floor,/area/engineering/foyer) -"cER" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/turf/simulated/floor,/area/engineering/foyer) -"cES" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact-f (EAST)"},/turf/simulated/floor,/area/engineering/foyer) -"cET" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact-f (EAST)"},/obj/machinery/requests_console{announcementConsole = 0; department = "Engineering"; departmentType = 4; name = "Engineering RC"; pixel_x = 0; pixel_y = -32},/turf/simulated/floor,/area/engineering/foyer) -"cEU" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact-f (EAST)"},/obj/machinery/computer/guestpass{pixel_y = -28},/turf/simulated/floor,/area/engineering/foyer) -"cEV" = (/obj/structure/closet/secure_closet/atmos_personal,/obj/item/weapon/tank/emergency_oxygen/engi,/turf/simulated/floor,/area/engineering/locker_room) -"cEW" = (/obj/structure/closet/secure_closet/atmos_personal,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/obj/item/weapon/tank/emergency_oxygen/engi,/turf/simulated/floor,/area/engineering/locker_room) -"cEX" = (/obj/structure/disposalpipe/junction{icon_state = "pipe-j2"; dir = 2},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/engineering/foyer) -"cEY" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/engineering/foyer) -"cEZ" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor{dir = 8; icon_state = "yellowcorner"},/area/engineering/foyer) -"cFa" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/engineering/foyer) -"cFb" = (/obj/structure/table,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor,/area/engineering/locker_room) -"cFc" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor,/area/engineering/locker_room) -"cFd" = (/turf/simulated/floor,/area/engineering/locker_room) -"cFe" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor,/area/engineering/locker_room) -"cFf" = (/obj/machinery/button/holosign{pixel_x = -24; pixel_y = 2},/obj/machinery/camera{c_tag = "Medbay Operating Theatre 2"; dir = 4; network = list("SS13")},/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/turf/simulated/floor{dir = 1; icon_state = "whiteredcorner"},/area/medical/surgery2) +"cEM" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/engineering/drone_fabrication) +"cEN" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "warning"},/area/engineering/engine_smes) +"cEO" = (/obj/machinery/camera{c_tag = "SMES"; dir = 8; network = list("SS13","Supermatter")},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor,/area/engineering/engine_smes) +"cEP" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor{icon_state = "warningcorner"; dir = 1},/area/engineering/engine_smes) +"cEQ" = (/obj/structure/table/reinforced,/obj/machinery/camera{c_tag = "Engine Monitoring Room"; dir = 4; network = list("SS13","Supermatter")},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor,/area/engineering/engine_monitoring) +"cER" = (/obj/structure/table/reinforced,/obj/machinery/door_control{desc = "A remote control-switch for the engine control room blast doors."; id = "EngineBlast"; name = "Engine Room Blast Doors"; pixel_x = 0; pixel_y = -3; req_access_txt = "10"},/obj/machinery/door_control{desc = "A remote control-switch for the engine charging port."; id = "EngineEmitterPort"; name = "Engine Charging Port"; pixel_x = -6; pixel_y = 7; req_access_txt = "10"},/obj/machinery/door_control{desc = "A remote control-switch for the engine emitter."; id = "EngineEmitter"; name = "Engine Emitter"; normaldoorcontrol = 2; pixel_x = 6; pixel_y = 7; req_access_txt = "10"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/engineering/engine_monitoring) +"cES" = (/obj/structure/stool/bed/chair/office/dark,/obj/effect/landmark/start{name = "Station Engineer"},/turf/simulated/floor,/area/engineering/engine_monitoring) +"cET" = (/obj/structure/table/reinforced,/obj/machinery/light_switch{pixel_x = 27},/turf/simulated/floor,/area/engineering/engine_monitoring) +"cEU" = (/obj/machinery/embedded_controller/radio/airlock/advanced_airlock_controller{id_tag = "engine_room_airlock"; name = "Engine Room Airlock"; pixel_x = -24; tag_airpump = "engine_airlock_pump"; tag_chamber_sensor = "eng_al_c_snsr"; tag_exterior_door = "engine_airlock_exterior"; tag_exterior_sensor = "eng_al_ext_snsr"; tag_interior_door = "engine_airlock_interior"; tag_interior_sensor = "eng_al_int_snsr"},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHEAST)"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 9},/area/engineering/engine_airlock) +"cEV" = (/obj/structure/closet/emcloset,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 5},/area/engineering/engine_airlock) +"cEW" = (/obj/machinery/atmospherics/binary/dp_vent_pump/high_volume{dir = 8; frequency = 1379; id = "engine_airlock_pump"},/turf/simulated/floor/plating,/area/engineering/engine_airlock) +"cEX" = (/obj/machinery/light/small,/turf/simulated/floor/engine{carbon_dioxide = 50000; name = "co2 floor"; nitrogen = 0; oxygen = 0},/area/engineering/atmos) +"cEY" = (/obj/machinery/light/small,/turf/simulated/floor/engine{carbon_dioxide = 0; name = "phoron floor"; nitrogen = 0; oxygen = 0; phoron = 70000},/area/engineering/atmos) +"cEZ" = (/obj/machinery/light/small,/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/engineering/atmos) +"cFa" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) +"cFb" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) +"cFc" = (/obj/machinery/computer/drone_control,/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/engineering/drone_fabrication) +"cFd" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/machinery/light,/obj/machinery/mecha_part_fabricator{output_dir = 1},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 10},/area/engineering/drone_fabrication) +"cFe" = (/obj/machinery/light,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/sensor{name = "Powernet Sensor - Master Grid"; name_tag = "Master"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 6},/area/engineering/drone_fabrication) +"cFf" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/engineering/drone_fabrication) "cFg" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1380; id_tag = "engineering_dock_pump"},/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "engineering_dock_sensor"; pixel_x = -25; pixel_y = 8},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 10},/area/maintenance/engi_shuttle) "cFh" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 6},/area/maintenance/engi_shuttle) "cFi" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/maintenance/engi_shuttle) -"cFj" = (/obj/machinery/camera{c_tag = "Medbay Operating Theatre 1"; dir = 8; network = list("SS13")},/obj/machinery/button/holosign{pixel_x = 24; pixel_y = 2},/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/simulated/floor{dir = 4; icon_state = "whiteredcorner"},/area/medical/surgery) +"cFj" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/engineering/drone_fabrication) "cFk" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/obj/structure/sign/securearea{desc = "A warning sign which reads 'HOT EXHAUST'."; name = "\improper HOT EXHAUST"; pixel_x = -32},/turf/simulated/floor/plating/airless,/area/space) -"cFl" = (/obj/machinery/air_sensor{frequency = 1441; id_tag = "n2_sensor"},/turf/simulated/floor/engine{name = "n2 floor"; nitrogen = 100000; oxygen = 0},/area/engineering/atmos) +"cFl" = (/obj/machinery/power/smes/buildable{charge = 1e+007; cur_coils = 4; input_attempt = 1; input_level = 500000; output_level = 500000; RCon_tag = "Engine - Main"},/obj/structure/cable,/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/engineering/engine_smes) "cFm" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/green,/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cFn" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cFo" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/closet/secure_closet/personal/patient,/obj/item/clothing/under/color/white,/obj/item/clothing/under/color/white,/obj/item/clothing/under/color/white,/obj/item/clothing/under/color/white,/obj/item/clothing/under/color/white,/obj/item/clothing/under/color/white,/obj/item/clothing/under/color/white,/obj/item/clothing/shoes/white,/obj/item/clothing/shoes/white,/obj/item/clothing/shoes/white,/obj/item/clothing/shoes/white,/obj/item/clothing/shoes/white,/obj/item/clothing/shoes/white,/obj/item/clothing/shoes/white,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"cFp" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 2; external_pressure_bound = 0; external_pressure_bound_default = 0; frequency = 1441; icon_state = "map_vent_in"; id_tag = "n2_out"; initialize_directions = 1; internal_pressure_bound = 4000; internal_pressure_bound_default = 4000; use_power = 1; pressure_checks = 2; pressure_checks_default = 2; pump_direction = 0},/turf/simulated/floor/engine{name = "n2 floor"; nitrogen = 100000; oxygen = 0},/area/engineering/atmos) -"cFq" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 2; frequency = 1441; icon_state = "map_injector"; id = "n2_in"; use_power = 1},/turf/simulated/floor/engine{name = "n2 floor"; nitrogen = 100000; oxygen = 0},/area/engineering/atmos) -"cFr" = (/obj/machinery/air_sensor{frequency = 1441; id_tag = "o2_sensor"},/turf/simulated/floor/engine{name = "o2 floor"; nitrogen = 0; oxygen = 100000},/area/engineering/atmos) -"cFs" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 2; external_pressure_bound = 0; external_pressure_bound_default = 0; frequency = 1441; icon_state = "map_vent_in"; id_tag = "o2_out"; initialize_directions = 1; internal_pressure_bound = 4000; internal_pressure_bound_default = 4000; use_power = 1; pressure_checks = 2; pressure_checks_default = 2; pump_direction = 0},/turf/simulated/floor/engine{name = "o2 floor"; nitrogen = 0; oxygen = 100000},/area/engineering/atmos) -"cFt" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 2; frequency = 1441; icon_state = "map_injector"; id = "o2_in"; use_power = 1},/turf/simulated/floor/engine{name = "o2 floor"; nitrogen = 0; oxygen = 100000},/area/engineering/atmos) -"cFu" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 2; frequency = 1443; icon_state = "map_injector"; id = "air_in"; use_power = 1},/turf/simulated/floor/engine{name = "air floor"; nitrogen = 10580; oxygen = 2644},/area/engineering/atmos) -"cFv" = (/obj/machinery/air_sensor{frequency = 1443; id_tag = "air_sensor"; output = 7},/turf/simulated/floor/engine{name = "air floor"; nitrogen = 10580; oxygen = 2644},/area/engineering/atmos) -"cFw" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; external_pressure_bound = 0; external_pressure_bound_default = 0; frequency = 1443; icon_state = "map_vent_in"; id_tag = "air_out"; internal_pressure_bound = 2000; internal_pressure_bound_default = 2000; use_power = 1; pressure_checks = 2; pressure_checks_default = 2; pump_direction = 0},/turf/simulated/floor/engine{name = "air floor"; nitrogen = 10580; oxygen = 2644},/area/engineering/atmos) -"cFx" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering Locker Room"; req_one_access_txt = "11;24"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering/locker_room) -"cFy" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor,/area/engineering/locker_room) -"cFz" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/engineering/locker_room) -"cFA" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor,/area/engineering/foyer) -"cFB" = (/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=AIE"; location = "AftH"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor,/area/engineering/foyer) -"cFC" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering/foyer) -"cFD" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/engineering/foyer) -"cFE" = (/obj/machinery/light_switch{pixel_x = 27},/turf/simulated/floor,/area/engineering/locker_room) -"cFF" = (/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Substation - Engineering"},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green,/turf/simulated/floor/plating,/area/maintenance/substation/engineering) -"cFG" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/engineering/locker_room) -"cFH" = (/obj/machinery/door/airlock/maintenance{name = "Engineering EVA Storage Maintainance"; req_access_txt = "12"; req_one_access_txt = "11;24"},/obj/machinery/atmospherics/pipe/simple/hidden/purple,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/engineering/engine_eva) -"cFI" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/plating,/area/maintenance/atmos_control) +"cFp" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor{icon_state = "warning"},/area/engineering/engine_smes) +"cFq" = (/obj/machinery/power/terminal{dir = 8},/obj/machinery/light,/obj/machinery/door_control{id = "engine_electrical_maintenance"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 5; pixel_y = -25; req_access_txt = "10"; specialfunctions = 4},/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/engineering/engine_smes) +"cFr" = (/obj/machinery/computer/general_air_control/supermatter_core{frequency = 1438; input_tag = "cooling_in"; name = "Engine Cooling Control"; output_tag = "cooling_out"; pressure_setting = 100; sensors = list("engine_sensor" = "Engine Core")},/turf/simulated/floor{icon_state = "warning"},/area/engineering/engine_monitoring) +"cFs" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/computer/power_monitor,/turf/simulated/floor{icon_state = "warning"},/area/engineering/engine_monitoring) +"cFt" = (/obj/machinery/computer/rcon,/turf/simulated/floor{icon_state = "warning"},/area/engineering/engine_monitoring) +"cFu" = (/obj/machinery/computer/station_alert,/turf/simulated/floor{icon_state = "warning"},/area/engineering/engine_monitoring) +"cFv" = (/obj/machinery/computer/security/engineering{network = list("Engineering","Power Alarms","Atmosphere Alarms","Fire Alarms","Supermatter")},/turf/simulated/floor{icon_state = "warning"},/area/engineering/engine_monitoring) +"cFw" = (/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "eng_al_c_snsr"; pixel_x = -25; pixel_y = 0},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 10},/area/engineering/engine_airlock) +"cFx" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 6},/area/engineering/engine_airlock) +"cFy" = (/turf/simulated/floor/plating,/area/engineering/engine_airlock) +"cFz" = (/obj/structure/grille,/obj/structure/grille,/turf/simulated/wall/r_wall,/area/engineering/atmos) +"cFA" = (/turf/simulated/wall/r_wall,/area/engineering/engine_room) +"cFB" = (/obj/machinery/door/airlock/maintenance{name = "Drone Fabrication/Engine Waste Handling"; req_one_access_txt = "10;24"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/engineering/drone_fabrication) +"cFC" = (/obj/machinery/door/airlock/hatch{icon_state = "door_locked"; id_tag = "engine_electrical_maintenance"; locked = 1; name = "Electrical Maintenance"; req_access_txt = "10"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/engineering/engine_room) +"cFD" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "EngineBlast"; name = "Engine Monitoring Room Blast Doors"; opacity = 0},/turf/simulated/floor/plating,/area/engineering/engine_room) +"cFE" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "EngineBlast"; name = "Engine Monitoring Room Blast Doors"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/engineering/engine_room) +"cFF" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "EngineBlast"; name = "Engine Monitoring Room Blast Doors"; opacity = 0},/turf/simulated/floor/plating,/area/engineering/engine_room) +"cFG" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "EngineBlast"; name = "Engine Monitoring Room Blast Doors"; opacity = 0},/turf/simulated/floor/plating,/area/engineering/engine_room) +"cFH" = (/obj/machinery/door/airlock/maintenance_hatch{frequency = 1379; icon_state = "door_closed"; id_tag = "engine_airlock_interior"; locked = 0; name = "Engine Airlock Interior"; req_access_txt = "10"},/turf/simulated/floor/plating,/area/engineering/engine_room) +"cFI" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/turf/simulated/wall/r_wall,/area/engineering/engine_waste) "cFJ" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'KEEP CLEAR OF DOCKING AREA'."; name = "KEEP CLEAR: DOCKING AREA"; pixel_y = 0},/turf/simulated/wall,/area/maintenance/engi_shuttle) "cFK" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "engineering_dock_outer"; locked = 1; name = "Engineering Dock Airlock"; req_access = null; req_access_txt = "13"},/turf/simulated/floor/plating,/area/maintenance/engi_shuttle) "cFL" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "engineering_dock_airlock"; name = "exterior access button"; pixel_x = -25; pixel_y = -8; req_access_txt = "0"; req_one_access_txt = "13;11;24"},/turf/space,/area/space) @@ -7062,141 +7062,141 @@ "cFP" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/medical/virology) "cFQ" = (/obj/machinery/vending/coffee,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cFR" = (/obj/machinery/vending/snack,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"cFS" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/atmos_control) -"cFT" = (/obj/structure/stool/bed/chair/office/dark{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/cyan,/turf/simulated/floor,/area/engineering/foyer) -"cFU" = (/obj/structure/table/reinforced,/obj/item/weapon/clipboard,/obj/item/weapon/tape_roll,/turf/simulated/floor,/area/engineering/foyer) -"cFV" = (/obj/machinery/computer/station_alert,/turf/simulated/floor,/area/engineering/foyer) -"cFW" = (/obj/machinery/meter{frequency = 1443; id = "dloop_atm_meter"; name = "Distribution Loop"},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold/visible/supply{dir = 8},/turf/simulated/floor,/area/engineering/atmos) -"cFX" = (/obj/machinery/meter{frequency = 1443; id = "wloop_atm_meter"; name = "Waste Loop"},/obj/machinery/atmospherics/pipe/simple/visible/scrubbers,/turf/simulated/floor,/area/engineering/atmos) -"cFY" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/engineering/atmos/monitoring) -"cFZ" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/simple/visible/purple,/turf/simulated/floor,/area/engineering/atmos) -"cGa" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/machinery/meter,/obj/machinery/firealarm{pixel_y = 24},/turf/simulated/floor,/area/engineering/atmos) -"cGb" = (/obj/machinery/alarm{frequency = 1439; pixel_y = 23},/obj/machinery/atmospherics/pipe/simple/visible/supply{dir = 10},/turf/simulated/floor,/area/engineering/atmos) -"cGc" = (/obj/machinery/computer/atmoscontrol,/turf/simulated/floor,/area/engineering/atmos/monitoring) -"cGd" = (/obj/machinery/firealarm{pixel_x = 32; pixel_y = 24},/turf/simulated/floor,/area/engineering/atmos/monitoring) -"cGe" = (/obj/machinery/computer/general_air_control{frequency = 1443; level = 3; name = "Distribution and Waste Monitor"; sensors = list("mair_in_meter" = "Mixed Air In", "air_sensor" = "Mixed Air Supply Tank", "mair_out_meter" = "Mixed Air Out", "dloop_atm_meter" = "Distribution Loop", "wloop_atm_meter" = "Engine Waste")},/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/engineering/atmos/monitoring) -"cGf" = (/obj/machinery/computer/atmos_alert,/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor,/area/engineering/engineering_monitoring) +"cFS" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/engineering/engine_waste) +"cFT" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 10},/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor/plating,/area/engineering/engine_waste) +"cFU" = (/obj/machinery/camera/autoname{dir = 2; network = list("SS13","Supermatter","Atmospherics")},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplatecorner"},/area/engineering/engine_waste) +"cFV" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/engineering/engine_waste) +"cFW" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'RADIOACTIVE AREA'"; icon_state = "radiation"; name = "RADIOACTIVE AREA"; pixel_x = 0; pixel_y = 0},/turf/simulated/wall/r_wall,/area/engineering/engine_room) +"cFX" = (/obj/machinery/light/small{dir = 4},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/engineering/engine_waste) +"cFY" = (/obj/machinery/light{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/obj/machinery/atmospherics/binary/pump{dir = 8},/turf/simulated/floor/plating,/area/engineering/engine_room) +"cFZ" = (/obj/machinery/door_control{desc = "A remote control-switch for the engine control room blast doors."; id = "EngineEmitterPortWest"; name = "Engine Room Blast Doors"; pixel_x = 0; pixel_y = 25; req_access_txt = "10"},/obj/machinery/atmospherics/portables_connector{dir = 4},/turf/simulated/floor/plating{icon_state = "platebot"},/area/engineering/engine_room) +"cGa" = (/obj/machinery/power/terminal{dir = 4},/obj/structure/cable/yellow,/obj/machinery/power/sensor{name = "Powernet Sensor - Engine Output"; name_tag = "Engine Output"},/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/engineering/engine_room) +"cGb" = (/obj/machinery/alarm{breach_detection = 0; dir = 2; frequency = 1439; name = "Engine Room Air Alarm"; pixel_y = 23},/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 10},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engineering/engine_room) +"cGc" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/engineering/engine_room) +"cGd" = (/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/obj/machinery/power/smes/buildable{charge = 2e+006; RCon_tag = "Engine - Core"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/engineering/engine_room) +"cGe" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/cyan{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/plating,/area/engineering/engine_room) +"cGf" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/plating,/area/engineering/engine_room) "cGg" = (/turf/space,/area/shuttle/constructionsite/station) -"cGh" = (/obj/structure/table/reinforced,/turf/simulated/floor,/area/engineering/engineering_monitoring) -"cGi" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/turf/simulated/floor,/area/engineering/engineering_monitoring) +"cGh" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/engineering/engine_room) +"cGi" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/plating,/area/engineering/engine_room) "cGj" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/maintenance/engineering) "cGk" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 32; pixel_y = 0},/turf/space,/area/space) "cGl" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/medical/virology) -"cGm" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/structure/sign/directions/medical{dir = 1; icon_state = "direction_med"; pixel_x = 30; pixel_y = 4; tag = "icon-direction_med (NORTH)"},/obj/structure/sign/directions/evac{dir = 8; icon_state = "direction_evac"; pixel_x = 30; pixel_y = -4; tag = "icon-direction_evac (WEST)"},/turf/simulated/floor,/area/engineering) -"cGn" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor,/area/engineering) -"cGo" = (/obj/structure/closet/toolcloset,/obj/machinery/light{dir = 1},/obj/item/device/flashlight,/turf/simulated/floor,/area/engineering/workshop) -"cGp" = (/obj/structure/closet/toolcloset,/obj/item/device/flashlight,/turf/simulated/floor,/area/engineering/workshop) -"cGq" = (/obj/machinery/vending/tool,/turf/simulated/floor,/area/engineering/workshop) -"cGr" = (/obj/machinery/vending/engivend,/turf/simulated/floor,/area/engineering/workshop) -"cGs" = (/obj/machinery/shield_gen/external,/turf/simulated/floor/plating,/area/engineering/storage) -"cGt" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/engineering/workshop) -"cGu" = (/obj/machinery/shield_gen,/obj/machinery/light{dir = 1},/turf/simulated/floor/plating,/area/engineering/storage) -"cGv" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/plating,/area/engineering/atmos) -"cGw" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/engineering/atmos) -"cGx" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/engineering/atmos) -"cGy" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor/plating,/area/engineering/atmos) -"cGz" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/purple,/turf/simulated/floor/plating,/area/engineering/atmos) -"cGA" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/visible/green{dir = 8},/turf/simulated/floor/plating,/area/engineering/atmos) -"cGB" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/green{tag = "icon-intact (SOUTHWEST)"; icon_state = "intact"; dir = 10},/turf/simulated/floor/plating,/area/engineering/atmos) -"cGC" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/plating,/area/engineering/atmos) -"cGD" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/manifold/visible/green{dir = 8},/turf/simulated/floor/plating,/area/engineering/atmos) -"cGE" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/visible/green{tag = "icon-intact (SOUTHWEST)"; icon_state = "intact"; dir = 10},/turf/simulated/floor/plating,/area/engineering/atmos) +"cGm" = (/turf/simulated/floor/plating,/area/engineering/engine_room) +"cGn" = (/obj/machinery/light_switch{pixel_x = 12; pixel_y = 25},/obj/machinery/power/apc/super{dir = 1; name = "north bump"; pixel_y = 24},/obj/structure/cable/cyan{d2 = 8; icon_state = "0-8"},/obj/machinery/power/sensor{name = "Powernet Sensor - Engine Power"; name_tag = "Engine Power"},/turf/simulated/floor/plating,/area/engineering/engine_room) +"cGo" = (/obj/machinery/airlock_sensor/airlock_interior{id_tag = "eng_al_int_snsr"; master_tag = "engine_room_airlock"; pixel_y = 22; req_access_txt = "10"},/obj/machinery/light{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/turf/simulated/floor/plating,/area/engineering/engine_room) +"cGp" = (/obj/machinery/atmospherics/portables_connector,/turf/simulated/floor/plating{icon_state = "platebotc"},/area/engineering/engine_room) +"cGq" = (/obj/machinery/atmospherics/binary/pump{dir = 8},/turf/simulated/floor/plating,/area/engineering/engine_waste) +"cGr" = (/obj/machinery/atmospherics/pipe/manifold4w/visible/purple,/turf/simulated/floor/plating,/area/engineering/engine_waste) +"cGs" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engineering/engine_waste) +"cGt" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/turf/simulated/floor/plating,/area/engineering/engine_waste) +"cGu" = (/obj/machinery/door/blast/regular{icon_state = "pdoor1"; id = "EngineEmitterPortWest"; layer = 3.3; name = "Engine Waste Handling Access"},/turf/simulated/floor/plating,/area/engineering/engine_room) +"cGv" = (/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/window/brigdoor{dir = 8; name = "Engine Waste"; req_access = null; req_access_txt = "0"; req_one_access_txt = "10;24"},/obj/machinery/atmospherics/portables_connector,/turf/simulated/floor/plating{icon_state = "platebot"},/area/engineering/engine_waste) +"cGw" = (/obj/machinery/atmospherics/omni/filter{use_power = 0; tag_east = 1; tag_north = 0; tag_south = 4; tag_west = 2},/turf/simulated/floor/plating,/area/engineering/engine_room) +"cGx" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 6},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/engineering/engine_room) +"cGy" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/engineering/engine_room) +"cGz" = (/obj/machinery/atmospherics/pipe/manifold/visible/yellow{dir = 4},/turf/simulated/floor/plating{dir = 8; icon_state = "warnplatecorner"},/area/engineering/engine_room) +"cGA" = (/turf/simulated/floor/plating{dir = 4; icon_state = "warnplatecorner"},/area/engineering/engine_room) +"cGB" = (/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/engineering/engine_room) +"cGC" = (/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/engineering/engine_room) +"cGD" = (/obj/machinery/atmospherics/binary/pump,/turf/simulated/floor/plating,/area/engineering/engine_room) +"cGE" = (/obj/machinery/atmospherics/unary/heat_exchanger{dir = 8},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 9},/area/engineering/engine_waste) "cGF" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'KEEP CLEAR OF DOCKING AREA'."; name = "KEEP CLEAR: DOCKING AREA"; pixel_y = 0},/turf/simulated/wall,/area/maintenance/engineering) "cGG" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/engineering) "cGH" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/maintenance/engineering) -"cGI" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/engineering/atmos) -"cGJ" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering Hallway"; req_one_access_txt = "10;24"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/engineering) -"cGK" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering Hallway"; req_one_access_txt = "10;24"},/turf/simulated/floor,/area/engineering) -"cGL" = (/obj/structure/sign/securearea,/turf/simulated/wall/r_wall,/area/engineering/workshop) -"cGM" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering Workshop"; req_access_txt = "0"; req_one_access_txt = "11;24"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/engineering/workshop) -"cGN" = (/turf/simulated/wall/r_wall,/area/engineering/locker_room) -"cGO" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/atmos{name = "Atmospherics Maintenance"; req_access_txt = "12;24"},/obj/machinery/atmospherics/pipe/simple/visible/supply,/turf/simulated/floor,/area/maintenance/atmos_control) -"cGP" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/atmos{name = "Atmospherics Maintenance"; req_access_txt = "12;24"},/obj/machinery/atmospherics/pipe/simple/visible/scrubbers,/turf/simulated/floor,/area/maintenance/atmos_control) +"cGI" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/visible/purple{dir = 1},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engineering/engine_waste) +"cGJ" = (/obj/machinery/atmospherics/unary/heat_exchanger{dir = 4},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 5},/area/engineering/engine_waste) +"cGK" = (/obj/machinery/door/window/brigdoor{dir = 8; name = "Engine Waste"; req_access = null; req_access_txt = "0"; req_one_access_txt = "10;24"},/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 9},/turf/simulated/floor/plating{icon_state = "platebot"},/area/engineering/engine_waste) +"cGL" = (/obj/machinery/atmospherics/pipe/manifold/visible/yellow{dir = 8},/turf/simulated/floor/plating,/area/engineering/engine_room) +"cGM" = (/obj/machinery/atmospherics/pipe/simple/visible/purple,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/engineering/engine_room) +"cGN" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/engineering/engine_room) +"cGO" = (/obj/machinery/atmospherics/pipe/manifold/visible/yellow{dir = 4},/obj/machinery/meter,/turf/simulated/floor/plating,/area/engineering/engine_room) +"cGP" = (/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/valve/digital/open{dir = 4},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/engineering/engine_room) "cGQ" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 6},/turf/space,/area/space) "cGR" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 4},/turf/space,/area/space) "cGS" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction{dir = 8},/obj/structure/lattice,/obj/structure/grille,/turf/space,/area/space) -"cGT" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan,/turf/simulated/wall/r_wall,/area/engineering/atmos) -"cGU" = (/obj/machinery/door/airlock/maintenance{name = "Atmospherics Maintenance Access"; req_access_txt = "12;24"},/obj/machinery/atmospherics/pipe/simple/hidden/purple,/turf/simulated/floor,/area/engineering/atmos) -"cGV" = (/obj/machinery/door/airlock/glass_atmos{name = "Atmospherics Monitoring Room"; req_access_txt = "24"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/engineering/atmos/monitoring) -"cGW" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/engineering/engineering_monitoring) -"cGX" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering Monitoring Room"; req_access_txt = "11"},/turf/simulated/floor,/area/engineering/engineering_monitoring) -"cGY" = (/obj/structure/sign/securearea,/turf/simulated/wall/r_wall,/area/engineering/engineering_monitoring) -"cGZ" = (/obj/effect/landmark{name = "carpspawn"},/obj/structure/grille{density = 0; icon_state = "brokengrille"},/turf/space,/area/space) -"cHa" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/heat_exchanging{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/turf/space,/area/space) -"cHb" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 5},/turf/space,/area/space) -"cHc" = (/obj/machinery/door/blast/regular{icon_state = "pdoor1"; id = "EngineVent"; name = "Engine Core Vent"; p_open = 0},/turf/simulated/floor/engine,/area/engineering/engine_room) -"cHd" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/heat_exchanging,/turf/space,/area/space) -"cHe" = (/obj/machinery/camera{c_tag = "Engineering Core South"; dir = 1; network = list("SS13","Supermatter")},/turf/simulated/floor/engine/nitrogen{dir = 8; icon_state = "warnplate"; name = "plating"},/area/engineering/engine_room) -"cHf" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/engineering/engine_room) -"cHg" = (/turf/simulated/floor/engine/nitrogen{dir = 4; icon_state = "warnplate"; name = "plating"},/area/engineering/engine_room) -"cHh" = (/turf/simulated/floor/engine/nitrogen,/area/engineering/engine_room) -"cHi" = (/obj/machinery/door_control{desc = "A remote control-switch for opening the engines blast doors."; id = "EngineRads"; name = "Radiation Collector Access"; pixel_x = 0; pixel_y = -25; req_access_txt = "10"},/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/engineering/engine_room) -"cHj" = (/obj/machinery/power/rad_collector,/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/engineering/engine_room) -"cHk" = (/obj/machinery/door/blast/regular{icon_state = "pdoor1"; id = "EngineRads"; layer = 3.3; name = "Engine Radiation Collector Access"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/engineering/engine_room) -"cHl" = (/obj/machinery/door_control{id = "EngineVent"; name = "Engine Ventillatory Control"; pixel_x = -25; pixel_y = 0; req_access_txt = "10"},/turf/simulated/floor/plating,/area/engineering/engine_room) -"cHm" = (/obj/machinery/power/rad_collector,/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/engineering/engine_room) +"cGT" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 6},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplatecorner"},/area/engineering/engine_room) +"cGU" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{tag = "icon-intact (SOUTHWEST)"; icon_state = "intact"; dir = 10},/turf/simulated/floor/plating{dir = 1; icon_state = "warnplatecorner"},/area/engineering/engine_room) +"cGV" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/turf/simulated/floor/plating,/area/engineering/engine_room) +"cGW" = (/obj/structure/grille,/obj/structure/grille,/turf/space,/area/space) +"cGX" = (/obj/machinery/atmospherics/unary/heat_exchanger{dir = 8},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 10},/area/engineering/engine_waste) +"cGY" = (/obj/machinery/atmospherics/pipe/manifold/visible/purple,/obj/machinery/meter,/turf/simulated/floor/plating,/area/engineering/engine_waste) +"cGZ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/visible/purple,/obj/machinery/meter{id = "wloop_atm_meter"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engineering/engine_waste) +"cHa" = (/obj/machinery/atmospherics/unary/heat_exchanger{dir = 4},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 6},/area/engineering/engine_waste) +"cHb" = (/obj/machinery/door/blast/regular{icon_state = "pdoor1"; id = "EngineEmitterPortWest"; layer = 3.3; name = "Engine Waste Handling Access"},/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/turf/simulated/floor/plating,/area/engineering/engine_room) +"cHc" = (/obj/machinery/door/window/brigdoor{dir = 8; name = "Engine Waste"; req_access = null; req_access_txt = "0"; req_one_access_txt = "10;24"},/obj/structure/window/reinforced,/obj/machinery/atmospherics/binary/pump{dir = 8; name = "waste pump"},/turf/simulated/floor/plating{icon_state = "platebot"},/area/engineering/engine_waste) +"cHd" = (/obj/machinery/atmospherics/omni/filter{use_power = 0; tag_east = 1; tag_north = 4; tag_south = 0; tag_west = 2},/turf/simulated/floor/plating,/area/engineering/engine_room) +"cHe" = (/obj/machinery/atmospherics/pipe/manifold/visible/purple,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/engineering/engine_room) +"cHf" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/engineering/engine_room) +"cHg" = (/obj/machinery/atmospherics/pipe/manifold/visible/yellow,/turf/simulated/floor/plating,/area/engineering/engine_room) +"cHh" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/turf/simulated/floor/plating,/area/engineering/engine_room) +"cHi" = (/obj/machinery/power/emitter{anchored = 1; id = "EngineEmitter"; state = 2},/obj/structure/cable/cyan,/turf/simulated/floor/plating,/area/engineering/engine_room) +"cHj" = (/obj/machinery/atmospherics/pipe/manifold/visible/yellow{dir = 4},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engineering/engine_room) +"cHk" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/turf/simulated/floor/plating,/area/engineering/engine_room) +"cHl" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan{dir = 8},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/engineering/engine_room) +"cHm" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "EngineRadiatorViewport"; name = "Engine Radiator Viewport Shutter"; opacity = 0},/turf/simulated/floor/plating,/area/engineering/engine_room) "cHn" = (/obj/machinery/power/solar{id = "portsolar"; name = "Port Solar Array"},/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/port) -"cHo" = (/obj/machinery/door_control{desc = "A remote control-switch for opening the engines blast doors."; id = "EngineRads"; name = "Radiation Collector Access"; pixel_x = 0; pixel_y = -25; req_access_txt = "10"},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engineering/engine_room) +"cHo" = (/obj/machinery/atmospherics/pipe/manifold4w/visible/cyan,/obj/machinery/meter,/turf/simulated/floor/plating,/area/engineering/engine_room) "cHp" = (/obj/machinery/power/solar{id = "portsolar"; name = "Port Solar Array"},/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/port) "cHq" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 5},/turf/space,/area/space) -"cHr" = (/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engineering/engine_room) -"cHs" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/engineering/engine_room) -"cHt" = (/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/engineering/engine_room) -"cHu" = (/obj/machinery/power/supermatter{layer = 4},/obj/machinery/mass_driver{id = "enginecore"},/turf/simulated/floor/engine/nitrogen{icon_state = "gcircuit"; name = "floor"},/area/engineering/engine_room) -"cHv" = (/turf/simulated/floor/engine/nitrogen{dir = 8; icon_state = "warnplate"; name = "plating"},/area/engineering/engine_room) -"cHw" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/plating,/area/engineering/engine_room) -"cHx" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 1; frequency = 1438; icon_state = "map_injector"; id = "cooling_in"; name = "Coolant Injector"; use_power = 1; pixel_y = 1; volume_rate = 700},/turf/simulated/floor/engine/nitrogen{dir = 1; icon_state = "warnplatecorner"; name = "plating"},/area/engineering/engine_room) -"cHy" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/engineering/engine_room) -"cHz" = (/obj/machinery/atmospherics/unary/vent_pump/engine{dir = 1; external_pressure_bound = 100; external_pressure_bound_default = 0; frequency = 1438; icon_state = "map_vent_in"; id_tag = "cooling_out"; initialize_directions = 1; use_power = 1; pressure_checks = 1; pressure_checks_default = 1; pump_direction = 0},/turf/simulated/floor/engine/nitrogen{icon_state = "warnplatecorner"; name = "plating"},/area/engineering/engine_room) -"cHA" = (/obj/machinery/air_sensor{frequency = 1438; id_tag = "engine_sensor"; output = 63},/turf/simulated/floor/engine/nitrogen{icon_state = "warnplate"; name = "plating"},/area/engineering/engine_room) -"cHB" = (/obj/machinery/light{dir = 8},/turf/simulated/floor/plating,/area/engineering/engine_room) -"cHC" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Solar - Aft Port"},/turf/simulated/floor/plating,/area/maintenance/portsolar) -"cHD" = (/obj/machinery/camera{c_tag = "Engineering Core West"; dir = 8; network = list("SS13","Supermatter")},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engineering/engine_room) -"cHE" = (/obj/machinery/door_control{desc = "A remote control-switch for the engine radiator viewport shutters."; id = "EngineRadiatorViewport"; name = "Engine Radiator Viewport Shutters"; pixel_x = 25; pixel_y = 0; req_access_txt = "10"},/turf/simulated/floor/plating,/area/engineering/engine_room) -"cHF" = (/obj/machinery/door/airlock/hatch{icon_state = "door_locked"; id_tag = "engine_access_hatch"; locked = 1; req_access_txt = "10"},/obj/machinery/atmospherics/pipe/simple/visible/yellow,/turf/simulated/floor/plating,/area/engineering/engine_room) -"cHG" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/regular{icon_state = "pdoor1"; id = "EngineEmitterPort"; layer = 3.3; name = "Engine Blast Doors"},/turf/simulated/floor/plating,/area/engineering/engine_room) -"cHH" = (/obj/machinery/door/airlock/hatch{icon_state = "door_locked"; id_tag = "engine_access_hatch"; locked = 1; req_access_txt = "10"},/obj/machinery/atmospherics/pipe/simple/visible/cyan,/turf/simulated/floor/plating,/area/engineering/engine_room) -"cHI" = (/obj/machinery/camera{c_tag = "Engineering Core East"; dir = 4; network = list("SS13","Supermatter")},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/engineering/engine_room) -"cHJ" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 6},/turf/space,/area/space) +"cHr" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 4},/turf/space,/area/space) +"cHs" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/structure/lattice,/turf/space,/area/space) +"cHt" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/heat_exchanging{tag = "icon-intact (SOUTHWEST)"; icon_state = "intact"; dir = 10},/turf/space,/area/space) +"cHu" = (/turf/simulated/wall/r_wall,/area/engineering/engine_waste) +"cHv" = (/obj/machinery/light/small,/turf/simulated/floor/plating,/area/engineering/engine_waste) +"cHw" = (/turf/simulated/floor/plating,/area/engineering/engine_waste) +"cHx" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating{dir = 8; icon_state = "warnplatecorner"},/area/engineering/engine_waste) +"cHy" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor/plating,/area/engineering/engine_waste) +"cHz" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/engineering/engine_waste) +"cHA" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/engineering/engine_room) +"cHB" = (/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplatecorner"},/area/engineering/engine_room) +"cHC" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/engineering/engine_room) +"cHD" = (/obj/machinery/light,/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/engineering/engine_room) +"cHE" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/engineering/engine_room) +"cHF" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/visible/yellow,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 6},/area/engineering/engine_room) +"cHG" = (/obj/machinery/door_control{desc = "A remote control-switch for the engine control room blast doors."; id = "EngineBlast"; name = "Engine Room Blast Doors"; pixel_x = 5; pixel_y = -25; req_access_txt = "10"},/obj/machinery/door_control{desc = "A remote control-switch for the engine charging port."; id = "EngineEmitterPort"; name = "Engine Charging Port"; pixel_x = -5; pixel_y = -25; req_access_txt = "10"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/engineering/engine_room) +"cHH" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 10},/area/engineering/engine_room) +"cHI" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/engineering/engine_room) +"cHJ" = (/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating{dir = 1; icon_state = "warnplatecorner"},/area/engineering/engine_room) "cHK" = (/obj/item/stack/rods{amount = 10},/turf/space,/area/space) -"cHL" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/turf/simulated/floor/plating,/area/engineering/engine_room) -"cHM" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "EngineRadiatorViewport"; name = "Engine Radiator Viewport Shutter"; opacity = 0},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/engineering/engine_room) -"cHN" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 10},/area/engineering/engine_room) -"cHO" = (/obj/machinery/door_control{desc = "A remote control-switch for the engine control room blast doors."; id = "EngineBlast"; name = "Engine Room Blast Doors"; pixel_x = 5; pixel_y = -25; req_access_txt = "10"},/obj/machinery/door_control{desc = "A remote control-switch for the engine charging port."; id = "EngineEmitterPort"; name = "Engine Charging Port"; pixel_x = -5; pixel_y = -25; req_access_txt = "10"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/engineering/engine_room) -"cHP" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/visible/yellow,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 6},/area/engineering/engine_room) -"cHQ" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/engineering/engine_room) -"cHR" = (/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating{dir = 1; icon_state = "warnplatecorner"},/area/engineering/engine_room) -"cHS" = (/obj/machinery/light,/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/engineering/engine_room) -"cHT" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/engineering/engine_room) -"cHU" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/engineering/engine_waste) -"cHV" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/engineering/engine_room) -"cHW" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/engineering/engine_room) -"cHX" = (/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplatecorner"},/area/engineering/engine_room) -"cHY" = (/turf/simulated/wall/r_wall,/area/engineering/engine_waste) -"cHZ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating{dir = 8; icon_state = "warnplatecorner"},/area/engineering/engine_waste) -"cIa" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor/plating,/area/engineering/engine_waste) +"cHL" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "EngineRadiatorViewport"; name = "Engine Radiator Viewport Shutter"; opacity = 0},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/engineering/engine_room) +"cHM" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/turf/simulated/floor/plating,/area/engineering/engine_room) +"cHN" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 6},/turf/space,/area/space) +"cHO" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/heat_exchanging,/turf/space,/area/space) +"cHP" = (/obj/machinery/camera{c_tag = "Engineering Core West"; dir = 8; network = list("SS13","Supermatter")},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engineering/engine_room) +"cHQ" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/regular{icon_state = "pdoor1"; id = "EngineEmitterPort"; layer = 3.3; name = "Engine Blast Doors"},/turf/simulated/floor/plating,/area/engineering/engine_room) +"cHR" = (/obj/machinery/door/airlock/hatch{icon_state = "door_locked"; id_tag = "engine_access_hatch"; locked = 1; req_access_txt = "10"},/obj/machinery/atmospherics/pipe/simple/visible/yellow,/turf/simulated/floor/plating,/area/engineering/engine_room) +"cHS" = (/obj/machinery/door/airlock/hatch{icon_state = "door_locked"; id_tag = "engine_access_hatch"; locked = 1; req_access_txt = "10"},/obj/machinery/atmospherics/pipe/simple/visible/cyan,/turf/simulated/floor/plating,/area/engineering/engine_room) +"cHT" = (/obj/machinery/camera{c_tag = "Engineering Core East"; dir = 4; network = list("SS13","Supermatter")},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/engineering/engine_room) +"cHU" = (/obj/machinery/door_control{desc = "A remote control-switch for the engine radiator viewport shutters."; id = "EngineRadiatorViewport"; name = "Engine Radiator Viewport Shutters"; pixel_x = 25; pixel_y = 0; req_access_txt = "10"},/turf/simulated/floor/plating,/area/engineering/engine_room) +"cHV" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Solar - Aft Port"},/turf/simulated/floor/plating,/area/maintenance/portsolar) +"cHW" = (/obj/machinery/light{dir = 8},/turf/simulated/floor/plating,/area/engineering/engine_room) +"cHX" = (/obj/machinery/door/blast/regular{icon_state = "pdoor1"; id = "EngineRads"; layer = 3.3; name = "Engine Radiation Collector Access"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/engineering/engine_room) +"cHY" = (/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engineering/engine_room) +"cHZ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/engineering/engine_room) +"cIa" = (/obj/machinery/power/rad_collector,/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/engineering/engine_room) "cIb" = (/obj/structure/lattice,/obj/structure/sign/securearea{desc = "A warning sign which reads 'KEEP CLEAR OF DOCKING AREA'."; name = "KEEP CLEAR: DOCKING AREA"; pixel_x = -32; pixel_y = 0},/turf/space,/area/space) "cIc" = (/obj/item/stack/cable_coil,/turf/space,/area/space) -"cId" = (/obj/machinery/light/small,/turf/simulated/floor/plating,/area/engineering/engine_waste) -"cIe" = (/turf/simulated/floor/plating,/area/engineering/engine_waste) -"cIf" = (/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/obj/machinery/power/smes/buildable{charge = 2e+006; RCon_tag = "Engine - Core"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/engineering/engine_room) -"cIg" = (/obj/machinery/light{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/extinguisher_cabinet{pixel_x = -24},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/rnd/xenobiology) -"cIh" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_x = 0; pixel_y = 32},/obj/structure/cable/cyan{d2 = 8; icon_state = "0-8"},/obj/machinery/power/smes/buildable{charge = 2e+006; RCon_tag = "Substation - Atmospherics"},/turf/simulated/floor/plating,/area/engineering/atmos/storage) -"cIi" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = -7; pixel_y = -32; req_access_txt = "0"},/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/obj/structure/extinguisher_cabinet{pixel_x = 7; pixel_y = -32},/turf/simulated/floor,/area/rnd/xenobiology) -"cIj" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/obj/structure/extinguisher_cabinet{pixel_x = 25; pixel_y = 0},/turf/simulated/floor{icon_state = "blue"; dir = 4},/area/medical/surgeryprep) -"cIk" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{autoclose = 0; name = "Acute Treatment"; req_access_txt = "5"},/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/medbay) -"cIl" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/structure/stool/bed/roller,/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/sleeper) -"cIm" = (/obj/machinery/door/firedoor,/obj/machinery/door/blast/shutters{density = 0; dir = 4; icon_state = "shutter0"; id = "acute2"; name = "Acute Two Privacy Shutters"; opacity = 0},/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/medical/medbay) -"cIn" = (/obj/structure/stool/bed,/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) -"cIo" = (/obj/machinery/sleeper,/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/sleeper) -"cIp" = (/obj/machinery/door/firedoor,/obj/machinery/door/blast/shutters{density = 0; dir = 4; icon_state = "shutter0"; id = "acute2"; name = "Acute Two Privacy Shutters"; opacity = 0},/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/medical/medbay) -"cIq" = (/obj/machinery/door_control{id = "scanhide"; name = "Diagnostics Room Separation Shutters"; pixel_x = -6; pixel_y = -25; req_access_txt = "5"},/obj/machinery/iv_drip,/obj/machinery/door_control{id = "acute2"; name = "Acute Treatment Privacy Shutters"; pixel_x = 6; pixel_y = -25; req_access_txt = "5"},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) -"cIr" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/extinguisher_cabinet{pixel_x = -5; pixel_y = 28},/turf/simulated/floor,/area/engineering/locker_room) -"cIs" = (/obj/item/device/radio/intercom{freerange = 1; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 28},/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{dir = 4; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay) -"cIt" = (/obj/structure/closet/secure_closet/engineering_personal,/obj/item/weapon/tank/emergency_oxygen/engi,/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/turf/simulated/floor,/area/engineering/locker_room) -"cIu" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/table,/obj/machinery/camera{c_tag = "Engineering Locker Room"; dir = 1; network = list("SS13")},/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor,/area/engineering/locker_room) -"cIv" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "0"; req_one_access_txt = "10;24"},/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/substation/engineering) -"cIw" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor/plating,/area/maintenance/research_port) +"cId" = (/obj/machinery/air_sensor{frequency = 1438; id_tag = "engine_sensor"; output = 63},/turf/simulated/floor/engine/nitrogen{icon_state = "warnplate"; name = "plating"},/area/engineering/engine_room) +"cIe" = (/obj/machinery/atmospherics/unary/vent_pump/engine{dir = 1; external_pressure_bound = 100; external_pressure_bound_default = 0; frequency = 1438; icon_state = "map_vent_in"; id_tag = "cooling_out"; initialize_directions = 1; use_power = 1; pressure_checks = 1; pressure_checks_default = 1; pump_direction = 0},/turf/simulated/floor/engine/nitrogen{icon_state = "warnplatecorner"; name = "plating"},/area/engineering/engine_room) +"cIf" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 1; frequency = 1438; icon_state = "map_injector"; id = "cooling_in"; name = "Coolant Injector"; use_power = 1; pixel_y = 1; volume_rate = 700},/turf/simulated/floor/engine/nitrogen{dir = 1; icon_state = "warnplatecorner"; name = "plating"},/area/engineering/engine_room) +"cIg" = (/obj/machinery/power/rad_collector,/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/engineering/engine_room) +"cIh" = (/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/engineering/engine_room) +"cIi" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/plating,/area/engineering/engine_room) +"cIj" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/engineering/engine_room) +"cIk" = (/obj/machinery/power/supermatter{layer = 4},/obj/machinery/mass_driver{id = "enginecore"},/turf/simulated/floor/engine/nitrogen{icon_state = "gcircuit"; name = "floor"},/area/engineering/engine_room) +"cIl" = (/turf/simulated/floor/engine/nitrogen{dir = 4; icon_state = "warnplate"; name = "plating"},/area/engineering/engine_room) +"cIm" = (/turf/simulated/floor/engine/nitrogen{dir = 8; icon_state = "warnplate"; name = "plating"},/area/engineering/engine_room) +"cIn" = (/obj/machinery/door_control{id = "EngineVent"; name = "Engine Ventillatory Control"; pixel_x = -25; pixel_y = 0; req_access_txt = "10"},/turf/simulated/floor/plating,/area/engineering/engine_room) +"cIo" = (/obj/machinery/door_control{desc = "A remote control-switch for opening the engines blast doors."; id = "EngineRads"; name = "Radiation Collector Access"; pixel_x = 0; pixel_y = -25; req_access_txt = "10"},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engineering/engine_room) +"cIp" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/engineering/engine_room) +"cIq" = (/turf/simulated/floor/engine/nitrogen,/area/engineering/engine_room) +"cIr" = (/obj/machinery/camera{c_tag = "Engineering Core South"; dir = 1; network = list("SS13","Supermatter")},/turf/simulated/floor/engine/nitrogen{dir = 8; icon_state = "warnplate"; name = "plating"},/area/engineering/engine_room) +"cIs" = (/obj/machinery/door_control{desc = "A remote control-switch for opening the engines blast doors."; id = "EngineRads"; name = "Radiation Collector Access"; pixel_x = 0; pixel_y = -25; req_access_txt = "10"},/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/engineering/engine_room) +"cIt" = (/obj/machinery/door/blast/regular{icon_state = "pdoor1"; id = "EngineVent"; name = "Engine Core Vent"; p_open = 0},/turf/simulated/floor/engine,/area/engineering/engine_room) +"cIu" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 5},/turf/space,/area/space) +"cIv" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/heat_exchanging{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/turf/space,/area/space) +"cIw" = (/obj/effect/landmark{name = "carpspawn"},/obj/structure/grille{density = 0; icon_state = "brokengrille"},/turf/space,/area/space) "cIJ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/maintenance/portsolar) "cIK" = (/turf/simulated/wall/r_wall,/area/maintenance/portsolar) "cIL" = (/turf/simulated/wall/r_wall,/area/maintenance/engi_engine) @@ -7311,8 +7311,8 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauaauaauaauaauaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaamaaacKraazaavaaacKraazaavaaacKraazaavaafaafaafaafaaaaaaaaaaaaaaaaaaaafaaaaaaaafaaAaaBaaaaaaaaaaaaaaaaaaaaaaaaaaaaayaaCaaDaaEaaDaaEaaDaaFaayaayaaGaaHaayaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaauaaaaaaaauaaaaaaaauaauaauaauaauaauaauaaaaaaaauaaaaaaaauaaaaaaaaaaaaaaaaaaaaIaafcKraazaavaaacKraazaavaafcKraazaavaafaaaaaaaafaafaaJaaaaaaaaaaaaaafaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaKaaLaafaayaaMaaNaaNaaNaaNaaNaaOaaPaaQaaRaaSaayaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaauaauaauaauaaaaauaauaauaauaauaauaauaauaauaaaaauaauaauaauaaaaaaaaaaaaaaaaaaaafaaacKraazaavaafcKraazaavaaacKraazaavaaaaaaaaaaaaaafaafaaaaaaaaaaaaaafaafaafaafaaaaaaaaTaaTaaTaaTaaTaaTaaTaafaaaaayaaUaaVaaEaaVaaEaaVaaWaaXaaYaaZabaaayabbabbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaauaauaauaauaaaaauaauaauaauaauaauaauaauaauaaaaauaauaauaauaaaaaaaaaaamaamaaIaafaaacKraazaavaafcKraazaavaaacKraazaavaafaaaaaaaacaaaaafaafabcabdabdabdabdabeabfaaaaaaaaTabgabganfabgabgaaTaaaaafaayabiabjaaXabkaaXabjaaXaayablaaZabmaayabnaboaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaauaauaauaauaaaaauaauaauaauaauaauaauaauaauaaaaauaauaauaauaaaaaaaaaaamaaaaafaaaaafaafapsaafaafaafapsaafaaaaafapsaafaaaaaaaaaaaaaaaabqabrabsabtabuamNabwabxabfaafaaaaaTabyabzabAabBabCaaTaaaaaaabDabEabFabGabHaaEabFaaEabIabJabKabLappabNabOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaaaaadaadaadaadaadaaaaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaauaauaauaauaaaaauaauaauaauaauaauaauaauaauaaaaauaauaauaauaaaaaaaaaaamaamaaIaafaaacKraazaavaafcKraazaavaaacKraazaavaafaaaaaaaacaaaaafaafabcabdabdabdabdabeabfaaaaaaaaTabgabgabhabgabgaaTaaaaafaayabiabjaaXabkaaXabjaaXaayablaaZabmaayabnaboaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaauaauaauaauaaaaauaauaauaauaauaauaauaauaauaaaaauaauaauaauaaaaaaaaaaamaaaaafaaaaafaafapsaafaafaafapsaafaaaaafapsaafaaaaaaaaaaaaaaaabqabrabsabtabuabvabwabxabfaafaaaaaTabyabzabAabBabCaaTaaaaaaabDabEabFabGabHaaEabFaaEabIabJabKabLappabNabOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaaaaadaadaadaadaadaaaaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaaaaaaaaaaaIaafaqMaqbapTaqTaqTaqTaqTaqTaqTaqTaqTaqTaqTaqTaqTarBaqbaqbaryabWabXabYabZacaacbaccacdaaTaaTaaTaaTaaTaceacfacgaaTaaTachaciacjackaclacmacnacmacoackackackacpacqacracsactaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaaaaafaaLaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaaaaadaadaadaadaadaaaaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaaaaaaaaaaamaaaaafaaaaafaafapjaafaaaaafapjaafaaaaafapjaafaaaaaaaaaaaaaaaabqabracvacwacxacyabdaczaaTaaTacBacAacDacCacEacFaaTaaTacGacHacIacJacKacLacMacNacOacPacQacQacRacSacracsabbabbabbabbabbabbaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaafaafaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaaaaaaaaaaamaamaaIaafaafcKrapgaavaaacKrapgaavaaacKrapgaavaafaaaaaaaaaaaaaafaafacUabdabdabdabdacVaaTacWacXacXacXacXacEacXacYaoZadaacQadbadcaddadeacMadfacQacQacQacQadgadhackadiadjabbadkadladmabbaaLaafaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -7328,13 +7328,13 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaaaaeaaeaaeaaeaaeaaaaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauaauaauaauaauaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfagUagVagWagWagWagWagWagWagWagDagXagYagZagWahaahbahcahdaheahfahgahhahiahjahkahmahlahnahnahnahnaddahoahpahqahrahsahtahuahvahwagvahxahyaboaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahzaaaaaaaaaahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaaaaeaaeaaeaaeaaeaaaaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfafQafRahAabfahBadEagWahCahDahEahFahGahHagDagZahIahFahJahKahLahLahMahNahOahPacXacXacEacXahQahRahSacQacQacQaddahTahUahVahWahXahYahZaiaaibagvahxaicabOaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadDaidaieaifabfaigadEagWaihaiiaijaikailaimagDagZahIainagWaioahLaipaiqahKahOairaisacXaitacXacXaiuacZahSacQacQaddaiwaixaiyagPagPaizagPagPaiAagvaiBaiCactaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahzaaaaaaahzaaaaaaahzahzahzahzahzahzahzaaaaaaahzaaaaaaahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaewagbagbaiDabfagbadEagWaiEaiFaiGaiHaiIahFagDaiJaiKaiLagWaiMaiNaiOaiOaiPaiQaiRaiSaiTacEaiUaiVaeFaiWaiXaiYaiZakNakfajcajdamsajfajgajhagPajiagvahxabbabbabbabbaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaaIaaIaamaamaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzaaaahzahzahzahzahzahzahzahzahzaaaahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaewagbagbaiDabfagbadEagWaiEaiFaiGaiHaiIahFagDaiJaiKaiLagWaiMaiNaiOaiOaiPaiQaiRaiSaiTacEaiUaiVaeFaiWaiXaiYaiZakNajeajcajdakfajfajgajhagPajiagvahxabbabbabbabbaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaaIaaIaamaamaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzaaaahzahzahzahzahzahzahzahzahzaaaahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfabfajjabfabfajkajlagWagWajmagWagWajnagWagWagWajoagWagWajpajsajrantajtajuagWajvajwajxajyajqagWagWajzajAajBagWagWagWagpajCagpagpagpagpagpagvahxabbajDajEaboaaaaafaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaaaaafaaaaaqaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzaaaahzahzahzahzahzahzahzahzahzaaaahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfagBafYajFafYajGajHajIajJajKajLajMajNajOajPajQajRajSajTajUajVajWajXajUajYajWajWajZakaakaakbakcakdahOakeajbakgajzakhakiakjakkaklakmaknakoakpalaakZakqabOaaaaaaaaaaaaaaaaaaaaaaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafabQaafaaIaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzaaaahzahzahzahzahzahzahzahzahzaaaahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaamaamaaIaamaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfadEagWagWagWagWagWagWaksaktakuakvakwakxakyakzakAakBakCakDabvakFakwakGakwakwakHakIakJakKakLakMajaakOakPakJakQakRakSakTakUakVakWakXakYakoalIabbalbajeactaaaaaaaaaaafaaaaaaaaaaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaaIaaIaaIaaIaaaaaaaaaabpaaaaaaaaaaaIaaIaamaamaamaaaaaaahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaamaamaaIaamaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfadEagWagWagWagWagWagWaksaktakuakvakwakxakyakzakAakBakCakDakEakFakwakGakwakwakHakIakJakKakLakMajaakOakPakJakQakRakSakTakUakVakWakXakYakoalIabbalbamaactaaaaaaaaaaafaaaaaaaaaaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaaIaaIaaIaaIaaaaaaaaaabpaaaaaaaaaaaIaaIaamaamaamaaaaaaahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaafaaaaaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfadEagWalcaldalealfagWalgalhahLalialjagWacTacuacTagWabValnabUagWalpalqalralsagDaltalualvalwalxagWabTabSabSabRagWalBalCalDalEalFalGalHakoamtanQamuanQanQaaaaaaaafaafaaaaaaaaaaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaaaaaaaafaafaafaaaaaaaoYaafaafaaaaafaafaaaaaaaamaaaaaaahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafabMaafaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafabfadEabPalMalMalNalOalPalQalRahKalSaljagWalTalUalValWalXalYalZabhahKambahKamcamdameameamfamgamhamiamjamkamlammakoamnamoampamqalDalDamrakoadQanQamvawKamwaaaaaaaaLaaaaaaaaaaafaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafanTanTanTanTanTaafalJaafanTanTanTanTanTaafaaIaaaaaaahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaamaamaaIaaIaaaaaaaaaaoXaaaaaaaaaaaIaaIaamaamaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfadEagWamAamBamCamDagWamEalRaljamFamGagWamHamIamJalWamKamLamMakEamOamPamQamRamSamgamgamfamgamTaoWamVamWamXazmakoamZanaalDamqalDalDanbakoancandaneamaangaafaaLaafaafaaLaafaafaafakrakranhakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafanianjanjanjanjanualJansanqanqanqanqanwaafaaIaaaaaaahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafabMaafaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafabfadEabPalMalMalNalOalPalQalRahKalSaljagWalTalUalValWalXalYalZamsahKambahKamcamdameameamfamgamhamiamjamkamlammakoamnamoampamqalDalDamrakoadQanQamvawKamwaaaaaaaaLaaaaaaaaaaafaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafanTanTanTanTanTaafalJaafanTanTanTanTanTaafaaIaaaaaaahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaamaamaaIaaIaaaaaaaaaaoXaaaaaaaaaaaIaaIaamaamaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfadEagWamAamBamCamDagWamEalRaljamFamGagWamHamIamJalWamKamLamMamNamOamPamQamRamSamgamgamfamgamTaoWamVamWamXanfakoamZanaalDamqalDalDanbakoancandaneasPangaafaaLaafaafaaLaafaafaafakrakranhakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafanianjanjanjanjanualJansanqanqanqanqanwaafaaIaaaaaaahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaafaafaaaaaaaaaaoVaafaafaaaaafaafaaaaaaaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfankagWagWagWagWanlanmannanoanmanmanmanmanpaoPanpanraoQaojaoRanvaoSaoTaoUanzanAamgamgamfanBanCamianDanEamXanFanGanHanIanJanKanLanManNanGanOanPawLanRanSaaaaaaaafaaaaafaaLaafaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafapIapIapIapIapIaafalJaafapIapIapIapIapIaafaaIaaaahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafanVanVanVanVanVaafalkaafanVanVanVanVanVaafaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanXanYanZaoaagDaobaocagWaodaoealKaogaohaoibqKaokaolaomaonaooaonaopaoqaoraonaoOaotamgamgaouaovaowamiaoxanEamXaoyanGaozaoAaoBaoCaoDaoEaoFanGaoGanQanQanQanQaoIaoJaoHaoLarPaaaaafaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaafaaaaaaaafalJaaaaaaaaaaafaaaaaaaaaaamaaaahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaIaafalzalyalyalyalyalAalkallaivaivaivaivagEaafaaIaaaaaaaaaaaaaaaaaaaacaaaaaaaaaanXanXapaapbagDalMapcapdapeapfaofaphapiaoMaonaonapkaplaonapmapnaoraonapoaonaoNapqapramgamfamgamTaosamYanEamXaptanGapuapvapwapxapyapzapAanGapBaoHapCapDapEapFapGaoHaoHapHaoHaoHaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafanTanTanTanTanTaafalJaafanTanTanTanTanTaafaaIaaaaaaahzahzahzahzaaaaaaahzahzahzahzahzahzahzaaaaaaahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -7342,34 +7342,34 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaafaaaaaaaafalkaaaaaaaaaaafaaaaaaaaaaaqaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaqzaqAaqBagDagWagWagWaqCalRagWalWalWalWaqDaqEapkaqFaqGaqHaonaqIaqJaqKaqLanyaqNaqOaqPaqQaqRaqSanxaqUaqVaqWamVanGaqXaqYaqZaraarbarcardanGarearfapFaqtaqtapFargaoHarhariarjaoHaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafapIapIapIapIapIaafalJaafapIapIapIapIapIaafaaIaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafanVanVanVanVanVaafalkaafanVanVanVanVanVaafaaIaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaqzarkaqBagDaobarlagWarmarnalKaogaroaoiaokarparqarrarsartaonarualWarvarwarxalLarzarAamUamzamyarEarFarGarHamjanGanGarIanGanGanGanGanGanGarJarKarLarMarMapFarNaoHaoHarOaoHaoHaaaaaaakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaafaaaaaaaaaalJaaaaaaaaaaafaaaaaaaaaaamaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaLamxaaLaaaaaaaaaaaaaaaaaaaaaaaIaafalzalyalyalyalyalAalkallaivaivaivaivagEaafaaIaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaqzarQaqBagDarRapcarSarTarUaefapharWaloaonaonarYarZasaasbaonascalWasdasealmasgasharAasiasjaskarEaoHaoHaoHaoHaoHaslasmasnasoasoaspaspasqasrassastastasuasvasvaswasxasyaszaqsaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaIaafanTanTanTanTanTaafalJaafanTanTanTanTanTaafaaIaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafasAasBasAaaaaaaaaaaaaaaaaaaaaaaaIaafapJapJapJapJapJaafalkaafapJapJapJapJapJaafaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasCarQapbagDapLapMagWasDasEalKapOasFaoiasGasGasHasIaonasJaonasKalWasLasMbgMasOaxvarAasQasRasSarEasTasUasUasVasWasVasXasYasZasZasZasZasZasZasZasZasZasmataatbatcaoKatdateatfaafaafaxuaxtaxqaxqaxqaxqaxraxqaxqaxqaxqaxpaafaaaaaaaaaaaaaamaafanianjanjanjanjanualJansanqanqanqanqanwaafaaIaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatkatlatmaaaatnatoatpaaaaafatqatratqaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaafaaaaaaaaaalkaaaaaaaaaaafaaaaaaaaaaamaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaanXatsattagDagDagDagWagWagWagWalWalWalWalWalWatuaonaoratvaqEatwalWalWalWatxatxatxarAatyatzatAarEatBasZasZasZasZatCatDatEatFatGatHatIatJatKatLatMatNatOatPatPatPatPatPatPatPatPatPavzatRatRatRatRatRatRatRatRatRatRayiaafaaaaaaaaaaaaaamaaaapIapIapIapIapIaafalJaafapIapIapIapIapIaaaaaqaaaaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatSatTatUatTatSatVatWatVatSaafatqatXatYaaaaaaaaaaaaaaaaaaaaaaaIaafanVanVanVanVanVaafalkaafanVanVanVanVanVaafaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafatZauaanYaubaucanXaafaafalWaudaueaufaugauhauiaonapnaonasJaqEaujaukaulaumaunauoauparAauqaurausarEatBasZaAfaySauvatCauxauyatFatGauzauAauBauCauDatMatNauEauFauGauHauIauHauJauwauLatPayjatRatRatRatRatRatRatRatRatRatRavzaafaaaaaaaaaaaaaamaaaaafaaaaafaafaaaaaabepaaaaaaaafaaaaaaaafaaaaaIaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauNatTauOatTauNatVauPatVauNauQauRauSauTauUauUauVauQauQaafaaaaaIaafalzalyalyalyalyalAalkallaivaivaivaivagEaafaaIaaaaaaaaaaaaaaaaaaaaaaaaanXanXanXauWanXanXapbaucanXaaaaaaalWauXalWauYauZavaalWavbavcaonavdaveaveavfavgaveavhaviavjarAavkauravlarEatBasZawoavoawpatCawravqatFatGauzauAavravsavtatMatNavuavvauGauHauHauHauJavwaylatPayjatRatRatRatRatRatRatRatRatRatRavzaafaaaaaaaaaaaaaamaamaaIaaaaaaaafaaaaaaabpaaaaafaafaafaafaaIaaIaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauNavBavCavDauNavEavFavGauNavHavIavJavKavLavMavNavOauQaaaaaaaaqaaaapJapJapJapJapJaafbeSaafapJapJapJapJapJaaaaaIaaaaaaaaaaaaaaaaaaaaaaaaavQavRavSavTavUavVavWavXanXaaaaaaalWalWalWavYavZawaalWawbawcawdaweawxawgaukawhawiautawkawlarAawmaurawnarEatBasZawXawUawYaxaaxbawZatFatFatFawsawtawuatFatFatNawvawwauGauHauHauHauJawfavxavAaykatRatRatRatRatRatRatRatRatRatRavzaafaaaaaaaaaaaaaaaaaaaafaafaaaaafaaaaaabfyaaaaaaaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauNawGawHawIauNawGawHawIauNawJavHavHavHavHavHavHavHasAaaaaaaaaIaaaaafaaaaafaafaaaaaabfxaaaaaaaafaaaaaaaafaaaaaIaafaaaaaaaafaafaaaaaaaafawPavRawQawRavUawSaucawTanXaafaaLcqTatxatxatxatxatxatxatxatxatxatxatxatxatxatxatxatxatxatxarAawVaurawWarEatBasZauKaxjavmatCaxVavnaxdaxcaxfaxeaxhaxgaxhaxiaxkaxlaxmaxnaxoaxoaxoaxnaxmavxawyawzatRatRatRatRatRatRatRatRatRatRavzaafaaaaaaaaaaaaaaaaaaaaaaafaafaafaaaazoazpazoaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaatSauNaxwaxxatSauNaxyaxxatSauNawMauNauNauNauNauNavHatqaaaaaaaaIaaIaaIaaaaaaaafaaaaxBaxCaxBaafaafaafaafaaIaaIaaIaafanXanXanXanXaxDaxEaxEaxFanXanXanXanXaxGaucaucanXaxHaxIanXanXaxJaxKaxLaxMaxMaxMaxMaxMaxMaxMaxMaxNaxMaxMaxMaxMaxMaxOaxPaxQaxRaxOavpasZaxSawjcfSatCaxVaxXaxXaxXaxZaxYayaaybaxXavqaydayeayfaygayhayhayhayhawAavxawyawzatRatRatRatRatRatRatRatRatRatRavzaafaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaAuaAvaAuaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaynayoaypayoayqayoayrayoaysaytayvayvayvayvaywauNawNatqaaaaafaafaaaaaaaaaaaaaafaaaayyayzayAaafaaaaafaaaaaaaaaaaaaaaanXayBayCayDayCayCayCayCayEayCayCayFayGayDayHayIaxMaxMaxMaxMaxMaxMayJayKayLayLayLayLayMayLayLayNayLayMayLayLayLarAayOayPayQarEaAiasZcfSaycaxUatCayUayTayWayVayYayXayYayZayTazaazbazcazdazeazdazdazfawBawCawDawEaxsatRatRatRatRatRatRatRatRatRatRavzaafaaaaaaaaaaaaaaaaaaaaaaaaaafaafaBuaBvaBwaBxaByaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazqazrazsaztazuazvazwazxazyazwazzazAazwazwazBauNavHauRaafaafaaaaaaaaaaaaaaaaafazDazEazFazGazHaaaaafaaaaaaaaaaaaaaaanXazIanXazJazKazLazLazLazMazLazLazLazNazJazOazPazPazPazPazPazPazPazQazRayLazSazTazUazVazWazXazYazZaAaaAbazTaAcarAaAdayPayQarEaAiasZauuaAeauvatCaxWaxXaxXaxXaxXaAjaAkaAlaAmaAnaxkaAoaDtaApaApaApaAqaDratPaCJatPaykatRatRatRatRatRatRatRatRatRatRavzaafaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaCvaCwaCxaCyaCvaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafauNaAwaAxaAwaAyazsazsaAzaAwaAxaAwaAAaABaACaADauNavHauQauQaAEauUauUauUauUauVauQaAFaAGaAHaAIaAFanXanXaxHaAJaxIanXanXanXazIaAKazJaaaaafaaaaafaaaaafaaaaafaaaazJazOazPaALaAMaANaAOaAPazPazQaucayLaAQaAQaARaASaATaAUaAVaATaAWaAXazTaAcarAaAdayPaDdarEaAiasZawXaAgaAhaBbayRaBdaBeaBfaBgaBhaBiaBjaBjaBkaBjatPaBlaBmaBnaBoaBpaBrbnCaDvaFcaGzatRatRatRatRatRatRatRatRatRatRavzaafaaaaaaaaaaaaaaaaacaaaaaaaafaaaaCvaDzaDAaDBaCvaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaBzatSaBAawHaBBaBCaBDaBEaBFaBBawHaBGaBHaBIaBJaBKaBLavHavHavHavHavHavHavHavHaBOaBPaAFaBQaBRaBSaAFaBTaBUayCayCayCayCayCaBVaBWaBXazJaafaBYaBYaBYaBYaBYaBYaBYaafazJazOazPaBZaCaaCbaCcaBZazPazQaCdayLayLayLayLaCeaCfaCgaChaCfaCiaCjazTaCkarAaAdayPaClarEaJCasZaAZaAYaBaatCaxWavqatEaBjaBjaBjaBjaBjaCqaCraCsaBjatPatPatPatPaCtatPatPaHSaGCaHRatRatRatRatRatRatRatRatRatRatRayiaafaaaaaaaaaaaaaaabnDaaaaaaaafaaaaCvaEXaEYazhaCvaaaaaaaaaaafaafaaaaaaaaaaaaaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazqaAxaCzaCAaCAaCAaCAaCBaAxazqaaaaBIaCCaxzaBLaCEaCEaCEaCEaCEaCEaCEavHaCFaCGaAFaCHaCIaHTaAFaCKaCLaCKaCKaCKaCKaCKaCKaCKaCKaCMaaaaBYaCNaCOaCPaCQaCRaBYaaaazJazOazPaBZaCSaCTaCUaBZazPazQanXayLaCVaCWaARaCXaCYaCZaDaaDbaDcayLayLayLarAaAdayPayQarEaAiasZaxTaBcauvatCaDgavqatEaDhaDiaDjaDkaBjaCqaDlaCsaBjaDmaDnaDoaDpaDqaGwaDsatPatPaJWaxqaxqaxqaxqaxqaIbaxqaxqaxqaxqaHUaafaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaCvaCvaGxaGyaCvaDCaDDaDEaDCaDCaDCaDCaDCaDCaDCaDFaDGaDGaDGaDHaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaaaaaaaaaaaaDIaDJaDKaDJaDJaDLaDMaDJaDJaDKaDNaDOaBIaDPaxAaBLaDRaDSaDTaDUaDVaDWaCEavHaDXauQaAFaAFaDYaDZaCMaEaaEbaEcaEdaEeaEfaEgaEhaEiaEjaCMaafaBYaEkaElaEmaEnaEoaBYaafazJazOazPaEpaEqaEraEsaEtazPazQaEuayLazSazTaEvaEwaCfaExaEyaATaEzaEAaEBaEBarAaAdayPayQarEaAiaCmaCmaCmaCmaCmaEHaEIatEaEJaEKaEKaELaEMaEKaENaEOaBjaEPaEQaERaESaETaCnaDsaafaaaaafaaaaafaaaaafaaaaafaaaaafaaaaafaaaaafaaaaaaaaaaaaaaaaaaaaaaDCaAtaBqaDCazgaziazjaFdaFdaFdaFdaFeaFfaFgaFgaFgaFgaFgaFgaFgaFhaFiaFjaafaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaDIaDNaDJaFkaFlaFlaFmaFnaFoaFpaFqaFlaFlaFraFsaFtaDPayuaBLaFvayxaBMazCaBMaBNaCDavHaFuaDQaFxaBsaFwaEZaFIaFJaFKaFLaFLaFLaFMaFLaFLaFNaFOaCMaaaaBYaFPaElaFQaEnaFRaBYaaaazJazOazPaFSaFTaFUaFTaFVazPazQaFWayLayLayLayLaFXaCfaCgazTaCfaFYaFZazTaGaarAaGbaGcaGdarEaAiaDeaDfazkaCoaDeaJjaJkaGkaGlaGmaBjaBjaBjaBjaBjaBjaGnaGoaGpaGqaDpaGraGsaDsaDsaDsaDsaDsaDsaDsaDsaDsaFaaFbaDsaDsaFaaGtaDsaDsaaaaaaaDCaDCaDCaDCaDCaJAaJBaFdazlaznaDCaDCaDCaDCaDCaGDaGEaGFaGFaGFaGFaGFaGFaGGaGGaGHaGGaGGaGGaGGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaFraGIaGJaGKaFlaGLaFlaGLaFlaGLaFlaGLaFlaGMaGNaGOaDPayuaBLaGPaFAaGRaGSaGTaGUaCEaFBaFDaFCaFCaFCbazaFEaFCaHcaFLaFLaFLaFLaFLaFLaFLaFNaHdaCMaafaBYaHeaHfaHgaHhaHiaBYaafazJazOazPaHjaHkaFUaHlaHmazPaHnaHoayLaHpazTaARaHqaATaHrazTaCfaFYaHsazTaHtarAaHuaHvaHwarEaGuaDyaEUaGvaDwaDxaJGaJHatEaHCaHDaBjaHEaBjaHFaBjaHGaBjaHHaGpaHIaDpaHJaHKaHLaHMaHMaHNaHOaHKaHKaHKaHKaHKaHPaHKaHKaHKaHQaHVaDsaDsaDsaDCaGAaGBaHWaHWaKbaKTaDCaDCaIcaDCaIdaIeaIfaIgaGFaIhaGFaIiaIjaIkaIlbinaInaIoaIpaIqaIraIsbjFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaIwaFlaFlaDKaFlaGLaFlaGLaIxaGLaIyaGLaFlaGMaGNaGOaDPaFFaIAaIAaFGaICaIDaICaIAaIAaIEaIFaFCaGQaFHaGWaGVaFCaIKaILaIMaFLaFLaINaFLaIOaIPaIKaCMaaaaBYaBYaIQaIRaIQaBYaBYaaaazJazOazPaISaITaIUaFTaIVazPaIWaIXayLaIYazTaIZaEwaCfaJaaEyaATaJbaJcazTaJdaJeaJfaJgaJhaMbaECaCuaCuaCuaCuaCuaKUaMqaJlaJmaJnaBjaJoaBjaJpaBjaJqaBjaJraGpaJsaJtaGsaGsaDqaJvaDsaDsaJwaDsaDsaJxaDsaGsaJyaGsaGsaGsaJzaHZbbEaZAbnybcZaOfaOgaMraMraWxaYnaIgaJIaJJaJKaJLaJMaJNaIgaJOaJPaGFaJQaJRaJSaJTbinaJUaIoaJVaBtaGGaGGaGGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaFraJXaGJaGKaFlaGLaFlaGLaFlaGLaFlaGLaFlaGMaGNaGOaDPaGYaGXaHaaGZaHbaHbaIBaIzaIHaIGaIJaIIaJZaJYatiaKaaFCaIKaKmaKnaKoaKpaIKaKqaKraKsaKtaKuaaaaafaaaaKvaKwaKvaaaaafaaaaKuazOazPaKxaKyaKzaKAaKBazPaKCaKDayLaKEazTaARaKFaKGaHrazTaKHaKIaKJaKKaKLaJeaEDaKNaKOaKPaEEaKRaaaaaaaJlaKSaFyaEWaJlaKVaJnaJnaJnaKWaJnaJnaJnaBjaDpaKXaDpaDpaDpaDpaKYaDpaKZaLaaLbaLcaLdaLeaLfaLgaLhaLfaLfaLfaLfaLfaLiaLfaLfaLfaLfaLfaLfaLfaLfaAraIgaLjaLkaLlaEFaLnaLoaIgaLpathaGFaLraLsaLtaJTaRraJUaIoaJVaIoaLvaLwaLxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaLyaLzaDJaFkaFlaFlaFlaLAaFlaFlaLBaFlaFlaFraLCaLDaDPaLEaLFaLGaLHaLGaLGaLGaLGaLGaLIaLJaFCaFCaFCaFCaFCaFCaLLaLMaLNaLOaLOaLOaLOaLPaLQaLRaKuaLSaLTaLTaLUaLVaLWaLTaLTaLXaKuaLYaKuaKuaLZaMaaLZaJeaJeaMbaMcaJeaJeaJeaJeaMdaMeaMgaMfaMhaMiaJeaJeaJeaJeaMjaKNaMkaMkaMlaMmaMnaMoaJlaMpaEVaDuaJlaJlaJlaJlaJlaJlaJlaJlaBjaBjaMsaMtaMuaMvaMwaMxaMyaMzaKZaMAaMBaMCaMCaMDaLfaMEaMFaMGaMHaMIaMJaMKaMLaMMaMNaMHaMJaMIaMHaMOaLfaAraIgaMPaMQaMRaMSaMTaMUaIgaMVaMWaMXaMYaMZaNaaNbaGFaGGaNcaJVaIoaNdaNeaNfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaaaaaaaaaaaaLyaDJaDKaDJaDJaDLaDMaDJaDJaDKaLzaNgaBIaNhaLEaNiaNjaNjaNkaNjaNlaIAaNmaNnaLJaNoaNpaNqaNraNsaNtaNraNuaNraNraNraNvaNraNraNwaNxaNyaNzaNAaNBaNzaNCaNzaNzaNzaNzaNDaNEaNFaNGaNraNHaNIaNJaNKaNLaNMaNLaNNaNOaNPaNQaNQaNRaNSaNTaNSaNUaNVaNWaEGaNYaNZaOaaObaOcaMkaMkaMkaOdaOeaGjaFzaOhaOiaOjaOkaOlaOmaOnaJlaOoaOpaOqaOraOsaOtaOuaOvaOwaOxaKZaOyaOzaOAaOAaOBaLfaOCaODaOEaOEaOEaOEaOFaOGaOHaOIaOJaOKaOKaOLaOMaLfaAraIgaONaOOaOPaOQaONaONaIgaORaOSaGFaOTaOUaOVaOWaGFaIoaIoaJVaIoaGGaGGaGGaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaOXaOYaOZaPaaPaaPaaPaaPbaOYaOXaaaaBIaPcaPdaPeauMatQaPhaPhaPiaIAaPjaNnaPkaPlaPmaPnaPoaPpaPqaPqaPraPsaPsaPsaPtaPuaPuaPvaPwaNIaPqaPqaPxaPyaPzaPAaPBaPBaPCaPBaPDaPyaPyaPyaPEaPFaPGaPHaMkaPIaPJaPJaPJaPJaPJaPJaPJaPJaPKaPJaPLaPMaPNaPOaPPaPQaPRaPSaPTaPJaPUaPJaPVaPWaPXaPWaPWaPWaPWaPWaPWaPYaPZaRsaQbaQbaQbaQcaQbaQbaQdaQeaQfaQgaKZaQhaMCaQiaQjaQkaLfaQlaQmaQnaQnaQnaQnaQnaQoaQpatjaQraQnaQnaQsaQtaLfaAraIgaQuaONaONaQvaONaQwaIgaGFaGFaGFaGFaGFaGFaQxaGFaIoaIoaJVaIoaQyaQzaGGaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaafaBIawqaBIaQBaQCaGOaQDaQEaQFaQGaGOaQCaQHaQIaBIaQJaLEaPeatgaQLaPhaPhaPiaIAaQMaNnaLJaQNaNpaQOaQPaNraNraQQaQRaQSaQTaNraQUaQVaQWaQVaQXaQYaQVaQVaQZaQVaQVaRaaRbaQVaRcaQVaRdaNraNraNraReaPFaPGaPHaMkaRfaMkaRgaRgaRgaRgaRgaRgaRgaRgaRhaRiaRgaRjaRgaRgaRkaRgaRgaRgaRgaRlaRmaRnaRoaRoaRoaRoaRoaRoaRoaRpaRqaRpaJlaImawOawOawOawOawOaItaRuaRvaRwaKZaKZaKZaKZaKZaRxaLfaRyaQmaQnaRzaRAaRBasPaRDaREaRFaQraRGaRHaRIaRJaLfaAraIgaRKaRKaRLaRMaRNaRNaROaIgaRPaRQaRRaGGaRSaRTaRUaRVaRVaRWaRXaGGaRYaGGaRZaRZaRZaSaaSbaScaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaGeaGgaGgaGiaGfaGhaSdaOYaLDaDPaHxaHxaSfaLDaOYaLDaHyaHAaHzaLEaSkaSlaSlaNkaSlaNlaIAaSmaNnaSnaIAaLKaLKaSoaLKaLKaLKaLKaLKaLKaSpaSqaLKaLKaLKaLKaLKaLKaSraSsaSraLKaStaLKaNraQPaSuaSvaSwaSxaNraSyaLKaMbaMbaMkaSzaKOaSAaMnaMnaSBaSBaSBaSBaSCaJeasfasNarVarXarXavParXarXarVasNawFaJeaSJaSKaSKaSKaSKaSLaSLaSMaSNaRqaRpaJlaSOaSPaSPaSPaSPaSPaSPaSQaSRaSSaSTaSUaSVaSWaSXaSYaKZaKZaSZaTaaTbaTcaTdaTeaTeaTeaTfaTgaTfaTeaTeaTeaTeaAraIgaThaONaRLaRMaONaONaTiaIgaTjaTkaTlaGGaIoaTmaTnaToaTpaTqaIoaTraTsaGGaTtaTuaRZaTvaTwaTxaafaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaKQaNXaLmaKMaQAaSgaSeaSiaShaSjaSiaTzaTyaTBaTAaTEaTCaTAaTFcozaTIaTJaTKaTLaTLaTLaTMaTLaTNaTOaIAaTPaTQaTRaTSaTTaTUaTVaTWaTXaTUaTYaTZaUaaUbaUcaUdaUeaUfaUgaUhaUeaUiaLKaLKaUjaLKaLKaLKaLKaUkaUlaLKaUmaMbaUnaSzaKOaUoaaaaaaaaaaaaaaaaaaaaaaUpaUqaUraUsaUtaUvaUuaUxaUwaUzaUyaVUaUpaaaaaaaaaaaaaaaaaaaaaaUAaSNaRqaUBaUCaUDaUEaUFaUFaUFaUFaUGaUHaUIaUFaUFaUFaUJaUKaULaUMaUNaUOaUPaUQaURaUSaUTaTfaUUaUVaUWaUXaUYaUZaVaaVbaTeaAraIgaVcaVcaRLaRMaVdaVdaVeaIgaIgaVfaIgaGGaVgaVhaViaViaViaVjaVkaGGaGGaGGaVlaVmaVnaVoaVpaVqaafaafaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaKQcmVaVrclfaDPaVsaVsaVtaVsaVsaVsaVDaVsaVsaVtaVsaVsaYEaWYaVuaVvaKdaKdaKdaKdaKdaVwaVxaVyaVzaIAaTQaTQaVAaTSaVBaTUaTUaTUaTUaTUaTYaVCaTUaTUaTUaUdaUeclraVEaVFaUeaUiaVGaVHaKeaKcaVKaUmaVLaVMaVNaVOaVPaVQaMkaSzaKOaUoaaaaaaaaaaaaaUpaUpaUpaUpaVRaVSaVTaXEaVVaVWaVXaXFaVZaWaaWbaUpaUpaUpaUpaaaaaaaaaaaaaUAaSNaRqaRpaWcaSSaWdaWeaWfaSSaWgaWhaWiaWjaWkaWlaWmaWnaQbaWoaWpaWqaWraWsaWtaWtaWuaWvaWwaCpaWyaWzaWAaWBaWCaWDaWEaTeaAraIgaThaONaRLaRMaONaONaONaWFaWGaONaWHaGGaWIaWJaToaToaToaTqaIoaYsaGGaQaaVoaLuaWQaVoaWRaWSaWTaWTaWUaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTGaGgaTHaGiaBIaBIaBIaWVaWWaWWaWWaWWaWWaWWaWWaWXaBIaBLcpSaWZaIAaXcaXbaXbaXbaYraXdaIAaIAaIAaIAaTQaXeaXfaTSaXgaTUaTUaXhaXiaXjaXkaXhaTUaTUaTUaXlaUeaXmaXnaXoaUeaUiaVGaXpaKfaXraXsaUmaXtaVPaXuaXvaXwaXxaMkaSzaKOaMmaSCaMbaXyaUpaUpaVYaXAaXzaXCaXDaXDaXEaXFaXGaXEaXFaXDaXDaXHaXIaXJaXBaUpaUpaXyaJlaXLaXMaSNaRqaRpaJlaXNaWdaXOaWfaSSaXPaXQaSSaXRaXSaWfaSSaXTaOtaXUaXVaUQaXWaXXaXYaXZaYaaYbaYcaYdaYeaYfaYgaWBaYhaWDaYiaTeaAraIgaYjaYjaRLaRMaYkaONaONaYlaONaYmaAsaGGaIoaYoaYpaToaYqaZkaZXaWLbaOaYGaWOaZcaVoaYvaYwaYxaYyaYzaYAaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaYVaaaaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaafaYCaYDcpKaYFaWPaYHaYHaYIaYJaYKaYLaYMaYNaYOaYPaYQaYRaYSaTSaYTaTUaTUaXhaXjaYUbbTaXhaTUaTUaYWaUdaUeaUeaUeaUeaUeaUiaVGaVGaVGaVGaVGaUmaYYaXvaYZaXvaXvaXxaMkaSzaKOaNSaNSaZaaZbaWNaUpaZdaZeaZfaZgaZfaZfaZfaZfaZhaZfaZfaZfaZfaZfaZfaZiaZjaUpaWMaZbaZlaZmaZnaSNaRqaRpaWcaSSaSSaSSaSSaSSaXPaZoaSSaXRaZpaWfaSSaXTaOtaZqaXVaUQaZraZsaZtaZuaYaaZvaZwaYdaYeaYfaYgaWBaYhaZxaZyaZzaHXaZzaZzaZzaZBaZCaZDaZEaOOaZFaZGaZHaZIaGGaZJaZKaZLaToaZMaZLaIoaIoaXaaYtaVoaYuaVoaZNaZOaZPaZQaWTaZRaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaZSaZTaZUbjnaZWaSFaZYaZZbaababbacbadbaebafaYObagbahbaibajaTSbakbalbambanbaobapbaqbarbarbarbasbataTSbaubavbawbaxaKgbajbnZaKhbajbaCaUmbaDbaEbaFbaGbaHbaIaMkbaJbaKaMkbaLbaMbaNbcybaPbaQbaRbaQbaSbaTbaUbaVbaWbaXbaYbaZbbabbbbbcbaQbbdbbebbfbeobbhbbibbjbbkbblbbmbbnaJlaUDaWdbboaWfaSSbbpbbqbbrbbsaXOaWfaSSaXTbbtaULaXVbbubbvbbwaUQaUQaYabbxbbybbzbbAbbBaYgaWBbbCaWDbbDaZzaIabbFbbFbbGbbHbbIaRLaRLaRLaRLaRLaRLaRLaGGbbJaYoaYpaToaYqaYpaIobbKaGGbbLaVoaYuaVoaZNbbMbbNbbOaafbbPaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBbbQbbRbbScqObbUaSFbaabaabaabaabaabbVbaabbWaYObbXbbYbaibbZbbZbbZbbZbcabbZbcbaTUbccbcdbcebcebcfbcgaTSaXebchbcibcjaKiaKjblcaKkbcobcobcpbcpbcpbcpbcpbcqaMbbcrbcsbctbcubcvbcwbcxbbgaUpbczbcAbcBbaBaUpaUpaUpaUpaUpbcDaUpaUpaUpbcCbcFbcGbczaUpbbgbcxbcHbcIbcJbcKbcLaRpaWcaSSaSSaSSaSSaSSaGpbcMaSSbcNaSSbcObcObcObcObcPbcQbcRbcSaUQaUQaUQbcTbcUaTeavybcWbcXaYgaWBaYhaWDbcYaZzaHYbdabdbbdcbddbdebddbddbddbddbddbdfbdgbdhbdibdjbdkbdlbdmbdnbdobdpbdqbdraVoaYubdsaZNaVobdtbbOaafaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafasAasBasAaaaaaaaaaaaaaaaaaaaaaaaIaafapJapJapJapJapJaafalkaafapJapJapJapJapJaafaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasCarQapbagDapLapMagWasDasEalKapOasFaoiasGasGasHasIaonasJaonasKalWasLasMbgMasOatgarAasQasRasSarEasTasUasUasVasWasVasXasYasZasZasZasZasZasZasZasZasZasmataatbatcaoKatdateatfaafaafathatjatiatiatiatiatQatiatiatiatiauMaafaaaaaaaaaaaaaamaafanianjanjanjanjanualJansanqanqanqanqanwaafaaIaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatkatlatmaaaatnatoatpaaaaafatqatratqaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaafaaaaaaaaaalkaaaaaaaaaaafaaaaaaaaaaamaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaanXatsattagDagDagDagWagWagWagWalWalWalWalWalWatuaonaoratvaqEatwalWalWalWatxatxatxarAatyatzatAarEatBasZasZasZasZatCatDatEatFatGatHatIatJatKatLatMatNatOatPatPatPatPatPatPatPatPatPavyatRatRatRatRatRatRatRatRatRatRavzaafaaaaaaaaaaaaaamaaaapIapIapIapIapIaafalJaafapIapIapIapIapIaaaaaqaaaaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatSatTatUatTatSatVatWatVatSaafatqatXatYaaaaaaaaaaaaaaaaaaaaaaaIaafanVanVanVanVanVaafalkaafanVanVanVanVanVaafaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafatZauaanYaubaucanXaafaafalWaudaueaufaugauhauiaonapnaonasJaqEaujaukaulaumaunauoauparAauqaurausarEatBasZaAfaySauvatCauxauyatFatGauzauAauBauCauDatMatNauEauFauGauHauIauHauJauwauLatPavAatRatRatRatRatRatRatRatRatRatRavyaafaaaaaaaaaaaaaamaaaaafaaaaafaafaaaaaabepaaaaaaaafaaaaaaaafaaaaaIaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauNatTauOatTauNatVauPatVauNauQauRauSauTauUauUauVauQauQaafaaaaaIaafalzalyalyalyalyalAalkallaivaivaivaivagEaafaaIaaaaaaaaaaaaaaaaaaaaaaaaanXanXanXauWanXanXapbaucanXaaaaaaalWauXalWauYauZavaalWavbavcaonavdaveaveavfavgaveavhaviavjarAavkauravlarEatBasZawoavoawpatCawravqatFatGauzauAavravsavtatMatNavuavvauGauHauHauHauJavwavQatPavAatRatRatRatRatRatRatRatRatRatRavyaafaaaaaaaaaaaaaamaamaaIaaaaaaaafaaaaaaabpaaaaafaafaafaafaaIaaIaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauNavBavCavDauNavEavFavGauNavHavIavJavKavLavMavNavOauQaaaaaaaaqaaaapJapJapJapJapJaafbeSaafapJapJapJapJapJaaaaaIaaaaaaaaaaaaaaaaaaaaaaaaavVavRavSavTavUawfavWavXanXaaaaaaalWalWalWavYavZawaalWawbawcawdaweawxawgaukawhawiautawkawlarAawmaurawnarEatBasZawXawUawYaxaaxbawZatFatFatFawsawtawuatFatFatNawvawwauGauHauHauHauJawyavxawzaykatRatRatRatRatRatRatRatRatRatRavyaafaaaaaaaaaaaaaaaaaaaafaafaaaaafaaaaaabfyaaaaaaaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauNawGawHawIauNawGawHawIauNawJavHavHavHavHavHavHavHasAaaaaaaaaIaaaaafaaaaafaafaaaaaabfxaaaaaaaafaaaaaaaafaaaaaIaafaaaaaaaafaafaaaaaaaafawPavRawQawRavUawSaucawTanXaafaaLcqTatxatxatxatxatxatxatxatxatxatxatxatxatxatxatxatxatxatxarAawVaurawWarEatBasZauKaxjavmatCaxVavnaxdaxcaxfaxeaxhaxgaxhaxiaxkaxlaxmaxnaxoaxoaxoaxnaxmavxawBawAatRatRatRatRatRatRatRatRatRatRavyaafaaaaaaaaaaaaaaaaaaaaaaafaafaafaaaazoazpazoaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaatSauNaxwaxxatSauNaxyaxxatSauNawMauNauNauNauNauNavHatqaaaaaaaaIaaIaaIaaaaaaaafaaaaxBaxCaxBaafaafaafaafaaIaaIaaIaafanXanXanXanXaxDaxEaxEaxFanXanXanXanXaxGaucaucanXaxHaxIanXanXaxJaxKaxLaxMaxMaxMaxMaxMaxMaxMaxMaxNaxMaxMaxMaxMaxMaxOaxPaxQaxRaxOavpasZaxSawjcfSatCaxVaxXaxXaxXaxZaxYayaaybaxXavqaydayeayfaygayhayhayhayhawCavxawBawAatRatRatRatRatRatRatRatRatRatRavyaafaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaAuaAvaAuaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaynayoaypayoayqayoayrayoaysaytayvayvayvayvaywauNawNatqaaaaafaafaaaaaaaaaaaaaafaaaayyayzayAaafaaaaafaaaaaaaaaaaaaaaanXayBayCayDayCayCayCayCayEayCayCayFayGayDayHayIaxMaxMaxMaxMaxMaxMayJayKayLayLayLayLayMayLayLayNayLayMayLayLayLarAayOayPayQarEaAiasZcfSaycaxUatCayUayTayWayVayYayXayYayZayTazaazbazcazdazeazdazdazfawDaxpawEaxqaxsatRatRatRatRatRatRatRatRatRatRavyaafaaaaaaaaaaaaaaaaaaaaaaaaaafaafaBuaBvaBwaBxaByaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazqazrazsaztazuazvazwazxazyazwazzazAazwazwazBauNavHauRaafaafaaaaaaaaaaaaaaaaafazDazEazFazGazHaaaaafaaaaaaaaaaaaaaaanXazIanXazJazKazLazLazLazMazLazLazLazNazJazOazPazPazPazPazPazPazPazQazRayLazSazTazUazVazWazXazYazZaAaaAbazTaAcarAaAdayPayQarEaAiasZauuaAeauvatCaxWaxXaxXaxXaxXaAjaAkaAlaAmaAnaxkaAoaxraApaApaApaAqaxtatPaxuatPaykatRatRatRatRatRatRatRatRatRatRavyaafaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaCvaCwaCxaCyaCvaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafauNaAwaAxaAwaAyazsazsaAzaAwaAxaAwaAAaABaACaADauNavHauQauQaAEauUauUauUauUauVauQaAFaAGaAHaAIaAFanXanXaxHaAJaxIanXanXanXazIaAKazJaaaaafaaaaafaaaaafaaaaafaaaazJazOazPaALaAMaANaAOaAPazPazQaucayLaAQaAQaARaASaATaAUaAVaATaAWaAXazTaAcarAaAdayPaDdarEaAiasZawXaAgaAhaBbayRaBdaBeaBfaBgaBhaBiaBjaBjaBkaBjatPaBlaBmaBnaBoaBpaBrayiaxvaylayjatRatRatRatRatRatRatRatRatRatRavyaafaaaaaaaaaaaaaaaaacaaaaaaaafaaaaCvaDzaDAaDBaCvaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaBzatSaBAawHaBBaBCaBDaBEaBFaBBawHaBGaBHaBIaBJaBKaBLavHavHavHavHavHavHavHavHaBOaBPaAFaBQaBRaBSaAFaBTaBUayCayCayCayCayCaBVaBWaBXazJaafaBYaBYaBYaBYaBYaBYaBYaafazJazOazPaBZaCaaCbaCcaBZazPazQaCdayLayLayLayLaCeaCfaCgaChaCfaCiaCjazTaCkarAaAdayPaClarEaJCasZaAZaAYaBaatCaxWavqatEaBjaBjaBjaBjaBjaCqaCraCsaBjatPatPatPatPaCtatPatPazgaziazhatRatRatRatRatRatRatRatRatRatRavzaafaaaaaaaaaaaaaaaazjaaaaaaaafaaaaCvaEXaEYazkaCvaaaaaaaaaaafaafaaaaaaaaaaaaaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazqaAxaCzaCAaCAaCAaCAaCBaAxazqaaaaBIaCCaxzaBLaCEaCEaCEaCEaCEaCEaCEavHaCFaCGaAFaCHaCIazlaAFaCKaCLaCKaCKaCKaCKaCKaCKaCKaCKaCMaaaaBYaCNaCOaCPaCQaCRaBYaaaazJazOazPaBZaCSaCTaCUaBZazPazQanXayLaCVaCWaARaCXaCYaCZaDaaDbaDcayLayLayLarAaAdayPayQarEaAiasZaxTaBcauvatCaDgavqatEaDhaDiaDjaDkaBjaCqaDlaCsaBjaDmaDnaDoaDpaDqaGwaDsatPatPazmatiatiatiatiatiaznatiatiatiatiaAraafaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaCvaCvaGxaGyaCvaDCaDDaDEaDCaDCaDCaDCaDCaDCaDCaDFaDGaDGaDGaDHaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaaaaaaaaaaaaDIaDJaDKaDJaDJaDLaDMaDJaDJaDKaDNaDOaBIaDPaxAaBLaDRaDSaDTaDUaDVaDWaCEavHaDXauQaAFaAFaDYaDZaCMaEaaEbaEcaEdaEeaEfaEgaEhaEiaEjaCMaafaBYaEkaElaEmaEnaEoaBYaafazJazOazPaEpaEqaEraEsaEtazPazQaEuayLazSazTaEvaEwaCfaExaEyaATaEzaEAaEBaEBarAaAdayPayQarEaAiaCmaCmaCmaCmaCmaEHaEIatEaEJaEKaEKaELaEMaEKaENaEOaBjaEPaEQaERaESaETaCnaDsaafaaaaafaaaaafaaaaafaaaaafaaaaafaaaaafaaaaafaaaaaaaaaaaaaaaaaaaaaaDCaAtaAsaDCaBqaBtaBsaFdaFdaFdaFdaFeaFfaFgaFgaFgaFgaFgaFgaFgaFhaFiaFjaafaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaDIaDNaDJaFkaFlaFlaFmaFnaFoaFpaFqaFlaFlaFraFsaFtaDPayuaBLaFvayxaBMazCaBMaBNaCDavHaFuaDQaFxaCpaDraCJaFIaFJaFKaFLaFLaFLaFMaFLaFLaFNaFOaCMaaaaBYaFPaElaFQaEnaFRaBYaaaazJazOazPaFSaFTaFUaFTaFVazPazQaFWayLayLayLayLaFXaCfaCgazTaCfaFYaFZazTaGaarAaGbaGcaGdarEaAiaDeaDfaDtaCoaDeaDvaDuaGkaGlaGmaBjaBjaBjaBjaBjaBjaGnaGoaGpaGqaDpaGraGsaDsaDsaDsaDsaDsaDsaDsaDsaDsaFaaFbaDsaDsaFaaGtaDsaDsaaaaaaaDCaDCaDCaDCaDCaEWaEVaFdaEZaFcaDCaDCaDCaDCaDCaGDaGEaGFaGFaGFaGFaGFaGFaGGaGGaGHaGGaGGaGGaGGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaFraGIaGJaGKaFlaGLaFlaGLaFlaGLaFlaGLaFlaGMaGNaGOaDPayuaBLaGPaFAaGRaGSaGTaGUaCEaFBaFDaFCaFCaFCbazaFEaFCaHcaFLaFLaFLaFLaFLaFLaFLaFNaHdaCMaafaBYaHeaHfaHgaHhaHiaBYaafazJazOazPaHjaHkaFUaHlaHmazPaHnaHoayLaHpazTaARaHqaATaHrazTaCfaFYaHsazTaHtarAaHuaHvaHwarEaGuaDyaEUaGvaDwaDxaFyaFwatEaHCaHDaBjaHEaBjaHFaBjaHGaBjaHHaGpaHIaDpaHJaHKaHLaHMaHMaHNaHOaHKaHKaHKaHKaHKaHPaHKaHKaHKaHQaHVaDsaDsaDsaDCaGjaFzaGzaGzaGBaGAaDCaDCaIcaDCaIdaIeaIfaIgaGFaIhaGFaIiaIjaIkaIlbinaInaIoaIpaIqaIraIsbjFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaIwaFlaFlaDKaFlaGLaFlaGLaIxaGLaIyaGLaFlaGMaGNaGOaDPaFFaIAaIAaFGaICaIDaICaIAaIAaIEaIFaFCaGQaFHaGWaGVaFCaIKaILaIMaFLaFLaINaFLaIOaIPaIKaCMaaaaBYaBYaIQaIRaIQaBYaBYaaaazJazOazPaISaITaIUaFTaIVazPaIWaIXayLaIYazTaIZaEwaCfaJaaEyaATaJbaJcazTaJdaJeaJfaJgaJhaMbaECaCuaCuaCuaCuaCuaHRaGCaJlaJmaJnaBjaJoaBjaJpaBjaJqaBjaJraGpaJsaJtaGsaGsaDqaJvaDsaDsaJwaDsaDsaJxaDsaGsaJyaGsaGsaGsaJzaHZaHTaHSaHWaHUaHYaHXaIaaIaaJjaIbaIgaJIaJJaJKaJLaJMaJNaIgaJOaJPaGFaJQaJRaJSaJTbinaJUaIoaJVaJkaGGaGGaGGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaFraJXaGJaGKaFlaGLaFlaGLaFlaGLaFlaGLaFlaGMaGNaGOaDPaGYaGXaHaaGZaHbaHbaIBaIzaIHaIGaIJaIIaJZaJYaJAaKaaFCaIKaKmaKnaKoaKpaIKaKqaKraKsaKtaKuaaaaafaaaaKvaKwaKvaaaaafaaaaKuazOazPaKxaKyaKzaKAaKBazPaKCaKDayLaKEazTaARaKFaKGaHrazTaKHaKIaKJaKKaKLaJeaEDaKNaKOaKPaEEaKRaaaaaaaJlaKSaJGaJBaJlaKVaJnaJnaJnaKWaJnaJnaJnaBjaDpaKXaDpaDpaDpaDpaKYaDpaKZaLaaLbaLcaLdaLeaLfaLgaLhaLfaLfaLfaLfaLfaLiaLfaLfaLfaLfaLfaLfaLfaLfaJHaIgaLjaLkaLlaEFaLnaLoaIgaLpaJWaGFaLraLsaLtaJTaRraJUaIoaJVaIoaLvaLwaLxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaLyaLzaDJaFkaFlaFlaFlaLAaFlaFlaLBaFlaFlaFraLCaLDaDPaLEaLFaLGaLHaLGaLGaLGaLGaLGaLIaLJaFCaFCaFCaFCaFCaFCaLLaLMaLNaLOaLOaLOaLOaLPaLQaLRaKuaLSaLTaLTaLUaLVaLWaLTaLTaLXaKuaLYaKuaKuaLZaMaaLZaJeaJeaMbaMcaJeaJeaJeaJeaMdaMeaKTaKbaMhaMiaJeaJeaJeaJeaMjaKNaMkaMkaMlaMmaMnaMoaJlaMpaLqaKUaJlaJlaJlaJlaJlaJlaJlaJlaBjaBjaMsaMtaMuaMvaMwaMxaMyaMzaKZaMAaMBaMCaMCaMDaLfaMEaMFaMGaMHaMIaMJaMKaMLaMMaMNaMHaMJaMIaMHaMOaLfaJHaIgaMPaMQaMRaMSaMTaMUaIgaMVaMWaMXaMYaMZaNaaNbaGFaGGaNcaJVaIoaNdaNeaNfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaaaaaaaaaaaaLyaDJaDKaDJaDJaDLaDMaDJaDJaDKaLzaNgaBIaNhaLEaNiaNjaNjaNkaNjaNlaIAaNmaNnaLJaNoaNpaNqaNraNsaNtaNraNuaNraNraNraNvaNraNraNwaNxaNyaNzaNAaNBaNzaNCaNzaNzaNzaNzaNDaNEaNFaNGaNraNHaNIaNJaNKaNLaNMaNLaNNaNOaNPaNQaNQaNRaNSaNTaNSaNUaNVaNWaEGaNYaNZaOaaObaOcaMkaMkaMkaOdaOeaMgaMfaOhaOiaOjaOkaOlaOmaOnaJlaOoaOpaOqaOraOsaOtaOuaOvaOwaOxaKZaOyaOzaOAaOAaOBaLfaOCaODaOEaOEaOEaOEaOFaOGaOHaOIaOJaOKaOKaOLaOMaLfaJHaIgaONaOOaOPaOQaONaONaIgaORaOSaGFaOTaOUaOVaOWaGFaIoaIoaJVaIoaGGaGGaGGaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaOXaOYaOZaPaaPaaPaaPaaPbaOYaOXaaaaBIaPcaPdaPeaMraMqaPhaPhaPiaIAaPjaNnaPkaPlaPmaPnaPoaPpaPqaPqaPraPsaPsaPsaPtaPuaPuaPvaPwaNIaPqaPqaPxaPyaPzaPAaPBaPBaPCaPBaPDaPyaPyaPyaPEaPFaPGaPHaMkaPIaPJaPJaPJaPJaPJaPJaPJaPJaPKaPJaPLaPMaPNaPOaPPaPQaPRaPSaPTaPJaPUaPJaPVaPWaPXaPWaPWaPWaPWaPWaPWaPYaPZaRsaQbaQbaQbaQcaQbaQbaQdaQeaQfaQgaKZaQhaMCaQiaQjaQkaLfaQlaQmaQnaQnaQnaQnaQnaQoaQpaOfaQraQnaQnaQsaQtaLfaJHaIgaQuaONaONaQvaONaQwaIgaGFaGFaGFaGFaGFaGFaQxaGFaIoaIoaJVaIoaQyaQzaGGaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaafaBIawqaBIaQBaQCaGOaQDaQEaQFaQGaGOaQCaQHaQIaBIaQJaLEaPeaOgaQLaPhaPhaPiaIAaQMaNnaLJaQNaNpaQOaQPaNraNraQQaQRaQSaQTaNraQUaQVaQWaQVaQXaQYaQVaQVaQZaQVaQVaRaaRbaQVaRcaQVaRdaNraNraNraReaPFaPGaPHaMkaRfaMkaRgaRgaRgaRgaRgaRgaRgaRgaRhaRiaRgaRjaRgaRgaRkaRgaRgaRgaRgaRlaRmaRnaRoaRoaRoaRoaRoaRoaRoaRpaRqaRpaJlaImawOawOawOawOawOaItaRuaRvaRwaKZaKZaKZaKZaKZaRxaLfaRyaQmaQnaRzaRAaRBaPfaRDaREaRFaQraRGaRHaRIaRJaLfaJHaIgaRKaRKaRLaRMaRNaRNaROaIgaRPaRQaRRaGGaRSaRTaRUaRVaRVaRWaRXaGGaRYaGGaRZaRZaRZaSaaSbaScaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaGeaGgaGgaGiaGfaGhaSdaOYaLDaDPaHxaHxaSfaLDaOYaLDaHyaHAaHzaLEaSkaSlaSlaNkaSlaNlaIAaSmaNnaSnaIAaLKaLKaSoaLKaLKaLKaLKaLKaLKaSpaSqaLKaLKaLKaLKaLKaLKaSraSsaSraLKaStaLKaNraQPaSuaSvaSwaSxaNraSyaLKaMbaMbaMkaSzaKOaSAaMnaMnaSBaSBaSBaSBaSCaJeasfasNarVarXarXavParXarXarVasNawFaJeaSJaSKaSKaSKaSKaSLaSLaSMaSNaRqaRpaJlaSOaSPaSPaSPaSPaSPaSPaSQaSRaSSaSTaSUaSVaSWaSXaSYaKZaKZaSZaTaaTbaTcaTdaTeaTeaTeaTfaTgaTfaTeaTeaTeaTeaJHaIgaThaONaRLaRMaONaONaTiaIgaTjaTkaTlaGGaIoaTmaTnaToaTpaTqaIoaTraTsaGGaTtaTuaRZaTvaTwaTxaafaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaKQaNXaLmaKMaQAaSgaSeaSiaShaSjaSiaTzaTyaTBaTAaTEaTCaTAaTFcozaTIaTJaTKaTLaTLaTLaTMaTLaTNaTOaIAaTPaTQaTRaTSaTTaTUaTVaTWaTXaTUaTYaTZaUaaUbaUcaUdaUeaUfaUgaUhaUeaUiaLKaLKaUjaLKaLKaLKaLKaUkaUlaLKaUmaMbaUnaSzaKOaUoaaaaaaaaaaaaaaaaaaaaaaUpaUqaUraUsaUtaUvaUuaUxaUwaUzaUyaVUaUpaaaaaaaaaaaaaaaaaaaaaaUAaSNaRqaUBaUCaUDaUEaUFaUFaUFaUFaUGaUHaUIaUFaUFaUFaUJaUKaULaUMaUNaUOaUPaUQaURaUSaUTaTfaUUaUVaUWaUXaUYaUZaVaaVbaTeaJHaIgaVcaVcaRLaRMaVdaVdaVeaIgaIgaVfaIgaGGaVgaVhaViaViaViaVjaVkaGGaGGaGGaVlaVmaVnaVoaVpaVqaafaafaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaKQcmVaVrclfaDPaVsaVsaVtaVsaVsaVsaVDaVsaVsaVtaVsaVsaYEaWYaVuaVvaKdaKdaKdaKdaKdaVwaVxaVyaVzaIAaTQaTQaVAaTSaVBaTUaTUaTUaTUaTUaTYaVCaTUaTUaTUaUdaUeclraVEaVFaUeaUiaVGaVHaKeaKcaVKaUmaVLaVMaVNaVOaVPaVQaMkaSzaKOaUoaaaaaaaaaaaaaUpaUpaUpaUpaVRaVSaVTaXEaVVaVWaVXaXFaVZaWaaWbaUpaUpaUpaUpaaaaaaaaaaaaaUAaSNaRqaRpaWcaSSaWdaWeaWfaSSaWgaWhaWiaWjaWkaWlaWmaWnaQbaWoaWpaWqaWraWsaWtaWtaWuaWvaWwaPgaWyaWzaWAaWBaWCaWDaWEaTeaJHaIgaThaONaRLaRMaONaONaONaWFaWGaONaWHaGGaWIaWJaToaToaToaTqaIoaYsaGGaQaaVoaLuaWQaVoaWRaWSaWTaWTaWUaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTGaGgaTHaGiaBIaBIaBIaWVaWWaWWaWWaWWaWWaWWaWWaWXaBIaBLcpSaWZaIAaXcaXbaXbaXbaYraXdaIAaIAaIAaIAaTQaXeaXfaTSaXgaTUaTUaXhaXiaXjaXkaXhaTUaTUaTUaXlaUeaXmaXnaXoaUeaUiaVGaXpaKfaXraXsaUmaXtaVPaXuaXvaXwaXxaMkaSzaKOaMmaSCaMbaXyaUpaUpaVYaXAaXzaXCaXDaXDaXEaXFaXGaXEaXFaXDaXDaXHaXIaXJaXBaUpaUpaXyaJlaXLaXMaSNaRqaRpaJlaXNaWdaXOaWfaSSaXPaXQaSSaXRaXSaWfaSSaXTaOtaXUaXVaUQaXWaXXaXYaXZaYaaYbaYcaYdaYeaYfaYgaWBaYhaWDaYiaTeaJHaIgaYjaYjaRLaRMaYkaONaONaYlaONaYmaQqaGGaIoaYoaYpaToaYqaZkaZXaWLbaOaYGaWOaZcaVoaYvaYwaYxaYyaYzaYAaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaYVaaaaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaafaYCaYDcpKaYFaWPaYHaYHaYIaYJaYKaYLaYMaYNaYOaYPaYQaYRaYSaTSaYTaTUaTUaXhaXjaYUbbTaXhaTUaTUaYWaUdaUeaUeaUeaUeaUeaUiaVGaVGaVGaVGaVGaUmaYYaXvaYZaXvaXvaXxaMkaSzaKOaNSaNSaZaaZbaWNaUpaZdaZeaZfaZgaZfaZfaZfaZfaZhaZfaZfaZfaZfaZfaZfaZiaZjaUpaWMaZbaZlaZmaZnaSNaRqaRpaWcaSSaSSaSSaSSaSSaXPaZoaSSaXRaZpaWfaSSaXTaOtaZqaXVaUQaZraZsaZtaZuaYaaZvaZwaYdaYeaYfaYgaWBaYhaZxaZyaZzaQKaZzaZzaZzaZBaZCaZDaZEaOOaZFaZGaZHaZIaGGaZJaZKaZLaToaZMaZLaIoaIoaXaaYtaVoaYuaVoaZNaZOaZPaZQaWTaZRaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaZSaZTaZUbjnaZWaSFaZYaZZbaababbacbadbaebafaYObagbahbaibajaTSbakbalbambanbaobapbaqbarbarbarbasbataTSbaubavbawbaxaKgbajbnZaKhbajbaCaUmbaDbaEbaFbaGbaHbaIaMkbaJbaKaMkbaLbaMbaNbcybaPbaQbaRbaQbaSbaTbaUbaVbaWbaXbaYbaZbbabbbbbcbaQbbdbbebbfbeobbhbbibbjbbkbblbbmbbnaJlaUDaWdbboaWfaSSbbpbbqbbrbbsaXOaWfaSSaXTbbtaULaXVbbubbvbbwaUQaUQaYabbxbbybbzbbAbbBaYgaWBbbCaWDbbDaZzaRCbbFbbFbbGbbHbbIaRLaRLaRLaRLaRLaRLaRLaGGbbJaYoaYpaToaYqaYpaIobbKaGGbbLaVoaYuaVoaZNbbMbbNbbOaafbbPaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBbbQbbRbbScqObbUaSFbaabaabaabaabaabbVbaabbWaYObbXbbYbaibbZbbZbbZbbZbcabbZbcbaTUbccbcdbcebcebcfbcgaTSaXebchbcibcjaKiaKjblcaKkbcobcobcpbcpbcpbcpbcpbcqaMbbcrbcsbctbcubcvbcwbcxbbgaUpbczbcAbcBbaBaUpaUpaUpaUpaUpbcDaUpaUpaUpbcCbcFbcGbczaUpbbgbcxbcHbcIbcJbcKbcLaRpaWcaSSaSSaSSaSSaSSaGpbcMaSSbcNaSSbcObcObcObcObcPbcQbcRbcSaUQaUQaUQbcTbcUaTeaWxbcWbcXaYgaWBaYhaWDbcYaZzaYnbdabdbbdcbddbdebddbddbddbddbddbdfbdgbdhbdibdjbdkbdlbdmbdnbdobdpbdqbdraVoaYubdsaZNaVobdtbbOaafaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBbdubdvaZUbdwbdxaSFaYHbdybaababbdzbbVbaabdAaYObdBbdCbaibbZbdDbdEbdFbdGbbZbdHbdIbdJaTSbdKbdLbdMbdNaTSaXebdObdPbdPaKlbdPbdPbdPbdPbdRbdSbdSbdSbdTbdSbdUaMbbdVbdWbdXaJeaJeaJebdYbdYbdYbdZbeabdZbdYbebbebbebbebbebbecbebbebbebbedbedbeebedaUpaUpaUpaJiaJiaJibcKbcLaRpaJlbefbegaDmbehaSSbeibcMbejbekbelbcObcObembenaZzaZzaZzaSHaSGaSGaSGaZzaZzaZzbeqberbesbetaWBaYhaYhbeuaZzbevbewbexaZzbeybezbeAaZEbeBbeCbeDbeEaONaGGaIobeFbeGbeHbeFbeIaIoaIoaGGbeJaVoaYuaVoaZNbeKbeLbbOaafbeMaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBbeNbeObePbeQbeRaRtaYHbeTbeUaYHbdzbbVbeVbeWaYObeXbeYbaibbZbbZbbZbeZbfabbZbfbbdIbfcaTSbdKbdLbdMbfdaTSaXebdObdPbfebffbfgbfgbfhbdPbfibfjbfkbflbfmbfmbfmaMbaMkbcsbctaJebfnbfobfpbfqbfrbfsbftbfubdYbebbfvbfwaSEaSDbfzbfAbfBbebbedbfCbfDbfEbfFbfGbfHbfIbfJaJibfKbfLbfMaJlaZzaZzaZzaZzbfNbfObfPbfQaZzaZzbfRaZzaZzaZzaZzbfSbfTbfUbfVbfVbfVbfWbfXaZzbfYbfZbgabgbbgcbgcbgcbgdaZzbevbewbgeaZzaZzaZzaZzaZzaZzaZzaZzaZzaZzaZzbgfbggbghbgibgjbgfbggaZzaRZbgkaVoaYuaVoaZNaZObglbgmaWTaZRaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaabgnbgobgpbgqaZUbgrbgrbgrbgrbgrbgrbgsbgtbgraYOaYOaYOaYOaYObguaYOaYOaYObgvbgvbgwbbZbdDbgxbeZbgybbZbgzbgAbgzaTSbdKbdLbdMbfdaTSaXebdObdPbgBbgCbgDbfgbgDbdPbfibgEbgFbgGbgHbgIbgJaMbbgKbgLbctaWKbgNbgObgPbgQbgQbgRbgSbgTbdYbebbgUbgVbgWbgXbfvbgYbgZbebbedbhabhbbhcbhdbhebhfbhgbhhaJibhibhjaRpbhkbhlbhmbewbewbhnbewbhobewbewbewbewbhpbewbewbewbewbhqbewbewbewbewbewbewbhmbewbewbhrbhsbhsbhtbhsbhsbhubhvbewbhqbhwbhxbhpbewbhybewbewbewbhzbhAbhBbhCbewbhDbewbhEbewbewbhFbhGbhHaVoaYuaVobhIbhJbhKbhLbhMbhNaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -7377,75 +7377,75 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaT aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaabhObhObhObhObhObhObhObhObhObhObhOaZSaZTbjmbjnbjobgrbjpbjpbjqbjpbjpbjpbjrbajbajbajbajbaibbZbdDbjsbjtbgybbZbjubjvbjuaTSaTSaTSaTSbjwaTSbjxbdObdPbjybjzbgDbjAbjBbdPbfibfmbjCbgGbgGbgGbjDaMbbjEaSzbctcdNbjGbgObjHbjIbjJbjKbjLbjMbdYbjNbjObjPbiybjQbiybgVbjRbjSbedbjTbjUbjVbjWbjWbjWbjXbjYaJibjZbkabkbbkcbkdbkebbFbkfbkgbkhbkibkjbkkbklbkmbknbknbkobewbewbewbewbewbkpbkqbkrbewbksbktbkubkvbewbkpbkwbkxbkybhFbewbewbkzbewbewbkAbkBbewbkpbewbewbewbewbewbewbewbewbewbhqbewbewbhFbkCbkDbkEbkFbkGbkHbkIbkJaafaaaaafaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaabhObhObhObhObhObhObhObhObhObhObhObkKbkLbkMbkNbkObgrbkPbkQbkRbkRbkSbkTbkUbkVbkWbkWbkXbkYbbZbbZbbZbeZbkZbbZbajbajbajbajblaaXeaXeblbblcbldbleblfblgblhblibljblkbdPbllbfmblmbgGblnbgGbloblpblqaSzbctaJeblrblsbltblublvblwblxblybdYbebblzblAblCblBblDblAblEbebbedbedblFblGblHblIbiCblJblKaJiblLblMblNaJiblOblOblOblOblOblOaZzaZzblPblQbZNcdMblQblPaZzaZzaZzaZzaZzaZzaZzaZzaZzaZzblTaZzaZzaZzaZzaZzaZzaVIaZzbewbewblVblWblWblOblOblOblOblOblXblYblYblZblYbewblYblZbmablYbmbblObmcbmcbmcbmdaRZbmeaRZaRZaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaabhObhObhObhObhObhObhObhObhObhObhObdubdvbjmbjnbmfbgrbmgbjpbmhbmibjpbjpbjpaVAbmjbmkbmkbmlbbZbdDbmmbeZbmnbbZbmobmpbmqbmrbmsbmtbmtbmubmtbmtbmvbdPbmwbmxbfgbmybmzblfbmAbfmbmBbgGbgGbmCbmDbmEblqaSzbmFbmGbmGbmGbmGbmGbmGbmGbmHbmGbdYbebbmIbmJbmKbmLbmKbmMbmNbebbedbedbmObmPbmQbmRbiCbiGbmSaJibcKaRqaRpaJibmTbmUbmVbmWbmXbmYbmZbnabnbbncbndbnebncbnfbngbnhbnibnjbnkbnlbnmbnnbnobnpbnqbnrbnsbntbntbnubYfaVJblOblObZLblObZMbZMblObnzbnAbnBblObZtbZubZtblOblXblYbmbblObZnbZBbZnblObnGbnHbnIbnJbnKbnLbnMaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaabhObhObhObhObhObhObhObhObhObhOaaabnNbnObnPbeQbnQbgrbnRbjpcembnTbnUbnVbjpbnWbnXbnYbnZbmlbbZbbZbbZbbZbbZbbZboabobbocbodboebdPbdPbdPbdPbdPbdPbdPbWqbdPbdPbdPbogbdPbohboibojbgGbgGbgGbokblpblqaSzbolbmGbomboncenbcEbvGbotbosbotaafbebboubovbowboxboybozboAbebaafbedboBboCboDboEbiCbiGboFaJiboGboHaRpbXHboJboKboLboMboNbYwboPboQboRboRboSboTboUboUboVboWboXboYboZbpabpbbnnbpcbpdbpebpfbpgbphbpfbpibYfaVJbpjbpkbplbpmbpnbpobppbpqbprbpqbpsbptbpucpkblOaZzbpwbpxblObpybpzbpAbpBbpCbpDbnIbpEbpFbpGbnMaaaaaaaaaaacaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaaaaaaaaaaaabgnbgobgpbgqbdvbpHbpHbpHbpIbpHbpJaZVbpKbpLbgrbpMbpNbpObpPbpQbpRbpSaYSaXeaXeaXebpTbkWbpUbkWbkWbkWbkWbpVbpWbpWbpXbpYbdPbpZbqabqbbqcbqdbqebqfbqgbqhbqibqjbqkbmAbqlbojbgGbgGbqmbfmaMbblqbqnbqoaJubqqbqrbqrbxqborbopbxsbotaafbebbebbebbebceebebbebbebbebaafbedbqzboCbqAbqBbqCbqDbqEaJibqFaRqaRpaJibqGbqHbqIbqJaJDbqLboPbqNboUboUboUboUboUboUbqObqPbqQboYbqRbqSbqTbnnbqUbqVbqWbpfbpgbphbpfbqXbYfaVJbpjbqYbqZbqZbrabrbbrcbrdbrdbrdbrebrdbrfbrgbrhbribrjbrkbnIbrlbpCbrmbrnbrocxlbnIbrqbpFbrrbnMaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaaaaaaaaaaabrsbrtbrubrvbrwbrxbrxbrybrzbrAbgrcedbrCbpPbrDbjpbjpbjpbajbrEbrFbrGbrHbrGbrGbrGbrHbrGbajbajbdPbdPbdPbrIbdPbrJbrJbrJbrJbrJbrJbqfbrKbrLbrMbrNbrObrPbrQbrRbrSbrTbrUbrVbrWbrXbrYbrZaHBbsbbqvbsabsebscbotbosbotaafbsibsjbskbslbsmbsnbskbsobsiaafbedbspbsqbspbedbedbedbsraJibssaRqaRpbXHboJboKbstbsubsvbqLbswbqNbsxbsybszbsAbsBbsCbqObsDbnibsEbsFbsGbsHbnnbsIbqVbpebpfbpgbphbpfbpibYfaVJbpjbsJbsKbsLbsMbplbsNbsObsPbsQbsRbsSbsTbsUbrhbsVbsWbsXbnIbsYbsZbtabtbbtcbtdbnIbrqbpFbtebnMaaaaaaaaaaaaaafaafaafaafceoceoceoceoaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaabhObhObhObhObhObhObhObhObhObhOaaabnNbnObnPbeQbnQbgrbnRbjpaZAbnTbnUbnVbjpbnWbnXbnYbnZbmlbbZbbZbbZbbZbbZbbZboabobbocbodboebdPbdPbdPbdPbdPbdPbdPbWqbdPbdPbdPbogbdPbohboibojbgGbgGbgGbokblpblqaSzbolbmGbombonbbEbcEbvGbotbosbotaafbebboubovbowboxboybozboAbebaafbedboBboCboDboEbiCbiGboFaJiboGboHaRpbXHboJboKboLboMboNbYwboPboQboRboRboSboTboUboUboVboWboXboYboZbpabpbbnnbpcbpdbpebpfbpgbphbpfbpibYfaVJbpjbpkbplbpmbpnbpobppbpqbprbpqbpsbptbpubcmblOaZzbpwbpxblObpybpzbpAbpBbpCbpDbnIbpEbpFbpGbnMaaaaaaaaaaacaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaaaaaaaaaaaabgnbgobgpbgqbdvbpHbpHbpHbpIbpHbpJaZVbpKbpLbgrbpMbpNbpObpPbpQbpRbpSaYSaXeaXeaXebpTbkWbpUbkWbkWbkWbkWbpVbpWbpWbpXbpYbdPbpZbqabqbbqcbqdbqebqfbqgbqhbqibqjbqkbmAbqlbojbgGbgGbqmbfmaMbblqbqnbqoaJubqqbqrbqrbxqborbopbxsbotaafbebbebbebbebceebebbebbebbebaafbedbqzboCbqAbqBbqCbqDbqEaJibqFaRqaRpaJibqGbqHbqIbqJaJDbqLboPbqNboUboUboUboUboUboUbqObqPbqQboYbqRbqSbqTbnnbqUbqVbqWbpfbpgbphbpfbqXbYfaVJbpjbqYbqZbqZbrabrbbrcbrdbrdbrdbrebrdbrfbrgbrhbribrjbrkbnIbrlbpCbrmbrnbrobcVbnIbrqbpFbrrbnMaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaaaaaaaaaaabrsbrtbrubrvbrwbrxbrxbrybrzbrAbgrcedbrCbpPbrDbjpbjpbjpbajbrEbrFbrGbrHbrGbrGbrGbrHbrGbajbajbdPbdPbdPbrIbdPbrJbrJbrJbrJbrJbrJbqfbrKbrLbrMbrNbrObrPbrQbrRbrSbrTbrUbrVbrWbrXbrYbrZaHBbsbbqvbsabsebscbotbosbotaafbsibsjbskbslbsmbsnbskbsobsiaafbedbspbsqbspbedbedbedbsraJibssaRqaRpbXHboJboKbstbsubsvbqLbswbqNbsxbsybszbsAbsBbsCbqObsDbnibsEbsFbsGbsHbnnbsIbqVbpebpfbpgbphbpfbpibYfaVJbpjbsJbsKbsLbsMbplbsNbsObsPbsQbsRbsSbsTbsUbrhbsVbsWbsXbnIbsYbsZbtabtbbtcbtdbnIbrqbpFbtebnMaaaaaaaaaaaaaafaafaafaafbcZbcZbcZbcZaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaaaaacaaaaaaaaaaaaaaaaaaaaabrsbtfbtgbthbtibtibtibtjbtibtibgrbtkbtlbtmbpPbjpaaaaaaaaaaafaafbtnbtnbtnbtnbtnbtnbtnaaaaaabtobtpbtqbtrbtsbrJbrJbrJbrJbrJbrJbttbtubtvbtwbtxbtybtzbtAbfmbfmbtBbfmbfmbtCbtDbtEbtFbmGbtHbmGbmGbmGbmGbmGbtIbmGaafbtJbtKbtLbtMbtNbtMbtLbtObtPaafbspbtQbtRbtSbtTbtUbspbtVaJlbtWbbmbtXaJibtYbmUbtZbuabubbucbudbuebufbugbuhbuibujbukbulbumbnibnnbunbuobupbnnbuqburbusbutbuubuubuvbuwbYfaXqbpjbuxbplbplbsMbuybuzbuAbuBbuCbuDbuEbuFbuGbrhbuHbuIbuJbnIbuKbuLbuMbtbbpCbuNbnIbpEbpFbuObnMaaaaaaaaaaaaaafbuPbuQbuRbuQbuRbuQbuSaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabuTbeObuUbuUbuVbpHbuWbgnbgobuXbuWbgrbuYbuZbvabvbbjpaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnaaaaaabvcbvdbrJbvebvfbvfbvfbvfbvfbvgbvhbvfbvibvjbvkbvlbvmbvnbvobfmbvpbgGbvqbvrbvsbvtbvubvvbmGbmGbmGbvxbvybvzbvAbvBbvwaafcfUbvIbvHbvJbvKbvMbvNbvOcfUaafbspbvPbvQbxnbedbvRbspbvSaJlbvTbcLbvUaJibvVbvWbvXbvYbvZbuccdTcdUbwcbwdbwebwebwfbwgcdWcdVbwjbwkbwlbwmbwkbwkbwkbwkbwnbwkbwkaXKaXKaXKaXKaVJbpjbsJbsKbsLbwobwpbwqbwrbwsbwsbwsbsSbwtbwubwvbwwbwxbwybnIbwzbwAbwBbwCbpCbwDbnIbwEbwFbnMbnMaaaaaaaaaaaaaafbwGbwHbwIbwJbwJbwKbwGaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbwMbwNbwObwPbrJbwQbrJbwRbwRbwRbwSbwTbrKbrJbrJbrLbwUbwVbwWbwXbwYbwZbxabgGbgGbxbbxcbvtbvubxdbxebxfbUbcdBbxibxjbxkbxlbvwaafbxmbqtbskbxobxpbxobskbqxbxraafbspbqwbxtcelbedbxvbspbtVaJlbxwbcLaRpaJibxxbxybxzbxAbxBbxCbxDbxEbxCbxFbxGbxHbxFbwkbxIbxJbwkbwkbxKbxLbxMbxNbxObxPbxQbxRbxSaXKbayaYXaXKaVJbpjbxXbqZbqZbxYbxZbppbyabwsbwsbwsbsSbwtbybbwwcbKbUabTQbwwbyfbygbyhbyibpCbyjbnIbrqbykbnMaaaaaaaaaaaaaaaaafbylbymbwIbwJbwIbynbuRaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbyobypbyobyqbyrbwQbrJbrJbrJbysbrJbwTbrKbytbdPbdPbyubgGbrNbwXbyvbywbyxbyybyybyzbyAbyBbyCbyDbvsbyEcbQbyGbxkbyHbyIbyJbvwaafbxrbxrbyKbtLbyLbskbyMbxrbxraafbyNbyNbyNbyNbyNbyNbyNbyOaJibyPblMblNaJibyQbyRbyRbySbyTbxCbyUbyVbyWbyXbyYbyZbzabwmbzbbzcbzdbzebzfbzgbzgbzhbzibzgbzjbzkbckbaAcekbclbdQbcnbzrbzsbztbzubzvbzwbppbzxbpqbpqbzybsSbwtbzzbzAbzBbzCbzDbzAbzEbzFbzGbzHbzIbwwbwwbzJbnMbnMbzKbzLbzLbzLbzMbzNbwGbwJbwIbwJbwJbzObwGaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaacaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbzPbzQbzPbzRbrJbwQbrJbzSbzSbzSbzSbwTbrKbzTbzUbdPbzVbgGbrNbwXbzWbzXbzYbgGblnbgGbzZbAabAbbAcbAdbyEbWnbAfbxkbxkbxkbAgbvwbAhbAhbAhbxrbAibxpbAibxrbAjbAjbAjbyNbAkbAlbAmbAnbAobApbAqaJibAraRqaRpaJibAsbAtbAubAvbAwbAxbAybAzbAAbABbACbADbAEbAFbAGbAHbAIbAJbAKbAIcaJbAMbANbAObnvblUbsdbnwbsgbsfbaAbPObpjbAWbAXbAYbAZbAZbppbBabBbbBcbppbBdbBebBfbBgbBhbBibBjbBkbBlbBlbBmbBnbBobTHbBqbBrbBsbBtbTIbBvbBwbBwbBxbBybBzbuQbuRbBAbuRbuQbBBaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabuTbeObuUbuUbuVbpHbuWbgnbgobuXbuWbgrbuYbuZbvabvbbjpaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnaaaaaabvcbvdbrJbvebvfbvfbvfbvfbvfbvgbvhbvfbvibvjbvkbvlbvmbvnbvobfmbvpbgGbvqbvrbvsbvtbvubvvbmGbmGbmGbvxbvybvzbvAbvBbvwaafbnybvIbvHbvJbvKbvMbvNbvObnyaafbspbvPbvQbxnbedbvRbspbvSaJlbvTbcLbvUaJibvVbvWbvXbvYbvZbuccdTcdUbwcbwdbwebwebwfbwgcdWcdVbwjbwkbwlbwmbwkbwkbwkbwkbwnbwkbwkaXKaXKaXKaXKaVJbpjbsJbsKbsLbwobwpbwqbwrbwsbwsbwsbsSbwtbwubwvbwwbwxbwybnIbwzbwAbwBbwCbpCbwDbnIbwEbwFbnMbnMaaaaaaaaaaaaaafbwGbwHbwIbwJbwJbwKbwGaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbwMbwNbwObwPbrJbwQbrJbwRbwRbwRbwSbwTbrKbrJbrJbrLbwUbwVbwWbwXbwYbwZbxabgGbgGbxbbxcbvtbvubxdbxebxfbUbbnCbxibxjbxkbxlbvwaafbxmbqtbskbxobxpbxobskbqxbxraafbspbqwbxtbnDbedbxvbspbtVaJlbxwbcLaRpaJibxxbxybxzbxAbxBbxCbxDbxEbxCbxFbxGbxHbxFbwkbxIbxJbwkbwkbxKbxLbxMbxNbxObxPbxQbxRbxSaXKbayaYXaXKaVJbpjbxXbqZbqZbxYbxZbppbyabwsbwsbwsbsSbwtbybbwwbnSbUabTQbwwbyfbygbyhbyibpCbyjbnIbrqbykbnMaaaaaaaaaaaaaaaaafbylbymbwIbwJbwIbynbuRaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbyobypbyobyqbyrbwQbrJbrJbrJbysbrJbwTbrKbytbdPbdPbyubgGbrNbwXbyvbywbyxbyybyybyzbyAbyBbyCbyDbvsbyEboobyGbxkbyHbyIbyJbvwaafbxrbxrbyKbtLbyLbskbyMbxrbxraafbyNbyNbyNbyNbyNbyNbyNbyOaJibyPblMblNaJibyQbyRbyRbySbyTbxCbyUbyVbyWbyXbyYbyZbzabwmbzbbzcbzdbzebzfbzgbzgbzhbzibzgbzjbzkbckbaAboObclbdQbcnbzrbzsbztbzubzvbzwbppbzxbpqbpqbzybsSbwtbzzbzAbzBbzCbzDbzAbzEbzFbzGbzHbzIbwwbwwbzJbnMbnMbzKbzLbzLbzLbzMbzNbwGbwJbwIbwJbwJbzObwGaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaacaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbzPbzQbzPbzRbrJbwQbrJbzSbzSbzSbzSbwTbrKbzTbzUbdPbzVbgGbrNbwXbzWbzXbzYbgGblnbgGbzZbAabAbbAcbAdbyEbpvbAfbxkbxkbxkbAgbvwbAhbAhbAhbxrbAibxpbAibxrbAjbAjbAjbyNbAkbAlbAmbAnbAobApbAqaJibAraRqaRpaJibAsbAtbAubAvbAwbAxbAybAzbAAbABbACbADbAEbAFbAGbAHbAIbAJbAKbAIbqMbAMbANbAObnvblUbsdbnwbsgbsfbaAbPObpjbAWbAXbAYbAZbAZbppbBabBbbBcbppbBdbBebBfbBgbBhbBibBjbBkbBlbBlbBmbBnbBobTHbBqbBrbBsbBtbTIbBvbBwbBwbBxbBybBzbuQbuRbBAbuRbuQbBBaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbBCbwNbBDbBEbrJbwQbrJbrJbrJbrJbrJbwTbrKbzTbBFbdPbBGbgGbBHbBIbgGbBJbgFbgGbgGbBKbvsbvtbAbbAcbAdbyEbvwbBLbBMbBNbBMbBObvwbBPbBQbBRbAhbxrbBSbxrbAjbBTbBUbBVbyNbBWbBXbBYbBZbCabCabCbbCcbAraRqaRpaJibCdbCebCebySbCfbxCbCgbChbxCbCibCjbCjbCkbwkbClbCmbwkbwkbwkbwkbwkbwkbCnbwkbwkbwmbCoaXKaXKaXKaXKbSwbpjbwwbzAbzAbzAbzAbzAbzAbzAbzAbzAbzIbCrbCsbCtbBhbCubCvbCwbCxbCxbCxbCybCzbSubCBbCCbCDbCEbTGbCGbCHbCGbCIbCJbzKbzLbzMbCKbzNbCLaaaaafaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbzPbzQbzPbCMbCNbCObrJbrJbrJbCNbrJbwTbrKbzTbCPbdPbCQbgGbrNbwXbgGbqlbCRbgGbgGbCSbxcbvtbAbbCTbxcbCUbvwbCVceSbCXbCYbxlbvwbCZbDabDbbDcbDdbvFbvEbDgbDhbDibDjbyNbDkbDlbDlbDmbDnbDobDpaJibDqbDrbDsaJibDtbCAbDvbDwbDxbDybDzbDAbyWbDBbDCbCjbDDbwmbDEbDFbwmbDGbDHbDIbDJbDKbDLbDMbCpbDNbDObDPbDQbDRbCpbVLbVMbDUbVAbDWbDXbDXbDYbDZbEabEbbEcbEdbEebEfbEabEgbEhbCvbEibEjbEkbwwbwwbwwbwwbwwcngcjDbEnbzKbzMbCJbEobEpbEqbErbEsbEtbEubEvaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbzPbzQbzPbCMbCNbCObrJbrJbrJbCNbrJbwTbrKbzTbCPbdPbCQbgGbrNbwXbgGbqlbCRbgGbgGbCSbxcbvtbAbbCTbxcbCUbvwbCVbrpbCXbCYbxlbvwbCZbDabDbbDcbDdbvFbvEbDgbDhbDibDjbyNbDkbDlbDlbDmbDnbDobDpaJibDqbDrbDsaJibDtbvDbDvbDwbDxbDybDzbDAbyWbDBbvLbCjbDDbwmbDEbDFbwmbDGbDHbDIbDJbDKbDLbDMbCpbDNbDObDPbDQbDRbCpbVLbVMbDUbVAbDWbDXbDXbDYbDZbEabEbbEcbEdbEebEfbEabEgbEhbCvbEibEjbEkbwwbwwbwwbwwbwwbxhbwbbEnbzKbzMbCJbEobEpbEqbErbEsbEtbEubEvaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbEwbExbEwbEybEzbEAbEAbEAbEAbEAbEBbECbEDbzTbEEbdPbEFbEGbEHbEIbEJbtzbEKbELbEMbfmbtCbENbAbbEObEPbyEbvwbEQbERbESbBMbETbvwbEUbEVbEWbAhbEXbvCbEYbAjbFabFbbFcbyNbFdbFebFfbFgbDnbDobFhaJibxwaRqaRpbVjbFjbFkbFlbFmbFnbFobFpbFqbxCbxFbxFbFrbxFbwkbFsbFtbFubFvbFwbFxbDJbFybDLbFzbFAbFBbDObFCbFDbFEbFFbVlbDXbVybVAbFJbDXbDXbFKbFLbFMbFLbFLbFNbFObFPbFQbFRbFSbCvbFTbFUbFVbFWbFXbFYbFZbGabGbbGcbGdaafaafbCJbGebGfbGgbGhbGibGjbGkbCJaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbGlbGmbGnbdPbdPbGobwNbwNbwNbGpbdPbdPbGqbGrbGsbdPbGtbGtbGtbGubGtbGvbGwbGxbGybGzbtCbvtbAbbGAbGBbtCbtGbtGbtGbtGbtGbGCbtGbtGbtGbtGbtGbtGbshbtGbtGbtGbtGbtGbtGbtGbtGaJiaJiaJiaJiaJiaJibxwaRqaRpbVjbGEbFkbDubGGbDTbGIbGJbGKbGLbGMbGNbCjbGObGPbGQbGRbGSbGTbGUbGVbGWbGXbGYbGZbHabHbbHcbHdbHebHfbCpbUSbUfbwwbwwbwwbwwbwwbHibwwbwwbwwbzAbHjbzAbzAbHkbBhbCubCvbFTbHlbHmbHnbHobHpbHqbGabGbbGcbHraaaaaabCJbHsbHtbCJbBybCJbCJbBybCJaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabHuaafaaaaaaaaaaaabGtbHvbHwbHxbHybGvbHzbHAbHBbHCbtCbvtbAbbAcbAabHDbHEbHFbHGbHHbHIbHJbHKbHLbHMbHLbHNbHObqybHQbHRbAabHSbAabHTbAabzZbHUbHVbHWbHXbHYbHZbxwaRqbDsaJlbDtbFHbDtbGHbGHbxCbIbbIcbIdbIebIfbIgbIhbIibIjbIkbwmbIlbImbInbDJchqbIobIpbIqbIrbFDbIsbItbIubCpbIvbIwbIxbIybUdbIAbIBbICbIDbUcbIFbIGbIHbIIbIJbzAbIKbCubCvbILbIMbINbIObIPbIQbIRbGabGbbISbEnbEnbEnbCJbCJbCJbCJaaaaaaaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaaaaaaaaaaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabGtbITbIUbIVbIWbIXbIYbIZbJabJbbtCbvtbJcbJdbJebJebJfbJgbJhbJibJjbJgbJfbJebJebJebJkbJlbqsbJnbJobJebJebJebJpbJgbJhbJqbJrbJsbJtbJubJtbJvbJwbvUaJlbTMbJxbJCbGFbLabKZbDzbLdbFibDVbxFbJDbCFbDSbDEbJGbwkbJHbJIbJJbDJbJKbJLbJMbJNbJObFDbJPbItbJObCpbJQbJRbIxbJSbJTbJUbJVbJWbJXbJYbIFbJZbKabKbbKbbzAbKcbKdbKebKfbKgbKhbKibKjbKjbKkbGabGbbKlbEnbKmbKobKnbEnaafaafaafaafaafaafaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbKpbKqbKqbKrbKsbKsbKtbKtbKtbKtbKuaafaafaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnaaaaaaaaaaaaaaaaaaaaaaaabKvbKwbKxbKwbKyaaaaaaaaabGtbGtbKzbKAbIVbKAbKBbKCbHBbKDbKEbtCbKFbvtbKGbKHbAabKIbAabzZbHHbKJbAabKKbKLbKMbKNbKObAcbAabKPbKQbHLbKRbHLbHLbKSbKTbKUbKVbKWbKXbcLbKYaRpaRpaRpaJlbMsbGFbGFbFlbMwbMtbNYbMxbFIbLgbLhbLibLjbHgbDEbIkbIabIzbHhbDJbDJbLobLobLobCpbLpbLqbLrbLsbLtbCpbLubLvbIxbLwbFGbLybLzbLAbLBbLCbIFbLDbLEbKbbKbbzAbRsbLFbCvbwwbLGbLHbLIbLJbLKbLLbGabLMbLNbLObLObLObLPbGdaaaaaaaaaaaaaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafbLQbLRbLSbLRbKsbKtbKtbLTbLUbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabLVbLWbLXbLYbLVbLZbMabMbbGtbMcbMdbMebMfbMgbMhbMibMjbMjbMkbtCbtCbtCbMlbtCbtCbtCbtCbtCbtCbtCbtCbtCbtCbtCbtCbtCbMmbMnbMobtCbtCbtCbtCbtCbMpbtCaJlaJlaJlaJlbMqaJlaKSaMpbMraJlbRibMubMubGFbRmbxCbDzcIsbxCbMybMzbMAbMBbwkbMCbMDbMEbMFbMGbMHbMIbMJbMKbMLbItbJObFDbFDbMMbJObCpbMNbMObMObMObMObMObMObMObMObMObMObMPbMQbMRbMRbzAbMSbMTbMUbwwbMVbMVbMVbMWbMXbMYbMVbMVbMVbMVbMVbMZbNabNbaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymbNdbLRbLRbNebKtbKtbLTbLTbNfbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabKxbNgbNhbNgbKxbNibNjbNkbNlbNmbNnbKAbNobNpbGvbNqbNrbNsbNtbGvbNubNvbNwbNxaaaaaaaaaaaabNybNzbNAbNBbNDbNCbNEbNFbNGbNHbNIbNFbNJbNKbNLbNMbNNbNObNPbNQbNRbNSbNTbNUbNUbNUbNUbDtbDtbPBbSnbQVbDtbxCbNZbOabObbMzbOcbOdbOebOfbOgbOhbOibOjbOkbOlbOmbOnbMKbOobFDbFDbOpbJObJObOobCpbMNbMObOqbOrbOsbOtbOubOvbOwbOxbMObOybOzbOAbOAbzAbOBbOCbCvbzIbODbOEbOFbOGbOHbOIbOJbOKbOLbOMbMVbEnbONbEnbOObOObOObOObOOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabOPbKtbNdbKtbKtbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabLVbNgbNgbNgbOQbORbKAbOSbOTbOUbKAbKAbOVbOWbGvbGvbGvbGvbGvbGvbOXbOYbOZbPaaaabPbbPcbPcbPdbPebPfbPgbPhbPfbPibNFbPjbPkbPlbNFbPmbPnbPobPpbPqbPrbPsbPtbPtbNSbPubPvbPwbPxbPybDtbUebLbbPzbGFbUOcIkbDzbPCbxCbPDbPEbPFbPGbwkbPHbPIbwkbPJbPKbPLbPMbPNbMKbCpbCpbCpbCpbCpbCpbCpbCpbPObMObPPbQYbPRbOsbOsbOsbOsbPSbMObPTbLEbPUbPUbzAbBhbPVbPWbPXbPYbPYbPYbPYbPZbQabQabQbbQcbQdbMVbQebQfbQgbOObQhcdbbQjbQkaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbKsbKtbQlbQmbQmbLTbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabKxbNhbNhbNhbKxbQnbQobQpbQqbQrbKAbKAbQsbQtbQubQvbQvbQvbQvbQvbQvbQwbQxbQyaaabQzbQAbQBbQCbQDbPfbQEbQGbQFbQHbNFbQIbQJbQKbNFbQLbQMbQNbQObQPbQQbQRbPtbQSbPxbQTbNUbPxbPxbQUbNVcIlbGFbTNbGFcIncImbQXbLebRCbQZbRabRbbRcbRGbDEbIkbSpbPJbPLbPLbPMbRfbMKbRgbRhbWmbRjbRkbRlbUPbRnbPObMObOsbOsbRobOsbOsbOsbOsbRpbMObRqbLEbRrbRrbzAbRsbRtbRubRvbRwbRxbRybRybRzbRAbRybRybRybRBbRebRDbREbRFbRdbRHbRIbRJbRKaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabKtbKtbRLbLTbLTbLTbLTbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaabLVbRMbRNbRObLVbRPbMabMbbGtbGtbRQbRQbRQbGtbGtbNxbRRbRRbRSbRSbRSbRSbNwbQyaaabRTbRUbRVbRWbRXbRYbRZbSabSbbSbbScbSdbSebSfbNFbPtbPtbPtbPtbPtbSgbPtbPtbShbSibSjbNUbPxbSkbSlbDtcIobLbbTNbSmcIqcIpbSobJAbJBbSqbSrbSsbStbJzbFsbSvbIEbSxbSybSzbSAbSBbMKbSCbSDbSEbRjbSFbSGbSHbRnbPObMObMObMObRobOsbOsbOsbMObMObMObSIbSJbRrbRrbzAbSKbSLbCvbzIbSMbSNbSObSPbSQbSRbSSbQabSTbSUbMVbSVbQfbSWbOObSXbSYbSZbTaaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbKtbLTbLTbLTbLTbLTbLTbTbbLTbTcbLTbLTbLTbLTbLTbKtbKtaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabTdbKwbTebKwbTfbTgaafaaaaaabGtbThbTibTjbGtaaabNxbTkbTlbTmbTnbTnbTnbTobQyaaabQzbTpbTqbTrbTsbPfbTtbTvbTubTwbNFcdabTybTzbTAbTBbTBbTBbTCbTCbTDbTEbULbPxbPxbTFbNUbNUbNUbNUbDtbDtbLfbLkbLcbDtbTJbTKbTLbJFbJEbTJbTObLlbLmbTRbTSbTJbMKbMKbMKbMKbMKbMKbTTbTUbTVbRjbTWbTXbTYbRnbPObMObTZbQWbPQbLxbLnbNWbNcbTZbUgbUhbUibIIbIJbzAbIKbSLbUjbwwbMVbMVbMVbMVbMVbUkbMVbUlbQabUmbMVbUnbUobUnbOObUpbUqbUrbOOaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabKtbUsbUsbUsbUsbUsbUsbUtbLTbUubUsbTcbLTbLTbLTbLTbKtaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbUvbNxbNxbNxbNxbRSbUwbNwbUxaaabUybPcbPcbUzbUAbPfbPfbUBbPfbUCbNFbUDbXubWibNFaLqaLqaLqaLqaLqaLqaLqaLqbUHbUIbUJbUKbUKbUMbNUbDtbUNbvLbwbbUQbURbwabUTbUUbUVbUWbUXbUTbUYbUZbVabVbbVcbVdbVebVfbVgbVhbVibxhbVkbCWbRjbvDbVmbvDbRnbPObMObVnbWhbVpbVqbVrbVsbVtbVubUgbzAbVvbzAbzAbVwbCxbSLbCxbVxaafbnxbVzbrBbVBbVCbVBbVDbVEbVFbMVbVGbVHbVIbOObVJbVKbVKbwhaaLaaLaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwibLRbLRbLRbLRbLRbLRbLRbVNbLUbLTbLTbLTbLTbVObLUbKuaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabVPbVQbVQbVRbVSbNxbVTbRSbVUbNxaaaaaaaaaaaabNybVVbVWbVXbVZbVYbPfbNFbWabWbbNIbNFaLqbXybXAbXzbXwbXvbXxaLqcaqcaqcaqcaqcaqbTFbWjbWkbWlbMvbJybWobWpbxgbWrbWsbWtbWubWtbWvbWtbWwbWxbWybWzbWAbWBbWAbWCbWDbWEbWFbWGbWHbWIbWJbWKbWLbWMbxVbMObxWbzmbzlbWSbWTbWUbWSbWSbWVbWWbWXbWYbWZbCxbCxbSLbCxbFTaafbnxbXabXbbXcbXdbXebXfbXgbXhbMVbXibVHbXjbOObOObOObOObOOaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabKtbQmbQmbQmbQmbQmbQmbXkbLTbQlbQmbXlbLTbLTbLTbLTbKtaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXmbXnbXobXpbRSbXqbXrbRSbXsbNxaaKaaaaaaaaabNybNybNybNybNybNybNybNFbUDbUEbXtbNFaLqbcVaPgaQqaQqaPgaPfaLqbcmaRCaRCaQKcaqbXBbDtbDtbXCbXDbXEbXFbXGblRbXIbXJbXKbXLbXMbXNbXObXPbXQbXRbXSbXTbXUbznbzpbzobAPbzqbARbAQbATbASbAVbAUbYfbYgbIwbYhbVobCqbWObWNbWPbYmbYnbYobYpbYqbYrbYsbYtbYrbYubYvbILaafbnxbXablSbVBbYxbVBbALbYzbYAbMVbXjbVHbYBbYCbUnaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbKtbLTbLTbLTbLTbLTbLTbTbbLTbXlbLTbLTbLTbLTbLTbKtbKtaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabYDbVQbVQbVRbYEbYFbYGbNxbYHbNxbYIbYJbYKbYIbYIbYLbYMbYNbYObYPbWfbWgbTxbQibUGbUFbWcaPgbWebWdboobnSbxubqMbDebxUbJmbHPcaqbZhbNSbZibZjbZkbZlbZlbZmbnEbZobZpbTJbTJbZqbZrbTJbTJbZsbpvboObVibZvbWQbZxbZybZzbZybZAbrpbZCbrpbZAbWRbYfbMNbIwbZEbXWbXVbElbZIbZJbZKbMObMObwwbwwbwwbwwbwwboIbnFbofbwwbMVbMVbMVbMVbMVbUkbMVbMVbMVbMVbMVbZObZPbZQbZRbUnaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabKtbKtbRLbLTbLTbLTbLTbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaambZSaamaamaamaamaamaaaaaaaaaaaaaaaaaaaafaafaaaccBcbmcbmcbmccAcbmcbmcbkcblbYIbZYbZZbYIcbpcabcaccadcaecafcbncbocbCcbBcbAcbzcbyaPgbWecbqcbEbnScbDaLqcaqcaqcaqcaqcaqcarbNSbDtcascatcaucavcawcaxcaycazbTJcaAcaBcaCcaDcaEcaFcaGcaHcaIbZxbWQbEmbZycaKcaLbZAcaMcaNcaObZAbXXbYfbPObIwbXYbYabXZbXYbXYbIwbIwbIwcaRcaScaTcaUcaVbwwbwwcaWbwwbwwcaXcaYcaZcbabXjcbbbXjbXjcbccbdcbecbfcbgcbhbUnbUnbUnaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbKsbKtbUubUsbUsbLTbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafccZccYbYyccXccWbYUccRccSccTbYIcbrcbsbYIbYIcbtcbucbvcbwcbxccUccVbTxbQibUGccFccDaPgaPgccEccPaPgccQaLqcbFcbGcaqcbHcaqbTFcbIcbIcbIcbIcbIcbIcbIbTJcbJbTPbTJcbLcbMcbNcbOcaEcbPbPAcbRcaIbZxbWQbZxbZycbScbTbZAcbUcbVcbWbZAbXXbYfbYbbYdbYcbYiccCbYjbYcchBbYkbYlcktbZDbZwbZFcktccrbZGbZHccqccrccscctcctcctcctccucctcctcctcctcctccvccwccxccycczbUnbUnbUnbUnaaaaafaaaaaaaaaaahaahaahaafaaaaaaaafaaaaaaaafaaaaaabOPbKtbNdbKtbKtbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafbYebYebYybYRbYQbYUbYVbYSbYTbYIccGccHccIccJccKccLccMccNccObYWbYXbZbbZabYZbYYbZfbZebZdbZcbZVbZUbZTbZgcdccddaJEcdfcaqbTFcbIcdgcdhcdicdjcdkcdlcdmcdncdocdpcdqcdrcdscdtcaEcducdvcdwcaIbZxbWQbZxbZycdxcdybZAcdzcdAbNXbZAcaPbYfbYfcaQbYccbYcbXcbZbYcchBccacjfcdLcdLbyFbBucdLcdOcdPcdQcdRcdOcdSbBpbyebydcdScdScdScdSbAebyebydcdScdSbXjcdXcdYcdZceacebcecbxTbycbycbycbycbycbycbycbycbycbycbycbycbycbycbycbyccefcegcegcehbKtbKtbLTbLTceibLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacejcejcejcejcejcejcejcamcanbYIbYIbYIbYIbYIbYJcaocapcapcapcbicbjbTxbQibUGcaabWccagcaicahcakcajcalaLqcezaJFboqaJFcaqbTFcbIceDceEceEceEceFceGbTJceHceIbTJcbLcbNceJcbOcaEceKceLceMcaIbZxbWQceNbZyceOcePbZAbZAbZAbZAbZAccbceRbYfcaQbYcccdcccbYcbYcchBccecjfcdLceZcfacfbcfccdOcfdcfecffcdOcfgcfhcfhcfhcfibZXcfkcflcfmcfncfocfpcdScfqcfrcfsbUnbUnbUnbUnaaaaafaaaaaaaaaaahaahaahaafaaaaaaaafaaaaaaaafaafaafcftbZWcfvbNebKsbKtbKtbLTbLUbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaafaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafcejcfwcfxcfycfzcfAcejcDncDmcDjcDgcDlcDkcCUcCUcCVcCLcCLcCKcCMccVbTxbQibUGcCJcbycCGcCHcCIcCDcCEcCFaLqaJFaJFcaqceBcaqbTFcbIcfVcfWcfWcfWcfXcbIcfYcfZcgacfYcgbcgccgdcgecaEcgfceLcggcaIcghccfcgjbZycgkcglbZycgmbLvbVicgnccgcchbYfccjcciccicckcclcclcclcclccmcdLcgxcgycgycgzcgActsctyctscgDcgEcgFcgGcgGcgHcgIcgIcgJcgKcgLcgLcgMcdScgNcgOcgPcgNaaaaaaaaaaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafcgQbKqbKqbKrbKsbKsbKtbKtbKtbKtbKuaafaafaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaafaafaafcfIcfIcfIcfIcfIcfIcfIcfIcfIcfIcfIcfIcfIaaaaaacgScgTcgTcgTcgUcgVcejcCxcCwcCvcCucCtcCscCrcCpcBUcBTcBScBRcBQcBPcCAcCBcCycCzaLqaLqaLqaLqaLqaLqaLqaLqbEZbGDcaqbDfcaqbTFcbIcbIctpctqctrcbIcbIchrchschtcfYcaEcaEcaEcaEcaEcaIchuchvcaIchwccnchwbZychychzbZychAchBbVichCbVichDbYfccobYfbYfccpcdCcdCcdCcdDbYfcdLchIchJchJchKchLchMchNchOchPchQchRchSchTchUchVchWcgIcgIcgIchXchYcdSchZciacCCcgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaaaaaaaaaaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacfIcDIcEwcDIcfIcDKcEucDKcfIcDMcEvcDMcfIaaaaaaciicgTcgTcgUcgUcijcejcEqcEpcDAcErcEtcEscElcEkcEncEmcEmcEocEmccVbTxcEfbUGcEgcEhcEicEccEjcEccItcEdcEecEeciAciAciAciAbTFciGciHciIciIciJciKciLciMciXciOciPciQciRciSciSciTciUcaIcaIcaIciVcdEckqbZybZybZybZychBchBbViciYbViciZbYfccobYfaaaaaaaaaaaaaaaaaaaaacdLcjgcjhcjhcExcjjcjkcjlcjmcjncjocjpcjqcgIcgIcjrcjscgIcjtcgIchXcjucdScjvcjwcjxcgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacfIcDIcDJcDIcfIcDKcDLcDKcfIcDMcEbcDMcfIaaaaaaciicgTcgUcgUcgUcjBcjCcDwcDvcDAcDzcDycDxcDrcDqcDpcDocDucDtcDsccVbTxcDFcCycDEcDGcDHcDCcDCcDCcDDcDBcFccIrceCcdeceAciAbTFciGckaciIckbckcckdcubckfckgckhctQckjckkcklciSckmciUcknckockpclicdFcdHcdGcdIcdIcdJcdIcdKbVibVibVibVibYfccobYfaaaaaaaaaaaaaaaaaaaaacdLckCckDckDckDckEcdOckFcdOckGckHckIckJckJckKckLckLckMckJckJckNckOcdSckPckQckRcgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacfIcFwcFvcFucfIcFtcFrcFscfIcFqcFlcFpcfIaaaaafciiclbcgTcgUcgUcgUcejcFScFIcDAcDAcFHcDAcDAcDAcDAcFVcEmcFTcFUccVcFAcFBcFCcFDcFxcFycFzcFzcFzcFGcFdcFdcFEciAcFFcgqclwclxciGclyciIclzclAclBclCclDclEclFclGclHclIclJciSclKciUclLclMclNclOclPclQclNclRclSclTbYfceQcdIcdIcdIcdIcdIcIwbYfaaaaaaaaaaaaaaaaaaaaacdLcmacmbcmccmdcdOcmecmfcmgcdScmhcmicmicmicmjcmkcmlcmmcmicmicmicmncdScmocmpcmqcmraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaafaafcfIcEycsWcEzcfIcsVcsWcEAcfIcsVcsWcEAcfIaaaaafcmzcgTcgTcgUcgUcmAcejcEPcEOcENcEMcEGcEEcEScEScEUcETcEScERcEQccVcEZcFacEXcEYcEhcEVcEVcEWcFdcFecIucFbcFbciAcibceVcIvcqgciGcnbciIcnccndcFjciGcnfciNcIjcfYcFfcnicnjciScnkciUclLclMclNcnlcnmcnlclNaaaaaaaaabYfbYfbYfcnnclSclSclTbYfbYfaaaaaaaaaaaacdOcdOcdOcdOcdOcdOcdOcdOcdOcnocnpcnqcdScdScnrcnscntcdScdScdScdScnucnscntcdScdScnvcnwcnvaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabZSaafaafaafaaaaafcnxaafcnxaafcKBaafcKAaafcKBaafcKAaafaafaaacejcnAcnBcgUcgUcnCcnDcGPcGOcqPcGTcGUcxpcxpcGVcxpcxocGXcGWcxocGYcpbcGJcGKcGLcmRcmRcmRcmRcyKcGMcGNcGNcGNcgscgscgscgscnSciGcnTcnUcnccnVcnWciGcnfciNcnXciUcnYcnZcnjcoacobciUclLclMclNcoccodcoeclNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaacdOcofcogcohcwlcojcokcolcomconcoocopcoqcwkaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaafcoscotcosaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaafcGvcGxcGwcGycGwcGxcGzcGycGAcGBcGzcGCcGDcGEcGIcqPcqPcqPcqPcqPcqPcqPcqPcFXcFWcGbcGacFZcFYcGecGdcGccxocGicGhcGfcxocmQcGncGmcmRcGqcGrcGocGpcmMcGtcmJcGscGscGucwscwscmJbTFciGciGcpccpdciGciGciGcpeciNcpfciUciUciUcpgcphciUciUclLcpiclNcvmcvncvmclNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaafaafcdOcplcpmcplcvlcpocppcpqcomcomcprcomcdOcdOaaaaaaaaaaafaafaaaaacaaaaaaaaaaaaaafaaacvtaaaaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaaaaaaaaaaafcoxcvjcvicvhcuBcvjcvBcvzcvAcvxcvycvvcvwcvucnzcvrcvscvpcvqcvkcvocwmcvLcwpcwocvKcuycuAcuwcvHcvGcvJcvIcvDcvCcvFcvEcmQcuncwucmRcmMcmMcmMcmMcmMcwtcmJcwqcwqcwqcwscwscmJbTFcrYciGcqhcqicqjcqkciGcqlciNcqmciUcqncqocqpcqqciUcqrclLcpiclNcqscqtcquclNaaaaaaaaaaaaaaaaaacqvcqwcqxcqycqvaafaaaaaaaaaaaacdOcplcplcplcoicqAcqBcqCcqDcqEcqFcqGcqHcdOaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaafaaacmZaaaaafaafaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaafcuecnzcuacudcuccnzcoNcnzcoPctZcoNcnzcoPctZcnzcnzcnzcnzcnzctucnzcnzcnzcuAcuzcuycuxcoNcuwcuvcuucutcuscurcuqcupcuocmQcuncumcmRculcmMcmMcukcmMcujcmJcuicufcuhcufcugcmJbTFcrqciGcrrcrscrtcrucrvcrwcrxcrycrzcrAcrBcrCcrDciUcrEcrFcrGcrHcqvcrIcqvcrHaaaaaaaafaaaaaaaaacqvcrJcrKcrLcqvaafaafaaaaaaaaacdOcomcomcomcomcrMcppcrNcrNcrNcnpcrNcrOcdOaaaaaaaaaaaaaaacrPcrPcrPbZSaafaafaafaafcnaaafaafaafaafaafaaqcrPcrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaafaafaafcoxcnzcuxcnzcuxcnzcoNcnzcyEcoScoXcoScyFcoScoScoUcyDcnzcnzcowcnPcnPcnPcyqcyocyrcyrcyscuwcyjcyicykcxocymcylcyncxocywcyxcwzcyycyzcyAcyBcyCcmMcytcmJcyucufcwycufcyvcmJbTFcizciGcszcsAcsBcsCciGcfYcsDcfYciUcsEcsFcsGcsHciUcsIcrGcrGcqvcsJcsKcsLcqvcqvcqvcsMcqvcqvcqvcqvcsNcsOcsPcqvcqvcqvcrHaaaaaacdOcofcogcohcslcsRcqBcrNcrNcrNcnpcrNcsScdOaaaaaaaaaaaaaaacrPaaaaafaaaaafaaaaaaaaackxaaaaafaafaaaaaaaaaaaacrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaafaaaaaacoxcnzcuxcnzcxJcxDcxEcxFcxGcxHcoXcoScxIcoScoScoUcxBcnzcnzcxCcudcxvcxucxucxtcuxcuxcxAcxwcxrcxqcxpcxocxscxocxocxocwBcwCcwzcwAcwFcwGcwDcwEcmMcwwcmJcwvcufcwycufcwxcmJctvctwciGciGctxciGciGciGciBctzctAciUciUciUctBciUciUcsIcrGaaacqvctCctDctEctFctGctHctIctJctKctLcqvctMctDctNcqvctOctPcqvaafaafcdOcplcplcplcorcpoctRctSctTctUctVcrNctWcdOcdOcdOcdOaaaaaacrPaaactXctXctXctXctXaafckxaafctXctXctXctXctXaaacrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacoxcnzcxJcxDcxDcxDcxEcxDcxDcxDcxEcxDcxDcxDcxDcxDczucxDcxDcxEcxDczycxDcxDcxDczwczvczxcvjcnzczBczEczDczzcpMczAcqecpMcAtcAucAvczFczGczGczHczGcAycAzcAAcAwcAxczfczfcmJcuCcuDcuEcuFcuFcuGcuHcuIcuJcuJcuJcuJcuJcuJcuJcuJcuKcrFcrGaaactFcuLcuMcuNctFcuOcuPcuQcuQcuRcuQcuScuTcuUcuVcuWcuXcuQcqvaaaaaacdOcplcplcplcslcuYcuZcvacvbcvccvdcrNcrNcvecvfcvgcdOaafaafcrPaafckVckSckSckSckSckyckxckwckvckvckvckvckUaafcrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacoxcnzcnzcnzcnzcnzcoNcnzcnzcnzcoNcnzcnzcnzcnzcnzcoPcnzcnzcoNcnzczocnzcnzcznczmczlczkczjcztczjczscyLczrczqczpcyLcyLczecyJcyKcyIcmMcyGcyHcmMcmMczhcufcufczgczfczfcmJbPxcAscvNcvNcvNcvNcvOcvNcvNcvNcvNclMcvPcrGcrGcrGcrGcrGcrGaaactFctFcvQctFctFcvRcvScvTcvUcvVcvWcvVcvXcvYcvZcwacwbcwccqvaaaaaacdOcomcomcomcomcwdcppcvacwecwfcwgcrNcrNcwhcrNcwicdOaaaaaacrPaafcwjcwjcwjcwjcwjaaackxaaacwjcwjcwjcwjcwjaafcrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaabZSaaaaaaaaaaaacoxcnzcnzcnzcnzcnzcoNcnzcnzcnzcoNcnzcnzcnzcnzcnzcoPcnzcnzcoNcnzcnKcnzcnzcnKcnKcBEcnzcnzcBGcBFcoCcoCcoCcoCcBHcBzcmQcBIcBJcyycBKcmMcBLcyHcmMcBMcmJcBNcufcBOcAHcAIcmJcwHcvMcvNcwIcwJcwKcwLcwMcwNcwOcvNcwPcwQcrGaaaaaaaaaaaaaaaaaacqvcwRcwScwTcwUcwVcwWcwXcwYcwZcxacvZcxbcxccxdcuWcqvcxecqvaaaaaacdOcofcogcohckXcsRcuZcxgcxhcxhcxicxjcxkcIicxmcxncdOaaaaaacrPaaaaafaaaaafaafaafaaackxaaaaafaaaaafaaaaafaaacrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacoxcnzcnzcnzcnzcnzcoQcnzcnzcnzcoQcnzcnzcnzcnzcnzcoPcnzcnzcBDcudcAKcAScAScAKcoFcAKcBucBtcBycAScBxcBvcBCcBBcBAcBzcmQcmPcmQcABcADcmMcmMcACcmMcAFcmJcAEcAEcAJcAHcAIcmJbPxcvMcvNcxKcxLcxMcxNcxOcxNcxPcvNcxQcxRcrGaaaaaaaaaaaaaaaaaacqvcxScxTcxUcxVcxWcxXcxYcxZcuTcyacuScybcuTcyccuVcqvcqvcqvaaaaaacdOcplcpmcplctbcpocppcrNcrNcyecyfcrNcygcomcomcomcdOaaaaaacrPaaactXctXctXctXctXaafckxaafctXctXctXctXctXaafcrPaaaaaaaaaaaaaaaaaaaaaaaacyhaaaaaaaaacyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaaaaaaaaacoxcnzcowcnPcnPcnRcovcnPcnRcnPcoucnRcnPcnPcnPcnPcnQcnPcnOcnNcnMcnKcnzcnzcnLcnGcnHcnIcnJcnycnzcnEcnFcmXcmXcnecnhcmQcmPcmScmRcmNcmMcmOcmMcmLcmKcmJcmJcmJcmJcmJcmJcmJbPxcvMcvNcyMcyNcxLcyOcxLcxNcyPcvNcyQcyRcrGaaaaaaaaaaaaaaaaaacqvcuVcySctFctFcyTcyUcyVcyWctMctDctNcyXctMctDcyYcqvaaaaaaaaaaaacdOcplcplcplckXcyZczacrNcrNcrNcyfcrNczbcrNczccrNczdaafaafcrPaafckVckSckSckSckSckyckxckwckvckvckvckvckUaafcrPaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaaaaaaaaacoxcnzcoNcnzcnzcnzcoQcnzcnzcnzcoQcnzcnzcnzcnzcnzcoPcnzcnHcnzcoOcnKcnzcnzcoHcoFcoGcoEcoCcoDcoCcoCcnFcoAcoBcoycnhcmQcmPcmQcmRcoMcoLcoKcoJcoIcmMcmRczIczJczJczKczLczMczNczOcvNcxNczPczQcxNczRczSczTcvNczUczVcrGaaaaaaaaaaaaaaaaaacqvczWcuMczXcuVczYczZcAactFcAbcAccsPcyXczWcAdcAecqvaaaaaaaaaaaackEcdOcAfcAgcAgcIgcAicAjcAkcAlcAmcAncAocApcAqcokcAraaaaaacrPaafcwjcwjcwjcwjcwjaaackxaafcwjcwjcwjcwjcwjaaacrPaaacyhaaaaaacyhaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaacyhaaaaaacyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaacoYcnzcoNcnzcoZcoScoXcoScoWcoScoXcoScoWcoScoScoScoRcoVcoRcoUcoTcoGcpscptcpucpvcpwcpxcoCcpjcIhcoCcoCcoCcoCcoCcpncpbcpacpbcmRcmRcmRcmRcmRcmRcmRcmRcALczJczJcAMcANcAObPxcAPcvNcAQcARcpycATcAUcAVcAWcvNcAXcAYcrGaaaaaaaaaaaaaaaaaacqvcuQcAZcAectFcBacBbcBcctFcBdcBecBfcBgcBhcBicBjcqvaafaafaaaaaaaaaaaabquaaacdOcBlcBmcBncBocBpcBmcBqcBrcBpcBmcBscdOaaaaaabZSaaaaafaaaaafaaaaafaaackxaaaaafaaaaafaafaafaafcrPaaacyhcyhcyhcyhaaacyhcyhcyhcyhcyhcyhcyhcyhcyhaaacyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabZSaaaaaaaaaaaaaamaaaaaaaaacpzcnzcoNcnzcnHcnGcoNcnzcnHcnGcoNcnzcnHcnGcnzcnzcnLcnzcnHcnGcpAcpQcpTcpNcpOcpVcpWcpUcoCcpDcpFcpBcpCcpLcpMcpHcpJcpMcqbcpMcqacqecqdcqccpZcpZcpYcpXcBVcBWcBWcBXcBYcAObPxcBZcvNcvNcCacCbcCccCbcCacCdcvNcrGcCecrGaaaaaaaaaaaaaaaaaacqvctFcCfcuVctFcCgcChcCictFcCjcCkcqycgvcCmcCncCocrHaaaaaaaaaaaaaaaaaacgwaafcdOcCqcluclUcomclsclpclqcomcloclVclWcdOaaaaaacrPaaactXctXctXctXctXaafckxaafctXctXctXctXctXaafcrPaaacyhcyhcyhcyhaaacyhcyhcyhcyhcyhcyhcyhcyhcyhaaacyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaafaafaafaafaamaafaafaafcpzcrgcrjcrhcricrbcracqZcqYcqXcqWcqVcqUcrbcnzcrgcrfcrecrdcqXcrccqPcqPcqPcqPcqPcqPcqPcqPcqRcjbcpncqScqIcmQcqQcmQcmQcmPcmQcmQcqfcmQcqIcqzcqKcqJcqMciCcCNcCOcCPcCQcAObPwcCRcCScCTcCacAGcAVcBwcCacCWaafcCXcCYcCXaaaaaaaaaaaaaaaaaacqvcCZctDcuQcDacDbcuQcDccDdcDeaafaaachxchFchEclXaaaaaaaaaaacaaaaaaaaaaaaaaacdOcDhcplcplcomcDicplcplcomcDicplcplcdOaafaafcrPaafckVckSckSckSckSckyckxckwckvckvckvckvckUaafcrPaaacyhcyhcyhcyhaaacyhcyhcyhcyhcyhcyhcyhcyhcyhaaacyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPcsbaaaaaaaaaaamaaaaaaaaacsgcsccsdcsecsfcsicshcsjcsfcsicshcsjcsfcsicsmcsmcsncsjcsfcsicskcqPaaacrocrpcrmcrncrkcrlcrUcrVcgYcgYcrScrTcrQcrRcrZcsacrRcrZcrQceXcrXcrWceXcpncpncAOcDNcDOcDPcDQcAObNUcDRcDScDTcCacCbcDUcCbcCacCWaafaaaaafaaaaaaaaaaaaaaaaaaaaacqvcCZcDVcDWcDXcDXcDWcsPcDYcqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacdOcDZcplcplcomcEacplcplcomcEacplcplcdOaaaaaacrPaafcwjcwjcwjcwjcwjaaackxaaacwjcwjcwjcwjcwjaaacrPaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPcClcqLcqLcqLcpEcpIcpIcpIcqLcpIcpPcpIcpGcpIcpPcpIcpGcpIcpPcpIcpGcpIcqLcpIcpRcpIcpGcpIcqNaafaaaceUcsvcexcswcsxchccrUchbcgYcsycsQcsTcgtcsUcspcsocsrcsqcgtcsscsucstceXaaaaafcAOcEBcECcEDaafaaabNUbPxbPxbSkcCaclZcEFclYcCacCWaafaafaaaaaaaaaaaaaaaaaaaaaaaacqvcEHcuXcEIcEJcEJcEIcuQcEKcqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacdOcplcplcplcomcELcplcplcomcELcplcplcdOaacaaacrPaaaaaaaafaafaafaaaaaacmTaafaaaaaaaafaafaaaaaacrPaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaafaafaaaaaaaaqaaaaaaaaaaafcfIcsVcsWcsXcfIcsVcsWcsXcfIcsVcsWcsYcfIaaacfIcsZcsWcsYcfIaaaaafaaaceUceyctcchdceyctactectfcgYctdcthcticgtctgctmctlctkctjcgtcttctoctnceXaaaaaacAOcFgcFhcFiaaaaaabNUbPxbPxbNUcCacmUcmUcmUcCacFkcmWaaaaaaaaaaaaaaaaaaaaaaaaaaacqvcFmcFncuQcuQcuQcuQcuQcFocqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaackEcdOcdOcdOcdOcdOcdOcdOcdOcmYcmYcmYckEaaaaaacrPcrPcrPcrPcrPaaaaaaaaacmZaaaaaaaaacrPcrPcrPbZScrPaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaaaaafaafaaaaamaaaaaaaaaaafcfIcfJcfGcfHcfIcgicfRcfQcfIcfPcfOcfNcfIaafcfIcfMcfLcfKcfIaaaaafaaaceUceWcexceyceyceTcetceucevcewcepceqcercescfDcfCcfFcfEcfjceYcfBcfuceXaafaaacFJcDNcFKcAOcFLaaabNUcFMbPxcFNcFOaafaafaafaaacBkaafaafaaaaaaaaaaaaaaaaaaaaaaaacrHcqvcqvcFPcFQcEIcEIcEIcFRcFPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqpbqpbqpaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaafcfTaafcrPaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaamaaaaaaaafaafcfIchkchlchkcfIchichjchicfIchgchhchgcfIaaacfIchgchgchfcfIaaaaafaaaceUchecexchdceychcchachbcgYcgZcgWcgXcgtcgRcgBcgCcgBcgucgtcgrcgpcgoceXaaLcGgcGgcGgcGgcGgcGgcGgbNUciEciDcGjaafaaaaaaaafcGkcDfaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacGlcEJcEJcEJcEJcEJcGlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaaaaafaaacrPaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaafaamaaaaafaafaaacfIchkchmchkcfIchichnchicfIchgchochgcfIaafcfIchgchgchgcfIaafaafaafcidciecifcigcihcikchpchbcgYcAhchGchHcgtciccimcilciocincgtcipcirciqceXaaacGgcGgcGgcGgcGgcGgcGgcGFcGGcGHbNUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacqvcCmcqxcqxcqxcCocqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPcrPcrPcrPcrPaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbZSaaaaaacfIcfIcfIcfIcfIcfIcfIcfIcfIcfIcfIcfIcfIaaaciscfIcfIcfIcfIaaaaaaaaaaaacjbcjbcjbcjbcjbciycitcitcitcitcjacitciWcivciwcivciucitcitcixcitcitcitcGgcGgcGgcGgcGgcGgcGgaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaacyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafcrPaaaaaaaafaafaaaaafaafaaaaaaaafaafaafaaaaaaaaaaaaaaaaaaaafaaacGQcGRcGRcGRcGScjycjccjdcjecjicjFcjGcjHcjIcjzcjAcIfcjEcjNcjMcjPcjOcjKcjJcjJcjLcjQcitcGgcGgcGgcGgcGgcGgcGgaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafcHncjVcHpaaacHncjVcHpaaacHncjVcHpaafaafaaaaafaafaafaafaafcHqcGRcGRcGRcGScjycjXcjYcjTcjUckzckAcksckuckickrcjZckecjJcjRcjJcjJcjJcjJcjJcjJcjScitcGgcGgcGgcGgcGgcGgcGgaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaacHncjWcHpaaacHncjWcHpaaacHncjWcHpaafaafaaaaafaaaaaacHKaafcGQcGRcGRcGRcGScjycjXckTckWckYckZckAclaclccldclecjJcjJclhclgcljcjJcjJcjJcjJcjJclkcitcIbaafaaIaafaafaafaafaafaafaafaafaafckBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafcHncjWcHpaaacHncjWcHpaafcHncjWcHpaafaaaaaaaafaafcIcaaaaafcHqcGRcGRcGRcGScjycmycmBcmwcmxcmEcmFcmCcmDcmHcmIcmGcmGcmsclvcltclnclnclnclnclncmvcmucmtclmclmclmclmclmclmclmclmclmcllaaackBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaacHncjWcHpaafcHncjWcHpaaacHncjWcHpaaaaaaaaaaaaaafaafaaaaafaaaaaaaaaaaaaafcHYcIecIdcIacHZcHUcjGckecjJcHXcHWcHScHVcHPcHQcHNcHOcHScHTcHRcjJcHLcHMcmtcllcHJcllcHJcllcHJcllcHJcllcHdaafckBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaamaaIaafaaacHncjWcHpaafcHncjWcHpaaacHncjWcHpaafaaaaaaaaaaaaaafaafcIJcIKcIKcIKcIKcILcILcILcILcILcIMcILcitcjJcjJcHDcitcitcitcHFcHGcHHcitcitcitcHIcjJcHEcitaaacHdcHdcHdcHdcHdcHdcHdcHdcHdcHdaafckBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaafaaaaafaafczCaafaafaafczCaafaaaaafczCaafaaaaaaaaaaaaaaacIUcIVcIWcIXcIYcHCcJacJbcJcciFcJecJfcJgcJecitcHBcjJcHrcHkcHmcHycHzcHAcHxcHycHjcHkcHtcjJcHwcitaaacHdcHdcHdcHdcHdcHdcHdcHdcHdcHdaaaaanaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafcydcxzcxycxxcxxcxxcxxcxxcxxcxxcxxcxxcxxcxxczicxzcxzcxzcypcJzcJAcJBcJCcJDcJEcJFcJGcJHcJHcJHcJIcJJcJKcitcjJcjJcHrcHkcHmcHscHgcHucHvcHscHjcHkcHtcjJcjJcitaaacHdcHdcHdcHdcHdcHdcHdcHdcHdcHdaafckBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYaaactYctYctYctYctYaaactYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaafaaaaafaafcxfaafaaaaafcxfaafaaaaafcxfaafaaaaaaaaaaaaaaacIUcIVcJRcJScJTcJUcIKcJVcJWcJecJecJXcJXcJYcitcHlcjJcHocHkcHmcHfcHgcHhcHecHfcHjcHkcHicjJcjJcitaaacHdcHdcHdcHdcHdcHdcHdcHdcHdcHdaafaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYaaactYctYctYctYctYaaactYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaamaaIaafaafcHncwrcHpaaacHncwrcHpaaacHncwrcHpaafaaaaaaaaaaaaaafaafcKfcIKcIKcIKcIKcKgcKhcKicKicKjcKgcKgcitcitcjGcitcitcitcitcitcHccitcitcitcitcitcjGcitcitaafcHbcHacHbcHacHbcHacHbcHacHbcHaaaaaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbGlbGmbGnbdPbdPbGobwNbwNbwNbGpbdPbdPbGqbGrbGsbdPbGtbGtbGtbGubGtbGvbGwbGxbGybGzbtCbvtbAbbGAbGBbtCbtGbtGbtGbtGbtGbGCbtGbtGbtGbtGbtGbtGbshbtGbtGbtGbtGbtGbtGbtGbtGaJiaJiaJiaJiaJiaJibxwaRqaRpbVjbGEbFkbxubGGbxUbGIbGJbGKbGLbGMbGNbCjbGObGPbGQbGRbGSbGTbGUbGVbGWbGXbGYbGZbHabHbbHcbHdbHebHfbCpbUSbUfbwwbwwbwwbwwbwwbHibwwbwwbwwbzAbHjbzAbzAbHkbBhbCubCvbFTbHlbHmbHnbHobHpbHqbGabGbbGcbHraaaaaabCJbHsbHtbCJbBybCJbCJbBybCJaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabHuaafaaaaaaaaaaaabGtbHvbHwbHxbHybGvbHzbHAbHBbHCbtCbvtbAbbAcbAabHDbHEbHFbHGbHHbHIbHJbHKbHLbHMbHLbHNbHObqybHQbHRbAabHSbAabHTbAabzZbHUbHVbHWbHXbHYbHZbxwaRqbDsaJlbDtbALbDtbCAbCAbxCbIbbIcbIdbIebIfbIgbIhbIibIjbIkbwmbIlbImbInbDJbCWbIobIpbIqbIrbFDbIsbItbIubCpbIvbIwbIxbIybUdbIAbIBbICbIDbUcbIFbIGbIHbIIbIJbzAbIKbCubCvbILbIMbINbIObIPbIQbIRbGabGbbISbEnbEnbEnbCJbCJbCJbCJaaaaaaaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaaaaaaaaaaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabGtbITbIUbIVbIWbIXbIYbIZbJabJbbtCbvtbJcbJdbJebJebJfbJgbJhbJibJjbJgbJfbJebJebJebJkbJlbqsbJnbJobJebJebJebJpbJgbJhbJqbJrbJsbJtbJubJtbJvbJwbvUaJlbDubDebDCbGFbElbDTbDzbEmbFibDVbxFbJDbCFbDSbDEbJGbwkbJHbJIbJJbDJbJKbJLbJMbJNbJObFDbJPbItbJObCpbJQbJRbIxbJSbJTbJUbJVbJWbJXbJYbIFbJZbKabKbbKbbzAbKcbKdbKebKfbKgbKhbKibKjbKjbKkbGabGbbKlbEnbKmbKobKnbEnaafaafaafaafaafaafaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbKpbKqbKqbKrbKsbKsbKtbKtbKtbKtbKuaafaafaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnaaaaaaaaaaaaaaaaaaaaaaaabKvbKwbKxbKwbKyaaaaaaaaabGtbGtbKzbKAbIVbKAbKBbKCbHBbKDbKEbtCbKFbvtbKGbKHbAabKIbAabzZbHHbKJbAabKKbKLbKMbKNbKObAcbAabKPbKQbHLbKRbHLbHLbKSbKTbKUbKVbKWbKXbcLbKYaRpaRpaRpaJlbFHbGFbGFbFlbHPbGHbJxbJmbFIbLgbLhbLibLjbHgbDEbIkbIabIzbHhbDJbDJbLobLobLobCpbLpbLqbLrbLsbLtbCpbLubLvbIxbLwbFGbLybLzbLAbLBbLCbIFbLDbLEbKbbKbbzAbRsbLFbCvbwwbLGbLHbLIbLJbLKbLLbGabLMbLNbLObLObLObLPbGdaaaaaaaaaaaaaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafbLQbLRbLSbLRbKsbKtbKtbLTbLUbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabLVbLWbLXbLYbLVbLZbMabMbbGtbMcbMdbMebMfbMgbMhbMibMjbMjbMkbtCbtCbtCbMlbtCbtCbtCbtCbtCbtCbtCbtCbtCbtCbtCbtCbtCbMmbMnbMobtCbtCbtCbtCbtCbMpbtCaJlaJlaJlaJlbMqaJlaKSaMpbMraJlbJCbJybJybGFbKZbxCbDzbLabxCbMybMzbMAbMBbwkbMCbMDbMEbMFbMGbMHbMIbMJbMKbMLbItbJObFDbFDbMMbJObCpbMNbMObMObMObMObMObMObMObMObMObMObMPbMQbMRbMRbzAbMSbMTbMUbwwbMVbMVbMVbMWbMXbMYbMVbMVbMVbMVbMVbMZbNabNbaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymbNdbLRbLRbNebKtbKtbLTbLTbNfbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabKxbNgbNhbNgbKxbNibNjbNkbNlbNmbNnbKAbNobNpbGvbNqbNrbNsbNtbGvbNubNvbNwbNxaaaaaaaaaaaabNybNzbNAbNBbNDbNCbNEbNFbNGbNHbNIbNFbNJbNKbNLbNMbNNbNObNPbNQbNRbNSbNTbNUbNUbNUbNUbDtbDtbLdbMtbMsbDtbxCbNZbOabObbMzbOcbOdbOebOfbOgbOhbOibOjbOkbOlbOmbOnbMKbOobFDbFDbOpbJObJObOobCpbMNbMObOqbOrbOsbOtbOubOvbOwbOxbMObOybOzbOAbOAbzAbOBbOCbCvbzIbODbOEbOFbOGbOHbOIbOJbOKbOLbOMbMVbEnbONbEnbOObOObOObOObOOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabOPbKtbNdbKtbKtbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabLVbNgbNgbNgbOQbORbKAbOSbOTbOUbKAbKAbOVbOWbGvbGvbGvbGvbGvbGvbOXbOYbOZbPaaaabPbbPcbPcbPdbPebPfbPgbPhbPfbPibNFbPjbPkbPlbNFbPmbPnbPobPpbPqbPrbPsbPtbPtbNSbPubPvbPwbPxbPybDtbMubLbbPzbGFbMwbMvbDzbPCbxCbPDbPEbPFbPGbwkbPHbPIbwkbPJbPKbPLbPMbPNbMKbCpbCpbCpbCpbCpbCpbCpbCpbPObMObPPbQYbPRbOsbOsbOsbOsbPSbMObPTbLEbPUbPUbzAbBhbPVbPWbPXbPYbPYbPYbPYbPZbQabQabQbbQcbQdbMVbQebQfbQgbOObQhbMxbQjbQkaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbKsbKtbQlbQmbQmbLTbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabKxbNhbNhbNhbKxbQnbQobQpbQqbQrbKAbKAbQsbQtbQubQvbQvbQvbQvbQvbQvbQwbQxbQyaaabQzbQAbQBbQCbQDbPfbQEbQGbQFbQHbNFbQIbQJbQKbNFbQLbQMbQNbQObQPbQQbQRbPtbQSbPxbQTbNUbPxbPxbQUbNVbNXbGFbQVbGFbPAbNYbQXbLebRCbQZbRabRbbRcbRGbDEbIkbSpbPJbPLbPLbPMbRfbMKbRgbRhbPBbRjbRkbRlbQibRnbPObMObOsbOsbRobOsbOsbOsbOsbRpbMObRqbLEbRrbRrbzAbRsbRtbRubRvbRwbRxbRybRybRzbRAbRybRybRybRBbRebRDbREbRFbRdbRHbRIbRJbRKaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabKtbKtbRLbLTbLTbLTbLTbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaabLVbRMbRNbRObLVbRPbMabMbbGtbGtbRQbRQbRQbGtbGtbNxbRRbRRbRSbRSbRSbRSbNwbQyaaabRTbRUbRVbRWbRXbRYbRZbSabSbbSbbScbSdbSebSfbNFbPtbPtbPtbPtbPtbSgbPtbPtbShbSibSjbNUbPxbSkbSlbDtbRibLbbQVbSmbSnbRmbSobJAbJBbSqbSrbSsbStbJzbFsbSvbIEbSxbSybSzbSAbSBbMKbSCbSDbSEbRjbSFbSGbSHbRnbPObMObMObMObRobOsbOsbOsbMObMObMObSIbSJbRrbRrbzAbSKbSLbCvbzIbSMbSNbSObSPbSQbSRbSSbQabSTbSUbMVbSVbQfbSWbOObSXbSYbSZbTaaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbKtbLTbLTbLTbLTbLTbLTbTbbLTbTcbLTbLTbLTbLTbLTbKtbKtaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabTdbKwbTebKwbTfbTgaafaaaaaabGtbThbTibTjbGtaaabNxbTkbTlbTmbTnbTnbTnbTobQyaaabQzbTpbTqbTrbTsbPfbTtbTvbTubTwbNFbTxbTybTzbTAbTBbTBbTBbTCbTCbTDbTEbULbPxbPxbTFbNUbNUbNUbNUbDtbDtbLfbLkbLcbDtbTJbTKbTLbJFbJEbTJbTObLlbLmbTRbTSbTJbMKbMKbMKbMKbMKbMKbTTbTUbTVbRjbTWbTXbTYbRnbPObMObTZbQWbPQbLxbLnbNWbNcbTZbUgbUhbUibIIbIJbzAbIKbSLbUjbwwbMVbMVbMVbMVbMVbUkbMVbUlbQabUmbMVbUnbUobUnbOObUpbUqbUrbOOaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabKtbUsbUsbUsbUsbUsbUsbUtbLTbUubUsbTcbLTbLTbLTbLTbKtaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbUvbNxbNxbNxbNxbRSbUwbNwbUxaaabUybPcbPcbUzbUAbPfbPfbUBbPfbUCbNFbUDbTMbTNbNFbTPbTPbTPbTPbTPbTPbTPbTPbUHbUIbUJbUKbUKbUMbNUbDtbUNbUebUFbUQbURbwabUTbUUbUVbUWbUXbUTbUYbUZbVabVbbVcbVdbVebVfbVgbVhbVibUGbVkbUObRjbUPbVmbUPbRnbPObMObVnbWcbVpbVqbVrbVsbVtbVubUgbzAbVvbzAbzAbVwbCxbSLbCxbVxaafbnxbVzbrBbVBbVCbVBbVDbVEbVFbMVbVGbVHbVIbOObVJbVKbVKbwhaaLaaLaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwibLRbLRbLRbLRbLRbLRbLRbVNbLUbLTbLTbLTbLTbVObLUbKuaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabVPbVQbVQbVRbVSbNxbVTbRSbVUbNxaaaaaaaaaaaabNybVVbVWbVXbVZbVYbPfbNFbWabWbbNIbNFbTPbWdbWfbWebWhbWgbWibTPcaqcaqcaqcaqcaqbTFbWjbWkbWlbWmbWnbWobWpbxgbWrbWsbWtbWubWtbWvbWtbWwbWxbWybWzbWAbWBbWAbWCbWDbWEbWFbWGbWHbWIbWJbWKbWLbWMbxVbMObxWbzmbzlbWSbWTbWUbWSbWSbWVbWWbWXbWYbWZbCxbCxbSLbCxbFTaafbnxbXabXbbXcbXdbXebXfbXgbXhbMVbXibVHbXjbOObOObOObOObOOaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabKtbQmbQmbQmbQmbQmbQmbXkbLTbQlbQmbXlbLTbLTbLTbLTbKtaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXmbXnbXobXpbRSbXqbXrbRSbXsbNxaaKaaaaaaaaabNybNybNybNybNybNybNybNFbUDbUEbXtbNFbTPbXubXwbXvbXvbXwbXxbTPbXzbXybXybXAcaqbXBbDtbDtbXCbXDbXEbXFbXGblRbXIbXJbXKbXLbXMbXNbXObXPbXQbXRbXSbXTbXUbznbzpbzobAPbzqbARbAQbATbASbAVbAUbYfbYgbIwbYhbVobCqbWObWNbWPbYmbYnbYobYpbYqbYrbYsbYtbYrbYubYvbILaafbnxbXablSbVBbYxbVBbYebYzbYAbMVbXjbVHbYBbYCbUnaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbKtbLTbLTbLTbLTbLTbLTbTbbLTbXlbLTbLTbLTbLTbLTbKtbKtaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabYDbVQbVQbVRbYEbYFbYGbNxbYHbNxbYIbYJbYKbYIbYIbYLbYMbYNbYObYPbYQbYybYSbYRbYUbYTbYVbXwbYXbYWbYZbYYbZbbZabZdbZcbZfbZecaqbZhbNSbZibZjbZkbZlbZlbZmbnEbZobZpbTJbTJbZqbZrbTJbTJbZsbZgbZTbVibZvbWQbZxbZybZzbZybZAbZUbZCbZUbZAbWRbYfbMNbIwbZEbXWbXVbZVbZIbZJbZKbMObMObwwbwwbwwbwwbwwboIbnFbofbwwbMVbMVbMVbMVbMVbUkbMVbMVbMVbMVbMVbZObZPbZQbZRbUnaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabKtbKtbRLbLTbLTbLTbLTbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaambZSaamaamaamaamaamaaaaaaaaaaaaaaaaaaaafaafaaabZWbZXbZXbZXcaabZXbZXcahcagbYIbZYbZZbYIcaicabcaccadcaecafcakcajcamcalcaocancapbXwbYXcaJcbibYYcbjbTPcaqcaqcaqcaqcaqcarbNSbDtcascatcaucavcawcaxcaycazbTJcaAcaBcaCcaDcaEcaFcaGcaHcaIbZxbWQcbkbZycaKcaLbZAcaMcaNcaObZAbXXbYfbPObIwbXYbYabXZbXYbXYbIwbIwbIwcaRcaScaTcaUcaVbwwbwwcaWbwwbwwcaXcaYcaZcbabXjcbbbXjbXjcbccbdcbecbfcbgcbhbUnbUnbUnaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbKsbKtbUubUsbUsbLTbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafcblcbncbmcbpcbocbycbqcbAcbzbYIcbrcbsbYIbYIcbtcbucbvcbwcbxcbCcbBbYSbYRbYUcbDcbEbXwbXwcbKcbQbXwccAbTPcbFcbGcaqcbHcaqbTFcbIcbIcbIcbIcbIcbIcbIbTJcbJccBbTJcbLcbMcbNcbOcaEcbPccCcbRcaIbZxbWQbZxbZycbScbTbZAcbUcbVcbWbZAbXXbYfbYbbYdbYcbYiccDbYjbYcchBbYkbYlcktbZDbZwbZFcktccrbZGbZHccqccrccscctcctcctcctccucctcctcctcctcctccvccwccxccycczbUnbUnbUnbUnaaaaafaaaaaaaaaaahaahaahaafaaaaaaaafaaaaaaaafaaaaaabOPbKtbNdbKtbKtbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafccEccEcbmccPccFcbyccQccSccRbYIccGccHccIccJccKccLccMccNccOccUccTccWccVccYccXcdaccZcdBcdbcelcekcencemcdccddaJEcdfcaqbTFcbIcdgcdhcdicdjcdkcdlcdmcdncdocdpcdqcdrcdscdtcaEcducdvcdwcaIbZxbWQbZxbZycdxcdybZAcdzcdAceobZAcaPbYfbYfcaQbYccbYcbXcbZbYcchBccacjfcdLcdLbyFbBucdLcdOcdPcdQcdRcdOcdSbBpbyebydcdScdScdScdSbAebyebydcdScdSbXjcdXcdYcdZceacebcecbxTbycbycbycbycbycbycbycbycbycbycbycbycbycbycbycbyccefcegcegcehbKtbKtbLTbLTceibLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacejcejcejcejcejcejcejceqcepbYIbYIbYIbYIbYIbYJcescercercerceucetbYSbYRbYUcevbYVcewceycexceTceSceUbTPcezaJFboqaJFcaqbTFcbIceDceEceEceEceFceGbTJceHceIbTJcbLcbNceJcbOcaEceKceLceMcaIbZxbWQceNbZyceOcePbZAbZAbZAbZAbZAccbceRbYfcaQbYcccdcccbYcbYcchBccecjfcdLceZcfacfbcfccdOcfdcfecffcdOcfgcfhcfhcfhcficeWcfkcflcfmcfncfocfpcdScfqcfrcfsbUnbUnbUnbUnaaaaafaaaaaaaaaaahaahaahaafaaaaaaaafaaaaaaaafaafaafcftceXcfvbNebKsbKtbKtbLTbLUbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaafaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafcejcfwcfxcfycfzcfAcejcfjceYcfBcfucfDcfCcfEcfEcfGcfFcfFcfHcfIcbBbYSbYRbYUcfJcapcfKcfMcfLcfOcfNcfPbTPaJFaJFcaqceBcaqbTFcbIcfVcfWcfWcfWcfXcbIcfYcfZcgacfYcgbcgccgdcgecaEcgfceLcggcaIcghccfcgjbZycgkcglbZycgmbLvbVicgnccgcchbYfccjcciccicckcclcclcclcclccmcdLcgxcgycgycgzcgActsctyctscgDcgEcgFcgGcgGcgHcgIcgIcgJcgKcgLcgLcgMcdScgNcgOcgPcgNaaaaaaaaaaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafcgQbKqbKqbKrbKsbKsbKtbKtbKtbKtbKuaafaafaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaafaafaafcfQcfQcfQcfQcfQcfQcfQcfQcfQcfQcfQcfQcfQaaaaaacgScgTcgTcgTcgUcgVcejcfUcfRcgocgicgrcgpcgucgtcgCcgBcgWcgRcgYcgXchacgZchcchbbTPbTPbTPbTPbTPbTPbTPbTPbEZbGDcaqbDfcaqbTFcbIcbIctpctqctrcbIcbIchrchschtcfYcaEcaEcaEcaEcaEcaIchuchvcaIchwccnchwbZychychzbZychAchBbVichCbVichDbYfccobYfbYfccpcdCcdCcdCcdDbYfcdLchIchJchJchKchLchMchNchOchPchQchRchSchTchUchVchWcgIcgIcgIchXchYcdSchZciachdcgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaaaaaaaaaaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacfQchechfchecfQchgchhchgcfQchichjchicfQaaaaaaciicgTcgTcgUcgUcijcejchlchkchnchmchpchochGchqcicchHchHcidchHcbBbYSciebYUcifcihcigcilcikcilcimciocincinciAciAciAciAbTFciGciHciIciIciJciKciLciMciXciOciPciQciRciSciSciTciUcaIcaIcaIciVcdEckqbZybZybZybZychBchBbViciYbViciZbYfccobYfaaaaaaaaaaaaaaaaaaaaacdLcjgcjhcjhcipcjjcjkcjlcjmcjncjocjpcjqcgIcgIcjrcjscgIcjtcgIchXcjucdScjvcjwcjxcgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacfQcheciqchecfQchgcirchgcfQchicischicfQaaaaaaciicgTcgUcgUcgUcjBcjCciucitchncivcixciwciWciycjbcjacjdcjccjecbBbYScjichccjycjAcjzcjDcjDcjDcjEcjGcjFcjHceCcdeceAciAbTFciGckaciIckbckcckdcubckfckgckhctQckjckkcklciSckmciUcknckockpclicdFcdHcdGcdIcdIcdJcdIcdKbVibVibVibVibYfccobYfaaaaaaaaaaaaaaaaaaaaacdLckCckDckDckDckEcdOckFcdOckGckHckIckJckJckKckLckLckMckJckJckNckOcdSckPckQckRcgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacfQcjIcjKcjJcfQcjLcjNcjMcfQcjOcjQcjPcfQaaaaafciiclbcgTcgUcgUcgUcejcjScjRchnchncjTchnchnchnchncjUchHcjXcjYcbBckecjZckrckickucksckzckzckzckAckBckBckTciAckWcgqclwclxciGclyciIclzclAclBclCclDclEclFclGclHclIclJciSclKciUclLclMclNclOclPclQclNclRclSclTbYfceQcdIcdIcdIcdIcdIckYbYfaaaaaaaaaaaaaaaaaaaaacdLcmacmbcmccmdcdOcmecmfcmgcdScmhcmicmicmicmjcmkcmlcmmcmicmicmicmncdScmocmpcmqcmraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaafaafcfQckZclcclacfQcldclcclecfQcldclcclecfQaaaaafcmzcgTcgTcgUcgUcmAcejclhclgclkcljclmcllclnclnclvcltclncmscmtcbBcmvcmucmxcmwcihcmycmycmBckBcmCcmEcmDcmDciAcibceVcmFcqgciGcnbciIcnccndcmGciGcnfciNcmHcfYcmIcnicnjciScnkciUclLclMclNcnlcnmcnlclNaaaaaaaaabYfbYfbYfcnnclSclSclTbYfbYfaaaaaaaaaaaacdOcdOcdOcdOcdOcdOcdOcdOcdOcnocnpcnqcdScdScnrcnscntcdScdScdScdScnucnscntcdScdScnvcnwcnvaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabZSaafaafaafaaaaafcnxaafcnxaafcKBaafcKAaafcKBaafcKAaafaafaaacejcnAcnBcgUcgUcnCcnDcmKcmJcmMcmLcmOcmNcmNcmPcmNcmQcmScmRcmQcmXcngcnecnycnhcnzcnzcnzcnzcnFcnEcnGcnGcnGcgscgscgscgscnSciGcnTcnUcnccnVcnWciGcnfciNcnXciUcnYcnZcnjcoacobciUclLclMclNcoccodcoeclNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaacdOcofcogcohcwlcojcokcolcomconcoocopcoqcwkaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaafcoscotcosaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaafcnHcnJcnIcnKcnIcnJcnLcnKcnMcnNcnLcnPcnOcnRcnQcmMcmMcmMcmMcmMcmMcmMcmMcovcoucoxcowcoAcoycoCcoBcoDcmQcoFcoEcoGcmQcoIcoHcoJcnzcoLcoKcoNcoMcoPcoOcoRcoQcoQcoScoTcoTcoRbTFciGciGcpccpdciGciGciGcpeciNcpfciUciUciUcpgcphciUciUclLcpiclNcvmcvncvmclNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaafaafcdOcplcpmcplcvlcpocppcpqcomcomcprcomcdOcdOaaaaaaaaaaafaafaaaaacaaaaaaaaaaaaaafaaacvtaaaaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaaaaaaaaaaafcoUcoWcoVcoYcoXcoWcoZcpbcpacpkcpjcpscpncpucptcpwcpvcpycpxcpAcpzcpCcpBcpFcpDcpJcpHcpMcpLcpOcpNcpTcpQcpVcpUcpXcpWcoIcpYcpZcnzcoPcoPcoPcoPcoPcqacoRcqbcqbcqbcoTcoTcoRbTFcrYciGcqhcqicqjcqkciGcqlciNcqmciUcqncqocqpcqqciUcqrclLcpiclNcqscqtcquclNaaaaaaaaaaaaaaaaaacqvcqwcqxcqycqvaafaaaaaaaaaaaacdOcplcplcplcoicqAcqBcqCcqDcqEcqFcqGcqHcdOaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaafaaacmZaaaaafaafaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaafcqccptcqdcqfcqecptcqzcptcqIcqJcqzcptcqIcqJcptcptcptcptcptcqKcptcptcptcpMcqMcpHcqPcqzcpLcqRcqQcqUcqScqWcqVcqYcqXcoIcpYcqZcnzcracoPcoPcrbcoPcrccoRcrdcrfcrecrfcrgcoRbTFcrqciGcrrcrscrtcrucrvcrwcrxcrycrzcrAcrBcrCcrDciUcrEcrFcrGcrHcqvcrIcqvcrHaaaaaaaafaaaaaaaaacqvcrJcrKcrLcqvaafaafaaaaaaaaacdOcomcomcomcomcrMcppcrNcrNcrNcnpcrNcrOcdOaaaaaaaaaaaaaaacrPcrPcrPbZSaafaafaafaafcnaaafaafaafaafaafaaqcrPcrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaafaafaafcoUcptcqPcptcqPcptcqzcptcrhcrjcricrjcrkcrjcrjcrmcrlcptcptcrocrncrncrncrQcrpcrRcrRcrScpLcrUcrTcrVcmQcrXcrWcrZcmQcsbcsacsdcsccsfcsecshcsgcoPcsicoRcsjcrfcskcrfcsmcoRbTFcizciGcszcsAcsBcsCciGcfYcsDcfYciUcsEcsFcsGcsHciUcsIcrGcrGcqvcsJcsKcsLcqvcqvcqvcsMcqvcqvcqvcqvcsNcsOcsPcqvcqvcqvcrHaaaaaacdOcofcogcohcslcsRcqBcrNcrNcrNcnpcrNcsScdOaaaaaaaaaaaaaaacrPaaaaafaaaaafaaaaaaaaackxaaaaafaafaaaaaaaaaaaacrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaafaaaaaacoUcptcqPcptcsncspcsocsrcsqcsscricrjcstcrjcrjcrmcsucptcptcsvcqfcsxcswcswcsycqPcqPcsTcsQcsVcsUcmNcmQcsWcmQcmQcmQcsYcsXcsdcsZctcctactectdcoPctfcoRctgcrfcskcrfcthcoRctvctwciGciGctxciGciGciGciBctzctAciUciUciUctBciUciUcsIcrGaaacqvctCctDctEctFctGctHctIctJctKctLcqvctMctDctNcqvctOctPcqvaafaafcdOcplcplcplcorcpoctRctSctTctUctVcrNctWcdOcdOcdOcdOaaaaaacrPaaactXctXctXctXctXaafckxaafctXctXctXctXctXaaacrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacoUcptcsncspcspcspcsocspcspcspcsocspcspcspcspcspcticspcspcsocspctjcspcspcspctlctkctmcoWcptctncttctoctZctucuccuactucudcufcuecuhcugcugcuicugcujculcukcuncumcuocuocoRcuCcuDcuEcuFcuFcuGcuHcuIcuJcuJcuJcuJcuJcuJcuJcuJcuKcrFcrGaaactFcuLcuMcuNctFcuOcuPcuQcuQcuRcuQcuScuTcuUcuVcuWcuXcuQcqvaaaaaacdOcplcplcplcslcuYcuZcvacvbcvccvdcrNcrNcvecvfcvgcdOaafaafcrPaafckVckSckSckSckSckyckxckwckvckvckvckvckUaafcrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacoUcptcptcptcptcptcqzcptcptcptcqzcptcptcptcptcptcqIcptcptcqzcptcupcptcptcuqcuscurcuucutcuvcutcuxcuwcuzcuycuAcuwcuwcuBcvhcnFcvicoPcvkcvjcoPcoPcvocrfcrfcvpcuocuocoRbPxcAscvNcvNcvNcvNcvOcvNcvNcvNcvNclMcvPcrGcrGcrGcrGcrGcrGaaactFctFcvQctFctFcvRcvScvTcvUcvVcvWcvVcvXcvYcvZcwacwbcwccqvaaaaaacdOcomcomcomcomcwdcppcvacwecwfcwgcrNcrNcwhcrNcwicdOaaaaaacrPaafcwjcwjcwjcwjcwjaaackxaaacwjcwjcwjcwjcwjaafcrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaabZSaaaaaaaaaaaacoUcptcptcptcptcptcqzcptcptcptcqzcptcptcptcptcptcqIcptcptcqzcptcvqcptcptcvqcvqcvrcptcptcvucvscvvcvvcvvcvvcvxcvwcoIcvycvzcsccvAcoPcvBcvjcoPcvCcoRcvDcrfcvEcvGcvFcoRcwHcvMcvNcwIcwJcwKcwLcwMcwNcwOcvNcwPcwQcrGaaaaaaaaaaaaaaaaaacqvcwRcwScwTcwUcwVcwWcwXcwYcwZcxacvZcxbcxccxdcuWcqvcxecqvaaaaaacdOcofcogcohckXcsRcuZcxgcxhcxhcxicxjcxkcvHcxmcxncdOaaaaaacrPaaaaafaaaaafaafaafaaackxaaaaafaaaaafaaaaafaaacrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacoUcptcptcptcptcptcvIcptcptcptcvIcptcptcptcptcptcqIcptcptcvJcqfcvLcvKcvKcvLcwmcvLcwpcwocwqcvKcwtcwscwvcwucwwcvwcoIcwxcoIcwycwzcoPcoPcwAcoPcwBcoRcwCcwCcwDcvGcvFcoRbPxcvMcvNcxKcxLcxMcxNcxOcxNcxPcvNcxQcxRcrGaaaaaaaaaaaaaaaaaacqvcxScxTcxUcxVcxWcxXcxYcxZcuTcyacuScybcuTcyccuVcqvcqvcqvaaaaaacdOcplcpmcplctbcpocppcrNcrNcyecyfcrNcygcomcomcomcdOaaaaaacrPaaactXctXctXctXctXaafckxaafctXctXctXctXctXaafcrPaaaaaaaaaaaaaaaaaaaaaaaacyhaaaaaaaaacyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaaaaaaaaacoUcptcrocrncrncwFcwEcrncwFcrncwGcwFcrncrncrncrncxlcrncxocxqcxpcvqcptcptcxrcxtcxscxvcxucxwcptcxBcxAcxCcxCcxEcxDcoIcwxcxFcnzcxGcoPcxHcoPcxJcxIcoRcoRcoRcoRcoRcoRcoRbPxcvMcvNcyMcyNcxLcyOcxLcxNcyPcvNcyQcyRcrGaaaaaaaaaaaaaaaaaacqvcuVcySctFctFcyTcyUcyVcyWctMctDctNcyXctMctDcyYcqvaaaaaaaaaaaacdOcplcplcplckXcyZczacrNcrNcrNcyfcrNczbcrNczccrNczdaafaafcrPaafckVckSckSckSckSckyckxckwckvckvckvckvckUaafcrPaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaaaaaaaaacoUcptcqzcptcptcptcvIcptcptcptcvIcptcptcptcptcptcqIcptcxscptcyicvqcptcptcyjcwmcykcylcvvcymcvvcvvcxAcyocyncyqcxDcoIcwxcoIcnzcyscyrcyucytcyvcoPcnzczIczJczJczKczLczMczNczOcvNcxNczPczQcxNczRczSczTcvNczUczVcrGaaaaaaaaaaaaaaaaaacqvczWcuMczXcuVczYczZcAactFcAbcAccsPcyXczWcAdcAecqvaaaaaaaaaaaackEcdOcAfcAgcAgcywcAicAjcAkcAlcAmcAncAocApcAqcokcAraaaaaacrPaafcwjcwjcwjcwjcwjaaackxaafcwjcwjcwjcwjcwjaaacrPaaacyhaaaaaacyhaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaacyhaaaaaacyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaacyxcptcqzcptcyycrjcricrjcyzcrjcricrjcyzcrjcrjcrjcyAcyBcyAcrmcyCcykcyDcyFcyEcyHcyGcyIcvvcyKcyJcvvcvvcvvcvvcvvcyLcngczecngcnzcnzcnzcnzcnzcnzcnzcnzcALczJczJcAMcANcAObPxcAPcvNcAQcARczfcATcAUcAVcAWcvNcAXcAYcrGaaaaaaaaaaaaaaaaaacqvcuQcAZcAectFcBacBbcBcctFcBdcBecBfcBgcBhcBicBjcqvaafaafaaaaaaaaaaaabquaaacdOcBlcBmcBncBocBpcBmcBqcBrcBpcBmcBscdOaaaaaabZSaaaaafaaaaafaaaaafaaackxaaaaafaaaaafaafaafaafcrPaaacyhcyhcyhcyhaaacyhcyhcyhcyhcyhcyhcyhcyhcyhaaacyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabZSaaaaaaaaaaaaaamaaaaaaaaaczgcptcqzcptcxscxtcqzcptcxscxtcqzcptcxscxtcptcptcxrcptcxscxtczhczkczjczmczlczocznczpcvvczrczqcztczsczuctuczwczvctuczxctuczycuaczzczBczAczAczDczEcBVcBWcBWcBXcBYcAObPxcBZcvNcvNcCacCbcCccCbcCacCdcvNcrGcCecrGaaaaaaaaaaaaaaaaaacqvctFcCfcuVctFcCgcChcCictFcCjcCkcqycgvcCmcCncCocrHaaaaaaaaaaaaaaaaaacgwaafcdOcCqcluclUcomclsclpclqcomcloclVclWcdOaaaaaacrPaaactXctXctXctXctXaafckxaafctXctXctXctXctXaafcrPaaacyhcyhcyhcyhaaacyhcyhcyhcyhcyhcyhcyhcyhcyhaaacyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaafaafaafaafaamaafaafaafczgczGczFcAhczHcAucAtcAwcAvcAycAxcAAcAzcAucptczGcABcADcACcAycAEcmMcmMcmMcmMcmMcmMcmMcmMcAHcAFcyLcAIcAJcoIcAKcoIcoIcwxcoIcoIcAScoIcAJcBtcBvcBucBxciCcCNcCOcCPcCQcAObPwcCRcCScCTcCacAGcAVcBwcCacCWaafcCXcCYcCXaaaaaaaaaaaaaaaaaacqvcCZctDcuQcDacDbcuQcDccDdcDeaafaaachxchFchEclXaaaaaaaaaaacaaaaaaaaaaaaaaacdOcDhcplcplcomcDicplcplcomcDicplcplcdOaafaafcrPaafckVckSckSckSckSckyckxckwckvckvckvckvckUaafcrPaaacyhcyhcyhcyhaaacyhcyhcyhcyhcyhcyhcyhcyhcyhaaacyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPcByaaaaaaaaaaamaaaaaaaaacBzcBBcBAcBDcBCcBFcBEcBGcBCcBFcBEcBGcBCcBFcBHcBHcBIcBGcBCcBFcBJcmMaaacBLcBKcBNcBMcBPcBOcBRcBQcBScBScBUcBTcCrcCpcCtcCscCpcCtcCrcCucCwcCvcCucyLcyLcAOcDNcDOcDPcDQcAObNUcDRcDScDTcCacCbcDUcCbcCacCWaafaaaaafaaaaaaaaaaaaaaaaaaaaacqvcCZcDVcDWcDXcDXcDWcsPcDYcqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacdOcDZcplcplcomcEacplcplcomcEacplcplcdOaaaaaacrPaafcwjcwjcwjcwjcwjaaackxaaacwjcwjcwjcwjcwjaaacrPaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPcClcqLcqLcqLcpEcpIcpIcpIcqLcpIcpPcpIcpGcpIcpPcpIcpGcpIcpPcpIcpGcpIcqLcpIcpRcpIcpGcpIcqNaafaaacCycCxcCAcCzcCCcCBcBRcCDcBScCEcCGcCFcCIcCHcCKcCJcCMcCLcCIcCUcDgcCVcCuaaaaafcAOcEBcECcEDaafaaabNUbPxbPxbSkcCaclZcEFclYcCacCWaafaafaaaaaaaaaaaaaaaaaaaaaaaacqvcEHcuXcEIcEJcEJcEIcuQcEKcqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacdOcplcplcplcomcELcplcplcomcELcplcplcdOaacaaacrPaaaaaaaafaafaafaaaaaacmTaafaaaaaaaafaafaaaaaacrPaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaafaafaaaaaaaaqaaaaaaaaaaafcfQcldclccDjcfQcldclccDjcfQcldclccDkcfQaaacfQcDlclccDkcfQaaaaafaaacCycDmcDocDncDmcDpcDrcDqcBScDscDucDtcCIcDvcDxcDwcDzcDycCIcDAcDCcDBcCuaaaaaacAOcFgcFhcFiaaaaaabNUbPxbPxbNUcCacmUcmUcmUcCacFkcmWaaaaaaaaaaaaaaaaaaaaaaaaaaacqvcFmcFncuQcuQcuQcuQcuQcFocqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaackEcdOcdOcdOcdOcdOcdOcdOcdOcmYcmYcmYckEaaaaaacrPcrPcrPcrPcrPaaaaaaaaacmZaaaaaaaaacrPcrPcrPbZScrPaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaaaaafaafaaaaamaaaaaaaaaaafcfQcDDcDFcDEcfQcDGcDIcDHcfQcDJcDLcDKcfQaafcfQcDMcEccEbcfQaaaaafaaacCycEdcCAcDmcDmcEecEgcEfcEicEhcEkcEjcEmcElcEocEncEqcEpcEscErcEucEtcCuaafaaacFJcDNcFKcAOcFLaaabNUcFMbPxcFNcFOaafaafaafaaacBkaafaafaaaaaaaaaaaaaaaaaaaaaaaacrHcqvcqvcFPcFQcEIcEIcEIcFRcFPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqpbqpbqpaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaafcfTaafcrPaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaamaaaaaaaafaafcfQcEvcEwcEvcfQcExcEycExcfQcEzcEAcEzcfQaaacfQcEzcEzcEEcfQaaaaafaaacCycEGcCAcDncDmcCBcEMcCDcBScENcEPcEOcCIcEQcEScERcEScETcCIcEUcEWcEVcCuaaLcGgcGgcGgcGgcGgcGgcGgbNUciEciDcGjaafaaaaaaaafcGkcDfaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacGlcEJcEJcEJcEJcEJcGlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaaaaafaaacrPaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaafaamaaaaafaafaaacfQcEvcEXcEvcfQcExcEYcExcfQcEzcEZcEzcfQaafcfQcEzcEzcEzcfQaafaafaafcFbcFacFdcFccFfcFecFjcCDcBScFlcFqcFpcCIcFrcFtcFscFvcFucCIcFwcFycFxcCuaaacGgcGgcGgcGgcGgcGgcGgcGFcGGcGHbNUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacqvcCmcqxcqxcqxcCocqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPcrPcrPcrPcrPaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbZSaaaaaacfQcfQcfQcfQcfQcfQcfQcfQcfQcfQcfQcfQcfQaaacFzcfQcfQcfQcfQaaaaaaaaaaaacAFcAFcAFcAFcAFcFBcFAcFAcFAcFAcFCcFAcFDcFFcFEcFFcFGcFAcFAcFHcFAcFAcFAcGgcGgcGgcGgcGgcGgcGgaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaacyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafcrPaaaaaaaafaafaaaaafaafaaaaaaaafaafaafaaaaaaaaaaaaaaaaaaaafaaacGQcGRcGRcGRcGScFIcFTcFScFVcFUcFXcFWcFZcFYcGbcGacGdcGccGfcGecGicGhcGncGmcGmcGocGpcFAcGgcGgcGgcGgcGgcGgcGgaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafcHncjVcHpaaacHncjVcHpaaacHncjVcHpaafaafaaaaafaafaafaafaafcHqcGRcGRcGRcGScFIcGrcGqcGtcGscGvcGucGxcGwcGzcGycGBcGAcGmcGCcGmcGmcGmcGmcGmcGmcGDcFAcGgcGgcGgcGgcGgcGgcGgaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaacHncjWcHpaaacHncjWcHpaaacHncjWcHpaafaafaaaaafaaaaaacHKaafcGQcGRcGRcGRcGScFIcGrcGEcGJcGIcGKcGucGMcGLcGOcGNcGmcGmcGTcGPcGUcGmcGmcGmcGmcGmcGVcFAcIbaafaaIaafaafaafaafaafaafaafaafaafcGWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafcHncjWcHpaaacHncjWcHpaafcHncjWcHpaafaaaaaaaafaafcIcaaaaafcHqcGRcGRcGRcGScFIcGYcGXcHacGZcHccHbcHecHdcHgcHfcHhcHhcHjcHicHlcHkcHkcHkcHkcHkcHocHmcHscHrcHrcHrcHrcHrcHrcHrcHrcHrcHtaaacGWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaacHncjWcHpaafcHncjWcHpaaacHncjWcHpaaaaaaaaaaaaaafaafaaaaafaaaaaaaaaaaaaafcHucHwcHvcHycHxcHzcFWcGAcGmcHBcHAcHDcHCcHFcHEcHHcHGcHDcHIcHJcGmcHMcHLcHscHtcHNcHtcHNcHtcHNcHtcHNcHtcHOaafcGWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaamaaIaafaaacHncjWcHpaafcHncjWcHpaaacHncjWcHpaafaaaaaaaaaaaaaafaafcIJcIKcIKcIKcIKcILcILcILcILcILcIMcILcFAcGmcGmcHPcFAcFAcFAcHRcHQcHScFAcFAcFAcHTcGmcHUcFAaaacHOcHOcHOcHOcHOcHOcHOcHOcHOcHOaafcGWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaafaaaaafaafczCaafaafaafczCaafaaaaafczCaafaaaaaaaaaaaaaaacIUcIVcIWcIXcIYcHVcJacJbcJcciFcJecJfcJgcJecFAcHWcGmcHYcHXcIacHZcIecIdcIfcHZcIgcHXcIhcGmcIicFAaaacHOcHOcHOcHOcHOcHOcHOcHOcHOcHOaaaaanaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafcydcxzcxycxxcxxcxxcxxcxxcxxcxxcxxcxxcxxcxxczicxzcxzcxzcypcJzcJAcJBcJCcJDcJEcJFcJGcJHcJHcJHcJIcJJcJKcFAcGmcGmcHYcHXcIacIjcIlcIkcImcIjcIgcHXcIhcGmcGmcFAaaacHOcHOcHOcHOcHOcHOcHOcHOcHOcHOaafcGWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYaaactYctYctYctYctYaaactYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaafaaaaafaafcxfaafaaaaafcxfaafaaaaafcxfaafaaaaaaaaaaaaaaacIUcIVcJRcJScJTcJUcIKcJVcJWcJecJecJXcJXcJYcFAcIncGmcIocHXcIacIpcIlcIqcIrcIpcIgcHXcIscGmcGmcFAaaacHOcHOcHOcHOcHOcHOcHOcHOcHOcHOaafaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYaaactYctYctYctYctYaaactYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaamaaIaafaafcHncwrcHpaaacHncwrcHpaaacHncwrcHpaafaaaaaaaaaaaaaafaafcKfcIKcIKcIKcIKcKgcKhcKicKicKjcKgcKgcFAcFAcFWcFAcFAcFAcFAcFAcItcFAcFAcFAcFAcFAcFWcFAcFAaafcIucIvcIucIvcIucIvcIucIvcIucIvaaaaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacHncwrcHpaafcHncwrcHpaaacHncwrcHpaaaaaaaaaaafaaaaafaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaafaaaaafaafaaaaaaaafaafaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafcHncwrcHpaaacHncwrcHpaaacHncwrcHpaafaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaLaaaaafaaaaaackBckBckBcGZckBckBaanckBckBaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafcHncwrcHpaaacHncwrcHpaaacHncwrcHpaafaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaLaaaaafaaaaaacGWcGWcGWcIwcGWcGWaancGWcGWaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafcHncwrcHpaaacHncwrcHpaafcHncwrcHpaafaafaafaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaaIaaIbZSbZSaaIaaIaaaaaaaaaaaIaaIaaIaaIaaIaaIaaIaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaafcHncwncHpaaacHncwncHpaaacHncwncHpaafaaIaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaaaaafaaaaaaaaaaafaafaafaaaaaaaafaafaaaaaIaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKncKncKncKncKncKncKnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa diff --git a/maps/exodus-2.dmm b/maps/exodus-2.dmm index 79dafb5423f..d6701f77af1 100644 --- a/maps/exodus-2.dmm +++ b/maps/exodus-2.dmm @@ -705,7 +705,7 @@ "nC" = (/obj/structure/closet/secure_closet/freezer/kitchen{req_access = null; req_access_txt = "150"},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership) "nD" = (/obj/structure/table/reinforced,/obj/item/weapon/tray{pixel_y = 5},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership) "nE" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/food/drinks/bottle/vodka{pixel_x = 3; pixel_y = 12},/obj/item/weapon/reagent_containers/food/drinks/bottle/wine{pixel_x = -1; pixel_y = 8},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership) -"nF" = (/obj/structure/table/rack,/obj/item/weapon/storage/belt/security,/obj/item/weapon/storage/belt/security,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"nF" = (/obj/structure/table/rack,/obj/item/weapon/storage/belt/security,/obj/item/weapon/storage/belt/security,/obj/item/ammo_magazine/mc9mm/flash,/obj/item/weapon/gun/projectile/pistol/flash,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) "nG" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/syndicate/black/red,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/syndicate/black/red,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) "nH" = (/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/syndicate_station/start) "nI" = (/obj/structure/table,/obj/machinery/recharger,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) From e5f8ac50b49120140ebc633e3fd645c24953abc8 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Sat, 14 Feb 2015 13:05:38 -0500 Subject: [PATCH 116/143] Rewrites grenade launchers --- baystation12.dme | 2 +- .../guns/launcher/grenade_launcher.dm | 82 +++++++++++++++++++ code/modules/reagents/grenade_launcher.dm | 63 -------------- maps/exodus-2.dmm | 2 +- 4 files changed, 84 insertions(+), 65 deletions(-) create mode 100644 code/modules/projectiles/guns/launcher/grenade_launcher.dm delete mode 100644 code/modules/reagents/grenade_launcher.dm diff --git a/baystation12.dme b/baystation12.dme index f71ff8f3c59..6810ce9c32c 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -1329,6 +1329,7 @@ #include "code\modules\projectiles\guns\energy\stun.dm" #include "code\modules\projectiles\guns\energy\temperature.dm" #include "code\modules\projectiles\guns\launcher\crossbow.dm" +#include "code\modules\projectiles\guns\launcher\grenade_launcher.dm" #include "code\modules\projectiles\guns\launcher\pneumatic.dm" #include "code\modules\projectiles\guns\launcher\rocket.dm" #include "code\modules\projectiles\guns\launcher\syringe_gun.dm" @@ -1353,7 +1354,6 @@ #include "code\modules\reagents\Chemistry-Reagents-Antidepressants.dm" #include "code\modules\reagents\Chemistry-Reagents.dm" #include "code\modules\reagents\Chemistry-Recipes.dm" -#include "code\modules\reagents\grenade_launcher.dm" #include "code\modules\reagents\reagent_containers.dm" #include "code\modules\reagents\reagent_dispenser.dm" #include "code\modules\reagents\reagent_containers\blood_pack.dm" diff --git a/code/modules/projectiles/guns/launcher/grenade_launcher.dm b/code/modules/projectiles/guns/launcher/grenade_launcher.dm new file mode 100644 index 00000000000..514e68a6b25 --- /dev/null +++ b/code/modules/projectiles/guns/launcher/grenade_launcher.dm @@ -0,0 +1,82 @@ +/obj/item/weapon/gun/launcher/grenade + name = "grenade launcher" + desc = "A bulky pump-action grenade launcher. Holds up to 5 grenades in a revolving magazine." + icon = 'icons/obj/gun.dmi' + icon_state = "riotgun" + item_state = "riotgun" + w_class = 4 + force = 10 + + fire_sound = 'sound/weapons/empty.ogg' + fire_sound_text = "a metallic thunk" + recoil = 0 + throw_distance = 7 + release_force = 5 + + var/obj/item/weapon/grenade/chambered + var/list/grenades = new/list() + var/max_grenades = 4 //holds this + one in the chamber + matter = list("metal" = 2000) + +//revolves the magazine, allowing players to choose between multiple grenade types +/obj/item/weapon/gun/launcher/grenade/proc/pump(mob/M as mob) + playsound(M, 'sound/weapons/shotgunpump.ogg', 60, 1) + + var/obj/item/weapon/grenade/next + if(grenades.len) + next = grenades[1] //get this first, so that the chambered grenade can still be removed if the grenades list is empty + if(chambered) + grenades += chambered //rotate the revolving magazine + chambered = null + if(next) + grenades -= next //Remove grenade from loaded list. + chambered = next + M << "You pump [src], loading \a [next] into the chamber." + else + M << "You pump [src], but the magazine is empty." + update_icon() + +/obj/item/weapon/gun/launcher/grenade/examine(mob/user) + if(..(user, 2)) + var/grenade_count = grenades.len + (chambered? 1 : 0) + user << "Has [grenade_count] grenade\s remaining." + if(chambered) + user << "\A [chambered] is chambered." + +/obj/item/weapon/gun/launcher/grenade/attack_self(mob/user) + pump(user) + +/obj/item/weapon/gun/launcher/grenade/attackby(obj/item/I, mob/user) + if((istype(I, /obj/item/weapon/grenade))) + if(grenades.len >= max_grenades) + user << "[src] is full." + return + user.remove_from_mob(I) + I.loc = src + grenades.Insert(1, I) //add to the head of the list, so that it is loaded on the next pump + user.visible_message("[user] inserts \a [I] into [src].", "You insert \a [I] into [src].") + else + ..() + +/obj/item/weapon/gun/launcher/grenade/attack_hand(mob/user) + if(src in user) + if(grenades.len) + var/obj/item/weapon/grenade/G = grenades[grenades.len] + grenades.len-- + user.put_in_hands(G) + user.visible_message("[user] removes \a [G] from [src].", "You remove \a [G] from [src].") + else + user << "[src] is empty." + else + ..() + +/obj/item/weapon/gun/launcher/grenade/consume_next_projectile() + if(chambered) + chambered.det_time = 10 + chambered.activate(null) + return chambered + +/obj/item/weapon/gun/launcher/grenade/handle_post_fire(mob/user) + message_admins("[key_name_admin(user)] fired a grenade ([chambered.name]) from a grenade launcher ([src.name]).") + log_game("[key_name_admin(user)] used a grenade ([chambered.name]).") + chambered = null diff --git a/code/modules/reagents/grenade_launcher.dm b/code/modules/reagents/grenade_launcher.dm deleted file mode 100644 index b96455a178d..00000000000 --- a/code/modules/reagents/grenade_launcher.dm +++ /dev/null @@ -1,63 +0,0 @@ - - -/obj/item/weapon/gun/grenadelauncher - name = "grenade launcher" - icon = 'icons/obj/gun.dmi' - icon_state = "riotgun" - item_state = "riotgun" - w_class = 4.0 - throw_speed = 2 - throw_range = 10 - force = 5.0 - var/list/grenades = new/list() - var/max_grenades = 3 - matter = list("metal" = 2000) - - examine(mob/user) - if(..(user, 2)) - user << "\blue [grenades] / [max_grenades] Grenades." - - attackby(obj/item/I as obj, mob/user as mob) - - if((istype(I, /obj/item/weapon/grenade))) - if(grenades.len < max_grenades) - user.drop_item() - I.loc = src - grenades += I - user << "\blue You put the grenade in the grenade launcher." - user << "\blue [grenades.len] / [max_grenades] Grenades." - else - usr << "\red The grenade launcher cannot hold more grenades." - - afterattack(obj/target, mob/user , flag) - - if (istype(target, /obj/item/weapon/storage/backpack )) - return - - else if (locate (/obj/structure/table, src.loc)) - return - - else if(target == user) - return - - if(grenades.len) - spawn(0) fire_grenade(target,user) - else - usr << "\red The grenade launcher is empty." - - proc - fire_grenade(atom/target, mob/user) - for(var/mob/O in viewers(world.view, user)) - O.show_message(text("\red [] fired a grenade!", user), 1) - user << "\red You fire the grenade launcher!" - var/obj/item/weapon/grenade/chem_grenade/F = grenades[1] //Now with less copypasta! - grenades -= F - F.loc = user.loc - F.throw_at(target, 30, 2, user) - message_admins("[key_name_admin(user)] fired a grenade ([F.name]) from a grenade launcher ([src.name]).") - log_game("[key_name_admin(user)] used a grenade ([src.name]).") - F.active = 1 - F.icon_state = initial(icon_state) + "_active" - playsound(user.loc, 'sound/weapons/armbomb.ogg', 75, 1, -3) - spawn(15) - F.prime() \ No newline at end of file diff --git a/maps/exodus-2.dmm b/maps/exodus-2.dmm index d6701f77af1..7a50f27ee67 100644 --- a/maps/exodus-2.dmm +++ b/maps/exodus-2.dmm @@ -1046,7 +1046,7 @@ "uf" = (/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) "ug" = (/turf/unsimulated/wall,/area/centcom/test) "uh" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops) -"ui" = (/obj/structure/table/rack,/obj/item/weapon/gun/grenadelauncher,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"ui" = (/obj/structure/table/rack,/obj/item/weapon/gun/launcher/grenade,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) "uj" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) "uk" = (/obj/structure/table/rack,/obj/item/clothing/suit/armor/vest/ert/security,/obj/item/clothing/suit/armor/vest/ert/security,/obj/item/clothing/suit/armor/vest/ert/security,/obj/item/clothing/suit/armor/vest/ert/security,/obj/item/clothing/head/helmet/ert/security,/obj/item/clothing/head/helmet/ert/security,/obj/item/clothing/head/helmet/ert/security,/obj/item/clothing/head/helmet/ert/security,/obj/item/weapon/storage/backpack/ert/security,/obj/item/weapon/storage/backpack/ert/security,/obj/item/weapon/storage/backpack/ert/security,/obj/item/weapon/storage/backpack/ert/security,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) "ul" = (/obj/structure/table/rack,/obj/item/weapon/rig/ert/security,/obj/item/clothing/accessory/storage/black_vest,/obj/item/weapon/rig/ert/security,/obj/item/clothing/accessory/storage/black_vest,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) From f54588675fe5867aac26f466c24734d32b6b1fa8 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Sat, 14 Feb 2015 13:51:10 -0500 Subject: [PATCH 117/143] Fixes soporific and chloral hydrate Soporific now makes people fall asleep, as intended. CH now knocks people out after 20 seconds, instead of after 3 minutes. --- code/modules/reagents/Chemistry-Reagents.dm | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/code/modules/reagents/Chemistry-Reagents.dm b/code/modules/reagents/Chemistry-Reagents.dm index 6fd9de29f78..2de5abcba32 100644 --- a/code/modules/reagents/Chemistry-Reagents.dm +++ b/code/modules/reagents/Chemistry-Reagents.dm @@ -1827,10 +1827,10 @@ datum if(15 to 49) if(prob(50)) M.Weaken(2) - M.drowsyness = max(M.drowsyness, 20) + M.drowsyness = max(M.drowsyness, 20) if(50 to INFINITY) - M.Weaken(20) - M.drowsyness = max(M.drowsyness, 30) + M.sleeping = max(M.sleeping, 20) + M.drowsyness = max(M.drowsyness, 60) data++ ..() return @@ -1854,10 +1854,11 @@ datum if(1) M.confused += 2 M.drowsyness += 2 - if(2 to 199) + if(2 to 20) M.Weaken(30) - if(200 to INFINITY) - M.sleeping += 1 + M.eye_blurry = max(M.eye_blurry, 10) + if(20 to INFINITY) + M.sleeping = max(M.sleeping, 30) ..() return From 9c68bd492ddccec3e2d58595250bdd3ac9f2dc9d Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Sat, 14 Feb 2015 21:49:45 +0000 Subject: [PATCH 118/143] Adds current color as default to hair, facial hair, eye and skin color pickers --- code/modules/client/preferences.dm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 278fefa5e98..ce4c6d42727 100755 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -1299,7 +1299,7 @@ datum/preferences if("hair") if(species == "Human" || species == "Unathi" || species == "Tajara" || species == "Skrell") - var/new_hair = input(user, "Choose your character's hair colour:", "Character Preference") as color|null + var/new_hair = input(user, "Choose your character's hair colour:", "Character Preference", rgb(r_hair, g_hair, b_hair)) as color|null if(new_hair) r_hair = hex2num(copytext(new_hair, 2, 4)) g_hair = hex2num(copytext(new_hair, 4, 6)) @@ -1319,7 +1319,7 @@ datum/preferences h_style = new_h_style if("facial") - var/new_facial = input(user, "Choose your character's facial-hair colour:", "Character Preference") as color|null + var/new_facial = input(user, "Choose your character's facial-hair colour:", "Character Preference", rgb(r_facial, g_facial, b_facial)) as color|null if(new_facial) r_facial = hex2num(copytext(new_facial, 2, 4)) g_facial = hex2num(copytext(new_facial, 4, 6)) @@ -1364,7 +1364,7 @@ datum/preferences ShowChoices(user) if("eyes") - var/new_eyes = input(user, "Choose your character's eye colour:", "Character Preference") as color|null + var/new_eyes = input(user, "Choose your character's eye colour:", "Character Preference", rgb(r_eyes, g_eyes, b_eyes)) as color|null if(new_eyes) r_eyes = hex2num(copytext(new_eyes, 2, 4)) g_eyes = hex2num(copytext(new_eyes, 4, 6)) @@ -1379,7 +1379,7 @@ datum/preferences if("skin") if(species == "Unathi" || species == "Tajara" || species == "Skrell") - var/new_skin = input(user, "Choose your character's skin colour: ", "Character Preference") as color|null + var/new_skin = input(user, "Choose your character's skin colour: ", "Character Preference", rgb(r_skin, g_skin, b_skin)) as color|null if(new_skin) r_skin = hex2num(copytext(new_skin, 2, 4)) g_skin = hex2num(copytext(new_skin, 4, 6)) @@ -1745,4 +1745,4 @@ datum/preferences user << browse(dat, "window=saves;size=300x390") /datum/preferences/proc/close_load_dialog(mob/user) - user << browse(null, "window=saves") \ No newline at end of file + user << browse(null, "window=saves") From dafcc2a374facee36bea9ac0620e003c731e4799 Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Sat, 14 Feb 2015 23:29:11 +0000 Subject: [PATCH 119/143] Fixes runtime when walking over shards with no shoes --- code/game/objects/items/weapons/shards.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/items/weapons/shards.dm b/code/game/objects/items/weapons/shards.dm index a57463eee78..a4fc0081c20 100644 --- a/code/game/objects/items/weapons/shards.dm +++ b/code/game/objects/items/weapons/shards.dm @@ -86,7 +86,7 @@ if(affecting.take_damage(5, 0)) H.UpdateDamageIcon() H.updatehealth() - if(!(H.species & NO_PAIN)) + if(!(H.species && (H.species.flags & NO_PAIN))) H.Weaken(3) ..() From a6095a361047633da18b988994469a22b992e0b2 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Sat, 14 Feb 2015 18:03:41 -0500 Subject: [PATCH 120/143] Updates L6 SAW Also changes src in user checks, probably unnecessary. --- .../guns/launcher/grenade_launcher.dm | 2 +- .../projectiles/guns/launcher/syringe_gun.dm | 2 +- code/modules/projectiles/guns/projectile.dm | 2 +- .../projectiles/guns/projectile/automatic.dm | 28 +++++++++---------- 4 files changed, 16 insertions(+), 18 deletions(-) diff --git a/code/modules/projectiles/guns/launcher/grenade_launcher.dm b/code/modules/projectiles/guns/launcher/grenade_launcher.dm index 514e68a6b25..186e8275223 100644 --- a/code/modules/projectiles/guns/launcher/grenade_launcher.dm +++ b/code/modules/projectiles/guns/launcher/grenade_launcher.dm @@ -59,7 +59,7 @@ ..() /obj/item/weapon/gun/launcher/grenade/attack_hand(mob/user) - if(src in user) + if(loc == user) if(grenades.len) var/obj/item/weapon/grenade/G = grenades[grenades.len] grenades.len-- diff --git a/code/modules/projectiles/guns/launcher/syringe_gun.dm b/code/modules/projectiles/guns/launcher/syringe_gun.dm index 59110be1951..b8e1559445f 100644 --- a/code/modules/projectiles/guns/launcher/syringe_gun.dm +++ b/code/modules/projectiles/guns/launcher/syringe_gun.dm @@ -100,7 +100,7 @@ next = darts[1] /obj/item/weapon/gun/launcher/syringe/attack_hand(mob/living/user as mob) - if(src in user) + if(loc == user) if(!darts.len) user << "[src] is empty." return diff --git a/code/modules/projectiles/guns/projectile.dm b/code/modules/projectiles/guns/projectile.dm index 128eddccde2..e8255027325 100644 --- a/code/modules/projectiles/guns/projectile.dm +++ b/code/modules/projectiles/guns/projectile.dm @@ -155,7 +155,7 @@ unload_ammo(user) /obj/item/weapon/gun/projectile/attack_hand(mob/user as mob) - if(src in user) + if(loc == user) unload_ammo(user, allow_dump=0) else return ..() diff --git a/code/modules/projectiles/guns/projectile/automatic.dm b/code/modules/projectiles/guns/projectile/automatic.dm index 506ffcfff38..eb5cb3c1055 100644 --- a/code/modules/projectiles/guns/projectile/automatic.dm +++ b/code/modules/projectiles/guns/projectile/automatic.dm @@ -74,21 +74,19 @@ /obj/item/weapon/gun/projectile/automatic/l6_saw/update_icon() icon_state = "l6[cover_open ? "open" : "closed"][ammo_magazine ? round(loaded.len, 25) : "-empty"]" -/obj/item/weapon/gun/projectile/automatic/l6_saw/afterattack(atom/target as mob|obj|turf, mob/living/user as mob|obj, flag, params) //what I tried to do here is just add a check to see if the cover is open or not and add an icon_state change because I can't figure out how c-20rs do it with overlays +/obj/item/weapon/gun/projectile/automatic/l6_saw/special_check(mob/user) if(cover_open) - user << "[src]'s cover is open! Close it before firing!" - else - ..() - update_icon() + user << "[src]'s cover is open! Close it before firing!" + return 0 + return ..() -/obj/item/weapon/gun/projectile/automatic/l6_saw/attack_hand(mob/user as mob) - if(loc != user) - ..() //let them pick it up - else if(cover_open) - unload_ammo(user) - -/obj/item/weapon/gun/projectile/automatic/l6_saw/attackby(var/obj/item/A as obj, mob/user as mob) - if(istype(A,/obj/item/ammo_magazine) && !cover_open) - user << "[src]'s cover is closed! You can't insert a new mag!" +/obj/item/weapon/gun/projectile/automatic/l6_saw/load_ammo(var/obj/item/A, mob/user) + if(!cover_open) + user << "You need to open the cover to load [src]." return - ..() + ..() + +/obj/item/weapon/gun/projectile/automatic/l6_saw/unload_ammo(mob/user) + if(!cover_open) + return + ..() \ No newline at end of file From cd81f0b70633054628d9a265986078901785d6fa Mon Sep 17 00:00:00 2001 From: mwerezak Date: Sat, 14 Feb 2015 18:06:21 -0500 Subject: [PATCH 121/143] Improves gun scope zooming --- code/game/mecha/combat/marauder.dm | 1 + code/game/objects/items.dm | 12 +--- code/modules/projectiles/gun.dm | 29 +++++++- code/modules/projectiles/guns/energy/laser.dm | 5 +- code/modules/projectiles/guns/projectile.dm | 2 +- .../projectiles/guns/projectile/sniper.dm | 68 +++++++++++++++++++ code/modules/projectiles/projectile/beams.dm | 6 +- 7 files changed, 105 insertions(+), 18 deletions(-) create mode 100644 code/modules/projectiles/guns/projectile/sniper.dm diff --git a/code/game/mecha/combat/marauder.dm b/code/game/mecha/combat/marauder.dm index cdb3645c62d..d7e64c1ece9 100644 --- a/code/game/mecha/combat/marauder.dm +++ b/code/game/mecha/combat/marauder.dm @@ -151,6 +151,7 @@ smoke_ready = 1 return +//TODO replace this with zoom code that doesn't increase peripherial vision /obj/mecha/combat/marauder/verb/zoom() set category = "Exosuit Interface" set name = "Zoom" diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index 1e3cb7547ab..f622c28e7c5 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -638,8 +638,8 @@ For zooming with scope or binoculars. This is called from modules/mob/mob_movement.dm if you move you will be zoomed out modules/mob/living/carbon/human/life.dm if you die, you will be zoomed out. */ - -/obj/item/proc/zoom(var/tileoffset = 11,var/viewsize = 12) //tileoffset is client view offset in the direction the user is facing. viewsize is how far out this thing zooms. 7 is normal view +//Looking through a scope or binoculars should /not/ improve your periphereal vision. Still, increase viewsize a tiny bit so that sniping isn't as restricted to NSEW +/obj/item/proc/zoom(var/tileoffset = 14,var/viewsize = 9) //tileoffset is client view offset in the direction the user is facing. viewsize is how far out this thing zooms. 7 is normal view var/devicename @@ -686,14 +686,6 @@ modules/mob/living/carbon/human/life.dm if you die, you will be zoomed out. usr.visible_message("[usr] peers through the [zoomdevicename ? "[zoomdevicename] of the [src.name]" : "[src.name]"].") - /* - if(istype(usr,/mob/living/carbon/human/)) - var/mob/living/carbon/human/H = usr - usr.visible_message("[usr] holds [devicename] up to [H.get_visible_gender() == MALE ? "his" : H.get_visible_gender() == FEMALE ? "her" : "their"] eyes.") - else - usr.visible_message("[usr] holds [devicename] up to its eyes.") - */ - else usr.client.view = world.view if(!usr.hud_used.hud_shown) diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index 767f9fc40d4..c2d6266473f 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -15,6 +15,7 @@ force = 5 origin_tech = "combat=1" attack_verb = list("struck", "hit", "bashed") + zoomdevicename = "scope" var/fire_delay = 6 var/fire_sound = 'sound/weapons/Gunshot.ogg' @@ -22,6 +23,7 @@ var/recoil = 0 //screen shake var/silenced = 0 var/accuracy = 0 //accuracy is measured in tiles. +1 accuracy means that everything is effectively one tile closer for the purpose of miss chance, -1 means the opposite. launchers are not supported, at the moment. + var/scoped_accuracy = null var/last_fired = 0 @@ -34,6 +36,11 @@ var/tmp/told_cant_shoot = 0 //So that it doesn't spam them with the fact they cannot hit them. var/tmp/lock_time = -100 +/obj/item/weapon/gun/New() + ..() + if(isnull(scoped_accuracy)) + scoped_accuracy = accuracy + //Returns 1 if the gun is able to be fired /obj/item/weapon/gun/proc/ready_to_fire() if(world.time >= last_fired + fire_delay) @@ -43,6 +50,8 @@ return 0 //Checks whether a given mob can use the gun +//Any checks that shouldn't result in handle_click_empty() being called if they fail should go here. +//Otherwise, if you want handle_click_empty() to be called, check in consume_next_projectile() and return null there. /obj/item/weapon/gun/proc/special_check(var/mob/user) if(!istype(user, /mob/living)) return 0 @@ -114,7 +123,7 @@ user << "[src] is not ready to fire again!" return - var/obj/projectile = consume_next_projectile() + var/obj/projectile = consume_next_projectile(user) if(!projectile) handle_click_empty(user) return @@ -165,7 +174,7 @@ if(recoil) spawn() - shake_camera(user, recoil + 1, recoil) + shake_camera(user, recoil+1, recoil) update_icon() //does the actual shooting @@ -236,3 +245,19 @@ handle_click_empty(user) mouthshoot = 0 return + +/obj/item/weapon/gun/proc/toggle_scope(var/zoom_amount=2.0) + //looking through a scope limits your periphereal vision + //still, increase the view size by a tiny amount so that sniping isn't too restricted to NSEW + var/zoom_offset = round(world.view * zoom_amount) + var/view_size = round(world.view + zoom_amount) + var/scoped_accuracy_mod = zoom_offset + + zoom(zoom_offset, view_size) + if(zoom) + accuracy = scoped_accuracy + scoped_accuracy_mod + if(recoil) + recoil = round(recoil*zoom_amount+1) //recoil is worse when looking through a scope + else + accuracy = (accuracy) + recoil = initial(recoil) diff --git a/code/modules/projectiles/guns/energy/laser.dm b/code/modules/projectiles/guns/energy/laser.dm index bcbb5beddc1..2dc1cb65e2c 100644 --- a/code/modules/projectiles/guns/energy/laser.dm +++ b/code/modules/projectiles/guns/energy/laser.dm @@ -74,14 +74,15 @@ obj/item/weapon/gun/energy/laser/retro fire_delay = 35 force = 10 w_class = 4 - zoomdevicename = "scope" + accuracy = -3 //shooting at the hip + scoped_accuracy = 0 /obj/item/weapon/gun/energy/sniperrifle/verb/scope() set category = "Object" set name = "Use Scope" set popup_menu = 1 - zoom() + toggle_scope(2.0) ////////Laser Tag//////////////////// diff --git a/code/modules/projectiles/guns/projectile.dm b/code/modules/projectiles/guns/projectile.dm index e8255027325..068d943e268 100644 --- a/code/modules/projectiles/guns/projectile.dm +++ b/code/modules/projectiles/guns/projectile.dm @@ -129,7 +129,7 @@ ammo_magazine = null else if(loaded.len) //presumably, if it can be speed-loaded, it can be speed-unloaded. - if(allow_dump && load_method & SPEEDLOADER) + if(allow_dump && (load_method & SPEEDLOADER)) var/count = 0 var/turf/T = get_turf(user) if(T) diff --git a/code/modules/projectiles/guns/projectile/sniper.dm b/code/modules/projectiles/guns/projectile/sniper.dm new file mode 100644 index 00000000000..a54e3b58675 --- /dev/null +++ b/code/modules/projectiles/guns/projectile/sniper.dm @@ -0,0 +1,68 @@ +/obj/item/weapon/gun/projectile/heavysniper + name = "\improper PTRS-7 rifle" + desc = "A portable anti-armour rifle fitted with a scope. Fires 14.5mm AP shells." + icon_state = "heavysniper" + item_state = "shotgun" + w_class = 4 + force = 10 + slot_flags = SLOT_BACK + origin_tech = "combat=8;materials=2;syndicate=8" + caliber = "14.5mm" + recoil = 2 //extra kickback + handle_casings = HOLD_CASINGS + load_method = SINGLE_CASING + max_shells = 1 + ammo_type = /obj/item/ammo_casing/a145 + accuracy = -1 //made this not as bad as the LWAP's penalty because only one shot + var/bolt_open = 0 + +/obj/item/weapon/gun/projectile/heavysniper/update_icon() + if(bolt_open) + icon_state = "heavysniper-open" + else + icon_state = "heavysniper" + +/obj/item/weapon/gun/projectile/heavysniper/attack_self(mob/user as mob) + playsound(src.loc, 'sound/weapons/flipblade.ogg', 50, 1) + bolt_open = !bolt_open + if(bolt_open) + if(chambered) + user << "You work the bolt open, ejecting [chambered]!" + chambered.loc = get_turf(src) + loaded -= chambered + chambered = null + else + user << "You work the bolt open." + else + user << "You work the bolt closed." + bolt_open = 0 + update_icon() + +/obj/item/weapon/gun/projectile/heavysniper/special_check(mob/user) + if(bolt_open) + user << "You can't fire [src] with the bolt open!" + return 0 + return ..() + +/obj/item/weapon/gun/projectile/heavysniper/load_ammo(var/obj/item/A, mob/user) + if(!bolt_open) + return + ..() + +/obj/item/weapon/gun/projectile/heavysniper/unload_ammo(mob/user, var/allow_dump=1) + if(!bolt_open) + return + ..() + +/obj/item/weapon/gun/projectile/heavysniper/verb/scope() + set category = "Object" + set name = "Use Scope" + set popup_menu = 1 + + toggle_scope(2.0) + +//need to override zoom() so that accuracy is properly reset even if we move while zoomed in. +/obj/item/weapon/gun/projectile/heavysniper/zoom() + ..() + if(zoom) + accuracy -= initial(accuracy) //remove the accuracy penalty if zoomed in \ No newline at end of file diff --git a/code/modules/projectiles/projectile/beams.dm b/code/modules/projectiles/projectile/beams.dm index 06bf1146b40..b5ce31b1681 100644 --- a/code/modules/projectiles/projectile/beams.dm +++ b/code/modules/projectiles/projectile/beams.dm @@ -164,9 +164,9 @@ var/list/beam_master = list() name = "sniper beam" icon_state = "xray" damage = 60 - stun = 5 - weaken = 5 - stutter = 5 + stun = 3 + weaken = 3 + stutter = 3 /obj/item/projectile/beam/stun name = "stun beam" From 13ca926c0fc42a0c615e58cfa139141dce7e09cd Mon Sep 17 00:00:00 2001 From: mwerezak Date: Sat, 14 Feb 2015 19:12:40 -0500 Subject: [PATCH 122/143] Fixes throwing miss chance using min instead of max Also adjusted slightly to make throwing a bit more distinct from projectile weapons. Throwing is worse with range but better up close. --- code/modules/mob/living/carbon/human/human_defense.dm | 6 +++--- code/modules/mob/living/living_defense.dm | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index ac86766bde5..399eabcf048 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -315,11 +315,11 @@ emp_act zone = ran_zone("chest",75) //Hits a random part of the body, geared towards the chest //check if we hit + var/miss_chance = 15 if (O.throw_source) var/distance = get_dist(O.throw_source, loc) - zone = get_zone_with_miss_chance(zone, src, min(15*(distance-2), 0)) - else - zone = get_zone_with_miss_chance(zone, src, 15) + miss_chance = max(15*(distance-2), 0) + zone = get_zone_with_miss_chance(zone, src, miss_chance) if(!zone) visible_message("\blue \The [O] misses [src] narrowly!") diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm index faafc23b2dd..eb0c9ce8599 100644 --- a/code/modules/mob/living/living_defense.dm +++ b/code/modules/mob/living/living_defense.dm @@ -109,7 +109,7 @@ var/miss_chance = 15 if (O.throw_source) var/distance = get_dist(O.throw_source, loc) - miss_chance = min(15*(distance-2), 0) + miss_chance = max(15*(distance-2), 0) if (prob(miss_chance)) visible_message("\blue \The [O] misses [src] narrowly!") From ad24aa8e4748fc6660f3f68f7e7d8ebbedf17804 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Sat, 14 Feb 2015 21:57:22 -0500 Subject: [PATCH 123/143] Adds mercenary sniper rifle Adds the scoped mercenary sniper rifle and ammunition defines. Does not add syndicate uplink option. --- baystation12.dme | 1 + .../objects/items/weapons/storage/boxes.dm | 14 +++++++ code/modules/projectiles/ammunition.dm | 3 +- .../modules/projectiles/ammunition/bullets.dm | 4 +- .../projectiles/guns/launcher/syringe_gun.dm | 1 + .../projectiles/guns/projectile/sniper.dm | 15 ++++--- code/modules/projectiles/projectile.dm | 4 +- .../modules/projectiles/projectile/bullets.dm | 37 ++++++++++-------- icons/obj/ammo.dmi | Bin 4999 -> 13349 bytes icons/obj/gun.dmi | Bin 44204 -> 46616 bytes sound/weapons/gunshot_smg2.ogg | Bin 0 -> 14838 bytes 11 files changed, 50 insertions(+), 29 deletions(-) create mode 100644 sound/weapons/gunshot_smg2.ogg diff --git a/baystation12.dme b/baystation12.dme index 6810ce9c32c..06ddf79d437 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -1338,6 +1338,7 @@ #include "code\modules\projectiles\guns\projectile\pistol.dm" #include "code\modules\projectiles\guns\projectile\revolver.dm" #include "code\modules\projectiles\guns\projectile\shotgun.dm" +#include "code\modules\projectiles\guns\projectile\sniper.dm" #include "code\modules\projectiles\projectile\animate.dm" #include "code\modules\projectiles\projectile\beams.dm" #include "code\modules\projectiles\projectile\bullets.dm" diff --git a/code/game/objects/items/weapons/storage/boxes.dm b/code/game/objects/items/weapons/storage/boxes.dm index 3d29aad51f7..ef6eb1d18ea 100644 --- a/code/game/objects/items/weapons/storage/boxes.dm +++ b/code/game/objects/items/weapons/storage/boxes.dm @@ -219,6 +219,20 @@ new /obj/item/ammo_casing/shotgun/stunshell(src) new /obj/item/ammo_casing/shotgun/stunshell(src) +/obj/item/weapon/storage/box/heavysniperammo + name = "box of 14.5mm AP shells" + desc = "It has a picture of a gun and several warning symbols on the front.
    WARNING: Live ammunition. Misuse may result in serious injury or death." + + New() + ..() + new /obj/item/ammo_casing/a145(src) + new /obj/item/ammo_casing/a145(src) + new /obj/item/ammo_casing/a145(src) + new /obj/item/ammo_casing/a145(src) + new /obj/item/ammo_casing/a145(src) + new /obj/item/ammo_casing/a145(src) + new /obj/item/ammo_casing/a145(src) + /obj/item/weapon/storage/box/flashbangs name = "box of flashbangs (WARNING)" desc = "WARNING: These devices are extremely dangerous and can cause blindness or deafness in repeated use." diff --git a/code/modules/projectiles/ammunition.dm b/code/modules/projectiles/ammunition.dm index 02850db6e0e..d31ba648144 100644 --- a/code/modules/projectiles/ammunition.dm +++ b/code/modules/projectiles/ammunition.dm @@ -18,12 +18,12 @@ BB = new projectile_type(src) pixel_x = rand(-10, 10) pixel_y = rand(-10, 10) - set_dir(pick(cardinal)) //removes the projectile from the ammo casing /obj/item/ammo_casing/proc/expend() . = BB BB = null + set_dir(pick(cardinal)) //spin spent casings update_icon() /obj/item/ammo_casing/attackby(obj/item/weapon/W as obj, mob/user as mob) @@ -118,6 +118,7 @@ user << "You empty [src]." for(var/obj/item/ammo_casing/C in stored_ammo) C.loc = user.loc + C.set_dir(pick(cardinal)) stored_ammo.Cut() update_icon() diff --git a/code/modules/projectiles/ammunition/bullets.dm b/code/modules/projectiles/ammunition/bullets.dm index 9de5fc87c09..0fb5b56d584 100644 --- a/code/modules/projectiles/ammunition/bullets.dm +++ b/code/modules/projectiles/ammunition/bullets.dm @@ -114,7 +114,9 @@ /obj/item/ammo_casing/a145 name = "\improper AP shell casing" desc = "A 14.5mm AP shell." - icon_state = "slshell" + icon_state = "lcasing" + spent_icon = "lcasing-spent" + caliber = "14.5mm" projectile_type = /obj/item/projectile/bullet/rifle/a145 /obj/item/ammo_casing/rocket diff --git a/code/modules/projectiles/guns/launcher/syringe_gun.dm b/code/modules/projectiles/guns/launcher/syringe_gun.dm index b8e1559445f..a515bde7580 100644 --- a/code/modules/projectiles/guns/launcher/syringe_gun.dm +++ b/code/modules/projectiles/guns/launcher/syringe_gun.dm @@ -98,6 +98,7 @@ playsound(src.loc, 'sound/weapons/flipblade.ogg', 50, 1) user.visible_message("[user] draws back the bolt on [src], clicking it into place.", "You draw back the bolt on the [src], loading the spring!") next = darts[1] + user.next_move = world.time + 4 /obj/item/weapon/gun/launcher/syringe/attack_hand(mob/living/user as mob) if(loc == user) diff --git a/code/modules/projectiles/guns/projectile/sniper.dm b/code/modules/projectiles/guns/projectile/sniper.dm index a54e3b58675..93d355df8b3 100644 --- a/code/modules/projectiles/guns/projectile/sniper.dm +++ b/code/modules/projectiles/guns/projectile/sniper.dm @@ -9,11 +9,14 @@ origin_tech = "combat=8;materials=2;syndicate=8" caliber = "14.5mm" recoil = 2 //extra kickback + //fire_sound = 'sound/weapons/sniper.ogg' handle_casings = HOLD_CASINGS load_method = SINGLE_CASING max_shells = 1 ammo_type = /obj/item/ammo_casing/a145 - accuracy = -1 //made this not as bad as the LWAP's penalty because only one shot + //+2 accuracy over the LWAP because only one shot + accuracy = -1 + scoped_accuracy = 2 var/bolt_open = 0 /obj/item/weapon/gun/projectile/heavysniper/update_icon() @@ -36,11 +39,12 @@ else user << "You work the bolt closed." bolt_open = 0 + user.next_move = world.time + 4 //prevent spam, also makes having to work the bolt more of a drawback update_icon() /obj/item/weapon/gun/projectile/heavysniper/special_check(mob/user) if(bolt_open) - user << "You can't fire [src] with the bolt open!" + user << "You can't fire [src] while the bolt is open!" return 0 return ..() @@ -58,11 +62,6 @@ set category = "Object" set name = "Use Scope" set popup_menu = 1 - + toggle_scope(2.0) -//need to override zoom() so that accuracy is properly reset even if we move while zoomed in. -/obj/item/weapon/gun/projectile/heavysniper/zoom() - ..() - if(zoom) - accuracy -= initial(accuracy) //remove the accuracy penalty if zoomed in \ No newline at end of file diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index 03e24899181..6176a485696 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -128,7 +128,7 @@ xo = new_x - starting_loc.x //Called when the projectile intercepts a mob. Returns 1 if the projectile hit the mob, 0 if it missed and should keep flying. -/obj/item/projectile/proc/attack_mob(var/mob/living/target_mob, var/distance, var/miss_modifier = -30) +/obj/item/projectile/proc/attack_mob(var/mob/living/target_mob, var/distance, var/miss_modifier) //accuracy bonus from aiming if (istype(shot_from, /obj/item/weapon/gun)) //If you aim at someone beforehead, it'll hit more often. var/obj/item/weapon/gun/daddy = shot_from //Kinda balanced by fact you need like 2 seconds to aim @@ -137,7 +137,7 @@ miss_modifier += -30 //roll to-hit - var/hit_zone = get_zone_with_miss_chance(def_zone, target_mob, max(miss_modifier + 15*distance, 0)) + var/hit_zone = get_zone_with_miss_chance(def_zone, target_mob, max(miss_modifier + 15*(distance-2), 0)) if(!hit_zone) visible_message("\The [src] misses [target_mob] narrowly!") return 0 diff --git a/code/modules/projectiles/projectile/bullets.dm b/code/modules/projectiles/projectile/bullets.dm index 6a04892ee1a..cb7905d880d 100644 --- a/code/modules/projectiles/projectile/bullets.dm +++ b/code/modules/projectiles/projectile/bullets.dm @@ -25,22 +25,23 @@ damage *= 0.7 //squishy mobs absorb KE return 1 - if(istype(A, /obj/machinery) || istype(A, /obj/structure)) - var/chance = 15 - if(istype(A, /turf/simulated/wall)) - var/turf/simulated/wall/W = A - chance = round(damage/W.damage_cap*100) - else if(istype(A, /obj/machinery/door)) - var/obj/machinery/door/D = A - chance = round(damage/D.maxhealth*100) - else if(istype(A, /obj/structure/girder) || istype(A, /obj/structure/cultgirder)) - chance = 100 - - if(prob(chance)) - if(A.opacity) - //display a message so that people on the other side aren't so confused - A.visible_message("\The [src] pierces through \the [A]!") - return 1 + var/chance = 0 + if(istype(A, /turf/simulated/wall)) + var/turf/simulated/wall/W = A + chance = round(damage/W.damage_cap*150) + else if(istype(A, /obj/machinery/door)) + var/obj/machinery/door/D = A + chance = round(damage/D.maxhealth*100) + else if(istype(A, /obj/structure/girder) || istype(A, /obj/structure/cultgirder)) + chance = 100 + else if(istype(A, /obj/machinery) || istype(A, /obj/structure)) + chance = 15 + + if(prob(chance)) + if(A.opacity) + //display a message so that people on the other side aren't so confused + A.visible_message("\The [src] pierces through \the [A]!") + return 1 return 0 @@ -125,7 +126,9 @@ penetrating = 1 /obj/item/projectile/bullet/rifle/a145 - damage = 90 + damage = 80 + stun = 3 + weaken = 3 penetrating = 5 /* Miscellaneous */ diff --git a/icons/obj/ammo.dmi b/icons/obj/ammo.dmi index e47e53e736913b7b2e3bcf9dbdfdee5939cff7e5..d84132a60c018a0d130ebe00320200ab2d801ec4 100644 GIT binary patch literal 13349 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%0A}zeJisj1Zvus+Kgn#A^mO84pAL&8 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 literal 44204 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 Date: Sun, 15 Feb 2015 22:16:36 +0800 Subject: [PATCH 124/143] Changed supermatter engine manual for thermoelectric engine. Expanded supermatter engine radiator bank. Incinerator disposals outlet moved slightly to prevent collision. Supermatter radiator circulator pump changed to a high-powered pump. Supermatter critical temperature lowered to 5000K. --- code/game/objects/items/weapons/manuals.dm | 137 ++++++++------------- code/modules/supermatter/supermatter.dm | 2 +- maps/exodus-1.dmm | 66 +++++----- 3 files changed, 86 insertions(+), 119 deletions(-) diff --git a/code/game/objects/items/weapons/manuals.dm b/code/game/objects/items/weapons/manuals.dm index f64473ba549..f026313034a 100644 --- a/code/game/objects/items/weapons/manuals.dm +++ b/code/game/objects/items/weapons/manuals.dm @@ -75,10 +75,10 @@ /obj/item/weapon/book/manual/supermatter_engine - name = "Supermatter Engine User's Guide" + name = "Supermatter Engine Operating Manual" icon_state = "bookSupermatter" - author = "Waleed Asad" - title = "Supermatter Engine User's Guide" + author = "Nanotrasen Central Engineering Division" + title = "Supermatter Engine Operating Manual" /obj/item/weapon/book/manual/supermatter_engine/New() ..() @@ -94,95 +94,56 @@ +

    OPERATING MANUAL FOR MK 1 PROTOTYPE THERMOELECTRIC SUPERMATTER ENGINE 'TOMBOLA'


    - Engineering notes on the single-stage supermatter engine,
    - -Waleed Asad

    - - Station,
    - Exodus

    - - A word of caution, do not enter the engine room for any reason without radiation protection and meson scanners on. The status of the engine may be unpredictable even when you believe it is 'off.' This is an important level of personal protection.

    - - The engine has two basic modes of functionality. It has been observed that it is capable of both a safe level of operation and a modified, high output mode.

    - -

    Heat-Primary Mode

    - Notes on starting the basic function mode +

    OPERATING PRINCIPLES

    +
    +
  • The supermatter crystal serves as the fundamental power source of the engine. Upon being charged, it begins to emit large amounts of heat and radiation, as well and oxygen and plasma. As oxygen accelerates the reaction, and plasma carries the risk of fire, these must be filtered out. NOTE: Supermatter radiation will not charge radiation collectors.
  • +
    +
  • Air in the reactor chamber housing the supermatter is circulated through the reactor loop, which passes through the filters and thermoelectric generators. The thermoelectric generators transfer heat from the reactor loop to the colder radiator loop, thereby generating power. Additional power is generated from internal turbines in the circulators.
  • +
    +
  • Air in the radiator loop is circulated through the radiator bank, located in space. This rapidly cools the air, preserving the temperature differential needed for power generation.
  • +
    +
  • The MK 1 Prototype Thermoelectric Supermatter Engine is designed to operate at reactor temperatures of 3000K to 4000K and generate up to 1MW of power. Beyond 1MW, the thermoelectric generators will begin to lose power through electrical discharge, reducing efficiency, but additional power generation remains feasible.
  • +
    +
  • The crystal structure of the supermatter will begin to liquefy if its temperature exceeds 5000K. This eventually results in a massive release of light, heat and radiation, disintegration of both the supermatter crystal and most of the surrounding area, and as as-of-yet poorly documented psychological effects on all animals within a 2km. Appropriate action should be taken to stabilize or eject the supermatter before such occurs.
  • +
    +

    SUPERMATTER HANDLING

    +
  • Do not expose supermatter to oxygen.
  • +
  • Do not touch supermatter without gloves without exosuit protection allow supermatter to contact any solid object apart from specially-designed supporting pallet.
  • +
  • Do not directly view supermatter without meson goggles.
  • +
  • While handles on pallet allow moving the supermatter via pulling, pushing should not be attempted.
  • +
    +

    STARTUP PROCEDURE

      -
    1. Prepare collector arrays: As is standard, begin by wrenching them down, filling six plasma tanks with a plasma canister, and inserting the tank into the collectors one by one. Finally, initialize each collector.
    2. - -
    3. Prepare gas system: Before introducing any gas into the supermatter engine room, it is important to remember the small, but vital steps to preparing this section. First, set the input gas pump and output gas flow pump to 4500 kPa, or maximum flow. Second, switch the digital switching valve into the 'up' position, so the green light is on north side of the valve, in order to circulate the gas back toward the coolers and collectors.
    4. - -
    5. Apply N2 gas: Retrieve the two N2 canisters from storage and bring them to the engine room. Attach one of them to the input section of the engine gas system located next to the collectors. Keep it attached until the N2 pressure is low enough to turn the canister light red. Replace it with the second canister to keep N2 pressure at optimal levels.
    6. - -
    7. Open supermatter shielding: This button is located in the engine room, to the left of the engine monitoring room blast doors. At this point, the supermatter chamber is mostly a gas mixture of N2 and is producing no radiation. It is considered 'safe' up until this point. Do not forget radiation shielding and meson scanners.
    8. - -
    9. Begin primary emitter burst series: Begin by firing four shots into the supermatter using the emitter. It is important to move to this step quickly. The onboard SMES units may not have enough power to run the emitters if left alone too long on-station. This engine can produce enough power on its own to run the entire station, ignoring the SMES units completely, and is wired to do so.
    10. - -
    11. Switch SMES units to primary settings: Maximize input and set the devices to automatically charge, additionally turn their outputs on if they are off unless power is to be saved (Which can be useful in case of later failures).
    12. - -
    13. Begin secondary emitter burst series: Before firing the emitter again, check the power in the line with a multimeter (Do not forget electrical gloves). The engine is running at high efficiency when the value exceeds 200,000 power units.
    14. - -
    15. Maintain engine power: When power in the lines get low, add an additional emitter burst series to bring power to normal levels.
    16. +
    17. Fill reactor loop and radiator loop with two (2) standard canisters of nitrogen gas each.
    18. +
    19. Ensure that pumps and filters are on and operating at maximum power.
    20. +
    21. Fire 5 15 2 UNKNOWN 8-12 pulses from emitter at supermatter crystal. Reactor blast doors must be open for this procedure.
    - - -

    O2-Reaction Mode

    - - The second mode for running the engine uses a gas mixture to produce a reaction within the supermatter. This mode requires the CE's or Atmospheric's help to set up. This is called 'O2-Reaction Mode.'

    - - THIS MODE CAN CAUSE A RUNAWAY REACTION, LEADING TO CATASTROPHIC FAILURE IF NOT MAINTAINED. NEVER FORGET ABOUT THE ENGINE IN THIS MODE.

    - - Additionally, this mode can be used for what is called a 'Cold Start.' If the station has no power in the SMES to run the emitters, using this mode will allow enough power output to run them, and quickly reach an acceptable level of power output.

    - +
    +

    OPERATION AND MAINTENANCE

      -
    1. Prepare collector arrays: As is standard, begin by wrenching them down, filling six plasma tanks with a plasma canister, and inserting the tank into the collectors one by one. Finally, initialize each collector.
    2. - -
    3. Prepare gas system: Before introducing any gas into the supermatter engine room, it is important to remember the small, but vital steps to preparing this section. First, set the input gas pump and output gas flow pump to 4500 kPa, or maximum flow. Second, switch the digital switching valve into the 'up' position, so the green light is on north side of the valve, in order to circulate the gas back toward the coolers and collectors.
    4. - -
    5. Modify the engine room filters: Unlike the Heat-Primary Mode, it is important to change the filters attached to the gas system to stop filtering O2, and start filtering carbon molecules. O2-Reaction Mode produces far more plasma than Heat-Primary, therefore filtering it off is essential.
    6. - -
    7. Switch SMES units to primary settings: Maximize input and set the devices to automatically charge, additionally turn their outputs on if they are off unless power is to be saved (Which can be useful in case of later failures). If you check the power in the system lines at this point, you will find that it is constantly going up. Indeed, with just the addition of O2 to the supermatter, it will begin outputting power.
    8. - -
    9. Begin primary emitter burst series: Begin by firing four shots into the supermatter using the emitter. Do not over power the supermatter. The reaction is self sustaining and propagating. As long as O2 is in the chamber, it will continue outputting MORE power.
    10. - -
    11. Maintain follow up operations: Remember to check the temperature of the core gas and switch to the Heat-Primary function, or vent the core room when problems begin if required.
    12. -

    - -

    Notes on Supermatter Reaction Function and Drawbacks

    - - After several hours of observation, an interesting phenomenon was witnessed. The supermatter undergoes a constant, self-sustaining reaction when given an extremely high O2 concentration. Anything about 80% or higher typically will cause this reaction. The supermatter will continue to react whenever this gas mixture is in the same room as the supermatter.

    - - To understand why O2-Reaction mode is dangerous, the core principle of the supermatter must be understood. The supermatter emits three things when 'not safe,' that is any time it is giving off power. These things are:
    - -
      -
    • Radiation (which is converted into power by the collectors)

    • -
    • Heat (which is removed via the gas exchange system and coolers)

    • -
    • External gas (in the form of plasma and O2)

    • -

    - - When in Heat-Primary mode, far more heat and plasma are produced than radiation. In O2-Reaction mode, very little heat and only moderate amounts of plasma are produced, however HUGE amounts of energy leaving the supermatter is in the form of radiation.

    - - The O2-Reaction engine mode has a single drawback which has been eluded to more than once so far and that is very simple. The engine room will continue to grow hotter as the constant reaction continues. Eventually, there will be what is called a 'critical gas mixture.' This is the point at which the constant adding of plasma to the mixture of air around the supermatter changes the gas concentration to below the tolerance. When this happens, two things occur. First, the supermatter switches to its primary mode of operation wherein huge amounts of heat are produced by the engine rather than low amounts with high power output. Second, an uncontrollable increase in heat within the supermatter chamber will occur. This will lead to a spark-up, igniting the plasma in the supermatter chamber, wildly increasing both pressure and temperature.

    - - While the O2-Reaction mode is dangerous, it does produce heavy amounts of energy. Consider using this mode only in short amounts to fill the SMES, and switch back later in the shift to keep things flowing normally.

    - - -

    Notes on Supermatter Containment and Emergency Procedures

    - - While a constant vigil on the supermatter is not required, regular checkups are important. Check the temperature of gas leaving the supermatter chamber for unsafe levels and ensure that the plasma in the chamber is at a safe concentration. Of course, also make sure the chamber is not on fire. A fire in the core chamber is very difficult to put out. As any toxin scientist can tell you, even low amounts of plasma can burn at very high temperatures. This burning creates a huge increase in pressure and more importantly, temperature of the crystal itself.

    - - The supermatter is strong, but not invincible. When the supermatter is heated too much, its crystal structure will attempt to liquefy. The change in atomic structure of the supermatter leads to a single reaction, a massive explosion. The computer chip attached to the supermatter core will warn the station when stability is threatened. It will then offer a second warning, when things have become dangerously close to total destruction of the core.

    - - Located both within the CE office and engine room is the engine ventilatory control button. This button allows the core vent controls to be accessed, venting the room to space. Remember however, that this process takes time. If a fire is raging, and the pressure is higher than fathomable, it will take a great deal of time to vent the room. Also located in the CE's office is the emergency core eject button. A new core can be ordered from cargo. It is often not worth the lives of the crew to hold on to it, not to mention the structural damage. However, if by some mistake the supermatter is pushed off or removed from the mass driver it sits on, manual reposition will be required. Which is very dangerous and often leads to death.

    - - The supermatter is extremely dangerous. More dangerous than people give it credit for. It can destroy you in an instant, without hesitation, reducing you to a pile of dust. When working closely with supermatter, it is suggested to get a genetic backup and do not wear any items of value to you. The supermatter core can be pulled if grabbed properly by the base, but pushing is not possible.

    - - -

    In Closing

    - - Remember that the supermatter is dangerous, and the core is dangerous still. Venting the core room is always an option if you are even remotely worried, utilizing Atmospherics to properly ready the room once more for core function. It is always a good idea to check up regularly on the temperature of gas leaving the chamber, as well as the power in the system lines. Lastly, once again remember, never touch the supermatter with anything. Ever.

    - - -Waleed Asad, Senior Engine Technician +
  • Ensure that radiation protection and meson goggles are worn at all times while working in the engine room.
  • +
  • Ensure that reactor and radiator loops are undamaged and unobstructed.
  • +
  • Ensure that plasma and oxygen gas exhaust from filters is properly contained or disposed. Do not allow exhaust pressure to exceed 4500 kPa.
  • +
  • Ensure that engine room Area Power Controller (APC) and engine Superconducting Magnetic Energy Storage unit (SMES) are properly charged.
  • +
  • Ensure that reactor temperature does not exceed 5000K. In event of reactor temperature exceeding 5000K, see EMERGENCY COOLING PROCEDURE.
  • +
  • In event of imminent and/or unavoidable delamination, see EJECTION PROCEDURE.
  • + +
    +

    EMERGENCY COOLING PROCEDURE

    +
      +
    1. Open Emergency Cooling Valve 1 and Emergency Cooling Valve 2.
    2. +
    3. When reactor temperature returns to safe operating levels, close Emergency Cooling Valve 1 and Emergency Cooling Valve 2.
    4. +
    5. If reactor temperature does not return to safe operating levels, see EJECTION PROCEDURE.
    6. +
    +
    +

    EJECTION PROCEDURE

    +
      +
    1. Press Engine Ventilatory Control button to open engine core vent to space.
    2. +
    3. Press Emergency Core Eject button to eject supermatter crystal. NOTE: Attempting crystal ejection while engine core vent is closed will result in ejection failure.
    4. +
    5. In event of ejection failure, pending
    6. +
    "} diff --git a/code/modules/supermatter/supermatter.dm b/code/modules/supermatter/supermatter.dm index 422f03c3993..6cdf0c3e91d 100644 --- a/code/modules/supermatter/supermatter.dm +++ b/code/modules/supermatter/supermatter.dm @@ -18,7 +18,7 @@ //Controls how much power is produced by each collector in range - this is the main parameter for tweaking SM balance, as it basically controls how the power variable relates to the rest of the game. #define POWER_FACTOR 1.0 #define DECAY_FACTOR 700 //Affects how fast the supermatter power decays -#define CRITICAL_TEMPERATURE 7000 //K +#define CRITICAL_TEMPERATURE 5000 //K #define CHARGING_FACTOR 0.05 #define DAMAGE_RATE_LIMIT 3 //damage rate cap at power = 300, scales linearly with power diff --git a/maps/exodus-1.dmm b/maps/exodus-1.dmm index 5d3bcb1d24a..9c7004f1f43 100644 --- a/maps/exodus-1.dmm +++ b/maps/exodus-1.dmm @@ -5917,7 +5917,7 @@ "cjO" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/engineering/engine_room) "cjP" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/plating,/area/engineering/engine_room) "cjQ" = (/obj/machinery/atmospherics/portables_connector,/turf/simulated/floor/plating{icon_state = "platebotc"},/area/engineering/engine_room) -"cjR" = (/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/obj/machinery/power/smes/buildable{charge = 2e+006; input_level = 100000; output_level = 200000; RCon_tag = "Engine - Core"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/engineering/engine_room) +"cjR" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{tag = "icon-intact (SOUTHWEST)"; icon_state = "intact"; dir = 10},/turf/space,/area/space) "cjS" = (/obj/machinery/atmospherics/binary/pump,/turf/simulated/floor/plating,/area/engineering/engine_room) "cjT" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/turf/simulated/floor/plating,/area/engineering/engine_waste) "cjU" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engineering/engine_waste) @@ -6361,7 +6361,7 @@ "csq" = (/obj/structure/closet/radiation,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = 28},/turf/simulated/floor,/area/engineering/engine_monitoring) "csr" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/obj/machinery/ai_status_display{layer = 4; pixel_y = 32},/turf/simulated/floor,/area/engineering/engine_monitoring) "css" = (/obj/machinery/alarm{frequency = 1439; pixel_y = 23},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor,/area/engineering/engine_airlock) -"cst" = (/obj/structure/closet/radiation,/obj/item/clothing/glasses/meson,/obj/item/clothing/glasses/meson,/obj/machinery/camera{c_tag = "Engine Room Airlock"; dir = 2; network = list("SS13","Supermatter")},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor,/area/engineering/engine_airlock) +"cst" = (/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/obj/machinery/power/smes/buildable{charge = 2e+006; input_attempt = 1; input_level = 100000; output_level = 200000; RCon_tag = "Engine - Core"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/engineering/engine_room) "csu" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/engineering/engine_airlock) "csv" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) "csw" = (/obj/machinery/computer/drone_control,/turf/simulated/floor/plating,/area/engineering/drone_fabrication) @@ -6820,7 +6820,7 @@ "cBh" = (/turf/simulated/floor{dir = 3; icon_state = "whitered"},/area/medical/virology) "cBi" = (/obj/machinery/light,/obj/machinery/atmospherics/pipe/simple/hidden/purple,/turf/simulated/floor{dir = 3; icon_state = "whitered"},/area/medical/virology) "cBj" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/obj/item/device/radio/intercom{freerange = 1; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 30},/turf/simulated/floor{dir = 3; icon_state = "whitered"},/area/medical/virology) -"cBk" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating/airless,/area/space) +"cBk" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging,/turf/space,/area/space) "cBl" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor{icon_state = "hydrofloor"},/area/rnd/xenobiology) "cBm" = (/obj/machinery/door/window/southright{dir = 1; name = "Containment Pen"; req_access_txt = "47"},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/rnd/xenobiology) "cBn" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/table/reinforced,/obj/machinery/door_control{id = "xenobio4"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access_txt = "55"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/rnd/xenobiology) @@ -6910,7 +6910,7 @@ "cCT" = (/obj/machinery/atmospherics/pipe/tank/air{dir = 8},/turf/simulated/floor/plating,/area/maintenance/engineering) "cCU" = (/obj/item/clothing/shoes/magboots,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/void/engineering,/obj/machinery/door/window/southleft{name = "Engineering Hardsuits"; req_access_txt = "11"},/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/item/clothing/suit/space/void/engineering,/turf/simulated/floor,/area/engineering/engine_eva) "cCV" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/engineering/engine_eva) -"cCW" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor/plating/airless,/area/space) +"cCW" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'KEEP CLEAR OF DOCKING AREA'."; name = "KEEP CLEAR: DOCKING AREA"; pixel_x = -32; pixel_y = 0},/turf/space,/area/space) "cCX" = (/turf/simulated/floor/plating/airless,/area/maintenance/medbay) "cCY" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "virology_airlock"; name = "exterior access button"; pixel_x = 20; pixel_y = 20; req_access_txt = "13"},/turf/simulated/floor/plating/airless,/area/maintenance/medbay) "cCZ" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/green,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) @@ -7028,7 +7028,7 @@ "cFh" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 6},/area/maintenance/engi_shuttle) "cFi" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/maintenance/engi_shuttle) "cFj" = (/obj/machinery/camera{c_tag = "Medbay Operating Theatre 1"; dir = 8; network = list("SS13")},/obj/machinery/button/holosign{pixel_x = 24; pixel_y = 2},/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/simulated/floor{dir = 4; icon_state = "whiteredcorner"},/area/medical/surgery) -"cFk" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/obj/structure/sign/securearea{desc = "A warning sign which reads 'HOT EXHAUST'."; name = "\improper HOT EXHAUST"; pixel_x = -32},/turf/simulated/floor/plating/airless,/area/space) +"cFk" = (/obj/machinery/atmospherics/binary/pump/high_power{dir = 8},/turf/simulated/floor/plating,/area/engineering/engine_room) "cFl" = (/obj/machinery/air_sensor{frequency = 1441; id_tag = "n2_sensor"},/turf/simulated/floor/engine{name = "n2 floor"; nitrogen = 100000; oxygen = 0},/area/engineering/atmos) "cFm" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/green,/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cFn" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) @@ -7080,7 +7080,7 @@ "cGh" = (/obj/structure/table/reinforced,/turf/simulated/floor,/area/engineering/engineering_monitoring) "cGi" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/turf/simulated/floor,/area/engineering/engineering_monitoring) "cGj" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/maintenance/engineering) -"cGk" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 32; pixel_y = 0},/turf/space,/area/space) +"cGk" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating/airless,/area/space) "cGl" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/medical/virology) "cGm" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/structure/sign/directions/medical{dir = 1; icon_state = "direction_med"; pixel_x = 30; pixel_y = 4; tag = "icon-direction_med (NORTH)"},/obj/structure/sign/directions/evac{dir = 8; icon_state = "direction_evac"; pixel_x = 30; pixel_y = -4; tag = "icon-direction_evac (WEST)"},/turf/simulated/floor,/area/engineering) "cGn" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor,/area/engineering) @@ -7121,7 +7121,7 @@ "cGW" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/engineering/engineering_monitoring) "cGX" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering Monitoring Room"; req_access_txt = "11"},/turf/simulated/floor,/area/engineering/engineering_monitoring) "cGY" = (/obj/structure/sign/securearea,/turf/simulated/wall/r_wall,/area/engineering/engineering_monitoring) -"cGZ" = (/obj/effect/landmark{name = "carpspawn"},/obj/structure/grille{density = 0; icon_state = "brokengrille"},/turf/space,/area/space) +"cGZ" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/plating/airless,/area/space) "cHa" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/heat_exchanging{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/turf/space,/area/space) "cHb" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 5},/turf/space,/area/space) "cHc" = (/obj/machinery/door/blast/regular{icon_state = "pdoor1"; id = "EngineVent"; name = "Engine Core Vent"; p_open = 0},/turf/simulated/floor/engine,/area/engineering/engine_room) @@ -7140,7 +7140,7 @@ "cHp" = (/obj/machinery/power/solar{id = "portsolar"; name = "Port Solar Array"},/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/port) "cHq" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 5},/turf/space,/area/space) "cHr" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "EngineRadiatorViewport"; name = "Engine Radiator Viewport Shutter"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/visible/green{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor/plating,/area/engineering/engine_room) -"cHs" = (/obj/machinery/atmospherics/binary/pump{dir = 8},/turf/simulated/floor/plating,/area/engineering/engine_room) +"cHs" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/plating/airless,/area/maintenance/medbay) "cHt" = (/obj/machinery/atmospherics/pipe/manifold/visible/green{dir = 1},/obj/machinery/meter,/turf/simulated/floor/plating,/area/engineering/engine_room) "cHu" = (/obj/machinery/power/supermatter{layer = 4},/obj/machinery/mass_driver{id = "enginecore"},/turf/simulated/floor/engine/nitrogen{icon_state = "gcircuit"; name = "floor"},/area/engineering/engine_room) "cHv" = (/turf/simulated/floor/engine/nitrogen{dir = 8; icon_state = "warnplate"; name = "plating"},/area/engineering/engine_room) @@ -7175,7 +7175,7 @@ "cHY" = (/turf/simulated/wall/r_wall,/area/engineering/engine_waste) "cHZ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating{dir = 8; icon_state = "warnplatecorner"},/area/engineering/engine_waste) "cIa" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor/plating,/area/engineering/engine_waste) -"cIb" = (/obj/structure/lattice,/obj/structure/sign/securearea{desc = "A warning sign which reads 'KEEP CLEAR OF DOCKING AREA'."; name = "KEEP CLEAR: DOCKING AREA"; pixel_x = -32; pixel_y = 0},/turf/space,/area/space) +"cIb" = (/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/obj/structure/sign/securearea{desc = "A warning sign which reads 'HOT EXHAUST'."; name = "\improper HOT EXHAUST"; pixel_x = -32},/turf/simulated/floor/plating/airless,/area/space) "cIc" = (/obj/item/stack/cable_coil,/turf/space,/area/space) "cId" = (/obj/machinery/light/small,/turf/simulated/floor/plating,/area/engineering/engine_waste) "cIe" = (/turf/simulated/floor/plating,/area/engineering/engine_waste) @@ -7234,6 +7234,12 @@ "cJf" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/maintenance/engi_engine) "cJg" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/maintenance/engi_engine) "cJh" = (/turf/simulated/floor/plating{dir = 2; icon_state = "warnplatecorner"},/area/engineering/engine_room) +"cJi" = (/obj/structure/closet/radiation,/obj/item/clothing/glasses/meson,/obj/item/clothing/glasses/meson,/obj/machinery/camera{c_tag = "Engine Room Airlock"; dir = 2; network = list("SS13","Supermatter")},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor,/area/engineering/engine_airlock) +"cJj" = (/obj/effect/landmark{name = "carpspawn"},/obj/structure/grille{density = 0; icon_state = "brokengrille"},/obj/structure/lattice,/turf/space,/area/space) +"cJk" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/turf/space,/area/space) +"cJl" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 5},/obj/structure/lattice,/turf/space,/area/space) +"cJm" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EJECTION/VENTING PORT'."; name = "\improper EJECTION/VENTING PORT"; pixel_y = 32},/turf/space,/area/space) +"cJn" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging,/obj/structure/lattice,/turf/space,/area/space) "cJz" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "robotics_solar_outer"; locked = 1; name = "Engineering External Access"; req_access = null; req_access_txt = "10;13"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/portsolar) "cJA" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1379; id_tag = "robotics_solar_pump"},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "robotics_solar_pump"; tag_exterior_door = "robotics_solar_outer"; frequency = 1379; id_tag = "robotics_solar_airlock"; tag_interior_door = "robotics_solar_inner"; layer = 3.3; pixel_x = 0; pixel_y = -25; req_access_txt = "13"; tag_chamber_sensor = "robotics_solar_sensor"},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "robotics_solar_sensor"; layer = 3.3; pixel_x = 12; pixel_y = -25},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/decal/warning_stripes,/turf/simulated/floor/plating,/area/maintenance/portsolar) "cJB" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "robotics_solar_inner"; locked = 1; name = "Engineering External Access"; req_access = null; req_access_txt = "13"},/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/portsolar) @@ -7448,27 +7454,27 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaaaaaaaaacoxcnzcoNcnzcnzcnzcoQcnzcnzcnzcoQcnzcnzcnzcnzcnzcoPcnzcnHcnzcoOcnKcnzcnzcoHcoFcoGcoEcoCcoDcoCcoCcnFcoAcoBcoycnhcmQcmPcmQcmRcoMcoLcoKcoJcoIcmMcmRczIczJczJczKczLczMczNczOcvNcxNczPczQcxNczRczSczTcvNczUczVcrGaaaaaaaaaaaaaaaaaacqvczWcuMczXcuVczYczZcAactFcAbcAccsPcyXczWcAdcAecqvaaaaaaaaaaaackEcdOcAfcAgcAgcIgcAicAjcAkcAlcAmcAncAocApcAqcokcAraaaaaacrPaafcwjcwjcwjcwjcwjaaackxaafcwjcwjcwjcwjcwjaaacrPaaacyhaaaaaacyhaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaacyhaaaaaacyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaacoYcnzcoNcnzcoZcoScoXcoScoWcoScoXcoScoWcoScoScoScoRcoVcoRcoUcoTcoGcpscptcpucpvcpwcpxcoCcpjcIhcoCcoCcoCcoCcoCcpncpbcpacpbcmRcmRcmRcmRcmRcmRcmRcmRcALczJczJcAMcANcAObPxcAPcvNcAQcARcpycATcAUcAVcAWcvNcAXcAYcrGaaaaaaaaaaaaaaaaaacqvcuQcAZcAectFcBacBbcBcctFcBdcBecBfcBgcBhcBicBjcqvaafaafaaaaaaaaaaaabquaaacdOcBlcBmcBncBocBpcBmcBqcBrcBpcBmcBscdOaaaaaabZSaaaaafaaaaafaaaaafaaackxaaaaafaaaaafaafaafaafcrPaaacyhcyhcyhcyhaaacyhcyhcyhcyhcyhcyhcyhcyhcyhaaacyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabZSaaaaaaaaaaaaaamaaaaaaaaacpzcnzcoNcnzcnHcnGcoNcnzcnHcnGcoNcnzcnHcnGcnzcnzcnLcnzcnHcnGcpAcpQcpTcpNcpOcpVcpWcpUcoCcpDcpFcpBcpCcpLcpMcpHcpJcpMcqbcpMcqacqecqdcqccpZcpZcpYcpXcBVcBWcBWcBXcBYcAObPxcBZcvNcvNcCacCbcCccCbcCacCdcvNcrGcCecrGaaaaaaaaaaaaaaaaaacqvctFcCfcuVctFcCgcChcCictFcCjcCkcqycgvcCmcCncCocrHaaaaaaaaaaaaaaaaaacgwaafcdOcCqcluclUcomclsclpclqcomcloclVclWcdOaaaaaacrPaaactXctXctXctXctXaafckxaafctXctXctXctXctXaafcrPaaacyhcyhcyhcyhaaacyhcyhcyhcyhcyhcyhcyhcyhcyhaaacyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaafaafaafaafaamaafaafaafcpzcrgcrjcrhcricrbcracqZcqYcqXcqWcqVcqUcrbcnzcrgcrfcrecrdcqXcrccqPcqPcqPcqPcqPcqPcqPcqPcqRcjbcpncqScqIcmQcqQcmQcmQcmPcmQcmQcqfcmQcqIcqzcqKcqJcqMciCcCNcCOcCPcCQcAObPwcCRcCScCTcCacAGcAVcBwcCacCWaafcCXcCYcCXaaaaaaaaaaaaaaaaaacqvcCZctDcuQcDacDbcuQcDccDdcDeaafaaachxchFchEclXaaaaaaaaaaacaaaaaaaaaaaaaaacdOcDhcplcplcomcDicplcplcomcDicplcplcdOaafaafcrPaafckVckSckSckSckSckyckxckwckvckvckvckvckUaafcrPaaacyhcyhcyhcyhaaacyhcyhcyhcyhcyhcyhcyhcyhcyhaaacyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPcsbaaaaaaaaaaamaaaaaaaaacsgcsccsdcsecsfcsicshcsjcsfcsicshcsjcsfcsicsmcsmcsncsjcsfcsicskcqPaaacrocrpcrmcrncrkcrlcrUcrVcgYcgYcrScrTcrQcrRcrZcsacrRcrZcrQceXcrXcrWceXcpncpncAOcDNcDOcDPcDQcAObNUcDRcDScDTcCacCbcDUcCbcCacCWaafaaaaafaaaaaaaaaaaaaaaaaaaaacqvcCZcDVcDWcDXcDXcDWcsPcDYcqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacdOcDZcplcplcomcEacplcplcomcEacplcplcdOaaaaaacrPaafcwjcwjcwjcwjcwjaaackxaaacwjcwjcwjcwjcwjaaacrPaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPcClcqLcqLcqLcpEcpIcpIcpIcqLcpIcpPcpIcpGcpIcpPcpIcpGcpIcpPcpIcpGcpIcqLcpIcpRcpIcpGcpIcqNaafaaaceUcsvcexcswcsxchccrUchbcgYcsycsQcsTcgtcsUcspcsocsrcsqcgtcsscsucstceXaaaaafcAOcEBcECcEDaafaaabNUbPxbPxbSkcCaclZcEFclYcCacCWaafaafaaaaaaaaaaaaaaaaaaaaaaaacqvcEHcuXcEIcEJcEJcEIcuQcEKcqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacdOcplcplcplcomcELcplcplcomcELcplcplcdOaacaaacrPaaaaaaaafaafaafaaaaaacmTaafaaaaaaaafaafaaaaaacrPaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaafaafaaaaaaaaqaaaaaaaaaaafcfIcsVcsWcsXcfIcsVcsWcsXcfIcsVcsWcsYcfIaaacfIcsZcsWcsYcfIaaaaafaaaceUceyctcchdceyctactectfcgYctdcthcticgtctgctmctlctkctjcgtcttctoctnceXaaaaaacAOcFgcFhcFiaaaaaabNUbPxbPxbNUcCacmUcmUcmUcCacFkcmWaaaaaaaaaaaaaaaaaaaaaaaaaaacqvcFmcFncuQcuQcuQcuQcuQcFocqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaackEcdOcdOcdOcdOcdOcdOcdOcdOcmYcmYcmYckEaaaaaacrPcrPcrPcrPcrPaaaaaaaaacmZaaaaaaaaacrPcrPcrPbZScrPaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaaaaafaafaaaaamaaaaaaaaaaafcfIcfJcfGcfHcfIcgicfRcfQcfIcfPcfOcfNcfIaafcfIcfMcfLcfKcfIaaaaafaaaceUceWcexceyceyceTcetceucevcewcepceqcercescfDcfCcfFcfEcfjceYcfBcfuceXaafaaacFJcDNcFKcAOcFLaaabNUcFMbPxcFNcFOaafaafaafaaacBkaafaafaaaaaaaaaaaaaaaaaaaaaaaacrHcqvcqvcFPcFQcEIcEIcEIcFRcFPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqpbqpbqpaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaafcfTaafcrPaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaamaaaaaaaafaafcfIchkchlchkcfIchichjchicfIchgchhchgcfIaaacfIchgchgchfcfIaaaaafaaaceUchecexchdceychcchachbcgYcgZcgWcgXcgtcgRcgBcgCcgBcgucgtcgrcgpcgoceXaaLcGgcGgcGgcGgcGgcGgcGgbNUciEciDcGjaafaaaaaaaafcGkcDfaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacGlcEJcEJcEJcEJcEJcGlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaaaaafaaacrPaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaafaamaaaaafaafaaacfIchkchmchkcfIchichnchicfIchgchochgcfIaafcfIchgchgchgcfIaafaafaafcidciecifcigcihcikchpchbcgYcAhchGchHcgtciccimcilciocincgtcipcirciqceXaaacGgcGgcGgcGgcGgcGgcGgcGFcGGcGHbNUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacqvcCmcqxcqxcqxcCocqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPcrPcrPcrPcrPaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbZSaaaaaacfIcfIcfIcfIcfIcfIcfIcfIcfIcfIcfIcfIcfIaaaciscfIcfIcfIcfIaaaaaaaaaaaacjbcjbcjbcjbcjbciycitcitcitcitcjacitciWcivciwcivciucitcitcixcitcitcitcGgcGgcGgcGgcGgcGgcGgaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaacyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafcrPaaaaaaaafaafaaaaafaafaaaaaaaafaafaafaaaaaaaaaaaaaaaaaaaafaaacGQcGRcGRcGRcGScjycjccjdcjecjicjFcjGcjHcjIcjzcjAcjRcjEcjNcjMcjPcjOcjKcjQcjJcjLcjQcitcGgcGgcGgcGgcGgcGgcGgaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafcHncjVcHpaaacHncjVcHpaaacHncjVcHpaafaafaaaaafaafaafaafaafcHqcGRcGRcGRcGScjycjXcjYcjTcjUckzckAcksckuclhcljcldclgckiclcckickickickrckicjZcjScitcGgcGgcGgcGgcGgcGgcGgaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaacHncjWcHpaaacHncjWcHpaaacHncjWcHpaafaafaaaaafaaaaaacHKaafcGQcGRcGRcGRcGScjycjXckTckWckYckZckAclacltcmscjJcjJcjJcmvcmucmIcjJcjJcltcHicHfcHjcitcitcitcIbaafaaIaafaafaafaafaafaafaafaafaafckBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafcHncjWcHpaaacHncjWcHpaafcHncjWcHpaafaaaaaaaafaafcIcaaaaafcHqcGRcGRcGRcGScjycmycmBcmwcmxcmEcmFcmCcmDcHxclnclnclncHlclvcHkclnclncHocHmclecHwcHtcHscHrcmtclmclmclmclmclmclmclmclmclmcllaaackBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaacHncjWcHpaafcHncjWcHpaaacHncjWcHpaaaaaaaaaaaaaafaafaaaaafaaaaaaaaaaaaaafcHYcIecIdcIacHZcHUcjGckecjJcjJcjJcJhcJdcIRcIScIPcIQcIZclkcHScITcHPcIOcIIcINcmtcllcHJcllcHJcllcHJcllcHJcllcHdaafckBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaamaaIaafaaacHncjWcHpaafcHncjWcHpaaacHncjWcHpaafaaaaaaaaaaaaaafaafcIJcIKcIKcIKcIKcILcILcILcILcILcIMcILcitcHBcjJcjJcjJcIAcitcHHcIEcHFcitcIFcIGcIHclecIBcICcIDcitaaacHdcHdcHdcHdcHdcHdcHdcHdcHdcHdaafckBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaafaaaaafaafczCaafaafaafczCaafaaaaafczCaafaaaaaaaaaaaaaaacIUcIVcIWcIXcIYcHCcJacJbcJcciFcJecJfcJgcJecitcIzcIycjJcjJcHNcIwcIxcHAcIfcIwcHRcHLcHmclecHWcHXcHVcitaaacHdcHdcHdcHdcHdcHdcHdcHdcHdcHdaaaaanaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafcydcxzcxycxxcxxcxxcxxcxxcxxcxxcxxcxxcxxcxxczicxzcxzcxzcypcJzcJAcJBcJCcJDcJEcJFcJGcJHcJHcJHcJIcJJcJKcitcHMcHMcjJcjJcHNcHOcHgcHucHvcHOcHRcjJcHScHTcHPcjJcHQcitaaacHdcHdcHdcHdcHdcHdcHdcHdcHdcHdaafckBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYaaactYctYctYctYctYaaactYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaafaaaaafaafcxfaafaaaaafcxfaafaaaaafcxfaafaaaaaaaaaaaaaaacIUcIVcJRcJScJTcJUcIKcJVcJWcJecJecJXcJXcJYcitcHMcHMcjJcjJcHNcHycHgcHhcHecHycHDcmGcmHcHzcHGcHIcHEcitaaacHdcHdcHdcHdcHdcHdcHdcHdcHdcHdaafaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYaaactYctYctYctYctYaaactYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaamaaIaafaafcHncwrcHpaaacHncwrcHpaaacHncwrcHpaafaaaaaaaaaaaaaafaafcKfcIKcIKcIKcIKcKgcKhcKicKicKjcKgcKgcitcitcjGcitcitcitcitcitcHccitcitcitcitcitcjGcitcitcitcitaafcHbcHacHbcHacHbcHacHbcHacHbcHaaaaaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacHncwrcHpaafcHncwrcHpaaacHncwrcHpaaaaaaaaaaafaaaaafaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaaaaafaafaaaaaaaafaafaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafcHncwrcHpaaacHncwrcHpaaacHncwrcHpaafaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaLaaaaafaafaaaaaaaamaamckBckBckBcGZckBckBaanckBckBaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafcHncwrcHpaaacHncwrcHpaafcHncwrcHpaafaafaafaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaaIaaIbZSbZSaaIaaIaaaaaaaaaaaIaaIaaIaaIaaIaaIaaIaaIaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaafaafaafaafaamaafaafaafcpzcrgcrjcrhcricrbcracqZcqYcqXcqWcqVcqUcrbcnzcrgcrfcrecrdcqXcrccqPcqPcqPcqPcqPcqPcqPcqPcqRcjbcpncqScqIcmQcqQcmQcmQcmPcmQcmQcqfcmQcqIcqzcqKcqJcqMciCcCNcCOcCPcCQcAObPwcCRcCScCTcCacAGcAVcBwcCacGZcGkcHscCYcCXaaaaaaaaaaaaaaaaaacqvcCZctDcuQcDacDbcuQcDccDdcDeaafaaachxchFchEclXaaaaaaaaaaacaaaaaaaaaaaaaaacdOcDhcplcplcomcDicplcplcomcDicplcplcdOaafaafcrPaafckVckSckSckSckSckyckxckwckvckvckvckvckUaafcrPaaacyhcyhcyhcyhaaacyhcyhcyhcyhcyhcyhcyhcyhcyhaaacyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPcsbaaaaaaaaaaamaaaaaaaaacsgcsccsdcsecsfcsicshcsjcsfcsicshcsjcsfcsicsmcsmcsncsjcsfcsicskcqPaaacrocrpcrmcrncrkcrlcrUcrVcgYcgYcrScrTcrQcrRcrZcsacrRcrZcrQceXcrXcrWceXcpncpncAOcDNcDOcDPcDQcAObNUcDRcDScDTcCacCbcDUcCbcCacIbcmWcDfaafaaaaaaaaaaaaaaaaaaaaacqvcCZcDVcDWcDXcDXcDWcsPcDYcqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacdOcDZcplcplcomcEacplcplcomcEacplcplcdOaaaaaacrPaafcwjcwjcwjcwjcwjaaackxaaacwjcwjcwjcwjcwjaaacrPaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPcClcqLcqLcqLcpEcpIcpIcpIcqLcpIcpPcpIcpGcpIcpPcpIcpGcpIcpPcpIcpGcpIcqLcpIcpRcpIcpGcpIcqNaafaaaceUcsvcexcswcsxchccrUchbcgYcsycsQcsTcgtcsUcspcsocsrcsqcgtcsscsucJiceXaaaaafcAOcEBcECcEDaafaaabNUbPxbPxbSkcCaclZcEFclYcCaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacqvcEHcuXcEIcEJcEJcEIcuQcEKcqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacdOcplcplcplcomcELcplcplcomcELcplcplcdOaacaaacrPaaaaaaaafaafaafaaaaaacmTaafaaaaaaaafaafaaaaaacrPaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaafaafaaaaaaaaqaaaaaaaaaaafcfIcsVcsWcsXcfIcsVcsWcsXcfIcsVcsWcsYcfIaaacfIcsZcsWcsYcfIaaaaafaaaceUceyctcchdceyctactectfcgYctdcthcticgtctgctmctlctkctjcgtcttctoctnceXaaaaaacAOcFgcFhcFiaaaaaabNUbPxbPxbNUcCacmUcmUcmUcCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacqvcFmcFncuQcuQcuQcuQcuQcFocqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaackEcdOcdOcdOcdOcdOcdOcdOcdOcmYcmYcmYckEaaaaaacrPcrPcrPcrPcrPaaaaaaaaacmZaaaaaaaaacrPcrPcrPbZScrPaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaaaaafaafaaaaamaaaaaaaaaaafcfIcfJcfGcfHcfIcgicfRcfQcfIcfPcfOcfNcfIaafcfIcfMcfLcfKcfIaaaaafaaaceUceWcexceyceyceTcetceucevcewcepceqcercescfDcfCcfFcfEcfjceYcfBcfuceXaafaaacFJcDNcFKcAOcFLaaabNUcFMbPxcFNcFOaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrHcqvcqvcFPcFQcEIcEIcEIcFRcFPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqpbqpbqpaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaafcfTaafcrPaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaamaaaaaaaafaafcfIchkchlchkcfIchichjchicfIchgchhchgcfIaaacfIchgchgchfcfIaaaaafaaaceUchecexchdceychcchachbcgYcgZcgWcgXcgtcgRcgBcgCcgBcgucgtcgrcgpcgoceXaaLcGgcGgcGgcGgcGgcGgcGgbNUciEciDcGjaafaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacGlcEJcEJcEJcEJcEJcGlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaaaaafaaacrPaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaafaamaaaaafaafaaacfIchkchmchkcfIchichnchicfIchgchochgcfIaafcfIchgchgchgcfIaafaafaafcidciecifcigcihcikchpchbcgYcAhchGchHcgtciccimcilciocincgtcipcirciqceXaaacGgcGgcGgcGgcGgcGgcGgcGFcGGcGHbNUaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacqvcCmcqxcqxcqxcCocqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPcrPcrPcrPcrPaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbZSaaaaaacfIcfIcfIcfIcfIcfIcfIcfIcfIcfIcfIcfIcfIaaaciscfIcfIcfIcfIaaaaaaaaaaaacjbcjbcjbcjbcjbciycitcitcitcitcjacitciWcivciwcivciucitcitcixcitcitcitcGgcGgcGgcGgcGgcGgcGgaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaacyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafcrPaaaaaaaafaafaaaaafaafaaaaaaaafaafaafaaaaaaaaaaaaaaaaaaaafaaacGQcGRcGRcGRcGScjycjccjdcjecjicjFcjGcjHcjIcjzcjAcstcjEcjNcjMcjPcjOcjKcjQcjJcjLcjQcitcGgcGgcGgcGgcGgcGgcGgaafaaacGQcjRcGQcjRcGQcjRaafckBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafcHncjVcHpaaacHncjVcHpaaacHncjVcHpaafaafaaaaafaafaafaafaafcHqcGRcGRcGRcGScjycjXcjYcjTcjUckzckAcksckuclhcljcldclgckiclcckickickickrckicjZcjScitcGgcGgcGgcGgcGgcGgcGgaafaafcHdcHdcHdcHdcHdcHdaafckBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaacHncjWcHpaaacHncjWcHpaaacHncjWcHpaafaafaaaaafaaaaaacHKaafcGQcGRcGRcGRcGScjycjXckTckWckYckZckAclacltcmscjJcjJcjJcmvcmucmIcjJcjJcltcHicHfcHjcitcitcitcCWaaaaaaaaaaaaaafaaacBkcBkcBkcBkcBkcBkaafckBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafcHncjWcHpaaacHncjWcHpaafcHncjWcHpaafaaaaaaaafaafcIcaaaaafcHqcGRcGRcGRcGScjycmycmBcmwcmxcmEcmFcmCcmDcHxclnclnclncHlclvcHkclnclncHocHmclecHwcHtcFkcHrcmtclmclmclmclmclmclmcHacHbcHacHbcHacHdaafckBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaacHncjWcHpaafcHncjWcHpaaacHncjWcHpaaaaaaaaaaaaaafaafaaaaafaaaaaaaaaaaaaafcHYcIecIdcIacHZcHUcjGckecjJcjJcjJcJhcJdcIRcIScIPcIQcIZclkcHScITcHPcIOcIIcINcmtcllcHJcllcHJcllcHJcllcHJcllcHJcllcHdaafckBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaamaaIaafaaacHncjWcHpaafcHncjWcHpaaacHncjWcHpaafaaaaaaaaaaaaaafaafcIJcIKcIKcIKcIKcILcILcILcILcILcIMcILcitcHBcjJcjJcjJcIAcitcHHcIEcHFcitcIFcIGcIHclecIBcICcIDcitaaacBkcBkcBkcBkcJncBkcBkcBkcBkcBkcBkcBkaafckBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaafaaaaafaafczCaafaafaafczCaafaaaaafczCaafaaaaaaaaaaaaaaacIUcIVcIWcIXcIYcHCcJacJbcJcciFcJecJfcJgcJecitcIzcIycjJcjJcHNcIwcIxcHAcIfcIwcHRcHLcHmclecHWcHXcHVcitaafcHdcHdcHdcHdcHdcHdcHdcHdcHdcHdcHdcHdaafaanaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafcydcxzcxycxxcxxcxxcxxcxxcxxcxxcxxcxxcxxcxxczicxzcxzcxzcypcJzcJAcJBcJCcJDcJEcJFcJGcJHcJHcJHcJIcJJcJKcitcHMcHMcjJcjJcHNcHOcHgcHucHvcHOcHRcjJcHScHTcHPcjJcHQcitaafcHdcHdcHdcHdcHdcHdcHdcHdcHdcHdcHdcHdaafckBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYaaactYctYctYctYctYaaactYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaafaaaaafaafcxfaafaaaaafcxfaafaaaaafcxfaafaaaaaaaaaaaaaaacIUcIVcJRcJScJTcJUcIKcJVcJWcJecJecJXcJXcJYcitcHMcHMcjJcjJcHNcHycHgcHhcHecHycHDcmGcmHcHzcHGcHIcHEcitaaacBkcBkcBkcBkcJncBkcBkcBkcBkcBkcBkcBkaafaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYaaactYctYctYctYctYaaactYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaamaaIaafaafcHncwrcHpaaacHncwrcHpaaacHncwrcHpaafaaaaaaaaaaaaaafaafcKfcIKcIKcIKcIKcKgcKhcKicKicKjcKgcKgcitcitcjGcitcitcitcitcitcHccitcitcitcitcitcjGcitcitcitcitaafcHdcHdcHdcHdcHdcHdcHdcHdcHdcHdcHdcHdaafaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacHncwrcHpaafcHncwrcHpaaacHncwrcHpaaaaaaaaaaafaaaaafaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaafaaacJmaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaacHqcJkcHqcJkcJlcJkcHqcJkcHqcJkcHqcJkaafaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafcHncwrcHpaaacHncwrcHpaaacHncwrcHpaafaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaLaaaaaaaaaaafaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafcHncwrcHpaaacHncwrcHpaafcHncwrcHpaafaafaafaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaaIaaIbZSbZSaaIaaIaaaaaaaaaaaIaaIaaIaaIaaIaaqaaIaaIaaIaaIaaIaaIaaIaaIcJjaaIaaIaaIaaIaaqaaIaaIaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaafcHncwncHpaaacHncwncHpaaacHncwncHpaafaaIaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaaaaafaaaaaaaaaaafaafaafaaaaaaaafaafaaaaaIaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKncKncKncKncKncKncKnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaamaaIaamaamaaqaaIaaIaaIaaIaamaaIaaIaamcKoaafaaaaaaaaaaaaaaacKpaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaacHKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKncKncKncKncKncKncKncKncKnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa From 512a158d858f3cacdd819a9193b60f5307a1c1cf Mon Sep 17 00:00:00 2001 From: RavingManiac Date: Mon, 16 Feb 2015 00:18:10 +0800 Subject: [PATCH 125/143] Reimplemented TEG after it was overwritten by merge. Also changed names and IDs of some of the blast doors and buttons in the engines. --- maps/exodus-1.dmm | 177 +++++++++++++++++++++++++++------------------- 1 file changed, 103 insertions(+), 74 deletions(-) diff --git a/maps/exodus-1.dmm b/maps/exodus-1.dmm index 0f5fe105075..976678d8e42 100644 --- a/maps/exodus-1.dmm +++ b/maps/exodus-1.dmm @@ -6820,7 +6820,7 @@ "cBh" = (/turf/simulated/floor{dir = 3; icon_state = "whitered"},/area/medical/virology) "cBi" = (/obj/machinery/light,/obj/machinery/atmospherics/pipe/simple/hidden/purple,/turf/simulated/floor{dir = 3; icon_state = "whitered"},/area/medical/virology) "cBj" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/obj/item/device/radio/intercom{freerange = 1; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 30},/turf/simulated/floor{dir = 3; icon_state = "whitered"},/area/medical/virology) -"cBk" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating/airless,/area/space) +"cBk" = (/obj/structure/table/reinforced,/obj/machinery/door_control{desc = "A remote control-switch for the engine control room blast doors."; id = "EngineBlast"; name = "Engine Monitoring Room Blast Doors"; pixel_x = 0; pixel_y = -3; req_access_txt = "10"},/obj/machinery/door_control{desc = "A remote control-switch for the engine charging port."; id = "SupermatterPort"; name = "Reactor Blast Doors"; pixel_x = -6; pixel_y = 7; req_access_txt = "10"},/obj/machinery/door_control{desc = "A remote control-switch for the engine emitter."; id = "EngineEmitter"; name = "Engine Emitter"; normaldoorcontrol = 2; pixel_x = 6; pixel_y = 7; req_access_txt = "10"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/engineering/engine_monitoring) "cBl" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor{icon_state = "hydrofloor"},/area/rnd/xenobiology) "cBm" = (/obj/machinery/door/window/southright{dir = 1; name = "Containment Pen"; req_access_txt = "47"},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/rnd/xenobiology) "cBn" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/table/reinforced,/obj/machinery/door_control{id = "xenobio4"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access_txt = "55"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/rnd/xenobiology) @@ -6910,7 +6910,7 @@ "cCT" = (/obj/machinery/atmospherics/pipe/tank/air{dir = 8},/turf/simulated/floor/plating,/area/maintenance/engineering) "cCU" = (/obj/machinery/alarm{frequency = 1439; pixel_y = 23},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor,/area/engineering/engine_airlock) "cCV" = (/obj/structure/closet/radiation,/obj/item/clothing/glasses/meson,/obj/item/clothing/glasses/meson,/obj/machinery/camera{c_tag = "Engine Room Airlock"; dir = 2; network = list("SS13","Supermatter")},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor,/area/engineering/engine_airlock) -"cCW" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor/plating/airless,/area/space) +"cCW" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{tag = "icon-intact (SOUTHWEST)"; icon_state = "intact"; dir = 10},/turf/space,/area/space) "cCX" = (/turf/simulated/floor/plating/airless,/area/maintenance/medbay) "cCY" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "virology_airlock"; name = "exterior access button"; pixel_x = 20; pixel_y = 20; req_access_txt = "13"},/turf/simulated/floor/plating/airless,/area/maintenance/medbay) "cCZ" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/green,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) @@ -7009,7 +7009,7 @@ "cEO" = (/obj/machinery/camera{c_tag = "SMES"; dir = 8; network = list("SS13","Supermatter")},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor,/area/engineering/engine_smes) "cEP" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor{icon_state = "warningcorner"; dir = 1},/area/engineering/engine_smes) "cEQ" = (/obj/structure/table/reinforced,/obj/machinery/camera{c_tag = "Engine Monitoring Room"; dir = 4; network = list("SS13","Supermatter")},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor,/area/engineering/engine_monitoring) -"cER" = (/obj/structure/table/reinforced,/obj/machinery/door_control{desc = "A remote control-switch for the engine control room blast doors."; id = "EngineBlast"; name = "Engine Room Blast Doors"; pixel_x = 0; pixel_y = -3; req_access_txt = "10"},/obj/machinery/door_control{desc = "A remote control-switch for the engine charging port."; id = "EngineEmitterPort"; name = "Engine Charging Port"; pixel_x = -6; pixel_y = 7; req_access_txt = "10"},/obj/machinery/door_control{desc = "A remote control-switch for the engine emitter."; id = "EngineEmitter"; name = "Engine Emitter"; normaldoorcontrol = 2; pixel_x = 6; pixel_y = 7; req_access_txt = "10"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/engineering/engine_monitoring) +"cER" = (/obj/machinery/alarm{breach_detection = 0; dir = 2; frequency = 1439; name = "Engine Room Air Alarm"; pixel_y = 23},/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 10},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engineering/engine_room) "cES" = (/obj/structure/stool/bed/chair/office/dark,/obj/effect/landmark/start{name = "Station Engineer"},/turf/simulated/floor,/area/engineering/engine_monitoring) "cET" = (/obj/structure/table/reinforced,/obj/machinery/light_switch{pixel_x = 27},/turf/simulated/floor,/area/engineering/engine_monitoring) "cEU" = (/obj/machinery/embedded_controller/radio/airlock/advanced_airlock_controller{id_tag = "engine_room_airlock"; name = "Engine Room Airlock"; pixel_x = -24; tag_airpump = "engine_airlock_pump"; tag_chamber_sensor = "eng_al_c_snsr"; tag_exterior_door = "engine_airlock_exterior"; tag_exterior_sensor = "eng_al_ext_snsr"; tag_interior_door = "engine_airlock_interior"; tag_interior_sensor = "eng_al_int_snsr"},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHEAST)"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 9},/area/engineering/engine_airlock) @@ -7028,7 +7028,7 @@ "cFh" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 6},/area/maintenance/engi_shuttle) "cFi" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/maintenance/engi_shuttle) "cFj" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/engineering/drone_fabrication) -"cFk" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/obj/structure/sign/securearea{desc = "A warning sign which reads 'HOT EXHAUST'."; name = "\improper HOT EXHAUST"; pixel_x = -32},/turf/simulated/floor/plating/airless,/area/space) +"cFk" = (/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/obj/machinery/power/smes/buildable{charge = 2e+006; input_attempt = 1; input_level = 100000; output_level = 200000; RCon_tag = "Engine - Core"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/engineering/engine_room) "cFl" = (/obj/machinery/power/smes/buildable{charge = 1e+007; cur_coils = 4; input_attempt = 1; input_level = 500000; output_level = 500000; RCon_tag = "Engine - Main"},/obj/structure/cable,/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/engineering/engine_smes) "cFm" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/green,/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cFn" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) @@ -7071,16 +7071,16 @@ "cFY" = (/obj/machinery/light{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/obj/machinery/atmospherics/binary/pump{dir = 8},/turf/simulated/floor/plating,/area/engineering/engine_room) "cFZ" = (/obj/machinery/door_control{desc = "A remote control-switch for the engine control room blast doors."; id = "EngineEmitterPortWest"; name = "Engine Room Blast Doors"; pixel_x = 0; pixel_y = 25; req_access_txt = "10"},/obj/machinery/atmospherics/portables_connector{dir = 4},/turf/simulated/floor/plating{icon_state = "platebot"},/area/engineering/engine_room) "cGa" = (/obj/machinery/power/terminal{dir = 4},/obj/structure/cable/yellow,/obj/machinery/power/sensor{name = "Powernet Sensor - Engine Output"; name_tag = "Engine Output"},/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/engineering/engine_room) -"cGb" = (/obj/machinery/alarm{breach_detection = 0; dir = 2; frequency = 1439; name = "Engine Room Air Alarm"; pixel_y = 23},/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 10},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engineering/engine_room) +"cGb" = (/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating,/area/engineering/engine_room) "cGc" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/engineering/engine_room) -"cGd" = (/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/obj/machinery/power/smes/buildable{charge = 2e+006; RCon_tag = "Engine - Core"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/engineering/engine_room) +"cGd" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/engineering/engine_room) "cGe" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/cyan{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/plating,/area/engineering/engine_room) "cGf" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/plating,/area/engineering/engine_room) "cGg" = (/turf/space,/area/shuttle/constructionsite/station) "cGh" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/engineering/engine_room) "cGi" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/plating,/area/engineering/engine_room) "cGj" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/maintenance/engineering) -"cGk" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 32; pixel_y = 0},/turf/space,/area/space) +"cGk" = (/obj/machinery/atmospherics/binary/pump,/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/engineering/engine_room) "cGl" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/medical/virology) "cGm" = (/turf/simulated/floor/plating,/area/engineering/engine_room) "cGn" = (/obj/machinery/light_switch{pixel_x = 12; pixel_y = 25},/obj/machinery/power/apc/super{dir = 1; name = "north bump"; pixel_y = 24},/obj/structure/cable/cyan{d2 = 8; icon_state = "0-8"},/obj/machinery/power/sensor{name = "Powernet Sensor - Engine Power"; name_tag = "Engine Power"},/turf/simulated/floor/plating,/area/engineering/engine_room) @@ -7094,11 +7094,11 @@ "cGv" = (/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/window/brigdoor{dir = 8; name = "Engine Waste"; req_access = null; req_access_txt = "0"; req_one_access_txt = "10;24"},/obj/machinery/atmospherics/portables_connector,/turf/simulated/floor/plating{icon_state = "platebot"},/area/engineering/engine_waste) "cGw" = (/obj/machinery/atmospherics/omni/filter{use_power = 0; tag_east = 1; tag_north = 0; tag_south = 4; tag_west = 2},/turf/simulated/floor/plating,/area/engineering/engine_room) "cGx" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 6},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/engineering/engine_room) -"cGy" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/engineering/engine_room) -"cGz" = (/obj/machinery/atmospherics/pipe/manifold/visible/yellow{dir = 4},/turf/simulated/floor/plating{dir = 8; icon_state = "warnplatecorner"},/area/engineering/engine_room) +"cGy" = (/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/engineering/engine_room) +"cGz" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/engineering/engine_room) "cGA" = (/turf/simulated/floor/plating{dir = 4; icon_state = "warnplatecorner"},/area/engineering/engine_room) -"cGB" = (/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/engineering/engine_room) -"cGC" = (/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/engineering/engine_room) +"cGB" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating{dir = 4; icon_state = "warnplatecorner"},/area/engineering/engine_room) +"cGC" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan{tag = "icon-map (EAST)"; icon_state = "map"; dir = 4},/turf/simulated/floor/plating{dir = 8; icon_state = "warnplatecorner"},/area/engineering/engine_room) "cGD" = (/obj/machinery/atmospherics/binary/pump,/turf/simulated/floor/plating,/area/engineering/engine_room) "cGE" = (/obj/machinery/atmospherics/unary/heat_exchanger{dir = 8},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 9},/area/engineering/engine_waste) "cGF" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'KEEP CLEAR OF DOCKING AREA'."; name = "KEEP CLEAR: DOCKING AREA"; pixel_y = 0},/turf/simulated/wall,/area/maintenance/engineering) @@ -7107,16 +7107,16 @@ "cGI" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/visible/purple{dir = 1},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engineering/engine_waste) "cGJ" = (/obj/machinery/atmospherics/unary/heat_exchanger{dir = 4},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 5},/area/engineering/engine_waste) "cGK" = (/obj/machinery/door/window/brigdoor{dir = 8; name = "Engine Waste"; req_access = null; req_access_txt = "0"; req_one_access_txt = "10;24"},/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 9},/turf/simulated/floor/plating{icon_state = "platebot"},/area/engineering/engine_waste) -"cGL" = (/obj/machinery/atmospherics/pipe/manifold/visible/yellow{dir = 8},/turf/simulated/floor/plating,/area/engineering/engine_room) +"cGL" = (/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/engineering/engine_room) "cGM" = (/obj/machinery/atmospherics/pipe/simple/visible/purple,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/engineering/engine_room) "cGN" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/engineering/engine_room) -"cGO" = (/obj/machinery/atmospherics/pipe/manifold/visible/yellow{dir = 4},/obj/machinery/meter,/turf/simulated/floor/plating,/area/engineering/engine_room) -"cGP" = (/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/valve/digital/open{dir = 4},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/engineering/engine_room) +"cGO" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging,/turf/space,/area/space) +"cGP" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan{dir = 8},/turf/simulated/floor/plating,/area/engineering/engine_room) "cGQ" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 6},/turf/space,/area/space) "cGR" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 4},/turf/space,/area/space) "cGS" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction{dir = 8},/obj/structure/lattice,/obj/structure/grille,/turf/space,/area/space) -"cGT" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 6},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplatecorner"},/area/engineering/engine_room) -"cGU" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{tag = "icon-intact (SOUTHWEST)"; icon_state = "intact"; dir = 10},/turf/simulated/floor/plating{dir = 1; icon_state = "warnplatecorner"},/area/engineering/engine_room) +"cGT" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/manifold/visible/cyan{tag = "icon-map (EAST)"; icon_state = "map"; dir = 4},/turf/simulated/floor/plating,/area/engineering/engine_room) +"cGU" = (/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/engineering/engine_room) "cGV" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/turf/simulated/floor/plating,/area/engineering/engine_room) "cGW" = (/obj/structure/grille,/obj/structure/grille,/turf/space,/area/space) "cGX" = (/obj/machinery/atmospherics/unary/heat_exchanger{dir = 8},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 10},/area/engineering/engine_waste) @@ -7127,16 +7127,16 @@ "cHc" = (/obj/machinery/door/window/brigdoor{dir = 8; name = "Engine Waste"; req_access = null; req_access_txt = "0"; req_one_access_txt = "10;24"},/obj/structure/window/reinforced,/obj/machinery/atmospherics/binary/pump{dir = 8; name = "waste pump"},/turf/simulated/floor/plating{icon_state = "platebot"},/area/engineering/engine_waste) "cHd" = (/obj/machinery/atmospherics/omni/filter{use_power = 0; tag_east = 1; tag_north = 4; tag_south = 0; tag_west = 2},/turf/simulated/floor/plating,/area/engineering/engine_room) "cHe" = (/obj/machinery/atmospherics/pipe/manifold/visible/purple,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/engineering/engine_room) -"cHf" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/engineering/engine_room) +"cHf" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{tag = "icon-intact (SOUTHEAST)"; icon_state = "intact"; dir = 6},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplatecorner"},/area/engineering/engine_room) "cHg" = (/obj/machinery/atmospherics/pipe/manifold/visible/yellow,/turf/simulated/floor/plating,/area/engineering/engine_room) "cHh" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/turf/simulated/floor/plating,/area/engineering/engine_room) "cHi" = (/obj/machinery/power/emitter{anchored = 1; id = "EngineEmitter"; state = 2},/obj/structure/cable/cyan,/turf/simulated/floor/plating,/area/engineering/engine_room) -"cHj" = (/obj/machinery/atmospherics/pipe/manifold/visible/yellow{dir = 4},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engineering/engine_room) +"cHj" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 10},/turf/simulated/floor/plating{dir = 1; icon_state = "warnplatecorner"},/area/engineering/engine_room) "cHk" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/turf/simulated/floor/plating,/area/engineering/engine_room) -"cHl" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan{dir = 8},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/engineering/engine_room) -"cHm" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "EngineRadiatorViewport"; name = "Engine Radiator Viewport Shutter"; opacity = 0},/turf/simulated/floor/plating,/area/engineering/engine_room) +"cHl" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/visible/green{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor/plating,/area/engineering/engine_room) +"cHm" = (/obj/machinery/atmospherics/valve/digital{dir = 4; name = "Emergency Cooling Valve 1"},/turf/simulated/floor/plating,/area/engineering/engine_room) "cHn" = (/obj/machinery/power/solar{id = "portsolar"; name = "Port Solar Array"},/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/port) -"cHo" = (/obj/machinery/atmospherics/pipe/manifold4w/visible/cyan,/obj/machinery/meter,/turf/simulated/floor/plating,/area/engineering/engine_room) +"cHo" = (/obj/machinery/atmospherics/pipe/manifold/visible/green{tag = "icon-map (EAST)"; icon_state = "map"; dir = 4},/turf/simulated/floor/plating,/area/engineering/engine_room) "cHp" = (/obj/machinery/power/solar{id = "portsolar"; name = "Port Solar Array"},/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/port) "cHq" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 5},/turf/space,/area/space) "cHr" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 4},/turf/space,/area/space) @@ -7148,71 +7148,100 @@ "cHx" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating{dir = 8; icon_state = "warnplatecorner"},/area/engineering/engine_waste) "cHy" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor/plating,/area/engineering/engine_waste) "cHz" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/engineering/engine_waste) -"cHA" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/engineering/engine_room) -"cHB" = (/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplatecorner"},/area/engineering/engine_room) -"cHC" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/engineering/engine_room) -"cHD" = (/obj/machinery/light,/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/engineering/engine_room) -"cHE" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/engineering/engine_room) -"cHF" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/visible/yellow,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 6},/area/engineering/engine_room) -"cHG" = (/obj/machinery/door_control{desc = "A remote control-switch for the engine control room blast doors."; id = "EngineBlast"; name = "Engine Room Blast Doors"; pixel_x = 5; pixel_y = -25; req_access_txt = "10"},/obj/machinery/door_control{desc = "A remote control-switch for the engine charging port."; id = "EngineEmitterPort"; name = "Engine Charging Port"; pixel_x = -5; pixel_y = -25; req_access_txt = "10"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/engineering/engine_room) -"cHH" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 10},/area/engineering/engine_room) -"cHI" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/engineering/engine_room) -"cHJ" = (/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating{dir = 1; icon_state = "warnplatecorner"},/area/engineering/engine_room) +"cHA" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'KEEP CLEAR OF DOCKING AREA'."; name = "KEEP CLEAR: DOCKING AREA"; pixel_x = -32; pixel_y = 0},/turf/space,/area/space) +"cHB" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/engineering/engine_room) +"cHC" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan{tag = "icon-map (EAST)"; icon_state = "map"; dir = 4},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engineering/engine_room) +"cHD" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 10},/turf/simulated/floor/plating,/area/engineering/engine_room) +"cHE" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/manifold4w/visible/cyan,/turf/simulated/floor/plating,/area/engineering/engine_room) +"cHF" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "EngineRadiatorViewport"; name = "Engine Radiator Viewport Shutter"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/visible/green{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor/plating,/area/engineering/engine_room) +"cHG" = (/obj/machinery/atmospherics/binary/pump/high_power{dir = 8},/turf/simulated/floor/plating,/area/engineering/engine_room) +"cHH" = (/obj/machinery/atmospherics/pipe/manifold/visible/green{dir = 1},/obj/machinery/meter,/turf/simulated/floor/plating,/area/engineering/engine_room) +"cHI" = (/obj/machinery/atmospherics/pipe/manifold/visible/green{dir = 8},/turf/simulated/floor/plating,/area/engineering/engine_room) +"cHJ" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan,/turf/simulated/floor/plating,/area/engineering/engine_room) "cHK" = (/obj/item/stack/rods{amount = 10},/turf/space,/area/space) -"cHL" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "EngineRadiatorViewport"; name = "Engine Radiator Viewport Shutter"; opacity = 0},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/engineering/engine_room) +"cHL" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating/airless,/area/space) "cHM" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/turf/simulated/floor/plating,/area/engineering/engine_room) "cHN" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 6},/turf/space,/area/space) "cHO" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/heat_exchanging,/turf/space,/area/space) -"cHP" = (/obj/machinery/camera{c_tag = "Engineering Core West"; dir = 8; network = list("SS13","Supermatter")},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engineering/engine_room) -"cHQ" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/regular{icon_state = "pdoor1"; id = "EngineEmitterPort"; layer = 3.3; name = "Engine Blast Doors"},/turf/simulated/floor/plating,/area/engineering/engine_room) +"cHP" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/plating/airless,/area/space) +"cHQ" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/plating/airless,/area/maintenance/medbay) "cHR" = (/obj/machinery/door/airlock/hatch{icon_state = "door_locked"; id_tag = "engine_access_hatch"; locked = 1; req_access_txt = "10"},/obj/machinery/atmospherics/pipe/simple/visible/yellow,/turf/simulated/floor/plating,/area/engineering/engine_room) "cHS" = (/obj/machinery/door/airlock/hatch{icon_state = "door_locked"; id_tag = "engine_access_hatch"; locked = 1; req_access_txt = "10"},/obj/machinery/atmospherics/pipe/simple/visible/cyan,/turf/simulated/floor/plating,/area/engineering/engine_room) -"cHT" = (/obj/machinery/camera{c_tag = "Engineering Core East"; dir = 4; network = list("SS13","Supermatter")},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/engineering/engine_room) -"cHU" = (/obj/machinery/door_control{desc = "A remote control-switch for the engine radiator viewport shutters."; id = "EngineRadiatorViewport"; name = "Engine Radiator Viewport Shutters"; pixel_x = 25; pixel_y = 0; req_access_txt = "10"},/turf/simulated/floor/plating,/area/engineering/engine_room) +"cHT" = (/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/obj/structure/sign/securearea{desc = "A warning sign which reads 'HOT EXHAUST'."; name = "\improper HOT EXHAUST"; pixel_x = -32},/turf/simulated/floor/plating/airless,/area/space) +"cHU" = (/obj/effect/landmark{name = "carpspawn"},/obj/structure/grille{density = 0; icon_state = "brokengrille"},/obj/structure/lattice,/turf/space,/area/space) "cHV" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Solar - Aft Port"},/turf/simulated/floor/plating,/area/maintenance/portsolar) "cHW" = (/obj/machinery/light{dir = 8},/turf/simulated/floor/plating,/area/engineering/engine_room) -"cHX" = (/obj/machinery/door/blast/regular{icon_state = "pdoor1"; id = "EngineRads"; layer = 3.3; name = "Engine Radiation Collector Access"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/engineering/engine_room) -"cHY" = (/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engineering/engine_room) -"cHZ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/engineering/engine_room) -"cIa" = (/obj/machinery/power/rad_collector,/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/engineering/engine_room) -"cIb" = (/obj/structure/lattice,/obj/structure/sign/securearea{desc = "A warning sign which reads 'KEEP CLEAR OF DOCKING AREA'."; name = "KEEP CLEAR: DOCKING AREA"; pixel_x = -32; pixel_y = 0},/turf/space,/area/space) +"cHX" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/turf/space,/area/space) +"cHY" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 5},/obj/structure/lattice,/turf/space,/area/space) +"cHZ" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EJECTION/VENTING PORT'."; name = "\improper EJECTION/VENTING PORT"; pixel_y = 32},/turf/space,/area/space) +"cIa" = (/obj/machinery/door/blast/regular{icon_state = "pdoor1"; id = "EngineVent"; name = "Reactor Vent"; p_open = 0},/turf/simulated/floor/engine,/area/engineering/engine_room) +"cIb" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging,/obj/structure/lattice,/turf/space,/area/space) "cIc" = (/obj/item/stack/cable_coil,/turf/space,/area/space) "cId" = (/obj/machinery/air_sensor{frequency = 1438; id_tag = "engine_sensor"; output = 63},/turf/simulated/floor/engine/nitrogen{icon_state = "warnplate"; name = "plating"},/area/engineering/engine_room) -"cIe" = (/obj/machinery/atmospherics/unary/vent_pump/engine{dir = 1; external_pressure_bound = 100; external_pressure_bound_default = 0; frequency = 1438; icon_state = "map_vent_in"; id_tag = "cooling_out"; initialize_directions = 1; use_power = 1; pressure_checks = 1; pressure_checks_default = 1; pump_direction = 0},/turf/simulated/floor/engine/nitrogen{icon_state = "warnplatecorner"; name = "plating"},/area/engineering/engine_room) -"cIf" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 1; frequency = 1438; icon_state = "map_injector"; id = "cooling_in"; name = "Coolant Injector"; use_power = 1; pixel_y = 1; volume_rate = 700},/turf/simulated/floor/engine/nitrogen{dir = 1; icon_state = "warnplatecorner"; name = "plating"},/area/engineering/engine_room) -"cIg" = (/obj/machinery/power/rad_collector,/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/engineering/engine_room) -"cIh" = (/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/engineering/engine_room) -"cIi" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/plating,/area/engineering/engine_room) -"cIj" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/engineering/engine_room) +"cIe" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/door/blast/regular{icon_state = "pdoor1"; id = "SupermatterPort"; layer = 3.3; name = "Reactor Blast Door"},/turf/simulated/floor/plating,/area/engineering/engine_room) +"cIf" = (/obj/machinery/atmospherics/valve/digital{dir = 4; name = "Emergency Cooling Valve 2"},/turf/simulated/floor/plating,/area/engineering/engine_room) +"cIg" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/engineering/engine_room) +"cIh" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 9},/turf/simulated/floor/plating,/area/engineering/engine_room) +"cIi" = (/obj/machinery/atmospherics/pipe/manifold/visible/purple,/turf/simulated/floor/plating,/area/engineering/engine_room) +"cIj" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/turf/simulated/floor/plating,/area/engineering/engine_room) "cIk" = (/obj/machinery/power/supermatter{layer = 4},/obj/machinery/mass_driver{id = "enginecore"},/turf/simulated/floor/engine/nitrogen{icon_state = "gcircuit"; name = "floor"},/area/engineering/engine_room) "cIl" = (/turf/simulated/floor/engine/nitrogen{dir = 4; icon_state = "warnplate"; name = "plating"},/area/engineering/engine_room) "cIm" = (/turf/simulated/floor/engine/nitrogen{dir = 8; icon_state = "warnplate"; name = "plating"},/area/engineering/engine_room) -"cIn" = (/obj/machinery/door_control{id = "EngineVent"; name = "Engine Ventillatory Control"; pixel_x = -25; pixel_y = 0; req_access_txt = "10"},/turf/simulated/floor/plating,/area/engineering/engine_room) -"cIo" = (/obj/machinery/door_control{desc = "A remote control-switch for opening the engines blast doors."; id = "EngineRads"; name = "Radiation Collector Access"; pixel_x = 0; pixel_y = -25; req_access_txt = "10"},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engineering/engine_room) -"cIp" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/engineering/engine_room) +"cIn" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/turf/simulated/floor/plating{icon_state = "platebot"},/area/engineering/engine_room) +"cIo" = (/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engineering/engine_room) +"cIp" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/regular{icon_state = "pdoor1"; id = "SupermatterPort"; layer = 3.3; name = "Reactor Blast Door"},/turf/simulated/floor/plating,/area/engineering/engine_room) "cIq" = (/turf/simulated/floor/engine/nitrogen,/area/engineering/engine_room) "cIr" = (/obj/machinery/camera{c_tag = "Engineering Core South"; dir = 1; network = list("SS13","Supermatter")},/turf/simulated/floor/engine/nitrogen{dir = 8; icon_state = "warnplate"; name = "plating"},/area/engineering/engine_room) -"cIs" = (/obj/machinery/door_control{desc = "A remote control-switch for opening the engines blast doors."; id = "EngineRads"; name = "Radiation Collector Access"; pixel_x = 0; pixel_y = -25; req_access_txt = "10"},/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/engineering/engine_room) -"cIt" = (/obj/machinery/door/blast/regular{icon_state = "pdoor1"; id = "EngineVent"; name = "Engine Core Vent"; p_open = 0},/turf/simulated/floor/engine,/area/engineering/engine_room) +"cIs" = (/obj/machinery/atmospherics/binary/circulator{anchored = 1},/turf/simulated/floor/plating,/area/engineering/engine_room) +"cIt" = (/obj/machinery/atmospherics/pipe/simple/visible/purple,/turf/simulated/floor/plating,/area/engineering/engine_room) "cIu" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 5},/turf/space,/area/space) "cIv" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/heat_exchanging{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/turf/space,/area/space) -"cIw" = (/obj/effect/landmark{name = "carpspawn"},/obj/structure/grille{density = 0; icon_state = "brokengrille"},/turf/space,/area/space) +"cIw" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/engineering/engine_room) "cIx" = (/obj/effect/landmark{name = "JoinLateCyborg"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/engineering/drone_fabrication) +"cIy" = (/obj/machinery/atmospherics/binary/circulator{anchored = 1; dir = 1},/turf/simulated/floor/plating,/area/engineering/engine_room) +"cIz" = (/obj/machinery/power/generator{anchored = 1; dir = 4},/obj/structure/cable/yellow,/turf/simulated/floor/plating,/area/engineering/engine_room) +"cIA" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/purple,/turf/simulated/floor/plating,/area/engineering/engine_room) +"cIB" = (/obj/machinery/atmospherics/pipe/simple/visible/green{tag = "icon-intact (SOUTHEAST)"; icon_state = "intact"; dir = 6},/turf/simulated/floor/plating,/area/engineering/engine_room) +"cIC" = (/obj/machinery/atmospherics/pipe/simple/visible/green{dir = 9; icon_state = "intact"; tag = "icon-intact (SOUTHEAST)"},/turf/simulated/floor/plating,/area/engineering/engine_room) +"cID" = (/obj/machinery/atmospherics/unary/vent_pump/engine{dir = 1; external_pressure_bound = 100; external_pressure_bound_default = 0; frequency = 1438; icon_state = "map_vent_in"; id_tag = "cooling_out"; initialize_directions = 1; use_power = 1; pressure_checks = 1; pressure_checks_default = 1; pump_direction = 0},/turf/simulated/floor/engine/nitrogen{dir = 1; icon_state = "warnplatecorner"; name = "plating"},/area/engineering/engine_room) +"cIE" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/blast/regular{icon_state = "pdoor1"; id = "SupermatterPort"; layer = 3.3; name = "Reactor Blast Door"},/turf/simulated/floor/plating,/area/engineering/engine_room) +"cIF" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 1; frequency = 1438; icon_state = "map_injector"; id = "cooling_in"; name = "Coolant Injector"; pixel_y = 1; power_rating = 30000; use_power = 1; volume_rate = 700},/turf/simulated/floor/engine/nitrogen{icon_state = "warnplatecorner"; name = "plating"},/area/engineering/engine_room) +"cIG" = (/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/engineering/engine_room) +"cIH" = (/obj/machinery/door_control{id = "EngineVent"; name = "Reactor Ventillatory Control"; pixel_x = -25; pixel_y = 0; req_access_txt = "10"},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/engineering/engine_room) +"cII" = (/obj/machinery/camera{c_tag = "Engineering Core West"; dir = 8; network = list("SS13","Supermatter")},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engineering/engine_room) "cIJ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/maintenance/portsolar) "cIK" = (/turf/simulated/wall/r_wall,/area/maintenance/portsolar) "cIL" = (/turf/simulated/wall/r_wall,/area/maintenance/engi_engine) "cIM" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/maintenance{name = "Engine Waste Handling"; req_one_access_txt = "10;24"},/turf/simulated/floor/plating,/area/maintenance/engi_engine) +"cIN" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 5},/turf/simulated/floor/plating,/area/engineering/engine_room) +"cIO" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/green,/turf/simulated/floor/plating,/area/engineering/engine_room) +"cIP" = (/obj/machinery/door_control{desc = "A remote control-switch for the engine radiator viewport shutters."; id = "EngineRadiatorViewport"; name = "Engine Radiator Viewport Shutters"; pixel_x = 25; pixel_y = 0; req_access_txt = "10"},/obj/machinery/atmospherics/pipe/manifold/visible/purple{dir = 4},/obj/machinery/meter,/turf/simulated/floor/plating,/area/engineering/engine_room) +"cIQ" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/regular{dir = 8; icon_state = "pdoor1"; id = "SupermatterPort"; layer = 3.3; name = "Reactor Blast Door"},/turf/simulated/floor/plating,/area/engineering/engine_room) +"cIR" = (/obj/machinery/camera{c_tag = "Engineering Core East"; dir = 4; network = list("SS13","Supermatter")},/obj/machinery/atmospherics/pipe/manifold/visible/yellow{dir = 8},/obj/machinery/meter,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/engineering/engine_room) +"cIS" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/turf/simulated/floor/plating,/area/engineering/engine_room) +"cIT" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 9},/turf/simulated/floor/plating,/area/engineering/engine_room) "cIU" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/maintenance/portsolar) "cIV" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating/airless,/area/maintenance/portsolar) "cIW" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless,/area/maintenance/portsolar) "cIX" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = -32; pixel_y = 0},/obj/machinery/atmospherics/portables_connector,/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor/plating{dir = 1; icon_state = "warnplatecorner"},/area/maintenance/portsolar) "cIY" = (/obj/machinery/power/terminal{dir = 4},/obj/machinery/light/small{dir = 1},/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/maintenance/portsolar) +"cIZ" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 6},/turf/simulated/floor/plating,/area/engineering/engine_room) "cJa" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = 0},/turf/simulated/wall/r_wall,/area/maintenance/portsolar) "cJb" = (/obj/structure/closet/wardrobe/black,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating{dir = 1; icon_state = "warnplatecorner"},/area/maintenance/engi_engine) "cJc" = (/obj/structure/closet/crate,/obj/item/device/multitool,/obj/item/device/multitool,/obj/item/device/assembly/prox_sensor,/obj/item/device/flashlight,/turf/simulated/floor/plating,/area/maintenance/engi_engine) +"cJd" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "EngineRadiatorViewport"; name = "Engine Radiator Viewport Shutter"; opacity = 0},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/visible/green{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor/plating,/area/engineering/engine_room) "cJe" = (/turf/simulated/floor/plating,/area/maintenance/engi_engine) "cJf" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/maintenance/engi_engine) "cJg" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/maintenance/engi_engine) +"cJh" = (/obj/machinery/atmospherics/pipe/simple/visible/green,/turf/simulated/floor/plating,/area/engineering/engine_room) +"cJi" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 6},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 10},/area/engineering/engine_room) +"cJj" = (/obj/machinery/door_control{desc = "A remote control-switch for the engine control room blast doors."; id = "EngineBlast"; name = "Engine Monitoring Room Blast Doors"; pixel_x = 5; pixel_y = -25; req_access_txt = "10"},/obj/machinery/door_control{desc = "A remote control-switch for the engine charging port."; id = "SupermatterPort"; name = "Reactor Blast Doors"; pixel_x = -5; pixel_y = -25; req_access_txt = "10"},/obj/machinery/light,/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/engineering/engine_room) +"cJk" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 6},/area/engineering/engine_room) +"cJl" = (/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/engineering/engine_room) +"cJm" = (/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/obj/machinery/power/generator{anchored = 1; dir = 4},/obj/structure/cable/yellow,/turf/simulated/floor/plating,/area/engineering/engine_room) +"cJn" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 10},/turf/simulated/floor/plating{dir = 1; icon_state = "warnplatecorner"},/area/engineering/engine_room) +"cJo" = (/obj/machinery/light,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/engineering/engine_room) +"cJp" = (/turf/simulated/floor/plating{dir = 2; icon_state = "warnplatecorner"},/area/engineering/engine_room) "cJz" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "robotics_solar_outer"; locked = 1; name = "Engineering External Access"; req_access = null; req_access_txt = "10;13"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/portsolar) "cJA" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1379; id_tag = "robotics_solar_pump"},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "robotics_solar_pump"; tag_exterior_door = "robotics_solar_outer"; frequency = 1379; id_tag = "robotics_solar_airlock"; tag_interior_door = "robotics_solar_inner"; layer = 3.3; pixel_x = 0; pixel_y = -25; req_access_txt = "13"; tag_chamber_sensor = "robotics_solar_sensor"},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "robotics_solar_sensor"; layer = 3.3; pixel_x = 12; pixel_y = -25},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/decal/warning_stripes,/turf/simulated/floor/plating,/area/maintenance/portsolar) "cJB" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "robotics_solar_inner"; locked = 1; name = "Engineering External Access"; req_access = null; req_access_txt = "13"},/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/portsolar) @@ -7427,27 +7456,27 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaaaaaaaaacoUcptcqzcptcptcptcvIcptcptcptcvIcptcptcptcptcptcqIcptcxscptcyicvqcptcptcyjcwmcykcylcvvcymcvvcvvcxAcyocyncyqcxDcoIcwxcoIcnzcyscyrcyucytcyvcoPcnzczIczJczJczKczLczMczNczOcvNcxNczPczQcxNczRczSczTcvNczUczVcrGaaaaaaaaaaaaaaaaaacqvczWcuMczXcuVczYczZcAactFcAbcAccsPcyXczWcAdcAecqvaaaaaaaaaaaackEcdOcAfcAgcAgcywcAicAjcAkcAlcAmcAncAocApcAqcokcAraaaaaacrPaafcwjcwjcwjcwjcwjaaackxaafcwjcwjcwjcwjcwjaaacrPaaacyhaaaaaacyhaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaacyhaaaaaacyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaacyxcptcqzcptcyycrjcricrjcyzcrjcricrjcyzcrjcrjcrjcyAcyBcyAcrmcyCcykcyDcyFcyEcyHcyGcyIcvvcyKcyJcvvcvvcvvcvvcvvcyLcngczecngcnzcnzcnzcnzcnzcnzcnzcnzcALczJczJcAMcANcAObPxcAPcvNcAQcARczfcATcAUcAVcAWcvNcAXcAYcrGaaaaaaaaaaaaaaaaaacqvcuQcAZcAectFcBacBbcBcctFcBdcBecBfcBgcBhcBicBjcqvaafaafaaaaaaaaaaaabquaaacdOcBlcBmcBncBocBpcBmcBqcBrcBpcBmcBscdOaaaaaabZSaaaaafaaaaafaaaaafaaackxaaaaafaaaaafaafaafaafcrPaaacyhcyhcyhcyhaaacyhcyhcyhcyhcyhcyhcyhcyhcyhaaacyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabZSaaaaaaaaaaaaaamaaaaaaaaaczgcptcqzcptcxscxtcqzcptcxscxtcqzcptcxscxtcptcptcxrcptcxscxtczhczkczjczmczlczocznczpcvvczrczqcztczsczuctuczwczvctuczxctuczycuaczzczBczAczAczDczEcBVcBWcBWcBXcBYcAObPxcBZcvNcvNcCacCbcCccCbcCacCdcvNcrGcCecrGaaaaaaaaaaaaaaaaaacqvctFcCfcuVctFcCgcChcCictFcCjcCkcqycgvcCmcCncCocrHaaaaaaaaaaaaaaaaaacgwaafcdOcCqcluclUcomclsclpclqcomcloclVclWcdOaaaaaacrPaaactXctXctXctXctXaafckxaafctXctXctXctXctXaafcrPaaacyhcyhcyhcyhaaacyhcyhcyhcyhcyhcyhcyhcyhcyhaaacyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaafaafaafaafaamaafaafaafczgczGczFcAhczHcAucAtcAwcAvcAycAxcAAcAzcAucptczGcABcADcACcAycAEcmMcmMcmMcmMcmMcmMcmMcmMcAHcAFcyLcAIcAJcoIcAKcoIcoIcwxcoIcoIcAScoIcAJcBtcBvcBucBxciCcCNcCOcCPcCQcAObPwcCRcCScCTcCacAGcAVcBwcCacCWaafcCXcCYcCXaaaaaaaaaaaaaaaaaacqvcCZctDcuQcDacDbcuQcDccDdcDeaafaaachxchFchEclXaaaaaaaaaaacaaaaaaaaaaaaaaacdOcDhcplcplcomcDicplcplcomcDicplcplcdOaafaafcrPaafckVckSckSckSckSckyckxckwckvckvckvckvckUaafcrPaaacyhcyhcyhcyhaaacyhcyhcyhcyhcyhcyhcyhcyhcyhaaacyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPcByaaaaaaaaaaamaaaaaaaaacBzcBBcBAcBDcBCcBFcBEcBGcBCcBFcBEcBGcBCcBFcBHcBHcBIcBGcBCcBFcBJcmMaaacBLcBKcBNcBMcBPcBOcBRcBQcBScBScBUcBTcCrcCpcCtcCscCpcCtcCrcCucCwcCvcCucyLcyLcAOcDNcDOcDPcDQcAObNUcDRcDScDTcCacCbcDUcCbcCacCWaafaaaaafaaaaaaaaaaaaaaaaaaaaacqvcCZcDVcDWcDXcDXcDWcsPcDYcqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacdOcDZcplcplcomcEacplcplcomcEacplcplcdOaaaaaacrPaafcwjcwjcwjcwjcwjaaackxaaacwjcwjcwjcwjcwjaaacrPaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPcClcqLcqLcqLcpEcpIcpIcpIcqLcpIcpPcpIcpGcpIcpPcpIcpGcpIcpPcpIcpGcpIcqLcpIcpRcpIcpGcpIcqNaafaaacCycCxcCAcCzcCCcCBcBRcCDcBScCEcCGcCFcCIcCHcCKcCJcCMcCLcCIcCUcDgcCVcCuaaaaafcAOcEBcECcEDaafaaabNUbPxbPxbSkcCaclZcEFclYcCacCWaafaafaaaaaaaaaaaaaaaaaaaaaaaacqvcEHcuXcEIcEJcEJcEIcuQcEKcqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacdOcplcplcplcomcELcplcplcomcELcplcplcdOaacaaacrPaaaaaaaafaafaafaaaaaacmTaafaaaaaaaafaafaaaaaacrPaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaafaafaaaaaaaaqaaaaaaaaaaafcfQcldclccDjcfQcldclccDjcfQcldclccDkcfQaaacfQcDlclccDkcfQaaaaafaaacCycEdcDocDncDmcDpcDrcDqcBScDscDucDtcCIcDvcDxcDwcDzcDycCIcDAcDCcDBcCuaaaaaacAOcFgcFhcFiaaaaaabNUbPxbPxbNUcCacmUcmUcmUcCacFkcmWaaaaaaaaaaaaaaaaaaaaaaaaaaacqvcFmcFncuQcuQcuQcuQcuQcFocqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaackEcdOcdOcdOcdOcdOcdOcdOcdOcmYcmYcmYckEaaaaaacrPcrPcrPcrPcrPaaaaaaaaacmZaaaaaaaaacrPcrPcrPbZScrPaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaaaaafaafaaaaamaaaaaaaaaaafcfQcDDcDFcDEcfQcDGcDIcDHcfQcDJcDLcDKcfQaafcfQcDMcEccEbcfQaaaaafaaacCycEGcCAcDmcDmcEecEgcEfcEicEhcEkcEjcEmcElcEocEncEqcEpcEscErcEucEtcCuaafaaacFJcDNcFKcAOcFLaaabNUcFMbPxcFNcFOaafaafaafaaacBkaafaafaaaaaaaaaaaaaaaaaaaaaaaacrHcqvcqvcFPcFQcEIcEIcEIcFRcFPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqpbqpbqpaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaafcfTaafcrPaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaamaaaaaaaafaafcfQcEvcEwcEvcfQcExcEycExcfQcEzcEAcEzcfQaaacfQcEzcEzcEEcfQaaaaafaaacCycBKcIxcDncDmcCBcEMcCDcBScENcEPcEOcCIcEQcEScERcEScETcCIcEUcEWcEVcCuaaLcGgcGgcGgcGgcGgcGgcGgbNUciEciDcGjaafaaaaaaaafcGkcDfaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacGlcEJcEJcEJcEJcEJcGlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaaaaafaaacrPaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaafaamaaaaafaafaaacfQcEvcEXcEvcfQcExcEYcExcfQcEzcEZcEzcfQaafcfQcEzcEzcEzcfQaafaafaafcFbcFacFdcFccFfcFecFjcCDcBScFlcFqcFpcCIcFrcFtcFscFvcFucCIcFwcFycFxcCuaaacGgcGgcGgcGgcGgcGgcGgcGFcGGcGHbNUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacqvcCmcqxcqxcqxcCocqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPcrPcrPcrPcrPaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbZSaaaaaacfQcfQcfQcfQcfQcfQcfQcfQcfQcfQcfQcfQcfQaaacFzcfQcfQcfQcfQaaaaaaaaaaaacAFcAFcAFcAFcAFcFBcFAcFAcFAcFAcFCcFAcFDcFFcFEcFFcFGcFAcFAcFHcFAcFAcFAcGgcGgcGgcGgcGgcGgcGgaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaacyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafcrPaaaaaaaafaafaaaaafaafaaaaaaaafaafaafaaaaaaaaaaaaaaaaaaaafaaacGQcGRcGRcGRcGScFIcFTcFScFVcFUcFXcFWcFZcFYcGbcGacGdcGccGfcGecGicGhcGncGmcGmcGocGpcFAcGgcGgcGgcGgcGgcGgcGgaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafcHncjVcHpaaacHncjVcHpaaacHncjVcHpaafaafaaaaafaafaafaafaafcHqcGRcGRcGRcGScFIcGrcGqcGtcGscGvcGucGxcGwcGzcGycGBcGAcGmcGCcGmcGmcGmcGmcGmcGmcGDcFAcGgcGgcGgcGgcGgcGgcGgaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaacHncjWcHpaaacHncjWcHpaaacHncjWcHpaafaafaaaaafaaaaaacHKaafcGQcGRcGRcGRcGScFIcGrcGEcGJcGIcGKcGucGMcGLcGOcGNcGmcGmcGTcGPcGUcGmcGmcGmcGmcGmcGVcFAcIbaafaaIaafaafaafaafaafaafaafaafaafcGWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafcHncjWcHpaaacHncjWcHpaafcHncjWcHpaafaaaaaaaafaafcIcaaaaafcHqcGRcGRcGRcGScFIcGYcGXcHacGZcHccHbcHecHdcHgcHfcHhcHhcHjcHicHlcHkcHkcHkcHkcHkcHocHmcHscHrcHrcHrcHrcHrcHrcHrcHrcHrcHtaaacGWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaacHncjWcHpaafcHncjWcHpaaacHncjWcHpaaaaaaaaaaaaaafaafaaaaafaaaaaaaaaaaaaafcHucHwcHvcHycHxcHzcFWcGAcGmcHBcHAcHDcHCcHFcHEcHHcHGcHDcHIcHJcGmcHMcHLcHscHtcHNcHtcHNcHtcHNcHtcHNcHtcHOaafcGWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaamaaIaafaaacHncjWcHpaafcHncjWcHpaaacHncjWcHpaafaaaaaaaaaaaaaafaafcIJcIKcIKcIKcIKcILcILcILcILcILcIMcILcFAcGmcGmcHPcFAcFAcFAcHRcHQcHScFAcFAcFAcHTcGmcHUcFAaaacHOcHOcHOcHOcHOcHOcHOcHOcHOcHOaafcGWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaafaaaaafaafczCaafaafaafczCaafaaaaafczCaafaaaaaaaaaaaaaaacIUcIVcIWcIXcIYcHVcJacJbcJcciFcJecJfcJgcJecFAcHWcGmcHYcHXcIacHZcIecIdcIfcHZcIgcHXcIhcGmcIicFAaaacHOcHOcHOcHOcHOcHOcHOcHOcHOcHOaaaaanaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafcydcxzcxycxxcxxcxxcxxcxxcxxcxxcxxcxxcxxcxxczicxzcxzcxzcypcJzcJAcJBcJCcJDcJEcJFcJGcJHcJHcJHcJIcJJcJKcFAcGmcGmcHYcHXcIacIjcIlcIkcImcIjcIgcHXcIhcGmcGmcFAaaacHOcHOcHOcHOcHOcHOcHOcHOcHOcHOaafcGWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYaaactYctYctYctYctYaaactYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaafaaaaafaafcxfaafaaaaafcxfaafaaaaafcxfaafaaaaaaaaaaaaaaacIUcIVcJRcJScJTcJUcIKcJVcJWcJecJecJXcJXcJYcFAcIncGmcIocHXcIacIpcIlcIqcIrcIpcIgcHXcIscGmcGmcFAaaacHOcHOcHOcHOcHOcHOcHOcHOcHOcHOaafaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYaaactYctYctYctYctYaaactYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaamaaIaafaafcHncwrcHpaaacHncwrcHpaaacHncwrcHpaafaaaaaaaaaaaaaafaafcKfcIKcIKcIKcIKcKgcKhcKicKicKjcKgcKgcFAcFAcFWcFAcFAcFAcFAcFAcItcFAcFAcFAcFAcFAcFWcFAcFAaafcIucIvcIucIvcIucIvcIucIvcIucIvaaaaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacHncwrcHpaafcHncwrcHpaaacHncwrcHpaaaaaaaaaaafaaaaafaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaafaaaaafaafaaaaaaaafaafaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafcHncwrcHpaaacHncwrcHpaaacHncwrcHpaafaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaLaaaaafaaaaaacGWcGWcGWcIwcGWcGWaancGWcGWaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafcHncwrcHpaaacHncwrcHpaafcHncwrcHpaafaafaafaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaaIaaIbZSbZSaaIaaIaaaaaaaaaaaIaaIaaIaaIaaIaaIaaIaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaafaafaafaafaamaafaafaafczgczGczFcAhczHcAucAtcAwcAvcAycAxcAAcAzcAucptczGcABcADcACcAycAEcmMcmMcmMcmMcmMcmMcmMcmMcAHcAFcyLcAIcAJcoIcAKcoIcoIcwxcoIcoIcAScoIcAJcBtcBvcBucBxciCcCNcCOcCPcCQcAObPwcCRcCScCTcCacAGcAVcBwcCacHPcHLcHQcCYcCXaaaaaaaaaaaaaaaaaacqvcCZctDcuQcDacDbcuQcDccDdcDeaafaaachxchFchEclXaaaaaaaaaaacaaaaaaaaaaaaaaacdOcDhcplcplcomcDicplcplcomcDicplcplcdOaafaafcrPaafckVckSckSckSckSckyckxckwckvckvckvckvckUaafcrPaaacyhcyhcyhcyhaaacyhcyhcyhcyhcyhcyhcyhcyhcyhaaacyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPcByaaaaaaaaaaamaaaaaaaaacBzcBBcBAcBDcBCcBFcBEcBGcBCcBFcBEcBGcBCcBFcBHcBHcBIcBGcBCcBFcBJcmMaaacBLcBKcBNcBMcBPcBOcBRcBQcBScBScBUcBTcCrcCpcCtcCscCpcCtcCrcCucCwcCvcCucyLcyLcAOcDNcDOcDPcDQcAObNUcDRcDScDTcCacCbcDUcCbcCacHTcmWcDfaafaaaaaaaaaaaaaaaaaaaaacqvcCZcDVcDWcDXcDXcDWcsPcDYcqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacdOcDZcplcplcomcEacplcplcomcEacplcplcdOaaaaaacrPaafcwjcwjcwjcwjcwjaaackxaaacwjcwjcwjcwjcwjaaacrPaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPcClcqLcqLcqLcpEcpIcpIcpIcqLcpIcpPcpIcpGcpIcpPcpIcpGcpIcpPcpIcpGcpIcqLcpIcpRcpIcpGcpIcqNaafaaacCycCxcCAcCzcCCcCBcBRcCDcBScCEcCGcCFcCIcCHcCKcCJcCMcCLcCIcCUcDgcCVcCuaaaaafcAOcEBcECcEDaafaaabNUbPxbPxbSkcCaclZcEFclYcCaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacqvcEHcuXcEIcEJcEJcEIcuQcEKcqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacdOcplcplcplcomcELcplcplcomcELcplcplcdOaacaaacrPaaaaaaaafaafaafaaaaaacmTaafaaaaaaaafaafaaaaaacrPaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaafaafaaaaaaaaqaaaaaaaaaaafcfQcldclccDjcfQcldclccDjcfQcldclccDkcfQaaacfQcDlclccDkcfQaaaaafaaacCycEdcDocDncDmcDpcDrcDqcBScDscDucDtcCIcDvcDxcDwcDzcDycCIcDAcDCcDBcCuaaaaaacAOcFgcFhcFiaaaaaabNUbPxbPxbNUcCacmUcmUcmUcCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacqvcFmcFncuQcuQcuQcuQcuQcFocqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaackEcdOcdOcdOcdOcdOcdOcdOcdOcmYcmYcmYckEaaaaaacrPcrPcrPcrPcrPaaaaaaaaacmZaaaaaaaaacrPcrPcrPbZScrPaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaaaaafaafaaaaamaaaaaaaaaaafcfQcDDcDFcDEcfQcDGcDIcDHcfQcDJcDLcDKcfQaafcfQcDMcEccEbcfQaaaaafaaacCycEGcCAcDmcDmcEecEgcEfcEicEhcEkcEjcEmcElcEocEncEqcEpcEscErcEucEtcCuaafaaacFJcDNcFKcAOcFLaaabNUcFMbPxcFNcFOaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrHcqvcqvcFPcFQcEIcEIcEIcFRcFPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqpbqpbqpaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaafcfTaafcrPaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaamaaaaaaaafaafcfQcEvcEwcEvcfQcExcEycExcfQcEzcEAcEzcfQaaacfQcEzcEzcEEcfQaaaaafaaacCycBKcIxcDncDmcCBcEMcCDcBScENcEPcEOcCIcEQcEScBkcEScETcCIcEUcEWcEVcCuaaLcGgcGgcGgcGgcGgcGgcGgbNUciEciDcGjaafaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacGlcEJcEJcEJcEJcEJcGlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaaaaafaaacrPaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaafaamaaaaafaafaaacfQcEvcEXcEvcfQcExcEYcExcfQcEzcEZcEzcfQaafcfQcEzcEzcEzcfQaafaafaafcFbcFacFdcFccFfcFecFjcCDcBScFlcFqcFpcCIcFrcFtcFscFvcFucCIcFwcFycFxcCuaaacGgcGgcGgcGgcGgcGgcGgcGFcGGcGHbNUaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacqvcCmcqxcqxcqxcCocqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPcrPcrPcrPcrPaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbZSaaaaaacfQcfQcfQcfQcfQcfQcfQcfQcfQcfQcfQcfQcfQaaacFzcfQcfQcfQcfQaaaaaaaaaaaacAFcAFcAFcAFcAFcFBcFAcFAcFAcFAcFCcFAcFDcFFcFEcFFcFGcFAcFAcFHcFAcFAcFAcGgcGgcGgcGgcGgcGgcGgaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaacyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafcrPaaaaaaaafaafaaaaafaafaaaaaaaafaafaafaaaaaaaaaaaaaaaaaaaafaaacGQcGRcGRcGRcGScFIcFTcFScFVcFUcFXcFWcFZcFYcERcGacFkcGccGfcGecGicGhcGncGpcGmcGocGpcFAcGgcGgcGgcGgcGgcGgcGgaafaaacGQcCWcGQcCWcGQcCWaafcGWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafcHncjVcHpaaacHncjVcHpaaacHncjVcHpaafaafaaaaafaafaafaafaafcHqcGRcGRcGRcGScFIcGrcGqcGtcGscGvcGucGxcGwcGCcGLcGzcGBcGdcGycGdcGdcGdcGkcGdcGbcGDcFAcGgcGgcGgcGgcGgcGgcGgaafaafcHOcHOcHOcHOcHOcHOaafcGWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaacHncjWcHpaaacHncjWcHpaaacHncjWcHpaafaafaaaaafaaaaaacHKaafcGQcGRcGRcGRcGScFIcGrcGEcGJcGIcGKcGucGMcGPcGTcGmcGmcGmcHfcGUcHjcGmcGmcGPcHmcHlcHocFAcFAcFAcHAaaaaaaaaaaaaaafaaacGOcGOcGOcGOcGOcGOaafcGWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafcHncjWcHpaaacHncjWcHpaafcHncjWcHpaafaaaaaaaafaafcIcaaaaafcHqcGRcGRcGRcGScFIcGYcGXcHacGZcHccHbcHecHdcHJcHkcHkcHkcHCcHicHBcHkcHkcHEcHDcGNcHIcHHcHGcHFcHscHrcHrcHrcHrcHrcHrcIvcIucIvcIucIvcHOaafcGWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaacHncjWcHpaafcHncjWcHpaaacHncjWcHpaaaaaaaaaaaaaafaafaaaaafaaaaaaaaaaaaaafcHucHwcHvcHycHxcHzcFWcGAcGmcGmcGmcJpcJocJkcJlcJicJjcJncGVcIycJmcIscJhcIZcJdcHscHtcHNcHtcHNcHtcHNcHtcHNcHtcHNcHtcHOaafcGWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaamaaIaafaaacHncjWcHpaafcHncjWcHpaaacHncjWcHpaafaaaaaaaaaaaaaafaafcIJcIKcIKcIKcIKcILcILcILcILcILcIMcILcFAcHWcGmcGmcGmcIIcFAcHScIQcHRcFAcIRcIScITcGNcINcIOcIPcFAaaacGOcGOcGOcGOcIbcGOcGOcGOcGOcGOcGOcGOaafcGWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaafaaaaafaafczCaafaafaafczCaafaaaaafczCaafaaaaaaaaaaaaaaacIUcIVcIWcIXcIYcHVcJacJbcJcciFcJecJfcJgcJecFAcIHcIGcGmcGmcIocIEcIFcIdcIDcIEcIwcHMcHDcGNcIBcICcIAcFAaafcHOcHOcHOcHOcHOcHOcHOcHOcHOcHOcHOcHOaafaanaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafcydcxzcxycxxcxxcxxcxxcxxcxxcxxcxxcxxcxxcxxczicxzcxzcxzcypcJzcJAcJBcJCcJDcJEcJFcJGcJHcJHcJHcJIcJJcJKcFAcIncIncGmcGmcIocIpcIlcIkcImcIpcIwcGmcIycIzcIscGmcItcFAaafcHOcHOcHOcHOcHOcHOcHOcHOcHOcHOcHOcHOaafcGWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYaaactYctYctYctYctYaaactYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaafaaaaafaafcxfaafaaaaafcxfaafaaaaafcxfaafaaaaaaaaaaaaaaacIUcIVcJRcJScJTcJUcIKcJVcJWcJecJecJXcJXcJYcFAcIncIncGmcGmcIocIecIlcIqcIrcIecIgcHhcHgcIfcIicIjcIhcFAaaacGOcGOcGOcGOcIbcGOcGOcGOcGOcGOcGOcGOaafaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYaaactYctYctYctYctYaaactYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaamaaIaafaafcHncwrcHpaaacHncwrcHpaaacHncwrcHpaafaaaaaaaaaaaaaafaafcKfcIKcIKcIKcIKcKgcKhcKicKicKjcKgcKgcFAcFAcFWcFAcFAcFAcFAcFAcIacFAcFAcFAcFAcFAcFWcFAcFAcFAcFAaafcHOcHOcHOcHOcHOcHOcHOcHOcHOcHOcHOcHOaafaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacHncwrcHpaafcHncwrcHpaaacHncwrcHpaaaaaaaaaaafaaaaafaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaafaaacHZaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaacHqcHXcHqcHXcHYcHXcHqcHXcHqcHXcHqcHXaafaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafcHncwrcHpaaacHncwrcHpaaacHncwrcHpaafaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaLaaaaaaaaaaafaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafcHncwrcHpaaacHncwrcHpaafcHncwrcHpaafaafaafaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaaIaaIbZSbZSaaIaaIaaaaaaaaaaaIaaIaaIaaIaaIaaqaaIaaIaaIaaIaaIaaIaaIaaIcHUaaIaaIaaIaaIaaqaaIaaIaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaafcHncwncHpaaacHncwncHpaaacHncwncHpaafaaIaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaaaaafaaaaaaaaaaafaafaafaaaaaaaafaafaaaaaIaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKncKncKncKncKncKncKnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaamaaIaamaamaaqaaIaaIaaIaaIaamaaIaaIaamcKoaafaaaaaaaaaaaaaaacKpaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaacHKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKncKncKncKncKncKncKncKncKnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa From 198bfe97b99091d4f18fc5a12b150e6bfc632985 Mon Sep 17 00:00:00 2001 From: RavingManiac Date: Mon, 16 Feb 2015 00:32:50 +0800 Subject: [PATCH 126/143] Updated changelog. --- html/changelog.html | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/html/changelog.html b/html/changelog.html index 3092f99714a..1dff6048af4 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -56,6 +56,15 @@ should be listed in the changelog upon commit though. Thanks. --> +
    +

    16 February 2015

    +

    RavingManiac updated:

    +
      +
    • Say hello to the new Thermoelectric Supermatter Engine. Read the operating manual to get started.
    • +
    +
    + +

    12 February 2015

    Daranz updated:

    From a48545391ab87c9d4b7b380a5a902ba2a6ca104e Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Sun, 15 Feb 2015 14:36:43 +0100 Subject: [PATCH 127/143] Fixes out of memory runtime errors and excessive HTML parsing. Announcements are no longer parsed twice, avoiding messages such as "T's nice". Fixes the strip_html_properly proc, to avoid out of memory runtimes. --- code/__HELPERS/text.dm | 15 +++++++++++++-- code/defines/procs/announce.dm | 2 +- code/game/machinery/computer/communications.dm | 2 +- .../computer3/computers/communications.dm | 2 +- code/modules/mob/living/silicon/ai/ai.dm | 2 +- 5 files changed, 17 insertions(+), 6 deletions(-) diff --git a/code/__HELPERS/text.dm b/code/__HELPERS/text.dm index c14976bb782..27f5f98aa44 100644 --- a/code/__HELPERS/text.dm +++ b/code/__HELPERS/text.dm @@ -329,14 +329,25 @@ proc/TextPreview(var/string,var/len=40) //This means that it doesn't just remove < and > and call it a day. //Also limit the size of the input, if specified. /proc/strip_html_properly(var/input, var/max_length = MAX_MESSAGE_LEN) + if(!input) + return var/opentag = 1 //These store the position of < and > respectively. var/closetag = 1 while(1) opentag = findtext(input, "<") closetag = findtext(input, ">") - if(!closetag || !opentag) + if(closetag && opentag) + if(closetag < opentag) + input = copytext(input, (closetag + 1)) + else + input = copytext(input, 1, opentag) + copytext(input, (closetag + 1)) + else if(closetag || opentag) + if(opentag) + input = copytext(input, 1, opentag) + else + input = copytext(input, (closetag + 1)) + else break - input = copytext(input, 1, opentag) + copytext(input, (closetag + 1)) if(max_length) input = copytext(input,1,max_length) return sanitize(input) diff --git a/code/defines/procs/announce.dm b/code/defines/procs/announce.dm index b74f7a1c78f..d3aef96c45d 100644 --- a/code/defines/procs/announce.dm +++ b/code/defines/procs/announce.dm @@ -36,7 +36,7 @@ var/tmp/message_title = new_title ? new_title : title var/tmp/message_sound = new_sound ? sound(new_sound) : sound - message = html_encode(message) + message = trim_strip_html_properly(message) message_title = html_encode(message_title) Message(message, message_title) diff --git a/code/game/machinery/computer/communications.dm b/code/game/machinery/computer/communications.dm index f18d906383e..a8403bbede2 100644 --- a/code/game/machinery/computer/communications.dm +++ b/code/game/machinery/computer/communications.dm @@ -110,7 +110,7 @@ if(message_cooldown) usr << "Please allow at least one minute to pass between announcements" return - var/input = stripped_input(usr, "Please write a message to announce to the station crew.", "Priority Announcement") + var/input = input(usr, "Please write a message to announce to the station crew.", "Priority Announcement") if(!input || !(usr in view(1,src))) return crew_announcement.Announce(input) diff --git a/code/game/machinery/computer3/computers/communications.dm b/code/game/machinery/computer3/computers/communications.dm index bb268ba0c0d..527a2e2c5ae 100644 --- a/code/game/machinery/computer3/computers/communications.dm +++ b/code/game/machinery/computer3/computers/communications.dm @@ -115,7 +115,7 @@ if(message_cooldown) usr << "Please allow at least one minute to pass between announcements" return - var/input = stripped_input(usr, "Please write a message to announce to the station crew.", "Priority Announcement") + var/input = input(usr, "Please write a message to announce to the station crew.", "Priority Announcement") if(!input || !interactable()) return crew_announcement.Announce(input) diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index ff948d23870..62accdb198e 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -368,7 +368,7 @@ var/list/ai_verbs_default = list( if(message_cooldown) src << "Please allow one minute to pass between announcements." return - var/input = stripped_input(usr, "Please write a message to announce to the station crew.", "A.I. Announcement") + var/input = input(usr, "Please write a message to announce to the station crew.", "A.I. Announcement") if(!input) return From 03e8acd957d9dd4835597868ea10a4031435daf7 Mon Sep 17 00:00:00 2001 From: SkyMarshal Date: Sun, 15 Feb 2015 10:45:34 -0700 Subject: [PATCH 128/143] Fixes errors in energy/special.dm --- code/modules/projectiles/guns/energy/special.dm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/code/modules/projectiles/guns/energy/special.dm b/code/modules/projectiles/guns/energy/special.dm index 000f1dd1231..7a5f81a8743 100644 --- a/code/modules/projectiles/guns/energy/special.dm +++ b/code/modules/projectiles/guns/energy/special.dm @@ -160,7 +160,7 @@ obj/item/weapon/gun/energy/staff/focus /obj/item/weapon/gun/energy/icarus name = "rubber ducky" desc = "It's a cute rubber duck. With an evil gleam in it's eye." - projectile_type = "/obj/item/projectile/icarus/pointdefense" + projectile_type = /obj/item/projectile/icarus/pointdefense icon = 'icons/obj/watercloset.dmi' icon_state = "rubberducky" item_state = "rubberducky" @@ -168,11 +168,11 @@ obj/item/weapon/gun/energy/staff/focus silenced = 1 /obj/item/weapon/gun/energy/icarus/attack_self(mob/living/user as mob) - if(projectile_type == "/obj/item/projectile/icarus/pointdefense") - projectile_type = "/obj/item/projectile/icarus/guns" + if(projectile_type == /obj/item/projectile/icarus/pointdefense) + projectile_type = /obj/item/projectile/icarus/guns user << "You inform the Icarus to switch to the main guns." else - projectile_type = "/obj/item/projectile/icarus/pointdefense" + projectile_type = /obj/item/projectile/icarus/pointdefense user << "You inform the Icarus to switch to the point-defense lasers." . = ..() @@ -202,5 +202,5 @@ obj/item/weapon/gun/energy/staff/focus var/type = input(user,"What projectile type?","Projectile", null) as null|anything in typesof(/obj/item/projectile) if(!type) return ..() - - . = ..() \ No newline at end of file + projectile_type = type + . = ..() From 2a4d1b08cd97e30e64d06b87417a14e1692f4931 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Sun, 15 Feb 2015 20:27:45 -0500 Subject: [PATCH 129/143] Fixes beakers splashing onto the dart gun when being loaded. --- code/modules/projectiles/guns/projectile/dartgun.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/modules/projectiles/guns/projectile/dartgun.dm b/code/modules/projectiles/guns/projectile/dartgun.dm index a4fca2f2a46..4d90a0fef3c 100644 --- a/code/modules/projectiles/guns/projectile/dartgun.dm +++ b/code/modules/projectiles/guns/projectile/dartgun.dm @@ -114,6 +114,7 @@ beakers += B user << "\blue You slot [B] into [src]." src.updateUsrDialog() + return 1 ..() //fills the given dart with reagents From 3c1ec28a37edc85b40cbd067ecd40e671e0519be Mon Sep 17 00:00:00 2001 From: mwerezak Date: Sun, 15 Feb 2015 22:42:03 -0500 Subject: [PATCH 130/143] Reorganizes colt pistols, moves renaming verb --- .../crates_lockers/closets/secure/security.dm | 4 +- .../projectiles/guns/projectile/pistol.dm | 32 +++++++-- .../projectiles/guns/projectile/revolver.dm | 69 ++++--------------- 3 files changed, 41 insertions(+), 64 deletions(-) diff --git a/code/game/objects/structures/crates_lockers/closets/secure/security.dm b/code/game/objects/structures/crates_lockers/closets/secure/security.dm index 0bb76d53692..672978400c0 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/security.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/security.dm @@ -54,7 +54,7 @@ new /obj/item/weapon/storage/box/ids(src) new /obj/item/weapon/storage/box/ids( src ) new /obj/item/weapon/gun/energy/gun(src) - new /obj/item/weapon/gun/projectile/detective/flash(src) + new /obj/item/weapon/gun/projectile/colt/flash(src) new /obj/item/device/flash(src) return @@ -262,7 +262,7 @@ new /obj/item/ammo_magazine/c45m/rubber(src) new /obj/item/ammo_magazine/c45m/rubber(src) new /obj/item/taperoll/police(src) - new /obj/item/weapon/gun/projectile/detective(src) + new /obj/item/weapon/gun/projectile/colt/detective(src) new /obj/item/clothing/accessory/holster/armpit(src) return diff --git a/code/modules/projectiles/guns/projectile/pistol.dm b/code/modules/projectiles/guns/projectile/pistol.dm index 12f1f966012..839289e2c2e 100644 --- a/code/modules/projectiles/guns/projectile/pistol.dm +++ b/code/modules/projectiles/guns/projectile/pistol.dm @@ -1,20 +1,38 @@ -/obj/item/weapon/gun/projectile/detective +/obj/item/weapon/gun/projectile/colt name = "\improper Colt M1911" - desc = "A cheap Martian knock-off of a Colt M1911. Uses less-than-lethal .45 rounds." + desc = "A cheap Martian knock-off of a Colt M1911." + magazine_type = /obj/item/ammo_magazine/c45m icon_state = "colt" caliber = ".45" origin_tech = "combat=2;materials=2" load_method = MAGAZINE - magazine_type = /obj/item/ammo_magazine/c45m/rubber -/obj/item/weapon/gun/projectile/detective/flash +/obj/item/weapon/gun/projectile/colt/flash name = "\improper Colt M1911 signal pistol" desc = "A cheap Martian knock-off of a Colt M1911. Uses .45 signal flash rounds." magazine_type = /obj/item/ammo_magazine/c45m/flash -/obj/item/weapon/gun/projectile/detective/colt - desc = "A cheap Martian knock-off of a Colt M1911." - magazine_type = /obj/item/ammo_magazine/c45m +/obj/item/weapon/gun/projectile/colt/detective + desc = "A cheap Martian knock-off of a Colt M1911. Uses less-than-lethal .45 rounds." + magazine_type = /obj/item/ammo_magazine/c45m/rubber + +/obj/item/weapon/gun/projectile/colt/detective/verb/rename_gun() + set name = "Name Gun" + set category = "Object" + set desc = "Rename your gun. If you're the detective." + + var/mob/M = usr + if(!M.mind) return 0 + if(!M.mind.assigned_role == "Detective") + M << "You don't feel cool enough to name this gun, chump." + return 0 + + var/input = stripped_input(usr,"What do you want to name the gun?", ,"", MAX_NAME_LEN) + + if(src && input && !M.stat && in_range(M,src)) + name = input + M << "You name the gun [input]. Say hello to your new friend." + return 1 /obj/item/weapon/gun/projectile/silenced name = "silenced pistol" diff --git a/code/modules/projectiles/guns/projectile/revolver.dm b/code/modules/projectiles/guns/projectile/revolver.dm index 0d23d63d7be..9bef0c40d34 100644 --- a/code/modules/projectiles/guns/projectile/revolver.dm +++ b/code/modules/projectiles/guns/projectile/revolver.dm @@ -23,61 +23,20 @@ origin_tech = "combat=2;materials=2" ammo_type = /obj/item/ammo_casing/c38 - special_check(var/mob/living/carbon/human/M) - if(caliber == initial(caliber) && prob(70 - (loaded.len * 10))) //minimum probability of 10, maximum of 60 - M << "[src] blows up in your face." - M.take_organ_damage(0,20) - M.drop_item() - del(src) - return 0 - return ..() +/obj/item/weapon/gun/projectile/revolver/detective/verb/rename_gun() + set name = "Name Gun" + set category = "Object" + set desc = "Click to rename your gun. If you're the detective." - verb/rename_gun() - set name = "Name Gun" - set category = "Object" - set desc = "Click to rename your gun. If you're the detective." + var/mob/M = usr + if(!M.mind) return 0 + if(!M.mind.assigned_role == "Detective") + M << "You don't feel cool enough to name this gun, chump." + return 0 - var/mob/M = usr - if(!M.mind) return 0 - if(!M.mind.assigned_role == "Detective") - M << "You don't feel cool enough to name this gun, chump." - return 0 + var/input = stripped_input(usr,"What do you want to name the gun?", ,"", MAX_NAME_LEN) - var/input = stripped_input(usr,"What do you want to name the gun?", ,"", MAX_NAME_LEN) - - if(src && input && !M.stat && in_range(M,src)) - name = input - M << "You name the gun [input]. Say hello to your new friend." - return 1 - - attackby(var/obj/item/A as obj, mob/user as mob) - ..() - if(istype(A, /obj/item/weapon/screwdriver)) - if(caliber == "38") - user << "You begin to reinforce the barrel of [src]." - if(loaded.len) - afterattack(user, user) //you know the drill - playsound(user, fire_sound, 50, 1) - user.visible_message("[src] goes off!", "[src] goes off in your face!") - return - if(do_after(user, 30)) - if(loaded.len) - user << "You can't modify it!" - return - caliber = "357" - desc = "The barrel and chamber assembly seems to have been modified." - user << "You reinforce the barrel of [src]! Now it will fire .357 rounds." - else if (caliber == "357") - user << "You begin to revert the modifications to [src]." - if(loaded.len) - afterattack(user, user) //and again - playsound(user, fire_sound, 50, 1) - user.visible_message("[src] goes off!", "[src] goes off in your face!") - return - if(do_after(user, 30)) - if(loaded.len) - user << "You can't modify it!" - return - caliber = "38" - desc = initial(desc) - user << "You remove the modifications on [src]! Now it will fire .38 rounds." + if(src && input && !M.stat && in_range(M,src)) + name = input + M << "You name the gun [input]. Say hello to your new friend." + return 1 From 83780ef550657694600495604369b1cce3956178 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Mon, 16 Feb 2015 00:55:23 -0500 Subject: [PATCH 131/143] Adds sts-35 automatic rifle --- code/modules/projectiles/ammunition/boxes.dm | 9 +++++++++ .../modules/projectiles/ammunition/bullets.dm | 2 +- .../projectiles/guns/projectile/automatic.dm | 18 +++++++++++++++++- .../projectiles/guns/projectile/sniper.dm | 2 +- .../modules/projectiles/projectile/bullets.dm | 2 +- icons/obj/ammo.dmi | Bin 13349 -> 13975 bytes icons/obj/gun.dmi | Bin 46616 -> 47244 bytes 7 files changed, 29 insertions(+), 4 deletions(-) diff --git a/code/modules/projectiles/ammunition/boxes.dm b/code/modules/projectiles/ammunition/boxes.dm index 14b176c0482..3466f40b48b 100644 --- a/code/modules/projectiles/ammunition/boxes.dm +++ b/code/modules/projectiles/ammunition/boxes.dm @@ -130,6 +130,15 @@ /obj/item/ammo_magazine/a762/empty initial_ammo = 0 +/obj/item/ammo_magazine/c762 + name = "magazine (7.62mm)" + icon_state = "c762" + mag_type = MAGAZINE + caliber = "a762" + ammo_type = /obj/item/ammo_casing/a762 + max_ammo = 20 + multiple_sprites = 1 + /obj/item/ammo_magazine/chameleon name = "magazine (.45)" icon_state = "45" diff --git a/code/modules/projectiles/ammunition/bullets.dm b/code/modules/projectiles/ammunition/bullets.dm index 0fb5b56d584..67308c50f7e 100644 --- a/code/modules/projectiles/ammunition/bullets.dm +++ b/code/modules/projectiles/ammunition/bullets.dm @@ -112,7 +112,7 @@ projectile_type = /obj/item/projectile/bullet/rifle/a762 /obj/item/ammo_casing/a145 - name = "\improper AP shell casing" + name = "shell casing" desc = "A 14.5mm AP shell." icon_state = "lcasing" spent_icon = "lcasing-spent" diff --git a/code/modules/projectiles/guns/projectile/automatic.dm b/code/modules/projectiles/guns/projectile/automatic.dm index eb5cb3c1055..c518a11a572 100644 --- a/code/modules/projectiles/guns/projectile/automatic.dm +++ b/code/modules/projectiles/guns/projectile/automatic.dm @@ -25,7 +25,7 @@ /obj/item/weapon/gun/projectile/automatic/c20r name = "\improper C-20r SMG" - desc = "A lightweight, fast firing gun, for when you REALLY need someone dead. Uses 12mm rounds. Has a 'Scarborough Arms - Per falcis, per pravitas' buttstamp" + desc = "A lightweight, fast firing gun, for when you REALLY need someone dead. Uses 12mm pistol rounds. Has a 'Scarborough Arms - Per falcis, per pravitas' buttstamp" icon_state = "c20r" item_state = "c20r" w_class = 3 @@ -47,6 +47,22 @@ icon_state = "c20r" return +/obj/item/weapon/gun/projectile/automatic/sts35 + name = "\improper STS-35 Automatic Rifle" + desc = "A durable, rugged looking automatic weapon of make popular on the frontier, despite it's bulk. Uses 7.62mm rounds. It is unmarked." + icon_state = "assltrifle" + item_state = "shotgun" + w_class = 4 + force = 10 + caliber = "a762" + origin_tech = "combat=5;materials=1;syndicate=8" + slot_flags = SLOT_BACK + load_method = MAGAZINE + magazine_type = /obj/item/ammo_magazine/c762 + +/obj/item/weapon/gun/projectile/automatic/sts35/update_icon() + ..() + icon_state = (ammo_magazine)? "assltrifle" : "assltrifle-noclip" /obj/item/weapon/gun/projectile/automatic/l6_saw name = "\improper L6 SAW" diff --git a/code/modules/projectiles/guns/projectile/sniper.dm b/code/modules/projectiles/guns/projectile/sniper.dm index 93d355df8b3..1cea6fdc2e8 100644 --- a/code/modules/projectiles/guns/projectile/sniper.dm +++ b/code/modules/projectiles/guns/projectile/sniper.dm @@ -2,7 +2,7 @@ name = "\improper PTRS-7 rifle" desc = "A portable anti-armour rifle fitted with a scope. Fires 14.5mm AP shells." icon_state = "heavysniper" - item_state = "shotgun" + item_state = "sniper0" w_class = 4 force = 10 slot_flags = SLOT_BACK diff --git a/code/modules/projectiles/projectile/bullets.dm b/code/modules/projectiles/projectile/bullets.dm index cb7905d880d..93f183ba7d7 100644 --- a/code/modules/projectiles/projectile/bullets.dm +++ b/code/modules/projectiles/projectile/bullets.dm @@ -122,7 +122,7 @@ /* "Rifle" rounds */ /obj/item/projectile/bullet/rifle/a762 - damage = 25 + damage = 30 penetrating = 1 /obj/item/projectile/bullet/rifle/a145 diff --git a/icons/obj/ammo.dmi b/icons/obj/ammo.dmi index d84132a60c018a0d130ebe00320200ab2d801ec4..05f0fbaecf2417b212206ecd83176e2d23008288 100644 GIT binary patch literal 13975 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%0A}zeJisj1Zvus+Kgn#A^mO84pAL&8 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 Date: Mon, 16 Feb 2015 00:58:00 -0500 Subject: [PATCH 132/143] Fixes quoted paths --- code/modules/projectiles/guns/energy/pulse.dm | 4 ++-- code/modules/projectiles/guns/energy/special.dm | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/code/modules/projectiles/guns/energy/pulse.dm b/code/modules/projectiles/guns/energy/pulse.dm index 03510d8d59c..82ab47438b8 100644 --- a/code/modules/projectiles/guns/energy/pulse.dm +++ b/code/modules/projectiles/guns/energy/pulse.dm @@ -40,7 +40,7 @@ /obj/item/weapon/gun/energy/pulse_rifle/destroyer name = "pulse destroyer" desc = "A heavy-duty, pulse-based energy weapon. Because of its complexity and cost, it is rarely seen in use except by specialists." - cell_type = "/obj/item/weapon/cell/infinite" + cell_type = /obj/item/weapon/cell/infinite fire_delay = 10 /obj/item/weapon/gun/energy/pulse_rifle/destroyer/attack_self(mob/living/user as mob) @@ -53,5 +53,5 @@ desc = "It's not the size of the gun, it's the size of the hole it puts through people." slot_flags = SLOT_BELT|SLOT_HOLSTER icon_state = "m1911-p" - cell_type = "/obj/item/weapon/cell/infinite" + cell_type = /obj/item/weapon/cell/infinite fire_delay = 10 diff --git a/code/modules/projectiles/guns/energy/special.dm b/code/modules/projectiles/guns/energy/special.dm index 7a5f81a8743..112a33e3879 100644 --- a/code/modules/projectiles/guns/energy/special.dm +++ b/code/modules/projectiles/guns/energy/special.dm @@ -72,7 +72,7 @@ w_class = 4 projectile_type = /obj/item/projectile/meteor charge_cost = 100 - cell_type = "/obj/item/weapon/cell/potato" + cell_type = /obj/item/weapon/cell/potato self_recharge = 1 recharge_time = 5 //Time it takes for shots to recharge (in ticks) charge_meter = 0 From 500ca932785b34e145173452a8f1016673323505 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Mon, 16 Feb 2015 01:47:07 -0500 Subject: [PATCH 133/143] Fixes guns being unremovable Fixes certain guns being unremovable due to unloading ammo taking precedence over picking up. Also adds on-back icon for the merc sniper which is just a copy of the LWAP's. --- .../guns/launcher/grenade_launcher.dm | 2 +- .../projectiles/guns/launcher/syringe_gun.dm | 4 ++-- code/modules/projectiles/guns/projectile.dm | 2 +- .../projectiles/guns/projectile/pistol.dm | 2 +- .../projectiles/guns/projectile/sniper.dm | 2 +- icons/mob/back.dmi | Bin 43949 -> 44626 bytes 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/code/modules/projectiles/guns/launcher/grenade_launcher.dm b/code/modules/projectiles/guns/launcher/grenade_launcher.dm index 186e8275223..14e1c2e785a 100644 --- a/code/modules/projectiles/guns/launcher/grenade_launcher.dm +++ b/code/modules/projectiles/guns/launcher/grenade_launcher.dm @@ -59,7 +59,7 @@ ..() /obj/item/weapon/gun/launcher/grenade/attack_hand(mob/user) - if(loc == user) + if(user.get_inactive_hand() == src) if(grenades.len) var/obj/item/weapon/grenade/G = grenades[grenades.len] grenades.len-- diff --git a/code/modules/projectiles/guns/launcher/syringe_gun.dm b/code/modules/projectiles/guns/launcher/syringe_gun.dm index a515bde7580..d4d66ac1cd6 100644 --- a/code/modules/projectiles/guns/launcher/syringe_gun.dm +++ b/code/modules/projectiles/guns/launcher/syringe_gun.dm @@ -98,10 +98,10 @@ playsound(src.loc, 'sound/weapons/flipblade.ogg', 50, 1) user.visible_message("[user] draws back the bolt on [src], clicking it into place.", "You draw back the bolt on the [src], loading the spring!") next = darts[1] - user.next_move = world.time + 4 + add_fingerprint(user) /obj/item/weapon/gun/launcher/syringe/attack_hand(mob/living/user as mob) - if(loc == user) + if(user.get_inactive_hand() == src) if(!darts.len) user << "[src] is empty." return diff --git a/code/modules/projectiles/guns/projectile.dm b/code/modules/projectiles/guns/projectile.dm index 068d943e268..5f197d56e61 100644 --- a/code/modules/projectiles/guns/projectile.dm +++ b/code/modules/projectiles/guns/projectile.dm @@ -155,7 +155,7 @@ unload_ammo(user) /obj/item/weapon/gun/projectile/attack_hand(mob/user as mob) - if(loc == user) + if(user.get_inactive_hand() == src) unload_ammo(user, allow_dump=0) else return ..() diff --git a/code/modules/projectiles/guns/projectile/pistol.dm b/code/modules/projectiles/guns/projectile/pistol.dm index 839289e2c2e..1d6df6f8596 100644 --- a/code/modules/projectiles/guns/projectile/pistol.dm +++ b/code/modules/projectiles/guns/projectile/pistol.dm @@ -106,7 +106,7 @@ magazine_type = /obj/item/ammo_magazine/mc9mm/flash /obj/item/weapon/gun/projectile/pistol/attack_hand(mob/user as mob) - if(loc == user) + if(user.get_inactive_hand() == src) if(silenced) if(user.l_hand != src && user.r_hand != src) ..() diff --git a/code/modules/projectiles/guns/projectile/sniper.dm b/code/modules/projectiles/guns/projectile/sniper.dm index 1cea6fdc2e8..c27866165ab 100644 --- a/code/modules/projectiles/guns/projectile/sniper.dm +++ b/code/modules/projectiles/guns/projectile/sniper.dm @@ -39,7 +39,7 @@ else user << "You work the bolt closed." bolt_open = 0 - user.next_move = world.time + 4 //prevent spam, also makes having to work the bolt more of a drawback + add_fingerprint(user) update_icon() /obj/item/weapon/gun/projectile/heavysniper/special_check(mob/user) diff --git a/icons/mob/back.dmi b/icons/mob/back.dmi index f160af9933ec3c1d1a3c2b0013e4cf3c2f37e249..893b58c6637d54df110cbf9a9fcdfa7c4c2553b9 100644 GIT binary patch literal 44626 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
    Q#&Rh(Dx*C*<=Tjy_&OZxu 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
    \nPower: []
    \nHologram Control:
    \nColor Luminosity: []/220 \[Reset\]
    \nLighten: 1 10
    \nDarken: 1 10
    \n
    \nHair Color: ([],[],[]) \[Reset\]
    \nRed (0-255): \[0\] -10 -1 [] 1 10 \[255\]
    \nGreen (0-255): \[0\] -10 -1 [] 1 10 \[255\]
    \nBlue (0-255): \[0\] -10 -1 [] 1 10 \[255\]
    ", src, (src.projector.hologram ? "On" : "Off"), -src.lumens + 35, src, src, src, src, src, src.h_r, src.h_g, src.h_b, src, src, src, src, src.h_r, src, src, src, src, src, src, src.h_g, src, src, src, src, src, src, src.h_b, src, src, src) - user << browse(dat, "window=hologram_console") - onclose(user, "hologram_console") - return - -/obj/machinery/computer/hologram_comp/Topic(href, href_list) - if(..()) - return - if (in_range(src, usr)) - flick("holo_console1", src) - if (href_list["power"]) - if (src.projector.hologram) - src.projector.icon_state = "hologram0" - //src.projector.hologram = null - del(src.projector.hologram) - else - src.projector.hologram = new(src.projector.loc) - src.projector.hologram.icon = 'icons/mob/human.dmi' - src.projector.hologram.icon_state = "body_m_s" - src.projector.icon_state = "hologram1" - src.render() - else - if (href_list["h_r"]) - if (src.projector.hologram) - src.h_r += text2num(href_list["h_r"]) - src.h_r = min(max(src.h_r, 0), 255) - render() - else - if (href_list["h_g"]) - if (src.projector.hologram) - src.h_g += text2num(href_list["h_g"]) - src.h_g = min(max(src.h_g, 0), 255) - render() - else - if (href_list["h_b"]) - if (src.projector.hologram) - src.h_b += text2num(href_list["h_b"]) - src.h_b = min(max(src.h_b, 0), 255) - render() - else - if (href_list["light"]) - if (src.projector.hologram) - src.lumens += text2num(href_list["light"]) - src.lumens = min(max(src.lumens, -185.0), 35) - render() - else - if (href_list["reset"]) - if (src.projector.hologram) - src.lumens = 0 - render() - else - if (href_list["temp"]) - src.temp = null - for(var/mob/M in viewers(1, src)) - if ((M.client && M.machine == src)) - src.show_console(M) - return diff --git a/code/game/machinery/hologram.dm b/code/game/machinery/hologram.dm index 2d5b9394d05..71894c29834 100644 --- a/code/game/machinery/hologram.dm +++ b/code/game/machinery/hologram.dm @@ -24,10 +24,12 @@ Possible to do for anyone motivated enough: * Holopad */ -// HOLOPAD MODE -// 0 = RANGE BASED -// 1 = AREA BASED -var/const/HOLOPAD_MODE = 0 +#define HOLOPAD_PASSIVE_POWER_USAGE 1 +#define HOLOGRAM_POWER_USAGE 2 +#define RANGE_BASED 4 +#define AREA_BASED 6 + +var/const/HOLOPAD_MODE = RANGE_BASED /obj/machinery/hologram/holopad name = "\improper AI holopad" @@ -36,7 +38,7 @@ var/const/HOLOPAD_MODE = 0 layer = TURF_LAYER+0.1 //Preventing mice and drones from sneaking under them. - var/mob/living/silicon/ai/master//Which AI, if any, is controlling the object? Only one AI may control a hologram at any time. + var/list/mob/living/silicon/ai/masters = new() //List of AIs that use the holopad var/last_request = 0 //to prevent request spam. ~Carn var/holo_range = 5 // Change to change how far the AI can move away from the holopad before deactivating. @@ -62,52 +64,53 @@ var/const/HOLOPAD_MODE = 0 This may change in the future but for now will suffice.*/ if(user.eyeobj.loc != src.loc)//Set client eye on the object if it's not already. user.eyeobj.setLoc(get_turf(src)) - else if(!hologram)//If there is no hologram, possibly make one. + else if(!masters[user])//If there is no hologram, possibly make one. activate_holo(user) - else if(master==user)//If there is a hologram, remove it. But only if the user is the master. Otherwise do nothing. - clear_holo() + else//If there is a hologram, remove it. + clear_holo(user) return /obj/machinery/hologram/holopad/proc/activate_holo(mob/living/silicon/ai/user) - if(!(stat & NOPOWER) && user.eyeobj.loc == src.loc)//If the projector has power and client eye is on it. - if(!hologram)//If there is not already a hologram. - create_holo(user)//Create one. - src.visible_message("A holographic image of [user] flicks to life right before your eyes!") - else - user << "\red ERROR: \black Image feed in progress." + if(!(stat & NOPOWER) && user.eyeobj.loc == src.loc)//If the projector has power and client eye is on it + if (user.holo) + user << "ERROR: Image feed in progress." + return + create_holo(user)//Create one. + src.visible_message("A holographic image of [user] flicks to life right before your eyes!") else - user << "\red ERROR: \black Unable to project hologram." + user << "ERROR: Unable to project hologram." return /*This is the proc for special two-way communication between AI and holopad/people talking near holopad. For the other part of the code, check silicon say.dm. Particularly robot talk.*/ /obj/machinery/hologram/holopad/hear_talk(mob/living/M, text, verb, datum/language/speaking) - if(M&&hologram&&master)//Master is mostly a safety in case lag hits or something. - if(!master.say_understands(M, speaking))//The AI will be able to understand most mobs talking through the holopad. + if(M) + for(var/mob/living/silicon/ai/master in masters) + if(!master.say_understands(M, speaking))//The AI will be able to understand most mobs talking through the holopad. + if(speaking) + text = speaking.scramble(text) + else + text = stars(text) + var/name_used = M.GetVoice() + //This communication is imperfect because the holopad "filters" voices and is only designed to connect to the master only. + var/rendered if(speaking) - text = speaking.scramble(text) + rendered = "Holopad received, [name_used] [speaking.format_message(text, verb)]" else - text = stars(text) - var/name_used = M.GetVoice() - //This communication is imperfect because the holopad "filters" voices and is only designed to connect to the master only. - var/rendered - if(speaking) - rendered = "Holopad received, [name_used] [speaking.format_message(text, verb)]" - else - rendered = "Holopad received, [name_used] [verb], \"[text]\"" - master.show_message(rendered, 2) - return + rendered = "Holopad received, [name_used] [verb], \"[text]\"" + master.show_message(rendered, 2) /obj/machinery/hologram/holopad/see_emote(mob/living/M, text) - if(M && hologram && master) - //var/name_used = M.GetVoice() - var/rendered = "Holopad received, [text]" - //The lack of name_used is needed, because message already contains a name. This is needed for simple mobs to emote properly. - master.show_message(rendered, 2) + if(M) + for(var/mob/living/silicon/ai/master in masters) + //var/name_used = M.GetVoice() + var/rendered = "Holopad received, [text]" + //The lack of name_used is needed, because message already contains a name. This is needed for simple mobs to emote properly. + master.show_message(rendered, 2) return /obj/machinery/hologram/holopad/proc/create_holo(mob/living/silicon/ai/A, turf/T = loc) - hologram = new(T)//Spawn a blank effect at the location. + var/obj/effect/overlay/hologram = new(T)//Spawn a blank effect at the location. hologram.icon = A.holo_icon hologram.mouse_opacity = 0//So you can't click on it. hologram.layer = FLY_LAYER//Above all the other objects/mobs. Or the vast majority of them. @@ -115,32 +118,33 @@ For the other part of the code, check silicon say.dm. Particularly robot talk.*/ hologram.name = "[A.name] (Hologram)"//If someone decides to right click. hologram.SetLuminosity(2) //hologram lighting hologram.color = color //painted holopad gives coloured holograms + masters[A] = hologram SetLuminosity(2) //pad lighting icon_state = "holopad1" A.holo = src - master = A//AI is the master. - use_power = 2//Active power usage. + use_power += HOLOGRAM_POWER_USAGE return 1 -/obj/machinery/hologram/holopad/proc/clear_holo() -// hologram.SetLuminosity(0)//Clear lighting. //handled by the lighting controller when its ower is deleted - del(hologram)//Get rid of hologram. - if(master.holo == src) - master.holo = null - master = null//Null the master, since no-one is using it now. - SetLuminosity(0) //pad lighting (hologram lighting will be handled automatically since its owner was deleted) - icon_state = "holopad0" - use_power = 1//Passive power usage. +/obj/machinery/hologram/holopad/proc/clear_holo(mob/living/silicon/ai/user) + if(user.holo == src) + user.holo = null + del(masters[user])//Get rid of user's hologram //qdel + masters -= user //Discard AI from the list of those who use holopad + use_power = max(HOLOPAD_PASSIVE_POWER_USAGE, use_power - HOLOGRAM_POWER_USAGE)//Reduce power usage + if (!masters.len)//If no users left + SetLuminosity(0) //pad lighting (hologram lighting will be handled automatically since its owner was deleted) + icon_state = "holopad0" + use_power = HOLOPAD_PASSIVE_POWER_USAGE return 1 /obj/machinery/hologram/holopad/process() - if(hologram)//If there is a hologram. + for (var/mob/living/silicon/ai/master in masters) if(master && !master.stat && master.client && master.eyeobj)//If there is an AI attached, it's not incapacitated, it has a client, and the client eye is centered on the projector. if(!(stat & NOPOWER))//If the machine has power. - if((HOLOPAD_MODE == 0 && (get_dist(master.eyeobj, src) <= holo_range))) + if((HOLOPAD_MODE == RANGE_BASED && (get_dist(master.eyeobj, src) <= holo_range))) return 1 - else if (HOLOPAD_MODE == 1) + else if (HOLOPAD_MODE == AREA_BASED) var/area/holo_area = get_area(src) var/area/eye_area = get_area(master.eyeobj) @@ -148,14 +152,15 @@ For the other part of the code, check silicon say.dm. Particularly robot talk.*/ if(eye_area in holo_area.master.related) return 1 - clear_holo()//If not, we want to get rid of the hologram. + clear_holo(master)//If not, we want to get rid of the hologram. return 1 -/obj/machinery/hologram/holopad/proc/move_hologram() - if(hologram) - step_to(hologram, master.eyeobj) // So it turns. - hologram.loc = get_turf(master.eyeobj) - +/obj/machinery/hologram/holopad/proc/move_hologram(mob/living/silicon/ai/user) + if(masters[user]) + step_to(masters[user], user.eyeobj) // So it turns. + var/obj/effect/overlay/H = masters[user] + H.loc = get_turf(user.eyeobj) + masters[user] = H return 1 /* @@ -167,7 +172,6 @@ For the other part of the code, check silicon say.dm. Particularly robot talk.*/ use_power = 1 idle_power_usage = 5 active_power_usage = 100 - var/obj/effect/overlay/hologram//The projection itself. If there is one, the instrument is on, off otherwise. //Destruction procs. /obj/machinery/hologram/ex_act(severity) @@ -190,9 +194,9 @@ For the other part of the code, check silicon say.dm. Particularly robot talk.*/ del(src) return -/obj/machinery/hologram/Del() - if(hologram) - src:clear_holo() +/obj/machinery/hologram/holopad/Del() + for (var/mob/living/silicon/ai/master in masters) + clear_holo(master) ..() /* @@ -224,3 +228,9 @@ Holographic project of everything else. desc = "It makes a hologram appear...with magnets or something..." icon = 'icons/obj/stationobjs.dmi' icon_state = "hologram0" + + +#undef RANGE_BASED +#undef AREA_BASED +#undef HOLOPAD_PASSIVE_POWER_USAGE +#undef HOLOGRAM_POWER_USAGE diff --git a/code/modules/mob/living/silicon/ai/freelook/eye.dm b/code/modules/mob/living/silicon/ai/freelook/eye.dm index d86d71607fb..c9dbfe39dd3 100644 --- a/code/modules/mob/living/silicon/ai/freelook/eye.dm +++ b/code/modules/mob/living/silicon/ai/freelook/eye.dm @@ -49,7 +49,7 @@ ai.client.eye = src //Holopad if(ai.holo) - ai.holo.move_hologram() + ai.holo.move_hologram(ai) /mob/aiEye/proc/getLoc() diff --git a/code/modules/mob/living/silicon/say.dm b/code/modules/mob/living/silicon/say.dm index ba5b0ad4f82..9fb93e0eff6 100644 --- a/code/modules/mob/living/silicon/say.dm +++ b/code/modules/mob/living/silicon/say.dm @@ -159,7 +159,7 @@ return var/obj/machinery/hologram/holopad/T = src.holo - if(T && T.hologram && T.master == src)//If there is a hologram and its master is the user. + if(T && T.masters[src])//If there is a hologram and its master is the user. //Human-like, sorta, heard by those who understand humans. var/rendered_a @@ -198,7 +198,7 @@ return var/obj/machinery/hologram/holopad/T = src.holo - if(T && T.hologram && T.master == src) + if(T && T.masters[src]) var/rendered = "[name] [message]" src << "Holopad action relayed, [real_name] [message]" @@ -211,7 +211,7 @@ /mob/living/silicon/ai/emote(var/act, var/type, var/message) var/obj/machinery/hologram/holopad/T = src.holo - if(T && T.hologram && T.master == src) //Is the AI using a holopad? + if(T && T.masters[src]) //Is the AI using a holopad? src.holopad_emote(message) else //Emote normally, then. ..()

    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 EUkPtEF8}}l literal 43949 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 z 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 From e5d14465b06dc754266916e08f3e5364f1c5d576 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Mon, 16 Feb 2015 02:22:12 -0500 Subject: [PATCH 134/143] Adds fingerprints whenever an item is put in a human's hands. --- code/game/objects/items.dm | 1 - code/modules/mob/living/carbon/human/inventory.dm | 13 +++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index 1e3cb7547ab..3ed2dd9e08a 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -141,7 +141,6 @@ if(isliving(src.loc)) return user.next_move = max(user.next_move+2,world.time + 2) - add_fingerprint(user) user.put_in_active_hand(src) if(src.loc == user) src.pickup(user) diff --git a/code/modules/mob/living/carbon/human/inventory.dm b/code/modules/mob/living/carbon/human/inventory.dm index b4c2a18c1d9..5493c5d6034 100644 --- a/code/modules/mob/living/carbon/human/inventory.dm +++ b/code/modules/mob/living/carbon/human/inventory.dm @@ -1,3 +1,16 @@ +/* +Add fingerprints to items when we put them in our hands. +This saves us from having to call add_fingerprint() any time something is put in a human's hands programmatically. + +*/ +/mob/living/carbon/human/put_in_l_hand(var/obj/item/W) + . = ..() + if(.) W.add_fingerprint(src) + +/mob/living/carbon/human/put_in_r_hand(var/obj/item/W) + . = ..() + if(.) W.add_fingerprint(src) + /mob/living/carbon/human/verb/quick_equip() set name = "quick-equip" set hidden = 1 From 7f19a8a77bff174cad5fdcedca0ee295d50bb851 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Mon, 16 Feb 2015 02:59:16 -0500 Subject: [PATCH 135/143] Tweaks bullet penetration --- code/modules/projectiles/guns/projectile/sniper.dm | 2 +- code/modules/projectiles/projectile/bullets.dm | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/projectiles/guns/projectile/sniper.dm b/code/modules/projectiles/guns/projectile/sniper.dm index c27866165ab..4bab0678b7a 100644 --- a/code/modules/projectiles/guns/projectile/sniper.dm +++ b/code/modules/projectiles/guns/projectile/sniper.dm @@ -1,6 +1,6 @@ /obj/item/weapon/gun/projectile/heavysniper name = "\improper PTRS-7 rifle" - desc = "A portable anti-armour rifle fitted with a scope. Fires 14.5mm AP shells." + desc = "A portable anti-armour rifle fitted with a scope. Originally designed to used against lightly armoured exosuits, it is capable of punching through non-reinforced walls with ease. Fires 14.5mm AP shells." icon_state = "heavysniper" item_state = "sniper0" w_class = 4 diff --git a/code/modules/projectiles/projectile/bullets.dm b/code/modules/projectiles/projectile/bullets.dm index 93f183ba7d7..e473a114058 100644 --- a/code/modules/projectiles/projectile/bullets.dm +++ b/code/modules/projectiles/projectile/bullets.dm @@ -28,7 +28,7 @@ var/chance = 0 if(istype(A, /turf/simulated/wall)) var/turf/simulated/wall/W = A - chance = round(damage/W.damage_cap*150) + chance = round(damage/W.damage_cap*180) else if(istype(A, /obj/machinery/door)) var/obj/machinery/door/D = A chance = round(damage/D.maxhealth*100) From 3f8462a3992c6cd1b1156a61c9b591c30f9d5266 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Mon, 16 Feb 2015 11:13:11 +0300 Subject: [PATCH 136/143] Adds a wardrobe structure to pick your underwear. Adds ability to wear female underwear as male and vice versa. Changes 'underwear'/'undershirt' vars to hold iconstate instead of esoteric dances with array indexes. --- baystation12.dme | 1 + code/__HELPERS/global_lists.dm | 6 ++-- code/__HELPERS/lists.dm | 6 ++++ code/_onclick/hud/human.dm | 7 ++-- .../game/objects/structures/under_wardrobe.dm | 34 ++++++++++++++++++ code/modules/client/preferences.dm | 27 +++++++------- code/modules/client/preferences_savefile.dm | 5 +++ .../mob/living/carbon/human/update_icons.dm | 9 +++-- .../mob/new_player/preferences_setup.dm | 8 ++--- icons/mob/human.dmi | Bin 13197 -> 13186 bytes 10 files changed, 71 insertions(+), 32 deletions(-) create mode 100644 code/game/objects/structures/under_wardrobe.dm diff --git a/baystation12.dme b/baystation12.dme index 3140c5c97a1..0baf921ca4c 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -707,6 +707,7 @@ #include "code\game\objects\structures\tank_dispenser.dm" #include "code\game\objects\structures\target_stake.dm" #include "code\game\objects\structures\transit_tubes.dm" +#include "code\game\objects\structures\under_wardrobe.dm" #include "code\game\objects\structures\watercloset.dm" #include "code\game\objects\structures\windoor_assembly.dm" #include "code\game\objects\structures\window.dm" diff --git a/code/__HELPERS/global_lists.dm b/code/__HELPERS/global_lists.dm index df53342ceed..68c74c614e9 100644 --- a/code/__HELPERS/global_lists.dm +++ b/code/__HELPERS/global_lists.dm @@ -42,10 +42,10 @@ var/global/list/facial_hair_styles_male_list = list() var/global/list/facial_hair_styles_female_list = list() var/global/list/skin_styles_female_list = list() //unused //Underwear -var/global/list/underwear_m = list("White", "Grey", "Green", "Blue", "Black", "Mankini", "None") //Curse whoever made male/female underwear diffrent colours -var/global/list/underwear_f = list("Red", "White", "Yellow", "Blue", "Black", "Thong", "Black Sports","White Sports","None") +var/global/list/underwear_m = list("White" = "m1", "Grey" = "m2", "Green" = "m3", "Blue" = "m4", "Black" = "m5", "Mankini" = "m6", "None") //Curse whoever made male/female underwear diffrent colours +var/global/list/underwear_f = list("Red" = "f1", "White" = "f2", "Yellow" = "f3", "Blue" = "f4", "Black" = "f5", "Thong" = "f6", "Black Sports" = "f7","White Sports" = "f8","None") //undershirt -var/global/list/undershirt_t = list("Black Tank top", "White Tank top", "Black shirt", "White shirt", "None") +var/global/list/undershirt_t = list("Black Tank top" = "u1", "White Tank top" = "u2", "Black shirt" = "u3", "White shirt" = "u4", "None") //Backpacks var/global/list/backbaglist = list("Nothing", "Backpack", "Satchel", "Satchel Alt") diff --git a/code/__HELPERS/lists.dm b/code/__HELPERS/lists.dm index 56e04a21cca..1e8ccb6a4dd 100644 --- a/code/__HELPERS/lists.dm +++ b/code/__HELPERS/lists.dm @@ -375,6 +375,12 @@ proc/listclearnulls(list/list) i++ return null +// Returns the key based on the index +/proc/get_key_by_value(var/list/L, var/value) + for(var/key in L) + if(L[key] == value) + return key + /proc/count_by_type(var/list/L, type) var/i = 0 for(var/T in L) diff --git a/code/_onclick/hud/human.dm b/code/_onclick/hud/human.dm index 33a14d2e4d2..9f3991bbc2f 100644 --- a/code/_onclick/hud/human.dm +++ b/code/_onclick/hud/human.dm @@ -433,9 +433,6 @@ f_style = "Shaved" if(dna.species == "Human") //no more xenos losing ears/tentacles h_style = pick("Bedhead", "Bedhead 2", "Bedhead 3") - undershirt = undershirt_t.Find("None") - if(gender == MALE) - underwear = underwear_m.Find("None") - else - underwear = underwear_f.Find("None") + undershirt = null + underwear = null regenerate_icons() diff --git a/code/game/objects/structures/under_wardrobe.dm b/code/game/objects/structures/under_wardrobe.dm new file mode 100644 index 00000000000..fbb9470aa69 --- /dev/null +++ b/code/game/objects/structures/under_wardrobe.dm @@ -0,0 +1,34 @@ +/obj/structure/undies_wardrobe + name = "underwear wardrobe" + desc = "Holds item of clothing you shouldn't be showing off in the hallways." + icon = 'icons/obj/closet.dmi' + icon_state = "cabinet_closed" + + +/obj/structure/undies_wardrobe/attack_hand(mob/user as mob) + src.add_fingerprint(user) + var/mob/living/carbon/human/H = user + if(!ishuman(user) || (H.species && !(H.species.flags & HAS_UNDERWEAR))) + user << "Sadly there's nothing in here for you to wear." + return 0 + + var/utype = alert("Which section do you want to pick from?",,"Male underwear", "Female underwear", "Undershirts") + var/list/selection + switch(utype) + if("Male underwear") + selection = underwear_m + if("Female underwear") + selection = underwear_f + if("Undershirts") + selection = undershirt_t + var/pick = input("Select the style") as null|anything in selection + if(pick) + if(get_dist(src,user) > 1) + return + if(utype == "Undershirts") + H.undershirt = undershirt_t[pick] + else + H.underwear = selection[pick] + H.update_body(1) + + return 1 \ No newline at end of file diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index ce4c6d42727..bb5154797c1 100755 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -54,8 +54,8 @@ datum/preferences var/age = 30 //age of character var/spawnpoint = "Arrivals Shuttle" //where this character will spawn (0-2). var/b_type = "A+" //blood type (not-chooseable) - var/underwear = 1 //underwear type - var/undershirt = 1 //undershirt type + var/underwear //underwear type + var/undershirt //undershirt type var/backbag = 2 //backpack type var/h_style = "Bald" //Hair type var/r_hair = 0 //Hair color @@ -373,12 +373,11 @@ datum/preferences else dat += "

    " - if(gender == MALE) - dat += "Underwear:
    [underwear_m[underwear]]
    " - else - dat += "Underwear: [underwear_f[underwear]]
    " + var/list/undies = gender == MALE ? underwear_m : underwear_f - dat += "Undershirt: [undershirt_t[undershirt]]
    " + dat += "Underwear: [get_key_by_value(undies,underwear)]
    " + + dat += "Undershirt: [get_key_by_value(undershirt_t,undershirt)]
    " dat += "Backpack Type:
    [backbaglist[backbag]]
    " @@ -1178,10 +1177,12 @@ datum/preferences if("f_style") f_style = random_facial_hair_style(gender, species) if("underwear") - underwear = rand(1,underwear_m.len) + var/r = pick(underwear_m) + underwear = underwear_m[r] ShowChoices(user) if("undershirt") - undershirt = rand(1,undershirt_t.len) + var/r = pick(undershirt_t) + undershirt = undershirt_t[r] ShowChoices(user) if("eyes") r_eyes = rand(0,255) @@ -1351,7 +1352,7 @@ datum/preferences var/new_underwear = input(user, "Choose your character's underwear:", "Character Preference") as null|anything in underwear_options if(new_underwear) - underwear = underwear_options.Find(new_underwear) + underwear = underwear_options[new_underwear] ShowChoices(user) if("undershirt") @@ -1360,7 +1361,7 @@ datum/preferences var/new_undershirt = input(user, "Choose your character's undershirt:", "Character Preference") as null|anything in undershirt_options if (new_undershirt) - undershirt = undershirt_options.Find(new_undershirt) + undershirt = undershirt_options[new_undershirt] ShowChoices(user) if("eyes") @@ -1705,12 +1706,8 @@ datum/preferences else if(status == "mechanical") I.mechanize() - if(underwear > underwear_m.len || underwear < 1) - underwear = 0 //I'm sure this is 100% unnecessary, but I'm paranoid... sue me. //HAH NOW NO MORE MAGIC CLONING UNDIES character.underwear = underwear - if(undershirt > undershirt_t.len || undershirt < 1) - undershirt = 0 character.undershirt = undershirt if(backbag > 4 || backbag < 1) diff --git a/code/modules/client/preferences_savefile.dm b/code/modules/client/preferences_savefile.dm index 77a47b59e8a..17003ddc3c6 100644 --- a/code/modules/client/preferences_savefile.dm +++ b/code/modules/client/preferences_savefile.dm @@ -191,6 +191,11 @@ if(isnull(species) || !(species in playable_species)) species = "Human" + if(isnum(underwear)) + var/list/undies = gender == MALE ? underwear_m : underwear_f + underwear = undies[undies[underwear]] + if(isnum(undershirt)) + undershirt = undershirt_t[undershirt_t[undershirt]] if(isnull(language)) language = "None" if(isnull(spawnpoint)) spawnpoint = "Arrivals Shuttle" diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index 10b13d87366..7aefed99c69 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -376,12 +376,11 @@ proc/get_damage_icon_part(damage_state, body_part) stand_icon.Blend(new/icon('icons/mob/human_face.dmi', "lips_[lip_style]_s"), ICON_OVERLAY) //Underwear - if(underwear >0 && underwear < 12 && species.flags & HAS_UNDERWEAR) - if(!fat && !skeleton) - stand_icon.Blend(new /icon('icons/mob/human.dmi', "underwear[underwear]_[g]_s"), ICON_OVERLAY) + if(underwear && species.flags & HAS_UNDERWEAR) + stand_icon.Blend(new /icon('icons/mob/human.dmi', underwear), ICON_OVERLAY) - if(undershirt>0 && undershirt < 5 && species.flags & HAS_UNDERWEAR) - stand_icon.Blend(new /icon('icons/mob/human.dmi', "undershirt[undershirt]_s"), ICON_OVERLAY) + if(undershirt && species.flags & HAS_UNDERWEAR) + stand_icon.Blend(new /icon('icons/mob/human.dmi', undershirt), ICON_OVERLAY) if(update_icons) update_icons() diff --git a/code/modules/mob/new_player/preferences_setup.dm b/code/modules/mob/new_player/preferences_setup.dm index 33ecd0314fd..d25b66210e1 100644 --- a/code/modules/mob/new_player/preferences_setup.dm +++ b/code/modules/mob/new_player/preferences_setup.dm @@ -240,12 +240,12 @@ datum/preferences eyes_s.Blend(facial_s, ICON_OVERLAY) var/icon/underwear_s = null - if(underwear > 0 && underwear < 7 && current_species.flags & HAS_UNDERWEAR) - underwear_s = new/icon("icon" = 'icons/mob/human.dmi', "icon_state" = "underwear[underwear]_[g]_s") + if(underwear && current_species.flags & HAS_UNDERWEAR) + underwear_s = new/icon("icon" = 'icons/mob/human.dmi', "icon_state" = underwear) var/icon/undershirt_s = null - if(undershirt > 0 && undershirt < 5 && current_species.flags & HAS_UNDERWEAR) - undershirt_s = new/icon("icon" = 'icons/mob/human.dmi', "icon_state" = "undershirt[undershirt]_s") + if(undershirt && current_species.flags & HAS_UNDERWEAR) + undershirt_s = new/icon("icon" = 'icons/mob/human.dmi', "icon_state" = undershirt) var/icon/clothes_s = null if(job_civilian_low & ASSISTANT)//This gives the preview icon clothes depending on which job(if any) is set to 'high' diff --git a/icons/mob/human.dmi b/icons/mob/human.dmi index d863e59a2e8f4c2de22c2587c4272b0dcc57b1a0..27256f307e6e22fe253357c530f85ca25a01498d 100644 GIT binary patch delta 223 zcmV<503iR3XM$&tB!9_zR9JLGWpiV4X>fFDZ*Bkpc$|&Uy9$Fa7>40Fxr!g%OFi_k zWGPB<&|472#E6Z8Nm{)74njM%pIZVCKfGT^xBOmIl$8a4%Eb=zM1s=8k+av(IZc9+ zm@_ShUc2pMUE?GP3Ifi$VX-7A;!G`#k=y$N+D9{uSk2v9n^W3;VfqKE9Z)r{ox631 z)ZUIeSg&X6V2Fv}AroVgV3J~T!sLvH#6=1hDO{v*k-|l4N6`h7Dj4el$8a40~@mgXUtG=sj~qAj53c@XYK$1 delta 233 zcmVfFDZ*Bkpc$}5du?mAQ6a~=Pe8ofeQZ?Ex zE=4I0`U?_CY=TuGi5368gJ8R~=56o7S?+xS+=_cyLtd5SCA3k~2pQ1RnRtuhRze1G zL_8_fL)tAE%dCJ5e4lt+X#*LA#OpL0#CGqXeX_AXRuf;Fp Date: Mon, 16 Feb 2015 11:24:50 +0300 Subject: [PATCH 137/143] Maps undies wardrobes into dorms and ERT spawn point --- maps/exodus-1.dmm | 2 +- maps/exodus-2.dmm | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/maps/exodus-1.dmm b/maps/exodus-1.dmm index 0f5fe105075..c99dbd77d71 100644 --- a/maps/exodus-1.dmm +++ b/maps/exodus-1.dmm @@ -1407,7 +1407,7 @@ "aBc" = (/obj/machinery/camera{c_tag = "Dormitory Bedroom Aft"; dir = 1},/turf/simulated/floor/carpet{tag = "icon-carpet1-0"; icon_state = "carpet1-0"},/area/crew_quarters/sleep/bedrooms) "aBd" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "neutralcorner"; dir = 2},/area/crew_quarters/sleep) "aBe" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/flora/pottedplant{tag = "icon-plant-22"; icon_state = "plant-22"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{icon_state = "neutral"},/area/crew_quarters/sleep) -"aBf" = (/obj/machinery/light_switch{pixel_y = -25},/obj/structure/closet/secure_closet/personal,/turf/simulated/floor{icon_state = "neutral"},/area/crew_quarters/sleep) +"aBf" = (/obj/machinery/light_switch{pixel_y = -25},/obj/structure/undies_wardrobe,/turf/simulated/floor{icon_state = "neutral"},/area/crew_quarters/sleep) "aBg" = (/obj/structure/closet/secure_closet/personal,/turf/simulated/floor{icon_state = "neutral"},/area/crew_quarters/sleep) "aBh" = (/obj/structure/closet/wardrobe/pjs,/turf/simulated/floor{icon_state = "neutral"},/area/crew_quarters/sleep) "aBi" = (/obj/structure/closet/wardrobe/pjs,/turf/simulated/floor{icon_state = "neutral"; dir = 6},/area/crew_quarters/sleep) diff --git a/maps/exodus-2.dmm b/maps/exodus-2.dmm index 944bc52a02d..936e93ddf7e 100644 --- a/maps/exodus-2.dmm +++ b/maps/exodus-2.dmm @@ -2077,6 +2077,7 @@ "NW" = (/obj/machinery/camera{c_tag = "Shuttle Medical"; dir = 4},/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) "NX" = (/obj/structure/closet/crate/freezer/rations,/obj/machinery/camera{c_tag = "Shuttle West Storage"; dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/shuttle/escape/centcom) "NY" = (/obj/structure/closet/crate/freezer/rations,/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/shuttle/escape/centcom) +"NZ" = (/obj/structure/undies_wardrobe,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom) (1,1,1) = {" aaabacadaeafagahaaaiajakalamanaoagafajacadahakaeamaiaoalahajeEapaqarasatauavawaxayazaAaBaCaDaEaFaGaHaIaJaKawaxayazaAaBaCaDaEaFaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaNaOaOaOaOaOaOaOaOaOaOaPaOaOaOaOaOaOaOaOaOaOaPaOaOaOaOaOaOaOaOaOaOaPaOaOaOaOaOaOaOaOaOaOaPaOaOaOaOaOaOaOaOaOaOaPaOaOaOaOaOaOaOaOaOaOaPaOaOaOaOaOaOaOaOaOaOaQ @@ -2214,7 +2215,7 @@ aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMuUuVuVuVuVuVuVuVuVuVuVuVuVuVAIuXuVuVuVuYAIuZvavbvcoNvxtZtZtZtZuioNvftZtZtZvgoNubtJvhubtJtwubvitwubvjtwtNtxvktxvlvmvntxufufuftxvlvmvotxvptxvqvrvqvrvqugtxtxtxtxurururtxvsvtuPvuvsvvvwvwtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumuaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumumu aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMustvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvoNLytZtZtZtZvyoNvztZtZvAoNoNoNtvtvtvtvtvtvtvtvtvtvtvtNtxufufvBvCvCvCvCvCvCvCvCvCvDufufvEvqvqvqvqvqugvFuNuotxurururtxvGvGvHvGvGvvvwvwtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumuaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumu aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMustvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvutvIvbvJoNukujulumtZoNoNxatZtZvOoNuyvQoNvRvRvRvRvRvRvSvTcZtvtNtxufufvVvWvXvXvXvXvXvXvXvYueufufugvZwawbwcwdugweuNuptxurururtxwfwfuNwfwfvvvwvwtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMwgaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumuaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumu -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMuUuVuVuVuVuVuVuVuVuVuVuVuVuVwWuXuVuVuVuYwWwivavbwjoNtvoNoNoNtZoNvetZtZtZwloNwmwnwowpwpwpwpwpwpwqtvtvtvtvtvufufvVwrwsufwtwuwvufwswrueufufugugugugugugugweuNuptxurururtxwwwwuNwwwwvvvwvwtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumumuaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumu +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMuUuVuVuVuVuVuVuVuVuVuVuVuVuVwWuXuVuVuVuYwWwivavbwjoNtvoNoNoNtZoNvetZtZtZwloNwmwnwowpwpwpwpwpwpNZtvtvtvtvtvufufvVwrwsufwtwuwvufwswrueufufugugugugugugugweuNuptxurururtxwwwwuNwwwwvvvwvwtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumumuaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumu aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMustvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvutwxvbwyoNwzwAwBoNtZoNvNvKtZtZwEoNwmvMtvwFwGwGwGwHwGwItvwJwJwJtvufufwKwLwMwNwOwPwQwRwSwLwTufuftxwUwUwUwUwUtxtxuOtxtxtxuOtxtxuNuNuNuNuNvvvwvwtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumumumuaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumu aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMwVoVoVoVoVoVoVoVoVoVoVoVoVoVwhoUoVoVoVqVwhwXwYvMwZoNyQtZxboNxcoNoNoNxdoNoNoNwmwnuWxfxfxfxfxfxfxfxgxfxfxfxgufufufxhufufxiufxiufufxhufufufxjurururururxjurururururururxjwwwwwwwwwwvvvwvwtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumumumumumuaMaMaMaMaMaMaMaMaMaMaMaMaMaMmu aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMxkoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNxlxmvMxnoNvPuhwkoNtZxqtZxrtZxsxtxttZxutvxvxwxwxxxyxzxAtvxBxBxBtvufufvBxCxDwNxEufxFwRxGxCvDufufxjurururururxjurururururururxjwwwwwwwwwwtxuOuOtxtxtxtxtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumumumumumuaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM From 12077ebeee6b28a6998849966aaadd4b39d96a34 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Mon, 16 Feb 2015 10:33:32 +0100 Subject: [PATCH 138/143] Map Changes * Removes a few cameras in storage areas. * Bolted vault doors now have a proper instance. * Updates a few access issues noted during testing as well as fixes #7925. * Restores baystation12.int. --- baystation12.int | 5 ---- code/game/machinery/doors/airlock.dm | 6 +++- maps/exodus-1.dmm | 45 ++++++++++++++-------------- 3 files changed, 28 insertions(+), 28 deletions(-) diff --git a/baystation12.int b/baystation12.int index 1939a7e9ecc..b82874fded5 100644 --- a/baystation12.int +++ b/baystation12.int @@ -1,11 +1,6 @@ // BEGIN_INTERNALS /* MAP_ICON_TYPE: 0 -WINDOW: code\ATMOSPHERICS\components\binary_devices\pump.dm;code\ATMOSPHERICS\components\binary_devices\circulator.dm;code\modules\power\generator.dm;code\ATMOSPHERICS\components\unary\heat_exchanger.dm;code\ATMOSPHERICS\components\unary\vent_pump.dm;maps\exodus-1.dmm -LAST_COMPILE_VERSION: 501.1217 -DIR: code code\ATMOSPHERICS code\ATMOSPHERICS\components code\ATMOSPHERICS\components\binary_devices code\ATMOSPHERICS\components\unary code\game code\game\machinery\doors code\game\objects code\game\objects\items code\game\objects\items\weapons code\modules code\modules\power maps -FILE: maps\exodus-1.dmm -LAST_COMPILE_TIME: 1424008581 AUTO_FILE_DIR: OFF */ // END_INTERNALS diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index fa4f31bc89c..a548739960c 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -94,6 +94,10 @@ secured_wires = 1 assembly_type = /obj/structure/door_assembly/door_assembly_highsecurity //Until somebody makes better sprites. +/obj/machinery/door/airlock/vault/bolted + icon_state = "door_locked" + locked = 1 + /obj/machinery/door/airlock/freezer name = "Freezer Airlock" icon = 'icons/obj/doors/Doorfreezer.dmi' @@ -1002,7 +1006,7 @@ About the new airlock wires panel: if(operating || welded || locked) return if(!forced) - //despite the name, this wire is for general door control. + //despite the name, this wire is for general door control. //Bolts are already covered by the check for locked, above if( !arePowerSystemsOn() || isWireCut(AIRLOCK_WIRE_OPEN_DOOR) ) return diff --git a/maps/exodus-1.dmm b/maps/exodus-1.dmm index 6139254ec47..abf78a480b7 100644 --- a/maps/exodus-1.dmm +++ b/maps/exodus-1.dmm @@ -57,7 +57,7 @@ "abe" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/security_port) "abf" = (/turf/simulated/wall,/area/maintenance/security_port) "abg" = (/obj/structure/closet/wardrobe/tactical,/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/security/warden) -"abh" = (/obj/machinery/camera{c_tag = "Armoury - Tactical Equipment "; dir = 2; network = list("SS13")},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/table/rack,/obj/machinery/door/window/brigdoor{dir = 2; name = "Weapons locker"; req_access = null; req_access_txt = "58"},/obj/item/ammo_magazine/c45m{icon_state = "45-7"},/obj/item/ammo_magazine/c45m{icon_state = "45-7"},/obj/item/weapon/storage/box/shotgunammo,/obj/item/weapon/storage/box/shotgunammo,/obj/item/weapon/storage/box/shotgunshells,/obj/item/weapon/storage/box/shotgunshells,/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/security/warden) +"abh" = (/obj/machinery/camera{c_tag = "Armoury - Tactical Equipment "; dir = 2; network = list("SS13")},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/table/rack,/obj/machinery/door/window/brigdoor{dir = 2; name = "Weapons locker"; req_access = null; req_access_txt = "3"},/obj/item/ammo_magazine/c45m{icon_state = "45-7"},/obj/item/ammo_magazine/c45m{icon_state = "45-7"},/obj/item/weapon/storage/box/shotgunammo,/obj/item/weapon/storage/box/shotgunammo,/obj/item/weapon/storage/box/shotgunshells,/obj/item/weapon/storage/box/shotgunshells,/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/security/warden) "abi" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/security/range) "abj" = (/obj/structure/table/reinforced,/obj/item/weapon/gun/energy/laser/practice,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor,/area/security/range) "abk" = (/obj/structure/table/reinforced,/obj/item/weapon/gun/energy/laser/practice,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor,/area/security/range) @@ -1307,7 +1307,7 @@ "azg" = (/obj/structure/stool/bed/chair{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor,/area/crew_quarters/fitness) "azh" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/plating,/area/crew_quarters/fitness) "azi" = (/obj/machinery/computer/HolodeckControl,/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/crew_quarters/fitness) -"azj" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "solar_chapel_airlock"; name = "interior access button"; pixel_x = 25; pixel_y = 25; req_access_txt = "13"},/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/obj/effect/decal/cleanable/dirt,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating{dir = 1; icon_state = "warnplate"; nitrogen = 82.1472; oxygen = 21.8366},/area/maintenance/auxsolarstarboard) +"azj" = (/turf/space,/area/maintenance/auxsolarstarboard) "azk" = (/obj/machinery/camera{c_tag = "Fore Starboard Solars"; dir = 1},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Solar - Fore Starboard"},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard) "azl" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Solar - Fore Port"},/turf/simulated/floor/plating,/area/maintenance/auxsolarport) "azm" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/crew_quarters/fitness) @@ -1651,7 +1651,7 @@ "aFM" = (/obj/structure/stool{pixel_y = 8},/obj/effect/landmark/start{name = "Assistant"},/turf/simulated/floor,/area/storage/primary) "aFN" = (/obj/effect/landmark/start{name = "Assistant"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/storage/primary) "aFO" = (/obj/machinery/lapvend,/turf/simulated/floor,/area/storage/primary) -"aFP" = (/obj/machinery/camera{c_tag = "Vault"; dir = 4; network = list("SS13")},/obj/structure/closet/crate{name = "Gold Crate"},/obj/item/stack/sheet/mineral/gold{pixel_x = -1; pixel_y = 5},/obj/item/stack/sheet/mineral/gold{pixel_y = 2},/obj/item/stack/sheet/mineral/gold{pixel_x = 1; pixel_y = -2},/obj/item/device/radio/intercom{freerange = 0; frequency = 1459; name = "Station Intercom (General)"; pixel_x = -30},/obj/item/weapon/storage/belt/champion,/turf/simulated/floor{icon_state = "vault"; dir = 1},/area/security/nuke_storage) +"aFP" = (/obj/machinery/door/airlock/vault{icon_state = "door_locked"; locked = 1; req_access_txt = "53"},/turf/simulated/floor{icon_state = "vault"; dir = 1},/area/security/nuke_storage) "aFQ" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "vault"},/area/security/nuke_storage) "aFR" = (/obj/item/weapon/coin/silver{pixel_x = 7; pixel_y = 12},/obj/item/weapon/coin/silver{pixel_x = 12; pixel_y = 7},/obj/item/weapon/coin/silver{pixel_x = 4; pixel_y = 8},/obj/item/weapon/coin/silver{pixel_x = -6; pixel_y = 5},/obj/item/weapon/coin/silver{pixel_x = 5; pixel_y = -8},/obj/structure/closet/crate{name = "Silver Crate"},/turf/simulated/floor{icon_state = "vault"; dir = 4},/area/security/nuke_storage) "aFS" = (/obj/machinery/camera{c_tag = "Gateway"; dir = 4; network = list("SS13")},/obj/machinery/vending/coffee,/turf/simulated/floor,/area/gateway) @@ -1809,7 +1809,7 @@ "aIO" = (/obj/effect/landmark/start{name = "Assistant"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor,/area/storage/primary) "aIP" = (/obj/effect/landmark/start{name = "Assistant"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor,/area/storage/primary) "aIQ" = (/obj/structure/sign/securearea,/turf/simulated/wall/r_wall,/area/security/nuke_storage) -"aIR" = (/obj/machinery/door/airlock/vault{icon_state = "door_locked"; locked = 1; req_access_txt = "53"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/security/nuke_storage) +"aIR" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/vault/bolted,/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/security/nuke_storage) "aIS" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/table,/obj/item/weapon/deck,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor,/area/gateway) "aIT" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/gateway) "aIU" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/gateway) @@ -2989,7 +2989,7 @@ "bfy" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "solar_chapel_airlock"; name = "exterior access button"; pixel_x = -25; pixel_y = -25; req_access_txt = "10;13"},/obj/effect/decal/cleanable/dirt,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating/airless,/area/solar/auxstarboard) "bfz" = (/obj/machinery/power/terminal{dir = 8},/obj/structure/cable/green,/turf/simulated/floor/bluegrid,/area/turret_protected/ai) "bfA" = (/obj/machinery/porta_turret,/turf/simulated/floor/bluegrid,/area/turret_protected/ai) -"bfB" = (/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor/bluegrid,/area/turret_protected/ai) +"bfB" = (/obj/effect/decal/cleanable/cobweb2,/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/bluegrid,/area/turret_protected/ai) "bfC" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/captain) "bfD" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/wood,/area/crew_quarters/captain) "bfE" = (/obj/machinery/light_switch{pixel_y = 28},/turf/simulated/floor/wood,/area/crew_quarters/captain) @@ -3065,7 +3065,7 @@ "bgW" = (/obj/structure/cable/cyan{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) "bgX" = (/obj/machinery/ai_slipper{icon_state = "motion0"},/obj/effect/landmark{name = "lightsout"},/obj/machinery/camera/all{c_tag = "AI Chamber"; dir = 1; pixel_x = 12},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) "bgY" = (/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai) -"bgZ" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) +"bgZ" = (/obj/machinery/light/small{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/bluegrid,/area/turret_protected/ai) "bha" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/wood,/area/crew_quarters/captain) "bhb" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/wood,/area/crew_quarters/captain) "bhc" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/wood,/area/crew_quarters/captain) @@ -3143,7 +3143,7 @@ "biw" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) "bix" = (/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai) "biy" = (/turf/simulated/wall,/area/turret_protected/ai) -"biz" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) +"biz" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/bluegrid,/area/turret_protected/ai) "biA" = (/obj/machinery/vending/coffee,/turf/simulated/floor/wood,/area/crew_quarters/captain) "biB" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/wood,/area/crew_quarters/captain) "biC" = (/turf/simulated/floor/wood,/area/crew_quarters/captain) @@ -3212,8 +3212,8 @@ "bjN" = (/obj/effect/landmark{name = "tripai"},/obj/item/device/radio/intercom{anyai = 1; freerange = 1; listening = 0; name = "Custom Channel"; pixel_x = 0; pixel_y = 20},/obj/item/device/radio/intercom{anyai = 1; broadcasting = 0; freerange = 1; frequency = 1447; name = "Private Channel"; pixel_x = 0; pixel_y = -26},/obj/item/device/radio/intercom{anyai = 1; broadcasting = 1; freerange = 1; listening = 1; name = "Common Channel"; pixel_x = -25; pixel_y = -4},/obj/structure/cable/cyan{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) "bjO" = (/obj/machinery/door/window{dir = 4; name = "AI Core Door"; req_access_txt = "16"},/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) "bjP" = (/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/cyan{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai) -"bjQ" = (/obj/item/device/radio/intercom{anyai = 1; broadcasting = 0; freerange = 1; frequency = 1447; name = "Private Channel"; pixel_x = 28; pixel_y = 5},/obj/item/device/radio/intercom{anyai = 1; freerange = 1; listening = 0; name = "Custom Channel"; pixel_x = -27; pixel_y = 4},/obj/effect/landmark/start{name = "AI"},/obj/item/device/radio/intercom{broadcasting = 1; freerange = 1; listening = 1; name = "Common Channel"; pixel_y = 25},/obj/machinery/door_control{desc = "A remote control switch for the AI chamber door."; id = "AI Door"; name = "AI Chamber Door Control"; pixel_x = 16; pixel_y = 32; req_access_txt = "16"},/obj/machinery/newscaster/security_unit{pixel_x = 32; pixel_y = 32},/obj/machinery/requests_console{department = "AI"; departmentType = 5; pixel_x = -32; pixel_y = 32},/obj/structure/cable/cyan{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) -"bjR" = (/obj/machinery/door/window{base_state = "right"; dir = 8; icon_state = "right"; name = "AI Core Door"; req_access_txt = "16"},/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) +"bjQ" = (/obj/item/device/radio/intercom{anyai = 1; broadcasting = 0; freerange = 1; frequency = 1447; name = "Private Channel"; pixel_x = 28; pixel_y = 5},/obj/item/device/radio/intercom{anyai = 1; freerange = 1; listening = 0; name = "Custom Channel"; pixel_x = -27; pixel_y = 4},/obj/effect/landmark/start{name = "AI"},/obj/item/device/radio/intercom{broadcasting = 1; freerange = 1; listening = 1; name = "Common Channel"; pixel_y = 25},/obj/machinery/newscaster/security_unit{pixel_x = 32; pixel_y = 32},/obj/machinery/requests_console{department = "AI"; departmentType = 5; pixel_x = -32; pixel_y = 32},/obj/structure/cable/cyan{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) +"bjR" = (/obj/machinery/door/window{base_state = "right"; dir = 8; icon_state = "right"; name = "AI Core Door"; req_access_txt = "16"},/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/bluegrid,/area/turret_protected/ai) "bjS" = (/obj/effect/landmark{name = "tripai"},/obj/item/device/radio/intercom{anyai = 1; freerange = 1; listening = 0; name = "Custom Channel"; pixel_x = 0; pixel_y = 19},/obj/item/device/radio/intercom{anyai = 1; broadcasting = 0; freerange = 1; frequency = 1447; name = "Private Channel"; pixel_x = 0; pixel_y = -26},/obj/item/device/radio/intercom{anyai = 1; broadcasting = 1; freerange = 1; listening = 1; name = "Common Channel"; pixel_x = 27; pixel_y = -3},/obj/structure/cable/cyan{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) "bjT" = (/obj/machinery/vending/cigarette,/turf/simulated/floor/wood,/area/crew_quarters/captain) "bjU" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor/wood,/area/crew_quarters/captain) @@ -3301,10 +3301,10 @@ "bly" = (/obj/machinery/vending/coffee,/turf/simulated/floor/wood,/area/bridge/meeting_room) "blz" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/bluegrid,/area/turret_protected/ai) "blA" = (/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) -"blB" = (/obj/machinery/door/window{dir = 2; name = "AI Core Door"; req_access_txt = "109"},/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/cyan{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/flasher{id = "AI"; pixel_x = 22; pixel_y = 24},/obj/machinery/turretid/stun{check_synth = 1; name = "AI Chamber turret control"; pixel_x = 36; pixel_y = 24},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) +"blB" = (/obj/machinery/door/window{dir = 2; name = "AI Core Door"; req_access_txt = "16"},/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/cyan{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/flasher{id = "AI"; pixel_x = 22; pixel_y = 24},/obj/machinery/turretid/stun{check_synth = 1; name = "AI Chamber turret control"; pixel_x = 36; pixel_y = 24},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) "blC" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/light/small{dir = 1},/obj/structure/cable/cyan{d2 = 4; icon_state = "0-4"},/obj/machinery/power/apc/super{dir = 1; name = "north bump"; pixel_y = 24},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) "blD" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) -"blE" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) +"blE" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/bluegrid,/area/turret_protected/ai) "blF" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_x = -30; pixel_y = 0},/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/item/device/megaphone,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/wood,/area/crew_quarters/captain) "blG" = (/obj/structure/table/woodentable,/obj/item/weapon/folder/blue,/obj/item/weapon/stamp/captain,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/wood,/area/crew_quarters/captain) "blH" = (/obj/structure/table/woodentable,/obj/machinery/computer/skills{icon_state = "medlaptop"},/obj/item/weapon/hand_tele,/turf/simulated/floor/wood,/area/crew_quarters/captain) @@ -3365,7 +3365,7 @@ "bmK" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) "bmL" = (/obj/machinery/ai_slipper{icon_state = "motion0"},/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/cyan{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/cyan{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai) "bmM" = (/obj/structure/cable/cyan{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai) -"bmN" = (/obj/machinery/light/small{dir = 4},/obj/machinery/porta_turret{dir = 8},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) +"bmN" = (/obj/machinery/light/small{dir = 4},/obj/machinery/porta_turret{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/bluegrid,/area/turret_protected/ai) "bmO" = (/obj/machinery/requests_console{announcementConsole = 1; department = "Captain's Desk"; departmentType = 5; name = "Captain RC"; pixel_x = -30; pixel_y = 0},/obj/structure/filingcabinet,/turf/simulated/floor/wood,/area/crew_quarters/captain) "bmP" = (/obj/structure/stool/bed/chair/comfy/brown{dir = 4},/obj/effect/landmark/start{name = "Captain"},/obj/machinery/door_control{desc = "A remote control-switch for the office door."; id = "captaindoor"; name = "Office Door Control"; normaldoorcontrol = 1; pixel_x = 15; pixel_y = 30; req_access_txt = "20"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door_control{desc = "A remote control-switch for the starboard bridge doors."; id = "sbridgedoor"; name = "Bridge Door Control"; normaldoorcontrol = 1; pixel_x = 15; pixel_y = 39; req_access_txt = "20"},/turf/simulated/floor/wood,/area/crew_quarters/captain) "bmQ" = (/obj/machinery/computer/communications,/turf/simulated/floor/wood,/area/crew_quarters/captain) @@ -3446,7 +3446,7 @@ "bon" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/terminal{dir = 4},/turf/simulated/floor/plating,/area/maintenance/substation/command) "boo" = (/obj/structure/grille,/obj/structure/cable/green,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/window/reinforced/polarized{dir = 4},/obj/structure/window/reinforced/polarized{dir = 1},/obj/structure/window/reinforced/polarized{dir = 8},/turf/simulated/floor/plating,/area/crew_quarters/heads/hop) "bop" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/command{name = "Electrical Maintenance"; req_access = null; req_access_txt = "19"},/turf/simulated/floor/plating,/area/maintenance/substation/command) -"boq" = (/obj/machinery/camera{c_tag = "Engineering Washroom"; dir = 1; network = list("SS13")},/obj/machinery/light,/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/sleep/engi_wash) +"boq" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) "bor" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/plating,/area/maintenance/substation/command) "bos" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/maintenance/substation/command) "bot" = (/turf/simulated/wall,/area/maintenance/substation/command) @@ -3456,7 +3456,7 @@ "box" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) "boy" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) "boz" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = -32},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) -"boA" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) +"boA" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/vault/bolted{req_access_txt = "16"},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) "boB" = (/obj/item/device/radio/intercom{anyai = 1; broadcasting = 0; freerange = 1; listening = 1; name = "Captain's Intercom"; pixel_x = -27; pixel_y = -3},/obj/structure/closet/secure_closet/captains,/turf/simulated/floor/wood,/area/crew_quarters/captain) "boC" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/wood,/area/crew_quarters/captain) "boD" = (/obj/machinery/computer/card,/obj/item/weapon/card/id/captains_spare,/turf/simulated/floor/wood,/area/crew_quarters/captain) @@ -4655,7 +4655,7 @@ "bLA" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/turf/simulated/floor{icon_state = "dark"},/area/server) "bLB" = (/obj/machinery/computer/rdservercontrol,/turf/simulated/floor{icon_state = "dark"},/area/server) "bLC" = (/obj/machinery/computer/message_monitor,/turf/simulated/floor{icon_state = "dark"},/area/server) -"bLD" = (/turf/simulated/floor,/area/rnd/storage) +"bLD" = (/obj/structure/extinguisher_cabinet{pixel_x = -24},/turf/simulated/floor,/area/rnd/storage) "bLE" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/rnd/storage) "bLF" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "white"},/area/rnd/research) "bLG" = (/obj/machinery/light_switch{pixel_y = -23},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/green,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/heads/hor) @@ -4779,7 +4779,7 @@ "bNU" = (/turf/simulated/wall,/area/maintenance/engineering) "bNV" = (/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/structure/closet/secure_closet/medical_wall{name = "O- Blood Locker"},/turf/simulated/wall,/area/medical/sleeper) "bNW" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "misclab"; name = "Test Chamber Blast Doors"; opacity = 0},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor{icon_state = "white"},/area/rnd/misc_lab) -"bNX" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/structure/stool/bed/roller,/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/sleeper) +"bNX" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/structure/stool/bed/roller,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = -32},/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/sleeper) "bNY" = (/obj/machinery/door/firedoor,/obj/machinery/door/blast/shutters{density = 0; dir = 4; icon_state = "shutter0"; id = "acute2"; name = "Acute Two Privacy Shutters"; opacity = 0},/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/medical/medbay) "bNZ" = (/obj/machinery/hologram/holopad,/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) "bOa" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) @@ -5359,7 +5359,7 @@ "bZc" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "whiteyellowfull"},/area/crew_quarters/sleep/engi_wash) "bZd" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = -20; pixel_y = 22},/turf/simulated/floor{icon_state = "yellowfull"; dir = 8},/area/crew_quarters/sleep/engi_wash) "bZe" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor{icon_state = "yellowfull"; dir = 8},/area/crew_quarters/sleep/engi_wash) -"bZf" = (/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/obj/machinery/light,/obj/machinery/camera{c_tag = "Engineering Supplies"; dir = 1; network = list("SS13")},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "whiteyellowfull"},/area/crew_quarters/sleep/engi_wash) +"bZf" = (/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/obj/machinery/light,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "whiteyellowfull"},/area/crew_quarters/sleep/engi_wash) "bZg" = (/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "psych"; name = "Mental Health Privacy Shutters"; opacity = 0},/obj/structure/window/reinforced/polarized,/obj/structure/window/reinforced/polarized{dir = 8},/obj/structure/window/reinforced/polarized{dir = 1},/turf/simulated/floor/plating,/area/medical/medbay4) "bZh" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/maintenance/engineering) "bZi" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance{name = "Medbay Diagnostics Maintenance Access"; req_access_txt = "5"},/turf/simulated/floor/plating,/area/medical/sleeper) @@ -5618,7 +5618,7 @@ "ceb" = (/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "toxin_test_pump"; tag_exterior_door = "toxin_test_outer"; frequency = 1379; id_tag = "toxin_test_airlock"; tag_interior_door = "toxin_test_inner"; pixel_x = 0; pixel_y = 25; req_access_txt = "13"; tag_chamber_sensor = "toxin_test_sensor"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/maintenance/research_starboard) "cec" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "toxin_test_outer"; locked = 1; name = "Engineering External Access"; req_access = null; req_access_txt = "10;13"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/research_starboard) "ced" = (/obj/machinery/conveyor{dir = 1; id = "garbage"},/obj/machinery/door/blast/regular{density = 1; icon_state = "pdoor1"; id = "Disposal Exit"; name = "Disposal Exit Vent"; opacity = 1},/turf/simulated/floor/plating,/area/maintenance/disposal) -"cee" = (/obj/machinery/door/blast/regular{desc = "For use by authorized NanoTrasen AI maintenance technicians or in case of emergency only."; id = "AI Door"; name = "AI Chamber Maintenance Door"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/turret_protected/ai) +"cee" = (/obj/machinery/camera{c_tag = "Engineering Washroom"; dir = 1; network = list("SS13")},/obj/machinery/light,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/sleep/engi_wash) "cef" = (/obj/machinery/door/airlock/external{name = "Toxins Test Chamber"; req_access_txt = "0"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating/airless,/area/rnd/test_area) "ceg" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating/airless,/area/rnd/test_area) "ceh" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless,/area/rnd/test_area) @@ -7242,6 +7242,7 @@ "cJn" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 10},/turf/simulated/floor/plating{dir = 1; icon_state = "warnplatecorner"},/area/engineering/engine_room) "cJo" = (/obj/machinery/light,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/engineering/engine_room) "cJp" = (/turf/simulated/floor/plating{dir = 2; icon_state = "warnplatecorner"},/area/engineering/engine_room) +"cJq" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'KEEP CLEAR OF DOCKING AREA'."; name = "KEEP CLEAR: DOCKING AREA"; pixel_y = 0},/turf/simulated/wall,/area/space) "cJz" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "robotics_solar_outer"; locked = 1; name = "Engineering External Access"; req_access = null; req_access_txt = "10;13"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/portsolar) "cJA" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1379; id_tag = "robotics_solar_pump"},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "robotics_solar_pump"; tag_exterior_door = "robotics_solar_outer"; frequency = 1379; id_tag = "robotics_solar_airlock"; tag_interior_door = "robotics_solar_inner"; layer = 3.3; pixel_x = 0; pixel_y = -25; req_access_txt = "13"; tag_chamber_sensor = "robotics_solar_sensor"},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "robotics_solar_sensor"; layer = 3.3; pixel_x = 12; pixel_y = -25},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/decal/warning_stripes,/turf/simulated/floor/plating,/area/maintenance/portsolar) "cJB" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "robotics_solar_inner"; locked = 1; name = "Engineering External Access"; req_access = null; req_access_txt = "13"},/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/portsolar) @@ -7407,8 +7408,8 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaT aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaabhObhObhObhObhObhObhObhObhObhObhOaZSaZTbjmbjnbjobgrbjpbjpbjqbjpbjpbjpbjrbajbajbajbajbaibbZbdDbjsbjtbgybbZbjubjvbjuaTSaTSaTSaTSbjwaTSbjxbdObdPbjybjzbgDbjAbjBbdPbfibfmbjCbgGbgGbgGbjDaMbbjEaSzbctcdNbjGbgObjHbjIbjJbjKbjLbjMbdYbjNbjObjPbiybjQbiybgVbjRbjSbedbjTbjUbjVbjWbjWbjWbjXbjYaJibjZbkabkbbkcbkdbkebbFbkfbkgbkhbkibkjbkkbklbkmbknbknbkobewbewbewbewbewbkpbkqbkrbewbksbktbkubkvbewbkpbkwbkxbkybhFbewbewbkzbewbewbkAbkBbewbkpbewbewbewbewbewbewbewbewbewbhqbewbewbhFbkCbkDbkEbkFbkGbkHbkIbkJaafaaaaafaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaabhObhObhObhObhObhObhObhObhObhObhObkKbkLbkMbkNbkObgrbkPbkQbkRbkRbkSbkTbkUbkVbkWbkWbkXbkYbbZbbZbbZbeZbkZbbZbajbajbajbajblaaXeaXeblbblcbldbleblfblgblhblibljblkbdPbllbfmblmbgGblnbgGbloblpblqaSzbctaJeblrblsbltblublvblwblxblybdYbebblzblAblCblBblDblAblEbebbedbedblFblGblHblIbiCblJblKaJiblLblMblNaJiblOblOblOblOblOblOaZzaZzblPblQbZNcdMblQblPaZzaZzaZzaZzaZzaZzaZzaZzaZzaZzblTaZzaZzaZzaZzaZzaZzaVIaZzbewbewblVblWblWblOblOblOblOblOblXblYblYblZblYbewblYblZbmablYbmbblObmcbmcbmcbmdaRZbmeaRZaRZaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaabhObhObhObhObhObhObhObhObhObhObhObdubdvbjmbjnbmfbgrbmgbjpbmhbmibjpbjpbjpaVAbmjbmkbmkbmlbbZbdDbmmbeZbmnbbZbmobmpbmqbmrbmsbmtbmtbmubmtbmtbmvbdPbmwbmxbfgbmybmzblfbmAbfmbmBbgGbgGbmCbmDbmEblqaSzbmFbmGbmGbmGbmGbmGbmGbmGbmHbmGbdYbebbmIbmJbmKbmLbmKbmMbmNbebbedbedbmObmPbmQbmRbiCbiGbmSaJibcKaRqaRpaJibmTbmUbmVbmWbmXbmYbmZbnabnbbncbndbnebncbnfbngbnhbnibnjbnkbnlbnmbnnbnobnpbnqbnrbnsbntbntbnubYfaVJblOblObZLblObZMbZMblObnzbnAbnBblObZtbZubZtblOblXblYbmbblObZnbZBbZnblObnGbnHbnIbnJbnKbnLbnMaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaabhObhObhObhObhObhObhObhObhObhOaaabnNbnObnPbeQbnQbgrbnRbjpaZAbnTbnUbnVbjpbnWbnXbnYbnZbmlbbZbbZbbZbbZbbZbbZboabobbocbodboebdPbdPbdPbdPbdPbdPbdPbWqbdPbdPbdPbogbdPbohboibojbgGbgGbgGbokblpblqaSzbolbmGbombonbbEbcEbvGbotbosbotaafbebboubovbowboxboybozboAbebaafbedboBboCboDboEbiCbiGboFaJiboGboHaRpbXHboJboKboLboMboNbYwboPboQboRboRboSboTboUboUboVboWboXboYboZbpabpbbnnbpcbpdbpebpfbpgbphbpfbpibYfaVJbpjbpkbplbpmbpnbpobppbpqbprbpqbpsbptbpubcmblOaZzbpwbpxblObpybpzbpAbpBbpCbpDbnIbpEbpFbpGbnMaaaaaaaaaaacaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaaaaaaaaaaaabgnbgobgpbgqbdvbpHbpHbpHbpIbpHbpJaZVbpKbpLbgrbpMbpNbpObpPbpQbpRbpSaYSaXeaXeaXebpTbkWbpUbkWbkWbkWbkWbpVbpWbpWbpXbpYbdPbpZbqabqbbqcbqdbqebqfbqgbqhbqibqjbqkbmAbqlbojbgGbgGbqmbfmaMbblqbqnbqoaJubqqbqrbqrbxqborbopbxsbotaafbebbebbebbebceebebbebbebbebaafbedbqzboCbqAbqBbqCbqDbqEaJibqFaRqaRpaJibqGbqHbqIbqJaJDbqLboPbqNboUboUboUboUboUboUbqObqPbqQboYbqRbqSbqTbnnbqUbqVbqWbpfbpgbphbpfbqXbYfaVJbpjbqYbqZbqZbrabrbbrcbrdbrdbrdbrebrdbrfbAXbrhbribrjbrkbnIbrlbpCbrmbrnbrobcVbnIbrqbpFbrrbnMaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaabhObhObhObhObhObhObhObhObhObhOaaabnNbnObnPbeQbnQbgrbnRbjpaZAbnTbnUbnVbjpbnWbnXbnYbnZbmlbbZbbZbbZbbZbbZbbZboabobbocbodboebdPbdPbdPbdPbdPbdPbdPbWqbdPbdPbdPbogbdPbohboibojbgGbgGbgGbokblpblqaSzbolbmGbombonbbEbcEbvGbotbosbotaafbebboubovbowboxboybozboqbebaafbedboBboCboDboEbiCbiGboFaJiboGboHaRpbXHboJboKboLboMboNbYwboPboQboRboRboSboTboUboUboVboWboXboYboZbpabpbbnnbpcbpdbpebpfbpgbphbpfbpibYfaVJbpjbpkbplbpmbpnbpobppbpqbprbpqbpsbptbpubcmblOaZzbpwbpxblObpybpzbpAbpBbpCbpDbnIbpEbpFbpGbnMaaaaaaaaaaacaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaaaaaaaaaaaabgnbgobgpbgqbdvbpHbpHbpHbpIbpHbpJaZVbpKbpLbgrbpMbpNbpObpPbpQbpRbpSaYSaXeaXeaXebpTbkWbpUbkWbkWbkWbkWbpVbpWbpWbpXbpYbdPbpZbqabqbbqcbqdbqebqfbqgbqhbqibqjbqkbmAbqlbojbgGbgGbqmbfmaMbblqbqnbqoaJubqqbqrbqrbxqborbopbxsbotaafbebbebbebbebboAbebbebbebbebaafbedbqzboCbqAbqBbqCbqDbqEaJibqFaRqaRpaJibqGbqHbqIbqJaJDbqLboPbqNboUboUboUboUboUboUbqObqPbqQboYbqRbqSbqTbnnbqUbqVbqWbpfbpgbphbpfbqXbYfaVJbpjbqYbqZbqZbrabrbbrcbrdbrdbrdbrebrdbrfbAXbrhbribrjbrkbnIbrlbpCbrmbrnbrobcVbnIbrqbpFbrrbnMaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaaaaaaaaaaabrsbrtbrubrvbrwbrxbrxbrybrzbrAbgrcedbrCbpPbrDbjpbjpbjpbajbrEbrFbrGbrHbrGbrGbrGbrHbrGbajbajbdPbdPbdPbrIbdPbrJbrJbrJbrJbrJbrJbqfbrKbrLbrMbrNbrObrPbrQbrRbrSbrTbrUbrVbrWbrXbrYbrZaHBbsbbqvbsabsebscbotbosbotaafbsibsjbskbslbsmbsnbskbsobsiaafbedbspbsqbspbedbedbedbsraJibssaRqaRpbXHboJboKbstbsubsvbqLbswbqNbsxbsybszbsAbsBbsCbqObsDbnibsEbsFbsGbsHbnnbsIbqVbpebpfbpgbphbpfbpibYfaVJbpjbsJbsKbsLbsMbplbsNbsObsPbsQbsRbsSbsTbsUbrhbsVbsWbsXbnIbsYbsZbtabtbbtcbtdbnIbrqbpFbtebnMaaaaaaaaaaaaaafaafaafaafbcZbcZbcZbcZaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaaaaacaaaaaaaaaaaaaaaaaaaaabrsbtfbtgbthbtibtibtibtjbtibtibgrbtkbtlbtmbpPbjpaaaaaaaaaaafaafbtnbtnbtnbtnbtnbtnbtnaaaaaabtobtpbtqbtrbtsbrJbrJbrJbrJbrJbrJbttbtubtvbtwbtxbtybtzbtAbfmbfmbtBbfmbfmbtCbtDbtEbtFbmGbtHbmGbmGbmGbmGbmGbtIbmGaafbtJbtKbtLbtMbtNbtMbtLbtObtPaafbspbtQbtRbtSbtTbtUbspbtVaJlbtWbbmbtXaJibtYbmUbtZbuabubbucbudbuebufbugbuhbuibujbukbulbumbnibnnbunbuobupbnnbuqburbusbutbuubuubuvbuwbYfaXqbpjbuxbplbplbsMbuybuzbuAbuBbuCbuDbuEbuFbuGbrhbuHbuIbuJbnIbuKbuLbuMbtbbpCbuNbnIbpEbpFbuObnMaaaaaaaaaaaaaafbuPbuQbuRbuQbuRbuQbuSaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabuTbeObuUbuUbuVbpHbuWbgnbgobuXbuWbgrbuYbuZbvabvbbjpaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnaaaaaabvcbvdbrJbvebvfbvfbvfbvfbvfbvgbvhbvfbvibvjbvkbvlbvmbvnbvobfmbvpbgGbvqbvrbvsbvtbvubvvbmGbmGbmGbvxbvybvzbvAbvBbvwaafbnybvIbvHbvJbvKbvMbvNbvObnyaafbspbvPbvQbxnbedbvRbspbvSaJlbvTbcLbvUaJibvVbvWbvXbvYbvZbuccdTcdUbwcbwdbwebwebwfbwgcdWcdVbwjbwkbwlbwmbwkbwkbwkbwkbwnbwkbwkaXKaXKaXKaXKaVJbpjbsJbsKbsLbwobwpbwqbwrbwsbwsbwsbsSbwtbAWbwvbwwbwxbwybnIbwzbwAbwBbwCbpCbwDbnIbwEbwFbnMbnMaaaaaaaaaaaaaafbwGbwHbwIbwJbwJbwKbwGaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -7435,7 +7436,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaambZSaamaamaamaamaamaaaaaaaaaaaaaaaaaaaafaafaaabZWbZXbZXbZXcaabZXbZXcahcagbYIbZYbZZbYIcaicabcaccadcaecafcakcajcamcalcaocancapbXwbYXcaJcbibYYcbjbTPcaqcaqcaqcaqcaqcarbNSbDtcascatcaucavcawcaxcaycazbTJcaAcaBcaCcaDcaEcaFcaGcaHcaIbZxbWQcbkbZycaKcaLbZAcaMcaNcaObZAbXXbYfbPObIwbXYbYabXZbXYbXYbIwbIwbIwcaRcaScaTcaUcaVbwwbwwcaWbwwbwwcaXcaYcaZcbabXjcbbbXjbXjcbccbdcbecbfcbgcbhbUnbUnbUnaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbKsbKtbUubUsbUsbLTbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafcblcbncbmcbpcbocbycbqcbAcbzbYIcbrcbsbYIbYIcbtcbucbvcbwcbxcbCcbBbYSbYRbYUcbDcbEbXwbXwcbKcbQbXwccAbTPcbFcbGcaqcbHcaqbTFcbIcbIcbIcbIcbIcbIcbIbTJcbJccBbTJcbLcbMcbNcbOcaEcbPccCcbRcaIbZxbWQbZxbZycbScbTbZAcbUcbVcbWbZAbXXbYfbYbbYdbYcbYiccDbYjbYcchBbYkbYlcktbZDbZwbZFcktccrbZGbZHccqccrccscctcctcctcctccucctcctcctcctcctccvccwccxccycczbUnbUnbUnbUnaaaaafaaaaaaaaaaahaahaahaafaaaaaaaafaaaaaaaafaaaaaabOPbKtbNdbKtbKtbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafccEccEcbmccPccFcbyccQccSccRbYIccGccHccIccJccKccLccMccNccOccUccTccWccVccYccXcdaccZcdBcdbcelcekcencemcdccddaJEcdfcaqbTFcbIcdgcdhcdicdjcdkcdlcdmcdncdocdpcdqcdrcdscdtcaEcducdvcdwcaIbZxbWQbZxbZycdxcdybZAcdzcdAceobZAcaPbYfbYfcaQbYccbYcbXcbZbYcchBccacjfcdLcdLbyFbBucdLcdOcdPcdQcdRcdOcdSbBpbyebydcdScdScdScdSbAebyebydcdScdSbXjcdXcdYcdZceacebcecbxTbycbycbycbycbycbycbycbycbycbycbycbycbycbycbycbyccefcegcegcehbKtbKtbLTbLTceibLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacejcejcejcejcejcejcejceqcepbYIbYIbYIbYIbYIbYJcescercercerceucetbYSbYRbYUcevbYVcewceycexceTceSceUbTPcezaJFboqaJFcaqbTFcbIceDceEceEceEceFceGbTJceHceIbTJcbLcbNceJcbOcaEceKceLceMcaIbZxbWQceNbZyceOcePbZAbZAbZAbZAbZAccbceRbYfcaQbYcccdcccbYcbYcchBccecjfcdLceZcfacfbcfccdOcfdcfecffcdOcfgcfhcfhcfhcficeWcfkcflcfmcfncfocfpcdScfqcfrcfsbUnbUnbUnbUnaaaaafaaaaaaaaaaahaahaahaafaaaaaaaafaaaaaaaafaafaafcftceXcfvbNebKsbKtbKtbLTbLUbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacejcejcejcejcejcejcejceqcepbYIbYIbYIbYIbYIbYJcescercercerceucetbYSbYRbYUcevbYVcewceycexceTceSceUbTPcezaJFceeaJFcaqbTFcbIceDceEceEceEceFceGbTJceHceIbTJcbLcbNceJcbOcaEceKceLceMcaIbZxbWQceNbZyceOcePbZAbZAbZAbZAbZAccbceRbYfcaQbYcccdcccbYcbYcchBccecjfcdLceZcfacfbcfccdOcfdcfecffcdOcfgcfhcfhcfhcficeWcfkcflcfmcfncfocfpcdScfqcfrcfsbUnbUnbUnbUnaaaaafaaaaaaaaaaahaahaahaafaaaaaaaafaaaaaaaafaafaafcftceXcfvbNebKsbKtbKtbLTbLUbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaafaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafcejcfwcfxcfycfzcfAcejcfjceYcfBcfucfDcfCcfEcfEcfGcfFcfFcfHcfIcbBbYSbYRbYUcfJcapcfKcfMcfLcfOcfNcfPbTPaJFaJFcaqceBcaqbTFcbIcfVcfWcfWcfWcfXcbIcfYcfZcgacfYcgbcgccgdcgecaEcgfceLcggcaIcghccfcgjbZycgkcglbZycgmbLvbVicgnccgcchbYfccjcciccicckcclcclcclcclccmcdLcgxcgycgycgzcgActsctyctscgDcgEcgFcgGcgGcgHcgIcgIcgJcgKcgLcgLcgMcdScgNcgOcgPcgNaaaaaaaaaaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafcgQbKqbKqbKrbKsbKsbKtbKtbKtbKtbKuaafaafaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaafaafaafcfQcfQcfQcfQcfQcfQcfQcfQcfQcfQcfQcfQcfQaaaaaacgScgTcgTcgTcgUcgVcejcfUcfRcgocgicgrcgpcgucgtcgCcgBcgWcgRcgYcgXchacgZchcchbbTPbTPbTPbTPbTPbTPbTPbTPbEZbGDcaqbDfcaqbTFcbIcbIctpctqctrcbIcbIchrchschtcfYcaEcaEcaEcaEcaEcaIchuchvcaIchwccnchwbZychychzbZychAchBbVichCbVichDbYfccobYfbYfccpcdCcdCcdCcdDbYfcdLchIchJchJchKchLchMchNchOchPchQchRchSchTchUchVchWcgIcgIcgIchXchYcdSchZciachdcgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaaaaaaaaaaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacfQchechfchecfQchgchhchgcfQchichjchicfQaaaaaaciicgTcgTcgUcgUcijcejchlchkchnchmchpchochGchqcicchHchHcidchHcbBbYSciebYUcifcihcigcilcikcilcimciocincinciAciAciAciAbTFciGciHciIciIciJciKciLciMciXciOciPciQciRciSciSciTciUcaIcaIcaIciVcdEckqbZybZybZybZychBchBbViciYbViciZbYfccobYfaaaaaaaaaaaaaaaaaaaaacdLcjgcjhcjhcipcjjcjkcjlcjmcjncjocjpcjqcgIcgIcjrcjscgIcjtcgIchXcjucdScjvcjwcjxcgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -7466,7 +7467,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbZSaaaaaacfQcfQcfQcfQcfQcfQcfQcfQcfQcfQcfQcfQcfQaaacFzcfQcfQcfQcfQaaaaaaaaaaaacAFcAFcAFcAFcAFcFBcFAcFAcFAcFAcFCcFAcFDcFFcFEcFFcFGcFAcFAcFHcFAcFAcFAcGgcGgcGgcGgcGgcGgcGgaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaacyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafcrPaaaaaaaafaafaaaaafaafaaaaaaaafaafaafaaaaaaaaaaaaaaaaaaaafaaacGQcGRcGRcGRcGScFIcFTcFScFVcFUcFXcFWcFZcFYcERcGacFkcGccGfcGecGicGhcGncGpcGmcGocGpcFAcGgcGgcGgcGgcGgcGgcGgaafaaacGQcCWcGQcCWcGQcCWaafcGWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafcHncjVcHpaaacHncjVcHpaaacHncjVcHpaafaafaaaaafaafaafaafaafcHqcGRcGRcGRcGScFIcGrcGqcGtcGscGvcGucGxcGwcGCcGLcGzcGBcGdcGycGdcGdcGdcGkcGdcGbcGDcFAcGgcGgcGgcGgcGgcGgcGgaafaafcHOcHOcHOcHOcHOcHOaafcGWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaacHncjWcHpaaacHncjWcHpaaacHncjWcHpaafaafaaaaafaaaaaacHKaafcGQcGRcGRcGRcGScFIcGrcGEcGJcGIcGKcGucGMcGPcGTcGmcGmcGmcHfcGUcHjcGmcGmcGPcHmcHlcHocFAcFAcFAcHAaaaaaaaaaaaaaafaaacGOcGOcGOcGOcGOcGOaafcGWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaacHncjWcHpaaacHncjWcHpaaacHncjWcHpaafaafaaaaafaaaaaacHKaafcGQcGRcGRcGRcGScFIcGrcGEcGJcGIcGKcGucGMcGPcGTcGmcGmcGmcHfcGUcHjcGmcGmcGPcHmcHlcHocFAcFAcFAcHAaaaaaaaaaaaacJqaaacGOcGOcGOcGOcGOcGOaafcGWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafcHncjWcHpaaacHncjWcHpaafcHncjWcHpaafaaaaaaaafaafcIcaaaaafcHqcGRcGRcGRcGScFIcGYcGXcHacGZcHccHbcHecHdcHJcHkcHkcHkcHCcHicHBcHkcHkcHEcHDcGNcHIcHHcHGcHFcHscHrcHrcHrcHrcHrcHrcIvcIucIvcIucIvcHOaafcGWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaacHncjWcHpaafcHncjWcHpaaacHncjWcHpaaaaaaaaaaaaaafaafaaaaafaaaaaaaaaaaaaafcHucHwcHvcHycHxcHzcFWcGAcGmcGmcGmcJpcJocJkcJlcJicJjcJncGVcIycJmcIscJhcIZcJdcHscHtcHNcHtcHNcHtcHNcHtcHNcHtcHNcHtcHOaafcGWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaamaaIaafaaacHncjWcHpaafcHncjWcHpaaacHncjWcHpaafaaaaaaaaaaaaaafaafcIJcIKcIKcIKcIKcILcILcILcILcILcIMcILcFAcHWcGmcGmcGmcIIcFAcHScIQcHRcFAcIRcIScITcGNcINcIOcIPcFAaaacGOcGOcGOcGOcIbcGOcGOcGOcGOcGOcGOcGOaafcGWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa From c6d88bc7878d71e7ead3cfeec9329af5e3a4ff8f Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Mon, 16 Feb 2015 12:31:16 +0100 Subject: [PATCH 139/143] AI NanoUI subsystems. Allows sharing of NanoUI code between consoles and the AI (and just about anything else). --- baystation12.dme | 3 + code/game/machinery/computer/RCON_Console.dm | 116 +---- code/game/objects/objs.dm | 3 +- code/modules/mob/living/silicon/ai/ai.dm | 5 +- code/modules/mob/living/silicon/ai/nano.dm | 10 + code/modules/nano/modules/rcon.dm | 116 +++++ code/modules/nano/nanomanager.dm | 498 +++++++++---------- code/modules/nano/nanoprocs.dm | 11 + code/modules/nano/nanoui.dm | 9 +- 9 files changed, 409 insertions(+), 362 deletions(-) create mode 100644 code/modules/mob/living/silicon/ai/nano.dm create mode 100644 code/modules/nano/modules/rcon.dm create mode 100644 code/modules/nano/nanoprocs.dm diff --git a/baystation12.dme b/baystation12.dme index 06ddf79d437..8f2c766a274 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -1136,6 +1136,7 @@ #include "code\modules\mob\living\silicon\ai\life.dm" #include "code\modules\mob\living\silicon\ai\login.dm" #include "code\modules\mob\living\silicon\ai\logout.dm" +#include "code\modules\mob\living\silicon\ai\nano.dm" #include "code\modules\mob\living\silicon\ai\say.dm" #include "code\modules\mob\living\silicon\ai\freelook\cameranet.dm" #include "code\modules\mob\living\silicon\ai\freelook\chunk.dm" @@ -1225,7 +1226,9 @@ #include "code\modules\nano\nanoexternal.dm" #include "code\modules\nano\nanomanager.dm" #include "code\modules\nano\nanomapgen.dm" +#include "code\modules\nano\nanoprocs.dm" #include "code\modules\nano\nanoui.dm" +#include "code\modules\nano\modules\rcon.dm" #include "code\modules\organs\blood.dm" #include "code\modules\organs\organ.dm" #include "code\modules\organs\organ_alien.dm" diff --git a/code/game/machinery/computer/RCON_Console.dm b/code/game/machinery/computer/RCON_Console.dm index 93b18cf9896..f80f0b93c4d 100644 --- a/code/game/machinery/computer/RCON_Console.dm +++ b/code/game/machinery/computer/RCON_Console.dm @@ -12,12 +12,11 @@ circuit = /obj/item/weapon/circuitboard/rcon_console req_one_access = list(access_engine) var/current_tag = null - var/list/known_SMESs = null - var/list/known_breakers = null - // Allows you to hide specific parts of the UI - var/hide_SMES = 0 - var/hide_SMES_details = 0 - var/hide_breakers = 0 + var/obj/nano_module/rcon/rcon + +/obj/machinery/computer/rcon/New() + ..() + rcon = new(src) // Proc: attack_hand() // Parameters: 1 (user - Person which clicked this computer) @@ -29,106 +28,5 @@ // Proc: ui_interact() // Parameters: 4 (standard NanoUI parameters) // Description: Uses dark magic (NanoUI) to render this machine's UI -/obj/machinery/computer/rcon/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1) - FindDevices() // Update our devices list - var/data[0] - - // SMES DATA (simplified view) - var/list/smeslist[0] - for(var/obj/machinery/power/smes/buildable/SMES in known_SMESs) - smeslist.Add(list(list( - "charge" = round(SMES.Percentage()), - "input_set" = SMES.input_attempt, - "input_val" = round(SMES.input_level), - "output_set" = SMES.output_attempt, - "output_val" = round(SMES.output_level), - "output_load" = round(SMES.output_used), - "RCON_tag" = SMES.RCon_tag - ))) - - data["smes_info"] = sortByKey(smeslist, "RCON_tag") - - // BREAKER DATA (simplified view) - var/list/breakerlist[0] - for(var/obj/machinery/power/breakerbox/BR in known_breakers) - breakerlist.Add(list(list( - "RCON_tag" = BR.RCon_tag, - "enabled" = BR.on - ))) - data["breaker_info"] = breakerlist - data["hide_smes"] = hide_SMES - data["hide_smes_details"] = hide_SMES_details - data["hide_breakers"] = hide_breakers - - ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) - if (!ui) - ui = new(user, src, ui_key, "rcon.tmpl", "RCON Console", 600, 400) - ui.set_initial_data(data) - ui.open() - ui.set_auto_update(1) - -// Proc: Topic() -// Parameters: 2 (href, href_list - allows us to process UI clicks) -// Description: Allows us to process UI clicks, which are relayed in form of hrefs. -/obj/machinery/computer/rcon/Topic(href, href_list) - if(href_list["smes_in_toggle"]) - var/obj/machinery/power/smes/buildable/SMES = GetSMESByTag(href_list["smes_in_toggle"]) - if(SMES) - SMES.toggle_input() - if(href_list["smes_out_toggle"]) - var/obj/machinery/power/smes/buildable/SMES = GetSMESByTag(href_list["smes_out_toggle"]) - if(SMES) - SMES.toggle_output() - if(href_list["smes_in_set"]) - var/obj/machinery/power/smes/buildable/SMES = GetSMESByTag(href_list["smes_in_set"]) - if(SMES) - var/inputset = input(usr, "Enter new input level (0-[SMES.input_level_max])", "SMES Input Power Control") as num - SMES.set_input(inputset) - if(href_list["smes_out_set"]) - var/obj/machinery/power/smes/buildable/SMES = GetSMESByTag(href_list["smes_out_set"]) - if(SMES) - var/outputset = input(usr, "Enter new output level (0-[SMES.output_level_max])", "SMES Input Power Control") as num - SMES.set_output(outputset) - - if(href_list["toggle_breaker"]) - var/obj/machinery/power/breakerbox/toggle = null - for(var/obj/machinery/power/breakerbox/breaker in known_breakers) - if(breaker.RCon_tag == href_list["toggle_breaker"]) - toggle = breaker - if(toggle) - if(toggle.update_locked) - usr << "The breaker box was recently toggled. Please wait before toggling it again." - else - toggle.auto_toggle() - if(href_list["hide_smes"]) - hide_SMES = !hide_SMES - if(href_list["hide_smes_details"]) - hide_SMES_details = !hide_SMES_details - if(href_list["hide_breakers"]) - hide_breakers = !hide_breakers - - -// Proc: GetSMESByTag() -// Parameters: 1 (tag - RCON tag of SMES we want to look up) -// Description: Looks up and returns SMES which has matching RCON tag -/obj/machinery/computer/rcon/proc/GetSMESByTag(var/tag) - if(!tag) - return - - for(var/obj/machinery/power/smes/buildable/S in known_SMESs) - if(S.RCon_tag == tag) - return S - -// Proc: FindDevices() -// Parameters: None -// Description: Refreshes local list of known devices. -/obj/machinery/computer/rcon/proc/FindDevices() - known_SMESs = new /list() - for(var/obj/machinery/power/smes/buildable/SMES in machines) - if(SMES.RCon_tag && (SMES.RCon_tag != "NO_TAG") && SMES.RCon) - known_SMESs.Add(SMES) - - known_breakers = new /list() - for(var/obj/machinery/power/breakerbox/breaker in machines) - if(breaker.RCon_tag != "NO_TAG") - known_breakers.Add(breaker) \ No newline at end of file +/obj/machinery/computer/rcon/ui_interact(mob/user, ui_key = "rcon", var/datum/nanoui/ui = null, var/force_open = 1) + rcon.ui_interact(user, ui_key, ui, force_open) diff --git a/code/game/objects/objs.dm b/code/game/objects/objs.dm index bbcad347b59..8f54b76717b 100644 --- a/code/game/objects/objs.dm +++ b/code/game/objects/objs.dm @@ -20,7 +20,8 @@ // Calling Topic without a corresponding window open causes runtime errors if(!nowindow && ..()) return 1 - if(usr.can_interact_with_interface(src, checkrange) != STATUS_INTERACTIVE) + + if(usr.can_interact_with_interface(nano_host(), checkrange) != STATUS_INTERACTIVE) return 1 add_fingerprint(usr) return 0 diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index 2bc59be1961..c0601f9c595 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -23,7 +23,8 @@ var/list/ai_verbs_default = list( /mob/living/silicon/ai/proc/sensor_mode, /mob/living/silicon/ai/proc/show_laws_verb, /mob/living/silicon/ai/proc/toggle_acceleration, - /mob/living/silicon/ai/proc/toggle_camera_light + /mob/living/silicon/ai/proc/toggle_camera_light, + /mob/living/silicon/ai/proc/nano_rcon ) //Not sure why this is necessary... @@ -163,6 +164,8 @@ var/list/ai_verbs_default = list( hud_list[IMPTRACK_HUD] = image('icons/mob/hud.dmi', src, "hudblank") hud_list[SPECIALROLE_HUD] = image('icons/mob/hud.dmi', src, "hudblank") + init_subsystems() + ai_list += src ..() return diff --git a/code/modules/mob/living/silicon/ai/nano.dm b/code/modules/mob/living/silicon/ai/nano.dm new file mode 100644 index 00000000000..fe572a0a2f5 --- /dev/null +++ b/code/modules/mob/living/silicon/ai/nano.dm @@ -0,0 +1,10 @@ +var/obj/nano_module/rcon/rcon + +/mob/living/silicon/ai/proc/init_subsystems() + rcon = new(src) + +/mob/living/silicon/ai/proc/nano_rcon() + set category = "AI Subystems" + set name = "RCON" + + rcon.ui_interact(usr) diff --git a/code/modules/nano/modules/rcon.dm b/code/modules/nano/modules/rcon.dm new file mode 100644 index 00000000000..6224c56de8f --- /dev/null +++ b/code/modules/nano/modules/rcon.dm @@ -0,0 +1,116 @@ +/obj/nano_module/rcon + name = "RCON interface" + + var/list/known_SMESs = null + var/list/known_breakers = null + // Allows you to hide specific parts of the UI + var/hide_SMES = 0 + var/hide_SMES_details = 0 + var/hide_breakers = 0 + +/obj/nano_module/rcon/ui_interact(mob/user, ui_key = "rcon", datum/nanoui/ui=null, force_open=1) + FindDevices() // Update our devices list + var/data[0] + + // SMES DATA (simplified view) + var/list/smeslist[0] + for(var/obj/machinery/power/smes/buildable/SMES in known_SMESs) + smeslist.Add(list(list( + "charge" = round(SMES.Percentage()), + "input_set" = SMES.input_attempt, + "input_val" = round(SMES.input_level), + "output_set" = SMES.output_attempt, + "output_val" = round(SMES.output_level), + "output_load" = round(SMES.output_used), + "RCON_tag" = SMES.RCon_tag + ))) + + data["smes_info"] = sortByKey(smeslist, "RCON_tag") + + // BREAKER DATA (simplified view) + var/list/breakerlist[0] + for(var/obj/machinery/power/breakerbox/BR in known_breakers) + breakerlist.Add(list(list( + "RCON_tag" = BR.RCon_tag, + "enabled" = BR.on + ))) + data["breaker_info"] = breakerlist + data["hide_smes"] = hide_SMES + data["hide_smes_details"] = hide_SMES_details + data["hide_breakers"] = hide_breakers + + ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) + if (!ui) + ui = new(user, src, ui_key, "rcon.tmpl", "RCON Console", 600, 400) + ui.set_initial_data(data) + ui.open() + ui.set_auto_update(1) + +// Proc: Topic() +// Parameters: 2 (href, href_list - allows us to process UI clicks) +// Description: Allows us to process UI clicks, which are relayed in form of hrefs. +/obj/nano_module/rcon/Topic(href, href_list) + if(..()) + return + + if(href_list["smes_in_toggle"]) + var/obj/machinery/power/smes/buildable/SMES = GetSMESByTag(href_list["smes_in_toggle"]) + if(SMES) + SMES.toggle_input() + if(href_list["smes_out_toggle"]) + var/obj/machinery/power/smes/buildable/SMES = GetSMESByTag(href_list["smes_out_toggle"]) + if(SMES) + SMES.toggle_output() + if(href_list["smes_in_set"]) + var/obj/machinery/power/smes/buildable/SMES = GetSMESByTag(href_list["smes_in_set"]) + if(SMES) + var/inputset = input(usr, "Enter new input level (0-[SMES.input_level_max])", "SMES Input Power Control") as num + SMES.set_input(inputset) + if(href_list["smes_out_set"]) + var/obj/machinery/power/smes/buildable/SMES = GetSMESByTag(href_list["smes_out_set"]) + if(SMES) + var/outputset = input(usr, "Enter new output level (0-[SMES.output_level_max])", "SMES Input Power Control") as num + SMES.set_output(outputset) + + if(href_list["toggle_breaker"]) + var/obj/machinery/power/breakerbox/toggle = null + for(var/obj/machinery/power/breakerbox/breaker in known_breakers) + if(breaker.RCon_tag == href_list["toggle_breaker"]) + toggle = breaker + if(toggle) + if(toggle.update_locked) + usr << "The breaker box was recently toggled. Please wait before toggling it again." + else + toggle.auto_toggle() + if(href_list["hide_smes"]) + hide_SMES = !hide_SMES + if(href_list["hide_smes_details"]) + hide_SMES_details = !hide_SMES_details + if(href_list["hide_breakers"]) + hide_breakers = !hide_breakers + + +// Proc: GetSMESByTag() +// Parameters: 1 (tag - RCON tag of SMES we want to look up) +// Description: Looks up and returns SMES which has matching RCON tag +/obj/nano_module/rcon/proc/GetSMESByTag(var/tag) + if(!tag) + return + + for(var/obj/machinery/power/smes/buildable/S in known_SMESs) + if(S.RCon_tag == tag) + return S + +// Proc: FindDevices() +// Parameters: None +// Description: Refreshes local list of known devices. +/obj/nano_module/rcon/proc/FindDevices() + known_SMESs = new /list() + for(var/obj/machinery/power/smes/buildable/SMES in machines) + if(SMES.RCon_tag && (SMES.RCon_tag != "NO_TAG") && SMES.RCon) + known_SMESs.Add(SMES) + + known_breakers = new /list() + for(var/obj/machinery/power/breakerbox/breaker in machines) + if(breaker.RCon_tag != "NO_TAG") + known_breakers.Add(breaker) diff --git a/code/modules/nano/nanomanager.dm b/code/modules/nano/nanomanager.dm index da546ac66da..ddc3fcac9f4 100644 --- a/code/modules/nano/nanomanager.dm +++ b/code/modules/nano/nanomanager.dm @@ -1,249 +1,249 @@ -// This is the window/UI manager for Nano UI -// There should only ever be one (global) instance of nanomanger -/datum/nanomanager - // a list of current open /nanoui UIs, grouped by src_object and ui_key - var/open_uis[0] - // a list of current open /nanoui UIs, not grouped, for use in processing - var/list/processing_uis = list() - // a list of asset filenames which are to be sent to the client on user logon - var/list/asset_files = list() - - /** - * Create a new nanomanager instance. - * This proc generates a list of assets which are to be sent to each client on connect - * - * @return /nanomanager new nanomanager object - */ -/datum/nanomanager/New() - var/list/nano_asset_dirs = list(\ - "nano/css/",\ - "nano/images/",\ - "nano/js/",\ - "nano/templates/"\ - ) - - var/list/filenames = null - for (var/path in nano_asset_dirs) - filenames = flist(path) - for(var/filename in filenames) - if(copytext(filename, length(filename)) != "/") // filenames which end in "/" are actually directories, which we want to ignore - if(fexists(path + filename)) - asset_files.Add(fcopy_rsc(path + filename)) // add this file to asset_files for sending to clients when they connect - - return - - /** - * Get an open /nanoui ui for the current user, src_object and ui_key and try to update it with data - * - * @param user /mob The mob who opened/owns the ui - * @param src_object /obj|/mob The obj or mob which the ui belongs to - * @param ui_key string A string key used for the ui - * @param ui /datum/nanoui An existing instance of the ui (can be null) - * @param data list The data to be passed to the ui, if it exists - * @param force_open boolean The ui is being forced to (re)open, so close ui if it exists (instead of updating) - * - * @return /nanoui Returns the found ui, for null if none exists - */ -/datum/nanomanager/proc/try_update_ui(var/mob/user, src_object, ui_key, var/datum/nanoui/ui, data, var/force_open = 0) - if (isnull(ui)) // no ui has been passed, so we'll search for one - { - ui = get_open_ui(user, src_object, ui_key) - } - if (!isnull(ui)) - // The UI is already open - if (!force_open) - ui.push_data(data) - return ui - else - //testing("nanomanager/try_update_ui mob [user.name] [src_object:name] [ui_key] [force_open] - forcing opening of ui") - ui.close() - return null - - /** - * Get an open /nanoui ui for the current user, src_object and ui_key - * - * @param user /mob The mob who opened/owns the ui - * @param src_object /obj|/mob The obj or mob which the ui belongs to - * @param ui_key string A string key used for the ui - * - * @return /nanoui Returns the found ui, or null if none exists - */ -/datum/nanomanager/proc/get_open_ui(var/mob/user, src_object, ui_key) - var/src_object_key = "\ref[src_object]" - if (isnull(open_uis[src_object_key]) || !istype(open_uis[src_object_key], /list)) - //testing("nanomanager/get_open_ui mob [user.name] [src_object:name] [ui_key] - there are no uis open") - return null - else if (isnull(open_uis[src_object_key][ui_key]) || !istype(open_uis[src_object_key][ui_key], /list)) - //testing("nanomanager/get_open_ui mob [user.name] [src_object:name] [ui_key] - there are no uis open for this object") - return null - - for (var/datum/nanoui/ui in open_uis[src_object_key][ui_key]) - if (ui.user == user) - return ui - - //testing("nanomanager/get_open_ui mob [user.name] [src_object:name] [ui_key] - ui not found") - return null - - /** - * Update all /nanoui uis attached to src_object - * - * @param src_object /obj|/mob The obj or mob which the uis are attached to - * - * @return int The number of uis updated - */ -/datum/nanomanager/proc/update_uis(src_object) - var/src_object_key = "\ref[src_object]" - if (isnull(open_uis[src_object_key]) || !istype(open_uis[src_object_key], /list)) - return 0 - - var/update_count = 0 - for (var/ui_key in open_uis[src_object_key]) - for (var/datum/nanoui/ui in open_uis[src_object_key][ui_key]) - if(ui && ui.src_object && ui.user) - ui.process(1) - update_count++ - return update_count - - /** - * Update /nanoui uis belonging to user - * - * @param user /mob The mob who owns the uis - * @param src_object /obj|/mob If src_object is provided, only update uis which are attached to src_object (optional) - * @param ui_key string If ui_key is provided, only update uis with a matching ui_key (optional) - * - * @return int The number of uis updated - */ -/datum/nanomanager/proc/update_user_uis(var/mob/user, src_object = null, ui_key = null) - if (isnull(user.open_uis) || !istype(user.open_uis, /list) || open_uis.len == 0) - return 0 // has no open uis - - var/update_count = 0 - for (var/datum/nanoui/ui in user.open_uis) - if ((isnull(src_object) || !isnull(src_object) && ui.src_object == src_object) && (isnull(ui_key) || !isnull(ui_key) && ui.ui_key == ui_key)) - ui.process(1) - update_count++ - - return update_count - - /** - * Close /nanoui uis belonging to user - * - * @param user /mob The mob who owns the uis - * @param src_object /obj|/mob If src_object is provided, only close uis which are attached to src_object (optional) - * @param ui_key string If ui_key is provided, only close uis with a matching ui_key (optional) - * - * @return int The number of uis closed - */ -/datum/nanomanager/proc/close_user_uis(var/mob/user, src_object = null, ui_key = null) - if (isnull(user.open_uis) || !istype(user.open_uis, /list) || open_uis.len == 0) - //testing("nanomanager/close_user_uis mob [user.name] has no open uis") - return 0 // has no open uis - - var/close_count = 0 - for (var/datum/nanoui/ui in user.open_uis) - if ((isnull(src_object) || !isnull(src_object) && ui.src_object == src_object) && (isnull(ui_key) || !isnull(ui_key) && ui.ui_key == ui_key)) - ui.close() - close_count++ - - //testing("nanomanager/close_user_uis mob [user.name] closed [open_uis.len] of [close_count] uis") - - return close_count - - /** - * Add a /nanoui ui to the list of open uis - * This is called by the /nanoui open() proc - * - * @param ui /nanoui The ui to add - * - * @return nothing - */ -/datum/nanomanager/proc/ui_opened(var/datum/nanoui/ui) - var/src_object_key = "\ref[ui.src_object]" - if (isnull(open_uis[src_object_key]) || !istype(open_uis[src_object_key], /list)) - open_uis[src_object_key] = list(ui.ui_key = list()) - else if (isnull(open_uis[src_object_key][ui.ui_key]) || !istype(open_uis[src_object_key][ui.ui_key], /list)) - open_uis[src_object_key][ui.ui_key] = list(); - - ui.user.open_uis.Add(ui) - var/list/uis = open_uis[src_object_key][ui.ui_key] - uis.Add(ui) - processing_uis.Add(ui) - //testing("nanomanager/ui_opened mob [ui.user.name] [ui.src_object:name] [ui.ui_key] - user.open_uis [ui.user.open_uis.len] | uis [uis.len] | processing_uis [processing_uis.len]") - - /** - * Remove a /nanoui ui from the list of open uis - * This is called by the /nanoui close() proc - * - * @param ui /nanoui The ui to remove - * - * @return int 0 if no ui was removed, 1 if removed successfully - */ -/datum/nanomanager/proc/ui_closed(var/datum/nanoui/ui) - var/src_object_key = "\ref[ui.src_object]" - if (isnull(open_uis[src_object_key]) || !istype(open_uis[src_object_key], /list)) - return 0 // wasn't open - else if (isnull(open_uis[src_object_key][ui.ui_key]) || !istype(open_uis[src_object_key][ui.ui_key], /list)) - return 0 // wasn't open - - processing_uis.Remove(ui) - ui.user.open_uis.Remove(ui) - var/list/uis = open_uis[src_object_key][ui.ui_key] - uis.Remove(ui) - - //testing("nanomanager/ui_closed mob [ui.user.name] [ui.src_object:name] [ui.ui_key] - user.open_uis [ui.user.open_uis.len] | uis [uis.len] | processing_uis [processing_uis.len]") - - return 1 - - /** - * This is called on user logout - * Closes/clears all uis attached to the user's /mob - * - * @param user /mob The user's mob - * - * @return nothing - */ - -// -/datum/nanomanager/proc/user_logout(var/mob/user) - //testing("nanomanager/user_logout user [user.name]") - return close_user_uis(user) - - /** - * This is called when a player transfers from one mob to another - * Transfers all open UIs to the new mob - * - * @param oldMob /mob The user's old mob - * @param newMob /mob The user's new mob - * - * @return nothing - */ -/datum/nanomanager/proc/user_transferred(var/mob/oldMob, var/mob/newMob) - //testing("nanomanager/user_transferred from mob [oldMob.name] to mob [newMob.name]") - if (isnull(oldMob.open_uis) || !istype(oldMob.open_uis, /list) || open_uis.len == 0) - //testing("nanomanager/user_transferred mob [oldMob.name] has no open uis") - return 0 // has no open uis - - if (isnull(newMob.open_uis) || !istype(newMob.open_uis, /list)) - newMob.open_uis = list() - - for (var/datum/nanoui/ui in oldMob.open_uis) - ui.user = newMob - newMob.open_uis.Add(ui) - - oldMob.open_uis.Cut() - - return 1 // success - - /** - * Sends all nano assets to the client - * This is called on user login - * - * @param client /client The user's client - * - * @return nothing - */ - -/datum/nanomanager/proc/send_resources(client) - for(var/file in asset_files) - client << browse_rsc(file) // send the file to the client - +// This is the window/UI manager for Nano UI +// There should only ever be one (global) instance of nanomanger +/datum/nanomanager + // a list of current open /nanoui UIs, grouped by src_object and ui_key + var/open_uis[0] + // a list of current open /nanoui UIs, not grouped, for use in processing + var/list/processing_uis = list() + // a list of asset filenames which are to be sent to the client on user logon + var/list/asset_files = list() + + /** + * Create a new nanomanager instance. + * This proc generates a list of assets which are to be sent to each client on connect + * + * @return /nanomanager new nanomanager object + */ +/datum/nanomanager/New() + var/list/nano_asset_dirs = list(\ + "nano/css/",\ + "nano/images/",\ + "nano/js/",\ + "nano/templates/"\ + ) + + var/list/filenames = null + for (var/path in nano_asset_dirs) + filenames = flist(path) + for(var/filename in filenames) + if(copytext(filename, length(filename)) != "/") // filenames which end in "/" are actually directories, which we want to ignore + if(fexists(path + filename)) + asset_files.Add(fcopy_rsc(path + filename)) // add this file to asset_files for sending to clients when they connect + + return + + /** + * Get an open /nanoui ui for the current user, src_object and ui_key and try to update it with data + * + * @param user /mob The mob who opened/owns the ui + * @param src_object /obj|/mob The obj or mob which the ui belongs to + * @param ui_key string A string key used for the ui + * @param ui /datum/nanoui An existing instance of the ui (can be null) + * @param data list The data to be passed to the ui, if it exists + * @param force_open boolean The ui is being forced to (re)open, so close ui if it exists (instead of updating) + * + * @return /nanoui Returns the found ui, for null if none exists + */ +/datum/nanomanager/proc/try_update_ui(var/mob/user, src_object, ui_key, var/datum/nanoui/ui, data, var/force_open = 0) + if (isnull(ui)) // no ui has been passed, so we'll search for one + { + ui = get_open_ui(user, src_object, ui_key) + } + if (!isnull(ui)) + // The UI is already open + if (!force_open) + ui.push_data(data) + return ui + else + //testing("nanomanager/try_update_ui mob [user.name] [src_object:name] [ui_key] [force_open] - forcing opening of ui") + ui.close() + return null + + /** + * Get an open /nanoui ui for the current user, src_object and ui_key + * + * @param user /mob The mob who opened/owns the ui + * @param src_object /obj|/mob The obj or mob which the ui belongs to + * @param ui_key string A string key used for the ui + * + * @return /nanoui Returns the found ui, or null if none exists + */ +/datum/nanomanager/proc/get_open_ui(var/mob/user, src_object, ui_key) + var/src_object_key = "\ref[src_object]" + if (isnull(open_uis[src_object_key]) || !istype(open_uis[src_object_key], /list)) + //testing("nanomanager/get_open_ui mob [user.name] [src_object:name] [ui_key] - there are no uis open") + return null + else if (isnull(open_uis[src_object_key][ui_key]) || !istype(open_uis[src_object_key][ui_key], /list)) + //testing("nanomanager/get_open_ui mob [user.name] [src_object:name] [ui_key] - there are no uis open for this object") + return null + + for (var/datum/nanoui/ui in open_uis[src_object_key][ui_key]) + if (ui.user == user) + return ui + + //testing("nanomanager/get_open_ui mob [user.name] [src_object:name] [ui_key] - ui not found") + return null + + /** + * Update all /nanoui uis attached to src_object + * + * @param src_object /obj|/mob The obj or mob which the uis are attached to + * + * @return int The number of uis updated + */ +/datum/nanomanager/proc/update_uis(src_object) + var/src_object_key = "\ref[src_object]" + if (isnull(open_uis[src_object_key]) || !istype(open_uis[src_object_key], /list)) + return 0 + + var/update_count = 0 + for (var/ui_key in open_uis[src_object_key]) + for (var/datum/nanoui/ui in open_uis[src_object_key][ui_key]) + if(ui && ui.src_object && ui.user && ui.src_object.nano_host()) + ui.process(1) + update_count++ + return update_count + + /** + * Update /nanoui uis belonging to user + * + * @param user /mob The mob who owns the uis + * @param src_object /obj|/mob If src_object is provided, only update uis which are attached to src_object (optional) + * @param ui_key string If ui_key is provided, only update uis with a matching ui_key (optional) + * + * @return int The number of uis updated + */ +/datum/nanomanager/proc/update_user_uis(var/mob/user, src_object = null, ui_key = null) + if (isnull(user.open_uis) || !istype(user.open_uis, /list) || open_uis.len == 0) + return 0 // has no open uis + + var/update_count = 0 + for (var/datum/nanoui/ui in user.open_uis) + if ((isnull(src_object) || !isnull(src_object) && ui.src_object == src_object) && (isnull(ui_key) || !isnull(ui_key) && ui.ui_key == ui_key)) + ui.process(1) + update_count++ + + return update_count + + /** + * Close /nanoui uis belonging to user + * + * @param user /mob The mob who owns the uis + * @param src_object /obj|/mob If src_object is provided, only close uis which are attached to src_object (optional) + * @param ui_key string If ui_key is provided, only close uis with a matching ui_key (optional) + * + * @return int The number of uis closed + */ +/datum/nanomanager/proc/close_user_uis(var/mob/user, src_object = null, ui_key = null) + if (isnull(user.open_uis) || !istype(user.open_uis, /list) || open_uis.len == 0) + //testing("nanomanager/close_user_uis mob [user.name] has no open uis") + return 0 // has no open uis + + var/close_count = 0 + for (var/datum/nanoui/ui in user.open_uis) + if ((isnull(src_object) || !isnull(src_object) && ui.src_object == src_object) && (isnull(ui_key) || !isnull(ui_key) && ui.ui_key == ui_key)) + ui.close() + close_count++ + + //testing("nanomanager/close_user_uis mob [user.name] closed [open_uis.len] of [close_count] uis") + + return close_count + + /** + * Add a /nanoui ui to the list of open uis + * This is called by the /nanoui open() proc + * + * @param ui /nanoui The ui to add + * + * @return nothing + */ +/datum/nanomanager/proc/ui_opened(var/datum/nanoui/ui) + var/src_object_key = "\ref[ui.src_object]" + if (isnull(open_uis[src_object_key]) || !istype(open_uis[src_object_key], /list)) + open_uis[src_object_key] = list(ui.ui_key = list()) + else if (isnull(open_uis[src_object_key][ui.ui_key]) || !istype(open_uis[src_object_key][ui.ui_key], /list)) + open_uis[src_object_key][ui.ui_key] = list(); + + ui.user.open_uis.Add(ui) + var/list/uis = open_uis[src_object_key][ui.ui_key] + uis.Add(ui) + processing_uis.Add(ui) + //testing("nanomanager/ui_opened mob [ui.user.name] [ui.src_object:name] [ui.ui_key] - user.open_uis [ui.user.open_uis.len] | uis [uis.len] | processing_uis [processing_uis.len]") + + /** + * Remove a /nanoui ui from the list of open uis + * This is called by the /nanoui close() proc + * + * @param ui /nanoui The ui to remove + * + * @return int 0 if no ui was removed, 1 if removed successfully + */ +/datum/nanomanager/proc/ui_closed(var/datum/nanoui/ui) + var/src_object_key = "\ref[ui.src_object]" + if (isnull(open_uis[src_object_key]) || !istype(open_uis[src_object_key], /list)) + return 0 // wasn't open + else if (isnull(open_uis[src_object_key][ui.ui_key]) || !istype(open_uis[src_object_key][ui.ui_key], /list)) + return 0 // wasn't open + + processing_uis.Remove(ui) + ui.user.open_uis.Remove(ui) + var/list/uis = open_uis[src_object_key][ui.ui_key] + uis.Remove(ui) + + //testing("nanomanager/ui_closed mob [ui.user.name] [ui.src_object:name] [ui.ui_key] - user.open_uis [ui.user.open_uis.len] | uis [uis.len] | processing_uis [processing_uis.len]") + + return 1 + + /** + * This is called on user logout + * Closes/clears all uis attached to the user's /mob + * + * @param user /mob The user's mob + * + * @return nothing + */ + +// +/datum/nanomanager/proc/user_logout(var/mob/user) + //testing("nanomanager/user_logout user [user.name]") + return close_user_uis(user) + + /** + * This is called when a player transfers from one mob to another + * Transfers all open UIs to the new mob + * + * @param oldMob /mob The user's old mob + * @param newMob /mob The user's new mob + * + * @return nothing + */ +/datum/nanomanager/proc/user_transferred(var/mob/oldMob, var/mob/newMob) + //testing("nanomanager/user_transferred from mob [oldMob.name] to mob [newMob.name]") + if (isnull(oldMob.open_uis) || !istype(oldMob.open_uis, /list) || open_uis.len == 0) + //testing("nanomanager/user_transferred mob [oldMob.name] has no open uis") + return 0 // has no open uis + + if (isnull(newMob.open_uis) || !istype(newMob.open_uis, /list)) + newMob.open_uis = list() + + for (var/datum/nanoui/ui in oldMob.open_uis) + ui.user = newMob + newMob.open_uis.Add(ui) + + oldMob.open_uis.Cut() + + return 1 // success + + /** + * Sends all nano assets to the client + * This is called on user login + * + * @param client /client The user's client + * + * @return nothing + */ + +/datum/nanomanager/proc/send_resources(client) + for(var/file in asset_files) + client << browse_rsc(file) // send the file to the client + diff --git a/code/modules/nano/nanoprocs.dm b/code/modules/nano/nanoprocs.dm new file mode 100644 index 00000000000..65432a8f24b --- /dev/null +++ b/code/modules/nano/nanoprocs.dm @@ -0,0 +1,11 @@ +/atom/movable/proc/nano_host() + return src + +/obj/nano_module/nano_host() + return loc + +/atom/movable/proc/nano_can_update() + return 1 + +/obj/machinery/nano_can_update() + return !(stat & (NOPOWER|BROKEN)) diff --git a/code/modules/nano/nanoui.dm b/code/modules/nano/nanoui.dm index fbd809cd03c..04ef3cc95b9 100644 --- a/code/modules/nano/nanoui.dm +++ b/code/modules/nano/nanoui.dm @@ -132,7 +132,12 @@ nanoui is used to open and update nano browser uis * @return nothing */ /datum/nanoui/proc/update_status(var/push_update = 0) - var/status = user.can_interact_with_interface(src_object) + var/atom/movable/host = src_object.nano_host() + if(!host.nano_can_update()) + close() + return + + var/status = user.can_interact_with_interface(host.nano_host()) if(status == STATUS_CLOSE) close() else @@ -181,7 +186,7 @@ nanoui is used to open and update nano browser uis return STATUS_UPDATE /mob/living/silicon/ai/can_interact_with_interface(var/src_object) - if(stat || !client) + if(!client || check_unable(1)) return STATUS_CLOSE // Prevents the AI from using Topic on admin levels (by for example viewing through the court/thunderdome cameras) // unless it's on the same level as the object it's interacting with. From 60a64b5216b9a4227ce585a1d308d1395ec84f7b Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Mon, 16 Feb 2015 14:01:14 +0100 Subject: [PATCH 140/143] Additional map changes. Removes substation cameras in conjuction with #8143. Replaces near-vacuum warning plates with more station friendly versions. --- maps/exodus-1.dmm | 53 ++++++++++++++++++++++++----------------------- 1 file changed, 27 insertions(+), 26 deletions(-) diff --git a/maps/exodus-1.dmm b/maps/exodus-1.dmm index abf78a480b7..067d14cba63 100644 --- a/maps/exodus-1.dmm +++ b/maps/exodus-1.dmm @@ -958,7 +958,7 @@ "asv" = (/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/maintenance/dormitory) "asw" = (/obj/machinery/light{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/turf/simulated/floor/plating{dir = 4; icon_state = "warnplatecorner"},/area/maintenance/dormitory) "asx" = (/turf/simulated/floor/plating{dir = 8; icon_state = "warnplatecorner"},/area/maintenance/dormitory) -"asy" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "dorm_airlock"; name = "interior access button"; pixel_x = -25; pixel_y = 25; req_access_txt = "13"},/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/manifold/visible{dir = 8},/turf/simulated/floor/plating{dir = 1; icon_state = "warnplate"; nitrogen = 0.01; oxygen = 0.01},/area/maintenance/dormitory) +"asy" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/substation/security) "asz" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/portable_atmospherics/canister/air/airlock,/obj/effect/decal/cleanable/cobweb2,/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/plating{dir = 4; icon_state = "warnplatecorner"},/area/maintenance/dormitory) "asA" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/arrivals) "asB" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "arrivals_outer"; locked = 1; name = "Engineering External Access"; req_access = null; req_access_txt = "10;13"},/turf/simulated/floor/plating,/area/maintenance/arrivals) @@ -1003,7 +1003,7 @@ "ato" = (/obj/structure/window/shuttle,/obj/structure/grille,/turf/simulated/shuttle/plating,/area/shuttle/escape_pod2/station) "atp" = (/turf/simulated/shuttle/wall{icon_state = "swall_s10"; dir = 2},/area/shuttle/escape_pod2/station) "atq" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/arrivals) -"atr" = (/turf/simulated/floor/plating{dir = 1; icon_state = "warnplate"; nitrogen = 0.01; oxygen = 0.01},/area/maintenance/arrivals) +"atr" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "dorm_airlock"; name = "interior access button"; pixel_x = -25; pixel_y = 25; req_access_txt = "13"},/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/manifold/visible{dir = 8},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/maintenance/dormitory) "ats" = (/obj/structure/table/rack,/obj/item/weapon/flame/lighter/random,/obj/item/weapon/storage/fancy/cigarettes/dromedaryco,/turf/simulated/floor/plating,/area/maintenance/evahallway) "att" = (/obj/item/weapon/cigbutt,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/evahallway) "atu" = (/obj/machinery/washing_machine,/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/security/prison) @@ -1125,7 +1125,7 @@ "avG" = (/turf/simulated/floor/plating,/obj/structure/shuttle/engine/propulsion/burst,/turf/simulated/shuttle/wall{icon_state = "swall_f9"; dir = 2},/area/shuttle/escape_pod2/station) "avH" = (/turf/simulated/floor/plating,/area/maintenance/arrivals) "avI" = (/turf/simulated/floor/plating{dir = 8; icon_state = "warnplatecorner"},/area/maintenance/arrivals) -"avJ" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "arrivals_airlock"; name = "interior access button"; pixel_x = -25; pixel_y = 25; req_access_txt = "13"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{dir = 1; icon_state = "warnplate"; nitrogen = 0.01; oxygen = 0.01},/area/maintenance/arrivals) +"avJ" = (/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/maintenance/arrivals) "avK" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0; pixel_y = 32},/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor/plating{dir = 4; icon_state = "warnplatecorner"},/area/maintenance/arrivals) "avL" = (/obj/structure/table/rack,/obj/item/clothing/mask/gas,/obj/item/device/flashlight,/turf/simulated/floor/plating,/area/maintenance/arrivals) "avM" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/maintenance/arrivals) @@ -1179,7 +1179,7 @@ "awI" = (/obj/structure/closet/emcloset,/turf/simulated/floor/plating,/area/hallway/secondary/entry/fore) "awJ" = (/obj/structure/closet,/obj/item/weapon/storage/backpack,/turf/simulated/floor/plating,/area/maintenance/arrivals) "awK" = (/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/turf/simulated/floor/plating,/area/maintenance/substation/security) -"awL" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/camera{c_tag = "Security Substation"; dir = 1; network = list("SS13","Engineering")},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/substation/security) +"awL" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "arrivals_airlock"; name = "interior access button"; pixel_x = -25; pixel_y = 25; req_access_txt = "13"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/maintenance/arrivals) "awM" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/turf/simulated/floor/plating,/area/hallway/secondary/entry/fore) "awN" = (/obj/effect/decal/cleanable/blood/oil/streak{amount = 0},/turf/simulated/floor/plating,/area/maintenance/arrivals) "awO" = (/obj/structure/table/reinforced,/obj/machinery/door/blast/shutters{dir = 2; id = "bar"; layer = 3.1; name = "Bar Shutters"},/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar) @@ -1421,7 +1421,7 @@ "aBq" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating{dir = 8; icon_state = "warnplatecorner"},/area/maintenance/library) "aBr" = (/obj/structure/closet/lasertag/red,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor{icon_state = "neutral"; dir = 6},/area/crew_quarters/fitness) "aBs" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating{dir = 4; icon_state = "warnplatecorner"},/area/maintenance/library) -"aBt" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating{dir = 1; icon_state = "warnplate"; nitrogen = 0.01; oxygen = 0.01},/area/maintenance/library) +"aBt" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "solar_chapel_airlock"; name = "interior access button"; pixel_x = 25; pixel_y = 25; req_access_txt = "13"},/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/obj/effect/decal/cleanable/dirt,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/maintenance/auxsolarstarboard) "aBu" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard) "aBv" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard) "aBw" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "solar_chapel_inner"; locked = 1; name = "Engineering External Access"; req_access = null; req_access_txt = "13"},/obj/machinery/atmospherics/pipe/simple/visible,/obj/effect/decal/cleanable/dirt,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard) @@ -1477,7 +1477,7 @@ "aCu" = (/turf/simulated/wall,/area/maintenance/substation/civilian_east) "aCv" = (/turf/simulated/wall/r_wall,/area/maintenance/auxsolarstarboard) "aCw" = (/obj/machinery/power/solar_control{id = "auxsolareast"; name = "Fore Starboard Solar Control"; track = 0},/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0; pixel_y = 32},/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating{dir = 8; icon_state = "warnplatecorner"},/area/maintenance/auxsolarstarboard) -"aCx" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "solar_chapel_airlock"; name = "interior access button"; pixel_x = 25; pixel_y = 25; req_access_txt = "13"},/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/obj/effect/decal/cleanable/dirt,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating{dir = 1; icon_state = "warnplate"; nitrogen = 0.01; oxygen = 0.01},/area/maintenance/auxsolarstarboard) +"aCx" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/maintenance/library) "aCy" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor/plating{dir = 4; icon_state = "warnplatecorner"},/area/maintenance/auxsolarstarboard) "aCz" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/hallway/secondary/entry/fore) "aCA" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/hallway/secondary/entry/fore) @@ -1523,7 +1523,7 @@ "aDo" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/drinks/shaker,/obj/item/weapon/gun/projectile/shotgun/doublebarrel,/obj/item/weapon/paper{info = "This permit signifies that the Bartender is permitted to posess this firearm in the bar, and ONLY the bar. Failure to adhere to this permit will result in confiscation of the weapon and possibly arrest."; name = "Shotgun permit"},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/wood,/area/crew_quarters/bar) "aDp" = (/turf/simulated/wall,/area/crew_quarters/bar) "aDq" = (/obj/structure/disposalpipe/segment,/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/bar) -"aDr" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating{dir = 1; icon_state = "warnplate"; nitrogen = 0.01; oxygen = 0.01},/area/maintenance/arrivals) +"aDr" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/maintenance/arrivals) "aDs" = (/turf/simulated/wall,/area/maintenance/bar) "aDt" = (/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Substation - Civilian East"},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/maintenance/substation/civilian_east) "aDu" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "neutral"; dir = 4},/area/crew_quarters/sleep) @@ -1709,7 +1709,7 @@ "aGS" = (/obj/structure/table/reinforced,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/weapon/pen,/turf/simulated/floor{icon_state = "red"},/area/security/checkpoint2) "aGT" = (/obj/machinery/recharger{pixel_y = 4},/obj/structure/table/reinforced,/turf/simulated/floor{icon_state = "red"},/area/security/checkpoint2) "aGU" = (/obj/item/weapon/crowbar,/obj/item/device/flash,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor{icon_state = "red"; dir = 6},/area/security/checkpoint2) -"aGV" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/camera{c_tag = "West Civilian Substation"; dir = 8; network = list("SS13","Engineering")},/turf/simulated/floor/plating,/area/maintenance/substation/civilian_west) +"aGV" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/maintenance/substation/civilian_west) "aGW" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/terminal,/turf/simulated/floor/plating,/area/maintenance/substation/civilian_west) "aGX" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/hallway/secondary/entry/starboard) "aGY" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/hallway/secondary/entry/port) @@ -2647,7 +2647,7 @@ "aYU" = (/obj/structure/table,/obj/item/clothing/head/soft/grey{pixel_x = -2; pixel_y = 3},/turf/simulated/floor,/area/crew_quarters/locker) "aYV" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "nuke_shuttle_dock_airlock"; name = "exterior access button"; pixel_x = -5; pixel_y = 32; req_access_txt = "0"; req_one_access_txt = "13"},/turf/space,/area/space) "aYW" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor,/area/crew_quarters/locker) -"aYX" = (/obj/machinery/light/small{dir = 1},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/camera{c_tag = "Medical Substation"; dir = 2; network = list("SS13","Engineering")},/turf/simulated/floor/plating,/area/maintenance/substation/medical) +"aYX" = (/obj/machinery/light/small{dir = 8},/obj/machinery/atmospherics/pipe/tank/air{dir = 4},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/maintenance/locker) "aYY" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor,/area/storage/tools) "aYZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/storage/tools) "aZa" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = 32},/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/turf/simulated/floor{dir = 5; icon_state = "blue"},/area/hallway/primary/central_one) @@ -2784,7 +2784,7 @@ "bbB" = (/turf/simulated/floor{icon_state = "green"; dir = 8},/area/hydroponics/garden) "bbC" = (/obj/structure/flora/ausbushes/fernybush,/turf/simulated/floor/grass,/area/hydroponics/garden) "bbD" = (/obj/structure/flora/ausbushes/brflowers,/obj/machinery/camera/autoname{dir = 8},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/grass,/area/hydroponics/garden) -"bbE" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/camera{c_tag = "Command Substation"; dir = 2; network = list("SS13","Engineering")},/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Substation - Command"},/turf/simulated/floor/plating,/area/maintenance/substation/command) +"bbE" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Substation - Command"},/turf/simulated/floor/plating,/area/maintenance/substation/command) "bbF" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/hallway/primary/starboard) "bbG" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/airlock/glass{name = "Library"},/turf/simulated/floor/carpet,/area/hallway/primary/starboard) "bbH" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/carpet,/area/library) @@ -2885,7 +2885,7 @@ "bdy" = (/obj/structure/stool/bed/chair/office/dark{dir = 8},/turf/simulated/floor,/area/security/vacantoffice) "bdz" = (/obj/structure/table,/obj/structure/window/basic{dir = 4},/turf/simulated/floor,/area/security/vacantoffice) "bdA" = (/obj/machinery/photocopier,/turf/simulated/floor,/area/security/vacantoffice) -"bdB" = (/obj/machinery/light/small{dir = 8},/obj/machinery/atmospherics/pipe/tank/air{dir = 4},/turf/simulated/floor/plating{dir = 1; icon_state = "warnplate"; nitrogen = 0.01; oxygen = 0.01},/area/maintenance/locker) +"bdB" = (/obj/machinery/light/small{dir = 1},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/plating,/area/maintenance/substation/medical) "bdC" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/manifold/hidden/cyan{dir = 4},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 5},/area/maintenance/locker) "bdD" = (/obj/structure/toilet{pixel_y = 8},/obj/machinery/light/small{dir = 8},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/locker/locker_toilet) "bdE" = (/obj/machinery/door/airlock{name = "Unit 1"},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/locker/locker_toilet) @@ -5241,7 +5241,7 @@ "bWO" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "white"},/area/rnd/misc_lab) "bWP" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "white"},/area/rnd/misc_lab) "bWQ" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/medical/patient_wing) -"bWR" = (/obj/machinery/door/airlock/glass_medical{name = "Hygiene Facilities"; req_access_txt = "0"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/medical/patient_wing) +"bWR" = (/obj/machinery/door/airlock/glass_medical{name = "Hygiene Facilities"; req_access_txt = "0"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor,/turf/simulated/floor{icon_state = "white"},/area/medical/patient_wing) "bWS" = (/turf/simulated/floor{icon_state = "white"},/area/rnd/misc_lab) "bWT" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/rnd/misc_lab) "bWU" = (/obj/structure/stool/bed/chair/office/light{dir = 1},/obj/effect/landmark/start{name = "Scientist"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "white"},/area/rnd/misc_lab) @@ -5311,7 +5311,7 @@ "bYg" = (/obj/structure/sign/redcross{desc = "The Star of Life, a symbol of Medical Aid."; icon_state = "lifestar"; name = "Medbay"; pixel_x = -32},/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/research_port) "bYh" = (/obj/machinery/atmospherics/binary/pump{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/rnd/misc_lab) "bYi" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green,/obj/machinery/power/sensor{name = "Powernet Sensor - Research Subgrid"; name_tag = "Research Subgrid"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/substation/research) -"bYj" = (/obj/machinery/power/breakerbox/activated{RCon_tag = "Research Substation Bypass"},/obj/machinery/camera{c_tag = "Research Substation"; dir = 2; network = list("SS13","Engineering")},/turf/simulated/floor/plating,/area/maintenance/substation/research) +"bYj" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{icon_state = "freezerfloor"},/area/medical/patient_wing) "bYk" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/maintenance/research_port) "bYl" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/plating,/area/maintenance/research_port) "bYm" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/misc_lab) @@ -5566,7 +5566,7 @@ "cdb" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/carpet,/area/engineering/break_room) "cdc" = (/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = -20; pixel_y = -21},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/sleep/engi_wash) "cdd" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/sleep/engi_wash) -"cde" = (/obj/machinery/camera{c_tag = "Engineering Substation"; dir = 2; network = list("SS13","Engineering")},/obj/machinery/light{dir = 1},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/power/sensor{name = "Powernet Sensor - Engineering Subgrid"; name_tag = "Engineering Subgrid"},/turf/simulated/floor/plating,/area/maintenance/substation/engineering) +"cde" = (/obj/machinery/power/breakerbox/activated{RCon_tag = "Research Substation Bypass"},/turf/simulated/floor/plating,/area/maintenance/substation/research) "cdf" = (/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/sleep/engi_wash) "cdg" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor{dir = 9; icon_state = "blue"},/area/medical/surgeryobs) "cdh" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/medical/surgeryobs) @@ -6289,7 +6289,7 @@ "cqW" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor,/area/engineering/engineering_monitoring) "cqX" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/engineering/engineering_monitoring) "cqY" = (/obj/machinery/computer/station_alert,/turf/simulated/floor,/area/engineering/engineering_monitoring) -"cqZ" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/engineering) +"cqZ" = (/obj/machinery/light{dir = 1},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/power/sensor{name = "Powernet Sensor - Engineering Subgrid"; name_tag = "Engineering Subgrid"},/turf/simulated/floor/plating,/area/maintenance/substation/engineering) "cra" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor,/area/engineering/workshop) "crb" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor,/area/engineering/workshop) "crc" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/engineering/workshop) @@ -7243,6 +7243,7 @@ "cJo" = (/obj/machinery/light,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/engineering/engine_room) "cJp" = (/turf/simulated/floor/plating{dir = 2; icon_state = "warnplatecorner"},/area/engineering/engine_room) "cJq" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'KEEP CLEAR OF DOCKING AREA'."; name = "KEEP CLEAR: DOCKING AREA"; pixel_y = 0},/turf/simulated/wall,/area/space) +"cJr" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/disposalpipe/segment,/obj/structure/extinguisher_cabinet{pixel_x = 25; pixel_y = 0},/turf/simulated/floor,/area/engineering) "cJz" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "robotics_solar_outer"; locked = 1; name = "Engineering External Access"; req_access = null; req_access_txt = "10;13"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/portsolar) "cJA" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1379; id_tag = "robotics_solar_pump"},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "robotics_solar_pump"; tag_exterior_door = "robotics_solar_outer"; frequency = 1379; id_tag = "robotics_solar_airlock"; tag_interior_door = "robotics_solar_inner"; layer = 3.3; pixel_x = 0; pixel_y = -25; req_access_txt = "13"; tag_chamber_sensor = "robotics_solar_sensor"},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "robotics_solar_sensor"; layer = 3.3; pixel_x = 12; pixel_y = -25},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/decal/warning_stripes,/turf/simulated/floor/plating,/area/maintenance/portsolar) "cJB" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "robotics_solar_inner"; locked = 1; name = "Engineering External Access"; req_access = null; req_access_txt = "13"},/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/portsolar) @@ -7366,26 +7367,26 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaafaaaaaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfadEagWalcaldalealfagWalgalhahLalialjagWacTacuacTagWabValnabUagWalpalqalralsagDaltalualvalwalxagWabTabSabSabRagWalBalCalDalEalFalGalHakoamtanQamuanQanQaaaaaaaafaafaaaaaaaaaaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaaaaaaaafaafaafaaaaaaaoYaafaafaaaaafaafaaaaaaaamaaaaaaahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafabMaafaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafabfadEabPalMalMalNalOalPalQalRahKalSaljagWalTalUalValWalXalYalZamsahKambahKamcamdameameamfamgamhamiamjamkamlammakoamnamoampamqalDalDamrakoadQanQamvawKamwaaaaaaaaLaaaaaaaaaaafaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafanTanTanTanTanTaafalJaafanTanTanTanTanTaafaaIaaaaaaahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaamaamaaIaaIaaaaaaaaaaoXaaaaaaaaaaaIaaIaamaamaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfadEagWamAamBamCamDagWamEalRaljamFamGagWamHamIamJalWamKamLamMamNamOamPamQamRamSamgamgamfamgamTaoWamVamWamXanfakoamZanaalDamqalDalDanbakoancandaneasPangaafaaLaafaafaaLaafaafaafakrakranhakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafanianjanjanjanjanualJansanqanqanqanqanwaafaaIaaaaaaahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaafaafaaaaaaaaaaoVaafaafaaaaafaafaaaaaaaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfankagWagWagWagWanlanmannanoanmanmanmanmanpaoPanpanraoQaojaoRanvaoSaoTaoUanzanAamgamgamfanBanCamianDanEamXanFanGanHanIanJanKanLanManNanGanOanPawLanRanSaaaaaaaafaaaaafaaLaafaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafapIapIapIapIapIaafalJaafapIapIapIapIapIaafaaIaaaahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaafaafaaaaaaaaaaoVaafaafaaaaafaafaaaaaaaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfankagWagWagWagWanlanmannanoanmanmanmanmanpaoPanpanraoQaojaoRanvaoSaoTaoUanzanAamgamgamfanBanCamianDanEamXanFanGanHanIanJanKanLanManNanGanOanPasyanRanSaaaaaaaafaaaaafaaLaafaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafapIapIapIapIapIaafalJaafapIapIapIapIapIaafaaIaaaahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafanVanVanVanVanVaafalkaafanVanVanVanVanVaafaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanXanYanZaoaagDaobaocagWaodaoealKaogaohaoibqKaokaolaomaonaooaonaopaoqaoraonaoOaotamgamgaouaovaowamiaoxanEamXaoyanGaozaoAaoBaoCaoDaoEaoFanGaoGanQanQanQanQaoIaoJaoHaoLarPaaaaafaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaafaaaaaaaafalJaaaaaaaaaaafaaaaaaaaaaamaaaahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaIaafalzalyalyalyalyalAalkallaivaivaivaivagEaafaaIaaaaaaaaaaaaaaaaaaaacaaaaaaaaaanXanXapaapbagDalMapcapdapeapfaofaphapiaoMaonaonapkaplaonapmapnaoraonapoaonaoNapqapramgamfamgamTaosamYanEamXaptanGapuapvapwapxapyapzapAanGapBaoHapCapDapEapFapGaoHaoHapHaoHaoHaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafanTanTanTanTanTaafalJaafanTanTanTanTanTaafaaIaaaaaaahzahzahzahzaaaaaaahzahzahzahzahzahzahzaaaaaaahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafapJapJapJapJapJaafalkaafapJapJapJapJapJaafaaIaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaapKapaapbagDapLapMagWalgapNalKapOapPapQapRaokapSanWapUapVapWapXapYapZaqaanUaqcaqdaovaqeaovaqfaqgaqhaqiaqjaqkanGaqlaqmapyaqnaqoaqpaqoaqqaqraqsapFaqtaquapFaqvaoHaqwaqxaqyaoHaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafanianjanjanjanjanualJansanqanqanqanqanwaafaaIaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaafaaaaaaaafalkaaaaaaaaaaafaaaaaaaaaaaqaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaqzaqAaqBagDagWagWagWaqCalRagWalWalWalWaqDaqEapkaqFaqGaqHaonaqIaqJaqKaqLanyaqNaqOaqPaqQaqRaqSanxaqUaqVaqWamVanGaqXaqYaqZaraarbarcardanGarearfapFaqtaqtapFargaoHarhariarjaoHaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafapIapIapIapIapIaafalJaafapIapIapIapIapIaafaaIaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafanVanVanVanVanVaafalkaafanVanVanVanVanVaafaaIaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaqzarkaqBagDaobarlagWarmarnalKaogaroaoiaokarparqarrarsartaonarualWarvarwarxalLarzarAamUamzamyarEarFarGarHamjanGanGarIanGanGanGanGanGanGarJarKarLarMarMapFarNaoHaoHarOaoHaoHaaaaaaakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaafaaaaaaaaaalJaaaaaaaaaaafaaaaaaaaaaamaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaLamxaaLaaaaaaaaaaaaaaaaaaaaaaaIaafalzalyalyalyalyalAalkallaivaivaivaivagEaafaaIaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaqzarQaqBagDarRapcarSarTarUaefapharWaloaonaonarYarZasaasbaonascalWasdasealmasgasharAasiasjaskarEaoHaoHaoHaoHaoHaslasmasnasoasoaspaspasqasrassastastasuasvasvaswasxasyaszaqsaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaIaafanTanTanTanTanTaafalJaafanTanTanTanTanTaafaaIaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaLamxaaLaaaaaaaaaaaaaaaaaaaaaaaIaafalzalyalyalyalyalAalkallaivaivaivaivagEaafaaIaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaqzarQaqBagDarRapcarSarTarUaefapharWaloaonaonarYarZasaasbaonascalWasdasealmasgasharAasiasjaskarEaoHaoHaoHaoHaoHaslasmasnasoasoaspaspasqasrassastastasuasvasvaswasxatraszaqsaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaIaafanTanTanTanTanTaafalJaafanTanTanTanTanTaafaaIaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafasAasBasAaaaaaaaaaaaaaaaaaaaaaaaIaafapJapJapJapJapJaafalkaafapJapJapJapJapJaafaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasCarQapbagDapLapMagWasDasEalKapOasFaoiasGasGasHasIaonasJaonasKalWasLasMbgMasOatgarAasQasRasSarEasTasUasUasVasWasVasXasYasZasZasZasZasZasZasZasZasZasmataatbatcaoKatdateatfaafaafathatjatiatiatiatiatQatiatiatiatiauMaafaaaaaaaaaaaaaamaafanianjanjanjanjanualJansanqanqanqanqanwaafaaIaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatkatlatmaaaatnatoatpaaaaafatqatratqaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaafaaaaaaaaaalkaaaaaaaaaaafaaaaaaaaaaamaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaanXatsattagDagDagDagWagWagWagWalWalWalWalWalWatuaonaoratvaqEatwalWalWalWatxatxatxarAatyatzatAarEatBasZasZasZasZatCatDatEatFatGatHatIatJatKatLatMatNatOatPatPatPatPatPatPatPatPatPavyatRatRatRatRatRatRatRatRatRatRavzaafaaaaaaaaaaaaaamaaaapIapIapIapIapIaafalJaafapIapIapIapIapIaaaaaqaaaaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatkatlatmaaaatnatoatpaaaaafatqavJatqaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaafaaaaaaaaaalkaaaaaaaaaaafaaaaaaaaaaamaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaanXatsattagDagDagDagWagWagWagWalWalWalWalWalWatuaonaoratvaqEatwalWalWalWatxatxatxarAatyatzatAarEatBasZasZasZasZatCatDatEatFatGatHatIatJatKatLatMatNatOatPatPatPatPatPatPatPatPatPavyatRatRatRatRatRatRatRatRatRatRavzaafaaaaaaaaaaaaaamaaaapIapIapIapIapIaafalJaafapIapIapIapIapIaaaaaqaaaaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatSatTatUatTatSatVatWatVatSaafatqatXatYaaaaaaaaaaaaaaaaaaaaaaaIaafanVanVanVanVanVaafalkaafanVanVanVanVanVaafaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafatZauaanYaubaucanXaafaafalWaudaueaufaugauhauiaonapnaonasJaqEaujaukaulaumaunauoauparAauqaurausarEatBasZaAfaySauvatCauxauyatFatGauzauAauBauCauDatMatNauEauFauGauHauIauHauJauwauLatPavAatRatRatRatRatRatRatRatRatRatRavyaafaaaaaaaaaaaaaamaaaaafaaaaafaafaaaaaabepaaaaaaaafaaaaaaaafaaaaaIaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauNatTauOatTauNatVauPatVauNauQauRauSauTauUauUauVauQauQaafaaaaaIaafalzalyalyalyalyalAalkallaivaivaivaivagEaafaaIaaaaaaaaaaaaaaaaaaaaaaaaanXanXanXauWanXanXapbaucanXaaaaaaalWauXalWauYauZavaalWavbavcaonavdaveaveavfavgaveavhaviavjarAavkauravlarEatBasZawoavoawpatCawravqatFatGauzauAavravsavtatMatNavuavvauGauHauHauHauJavwavQatPavAatRatRatRatRatRatRatRatRatRatRavyaafaaaaaaaaaaaaaamaamaaIaaaaaaaafaaaaaaabpaaaaafaafaafaafaaIaaIaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauNavBavCavDauNavEavFavGauNavHavIavJavKavLavMavNavOauQaaaaaaaaqaaaapJapJapJapJapJaafbeSaafapJapJapJapJapJaaaaaIaaaaaaaaaaaaaaaaaaaaaaaaavVavRavSavTavUawfavWavXanXaaaaaaalWalWalWavYavZawaalWawbawcawdaweawxawgaukawhawiautawkawlarAawmaurawnarEatBasZawXawUawYaxaaxbawZatFatFatFawsawtawuatFatFatNawvawwauGauHauHauHauJawyavxawzaykatRatRatRatRatRatRatRatRatRatRavyaafaaaaaaaaaaaaaaaaaaaafaafaaaaafaaaaaabfyaaaaaaaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauNavBavCavDauNavEavFavGauNavHavIawLavKavLavMavNavOauQaaaaaaaaqaaaapJapJapJapJapJaafbeSaafapJapJapJapJapJaaaaaIaaaaaaaaaaaaaaaaaaaaaaaaavVavRavSavTavUawfavWavXanXaaaaaaalWalWalWavYavZawaalWawbawcawdaweawxawgaukawhawiautawkawlarAawmaurawnarEatBasZawXawUawYaxaaxbawZatFatFatFawsawtawuatFatFatNawvawwauGauHauHauHauJawyavxawzaykatRatRatRatRatRatRatRatRatRatRavyaafaaaaaaaaaaaaaaaaaaaafaafaaaaafaaaaaabfyaaaaaaaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauNawGawHawIauNawGawHawIauNawJavHavHavHavHavHavHavHasAaaaaaaaaIaaaaafaaaaafaafaaaaaabfxaaaaaaaafaaaaaaaafaaaaaIaafaaaaaaaafaafaaaaaaaafawPavRawQawRavUawSaucawTanXaafaaLcqTatxatxatxatxatxatxatxatxatxatxatxatxatxatxatxatxatxatxarAawVaurawWarEatBasZauKaxjavmatCaxVavnaxdaxcaxfaxeaxhaxgaxhaxiaxkaxlaxmaxnaxoaxoaxoaxnaxmavxawBawAatRatRatRatRatRatRatRatRatRatRavyaafaaaaaaaaaaaaaaaaaaaaaaafaafaafaaaazoazpazoaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaatSauNaxwaxxatSauNaxyaxxatSauNawMauNauNauNauNauNavHatqaaaaaaaaIaaIaaIaaaaaaaafaaaaxBaxCaxBaafaafaafaafaaIaaIaaIaafanXanXanXanXaxDaxEaxEaxFanXanXanXanXaxGaucaucanXaxHaxIanXanXaxJaxKaxLaxMaxMaxMaxMaxMaxMaxMaxMaxNaxMaxMaxMaxMaxMaxOaxPaxQaxRaxOavpasZaxSawjcfSatCaxVaxXaxXaxXaxZaxYayaaybaxXavqaydayeayfaygayhayhayhayhawCavxawBawAatRatRatRatRatRatRatRatRatRatRavyaafaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaAuaAvaAuaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaynayoaypayoayqayoayrayoaysaytayvayvayvayvaywauNawNatqaaaaafaafaaaaaaaaaaaaaafaaaayyayzayAaafaaaaafaaaaaaaaaaaaaaaanXayBayCayDayCayCayCayCayEayCayCayFayGayDayHayIaxMaxMaxMaxMaxMaxMayJayKayLayLayLayLayMayLayLayNayLayMayLayLayLarAayOayPayQarEaAiasZcfSaycaxUatCayUayTayWayVayYayXayYayZayTazaazbazcazdazeazdazdazfawDaxpawEaxqaxsatRatRatRatRatRatRatRatRatRatRavyaafaaaaaaaaaaaaaaaaaaaaaaaaaafaafaBuaBvaBwaBxaByaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazqazrazsaztazuazvazwazxazyazwazzazAazwazwazBauNavHauRaafaafaaaaaaaaaaaaaaaaafazDazEazFazGazHaaaaafaaaaaaaaaaaaaaaanXazIanXazJazKazLazLazLazMazLazLazLazNazJazOazPazPazPazPazPazPazPazQazRayLazSazTazUazVazWazXazYazZaAaaAbazTaAcarAaAdayPayQarEaAiasZauuaAeauvatCaxWaxXaxXaxXaxXaAjaAkaAlaAmaAnaxkaAoaxraApaApaApaAqaxtatPaxuatPaykatRatRatRatRatRatRatRatRatRatRavyaafaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaCvaCwaCxaCyaCvaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazqazrazsaztazuazvazwazxazyazwazzazAazwazwazBauNavHauRaafaafaaaaaaaaaaaaaaaaafazDazEazFazGazHaaaaafaaaaaaaaaaaaaaaanXazIanXazJazKazLazLazLazMazLazLazLazNazJazOazPazPazPazPazPazPazPazQazRayLazSazTazUazVazWazXazYazZaAaaAbazTaAcarAaAdayPayQarEaAiasZauuaAeauvatCaxWaxXaxXaxXaxXaAjaAkaAlaAmaAnaxkaAoaxraApaApaApaAqaxtatPaxuatPaykatRatRatRatRatRatRatRatRatRatRavyaafaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaCvaCwaBtaCyaCvaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafauNaAwaAxaAwaAyazsazsaAzaAwaAxaAwaAAaABaACaADauNavHauQauQaAEauUauUauUauUauVauQaAFaAGaAHaAIaAFanXanXaxHaAJaxIanXanXanXazIaAKazJaaaaafaaaaafaaaaafaaaaafaaaazJazOazPaALaAMaANaAOaAPazPazQaucayLaAQaAQaARaASaATaAUaAVaATaAWaAXazTaAcarAaAdayPaDdarEaAiasZawXaAgaAhaBbayRaBdaBeaBfaBgaBhaBiaBjaBjaBkaBjatPaBlaBmaBnaBoaBpaBrayiaxvaylayjatRatRatRatRatRatRatRatRatRatRavyaafaaaaaaaaaaaaaaaaacaaaaaaaafaaaaCvaDzaDAaDBaCvaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaBzatSaBAawHaBBaBCaBDaBEaBFaBBawHaBGaBHaBIaBJaBKaBLavHavHavHavHavHavHavHavHaBOaBPaAFaBQaBRaBSaAFaBTaBUayCayCayCayCayCaBVaBWaBXazJaafaBYaBYaBYaBYaBYaBYaBYaafazJazOazPaBZaCaaCbaCcaBZazPazQaCdayLayLayLayLaCeaCfaCgaChaCfaCiaCjazTaCkarAaAdayPaClarEaJCasZaAZaAYaBaatCaxWavqatEaBjaBjaBjaBjaBjaCqaCraCsaBjatPatPatPatPaCtatPatPazgaziazhatRatRatRatRatRatRatRatRatRatRavzaafaaaaaaaaaaaaaaaazjaaaaaaaafaaaaCvaEXaEYazkaCvaaaaaaaaaaafaafaaaaaaaaaaaaaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazqaAxaCzaCAaCAaCAaCAaCBaAxazqaaaaBIaCCaxzaBLaCEaCEaCEaCEaCEaCEaCEavHaCFaCGaAFaCHaCIazlaAFaCKaCLaCKaCKaCKaCKaCKaCKaCKaCKaCMaaaaBYaCNaCOaCPaCQaCRaBYaaaazJazOazPaBZaCSaCTaCUaBZazPazQanXayLaCVaCWaARaCXaCYaCZaDaaDbaDcayLayLayLarAaAdayPayQarEaAiasZaxTaBcauvatCaDgavqatEaDhaDiaDjaDkaBjaCqaDlaCsaBjaDmaDnaDoaDpaDqaGwaDsatPatPazmatiatiatiatiatiaznatiatiatiatiaAraafaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaCvaCvaGxaGyaCvaDCaDDaDEaDCaDCaDCaDCaDCaDCaDCaDFaDGaDGaDGaDHaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaaaaaaaaaaaaDIaDJaDKaDJaDJaDLaDMaDJaDJaDKaDNaDOaBIaDPaxAaBLaDRaDSaDTaDUaDVaDWaCEavHaDXauQaAFaAFaDYaDZaCMaEaaEbaEcaEdaEeaEfaEgaEhaEiaEjaCMaafaBYaEkaElaEmaEnaEoaBYaafazJazOazPaEpaEqaEraEsaEtazPazQaEuayLazSazTaEvaEwaCfaExaEyaATaEzaEAaEBaEBarAaAdayPayQarEaAiaCmaCmaCmaCmaCmaEHaEIatEaEJaEKaEKaELaEMaEKaENaEOaBjaEPaEQaERaESaETaCnaDsaafaaaaafaaaaafaaaaafaaaaafaaaaafaaaaafaaaaafaaaaaaaaaaaaaaaaaaaaaaDCaAtaAsaDCaBqaBtaBsaFdaFdaFdaFdaFeaFfaFgaFgaFgaFgaFgaFgaFgaFhaFiaFjaafaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaaaaaaaaaaaaDIaDJaDKaDJaDJaDLaDMaDJaDJaDKaDNaDOaBIaDPaxAaBLaDRaDSaDTaDUaDVaDWaCEavHaDXauQaAFaAFaDYaDZaCMaEaaEbaEcaEdaEeaEfaEgaEhaEiaEjaCMaafaBYaEkaElaEmaEnaEoaBYaafazJazOazPaEpaEqaEraEsaEtazPazQaEuayLazSazTaEvaEwaCfaExaEyaATaEzaEAaEBaEBarAaAdayPayQarEaAiaCmaCmaCmaCmaCmaEHaEIatEaEJaEKaEKaELaEMaEKaENaEOaBjaEPaEQaERaESaETaCnaDsaafaaaaafaaaaafaaaaafaaaaafaaaaafaaaaafaaaaafaaaaaaaaaaaaaaaaaaaaaaDCaAtaAsaDCaBqaCxaBsaFdaFdaFdaFdaFeaFfaFgaFgaFgaFgaFgaFgaFgaFhaFiaFjaafaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaDIaDNaDJaFkaFlaFlaFmaFnaFoaFpaFqaFlaFlaFraFsaFtaDPayuaBLaFvayxaBMazCaBMaBNaCDavHaFuaDQaFxaCpaDraCJaFIaFJaFKaFLaFLaFLaFMaFLaFLaFNaFOaCMaaaaBYaFPaElaFQaEnaFRaBYaaaazJazOazPaFSaFTaFUaFTaFVazPazQaFWayLayLayLayLaFXaCfaCgazTaCfaFYaFZazTaGaarAaGbaGcaGdarEaAiaDeaDfaDtaCoaDeaDvaDuaGkaGlaGmaBjaBjaBjaBjaBjaBjaGnaGoaGpaGqaDpaGraGsaDsaDsaDsaDsaDsaDsaDsaDsaDsaFaaFbaDsaDsaFaaGtaDsaDsaaaaaaaDCaDCaDCaDCaDCaEWaEVaFdaEZaFcaDCaDCaDCaDCaDCaGDaGEaGFaGFaGFaGFaGFaGFaGGaGGaGHaGGaGGaGGaGGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaFraGIaGJaGKaFlaGLaFlaGLaFlaGLaFlaGLaFlaGMaGNaGOaDPayuaBLaGPaFAaGRaGSaGTaGUaCEaFBaFDaFCaFCaFCbazaFEaFCaHcaFLaFLaFLaFLaFLaFLaFLaFNaHdaCMaafaBYaHeaHfaHgaHhaHiaBYaafazJazOazPaHjaHkaFUaHlaHmazPaHnaHoayLaHpazTaARaHqaATaHrazTaCfaFYaHsazTaHtarAaHuaHvaHwarEaGuaDyaEUaGvaDwaDxaFyaFwatEaHCaHDaBjaHEaBjaHFaBjaHGaBjaHHaGpaHIaDpaHJaHKaHLaHMaHMaHNaHOaHKaHKaHKaHKaHKaHPaHKaHKaHKaHQaHVaDsaDsaDsaDCaGjaFzaGzaGzaGBaGAaDCaDCaIcaDCaIdaIeaIfaIgaGFaIhaGFaIiaIjaIkaIlbinaInaIoaIpaIqaIraIsbjFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaIwaFlaFlaDKaFlaGLaFlaGLaIxaGLaIyaGLaFlaGMaGNaGOaDPaFFaIAaIAaFGaICaIDaICaIAaIAaIEaIFaFCaGQaFHaGWaGVaFCaIKaILaIMaFLaFLaINaFLaIOaIPaIKaCMaaaaBYaBYaIQaIRaIQaBYaBYaaaazJazOazPaISaITaIUaFTaIVazPaIWaIXayLaIYazTaIZaEwaCfaJaaEyaATaJbaJcazTaJdaJeaJfaJgaJhaMbaECaCuaCuaCuaCuaCuaHRaGCaJlaJmaJnaBjaJoaBjaJpaBjaJqaBjaJraGpaJsaJtaGsaGsaDqaJvaDsaDsaJwaDsaDsaJxaDsaGsaJyaGsaGsaGsaJzaHZaHTaHSaHWaHUaHYaHXaIaaIaaJjaIbaIgaJIaJJaJKaJLaJMaJNaIgaJOaJPaGFaJQaJRaJSaJTbinaJUaIoaJVaJkaGGaGGaGGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -7401,7 +7402,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaT aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaYVaaaaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaafaYCaYDcpKaYFaWPaYHaYHaYIaYJaYKaYLaYMaYNaYOaYPaYQaYRaYSaTSaYTaTUaTUaXhaXjaYUbbTaXhaTUaTUaYWaUdaUeaUeaUeaUeaUeaUiaVGaVGaVGaVGaVGaUmaYYaXvaYZaXvaXvaXxaMkaSzaKOaNSaNSaZaaZbaWNaUpaZdaZeaZfaZgaZfaZfaZfaZfaZhaZfaZfaZfaZfaZfaZfaZiaZjaUpaWMaZbaZlaZmaZnaSNaRqaRpaWcaSSaSSaSSaSSaSSaXPaZoaSSaXRaZpaWfaSSaXTaOtaZqaXVaUQaZraZsaZtaZuaYaaZvaZwaYdaYeaYfaYgaWBaYhaZxaZyaZzaQKaZzaZzaZzaZBaZCaZDaZEaOOaZFaZGaZHaZIaGGaZJaZKaZLaToaZMaZLaIoaIoaXaaYtaVoaYuaVoaZNaZOaZPaZQaWTaZRaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaZSaZTaZUbjnaZWaSFaZYaZZbaababbacbadbaebafaYObagbahbaibajaTSbakbalbambanbaobapbaqbarbarbarbasbataTSbaubavbawbaxaKgbajbnZaKhbajbaCaUmbaDbaEbaFbaGbaHbaIaMkbaJbaKaMkbaLbaMbaNbcybaPbaQbaRbaQbaSbaTbaUbaVbaWbaXbaYbaZbbabbbbbcbaQbbdbbebbfbeobbhbbibbjbbkbblbbmbbnaJlaUDaWdbboaWfaSSbbpbbqbbrbbsaXOaWfaSSaXTbbtaULaXVbbubbvbbwaUQaUQaYabbxbbybbzbbAbbBaYgaWBbbCaWDbbDaZzaRCbbFbbFbbGbbHbbIaRLaRLaRLaRLaRLaRLaRLaGGbbJaYoaYpaToaYqaYpaIobbKaGGbbLaVoaYuaVoaZNbbMbbNbbOaafbbPaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBbbQbbRbbScqObbUaSFbaabaabaabaabaabbVbaabbWaYObbXbbYbaibbZbbZbbZbbZbcabbZbcbaTUbccbcdbcebcebcfbcgaTSaXebchbcibcjaKiaKjblcaKkbcobcobcpbcpbcpbcpbcpbcqaMbbcrbcsbctbcubcvbcwbcxbbgaUpbczbcAbcBbaBaUpaUpaUpaUpaUpbcDaUpaUpaUpbcCbcFbcGbczaUpbbgbcxbcHbcIbcJbcKbcLaRpaWcaSSaSSaSSaSSaSSaGpbcMaSSbcNaSSbcObcObcObcObcPbcQbcRbcSaUQaUQaUQbcTbcUaTeaWxbcWbcXaYgaWBaYhaWDbcYaZzaYnbdabdbbdcbddbdebddbddbddbddbddbdfbdgbdhbdibdjbdkbdlbdmbdnbdobdpbdqbdraVoaYubdsaZNaVobdtbbOaafaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBbdubdvaZUbdwbdxaSFaYHbdybaababbdzbbVbaabdAaYObdBbdCbaibbZbdDbdEbdFbdGbbZbdHbdIbdJaTSbdKbdLbdMbdNaTSaXebdObdPbdPaKlbdPbdPbdPbdPbdRbdSbdSbdSbdTbdSbdUaMbbdVbdWbdXaJeaJeaJebdYbdYbdYbdZbeabdZbdYbebbebbebbebbebbecbebbebbebbedbedbeebedaUpaUpaUpaJiaJiaJibcKbcLaRpaJlbefbegaDmbehaSSbeibcMbejbekbelbcObcObembenaZzaZzaZzaSHaSGaSGaSGaZzaZzaZzbeqberbesbetaWBaYhaYhbeuaZzbevbewbexaZzbeybezbeAaZEbeBbeCbeDbeEaONaGGaIobeFbeGbeHbeFbeIaIoaIoaGGbeJaVoaYuaVoaZNbeKbeLbbOaafbeMaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBbdubdvaZUbdwbdxaSFaYHbdybaababbdzbbVbaabdAaYOaYXbdCbaibbZbdDbdEbdFbdGbbZbdHbdIbdJaTSbdKbdLbdMbdNaTSaXebdObdPbdPaKlbdPbdPbdPbdPbdRbdSbdSbdSbdTbdSbdUaMbbdVbdWbdXaJeaJeaJebdYbdYbdYbdZbeabdZbdYbebbebbebbebbebbecbebbebbebbedbedbeebedaUpaUpaUpaJiaJiaJibcKbcLaRpaJlbefbegaDmbehaSSbeibcMbejbekbelbcObcObembenaZzaZzaZzaSHaSGaSGaSGaZzaZzaZzbeqberbesbetaWBaYhaYhbeuaZzbevbewbexaZzbeybezbeAaZEbeBbeCbeDbeEaONaGGaIobeFbeGbeHbeFbeIaIoaIoaGGbeJaVoaYuaVoaZNbeKbeLbbOaafbeMaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBbeNbeObePbeQbeRaRtaYHbeTbeUaYHbdzbbVbeVbeWaYObeXbeYbaibbZbbZbbZbeZbfabbZbfbbdIbfcaTSbdKbdLbdMbfdaTSaXebdObdPbfebffbfgbfgbfhbdPbfibfjbfkbflbfmbfmbfmaMbaMkbcsbctaJebfnbfobfpbfqbfrbfsbftbfubdYbebbfvbfwaSEaSDbfzbfAbfBbebbedbfCbfDbfEbfFbfGbfHbfIbfJaJibfKbfLbfMaJlaZzaZzaZzaZzbfNbfObfPbfQaZzaZzbfRaZzaZzaZzaZzbfSbfTbfUbfVbfVbfVbfWbfXaZzbfYbfZbgabgbbgcbgcbgcbgdaZzbevbewbgeaZzaZzaZzaZzaZzaZzaZzaZzaZzaZzaZzbgfbggbghbgibgjbgfbggaZzaRZbgkaVoaYuaVoaZNaZObglbgmaWTaZRaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaabgnbgobgpbgqaZUbgrbgrbgrbgrbgrbgrbgsbgtbgraYOaYOaYOaYOaYObguaYOaYOaYObgvbgvbgwbbZbdDbgxbeZbgybbZbgzbgAbgzaTSbdKbdLbdMbfdaTSaXebdObdPbgBbgCbgDbfgbgDbdPbfibgEbgFbgGbgHbgIbgJaMbbgKbgLbctaWKbgNbgObgPbgQbgQbgRbgSbgTbdYbebbgUbgVbgWbgXbfvbgYbgZbebbedbhabhbbhcbhdbhebhfbhgbhhaJibhibhjaRpbhkbhlbhmbewbewbhnbewbhobewbewbewbewbhpbewbewbewbewbhqbewbewbewbewbewbewbhmbewbewbhrbhsbhsbhtbhsbhsbhubhvbewbhqbhwbhxbhpbewbhybewbewbewbhzbhAbhBbhCbewbhDbewbhEbewbewbhFbhGbhHaVoaYuaVobhIbhJbhKbhLbhMbhNaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaabhObhObhObhObhObhObhObhObhObhOaaaaafbhPaYDbhQbhRbhSbhTbhTbhTbhTbhTbhUbhVbhWbhXbhYbhZbgwbbZbbZbbZbiabfabbZaTSaTSaTSaTSbdKbibbicbidaTSbiebifbdPbigbihbiibgDbijbdPbfibikbgFbgGbgGbgGbilaMbbimaSzbctaSIbiobipbiqbirbisbitbiubivbdYbebbiwbixbiybiybiybgYbizbebbedbiAbiBbiCbiDbiEbiFbiGbiHaJibiIbiJbiKbiLbiMbiNbiObiObiPbiQbiRbiSbiSbiSbiTbiSbiSbiSbiSbiSbiUbiVbiVbiVbiWbiObiObiNbiObiObiXbiVbiVbiYbiSbiZbjabjbbiSbjcbiObiObiObiObiObiObiObiObiObiObiObiObiObjdbiTbjebiSbjfbjgbjhbjibjibjjbjkaZNaWRbjlaWTaWTaWUaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -7413,7 +7414,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaT aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaaaaaaaaaaabrsbrtbrubrvbrwbrxbrxbrybrzbrAbgrcedbrCbpPbrDbjpbjpbjpbajbrEbrFbrGbrHbrGbrGbrGbrHbrGbajbajbdPbdPbdPbrIbdPbrJbrJbrJbrJbrJbrJbqfbrKbrLbrMbrNbrObrPbrQbrRbrSbrTbrUbrVbrWbrXbrYbrZaHBbsbbqvbsabsebscbotbosbotaafbsibsjbskbslbsmbsnbskbsobsiaafbedbspbsqbspbedbedbedbsraJibssaRqaRpbXHboJboKbstbsubsvbqLbswbqNbsxbsybszbsAbsBbsCbqObsDbnibsEbsFbsGbsHbnnbsIbqVbpebpfbpgbphbpfbpibYfaVJbpjbsJbsKbsLbsMbplbsNbsObsPbsQbsRbsSbsTbsUbrhbsVbsWbsXbnIbsYbsZbtabtbbtcbtdbnIbrqbpFbtebnMaaaaaaaaaaaaaafaafaafaafbcZbcZbcZbcZaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaaaaacaaaaaaaaaaaaaaaaaaaaabrsbtfbtgbthbtibtibtibtjbtibtibgrbtkbtlbtmbpPbjpaaaaaaaaaaafaafbtnbtnbtnbtnbtnbtnbtnaaaaaabtobtpbtqbtrbtsbrJbrJbrJbrJbrJbrJbttbtubtvbtwbtxbtybtzbtAbfmbfmbtBbfmbfmbtCbtDbtEbtFbmGbtHbmGbmGbmGbmGbmGbtIbmGaafbtJbtKbtLbtMbtNbtMbtLbtObtPaafbspbtQbtRbtSbtTbtUbspbtVaJlbtWbbmbtXaJibtYbmUbtZbuabubbucbudbuebufbugbuhbuibujbukbulbumbnibnnbunbuobupbnnbuqburbusbutbuubuubuvbuwbYfaXqbpjbuxbplbplbsMbuybuzbuAbuBbuCbuDbuEbuFbuGbrhbuHbuIbuJbnIbuKbuLbuMbtbbpCbuNbnIbpEbpFbuObnMaaaaaaaaaaaaaafbuPbuQbuRbuQbuRbuQbuSaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabuTbeObuUbuUbuVbpHbuWbgnbgobuXbuWbgrbuYbuZbvabvbbjpaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnaaaaaabvcbvdbrJbvebvfbvfbvfbvfbvfbvgbvhbvfbvibvjbvkbvlbvmbvnbvobfmbvpbgGbvqbvrbvsbvtbvubvvbmGbmGbmGbvxbvybvzbvAbvBbvwaafbnybvIbvHbvJbvKbvMbvNbvObnyaafbspbvPbvQbxnbedbvRbspbvSaJlbvTbcLbvUaJibvVbvWbvXbvYbvZbuccdTcdUbwcbwdbwebwebwfbwgcdWcdVbwjbwkbwlbwmbwkbwkbwkbwkbwnbwkbwkaXKaXKaXKaXKaVJbpjbsJbsKbsLbwobwpbwqbwrbwsbwsbwsbsSbwtbAWbwvbwwbwxbwybnIbwzbwAbwBbwCbpCbwDbnIbwEbwFbnMbnMaaaaaaaaaaaaaafbwGbwHbwIbwJbwJbwKbwGaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbwMbwNbwObwPbrJbwQbrJbwRbwRbwRbwSbwTbrKbrJbrJbrLbwUbwVbwWbwXbwYbwZbxabgGbgGbxbbxcbvtbvubxdbxebxfbUbbnCbxibxjbxkbxlbvwaafbxmbqtbskbxobxpbxobskbqxbxraafbspbqwbxtbnDbedbxvbspbtVaJlbxwbcLaRpaJibxxbxybxzbxAbxBbxCbxDbxEbxCbxFbxGbxHbxFbwkbxIbxJbwkbwkbxKbxLbxMbxNbxObxPbxQbxRbxSaXKbayaYXaXKaVJbpjbxXbqZbqZbxYbxZbppbyabwsbwsbwsbsSbwtbybbwwbnSbUabTQbwwbyfbygbyhbyibpCbyjbnIbrqbykbnMaaaaaaaaaaaaaaaaafbylbymbwIbwJbwIbynbuRaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbwMbwNbwObwPbrJbwQbrJbwRbwRbwRbwSbwTbrKbrJbrJbrLbwUbwVbwWbwXbwYbwZbxabgGbgGbxbbxcbvtbvubxdbxebxfbUbbnCbxibxjbxkbxlbvwaafbxmbqtbskbxobxpbxobskbqxbxraafbspbqwbxtbnDbedbxvbspbtVaJlbxwbcLaRpaJibxxbxybxzbxAbxBbxCbxDbxEbxCbxFbxGbxHbxFbwkbxIbxJbwkbwkbxKbxLbxMbxNbxObxPbxQbxRbxSaXKbaybdBaXKaVJbpjbxXbqZbqZbxYbxZbppbyabwsbwsbwsbsSbwtbybbwwbnSbUabTQbwwbyfbygbyhbyibpCbyjbnIbrqbykbnMaaaaaaaaaaaaaaaaafbylbymbwIbwJbwIbynbuRaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbyobypbyobyqbyrbwQbrJbrJbrJbysbrJbwTbrKbytbdPbdPbyubgGbrNbwXbyvbywbyxbyybyybyzbyAbyBbyCbyDbvsbyEboobyGbxkbyHbyIbyJbvwaafbxrbxrbyKbtLbyLbskbyMbxrbxraafbyNbyNbyNbyNbyNbyNbyNbyOaJibyPblMblNaJibyQbyRbyRbySbyTbxCbyUbyVbyWbyXbyYbyZbzabwmbzbbzcbzdbzebzfbzgbzgbzhbzibzgbzjbzkbckbaAboObclbdQbcnbzrbzsbztbzubzvbzwbppbzxbpqbpqbzybsSbwtbzzbzAbzBbzCbzDbzAbzEbzFbzGbzHbzIbwwbwwbzJbnMbnMbzKbzLbzLbzLbzMbzNbwGbwJbwIbwJbwJbzObwGaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaacaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbzPbzQbzPbzRbrJbwQbrJbzSbzSbzSbzSbwTbrKbzTbzUbdPbzVbgGbrNbwXbzWbzXbzYbgGblnbgGbzZbAabAbbAcbAdbyEbpvbAfbxkbxkbxkbAgbvwbAhbAhbAhbxrbAibxpbAibxrbAjbAjbAjbyNbAkbAlbAmbAnbAobApbAqaJibAraRqaRpaJibAsbAtbAubAvbAwbAxbAybAzbAAbABbACbADbAEbAFbAGbAHbAIbAJbAKbAIbqMbAMbANbAObnvblUbsdbnwbsgbsfbaAbPObpjbwubrgbAYbAZbAZbppbBabBbbBcbppbBdbBebBfbBgbBhbBibBjbBkbBlbBlbBmbBnbBobTHbBqbBrbBsbBtbTIbBvbBwbBwbBxbBybBzbuQbuRbBAbuRbuQbBBaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbBCbwNbBDbBEbrJbwQbrJbrJbrJbrJbrJbwTbrKbzTbBFbdPbBGbgGbBHbBIbgGbBJbgFbgGbgGbBKbvsbvtbAbbAcbAdbyEbvwbBLbBMbBNbBMbBObvwbBPbBQbBRbAhbxrbBSbxrbAjbBTbBUbBVbyNbBWbBXbBYbBZbCabCabCbbCcbAraRqaRpaJibCdbCebCebySbCfbxCbCgbChbxCbCibCjbCjbCkbwkbClbCmbwkbwkbwkbwkbwkbwkbCnbwkbwkbwmbCoaXKaXKaXKaXKbSwbpjbwwbzAbzAbzAbzAbzAbzAbzAbzAbzAbzIbCrbCsbCtbBhbCubCvbCwbCxbCxbCxbCybCzbSubCBbCCbCDbCEbTGbCGbCHbCGbCIbCJbzKbzLbzMbCKbzNbCLaaaaafaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -7434,19 +7435,19 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXmbXnbXobXpbRSbXqbXrbRSbXsbNxaaKaaaaaaaaabNybNybNybNybNybNybNybNFbUDbUEbXtbNFbTPbXubXwbXvbXvbXwbXxbTPbXzbXybXybXAcaqbXBbDtbDtbXCbXDbXEbXFbXGblRbXIbXJbXKbXLbXMbXNbXObXPbXQbXRbXSbXTbXUbznbzpbzobAPbzqbARbAQbATbASbAVbAUbYfbYgbIwbYhbVobCqbWObWNbWPbYmbYnbYobYpbYqbYrbYsbYtbYrbYubYvbILaafbnxbXablSbVBbYxbVBbYebYzbYAbMVbXjbVHbYBbYCbUnaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbKtbLTbLTbLTbLTbLTbLTbTbbLTbXlbLTbLTbLTbLTbLTbKtbKtaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabYDbVQbVQbVRbYEbYFbYGbNxbYHbNxbYIbYJbYKbYIbYIbYLbYMbYNbYObYPbYQbYybYSbYRbYUbYTbYVbXwbYXbYWbYZbYYbZbbZabZdbZcbZfbZecaqbZhbNSbZibZjbZkbZlbZlbZmbnEbZobZpbTJbTJbZqbZrbTJbTJbZsbZgbZTbVibZvbWQbZxbZybZzbZybZAbZUbZCbZUbZAbWRbYfbMNbIwbZEbXWbXVbZVbZIbZJbZKbMObMObwwbwwbwwbwwbwwboIbnFbofbwwbMVbMVbMVbMVbMVbUkbMVbMVbMVbMVbMVbZObZPbZQbZRbUnaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabKtbKtbRLbLTbLTbLTbLTbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaambZSaamaamaamaamaamaaaaaaaaaaaaaaaaaaaafaafaaabZWbZXbZXbZXcaabZXbZXcahcagbYIbZYbZZbYIcaicabcaccadcaecafcakcajcamcalcaocancapbXwbYXcaJcbibYYcbjbTPcaqcaqcaqcaqcaqcarbNSbDtcascatcaucavcawcaxcaycazbTJcaAcaBcaCcaDcaEcaFcaGcaHcaIbZxbWQcbkbZycaKcaLbZAcaMcaNcaObZAbXXbYfbPObIwbXYbYabXZbXYbXYbIwbIwbIwcaRcaScaTcaUcaVbwwbwwcaWbwwbwwcaXcaYcaZcbabXjcbbbXjbXjcbccbdcbecbfcbgcbhbUnbUnbUnaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbKsbKtbUubUsbUsbLTbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafcblcbncbmcbpcbocbycbqcbAcbzbYIcbrcbsbYIbYIcbtcbucbvcbwcbxcbCcbBbYSbYRbYUcbDcbEbXwbXwcbKcbQbXwccAbTPcbFcbGcaqcbHcaqbTFcbIcbIcbIcbIcbIcbIcbIbTJcbJccBbTJcbLcbMcbNcbOcaEcbPccCcbRcaIbZxbWQbZxbZycbScbTbZAcbUcbVcbWbZAbXXbYfbYbbYdbYcbYiccDbYjbYcchBbYkbYlcktbZDbZwbZFcktccrbZGbZHccqccrccscctcctcctcctccucctcctcctcctcctccvccwccxccycczbUnbUnbUnbUnaaaaafaaaaaaaaaaahaahaahaafaaaaaaaafaaaaaaaafaaaaaabOPbKtbNdbKtbKtbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafcblcbncbmcbpcbocbycbqcbAcbzbYIcbrcbsbYIbYIcbtcbucbvcbwcbxcbCcbBbYSbYRbYUcbDcbEbXwbXwcbKcbQbXwccAbTPcbFcbGcaqcbHcaqbTFcbIcbIcbIcbIcbIcbIcbIbTJcbJccBbTJcbLcbMcbNcbOcaEcbPccCcbRcaIbZxbWQbZxbZycbScbTbZAcbUcbVcbWbZAbYjbYfbYbbYdbYcbYiccDcdebYcchBbYkbYlcktbZDbZwbZFcktccrbZGbZHccqccrccscctcctcctcctccucctcctcctcctcctccvccwccxccycczbUnbUnbUnbUnaaaaafaaaaaaaaaaahaahaahaafaaaaaaaafaaaaaaaafaaaaaabOPbKtbNdbKtbKtbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafccEccEcbmccPccFcbyccQccSccRbYIccGccHccIccJccKccLccMccNccOccUccTccWccVccYccXcdaccZcdBcdbcelcekcencemcdccddaJEcdfcaqbTFcbIcdgcdhcdicdjcdkcdlcdmcdncdocdpcdqcdrcdscdtcaEcducdvcdwcaIbZxbWQbZxbZycdxcdybZAcdzcdAceobZAcaPbYfbYfcaQbYccbYcbXcbZbYcchBccacjfcdLcdLbyFbBucdLcdOcdPcdQcdRcdOcdSbBpbyebydcdScdScdScdSbAebyebydcdScdSbXjcdXcdYcdZceacebcecbxTbycbycbycbycbycbycbycbycbycbycbycbycbycbycbycbyccefcegcegcehbKtbKtbLTbLTceibLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacejcejcejcejcejcejcejceqcepbYIbYIbYIbYIbYIbYJcescercercerceucetbYSbYRbYUcevbYVcewceycexceTceSceUbTPcezaJFceeaJFcaqbTFcbIceDceEceEceEceFceGbTJceHceIbTJcbLcbNceJcbOcaEceKceLceMcaIbZxbWQceNbZyceOcePbZAbZAbZAbZAbZAccbceRbYfcaQbYcccdcccbYcbYcchBccecjfcdLceZcfacfbcfccdOcfdcfecffcdOcfgcfhcfhcfhcficeWcfkcflcfmcfncfocfpcdScfqcfrcfsbUnbUnbUnbUnaaaaafaaaaaaaaaaahaahaahaafaaaaaaaafaaaaaaaafaafaafcftceXcfvbNebKsbKtbKtbLTbLUbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaafaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafcejcfwcfxcfycfzcfAcejcfjceYcfBcfucfDcfCcfEcfEcfGcfFcfFcfHcfIcbBbYSbYRbYUcfJcapcfKcfMcfLcfOcfNcfPbTPaJFaJFcaqceBcaqbTFcbIcfVcfWcfWcfWcfXcbIcfYcfZcgacfYcgbcgccgdcgecaEcgfceLcggcaIcghccfcgjbZycgkcglbZycgmbLvbVicgnccgcchbYfccjcciccicckcclcclcclcclccmcdLcgxcgycgycgzcgActsctyctscgDcgEcgFcgGcgGcgHcgIcgIcgJcgKcgLcgLcgMcdScgNcgOcgPcgNaaaaaaaaaaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafcgQbKqbKqbKrbKsbKsbKtbKtbKtbKtbKuaafaafaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaafaafaafcfQcfQcfQcfQcfQcfQcfQcfQcfQcfQcfQcfQcfQaaaaaacgScgTcgTcgTcgUcgVcejcfUcfRcgocgicgrcgpcgucgtcgCcgBcgWcgRcgYcgXchacgZchcchbbTPbTPbTPbTPbTPbTPbTPbTPbEZbGDcaqbDfcaqbTFcbIcbIctpctqctrcbIcbIchrchschtcfYcaEcaEcaEcaEcaEcaIchuchvcaIchwccnchwbZychychzbZychAchBbVichCbVichDbYfccobYfbYfccpcdCcdCcdCcdDbYfcdLchIchJchJchKchLchMchNchOchPchQchRchSchTchUchVchWcgIcgIcgIchXchYcdSchZciachdcgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaaaaaaaaaaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacfQchechfchecfQchgchhchgcfQchichjchicfQaaaaaaciicgTcgTcgUcgUcijcejchlchkchnchmchpchochGchqcicchHchHcidchHcbBbYSciebYUcifcihcigcilcikcilcimciocincinciAciAciAciAbTFciGciHciIciIciJciKciLciMciXciOciPciQciRciSciSciTciUcaIcaIcaIciVcdEckqbZybZybZybZychBchBbViciYbViciZbYfccobYfaaaaaaaaaaaaaaaaaaaaacdLcjgcjhcjhcipcjjcjkcjlcjmcjncjocjpcjqcgIcgIcjrcjscgIcjtcgIchXcjucdScjvcjwcjxcgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacfQcheciqchecfQchgcirchgcfQchicischicfQaaaaaaciicgTcgUcgUcgUcjBcjCciucitchncivcixciwciWciycjbcjacjdcjccjecbBbYScjichccjycjAcjzcjDcjDcjDcjEcjGcjFcjHceCcdeceAciAbTFciGckaciIckbckcckdcubckfckgckhctQckjckkcklciSckmciUcknckockpclicdFcdHcdGcdIcdIcdJcdIcdKbVibVibVibVibYfccobYfaaaaaaaaaaaaaaaaaaaaacdLckCckDckDckDckEcdOckFcdOckGckHckIckJckJckKckLckLckMckJckJckNckOcdSckPckQckRcgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacfQcheciqchecfQchgcirchgcfQchicischicfQaaaaaaciicgTcgUcgUcgUcjBcjCciucitchncivcixciwciWciycjbcjacjdcjccjecbBbYScjichccjycjAcjzcjDcjDcjDcjEcjGcjFcjHceCcqZceAciAbTFciGckaciIckbckcckdcubckfckgckhctQckjckkcklciSckmciUcknckockpclicdFcdHcdGcdIcdIcdJcdIcdKbVibVibVibVibYfccobYfaaaaaaaaaaaaaaaaaaaaacdLckCckDckDckDckEcdOckFcdOckGckHckIckJckJckKckLckLckMckJckJckNckOcdSckPckQckRcgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacfQcjIcjKcjJcfQcjLcjNcjMcfQcjOcjQcjPcfQaaaaafciiclbcgTcgUcgUcgUcejcjScjRchnchncjTchnchnchnchncjUchHcjXcjYcbBckecjZckrckickucksckzckzckzckAckBckBckTciAckWcgqclwclxciGclyciIclzclAclBclCclDclEclFclGclHclIclJciSclKciUclLclMclNclOclPclQclNclRclSclTbYfceQcdIcdIcdIcdIcdIckYbYfaaaaaaaaaaaaaaaaaaaaacdLcmacmbcmccmdcdOcmecmfcmgcdScmhcmicmicmicmjcmkcmlcmmcmicmicmicmncdScmocmpcmqcmraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaafaafcfQckZclcclacfQcldclcclecfQcldclcclecfQaaaaafcmzcgTcgTcgUcgUcmAcejclhclgclkcljclmcllclnclnclvcltclncmscmtcbBcmvcmucmxcmwcihcmycmycmBckBcmCcmEcmDcmDciAcibceVcmFcqgciGcnbciIcnccndcmGciGcnfciNcmHcfYcmIcnicnjciScnkciUclLclMclNcnlcnmcnlclNaaaaaaaaabYfbYfbYfcnnclSclSclTbYfbYfaaaaaaaaaaaacdOcdOcdOcdOcdOcdOcdOcdOcdOcnocnpcnqcdScdScnrcnscntcdScdScdScdScnucnscntcdScdScnvcnwcnvaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabZSaafaafaafaaaaafcnxaafcnxaafcKBaafcKAaafcKBaafcKAaafaafaaacejcnAcnBcgUcgUcnCcnDcmKcmJcmMcmLcmOcmNcmNcmPcmNcmQcmScmRcmQcmXcngcnecnycnhcnzcnzcnzcnzcnFcnEcnGcnGcnGcgscgscgscgscnSciGcnTcnUcnccnVcnWciGcnfciNcnXciUcnYcnZcnjcoacobciUclLclMclNcoccodcoeclNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaacdOcofcogcohcwlcojcokcolcomconcoocopcoqcwkaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaafcoscotcosaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaafcnHcnJcnIcnKcnIcnJcnLcnKcnMcnNcnLcnPcnOcnRcnQcmMcmMcmMcmMcmMcmMcmMcmMcovcoucoxcowcoAcoycoCcoBcoDcmQcoFcoEcoGcmQcoIcoHcoJcnzcoLcoKcoNcoMcoPcoOcoRcoQcoQcoScoTcoTcoRbTFciGciGcpccpdciGciGciGcpeciNcpfciUciUciUcpgcphciUciUclLcpiclNcvmcvncvmclNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaafaafcdOcplcpmcplcvlcpocppcpqcomcomcprcomcdOcdOaaaaaaaaaaafaafaaaaacaaaaaaaaaaaaaafaaacvtaaaaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaaaaaaaaaaafcoUcoWcoVcoYcoXcoWcoZcpbcpacpkcpjcpscpncpucptcpwcpvcpycpxcpAcpzcpCcpBcpFcpDcpJcpHcpMcpLcpOcpNcpTcpQcpVcpUcpXcpWcoIcpYcpZcnzcoPcoPcoPcoPcoPcqacoRcqbcqbcqbcoTcoTcoRbTFcrYciGcqhcqicqjcqkciGcqlciNcqmciUcqncqocqpcqqciUcqrclLcpiclNcqscqtcquclNaaaaaaaaaaaaaaaaaacqvcqwcqxcqycqvaafaaaaaaaaaaaacdOcplcplcplcoicqAcqBcqCcqDcqEcqFcqGcqHcdOaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaafaaacmZaaaaafaafaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaafcqccptcqdcqfcqecptcqzcptcqIcqJcqzcptcqIcqJcptcptcptcptcptcqKcptcptcptcpMcqMcpHcqPcqzcpLcqRcqQcqUcqScqWcqVcqYcqXcoIcpYcqZcnzcracoPcoPcrbcoPcrccoRcrdcrfcrecrfcrgcoRbTFcrqciGcrrcrscrtcrucrvcrwcrxcrycrzcrAcrBcrCcrDciUcrEcrFcrGcrHcqvcrIcqvcrHaaaaaaaafaaaaaaaaacqvcrJcrKcrLcqvaafaafaaaaaaaaacdOcomcomcomcomcrMcppcrNcrNcrNcnpcrNcrOcdOaaaaaaaaaaaaaaacrPcrPcrPbZSaafaafaafaafcnaaafaafaafaafaafaaqcrPcrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaafcqccptcqdcqfcqecptcqzcptcqIcqJcqzcptcqIcqJcptcptcptcptcptcqKcptcptcptcpMcqMcpHcqPcqzcpLcqRcqQcqUcqScqWcqVcqYcqXcoIcpYcJrcnzcracoPcoPcrbcoPcrccoRcrdcrfcrecrfcrgcoRbTFcrqciGcrrcrscrtcrucrvcrwcrxcrycrzcrAcrBcrCcrDciUcrEcrFcrGcrHcqvcrIcqvcrHaaaaaaaafaaaaaaaaacqvcrJcrKcrLcqvaafaafaaaaaaaaacdOcomcomcomcomcrMcppcrNcrNcrNcnpcrNcrOcdOaaaaaaaaaaaaaaacrPcrPcrPbZSaafaafaafaafcnaaafaafaafaafaafaaqcrPcrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaafaafaafcoUcptcqPcptcqPcptcqzcptcrhcrjcricrjcrkcrjcrjcrmcrlcptcptcrocrncrncrncrQcrpcrRcrRcrScpLcrUcrTcrVcmQcrXcrWcrZcmQcsbcsacsdcsccsfcsecshcsgcoPcsicoRcsjcrfcskcrfcsmcoRbTFcizciGcszcsAcsBcsCciGcfYcsDcfYciUcsEcsFcsGcsHciUcsIcrGcrGcqvcsJcsKcsLcqvcqvcqvcsMcqvcqvcqvcqvcsNcsOcsPcqvcqvcqvcrHaaaaaacdOcofcogcohcslcsRcqBcrNcrNcrNcnpcrNcsScdOaaaaaaaaaaaaaaacrPaaaaafaaaaafaaaaaaaaackxaaaaafaafaaaaaaaaaaaacrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaafaaaaaacoUcptcqPcptcsncspcsocsrcsqcsscricrjcstcrjcrjcrmcsucptcptcsvcqfcsxcswcswcsycqPcqPcsTcsQcsVcsUcmNcmQcsWcmQcmQcmQcsYcsXcsdcsZctcctactectdcoPctfcoRctgcrfcskcrfcthcoRctvctwciGciGctxciGciGciGciBctzctAciUciUciUctBciUciUcsIcrGaaacqvctCctDctEctFctGctHctIctJctKctLcqvctMctDctNcqvctOctPcqvaafaafcdOcplcplcplcorcpoctRctSctTctUctVcrNctWcdOcdOcdOcdOaaaaaacrPaaactXctXctXctXctXaafckxaafctXctXctXctXctXaaacrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacoUcptcsncspcspcspcsocspcspcspcsocspcspcspcspcspcticspcspcsocspctjcspcspcspctlctkctmcoWcptctncttctoctZctucuccuactucudcufcuecuhcugcugcuicugcujculcukcuncumcuocuocoRcuCcuDcuEcuFcuFcuGcuHcuIcuJcuJcuJcuJcuJcuJcuJcuJcuKcrFcrGaaactFcuLcuMcuNctFcuOcuPcuQcuQcuRcuQcuScuTcuUcuVcuWcuXcuQcqvaaaaaacdOcplcplcplcslcuYcuZcvacvbcvccvdcrNcrNcvecvfcvgcdOaafaafcrPaafckVckSckSckSckSckyckxckwckvckvckvckvckUaafcrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa From 9cd0714c2ca3e88b5560d4fc5ea6697d124cf84a Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Mon, 16 Feb 2015 14:11:25 +0100 Subject: [PATCH 141/143] The AI now has a personal crew monitor interface. --- baystation12.dme | 1 + code/game/machinery/computer/crew.dm | 97 ++-------------------- code/modules/mob/living/silicon/ai/ai.dm | 3 +- code/modules/mob/living/silicon/ai/nano.dm | 8 ++ code/modules/nano/modules/crew_monitor.dm | 86 +++++++++++++++++++ 5 files changed, 102 insertions(+), 93 deletions(-) create mode 100644 code/modules/nano/modules/crew_monitor.dm diff --git a/baystation12.dme b/baystation12.dme index 8f2c766a274..fcc7b36f2f2 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -1228,6 +1228,7 @@ #include "code\modules\nano\nanomapgen.dm" #include "code\modules\nano\nanoprocs.dm" #include "code\modules\nano\nanoui.dm" +#include "code\modules\nano\modules\crew_monitor.dm" #include "code\modules\nano\modules\rcon.dm" #include "code\modules\organs\blood.dm" #include "code\modules\organs\organ.dm" diff --git a/code/game/machinery/computer/crew.dm b/code/game/machinery/computer/crew.dm index 06fd906ea88..b5394328b83 100644 --- a/code/game/machinery/computer/crew.dm +++ b/code/game/machinery/computer/crew.dm @@ -6,11 +6,10 @@ idle_power_usage = 250 active_power_usage = 500 circuit = "/obj/item/weapon/circuitboard/crew" - var/list/tracked = list( ) - + var/obj/nano_module/crew_monitor/crew_monitor /obj/machinery/computer/crew/New() - tracked = list() + crew_monitor = new(src) ..() @@ -25,6 +24,8 @@ return ui_interact(user) +/obj/machinery/computer/crew/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1) + crew_monitor.ui_interact(user, ui_key, ui, force_open) /obj/machinery/computer/crew/update_icon() @@ -38,93 +39,5 @@ icon_state = initial(icon_state) stat &= ~NOPOWER - -/obj/machinery/computer/crew/Topic(href, href_list) - if(..()) return - if (src.z > 6) - usr << "\red Unable to establish a connection: \black You're too far away from the station!" - return 0 - if( href_list["close"] ) - var/mob/user = usr - var/datum/nanoui/ui = nanomanager.get_open_ui(user, src, "main") - usr.unset_machine() - ui.close() - return 0 - if(href_list["update"]) - src.updateDialog() - return 1 - /obj/machinery/computer/crew/interact(mob/user) - ui_interact(user) - -/obj/machinery/computer/crew/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1) - if(stat & (BROKEN|NOPOWER)) - return - user.set_machine(src) - src.scan() - - var/data[0] - var/list/crewmembers = list() - - for(var/obj/item/clothing/under/C in src.tracked) - - var/turf/pos = get_turf(C) - - if((C) && (C.has_sensor) && (pos) && (pos.z == src.z) && (C.sensor_mode != SUIT_SENSOR_OFF)) - if(istype(C.loc, /mob/living/carbon/human)) - - var/mob/living/carbon/human/H = C.loc - if(H.w_uniform != C) - continue - - var/list/crewmemberData = list("dead"=0, "oxy"=-1, "tox"=-1, "fire"=-1, "brute"=-1, "area"="", "x"=-1, "y"=-1) - - crewmemberData["sensor_type"] = C.sensor_mode - crewmemberData["name"] = H.get_authentification_name(if_no_id="Unknown") - crewmemberData["rank"] = H.get_authentification_rank(if_no_id="Unknown", if_no_job="No Job") - crewmemberData["assignment"] = H.get_assignment(if_no_id="Unknown", if_no_job="No Job") - - if(C.sensor_mode >= SUIT_SENSOR_BINARY) - crewmemberData["dead"] = H.stat > 1 - - if(C.sensor_mode >= SUIT_SENSOR_VITAL) - crewmemberData["oxy"] = round(H.getOxyLoss(), 1) - crewmemberData["tox"] = round(H.getToxLoss(), 1) - crewmemberData["fire"] = round(H.getFireLoss(), 1) - crewmemberData["brute"] = round(H.getBruteLoss(), 1) - - if(C.sensor_mode >= SUIT_SENSOR_TRACKING) - var/area/A = get_area(H) - crewmemberData["area"] = sanitize(A.name) - crewmemberData["x"] = pos.x - crewmemberData["y"] = pos.y - - crewmembers[++crewmembers.len] = crewmemberData - - crewmembers = sortByKey(crewmembers, "name") - - data["crewmembers"] = crewmembers - - ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) - if(!ui) - ui = new(user, src, ui_key, "crew_monitor.tmpl", "Crew Monitoring Computer", 900, 800) - - // adding a template with the key "mapContent" enables the map ui functionality - ui.add_template("mapContent", "crew_monitor_map_content.tmpl") - // adding a template with the key "mapHeader" replaces the map header content - ui.add_template("mapHeader", "crew_monitor_map_header.tmpl") - - ui.set_initial_data(data) - ui.open() - - // should make the UI auto-update; doesn't seem to? - ui.set_auto_update(1) - - -/obj/machinery/computer/crew/proc/scan() - for(var/mob/living/carbon/human/H in mob_list) - if(istype(H.w_uniform, /obj/item/clothing/under)) - var/obj/item/clothing/under/C = H.w_uniform - if (C.has_sensor) - tracked |= C - return 1 + crew_monitor.ui_interact(user) diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index c0601f9c595..7cfb7c76944 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -24,7 +24,8 @@ var/list/ai_verbs_default = list( /mob/living/silicon/ai/proc/show_laws_verb, /mob/living/silicon/ai/proc/toggle_acceleration, /mob/living/silicon/ai/proc/toggle_camera_light, - /mob/living/silicon/ai/proc/nano_rcon + /mob/living/silicon/ai/proc/nano_rcon, + /mob/living/silicon/ai/proc/nano_crew_monitor ) //Not sure why this is necessary... diff --git a/code/modules/mob/living/silicon/ai/nano.dm b/code/modules/mob/living/silicon/ai/nano.dm index fe572a0a2f5..6925f2560bd 100644 --- a/code/modules/mob/living/silicon/ai/nano.dm +++ b/code/modules/mob/living/silicon/ai/nano.dm @@ -1,6 +1,8 @@ +var/obj/nano_module/crew_monitor/crew_monitor var/obj/nano_module/rcon/rcon /mob/living/silicon/ai/proc/init_subsystems() + crew_monitor = new(src) rcon = new(src) /mob/living/silicon/ai/proc/nano_rcon() @@ -8,3 +10,9 @@ var/obj/nano_module/rcon/rcon set name = "RCON" rcon.ui_interact(usr) + +/mob/living/silicon/ai/proc/nano_crew_monitor() + set category = "AI Subystems" + set name = "Crew Monitor" + + crew_monitor.ui_interact(usr) diff --git a/code/modules/nano/modules/crew_monitor.dm b/code/modules/nano/modules/crew_monitor.dm new file mode 100644 index 00000000000..73ba6d482df --- /dev/null +++ b/code/modules/nano/modules/crew_monitor.dm @@ -0,0 +1,86 @@ +/obj/nano_module/crew_monitor + var/list/tracked = new + +/obj/nano_module/crew_monitor/Topic(href, href_list) + if(..()) return + if (!(src.loc.z in config.player_levels)) + usr << "Unable to establish a connection: You're too far away from the station!" + return 0 + if(href_list["close"] ) + var/mob/user = usr + var/datum/nanoui/ui = nanomanager.get_open_ui(user, src, "main") + usr.unset_machine() + ui.close() + return 0 + if(href_list["update"]) + src.updateDialog() + return 1 + +/obj/nano_module/crew_monitor/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1) + user.set_machine(src) + src.scan() + + var/data[0] + var/list/crewmembers = list() + + for(var/obj/item/clothing/under/C in src.tracked) + + var/turf/pos = get_turf(C) + + if((C) && (C.has_sensor) && (pos) && (pos.z == src.loc.z) && (C.sensor_mode != SUIT_SENSOR_OFF)) + if(istype(C.loc, /mob/living/carbon/human)) + + var/mob/living/carbon/human/H = C.loc + if(H.w_uniform != C) + continue + + var/list/crewmemberData = list("dead"=0, "oxy"=-1, "tox"=-1, "fire"=-1, "brute"=-1, "area"="", "x"=-1, "y"=-1) + + crewmemberData["sensor_type"] = C.sensor_mode + crewmemberData["name"] = H.get_authentification_name(if_no_id="Unknown") + crewmemberData["rank"] = H.get_authentification_rank(if_no_id="Unknown", if_no_job="No Job") + crewmemberData["assignment"] = H.get_assignment(if_no_id="Unknown", if_no_job="No Job") + + if(C.sensor_mode >= SUIT_SENSOR_BINARY) + crewmemberData["dead"] = H.stat > 1 + + if(C.sensor_mode >= SUIT_SENSOR_VITAL) + crewmemberData["oxy"] = round(H.getOxyLoss(), 1) + crewmemberData["tox"] = round(H.getToxLoss(), 1) + crewmemberData["fire"] = round(H.getFireLoss(), 1) + crewmemberData["brute"] = round(H.getBruteLoss(), 1) + + if(C.sensor_mode >= SUIT_SENSOR_TRACKING) + var/area/A = get_area(H) + crewmemberData["area"] = sanitize(A.name) + crewmemberData["x"] = pos.x + crewmemberData["y"] = pos.y + + crewmembers[++crewmembers.len] = crewmemberData + + crewmembers = sortByKey(crewmembers, "name") + + data["crewmembers"] = crewmembers + + ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) + if(!ui) + ui = new(user, src, ui_key, "crew_monitor.tmpl", "Crew Monitoring Computer", 900, 800) + + // adding a template with the key "mapContent" enables the map ui functionality + ui.add_template("mapContent", "crew_monitor_map_content.tmpl") + // adding a template with the key "mapHeader" replaces the map header content + ui.add_template("mapHeader", "crew_monitor_map_header.tmpl") + + ui.set_initial_data(data) + ui.open() + + // should make the UI auto-update; doesn't seem to? + ui.set_auto_update(1) + +/obj/nano_module/crew_monitor/proc/scan() + for(var/mob/living/carbon/human/H in mob_list) + if(istype(H.w_uniform, /obj/item/clothing/under)) + var/obj/item/clothing/under/C = H.w_uniform + if (C.has_sensor) + tracked |= C + return 1 From 06335b1064fe1dcb08708989ebeb6ab99c9241fc Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Mon, 16 Feb 2015 14:57:46 +0100 Subject: [PATCH 142/143] The AI now has a personal power monitor interface. --- baystation12.dme | 1 + code/modules/mob/living/silicon/ai/ai.dm | 3 +- code/modules/mob/living/silicon/ai/nano.dm | 21 +++++-- code/modules/nano/modules/crew_monitor.dm | 8 ++- code/modules/nano/modules/power_monitor.dm | 58 +++++++++++++++++ .../power/sensors/sensor_monitoring.dm | 63 +++---------------- code/modules/power/smes_construction.dm | 4 +- 7 files changed, 92 insertions(+), 66 deletions(-) create mode 100644 code/modules/nano/modules/power_monitor.dm diff --git a/baystation12.dme b/baystation12.dme index fcc7b36f2f2..ada5e29095d 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -1229,6 +1229,7 @@ #include "code\modules\nano\nanoprocs.dm" #include "code\modules\nano\nanoui.dm" #include "code\modules\nano\modules\crew_monitor.dm" +#include "code\modules\nano\modules\power_monitor.dm" #include "code\modules\nano\modules\rcon.dm" #include "code\modules\organs\blood.dm" #include "code\modules\organs\organ.dm" diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index 7cfb7c76944..d5eaec70a1b 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -25,7 +25,8 @@ var/list/ai_verbs_default = list( /mob/living/silicon/ai/proc/toggle_acceleration, /mob/living/silicon/ai/proc/toggle_camera_light, /mob/living/silicon/ai/proc/nano_rcon, - /mob/living/silicon/ai/proc/nano_crew_monitor + /mob/living/silicon/ai/proc/nano_crew_monitor, + /mob/living/silicon/ai/proc/nano_power_monitor ) //Not sure why this is necessary... diff --git a/code/modules/mob/living/silicon/ai/nano.dm b/code/modules/mob/living/silicon/ai/nano.dm index 6925f2560bd..8572c8ec59d 100644 --- a/code/modules/mob/living/silicon/ai/nano.dm +++ b/code/modules/mob/living/silicon/ai/nano.dm @@ -1,18 +1,27 @@ var/obj/nano_module/crew_monitor/crew_monitor var/obj/nano_module/rcon/rcon +var/obj/nano_module/power_monitor/power_monitor /mob/living/silicon/ai/proc/init_subsystems() crew_monitor = new(src) rcon = new(src) - -/mob/living/silicon/ai/proc/nano_rcon() - set category = "AI Subystems" - set name = "RCON" - - rcon.ui_interact(usr) + power_monitor = new(src) /mob/living/silicon/ai/proc/nano_crew_monitor() set category = "AI Subystems" set name = "Crew Monitor" crew_monitor.ui_interact(usr) + +/mob/living/silicon/ai/proc/nano_power_monitor() + set category = "AI Subystems" + set name = "Power Monitor" + + power_monitor.ui_interact(usr) + + +/mob/living/silicon/ai/proc/nano_rcon() + set category = "AI Subystems" + set name = "RCON" + + rcon.ui_interact(usr) diff --git a/code/modules/nano/modules/crew_monitor.dm b/code/modules/nano/modules/crew_monitor.dm index 73ba6d482df..97b6edd7ac5 100644 --- a/code/modules/nano/modules/crew_monitor.dm +++ b/code/modules/nano/modules/crew_monitor.dm @@ -1,9 +1,11 @@ /obj/nano_module/crew_monitor + name = "Crew monitor" var/list/tracked = new /obj/nano_module/crew_monitor/Topic(href, href_list) if(..()) return - if (!(src.loc.z in config.player_levels)) + var/turf/T = get_turf(src) + if (!T || !(T.z in config.player_levels)) usr << "Unable to establish a connection: You're too far away from the station!" return 0 if(href_list["close"] ) @@ -21,13 +23,13 @@ src.scan() var/data[0] + var/turf/T = get_turf(src) var/list/crewmembers = list() - for(var/obj/item/clothing/under/C in src.tracked) var/turf/pos = get_turf(C) - if((C) && (C.has_sensor) && (pos) && (pos.z == src.loc.z) && (C.sensor_mode != SUIT_SENSOR_OFF)) + if((C) && (C.has_sensor) && (pos) && (T && pos.z == T.z) && (C.sensor_mode != SUIT_SENSOR_OFF)) if(istype(C.loc, /mob/living/carbon/human)) var/mob/living/carbon/human/H = C.loc diff --git a/code/modules/nano/modules/power_monitor.dm b/code/modules/nano/modules/power_monitor.dm new file mode 100644 index 00000000000..03d9263a802 --- /dev/null +++ b/code/modules/nano/modules/power_monitor.dm @@ -0,0 +1,58 @@ +/obj/nano_module/power_monitor + name = "Power monitor" + var/list/grid_sensors + var/active_sensor = null //name_tag of the currently selected sensor + +/obj/nano_module/power_monitor/New() + ..() + refresh_sensors() + +/obj/nano_module/power_monitor/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1) + var/list/data = list() + var/list/sensors = list() + // Focus: If it remains null if no sensor is selected and UI will display sensor list, otherwise it will display sensor reading. + var/obj/machinery/power/sensor/focus = null + + // Build list of data from sensor readings. + for(var/obj/machinery/power/sensor/S in grid_sensors) + sensors.Add(list(list( + "name" = S.name_tag, + "alarm" = S.check_grid_warning() + ))) + if(S.name_tag == active_sensor) + focus = S + + data["all_sensors"] = sensors + if(focus) + data["focus"] = focus.return_reading_data() + + ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) + if (!ui) + ui = new(user, src, ui_key, "power_monitor.tmpl", "Power Monitoring Console", 800, 500) + ui.set_initial_data(data) + ui.open() + ui.set_auto_update(1) + +// Proc: refresh_sensors() +// Parameters: None +// Description: Refreshes list of active sensors kept on this computer. +/obj/nano_module/power_monitor/proc/refresh_sensors() + grid_sensors = list() + var/turf/T = get_turf(src) + for(var/obj/machinery/power/sensor/S in machines) + if((T && S.loc.z == T.z) || (S.long_range)) // Consoles have range on their Z-Level. Sensors with long_range var will work between Z levels. + if(S.name_tag == "#UNKN#") // Default name. Shouldn't happen! + warning("Powernet sensor with unset ID Tag! [S.x]X [S.y]Y [S.z]Z") + else + grid_sensors += S + +// Proc: Topic() +// Parameters: 2 (href, href_list - allows us to process UI clicks) +// Description: Allows us to process UI clicks, which are relayed in form of hrefs. +/obj/nano_module/power_monitor/Topic(href, href_list) + if(..()) + return + if( href_list["clear"] ) + active_sensor = null + else if( href_list["setsensor"] ) + active_sensor = href_list["setsensor"] diff --git a/code/modules/power/sensors/sensor_monitoring.dm b/code/modules/power/sensors/sensor_monitoring.dm index a3b978946b4..54b203a7d43 100644 --- a/code/modules/power/sensors/sensor_monitoring.dm +++ b/code/modules/power/sensors/sensor_monitoring.dm @@ -16,12 +16,11 @@ density = 1 anchored = 1.0 circuit = /obj/item/weapon/circuitboard/powermonitor - var/list/grid_sensors var/alerting = 0 - var/active_sensor = null //name_tag of the currently selected sensor use_power = 1 idle_power_usage = 300 active_power_usage = 300 + var/obj/nano_module/power_monitor/power_monitor // Proc: process() // Parameters: None @@ -53,19 +52,7 @@ /obj/machinery/computer/power_monitor/New() ..() spawn(50) - refresh_sensors() - -// Proc: refresh_sensors() -// Parameters: None -// Description: Refreshes list of active sensors kept on this computer. -/obj/machinery/computer/power_monitor/proc/refresh_sensors() - grid_sensors = list() - for(var/obj/machinery/power/sensor/S in machines) - if((S.loc.z == src.loc.z) || (S.long_range)) // Consoles have range on their Z-Level. Sensors with long_range var will work between Z levels. - if(S.name_tag == "#UNKN#") // Default name. Shouldn't happen! - warning("Powernet sensor with unset ID Tag! [S.x]X [S.y]Y [S.z]Z") - else - grid_sensors += S + power_monitor = new(src) // Proc: attack_hand() // Parameters: None @@ -77,50 +64,18 @@ return ui_interact(user) -// Proc: Topic() -// Parameters: 2 (href, href_list - allows us to process UI clicks) -// Description: Allows us to process UI clicks, which are relayed in form of hrefs. -/obj/machinery/computer/power_monitor/Topic(href, href_list) - ..() - if( href_list["clear"] ) - active_sensor = null - else if( href_list["setsensor"] ) - active_sensor = href_list["setsensor"] +// Proc: ui_interact() +// Parameters: 4 (standard NanoUI parameters) +// Description: Uses dark magic to operate the NanoUI of this computer. +/obj/machinery/computer/power_monitor/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1) + power_monitor.ui_interact(user, ui_key, ui, force_open) + // Proc: check_warnings() // Parameters: None // Description: Verifies if any warnings were registered by connected sensors. /obj/machinery/computer/power_monitor/proc/check_warnings() - for(var/obj/machinery/power/sensor/S in grid_sensors) + for(var/obj/machinery/power/sensor/S in power_monitor.grid_sensors) if(S.check_grid_warning()) return 1 return 0 - -// Proc: ui_interact() -// Parameters: 4 (standard NanoUI parameters) -// Description: Uses dark magic to operate the NanoUI of this computer. -/obj/machinery/computer/power_monitor/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1) - var/list/data = list() - var/list/sensors = list() - // Focus: If it remains null if no sensor is selected and UI will display sensor list, otherwise it will display sensor reading. - var/obj/machinery/power/sensor/focus = null - - // Build list of data from sensor readings. - for(var/obj/machinery/power/sensor/S in grid_sensors) - sensors.Add(list(list( - "name" = S.name_tag, - "alarm" = S.check_grid_warning() - ))) - if(S.name_tag == active_sensor) - focus = S - - data["all_sensors"] = sensors - if(focus) - data["focus"] = focus.return_reading_data() - - ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) - if (!ui) - ui = new(user, src, ui_key, "power_monitor.tmpl", "Power Monitoring Console", 800, 500) - ui.set_initial_data(data) - ui.open() - ui.set_auto_update(1) \ No newline at end of file diff --git a/code/modules/power/smes_construction.dm b/code/modules/power/smes_construction.dm index 99180db13d8..102c1b6f505 100644 --- a/code/modules/power/smes_construction.dm +++ b/code/modules/power/smes_construction.dm @@ -318,14 +318,14 @@ // Parameters: None // Description: Switches the input on/off depending on previous setting /obj/machinery/power/smes/buildable/proc/toggle_input() - input_attempt = !input_attempt + inputting(!input_attempt) update_icon() // Proc: toggle_output() // Parameters: None // Description: Switches the output on/off depending on previous setting /obj/machinery/power/smes/buildable/proc/toggle_output() - output_attempt = !output_attempt + outputting(!output_attempt) update_icon() // Proc: set_input() From f248d7de35aed2e0d6490ba94262c6c4bbafe83f Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Mon, 16 Feb 2015 16:48:25 +0100 Subject: [PATCH 143/143] Allows multiple AIs to share holopad. --- baystation12.dme | 1 - code/game/machinery/computer/hologram.dm | 109 --------------- code/game/machinery/hologram.dm | 126 ++++++++++-------- .../mob/living/silicon/ai/freelook/eye.dm | 2 +- code/modules/mob/living/silicon/say.dm | 6 +- 5 files changed, 72 insertions(+), 172 deletions(-) delete mode 100644 code/game/machinery/computer/hologram.dm diff --git a/baystation12.dme b/baystation12.dme index 06ddf79d437..1b909998da1 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -382,7 +382,6 @@ #include "code\game\machinery\computer\computer.dm" #include "code\game\machinery\computer\crew.dm" #include "code\game\machinery\computer\guestpass.dm" -#include "code\game\machinery\computer\hologram.dm" #include "code\game\machinery\computer\law.dm" #include "code\game\machinery\computer\medical.dm" #include "code\game\machinery\computer\message.dm" diff --git a/code/game/machinery/computer/hologram.dm b/code/game/machinery/computer/hologram.dm deleted file mode 100644 index e0ceb33c177..00000000000 --- a/code/game/machinery/computer/hologram.dm +++ /dev/null @@ -1,109 +0,0 @@ -//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:31 - -/obj/machinery/computer/hologram_comp - name = "hologram computer" - desc = "Rumoured to control holograms." - icon = 'icons/obj/stationobjs.dmi' - icon_state = "holo_console0" - var/obj/machinery/hologram/projector/projector = null - var/temp = null - var/lumens = 0.0 - var/h_r = 245.0 - var/h_g = 245.0 - var/h_b = 245.0 - - -/obj/machinery/computer/hologram_comp/New() - ..() - spawn( 10 ) - src.projector = locate(/obj/machinery/hologram/projector, get_step(src.loc, NORTH)) - return - return - -/obj/machinery/computer/hologram_comp/DblClick() - if (!in_range(src, usr)) - return 0 - src.show_console(usr) - return - -/obj/machinery/computer/hologram_comp/proc/render() - var/icon/I = new /icon('icons/mob/human.dmi', "body_m_s") - - if (src.lumens >= 0) - I.Blend(rgb(src.lumens, src.lumens, src.lumens), ICON_ADD) - else - I.Blend(rgb(- src.lumens, -src.lumens, -src.lumens), ICON_SUBTRACT) - - I.Blend(new /icon('icons/mob/human.dmi', "mouth_m_s"), ICON_OVERLAY) - I.Blend(new /icon('icons/mob/human.dmi', "underwear1_m_s"), ICON_OVERLAY) - - var/icon/U = new /icon('icons/mob/human_face.dmi', "hair_a_s") - U.Blend(rgb(src.h_r, src.h_g, src.h_b), ICON_ADD) - - I.Blend(U, ICON_OVERLAY) - - src.projector.hologram.icon = I - -/obj/machinery/computer/hologram_comp/proc/show_console(var/mob/user as mob) - var/dat - user.set_machine(src) - if (src.temp) - dat = text("[]

    Clear", src.temp, src) - else - dat = text("Hologram Status:

    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 From 005f8ef405bd4748049f1984904eaecec2e5cc7c Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Tue, 10 Feb 2015 12:17:25 +0100 Subject: [PATCH 061/143] Adds passive aggressive NanoTrasen balloon. --- code/game/gamemodes/game_mode.dm | 3 ++- code/game/objects/items/toys.dm | 12 ++++++++++++ icons/obj/weapons.dmi | Bin 25217 -> 25369 bytes 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm index fca51edf83e..80e2d854a52 100644 --- a/code/game/gamemodes/game_mode.dm +++ b/code/game/gamemodes/game_mode.dm @@ -73,7 +73,8 @@ new/datum/uplink_item(/obj/item/weapon/storage/box/syndie_kit/imp_compress, 4, "Compressed Matter Implant", "CI") ), "(Pointless) Badassery" = list( - new/datum/uplink_item(/obj/item/toy/syndicateballoon, 10, "For showing that You Are The BOSS (Useless Balloon)", "BS") + new/datum/uplink_item(/obj/item/toy/syndicateballoon, 10, "For showing that You Are The BOSS (Useless Balloon)", "BS"), + new/datum/uplink_item(/obj/item/toy/nanotrasenballoon, 10, "For showing that you love NT SOO much (Useless Balloon)", "NT") ) ) diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index 6cd12cf137d..8a974df69ae 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -98,6 +98,18 @@ icon_state = "syndballoon" item_state = "syndballoon" w_class = 4.0 + +/obj/item/toy/nanotrasenballoon + name = "criminal balloon" + desc = "Across the balloon the following is printed: \"Man, I love NT soooo much. I use only NanoTrasen products. You have NO idea.\"" + throwforce = 0 + throw_speed = 4 + throw_range = 20 + force = 0 + icon = 'icons/obj/weapons.dmi' + icon_state = "ntballoon" + item_state = "ntballoon" + w_class = 4.0 /* * Fake telebeacon diff --git a/icons/obj/weapons.dmi b/icons/obj/weapons.dmi index ffad059da4389cff7197ccd8f25cdb1bda82438b..bb8033bbe8c738cae013235d2dfc24a458551071 100644 GIT binary patch literal 25369 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%0ANA`Oq?l9wbC>C3|JM=>`7m@QR)Q`}(O{?Z>vX zS57AFxAav(zgSs1T2IM}*8;V5b(z%E)HDF=le*e<@YGvNsqx;>UAFgTBj=qs3Ktm)#j`M zvW5#@eRQc)x4h6Z$Y`r+AdzCQjIdy7wO4Dta{ zIPavxm30dk2;iy=zb`qPtpYk5*PoSQuBIrVYtNP9gdiYb>$Hu4lR8b#uhFP4j19zp zmgZn$3Xyd-1Z3+-X|oNQYb;VasTL8)nAr@URyMfwhdA0X-|=6Tu)LcEF+!SgnF|cS zRTMyIf72H6;&}bnuV1Aq;U}|9%*=I0+b5aHeIj4V59!0 zHFe4=0C@lZUwZoggs6YwGQNpv->bN%108Nw5CDX*uKZu3PWyh?&v7~rkM}>I&Gegj z-KyMTp~M$5C-Z(m6~n1{on${bRTz*wvgTfAbU9u@N3}4O-SJVnkHGjdlX<~#!}4#O zN!LFO<^QbmG)*&o*w#4^Jb`)~opG@BZZ_4vE;@COW9G@ssJt2du7w!w|gw}Y9+~8=AzcD)#zIWMN z`z+DmEA!t8M>qX-?&M!1Xl`K^J2rywbpnWlmMI^Oz9O zR648%!+-yCco(vaFJoABSB^pFUuW!$i#YI(JK?{VW%Z_Xnlvv+)x@}KN(2iAhxEjKF2eOsVCmxcjq;7dZ_mxpZ?cwFvAY7gBJFt zZW4nIP=o*lHC#lH$_YZGTfsakcMCo29!bQj~@L`^_nzCVwnPwnC-A=?mwLWI_86d$wkojX!X>o=ICc_kn9^J zr2ta0zX~S>xUWLEH=R~JTYQqs!9reU+lK+zQE}CF7_U_COlu`Q4*r+9)$0yU4J!7~RZeFWG18SClnHn01)d#IA-BwK@iMklg(Jw$D4C@DJ zE)n9&Hze^AHZu`JY<~@=uG<%kJus_Tb?AVu%TJ}0X%FiG)1jBjGq+i*m%{Zp;D-4S z_+G%Lf@u3$3cdztte0fEzkaIoR)adQnSq8HVTaqbRS>D>8x3Hb1!&>Xn!!9v=P@?R zih(x&UeWwYuI$vS^*q#B>-Xkud6@d22}-k#OK)LyPOIi$3E8W4F^4P$HfDJDnq>al ziDG>9)p<%eQ!LD z`P&NH*;g9Ln@|8N2oNF3jh!|jh;}kIwb5{x8`_=~!{@gB z6bxZdr21R|#;0LL{!v~a_Np=ArDAb2Y_Zg#5z&gK7 zoNspIy;M~*84I{N`$&|U`5A3df!GxTL9;kS@mR!@(`rRR#~#7SB?qtF zMcq=GlkO|2Ciy+cPt(ai7j}=YZ!Q4sL3yGJd5?HczgB6CyKbwnd)xxT z(|bFQ{;2VE{dtV>-Z#;t-^sCP%rlQSAoeCC>Mh{7xU^ z#y{Ci=&urNUm-K;`0?Y%^2Np8Tr0J(Uf_LweU1HjM4r=l6u|V~R91GlIMoA3M6V5H z%dk@0Ji!K(a94gr%l5AKPEvuC|BR58uz9aFL@3R3Jb1QBtEeFJ0-M5K)-kmsEbZU9 zq-d*?ttuG9A`Q7~g(dpSYK`amCJ%%VDy1rM;u`I*^A-GG0RiX_(~azVcp%ujoshUO zN(#Et{EiAq)LiF0>68=b{Qb^%;6OG7i0d+IX~@Ntmhgg{FNlQmFWKGvB!;&a_)v+f ze{;Z<)o9sAm}MaRsl2-D`@>N1na%N|wWo{Q0$R4Etdrfs9o?-Vh(R{c**~8}FXOc# zw&VeMMd){8qiHvS1BHG4f|6`H^A)^(9B|dW0AB)7i*MhrX;`-xUB0}xn?70}?u0m) z4IG<#oM=nhcm>OYb8eopLiRm#Qr<10Yz-Tx7%w*X&WDw=z+QbLYmL-QYFInJaSv$R zw@d(F9^y}rv-uZlu2$Vulv_Yy^2`|%buvnLKV|Kg#P&6b0ud2LCTkxyn8PhGt-!IO z-!^NUcl>I+&}&kb*aSX^ab=k(gil!U(ha)MNCkmlM)yIcAsZnYyOGD_99253%`ZzAzWY$OWrclZ zB6nt$@n~Pe@0YK90!Nu%m1MN+x(I%h6ff)VEN=*y_QS56e{Qz9-6?4IsZra&l?5Ih zz&OikT1j5$p3<{n_L~KvyA*AX%_@kdwK8q7s(d{sVe0Qf=I-wCvVczB1R_4>&c1(< z8&=?QioM@onLW3!tb~J}G>s`^j22SuBcr*>KX0w!Rwu4lw#~P1xjJFZc>J?()_&ju zyYWG;a>I%+5s#5mf4fFvLxrOfWqyNcIPl4is+aZwoBDg*1eJEZrvM>4tErxZ~UgN zL^PxrHb9;qLU!NDe4Vx~TB)IQ7|_XfpcjaBbj1W_4NdQ1aRTO<9`@Xx^q ziyBEuNq?SL*4L9>Nzj7@FU=9b>Ca_u`Z$Ka#(PX@;P(eT8yVoNyDi8{HrsNhvKpIN z-9#tykn3;aLAxJJDDIahPee|-Xpicmk56a(Rh-SOw3t_oMX3#+W~|PI;0_4;Aug*M z5si#+$MF;j%(glzms*^{>j(ZhsnIFCKr{N8K%o;ww-1^kI*Ni+gU3sac58OdLFY3| zz(-4eRctV;qz;u0FT?fdw?V4IX|9b>rNnH0a&ZPK@()sk;t!-R)p`4`@i_y(7NZ$z z)Oi{FG%v5GQs5&OzZLf7%a{9>mYLqHULtaMnA+Cv?%K)u$MV*(rurJ*HG}t99>_(fwaG?I1XINVbWqJ9KvC<-2ezc*I8W@Sah*-V< zR1E7EYV*@TAur9^%IcFgKcB#}I~K?VY7&dC%B>?@$nID{0Z$oD-X7MM7?6^j{I;x2 z2sDt=|3YKs+c)We(>=#CsHzXPn1DwWO19&kWJfQp?q4A4qa#3#?zwpKjw11l0a|7Z z(7FJ~-80{|HqhRb*A7d}riBWV({hPya&&}E)&#!lO9ZKs9=Iwb71$(!IsmG^3O#An zQI7#?&s+m72Df(BG8JQi^geblcq2;^HC9g0{mXV$|5~jPjKY~gT?lJ-lv(pRhUR7_ zbSzwz(ryG{>?+C;tm-AK1yrrlr>5fJ!MwvYvHUm|yEz3wR5~m|x8aMta@7 z%9C$eIA*6=On}b#Ua_w=+RTf*b3MH=K-t?$%tcz@A-hC2O@2alGxVjTniuDD+=A$# znJQi?1&Fqn;5^l|RI!gubm*?Uj&^#{Tvm1ka0%7*^e92jVPSvKJ7T4Sr=iLq5PW(_ z5K>?0h)b3VSi2hE=h`Z<*djRO4&ix9W?^YLu|y@nL>#` zZ|{?X#wRA;PDZs%7{8ZTSUK$2ISv?N+x46zYK{+O^F)#WF#bc5y(i{ELPFxck$g52*y!lMZaSc>A9g#?clP_+Cg{t%b-b@S zc|Srz@{K(QDN|BYH|qVD{A{?j!cYEs2BJPYpabWwd_^ZV6D*LRUoP}2z)bd^D+35E z=ly##3?y`kVo33gWoBw{Fgc5Kk9fSJ*BWlCyl}ayXx%t%SU&2--jjJd7uL z6V_H0iZ2?s4KG3q$6^6)qn@c>KGMa7eJ3zIM(#_oFbh?iu-*|e!h;Qqa(_DocN#&db8#XRZ$g9A}wL`?KRYvUMVLRaz#L? zuyJxn$w8EF^FoMo!t1(fA$_NF+NP2VA9jl<$NXrW?J2HdY!?IQ)q1FpgCir`&y~38 z^h5HNQO#M|#kW3JRXxb{CAZ2qkvCySVY^VdOv;~z#UTCDp|BgEXV0Gf+wMOfefK4! ze8+Fg^txbG^woi}5YFLI$=@fF2Kj?c4GoqNDWjvKj!eG+BhPniqUTcZ8!oWKUhvcy*2|K0F^;E-g#T$l$4aF766bblQOU^B2Z{x zJ#=tzP`%JF^X^HU0Ba)2{ZWV<>HetR#8_O>2W$m%!cScZr#7#x#@u{0DJfno0cK`x z9Sfk*jOR?m&OF0|P~|@;l&IfOa%cF3{oD2(?WB(%`CQkmSF$0ndn>v#x7DVO;6K2T z(CJ+u1M!0xLXRhm+(eD=9OYf3rAlxV`|Hr?;^)U;Zf^dBLRn1>UT{Z6POePVw+wG| zum`m}s-qJfbmI4fov%T?bsjpGMpq5`K7Pyxl-KHBUS3woJOCa6b*5zMcJ?W;NfhFc zrFyMaoEhO|CM_fLdVG|F>~g9;#`3%xTDzmX(U61o7|~StsQlZl2xz`}{P%BN2MM;A z*w_ga>Phqe8h3)T4Gj&kv$Lmhf!j6eGvR6QX6$kT`(vs%nm>V%U0?geV61BlUYnSG z*+{_QGEm6pdJw7rc!c)$oOPMMh6mfB*xKuKu}i_N6F-0QuRirhevYc+^|a|T6$9H5 zNCu>z)R9|=V{64TpkEhGPJ)+%TfHSAx9gea=I3L&mlmz4IY%xB3UuTE3!PmZ3csl9 z_pH+<@Cbn)kH3C(#QU*d@?Ti}KS3<%fPsaWhFyGZdW|jCq7fK=(@gSi1T;%$9dS`L z%EnSdJ${2cp*Y7bA_0#u{AST*SKy1&LnkI)IH7UBje6K?NMd4Q;w&Kq9pZdU%77vl z9W6b5ASbh&%*9TmKLcz|M~I@2fmANewvJ94cKA_6DtHSbcL0!v(ukh7xmZ|x;epLc z(;r4sxv0slp7V3X^^FZ3B(I>wtD|2ozo&Co@+JF|6sSBw^DK~xjeVBjJ}2r9Pi_|( zj2fYR%xFg9r2>^OgH*|vF9|!Dcazo=U;C}!{4ZKzaO(iTN(c3Su?jgei9DAyNSeE&%-Fa~p|8nlR$d zMbC)63*LOPDL0aAIUkbHv*NEA8R|JgFHQg^^AOs-2^wyA_p{vvvDR(19jGnPo@0u`EOOkPe4?u2GEUPxo5_*Z4&` zH3WKr{q){e$psagxOxc|jNkDchb&_My;P4<$Tub@B{5W++A{4C1}a-t#hvo2ozGL_ zU9d9vC(H5nURZv1j&7rGM9PvTY|!);N=lmTn2<7hY;SD)nHi`~7?9hH%_9nou7f<1cXdk5a?z zoT2GKygIKsP`PHwPvNruSar1o6}4wf6FzifhFY|6w-wUy@X?5S`Exz&t^lO9Y2n@N zr_Y|f3k6O={N5f=VgHm<@R1_Snt}OUDk4Hk8T`az|gASX&3DM|b6wX^O8ag1J+Q z>UftA70%Dk$ET(!=Id^PiVz4##KJaIrL^Xv0kFa4;}_prTE0B8w6I9?Q*a1CPYef9 zfF_8fDBsVd5}Bi(8wTGI2=0i8h|q&h%7>1Q-eJfrv%eR1{BNncmZaq5GjNtVl5Mw9R}$UY(lS0bcN;iMD=ZbnsIyVT zaxRq@775z?muJT8EMT^j0AvKH!!^~t$||DG;E&1;`9Y^=ks4YIr6?>2N2@np;cwCP ze2|O48`tZawU&)0mYZTF#KjkpxV;r8!b7a-A*coc9d?y$Qro|pbDCEeg3K3P0(;nBtB$q>d>f|jBRtx6FnitJmKp;igl#+>5VE#HQy zi$uFVjqJM$JlXv3b3Q)4uz4)DD3fz1gU<{3H&g0AhIq67JTKoIloMV`k zxi7&qY5_Rxz#Urs8ZPcO%l_6NqA;>$=x;Qo<1lIRhdu5bDU1F^rfF)I%d|T(NDX;- z^d@~4(mM}(NWvzaE9x>oBh;VlskrcVo!D_AK(F-h-!2=AAGNxe3+oOG4f(5C#{a(K ggS_l;!rvfbrn;{kK2HI@S^}i6W2{}R>HO;d0DPhP Date: Tue, 10 Feb 2015 12:21:06 +0100 Subject: [PATCH 062/143] Sorts uplink items by cost, then name. --- code/game/gamemodes/game_mode.dm | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm index 80e2d854a52..5a95784273e 100644 --- a/code/game/gamemodes/game_mode.dm +++ b/code/game/gamemodes/game_mode.dm @@ -33,44 +33,45 @@ var/uplink_uses = 10 var/list/datum/uplink_item/uplink_items = list( "Highly Visible and Dangerous Weapons" = list( - new/datum/uplink_item(/obj/item/weapon/gun/projectile, 6, "Revolver", "RE"), + new/datum/uplink_item(/obj/item/ammo_magazine/a357, 2, "Ammo-357", "RA"), - new/datum/uplink_item(/obj/item/weapon/gun/energy/crossbow, 5, "Energy Crossbow", "XB"), + new/datum/uplink_item(/obj/item/weapon/storage/box/emps, 3, "5 EMP Grenades", "EM"), new/datum/uplink_item(/obj/item/weapon/melee/energy/sword, 4, "Energy Sword", "ES"), + new/datum/uplink_item(/obj/item/weapon/gun/energy/crossbow, 5, "Energy Crossbow", "XB"), new/datum/uplink_item(/obj/item/mecha_parts/mecha_equipment/weapon/energy/riggedlaser, 6, "Exosuit Rigged Laser", "RL"), - new/datum/uplink_item(/obj/item/weapon/storage/box/syndicate, 10, "Mercenary Bundle", "BU"), - new/datum/uplink_item(/obj/item/weapon/storage/box/emps, 3, "5 EMP Grenades", "EM") + new/datum/uplink_item(/obj/item/weapon/gun/projectile, 6, "Revolver", "RE"), + new/datum/uplink_item(/obj/item/weapon/storage/box/syndicate, 10, "Mercenary Bundle", "BU") ), "Stealthy and Inconspicuous Weapons" = list( - new/datum/uplink_item(/obj/item/weapon/pen/paralysis, 3, "Paralysis Pen", "PP"), new/datum/uplink_item(/obj/item/weapon/soap/syndie, 1, "Subversive Soap", "SP"), - new/datum/uplink_item(/obj/item/weapon/cartridge/syndicate, 3, "Detomatix PDA Cartridge", "DC") + new/datum/uplink_item(/obj/item/weapon/cartridge/syndicate, 3, "Detomatix PDA Cartridge", "DC"), + new/datum/uplink_item(/obj/item/weapon/pen/paralysis, 3, "Paralysis Pen", "PP") ), "Stealth and Camouflage Items" = list( - new/datum/uplink_item(/obj/item/weapon/storage/box/syndie_kit/chameleon, 3, "Chameleon Kit", "CB"), - new/datum/uplink_item(/obj/item/clothing/shoes/syndigaloshes, 2, "No-Slip Shoes", "SH"), new/datum/uplink_item(/obj/item/weapon/card/id/syndicate, 2, "Agent ID card", "AC"), - new/datum/uplink_item(/obj/item/clothing/mask/gas/voice, 4, "Voice Changer", "VC"), - new/datum/uplink_item(/obj/item/device/chameleon, 4, "Chameleon-Projector", "CP") + new/datum/uplink_item(/obj/item/clothing/shoes/syndigaloshes, 2, "No-Slip Shoes", "SH"), + new/datum/uplink_item(/obj/item/weapon/storage/box/syndie_kit/chameleon, 3, "Chameleon Kit", "CB"), + new/datum/uplink_item(/obj/item/device/chameleon, 4, "Chameleon-Projector", "CP"), + new/datum/uplink_item(/obj/item/clothing/mask/gas/voice, 4, "Voice Changer", "VC") ), "Devices and Tools" = list( - new/datum/uplink_item(/obj/item/weapon/card/emag, 3, "Cryptographic Sequencer", "EC"), new/datum/uplink_item(/obj/item/weapon/storage/toolbox/syndicate, 1, "Fully Loaded Toolbox", "ST"), + new/datum/uplink_item(/obj/item/weapon/plastique, 2, "C-4 (Destroys walls)", "C4"), + new/datum/uplink_item(/obj/item/device/encryptionkey/binary, 3, "Binary Translator Key", "BT"), + new/datum/uplink_item(/obj/item/weapon/card/emag, 3, "Cryptographic Sequencer", "EC"), new/datum/uplink_item(/obj/item/weapon/storage/box/syndie_kit/clerical, 3, "Morphic Clerical Kit", "CK"), new/datum/uplink_item(/obj/item/weapon/storage/box/syndie_kit/space, 3, "Space Suit", "SS"), new/datum/uplink_item(/obj/item/clothing/glasses/thermal/syndi, 3, "Thermal Imaging Glasses", "TM"), - new/datum/uplink_item(/obj/item/device/encryptionkey/binary, 3, "Binary Translator Key", "BT"), new/datum/uplink_item(/obj/item/weapon/aiModule/syndicate, 7, "Hacked AI Upload Module", "AI"), - new/datum/uplink_item(/obj/item/weapon/plastique, 2, "C-4 (Destroys walls)", "C4"), new/datum/uplink_item(/obj/item/device/powersink, 5, "Powersink (DANGER!)", "PS",), new/datum/uplink_item(/obj/item/device/radio/beacon/syndicate, 7, "Singularity Beacon (DANGER!)", "SB"), new/datum/uplink_item(/obj/item/weapon/circuitboard/teleporter, 20, "Teleporter Circuit Board", "TP") ), "Implants" = list( new/datum/uplink_item(/obj/item/weapon/storage/box/syndie_kit/imp_freedom, 3, "Freedom Implant", "FI"), - new/datum/uplink_item(/obj/item/weapon/storage/box/syndie_kit/imp_uplink, 10, "Uplink Implant (Contains 5 Telecrystals)", "UI"), + new/datum/uplink_item(/obj/item/weapon/storage/box/syndie_kit/imp_compress, 4, "Compressed Matter Implant", "CI"), new/datum/uplink_item(/obj/item/weapon/storage/box/syndie_kit/imp_explosive, 6, "Explosive Implant (DANGER!)", "EI"), - new/datum/uplink_item(/obj/item/weapon/storage/box/syndie_kit/imp_compress, 4, "Compressed Matter Implant", "CI") + new/datum/uplink_item(/obj/item/weapon/storage/box/syndie_kit/imp_uplink, 10, "Uplink Implant (Contains 5 Telecrystals)", "UI") ), "(Pointless) Badassery" = list( new/datum/uplink_item(/obj/item/toy/syndicateballoon, 10, "For showing that You Are The BOSS (Useless Balloon)", "BS"), From 136870715022255219afe04763464a11cd123271 Mon Sep 17 00:00:00 2001 From: Kelenius Date: Tue, 10 Feb 2015 14:39:54 +0300 Subject: [PATCH 063/143] Borg charger now uses cell --- code/game/machinery/rechargestation.dm | 43 ++++++++++--------- .../machinery/recharge_station.dm | 5 ++- 2 files changed, 25 insertions(+), 23 deletions(-) diff --git a/code/game/machinery/rechargestation.dm b/code/game/machinery/rechargestation.dm index 63abf6bfbf5..e4d29467e03 100644 --- a/code/game/machinery/rechargestation.dm +++ b/code/game/machinery/rechargestation.dm @@ -8,10 +8,11 @@ idle_power_usage = 50 active_power_usage = 50 var/mob/occupant = null - var/max_internal_charge = 15000 // Two charged borgs in a row with default cell - var/current_internal_charge = 15000 // Starts charged, to prevent power surges on round start - var/charging_cap_active = 25000 // Active Cap - When cyborg is inside - var/charging_cap_passive = 2500 // Passive Cap - Recharging internal capacitor when no cyborg is inside + var/obj/item/weapon/cell/cell = null + //var/max_internal_charge = 15000 // Two charged borgs in a row with default cell + //var/current_internal_charge = 15000 // Starts charged, to prevent power surges on round start + var/charging_cap_active = 1000 // Active Cap - When cyborg is inside + var/charging_cap_passive = 250 // Passive Cap - Recharging internal capacitor when no cyborg is inside var/icon_update_tick = 0 // Used to update icon only once every 10 ticks var/charge_rate = 250 // How much charge is restored per tick var/weld_rate = 0 // How much brute damage is repaired per tick @@ -26,6 +27,7 @@ component_parts += new /obj/item/weapon/stock_parts/manipulator(src) component_parts += new /obj/item/weapon/stock_parts/capacitor(src) component_parts += new /obj/item/weapon/stock_parts/capacitor(src) + component_parts += new /obj/item/weapon/cell/high(src) component_parts += new /obj/item/stack/cable_coil(src, 5) build_icon() @@ -37,7 +39,7 @@ if(stat & (BROKEN)) return - if((stat & (NOPOWER)) && !current_internal_charge) // No Power. + if((stat & (NOPOWER)) && (!cell || cell.percent() <= 0)) // No Power. return var/chargemode = 0 @@ -46,28 +48,22 @@ chargemode = 1 // Power Stuff + if(!cell) // Shouldn't be possible, but sanity check + return + if(stat & NOPOWER) - current_internal_charge = max(0, (current_internal_charge - (50 * CELLRATE))) // Internal Circuitry, 50W load. No power - Runs from internal cell + cell.use(50 * CELLRATE) // Internal Circuitry, 50W load. No power - Runs from internal cell return // No external power = No charging - if(max_internal_charge < current_internal_charge) - current_internal_charge = max_internal_charge// Safety check if varedit adminbus or something screws up // Calculating amount of power to draw - var/charge_diff = max_internal_charge - current_internal_charge // OK we have charge differences - charge_diff = charge_diff / CELLRATE // Deconvert from Charge to Joules - if(chargemode) // Decide if use passive or active power - charge_diff = between(0, charge_diff, charging_cap_active) // Trim the values to limits - else // We should have load for this tick in Watts - charge_diff = between(0, charge_diff, charging_cap_passive) + var/charge_diff = (chargemode ? charging_cap_active : charging_cap_passive) + 50 // 50W for circuitry - charge_diff += 50 // 50W for circuitry + charge_diff = cell.give(charge_diff) if(idle_power_usage != charge_diff) // Force update, but only when our power usage changed this tick. idle_power_usage = charge_diff update_use_power(1, 1) - current_internal_charge = min((current_internal_charge + ((charge_diff - 50) * CELLRATE)), max_internal_charge) - if(icon_update_tick >= 10) update_icon() icon_update_tick = 0 @@ -85,7 +81,9 @@ user << "The charge meter reads: [round(chargepercentage())]%" /obj/machinery/recharge_station/proc/chargepercentage() - return ((current_internal_charge / max_internal_charge) * 100) + if(!cell) + return 0 + return cell.percent() /obj/machinery/recharge_station/relaymove(mob/user as mob) if(user.stat) @@ -100,6 +98,8 @@ if(occupant) occupant.emp_act(severity) go_out() + if(cell) + cell.emp_act(severity) ..(severity) /obj/machinery/recharge_station/attackby(var/obj/item/O as obj, var/mob/user as mob) @@ -123,8 +123,10 @@ cap_rating += P.rating if(istype(P, /obj/item/weapon/stock_parts/manipulator)) man_rating += P.rating + cell = locate(/obj/item/weapon/cell) in component_parts charge_rate = 125 * cap_rating + charging_cap_passive = charge_rate weld_rate = max(0, man_rating - 3) wire_rate = max(0, man_rating - 5) @@ -165,9 +167,8 @@ return if(!R.cell.fully_charged()) var/diff = min(R.cell.maxcharge - R.cell.charge, charge_rate) // Capped at charge_rate charge / tick - diff = min(diff, current_internal_charge) // No over-discharging - R.cell.give(diff) - current_internal_charge -= diff + if (cell.use(diff)) + R.cell.give(diff) if(weld_rate && R.getBruteLoss()) R.adjustBruteLoss(-1) if(wire_rate && R.getFireLoss()) diff --git a/code/game/objects/items/weapons/circuitboards/machinery/recharge_station.dm b/code/game/objects/items/weapons/circuitboards/machinery/recharge_station.dm index 6018d4c2bf5..5a0dc01bc12 100644 --- a/code/game/objects/items/weapons/circuitboards/machinery/recharge_station.dm +++ b/code/game/objects/items/weapons/circuitboards/machinery/recharge_station.dm @@ -7,8 +7,9 @@ build_path = "/obj/machinery/recharge_station" board_type = "machine" origin_tech = "programming=3;engineering=3" - frame_desc = "Requires 2 Manipulator, 2 Capacitor, and 5 pieces of cable." + frame_desc = "Requires 2 Manipulator, 2 Capacitor, 1 Cell, and 5 pieces of cable." req_components = list( "/obj/item/stack/cable_coil" = 5, "/obj/item/weapon/stock_parts/capacitor" = 2, - "/obj/item/weapon/stock_parts/manipulator" = 2) \ No newline at end of file + "/obj/item/weapon/stock_parts/manipulator" = 2, + "/obj/item/weapon/cell" = 1) \ No newline at end of file From 8ceaa8b5a112397fa43d679ab995c97b4718cfcd Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Tue, 10 Feb 2015 19:17:44 +0100 Subject: [PATCH 064/143] Traitors can now order a spy kit Traitors can now order a spy kit containing 3 camera+radio bugs + a monitor for 2 telecrystals. --- baystation12.dme | 1 + code/game/gamemodes/game_mode.dm | 3 +- .../game/objects/items/devices/radio/radio.dm | 19 +-- code/game/objects/items/devices/spy_bug.dm | 138 ++++++++++++++++++ .../items/weapons/storage/uplink_kits.dm | 11 ++ icons/mob/items_lefthand.dmi | Bin 149336 -> 155345 bytes icons/mob/items_righthand.dmi | Bin 148825 -> 157706 bytes 7 files changed, 155 insertions(+), 17 deletions(-) create mode 100644 code/game/objects/items/devices/spy_bug.dm diff --git a/baystation12.dme b/baystation12.dme index 37d93bc811d..fa8394afdbe 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -552,6 +552,7 @@ #include "code\game\objects\items\devices\pipe_painter.dm" #include "code\game\objects\items\devices\powersink.dm" #include "code\game\objects\items\devices\scanners.dm" +#include "code\game\objects\items\devices\spy_bug.dm" #include "code\game\objects\items\devices\suit_cooling.dm" #include "code\game\objects\items\devices\taperecorder.dm" #include "code\game\objects\items\devices\traitordevices.dm" diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm index 5a95784273e..0cfc8dd1ed0 100644 --- a/code/game/gamemodes/game_mode.dm +++ b/code/game/gamemodes/game_mode.dm @@ -45,11 +45,12 @@ "Stealthy and Inconspicuous Weapons" = list( new/datum/uplink_item(/obj/item/weapon/soap/syndie, 1, "Subversive Soap", "SP"), new/datum/uplink_item(/obj/item/weapon/cartridge/syndicate, 3, "Detomatix PDA Cartridge", "DC"), - new/datum/uplink_item(/obj/item/weapon/pen/paralysis, 3, "Paralysis Pen", "PP") + new/datum/uplink_item(/obj/item/weapon/pen/paralysis, 3, "Paralysis Pen", "PP"), ), "Stealth and Camouflage Items" = list( new/datum/uplink_item(/obj/item/weapon/card/id/syndicate, 2, "Agent ID card", "AC"), new/datum/uplink_item(/obj/item/clothing/shoes/syndigaloshes, 2, "No-Slip Shoes", "SH"), + new/datum/uplink_item(/obj/item/weapon/storage/box/syndie_kit/spy, 2, "Spy Kit", "SK"), new/datum/uplink_item(/obj/item/weapon/storage/box/syndie_kit/chameleon, 3, "Chameleon Kit", "CB"), new/datum/uplink_item(/obj/item/device/chameleon, 4, "Chameleon-Projector", "CP"), new/datum/uplink_item(/obj/item/clothing/mask/gas/voice, 4, "Voice Changer", "VC") diff --git a/code/game/objects/items/devices/radio/radio.dm b/code/game/objects/items/devices/radio/radio.dm index 24c44694f54..93ce1d9eab5 100644 --- a/code/game/objects/items/devices/radio/radio.dm +++ b/code/game/objects/items/devices/radio/radio.dm @@ -115,13 +115,10 @@ listening = !listening && !(wires.IsIndexCut(WIRE_RECEIVE) || wires.IsIndexCut(WIRE_SIGNAL)) /obj/item/device/radio/Topic(href, href_list) - //..() - if (usr.stat || !on) - return - - if (!(issilicon(usr) || (usr.contents.Find(src) || ( in_range(src, usr) && istype(loc, /turf) )))) + if(..() || !on) usr << browse(null, "window=radio") return + usr.set_machine(src) if (href_list["track"]) var/mob/target = locate(href_list["track"]) @@ -152,17 +149,7 @@ else channels[chan_name] |= FREQ_LISTENING - if (!( master )) - if (istype(loc, /mob)) - interact(loc) - else - updateDialog() - else - if (istype(master.loc, /mob)) - interact(master.loc) - else - updateDialog() - add_fingerprint(usr) + interact(usr) /obj/item/device/radio/proc/autosay(var/message, var/from, var/channel) //BS12 EDIT var/datum/radio_frequency/connection = null diff --git a/code/game/objects/items/devices/spy_bug.dm b/code/game/objects/items/devices/spy_bug.dm new file mode 100644 index 00000000000..208838960ba --- /dev/null +++ b/code/game/objects/items/devices/spy_bug.dm @@ -0,0 +1,138 @@ +/obj/item/device/spy_bug + name = "tiny device" + desc = "It looks like a tiny camera, microphone, and transmission device in a happy union. Also mass-fabricated." + icon = 'icons/obj/weapons.dmi' + icon_state = "eshield0" + item_state = "nothing" + layer = TURF_LAYER+0.2 + + flags = CONDUCT + force = 5.0 + w_class = 1.0 + throwforce = 5.0 + throw_range = 15 + throw_speed = 3 + + origin_tech = "programming=1;engineering=1;syndicate=3" + + var/obj/item/device/radio/spy/radio + var/obj/machinery/camera/spy/camera + +/obj/item/device/spy_bug/New() + ..() + radio = new(src) + camera = new(src) + +/obj/item/device/spy_bug/attack_self(mob/user) + radio.attack_self(user) + +/obj/item/device/spy_bug/hear_talk(mob/M, var/msg, verb, datum/language/speaking) + radio.hear_talk(M, msg, speaking) + + +/obj/item/device/spy_monitor + name = "\improper PDA" + desc = "A portable microcomputer by Thinktronic Systems, LTD. Functionality determined by a preprogrammed ROM cartridge." + icon = 'icons/obj/pda.dmi' + icon_state = "pda" + item_state = "electronic" + + w_class = 2.0 + + origin_tech = "programming=1;engineering=1;syndicate=3" + + var/operating = 0 + var/obj/item/device/radio/spy/radio + var/obj/machinery/camera/spy/selected_camera + var/list/obj/machinery/camera/spy/cameras = new() + +/obj/item/device/spy_monitor/New() + radio = new(src) + +/obj/item/device/spy_monitor/examine(mob/user) + if(..(user, 1)) + user << "The time '12:00' is blinking in the corner of the screen. \The [src] looks very cheaply made." + +/obj/item/device/spy_monitor/attack_self(mob/user) + if(operating) + return + + radio.attack_self(user) + view_cameras(user) + +/obj/item/device/spy_monitor/attackby(obj/W as obj, mob/living/user as mob) + if(istype(W, /obj/item/device/spy_bug)) + var/obj/item/device/spy_bug/SB = W + if(SB.camera in cameras) + user << "\The [SB] has been unpaired from \the [src]." + cameras -= SB.camera + else + user << "\The [SB] has been paired with \the [src]." + cameras += SB.camera + else + return ..() + +/obj/item/device/spy_monitor/proc/view_cameras(mob/user) + if(!can_use_cam(user)) + return + + selected_camera = cameras[1] + view_camera(user) + + operating = 1 + while(selected_camera && Adjacent(user)) + selected_camera = input("Select camera bug to view.") as null|anything in cameras + selected_camera = null + operating = 0 + +/obj/item/device/spy_monitor/proc/view_camera(mob/user) + spawn(0) + while(selected_camera && Adjacent(user)) + var/turf/T = get_turf(selected_camera) + if(!T || T.z != user.z) + user.unset_machine() + user.reset_view(null) + user << "[selected_camera] out of range." + sleep(90) + else + user.set_machine(selected_camera) + user.reset_view(selected_camera) + sleep(10) + user.unset_machine() + user.reset_view(null) + +/obj/item/device/spy_monitor/proc/can_use_cam(mob/user) + if(operating) + return + + if(!cameras.len) + user << "No paired cameras detected!" + user << "Bring a bug in contact with this device to pair the camera." + return + + return 1 + +/obj/item/device/spy_monitor/hear_talk(mob/M, var/msg, verb, datum/language/speaking) + return radio.hear_talk(M, msg, speaking) + + +/obj/machinery/camera/spy + // These cheap toys are accessible from the mercenary camera console as well + network = list("NUKE") + +/obj/machinery/camera/spy/New() + ..() + name = "DV-136ZB #[rand(1000,9999)]" + c_tag = name + cameranet.removeCamera(src) // Sorry, no AI spying. + +/obj/machinery/camera/spy/check_eye(var/mob/user as mob) + return 1 + +/obj/item/device/radio/spy + listening = 0 + frequency = 1473 + broadcasting = 0 + canhear_range = 1 + name = "spy device" + icon_state = "syn_cypherkey" diff --git a/code/game/objects/items/weapons/storage/uplink_kits.dm b/code/game/objects/items/weapons/storage/uplink_kits.dm index fc1d2e2b8a4..205fb3d0a1f 100644 --- a/code/game/objects/items/weapons/storage/uplink_kits.dm +++ b/code/game/objects/items/weapons/storage/uplink_kits.dm @@ -149,3 +149,14 @@ ..() new /obj/item/weapon/stamp/chameleon(src) new /obj/item/weapon/pen/chameleon(src) + +/obj/item/weapon/storage/box/syndie_kit/spy + name = "spy kit" + desc = "For when you want to conduct voyeurism from afar." + +/obj/item/weapon/storage/box/syndie_kit/spy/New() + ..() + new /obj/item/device/spy_bug(src) + new /obj/item/device/spy_bug(src) + new /obj/item/device/spy_bug(src) + new /obj/item/device/spy_monitor(src) diff --git a/icons/mob/items_lefthand.dmi b/icons/mob/items_lefthand.dmi index b70af9c656ed1822dd3b2805ae7a83a11c5f35d6..ffbdbeaa0c238084d5aec66b9b606338265f4fdb 100644 GIT binary patch literal 155345 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 z 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