From 9f07b06b635fa3397667bcf18d1fd20e835b723b Mon Sep 17 00:00:00 2001 From: AnturK Date: Thu, 25 Jun 2015 00:23:55 +0200 Subject: [PATCH 01/77] Adds Morph --- .../mob/living/simple_animal/morph/morph.dm | 102 ++++++++++++++++++ icons/mob/animal.dmi | Bin 188477 -> 189454 bytes tgstation.dme | 1 + 3 files changed, 103 insertions(+) create mode 100644 code/modules/mob/living/simple_animal/morph/morph.dm diff --git a/code/modules/mob/living/simple_animal/morph/morph.dm b/code/modules/mob/living/simple_animal/morph/morph.dm new file mode 100644 index 00000000000..85b71a4113d --- /dev/null +++ b/code/modules/mob/living/simple_animal/morph/morph.dm @@ -0,0 +1,102 @@ +#define MORPH_COOLDOWN 50 + +/mob/living/simple_animal/morph + name = "Morph" + real_name = "Morph" + desc = "some amorphous blob" + speak_emote = list("gurgles") + emote_hear = list("gurgles") + icon = 'icons/mob/animal.dmi' + icon_state = "morph" + speed = 2 + a_intent = "harm" + stop_automated_movement = 1 + status_flags = CANPUSH + pass_flags = PASSTABLE + ventcrawler = 2 + atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + minbodytemp = 0 + maxHealth = 150 + health = 150 + environment_smash = 1 + melee_damage_lower = 30 + melee_damage_upper = 30 + see_in_dark = 8 + see_invisible = SEE_INVISIBLE_MINIMUM + + var/morphed = 0 + var/atom/form = null + var/morph_time = 0 + +/mob/living/simple_animal/morph/examine(mob/user) + if(morphed) + form.examine(user) // Refactor examine to return desc ? Not sure if worth it + if(get_dist(user,src)<=3) + user << "Looks odd!" + else + ..() + return + +/mob/living/simple_animal/morph/ShiftClickOn(var/atom/A) + if(morph_time <= world.time) + if(A == src) + restore() + return + if(istype(A,/atom/movable/)) + assume(A) + else + ..() + +/mob/living/simple_animal/morph/proc/assume(var/atom/target) + morphed = 1 + form = target + + //anim(loc,src,'icons/mob/mob.dmi',,"morph",,src.dir) No effect better than shit effect + + //Todo : update to .appearance once 508 hits + if(ishuman(target)) + var/mob/living/carbon/human/H = target + overlays = H.get_overlays_copy(list(L_HAND_LAYER,R_HAND_LAYER)) + else + overlays = target.overlays.Copy() + + name = target.name + icon = target.icon + icon_state = target.icon_state + overlays = target.overlays + + //Morphed is weaker + melee_damage_lower = 5 + melee_damage_upper = 5 + speed = 0 + + morph_time = world.time + MORPH_COOLDOWN + return + +/mob/living/simple_animal/morph/proc/restore() + if(!morphed) + return + morphed = 0 + form = null + + //anim(loc,src,'icons/mob/mob.dmi',,"morph",,src.dir) + + name = initial(name) + icon = initial(icon) + icon_state = initial(icon_state) + overlays.Cut() + + //Baseline stats + melee_damage_lower = initial(melee_damage_lower) + melee_damage_upper = initial(melee_damage_upper) + speed = initial(speed) + + morph_time = world.time + MORPH_COOLDOWN + return + +/mob/living/simple_animal/morph/death() + if(morphed) + visible_message("The [src] dissolves!") + restore() + ..(0) + return \ No newline at end of file diff --git a/icons/mob/animal.dmi b/icons/mob/animal.dmi index 0518872ccf89325d34455dada5657e59a0421a4f..db06130cc32246c8c69f96d451a2c12a50641328 100644 GIT binary patch delta 19502 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 YT2-8>-Zb^FH2{tM`$+DOTmvut10%gJ@c;k- delta 18518 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 J%Q~loCII2MU26aU diff --git a/tgstation.dme b/tgstation.dme index 4be3b7321c1..820138c317b 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -1246,6 +1246,7 @@ #include "code\modules\mob\living\simple_animal\hostile\retaliate\bat.dm" #include "code\modules\mob\living\simple_animal\hostile\retaliate\clown.dm" #include "code\modules\mob\living\simple_animal\hostile\retaliate\retaliate.dm" +#include "code\modules\mob\living\simple_animal\morph\morph.dm" #include "code\modules\mob\living\simple_animal\revenant\revenant.dm" #include "code\modules\mob\living\simple_animal\revenant\revenant_abilities.dm" #include "code\modules\mob\living\simple_animal\revenant\revenant_spawn_event.dm" From 3cf513bf9942fffcb22c66dec09e196420680a23 Mon Sep 17 00:00:00 2001 From: AnturK Date: Thu, 25 Jun 2015 14:46:30 +0200 Subject: [PATCH 02/77] Adds morphing blacklist Adds npc behavior Adds spawn event --- .../mob/living/simple_animal/morph/morph.dm | 102 ++++++++++++++++-- icons/mob/animal.dmi | Bin 189454 -> 190356 bytes 2 files changed, 92 insertions(+), 10 deletions(-) diff --git a/code/modules/mob/living/simple_animal/morph/morph.dm b/code/modules/mob/living/simple_animal/morph/morph.dm index 85b71a4113d..a7a56d923f6 100644 --- a/code/modules/mob/living/simple_animal/morph/morph.dm +++ b/code/modules/mob/living/simple_animal/morph/morph.dm @@ -1,6 +1,6 @@ #define MORPH_COOLDOWN 50 -/mob/living/simple_animal/morph +/mob/living/simple_animal/hostile/morph name = "Morph" real_name = "Morph" desc = "some amorphous blob" @@ -8,6 +8,8 @@ emote_hear = list("gurgles") icon = 'icons/mob/animal.dmi' icon_state = "morph" + icon_living = "morph" + icon_dead = "morph_dead" speed = 2 a_intent = "harm" stop_automated_movement = 1 @@ -23,31 +25,40 @@ melee_damage_upper = 30 see_in_dark = 8 see_invisible = SEE_INVISIBLE_MINIMUM + idle_vision_range = 1 // Only attack when target is close + wander = 0 var/morphed = 0 - var/atom/form = null + var/atom/movable/form = null var/morph_time = 0 -/mob/living/simple_animal/morph/examine(mob/user) +/mob/living/simple_animal/hostile/morph/examine(mob/user) if(morphed) - form.examine(user) // Refactor examine to return desc ? Not sure if worth it + form.examine(user) // Refactor examine to return desc so it's static? Not sure if worth it if(get_dist(user,src)<=3) user << "Looks odd!" else ..() return -/mob/living/simple_animal/morph/ShiftClickOn(var/atom/A) +/mob/living/simple_animal/hostile/morph/proc/allowed(var/atom/movable/A) // make it into property/proc ? not sure if worth it + if(istype(A,/obj/screen)) + return 0 + if(istype(A,/obj/singularity)) + return 0 + return 1 + +/mob/living/simple_animal/hostile/morph/ShiftClickOn(var/atom/movable/A) if(morph_time <= world.time) if(A == src) restore() return - if(istype(A,/atom/movable/)) + if(istype(A) && allowed(A)) assume(A) else ..() -/mob/living/simple_animal/morph/proc/assume(var/atom/target) +/mob/living/simple_animal/hostile/morph/proc/assume(var/atom/movable/target) morphed = 1 form = target @@ -73,7 +84,7 @@ morph_time = world.time + MORPH_COOLDOWN return -/mob/living/simple_animal/morph/proc/restore() +/mob/living/simple_animal/hostile/morph/proc/restore() if(!morphed) return morphed = 0 @@ -94,9 +105,80 @@ morph_time = world.time + MORPH_COOLDOWN return -/mob/living/simple_animal/morph/death() +/mob/living/simple_animal/hostile/morph/death() if(morphed) visible_message("The [src] dissolves!") restore() ..(0) - return \ No newline at end of file + return + +/mob/living/simple_animal/hostile/morph/Aggro() // automated only + ..() + restore() + +/mob/living/simple_animal/hostile/morph/LoseAggro() + vision_range = idle_vision_range + +/mob/living/simple_animal/hostile/morph/AIShouldSleep() + . = ..() + if(.) + var/list/things = list() + for(var/atom/movable/A in view(src)) + if(allowed(A)) + things += A + var/atom/movable/T = pick(things) + assume(T) + + +//Spawn Event + +/datum/round_event_control/morph + name = "Spawn Morph" + typepath = /datum/round_event/morph + weight = 0 //Admin only + max_occurrences = 1 + +/datum/round_event/morph + var/key_of_morph + +/datum/round_event/morph/proc/get_morph(var/end_if_fail = 0) + key_of_morph = null + if(!key_of_morph) + var/list/candidates = get_candidates(BE_ALIEN) + if(!candidates.len) + if(end_if_fail) + return 0 + return find_morph() + var/client/C = pick(candidates) + key_of_morph = C.key + if(!key_of_morph) + if(end_if_fail) + return 0 + return find_morph() + var/datum/mind/player_mind = new /datum/mind(key_of_morph) + player_mind.active = 1 + if(!xeno_spawn) + return find_morph() + var/mob/living/simple_animal/hostile/morph/S = new /mob/living/simple_animal/hostile/morph(pick(xeno_spawn)) + player_mind.transfer_to(S) + player_mind.assigned_role = "Morph" + player_mind.special_role = "Morph" + ticker.mode.traitors |= player_mind + S << "You are a Morph, a shapeshifting alien creature. You can assume the shape of anything in sight by Shift-Clicking it.
You can only transform every 5 seconds.
To return to your basic form Shift-Click on yourself." + message_admins("[key_of_morph] has been made into Morph by an event.") + log_game("[key_of_morph] was spawned as a Morph by an event.") + return 1 + +/datum/round_event/morph/start() + get_morph() + + +/datum/round_event/morph/proc/find_morph() + message_admins("Attempted to spawn a Morph but there was no players available. Will try again momentarily.") + spawn(50) + if(get_morph(1)) + message_admins("Situation has been resolved, [key_of_morph] has been spawned as a Morph.") + log_game("[key_of_morph] was spawned as a Morph by an event.") + return 0 + message_admins("Unfortunately, no candidates were available for becoming a Morph. Shutting down.") + return kill() \ No newline at end of file diff --git a/icons/mob/animal.dmi b/icons/mob/animal.dmi index db06130cc32246c8c69f96d451a2c12a50641328..80b6b585a90c57d104846499c999942d364d5bf9 100644 GIT binary patch delta 20408 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 P0S)F!3Fpd=NL?ydt!N+TTy5JbBB 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 aCReJAG1Qu+95n}^=b#(W^{I2f)qen$L@tQ{ From c50a1b027d52bf89305a55a24db413a5e711a3f7 Mon Sep 17 00:00:00 2001 From: AnturK Date: Thu, 25 Jun 2015 17:57:45 +0200 Subject: [PATCH 03/77] Makes Morph untrackable when morphed. --- code/modules/mob/living/simple_animal/morph/morph.dm | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/code/modules/mob/living/simple_animal/morph/morph.dm b/code/modules/mob/living/simple_animal/morph/morph.dm index a7a56d923f6..43dc40e41f6 100644 --- a/code/modules/mob/living/simple_animal/morph/morph.dm +++ b/code/modules/mob/living/simple_animal/morph/morph.dm @@ -129,6 +129,11 @@ var/atom/movable/T = pick(things) assume(T) +/mob/living/simple_animal/hostile/morph/can_track(mob/living/user) + if(morphed) + return 0 + return ..() + //Spawn Event @@ -164,7 +169,7 @@ player_mind.assigned_role = "Morph" player_mind.special_role = "Morph" ticker.mode.traitors |= player_mind - S << "You are a Morph, a shapeshifting alien creature. You can assume the shape of anything in sight by Shift-Clicking it.
You can only transform every 5 seconds.
To return to your basic form Shift-Click on yourself." + S << "You are a Morph, a shapeshifting alien creature.
You can assume the shape of anything in sight by Shift-Clicking it.
You can only transform every 5 seconds.
To return to your basic form Shift-Click on yourself." message_admins("[key_of_morph] has been made into Morph by an event.") log_game("[key_of_morph] was spawned as a Morph by an event.") return 1 From 5dbd55561d7068062a59cfbea9496a26ec6ef95e Mon Sep 17 00:00:00 2001 From: AnturK Date: Sun, 28 Jun 2015 11:40:36 +0200 Subject: [PATCH 04/77] Adds eating corpses/items. --- .../mob/living/simple_animal/morph/morph.dm | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/code/modules/mob/living/simple_animal/morph/morph.dm b/code/modules/mob/living/simple_animal/morph/morph.dm index 43dc40e41f6..b6e5c48570f 100644 --- a/code/modules/mob/living/simple_animal/morph/morph.dm +++ b/code/modules/mob/living/simple_animal/morph/morph.dm @@ -109,6 +109,14 @@ if(morphed) visible_message("The [src] dissolves!") restore() + + //Dump eaten stuff + for(var/obj/O in src) + O.loc = loc + + for(var/mob/M in src) + M.loc = loc + ..(0) return @@ -134,6 +142,23 @@ return 0 return ..() +/mob/living/simple_animal/hostile/morph/AttackingTarget() + if(isliving(target)) // Eat Corpses to regen health + var/mob/living/L = target + if(L.stat == DEAD) + if(do_after(src, 30, target = src)) + visible_message("[src] swallows the [target] whole!") + L.loc = src + adjustBruteLoss(-50) + return + if(istype(target,/obj/item)) // Eat items just to be annoying + var/obj/item/I = target + if(!I.anchored) + if(do_after(src,20, target = src)) + visible_message("[src] swallows the [target] whole!") + I.loc = src + return + target.attack_animal(src) //Spawn Event From 694f2f540b2f0f1ef11f53c57e8abb5169d700b6 Mon Sep 17 00:00:00 2001 From: AnturK Date: Sun, 28 Jun 2015 16:00:55 +0200 Subject: [PATCH 05/77] Coder Sprite --- icons/mob/animal.dmi | Bin 190356 -> 192064 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/mob/animal.dmi b/icons/mob/animal.dmi index 80b6b585a90c57d104846499c999942d364d5bf9..db036d5f1c42cf931b6ba22c71872dc6cb22088a 100644 GIT binary patch delta 22993 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 delta 21271 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 From 387f36f2619b1b36e18d6f8da26149e2d347bd22 Mon Sep 17 00:00:00 2001 From: Jordie0608 Date: Sat, 4 Jul 2015 18:44:50 +1000 Subject: [PATCH 06/77] explosion cinematics no longer delay round end --- code/controllers/subsystem/ticker.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/controllers/subsystem/ticker.dm b/code/controllers/subsystem/ticker.dm index 31b485b79e3..b9c95206d11 100644 --- a/code/controllers/subsystem/ticker.dm +++ b/code/controllers/subsystem/ticker.dm @@ -293,7 +293,7 @@ var/datum/subsystem/ticker/ticker cinematic.icon_state = "summary_selfdes" //If its actually the end of the round, wait for it to end. //Otherwise if its a verb it will continue on afterwards. - sleep(300) + spawn(300) if(cinematic) qdel(cinematic) //end the cinematic if(temp_buckle) qdel(temp_buckle) //release everybody From a693f924786e4bbb1d549b4f6041a68305c747a8 Mon Sep 17 00:00:00 2001 From: Jordie0608 Date: Sun, 5 Jul 2015 15:03:04 +1000 Subject: [PATCH 07/77] indents under spawn --- code/controllers/subsystem/ticker.dm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/code/controllers/subsystem/ticker.dm b/code/controllers/subsystem/ticker.dm index b9c95206d11..e824814c577 100644 --- a/code/controllers/subsystem/ticker.dm +++ b/code/controllers/subsystem/ticker.dm @@ -294,9 +294,8 @@ var/datum/subsystem/ticker/ticker //If its actually the end of the round, wait for it to end. //Otherwise if its a verb it will continue on afterwards. spawn(300) - - if(cinematic) qdel(cinematic) //end the cinematic - if(temp_buckle) qdel(temp_buckle) //release everybody + if(cinematic) qdel(cinematic) //end the cinematic + if(temp_buckle) qdel(temp_buckle) //release everybody return From 973683b8bf5eb33ca408214885b3e25b2b8876ed Mon Sep 17 00:00:00 2001 From: Jordie0608 Date: Mon, 6 Jul 2015 23:22:01 +1000 Subject: [PATCH 08/77] local narrate verb --- code/modules/admin/admin_verbs.dm | 2 ++ code/modules/admin/verbs/randomverbs.dm | 19 +++++++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index 23e0bc6142e..4f157aadda7 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -57,6 +57,7 @@ var/list/admin_verbs_admin = list( /client/proc/admin_cancel_shuttle, /*allows us to cancel the emergency shuttle, sending it back to centcom*/ /client/proc/cmd_admin_direct_narrate, /*send text directly to a player with no padding. Useful for narratives and fluff-text*/ /client/proc/cmd_admin_world_narrate, /*sends text to all players with no padding*/ + /client/proc/cmd_admin_local_narrate, //sends text to all mobs within view of atmo /client/proc/cmd_admin_create_centcom_report, /client/proc/check_words, /*displays cult-words*/ /client/proc/reset_all_tcs /*resets all telecomms scripts*/ @@ -163,6 +164,7 @@ var/list/admin_verbs_hideable = list( /client/proc/admin_cancel_shuttle, /client/proc/cmd_admin_direct_narrate, /client/proc/cmd_admin_world_narrate, + /client/proc/cmd_admin_local_narrate, /client/proc/check_words, /client/proc/play_local_sound, /client/proc/play_sound, diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm index 57bea51a682..0e37c270f71 100644 --- a/code/modules/admin/verbs/randomverbs.dm +++ b/code/modules/admin/verbs/randomverbs.dm @@ -82,6 +82,25 @@ message_admins(" DirectNarrate: [key_name(usr)] to ([M.name]/[M.key]): [msg]
") feedback_add_details("admin_verb","DIRN") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! +/client/proc/cmd_admin_local_narrate(var/atom/A) + set category = "Special Verbs" + set name = "Local Narrate" + + if (!holder) + src << "Only administrators may use this command." + return + if(!A) + return + var/msg = input("Message:", text("Enter the text you wish to appear to everyone within view:")) as text + if (!msg) + return + for(var/mob/living/M in view(7,A)) + M << msg + + log_admin("LocalNarrate: [key_name(usr)] at ([get_area(A)]): [msg]") + message_admins(" LocalNarrate: [key_name_admin(usr)] at (
[get_area(A)]): [msg]
") + feedback_add_details("admin_verb","LN") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + /client/proc/cmd_admin_godmode(mob/M as mob in mob_list) set category = "Special Verbs" set name = "Godmode" From 52acb19a555e27d5b302bf028e5750f80fcee5e0 Mon Sep 17 00:00:00 2001 From: Jordie0608 Date: Mon, 6 Jul 2015 23:46:21 +1000 Subject: [PATCH 09/77] custom range and changelog --- code/modules/admin/verbs/randomverbs.dm | 5 ++++- html/changelogs/jordie ln.yml | 6 ++++++ 2 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 html/changelogs/jordie ln.yml diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm index 0e37c270f71..602382d5e52 100644 --- a/code/modules/admin/verbs/randomverbs.dm +++ b/code/modules/admin/verbs/randomverbs.dm @@ -91,10 +91,13 @@ return if(!A) return + var/range = input("Range:", "Narrate to mobs within how many tiles:", 7) as num + if(!range) + return var/msg = input("Message:", text("Enter the text you wish to appear to everyone within view:")) as text if (!msg) return - for(var/mob/living/M in view(7,A)) + for(var/mob/living/M in view(range,A)) M << msg log_admin("LocalNarrate: [key_name(usr)] at ([get_area(A)]): [msg]") diff --git a/html/changelogs/jordie ln.yml b/html/changelogs/jordie ln.yml new file mode 100644 index 00000000000..31ccda78706 --- /dev/null +++ b/html/changelogs/jordie ln.yml @@ -0,0 +1,6 @@ +author: Jordie0608 + +delete-after: True + +changes: + - rscadd: "Added a Local Narrate verb for admins." From 8241a5acc59037cdfb8349a47a267e7a4c453c04 Mon Sep 17 00:00:00 2001 From: Jim Boonie Date: Tue, 7 Jul 2015 07:38:49 +1200 Subject: [PATCH 10/77] Makes screwdriver eyeball spam less bullshit --- code/game/objects/items.dm | 30 +++++++++++++++++++----------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index b71cb447ff7..3390542f55a 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -386,6 +386,7 @@ var/global/image/fire_overlay = image("icon" = 'icons/effects/fire.dmi', "icon_s if(is_human_victim) var/mob/living/carbon/human/U = M var/obj/item/organ/limb/affecting = U.get_organ("head") + world << "7 damage has been taken to [U]'s head." if(affecting.take_damage(7)) U.update_damage_overlays(0) @@ -393,20 +394,27 @@ var/global/image/fire_overlay = image("icon" = 'icons/effects/fire.dmi', "icon_s M.take_organ_damage(7) M.eye_blurry += rand(3,4) - M.eye_stat += rand(2,4) + if (M.eye_stat < 10) + world << "[M]'s eye blurriness is now [M.eye_blurry]" + M.eye_stat += rand(1,2) //5 or 10 eyestabs are necessary to become nearsighted + world << "[M]'s eye stat is now [M.eye_stat]" if (M.eye_stat >= 10) - M.eye_blurry += 15+(0.1*M.eye_blurry) - M.disabilities |= NEARSIGHT - if(M.stat != 2) - M << "Your eyes start to bleed profusely!" - if(prob(50)) + M.eye_blurry += 5+(0.1*M.eye_blurry) + if(M.disabilities != NEARSIGHT) + M.disabilities |= NEARSIGHT + world << "[M] is now nearsighted due to having an eye stat at or above 10: [M.eye_stat]!" + (!(M.stat)) + M << "Your eyes start to bleed profusely!"//warns the victim they're nearsighted + if(prob(30))//30% chance of being stunned and an extra 10 blur added to vision + world << "[M] has passed the 30% probability check and will be paralysed, weakened and further blinded." if(M.stat != 2) - if(M.drop_item()) - M << "You drop what you're holding and clutch at your eyes!" + M.Paralyse(1) //we don't paralyse or weaken if already stunned to prevent chainstunning + M.Weaken(2) + M << "You drop what you're holding and clutch at your eyes!" M.eye_blurry += 10 - M.Paralyse(1) - M.Weaken(2) - if (prob(M.eye_stat - 10 + 1)) + world << "[M]'s eye blurriness had 10 added to it for a total of [M.eye_blurry]" + if (prob(M.eye_stat - 10 + 1)) //chance to go blind, currently 5 or 6 stabs after going nearsighted grants 10% per stab + world << "[M] has gone blind at a [(prob(M.eye_stat - 10 + 1))]% chance!" if(M.stat != 2) M << "You go blind!" M.disabilities |= BLIND From ecfe36f440c349a97f589862cefbfd94f289fd08 Mon Sep 17 00:00:00 2001 From: Jim Boonie Date: Tue, 7 Jul 2015 08:36:31 +1200 Subject: [PATCH 11/77] Removes debug lines and tweaks a few final things --- code/game/objects/items.dm | 27 +++++++++------------------ 1 file changed, 9 insertions(+), 18 deletions(-) diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index 3390542f55a..cc7e5b36794 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -386,35 +386,26 @@ var/global/image/fire_overlay = image("icon" = 'icons/effects/fire.dmi', "icon_s if(is_human_victim) var/mob/living/carbon/human/U = M var/obj/item/organ/limb/affecting = U.get_organ("head") - world << "7 damage has been taken to [U]'s head." if(affecting.take_damage(7)) U.update_damage_overlays(0) else M.take_organ_damage(7) - M.eye_blurry += rand(3,4) - if (M.eye_stat < 10) - world << "[M]'s eye blurriness is now [M.eye_blurry]" + M.eye_blurry += rand(2,3) //adds 2 or 3 blurriness with each eyestab M.eye_stat += rand(1,2) //5 or 10 eyestabs are necessary to become nearsighted - world << "[M]'s eye stat is now [M.eye_stat]" if (M.eye_stat >= 10) - M.eye_blurry += 5+(0.1*M.eye_blurry) + M.eye_blurry += 5+(0.1*M.eye_blurry) //if nearsighted, each stab adds extra blurriness based on current blurriness if(M.disabilities != NEARSIGHT) M.disabilities |= NEARSIGHT - world << "[M] is now nearsighted due to having an eye stat at or above 10: [M.eye_stat]!" - (!(M.stat)) - M << "Your eyes start to bleed profusely!"//warns the victim they're nearsighted - if(prob(30))//30% chance of being stunned and an extra 10 blur added to vision - world << "[M] has passed the 30% probability check and will be paralysed, weakened and further blinded." - if(M.stat != 2) - M.Paralyse(1) //we don't paralyse or weaken if already stunned to prevent chainstunning + M << "Your vision is a mess!"//warns the victim they've become nearsighted + if(prob(25))//25% chance of being stunned and an extra 5 blur added to vision + if(!(M.stat)) //we don't paralyse or weaken if already stunned to discourage chainstunning + M.Paralyse(1) M.Weaken(2) - M << "You drop what you're holding and clutch at your eyes!" - M.eye_blurry += 10 - world << "[M]'s eye blurriness had 10 added to it for a total of [M.eye_blurry]" - if (prob(M.eye_stat - 10 + 1)) //chance to go blind, currently 5 or 6 stabs after going nearsighted grants 10% per stab - world << "[M] has gone blind at a [(prob(M.eye_stat - 10 + 1))]% chance!" + M << "You collapse in pain!" + M.eye_blurry += 5 + if (prob(M.eye_stat - 10 + 1)) //chance to go blind. after 6 stabs while nearsighted, there's a 10% chance to go blind that keeps increasing with each stab if(M.stat != 2) M << "You go blind!" M.disabilities |= BLIND From f021817b8cb5e570851d8dd1bf25f9de5dfcbc7d Mon Sep 17 00:00:00 2001 From: Jim Boonie Date: Tue, 7 Jul 2015 17:48:08 +1200 Subject: [PATCH 12/77] Imagine getting stabbed in the eyes. How fucking shitty would that feel? --- code/game/objects/items.dm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index cc7e5b36794..d134a4cd87a 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -393,19 +393,19 @@ var/global/image/fire_overlay = image("icon" = 'icons/effects/fire.dmi', "icon_s M.take_organ_damage(7) M.eye_blurry += rand(2,3) //adds 2 or 3 blurriness with each eyestab - M.eye_stat += rand(1,2) //5 or 10 eyestabs are necessary to become nearsighted + M.eye_stat += rand(1,2) //between 10 or 5 eyestabs are necessary to become nearsighted if (M.eye_stat >= 10) - M.eye_blurry += 5+(0.1*M.eye_blurry) //if nearsighted, each stab adds extra blurriness based on current blurriness + M.eye_blurry += 5+(0.1*M.eye_blurry)//once nearsighted, each stab adds more blurriness based on current blurriness if(M.disabilities != NEARSIGHT) M.disabilities |= NEARSIGHT - M << "Your vision is a mess!"//warns the victim they've become nearsighted - if(prob(25))//25% chance of being stunned and an extra 5 blur added to vision - if(!(M.stat)) //we don't paralyse or weaken if already stunned to discourage chainstunning + M << "Your eyes start to bleed profusely!"//hints the victim has become nearsighted + if(prob(25))//25% chance of being stunned with an extra 5 blur added to vision + if(!(M.stat)) //we don't stun if already stunned to discourage chainstunning M.Paralyse(1) M.Weaken(2) M << "You collapse in pain!" M.eye_blurry += 5 - if (prob(M.eye_stat - 10 + 1)) //chance to go blind. after 6 stabs while nearsighted, there's a 10% chance to go blind that keeps increasing with each stab + if (prob(M.eye_stat - 5 + 1)) //For a 10% chance to go blind, maximum 14 stabs, minimum 7. Increases with each stab. if(M.stat != 2) M << "You go blind!" M.disabilities |= BLIND From ed7e2c64995fd24d160662cd2c668f6d2cf6d2e7 Mon Sep 17 00:00:00 2001 From: Steelpoint Date: Tue, 7 Jul 2015 22:54:31 +0800 Subject: [PATCH 13/77] SecMorgue --- _maps/map_files/TgStation/tgstation.2.1.3.dmm | 86 +++++++++++-------- 1 file changed, 48 insertions(+), 38 deletions(-) diff --git a/_maps/map_files/TgStation/tgstation.2.1.3.dmm b/_maps/map_files/TgStation/tgstation.2.1.3.dmm index abbedfd8c54..692f7ffa681 100644 --- a/_maps/map_files/TgStation/tgstation.2.1.3.dmm +++ b/_maps/map_files/TgStation/tgstation.2.1.3.dmm @@ -47,7 +47,7 @@ "aaU" = (/obj/structure/table,/obj/structure/bedsheetbin,/turf/simulated/floor/plasteel{icon_state = "barber"},/area/security/prison) "aaV" = (/obj/structure/lattice,/obj/structure/sign/securearea{pixel_y = -32},/turf/space,/area/space) "aaW" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/wall,/area/security/transfer) -"aaX" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/wall/r_wall,/area/security/prison) +"aaX" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/wall/r_wall,/area/security/transfer) "aaY" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel{tag = "icon-warndark (NORTHWEST)"; icon_state = "warndark"; dir = 9},/area/security/transfer) "aaZ" = (/obj/machinery/computer/arcade,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/prison) "aba" = (/obj/structure/table,/obj/item/toy/cards/deck,/turf/simulated/floor/plasteel,/area/security/prison) @@ -68,7 +68,7 @@ "abp" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/turf/simulated/floor/plating,/area/security/hos) "abq" = (/obj/structure/grille{density = 0; icon_state = "brokengrille"},/obj/structure/lattice,/turf/space,/area/space) "abr" = (/obj/machinery/light/small{dir = 1},/obj/machinery/flasher{id = "executionflash"; pixel_x = 0; pixel_y = 25},/turf/simulated/floor/plasteel{tag = "icon-warndark (NORTH)"; icon_state = "warndark"; dir = 1},/area/security/transfer) -"abs" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/wall/r_wall,/area/security/prison) +"abs" = (/obj/structure/lattice,/turf/space,/area/security/prison) "abt" = (/turf/simulated/wall,/area/space) "abu" = (/obj/machinery/vending/cola,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/prison) "abv" = (/obj/machinery/light,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/prison) @@ -90,10 +90,10 @@ "abL" = (/obj/machinery/alarm{pixel_y = 23},/obj/structure/reagent_dispensers/peppertank{pixel_x = 30; pixel_y = 0},/obj/structure/table/wood,/obj/item/weapon/reagent_containers/food/drinks/bottle/vodka/badminka,/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/shotglass,/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/shotglass,/turf/simulated/floor/fancy/carpet,/area/security/hos) "abM" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/tracker,/turf/simulated/floor/plasteel/airless{icon_state = "solarpanel"},/area/solar/auxstarboard) "abN" = (/turf/simulated/floor/plasteel{tag = "icon-warndark (WEST)"; icon_state = "warndark"; dir = 8},/area/security/transfer) -"abO" = (/obj/machinery/sparker{dir = 2; id = "executionburn"; pixel_x = 25},/turf/simulated/floor/plasteel{tag = "icon-warndark (EAST)"; icon_state = "warndark"; dir = 4},/area/security/prison) +"abO" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/wall/r_wall,/area/security/transfer) "abP" = (/obj/structure/stool/bed,/obj/effect/landmark{name = "revenantspawn"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/transfer) "abQ" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor/plasteel{tag = "icon-warndark (SOUTHWEST)"; icon_state = "warndark"; dir = 10},/area/security/transfer) -"abR" = (/obj/machinery/atmospherics/unary/outlet_injector,/turf/simulated/floor/plasteel{tag = "icon-warndark (SOUTHEAST)"; icon_state = "warndark"; dir = 6},/area/security/prison) +"abR" = (/obj/machinery/sparker{dir = 2; id = "executionburn"; pixel_x = 25},/turf/simulated/floor/plasteel{tag = "icon-warndark (EAST)"; icon_state = "warndark"; dir = 4},/area/security/transfer) "abS" = (/turf/simulated/wall,/area/security/prison) "abT" = (/obj/machinery/door/poddoor/preopen{id = "permacell3"; name = "cell blast door"},/obj/machinery/door/airlock/glass{id_tag = "permabolt3"; name = "Cell 3"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/prison) "abU" = (/obj/machinery/door/poddoor/preopen{id = "permacell2"; name = "cell blast door"},/obj/machinery/door/airlock/glass{id_tag = "permabolt2"; name = "Cell 2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/prison) @@ -111,7 +111,7 @@ "acg" = (/turf/simulated/floor/plasteel{tag = "icon-warndark"; icon_state = "warndark"; dir = 2},/area/security/transfer) "ach" = (/turf/simulated/wall/r_wall,/area/space) "aci" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/door/poddoor/preopen{id = "executionfireblast"; layer = 2.9; name = "blast door"},/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/security/transfer) -"acj" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/machinery/door/poddoor/preopen{id = "executionfireblast"; layer = 2.9; name = "blast door"},/obj/machinery/atmospherics/pipe/simple/general/hidden,/obj/machinery/door/firedoor,/obj/machinery/door/window/brigdoor{base_state = "rightsecure"; dir = 2; icon_state = "rightsecure"; name = "Transfer Room"; req_access_txt = "2"},/obj/machinery/door/window/brigdoor{base_state = "rightsecure"; dir = 1; icon_state = "rightsecure"; name = "Transfer Room"; req_access_txt = "2"},/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 8},/area/security/prison) +"acj" = (/obj/machinery/atmospherics/unary/outlet_injector,/turf/simulated/floor/plasteel{tag = "icon-warndark (SOUTHEAST)"; icon_state = "warndark"; dir = 6},/area/security/transfer) "ack" = (/obj/structure/stool/bed,/obj/machinery/camera{c_tag = "Prison Cell 3"; network = list("SS13","Prison")},/obj/item/device/radio/intercom{desc = "Talk through this. It looks like it has been modified to not broadcast."; dir = 2; name = "Prison Intercom (General)"; pixel_x = 0; pixel_y = 24; prison_radio = 1},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/prison) "acl" = (/obj/structure/stool,/obj/machinery/light/small{dir = 1},/obj/machinery/door_control{id = "permabolt3"; name = "Cell Bolt Control"; normaldoorcontrol = 1; pixel_x = 0; pixel_y = 25; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/prison) "acm" = (/obj/structure/stool/bed,/obj/machinery/camera{c_tag = "Prison Cell 2"; network = list("SS13","Prison")},/obj/item/device/radio/intercom{desc = "Talk through this. It looks like it has been modified to not broadcast."; dir = 2; name = "Prison Intercom (General)"; pixel_x = 0; pixel_y = 24; prison_radio = 1},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/prison) @@ -132,9 +132,9 @@ "acB" = (/obj/machinery/door/airlock/external{name = "Security External Airlock"; req_access_txt = "63; 13"},/turf/simulated/floor/plating,/area/maintenance/fsmaint) "acC" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/tracker,/turf/simulated/floor/plasteel/airless{icon_state = "solarpanel"},/area/solar/auxport) "acD" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/obj/machinery/door/poddoor/preopen{id = "executionfireblast"; layer = 2.9; name = "blast door"},/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/security/transfer) -"acE" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{tag = "icon-manifold-r-f (EAST)"; dir = 4},/turf/simulated/wall/r_wall,/area/security/prison) +"acE" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/machinery/door/poddoor/preopen{id = "executionfireblast"; layer = 2.9; name = "blast door"},/obj/machinery/atmospherics/pipe/simple/general/hidden,/obj/machinery/door/firedoor,/obj/machinery/door/window/brigdoor{base_state = "rightsecure"; dir = 2; icon_state = "rightsecure"; name = "Transfer Room"; req_access_txt = "2"},/obj/machinery/door/window/brigdoor{base_state = "rightsecure"; dir = 1; icon_state = "rightsecure"; name = "Transfer Room"; req_access_txt = "2"},/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 8},/area/security/transfer) "acF" = (/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/item/weapon/scalpel{pixel_y = 12},/obj/item/weapon/circular_saw,/obj/item/weapon/hemostat,/obj/item/weapon/retractor,/obj/item/weapon/surgical_drapes,/obj/item/weapon/razor,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/transfer) -"acG" = (/obj/machinery/flasher_button{id = "executionflash"; pixel_x = 24; pixel_y = 5},/obj/machinery/door_control{id = "executionspaceblast"; name = "Vent to Space"; pixel_x = 25; pixel_y = -5; req_access_txt = "7"},/obj/machinery/atmospherics/pipe/simple/general/hidden,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/prison) +"acG" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{tag = "icon-manifold-r-f (EAST)"; dir = 4},/turf/simulated/wall/r_wall,/area/security/transfer) "acH" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/obj/machinery/flasher{id = "PCell 3"; pixel_x = -28},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/prison) "acI" = (/obj/structure/table,/obj/item/weapon/paper,/obj/item/weapon/pen,/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/prison) "acJ" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/obj/machinery/flasher{id = "PCell 2"; pixel_x = -28},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/prison) @@ -183,12 +183,12 @@ "adA" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/lattice/catwalk,/turf/space,/area/solar/auxstarboard) "adB" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/lattice/catwalk,/turf/space,/area/solar/auxstarboard) "adC" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/lattice/catwalk,/turf/space,/area/solar/auxstarboard) -"adD" = (/obj/structure/table,/obj/item/device/flashlight/lamp,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/prison) +"adD" = (/obj/machinery/flasher_button{id = "executionflash"; pixel_x = 24; pixel_y = 5},/obj/machinery/door_control{id = "executionspaceblast"; name = "Vent to Space"; pixel_x = 25; pixel_y = -5; req_access_txt = "7"},/obj/machinery/atmospherics/pipe/simple/general/hidden,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/transfer) "adE" = (/obj/machinery/atmospherics/pipe/manifold/general/visible{dir = 8},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/security/transfer) -"adF" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/machinery/ignition_switch{id = "executionburn"; pixel_x = 24; pixel_y = 5},/obj/machinery/door_control{id = "executionfireblast"; name = "Transfer Area Lockdown"; pixel_x = 25; pixel_y = -5; req_access_txt = "2"},/obj/machinery/atmospherics/pipe/simple/general/hidden,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/prison) -"adG" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/prison) -"adH" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel{icon_state = "red"; dir = 8},/area/security/prison) -"adI" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,/turf/simulated/wall,/area/security/prison) +"adF" = (/obj/structure/table,/obj/item/device/flashlight/lamp,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/transfer) +"adG" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/machinery/ignition_switch{id = "executionburn"; pixel_x = 24; pixel_y = 5},/obj/machinery/door_control{id = "executionfireblast"; name = "Transfer Area Lockdown"; pixel_x = 25; pixel_y = -5; req_access_txt = "2"},/obj/machinery/atmospherics/pipe/simple/general/hidden,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/transfer) +"adH" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/transfer) +"adI" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 9},/area/security/prison) "adJ" = (/obj/machinery/door_control{id = "permacell3"; name = "Cell 3 Lockdown"; pixel_x = -4; pixel_y = 25; req_access_txt = "2"},/obj/machinery/flasher_button{id = "PCell 3"; pixel_x = 6; pixel_y = 24},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,/turf/simulated/floor/plasteel{icon_state = "redcorner"; dir = 4},/area/security/prison) "adK" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{tag = "icon-manifold-r-f (NORTH)"; dir = 1},/turf/simulated/floor/plasteel,/area/security/prison) "adL" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel{icon_state = "redcorner"; dir = 1},/area/security/prison) @@ -223,12 +223,12 @@ "aeo" = (/obj/structure/cable,/obj/structure/lattice/catwalk,/turf/space,/area/solar/auxport) "aep" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel,/area/security/prison) "aeq" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple/general/visible{dir = 9},/turf/simulated/floor/plating,/area/security/transfer) -"aer" = (/obj/structure/rack,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/obj/item/device/flashlight{pixel_x = 1; pixel_y = 5},/obj/item/weapon/tank/internals/anesthetic{pixel_x = -3; pixel_y = 1},/obj/item/weapon/tank/internals/oxygen/red{pixel_x = 3},/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 8},/area/security/prison) +"aer" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,/turf/simulated/wall,/area/security/transfer) "aes" = (/obj/machinery/atmospherics/pipe/simple/general/visible{dir = 5},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 10},/area/security/transfer) -"aet" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/general/hidden,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/prison) -"aeu" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{tag = "icon-manifold-b-f (NORTH)"; dir = 1},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/prison) -"aev" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 8},/area/security/prison) -"aew" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/security{aiControlDisabled = 0; icon_state = "door_closed"; id_tag = null; locked = 0; name = "Prisoner Transfer Centre"; req_access = null; req_access_txt = "2"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/prison) +"aet" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel,/area/security/prison) +"aeu" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plasteel,/area/security/prison) +"aev" = (/obj/structure/rack,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/obj/item/device/flashlight{pixel_x = 1; pixel_y = 5},/obj/item/weapon/tank/internals/anesthetic{pixel_x = -3; pixel_y = 1},/obj/item/weapon/tank/internals/oxygen/red{pixel_x = 3},/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 8},/area/security/transfer) +"aew" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/general/hidden,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/transfer) "aex" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plasteel,/area/security/prison) "aey" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/floor/plasteel,/area/security/prison) "aez" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 27},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel{icon_state = "red"; dir = 4},/area/security/prison) @@ -265,7 +265,7 @@ "afe" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/lattice/catwalk,/turf/space,/area/solar/auxport) "aff" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/lattice/catwalk,/turf/space,/area/solar/auxport) "afg" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/lattice/catwalk,/turf/space,/area/solar/auxport) -"afh" = (/obj/structure/sign/securearea{pixel_x = 32; pixel_y = 0},/turf/space,/area/space) +"afh" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{tag = "icon-manifold-b-f (NORTH)"; dir = 1},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/transfer) "afi" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plasteel,/area/security/prison) "afj" = (/obj/structure/extinguisher_cabinet{pixel_x = 1; pixel_y = -27},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel{icon_state = "whitehall"; dir = 2},/area/security/prison) "afk" = (/turf/simulated/floor/plasteel{icon_state = "whitehall"; dir = 2},/area/security/prison) @@ -397,7 +397,7 @@ "ahG" = (/obj/structure/stool/bed/chair/office/dark,/obj/effect/landmark/start{name = "Warden"},/obj/machinery/door_control{id = "Prison Gate"; name = "Prison Wing Lockdown"; pixel_x = -27; pixel_y = 8; req_access_txt = "2"},/obj/machinery/door_control{id = "Secure Gate"; name = "Cell Shutters"; pixel_x = -27; pixel_y = -2; req_access_txt = "0"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/security/warden) "ahH" = (/obj/structure/table,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 0},/obj/machinery/atmospherics/pipe/manifold/supply/hidden,/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/security/warden) "ahI" = (/obj/structure/table,/obj/item/weapon/folder/red,/obj/item/weapon/pen,/obj/item/weapon/hand_labeler,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/security/warden) -"ahJ" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/book/manual/wiki/security_space_law,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/security/warden) +"ahJ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 8},/area/security/prison) "ahK" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/security/warden) "ahL" = (/obj/machinery/light_switch{pixel_y = -23},/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/security/warden) "ahM" = (/obj/structure/grille,/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/window/reinforced/fulltile,/turf/simulated/floor/plating,/area/security/warden) @@ -1931,6 +1931,7 @@ "aLg" = (/obj/machinery/icecream_vat,/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) "aLh" = (/obj/machinery/chem_master/condimaster{name = "CondiMaster Neo"},/obj/machinery/camera{c_tag = "Kitchen Cold Room"},/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) "aLi" = (/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) +"aLj" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/security{aiControlDisabled = 0; icon_state = "door_closed"; id_tag = null; locked = 0; name = "Prisoner Transfer Centre"; req_access = null; req_access_txt = "2"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/transfer) "aLk" = (/obj/machinery/light/small,/turf/simulated/floor/plasteel{icon_state = "hydrofloor"},/area/hydroponics) "aLl" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/plasteel{icon_state = "hydrofloor"},/area/hydroponics) "aLm" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel{icon_state = "hydrofloor"},/area/hydroponics) @@ -2238,7 +2239,7 @@ "aRc" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/fancy/donut_box,/turf/simulated/floor/plasteel,/area/bridge) "aRd" = (/obj/structure/grille,/obj/structure/window/fulltile,/turf/simulated/floor/plating,/area/crew_quarters/bar) "aRe" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor/plasteel{icon_state = "bar"},/area/crew_quarters/bar) -"aRf" = (/obj/machinery/atmospherics/pipe/simple/general/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/prison) +"aRf" = (/obj/machinery/atmospherics/pipe/simple/general/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/transfer) "aRg" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "bar"},/area/crew_quarters/bar) "aRh" = (/obj/structure/stool/bed/chair/comfy/beige{dir = 1; icon_state = "comfychair"},/obj/effect/landmark/start{name = "Assistant"},/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/hallway/secondary/entry) "aRi" = (/obj/structure/stool/bed/chair{dir = 1},/obj/effect/landmark/start{name = "Assistant"},/turf/simulated/floor/plasteel{icon_state = "bar"},/area/crew_quarters/bar) @@ -3002,11 +3003,11 @@ "bfM" = (/obj/structure/table/wood,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/item/device/camera,/obj/item/weapon/storage/photo_album{pixel_y = -10},/turf/simulated/floor/wood,/area/crew_quarters/captain) "bfN" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/plasteel,/area/hallway/primary/central) "bfO" = (/obj/structure/closet/secure_closet/chemical,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/chemistry) -"bfP" = (/obj/machinery/light_switch{pixel_x = 25; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/general/hidden{dir = 9},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/prison) +"bfP" = (/obj/machinery/light_switch{pixel_x = 25; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/general/hidden{dir = 9},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/transfer) "bfQ" = (/obj/machinery/camera{c_tag = "Chemistry"; dir = 2; network = list("SS13")},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/machinery/chem_heater,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/chemistry) "bfR" = (/obj/machinery/chem_dispenser,/turf/simulated/floor/plasteel{dir = 1; icon_state = "whiteyellow"},/area/medical/chemistry) "bfS" = (/obj/machinery/chem_master,/turf/simulated/floor/plasteel{dir = 5; icon_state = "whiteyellow"},/area/medical/chemistry) -"bfT" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/obj/machinery/atmospherics/pipe/simple/general/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/prison) +"bfT" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/obj/machinery/atmospherics/pipe/simple/general/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/transfer) "bfU" = (/obj/structure/closet/l3closet/scientist,/turf/simulated/floor/plasteel{icon_state = "whitehall"; dir = 2},/area/toxins/explab) "bfV" = (/obj/structure/stool/bed/chair,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/medbay) "bfW" = (/obj/structure/stool/bed/chair,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/medbay) @@ -3147,7 +3148,7 @@ "biB" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/wall,/area/medical/chemistry) "biC" = (/obj/structure/table/glass,/obj/machinery/reagentgrinder,/obj/structure/extinguisher_cabinet{pixel_x = -27; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/chemistry) "biD" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/chemistry) -"biE" = (/obj/structure/table,/obj/item/weapon/restraints/handcuffs,/turf/simulated/floor/plasteel{icon_state = "red"; dir = 10},/area/security/prison) +"biE" = (/turf/simulated/floor/plasteel{icon_state = "red"; dir = 10},/area/security/prison) "biF" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/chemistry) "biG" = (/turf/simulated/floor/plasteel{dir = 4; icon_state = "warning"},/area/ai_monitored/security/armory) "biH" = (/obj/machinery/smartfridge/chemistry,/turf/simulated/floor/plating,/area/medical/chemistry) @@ -3495,6 +3496,7 @@ "bpl" = (/obj/machinery/computer/card,/turf/simulated/floor/plasteel{icon_state = "blue"; dir = 10},/area/crew_quarters/heads) "bpm" = (/turf/simulated/floor/fancy/carpet,/area/crew_quarters/heads) "bpn" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/fancy/carpet,/area/crew_quarters/heads) +"bpo" = (/obj/structure/table,/obj/item/weapon/restraints/handcuffs,/turf/simulated/floor/plasteel,/area/security/prison) "bpp" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel,/area/crew_quarters/heads) "bpq" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/apc{dir = 8; name = "Gravity Generator APC"; pixel_x = -25; pixel_y = 1},/obj/structure/table,/obj/item/weapon/paper/gravity_gen{layer = 3},/obj/item/weapon/pen/blue,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -35},/turf/simulated/floor/plasteel,/area/engine/gravity_generator) "bpr" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plasteel,/area/engine/gravity_generator) @@ -3508,6 +3510,7 @@ "bpz" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{id_tag = null; name = "Chemistry Lab"; req_access_txt = "5; 33"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/chemistry) "bpA" = (/obj/structure/grille,/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/window/reinforced/fulltile,/turf/simulated/floor/plating,/area/medical/chemistry) "bpB" = (/obj/structure/table/reinforced,/obj/machinery/door/window/southleft{dir = 1; name = "Chemistry Desk"; req_access_txt = "33"},/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/medical/chemistry) +"bpC" = (/turf/simulated/floor/plasteel,/area/security/prison) "bpD" = (/obj/structure/stool/bed/roller,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/medbay) "bpE" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{tag = "icon-manifold-r-f (WEST)"; dir = 8},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/medbay) "bpF" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/medbay) @@ -4321,6 +4324,7 @@ "bFh" = (/obj/structure/rack,/obj/item/weapon/circuitboard/telecomms/processor,/obj/item/weapon/circuitboard/telecomms/receiver,/obj/item/weapon/circuitboard/telecomms/server,/obj/item/weapon/circuitboard/telecomms/bus,/obj/item/weapon/circuitboard/telecomms/broadcaster,/obj/item/weapon/circuitboard/message_monitor{pixel_y = -5},/turf/simulated/floor/plating,/area/storage/tech) "bFi" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{tag = "icon-manifold-b-f (WEST)"; dir = 8},/turf/simulated/floor/plasteel,/area/hallway/primary/aft) "bFj" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor/plasteel{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft) +"bFk" = (/obj/machinery/door/airlock/glass_security{name = "Morgue"; req_access_txt = "2"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/prison) "bFl" = (/obj/structure/table,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/machinery/requests_console{department = "Janitorial"; departmentType = 1; pixel_y = -29},/obj/item/weapon/reagent_containers/spray/cleaner,/turf/simulated/floor/plasteel,/area/janitor) "bFm" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/obj/machinery/light,/turf/simulated/floor/plasteel,/area/janitor) "bFn" = (/obj/structure/janitorialcart,/turf/simulated/floor/plasteel,/area/janitor) @@ -6503,6 +6507,12 @@ "cvg" = (/obj/machinery/door/airlock/glass{autoclose = 0; frequency = 1449; heat_proof = 1; icon_state = "door_locked"; id_tag = "incinerator_airlock_exterior"; locked = 1; name = "Turbine Exterior Airlock"; req_access_txt = "32"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/engine,/area/maintenance/incinerator) "cvh" = (/obj/machinery/atmospherics/unary/heat_reservoir/heater{dir = 8},/turf/simulated/floor/plating,/area/maintenance/asmaint2) "cvi" = (/obj/machinery/camera{c_tag = "Engineering East"; dir = 8; network = list("SS13"); pixel_x = 0; pixel_y = 0},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{tag = "icon-manifold-r-f (EAST)"; dir = 4},/obj/structure/closet/wardrobe/engineering_yellow,/turf/simulated/floor/plasteel{dir = 4; icon_state = "yellowcorner"},/area/engine/engineering) +"cvj" = (/obj/structure/table,/obj/item/weapon/storage/box/bodybags,/obj/item/weapon/pen,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/prison) +"cvk" = (/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/prison) +"cvl" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/prison) +"cvm" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/maintenance/fsmaint) +"cvn" = (/obj/structure/bodycontainer/morgue,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/prison) +"cvo" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/book/manual/wiki/security_space_law,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/item/weapon/storage/firstaid/regular{pixel_x = -3; pixel_y = -3},/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/security/warden) (1,1,1) = {" aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -6575,21 +6585,21 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaaiaaJaasaasaasaasaaKaasaasaaLaaMaaiaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaaaaafaaaaafaaaaafaaaaafaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaaQaaKaasaasaaRaaSaaKaasaaTaaUaaiaaaaaVaafaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaafaaaaafaaaaafaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaZaasaasaasaaKabaabbaasaasabcabdaaiaaiaaiaafaaaaaaaaaaaaaaaaafaaaaaVaaaaaaaaaaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeabeabeabfabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHaaOaaWaaNaaXabiaasabjaasaasaasaasaasaasaauaasabkablaaiaafaafaafaafaafaafaafaafabmabmabmabnabmabmaboaboabpabpabpaboaboaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaaafaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabgaaYabraaPabsabuaasaasabvabwabxaasabyabzabAaasabBabCaaiaafaaaaafaafaafaafaaaaafabnabDabEaeIabFabGaboabHabIabJabKabLaboaaaaaaaaaaafaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafabMaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaabfabfabeabfabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabgabNabPabOabsabSabTabSabSabSabUabSabSabSabVabSabSabWaaiactactactactactactactactabmabXabEaeIabYabDaboabZacaacbaccacXaboaaaaafacdaagaagaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfabfabfabfabfaafaafaaaaceaaaacfaafabfabfabfabfabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaaafaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabgabQacgabRabsackaasaclabSacmacnacoabSacpacqacrabSacsaaiacMacNacOacOacPacQacRacSactacuabEaeIaecabDabpacwacxacyacbaczaboaaaaafacAacBacAaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaaaaaaafaaaaafaaaaaaaceaaaaaaaafaaaaafaaaaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafacCaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHaciacDacjacEacHaasacIabSacJacnacIabSacKacqacIabSacLaaiacMadkadladladladladmadnactacTabEaeIaecabDabpacUacVacWacbahPaboaafaafacAacYacAaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafacZacZacZacZacZaaaadaaaaacZacZacZacZacZaafabfaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfadbadbadbadbaafaafaaaadcaaaaafaafabfabfabfabfabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafhaaHaaHaaHacFaddacGabsadfadgadhabSadfadiadhabSadfadjadhabSabSaaiafnaRFaNFadVaNFadWbhdbiGactadoabEaeIaecabDaboadpadqadradsadtaboabnabmadvacBacAacAachaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaadwadxadxadxadxadyadzadAadBadBadBadBadCaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaaaaaafaaaaafaaaaaaadcaaaaaaaafaaaaafaaaaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHabhadeadDadGadFadIadHadKadJadMadLadOadNadUadLaepadPadQadRaaiadSadTaNFboSaNFadXadYadZaeaabEabEaebaeTabmaboaedaboaeeaboaefaboaegaehacAaeiacAarqanTanTahtaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafaemaemaemaemaemaaaadzaaaaemaemaemaemaemaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafaenaenaenaenaenaaaaeoaaaaenaenaenaenaenaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHadEaeqaeraeuaetaewaevafiaexavkaifaexaexaexaifaOyaOvaeyaezaaiaeAaeBaeCaeDaeEaeFaeGaeHactahoagSaeJahpabmaeLaeMaeNaeOaePaeQaeNaeRaeSaeVaeUaeVamoamIamJagPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaaaaaaaaafaaaaaaaaaadzaaaaaaaaaaafaaaaaaaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaafaafbafbafbafbafcafdafeaffaffaffaffafgaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaOxaesaOzaRfbfTbfPabSbiEafjafkaflafmbNoafoafpafpafpabSafqafraaiafsaftafuafvafwafxafyafzactacvabnafBafCabmafDafEafFafGafHafIafJafKafLacAafMacAaptanTanTagQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafacZacZacZacZacZaaaadzaaaacZacZacZacZacZaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafafPafPafPafPafPaaaafdaaaafPafPafPafPafPaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHaaHaaHbaMbOybkdaaHaaiadhafQadfafRafRafRafRafRafRafRafSafTafUafVafWafXafYafZagaagbagcafUagdahSageagfaggaghagiafFagjafHagkaglagmabmadvacAacAacAachaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaadwadxadxadxadxadyadzadAadBadBadBadBadCaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaaaaaaaaafaaaaaaaaaafdaaaaaaaaaaafaaaaaaaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaHaaHaaHaaHaaHaaiagnagoagpafRagqagragsagtaguafRagvagwagxagyagzagAagBagaagCagbagDagEagFafFagGagHagIagJagKaeKafAagNagOagLagMagRanUagUacAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafaemaemaemaemaemaaaadzaaaaemaemaemaemaemaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafaenaenaenaenaenaaaafdaaaaenaenaenaenaenaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaiagVagWagXafRagYagZahaahbahcafRagvahdaheahfahgahhahiahjahjahkahlahmahnaqqaPUaPTahqahrahsahTahVahuahvahWahwabmacAahxacAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaaaaaaaaafaaaaaaaaaadzaaaaaaaaaaafaaaaaaaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaafaafbafbafbafbafcafdafeaffaffaffaffafgaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiahyagWaHeafRagYagZahzahbahAafRahBahCahDahEahFahGahHahIahJahKahLahMahNahObzKbzJahRcdlankaiaahUbuJahXbxkahYahZaibaicaidaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafacZacZacZacZacZaaaadzaaaacZacZacZacZacZaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfacfafPafPafPafPafPaaaafdaaaafPafPafPafPafPaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaafaaaaaaaaiaieagWaigafRaihaiiaiiaijahcafRaikailafUaimainaioaipaipaiqairafUafUaisaitaduaduaduabmabmabmabmabmabmabmabmaiuaivaiwaidaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaadwadxadxadxadxadyadzadAadBadBadBadBadCaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaaaaaaaaafaaaaaaaaaafdaaaaaaaaaaafaaaaaaaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaixaixaiyaixaizaiAafRafRafRafRafRafRaiBaiCafRaiDaiEaiFaiFaiFaiFaiFaiFaiFaiFaiGaiHaiIaiJaiFailaiAaiKaiLaiMaiNaiOaiPaiQaiRaiuaivaiwaidaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafaemaemaemaemaemaaaadzaaaaemaemaemaemaemaiSabqaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHaaOaaWaaNaaXaaiaaiabiaasabjaasaasaasaasaasaasaauaasabkablaaiaafaafaafaafaafaafaafaafabmabmabmabnabmabmaboaboabpabpabpaboaboaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaaafaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabgaaYabraaPabOabsaaiabuaasaasabvabwabxaasabyabzabAaasabBabCaaiaafaaaaafaafaafaafaaaaafabnabDabEaeIabFabGaboabHabIabJabKabLaboaaaaaaaaaaafaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafabMaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaabfabfabeabfabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabgabNabPabRabOabsaaiabSabTabSabSabSabUabSabSabSabVabSabSabWaaiactactactactactactactactabmabXabEaeIabYabDaboabZacaacbaccacXaboaaaaafacdaagaagaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfabfabfabfabfaafaafaaaaceaaaacfaafabfabfabfabfabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaaafaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabgabQacgacjabOabsaaiackaasaclabSacmacnacoabSacpacqacrabSacsaaiacMacNadSafnacPacQacRacSactacuabEaeIaecabDabpacwacxacyacbaczaboaaaaafacAacBacAaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaaaaaaafaaaaafaaaaaaaceaaaaaaaafaaaaafaaaaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafacCaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHaciacDacEacGabsaaiacHaasacIabSacJacnacIabSacKacqacIabSacLaaiacMadkadladladladladmadnactacTabEaeIaecabDabpacUacVacWacbahPaboaafaafacAacYacAaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafacZacZacZacZacZaaaadaaaaacZacZacZacZacZaafabfaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfadbadbadbadbaafaafaaaadcaaaaafaafabfabfabfabfabfaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaHaaHaaHacFaddadDabOaaiaaiadfadgadhabSadfadiadhabSadfadjadhabSabSaaiacOaRFaNFadVaNFadWbhdbiGactadoabEaeIaecabDaboadpadqadradsadtaboabnabmadvacBacAacAachaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaadwadxadxadxadxadyadzadAadBadBadBadBadCaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaaaaaafaaaaafaaaaaaadcaaaaaaaafaaaaafaaaaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHabhadeadFadHadGaeradIaeuaetadKadJadMadLadOadNadUadLaepadPadQadRaaiacOadTaNFboSaNFadXadYadZaeaabEabEaebaeTabmaboaedaboaeeaboaefaboaegaehacAaeiacAarqanTanTahtaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafaemaemaemaemaemaaaadzaaaaemaemaemaemaemaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafaenaenaenaenaenaaaaeoaaaaenaenaenaenaenaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHadEaeqaevafhaewaLjahJaexaifafiaexavkaifaexaexaexaifaOyaOvaeyaezaaiaeAaeBaeCaeDaeEaeFaeGaeHactahoagSaeJahpabmaeLaeMaeNaeOaePaeQaeNaeRaeSaeVaeUaeVamoamIamJagPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaaaaaaaaafaaaaaaaaaadzaaaaaaaaaaafaaaaaaaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaafaafbafbafbafbafcafdafeaffaffaffaffafgaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaOxaesaOzaRfbfTbfPaaHbiEbpCbpoafjafkaflafmbNoafoafpafpafpabSafqafraaiafsaftafuafvafwafxafyafzactacvabnafBafCabmafDafEafFafGafHafIafJafKafLacAafMacAaptanTanTagQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafacZacZacZacZacZaaaadzaaaacZacZacZacZacZaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafafPafPafPafPafPaaaafdaaaafPafPafPafPafPaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHaaHaaHbaMbOybkdaaHabSbFkabSadhafQadfafRafRafRafRafRafRafRafSafTafUafVafWafXafYafZagaagbagcafUagdahSageagfaggaghagiafFagjafHagkaglagmabmadvacAacAacAachaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaadwadxadxadxadxadyadzadAadBadBadBadBadCaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaaaaaaaaafaaaaaaaaaafdaaaaaaaaaaafaaaaaaaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHaaHaaHaaHaaHcvjcvkabSagnagoagpafRagqagragsagtaguafRagvagwagxagyagzagAagBagaagCagbagDagEagFafFagGagHagIagJagKaeKafAagNagOagLagMagRanUagUacAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafaemaemaemaemaemaaaadzaaaaemaemaemaemaemaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafaenaenaenaenaenaaaafdaaaaenaenaenaenaenaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaaicvlcvkabSagVagWagXafRagYagZahaahbahcafRagvahdaheahfahgahhahiahjahjahkahlahmahnaqqaPUaPTahqahrahsahTahVahuahvahWahwabmacAcvmacAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaaaaaaaaafaaaaaaaaaadzaaaaaaaaaaafaaaaaaaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaafaafbafbafbafbafcafdafeaffaffaffaffafgaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaicvncvkabSahyagWaHeafRagYagZahzahbahAafRahBahCahDahEahFahGahHahIcvoahKahLahMahNahObzKbzJahRcdlankaiaahUbuJahXbxkahYahZaibaicaidaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafacZacZacZacZacZaaaadzaaaacZacZacZacZacZaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfacfafPafPafPafPafPaaaafdaaaafPafPafPafPafPaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaicvncvkabSaieagWaigafRaihaiiaiiaijahcafRaikailafUaimainaioaipaipaiqairafUafUaisaitaduaduaduabmabmabmabmabmabmabmabmaiuaivaiwaidaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaadwadxadxadxadxadyadzadAadBadBadBadBadCaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaaaaaaaaafaaaaaaaaaafdaaaaaaaaaaafaaaaaaaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaixaizaizaizaizaiAafRafRafRafRafRafRaiBaiCafRaiDaiEaiFaiFaiFaiFaiFaiFaiFaiFaiGaiHaiIaiJaiFailaiAaiKaiLaiMaiNaiOaiPaiQaiRaiuaivaiwaidaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafaemaemaemaemaemaaaadzaaaaemaemaemaemaemaiSabqaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafaenaenaenaenaenaaaafdaaaaenaenaenaenaenaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaixaiTaiUaiVaiWaiXaiYaiZajaajbajcajdajeajfajgajhajiajjajkajjajjajjajjajjajjajlajjajiajmajkajnajoajpajqajrajsajtajuajvajwaiuaivaiwacAaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaaaaaafaaaaafaaaaaaadzaaaaaaaafaaaaafaaaaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaafaafbafbafbafbafcafdafeaffaffaffaffafgaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaelaekaekaekaejaaaaafaizajyajzajAajBajCajDajEajFajGajHajIajJajMajLajIajJajKajLajIajJajQajOajOajOajPahCajNajRajSajTajUajVajWajVajVajVajXajYaiPaiuaivaiwaidaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfabfabfaafaafaafaafaafadzaafaafaafaafaafabfabfabfaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaiSafPafPafPafPafPaaaafdaaaafPafPafPafPafPaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafNakJalqalpafNaiyaiyakdakeakfakgakhaiAafRakiafRafRakjakkaklakmaknakoaklakmaknakpakqakmakraksakmaktakuakmakvakwakxaiAakyakzaiPakAaiPakBakCaiPaiuaivaiwaidaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaaaaafaaaaaaakDaaaaaaaafaaaaaaaafaaaaafaafaafaaaaaaaaaaaaaaaaaaaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa From 70ae3d2134b165cd10f77c159dae061e82d45b01 Mon Sep 17 00:00:00 2001 From: Jordie0608 Date: Thu, 9 Jul 2015 00:52:19 +1000 Subject: [PATCH 14/77] fixes ooc autotoggle and adds loc to sprayer log --- code/controllers/subsystem/ticker.dm | 7 +++--- code/game/verbs/ooc.dm | 23 +++++++++++-------- .../reagents/reagent_containers/spray.dm | 14 +++++------ 3 files changed, 23 insertions(+), 21 deletions(-) diff --git a/code/controllers/subsystem/ticker.dm b/code/controllers/subsystem/ticker.dm index 064f438da46..1d1d7145b2a 100644 --- a/code/controllers/subsystem/ticker.dm +++ b/code/controllers/subsystem/ticker.dm @@ -100,7 +100,7 @@ var/datum/subsystem/ticker/ticker if(!mode.explosion_in_progress && mode.check_finished() || force_ending) current_state = GAME_STATE_FINISHED - auto_toggle_ooc(1) // Turn it on + toggle_ooc(1) // Turn it on declare_completion(force_ending) spawn(50) if(mode.station_was_nuked) @@ -162,7 +162,8 @@ var/datum/subsystem/ticker/ticker mode.announce() current_state = GAME_STATE_PLAYING - auto_toggle_ooc(0) // Turn it off + if(!config.ooc_during_round) + toggle_ooc(0) // Turn it off round_start_time = world.time start_landmarks_list = shuffle(start_landmarks_list) //Shuffle the order of spawn points so they dont always predictably spawn bottom-up and right-to-left @@ -204,8 +205,6 @@ var/datum/subsystem/ticker/ticker for (var/datum/html_interface/hi in html_interfaces) hi.closeAll() - - auto_toggle_ooc(1) // Turn it on //initialise our cinematic screen object cinematic = new /obj/screen{icon='icons/effects/station_explosion.dmi';icon_state="station_intact";layer=20;mouse_opacity=0;screen_loc="1,0";}(src) diff --git a/code/game/verbs/ooc.dm b/code/game/verbs/ooc.dm index 60f4b66da8b..592eda9b691 100644 --- a/code/game/verbs/ooc.dm +++ b/code/game/verbs/ooc.dm @@ -58,16 +58,19 @@ else C << "OOC: [keyname]: [msg]" -/proc/toggle_ooc() - ooc_allowed = !( ooc_allowed ) - if (ooc_allowed) - world << "The OOC channel has been globally enabled!" - else - world << "The OOC channel has been globally disabled!" - -/proc/auto_toggle_ooc(var/on) - if(!config.ooc_during_round && ooc_allowed != on) - toggle_ooc() +/proc/toggle_ooc(var/toggle = null) + if(toggle != null) //if we're specifically en/disabling ooc + world << "toggle has value [toggle]" + world << "ooc_allowed is [ooc_allowed]" + if(toggle != ooc_allowed) + world << "ooc_allowed set to toggle" + ooc_allowed = toggle + else + world << "toggle was the same as ooc_allowed returning" + return + else //otherwise just toggle it + ooc_allowed = !ooc_allowed + world << "The OOC channel has been globally [ooc_allowed ? "enabled" : "disabled"]." var/global/normal_ooc_colour = "#002eb8" diff --git a/code/modules/reagents/reagent_containers/spray.dm b/code/modules/reagents/reagent_containers/spray.dm index 054b8113f2f..1f606a3f885 100644 --- a/code/modules/reagents/reagent_containers/spray.dm +++ b/code/modules/reagents/reagent_containers/spray.dm @@ -47,16 +47,16 @@ playsound(src.loc, 'sound/effects/spray2.ogg', 50, 1, -6) user.changeNext_move(CLICK_CD_RANGE*2) user.newtonian_move(get_dir(A, user)) - + var/turf/T = get_turf(src) if(reagents.has_reagent("sacid")) - message_admins("[key_name_admin(user)] fired sulphuric acid from \a [src].") - log_game("[key_name(user)] fired sulphuric acid from \a [src].") + message_admins("[key_name_admin(user)] fired sulphuric acid from \a [src] at ([get_area(src)] ([T.x], [T.y], [T.z])).") + log_game("[key_name(user)] fired sulphuric acid from \a [src] at [get_area(src)] ([T.x], [T.y], [T.z]).") if(reagents.has_reagent("facid")) - message_admins("[key_name_admin(user)] fired Fluacid from \a [src].") - log_game("[key_name(user)] fired Fluacid from \a [src].") + message_admins("[key_name_admin(user)] fired Fluacid from \a [src] at ([get_area(src)] ([T.x], [T.y], [T.z])).") + log_game("[key_name(user)] fired Fluacid from \a [src] at [get_area(src)] ([T.x], [T.y], [T.z]).") if(reagents.has_reagent("lube")) - message_admins("[key_name_admin(user)] fired Space lube from \a [src].") - log_game("[key_name(user)] fired Space lube from \a [src].") + message_admins("[key_name_admin(user)] fired Space lube from \a [src] at ([get_area(src)] ([T.x], [T.y], [T.z])).") + log_game("[key_name(user)] fired Space lube from \a [src] at [get_area(src)] ([T.x], [T.y], [T.z]).") return From cec7bb98371fc665775d5ef542b245462f568f76 Mon Sep 17 00:00:00 2001 From: Jordie0608 Date: Thu, 9 Jul 2015 00:56:06 +1000 Subject: [PATCH 15/77] removes debug messages --- code/game/verbs/ooc.dm | 4 ---- 1 file changed, 4 deletions(-) diff --git a/code/game/verbs/ooc.dm b/code/game/verbs/ooc.dm index 592eda9b691..d0f2ca01bc9 100644 --- a/code/game/verbs/ooc.dm +++ b/code/game/verbs/ooc.dm @@ -60,13 +60,9 @@ /proc/toggle_ooc(var/toggle = null) if(toggle != null) //if we're specifically en/disabling ooc - world << "toggle has value [toggle]" - world << "ooc_allowed is [ooc_allowed]" if(toggle != ooc_allowed) - world << "ooc_allowed set to toggle" ooc_allowed = toggle else - world << "toggle was the same as ooc_allowed returning" return else //otherwise just toggle it ooc_allowed = !ooc_allowed From 515fb80758f78b9b05e8ab165fb9e1cb2e7bc283 Mon Sep 17 00:00:00 2001 From: Jim Boonie Date: Thu, 9 Jul 2015 03:25:31 +1200 Subject: [PATCH 16/77] Fixes some other things I can't remember what I fixed right now. I'm imbibing, rev up the lawsuit. Eric once said Bloodline was a pretty good show, but I've yet to watch it. So nevermind. Fuck the opening theme of True Detective's second season is catchy though. Goddamn. Leonard. --- code/game/objects/items.dm | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index d134a4cd87a..263d667f01a 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -375,6 +375,8 @@ var/global/image/fire_overlay = image("icon" = 'icons/effects/fire.dmi', "icon_s src.add_fingerprint(user) + playsound(loc, src.hitsound, 30, 1, -1) + if(M != user) M.visible_message("[user] has stabbed [M] in the eye with [src]!", \ "[user] stabs you in the eye with [src]!") @@ -393,19 +395,19 @@ var/global/image/fire_overlay = image("icon" = 'icons/effects/fire.dmi', "icon_s M.take_organ_damage(7) M.eye_blurry += rand(2,3) //adds 2 or 3 blurriness with each eyestab - M.eye_stat += rand(1,2) //between 10 or 5 eyestabs are necessary to become nearsighted + M.eye_stat += rand(1,2) //between 5 and 10 eyestabs are necessary to become nearsighted if (M.eye_stat >= 10) - M.eye_blurry += 5+(0.1*M.eye_blurry)//once nearsighted, each stab adds more blurriness based on current blurriness - if(M.disabilities != NEARSIGHT) + M.eye_blurry += 5+(0.1*M.eye_blurry) //once nearsighted, extra blurriness is added per stab based on current blurrinesss + if (!M.disabilities & (NEARSIGHT | BLIND)) M.disabilities |= NEARSIGHT - M << "Your eyes start to bleed profusely!"//hints the victim has become nearsighted - if(prob(25))//25% chance of being stunned with an extra 5 blur added to vision - if(!(M.stat)) //we don't stun if already stunned to discourage chainstunning + M << "You become nearsighted!" + if(prob(20)) //20% chance of being stunned and an extra 5 blurryness added + if(!(M.stat)) //we don't stun if already stunned to limit chainstunning M.Paralyse(1) M.Weaken(2) - M << "You collapse in pain!" M.eye_blurry += 5 - if (prob(M.eye_stat - 5 + 1)) //For a 10% chance to go blind, maximum 14 stabs, minimum 7. Increases with each stab. + + if (prob(M.eye_stat - 5 + 1) && !(M.disabilities & BLIND)) //Minimum 7 stabs for a 10% chance to go blind, maximum 14 stabs. Chance increases with each stab. if(M.stat != 2) M << "You go blind!" M.disabilities |= BLIND From 75d6b113813fd4343c7ba5590563b70c8f5caa8d Mon Sep 17 00:00:00 2001 From: phil235 Date: Wed, 8 Jul 2015 18:43:47 +0200 Subject: [PATCH 17/77] Fixes a typo in the traitor bundle's description. --- code/datums/uplink_item.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/datums/uplink_item.dm b/code/datums/uplink_item.dm index b838dc96a32..311a445e1b7 100644 --- a/code/datums/uplink_item.dm +++ b/code/datums/uplink_item.dm @@ -735,7 +735,7 @@ var/list/uplink_items = list() /datum/uplink_item/badass/bundle name = "Syndicate Bundle" - desc = "Syndicate Bundles are specialised groups of items that arrive in a plain box. These items are collectively worth more than 10 telecrystals, but you do not know which specialisation you will receive." + desc = "Syndicate Bundles are specialised groups of items that arrive in a plain box. These items are collectively worth more than 20 telecrystals, but you do not know which specialisation you will receive." item = /obj/item/weapon/storage/box/syndicate cost = 20 excludefrom = list(/datum/game_mode/nuclear,/datum/game_mode/gang) From fdc75e0725fe7b273d18f8e34e87fb0b08851bfb Mon Sep 17 00:00:00 2001 From: Owen Jacobson Date: Wed, 8 Jul 2015 14:09:02 -0400 Subject: [PATCH 18/77] Reverse nerfs, retain bugfixes. --- code/game/objects/items.dm | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index 263d667f01a..0b4e66da895 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -394,20 +394,23 @@ var/global/image/fire_overlay = image("icon" = 'icons/effects/fire.dmi', "icon_s else M.take_organ_damage(7) - M.eye_blurry += rand(2,3) //adds 2 or 3 blurriness with each eyestab - M.eye_stat += rand(1,2) //between 5 and 10 eyestabs are necessary to become nearsighted + M.eye_blurry += rand(3,4) + M.eye_stat += rand(2,4) if (M.eye_stat >= 10) - M.eye_blurry += 5+(0.1*M.eye_blurry) //once nearsighted, extra blurriness is added per stab based on current blurrinesss - if (!M.disabilities & (NEARSIGHT | BLIND)) + M.eye_blurry += 15+(0.1*M.eye_blurry) + if(M.stat != 2) + M << "Your eyes start to bleed profusely!" + if (!(M.disabilities & (NEARSIGHT | BLIND))) M.disabilities |= NEARSIGHT M << "You become nearsighted!" - if(prob(20)) //20% chance of being stunned and an extra 5 blurryness added - if(!(M.stat)) //we don't stun if already stunned to limit chainstunning - M.Paralyse(1) - M.Weaken(2) - M.eye_blurry += 5 - - if (prob(M.eye_stat - 5 + 1) && !(M.disabilities & BLIND)) //Minimum 7 stabs for a 10% chance to go blind, maximum 14 stabs. Chance increases with each stab. + if(prob(50)) + if(M.stat != 2) + if(M.drop_item()) + M << "You drop what you're holding and clutch at your eyes!" + M.eye_blurry += 10 + M.Paralyse(1) + M.Weaken(2) + if (prob(M.eye_stat - 10 + 1) && !(M.disabilities & BLIND)) if(M.stat != 2) M << "You go blind!" M.disabilities |= BLIND From 70ff3008126d316ce5e800d84064d91a8835d676 Mon Sep 17 00:00:00 2001 From: Chiefwaffles Date: Wed, 8 Jul 2015 15:18:05 -0700 Subject: [PATCH 19/77] Changed w_class of the base power cell from 3.0 to 2.0 --- code/modules/power/cell.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/power/cell.dm b/code/modules/power/cell.dm index 5f2b72bd833..9e06a10b769 100644 --- a/code/modules/power/cell.dm +++ b/code/modules/power/cell.dm @@ -9,7 +9,7 @@ throwforce = 5.0 throw_speed = 2 throw_range = 5 - w_class = 3.0 + w_class = 2.0 //is that a power cell in your pocket, or are you happy to see me? var/charge = 0 // note %age conveted to actual charge in New var/maxcharge = 1000 materials = list(MAT_METAL=700, MAT_GLASS=50) From 7d0e61540caedf76323339a5973fb0404056e54a Mon Sep 17 00:00:00 2001 From: Ikarrus Date: Wed, 8 Jul 2015 16:35:11 -0600 Subject: [PATCH 20/77] Gang Mode Update - Fixes round-end message always declaring both gangs lost - 3gang is now twice as likely to appear - Purchased spray cans will always be the gang's color --- code/datums/mind.dm | 4 ++-- code/game/gamemodes/gang/gang.dm | 24 ++++++++++-------------- code/game/objects/items/crayons.dm | 6 ++++++ 3 files changed, 18 insertions(+), 16 deletions(-) diff --git a/code/datums/mind.dm b/code/datums/mind.dm index 24f3c9079ff..4871b068ad3 100644 --- a/code/datums/mind.dm +++ b/code/datums/mind.dm @@ -831,7 +831,7 @@ log_admin("[key_name(usr)] has de-gang'ed [current].") if("equip") - switch(ticker.mode.equip_gang(current)) + switch(ticker.mode.equip_gang(current,gang_datum)) if(1) usr << "Unable to equip territory spraycan!" if(2) @@ -1392,7 +1392,7 @@ G.add_gang_hud(src) ticker.mode.forge_gang_objectives(src) ticker.mode.greet_gang(src) - ticker.mode.equip_gang(current) + ticker.mode.equip_gang(current,G) /datum/mind/proc/make_Abductor() var/role = alert("Abductor Role ?","Role","Agent","Scientist") diff --git a/code/game/gamemodes/gang/gang.dm b/code/game/gamemodes/gang/gang.dm index 92695150958..2b08fefd37f 100644 --- a/code/game/gamemodes/gang/gang.dm +++ b/code/game/gamemodes/gang/gang.dm @@ -39,7 +39,7 @@ var/list/gang_colors_pool = list("red","orange","yellow","green","blue","purple" //Spawn more bosses depending on server population var/gangs_to_create = 2 - if(prob(num_players())) + if(prob(num_players() * 2)) gangs_to_create ++ for(var/i=1 to gangs_to_create) @@ -72,7 +72,7 @@ var/list/gang_colors_pool = list("red","orange","yellow","green","blue","purple" G.add_gang_hud(boss_mind) forge_gang_objectives(boss_mind) greet_gang(boss_mind) - equip_gang(boss_mind.current) + equip_gang(boss_mind.current,G) modePlayer += boss_mind ..() @@ -94,7 +94,7 @@ var/list/gang_colors_pool = list("red","orange","yellow","green","blue","purple" /////////////////////////////////////////////////////////////////////////// //This equips the bosses with their gear, and makes the clown not clumsy// /////////////////////////////////////////////////////////////////////////// -/datum/game_mode/proc/equip_gang(mob/living/carbon/human/mob) +/datum/game_mode/proc/equip_gang(mob/living/carbon/human/mob, gang) if(!istype(mob)) return @@ -105,9 +105,7 @@ var/list/gang_colors_pool = list("red","orange","yellow","green","blue","purple" var/obj/item/device/gangtool/gangtool = new(mob) var/obj/item/weapon/pen/gang/T = new(mob) - var/obj/item/toy/crayon/spraycan/gang/SC = new(mob) - SC.colour = mob.mind.gang_datum.color_hex - SC.update_icon() + var/obj/item/toy/crayon/spraycan/gang/SC = new(mob,gang) var/list/slots = list ( "backpack" = slot_in_backpack, @@ -237,15 +235,13 @@ var/list/gang_colors_pool = list("red","orange","yellow","green","blue","purple" ////////////////////////////////////////////////////////////////////// //Announces the end of the game with all relavent information stated// ////////////////////////////////////////////////////////////////////// -/datum/game_mode/gang/declare_completion(datum/gang/winner) - if(!winner) - world << "The station was [station_was_nuked ? "destroyed!" : "evacuated before a gang could claim it! The station wins!"]" - else - world << "The [winner.name] Gang successfully performed a hostile takeover of the station!" - ..() - return 1 /datum/game_mode/proc/auto_declare_completion_gang(datum/gang/winner) + if(!winner) + world << "The station was [station_was_nuked ? "destroyed!" : "evacuated before a gang could claim it! The station wins!"]
" + else + world << "The [winner.name] Gang successfully performed a hostile takeover of the station!
" + ..() for(var/datum/gang/G in gangs) world << "
The [G.name] Gang was [winner==G ? "victorious" : "defeated"] with [round((G.territory.len/start_state.num_territories)*100, 1)]% control of the station!" world << "
The [G.name] Gang Bosses were:" @@ -309,4 +305,4 @@ var/list/gang_colors_pool = list("red","orange","yellow","green","blue","purple" G.domination(0.5) priority_announce("Multiple station takeover attempts have made simultaneously. Conflicting takeover attempts appears to have restarted.","Network Alert") else - ticker.force_ending = winners[1] + ticker.force_ending = pick(winners) diff --git a/code/game/objects/items/crayons.dm b/code/game/objects/items/crayons.dm index a77d77e6b5c..4acf4157c75 100644 --- a/code/game/objects/items/crayons.dm +++ b/code/game/objects/items/crayons.dm @@ -197,3 +197,9 @@ gang = 1 uses = 20 instant = -1 + +/obj/item/toy/crayon/spraycan/gang/New(loc, datum/gang/G) + ..() + if(G) + colour = G.color_hex + update_icon() \ No newline at end of file From e15a207f5fcfb130068c71e33f935d27edcaea9d Mon Sep 17 00:00:00 2001 From: Ikarrus Date: Wed, 8 Jul 2015 17:33:03 -0600 Subject: [PATCH 21/77] Tunnel and Cyber Gang tags by Joan --- icons/effects/crayondecal.dmi | Bin 24210 -> 24295 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/effects/crayondecal.dmi b/icons/effects/crayondecal.dmi index a7c84b45ba7ec14157b753fbd6ece459c24c2d55..cf86819044381a5811fb60f2eb834f97ed9e1122 100644 GIT binary patch literal 24295 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 literal 24210 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 From 1639e46067dcf3d8566b078d445e88a78cbcc21d Mon Sep 17 00:00:00 2001 From: Chiefwaffles Date: Wed, 8 Jul 2015 20:08:46 -0700 Subject: [PATCH 22/77] Update cell.dm --- code/modules/power/cell.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/power/cell.dm b/code/modules/power/cell.dm index 9e06a10b769..83df8f18103 100644 --- a/code/modules/power/cell.dm +++ b/code/modules/power/cell.dm @@ -9,7 +9,7 @@ throwforce = 5.0 throw_speed = 2 throw_range = 5 - w_class = 2.0 //is that a power cell in your pocket, or are you happy to see me? + w_class = 2.0 var/charge = 0 // note %age conveted to actual charge in New var/maxcharge = 1000 materials = list(MAT_METAL=700, MAT_GLASS=50) @@ -276,4 +276,4 @@ return /obj/item/weapon/stock_parts/cell/emproof/corrupt() - return \ No newline at end of file + return From 20361faf02454e939ce76b2312f8da70ef3719a2 Mon Sep 17 00:00:00 2001 From: Ikarrus Date: Wed, 8 Jul 2015 21:12:44 -0600 Subject: [PATCH 23/77] Makes augmentations more difficult to maintain Medical has had several overhauls, but none of them touched augmentations, so they became almost a no-contest better alternative than regular limbs in virtually every aspect. - Repairing yourself is no longer instant, and will take longer than healing than biological medical items. - EMP damage increased from basically nothing to actually dangerous --- code/game/objects/items/weapons/tools.dm | 5 ++- .../mob/living/carbon/human/human_defense.dm | 4 +-- code/modules/power/cable.dm | 4 ++- html/changelogs/ikarrus-maint.yml | 36 +++++++++++++++++++ 4 files changed, 45 insertions(+), 4 deletions(-) create mode 100644 html/changelogs/ikarrus-maint.yml diff --git a/code/game/objects/items/weapons/tools.dm b/code/game/objects/items/weapons/tools.dm index 27d36934ae6..97393ea3121 100644 --- a/code/game/objects/items/weapons/tools.dm +++ b/code/game/objects/items/weapons/tools.dm @@ -210,7 +210,10 @@ if(affecting.status == ORGAN_ROBOTIC && user.a_intent != "harm") if(src.remove_fuel(0)) - item_heal_robotic(H, user, 30, 0) + playsound(loc, 'sound/items/Welder.ogg', 50, 1) + user.visible_message("[user] starts to fix some of the dents on [H]'s [affecting.getDisplayName()].", "You start fixing some of the dents on [H]'s [affecting.getDisplayName()].") + if(!do_mob(user, H)) return + item_heal_robotic(H, user, 10, 0) return else return diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index 7feb6af38b3..c8bb541e635 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -228,10 +228,10 @@ emp_act informed = 1 switch(severity) if(1) - L.take_damage(0,10) + L.take_damage(0,30) src.Stun(10) if(2) - L.take_damage(0,5) + L.take_damage(0,10) src.Stun(5) ..() diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm index b98482bb11e..01f389b9586 100644 --- a/code/modules/power/cable.dm +++ b/code/modules/power/cable.dm @@ -514,7 +514,9 @@ var/global/list/datum/stack_recipe/cable_coil_recipes = list ( \ var/obj/item/organ/limb/affecting = H.get_organ(check_zone(user.zone_sel.selecting)) if(affecting.status == ORGAN_ROBOTIC) - item_heal_robotic(H, user, 0, 30) + user.visible_message("[user] starts to fix some of the wires in [H]'s [affecting.getDisplayName()].", "You start fixing some of the wires in [H]'s [affecting.getDisplayName()].") + if(!do_mob(user, H)) return + item_heal_robotic(H, user, 0, 10) src.use(1) return else diff --git a/html/changelogs/ikarrus-maint.yml b/html/changelogs/ikarrus-maint.yml new file mode 100644 index 00000000000..b31a677757e --- /dev/null +++ b/html/changelogs/ikarrus-maint.yml @@ -0,0 +1,36 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# wip (For works in progress) +# tweak +# soundadd +# sounddel +# rscadd (general adding of nice things) +# rscdel (general deleting of nice things) +# imageadd +# imagedel +# spellcheck (typo fixes) +# experiment +# tgs (TG-ported fixes?) +################################# + +# Your name. +author: N3X15 + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, this gets changed to [] after reading. Just remove the brackets when you add new shit. +# Please surround your changes in double quotes ("). It works without them, but if you use certain characters it screws up compiling. The quotes will not show up in the changelog. +changes: + - tweak: "Robotic augmentations have been made a bit more difficult to maintain." \ No newline at end of file From b7df175981cfcbc364e044af8f787c287759b5f2 Mon Sep 17 00:00:00 2001 From: Ikarrus Date: Wed, 8 Jul 2015 21:17:34 -0600 Subject: [PATCH 24/77] Update --- code/game/objects/items/weapons/tools.dm | 8 ++++---- code/modules/power/cable.dm | 6 +++--- html/changelogs/ikarrus-maint.yml | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/code/game/objects/items/weapons/tools.dm b/code/game/objects/items/weapons/tools.dm index 97393ea3121..213faa834c0 100644 --- a/code/game/objects/items/weapons/tools.dm +++ b/code/game/objects/items/weapons/tools.dm @@ -209,11 +209,11 @@ var/obj/item/organ/limb/affecting = H.get_organ(check_zone(user.zone_sel.selecting)) if(affecting.status == ORGAN_ROBOTIC && user.a_intent != "harm") - if(src.remove_fuel(0)) + if(src.remove_fuel(1)) playsound(loc, 'sound/items/Welder.ogg', 50, 1) - user.visible_message("[user] starts to fix some of the dents on [H]'s [affecting.getDisplayName()].", "You start fixing some of the dents on [H]'s [affecting.getDisplayName()].") - if(!do_mob(user, H)) return - item_heal_robotic(H, user, 10, 0) + user.visible_message("[user] starts to fix some of the dents on [H]'s [affecting.getDisplayName()].", "You start fixing some of the dents on [H]'s [affecting.getDisplayName()].") + if(!do_mob(user, H, 50)) return + item_heal_robotic(H, user, 5, 0) return else return diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm index 01f389b9586..8b2e9f5ae2e 100644 --- a/code/modules/power/cable.dm +++ b/code/modules/power/cable.dm @@ -514,9 +514,9 @@ var/global/list/datum/stack_recipe/cable_coil_recipes = list ( \ var/obj/item/organ/limb/affecting = H.get_organ(check_zone(user.zone_sel.selecting)) if(affecting.status == ORGAN_ROBOTIC) - user.visible_message("[user] starts to fix some of the wires in [H]'s [affecting.getDisplayName()].", "You start fixing some of the wires in [H]'s [affecting.getDisplayName()].") - if(!do_mob(user, H)) return - item_heal_robotic(H, user, 0, 10) + user.visible_message("[user] starts to fix some of the wires in [H]'s [affecting.getDisplayName()].", "You start fixing some of the wires in [H]'s [affecting.getDisplayName()].") + if(!do_mob(user, H, 50)) return + item_heal_robotic(H, user, 0, 5) src.use(1) return else diff --git a/html/changelogs/ikarrus-maint.yml b/html/changelogs/ikarrus-maint.yml index b31a677757e..511a39906bc 100644 --- a/html/changelogs/ikarrus-maint.yml +++ b/html/changelogs/ikarrus-maint.yml @@ -22,7 +22,7 @@ ################################# # Your name. -author: N3X15 +author: Ikarrus # Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. delete-after: True From 97df088a204c6703421ea75984d7bb50d4c9eeea Mon Sep 17 00:00:00 2001 From: Iamgoofball Date: Wed, 8 Jul 2015 22:08:38 -0700 Subject: [PATCH 25/77] Adds a salt shaker to permabrig. --- _maps/map_files/TgStation/tgstation.2.1.3.dmm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_maps/map_files/TgStation/tgstation.2.1.3.dmm b/_maps/map_files/TgStation/tgstation.2.1.3.dmm index d99afed1fb9..b977eef89f9 100644 --- a/_maps/map_files/TgStation/tgstation.2.1.3.dmm +++ b/_maps/map_files/TgStation/tgstation.2.1.3.dmm @@ -42,7 +42,7 @@ "aaP" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel{tag = "icon-warndark (NORTHEAST)"; icon_state = "warndark"; dir = 5},/area/security/transfer) "aaQ" = (/obj/machinery/computer/libraryconsole/bookmanagement{pixel_y = 0},/obj/structure/table,/obj/machinery/newscaster{pixel_x = -32; pixel_y = 0},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/prison) "aaR" = (/obj/structure/table,/obj/item/weapon/storage/pill_bottle/dice,/turf/simulated/floor/plasteel,/area/security/prison) -"aaS" = (/obj/structure/table,/obj/item/weapon/pen,/turf/simulated/floor/plasteel,/area/security/prison) +"aaS" = (/obj/structure/table,/obj/item/weapon/pen,/obj/item/weapon/reagent_containers/food/condiment/saltshaker{desc = "Collected from all the previous occupants of this brig. Tastes amazing."; name = "dried prisoner tears shaker"},/turf/simulated/floor/plasteel,/area/security/prison) "aaT" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel{icon_state = "barber"},/area/security/prison) "aaU" = (/obj/structure/table,/obj/structure/bedsheetbin,/turf/simulated/floor/plasteel{icon_state = "barber"},/area/security/prison) "aaV" = (/obj/structure/lattice,/obj/structure/sign/securearea{pixel_y = -32},/turf/space,/area/space) From 625410748dbbca05f7a30bd8c16ea88d9696e592 Mon Sep 17 00:00:00 2001 From: palpatine213 Date: Thu, 9 Jul 2015 01:54:51 -0700 Subject: [PATCH 26/77] Adds an examine message to braindead Ais --- code/modules/mob/living/silicon/ai/examine.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/modules/mob/living/silicon/ai/examine.dm b/code/modules/mob/living/silicon/ai/examine.dm index 033a5bcd970..64863157b39 100644 --- a/code/modules/mob/living/silicon/ai/examine.dm +++ b/code/modules/mob/living/silicon/ai/examine.dm @@ -18,6 +18,8 @@ if (src.stat == UNCONSCIOUS) msg += "It is non-responsive and displaying the text: \"RUNTIME: Sensory Overload, stack 26/3\".\n" msg += "" + if (!src.client) + msg += "[src]Core.exe has stopped responding! NTOS is searching for a solution to the problem...\n" msg += "*---------*" user << msg \ No newline at end of file From 4086ee683dca2acdb1fcd0102aee1e3f5c07697c Mon Sep 17 00:00:00 2001 From: Ikarrus Date: Thu, 9 Jul 2015 07:28:05 -0600 Subject: [PATCH 27/77] Revert EMP damage --- code/modules/mob/living/carbon/human/human_defense.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index c8bb541e635..7feb6af38b3 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -228,10 +228,10 @@ emp_act informed = 1 switch(severity) if(1) - L.take_damage(0,30) + L.take_damage(0,10) src.Stun(10) if(2) - L.take_damage(0,10) + L.take_damage(0,5) src.Stun(5) ..() From 3f2c235f9d951194dd3a6aede2aee34bcf2095d1 Mon Sep 17 00:00:00 2001 From: Steelpoint Date: Thu, 9 Jul 2015 23:52:57 +0800 Subject: [PATCH 28/77] MergeConflict --- _maps/map_files/TgStation/tgstation.2.1.3.dmm | 83 ++++++++++--------- 1 file changed, 46 insertions(+), 37 deletions(-) diff --git a/_maps/map_files/TgStation/tgstation.2.1.3.dmm b/_maps/map_files/TgStation/tgstation.2.1.3.dmm index d99afed1fb9..94327e067d8 100644 --- a/_maps/map_files/TgStation/tgstation.2.1.3.dmm +++ b/_maps/map_files/TgStation/tgstation.2.1.3.dmm @@ -47,7 +47,7 @@ "aaU" = (/obj/structure/table,/obj/structure/bedsheetbin,/turf/simulated/floor/plasteel{icon_state = "barber"},/area/security/prison) "aaV" = (/obj/structure/lattice,/obj/structure/sign/securearea{pixel_y = -32},/turf/space,/area/space) "aaW" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/wall,/area/security/transfer) -"aaX" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/wall/r_wall,/area/security/prison) +"aaX" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/wall/r_wall,/area/security/transfer) "aaY" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel{tag = "icon-warndark (NORTHWEST)"; icon_state = "warndark"; dir = 9},/area/security/transfer) "aaZ" = (/obj/machinery/computer/arcade,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/prison) "aba" = (/obj/structure/table,/obj/item/toy/cards/deck,/turf/simulated/floor/plasteel,/area/security/prison) @@ -68,7 +68,7 @@ "abp" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/turf/simulated/floor/plating,/area/security/hos) "abq" = (/obj/structure/grille{density = 0; icon_state = "brokengrille"},/obj/structure/lattice,/turf/space,/area/space) "abr" = (/obj/machinery/light/small{dir = 1},/obj/machinery/flasher{id = "executionflash"; pixel_x = 0; pixel_y = 25},/turf/simulated/floor/plasteel{tag = "icon-warndark (NORTH)"; icon_state = "warndark"; dir = 1},/area/security/transfer) -"abs" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/wall/r_wall,/area/security/prison) +"abs" = (/obj/structure/lattice,/turf/space,/area/security/prison) "abt" = (/turf/simulated/wall,/area/space) "abu" = (/obj/machinery/vending/cola,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/prison) "abv" = (/obj/machinery/light,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/prison) @@ -90,10 +90,10 @@ "abL" = (/obj/machinery/alarm{pixel_y = 23},/obj/structure/reagent_dispensers/peppertank{pixel_x = 30; pixel_y = 0},/obj/structure/table/wood,/obj/item/weapon/reagent_containers/food/drinks/bottle/vodka/badminka,/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/shotglass,/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/shotglass,/turf/simulated/floor/carpet,/area/security/hos) "abM" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/tracker,/turf/simulated/floor/plasteel/airless{icon_state = "solarpanel"},/area/solar/auxstarboard) "abN" = (/turf/simulated/floor/plasteel{tag = "icon-warndark (WEST)"; icon_state = "warndark"; dir = 8},/area/security/transfer) -"abO" = (/obj/machinery/sparker{dir = 2; id = "executionburn"; pixel_x = 25},/turf/simulated/floor/plasteel{tag = "icon-warndark (EAST)"; icon_state = "warndark"; dir = 4},/area/security/prison) +"abO" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/wall/r_wall,/area/security/transfer) "abP" = (/obj/structure/stool/bed,/obj/effect/landmark{name = "revenantspawn"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/transfer) "abQ" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor/plasteel{tag = "icon-warndark (SOUTHWEST)"; icon_state = "warndark"; dir = 10},/area/security/transfer) -"abR" = (/obj/machinery/atmospherics/unary/outlet_injector,/turf/simulated/floor/plasteel{tag = "icon-warndark (SOUTHEAST)"; icon_state = "warndark"; dir = 6},/area/security/prison) +"abR" = (/obj/machinery/sparker{dir = 2; id = "executionburn"; pixel_x = 25},/turf/simulated/floor/plasteel{tag = "icon-warndark (EAST)"; icon_state = "warndark"; dir = 4},/area/security/transfer) "abS" = (/turf/simulated/wall,/area/security/prison) "abT" = (/obj/machinery/door/poddoor/preopen{id = "permacell3"; name = "cell blast door"},/obj/machinery/door/airlock/glass{id_tag = "permabolt3"; name = "Cell 3"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/prison) "abU" = (/obj/machinery/door/poddoor/preopen{id = "permacell2"; name = "cell blast door"},/obj/machinery/door/airlock/glass{id_tag = "permabolt2"; name = "Cell 2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/prison) @@ -111,7 +111,7 @@ "acg" = (/turf/simulated/floor/plasteel{tag = "icon-warndark"; icon_state = "warndark"; dir = 2},/area/security/transfer) "ach" = (/turf/simulated/wall/r_wall,/area/space) "aci" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/door/poddoor/preopen{id = "executionfireblast"; layer = 2.9; name = "blast door"},/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/security/transfer) -"acj" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/machinery/door/poddoor/preopen{id = "executionfireblast"; layer = 2.9; name = "blast door"},/obj/machinery/atmospherics/pipe/simple/general/hidden,/obj/machinery/door/firedoor,/obj/machinery/door/window/brigdoor{base_state = "rightsecure"; dir = 2; icon_state = "rightsecure"; name = "Transfer Room"; req_access_txt = "2"},/obj/machinery/door/window/brigdoor{base_state = "rightsecure"; dir = 1; icon_state = "rightsecure"; name = "Transfer Room"; req_access_txt = "2"},/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 8},/area/security/prison) +"acj" = (/obj/machinery/atmospherics/unary/outlet_injector,/turf/simulated/floor/plasteel{tag = "icon-warndark (SOUTHEAST)"; icon_state = "warndark"; dir = 6},/area/security/transfer) "ack" = (/obj/structure/stool/bed,/obj/machinery/camera{c_tag = "Prison Cell 3"; network = list("SS13","Prison")},/obj/item/device/radio/intercom{desc = "Talk through this. It looks like it has been modified to not broadcast."; dir = 2; name = "Prison Intercom (General)"; pixel_x = 0; pixel_y = 24; prison_radio = 1},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/prison) "acl" = (/obj/structure/stool,/obj/machinery/light/small{dir = 1},/obj/machinery/door_control{id = "permabolt3"; name = "Cell Bolt Control"; normaldoorcontrol = 1; pixel_x = 0; pixel_y = 25; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/prison) "acm" = (/obj/structure/stool/bed,/obj/machinery/camera{c_tag = "Prison Cell 2"; network = list("SS13","Prison")},/obj/item/device/radio/intercom{desc = "Talk through this. It looks like it has been modified to not broadcast."; dir = 2; name = "Prison Intercom (General)"; pixel_x = 0; pixel_y = 24; prison_radio = 1},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/prison) @@ -132,9 +132,9 @@ "acB" = (/obj/machinery/door/airlock/external{name = "Security External Airlock"; req_access_txt = "63; 13"},/turf/simulated/floor/plating,/area/maintenance/fsmaint) "acC" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/tracker,/turf/simulated/floor/plasteel/airless{icon_state = "solarpanel"},/area/solar/auxport) "acD" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/obj/machinery/door/poddoor/preopen{id = "executionfireblast"; layer = 2.9; name = "blast door"},/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/security/transfer) -"acE" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{tag = "icon-manifold-r-f (EAST)"; dir = 4},/turf/simulated/wall/r_wall,/area/security/prison) +"acE" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/machinery/door/poddoor/preopen{id = "executionfireblast"; layer = 2.9; name = "blast door"},/obj/machinery/atmospherics/pipe/simple/general/hidden,/obj/machinery/door/firedoor,/obj/machinery/door/window/brigdoor{base_state = "rightsecure"; dir = 2; icon_state = "rightsecure"; name = "Transfer Room"; req_access_txt = "2"},/obj/machinery/door/window/brigdoor{base_state = "rightsecure"; dir = 1; icon_state = "rightsecure"; name = "Transfer Room"; req_access_txt = "2"},/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 8},/area/security/transfer) "acF" = (/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/item/weapon/scalpel{pixel_y = 12},/obj/item/weapon/circular_saw,/obj/item/weapon/hemostat,/obj/item/weapon/retractor,/obj/item/weapon/surgical_drapes,/obj/item/weapon/razor,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/transfer) -"acG" = (/obj/machinery/flasher_button{id = "executionflash"; pixel_x = 24; pixel_y = 5},/obj/machinery/door_control{id = "executionspaceblast"; name = "Vent to Space"; pixel_x = 25; pixel_y = -5; req_access_txt = "7"},/obj/machinery/atmospherics/pipe/simple/general/hidden,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/prison) +"acG" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{tag = "icon-manifold-r-f (EAST)"; dir = 4},/turf/simulated/wall/r_wall,/area/security/transfer) "acH" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/obj/machinery/flasher{id = "PCell 3"; pixel_x = -28},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/prison) "acI" = (/obj/structure/table,/obj/item/weapon/paper,/obj/item/weapon/pen,/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/prison) "acJ" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/obj/machinery/flasher{id = "PCell 2"; pixel_x = -28},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/prison) @@ -183,12 +183,12 @@ "adA" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/lattice/catwalk,/turf/space,/area/solar/auxstarboard) "adB" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/lattice/catwalk,/turf/space,/area/solar/auxstarboard) "adC" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/lattice/catwalk,/turf/space,/area/solar/auxstarboard) -"adD" = (/obj/structure/table,/obj/item/device/flashlight/lamp,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/prison) +"adD" = (/obj/machinery/flasher_button{id = "executionflash"; pixel_x = 24; pixel_y = 5},/obj/machinery/door_control{id = "executionspaceblast"; name = "Vent to Space"; pixel_x = 25; pixel_y = -5; req_access_txt = "7"},/obj/machinery/atmospherics/pipe/simple/general/hidden,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/transfer) "adE" = (/obj/machinery/atmospherics/pipe/manifold/general/visible{dir = 8},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/security/transfer) -"adF" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/machinery/ignition_switch{id = "executionburn"; pixel_x = 24; pixel_y = 5},/obj/machinery/door_control{id = "executionfireblast"; name = "Transfer Area Lockdown"; pixel_x = 25; pixel_y = -5; req_access_txt = "2"},/obj/machinery/atmospherics/pipe/simple/general/hidden,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/prison) -"adG" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/prison) -"adH" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel{icon_state = "red"; dir = 8},/area/security/prison) -"adI" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,/turf/simulated/wall,/area/security/prison) +"adF" = (/obj/structure/table,/obj/item/device/flashlight/lamp,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/transfer) +"adG" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/machinery/ignition_switch{id = "executionburn"; pixel_x = 24; pixel_y = 5},/obj/machinery/door_control{id = "executionfireblast"; name = "Transfer Area Lockdown"; pixel_x = 25; pixel_y = -5; req_access_txt = "2"},/obj/machinery/atmospherics/pipe/simple/general/hidden,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/transfer) +"adH" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/transfer) +"adI" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 9},/area/security/prison) "adJ" = (/obj/machinery/door_control{id = "permacell3"; name = "Cell 3 Lockdown"; pixel_x = -4; pixel_y = 25; req_access_txt = "2"},/obj/machinery/flasher_button{id = "PCell 3"; pixel_x = 6; pixel_y = 24},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,/turf/simulated/floor/plasteel{icon_state = "redcorner"; dir = 4},/area/security/prison) "adK" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{tag = "icon-manifold-r-f (NORTH)"; dir = 1},/turf/simulated/floor/plasteel,/area/security/prison) "adL" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel{icon_state = "redcorner"; dir = 1},/area/security/prison) @@ -223,12 +223,12 @@ "aeo" = (/obj/structure/cable,/obj/structure/lattice/catwalk,/turf/space,/area/solar/auxport) "aep" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel,/area/security/prison) "aeq" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple/general/visible{dir = 9},/turf/simulated/floor/plating,/area/security/transfer) -"aer" = (/obj/structure/rack,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/obj/item/device/flashlight{pixel_x = 1; pixel_y = 5},/obj/item/weapon/tank/internals/anesthetic{pixel_x = -3; pixel_y = 1},/obj/item/weapon/tank/internals/oxygen/red{pixel_x = 3},/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 8},/area/security/prison) +"aer" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,/turf/simulated/wall,/area/security/transfer) "aes" = (/obj/machinery/atmospherics/pipe/simple/general/visible{dir = 5},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 10},/area/security/transfer) -"aet" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/general/hidden,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/prison) -"aeu" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{tag = "icon-manifold-b-f (NORTH)"; dir = 1},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/prison) -"aev" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 8},/area/security/prison) -"aew" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/security{aiControlDisabled = 0; icon_state = "door_closed"; id_tag = null; locked = 0; name = "Prisoner Transfer Centre"; req_access = null; req_access_txt = "2"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/prison) +"aet" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel,/area/security/prison) +"aeu" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plasteel,/area/security/prison) +"aev" = (/obj/structure/rack,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/obj/item/device/flashlight{pixel_x = 1; pixel_y = 5},/obj/item/weapon/tank/internals/anesthetic{pixel_x = -3; pixel_y = 1},/obj/item/weapon/tank/internals/oxygen/red{pixel_x = 3},/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 8},/area/security/transfer) +"aew" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/general/hidden,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/transfer) "aex" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plasteel,/area/security/prison) "aey" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/floor/plasteel,/area/security/prison) "aez" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 27},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel{icon_state = "red"; dir = 4},/area/security/prison) @@ -265,7 +265,7 @@ "afe" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/lattice/catwalk,/turf/space,/area/solar/auxport) "aff" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/lattice/catwalk,/turf/space,/area/solar/auxport) "afg" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/lattice/catwalk,/turf/space,/area/solar/auxport) -"afh" = (/obj/structure/sign/securearea{pixel_x = 32; pixel_y = 0},/turf/space,/area/space) +"afh" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{tag = "icon-manifold-b-f (NORTH)"; dir = 1},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/transfer) "afi" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plasteel,/area/security/prison) "afj" = (/obj/structure/extinguisher_cabinet{pixel_x = 1; pixel_y = -27},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel{icon_state = "whitehall"; dir = 2},/area/security/prison) "afk" = (/turf/simulated/floor/plasteel{icon_state = "whitehall"; dir = 2},/area/security/prison) @@ -397,7 +397,7 @@ "ahG" = (/obj/structure/stool/bed/chair/office/dark,/obj/effect/landmark/start{name = "Warden"},/obj/machinery/door_control{id = "Prison Gate"; name = "Prison Wing Lockdown"; pixel_x = -27; pixel_y = 8; req_access_txt = "2"},/obj/machinery/door_control{id = "Secure Gate"; name = "Cell Shutters"; pixel_x = -27; pixel_y = -2; req_access_txt = "0"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/security/warden) "ahH" = (/obj/structure/table,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 0},/obj/machinery/atmospherics/pipe/manifold/supply/hidden,/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/security/warden) "ahI" = (/obj/structure/table,/obj/item/weapon/folder/red,/obj/item/weapon/pen,/obj/item/weapon/hand_labeler,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/security/warden) -"ahJ" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/book/manual/wiki/security_space_law,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/security/warden) +"ahJ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 8},/area/security/prison) "ahK" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/security/warden) "ahL" = (/obj/machinery/light_switch{pixel_y = -23},/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/security/warden) "ahM" = (/obj/structure/grille,/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/window/reinforced/fulltile,/turf/simulated/floor/plating,/area/security/warden) @@ -2239,7 +2239,7 @@ "aRc" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/fancy/donut_box,/turf/simulated/floor/plasteel,/area/bridge) "aRd" = (/obj/structure/grille,/obj/structure/window/fulltile,/turf/simulated/floor/plating,/area/crew_quarters/bar) "aRe" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor/plasteel{icon_state = "bar"},/area/crew_quarters/bar) -"aRf" = (/obj/machinery/atmospherics/pipe/simple/general/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/prison) +"aRf" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/security{aiControlDisabled = 0; icon_state = "door_closed"; id_tag = null; locked = 0; name = "Prisoner Transfer Centre"; req_access = null; req_access_txt = "2"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/transfer) "aRg" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "bar"},/area/crew_quarters/bar) "aRh" = (/obj/structure/stool/bed/chair/comfy/beige{dir = 1; icon_state = "comfychair"},/obj/effect/landmark/start{name = "Assistant"},/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/hallway/secondary/entry) "aRi" = (/obj/structure/stool/bed/chair{dir = 1},/obj/effect/landmark/start{name = "Assistant"},/turf/simulated/floor/plasteel{icon_state = "bar"},/area/crew_quarters/bar) @@ -3003,11 +3003,11 @@ "bfM" = (/obj/structure/table/wood,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/item/device/camera,/obj/item/weapon/storage/photo_album{pixel_y = -10},/turf/simulated/floor/wood,/area/crew_quarters/captain) "bfN" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/plasteel,/area/hallway/primary/central) "bfO" = (/obj/structure/closet/secure_closet/chemical,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/chemistry) -"bfP" = (/obj/machinery/light_switch{pixel_x = 25; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/general/hidden{dir = 9},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/prison) +"bfP" = (/obj/machinery/atmospherics/pipe/simple/general/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/transfer) "bfQ" = (/obj/machinery/camera{c_tag = "Chemistry"; dir = 2; network = list("SS13")},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/machinery/chem_heater,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/chemistry) "bfR" = (/obj/machinery/chem_dispenser,/turf/simulated/floor/plasteel{dir = 1; icon_state = "whiteyellow"},/area/medical/chemistry) "bfS" = (/obj/machinery/chem_master,/turf/simulated/floor/plasteel{dir = 5; icon_state = "whiteyellow"},/area/medical/chemistry) -"bfT" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/obj/machinery/atmospherics/pipe/simple/general/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/prison) +"bfT" = (/obj/machinery/light_switch{pixel_x = 25; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/general/hidden{dir = 9},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/transfer) "bfU" = (/obj/structure/closet/l3closet/scientist,/turf/simulated/floor/plasteel{icon_state = "whitehall"; dir = 2},/area/toxins/explab) "bfV" = (/obj/structure/stool/bed/chair,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/medbay) "bfW" = (/obj/structure/stool/bed/chair,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/medbay) @@ -3148,7 +3148,7 @@ "biB" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/wall,/area/medical/chemistry) "biC" = (/obj/structure/table/glass,/obj/machinery/reagentgrinder,/obj/structure/extinguisher_cabinet{pixel_x = -27; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/chemistry) "biD" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/chemistry) -"biE" = (/obj/structure/table,/obj/item/weapon/restraints/handcuffs,/turf/simulated/floor/plasteel{icon_state = "red"; dir = 10},/area/security/prison) +"biE" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/obj/machinery/atmospherics/pipe/simple/general/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/transfer) "biF" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/chemistry) "biG" = (/turf/simulated/floor/plasteel{dir = 4; icon_state = "warning"},/area/ai_monitored/security/armory) "biH" = (/obj/machinery/smartfridge/chemistry,/turf/simulated/floor/plating,/area/medical/chemistry) @@ -4660,6 +4660,7 @@ "bLF" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/wall/r_wall,/area/medical/virology) "bLG" = (/turf/simulated/wall/r_wall,/area/medical/virology) "bLH" = (/turf/simulated/wall,/area/medical/virology) +"bLI" = (/turf/simulated/floor/plasteel{icon_state = "red"; dir = 10},/area/security/prison) "bLJ" = (/obj/structure/sign/biohazard,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/wall,/area/medical/virology) "bLK" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/disposalpipe/sortjunction{dir = 2; icon_state = "pipe-j2s"; sortType = 13},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/maintenance/asmaint) "bLL" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/airlock/maintenance{name = "Xenobiology Maintenance"; req_access_txt = "55"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/toxins/xenobiology) @@ -4940,6 +4941,7 @@ "bRa" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/virology) "bRb" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/virology{name = "Break Room"; req_access_txt = "39"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/virology) "bRc" = (/obj/structure/extinguisher_cabinet{pixel_x = -5; pixel_y = 30},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/virology) +"bRd" = (/obj/structure/table,/obj/item/weapon/restraints/handcuffs,/turf/simulated/floor/plasteel,/area/security/prison) "bRe" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{tag = "icon-manifold-b-f (EAST)"; dir = 4},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/virology) "bRf" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/firealarm{pixel_y = 25},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/virology) "bRg" = (/obj/machinery/power/apc{cell_type = 5000; dir = 1; name = "Virology APC"; pixel_x = 0; pixel_y = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/camera{c_tag = "Virology Module"},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/virology) @@ -5952,6 +5954,7 @@ "ckz" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel,/area/engine/engineering) "ckA" = (/obj/structure/closet/secure_closet/engineering_personal,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel{dir = 4; icon_state = "yellow"},/area/engine/engineering) "ckB" = (/obj/structure/lattice,/obj/machinery/atmospherics/binary/pump{dir = 2; name = "Incinerator Output Pump"; on = 1},/turf/space,/area/space) +"ckC" = (/turf/simulated/floor/plasteel,/area/security/prison) "ckD" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/engine,/area/maintenance/incinerator) "ckE" = (/obj/structure/closet/wardrobe/black,/turf/simulated/floor/plasteel/shuttle,/area/shuttle/arrival) "ckF" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor/plating,/area/maintenance/asmaint2) @@ -6486,6 +6489,7 @@ "cuO" = (/turf/simulated/floor/plating,/obj/structure/shuttle/engine/propulsion/burst{dir = 4},/turf/simulated/wall/shuttle{icon_state = "swall_f6"; dir = 2},/area/shuttle/pod_4) "cuP" = (/obj/machinery/door/airlock/engineering{name = "Telecommunications"; req_access_txt = "61"},/turf/simulated/floor/plasteel,/area/tcommsat/computer) "cuQ" = (/obj/structure/rack{dir = 1},/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/item/weapon/pickaxe{pixel_x = 5},/obj/item/weapon/shovel{pixel_x = -5},/turf/simulated/floor/plasteel,/area/quartermaster/miningdock) +"cuR" = (/obj/machinery/door/airlock/glass_security{name = "Morgue"; req_access_txt = "2"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/prison) "cuS" = (/obj/machinery/atmospherics/binary/pump{dir = 1; on = 1},/obj/structure/sign/fire{pixel_x = 32; pixel_y = 0},/obj/machinery/doorButtons/access_button{idSelf = "incinerator_access_control"; idDoor = "incinerator_airlock_interior"; name = "Incinerator airlock control"; pixel_x = -8; pixel_y = 24},/obj/machinery/light/small{dir = 4},/turf/simulated/floor/engine,/area/maintenance/incinerator) "cuT" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{tag = "icon-manifold-r-f (NORTH)"; dir = 1},/turf/simulated/floor/plasteel,/area/quartermaster/storage) "cuU" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel,/area/quartermaster/storage) @@ -6503,6 +6507,11 @@ "cvg" = (/obj/machinery/door/airlock/glass{autoclose = 0; frequency = 1449; heat_proof = 1; icon_state = "door_locked"; id_tag = "incinerator_airlock_exterior"; locked = 1; name = "Turbine Exterior Airlock"; req_access_txt = "32"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/engine,/area/maintenance/incinerator) "cvh" = (/obj/machinery/atmospherics/unary/heat_reservoir/heater{dir = 8},/turf/simulated/floor/plating,/area/maintenance/asmaint2) "cvi" = (/obj/machinery/camera{c_tag = "Engineering East"; dir = 8; network = list("SS13"); pixel_x = 0; pixel_y = 0},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{tag = "icon-manifold-r-f (EAST)"; dir = 4},/obj/structure/closet/wardrobe/engineering_yellow,/turf/simulated/floor/plasteel{dir = 4; icon_state = "yellowcorner"},/area/engine/engineering) +"cvj" = (/obj/structure/table,/obj/item/weapon/storage/box/bodybags,/obj/item/weapon/pen,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/prison) +"cvk" = (/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/prison) +"cvl" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/prison) +"cvm" = (/obj/structure/bodycontainer/morgue,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/prison) +"cvn" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/book/manual/wiki/security_space_law,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/item/weapon/storage/firstaid/regular{pixel_x = -3; pixel_y = -3},/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/security/warden) (1,1,1) = {" aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -6575,20 +6584,20 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaaiaaJaasaasaasaasaaKaasaasaaLaaMaaiaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaaaaafaaaaafaaaaafaaaaafaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaaQaaKaasaasaaRaaSaaKaasaaTaaUaaiaaaaaVaafaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaafaaaaafaaaaafaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaZaasaasaasaaKabaabbaasaasabcabdaaiaaiaaiaafaaaaaaaaaaaaaaaaafaaaaaVaaaaaaaaaaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeabeabeabfabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHaaOaaWaaNaaXabiaasabjaasaasaasaasaasaasaauaasabkablaaiaafaafaafaafaafaafaafaafabmabmabmabnabmabmaboaboabpabpabpaboaboaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaaafaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabgaaYabraaPabsabuaasaasabvabwabxaasabyabzabAaasabBabCaaiaafaaaaafaafaafaafaaaaafabnabDabEaeIabFabGaboabIabHabKabJabLaboaaaaaaaaaaafaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafabMaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaabfabfabeabfabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabgabNabPabOabsabSabTabSabSabSabUabSabSabSabVabSabSabWaaiactactactactactactactactabmabXabEaeIabYabDaboacaabZaccacbacwaboaaaaafacdaagaagaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfabfabfabfabfaafaafaaaaceaaaacfaafabfabfabfabfabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaaafaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabgabQacgabRabsackaasaclabSacmacnacoabSacpacqacrabSacsaaiacMacNacOacOacPacQacRacSactacuabEaeIaecabDabpacyacxaczaccacUaboaaaaafacAacBacAaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaaaaaaafaaaaafaaaaaaaceaaaaaaaafaaaaafaaaaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafacCaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHaciacDacjacEacHaasacIabSacJacnacIabSacKacqacIabSacLaaiacMadkadladladladladmadnactacTabEaeIaecabDabpacWacVacXaccadpaboaafaafacAacYacAaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafacZacZacZacZacZaaaadaaaaacZacZacZacZacZaafabfaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfadbadbadbadbaafaafaaaadcaaaaafaafabfabfabfabfabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafhaaHaaHaaHacFaddacGabsadfadgadhabSadfadiadhabSadfadjadhabSabSaaiafnaRFaNFadVaNFadWbhdbiGactadoabEaeIaecabDaboadradqadtadsaeeaboabnabmadvacBacAacAachaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaadwadxadxadxadxadyadzadAadBadBadBadBadCaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaaaaaafaaaaafaaaaaaadcaaaaaaaafaaaaafaaaaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHabhadeadDadGadFadIadHadKadJadMadLadOadNadUadLaepadPadQadRaaiadSadTaNFboSaNFadXadYadZaeaabEabEaebaeTabmaboaedaboahPaboaefaboaegaehacAaeiacAarqanTanTahtaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafaemaemaemaemaemaaaadzaaaaemaemaemaemaemaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafaenaenaenaenaenaaaaeoaaaaenaenaenaenaenaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHadEaeqaeraeuaetaewaevafiaexavkaifaexaexaexaifaOyaOvaeyaezaaiaeAaeBaeCaeDaeEaeFaeGaeHactahoagSaeJahpabmaeLaeMaeNaeOaePaeQaeNaeRaeSaeVaeUaeVamoamIamJagPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaaaaaaaaafaaaaaaaaaadzaaaaaaaaaaafaaaaaaaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaafaafbafbafbafbafcafdafeaffaffaffaffafgaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaOxaesaOzaRfbfTbfPabSbiEafjafkaflafmbNoafoafpafpafpabSafqafraaiafsaftafuafvafwafxafyafzactacvabnafBafCabmafDafEafFafGafHafIafJafKafLacAafMacAaptanTanTagQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafacZacZacZacZacZaaaadzaaaacZacZacZacZacZaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafafPafPafPafPafPaaaafdaaaafPafPafPafPafPaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHaaHaaHbaMbOybkdaaHabSadhafQadfafRafRafRafRafRafRafRafSafTafUafVafWafXafYafZagaagbagcafUagdahSageagfaggaghagiafFagjafHagkaglagmabmadvacAacAacAachaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaadwadxadxadxadxadyadzadAadBadBadBadBadCaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaaaaaaaaafaaaaaaaaaafdaaaaaaaaaaafaaaaaaaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaHaaHaaHaaHaaHaaiagnagoagpafRagqagragsagtaguafRagvagwagxagyagzagAagBagaagCagbagDagEagFafFagGagHagIagJagKaeKafAagNagOagLagMagRanUagUacAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafaemaemaemaemaemaaaadzaaaaemaemaemaemaemaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafaenaenaenaenaenaaaafdaaaaenaenaenaenaenaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaiagVagWagXafRagYagZahaahbahcafRagvahdaheahfahgahhahiahjahjahkahlahmahnaqqaPUaPTahqahrahsahTahVahuahvahWahwabmacAahxacAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaaaaaaaaafaaaaaaaaaadzaaaaaaaaaaafaaaaaaaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaafaafbafbafbafbafcafdafeaffaffaffaffafgaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiahyagWaHeafRagYagZahzahbahAafRahBahCahDahEahFahGahHahIahJahKahLahMahNahObzKbzJahRcdlankaiaahUbuJahXaLjahYahZaibaicaidaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafacZacZacZacZacZaaaadzaaaacZacZacZacZacZaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfacfafPafPafPafPafPaaaafdaaaafPafPafPafPafPaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaafaaaaaaaaiaieagWaigafRaihaiiaiiaijahcafRaikailafUaimainaioaipaipaiqairafUafUaisaitaduaduaduabmabmabmabmabmabmabmabmabmaivaiwaidaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaadwadxadxadxadxadyadzadAadBadBadBadBadCaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHaaOaaWaaNaaXaaiaaiabiaasabjaasaasaasaasaasaasaauaasabkablaaiaafaafaafaafaafaafaafaafabmabmabmabnabmabmaboaboabpabpabpaboaboaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaaafaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabgaaYabraaPabOabsaaiabuaasaasabvabwabxaasabyabzabAaasabBabCaaiaafaaaaafaafaafaafaaaaafabnabDabEaeIabFabGaboabIabHabKabJabLaboaaaaaaaaaaafaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafabMaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaabfabfabeabfabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabgabNabPabRabOabsaaiabSabTabSabSabSabUabSabSabSabVabSabSabWaaiactactactactactactactactabmabXabEaeIabYabDaboacaabZaccacbacwaboaaaaafacdaagaagaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfabfabfabfabfaafaafaaaaceaaaacfaafabfabfabfabfabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaaafaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabgabQacgacjabOabsaaiackaasaclabSacmacnacoabSacpacqacrabSacsaaiacMacNadSafnacPacQacRacSactacuabEaeIaecabDabpacyacxaczaccacUaboaaaaafacAacBacAaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaaaaaaafaaaaafaaaaaaaceaaaaaaaafaaaaafaaaaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafacCaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHaciacDacEacGabsaaiacHaasacIabSacJacnacIabSacKacqacIabSacLaaiacMadkadladladladladmadnactacTabEaeIaecabDabpacWacVacXaccadpaboaafaafacAacYacAaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafacZacZacZacZacZaaaadaaaaacZacZacZacZacZaafabfaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfadbadbadbadbaafaafaaaadcaaaaafaafabfabfabfabfabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHaaHaaHacFaddadDabOaaiaaiadfadgadhabSadfadiadhabSadfadjadhabSabSaaiacOaRFaNFadVaNFadWbhdbiGactadoabEaeIaecabDaboadradqadtadsaeeaboabnabmadvacBacAacAachaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaadwadxadxadxadxadyadzadAadBadBadBadBadCaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaaaaaafaaaaafaaaaaaadcaaaaaaaafaaaaafaaaaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHabhadeadFadHadGaeradIaeuaetadKadJadMadLadOadNadUadLaepadPadQadRaaiacOadTaNFboSaNFadXadYadZaeaabEabEaebaeTabmaboaedaboahPaboaefaboaegaehacAaeiacAarqanTanTahtaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafaemaemaemaemaemaaaadzaaaaemaemaemaemaemaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafaenaenaenaenaenaaaaeoaaaaenaenaenaenaenaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHadEaeqaevafhaewaRfahJaexaifafiaexavkaifaexaexaexaifaOyaOvaeyaezaaiaeAaeBaeCaeDaeEaeFaeGaeHactahoagSaeJahpabmaeLaeMaeNaeOaePaeQaeNaeRaeSaeVaeUaeVamoamIamJagPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaaaaaaaaafaaaaaaaaaadzaaaaaaaaaaafaaaaaaaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaafaafbafbafbafbafcafdafeaffaffaffaffafgaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaOxaesaOzbfPbiEbfTaaHbLIckCbRdafjafkaflafmbNoafoafpafpafpabSafqafraaiafsaftafuafvafwafxafyafzactacvabnafBafCabmafDafEafFafGafHafIafJafKafLacAafMacAaptanTanTagQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafacZacZacZacZacZaaaadzaaaacZacZacZacZacZaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafafPafPafPafPafPaaaafdaaaafPafPafPafPafPaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHaaHaaHbaMbOybkdaaHabScuRabSadhafQadfafRafRafRafRafRafRafRafSafTafUafVafWafXafYafZagaagbagcafUagdahSageagfaggaghagiafFagjafHagkaglagmabmadvacAacAacAachaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaadwadxadxadxadxadyadzadAadBadBadBadBadCaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaaaaaaaaafaaaaaaaaaafdaaaaaaaaaaafaaaaaaaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaHaaHaaHaaHaaHcvjcvkabSagnagoagpafRagqagragsagtaguafRagvagwagxagyagzagAagBagaagCagbagDagEagFafFagGagHagIagJagKaeKafAagNagOagLagMagRanUagUacAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafaemaemaemaemaemaaaadzaaaaemaemaemaemaemaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafaenaenaenaenaenaaaafdaaaaenaenaenaenaenaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaaicvlcvkabSagVagWagXafRagYagZahaahbahcafRagvahdaheahfahgahhahiahjahjahkahlahmahnaqqaPUaPTahqahrahsahTahVahuahvahWahwabmacAahxacAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaaaaaaaaafaaaaaaaaaadzaaaaaaaaaaafaaaaaaaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaafaafbafbafbafbafcafdafeaffaffaffaffafgaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaicvmcvkabSahyagWaHeafRagYagZahzahbahAafRahBahCahDahEahFahGahHahIcvnahKahLahMahNahObzKbzJahRcdlankaiaahUbuJahXaLjahYahZaibaicaidaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafacZacZacZacZacZaaaadzaaaacZacZacZacZacZaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfacfafPafPafPafPafPaaaafdaaaafPafPafPafPafPaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaicvmcvkabSaieagWaigafRaihaiiaiiaijahcafRaikailafUaimainaioaipaipaiqairafUafUaisaitaduaduaduabmabmabmabmabmabmabmabmabmaivaiwaidaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaadwadxadxadxadxadyadzadAadBadBadBadBadCaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaaaaaaaaafaaaaaaaaaafdaaaaaaaaaaafaaaaaaaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaixaixaiyaixaizaiAafRafRafRafRafRafRaiBaiCafRaiDaiEaiFaiFaiFaiFaiFaiFaiFaiFaiGaiHaiIaiJaiFailaiAaiKaiLaiMaiNaiOaiPaiQaiRaiuaivaiwaidaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafaemaemaemaemaemaaaadzaaaaemaemaemaemaemaiSabqaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafaenaenaenaenaenaaaafdaaaaenaenaenaenaenaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaixaiTaiUaiVaiWaiXaiYaiZajaajbajcajdajeajfajgajhajiajjajkajjajjajjajjajjajjajlajjajiajmajkajnajoajpajqajrajsajtajuajvajwaiuaivaiwacAaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaaaaaafaaaaafaaaaaaadzaaaaaaaafaaaaafaaaaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaafaafbafbafbafbafcafdafeaffaffaffaffafgaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaelaekaekaekaejaaaaafaizajyajzajAajBajCajDajEajFajGajHajIajJajMajLajIajJajKajLajIajJajQajOajOajOajPahCajNajRajSajTajUajVajWajVajVajVajXajYaiPaiuaivaiwaidaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfabfabfaafaafaafaafaafadzaafaafaafaafaafabfabfabfaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa From e35c901af2be49ace1d2f2e07645a9fbaf488939 Mon Sep 17 00:00:00 2001 From: phil235 Date: Thu, 9 Jul 2015 20:28:28 +0200 Subject: [PATCH 29/77] Fixes The clogged vent event making smoke spawn on welded scrubbers. Removes the problematic preference option to spawn without backpack (just drop your backpack after you spawn). --- code/_globalvars/lists/flavor_misc.dm | 2 +- code/modules/events/vent_clog.dm | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/code/_globalvars/lists/flavor_misc.dm b/code/_globalvars/lists/flavor_misc.dm index 752dc718e94..df39c500d7f 100644 --- a/code/_globalvars/lists/flavor_misc.dm +++ b/code/_globalvars/lists/flavor_misc.dm @@ -31,7 +31,7 @@ var/global/list/frills_list = list() var/global/list/spines_list = list() var/global/list/animated_spines_list = list() //Backpacks -var/global/list/backbaglist = list("Nothing", "Backpack", "Satchel") +var/global/list/backbaglist = list("Backpack", "Satchel") //Female Uniforms var/global/list/female_clothing_icons = list() diff --git a/code/modules/events/vent_clog.dm b/code/modules/events/vent_clog.dm index 6a9fcf140e5..bba97ba8b00 100644 --- a/code/modules/events/vent_clog.dm +++ b/code/modules/events/vent_clog.dm @@ -17,7 +17,7 @@ /datum/round_event/vent_clog/setup() endWhen = rand(25, 100) for(var/obj/machinery/atmospherics/unary/vent_scrubber/temp_vent in machines) - if(temp_vent.loc.z == ZLEVEL_STATION) + if(temp_vent.loc.z == ZLEVEL_STATION && !temp_vent.welded) if(temp_vent.parent.other_atmosmch.len > 20) vents += temp_vent if(!vents.len) From e994f6c9198e9218917edaaa6e8a6db0809447ab Mon Sep 17 00:00:00 2001 From: Iamgoofball Date: Thu, 9 Jul 2015 11:51:03 -0700 Subject: [PATCH 30/77] Due to recent shortages, justice helmets are more expensive Space Justice Warriors have been attacking freighters carrying the Justice Helmets, and they have been in low supply recently, resulting in an increase of price for justice enforcer cfates. Reports from captured SJWs claim that the helmets offend them. Requests to ban the sale of justice helmets will be met with equally insulting responses. - Nanotrasen Cargo Committee --- code/datums/supplypacks.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/datums/supplypacks.dm b/code/datums/supplypacks.dm index 55cfeccf68c..5253e7dc68a 100644 --- a/code/datums/supplypacks.dm +++ b/code/datums/supplypacks.dm @@ -382,7 +382,7 @@ var/list/all_supply_groups = list(supply_emergency,supply_security,supply_engine name = "Standard Justice Enforcer Crate" contains = list(/obj/item/clothing/head/helmet/justice, /obj/item/clothing/mask/gas/sechailer) - cost = 30 //justice comes at a price. An expensive, noisy price. + cost = 80 //justice comes at a price. An expensive, noisy price. containername = "justice enforcer crate" @@ -1279,4 +1279,4 @@ var/list/all_supply_groups = list(supply_emergency,supply_security,supply_engine /obj/item/ammo_box/magazine/toy/pistol) cost = 40 containername = "foam force pistols crate" - contraband = 1 \ No newline at end of file + contraband = 1 From 2e9c4f3211f811af5e3e53ebeea47da1210cbef2 Mon Sep 17 00:00:00 2001 From: AnturK Date: Thu, 9 Jul 2015 21:22:17 +0200 Subject: [PATCH 31/77] Fixes teleport-swap --- code/modules/mob/living/living.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 48b78d3fb65..27d40bacf7f 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -91,6 +91,8 @@ Sorry Giacom. Please don't be mad :( //switch our position with M //BubbleWrap: people in handcuffs are always switched around as if they were on 'help' intent to prevent a person being pulled from being seperated from their puller if((M.a_intent == "help" || M.restrained()) && (a_intent == "help" || restrained()) && M.canmove && canmove) // mutual brohugs all around! + if(loc && !loc.Adjacent(M.loc)) + return 1 now_pushing = 1 //TODO: Make this use Move(). we're pretty much recreating it here. //it could be done by setting one of the locs to null to make Move() work, then setting it back and Move() the other mob From 12580ec5da9ebc35378736d6675b90940f6bf07c Mon Sep 17 00:00:00 2001 From: MrStonedOne Date: Thu, 9 Jul 2015 12:25:56 -0700 Subject: [PATCH 32/77] Fixes siren helmet spam Volume has been greatly reduced, and the cooldown has been raised sightly to give short bursts of silence between sirens. --- code/modules/clothing/head/helmet.dm | 2 +- sound/items/WEEOO1.ogg | Bin 13533 -> 8482 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/clothing/head/helmet.dm b/code/modules/clothing/head/helmet.dm index 0702f6b741d..6bfa9615112 100644 --- a/code/modules/clothing/head/helmet.dm +++ b/code/modules/clothing/head/helmet.dm @@ -78,7 +78,7 @@ alt_toggle_message = "You turn on the lights on" action_button_name = "Toggle Justice Lights" can_toggle = 1 - toggle_cooldown = 14 + toggle_cooldown = 20 activation_sound = 'sound/items/WEEOO1.ogg' /obj/item/clothing/head/helmet/justice/escape diff --git a/sound/items/WEEOO1.ogg b/sound/items/WEEOO1.ogg index 71707a1d2dc1cec2784c00f2adf6189777686341..1d9f9c7d772a7409e1ed23b46cc875b3b4c88ea8 100644 GIT binary patch literal 8482 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 literal 13533 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 Date: Fri, 10 Jul 2015 00:18:35 +0200 Subject: [PATCH 33/77] Modified detective revolver isn't deleted anymore when it misfires. Heart attack: Moved heart attack var (and changed related code accordingly) from carbon to human since non humans have no use for it. I also added some feedback message when you recover from a heart attack. Added a click cooldown on touching a light fixture. burning yourself with a lighter now burns only the arm holding the lighter. Fixes incorrect message when defibbing heart attack patient. --- code/game/objects/items/weapons/cigs_lighters.dm | 3 ++- code/game/objects/items/weapons/defib.dm | 14 +++++++------- code/modules/mob/living/carbon/carbon.dm | 14 +++----------- code/modules/mob/living/carbon/carbon_defines.dm | 1 - code/modules/mob/living/carbon/human/death.dm | 1 + code/modules/mob/living/carbon/human/human.dm | 5 +++++ .../mob/living/carbon/human/human_defines.dm | 4 +++- code/modules/mob/living/carbon/human/life.dm | 6 ++++-- code/modules/mob/living/carbon/life.dm | 7 +------ code/modules/power/lighting.dm | 2 +- .../projectiles/guns/projectile/revolver.dm | 1 - .../Chemistry-Reagents/Toxin-Reagents.dm | 16 +++++++++------- .../surgery/organs/cybernetic_implants.dm | 12 ++++++++---- 13 files changed, 44 insertions(+), 42 deletions(-) diff --git a/code/game/objects/items/weapons/cigs_lighters.dm b/code/game/objects/items/weapons/cigs_lighters.dm index b8f023d7047..2ca0979272c 100644 --- a/code/game/objects/items/weapons/cigs_lighters.dm +++ b/code/game/objects/items/weapons/cigs_lighters.dm @@ -479,7 +479,8 @@ CIGARETTE PACKETS ARE IN FANCY.DM if(prob(75)) user.visible_message("After a few attempts, [user] manages to light [src].", "After a few attempts, you manage to light [src].") else - user.adjustFireLoss(5) + var/hitzone = user.r_hand == src ? "r_hand" : "l_hand" + user.apply_damage(5, BURN, hitzone) user.visible_message("After a few attempts, [user] manages to light [src] - they however burn their finger in the process.", "You burn yourself while lighting the lighter!") user.AddLuminosity(1) diff --git a/code/game/objects/items/weapons/defib.dm b/code/game/objects/items/weapons/defib.dm index 02114500111..b21db462e3f 100644 --- a/code/game/objects/items/weapons/defib.dm +++ b/code/game/objects/items/weapons/defib.dm @@ -325,7 +325,6 @@ /obj/item/weapon/twohanded/shockpaddles/attack(mob/M, mob/user) var/halfwaycritdeath = (config.health_threshold_crit + config.health_threshold_dead) / 2 - var/mob/living/carbon/human/H = M if(busy) return @@ -343,6 +342,7 @@ user << "The instructions on [defib] don't mention how to revive that..." return else + var/mob/living/carbon/human/H = M if(user.a_intent == "disarm" && !defib.safety) busy = 1 H.visible_message("[user] has touched [H.name] with [src]!", \ @@ -422,11 +422,7 @@ busy = 0 update_icon() return - if(H.heart_attack) - H.heart_attack = 0 - user.visible_message("[defib] pings: Patient's heart is now beating again.") - playsound(get_turf(src), 'sound/machines/defib_zap.ogg', 50, 1, -1) - if(H.stat == 2) + if(H.stat == DEAD) M.visible_message("[M]'s body convulses a bit.") playsound(get_turf(src), "bodyfall", 50, 1) playsound(get_turf(src), 'sound/machines/defib_zap.ogg', 50, 1, -1) @@ -447,7 +443,7 @@ H.adjustBruteLoss((mobhealth - halfwaycritdeath) * (total_brute / overall_damage)) user.visible_message("[defib] pings: Resuscitation successful.") playsound(get_turf(src), 'sound/machines/defib_success.ogg', 50, 0) - H.stat = 1 + H.stat = UNCONSCIOUS dead_mob_list -= H living_mob_list |= list(H) H.emote("gasp") @@ -469,6 +465,10 @@ update_icon() cooldown = 1 defib.cooldowncheck(user) + else if(H.heart_attack) + H.heart_attack = 0 + user.visible_message("[defib] pings: Patient's heart is now beating again.") + playsound(get_turf(src), 'sound/machines/defib_zap.ogg', 50, 1, -1) else user.visible_message("[defib] buzzes: Patient is not in a valid state. Operation aborted.") playsound(get_turf(src), 'sound/machines/defib_failed.ogg', 50, 0) diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index 4fc86b644a4..39da6335083 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -78,23 +78,21 @@ shock_damage *= siemens_coeff if (shock_damage<1) return 0 - src.take_overall_damage(0,shock_damage) + take_overall_damage(0,shock_damage) //src.burn_skin(shock_damage) //src.adjustFireLoss(shock_damage) //burn_skin will do this for us //src.updatehealth() - src.visible_message( + visible_message( "[src] was shocked by \the [source]!", \ "You feel a powerful shock coursing through your body!", \ "You hear a heavy electrical crack." \ ) - if(prob(25) && heart_attack) - heart_attack = 0 jitteriness += 1000 //High numbers for violent convulsions do_jitter_animation(jitteriness) stuttering += 2 Stun(2) spawn(20) - src.jitteriness -= 990 //Still jittery, but vastly less + jitteriness = max(jitteriness - 990, 10) //Still jittery, but vastly less Stun(3) Weaken(3) return shock_damage @@ -371,12 +369,6 @@ var/const/GALOSHES_DONT_HELP = 8 /mob/living/carbon/is_muzzled() return(istype(src.wear_mask, /obj/item/clothing/mask/muzzle)) - -/mob/living/carbon/revive() - heart_attack = 0 - ..() - return - /mob/living/carbon/blob_act() if (stat == DEAD) return diff --git a/code/modules/mob/living/carbon/carbon_defines.dm b/code/modules/mob/living/carbon/carbon_defines.dm index 50a9c2c47fe..95e6875e55d 100644 --- a/code/modules/mob/living/carbon/carbon_defines.dm +++ b/code/modules/mob/living/carbon/carbon_defines.dm @@ -19,7 +19,6 @@ var/obj/item/head = null var/datum/dna/dna = null//Carbon - var/heart_attack = 0 var/failed_last_breath = 0 //This is used to determine if the mob failed a breath. If they did fail a brath, they will attempt to breathe each tick, otherwise just once per 4 ticks. diff --git a/code/modules/mob/living/carbon/human/death.dm b/code/modules/mob/living/carbon/human/death.dm index 4326f45dad2..2f84b03bd20 100644 --- a/code/modules/mob/living/carbon/human/death.dm +++ b/code/modules/mob/living/carbon/human/death.dm @@ -22,6 +22,7 @@ stat = DEAD dizziness = 0 jitteriness = 0 + heart_attack = 0 if(istype(loc, /obj/mecha)) var/obj/mecha/M = loc diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 20d8b20e620..0c45e9dc6be 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -272,6 +272,11 @@ if(gloves) var/obj/item/clothing/gloves/G = gloves siemens_coeff = G.siemens_coefficient + if(heart_attack) + if(shock_damage * siemens_coeff >= 1 && prob(25)) + heart_attack = 0 + if(stat == CONSCIOUS) + src << "You feel your heart beating again!" return ..(shock_damage,source,siemens_coeff) /mob/living/carbon/human/Topic(href, href_list) diff --git a/code/modules/mob/living/carbon/human/human_defines.dm b/code/modules/mob/living/carbon/human/human_defines.dm index 9b373ba72f4..a47ae39f009 100644 --- a/code/modules/mob/living/carbon/human/human_defines.dm +++ b/code/modules/mob/living/carbon/human/human_defines.dm @@ -51,4 +51,6 @@ var/datum/martial_art/martial_art = null - var/name_override //For temporary visible name changes \ No newline at end of file + var/name_override //For temporary visible name changes + + var/heart_attack = 0 \ No newline at end of file diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index c99b39e3995..c26cf9611f5 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -42,6 +42,9 @@ for(var/datum/mutation/human/HM in dna.mutations) HM.on_life(src) + //heart attack stuff + handle_heart() + //Stuff jammed in your limbs hurts handle_embedded_objects() //Update our name based on whether our face is obscured/disfigured @@ -338,13 +341,12 @@ if(!has_embedded_objects()) clear_alert("embeddedobject") -/mob/living/carbon/human/handle_heart() +/mob/living/carbon/human/proc/handle_heart() if(!heart_attack) return else losebreath += 5 adjustOxyLoss(5) adjustBruteLoss(1) - return #undef HUMAN_MAX_OXYLOSS diff --git a/code/modules/mob/living/carbon/life.dm b/code/modules/mob/living/carbon/life.dm index b019a52ab44..40e05df8060 100644 --- a/code/modules/mob/living/carbon/life.dm +++ b/code/modules/mob/living/carbon/life.dm @@ -10,10 +10,7 @@ if(..()) //Updates the number of stored chemicals for powers handle_changeling() - //Heart Attacks, etc. - handle_heart() - - . = 1 + return 1 /////////////// // BREATHING // @@ -238,8 +235,6 @@ if(reagents) reagents.metabolize(src) -/mob/living/carbon/proc/handle_heart() - return /mob/living/carbon/handle_stomach() spawn(0) diff --git a/code/modules/power/lighting.dm b/code/modules/power/lighting.dm index 6f442a439a6..e891aceb82c 100644 --- a/code/modules/power/lighting.dm +++ b/code/modules/power/lighting.dm @@ -471,7 +471,7 @@ // if hands aren't protected and the light is on, burn the player /obj/machinery/light/attack_hand(mob/living/carbon/human/user) - + user.changeNext_move(CLICK_CD_MELEE) add_fingerprint(user) if(status == LIGHT_EMPTY) diff --git a/code/modules/projectiles/guns/projectile/revolver.dm b/code/modules/projectiles/guns/projectile/revolver.dm index c31eedd7b5d..6e8d226b7e7 100644 --- a/code/modules/projectiles/guns/projectile/revolver.dm +++ b/code/modules/projectiles/guns/projectile/revolver.dm @@ -80,7 +80,6 @@ user << "[src] blows up in your face!" user.take_organ_damage(0,20) user.unEquip(src) - qdel(src) return 0 ..() diff --git a/code/modules/reagents/Chemistry-Reagents/Toxin-Reagents.dm b/code/modules/reagents/Chemistry-Reagents/Toxin-Reagents.dm index 212414de446..04b93d4c856 100644 --- a/code/modules/reagents/Chemistry-Reagents/Toxin-Reagents.dm +++ b/code/modules/reagents/Chemistry-Reagents/Toxin-Reagents.dm @@ -493,13 +493,15 @@ M.losebreath += 10 M.adjustOxyLoss(rand(5,25)) if(3) - var/mob/living/carbon/human/H = M - if(!H.heart_attack) - H.visible_message("[H] clutches at their chest as if their heart stopped!") - H.heart_attack = 1 // rip in pepperoni - else - H.losebreath += 10 - H.adjustOxyLoss(rand(5,25)) + if(istype(M, /mob/living/carbon/human)) + var/mob/living/carbon/human/H = M + if(!H.heart_attack) + H.heart_attack = 1 // rip in pepperoni + if(H.stat == CONSCIOUS) + H.visible_message("[H] clutches at their chest as if their heart stopped!") + else + H.losebreath += 10 + H.adjustOxyLoss(rand(5,25)) ..() /datum/reagent/toxin/pancuronium diff --git a/code/modules/surgery/organs/cybernetic_implants.dm b/code/modules/surgery/organs/cybernetic_implants.dm index 7230c1d0572..61a58711ac8 100644 --- a/code/modules/surgery/organs/cybernetic_implants.dm +++ b/code/modules/surgery/organs/cybernetic_implants.dm @@ -366,10 +366,14 @@ else cooldown += 200 - if(prob(50 / severity)) - owner.heart_attack = 1 - spawn(600 / severity) - owner.heart_attack = 0 + if(istype(owner, /mob/living/carbon/human)) + var/mob/living/carbon/human/H = owner + if(H.stat != DEAD && prob(50 / severity)) + H.heart_attack = 1 + spawn(600 / severity) + H.heart_attack = 0 + if(H.stat == CONSCIOUS) + H << "You feel your heart beating again!" //BOX O' IMPLANTS From 2800bca2d84fe37bd649e5e51c8fb5a2c49a6019 Mon Sep 17 00:00:00 2001 From: Francis Devine Date: Fri, 10 Jul 2015 10:26:59 +1200 Subject: [PATCH 34/77] Add sanity checks to syringe injection after the do_mob call --- code/modules/reagents/reagent_containers/syringes.dm | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/code/modules/reagents/reagent_containers/syringes.dm b/code/modules/reagents/reagent_containers/syringes.dm index a0559bb4707..3517b0f765f 100644 --- a/code/modules/reagents/reagent_containers/syringes.dm +++ b/code/modules/reagents/reagent_containers/syringes.dm @@ -140,7 +140,14 @@ if(ismob(target) && target != user) target.visible_message("[user] is trying to inject [target]!", \ "[user] is trying to inject [target]!") - if(!do_mob(user, target)) return + if(!do_mob(user, target)) + return + //Sanity checks after sleep + if(!reagents.total_volume) + return + if(target.reagents.total_volume >= target.reagents.maximum_volume) + return + target.visible_message("[user] injects [target] with the syringe!", \ "[user] injects [target] with the syringe!") //Attack log entries are produced here due to failure to produce elsewhere. Remove them here if you have doubles from normal syringes. From f5bc933d7d56809a784d6b1f1a43e1d6ae7a0a22 Mon Sep 17 00:00:00 2001 From: Ikarrus Date: Thu, 9 Jul 2015 17:52:22 -0600 Subject: [PATCH 35/77] More tags by Joan! New Sirius and waffle tags by Joan --- code/game/gamemodes/gang/gang.dm | 2 +- icons/effects/crayondecal.dmi | Bin 24295 -> 25317 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/gamemodes/gang/gang.dm b/code/game/gamemodes/gang/gang.dm index 2b08fefd37f..b8fe4eaa51a 100644 --- a/code/game/gamemodes/gang/gang.dm +++ b/code/game/gamemodes/gang/gang.dm @@ -1,7 +1,7 @@ //gang.dm //Gang War Game Mode -var/list/gang_name_pool = list("Clandestine", "Prima", "Zero-G", "Max", "Blasto", "Waffle", "North", "Omni", "Newton", "Cyber", "Donk", "Gene", "Gib", "Tunnel", "Diablo", "Psyke", "Osiron", "Sleeping Carp") +var/list/gang_name_pool = list("Clandestine", "Prima", "Zero-G", "Max", "Blasto", "Waffle", "North", "Omni", "Newton", "Cyber", "Donk", "Gene", "Gib", "Tunnel", "Diablo", "Psyke", "Osiron", "Sirius", "Sleeping Carp") var/list/gang_colors_pool = list("red","orange","yellow","green","blue","purple") /datum/game_mode diff --git a/icons/effects/crayondecal.dmi b/icons/effects/crayondecal.dmi index cf86819044381a5811fb60f2eb834f97ed9e1122..42625cc7790943d7017185fed6d03daeb825f92a 100644 GIT binary patch literal 25317 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 T+1n15f}AtBaJulMqsW?(Xizi#tJ!6^CHOU;4lI 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 From 71a397b3bd2d23bec321384c027973177c767971 Mon Sep 17 00:00:00 2001 From: Chiefwaffles Date: Thu, 9 Jul 2015 19:07:05 -0700 Subject: [PATCH 36/77] Super Big Change Removes ".0" from "2.0" --- code/modules/power/cell.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/power/cell.dm b/code/modules/power/cell.dm index 83df8f18103..63ac0410ec1 100644 --- a/code/modules/power/cell.dm +++ b/code/modules/power/cell.dm @@ -9,7 +9,7 @@ throwforce = 5.0 throw_speed = 2 throw_range = 5 - w_class = 2.0 + w_class = 2 var/charge = 0 // note %age conveted to actual charge in New var/maxcharge = 1000 materials = list(MAT_METAL=700, MAT_GLASS=50) From bac8aa59d06b3f925039db52afea547934f0f13d Mon Sep 17 00:00:00 2001 From: Steelpoint Date: Fri, 10 Jul 2015 14:28:42 +0800 Subject: [PATCH 37/77] MergeConflicts+GlassDoorToNormalDoor+RemoveRwalls --- _maps/map_files/TgStation/tgstation.2.1.3.dmm | 91 +++++++++++-------- 1 file changed, 52 insertions(+), 39 deletions(-) diff --git a/_maps/map_files/TgStation/tgstation.2.1.3.dmm b/_maps/map_files/TgStation/tgstation.2.1.3.dmm index dfc67d1bd31..6fa4c2dcb46 100644 --- a/_maps/map_files/TgStation/tgstation.2.1.3.dmm +++ b/_maps/map_files/TgStation/tgstation.2.1.3.dmm @@ -47,7 +47,7 @@ "aaU" = (/obj/structure/table,/obj/structure/bedsheetbin,/turf/simulated/floor/plasteel{icon_state = "barber"},/area/security/prison) "aaV" = (/obj/structure/lattice,/obj/structure/sign/securearea{pixel_y = -32},/turf/space,/area/space) "aaW" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/wall,/area/security/transfer) -"aaX" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/wall/r_wall,/area/security/prison) +"aaX" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/wall/r_wall,/area/security/transfer) "aaY" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel{tag = "icon-warndark (NORTHWEST)"; icon_state = "warndark"; dir = 9},/area/security/transfer) "aaZ" = (/obj/machinery/computer/arcade,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/prison) "aba" = (/obj/structure/table,/obj/item/toy/cards/deck,/turf/simulated/floor/plasteel,/area/security/prison) @@ -68,7 +68,7 @@ "abp" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/turf/simulated/floor/plating,/area/security/hos) "abq" = (/obj/structure/grille{density = 0; icon_state = "brokengrille"},/obj/structure/lattice,/turf/space,/area/space) "abr" = (/obj/machinery/light/small{dir = 1},/obj/machinery/flasher{id = "executionflash"; pixel_x = 0; pixel_y = 25},/turf/simulated/floor/plasteel{tag = "icon-warndark (NORTH)"; icon_state = "warndark"; dir = 1},/area/security/transfer) -"abs" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/machinery/door/poddoor/preopen{id = "executionfireblast"; layer = 2.9; name = "blast door"},/obj/machinery/atmospherics/pipe/simple/general/hidden,/obj/machinery/door/firedoor,/obj/machinery/door/window/westright{dir = 1; name = "Transfer Room"; req_access_txt = "2"},/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 8},/area/security/prison) +"abs" = (/obj/structure/lattice,/turf/space,/area/security/prison) "abt" = (/turf/simulated/wall,/area/space) "abu" = (/obj/machinery/vending/cola,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/prison) "abv" = (/obj/machinery/light,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/prison) @@ -90,10 +90,10 @@ "abL" = (/obj/machinery/alarm{pixel_y = 23},/obj/structure/reagent_dispensers/peppertank{pixel_x = 30; pixel_y = 0},/obj/structure/table/wood,/obj/item/weapon/reagent_containers/food/drinks/bottle/vodka/badminka,/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/shotglass,/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/shotglass,/turf/simulated/floor/carpet,/area/security/hos) "abM" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/tracker,/turf/simulated/floor/plasteel/airless{icon_state = "solarpanel"},/area/solar/auxstarboard) "abN" = (/turf/simulated/floor/plasteel{tag = "icon-warndark (WEST)"; icon_state = "warndark"; dir = 8},/area/security/transfer) -"abO" = (/obj/machinery/sparker{dir = 2; id = "executionburn"; pixel_x = 25},/turf/simulated/floor/plasteel{tag = "icon-warndark (EAST)"; icon_state = "warndark"; dir = 4},/area/security/prison) +"abO" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/wall/r_wall,/area/security/transfer) "abP" = (/obj/structure/stool/bed,/obj/effect/landmark{name = "revenantspawn"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/transfer) "abQ" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor/plasteel{tag = "icon-warndark (SOUTHWEST)"; icon_state = "warndark"; dir = 10},/area/security/transfer) -"abR" = (/obj/machinery/atmospherics/unary/outlet_injector,/turf/simulated/floor/plasteel{tag = "icon-warndark (SOUTHEAST)"; icon_state = "warndark"; dir = 6},/area/security/prison) +"abR" = (/obj/machinery/sparker{dir = 2; id = "executionburn"; pixel_x = 25},/turf/simulated/floor/plasteel{tag = "icon-warndark (EAST)"; icon_state = "warndark"; dir = 4},/area/security/transfer) "abS" = (/turf/simulated/wall,/area/security/prison) "abT" = (/obj/machinery/door/poddoor/preopen{id = "permacell3"; name = "cell blast door"},/obj/machinery/door/airlock/glass{id_tag = "permabolt3"; name = "Cell 3"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/prison) "abU" = (/obj/machinery/door/poddoor/preopen{id = "permacell2"; name = "cell blast door"},/obj/machinery/door/airlock/glass{id_tag = "permabolt2"; name = "Cell 2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/prison) @@ -111,7 +111,7 @@ "acg" = (/turf/simulated/floor/plasteel{tag = "icon-warndark"; icon_state = "warndark"; dir = 2},/area/security/transfer) "ach" = (/turf/simulated/wall/r_wall,/area/space) "aci" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/door/poddoor/preopen{id = "executionfireblast"; layer = 2.9; name = "blast door"},/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/security/transfer) -"acj" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{tag = "icon-manifold-r-f (EAST)"; dir = 4},/turf/simulated/wall,/area/security/prison) +"acj" = (/obj/machinery/atmospherics/unary/outlet_injector,/turf/simulated/floor/plasteel{tag = "icon-warndark (SOUTHEAST)"; icon_state = "warndark"; dir = 6},/area/security/transfer) "ack" = (/obj/structure/stool/bed,/obj/machinery/camera{c_tag = "Prison Cell 3"; network = list("SS13","Prison")},/obj/item/device/radio/intercom{desc = "Talk through this. It looks like it has been modified to not broadcast."; dir = 2; name = "Prison Intercom (General)"; pixel_x = 0; pixel_y = 24; prison_radio = 1},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/prison) "acl" = (/obj/structure/stool,/obj/machinery/light/small{dir = 1},/obj/machinery/door_control{id = "permabolt3"; name = "Cell Bolt Control"; normaldoorcontrol = 1; pixel_x = 0; pixel_y = 25; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/prison) "acm" = (/obj/structure/stool/bed,/obj/machinery/camera{c_tag = "Prison Cell 2"; network = list("SS13","Prison")},/obj/item/device/radio/intercom{desc = "Talk through this. It looks like it has been modified to not broadcast."; dir = 2; name = "Prison Intercom (General)"; pixel_x = 0; pixel_y = 24; prison_radio = 1},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/prison) @@ -132,9 +132,9 @@ "acB" = (/obj/machinery/door/airlock/external{name = "Security External Airlock"; req_access_txt = "63; 13"},/turf/simulated/floor/plating,/area/maintenance/fsmaint) "acC" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/tracker,/turf/simulated/floor/plasteel/airless{icon_state = "solarpanel"},/area/solar/auxport) "acD" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/obj/machinery/door/poddoor/preopen{id = "executionfireblast"; layer = 2.9; name = "blast door"},/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/security/transfer) -"acE" = (/obj/structure/table,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/item/weapon/storage/box/hug,/obj/item/weapon/razor{pixel_x = -6},/turf/simulated/floor/plasteel{icon_state = "whitehall"; dir = 2},/area/security/prison) +"acE" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/machinery/door/poddoor/preopen{id = "executionfireblast"; layer = 2.9; name = "blast door"},/obj/machinery/atmospherics/pipe/simple/general/hidden,/obj/machinery/door/firedoor,/obj/machinery/door/window/brigdoor{base_state = "rightsecure"; dir = 2; icon_state = "rightsecure"; name = "Transfer Room"; req_access_txt = "2"},/obj/machinery/door/window/brigdoor{base_state = "rightsecure"; dir = 1; icon_state = "rightsecure"; name = "Transfer Room"; req_access_txt = "2"},/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 8},/area/security/transfer) "acF" = (/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/item/weapon/scalpel{pixel_y = 12},/obj/item/weapon/circular_saw,/obj/item/weapon/hemostat,/obj/item/weapon/retractor,/obj/item/weapon/surgical_drapes,/obj/item/weapon/razor,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/transfer) -"acG" = (/obj/machinery/flasher_button{id = "executionflash"; pixel_x = 24; pixel_y = 5},/obj/machinery/door_control{id = "executionspaceblast"; name = "Vent to Space"; pixel_x = 25; pixel_y = -5; req_access_txt = "7"},/obj/machinery/atmospherics/pipe/simple/general/hidden,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/prison) +"acG" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{tag = "icon-manifold-r-f (EAST)"; dir = 4},/turf/simulated/wall/r_wall,/area/security/transfer) "acH" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/obj/machinery/flasher{id = "PCell 3"; pixel_x = -28},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/prison) "acI" = (/obj/structure/table,/obj/item/weapon/paper,/obj/item/weapon/pen,/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/prison) "acJ" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/obj/machinery/flasher{id = "PCell 2"; pixel_x = -28},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/prison) @@ -183,12 +183,12 @@ "adA" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/lattice/catwalk,/turf/space,/area/solar/auxstarboard) "adB" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/lattice/catwalk,/turf/space,/area/solar/auxstarboard) "adC" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/lattice/catwalk,/turf/space,/area/solar/auxstarboard) -"adD" = (/obj/structure/table,/obj/item/device/flashlight/lamp,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/prison) +"adD" = (/obj/machinery/flasher_button{id = "executionflash"; pixel_x = 24; pixel_y = 5},/obj/machinery/door_control{id = "executionspaceblast"; name = "Vent to Space"; pixel_x = 25; pixel_y = -5; req_access_txt = "7"},/obj/machinery/atmospherics/pipe/simple/general/hidden,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/transfer) "adE" = (/obj/machinery/atmospherics/pipe/manifold/general/visible{dir = 8},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/security/transfer) -"adF" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/machinery/ignition_switch{id = "executionburn"; pixel_x = 24; pixel_y = 5},/obj/machinery/door_control{id = "executionfireblast"; name = "Transfer Area Lockdown"; pixel_x = 25; pixel_y = -5; req_access_txt = "2"},/obj/machinery/atmospherics/pipe/simple/general/hidden,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/prison) -"adG" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/prison) -"adH" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel{icon_state = "red"; dir = 8},/area/security/prison) -"adI" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,/turf/simulated/wall,/area/security/prison) +"adF" = (/obj/structure/table,/obj/item/device/flashlight/lamp,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/transfer) +"adG" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/machinery/ignition_switch{id = "executionburn"; pixel_x = 24; pixel_y = 5},/obj/machinery/door_control{id = "executionfireblast"; name = "Transfer Area Lockdown"; pixel_x = 25; pixel_y = -5; req_access_txt = "2"},/obj/machinery/atmospherics/pipe/simple/general/hidden,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/transfer) +"adH" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/transfer) +"adI" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 9},/area/security/prison) "adJ" = (/obj/machinery/door_control{id = "permacell3"; name = "Cell 3 Lockdown"; pixel_x = -4; pixel_y = 25; req_access_txt = "2"},/obj/machinery/flasher_button{id = "PCell 3"; pixel_x = 6; pixel_y = 24},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,/turf/simulated/floor/plasteel{icon_state = "redcorner"; dir = 4},/area/security/prison) "adK" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{tag = "icon-manifold-r-f (NORTH)"; dir = 1},/turf/simulated/floor/plasteel,/area/security/prison) "adL" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel{icon_state = "redcorner"; dir = 1},/area/security/prison) @@ -223,12 +223,12 @@ "aeo" = (/obj/structure/cable,/obj/structure/lattice/catwalk,/turf/space,/area/solar/auxport) "aep" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel,/area/security/prison) "aeq" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple/general/visible{dir = 9},/turf/simulated/floor/plating,/area/security/transfer) -"aer" = (/obj/structure/rack,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/obj/item/device/flashlight{pixel_x = 1; pixel_y = 5},/obj/item/weapon/tank/internals/anesthetic{pixel_x = -3; pixel_y = 1},/obj/item/weapon/tank/internals/oxygen/red{pixel_x = 3},/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 8},/area/security/prison) +"aer" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,/turf/simulated/wall,/area/security/transfer) "aes" = (/obj/machinery/atmospherics/pipe/simple/general/visible{dir = 5},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 10},/area/security/transfer) -"aet" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/general/hidden,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/prison) -"aeu" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{tag = "icon-manifold-b-f (NORTH)"; dir = 1},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/prison) -"aev" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 8},/area/security/prison) -"aew" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/security{aiControlDisabled = 0; icon_state = "door_closed"; id_tag = null; locked = 0; name = "Prisoner Transfer Centre"; req_access = null; req_access_txt = "2"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/prison) +"aet" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel,/area/security/prison) +"aeu" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plasteel,/area/security/prison) +"aev" = (/obj/structure/rack,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/obj/item/device/flashlight{pixel_x = 1; pixel_y = 5},/obj/item/weapon/tank/internals/anesthetic{pixel_x = -3; pixel_y = 1},/obj/item/weapon/tank/internals/oxygen/red{pixel_x = 3},/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 8},/area/security/transfer) +"aew" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/general/hidden,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/transfer) "aex" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plasteel,/area/security/prison) "aey" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/floor/plasteel,/area/security/prison) "aez" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 27},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel{icon_state = "red"; dir = 4},/area/security/prison) @@ -265,7 +265,7 @@ "afe" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/lattice/catwalk,/turf/space,/area/solar/auxport) "aff" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/lattice/catwalk,/turf/space,/area/solar/auxport) "afg" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/lattice/catwalk,/turf/space,/area/solar/auxport) -"afh" = (/obj/structure/sign/securearea{pixel_x = 32; pixel_y = 0},/turf/space,/area/space) +"afh" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{tag = "icon-manifold-b-f (NORTH)"; dir = 1},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/transfer) "afi" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plasteel,/area/security/prison) "afj" = (/obj/structure/extinguisher_cabinet{pixel_x = 1; pixel_y = -27},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel{icon_state = "whitehall"; dir = 2},/area/security/prison) "afk" = (/turf/simulated/floor/plasteel{icon_state = "whitehall"; dir = 2},/area/security/prison) @@ -323,7 +323,7 @@ "agk" = (/obj/structure/table,/obj/item/weapon/folder/red,/obj/item/weapon/pen,/turf/simulated/floor/plasteel,/area/security/main) "agl" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/effect/landmark/start{name = "Security Officer"},/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor/plasteel,/area/security/main) "agm" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plasteel{icon_state = "red"; dir = 4},/area/security/main) -"agn" = (/obj/structure/table,/obj/item/weapon/folder/red,/obj/item/weapon/pen,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel{dir = 9; icon_state = "warnwhite"},/area/security/prison) +"agn" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{tag = "icon-manifold-b-f (NORTH)"; dir = 1},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 8},/area/security/prison) "ago" = (/turf/simulated/floor/plasteel{icon_state = "warnwhite"; dir = 1},/area/security/prison) "agp" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel{icon_state = "warnwhite"; dir = 5},/area/security/prison) "agq" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/brig) @@ -397,7 +397,7 @@ "ahG" = (/obj/structure/stool/bed/chair/office/dark,/obj/effect/landmark/start{name = "Warden"},/obj/machinery/door_control{id = "Prison Gate"; name = "Prison Wing Lockdown"; pixel_x = -27; pixel_y = 8; req_access_txt = "2"},/obj/machinery/door_control{id = "Secure Gate"; name = "Cell Shutters"; pixel_x = -27; pixel_y = -2; req_access_txt = "0"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/security/warden) "ahH" = (/obj/structure/table,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 0},/obj/machinery/atmospherics/pipe/manifold/supply/hidden,/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/security/warden) "ahI" = (/obj/structure/table,/obj/item/weapon/folder/red,/obj/item/weapon/pen,/obj/item/weapon/hand_labeler,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/security/warden) -"ahJ" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/book/manual/wiki/security_space_law,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/security/warden) +"ahJ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/security{aiControlDisabled = 0; icon_state = "door_closed"; id_tag = null; locked = 0; name = "Prisoner Transfer Centre"; req_access = null; req_access_txt = "2"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/transfer) "ahK" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/security/warden) "ahL" = (/obj/machinery/light_switch{pixel_y = -23},/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/security/warden) "ahM" = (/obj/structure/grille,/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/window/reinforced/fulltile,/turf/simulated/floor/plating,/area/security/warden) @@ -2239,7 +2239,7 @@ "aRc" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/fancy/donut_box,/turf/simulated/floor/plasteel,/area/bridge) "aRd" = (/obj/structure/grille,/obj/structure/window/fulltile,/turf/simulated/floor/plating,/area/crew_quarters/bar) "aRe" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor/plasteel{icon_state = "bar"},/area/crew_quarters/bar) -"aRf" = (/obj/machinery/atmospherics/pipe/simple/general/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/prison) +"aRf" = (/obj/machinery/atmospherics/pipe/simple/general/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/transfer) "aRg" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "bar"},/area/crew_quarters/bar) "aRh" = (/obj/structure/stool/bed/chair/comfy/beige{dir = 1; icon_state = "comfychair"},/obj/effect/landmark/start{name = "Assistant"},/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/hallway/secondary/entry) "aRi" = (/obj/structure/stool/bed/chair{dir = 1},/obj/effect/landmark/start{name = "Assistant"},/turf/simulated/floor/plasteel{icon_state = "bar"},/area/crew_quarters/bar) @@ -3003,11 +3003,11 @@ "bfM" = (/obj/structure/table/wood,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/item/device/camera,/obj/item/weapon/storage/photo_album{pixel_y = -10},/turf/simulated/floor/wood,/area/crew_quarters/captain) "bfN" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/plasteel,/area/hallway/primary/central) "bfO" = (/obj/structure/closet/secure_closet/chemical,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/chemistry) -"bfP" = (/obj/machinery/light_switch{pixel_x = 25; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/general/hidden{dir = 9},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/prison) +"bfP" = (/obj/machinery/light_switch{pixel_x = 25; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/general/hidden{dir = 9},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/transfer) "bfQ" = (/obj/machinery/camera{c_tag = "Chemistry"; dir = 2; network = list("SS13")},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/machinery/chem_heater,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/chemistry) "bfR" = (/obj/machinery/chem_dispenser,/turf/simulated/floor/plasteel{dir = 1; icon_state = "whiteyellow"},/area/medical/chemistry) "bfS" = (/obj/machinery/chem_master,/turf/simulated/floor/plasteel{dir = 5; icon_state = "whiteyellow"},/area/medical/chemistry) -"bfT" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/obj/machinery/atmospherics/pipe/simple/general/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/prison) +"bfT" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/obj/machinery/atmospherics/pipe/simple/general/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/transfer) "bfU" = (/obj/structure/closet/l3closet/scientist,/turf/simulated/floor/plasteel{icon_state = "whitehall"; dir = 2},/area/toxins/explab) "bfV" = (/obj/structure/stool/bed/chair,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/medbay) "bfW" = (/obj/structure/stool/bed/chair,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/medbay) @@ -3148,7 +3148,7 @@ "biB" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/wall,/area/medical/chemistry) "biC" = (/obj/structure/table/glass,/obj/machinery/reagentgrinder,/obj/structure/extinguisher_cabinet{pixel_x = -27; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/chemistry) "biD" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/chemistry) -"biE" = (/obj/structure/table,/obj/item/weapon/restraints/handcuffs,/turf/simulated/floor/plasteel{icon_state = "red"; dir = 10},/area/security/prison) +"biE" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel{icon_state = "red"; dir = 10},/area/security/prison) "biF" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/chemistry) "biG" = (/turf/simulated/floor/plasteel{dir = 4; icon_state = "warning"},/area/ai_monitored/security/armory) "biH" = (/obj/machinery/smartfridge/chemistry,/turf/simulated/floor/plating,/area/medical/chemistry) @@ -4660,6 +4660,7 @@ "bLF" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/wall/r_wall,/area/medical/virology) "bLG" = (/turf/simulated/wall/r_wall,/area/medical/virology) "bLH" = (/turf/simulated/wall,/area/medical/virology) +"bLI" = (/obj/structure/table,/obj/item/weapon/restraints/handcuffs,/turf/simulated/floor/plasteel,/area/security/prison) "bLJ" = (/obj/structure/sign/biohazard,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/wall,/area/medical/virology) "bLK" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/disposalpipe/sortjunction{dir = 2; icon_state = "pipe-j2s"; sortType = 13},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/maintenance/asmaint) "bLL" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/airlock/maintenance{name = "Xenobiology Maintenance"; req_access_txt = "55"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/toxins/xenobiology) @@ -4743,6 +4744,7 @@ "bNl" = (/obj/machinery/atmospherics/unary/portables_connector/visible{dir = 8},/turf/simulated/floor/plasteel{dir = 6; icon_state = "warning"},/area/toxins/mixing) "bNm" = (/obj/item/target,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating{icon_state = "warnplate"},/area/toxins/test_area) "bNn" = (/obj/machinery/light_construct{dir = 8},/turf/simulated/floor/plating,/area/construction) +"bNo" = (/turf/simulated/floor/plasteel,/area/security/prison) "bNp" = (/obj/machinery/light_construct{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel,/area/construction) "bNq" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/wall,/area/construction) "bNr" = (/obj/structure/disposalpipe/segment,/obj/structure/extinguisher_cabinet{pixel_x = -27; pixel_y = 1},/obj/machinery/light{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{dir = 8; icon_state = "cautioncorner"},/area/hallway/primary/aft) @@ -4939,6 +4941,7 @@ "bRa" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/virology) "bRb" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/virology{name = "Break Room"; req_access_txt = "39"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/virology) "bRc" = (/obj/structure/extinguisher_cabinet{pixel_x = -5; pixel_y = 30},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/virology) +"bRd" = (/obj/structure/table,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/item/weapon/razor{pixel_x = -6},/obj/item/stack/medical/ointment{pixel_y = 4},/obj/item/stack/medical/bruise_pack{pixel_x = 10; pixel_y = 2},/obj/item/weapon/reagent_containers/syringe/epinephrine{pixel_x = 5; pixel_y = -2},/turf/simulated/floor/plasteel{icon_state = "whitehall"; dir = 2},/area/security/prison) "bRe" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{tag = "icon-manifold-b-f (EAST)"; dir = 4},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/virology) "bRf" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/firealarm{pixel_y = 25},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/virology) "bRg" = (/obj/machinery/power/apc{cell_type = 5000; dir = 1; name = "Virology APC"; pixel_x = 0; pixel_y = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/camera{c_tag = "Virology Module"},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/virology) @@ -5951,6 +5954,7 @@ "ckz" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel,/area/engine/engineering) "ckA" = (/obj/structure/closet/secure_closet/engineering_personal,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel{dir = 4; icon_state = "yellow"},/area/engine/engineering) "ckB" = (/obj/structure/lattice,/obj/machinery/atmospherics/binary/pump{dir = 2; name = "Incinerator Output Pump"; on = 1},/turf/space,/area/space) +"ckC" = (/obj/machinery/door/airlock/security{name = "Morgue"; req_access = null; req_access_txt = "63"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/prison) "ckD" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/engine,/area/maintenance/incinerator) "ckE" = (/obj/structure/closet/wardrobe/black,/turf/simulated/floor/plasteel/shuttle,/area/shuttle/arrival) "ckF" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor/plating,/area/maintenance/asmaint2) @@ -6485,6 +6489,7 @@ "cuO" = (/turf/simulated/floor/plating,/obj/structure/shuttle/engine/propulsion/burst{dir = 4},/turf/simulated/wall/shuttle{icon_state = "swall_f6"; dir = 2},/area/shuttle/pod_4) "cuP" = (/obj/machinery/door/airlock/engineering{name = "Telecommunications"; req_access_txt = "61"},/turf/simulated/floor/plasteel,/area/tcommsat/computer) "cuQ" = (/obj/structure/rack{dir = 1},/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/item/weapon/pickaxe{pixel_x = 5},/obj/item/weapon/shovel{pixel_x = -5},/turf/simulated/floor/plasteel,/area/quartermaster/miningdock) +"cuR" = (/obj/structure/table,/obj/item/weapon/storage/box/bodybags,/obj/item/weapon/pen,/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/prison) "cuS" = (/obj/machinery/atmospherics/binary/pump{dir = 1; on = 1},/obj/structure/sign/fire{pixel_x = 32; pixel_y = 0},/obj/machinery/doorButtons/access_button{idSelf = "incinerator_access_control"; idDoor = "incinerator_airlock_interior"; name = "Incinerator airlock control"; pixel_x = -8; pixel_y = 24},/obj/machinery/light/small{dir = 4},/turf/simulated/floor/engine,/area/maintenance/incinerator) "cuT" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{tag = "icon-manifold-r-f (NORTH)"; dir = 1},/turf/simulated/floor/plasteel,/area/quartermaster/storage) "cuU" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel,/area/quartermaster/storage) @@ -6502,6 +6507,14 @@ "cvg" = (/obj/machinery/door/airlock/glass{autoclose = 0; frequency = 1449; heat_proof = 1; icon_state = "door_locked"; id_tag = "incinerator_airlock_exterior"; locked = 1; name = "Turbine Exterior Airlock"; req_access_txt = "32"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/engine,/area/maintenance/incinerator) "cvh" = (/obj/machinery/atmospherics/unary/heat_reservoir/heater{dir = 8},/turf/simulated/floor/plating,/area/maintenance/asmaint2) "cvi" = (/obj/machinery/camera{c_tag = "Engineering East"; dir = 8; network = list("SS13"); pixel_x = 0; pixel_y = 0},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{tag = "icon-manifold-r-f (EAST)"; dir = 4},/obj/structure/closet/wardrobe/engineering_yellow,/turf/simulated/floor/plasteel{dir = 4; icon_state = "yellowcorner"},/area/engine/engineering) +"cvj" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/turf/simulated/wall,/area/security/prison) +"cvk" = (/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/prison) +"cvl" = (/obj/structure/table,/obj/item/weapon/folder/red,/obj/item/weapon/pen,/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{tag = "icon-manifold-r-f (EAST)"; dir = 4},/turf/simulated/floor/plasteel{dir = 9; icon_state = "warnwhite"},/area/security/prison) +"cvm" = (/obj/machinery/light/small{dir = 8},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/prison) +"cvn" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/simulated/wall,/area/security/prison) +"cvo" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/prison) +"cvp" = (/obj/structure/bodycontainer/morgue,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/prison) +"cvq" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/book/manual/wiki/security_space_law,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/item/weapon/storage/firstaid/regular{pixel_x = -3; pixel_y = -3},/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/security/warden) (1,1,1) = {" aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -6574,21 +6587,21 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaaiaaJaasaasaasaasaaKaasaasaaLaaMaaiaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaaaaafaaaaafaaaaafaaaaafaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaaQaaKaasaasaaRaaSaaKaasaaTaaUaaiaaaaaVaafaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaafaaaaafaaaaafaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaZaasaasaasaaKabaabbaasaasabcabdaaiaaiaaiaafaaaaaaaaaaaaaaaaafaaaaaVaaaaaaaaaaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeabeabeabfabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHaaOaaWaaNaaXabiaasabjaasaasaasaasaasaasaauaasabkablaaiaafaafaafaafaafaafaafaafabmabmabmabnabmabmaboaboabpabpabpaboaboaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaaafaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabgaaYabraaPadhabuaasaasabvabwabxaasabyabzabAaasabBabCaaiaafaaaaafaafaafaafaaaaafabnabDabEaeIabFabGaboabIabHabKabJabLaboaaaaaaaaaaafaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafabMaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaabfabfabeabfabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabgabNabPabOadhabSabTabSabSabSabUabSabSabSabVabSabSabWaaiactactactactactactactactabmabXabEaeIabYabDaboacaabZaccacbacwaboaaaaafacdaagaagaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfabfabfabfabfaafaafaaaaceaaaacfaafabfabfabfabfabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaaafaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabgabQacgabRadhackaasaclabSacmacnacoabSacpacqacrabSacsaaiacMacNacOacOacPacQacRacSactacuabEaeIaecabDabpacyacxaczaccacUaboaaaaafacAacBacAaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaaaaaaafaaaaafaaaaaaaceaaaaaaaafaaaaafaaaaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafacCaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHaciacDabsacjacHaasacIabSacJacnacIabSacKacqacIabSacLaaiacMadkadladladladladmadnactacTabEaeIaecabDabpacWacVacXaccadpaboaafaafacAacYacAaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafacZacZacZacZacZaaaadaaaaacZacZacZacZacZaafabfaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfadbadbadbadbaafaafaaaadcaaaaafaafabfabfabfabfabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafhaaHaaHaaHacFaddacGadhadfadgadhabSadfadiadhabSadfadjadhabSabSaaiafnaRFaNFadVaNFadWbhdbiGactadoabEaeIaecabDaboadradqadtadsaeeaboabnabmadvacBacAacAachaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaadwadxadxadxadxadyadzadAadBadBadBadBadCaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaaaaaafaaaaafaaaaaaadcaaaaaaaafaaaaafaaaaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHabhadeadDadGadFadIadHadKadJadMadLadOadNadUadLaepadPadQadRaaiadSadTaNFboSaNFadXadYadZaeaabEabEaebaeTabmaboaedaboahPaboaefaboaegaehacAaeiacAarqanTanTahtaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafaemaemaemaemaemaaaadzaaaaemaemaemaemaemaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafaenaenaenaenaenaaaaeoaaaaenaenaenaenaenaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHadEaeqaeraeuaetaewaevafiaexavkaifaexaexaexaifaOyaOvaeyaezaaiaeAaeBaeCaeDaeEaeFaeGaeHactahoagSaeJahpabmaeLaeMaeNaeOaePaeQaeNaeRaeSaeVaeUaeVamoamIamJagPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaaaaaaaaafaaaaaaaaaadzaaaaaaaaaaafaaaaaaaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaafaafbafbafbafbafcafdafeaffaffaffaffafgaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaOxaesaOzaRfbfTbfPabSbiEafjafkaflafmacEafoafpafpafpabSafqafraaiafsaftafuafvafwafxafyafzactacvabnafBafCabmafDafEafFafGafHafIafJafKafLacAafMacAaptanTanTagQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafacZacZacZacZacZaaaadzaaaacZacZacZacZacZaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafafPafPafPafPafPaaaafdaaaafPafPafPafPafPaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHaaHaaHbaMbOybkdaaHabSadhafQadfafRafRafRafRafRafRafRafSafTafUafVafWafXafYafZagaagbagcafUagdahSageagfaggaghagiafFagjafHagkaglagmabmadvacAacAacAachaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaadwadxadxadxadxadyadzadAadBadBadBadBadCaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaaaaaaaaafaaaaaaaaaafdaaaaaaaaaaafaaaaaaaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaHaaHaaHaaHaaHaaiagnagoagpafRagqagragsagtaguafRagvagwagxagyagzagAagBagaagCagbagDagEagFafFagGagHagIagJagKaeKafAagNagOagLagMagRanUagUacAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafaemaemaemaemaemaaaadzaaaaemaemaemaemaemaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafaenaenaenaenaenaaaafdaaaaenaenaenaenaenaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaiagVagWagXafRagYagZahaahbahcafRagvahdaheahfahgahhahiahjahjahkahlahmahnaqqaPUaPTahqahrahsahTahVahuahvahWahwabmacAahxacAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaaaaaaaaafaaaaaaaaaadzaaaaaaaaaaafaaaaaaaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaafaafbafbafbafbafcafdafeaffaffaffaffafgaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiahyagWaHeafRagYagZahzahbahAafRahBahCahDahEahFahGahHahIahJahKahLahMahNahObzKbzJahRcdlankaiaahUbuJahXaLjahYahZaibaicaidaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafacZacZacZacZacZaaaadzaaaacZacZacZacZacZaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfacfafPafPafPafPafPaaaafdaaaafPafPafPafPafPaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaafaaaaaaaaiaieagWaigafRaihaiiaiiaijahcafRaikailafUaimainaioaipaipaiqairafUafUaisaitaduaduaduabmabmabmabmabmabmabmabmabmaivaiwaidaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaadwadxadxadxadxadyadzadAadBadBadBadBadCaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaaaaaaaaafaaaaaaaaaafdaaaaaaaaaaafaaaaaaaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaixaixaiyaixaizaiAafRafRafRafRafRafRaiBaiCafRaiDaiEaiFaiFaiFaiFaiFaiFaiFaiFaiGaiHaiIaiJaiFailaiAaiKaiLaiMaiNaiOaiPaiQaiRaiuaivaiwaidaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafaemaemaemaemaemaaaadzaaaaemaemaemaemaemaiSabqaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHaaOaaWaaNaaXaaiaaiabiaasabjaasaasaasaasaasaasaauaasabkablaaiaafaafaafaafaafaafaafaafabmabmabmabnabmabmaboaboabpabpabpaboaboaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaaafaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabgaaYabraaPabOabsaaiabuaasaasabvabwabxaasabyabzabAaasabBabCaaiaafaaaaafaafaafaafaaaaafabnabDabEaeIabFabGaboabIabHabKabJabLaboaaaaaaaaaaafaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafabMaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaabfabfabeabfabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabgabNabPabRabOabsaaiabSabTabSabSabSabUabSabSabSabVabSabSabWaaiactactactactactactactactabmabXabEaeIabYabDaboacaabZaccacbacwaboaaaaafacdaagaagaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfabfabfabfabfaafaafaaaaceaaaacfaafabfabfabfabfabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaaafaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabgabQacgacjabOabsaaiackaasaclabSacmacnacoabSacpacqacrabSacsaaiacMacNadSafnacPacQacRacSactacuabEaeIaecabDabpacyacxaczaccacUaboaaaaafacAacBacAaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaaaaaaafaaaaafaaaaaaaceaaaaaaaafaaaaafaaaaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafacCaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHaciacDacEacGabsaaiacHaasacIabSacJacnacIabSacKacqacIabSacLaaiacMadkadladladladladmadnactacTabEaeIaecabDabpacWacVacXaccadpaboaafaafacAacYacAaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafacZacZacZacZacZaaaadaaaaacZacZacZacZacZaafabfaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfadbadbadbadbaafaafaaaadcaaaaafaafabfabfabfabfabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHaaHaaHacFaddadDabOabSaaiadfadgadhabSadfadiadhabSadfadjadhabSabSaaiacOaRFaNFadVaNFadWbhdbiGactadoabEaeIaecabDaboadradqadtadsaeeaboabnabmadvacBacAacAachaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaadwadxadxadxadxadyadzadAadBadBadBadBadCaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaaaaaafaaaaafaaaaaaadcaaaaaaaafaaaaafaaaaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHabhadeadFadHadGaeradIaeuaetadKadJadMadLadOadNadUadLaepadPadQadRaaiacOadTaNFboSaNFadXadYadZaeaabEabEaebaeTabmaboaedaboahPaboaefaboaegaehacAaeiacAarqanTanTahtaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafaemaemaemaemaemaaaadzaaaaemaemaemaemaemaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafaenaenaenaenaenaaaaeoaaaaenaenaenaenaenaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHadEaeqaevafhaewahJagnaexaifafiaexavkaifaexaexaexaifaOyaOvaeyaezaaiaeAaeBaeCaeDaeEaeFaeGaeHactahoagSaeJahpabmaeLaeMaeNaeOaePaeQaeNaeRaeSaeVaeUaeVamoamIamJagPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaaaaaaaaafaaaaaaaaaadzaaaaaaaaaaafaaaaaaaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaafaafbafbafbafbafcafdafeaffaffaffaffafgaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaOxaesaOzaRfbfTbfPaaHbiEbNobLIafjafkaflafmbRdafoafpafpafpabSafqafraaiafsaftafuafvafwafxafyafzactacvabnafBafCabmafDafEafFafGafHafIafJafKafLacAafMacAaptanTanTagQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafacZacZacZacZacZaaaadzaaaacZacZacZacZacZaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafafPafPafPafPafPaaaafdaaaafPafPafPafPafPaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHaaHaaHbaMbOybkdaaHadfckCabSadhafQadfafRafRafRafRafRafRafRafSafTafUafVafWafXafYafZagaagbagcafUagdahSageagfaggaghagiafFagjafHagkaglagmabmadvacAacAacAachaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaadwadxadxadxadxadyadzadAadBadBadBadBadCaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaaaaaaaaafaaaaaaaaaafdaaaaaaaaaaafaaaaaaaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaHaaHaaHaaHaaHcuRcvkcvjcvlagoagpafRagqagragsagtaguafRagvagwagxagyagzagAagBagaagCagbagDagEagFafFagGagHagIagJagKaeKafAagNagOagLagMagRanUagUacAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafaemaemaemaemaemaaaadzaaaaemaemaemaemaemaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafaenaenaenaenaenaaaafdaaaaenaenaenaenaenaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafabScvmcvocvnagVagWagXafRagYagZahaahbahcafRagvahdaheahfahgahhahiahjahjahkahlahmahnaqqaPUaPTahqahrahsahTahVahuahvahWahwabmacAahxacAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaaaaaaaaafaaaaaaaaaadzaaaaaaaaaaafaaaaaaaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaafaafbafbafbafbafcafdafeaffaffaffaffafgaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabScvpcvkabSahyagWaHeafRagYagZahzahbahAafRahBahCahDahEahFahGahHahIcvqahKahLahMahNahObzKbzJahRcdlankaiaahUbuJahXaLjahYahZaibaicaidaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafacZacZacZacZacZaaaadzaaaacZacZacZacZacZaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfacfafPafPafPafPafPaaaafdaaaafPafPafPafPafPaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaabScvpcvkabSaieagWaigafRaihaiiaiiaijahcafRaikailafUaimainaioaipaipaiqairafUafUaisaitaduaduaduabmabmabmabmabmabmabmabmabmaivaiwaidaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaadwadxadxadxadxadyadzadAadBadBadBadBadCaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaaaaaaaaafaaaaaaaaaafdaaaaaaaaaaafaaaaaaaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaixaizaizaizaizaiAafRafRafRafRafRafRaiBaiCafRaiDaiEaiFaiFaiFaiFaiFaiFaiFaiFaiGaiHaiIaiJaiFailaiAaiKaiLaiMaiNaiOaiPaiQaiRaiuaivaiwaidaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafaemaemaemaemaemaaaadzaaaaemaemaemaemaemaiSabqaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafaenaenaenaenaenaaaafdaaaaenaenaenaenaenaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaixaiTaiUaiVaiWaiXaiYaiZajaajbajcajdajeajfajgajhajiajjajkajjajjajjajjajjajjajlajjajiajmajkajnajoajpajqajrajsajtajuajvajwaiuaivaiwacAaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaaaaaafaaaaafaaaaaaadzaaaaaaaafaaaaafaaaaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaafaafbafbafbafbafcafdafeaffaffaffaffafgaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaelaekaekaekaejaaaaafaizajyajzajAajBajCajDajEajFajGajHajIajJajMajLajIajJajKajLajIajJajQajOajOajOajPahCajNajRajSajTajUajVajWajVajVajVajXajYaiPaiuaivaiwaidaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfabfabfaafaafaafaafaafadzaafaafaafaafaafabfabfabfaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaiSafPafPafPafPafPaaaafdaaaafPafPafPafPafPaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafNakJalqalpafNaiyaiyakdakeakfakgakhaiAafRakiafRafRakjakkaklakmaknakoaklakmaknakpakqakmakraksakmaktakuakmakvakwakxaiAakyakzaiPakAaiPakBakCaiPaiuaivaiwaidaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaaaaafaaaaaaakDaaaaaaaafaaaaaaaafaaaaafaafaafaaaaaaaaaaaaaaaaaaaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa From 5bfaff9879b5afe8e29eba0f03d7837a651ceb03 Mon Sep 17 00:00:00 2001 From: duncathan Date: Fri, 10 Jul 2015 03:35:56 -0600 Subject: [PATCH 38/77] adds tray goggles --- .../closets/secure/engineering.dm | 3 +- .../clothing/glasses/engine_goggles.dm | 53 +++++++++++++++++- config/admins.txt | 3 +- icons/mob/eyes.dmi | Bin 8952 -> 9030 bytes icons/obj/clothing/glasses.dmi | Bin 9161 -> 9232 bytes 5 files changed, 54 insertions(+), 5 deletions(-) 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 eb91fb553eb..a96337856ac 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm @@ -88,4 +88,5 @@ new /obj/item/device/analyzer(src) new /obj/item/tapeproj/engineering(src) new /obj/item/weapon/watertank/atmos(src) - new /obj/item/clothing/suit/fire/atmos(src) \ No newline at end of file + new /obj/item/clothing/suit/fire/atmos(src) + new /obj/item/clothing/glasses/meson/engine/tray(src) \ No newline at end of file diff --git a/code/modules/clothing/glasses/engine_goggles.dm b/code/modules/clothing/glasses/engine_goggles.dm index 5062d3aeda4..8f92ce9acca 100644 --- a/code/modules/clothing/glasses/engine_goggles.dm +++ b/code/modules/clothing/glasses/engine_goggles.dm @@ -7,6 +7,7 @@ var/mode = 0 //0 - regular mesons mode 1 - t-ray mode var/invis_objects = list() action_button_name = "Change Scanning Mode" + var/range = 1 /obj/item/clothing/glasses/meson/engine/attack_self() ui_action_click() @@ -19,13 +20,13 @@ vision_flags = 0 darkness_view = 2 invis_view = SEE_INVISIBLE_LIVING - usr << "You toggle the goggles scanning mode to \[T-Ray]." + usr << "You toggle the goggles' scanning mode to \[T-Ray]." else SSobj.processing.Remove(src) vision_flags = SEE_TURFS darkness_view = 1 invis_view = SEE_INVISIBLE_MINIMUM - usr << "You toggle the goggles scanning mode to \[Meson]." + usr << "You toggle the goggles' scanning mode to \[Meson]." invis_update() update_icon() @@ -46,7 +47,7 @@ scan() /obj/item/clothing/glasses/meson/engine/proc/scan() - for(var/turf/T in range(1, loc)) + for(var/turf/T in range(range, loc)) if(!T.intact) continue @@ -83,3 +84,49 @@ var/mob/living/carbon/human/user = loc if(user.glasses == src) user.update_inv_glasses() + +/obj/item/clothing/glasses/meson/engine/tray //atmos techs have lived far too long without tray goggles while those damned engineers get their dual-purpose gogles all to themselves + name = "Optical T-Ray Scanner" + desc = "Used by engineering staff to see underfloor objects such as cables and pipes." + icon_state = "trayson-tray" + action_button_name = "Toggle Scanner Power" + + mode = 1 + var/on = 1 + vision_flags = 0 + darkness_view = 2 + invis_view = SEE_INVISIBLE_LIVING + range = 2 + +/obj/item/clothing/glasses/meson/engine/tray/New() + SSobj.processing |= src + ..() + +/obj/item/clothing/glasses/meson/engine/tray/process() + if(!on) + return null + ..() + +/obj/item/clothing/glasses/meson/engine/tray/update_icon() + icon_state = "trayson-tray[on ? "" : "_off"]" + if(istype(loc,/mob/living/carbon/human/)) + var/mob/living/carbon/human/user = loc + if(user.glasses == src) + user.update_inv_glasses() + +/obj/item/clothing/glasses/meson/engine/tray/ui_action_click() + on = !on + + if(on) + SSobj.processing |= src + usr << "You turn the goggles on." + + else + SSobj.processing.Remove(src) + usr << "You turn the goggles off." + invis_update() + + update_icon() + +/obj/item/clothing/glasses/meson/engine/tray/t_ray_on() + return on & ..() \ No newline at end of file diff --git a/config/admins.txt b/config/admins.txt index 4b3dac24043..d1ebfc143f5 100644 --- a/config/admins.txt +++ b/config/admins.txt @@ -87,4 +87,5 @@ Ahammer18 = Game Master ACCount12 = Game Master fayrik = Game Master shadowlight213 = Game Master -drovidicorv = Game Master \ No newline at end of file +drovidicorv = Game Master +Dunc = Game Master \ No newline at end of file diff --git a/icons/mob/eyes.dmi b/icons/mob/eyes.dmi index e3229507a358c960912744f46abea142b43adbdd..af3b20ed3037ab7f0d61cac54bef9f0b48819fd9 100644 GIT binary patch literal 9030 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 B=iLAR literal 8952 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%0D65jm?>bagCv|zXx$fOE%$?dXs~PwX zf1(JbxIk%}8RqIC&e--kH`;2pb==q}F52Xt6Tsd1)FdPE3a>2pmg&uE!qM!qL41oF zxJCSRcsrpqmdwOx!nbb%4-5>FHlvOOpP$J$RF{e0$Aj~ZXlE~x^=dYdvqaJDw7XPmDGL3LCV&XwWZBZXSlTUOH7&>#wKU*BI2U@x}n=MvoniK46Y{JTbw;y zJUNiAfF&^$R$jZ5Z zfJHnrap;^u2&Y)5<1nc?dr1g&Mz0!xH$&68y&aqr^ZdISBi>nveAPAISwvKnq@~yQ zciUAiI`Ak%j*|s8y=WbT1DT33O3}me%>KE@D%xp>lX8@t(cfHx!L-#fE~xG z{@qhdp+&KBcUmtID*F>%O&O8Q$CcMp$Mv~B;E7!R~^ z$|cs1=vc%6^zWl`fR%GUgFn2YnJ1m|i0|Pp%b1)=ZHrSeTPU)fTQgXD{6V09T)xgy zL=32YOa8R4xa3pVx;!nUlQ}xtSSl~Hpx%kZPlge3CCKjXQ@A5{Ig zQ&Zv%HEvXIHyjSf@|cxggyol%$Z}2>`J=7TSX$A~fBxuZ8+i8>8Sj&TfRu@sAfW1V zRkwBBAe0nsweDro#SQh-eZZ?S!RNLl#~_ai*U{Bo8%SUTg8KU8e*E|$kx|RZ%!~~l zsbNtw@j6-StzHhr4Qzbq+mJ<$k_D7xvbG-u2OZ$IJ@MOC&Cx}+87otTb zLBPviC7|_(eKJL`(N*2JsQ$DI5o0sLn%Ux8(;AELWdY29 zjAGZh30v(!z0jv`w4qPFo=(J@f$2YtlWA8CC7%|7I?D|TJSFNU{Pf>Zq37W>*?=*^ zgwr%&hw*Cw_dFL`|HQyRQ*y*wZxoXCYi;!X?15*K-|5z`?n;xEbT^}}Si5rF?=ISJ z_E_=;-%0uSh`eQa6#H5Jguh)b=ai014{lR$=#ii%yk&G|dEp8vUeVy9yt?##a)@xQ ztEUIw68#ln>Ez*#SQ5i+_K{y$x*zR$AKF%j+ZKzrN6F{O2C zu4L0H9f&i#KOm1&OjlS_;k}a-^g1-IvQp}X-d@Qlp)~`7>dbQgUfprsP=6(g^XVE6 z!#T6sSJ;rp58wLvyzaH1yr}9&irGx!sA$dwl+AY3yg{EM)jw3r;c6|n%K;nZVVT+J zDm~q+itQycjs2A%-nwVa}fIjiMW7 zQepFFtqGJ~7=PN?YKv``%{u?g$udXObT*BW3igy0Uu{}p-`$MKGtuz`PD_DL$BhP z|M7nnBtp1J{cL zSq^t_IZPgKjE;c7({lzArGNoM@actEkJ6!Gg#3|z1bB>o)q^o#Q1b6WgIkv2hNjZ{ zu&}jEev)OMA#S|7-YRv{!Z0Wl>LmIZO`pX%mLV>?=bIBY#+ki}u+olq5?f9v2+#Uk zgMxdIETOrqZ7|1}w8N4{YeGo<(?0<(6b+m7jkD2SZ)#dv|JF#>x`tr9vESl&a`nar z&q`(Z3t=b$el;iLmIn-xlnkC8DC)@~U}k2P`X36=S)Z#_vppmP1J=;yIB%4bm`G;+ zqX<%VMb)o_QZh$7Tj7PQg0+)ZcDBu95tlPxS9XtnILT9i8Nusbc}>xY;#@ud@}Z}D zaR#6^ym#6gY%g9w3SVFVs(E5yF0G|VVF3a1rM)l|0|^KGCOV;&@5;7*bhEDgRzP<+ zBb42?Hy5tdTI-avl})iEL-270$#+K*M3~lLM!Li_Tw3`2&o=WxGBQjva1Hg1f~Y`_ zR&;J_oLxXbH}$h6Z^lMLWB#5<=T0o>Y+zJ~d`{1c+EIY|U&)ioX#l{!HQY7aoaAOg z{Hp6710*TwxWFZ9Us71y5=|PZTv6RV zY<$7@h!t%RM?PY;Kqe1TK1+6MSPnoP2rW;B<>t~Fd;A3fA8|g7EiQ(?u1#H;Snsd- zS~hTyWa;JVs?PN|?#vWnB( zK4a&t1ti9#dHj$d+iDu140>dE?9}_D9G<(Y%cU+jTNPwS1%v-4Bq9uni3Wg&`1s)} zva%S0e{aO}bm!b~k^+o()JJGA$zEqBSn-Jl- zqRIPdZFAmK(68dkwK>^`p6K?j$8X5OAfoMcDr2t9lk?E9WgCo ze-w^5KvR$Jj4oX_*A_psLtK81^m)C-Au$e+%QKTjw0IJ>wTV(bd)l)S&op&vl$XLd zd$?v{e%kkin|sCO`_E}G2gl>{{aMBi$(E=nY!7XMFp(fr@t5}IryIr5gSs4(m4B5&gNoUBfUI><9Q6*AnQ7f!D>>I^Ho zzwKu@A=ys(D&e`2q{dPX^3)cu=QfZKB;R!#xWLVg(Hj1^YEi-Y5s!~7EiLx;XdV}r zR&1L$3SL7oIw)#dIdv84g_(jD>*1SgkP~@(x+VF>lOQNrC-3;mfqR^WHPaDc?8v?I9w)gR3mnH6_=wszz?yK(C77t{TBaS8)?9*KnjF z#fTNnWN9j~*4H<0g@cB|2PXN;nEy?%;=g4E(PhcVbQTJYk1b$f@tBU8bpC_IHNi-s zz$0lU21zUlJy1snv?Dv&r7MpJe|fnzkBKRy+oFa$s<#jYwG_z8m~|j(TpV{Yo8DL0 z%eFQAP)v&T1s#4+S60{6CI4+Qb}2A7KMw+QbaX&4zPSSg%Sw62JHDGiQRaydaT;># zTjne~m8s%By>sTXn85l!_~DN84NwQv9qP!-_ip6%k#{-FA9aq{`U5Q@Oaml@S40x( zKj+7PS%4z9Z4=ZM16meMiGV>;2eS!BywIUImc=%a?5x^5_X9&5V4R01T@>X6NO-~6 zPvq6q>W%zOU7^FL!%KX4qPH4APC-NT^_pYu)6_A36KKZ`sp-iD>(2)I0n;Kp;q6kx-&#ZhtFzv z2?kS*(Czfyp5KoJ8ye>M21m;RrI`sjY$FOY4@&>rpXtezjr*O!m?5-ee`RF5ScC+5 z-bA;rn!o+6UMi0oNivQNQ}uRFXz_u2{7qDIT6VB*)N&cLf~8rq0n^1w0|%&>AmdI} z2d$HXd{h`)+7aHoHqZ$RedJ;Xq+b!w(&9alPKb{~u&6Zm7CAsxvKQK-V{|NWw5;FUo%B**1D8`1YJ5fqI&mU(sjR*-Z7xjDgzjq>9%cMk zQIxdLFePX$w_R7%K?T77N=?ytuxrW4nQUsoxV+?3uIyB+tLKPctfc6@nJMSQ&)qSlWrzJqY7n$f_6K2wpOeoPBHqWX>5jKa`Y|=(ipY-z{Zo|vr>1IYe5>3M=b_znZyG)n z1wQ$;-jZLiVf|r=bjH!3On6Re@K>n~N+%^HL@RR|NRw#C!lWN6kzqjEk0ASheAYg5 zsaZ+>^2{Z&*uy`(b5r%o?FSrJq1!Qn)c$bDkN}ub2S*m`$Z#$VGwe3eENwF0ETm5> z^F}|jB74Y+MAwvcP`!$J-y~Et(Y*2SC)b1%EG@Jq;zw0-Jbsuzt!SB>jR6q=p`+if z)~ujbdaR`sF$o=?gcH^-I>&6Gwi}PQF1MwYy`Juteo&785 zX-9{8Z>q)lKwb<=NA!fJSRe&+KuYW7=-W)pMwwTEi9^|L$n{aF_gehj@o{wwa^{29H|^m(Z?h#6xy5;QWHgfkpZA;hXfFZ-t6FDMor6IiY=IK9w& zT!-E2n?br58*S@#rSy{PeQMl;=fY7I0z8la0s3PH%j$sx`+-sN$nz(48E_{SI*R7F zC#2WICCmOU9`eG%P9~$={eHpfp7J0&zc0}N%qbKgEWuT`BKgkzT1GavI?y*os_=AD z<#=1&(ucY#@MtAerD8%=L2mM(+1`6`40P4$O@@+?>%y{HrcM#be%Vv|!I{xJp0F2R zS{FzhHW)$t56ee zrq5~&CuGb_R#{c`+{f*8+NQUGtX|?ME7kN}`%{Qnj9ydr(DQ(spbPvxG*7?M7Dct! zdreLA3xkD~l~GuDc3V(2Xh11GJ3D&gRPkf|(Z195O&>mYGa1=5Zf0{nnkTw?ebQE7 z1BVpN3r0OZMX69aBc8pqNZ9{q%C)d#qOPQ&LJ5!Iq`!R@`CoW_@%O~Cb;gQaD{gS~ Q79BuQR#m1_3KH^v0J>p&=l}o! From 7307079f8be81037fcdeca0664c49237cf7ad61e Mon Sep 17 00:00:00 2001 From: phil235 Date: Fri, 10 Jul 2015 22:29:06 +0200 Subject: [PATCH 39/77] Fixes stripping an item from someone not checking if the item is still there after the delay. Same fix for pocket picking and removing embedded item. Adding a warning message when trying to put an item on someone in the wrong slot. Fixes loyalty implant message upon destruction being sent to wrong/dead people. Fire on mob will now slowly be consumed (no more forever on fire corpse). Some work on fire related proc. Can't lit a mob on fire with a lighter that isn't lit. Removing duplicate code in species.dm. You can no longer heal your burns by ingesting clf3 and dousing yourself with water repeatedly. simplified micro/macro explosive implant's timed explosion code. --- .../objects/items/weapons/cigs_lighters.dm | 3 +- .../objects/items/weapons/implants/implant.dm | 23 ++--- code/modules/mob/living/carbon/human/human.dm | 11 +-- code/modules/mob/living/carbon/human/life.dm | 61 ++++++-------- .../mob/living/carbon/human/species.dm | 83 ++----------------- code/modules/mob/living/living.dm | 9 +- code/modules/mob/living/living_defense.dm | 14 +++- .../Chemistry-Reagents/Other-Reagents.dm | 3 - .../Pyrotechnic-Reagents.dm | 3 +- 9 files changed, 67 insertions(+), 143 deletions(-) diff --git a/code/game/objects/items/weapons/cigs_lighters.dm b/code/game/objects/items/weapons/cigs_lighters.dm index b8f023d7047..7ad44856e7f 100644 --- a/code/game/objects/items/weapons/cigs_lighters.dm +++ b/code/game/objects/items/weapons/cigs_lighters.dm @@ -503,7 +503,8 @@ CIGARETTE PACKETS ARE IN FANCY.DM /obj/item/weapon/lighter/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob) if(!isliving(M)) return - M.IgniteMob() + if(lit) + M.IgniteMob() var/obj/item/clothing/mask/cigarette/cig = help_light_cig(M,user) if(lit && cig) if(M == user) diff --git a/code/game/objects/items/weapons/implants/implant.dm b/code/game/objects/items/weapons/implants/implant.dm index b8c72c0827b..10c9ab9737c 100644 --- a/code/game/objects/items/weapons/implants/implant.dm +++ b/code/game/objects/items/weapons/implants/implant.dm @@ -123,6 +123,10 @@ imp_in.gib() explosion(src,heavy,medium,weak,weak, flame_range = weak) qdel(src) + return + timed_explosion() + +/obj/item/weapon/implant/explosive/proc/timed_explosion() imp_in.visible_message("[imp_in] starts beeping ominously!") playsound(loc, 'sound/items/timer.ogg', 30, 0) sleep(delay/4) @@ -156,21 +160,7 @@ if(E != src) qdel(E) imp_in << "You activate your macrobomb implant." - imp_in.visible_message("[imp_in] starts beeping ominously!") - playsound(loc, 'sound/items/timer.ogg', 30, 0) - sleep(delay/4) - if(imp_in.stat) - imp_in.visible_message("[imp_in] doubles over in pain!") - imp_in.Weaken(7) - playsound(loc, 'sound/items/timer.ogg', 30, 0) - sleep(delay/4) - playsound(loc, 'sound/items/timer.ogg', 30, 0) - sleep(delay/4) - playsound(loc, 'sound/items/timer.ogg', 30, 0) - sleep(delay/4) - imp_in.gib() - explosion(src,heavy,medium,weak,weak, flame_range = weak) - qdel(src) + timed_explosion() /obj/item/weapon/implant/chem name = "chem implant" @@ -254,7 +244,8 @@ return 1 /obj/item/weapon/implant/loyalty/Destroy() - loc << "You feel a sense of liberation as Nanotrasen's grip on your mind fades away." + if(imp_in.stat != DEAD) + imp_in << "You feel a sense of liberation as Nanotrasen's grip on your mind fades away." ..() /obj/item/weapon/implant/adrenalin diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 20d8b20e620..5104d40c33c 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -280,11 +280,13 @@ if(href_list["embedded_object"]) var/obj/item/I = locate(href_list["embedded_object"]) var/obj/item/organ/limb/L = locate(href_list["embedded_limb"]) - if(!I || !L || I.loc != src) //no item, no limb, or item is not in limb (the person atleast) anymore + if(!I || !L || I.loc != src || !(I in L.embedded_objects)) //no item, no limb, or item is not in limb or in the person anymore return var/time_taken = I.embedded_unsafe_removal_time*I.w_class usr.visible_message("[usr] attempts to remove [I] from their [L.getDisplayName()].","You attempt to remove [I] from your [L.getDisplayName()]... (It will take [time_taken/10] seconds.)") if(do_after(usr, time_taken, needhand = 1, target = src)) + if(!I || !L || I.loc != src || !(I in L.embedded_objects)) + return L.embedded_objects -= I L.take_damage(I.embedded_unsafe_removal_pain_multiplier*I.w_class)//It hurts to rip it out, get surgery you dingus. I.loc = get_turf(src) @@ -304,11 +306,9 @@ if(href_list["pockets"]) var/pocket_side = href_list["pockets"] var/pocket_id = (pocket_side == "right" ? slot_r_store : slot_l_store) - var/obj/item/pocket_item = (pocket_id == slot_r_store ? src.r_store : src.l_store) + var/obj/item/pocket_item = (pocket_id == slot_r_store ? r_store : l_store) var/obj/item/place_item = usr.get_active_hand() // Item to place in the pocket, if it's empty - //visible_message("[usr] tries to empty [src]'s pockets.", \ - "[usr] tries to empty [src]'s pockets.") // Pickpocketing! var/delay_denominator = 1 if(pocket_item && !(pocket_item.flags&ABSTRACT)) if(pocket_item.flags & NODROP) @@ -322,7 +322,8 @@ if(do_mob(usr, src, POCKET_STRIP_DELAY/delay_denominator)) //placing an item into the pocket is 4 times faster if(pocket_item) - unEquip(pocket_item) + if(pocket_item == (pocket_id == slot_r_store ? r_store : l_store)) //item still in the pocket we search + unEquip(pocket_item) else if(place_item) usr.unEquip(place_item) diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index c99b39e3995..bb678b0c6f6 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -85,55 +85,48 @@ /mob/living/carbon/human/handle_mutations_and_radiation() - if(dna) - if(dna.species.handle_mutations_and_radiation(src)) - ..() + if(!dna || !dna.species.handle_mutations_and_radiation(src)) + ..() /mob/living/carbon/human/breathe() - if(dna) - dna.species.breathe(src) + if(!dna || !dna.species.breathe(src)) + ..() - return +/mob/living/carbon/human/check_breath(datum/gas_mixture/breath) + if(!dna || !dna.species.check_breath(breath, src)) + ..() /mob/living/carbon/human/handle_environment(datum/gas_mixture/environment) if(dna) dna.species.handle_environment(environment, src) - return - ///FIRE CODE /mob/living/carbon/human/handle_fire() - if(dna) - dna.species.handle_fire(src) - if(..()) - return - var/thermal_protection = 0 //Simple check to estimate how protected we are against multiple temperatures - if(wear_suit) - if(wear_suit.max_heat_protection_temperature >= FIRE_SUIT_MAX_TEMP_PROTECT) - thermal_protection += (wear_suit.max_heat_protection_temperature*0.7) - if(head) - if(head.max_heat_protection_temperature >= FIRE_HELM_MAX_TEMP_PROTECT) - thermal_protection += (head.max_heat_protection_temperature*THERMAL_PROTECTION_HEAD) - thermal_protection = round(thermal_protection) - if(thermal_protection >= FIRE_IMMUNITY_SUIT_MAX_TEMP_PROTECT) - return - if(thermal_protection >= FIRE_SUIT_MAX_TEMP_PROTECT) - bodytemperature += 11 - return - else - bodytemperature += BODYTEMP_HEATING_MAX - return + if(!dna || !dna.species.handle_fire(src)) + ..() + if(on_fire) + var/thermal_protection = 0 //Simple check to estimate how protected we are against multiple temperatures + if(wear_suit) + if(wear_suit.max_heat_protection_temperature >= FIRE_SUIT_MAX_TEMP_PROTECT) + thermal_protection += (wear_suit.max_heat_protection_temperature*0.7) + if(head) + if(head.max_heat_protection_temperature >= FIRE_HELM_MAX_TEMP_PROTECT) + thermal_protection += (head.max_heat_protection_temperature*THERMAL_PROTECTION_HEAD) + thermal_protection = round(thermal_protection) + if(thermal_protection >= FIRE_IMMUNITY_SUIT_MAX_TEMP_PROTECT) + return + if(thermal_protection >= FIRE_SUIT_MAX_TEMP_PROTECT) + bodytemperature += 11 + else + bodytemperature += BODYTEMP_HEATING_MAX + /mob/living/carbon/human/IgniteMob() - if(dna) - dna.species.IgniteMob(src) - else + if(!dna || !dna.species.IgniteMob(src)) ..() /mob/living/carbon/human/ExtinguishMob() - if(dna) - dna.species.ExtinguishMob(src) - else + if(!dna || !dna.species.ExtinguishMob(src)) ..() //END FIRE CODE diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index 5f9ea9ff9d8..a8ee4a2be26 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -782,7 +782,8 @@ randmutb(H) domutcheck(H,null) H.emote("gasp") - return 1 + return 0 + return 1 //////////////// // MOVE SPEED // @@ -1138,60 +1139,7 @@ ///////////// /datum/species/proc/breathe(var/mob/living/carbon/human/H) - if(H.reagents.has_reagent("lexorin")) return - if(istype(H.loc, /obj/machinery/atmospherics/unary/cryo_cell)) return - - var/datum/gas_mixture/environment = H.loc.return_air() - var/datum/gas_mixture/breath - if(H.health <= config.health_threshold_crit) - H.losebreath++ - if(H.losebreath>0) //Suffocating so do not take a breath - H.losebreath-- - if (prob(10)) //Gasp per 10 ticks? Sounds about right. - spawn H.emote("gasp") - if(istype(H.loc, /obj/)) - var/obj/location_as_object = H.loc - location_as_object.handle_internal_lifeform(H, 0) - else - //First, check for air from internal atmosphere (using an air tank and mask generally) - breath = H.get_breath_from_internal(BREATH_VOLUME) // Super hacky -- TLE - //breath = get_breath_from_internal(0.5) // Manually setting to old BREATH_VOLUME amount -- TLE - - //No breath from internal atmosphere so get breath from location - if(!breath) - if(isobj(H.loc)) - var/obj/location_as_object = H.loc - breath = location_as_object.handle_internal_lifeform(H, BREATH_VOLUME) - else if(isturf(H.loc)) - var/breath_moles = 0 - /*if(environment.return_pressure() > ONE_ATMOSPHERE) - // Loads of air around (pressure effect will be handled elsewhere), so lets just take a enough to fill our lungs at normal atmos pressure (using n = Pv/RT) - breath_moles = (ONE_ATMOSPHERE*BREATH_VOLUME/R_IDEAL_GAS_EQUATION*environment.temperature) - else*/ - // Not enough air around, take a percentage of what's there to model this properly - breath_moles = environment.total_moles()*BREATH_PERCENTAGE - - breath = H.loc.remove_air(breath_moles) - - // Handle chem smoke effect -- Doohl - if(!H.has_smoke_protection()) - for(var/obj/effect/effect/smoke/chem/S in range(1, H)) - if(S.reagents.total_volume && S.lifetime) - var/fraction = 1/S.max_lifetime - S.reagents.reaction(H,INGEST, fraction) - var/amount = round(S.reagents.total_volume*fraction,0.1) - S.reagents.copy_to(H, amount) - S.lifetime-- - - else //Still give containing object the chance to interact - if(istype(H.loc, /obj/)) - var/obj/location_as_object = H.loc - location_as_object.handle_internal_lifeform(H, 0) - - check_breath(breath, H) - - if(breath) - H.loc.assume_air(breath) + return /datum/species/proc/check_breath(datum/gas_mixture/breath, var/mob/living/carbon/human/H) if((H.status_flags & GODMODE)) @@ -1457,31 +1405,14 @@ /datum/species/proc/handle_fire(var/mob/living/carbon/human/H) if((HEATRES in specflags) || (NOFIRE in specflags)) - return - if(H.fire_stacks < 0) - H.fire_stacks++ //If we've doused ourselves in water to avoid fire, dry off slowly - H.fire_stacks = min(0, H.fire_stacks)//So we dry ourselves back to default, nonflammable. - if(!H.on_fire) - return - var/datum/gas_mixture/G = H.loc.return_air() // Check if we're standing in an oxygenless environment - if(G.oxygen < 1) - ExtinguishMob(H) //If there's no oxygen in the tile we're on, put out the fire - return - var/turf/location = get_turf(H) - location.hotspot_expose(700, 50, 1) + return 1 /datum/species/proc/IgniteMob(var/mob/living/carbon/human/H) - if(H.fire_stacks > 0 && !H.on_fire && !(HEATRES in specflags) && !(NOFIRE in specflags)) - H.on_fire = 1 - H.AddLuminosity(3) - H.update_fire() + if((HEATRES in specflags) || (NOFIRE in specflags)) + return 1 /datum/species/proc/ExtinguishMob(var/mob/living/carbon/human/H) - if(H.on_fire) - H.on_fire = 0 - H.fire_stacks = 0 - H.AddLuminosity(-3) - H.update_fire() + return #undef HUMAN_MAX_OXYLOSS #undef HUMAN_CRIT_MAX_OXYLOSS diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 48b78d3fb65..ccd3526012f 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -708,7 +708,7 @@ Sorry Giacom. Please don't be mad :( "[src] tries to remove [who]'s [what.name].") what.add_fingerprint(src) if(do_mob(src, who, what.strip_delay)) - if(what && Adjacent(who)) + if(what && what == who.get_item_by_slot(where) && Adjacent(who)) who.unEquip(what) add_logs(src, who, "stripped", addition="of [what]") @@ -719,11 +719,14 @@ Sorry Giacom. Please don't be mad :( if(what && (what.flags & NODROP)) src << "You can't put \the [what.name] on [who], it's stuck to your hand!" return - if(what && what.mob_can_equip(who, where, 1)) + if(what) + if(!what.mob_can_equip(who, where, 1)) + src << "\The [what.name] doesn't fit in that place!" + return visible_message("[src] tries to put [what] on [who].") if(do_mob(src, who, what.put_on_delay)) if(what && Adjacent(who)) - src.unEquip(what) + unEquip(what) who.equip_to_slot_if_possible(what, where, 0, 1) add_logs(src, who, "equipped", object=what) diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm index d050141cd8d..0fe332be69e 100644 --- a/code/modules/mob/living/living_defense.dm +++ b/code/modules/mob/living/living_defense.dm @@ -121,14 +121,20 @@ return /mob/living/proc/adjust_fire_stacks(add_fire_stacks) //Adjusting the amount of fire_stacks we have on person - fire_stacks = Clamp(fire_stacks + add_fire_stacks, min = -20, max = 20) + fire_stacks = Clamp(fire_stacks + add_fire_stacks, min = -20, max = 20) + if(on_fire && fire_stacks <= 0) + ExtinguishMob() /mob/living/proc/handle_fire() - if(fire_stacks < 0) - fire_stacks++ //If we've doused ourselves in water to avoid fire, dry off slowly - fire_stacks = min(0, fire_stacks)//So we dry ourselves back to default, nonflammable. + if(fire_stacks < 0) //If we've doused ourselves in water to avoid fire, dry off slowly + fire_stacks = min(0, fire_stacks + 1)//So we dry ourselves back to default, nonflammable. if(!on_fire) return 1 + if(fire_stacks > 0) + adjust_fire_stacks(-0.2) //the fire is slowly consumed + else + ExtinguishMob() + return var/datum/gas_mixture/G = loc.return_air() // Check if we're standing in an oxygenless environment if(G.oxygen < 1) ExtinguishMob() //If there's no oxygen in the tile we're on, put out the fire diff --git a/code/modules/reagents/Chemistry-Reagents/Other-Reagents.dm b/code/modules/reagents/Chemistry-Reagents/Other-Reagents.dm index ee938882277..8a9ecf7173f 100644 --- a/code/modules/reagents/Chemistry-Reagents/Other-Reagents.dm +++ b/code/modules/reagents/Chemistry-Reagents/Other-Reagents.dm @@ -171,9 +171,6 @@ return if(method == TOUCH) M.adjust_fire_stacks(-(volume / 10)) - if(M.fire_stacks <= 0) - M.ExtinguishMob() - return /datum/reagent/water/holywater name = "Holy Water" diff --git a/code/modules/reagents/Chemistry-Reagents/Pyrotechnic-Reagents.dm b/code/modules/reagents/Chemistry-Reagents/Pyrotechnic-Reagents.dm index e8d4ebf6909..545f4020afb 100644 --- a/code/modules/reagents/Chemistry-Reagents/Pyrotechnic-Reagents.dm +++ b/code/modules/reagents/Chemistry-Reagents/Pyrotechnic-Reagents.dm @@ -44,7 +44,8 @@ /datum/reagent/clf3/on_mob_life(var/mob/living/M as mob) M.adjust_fire_stacks(2) - M.adjustFireLoss(0.3*M.fire_stacks) + var/burndmg = max(0.3*M.fire_stacks, 0.3) + M.adjustFireLoss(burndmg) ..() /datum/reagent/clf3/reaction_turf(var/turf/simulated/T, var/volume) From 68c360e136d7768c5963a156f06d3170b6d3683a Mon Sep 17 00:00:00 2001 From: phil235 Date: Fri, 10 Jul 2015 23:45:38 +0200 Subject: [PATCH 40/77] Fixes improvised gun being deleted when tablecrafted. --- code/modules/projectiles/gun.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index b688248a352..c2aec9dd829 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -61,7 +61,7 @@ qdel(G.pin) G.pin = null visible_message("[G] can now fit a new pin, but old one was destroyed in the process.") - qdel(src) + qdel(src) /obj/item/weapon/gun/examine(mob/user) ..() From 15594439bca673b2254bd46de3af30bfd306aedf Mon Sep 17 00:00:00 2001 From: xxalpha Date: Fri, 10 Jul 2015 23:14:22 +0100 Subject: [PATCH 41/77] Fixed gases deleting all overlays of a turf when spreading. Better code SHIT --- code/LINDA/LINDA_turf_tile.dm | 10 ++++------ code/game/turfs/turf.dm | 2 -- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/code/LINDA/LINDA_turf_tile.dm b/code/LINDA/LINDA_turf_tile.dm index 8d6ba7d7802..011b627dae9 100644 --- a/code/LINDA/LINDA_turf_tile.dm +++ b/code/LINDA/LINDA_turf_tile.dm @@ -232,15 +232,13 @@ archived_cycle = SSair.times_fired /turf/simulated/proc/update_visuals(datum/gas_mixture/model) - overlays.Cut() - var/siding_icon_state = return_siding_icon_state() - if(siding_icon_state) - overlays += image('icons/turf/floors.dmi',siding_icon_state) + overlays -= SSair.plasma_overlay + overlays -= SSair.sleeptoxin_overlay switch(model.graphic) if("plasma") - overlays.Add(SSair.plasma_overlay) + overlays += SSair.plasma_overlay if("sleeping_agent") - overlays.Add(SSair.sleeptoxin_overlay) + overlays += SSair.sleeptoxin_overlay /turf/simulated/proc/share_air(var/turf/simulated/T) if(T.current_cycle < current_cycle) diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index a2851a7c4c4..6edae35f9e9 100644 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -107,8 +107,6 @@ /turf/proc/is_plasteel_floor() return 0 -/turf/proc/return_siding_icon_state() //used for grass floors, which have siding. - return 0 /turf/proc/levelupdate() for(var/obj/O in src) From c870469a39973ded9c1c2a81f12a7d2a8da028e3 Mon Sep 17 00:00:00 2001 From: duncathan Date: Fri, 10 Jul 2015 18:03:43 -0600 Subject: [PATCH 42/77] speeds up RPD and pipe unwrenching --- code/ATMOSPHERICS/atmospherics.dm | 2 +- code/game/objects/items/weapons/RPD.dm | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/code/ATMOSPHERICS/atmospherics.dm b/code/ATMOSPHERICS/atmospherics.dm index 49fb54d5094..bb876640cc6 100644 --- a/code/ATMOSPHERICS/atmospherics.dm +++ b/code/ATMOSPHERICS/atmospherics.dm @@ -120,7 +120,7 @@ Pipelines + Other Objects -> Pipe network user << "As you begin unwrenching \the [src] a gush of air blows in your face... maybe you should reconsider?" unsafe_wrenching = TRUE //Oh dear oh dear - if (do_after(user, 40, target = src) && !gc_destroyed) + if (do_after(user, 20, target = src) && !gc_destroyed) user.visible_message( \ "[user] unfastens \the [src].", \ "You unfasten \the [src].", \ diff --git a/code/game/objects/items/weapons/RPD.dm b/code/game/objects/items/weapons/RPD.dm index 42c114d1d0d..17d5a9bf882 100644 --- a/code/game/objects/items/weapons/RPD.dm +++ b/code/game/objects/items/weapons/RPD.dm @@ -533,7 +533,7 @@ var/global/list/RPD_recipes=list( if(istype(A,/obj/item/pipe) || istype(A,/obj/item/pipe_meter) || istype(A,/obj/structure/disposalconstruct)) user << "You start destroying pipe..." playsound(get_turf(src), 'sound/machines/click.ogg', 50, 1) - if(do_after(user, 5, target = A)) + if(do_after(user, 2, target = A)) activate() qdel(A) return 1 @@ -548,7 +548,7 @@ var/global/list/RPD_recipes=list( return 0 user << "You start building pipes..." playsound(get_turf(src), 'sound/machines/click.ogg', 50, 1) - if(do_after(user, 20, target = A)) + if(do_after(user, 2, target = A)) activate() var/obj/item/pipe/P = new (A, pipe_type=queued_p_type, dir=queued_p_dir) P.flipped = queued_p_flipped @@ -563,7 +563,7 @@ var/global/list/RPD_recipes=list( return 0 user << "You start building meter..." playsound(get_turf(src), 'sound/machines/click.ogg', 50, 1) - if(do_after(user, 20, target = A)) + if(do_after(user, 2, target = A)) activate() new /obj/item/pipe_meter(A) return 1 @@ -575,7 +575,7 @@ var/global/list/RPD_recipes=list( return 0 user << "You start building pipes..." playsound(get_turf(src), 'sound/machines/click.ogg', 50, 1) - if(do_after(user, 20, target = A)) + if(do_after(user, 2, target = A)) var/obj/structure/disposalconstruct/C = new (A, queued_p_type ,queued_p_dir) if(!C.can_place()) From bd6ebcbd696603496e974fbb0f5a7dcab541dccb Mon Sep 17 00:00:00 2001 From: xxalpha Date: Sat, 11 Jul 2015 02:20:50 +0100 Subject: [PATCH 43/77] Fixed nest overlays being deleted when unbuckling a mob. --- .../structures/stool_bed_chair_nest/alien_nests.dm | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/code/game/objects/structures/stool_bed_chair_nest/alien_nests.dm b/code/game/objects/structures/stool_bed_chair_nest/alien_nests.dm index ca90bd6e6d7..0a7112be964 100644 --- a/code/game/objects/structures/stool_bed_chair_nest/alien_nests.dm +++ b/code/game/objects/structures/stool_bed_chair_nest/alien_nests.dm @@ -9,6 +9,11 @@ smooth = 1 can_be_unanchored = 0 canSmoothWith = null + var/image/nest_overlay + +/obj/structure/stool/bed/nest/New() + nest_overlay = image('icons/mob/alien.dmi', "nestoverlay", layer=MOB_LAYER - 0.2) + return ..() /obj/structure/stool/bed/nest/user_unbuckle_mob(mob/user as mob) if(buckled_mob && buckled_mob.buckled == src) @@ -59,12 +64,12 @@ M.pixel_y = 0 M.pixel_x = initial(M.pixel_x) + 2 M.layer = MOB_LAYER - 0.3 - overlays += image('icons/mob/alien.dmi', "nestoverlay", layer=MOB_LAYER - 0.2) + overlays += nest_overlay else M.pixel_x = M.get_standard_pixel_x_offset(M.lying) M.pixel_y = M.get_standard_pixel_y_offset(M.lying) M.layer = initial(M.layer) - overlays.Cut() + overlays -= nest_overlay /obj/structure/stool/bed/nest/attackby(obj/item/weapon/W as obj, mob/user as mob, params) var/aforce = W.force From c3b095a8b3da25b14fdb7ca3f6439942ced521a4 Mon Sep 17 00:00:00 2001 From: duncathan Date: Fri, 10 Jul 2015 23:15:44 -0600 Subject: [PATCH 44/77] adds scanners to R&D; adds changelog --- code/modules/clothing/glasses/engine_goggles.dm | 3 ++- code/modules/research/designs.dm | 10 ++++++++++ html/changelogs/dunc-tray.yml | 6 ++++++ 3 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 html/changelogs/dunc-tray.yml diff --git a/code/modules/clothing/glasses/engine_goggles.dm b/code/modules/clothing/glasses/engine_goggles.dm index 8f92ce9acca..bf6e95e89c7 100644 --- a/code/modules/clothing/glasses/engine_goggles.dm +++ b/code/modules/clothing/glasses/engine_goggles.dm @@ -4,9 +4,10 @@ name = "Engineering Scanner Goggles" desc = "Goggles used by engineers. The Meson Scanner mode lets you see basic structural and terrain layouts through walls, regardless of lighting condition. The T-ray Scanner mode lets you see underfloor objects such as cables and pipes." icon_state = "trayson-meson" + action_button_name = "Change Scanning Mode" + var/mode = 0 //0 - regular mesons mode 1 - t-ray mode var/invis_objects = list() - action_button_name = "Change Scanning Mode" var/range = 1 /obj/item/clothing/glasses/meson/engine/attack_self() diff --git a/code/modules/research/designs.dm b/code/modules/research/designs.dm index 7ef1d9cce81..a7af564216a 100644 --- a/code/modules/research/designs.dm +++ b/code/modules/research/designs.dm @@ -338,6 +338,16 @@ other types of metals and chemistry for reagents). build_path = /obj/item/clothing/glasses/meson/engine category = list("Equipment") +/datum/design/tray_goggles + name = "Optical T-Ray Scanners" + desc = "Used by engineering staff to see underfloor objects such as cables and pipes." + id = "tray_goggles" + req_tech = list("materials" = 3, "magnets" = 2, "engineering" = 2) + build_type = PROTOLATHE + materials = list(MAT_METAL = 200, MAT_GLASS = 300) + build_path = /obj/item/clothing/glasses/meson/engine/tray + category = list("Equipment") + /datum/design/nvgmesons name = "Night Vision Optical Meson Scanners" desc = "Prototype meson scanners fitted with an extra sensor which amplifies the visible light spectrum and overlays it to the UHD display." diff --git a/html/changelogs/dunc-tray.yml b/html/changelogs/dunc-tray.yml new file mode 100644 index 00000000000..6c94894484c --- /dev/null +++ b/html/changelogs/dunc-tray.yml @@ -0,0 +1,6 @@ +author: Dunc + +delete-after: True + +changes: + - rscadd: "Added Optical T-Ray scanners to R&D and Atmospheric Technician closets. Optical T-Ray Scanners function identically to a handheld scanner." From a23192d91343731ac982c686ffd7ec30c067351b Mon Sep 17 00:00:00 2001 From: Ikarrus Date: Fri, 10 Jul 2015 23:21:51 -0600 Subject: [PATCH 45/77] Loyalty Implant Icon Update --- html/changelogs/ikarrus-imp.yml | 36 ++++++++++++++++++++++++++++++++ icons/mob/hud.dmi | Bin 3737 -> 3728 bytes 2 files changed, 36 insertions(+) create mode 100644 html/changelogs/ikarrus-imp.yml diff --git a/html/changelogs/ikarrus-imp.yml b/html/changelogs/ikarrus-imp.yml new file mode 100644 index 00000000000..f05c6d63fcf --- /dev/null +++ b/html/changelogs/ikarrus-imp.yml @@ -0,0 +1,36 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# wip (For works in progress) +# tweak +# soundadd +# sounddel +# rscadd (general adding of nice things) +# rscdel (general deleting of nice things) +# imageadd +# imagedel +# spellcheck (typo fixes) +# experiment +# tgs (TG-ported fixes?) +################################# + +# Your name. +author: Ikarrus + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, this gets changed to [] after reading. Just remove the brackets when you add new shit. +# Please surround your changes in double quotes ("). It works without them, but if you use certain characters it screws up compiling. The quotes will not show up in the changelog. +changes: + - imageadd: "Loyalty Implant HUD Icon has been updated." \ No newline at end of file diff --git a/icons/mob/hud.dmi b/icons/mob/hud.dmi index ab614fbc5aa2c5be9f472d07130c2dce08525592..4fc1a449fb96c6bda8c9745cb18aeafda476ea67 100644 GIT binary patch delta 3403 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 delta 3413 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 From 30c2eebc8d19a896ee6ba4fee7cd80f215e47556 Mon Sep 17 00:00:00 2001 From: duncathan Date: Fri, 10 Jul 2015 23:41:59 -0600 Subject: [PATCH 46/77] changelog --- html/changelogs/dunc-rpd.yml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 html/changelogs/dunc-rpd.yml diff --git a/html/changelogs/dunc-rpd.yml b/html/changelogs/dunc-rpd.yml new file mode 100644 index 00000000000..13420324ddd --- /dev/null +++ b/html/changelogs/dunc-rpd.yml @@ -0,0 +1,6 @@ +author: duncathan + +delete-after: True + +changes: + - tweak: "Greatly shortened the time it takes to lay pipes with the RPD and to unwrench pipes in general." From 0c0a196b3491c84a71274ce0cad5d426d7be94a4 Mon Sep 17 00:00:00 2001 From: Ikarrus Date: Fri, 10 Jul 2015 23:44:48 -0600 Subject: [PATCH 47/77] Grammar and consistency fixes with Arm blades/False Arm blade messages --- code/game/gamemodes/changeling/powers/mutations.dm | 8 ++++---- code/game/gamemodes/changeling/powers/tiny_prick.dm | 6 +----- 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/code/game/gamemodes/changeling/powers/mutations.dm b/code/game/gamemodes/changeling/powers/mutations.dm index 54ec0b7aec0..2e5903420e7 100644 --- a/code/game/gamemodes/changeling/powers/mutations.dm +++ b/code/game/gamemodes/changeling/powers/mutations.dm @@ -21,15 +21,16 @@ var/weapon_name_simple /obj/effect/proc_holder/changeling/weapon/try_to_sting(var/mob/user, var/mob/target) - playsound(user, 'sound/effects/blobattack.ogg', 30, 1) if(istype(user.l_hand, weapon_type)) //Not the nicest way to do it, but eh + playsound(user, 'sound/effects/blobattack.ogg', 30, 1) qdel(user.l_hand) - user.visible_message("With a sickening crunch, [user] reforms his [weapon_name_simple] into an arm!", "We assimilate the [weapon_name_simple] back into our body.", "With a sickening crunch, [user] reforms their [weapon_name_simple] into an arm!", "We assimilate the [weapon_name_simple] back into our body.", "With a sickening crunch, [user] reforms his [weapon_name_simple] into an arm!", "We assimilate the [weapon_name_simple] back into our body.", "With a sickening crunch, [user] reforms their [weapon_name_simple] into an arm!", "We assimilate the [weapon_name_simple] back into our body.", "A grotesque blade forms around [loc.name]\'s arm!", "Our arm twists and mutates, transforming it into a deadly blade.", "You hear organic matter ripping and tearing!") /obj/item/weapon/melee/arm_blade/dropped(mob/user) - user.visible_message("With a sickening crunch, [user] reforms his blade into an arm!", "We assimilate the blade back into our body.", "With a sickening crunch, [target] reforms his [blade] into an arm!", "[blade] reforms back to normal.", "With a sickening crunch, [target] reforms their [blade.name] into an arm!", "[blade] reforms back to normal.", " Date: Sat, 11 Jul 2015 00:54:37 -0700 Subject: [PATCH 50/77] i want to believe --- code/game/gamemodes/abduction/abduction.dm | 1 - 1 file changed, 1 deletion(-) diff --git a/code/game/gamemodes/abduction/abduction.dm b/code/game/gamemodes/abduction/abduction.dm index 790ee290f47..cd462b1fd87 100644 --- a/code/game/gamemodes/abduction/abduction.dm +++ b/code/game/gamemodes/abduction/abduction.dm @@ -139,7 +139,6 @@ agent_landmarks.len = max_teams scientist_landmarks.len = max_teams for(var/obj/effect/landmark/abductor/A in landmarks_list) - world << "Found this [A]" if(istype(A,/obj/effect/landmark/abductor/agent)) agent_landmarks[text2num(A.team)] = A else if(istype(A,/obj/effect/landmark/abductor/scientist)) From 03bf88bfbac0eab1f3d851e15bcc8c6f79448fe9 Mon Sep 17 00:00:00 2001 From: Miauw Date: Sat, 11 Jul 2015 13:39:54 +0200 Subject: [PATCH 51/77] Adds a huge message to sec borgs telling them not to be shitheads. --- code/modules/mob/living/silicon/robot/robot.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 6409b17e945..41ebf4b0440 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -198,7 +198,7 @@ icon_state = "secborg" animation_length = 28 modtype = "Sec" - //speed = -1 Secborgs have nerfed tasers now, so the speed boost is not necessary + src << "While you have picked the security module, you still have to follow your laws, NOT Space Law. For Asimov, this means you must follow criminals' orders unless there is a law 1 reason not to." status_flags &= ~CANPUSH feedback_inc("cyborg_security",1) From 2694fab4d84b38cb39f312ed7f0e14e6d0f7be73 Mon Sep 17 00:00:00 2001 From: barackobama Date: Sat, 11 Jul 2015 19:15:33 +0100 Subject: [PATCH 52/77] fixes RCD-related issues --- code/game/machinery/doors/airlock.dm | 2 ++ code/game/objects/items/weapons/RCD.dm | 29 +++++++++++--------------- 2 files changed, 14 insertions(+), 17 deletions(-) diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index 5f9c99c7c9a..b1a3acba501 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -1045,6 +1045,8 @@ About the new airlock wires panel: newCharge.loc = src charge = newCharge return + else if(istype(C, /obj/item/weapon/rcd)&& istype(loc, /turf/simulated)) //Do not attack the airlock if the user is holding an RCD + return else ..() return diff --git a/code/game/objects/items/weapons/RCD.dm b/code/game/objects/items/weapons/RCD.dm index 5f17edb6067..9cebfee38a4 100644 --- a/code/game/objects/items/weapons/RCD.dm +++ b/code/game/objects/items/weapons/RCD.dm @@ -20,6 +20,7 @@ RCD w_class = 3.0 materials = list(MAT_METAL=100000) origin_tech = "engineering=4;materials=2" + req_access_txt = "11" var/datum/effect/effect/system/spark_spread/spark_system var/matter = 0 var/max_matter = 160 @@ -41,7 +42,7 @@ RCD set category = "Object" set src in usr - if (!ishuman(usr)) + if (!ishuman(usr) && !isrobot(usr)) return ..(usr) var/mob/living/carbon/human/H = usr @@ -95,20 +96,16 @@ RCD /obj/item/weapon/rcd/Topic(href, href_list) ..() - if (usr.stat || usr.restrained() || !ishuman(usr)) + if (usr.stat || usr.restrained() || (!ishuman(usr) && !isrobot(usr))) return if (href_list["close"]) usr << browse(null, "window=airlock") return if (href_list["login"]) - var/obj/item/I = usr.get_active_hand() - if (istype(I, /obj/item/device/pda)) - var/obj/item/device/pda/pda = I - I = pda.id - if (I && src.check_access(I)) + if(allowed(usr)) src.locked = 0 - src.last_configurator = I:registered_name + src.last_configurator = usr.name if (locked) return @@ -250,10 +247,11 @@ RCD user << "You insert [maxsheets] [S.name] sheets into the RCD. " else matter += value*(S.amount) + user.unEquip() + S.use(S.amount) playsound(src.loc, 'sound/machines/click.ogg', 50, 1) user << "You insert [S.amount] [S.name] sheets into the RCD. " - user.unEquip() - qdel(S) + return 1 user << "You can't insert any more [S.name] sheets into the RCD!" return 0 @@ -325,9 +323,6 @@ RCD break if(door_check) - if (!conf_access) - user << "Configure access first!" - return 0 user << "You start building airlock..." playsound(src.loc, 'sound/machines/click.ogg', 50, 1) if(do_after(user, 50, target = A)) @@ -337,7 +332,8 @@ RCD T.electronics = new/obj/item/weapon/airlock_electronics( src.loc ) - T.electronics.conf_access = conf_access.Copy() + if(conf_access) + T.electronics.conf_access = conf_access.Copy() T.electronics.use_one_access = use_one_access T.electronics.last_configurator = last_configurator T.electronics.locked = locked @@ -404,7 +400,7 @@ RCD if(checkResource(5, user)) user << "You start deconstructing the window..." playsound(src.loc, 'sound/machines/click.ogg', 50, 1) - if(do_after(user, 50)) + if(do_after(user, 50, target = A)) if(!useResource(5, user)) return 0 activate() qdel(A) @@ -415,7 +411,7 @@ RCD if(checkResource(5, user)) user << "You start deconstructing the grille..." playsound(src.loc, 'sound/machines/click.ogg', 50, 1) - if(do_after(user, 50)) + if(do_after(user, 50, target = A)) if(!useResource(5, user)) return 0 activate() qdel(A) @@ -477,7 +473,6 @@ RCD /obj/item/weapon/rcd/borg/New() ..() - advanced_airlock_setting = 0 //Borgs can't set the access levels, so they only get the defaults! desc = "A device used to rapidly build walls/floor." canRwall = 1 From f02c32c8eea8cd8dc1b8015663c69d6f17bacdd7 Mon Sep 17 00:00:00 2001 From: barackobama Date: Sat, 11 Jul 2015 19:49:32 +0100 Subject: [PATCH 53/77] fixes #10547, adds progress bars to grilles and windows, also fixes #9748 I guess --- code/game/objects/items/weapons/RCD.dm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/code/game/objects/items/weapons/RCD.dm b/code/game/objects/items/weapons/RCD.dm index 9cebfee38a4..7707ab16154 100644 --- a/code/game/objects/items/weapons/RCD.dm +++ b/code/game/objects/items/weapons/RCD.dm @@ -427,7 +427,7 @@ RCD return 0 user << "You start building a grille..." playsound(src.loc, 'sound/machines/click.ogg', 50, 1) - if(do_after(user, 40)) + if(do_after(user, 40, target = A)) if(!useResource(5, user)) return 0 activate() var/obj/structure/grille/G = new/obj/structure/grille(A) @@ -439,7 +439,8 @@ RCD if(checkResource(5, user)) user << "You start building a window..." playsound(src.loc, 'sound/machines/click.ogg', 50, 1) - if(do_after(user, 40)) + if(do_after(user, 40, target = A)) + if(locate(/obj/structure/window) in A.loc) return 0 if(!useResource(5, user)) return 0 activate() var/obj/structure/window/WD = new/obj/structure/window/fulltile(A.loc) From 312feafa83c80b0960a954b2d2991227760baa01 Mon Sep 17 00:00:00 2001 From: sybil-tgstation13 Date: Sat, 11 Jul 2015 21:56:27 -0400 Subject: [PATCH 54/77] Automatic changelog compile --- html/changelog.html | 11 ++++++ html/changelogs/.all_changelog.yml | 8 ++++ .../dorsisdwarf-uplinkplant-tweak.yml | 38 ------------------- html/changelogs/ikarrus-maint.yml | 36 ------------------ 4 files changed, 19 insertions(+), 74 deletions(-) delete mode 100644 html/changelogs/dorsisdwarf-uplinkplant-tweak.yml delete mode 100644 html/changelogs/ikarrus-maint.yml diff --git a/html/changelog.html b/html/changelog.html index 5129c5e1ed2..6e8845ca845 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -55,6 +55,17 @@ -->
+

11 July 2015

+

Dorsidwarf updated:

+
    +
  • Due to a new Syndicate budget, uplink implants are now only 14 TC.
  • +
  • In order to facilitate inter-agent communication, Syndicate Encryption Keys have been reduced to 2TC. They retain the ability to intercept all channels and speak on a private frequency.
  • +
+

Ikarrus updated:

+
    +
  • Robotic augmentations have been made a bit more difficult to maintain.
  • +
+

10 July 2015

Ikarrus updated: