From 3e1ad4099e90cc271e44356593a72062c8728f0e Mon Sep 17 00:00:00 2001 From: Atlantiscze Date: Thu, 1 Jan 2015 17:20:21 +0100 Subject: [PATCH 001/133] Wireless Wires Bug Removal - This removes the dreaded wireless wires bug, which caused wires disconnected by explosions to actually still conduct power until powernet was manually updated. - This also adresses issue with (on bay unused) singularity, which exhibits similar behavior when eating wires (wireless wires bug) --- code/game/objects/explosion.dm | 12 ++++++++---- code/modules/power/singularity/singularity.dm | 9 --------- 2 files changed, 8 insertions(+), 13 deletions(-) diff --git a/code/game/objects/explosion.dm b/code/game/objects/explosion.dm index c48d062e9e..32f05901b4 100644 --- a/code/game/objects/explosion.dm +++ b/code/game/objects/explosion.dm @@ -70,8 +70,12 @@ proc/explosion(turf/epicenter, devastation_range, heavy_impact_range, light_impa var/lighting_controller_was_processing = lighting_controller.processing //Pause the lighting updates for a bit lighting_controller.processing = 0 + + + var/approximate_intensity = (devastation_range * 3) + (heavy_impact_range * 2) + light_impact_range var/powernet_rebuild_was_deferred_already = defer_powernet_rebuild - if(defer_powernet_rebuild != 2) + // Large enough explosion. For performance reasons, powernets will be rebuilt manually + if(!defer_powernet_rebuild && (approximate_intensity > 25)) defer_powernet_rebuild = 1 if(heavy_impact_range > 1) @@ -110,9 +114,9 @@ proc/explosion(turf/epicenter, devastation_range, heavy_impact_range, light_impa sleep(8) if(!lighting_controller.processing) lighting_controller.processing = lighting_controller_was_processing - if(!powernet_rebuild_was_deferred_already) - if(defer_powernet_rebuild != 2) - defer_powernet_rebuild = 0 + if(!powernet_rebuild_was_deferred_already && defer_powernet_rebuild) + makepowernets() + defer_powernet_rebuild = 0 return 1 diff --git a/code/modules/power/singularity/singularity.dm b/code/modules/power/singularity/singularity.dm index e71157be7e..5bed535c7f 100644 --- a/code/modules/power/singularity/singularity.dm +++ b/code/modules/power/singularity/singularity.dm @@ -206,8 +206,6 @@ var/global/list/uneatable = list( /obj/machinery/singularity/proc/eat() set background = 1 - if(defer_powernet_rebuild != 2) - defer_powernet_rebuild = 1 // Let's just make this one loop. for(var/atom/X in orange(grav_pull,src)) var/dist = get_dist(X, src) @@ -226,9 +224,6 @@ var/global/list/uneatable = list( // Turf and movable atoms else if(dist <= consume_range && (isturf(X) || istype(X, /atom/movable))) consume(X) - - if(defer_powernet_rebuild != 2) - defer_powernet_rebuild = 0 return @@ -567,11 +562,7 @@ var/global/list/uneatable = list( /obj/machinery/singularity/narsie/wizard/eat() set background = 1 - if(defer_powernet_rebuild != 2) - defer_powernet_rebuild = 1 for(var/atom/X in orange(consume_range,src)) if(isturf(X) || istype(X, /atom/movable)) consume(X) - if(defer_powernet_rebuild != 2) - defer_powernet_rebuild = 0 return From 7f64d9ce1340e7a3c02b8c3b9bff01ef78d4dd69 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Fri, 9 Jan 2015 22:42:52 -0500 Subject: [PATCH 002/133] Adjusts the amount of carp spawned for moderate level carp --- code/modules/events/carp_migration.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/events/carp_migration.dm b/code/modules/events/carp_migration.dm index e7c9f5a402..19e1625126 100644 --- a/code/modules/events/carp_migration.dm +++ b/code/modules/events/carp_migration.dm @@ -21,7 +21,7 @@ for(var/i = 1 to rand(3,5)) spawn_fish(landmarks_list.len) else if(severity == EVENT_LEVEL_MODERATE) - spawn_fish(landmarks_list.len) + spawn_fish(rand(10,30)) else spawn_fish(rand(1, 5)) From 9b5eded546d6c274540a78424356115c4b44c7cb Mon Sep 17 00:00:00 2001 From: mwerezak Date: Fri, 9 Jan 2015 23:30:32 -0500 Subject: [PATCH 003/133] Fixes major virus event generating lesser viruses, makes lesser viruses actually less severe Makes more of a distinction between lesser and greater viruses by restricting lesser viruses to only have the "Nil" syndrome for stage 4. --- code/modules/events/viral_infection.dm | 20 ++++++++++++++++++-- code/modules/virus2/disease2.dm | 5 ++++- code/modules/virus2/effect.dm | 19 ++++++++++++++++--- code/modules/virus2/helpers.dm | 11 +++++++---- 4 files changed, 45 insertions(+), 10 deletions(-) diff --git a/code/modules/events/viral_infection.dm b/code/modules/events/viral_infection.dm index 6e40d38d33..87c55460ce 100644 --- a/code/modules/events/viral_infection.dm +++ b/code/modules/events/viral_infection.dm @@ -1,11 +1,27 @@ +datum/event/viral_infection + var/list/viruses = list() + datum/event/viral_infection/setup() announceWhen = rand(0, 3000) endWhen = announceWhen + 1 + + //generate 1-3 viruses. This way there's an upper limit on how many individual diseases need to be cured if many people are initially infected + var/num_diseases = rand(1,3) + for (var/i=0, i < num_diseases, i++) + var/datum/disease2/disease/D = new /datum/disease2/disease + + var/greater = 0 //whether the disease is of the greater or lesser variety + if (severity >= EVENT_LEVEL_MAJOR && prob(50)) + greater = 1 + D.makerandom(greater) + viruses += D datum/event/viral_infection/announce() command_announcement.Announce("Confirmed outbreak of level five biohazard aboard [station_name()]. All personnel must contain the outbreak.", "Biohazard Alert", new_sound = 'sound/AI/outbreak5.ogg') datum/event/viral_infection/start() + if(!viruses.len) return + var/list/candidates = list() //list of candidate keys for(var/mob/living/carbon/human/G in player_list) if(G.client && G.stat != DEAD) @@ -13,9 +29,9 @@ datum/event/viral_infection/start() if(!candidates.len) return candidates = shuffle(candidates)//Incorporating Donkie's list shuffle - severity = severity == 1 ? 1 : severity - 1 + severity = max(EVENT_LEVEL_MUNDANE, severity - 1) var/actual_severity = severity * rand(1, 3) while(actual_severity > 0 && candidates.len) - infect_mob_random_lesser(candidates[1]) + infect_mob(candidates[1], pick(viruses)) candidates.Remove(candidates[1]) actual_severity-- diff --git a/code/modules/virus2/disease2.dm b/code/modules/virus2/disease2.dm index 977c9ab9ca..09b6c80ee6 100644 --- a/code/modules/virus2/disease2.dm +++ b/code/modules/virus2/disease2.dm @@ -26,7 +26,10 @@ holder.getrandomeffect() effects += holder uniqueID = rand(0,10000) - infectionchance = rand(60,90) + if (greater) + infectionchance = rand(60,90) + else + infectionchance = 1 antigen |= text2num(pick(ANTIGENS)) antigen |= text2num(pick(ANTIGENS)) spreadtype = prob(70) ? "Airborne" : "Contact" diff --git a/code/modules/virus2/effect.dm b/code/modules/virus2/effect.dm index 3ebeefeba8..82edfb8049 100644 --- a/code/modules/virus2/effect.dm +++ b/code/modules/virus2/effect.dm @@ -56,6 +56,13 @@ ////////////////////////STAGE 4///////////////////////////////// +/datum/disease2/effect/nothing + name = "Nil Syndrome" + stage = 4 + badness = 1 + activate() + return + /datum/disease2/effect/gibbingtons name = "Gibbingtons Syndrome" stage = 4 @@ -67,12 +74,14 @@ name = "Radian's Syndrome" stage = 4 maxm = 3 + badness = 2 activate(var/mob/living/carbon/mob,var/multiplier) mob.radiation += (2*multiplier) /datum/disease2/effect/deaf name = "Dead Ear Syndrome" stage = 4 + badness = 2 activate(var/mob/living/carbon/mob,var/multiplier) mob.ear_deaf += 20 @@ -101,12 +110,14 @@ /datum/disease2/effect/killertoxins name = "Toxification Syndrome" stage = 4 + badness = 2 activate(var/mob/living/carbon/mob,var/multiplier) mob.adjustToxLoss(15*multiplier) /datum/disease2/effect/dna name = "Reverse Pattern Syndrome" stage = 4 + badness = 2 activate(var/mob/living/carbon/mob,var/multiplier) mob.bodytemperature = max(mob.bodytemperature, 350) scramble(0,mob,10) @@ -115,6 +126,7 @@ /datum/disease2/effect/organs name = "Shutdown Syndrome" stage = 4 + badness = 2 activate(var/mob/living/carbon/mob,var/multiplier) if(istype(mob, /mob/living/carbon/human)) var/mob/living/carbon/human/H = mob @@ -140,6 +152,7 @@ /datum/disease2/effect/immortal name = "Longevity Syndrome" stage = 4 + badness = 2 activate(var/mob/living/carbon/mob,var/multiplier) if(istype(mob, /mob/living/carbon/human)) var/mob/living/carbon/human/H = mob @@ -157,11 +170,10 @@ var/backlash_amt = 5*multiplier mob.apply_damages(backlash_amt,backlash_amt,backlash_amt,backlash_amt) -////////////////////////STAGE 3///////////////////////////////// - /datum/disease2/effect/bones name = "Fragile Bones Syndrome" stage = 4 + badness = 2 activate(var/mob/living/carbon/mob,var/multiplier) if(istype(mob, /mob/living/carbon/human)) var/mob/living/carbon/human/H = mob @@ -174,6 +186,8 @@ for (var/datum/organ/external/E in H.organs) E.min_broken_damage = initial(E.min_broken_damage) +////////////////////////STAGE 3///////////////////////////////// + /datum/disease2/effect/toxins name = "Hyperacidity" stage = 3 @@ -239,7 +253,6 @@ activate(var/mob/living/carbon/mob,var/multiplier) mob.apply_damage(2, CLONE) - /datum/disease2/effect/groan name = "Groaning Syndrome" stage = 3 diff --git a/code/modules/virus2/helpers.dm b/code/modules/virus2/helpers.dm index 6118dade42..e3da0e5614 100644 --- a/code/modules/virus2/helpers.dm +++ b/code/modules/virus2/helpers.dm @@ -96,20 +96,23 @@ proc/airborne_can_reach(turf/source, turf/target) M.virus2["[D.uniqueID]"] = D M.hud_updateflag |= 1 << STATUS_HUD +//Infects mob M with disease D +/proc/infect_mob(var/mob/living/carbon/M, var/datum/disease2/disease/D) + infect_virus2(M,D,1) + M.hud_updateflag |= 1 << STATUS_HUD + //Infects mob M with random lesser disease, if he doesn't have one /proc/infect_mob_random_lesser(var/mob/living/carbon/M) var/datum/disease2/disease/D = new /datum/disease2/disease D.makerandom() D.infectionchance = 1 - infect_virus2(M,D,1) - M.hud_updateflag |= 1 << STATUS_HUD + infect_mob(M, D) //Infects mob M with random greated disease, if he doesn't have one /proc/infect_mob_random_greater(var/mob/living/carbon/M) var/datum/disease2/disease/D = new /datum/disease2/disease D.makerandom(1) - infect_virus2(M,D,1) - M.hud_updateflag |= 1 << STATUS_HUD + infect_mob(M, D) //Fancy prob() function. /proc/dprob(var/p) From 3a4fca8ed3eaa7d96db5d14458f2d09444ca4a5f Mon Sep 17 00:00:00 2001 From: mwerezak Date: Sat, 10 Jan 2015 01:26:49 -0500 Subject: [PATCH 004/133] Gridcheck event now only announces sometimes Requested by Ravensdale --- code/modules/events/grid_check.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/modules/events/grid_check.dm b/code/modules/events/grid_check.dm index c485827efb..40a38e2383 100644 --- a/code/modules/events/grid_check.dm +++ b/code/modules/events/grid_check.dm @@ -8,7 +8,8 @@ power_failure(0) /datum/event/grid_check/announce() - command_announcement.Announce("Abnormal activity detected in [station_name()]'s powernet. As a precautionary measure, the station's power will be shut off for an indeterminate duration.", "Automated Grid Check", new_sound = 'sound/AI/poweroff.ogg') + if (prob(30)) + command_announcement.Announce("Abnormal activity detected in [station_name()]'s powernet. As a precautionary measure, the station's power will be shut off for an indeterminate duration.", "Automated Grid Check", new_sound = 'sound/AI/poweroff.ogg') /datum/event/grid_check/end() power_restore() From b0440b9c28d7af2067742da6df6e2d9d53706927 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Sat, 10 Jan 2015 01:27:18 -0500 Subject: [PATCH 005/133] Adjusts moderate level event weightings --- code/modules/events/event_container.dm | 32 +++++++++++++------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/code/modules/events/event_container.dm b/code/modules/events/event_container.dm index 4f2675a512..5ac880185f 100644 --- a/code/modules/events/event_container.dm +++ b/code/modules/events/event_container.dm @@ -139,22 +139,22 @@ var/global/list/severity_to_string = list(EVENT_LEVEL_MUNDANE = "Mundane", EVENT /datum/event_container/moderate severity = EVENT_LEVEL_MODERATE available_events = list( - new /datum/event_meta(EVENT_LEVEL_MODERATE, "Nothing", /datum/event/nothing, 10), - new /datum/event_meta(EVENT_LEVEL_MODERATE, "Carp School", /datum/event/carp_migration, 20, list(ASSIGNMENT_SECURITY = 10), 1), - new /datum/event_meta(EVENT_LEVEL_MODERATE, "Rogue Drones", /datum/event/rogue_drone, 5, list(ASSIGNMENT_ENGINEER = 25, ASSIGNMENT_SECURITY = 25)), - new /datum/event_meta(EVENT_LEVEL_MODERATE, "Space vines", /datum/event/spacevine, 10, list(ASSIGNMENT_ENGINEER = 5)), - new /datum/event_meta(EVENT_LEVEL_MODERATE, "Meteor Shower", /datum/event/meteor_shower, 0, list(ASSIGNMENT_ENGINEER = 10)), - new /datum/event_meta(EVENT_LEVEL_MODERATE, "Communication Blackout", /datum/event/communications_blackout, 50, list(ASSIGNMENT_AI = 25, ASSIGNMENT_SECURITY = 25)), - new /datum/event_meta(EVENT_LEVEL_MODERATE, "Prison Break", /datum/event/prison_break, 0, list(ASSIGNMENT_SECURITY = 50)), - new /datum/event_meta(EVENT_LEVEL_MODERATE, "Grid Check", /datum/event/grid_check, 25, list(ASSIGNMENT_ENGINEER = 10)), - new /datum/event_meta(EVENT_LEVEL_MODERATE, "Electrical Storm", /datum/event/electrical_storm, 15, list(ASSIGNMENT_ENGINEER = 5, ASSIGNMENT_JANITOR = 15)), - new /datum/event_meta(EVENT_LEVEL_MODERATE, "Radiation Storm", /datum/event/radiation_storm, 0, list(ASSIGNMENT_MEDICAL = 10), 1), - new /datum/event_meta(EVENT_LEVEL_MODERATE, "Appendicitis", /datum/event/spontaneous_appendicitis, 0, list(ASSIGNMENT_MEDICAL = 10), 1), - new /datum/event_meta(EVENT_LEVEL_MODERATE, "Viral Infection", /datum/event/viral_infection, 0, list(ASSIGNMENT_MEDICAL = 10)), - new /datum/event_meta(EVENT_LEVEL_MODERATE, "Spider Infestation", /datum/event/spider_infestation, 5, list(ASSIGNMENT_SECURITY = 5), 1), - new /datum/event_meta/alien(EVENT_LEVEL_MODERATE, "Alien Infestation", /datum/event/alien_infestation, 2.5,list(ASSIGNMENT_SECURITY = 1), 1, 0, 5), - new /datum/event_meta/ninja(EVENT_LEVEL_MODERATE, "Space Ninja", /datum/event/space_ninja, 0, list(ASSIGNMENT_SECURITY = 1), 1, 0, 5), - new /datum/event_meta(EVENT_LEVEL_MODERATE, "Ion Storm", /datum/event/ionstorm, 0, list(ASSIGNMENT_AI = 25, ASSIGNMENT_CYBORG = 25, ASSIGNMENT_ENGINEER = 10, ASSIGNMENT_SCIENTIST = 5)), + new /datum/event_meta(EVENT_LEVEL_MODERATE, "Nothing", /datum/event/nothing, 1230), + new /datum/event_meta(EVENT_LEVEL_MODERATE, "Carp School", /datum/event/carp_migration, 100, list(ASSIGNMENT_ENGINEER = 10, ASSIGNMENT_SECURITY = 20), 1), + new /datum/event_meta(EVENT_LEVEL_MODERATE, "Rogue Drones", /datum/event/rogue_drone, 20, list(ASSIGNMENT_SECURITY = 20)), + new /datum/event_meta(EVENT_LEVEL_MODERATE, "Space vines", /datum/event/spacevine, 200, list(ASSIGNMENT_ENGINEER = 10)), + new /datum/event_meta(EVENT_LEVEL_MODERATE, "Meteor Shower", /datum/event/meteor_shower, 0, list(ASSIGNMENT_ENGINEER = 20)), + new /datum/event_meta(EVENT_LEVEL_MODERATE, "Communication Blackout", /datum/event/communications_blackout, 500, list(ASSIGNMENT_AI = 150, ASSIGNMENT_SECURITY = 120)), + new /datum/event_meta(EVENT_LEVEL_MODERATE, "Prison Break", /datum/event/prison_break, 0, list(ASSIGNMENT_SECURITY = 100)), + new /datum/event_meta(EVENT_LEVEL_MODERATE, "Grid Check", /datum/event/grid_check, 200, list(ASSIGNMENT_ENGINEER = 60)), + new /datum/event_meta(EVENT_LEVEL_MODERATE, "Electrical Storm", /datum/event/electrical_storm, 250, list(ASSIGNMENT_ENGINEER = 20, ASSIGNMENT_JANITOR = 150)), + new /datum/event_meta(EVENT_LEVEL_MODERATE, "Radiation Storm", /datum/event/radiation_storm, 0, list(ASSIGNMENT_MEDICAL = 50), 1), + new /datum/event_meta(EVENT_LEVEL_MODERATE, "Appendicitis", /datum/event/spontaneous_appendicitis, 0, list(ASSIGNMENT_MEDICAL = 10), 1), + new /datum/event_meta(EVENT_LEVEL_MODERATE, "Viral Infection", /datum/event/viral_infection, 0, list(ASSIGNMENT_MEDICAL = 150)), + new /datum/event_meta(EVENT_LEVEL_MODERATE, "Spider Infestation", /datum/event/spider_infestation, 100, list(ASSIGNMENT_SECURITY = 30), 1), + new /datum/event_meta(EVENT_LEVEL_MODERATE, "Ion Storm", /datum/event/ionstorm, 0, list(ASSIGNMENT_AI = 50, ASSIGNMENT_CYBORG = 50, ASSIGNMENT_ENGINEER = 15, ASSIGNMENT_SCIENTIST = 5)), + new /datum/event_meta/alien(EVENT_LEVEL_MODERATE, "Alien Infestation", /datum/event/alien_infestation, 2.5, list(ASSIGNMENT_SECURITY = 1), 1, 0, 5), + new /datum/event_meta/ninja(EVENT_LEVEL_MODERATE, "Space Ninja", /datum/event/space_ninja, 0, list(ASSIGNMENT_SECURITY = 1), 1, 0, 5), ) /datum/event_container/major From 1c5ca01daeeb7f5f7ce8b1bdcdefb69e2940ecb9 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Sat, 10 Jan 2015 02:30:27 -0500 Subject: [PATCH 006/133] Restricts Gibbingtons, Suicide, and Monkism syndromes Restricts Gibbingtons, Suicide, and Monkism syndromes from even greater diseases. Admins can still generate diseases with these syndromes through secrets. Fixes virus events potentially having people share the same virus datum. --- code/game/gamemodes/epidemic/epidemic.dm | 2 +- code/modules/admin/admin_verbs.dm | 16 +++++++++------- code/modules/events/viral_infection.dm | 9 +++++---- code/modules/virus2/disease2.dm | 19 ++++++++++--------- code/modules/virus2/effect.dm | 8 ++++---- code/modules/virus2/helpers.dm | 5 ++--- 6 files changed, 31 insertions(+), 28 deletions(-) diff --git a/code/game/gamemodes/epidemic/epidemic.dm b/code/game/gamemodes/epidemic/epidemic.dm index 4a0712c712..9964a37813 100644 --- a/code/game/gamemodes/epidemic/epidemic.dm +++ b/code/game/gamemodes/epidemic/epidemic.dm @@ -113,7 +113,7 @@ world.Reboot() var/datum/disease2/disease/lethal = new - lethal.makerandom(1) + lethal.makerandom(3) lethal.infectionchance = 5 // the more doctors, the more will be infected diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index 8d9e62cdcf..6548454789 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -608,12 +608,14 @@ var/list/admin_verbs_mentor = list( var/datum/disease2/disease/D = new /datum/disease2/disease() - var/greater = ((input("Is this a lesser or greater disease?", "Give Disease") in list("Lesser", "Greater")) == "Greater") - - D.makerandom(greater) - if (!greater) - D.infectionchance = 1 + var/severity = 1 + var/greater = input("Is this a lesser, greater, or badmin disease?", "Give Disease") in list("Lesser", "Greater", "Badmin") + switch(greater) + if ("Lesser") severity = 1 + if ("Greater") severity = 2 + if ("Badmin") severity = 99 + D.makerandom(severity) D.infectionchance = input("How virulent is this disease? (1-100)", "Give Disease", D.infectionchance) as num if(istype(T,/mob/living/carbon/human)) @@ -626,8 +628,8 @@ var/list/admin_verbs_mentor = list( infect_virus2(T,D,1) feedback_add_details("admin_verb","GD2") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! - log_admin("[key_name(usr)] gave [key_name(T)] a [(greater)? "greater":"lesser"] disease2 with infection chance [D.infectionchance].") - message_admins("\blue [key_name_admin(usr)] gave [key_name(T)] a [(greater)? "greater":"lesser"] disease2 with infection chance [D.infectionchance].", 1) + log_admin("[key_name(usr)] gave [key_name(T)] a [greater] disease2 with infection chance [D.infectionchance].") + message_admins("\blue [key_name_admin(usr)] gave [key_name(T)] a [greater] disease2 with infection chance [D.infectionchance].", 1) /client/proc/make_sound(var/obj/O in world) // -- TLE set category = "Special Verbs" diff --git a/code/modules/events/viral_infection.dm b/code/modules/events/viral_infection.dm index 87c55460ce..29daed2773 100644 --- a/code/modules/events/viral_infection.dm +++ b/code/modules/events/viral_infection.dm @@ -10,10 +10,10 @@ datum/event/viral_infection/setup() for (var/i=0, i < num_diseases, i++) var/datum/disease2/disease/D = new /datum/disease2/disease - var/greater = 0 //whether the disease is of the greater or lesser variety + var/strength = 1 //whether the disease is of the greater or lesser variety if (severity >= EVENT_LEVEL_MAJOR && prob(50)) - greater = 1 - D.makerandom(greater) + strength = 2 + D.makerandom(strength) viruses += D datum/event/viral_infection/announce() @@ -32,6 +32,7 @@ datum/event/viral_infection/start() severity = max(EVENT_LEVEL_MUNDANE, severity - 1) var/actual_severity = severity * rand(1, 3) while(actual_severity > 0 && candidates.len) - infect_mob(candidates[1], pick(viruses)) + var/datum/disease2/disease/D = pick(viruses) + infect_mob(candidates[1], D.getcopy()) candidates.Remove(candidates[1]) actual_severity-- diff --git a/code/modules/virus2/disease2.dm b/code/modules/virus2/disease2.dm index 09b6c80ee6..c7a9b8e375 100644 --- a/code/modules/virus2/disease2.dm +++ b/code/modules/virus2/disease2.dm @@ -16,20 +16,21 @@ uniqueID = rand(0,10000) ..() -/datum/disease2/disease/proc/makerandom(var/greater=0) +/datum/disease2/disease/proc/makerandom(var/severity=1) for(var/i=1 ; i <= max_stage ; i++ ) var/datum/disease2/effectholder/holder = new /datum/disease2/effectholder holder.stage = i - if(greater) - holder.getrandomeffect(2) - else - holder.getrandomeffect() + holder.getrandomeffect(severity) effects += holder uniqueID = rand(0,10000) - if (greater) - infectionchance = rand(60,90) - else - infectionchance = 1 + switch(severity) + if(1) + infectionchance = 1 + if(2) + infectionchance = rand(10,50) + else + infectionchance = rand(60,90) + antigen |= text2num(pick(ANTIGENS)) antigen |= text2num(pick(ANTIGENS)) spreadtype = prob(70) ? "Airborne" : "Contact" diff --git a/code/modules/virus2/effect.dm b/code/modules/virus2/effect.dm index 82edfb8049..22d0a49e0a 100644 --- a/code/modules/virus2/effect.dm +++ b/code/modules/virus2/effect.dm @@ -33,7 +33,7 @@ multiplier = rand(1,effect.maxm) /datum/disease2/effectholder/proc/majormutate() - getrandomeffect(2) + getrandomeffect(3) //////////////////////////////////////////////////////////////// ////////////////////////EFFECTS///////////////////////////////// @@ -66,7 +66,7 @@ /datum/disease2/effect/gibbingtons name = "Gibbingtons Syndrome" stage = 4 - badness = 2 + badness = 3 activate(var/mob/living/carbon/mob,var/multiplier) mob.gib() @@ -88,7 +88,7 @@ /datum/disease2/effect/monkey name = "Monkism Syndrome" stage = 4 - badness = 2 + badness = 3 activate(var/mob/living/carbon/mob,var/multiplier) if(istype(mob,/mob/living/carbon/human)) var/mob/living/carbon/human/h = mob @@ -97,7 +97,7 @@ /datum/disease2/effect/suicide name = "Suicidal Syndrome" stage = 4 - badness = 2 + badness = 3 activate(var/mob/living/carbon/mob,var/multiplier) mob.suiciding = 1 //instead of killing them instantly, just put them at -175 health and let 'em gasp for a while diff --git a/code/modules/virus2/helpers.dm b/code/modules/virus2/helpers.dm index e3da0e5614..4ef8e3bbf4 100644 --- a/code/modules/virus2/helpers.dm +++ b/code/modules/virus2/helpers.dm @@ -104,14 +104,13 @@ proc/airborne_can_reach(turf/source, turf/target) //Infects mob M with random lesser disease, if he doesn't have one /proc/infect_mob_random_lesser(var/mob/living/carbon/M) var/datum/disease2/disease/D = new /datum/disease2/disease - D.makerandom() - D.infectionchance = 1 + D.makerandom(1) infect_mob(M, D) //Infects mob M with random greated disease, if he doesn't have one /proc/infect_mob_random_greater(var/mob/living/carbon/M) var/datum/disease2/disease/D = new /datum/disease2/disease - D.makerandom(1) + D.makerandom(2) infect_mob(M, D) //Fancy prob() function. From 654769016e35fb94e3d866e93d5e1953fdc7c434 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Sat, 10 Jan 2015 03:18:52 -0500 Subject: [PATCH 007/133] Fixes virus events failing because of lack of compatible species --- code/modules/virus2/helpers.dm | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/code/modules/virus2/helpers.dm b/code/modules/virus2/helpers.dm index 4ef8e3bbf4..8a744be85f 100644 --- a/code/modules/virus2/helpers.dm +++ b/code/modules/virus2/helpers.dm @@ -73,15 +73,18 @@ proc/airborne_can_reach(turf/source, turf/target) if(M.reagents.has_reagent("spaceacillin")) return - if(istype(M,/mob/living/carbon/monkey)) - var/mob/living/carbon/monkey/chimp = M - if (!(chimp.greaterform in disease.affected_species)) - return + if(!disease.affected_species.len) + return - if(istype(M,/mob/living/carbon/human)) - var/mob/living/carbon/human/chump = M - if (!(chump.species.name in disease.affected_species)) - return + if(!istype(M,/mob/living/carbon)) + return + + var/mob/living/carbon/C = M + if (!(C.species.name in disease.affected_species)) + if (forced) + disease.affected_species[1] = C.species.name + else + return //not compatible with this species // log_debug("Infecting [M]") From cf0c0c29bbb2bd912d4418aea0977462dceca999 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Sat, 10 Jan 2015 11:42:52 -0500 Subject: [PATCH 008/133] Randomizes carp spawning locations --- code/modules/events/carp_migration.dm | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/code/modules/events/carp_migration.dm b/code/modules/events/carp_migration.dm index 19e1625126..16d623d3da 100644 --- a/code/modules/events/carp_migration.dm +++ b/code/modules/events/carp_migration.dm @@ -18,19 +18,27 @@ /datum/event/carp_migration/start() if(severity == EVENT_LEVEL_MAJOR) - for(var/i = 1 to rand(3,5)) - spawn_fish(landmarks_list.len) + spawn_fish(landmarks_list.len) else if(severity == EVENT_LEVEL_MODERATE) - spawn_fish(rand(10,30)) + spawn_fish(rand(4, 6)) //12 to 30 carp, in small groups else - spawn_fish(rand(1, 5)) + spawn_fish(rand(1, 3), 1, 2) //1 to 6 carp, alone or in pairs + +/datum/event/carp_migration/proc/spawn_fish(var/num_groups, var/group_size_min=3, var/group_size_max=5) + var/list/spawn_locations = list() -/datum/event/carp_migration/proc/spawn_fish(var/limit) for(var/obj/effect/landmark/C in landmarks_list) if(C.name == "carpspawn") - spawned_carp.Add(new /mob/living/simple_animal/hostile/carp(C.loc)) - if(spawned_carp.len >= limit) - return + spawn_locations.Add(C.loc) + spawn_locations = shuffle(spawn_locations) + num_groups = min(num_groups, spawn_locations.len) + + var/i = 1 + while (i <= num_groups) + var/group_size = rand(group_size_min, group_size_max) + for (var/j = 1, j <= group_size, j++) + spawned_carp.Add(new /mob/living/simple_animal/hostile/carp(spawn_locations[i])) + i++ /datum/event/carp_migration/end() for(var/mob/living/simple_animal/hostile/carp/C in spawned_carp) From 8ac0450c0162b9fbaeb2f8d02d2d402f1365d38d Mon Sep 17 00:00:00 2001 From: mwerezak Date: Sat, 10 Jan 2015 12:26:12 -0500 Subject: [PATCH 009/133] Sets chance_maxm for several disease effects Also lengthens the time to get from stage 1 to stage 2 --- code/modules/events/viral_infection.dm | 13 +++++++++++-- code/modules/virus2/disease2.dm | 2 +- code/modules/virus2/effect.dm | 15 ++++++++++----- code/modules/virus2/helpers.dm | 6 +++--- 4 files changed, 25 insertions(+), 11 deletions(-) diff --git a/code/modules/events/viral_infection.dm b/code/modules/events/viral_infection.dm index 29daed2773..55dbe2b823 100644 --- a/code/modules/events/viral_infection.dm +++ b/code/modules/events/viral_infection.dm @@ -11,13 +11,22 @@ datum/event/viral_infection/setup() var/datum/disease2/disease/D = new /datum/disease2/disease var/strength = 1 //whether the disease is of the greater or lesser variety - if (severity >= EVENT_LEVEL_MAJOR && prob(50)) + if (severity >= EVENT_LEVEL_MAJOR && prob(75)) strength = 2 D.makerandom(strength) viruses += D datum/event/viral_infection/announce() - command_announcement.Announce("Confirmed outbreak of level five biohazard aboard [station_name()]. All personnel must contain the outbreak.", "Biohazard Alert", new_sound = 'sound/AI/outbreak5.ogg') + var/level + if (severity == EVENT_LEVEL_MUNDANE) + return + else if (severity == EVENT_LEVEL_MODERATE) + level = pick("one", "two", "three", "four") + else + level = "five" + + if (severity == EVENT_LEVEL_MAJOR || prob(60)) + command_announcement.Announce("Confirmed outbreak of level [level] biohazard aboard [station_name()]. All personnel must contain the outbreak.", "Biohazard Alert", new_sound = 'sound/AI/outbreak5.ogg') datum/event/viral_infection/start() if(!viruses.len) return diff --git a/code/modules/virus2/disease2.dm b/code/modules/virus2/disease2.dm index c7a9b8e375..a68bafed7c 100644 --- a/code/modules/virus2/disease2.dm +++ b/code/modules/virus2/disease2.dm @@ -80,7 +80,7 @@ clicks += 10 //Moving to the next stage - if(clicks > stage*100 && prob(10)) + if(clicks > max(stage*100, 200) && prob(10)) if(stage == max_stage) src.cure(mob) mob.antibodies |= src.antigen diff --git a/code/modules/virus2/effect.dm b/code/modules/virus2/effect.dm index 22d0a49e0a..c79db488a8 100644 --- a/code/modules/virus2/effect.dm +++ b/code/modules/virus2/effect.dm @@ -40,7 +40,7 @@ //////////////////////////////////////////////////////////////// /datum/disease2/effect - var/chance_maxm = 50 + var/chance_maxm = 50 //note that disease effects only proc once every 3 ticks for humans var/name = "Blanking effect" var/stage = 4 var/maxm = 1 @@ -60,8 +60,7 @@ name = "Nil Syndrome" stage = 4 badness = 1 - activate() - return + chance_maxm = 0 /datum/disease2/effect/gibbingtons name = "Gibbingtons Syndrome" @@ -256,6 +255,7 @@ /datum/disease2/effect/groan name = "Groaning Syndrome" stage = 3 + chance_maxm = 25 activate(var/mob/living/carbon/mob,var/multiplier) mob.say("*groan") ////////////////////////STAGE 2///////////////////////////////// @@ -263,6 +263,7 @@ /datum/disease2/effect/scream name = "Loudness Syndrome" stage = 2 + chance_maxm = 25 activate(var/mob/living/carbon/mob,var/multiplier) mob.say("*scream") @@ -275,6 +276,7 @@ /datum/disease2/effect/sleepy name = "Resting Syndrome" stage = 2 + chance_maxm = 15 activate(var/mob/living/carbon/mob,var/multiplier) mob.say("*collapse") @@ -301,6 +303,7 @@ /datum/disease2/effect/fridge name = "Refridgerator Syndrome" stage = 2 + chance_maxm = 25 activate(var/mob/living/carbon/mob,var/multiplier) mob.say("*shiver") @@ -346,17 +349,19 @@ name = "Flemmingtons" stage = 1 activate(var/mob/living/carbon/mob,var/multiplier) - mob << "\red Mucous runs down the back of your throat." + mob << "Mucous runs down the back of your throat." /datum/disease2/effect/drool name = "Saliva Effect" stage = 1 + chance_maxm = 25 activate(var/mob/living/carbon/mob,var/multiplier) mob.say("*drool") /datum/disease2/effect/twitch name = "Twitcher" stage = 1 + chance_maxm = 25 activate(var/mob/living/carbon/mob,var/multiplier) mob.say("*twitch") @@ -364,4 +369,4 @@ name = "Headache" stage = 1 activate(var/mob/living/carbon/mob,var/multiplier) - mob << " Your head hurts a bit" + mob << "Your head hurts a bit." diff --git a/code/modules/virus2/helpers.dm b/code/modules/virus2/helpers.dm index 8a744be85f..2c4e1e823c 100644 --- a/code/modules/virus2/helpers.dm +++ b/code/modules/virus2/helpers.dm @@ -73,12 +73,12 @@ proc/airborne_can_reach(turf/source, turf/target) if(M.reagents.has_reagent("spaceacillin")) return - if(!disease.affected_species.len) - return - if(!istype(M,/mob/living/carbon)) return + if(!disease.affected_species.len) + return + var/mob/living/carbon/C = M if (!(C.species.name in disease.affected_species)) if (forced) From d61c808fef5f1254ee5ed6afb3f6bf3f07efb4b9 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Sat, 10 Jan 2015 12:29:35 -0500 Subject: [PATCH 010/133] Cleans up infect_virus2() typecheck --- code/modules/virus2/helpers.dm | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/code/modules/virus2/helpers.dm b/code/modules/virus2/helpers.dm index 2c4e1e823c..927078b062 100644 --- a/code/modules/virus2/helpers.dm +++ b/code/modules/virus2/helpers.dm @@ -72,17 +72,13 @@ proc/airborne_can_reach(turf/source, turf/target) return if(M.reagents.has_reagent("spaceacillin")) return - - if(!istype(M,/mob/living/carbon)) - return - + if(!disease.affected_species.len) return - - var/mob/living/carbon/C = M - if (!(C.species.name in disease.affected_species)) + + if (!(M.species.name in disease.affected_species)) if (forced) - disease.affected_species[1] = C.species.name + disease.affected_species[1] = M.species.name else return //not compatible with this species From e49a3a86aed66023c5afd9e85e4f427ec5ebef04 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Sat, 10 Jan 2015 12:43:19 -0500 Subject: [PATCH 011/133] Delays events by 15 minutes on crew autotransfer --- code/game/machinery/computer/communications.dm | 10 ++++++++-- code/modules/events/event_manager.dm | 4 ++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/code/game/machinery/computer/communications.dm b/code/game/machinery/computer/communications.dm index f187957f5b..5285235fbf 100644 --- a/code/game/machinery/computer/communications.dm +++ b/code/game/machinery/computer/communications.dm @@ -496,8 +496,14 @@ return emergency_shuttle.call_transfer() - log_game("[key_name(user)] has called the shuttle.") - message_admins("[key_name_admin(user)] has called the shuttle.", 1) + + //delay events in case of an autotransfer + if (isnull(user)) + event_manager.delay_events(EVENT_LEVEL_MODERATE, 9000) //15 minutes + event_manager.delay_events(EVENT_LEVEL_MAJOR, 9000) + + log_game("[user? key_name(user) : "Autotransfer"] has called the shuttle.") + message_admins("[user? key_name_admin(user) : "Autotransfer"] has called the shuttle.", 1) return diff --git a/code/modules/events/event_manager.dm b/code/modules/events/event_manager.dm index 1ef4d22e91..d6d571e9f0 100644 --- a/code/modules/events/event_manager.dm +++ b/code/modules/events/event_manager.dm @@ -45,6 +45,10 @@ log_debug("Event '[EM.name]' has completed at [worldtime2text()].") +/datum/event_manager/proc/delay_events(var/container, var/delay) + var/list/datum/event_container/EC = event_containers[container] + EC.next_event_time += delay + /datum/event_manager/proc/Interact(var/mob/living/user) var/html = GetInteractWindow() From 03e95ecbcf4f766efbeb546a62b56494298d0c9a Mon Sep 17 00:00:00 2001 From: mwerezak Date: Sat, 10 Jan 2015 13:29:19 -0500 Subject: [PATCH 012/133] Fixes UI event weighting display --- code/modules/events/event_manager.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/modules/events/event_manager.dm b/code/modules/events/event_manager.dm index d6d571e9f0..4be0e83e97 100644 --- a/code/modules/events/event_manager.dm +++ b/code/modules/events/event_manager.dm @@ -45,8 +45,8 @@ log_debug("Event '[EM.name]' has completed at [worldtime2text()].") -/datum/event_manager/proc/delay_events(var/container, var/delay) - var/list/datum/event_container/EC = event_containers[container] +/datum/event_manager/proc/delay_events(var/severity, var/delay) + var/list/datum/event_container/EC = event_containers[severity] EC.next_event_time += delay /datum/event_manager/proc/Interact(var/mob/living/user) @@ -96,7 +96,7 @@ html += "[EM.max_weight]" html += "[EM.one_shot]" html += "[EM.enabled]" - html += "[EM.get_weight()]" + html += "[EM.get_weight(number_active_with_role())]" html += "Remove" html += "" html += "" From b069bfb6582686c0ab78a826d96e9331ff693929 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Mon, 12 Jan 2015 00:05:47 -0500 Subject: [PATCH 013/133] Adjusts infection chances After some discussion on IRC this seems like a better starting value. --- code/modules/virus2/disease2.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/virus2/disease2.dm b/code/modules/virus2/disease2.dm index a68bafed7c..4323ce6545 100644 --- a/code/modules/virus2/disease2.dm +++ b/code/modules/virus2/disease2.dm @@ -27,7 +27,7 @@ if(1) infectionchance = 1 if(2) - infectionchance = rand(10,50) + infectionchance = rand(10,20) else infectionchance = rand(60,90) From aeec54aece67e4e77cba53d9ce0c719942b69349 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Mon, 12 Jan 2015 00:19:01 -0500 Subject: [PATCH 014/133] Fixes bad gear datum paths --- code/modules/client/preferences_gear.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/client/preferences_gear.dm b/code/modules/client/preferences_gear.dm index 3e8c8e3a3c..c83571650f 100644 --- a/code/modules/client/preferences_gear.dm +++ b/code/modules/client/preferences_gear.dm @@ -517,7 +517,7 @@ var/global/list/gear_datums = list() cost = 2 slot = slot_wear_suit -/datum/gear/gponcho +/datum/gear/bponcho display_name = "poncho, blue" path = /obj/item/clothing/suit/poncho/blue cost = 3 @@ -529,7 +529,7 @@ var/global/list/gear_datums = list() cost = 3 slot = slot_wear_suit -/datum/gear/rponcho +/datum/gear/pponcho display_name = "poncho, purple" path = /obj/item/clothing/suit/poncho/purple cost = 3 From 880b90f5c4ebcfa9d953be38a470818f3c298867 Mon Sep 17 00:00:00 2001 From: Loganbacca Date: Tue, 13 Jan 2015 13:44:35 +1300 Subject: [PATCH 015/133] Fixed e-guns in incorrect left/right hands Also sorted the files alphabetically --- icons/mob/items_lefthand.dmi | Bin 154854 -> 155827 bytes icons/mob/items_righthand.dmi | Bin 156284 -> 159011 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/mob/items_lefthand.dmi b/icons/mob/items_lefthand.dmi index 53cf56309f7f3ff364c0bdd72dd792b5b970bd66..9d7c3845d9c6b0635b69b49a5ed44aef0d7a7662 100644 GIT binary patch literal 155827 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�!Ft^qWNf(;M_QE3V& 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 z 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≠gd=@p_J>8DXrxT;)^9E>J^K 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

Gav#PG}&ektyOE|kuyU~LK3LB-@ zJUe~THIIPvKI-5<7iLvKiMdOJ<6;i-pvm!=fea*EmBTM zPN<19&5Sp%fi-yzU+m--g-E|5@bI4hhg$ckgMVaM{NOu~=5x6aL6 z|5nonfBI#+U4X6X@-M0E`7!s16Vyf*gv-lMs0-K5ozF2&4+78h=|5Dvb`J?VkMLfk zSIH!ldm1+^=^#sA8OY^2W6G?a56ruDx_wDh)r*(6(^#TSeZIxGSQ6t@z8~uPERyMb zYzcqt(U<59@O*(fe;)9X-4!1Lg+D&*Q@P`l$!f|K_b2Ku6svSsKTnp24cdP`KkYrn zXtsOpHCVm8UIAJXk>@TnO&BiONJoEVQYAib)Qm{Izog1PXDS+#jn)Xm6lVjz#@Gb0C2 zHk(dym`&jJZlBC#!KfuHnBUDtjO)gU`c6zr5%>);vapJ}o{(p8)vdVVCy0`?3!@(B zS2kl@C20#uW8o#hOZpE7Ut_qW6znT+`0yUet?SL3(}kvk^!<5cYyU zJk|BTLr444uP^xE~@m*iehOAthYP1B}FZpzFhpu`GKD z7u!wJ`9Afa@O?6SKb(qsppdV*^tT2+b4(YR{9 z+&<1l$f%qJV{zQV@TEpdYyTEo`*jlM-;aCx%b%bUAg$XfPaE}+)RGVov0{S+zo#=m zCBz?mV;*HYX$)&+wW@feo|%Mj79sJxA?U5#u8)vW0j^>hM3ZO2$Wgy8B(K=+G$OT9 zj6}O@R(I%VPW~e9vrv(ytyMbOtb0Q%mc{vR_U1va=vUU>8S{KN;U_)NgV>($y6=qY zDLAb5*y#Hp;;g%OOs8S9bJb76yKVKc?tZ?QJwo=(l)LWP8M!YqBtHCj;PNtLI5^YF z#!bFii5D-=lC`md3&# zT4jzgLSbypvb5rFiw%f4}g}UPWng5*I@sFxT0fGOs(x3Y&S&f9x=?2TZ}npOALcW>UDkj4Ji zYV<`U1Q zvuN`;X#D^|tfl{!*8>#vcI~y^AxDGKJ0owuhgm+^yIkl#rrTc=W6?c9C$MLYDa(7d z$NJWXIypgcVO5giPU%7EkEu%UyI8_)T>aRlQAW_FK=(fcGtto@Pd=y?t*i6y{h!7c z>a%BErP5Ikrq%dY+3KoMKQAya1U{jevBVir{B`8$_8@NBfQW>xx!;$z6q1x6_3!BT zHizdT|B%hP=PUi&AZl`m>@PmiX}R{!&SoQJ3Qi4`9d zfE!f(dQy?- zS}vq0(z@`vdo-%)IbxAwH#NargnooNpa`Gf1Qx;X`CFW^M=3{2YO<{5V#evGA zq+0CRzg8i{oJZwrvZp7N%*?)_6iZM231?tpTXZ|)|LN1ED_5^pt?rZO?xwEBkC=<+Ug4$K%4$TzqT&e z0Q&mxBuPbf^+NX9C@?tt9FNSK-~Lc^3=dbAJNU%U&wsj|%9$Q4!)J?%in_0=s`#_; zVpL2_U|ZXLA(J}UX>%9qx0HM(o~u*))keem2VXnn)iI8_KGdv;@(xSR7jnP~2AH%T z%p{`j78L^<(2R(4j8+xY`?<0QuDIrbs2T3}=mh7pU@RvhPGc2c zyK|1{S@0;!ns}@S_NXkv08jrI5wrfmiaO@y@IH3QH9>Ja@YBQQE*uoOjz>zh{f2 zjN4aXky%%HY}k0AFPfu=w67Vl#c(z^hogJt~W5ai0!t`Cy2HUR}lC&ct?$~bmFN;;5v*uEZx zf!GG_R}l2^=$;XB>>Qdbb}LlHw-D$z=|KZ$b;&)k;ys9^L?S300dk%tdv)D$smrEH zprg~!)O-U@I*ineV5GtE7QtIkX|Y+!;?pj!DkA#lO6emYwwXPoKIM&-+1(q$=@qo5 z-$i&4UV*<_9!K)yQhW3hZEgSE-CZk0NL>CLCaY}4u-Zdy=)D@r7MX_P)dc3O{e3SI z(vg?v0R1NXkI{w{^dbPlXu>)2r(EwefxO_e`>s9YUGuj!l1UNweIWE{X$JP-!8;J% zzoUQ>O-U#v7X6+jNC+|2FnnR3D=^)Bb_rKr$ws3KY%!(KvsB#vv|PX2*Umpv&hu-} zNq$>edWo8Zz4+lI0WoCOMC;T5LNT;NyQ$R(ieZYg|K}jB>szw9eSLWNzm97sUew68u4rm3z z#ZvPk;bS!4P@V~65k93J1R@&zpr6eC38E-k7{?TK<=oIvkL#0RHKMN(_#|hWdZQrw z0&>0=dF$Mx(TNJ{Gc3oYDP(oWLlh(v#Sa1#JA^{U)Je5K7mCr=CkG851(K0oFxiA< z9&A9un(3mccxjwk{KCHXojYU?A3m(fH@7T;sVONnaEbf%banlRxo!Y~;BHCGrXIpt z33PmqPt`;WX7yzNv`PvtmuR!wyx~yD%jJ34r1_0E3hDa2V$-v*1QXY4`bCTm# z^Kx)t)+SuJ4B+4$6H4moov?GqgmRR!W~{JR$+G7Z{HWoj>~0%R+js$Q#mVpQi+*?U zJ_8Cz3X#z!0V!Byi7x&&-zt*2Dl?_@GU#+`U6HEZX3tLe{Rd}OHz3!ttAo2|W`^A| zIVRc#X~#tA#p53qW@Vq04hl-m?5?ICAvyoE@uJ(Y>J(z*w?3K%0(Gi^F?S~kNX5WF zitlM@&j+)0_yt8;vvqO+UHoWyRA4@~muji~tlW1GQ{c=jPiwDof18f-I1`7b+_UF< z{8iz(*X?y%hh|UA$_sUK9;&7$P?qG(KjxI~T6N|-D_TlQr+@=w2w($}wQXQPdthMT zvbZ=sunYsf|7)LX|BewXN`S5$y#+`=-ElOqh1t_wc`-i%8ZNfpQld5nJpWXpfLWB# zW=AwWd3kNrR&qI`PZ(cA6P)TfBZj8cGgu2!gf~s-D0LHB?9+luUh8D^iqukCB|0l< zOelBCP6fl4<^I}(3ZQnHT$hc3Vk>s@RK`%i_5o^xU^{vwsB7A~w+8V8s>~J7EBXP z$i&6PNrS=5>vngdTqv+g`;-y|BU^!@H<&q;1a!~Si}WK^?Jti)R#!zlOl{3;Tj##e zGw|+B$bK7y&4q+2!s(BNY`)Po_MTVZzNLL<`j#KnEz@gC_i=$II^Yk!yMF#9l^abz za&2?r13&0j4P9ccF3Lsb#ioLS_s(O(Fn!K`^77q{^J}Zhmj;cLtXgje58QT;_Bv;7 z*C9FwQhxq1sgRb&bRBKvT>#u4sFR~Rvz?|Iy#9-foSfX4vJn_}n87*=3#UFLnTX)A zoKi#wvGjDsGJp#Hd@a*}BDV2*H9Awi)H?g@_esOslSQ+LH=I=3G zli-kD81^LGC4Z4}qWr2`V_1J{4NDFfHcf;JQ6XS}l9&?|A$Yz%UfBiL@Jhz~eNf{* zy?Q#0B_J~51#8}QD*kmo12c!l*d)R^fW+D3t&4V{@XGt7?(Gk8_@_^Aiu@aVPQvdL z@Ap*o|3{GilJtLnYzk5T1M~m9SwQ}8erREI*I;U4QFo!kP%#S%9*FG1OS0qfZlh+> zfB4?hDCEw$Xu^A}ZNGSm8v4J^eCE2c>-%b8y=aey3BAj*kHX zu{@k(;htJ}Nq9Z>tTI8oCne>9LIfEV$mp7Xs0x)?9bUksAD1`bm!=pF6tHs z`R1s{X~%1ih}>VtDnlzO%NRntlY%(-d)CI4g`^Q2lIWqvb}m;{SKKaKcco`L(}t{q zsE~5z2ySoxYCW;w9-?G9j_Ff$q$rIqCoDM^Jo@LLy2v|E4+>tkjrWbq)h0zBitVR8 z;NI9#FF3)0qZJoo7S@;X zxdTaAZ;ctCOvOW%9N=B|5&Le@G6410yC&$s(@e)+J=5iwM4|G_#+Gy{W-0P&%aXHv z35*bMHTj)r15;wk=;vw`&mi){{#)w}B5D`C7m+SfC7y&hOpkLhfE|uNpN?5l?`Nfy zlqE8Fy-oQdv9Nxo0~f@9U)F#Ob+Z0+eJ589hXVA8N#wkShHz_)it^0sLs*A@=lWke zK+?QM@3*`i=YaQ>;(1*Y#Yb@{C=8O|<|?8M*I0R(yB+%fF!vr%O?6+KXiyOm5ET)r zK|xSZQ4x?DkuK7tca`3Ihs1&+3PeCex+1+rx^x5t=}kHzAiV~pgpl@5^!sN1GwaQJ z^VZB;Yc4DIa@)D5?z8tkzrFVZe)MGL&GV%-6(H&S9Xrr?il&R0o%0HuCP_e*&*qo(=5p^(d6732Jq`MI7v7hNgJw;KY0%6~;hnB8 z%?AhL*BqH3^})X7;!E?y)$`9;4T5T%Y&KG_hai#-DdOFqhqfu6@HaToLe4)$MVdm! z7FIFKd++;NCuJY4kZ&VPmo;)KdJv@&AG&V#zW2WlK2ZTv6gtV{Y9w@|g5hcAUH?F+ zenp#<-&w4(5d9Zc#}Au{R`yciIAo^;{C$0#>fJ8_Zb>jDeReBk)AR z<34r#p~3UDlCBFHt&^afi(3TG$*!b`s)Q<7qr&5kkMS*oR&s2*N9*{XgoR49b=S6k zNMb#hm4RFSO8J;v~=u-zR0q?vFuJ5y*v&cH0B;t&p$% zc($fs%*27TpO$zjt}T0{K}o#Xf&zjmZ#!*ovbYZ9u}Y^D3MD`tUb$%JMi zl(c#_QLci6Hy}`2)aB+Pf2qNB08ew#kc6pu;jBgV5hg*0)5|^H7zEm6Nw5c})Yyq> zOhAzs8T*5WSy;EsZggzn^79T7`)&7+=dDEZipC`NzBhCeq(58=#fje%_xi#0s_H{A zZ0cpJEn~uANjA~lwu!#K`F#xX%gK>+!}`RWS=Udfn}U^SSl81JZ`cX5F80nHZzZ32 z-7rPS9FOEjoi(tDJ^LZyD{Lxi#Ce-x$L#(Pbmo!0v*JVUweG>HAcM|ek^_fVDNmU= z!p#l!+qT8*eqS1}1HR!tedoONnPI1_?Cg9(FmscwUW0P%OS#wZ?O`9d ztha*Xc?|;r8ZOAnn*TWQBBdDz^1HP&sKv0@##G+D1P>cuAaJML-A_*D%1lg)jh!`A zUE{f#FAn2dbbUeoiffGL5bEt+s!FPZNlHq>U$kt{R5)&ndTtmjA%mEMb3gqiMx@q^ z5n}(xubO^>$rX}sZQXNgSOlFf3v@pFiU+u(!Vh-|d1r32%lY*>Cg#DeM)kfKX^5uD zilKH29R$%NS7gqjx?Rsp;t^tpcfWkZB9`NLO&GRk_qpuiLs#Wp=`#|Pjat1|YirII zlTuSs)(s(rVO@DWy+5jgN^+;5b#&yP+5vFoUUaO+JlWdLj=*|n^?Yd_HT$W~c{mm9 zQ<#`uYFa<|pl%gxY-|ip+ZXtwV1*cwTqBsYLh28i)?$iVw4>Ir-Uf3hW#$RrkK+f< zhhSjL#1RGy=u(fqy;|FTa;@r!Ge}Zk8L7@(o6;~rxo~XH?2r_Aie;xQlWuC~8-K5x z0vLK(_K0MKM|{`hn>W!uq9vG5Wq2PuR>S%qTxl!Y411&cSmxdaJe2RltZoSW8&3^b zX~j!Wtd4jE=kjEl|DJEZ3EAXy72+IUdztjNEhTP z9s%djUgqYQ(8S*-uw)Ojc)6PI15F{-+^B$F!@n1 zp7j6$1Q!AL-lSLh*RMur*w`2>74~g9-%C0Y*QyqSi@ZK-u$<)mqqG0ByZPKNzD_ub zm2H-c4W>(yaBF>z3DDloYz5Z$TT>-AODWMax=dPSqUo2Yt4x2l=u?=loM`J3#rp_tl$QY{>HKLe~3ES`ZSqJOs^$INK{k729+ zaCS%k590Iwy9~`eUwb;%bl<02v%G$jNcY|`WCqWCW$#57z)nWf+$7lC!#DBfYkoWu zSPNF+7cq&*#mlJ(CpoIUW=+HnBh3%y7dwH0Atj=DnEGGfRnYOW#_@u`-wQM@UW>k; zK)U(;<%>lS-sbWWrV?dEajOT>i~8n!7!nB~9hCRHkm(w?knUpa^h|T#>KSe!M_(vw z9ObIKzo?tr%Atj&-pC$A8%+Omb4}BYDRpMY^o@xvNY@R(D*BMoi|dz5cfpcvADqN; zD%vA8_$~`d@bIs&B8-*{K2!j{RgJ?~?F;eADx85{9)@r3Ft>z3;m07aUcWvBStB^6 zVP^Z9GY<{|A&meSx3$u1IkeNZTUkGL4(&G7+PsYg7M_cincG@(%z!sP`eQBr@&RuB zO&tMu7}5l!l~PLm5r|O`@kDL;&eb-yH`v~T`g1{pf{-U^#7~DgI5;4X=SLYEzcq(x zuwE+{!@5zHLbbN9TOr0*6!xAA_FWXDZMRu0E15f^Q@_r&S2w}(Bw%5LLu+x}LAG>n zQ90z?C_~f@g#PhI75MVjS0gY8ars5+q3a05kHmkBBS$Mjk{0SI5Bud&X=zu{B6ikM zIk~w{MS#k}x1n8zS|uWNM-+PxwLs0A_YOJ}{r8M{`_9WiWPrQ-{UH>b_KxPIIi7mS z5$5lk8g_aO`ka71byBrZG(J7B=-wj|mnYW7O1}fhlae|iq;Rp`4Y-nP8VNL*)Wh}{ z7?-w;{nSfq^%NJ=?@AO?4-fE{wnHqeFWbH(mkozi)14nbn7p#>f|reNPJV#bLH&yzC_9a~OJM5F$j*KOE%4_Q2; zD$zmA%iI2&yks03W%c)o$q9AL*`U3(Z$P`~PwYvya9b!yxP}W@Y0p-qkV!Kxvciv% zz`w*rs;LbyxlyN7TLH^Y24BmaxKVm~`eO_X3Lq3xXWkn9tl%r)<-Bn)ZWVZXz>mSW zE2&0jQUDmx+N$iY`v-&eciljzzX;c#<@D?K1KvKcdXTO$a%7{1j1SvwoI^fk#vT<= zkwkBj78aZA4?6Di8Dw)9PZa2_()R+G$1qDO0L>H&;#s!8Cu)tTLXp6P5)5;HX&zn5 z>0v5y^~X))7tbEqO$kj9wM+l_5kl2?yJN6UvUdOIzBj8&p15+onOdNIc^9S}s!16WvB-`Tes)pU22Emr^ zc%Y5}M#_eP=L#t15?g!W7l1{oO`626z?7WMZR}x)#Kv4-^=HW3L4nfsDDqh?;-@|wNCrZEn0n#k?-qi;4Rx0c_saOJLJTR-N3*?R`sLb(*CT! zk-;Q)M@@|$5_BgOm_aYi1b`DTB?cG$sZucb`wrXvQ~}FkAl=$_&ft|g!(R6#&Q_7#N_gQ~~wj z`I|RSgNuggsjSPg9HO?2z!ll^hdBEoLBt4^0PCj_%~!nobE*wKQMs$<3UOqRoiHJi zr2o=M_wYd$D`dW>{MGvXJ$VKi`(PaEcs(q*l+k5;Vqgpv^FA0 zSIh7MsCpA?Zv;FJLG2dq+1+10R{*@pSQ7vY=4qQ#BXz#t@|9VSNO}IA79<^=O7mxtOP#trCXri38>H*F+{kSL^DCD zE-~!HnqL;G^b>OZXBE%B7ty+_*~2TdKYa#(1uyJ2(lFMz$$pU={mg$MUHh@#xq=5j z3Qi9l{95-1c6a$FtEGh{4K4(ds^Upl4Vo|HVqnL!r~YF{bKAe`-;4`IbH|8!yQPqi ze&-Xlovy^zvXohHQ*)}hdNpuwjUECfO!>Qa51l@J+MP@c;1ZTx82U;DsOb~7AB7CQ zUYkd|2V4QpYgqH_SW#}Yn~|lrgD}R^A=A%EPzX1T%%SNJ!j|QcfCwscRd~Y&g31Gq zyEFf(xHEyk3tui%oBOFX2_e8W&_F;iZuj8(s;cg5%m6s1lMB<5`xO3D+`t<4muXqd zAEwq=v6?-{t)~(YZ<>>I(-)pdK=gp86(6dlvZBjFh)Dnb)-26e3uG|x)zk5_^a9m6 z#-&@d(!iP(nCMWAbeWidv(}{UmjIXQjh*7Y%|!&g=>fH~FC52m0tG5a$=0UBvMDd! z&@y1C{|9jRv$HbP>9I!FOKecE*u;SUj3hAV$)Bt!}iR6&cl+B4GoW2T8@Q6T-OfWJ;^VBM*E~vsAF-V z^r*Vic?<0wyZmy0x9Exi1GmDD+TX^fgn8}DUtfBqt;F#4%d11LpPUqryZGb|<9U7z z20FtS8)w{;ASt>X`1=E0!hCQKjv#4lJGI?S4_sHu{MSHEPw4&$@FZ&o!u;}OG`tRdwTZ33AV$(HYedqU|N!GiaO@K!_HCFi(`_$`W4|TtEmv4 zV}p%P71n+!G33>{ZKc!dzuZ>kq2}RJW~Tm>L|Iu`hdWRE=RGkk;|V+GINX?=mCaF& z`F%dumli=OaT(%;6Gmz`2P4D=BY@L{N)DJvjpb;!6q0FbDmPyBZi?6Km|WPaD0bpI zF_^i*^4FwqTHn{bK8-x19T#*+%fK@%a7sA#SYF5677MzXb0F!K_d6ZaZ>0V8&WcEG zLrohdx9a2DS!mZAxC$RBkM8F|)FSn_^9JGUYa`RJ-)1}e^M1n$jl?~H$Ws(jnLxwu z==a!5Lj&uX9xyWGvE7i6Lo-mvu9h8~f-N#!egX~derWOVXQK$o!%5%QXX50Qc(zF- zA1$p1Hqtb|B!A-N!>Zb8;ALgMrd+6|+QkTMp7rxx9scwr(z6Zot_7|w$mlZEbprf` zX6HaFxMSYZ?A4z?+;Ml*p!*QCZLrS?RqAD#X2(OEfBtk6yDLB$4 z(IGN|dnB(sx!&iB(CdJ-Ns~C2qZ)<9n(Iyvq@Ub)o>sOnS#wb>GZrg*s);iR-dyT= zU~4jU(W^W5GCEt&eLNNThbB)b$1J!`Sk;>~T$@rDm>gMTS4+f=J9QBBQ%xxK<>Z|u zs|vyk^je}8EO#rQ0~~IkMb>O7)a$!gQ(>%O0QLF#6@h2&3tT4}_S)9(+}1{=qhL`% zjcc4)+1|rS^MQ}x)miW)8)63IMw>$M0SrR6WwrgeobR$J2@h7cni3l)Q;BW@d*PupiOY&31H} zG8n{%Gwh7jr3J}6z>|**fypUi-9`J6`3p zY7_4+oB63`8;e^Pv;3Jas5Y)`c15iu>3-EJIL)@7Vr4Si%yS0Bu1bFlblR&y_mAb5 zbc<=34E`>FO3w8h;^$C^|@La`gqRxxG!d!JI6f zDP@~j3`0!AOU2ysm*I~jYRKEYr#EQ*zIvSqgA!(adCiI~rprX_%rpGyy6QcHjmIeE zgr#B{6|KG2Dp}3i#!52 z!Zv$3&5vm|f7*?ujPU2FrM46W~_>$^?o<7+V2&auR!C?1mBF6~w8dY-PPRjh}CbVU1UadY;iUP9*gdR*9W z7CuRypM+AM&Fd{HGS_1y(f2AZvjs}tH&nX0=)PYKbERvNWBM@LeeG+feVgvQCa%(jP1go_7{aUk5+gTRd(-OWadB7gOp9-=k%2a?j7$w7w_&|`(<9_7Cbuwi zSXc&;7>xGZzUm9Qx-aPCBm0Rh`Jlf)?qTq{pCaXBR>=Naa+-AdCL!GN;1?j9u%Zpk zBRy_(EpGs^C4H@yK6Sf+`=p3#VaGM|>*Mxq?-EznlFcqZ(e$aQv`IdYzwyAt)9hj! zl2C7(E-dF;HlBJ0D$Oz5uUD}!sCB<=5$5+<`O5deTKE!j;^}po?OfUg3!(*HTC-L% zx}%N;(t>1ZqU;Tuiap%6?M}WSTJW7$)UK=Su(;c>n_Jyb{0uPhzlTUZS)Y-i2;6KX zf(90g8l)Cs4nNjgGamakzN}T+dQZ4v=X;_47~CAaF376&O}AKO>$Vb-T84`12_&fM z?8nGo9drh~MMY)*tFiLXzrl0bwIdjbxFuyh%(#JPOsatr^N z2J|WRpmy(aWV7Yh#zrQw+q+aA|7J;@s}_POKh*@@uw6Zt9JScwI%ZO9FF!4DBpIwy z{U+cK3{gwH6Ke)3*1x}hQds$rdM$TN;&A;Xp@Eky4U*H7P&b?WlFz+Q(Rs1=?~{*? zbzNESu}?2^8Q5U3ZFg=k4NAHdeYK!aDrls|#X0lh#gbw4?7UL9qM`eesj+Z^W9nEGq+)z}rSlh&nt+_tL{#e!5w1Wbmlx`2Ies;tTOI>*pP)i96cjc%Ms z7Y(HS@__s8Q+Mb6@0F25Ya9un=9Bcu(#T>(NE&~hMO@v-Nz$iUuUU|FTbsxL?EU<7 z1wj4cQYc>sd`Vf_ROF$hyr&->-CPppi-UiMf;vM{D?Y$t|q%yFKMV-|BW;C&C~ z9r_PiF8G8>NBmYz26I}BoSE=t1u3^$?*-kwayOUSFu)%_Fv>7C&$A0Iz6(kTn1z&M z`8A}*vmvG%oO&{MaSy?m&lvhL2n^>1CQBE( z^r?#5>sQ>1x?H&Q(CE{h_0+10G7G+31M|3gf~nOtiinf9*+R|pxMz0zZC{h4e6`jG z`PI6kphGQjmWm+-fMaKDo%b%-3TFwqdu3=N!AV`S^AhwJ6fgAa&ggm|RkEN8A*#nU zudmrc)|52<$Qlpm|3ey4mEKkOa~16FeEr`gvizIk|0a3J|8!$-HU3c2F|pXEP(srd zlKbG$-%sqvuhP`A9IIw$1Ti_;_lrfiD5IZ5{@#1iP{q?|Nm=V)eonzTbz4uj)w>g| z7FB==E|mB;CIMu+N}+YwUv}6hxF=S(kFf#qd{sV|?aya^Pm$6D6}zqPSpH4!r0CF# zxtW)Xu0v{&@>vj|pxuhFS^U&3=Bk~hI6Oc8{t`7#3W&>lS&&Psa^CBex0Ck|Bkr3O z10fc}YA1oHXI31tZ{#Gx#jkcV?V5LCk**g=;Qhy{2*WyR=;9~3W4n%Y6JLz;8+S$D zOxz=7DN#(;(Pjjfl&eqkRrZ_*B}d%uFONJ)-Q{>Szz3^ssc65?Y=)`Ez2$jr#oe$C z;*mif#Q*KgOOXvS2W={`8zXZ~Hr55v(hb*^YzwUw5ull6BKDD|3}Wi>o+{H7=5$m2 zF{fHjR0nD+_G%n8m;G^#{n1*{VeAoCuN7&6x{}4tID^RKbdT4A%9R$A+BR+^33f9* zKG4^(FpFK|P`r4;a-g*$>g!LnBh)g^9%*td)bm?8dCPFY7ll6SaxUf7qrJlo!Hq4R zljOB%S&uE#LhCsc`Ti2(cQ_@^B|YfW$=VQi^LOkXTkI8i$l2xBWWyt^{S_J$Ijv{@ z+}W~1$Pp2O4VqA{)94ZB&Ao3vI;}_&zVm0pXr5e@A4o5roE)+@miT*y>EOW9(*ApX zngjSPe=-bQ#aWsczHqx5u~gpPRCzWLgYYTm3C#5SxG+LFxT`ByD{q$;QZb>cdJdG- zMRT8%>kyJ%wpBCrR#j_ne|xL|l{Y=YqpP2ycygJ@5Wu3`fnMyXG}jI1tnl{7iX5(BUNXX<84pZFOJT$lHE#lscM_QU?#MgaB>5uy1{LAYu<=#VR#Fi4m zw&#OGTF9O;Fk-(KV^Cz4d)2fuRJN$XWqce!64VBO-(a6MZomD6q%F@xuZqSd({T?J4w)nHDJX!xxdy~ zwMB6R^^V@NN|A9WA^mzIa%e;ZBPzDJ)h%*yO0uCj1=uK4@RRv2gAoEI#pktTrOQuD zZkS;}^;c>Ht-d4p4>eP`#X$G#7essaK0+ygz(*)@<^4s2~}hPG7XD3@D8f3Vntv zkuGfclj_c<`D<5lcr7K2jDK1c_=}5A%}^`ZisxXF?i4qya%G=8`y&m+f8i+|aH6Mo z8A;yKAv7Ll_Lt2FRYp$RX&!6H+&-LGZ(j=9k$srcoywsNvbhYu?_oY!Z}8aIprT{>2nSHffKoEt zzZTVG)3E7;0G{)3>rUGiq9XPC>60>K>cJujmxw3(V6<{{b^KqDc~2cd)xLMM2$9`O zEzSaMCgz%E-;@B_2C+J&po7NxrYO#|U$&=)$(cEGt9TYiK0+rl6RH^P8ZUG@6UK#b zp9L+g!FkEp|J~mfZdY5&Du9DB>Df zm2I?yCXJ%k{~?rMHRQ&Bs^T=||3u88lIs6$$~}8LVsiJpf2h|+^n6yzkxahUYxRu#F1$r zIXM`m?)6X|**wONDR0NBU=~(8_cXkil}d1bG?$M*`PR}+pXIY+i>fh>@!nc8-R=K5 zW>cwkYq;YjDSa?M(IOmYG+PIz8X?c7*|@azVV{s*9atQ5I>G$sq{Rr1tB~kiDG;&p z2|mcjkVjh5^I|SnF4_B=`o+rzjhyU34;O);QRzO}{o4AXulq-{{--G@WxYXRi!NC7 z9y8>Q(l?qi{%+H1b^XF8X_emb{3(nHu@5u-E>Sc3C#gH09F*0q^K};VyB@9{uqQCR z^Uj6-Xd5xw`3GZ;YwijUvlqU9b}QVw0jGao_W^NX9SV8!x{3Z{>{V-D;b1?0Q&0lP z+vE#OdRE*mfft7sMP9(-je5{%NPYDe^z2Ew(U0LGOP_N~#q57E)E6zs`6I=q2z1kR zRAt8UV3y%Qy`1gNhYb9;$QD*LNXnJ-r4utXe8vaQ=Wd0Jd)Ih=zXyIDLI`nurftbb z2?zv6&GBA`aM9~aPa>_Q8`O63>VnNXAh=8Dj{l-Zabiuervps$N2Q^Es+ug;YdGM=J^D?r7))+!A_=9&(Tfp1zL|#sSN1Ql#eB4PzJ#{E`)=Dx_F2Rye~aA5OGCW<>5zc|92-9rsJ)bObJCF0VxYjUI( z4Hh6U{!9l}{p)C+(xk~m#DxvaI_sFeiv(z&&g0mdpOqsA`aUUirkDu1Ii+%oIqJ!T z(JrBpeo3H&>aVXnIbi`jPt17U0=+IBN7uf*I%&pjQqlrk6kRa(vTr{fl9IG)I~KaA z4=^y~;kqh>maq(YWOh9ibN_nu(VU)&@ap3-LyKu>;QeLOJmw`6)HXS8Q5s6#sq`F95nVr1+Qw!>wvK-aIp!n(QFn=XqC3Lk9gLJ6hihdcW zt5+)*W2qhbvTl}Y%(bey(;waMs~HJlwVCZ>;9G!GD}wWYTgaSnvlFr ztF+{|w}IR`zCL^TtQF1*5m>glNBe1Hmn9N&;4xh0a1V>Y#EvhM2&)ASgEF}(Ikjt* zrWcsPiCow4N*8us&08VAmFz&^w}=RCDR29h-I#8GlF>t1$nK7p zDaZVD8sq>Tb+k%tyI-$<1=Z9o6)*q%sFJ=@-$(iRm8x4U8ME1Pv}v(2<|B%UdPmx7Sv-xVaW6_rj_u{oCt_ZqABrh;9i3Rwoal z)^981xb3YkEGUOlqm&jWlhL%@`^?h!ALy4S|BD51OX_bV7uZz`4PSVNaz^yuP$LJ3 zw&t@=gqNHKJr_Il+6T2#{ay$NBZh!Q8wcV@qV28d49}4X>#Umc{Cj!FpI)RTpR?zm zLFsM-YAK9fjNe4hd?&IvP@;I)cKsWGehEZ5jJ=@@LIMe0y{Zpv)PMsOvfd@JKL>Dn zPhDN#%O$~)Fo+JHC^TXcq-SgR~ z(+PXy-fQHwCub49yy+Z06`+F)v#ort71&)lYS2u0YA9U6Vsp_yuNRZgx@s|0xbFLn z%11_LRJNiYqf&3TnT7nas>JC=$B8XWvcQf!YnrxivJ`geYB??za<*Q&mO8Cj##DPR zd#V9~-~;@cm4r-`%y_Sj>SShSRxY!keeyW$QhbJ8fCD2vKn_4n+eGMqDo+%5$-8D= zZI+I#OHsHr`2mr>ffz0@<`8%O5a?p^nYkCsW0bHy$%74Sx9<3P*%oLy#YIH4aFbq0 z{^iu54IK*$i)r%h6C%9eYT=Mn_4;SVEnS+ByS0U2Es{q#qK?wC+h*_%y-=Ch{%ood zIULNZaq#pfDXxTd+)3`0TZ;8UCyxeux>%qB+EU!N8#(oMisQ6#O65!YZsfC-`|KC$ z);6?RQkjF!I85`Hbej~7XzDrnn$8}aDYHKQcO2A%HFl~Fn6nvFNrB#}Yhf|vja7!q zN-U(=6a0V)`-Otds7f;FV8VBOTuo?I3zYXGY<;|3mjWk+6hCf>WZk?ic5nn{M2Zwc z7P?C??xj;_`OR3dnnFBb#72Hot4D}H!CDHhY5ypcYVShInv_l?Zd|=@d_DMOTo$7a zu2~>`7DM`SnPI#4%YdoE&pM@jpO^$_P}xO_bgZGa9DlEHPUclS=7pF55I}1{!ef@+ z_j_KTn0aN23ZL{!CyTheoht}VyDj+TH2nL^+7bc{GqzrAoL-Sg@b1Yq=q8cwDR_CYKN z{@rajwQ7`Q9Xx1dD1YQ5Fb(zb1&rfUZd_chm(=Rqvc-fPrNNa$eWIWx?D zq5q5d?4RtD2)mUSH(ZFCjc`fW3GTcquSLhDzE4kC$JD3HPyc42tz5mBk7^*Bm{z(D z{rdjKrRL)7G^hnAqhNbK3cn=xaX*QVh!g2K z3xS+k#-JJs_4D5Y_9DZ!J24kT7B(rd4&PfF`waM}96;}8j&8aRt1BCx_*ya!<)Q=< zEIn4c%d)e9KGD99x7>A5>R0icOLr+i6)~Fi)`?1FA_IJuSpLWgVqPTVmqT}CzSdos zzzWySUQRt9r17j7CE6FL;U+Q|I)bfXGO zhG5{aKX<-*y|U(PxVMY{M|M*+Po>+`d^--@5r3)lsZjfQU3}a_aHW186DR(e?awX#Gus=2 zq#s4rxhNkdl%_7{83|8H6)%8+;zPOfG$a)gg)*6Y6^te)fc542o}M4Z`$U`cz9gX)JyP%D#0F*_ryVNH1~POjZB9h`_7 z`r4X7g$Zd;YtobkE8nd+0wOzdAlzwD5r4!*$gAw}Egs0*`_GnbL|oR_}V zFadA?V|Hogd&Skp5{JA*90jWDLk`A8du}UGbta4 zdgfT)F}L#>hpZc<7`?%L1%j-a(3LBCj~;!(Itf$*m{;7pcX~n4Kh5*R^2;F}_x|@p z?0wS|nMMDM8I-BdJn9X8^|lC;0xVt#deNWTtOc-o+>~ zA!lVb{ISp};Y*itwy0TZvFHDjGDM6I0EOa#Ba2(-9R;MEI^pf#K6GHqZ{z;<^nIGe z{}xE}B(&Ij?165jtNBo&sUeVSa=mj+D~sM=GwpDA^*6I3=Y-+rP{?H8dXuX`j2wQ4 zW#rI95y!uo;uZf-?LSp1^>_Q9L@E9A^#4B)sQ*FYPmkUAU-PI5A&iJm&E5%iC+c#x z!OA`UJ%AFNq(8LJUj`oVZL&hDkbXU3V;7sK4Y8{Y)4mvmaQ<)K!0+w@BGK4zY&!OB zk_e-Jv`+aJ4r50qksEx7y@vZ6v_fr|ATG+!)-5fUe-3aNG7C@8WSoS>V|@wsK2Gq- zYv7Y!;Q3KR1H~<}fg;D^aurtpV>6aY7V1)w9a{M<;*{cq)i%U7Gzo7DhyUuFg>^ok zg}s@zWVPg>AZ2fppw-d5sdvEGUfJ~W^=J8T z63icc$`WqVG}JVj^{&7debII?soYxU%4b=wRhYL$IM#?=;$_VoU^t=oANBgDdPT77 znZj3OX`YN4?IJ~PZB&~3kRr|3@?j>}G2GOu<;LSS^HF^kN>HI;jq17Lm4FP_dc18p zY4)+rM4XL8=#9H}NtOv*F8F!<0jTV`k1Ft+zXbOTDM_dL|9m<^zp3uq-+s%fUeew)`q zfOsmwz{0N5dEx@>XwTNkH>oO3l42dQX%e^D71d2_Ja63-&gWkBo*#XUO!NNc7n8A@ zhFHj#9L~rK_<0L!zoI+=)s$y>0SIf{HdTcQd2%ig-w+fc-5rLO*H{C_wpFPB zl2QN=>AF;SE4u#j2N!E)hfEL0Dp_R_B~h$))e!X1{w43RhmpyD=f9RdlETrXO13NR zs`dr&ywro6RORAA}jo&4LeKJ^wv0~@5SV2hkKBhR`L+RpSZoE+Coy{zw~?S zu3K-OoTv@(B9Raj3x{MF`xZ+L2r1YNpn@Y_uM{=5PsACL&i|#8yz*7t#|Sqb?r{bl zfgGdzhrsbZ^;vyC+tDEf_-9e-4Yq$cBl-^GaBi3DYtFqL8!P>MkURYUkVn;ruCz@@ zIPsZJueZwo5c+2I43;i{k+n%G*SbGO63XK&B?01MXQZ@5{m{}5s>9xsN9Uv-HD+yZ8_C^7}ye(%^N}=vc?1M3@lG4tK@b9D4k||FScE!IgFKOxYCy`2YV3K*Yb8hi@_=c%*Dd0l9 zCJHO@zM3<)hlupkGl|oEGBKNI9sOfkyj1eGKRDsiyX6Crscqz2_S!007J(zDW_w0D zBycMc3mOW6Bwyw2EZ_O0AhE}j_?x=}HRAT#ZL6OG(|-}6Y2p_%)_KyzmD;aU1P2Dz z@PcyiYkcO|VN|v*DY{?(<{tWBcgIY*njb9I`pEF)30_EO;Ojq_KJpD9))LzZdx^}P z;@;)tFeXmN-}QC2qy2YhagCB^Yd0#BYfHoiiv^#MJkD7%j%Zd0d(IMShPOi;^uTgl}+t^H1rzy=8bn@M;JlFIf>q&)*%_SYu#uf~p$M%W*ZAg17%$QnUglE%3Cph-N%f|{~ zBU0n{ek!RfWrRi$;5_YRZ*L1oulAP_nlP!Uq|u1BE0L_fY< z#Akb>g1a6U1)MtB9qcVT#a}he(!T4@XGPdq{+!wQKC$2$SRddtTrye}43TKirS~Bh z(Qd}?uHjv5w@U{H2clMMnogHH_@rhLcN20r7xmGK5({>G>%%V6w-EhFmoW_cgQazm zbyfj$S{&(Uxv5{WWPdDWx~Hn5ze<5`3Q;zZeJJoqBXjZ)TvPikpVen3rtt~~PXDJR zHmmPL_vIE_Yx&TIS8(S2pd*w~c*+!fUl9lr+mUt7GXY07pQ2bPio= z&S5y9OqXrgxunu+YZg+jxjLv4^RrURa&?l&p_>W0A3r@WXsE%cl$L^3$ zx3nHB?o?-pp_AsbAq{W274?)ITk#r|3c<9XG1(Fqa8^$~(AvdgVm-1n^35@Frupwv z_+n?2yCrY3_YUXTfDTrPvrbO%-1fU2;$A8+Exv8#mKx-*KjJbIHCPU*pZls~+j`2! zKIl&O&EtAT?p-53Eas2C-4N@%q#ag4_b$Oh@nTy53*!^mEh$`}<&c^!d|hW%ys*1Q zeJXM(d=MPU3n$7J!c3TmQ+!bkmBiuC!1uy>$3gD+9JzagdYp8BF6@Kkk9cTK zu2opn9<`sK>JK_1J=NOQ;VPYSi`{Nk0e>p3w8B)nNH<&2)X#b)wl~RfqUe5#1@;SS z6-cF4VdXA{#+DTuKeSV%2)|_cA#eG)C-HeGz}CQUIhGW-EdWjL&e7ZsXEu(#rsxiuF z-^6#EK5ANXnx-}=gRx2U2fv)!rGQ(LC)(-JP7Cp5nULO_y=|x7geVFPEy6BSwC}f` z%_oI+qGn&0i-^M?mGw95#xRl8oQqNplRN6;p&jQ5Gs`Oa{$)@1xTgH9+fA{lr?4J?Ch>~R{TLNJz!`!CtHYH*fqg$L z{z~{hvP}aTXC){iomb&9aWAIAc`V&$bp-#rit;g^j@Cj|NgAsi(C-Ckntx|G>t>Me z#;BqH+@^< zA-+#8ODqzs(MvzKyX__gTe_6x-qeOOX=_!ye-UoFma$8v$Br#cA zyeMvJK^d(I;AGfnEg8UGv^v5d5Q#Y>hs-TF5TPM@-;Kunku>f~Nci)7qO}ES(m)~SPeIn@uzdb>gvwdX2ThLgYUm-Cz~*KYDt^W0!Q5!qarbZn;P z^J-tQS~(Qr-WGnxSW>)fBKCVY-o`Gh!NIp8CQkxj0c4RYu3BdYvnGBZ5iz)05@Ij<+PQ8?Z%3`{3p%&~7~+i{8f3=S4gx*a zkT)T+;-^uT$>O+MIT+S(X(WF4iTw@_zU8LcgwRWD%&i=oN7EHACRSJ17*KtNY4v=$ zS3-L+)fMAj@gsU{kheKPp?&)EZ@W*5kna@_5a11?ivhE&D`*{XUVJ3d##e&NSa;WKU>( zb69wFWidax*mXov@pv+o zOx*cXd4ZXTvOr|;FMN?go1=E;-9n$5+mNpU$tR`4fln;3K6m=7#7t;kd)fFz;U+rz zJ^e*IrGGSl8~=5fg$CC%LW|GGbC@e^%vIiTPh7hP$}s zUwc=S=XxE+gMi%8zd-*f_F;MDDnO>t1hJ?cOJU5fL!ZEKxA$@K*D^@?ePQ$7&|cm~ z<8)zxF^~v= z+lV)-kKT^}C8Xmp$`S?E6LWMvD?f6X$kE~RSsqYY9YNtpdDs<2QOd*izBj5D2OR9Q zTj|y6j;TWv_FtjoC?ZSVPh9|>&FtBx|3-~Kt~W7XcT0m#A`Q|d-QA5! zr-*b)cXtiaNJ-}~bl1=@47_*ze*LZA|9#iHp7pHfxr=*;6SvOZXP>?IId^{`En+cb zt&F>3Ku%!hY_wC!`-u}=iO=Wg{ZET!;)l!^WXU5_RGZ4BrbRwM=cJCW=Go?E!HBFh z-5L(+92SqhFPHC0zu9__l zyS%V5M*u{U0YpYgD##lM;vD9JPd(z3@xF-iE}4(%uJr@VS=2wnyJm%MoV&P~37XJk z>QYNndfBIL*Vf1nR=ljl;Jz~Nmde|WRgffjn}MC&EOM3e$mC#jM3CtAQ0_`Zoa}7| zW->ycx2S>RQ1RJEyOy=?u)Up~+~b#rKxa5#;MrunYp3S6_6`by+{C_SD{FME&~0^1 z8n$uL8+zxT;c~2nL>;trc2u0L?MR_?)?U%BgjG#`s^2Izc5=9E*1lrzmP*c$ zC-1&f-W+mI3C1mSPECUs&GY0C9|7xJx}s}+IShP%3m8RmdAruh-9dQ#3Pg50+@OlHzzYU7BL#RH~`y^5XdgL*<@p!~XMj03;26u&zLpRfQvFfL% zH}#2A`8MJGt9P>^g7A~_U&AOgHTx$&=hKU9X&pEAbC-NyP&NPhbx`{$I_B$CnYLAy zZkh+cY5Q|7Rz6owU6EIT9V5a8{XlZ4+YeDpi}yo4IsEQgoqld1JHw6P2AUG<6Oszu z)F9^Fpb8V;izIE)h)J8IA2{Ed%OBex_EmO>a~nxVv(_qA-d|`E+n>kzUB{wtIX^7d zl<9RI7pxRG;fh{S^siIuT1y7q?cyg^}p$rD1V9v%0d#TvScMm!~>dwt0 zI>N8P+>^x6YA<&5(p{|!o)O1A46Gc4B@+hp3V@<7+UV2LNArp~=A0+hGva-u(E&_6 zdOq*FopHA{YeIR*!n6$9r<+aq2NU~4USg>8(dThHXef_Rc|&ABPnFkz<)fbI!56|0 zadWeE)5u#|_2p}qHg4W7_fk(hn~nB!xolzRgej!2LJL>>@zrL*=@XTo`pr_@H?yA*^_YYlSta3bU#@f zIT@3=N3CEJ^+CN@&q~^P59X)dCP;y>;1)ma?wtm|bG$-Nig6O&U;fOmVsj9Zu{A0x zJDCWlRz9-4s59fOi@r4|a+JCew;8e3S?8mDxU}zdi&Nk7I3;6~l9^=n)QYXn`y7`0 zV}YdX?gmohmU`4G1^yX&Bv%O!4cFiON$>EmeYN#a@=AMp%C+nR_Hvqx{pCR)v`Ouo zWwE8|)R0f>>6M?a)=>)^nprB5jk~S7X42k{Xuez>OsstmYnXy+IE9M%Fg!NgOK)$s zP+3F^rX;JDI^8t@FgTuYfpitk-OiDRQqU?5joxYA2z|ob-R)1(>oc34+iM;p!8+$^ z&r_hmbXA9tQ)|evV&2tOSxC(T-reG%km7NY&J&DB!>&AQhjzL(Cj~@!-Wjb`SmMP8 zP;3oTdp-H7+0={$qcss0DoB=fgN*jH-B`21cc84&Nvk?(C3?YUV-dKIJ*=8ogj-aH zlGDqygC}rwlDUO-bA#(G*Gjj~bIGZ`PwrOaufhx^T)UI`HTU+Vi@1I)syIi}BvI$cRAPH5i#&Ske z?_IvIkEF{%4JX^MZsx!SrQ+e8Qm&DPEb%@+cJ(KH9LSUxZq~t$ z6!1oB{K)l@h577@z8AM?V3+-}2p(OT+^UKjK(Q*QIc^R+61G9AzeE-g8cz;7HY1-TV5Xj@D~4s(b=`choQ$P`?PR8W7T$8+ln8XF4KE z)X?g)8gJ=tC~=-^GxA`!aTTuZnuLLITFt?N#$E2_HuJ#Zq)yE9vdkI+-(3AADsnM0(Z?u2Z94bmo#owevRH=d{ykq zYDch3VQ>uwZk3pm=e_j8&AVTStxkJ(AioCRO}8PWz9+?$wO$3+m`cUABed%JPuTZo z>vZpUH*q2x&a{M&mdqiS+4GYdEgO%Wpkm3#mvo<(4E7?SqlDc0T;I z`tLQm>$lNj1$#0-5o?hTK>jjiRL8uomU+t;SMO;yCRZYI0S`D)VISp`>)SG@;Xu7Se&BZ6)4rlVh+ z)p$uU@9RefMU029MsQs_m*bmYaEVWFs1{V&j2l|)bZz|#52|&}SKeD=+W7`?7)m@# zhi+8wjG#A#(_`Ptv7zl!BZ>YU*EROf`O~`6P`tqSLmsj$}p+5lru() zKEj0dE?j)|Ja746gkGZlv-CyB<-=_>6d}d?pIzIb@uE(LlYntpc`2^p+tSp_pPyD} zyY7|aqOfFEK+`~#F38k^HvhpFHMI)07|L|2K0kn*59l~uyV$hyNau3tr*FfC68M?b z^C>jD9jcvd4AlboYK~xfd?vk;KHRd|lI8wn;=Avw8#cktQ53Q7p2!!pmCqE&ImC!) zIB@veX@cW^i z&xLqdpNq2TB?>|pgq%ZcAWc4v#79Zw+eqfS?j7K)F`IX-Ez{3|-<>xBwZLNyn1JK^ zfd$a@^(MX62oE>ybepBd9HhIy0f+}_&kLh|bzCGTPzC5*{0fW4Vw{N1t#x|wV$!!` zL(Scm!(&;WD%L{&oLglbjstpaJhxyWMqeKGz1O!ICq-c}wx0>~0 zw2eT^I^Mctq)YrYYS^TO10MnxaCevhM#D#@vOe3zmd3Vg(_oQ1Ya?+xS>R)AO=Fk- zDqwlm^fem~y6x^*rPzWe=ZzVaO$z7m@0gWX6z}Y7oEr8!e^UfY6$~40fieFyyAqeg z_l5NJiHeoVbs`4buaRnBf?t?xHBi0Q+~EhgyQ+^Dd}w-iHLmz<(?Y+iMFAKFN^;u6 ztfl8_>zOI_8V?3SdQ>X&67p4~xmNua`WKx~@VF2B;_ofiBwmK!dcp$zUQ*|;YrZlo z^0|x=MZYC0`EZWmLF2oX@Ys7`%d)rgAu#RoO}yl-Lx&sSps-Uj?sbZ*&mblyF0{zz zthGf5!~*&q2{Cb+CtbOF1?@cLVy@jTZ@jFgTx!k1z`oYS`nhBMko)o^Ut~`Tu*7^) zJc(D0bT@MH#dO@^T(kBaY@lkFaOG9HsI1Q$Jke7b#Npnwiy92$x@nmHvBPfdb>{>r zmqvCmB!R*cGAl0cvg%$i&9&3`kmy7*)eCiFsI${- zn038n6W3slBCP%)ErJEDUWo5{qrF#Q5Nc;jEzpH->sNlg|M#n!*CAC+#;g1xz;H>{9^EPnyL75+{E@XG^rYsY2UwJ-r%#8s~N*B;&_WTyThzMUvw=4 zKW{I(DgjQE)K~Ru6)5?48WNZ-??qpV`mi zF6-}`ny(9;(#NF*6hw7LIYgQN3;#Un^~Wi~tY>vk->)qCYboLmdcOVM)%xk%OwcPQ zg2mB=w6=_(D+3e&gZz)J*Ti1HG9z~|5nR88JEz%KotRihpAKsHmfE&1JUaq<82UKowa{yf?Q zdTKD;TvcBUf49yZ6Rd9JJ`>Yf#O&{x!rLQpoit}sxi#Lb5a*IUXTm9|gAAZ0F8<-7LB*d(hCt61xQPVv zCSv73vq!n=xT%}m#N+0Zd+H>CjMi5##|E<61iN(c{DSmY9E%rRr#mwYl%P~17h>V5 zC*3Tq-E^G?9j6oGIjKYCj&R@~A&xy(ZwDDW5p>xCr?*A!EweIYiyyg~?qdVxN9frw z_v(bD0=|EP)IL**o}jiR&7>ku^2#|sN&=e*CpB{#ZwB9YCoR>hQZ)_a%Ary@$}K^>^q^`C36F>c_8(5 z)LMwLG*Hdh&A2*zzH)Y7AoOAvt3=R~Y=HI3NVVT3=lO#1kcwr8oZ&3JUkm(<)E(T` zzUP|e-2a1wYIbj}Z0Cn-wM5Dc$a~TLsjuxVp=(@8$3CN2DgRFD*O$nQMWH+9xi0i2 zpk9(F5EksX$N=HRf9Bmaizx6Me7ap)*PB{$=qFManU=jTSjUtm;J5CIGFR8PPM*bY?&AQC2;dHeA_nHCmKUE2k#3C)$jzwDBN$;Q=zEMPsdn@Pnbz=pWVN%rXQ-}3h;BD7KVgIuJv^uM=_B?Uw7=?S@B+GIUZzlsUFe2|TMM?q_@u$LjT10U^Lo|I@zP)Gjv7PC=OO z9YOtte3hQw#m~-_^F?V^(!fc+T@m*gPf@p(#IzFc0j}Mj=d`&#;&B6IBtcY=ku*Nj z=S@T$jlM0&^Q*>I22p}y`-ldM{qNtNGp(Hz;zPP67D!Unp$ zEl3l32HoHb)Sc;lY&{1dDaTSD;Aqg`v{+9E-ns0%939dD*M+T9;-Ds zpNZs#5wwC&nOcBd$hDWv-EUi+jMGzSQR@|HQhwDRVp-40?(W;MB!<_M3{E;DNj2ZQ zH{KlWemJT5Hrm!!-~MKed>4x_`i$v5NSrtF^ZvR>D?DWN#fZ5`{Ek4CQ@M_Wu?7QZ zTCmD0%tE1@)sF6JFM=MA(d>jh{}k2n1Pgz*0tNVa1*DR#7xgSeSyZQES}#fi`Ql<9 zw4X)oB^%D2s3p|b=g6jqsH%&ify7g(0zw-{R6vEorTSe?NET)(@LLbL%M@g!^RI*#1vPp zEzWSp{90+pNc9LTDM^;sfh)i9CG3WDKF_=gHD-QXsk!v~#L#+x+}xLz+zl^f$=P6r zXLu%_(_d^PT!M}VOMNvlsYGXB!utdlIjlJI$Als!(YA${xcNIYWKt>!61b7#)-dw8J4SC$~Pa;Sy{PED4CR2?V#Bx2{A+raxcU?*-r?&$f( zL&em(RGA|urL#Ak{i{uDG>dM2HqqZiw6(dV)k1ex@K;ln8xgWpg4->}69B2gzfgg73yO#^jD$4tAQ%}=p$yh{F&Ut>a zNueGoO>et%+g6>eW|xh_24Xn)785gMf{yAYnv4Z#d;+Hl-p1BM!3!GmDdx(tv!P^q!-ECCOuH(lw5zI>#3Usr z=VyKx0;iPW%Rdf{e$AedQD2K7lXO>Q!~w?L?3{EPTfy18uS~l-XMC;ct|K5}kbGXl z!H{5B=ctQq_pHy{BQrSr1#m5Z(lrNL1~se*&ZhJIhy^C~(ONq*WO9nirBq2?4HyQr zqH0)QQ(WmBNs^@q8XeVxR}i`SDE_(OUW^q+z0p$#wqD3#Q;Reyaw9fQpGo7vf*vdi zG|zege7K1Q;uzLb78$h=>QzYp*|q2+&ZZ$y0Txwhr1QF9mytS;h+WO;s;S-i!rOfW zi=Iw8^E-iNFdnuF$m}h8fu0gio9OqwnO>9cYx`;hQSkX`*rDRYH8NyoR%S@XOf?(( zp6#QW2tLguQPS)tQdEe{r&>Tp#uKB?iwA~N`+kxyXt=GBK6$PN#%=iCPgwb|J(f&s zG{y&OQ4>!34AC$-7t^{EkZUwQ7K0%7cUy>hP*PS?Ud=wV0|YJyvDgcFVa$owx5M_T z%?T-%;wmTb9(0v#ZWs<<2lfpNi+5cICY~+m0J&V^Le&PoeIW-F!l-s>iKsVMnq6FI zj>Bknr5Fbk5d2l@jL;Z_9Wm3so=z=y)m`bzK%}VQY>HEHJeKtM~u(|*7LkD2hT9yt7v zK-@c+NO$}p4)q4vqkEz#pHHwJ=4VLvCXTKWOg_Wr)AoS=>CNw^txAH9fzdos_`)tu zFEPaOQP3>s-90}2-Sdz+17U*+5arzY1E4cUlSeOZ_4!`yn`}+4NJ{a5WRIR~*bC`d z=u1r}K?3qO7zjbT7Up}+3w}Zrp+Kakyn$HTdE8xLmW~Pxs+b)b*KE3GC8FQx?LEKX zO%&C6KD)`!Q|edC3q#5Lehhj-Fys(N@4FezPe0BZ_%wD4SX{GSnS9 z4p#Gg5zD)p6ghf4{-XAQKpoSYd`Nkwi7Z#0%@v#Hc`IT5i1F&{=0`+&cBp(xys^Z+ zdlAX`5wZCWroB&Y`pX}5XuC=-ZX+(|kHh=k$-&Jd>@l-b9 zASj#fJ)8v%KXQk`L34i3y`M^bd@dvqEd4j9bqqBYR9}F>^hxt83{B$tRp>P!1+q8H z=PT{(d7Sa0glY+VecxQJ^_vl_(V$W~2@fmXvCQ192?X5Z?($1d4*dOFa%RKu9|b{+ zzAo6&9lPn4k)pYNPind?%>iLIYCh@PC=+O)=`a|=Er$p-*)-9hmVE zm=#(E#KI4cex6jUtXX61Fho{-jgTXbce9JkKHatgdW;Er4G7 zb_I48o$<2M6GC@OcrL)YvFT}psP_e{ZhxIn+eMMX;R zh$y`ELLu1i9VR|6ITVc{k~QFt)X#aFh>HWzx0FskIQya*_Uv^9yS0zSc~FNiqJ`DD z^d4ScytSd4W#YZfjM(!lE?~s{tr46=mXY5$)#3l9e%W%`?WjqV*$;B{BKu@5jST+^ zrEY)b%bY+}{hn~ishlmFWw==SrdA#A9U_UN#E-2KP*J~M+=v2VkL`79>zz@n?g*ei zuTc^ck+hGnVH)5t-$iGZl$6AK@jV9tv=P_%g1M&O8u7UUH8h(G0~lbJAyvxjF-Etv z=D(w-f*K*(=X8#W=w&p5d&-3A5qzdSlrh+0ug~&}v|FuzAbVY3V_+KPaTH>~r(b$zyXjj)_z(aR-1#P)Gu0#wg*KPVNp z#b>PFH@ZH-d5$!A$EjS55BWCE+0fvLf*ii<*Xr*8Ra!hKkd_w=0y0$h*mi}}kxB>B z@|0iGFPWAb^r0>;^WAXGZ}J&LkP9~45(~V@2?NGizROEXokYysZ9)7UQ6rP|J_;=< zsj%hxuGLUc+zMA?FzmvvawlIlb#U0_nw^m;YL=W`fe^hnOl>rND%7hdsv|$c8yCbE zryFuHm2U4TiyR;coN7+bHpR0|*+Ks47TFaxttPSw!x=wYRrH+ysiEY=1&|}=cTwP( zV^3lArRQoiYqZoqgB|*n91;Hm41CHN5RTYehujK~dicZN%*Ej{ei+!tDGbBC`(j^~ z6s=OTR*FM@ZGFgxURlZj>Ndp`I3eT&uU>EX<&YB`t}jW+X%y8*$W5|jx9gVT{@kae zb^v~;f7gSd78pPhDQ>)~xOS`NA5on^w7V{&{?$S9PDmIqqfz({`dsVnZE0fjX&T-P z$+f4yakqgQn^-1vXFcma9#Lv`T9TssWcKF@AK6)>bCbdcyqbRYMfct3 z2Rx&tSTLvY9@M%T>oYMQ6+E$~Q8`ca(cBF9fC9om7s7yz#DpEg?t;RGY0_Zd@E5;?b2=k-OE2+di}lRs&8Dc!l#iYN=H!^Pd3AODz&Fu1!DMvn+$VEr%eQRHS?8%qwxl)Qa~ z^{dt>3UEsG5p%o#mqUvn#%ssJ3xvGqznf{-e>tWIV$d~^5cPkzF%Z_#--^KRI!*>_TR2D0t^590Q~%aHk^w8Ms3VNAzAt_gh#IS|BajeZUvQxkiSI{&)o(62qDjE zf+q%MHwwCd1-{Yz=XSK5qqWFtsJ{mM6P2#e+0hjBf|9}qCjnjFGdl}1X==uZ3%+McXF$iC|YVi=P+v$!;_B1#5ZDj+yg-VXI9{E$0yRRLbPK+ zHZk5^R9}w~MG~?ssuyoRRU5gT1){?nq7DwRJm`=w!67IoxCCJ&Ny#18E`HmniM&p= zr+2~D?=lvF8msWhRWae)t7n4L1Quc}H^XgWzSi7%Y|cN6jcV`qEU=|ul-;h*H2QrM z1pF@=Wva+H+~36=Zm+TS--rP8}uKTW@{mW_d#8~-B=*S=WiHdpD0^itv<<>sZzYCZ3RCbN#GMSQ@?!c8x%$U zNlYqg<#$XrnSg1)@(MwWt2I^!M_5}Odkw>$mBBfBO1bW!l*>t4>$0TI{H5S>L$%L2 zRon#~t<$@MZ_HYC)}cU{E!DjQ6;xcjO)eJo z=A3FiPCgBMTmUL1NfLCqeK_xCeUVf@@++~KGa@zPkE=}3CH`1E(&roV#hNH#gfy zIg1#!(Ov}Gd92?r=dydqN;j-TG9>?|8gNt5*Y?&^cfZ?*u>fu?yTp~OY5-rJTyl8i z77b3UAXp7JOz|bt^yU8K4vzdPzbyu}`+;vBX@21#sAr`vANG>Sah3*Pd-h8mN`RxP za?`VL_03k=m8otzE5+xx@b!eam1|V>jlGBZeF|{X(W!DH3aQ7e>C{uABw-eE;PJih z{KdV&$bUPpd*2o>@RAqIIisNj*S*(HKF7%N{SnG%rQZkBOP4)sPd|wF+k9X z+I8NigzC_ZPhascsz~=-3v91swyxQ5`X0yyccE7o!$!Yl1FLhJj1ujNo&xKbr$GKd zrbIpEEXfzd%}vn)fXlV)sH71ot!fctr`aS%0CC7xG=HU;9Y6_|=nP%jo;{$u+35b@X zEem9%+DO-A94P>Lo?LPeZyK6aRtDbr2>tSI?pweh0QEf-h{b;U2_v-$dWk{Zo`OY6 z%gLl74HSOy!Lt-n_V_N1PbK*5f%+!U-oF&yeVi1n9fh+6GkJ9~kjk_s@Epge4egmpVcFy}3$l z!cUv&1OX&e^LxT+yP*Cyl&;K*!gH_J3J9z ze~JZUWY8?8gU3q~>vj*foS9tWNUqL5xG`k)XTHHafKY&b=eyDT&^xpp47j{E%EL~u z6FeGzgfv)?yBs>sST4S;AGUC`ZmjU^Tcz*{AS4r^<)}Lllxp&tQXFD7STJfhS7R}? zvYT#g5Q1Jk=YG8+Cg)Ahd%k;UOG!6UDNxpSxx{v|1V}$~SAhtmxX|jk_+H;@8gOHe z*ge0Vhp+#BLl4NfzJ-LsrEQ9Q(?VN6lScvWo=wL@d2~R*r3v(n#P+WCozU2&MX#}^2hf=~6x zKYQ~b7k?S&ux?X;zFJ9pUkshY!5DpK7Y9@J`a72IBa2V+w**&k8D>DsGMii%&Wi_& z`s1`-I5*UKpY^@&!n~AwKlVmZbZ1OV99%kIIW7dG_}f7p8S}J0su=+id-dm?2mal~ z;hhSItO`qnyH?P3ZzdFUFXS7>doFD(mg9X^c$78hT~MxuULhStzhODyA$mlT=evtG!CUI{paKY>H-LX2!OfE>#76 z+`Z6_V|R-tNMcfRr>rk%AOk6aeSM;hEG&Q$miuGPy_l`kWiU4=PDz7<_rFw6a=qh< z`CZHg`uOwnefc{ft=lWJUo{r-a8uCCN#x1JSslO{(w}mzyyg(&U4_g8;mgAqTm`=?o)9dOMjQ1fzx} zllc5%S-LH~hjvwb=l5S}0KKPAj7(QreNm@buXIIILQhB?M`-WlH(GN|K;!nvjhs5867;3Y+GuAIh z4gYv8zPE>a^TSQ5-e_+p@5XlCD%aiewR$MsxSE=2Jjfpm5yhU@W9lxm{dIWCR~F$t z@T8e;{vFk#WH!lkbyd|%-SQ2|L(=E0It@#s`&9=j>N+hNPNB7R^R?e%V^vm7+=z%t zjmF(lzRN*vlyPqy+h6!z4E!tGYWd?_P{~DY9SSeYv?@M+`UYDiDY$Q~U-d$pfm}C_ z_J_KDO;~uGnz#DZd)quA_U_fQjN>jMmY_Vw`LptUDv+`upwxk6KFwgVpXOY+`>=?b z#(SJT0o`9;M;+3x7t@gDIes6`&9CNR!QSz{N@?*WNL9qrTS2WBISZ`MzfEs*ZzDhX>c@US!^^K&|MfMlwP_2 z{%G}6n(^G)B3;@lVj4WseRyz_24WV)h|mg1;I~un8*XIYu~1)NY%3yR*2s(?=hi~* zeXNF7ax76^9CyiN!n~GZpYwM!&cx&UehofyfH?%E7|8+6dA}SC^DI4?-pi-}w8_c) zKa@&;GjKfi{qzQt85}m&fyxlZ1J)zXrGAfvg|FdD3>26Xkw^Y6Q0r@UB>wUA7W3iJ zLHQZ+0AZz}N7k}o60wu`A_)yC9*A$k&oFmn=Zy971CUH-vl@k1%U!{b+b1f$mp07? zJF0ZW5X}|Xv-NqpD#5Br#C|hm^3tXCaHkQgvQ#rjNjEs$47k~ zO_v30`s$ehaDxWVvzMSHAo>skBO{DqF^66-j*%RBrSif zL^Kq3_)?+}Lqf^EmKg+-OUXWZFY-|4*KcMa%vt`$-2e&!X9m~Ind`H-;sZCMfd~_| zK?3p)YU2!80svNK2k_-o1rXB-6z{YuB`&_@dmY~?h06qUfMo#z zu|WQxKcfN`27v#H3c%&{4gPYzx`@e6H2xvcCR|JScKfzcRt#6ZXf9?G`D1RaeJb`y zP*nD&VrY#jRxis;r_G#9`bc!2frYfebN!*BC)E{rJ+tBHF+d7+2Z6_jT6aUhst*$D zPx;*+fxZ^TPivRLRY(E)*uSQ$TIO|lq?fQtZzqq=qus{i38SirsGMK3ZK6_eZ4*Xv z1c5t0K7iRc6}1P1X!@|zC*pRSIxd=E+{>B5ziIRe%dEl|;W^l6Y1n$Zesjj~@?}Tr z342pCKJ$66OHbGYQU(Y0D zlP89>?y0e8R$&>2?n-=aMVx0jJ26&h%)R2Sw}P>L$BayfdMgDS?r_Y)I{emBv;RAX%P&l zB2Jc6fZ5l{=w026`2Y(epxusic-c^%2lW>%{zcKvL0U=vBk@qE30G*CwLbBh9 zNV6{|47e^&EabxOy~ytleIEIqV5UeI6&3B%7%dSg@v^7VQ+s;61jhkQz-2IA$m^Pp z|I{D|{-VSM^60~UpIV~|a{?6r^%>H~@W-j}ZE3BB59RdQ1~wI) z*^w>d!A|Bz5a_;>Womdkb9WpfLcT|6@Eevt^zM9T?gGrVBx*qa$4{UV77GKWy%NCo`i_db9Z!Y;~o-|#LiZHB~_#Us(8aEPcv+2c+c## zqq_Q})PkDBkSy@5l9_Tk_5^_dP50bsNw)d z$og|m0rHbqGOQ6%|GHH;0;|nNXjdG&I4hScHR?Sh-!VvcHBDNHZ_V0w(bkRmN~zIQ zEs8L>Vji<@3Ok)I&Ax|Up_*;#Xk%BeeJOYk)4=S#Z(?@w?{yVx-M!6=RzFu&|GoWd ziDiuyU&$9n)TaG`qm}=OlNvddUR6PcL2Htc>^94nC`2B@x#yT9DgaEUu!Xr z4nIF2tPDw8wkYxOx(MZ2wlT(*QQ_FsA=K~3h>6o>X9N)B4AS?^oH;fO;&n227*&gQ z*IfU$V#jjfhxam&#eezW=>ESxsThUu$Z%C8M}dG?iX)|;YxWU_tA;qxYkH$$Zdk21 zexWtidv4-ysgS=c^pZ51Dh;|Y`ImvxeR~Ai`}l>jMUZ`i;Hm`(bt%?8`i0u)EY}-< zcHrW|ttfME@81@?|B;bdP(|_I2g?`^#8(vst--Gv>oZ3C6N5D!m(l*Z)-v3B{RO}4 zHoL0wA6^CFQ0Uc(`dv|>9Vk+!(fLf5>8hS{bEt3VXj5{oeZdU-Tv1i^o<{L|QTMa| z5N~NgRNG};;2%b!g^u7|-QMDgF8u8cN5oran&h5 zi9$>z|M`9XTlE^z)b%D8Pa{~ShGbs15%ru}mcLiI2uX1*l6X|V0;b*z$yj=w^v zS{LAt5fe7>amu7s&RUP`4{_ppNVgHRTTb);Jpx*bslg0y*x+^Z{)RaWGBW$9sYIGp z6LR=+70f^o_gkJ>vnA&jS@xs3Mxlcp!%-ZL6FJBJ9beT-hHdSJTNiCz?K_@QEzJ92 z8kOD>aZurhM5B4CSowZ0CW&OQsELxZs@_1dVNBqlx7ARZ;rCH2`Pvvw z?{SVi>W15%$U=-Vu!GUB%-00n^tp+mer=uele@$dx4cR=m0V937V_j%UM`Yh#!%uc z+hViSubGGNqQ8|*Ta@}Lmq9ih+w;GtQg$T$Qy&2gS25Vcd zcZz8N*lgz;1P2Upj{P*CLWBeiO@AtI>zmX!I7kEp3$QGW9-TAv@G6s>G2Td_;I#$R zT_-oRCrvK9&(9AaRtQBq6*jlsDLGK>U7E5sGfU5*8pchH#kly}^0vM$4q~sWz^8(A z=f+s{*#jS*o$iENjOR7pgtf2@j>aH;6@nm0Qa#c^^ykeo074{;kUAQr1b;V|X!wS# z{b2sUHhXxK0PZmmWp}zzkanm-o87hB*w}D(HeI>5n%fZv1e&moA{h|Tdui)~aA^T1 zaT#NjI!FbUZ8j6ViztEmIpu!Gg^u6l5^N9^D z8Dy@s^vNR=xQdRmO&|zg+eiUMW!(hU)b4<=&76!u%Ai_>=OIaSS`UHMDF&#lx_nIZ zz<0i-3kqpGs>Y_KkFQk^E~S95d;SrAT#LV*N-Xy5nC}*{uck?$TaB8rb*9bvyWrq-SIvBDY*$+@b9E-z8=GIj!TP(|?_Z-v_%@rSiq7L=gtSywtX*W}W z(93BSIx!ti>v(MT&ui1B^DG;0C5Ppde&oVA`MRoc5>p2DGhjY_U+ zH;`uN|tX5ajWr6>Pr`kUSw|2)}ZwKR)Bd{rl$2VKm{j$!n{(y zC?{CqYbxtwhL1e544QpuOCTS)qU5{mW_#_=CS1A9C($Ca31blZ`if-ukxWuNf@d0~ zj8mWdqSjZb98cuL#n*7*eid^C7FfH}05?fwA1M;)vPl|@x=@O`)b&86YrBi~Zx4>P zGAfD!-D>geh&Zr1EwO=_3&q}|Gnzihp~%6GipOG++gKBomH^lMFVbyaQ|@DtFd%&v zSH5kEAIpZQE)=@EcttTl^$OilSzqSD^Eh6V=j69Y9hUz%Fr2BW>(>~EE5;I)C;ITxMv3~?I@M=X7Dw|&&b|^ua zO709mmjFaU_#yZv*#y!XtD$vNfR-N7+o!voBTVO(8+#tH5GOx(5?JPJrx-p`OB|I3 z0iqeYmJMuu#_;Cl9Zv0qkPe?6lmHZX%hHx&A}@a4@wQXk+?*lo3k7Y()d;3?Q%$%HifPrFP z2-4RrfruV%T;TmH6PV)5@onbo?t`4S$GSZcZ9Z@iNGh7T8)9_ex^tloHB1DrcNRF@8@Y_;;Fdjq@1mIIiI{pMe)YGnef5goI{qf$uwp zCdS9#(_bbbjVH$hf5jsr@%%a%Cian(-cQwg=$CXri-7ERZtmy%(M*!a@T7kZ`nw`O zBqT!a_3M~ZzY*h}qWgdE^GD}+T(G&10_dfGH^AEbU(a@WWI`Jbl0`Dc1lsav;d)dWZI$MIbw*wi8g#QBk8$lA~7`3afGQ<@k|a`Wx{u)DA9_R(NF?)qV%m zmA~h)o%0$U9Sty6SMjFA0fSPuM^O6QPK%BMsPCUma#zO`AOFL#+6mP&0MvZi-@g zjT8IIGdWby=NBRoCl`?tDP26Z8}ANv*s!DV(cZrOeQ?7+UJ8vd9qO(R47AN?+ngsA z2&X$yST2){9HnIvtG{vIZ4gg)%srWp*KBHsq=|k^r^Hu+oM;EoKGr|K*^DpY^Mp+S z{$K@hW9p{_I05fY#bzt5j$}%rtBj^WAo>Iu$Zb*%N!+A+dKX9R(t*K>XSn^nw4pE8 z5YzqgTwtF4Nsw7`oskL$^;CSy>wo4P? zq7sY>q}S|+&1$Fd1z82W=rdiYvDoKgZjYHBX=zz>=EYM~h>3#>W9T8BKQ7hxgTFO{ z92#s{2OgFKlTX03EhFrC=g4Hr-U&0)VR{4qy6Lhd(Ef1NqZAd}^XpWdc{2jLc1#cHqZH4gDXYf});ILoH3N5DQ+IzbDuDH6 zo&F{UUJls=QzJWA)FM)sOYy&p8bMFu+4NcW?9iS((&8?6Y&D(d!K{4z_J-K-mEwAX zlad2MpXpps(S=6N(8HmaYuM&nufr@ILr$iyfa>b~~xvq@u+ya*$ygPBCu)~!Coj5r`>L1tXZpbO~G z(OHLvhSIXLD|K~udvLW~Ub_G2IX+K~XqerULI{Y6Ebd;tmzE{~z(J@Z=>U|FoSYnY zAJ)ZWFx$oxW@g#gN=xE|lvJDJ*80%?i^U%9&mxVl4BOb+Fk-5Ej(JDAFPJl&rapM@ z2l6fc`lPqYt(-nKKHd$)mM^B{6&8k+R`NALfmC2KY_NfxQA)=T!ArN^SN@6ib5roc zJ514CGvE;2^P@*`bzAsFw(T2;*nQt=tm|s}rilGQILG zhg-$kW-qo^Yvh?3UvvdJ91&m5nBmJ|Lx`HNb-7|<*q-bY_qBJ}9_VCagk)pV%GPM> z1$ll?ETIV9gbA*TWJfhZVMheOlksdjj9W88=)vdf>a&|?k!G;n8@;TL(#e-DzHBg{ zg1gVECi8XUy}SCw&CTu4DlZg5rO!G? z!A4ShB5tTmzCw0GS6SswM@QiEY~Ye#A>?*`Iv@?$s)tE;^k!V}T`f&`+i;;{hMoQv z^CBhTZf!;=&Hdnz*?a|~^X+kW*o{ZDVXOTC<%9;1O}4w)f-(b;>^jhCvqhNere)KN z{zd-I>Nqh!KmVo2$cV^Qvv?1{_`lw`YczyJhmSvV_12;6=y&vJl<-p51*)u zgq<&ZS)>ko+9G`MM0uX4C;MWttbdM777197+eonOP0xm794Vu6x>yYa2x+pzhKUrupr8 zz==WXyr3)qX}}NwF_^+T<2iGzw}srJbe0-eL|1p##zXG{W>*6fHAh`^9pIz|4MO9N z&HJ}nJ;zf#c8fw!P2UdQ?;`cz8qE$iVMQOTr=DN!6h1T_*5^>1Sda2F<0WtOW#o9D zYCfs;Jtrq5N?ID%NLZw$)*a|G8Je*`I_nv|1hTk=h07d)K<_|9{U~PMdLNpJzY&*-zWg$Kxs^4*pD#!WQAxK4I@r1Vgt5Ka;U>{BLF8m!RJN|BN9xCBQ z#Ps0`SnpxtWgzp6rfeVkfx>CHat1d;faK?S3U*}ZjF8~ByS zly@YYr@3>r(oByhAJ@)C7j;%Nxd6q`-vH6}wlp8x*|#1g7HhDxUO`4w63-{NczL&? zDwvzdi3742Pw)c^j^ZK~J}u!a#znw%;zGzV3#9`llt6P)UjDF^9G41|ULJgK)v{IB zhf(y-YJUn35Eq=jGd^bxI_2OQyrb?Gk?SR^GQibnfdv@!6_9Nm8JlZ zHMM3B5ce;ES)~8qQ7z04gmKOA%rj#sZ{lS{v%~J2&_49xj4KHIKmkN`i|kBRDH^VpV3 ze`rMMOH8Cx{d6v6Qo zheL{Jq1CVm^x$ZQ?!&n~Y`9N%LrC=U8P#{nS5S&eycpU~&x?wS`(~cp-b-#gmAiY| z{%#ilzcl{x6ZwIf`QzSB={sTjg-2q}h$|eBqdVakTK^WWq6v#{Oe1*CYLbtnOwGlh zI|!6)jq@k8;(X*CSk3S7le)aDajmuL{@WhJ@nJq>`VqS63rTohAX!jaddCN6Il4E|!pASqDJ;dU za1`IIbc8A|{s0)eQ;}c)uhpG%Qj2(WpNd|XskI{STZ;~DxSGEK8I__U;82BVg!Rou6Mwjc&$qjS^ADQITa#loAN~kmaniU}zljDp zT%8EB9%zv7OX)9;&onU)MnuGMm9!AQWz`qi+ci5N5NldWT(5kenF&e^YNz+kgPJWK6U=2NB6?)!RWAh#yB9K#AT-T z;ZVb4Z=ix3BAOoGS_w50a63WWT z65#w)L7Qunlg5CHt8R?)o@_evKYA6ANA^s1pJ8`}x8txP@8cWsPq(xY#=!htLe5SG zXs}Qq?tPvNfXjN*1VJ_jkOgI_M4h)fV2LudH(WjcjXKPE#;up$n0kclHs7IN4vt@( z`06XOhIVANYu8oOk&E1J67j%uLs80K90;2~ogZ_3i36u3q95Q6r5c~1j(Z$M%#!w8|2letw>}5y z`z8!Hu@%T(9WA`4q;n2x3@$mx_2G>o&V}g zVHNAARP>8myh8!?WONr#@BPg_{>OJP_nehoaNcBPR#q%vJEPRJ>`3dcVf%L{<43%< zMmh<@{4eR`%-{YW*G&IETqys#M*dISBBxFAWdAgplaraqF6-mmZ0Tl1Mirz@j49g{ zc8vo3GMf_rm2>`kt)K&k(aMOp5Hw?2-AoZQdhuxO2EOIus|RG)3>j-rqIeLr2>bl( zALrgXUm){0^MAQ}XdD(s_FqqU-rda7_{UL?@tbovW~HWDxrsxo{>ExL@X)vC$!eS|!>-uy(uYVPZc${*!#46ydB?pPBDZ$4AwNOjBS^!Whl|{THxb zs)!U{GZInmv&ys5M}%ZWU?99_FcQ?o5 z)hG@DO){#6N@(BTRcVSWr&?|{{Q%0b-$GrqmG8u$q&YdQ7I^KS|2phmm@j>}MMK?w zK_6}Hc8~Uz?;fmEN2uY}-&Q54cPyAQaKt*+K5@P`^{b$^Z?tgswmi_Ns{HT{5Y}m? zj%C+V>`;hy5}Kx};ZKAMWyzCjRvgP}>-AthR$J*zvpj<`MoDMxBsJ66s^^-aD&^sneYR>org;M%1c50K`mMQhl4UVLB59-BmtHWP0rSDMw<2*qP zd;2hsxtIRBwM>sU7#R(DKRLfWu|kNK?+c6zrVMVX)NF#_hLR0T)nyx(OpYb;H`4qu zQRvWZ`xOtXd+vw`TZv_olCH@{{(r5~MIT7H5MEtLeG)=$&8SiU-ZrtSLMpi=H`1pe{I=r8cY zw-d-Tmv>dITj2+$H@IM=8P}FHztd48yD3XjREt3Ex{KVP$_g7xVqeP2cBA>?eHAd< zOmu&Sp#YKnbmpmlO>x6f#{&9v5hJiL=Ad#};wQzd&s@Xl0i|f2;oWJ-fBHR@8xWM37@8adOH|SsIxBdEFspJyb zHFq-Z1zyz@XiI52Dk&Fgi)sL+mU~QSJ?Wd9`AafGtEuUcA0b9xdX=-AuL^svzX0N= zonS&5*Eao=P+C}J)IUV?Bf56YxxAY>FDiZ5b;F5*B?qX-son6ijwmkLhL37=vJL?u zec{%#lWv-v?dOYT=TBbjcaqleFE(n2XlY(X@&uIL;%zj1u>pc1T_;|q*YG>`L?gPq z4VHEXf4n4Hd+9H|a?G3ID0-W%R@TmybtW$Fd)>Rm;0dV5&XCeGjH2#6K&hH*YkPHa zXJ73*VmBc2+Wu<+qT`DT)dHPn;d@@G2|(WZC|G))J=kbNoJ4(m4oHt9wAyqOJv$PW zq*7esV8RSb@y(GUb{j0a6dziw6WiYZ@^8p0p+_2Q`m+%{Mz`k<{7?mivc}_*3rQDW z&lrQCwWHt+!1QiS>9EPFrTap8apwep*aKr70c=P{ZB0LQIdL@aaJ92pu|?CZ7DZ3W zA45Xge`Ug2`(f(Xws*+Ml3lYymy4rF`@TN$$_=aPbd8>o z(r69+CD}b2Tjq3qoen7aSm-5}gvxq45br~Iu6V|9>j3BeUGb~OU3TDZaoO9YTjNMO z?Dg$|DK?QkwB=|d1s$6{*>@6}(9x;M60jQT2H>O`MP;pOYMUya6C1hloa>ds?|fE< zPjkEY_q|lFHV)Epn$d%D^Bu>idRCszX@<~=BHz(D=4ZE+?*oyA&+F^<)^>JQK*3;_ zNE=|^12Ey6Q}U%}-rf?34$5bdLVlCwJ|dPis(q5u@cOpuYxRp=bFx}fbyj&p6-OnE zA4r!q7EcQtv@es{hqGKJVCvmT-Xl`U>4`t-wvZUWzedM zaK5Dcn`Q#(*BH%m=V4QADdp>r8$pvF+$rg|oVmaBxcrRghyU=@XDzkiAUhQb+9>I4 zs3*DUSZs%87S*(((6d$d>llMG%ei0jwyf?on(OF6D;2yo)qCHkBGrZcf3tC-6CM`_ zR*7DkjiERxs_T$b zV{^hyPLY;UCy4G6LmFMeEp4ZXYc7RLQm{;>*$O-D<&~8?3JUBY4^?aR=)IY`T03w& zd2+nqPdHD%W|!!1u6qLF3@2EKQE*>y>9z1)We=vRwT)7C@;l{OHrKv(7%eT~Cj>GZ zuh{V9{V^Sa(4U0^{dB)zPngADwBf4lZdkGpgu`A+&G9 zWA6c*f;=)eoxHDNr}Sj6+TJbvu^|hKrSGa$@Z-|03_kh$Iw^bfVt{JtrQ_pMi#-dG zFZ8?Nb<=gmxWPn!LR7eX_PF~6oHUoE1W$@u%E28fMjT?C&#t#IbZTM&BNr&m-l_ChEfK2 zR`33-R}pK6}2xbqVCXFosa;?S1Is;eNNO;R}^_^6xKnVU-{> z_&Ak~rzGyuC6zXz+e{G1x%+gRUlu+IT)T$2`r{6^40F0zu2Iu5a441ziv~rCjWIjO zrPc6Tuf0r=-JUBrK&^%jx34W!7*sq2AF*CR8PU~5dZ5Q5#yf;XwAaq$zW3%|Dq6qg z(N4cW<|J7So=TH)jA(3>bBdl?pG|}3b?u8GpKc#9J=P&j<(ZyVt*9#*+ddFIVR~GL z`MTnNY_{cs@>{=3^`ho%3FNd{Gk(ONSh@9&G@FMC4W(=5{gwN)jTA&1$o)nzjZ=%+ z$&81Gow(cK(`E6FimJWvc%zlU&HyEvQ~Bh-Ezd1?HxB=q0ZaZU*spNl$lB!NRGhxr zU2y&szz?0hm0GhdZeiI=eJu&O%39Z z_Ht?P2J4lS-{vCJZ4U$+?yU^nS=RS=UiMf9mb^-9reighzd1+RB8PdL5#uB6JJfPe zO-1Ll3ZPXLHXRy|Z+2%T*d6E6eii;FSHF%&v9*Obbt%V&<9lt{iT1cPkkBXDwb@-Z zb(ULheZBlkYqS3I!&Tz|UTtfazrPBk(J>?U#uII=#BGZb^V)!=y(d1(hoMOsru-S{ z12YWe9@_=yaA^G<(p1C#QGVeGX$jMN{q_ab^Gc7%UrYWBiV35Z<+Eon(|8t6EJQ;1 zjc3%&aE{}qFabxi#KLSeu82@*VD|D+QSe1-7yICNfuQed`L{1rlw#I!Dz$Fc&-b}+ zr^&`nc(BW<-b)&kU-PhQ+ewcV9i&gzG;oejGA!_b8?zbQaxQ{ecBXIMXSa&1(mn&F z<$ezU*bi1UcCx{c(j&DDc_s7Ds^e6Zqkf$g{&UOzHR~P2Q4~oD<&QtpCMY2 zkp*+}lAi%{{oVe+o;999mi^rxiE#e6nuPx&@VbwReAteDB4-s(v$W@B?yKb;aE!je zYfiM>fR`P0r0w4b1g|u`bM;uk2})(v9sH*$F>15tkMiaf1BtjnR4kubR8vBONB!76 z3#(lXLMn-#=&Ve0vQ5#S1AuY--M&6&_k{m2isfK~gu9FYd@E8__ zqwm<}a>B zi;OaoD;F)hy`S=Ms8I_kPf-Dso?*2&9lgr>*?RjQngV^!Z%KX>YRT+5n4U_`W@?X0 z!;!X|o3^ok4+53g0eNW(8M)J*?|!GOu@g|SHC1kpe_#xO(6q@hV=K~q4W&2-7ktu; zC|nlub3`^a>`vguntgE-rtzmXE%jIGRt6>lHz#TvJ&UDPIGIoW1ESL1w=cgyIyid5 zOPxU57&ttA$`LtezSpEE@AESw>X3j;A@&3g3b5hxq6rD|a^5?es1^{mN(Xi;Do=F{ zc#HM_yoDGAtdZ|Dkphz3{AT~MWgu~dSMqHkT57%RCx_g)kkb@N^(HIUn^2xW7(A4B zu(CMC{pOG-tbcHtGey>I*N9t0jwjdyj~pU4o=kmp%a}cwIl1IT80`H##PM%e*=xy} zoC|E%F2Nw&{l@WyV~el^oQy#d3+-6?c-Dh89>u2n#b1v=Edj!W3>Nnui#k%=!B8@e zuuT*yrbAo@`RnD8rk;wfsn!w-Hiyec)mAw8Jl14S=(25WDe3@@_zozYev#4H7E2sn zf8-NZgCOMHPDI7E6gRub4c$-j|H%b#+L?5*8<2z#v}i@b0Y>=wXNpm*<)|adjPcYD zL$nN31YzzL$wU!`tMuk0mk)tjr+rD=&XC=3j+(|LD3W8x`a5HX%$lm)>5!ve_OoMVNunQ*W+DFcKuMz z*)?ItVfb-U)1|^f|M)&7k6$lp-C#p93R(qf(GgjH`Z>O3^@}3h#DG;di-$8em6f5K zijc}0r|osKkrdM4vGT}kr3RK(NvycgN+2p!Ifix%nHMkA|MuN%qw8}~0kbMZ?p_sX z{&W$Q_e+=B>+K;+X-=uDqF$qmK-842{fH#bI7N4b#kZC2fYvChqy7p3`|a8#97VH% zSj%`&OCUaygW(zb)6h>7N|cH1*HEckyID?ojVHrnikiNE8eN+Xa0N@(GZj@Wgdk(u zc-8vGVJxoc8!xXOsI$OOuJK4maj=W2lAYlYZ8y^3sS}QXdA%Y*%mWOK%>4&@)pnz- zuYNrA+ZG7_Gr!ikM*6@me_$OWr$)sIpr#8#6ieh?M(^k~(6PS=N3g|D@jhX@WPw(- zgf(uDV4jb=oaoAWZySUz;q6hKUau#pV6m#S)u{Yx0aLK7;$lCH9UdJ&725{R~}!SwHk^ zOQ(q+vC27e*&iM1c)CpgrJ%X8a%1Sw+Y2klf%#=tU5>!&%FBUQ6st;2whql)T~CVq zGD=#WoCa*xl5fEHEW@hjwc&L&Khsb~I0f`91ci3CV$O1o?79KaGkU&o@8i&pd>BD# zk43~Mth=vI-_|zw(-rnNP_HJ-sy`hl;Y(#IGt+4>7k)pd8307B&M9%#b?eXCVoKT& zL}LWka)NXVcwX82d#IVbK^z|!DdY1lQFnASDuC;0KN{31EptEbnTA*Iz$no?6cbeA zx^~n3(9mJxP`ygu=6TiikE5A6tZWCl)g2Hsui_!O*%xU$@^aO9=g$p%veWRHlGx%^ zl1DSMq)RII#`y6>L7FtOHgMCZC5mOuDMJDd8&PERGQ{@a=uS+5JvQoDT9vP}L0{F2 zF54Dol=vp6N97=)Bz9|EZ+}dX>xt`t87t=X7=Ok?e%`1R@uG95=D67^KbM|vy3?%$ zGnLv2!r`!4Ch`4M@Jz;>J1VS>mq+p4ggmH&6qt4=`IhzrK1^pA+T!+0l zUcQ0;DpS&k6h)uXjcE*$VEd_T4r4DzLREonUMC--V-L};V800aG~s3Ifk3W75*RkX z!ZXb%E_@b(m9~ zB{e}Rzh}+DijU|E>$Y#v_VXSCyGL+g?B-28|f zj)3c4&FzY!2{L#UhPp)1ukZ3UA#Be3%_kgGW82g?RS6~);K=Tt9$g!o9AMSB70mEc zFo9pIdX<$og;2e?k(ZA6R%TU2{leX6< zbV%@p{K5l@e?MdfpFaf|qX zN&)Lz6VidR zkB4qHq~{k0@8*_UZwq5$e|T|=7c(fOS=$vMB?xbzI-PSI6{$9o)UtyyR)-qwq@&M8trnD*>jGiG zn9cJWFtZxdA_nX2&3)swGulHD0PZ|&6sW))b3i=7@RRoZ14;(z8Z0!p;8oV$*Ui0; zZDh8$mN-jR^3Fy_YQW3o{m4)KkQv=7*L;Ne%iR4n|H3BHMizOBB*%&JYnf8tiu$+G z1Ex*Z3pOoT<0nT=G1*0dUcq2iSIpX1vzs)&;~3S+D-d!9&aT#8Uv7=4uc@1cHj=0Q z0R2^(-*NOI{1P62D^pV_1)3<{TJMv{?j;Hed@jx@; z07}yOqs!Xiq%K?)fRTvtiZLI;>)&jq8}xDNSTONk15A976R7@#~*iqVY3n&@1;GW^}z3Ck$XwW zi4+ug^RM{045Y?}xv9f)?c;7HG_vBSx_KL}-52{t<-sXsXDqLOBIUy3`=J+72!^R2 zRl$9$sW&zzHS12xZ{!Rr)|k0Yi8x^!uMP@NZ-c~4*I+}V9E2J$oM2qX);u=SbBJ&> za+&;IaTxFhW+AdujvUS}DAorj3WArKu2ebN=-2%mh{X)m*O(T3V{P1&yvm?5pi}eM zjeb5b6>31?^%gsG-K?lQq`F=q6Jc!$cM!6VnrGdigKz7FC%|Ci zkGUjHoPQ3K@NE7n@4Bm&l+^;eLBjeFu+wGjIGJui`v6lzi`D#D7fqaRNvbW$s^uKq zVk@YHa^ZDaKf_dU5Zz(fIkjX<>&^5#3^Q=T{GN^6iQ}(ch)R1n57Gjm>3MMRy+`&7 zsgZ}@t}2|(SV?DuH=SeCSK8DW2&1k%ZZbOPqLWdN898*-o49sU)oE+&@e_#?wxXVx zIxWMWK3OGRC^#qql8ui7ZM~>HiJmEp-AdNT@JXK$!^g0i{_-PJ6_mg^YiG+ZEQt@? zKDZC8jscjcu&_`U0%=xIth^(iqW^areCl`MF^!9M(6VU8|%XNAA{)^$zleG`CdYrT&&f{v{2bWdf76Z)h zJY88b1XMlxHTx!nwo$X{(g%U*vS) z>Fl@vefXo>0DFA)JsiJ&1LO9A>slu`Tlikv1k;TlgOAGJMfgMj1Om3(QrGV+(-x|NRWiXB&R8m&;PZ?gT%)%wkf!6=H9?r0Iq^l z51xFhCUE9*X!{M6p~wOA4(-{?JYp(D_DcZY+|P*4^1-B+-COFz4lvgUzFTJ?Bb(=a zaQ^^}G?DbrcnCRv$N$mPbeFsiFriOxyk|?vI9(@ist!3r9avzRedRkI4B2H@|DGo0 z4dZs`smc2$+LFS!HcUpA90FjlrGIz=G{Nx?vlNGhuWua{HC5zRZu>bnv+T(xm}NiC9#e(U0004M~4EAR`9S zWUCy<`Lv-oKR=}mC0NV)yA~Q=J$Y$n#)7$XA($iJ`-JyZfRSPbzRxzc%Bvl;_e;)g z^)`mgTh5qeSf|#_cgqV;JU>39zp?yc3NBy?^=1tQk*R9c@vJ6Sbf$St4gv$nV+o)7 zsvU6e13GN>WZQb@9Y0@R-;h@6usiZ0(Kb567C_nhz*C$&6yqB5ZH8JL_VH7Vj2;fAwUg`x}+bM^6 z=YO#L%(kbU%WJc4O?-+=D2j$GEDC78W)!=8))#<*VZHzplCQ@-R5_7*DPQ52oD~3-sm8PM z&+wP0)X$kL4T$VoEV9u9a@}#J8ur)^f~c){4qVBF-rXp=sxbXfM(iCeEGa%d=OVSb z*yff8IfGmSA0OWs5H3&~+3n(Rbrw3^+uOri)Gsz5plP>z6Qm2$5U(M%%&HuR}Kh1^_n z*m<(i1h@>tJ>0AUjJxEF;%FK4IB?K$1lNz_Lz)BlqDWV<1ls(N4EZAF!9;0~dE??| zfz7{CCEoZ^9qZ2+a}?#@>+X;rlRGW z)y6Vo(R3jXTF7B>|DNGo;C}zKt~pHA=tDzMLk&Rj_6bXk+Ij$6MOUVsxArKI({yQ~3aIAsXQ%P(y3n8qxON=>a<%!I837uP zW|(qm>Xdjpc@@VnznkFqretHXEK65cH!db76FpOdDt5C=0tT*4wJWkDE{@)7Yf{)n zesiiKuZO=U&A828@|`z!bE+38ptNx`Pe9X6mOpb9at9x76>M%gvIU;*-V%4$f4+8x zxhYLNTDm)qtootgQ*`)0+DvkqYYuBfXD_KSWNF6nBTng&{MID|_w&j{MR z5pT8UzW?0f!i-Hl5?Pyo7WTUX+&}vg_kLttzr_rz-jc^EgnfCRW1mrMTm7gO{)x0K zP(WfrDIH%#HuOl1BGtnvGT@K#Xt~TJXaRK1rx33}a@FN1ka%{}a>$$-Bv7Rb8XAA{d@(AN*=yP<$D;h* ziTwIZUh-mI>f7MM^Boauy{XKJAW0WW#r-b3PXRNTPJ>@rnj82RZaCaMjp%Ji0eXJD zFJOb0!QAiD__S!Cf9~wg92!1OZXDyb3buRKvx48jPNV|krf0*F74c5nQvn2H0pZBM0_ zP)--8mcw~c#>U3NR#|vcnyRI9{qhnE>u0V47>~;vt1De>qaq|$HC?ZoJM|#2!{izg z21w$<)9z7CTp3b=P3xqd$0~|9h(pvi!s6RQ{;T|p+NbN#`WMDAq67htpSY58cM2cu zvZ6YnYw~`){^Jvv_Wa1PY&sO>quk=*raYjx=I|)P(F@)9q``ag@^iW^P~5n0!=-}) zL~Bccc^6@qn;!rZFJbc=uiB@jS=WOV56pPI3QQ%*Z&w;s<#Bukv?lx~ySUMJ2TXvnhdB}DE9M)=UoKHcVlx!Z{`?Ou%$ofIIC%Esp zUo@eL{seKmQ*$rHny6~dS;F*DgI1yC@iv0ebjV*UdO(&{1*Q3-_We5&kucs87)Zk| zXKZ6*BRr0pY;MBiFmRxr&&u+$F-y_SH)*ciZ*kL~XxU`!0oT?ozyY=~+!X4jNJsOT zt6=oU6AJA5eESt)&Np}04M`-HZ$TO**Q7mfm;v( z3k-SrI{F!urBUUUvLtP4FCaE7KW0z|ZUxz-FGM21-{V0-W0^HKrQ^-`(s~5q z2il%dr$O0d9Tzh{UW)<&++z#Os+*H#R)my6D68;Dtx_XPC&gUkevQ=dr*+XzFJUFB z2i0K{ z@ncKNfRVrmi*Y8|k8@v>t~Q?=#IxndVxOqQY_sym-r;T6opTFsiT}|tqCsczGVqG3 z^x&0vF?|j?V%oH#Pg$piH_rd_3tP7@x~5fQCG)(F6+UnTh8r@@Kj= zEc$67o0G+z67FdxTZ38?z|>M3LBPzi3IVy21I!~``a)BHBI79$<)i!Dg^XdHJ*#tKY-DHDJ1nW(x$~Nl*GNZ>>LYq0X zS!mXDdu^K!td^ci0(3AFp+5I}4l&2MjO$RzO@$ii(y))0R<^qsA1^{MbJ?NHRD;rsE9#2)?SleOgM!$i`tfxjQ8+Fe&oC9U ziTg+=NndR)#EivEAS-3)*|z2yjDTewG}WscNO;S!HJax=YH+x1-I^-Z`Ljf$%09#3 zO@UdmS~p7n5jCD?jlpv?<#!8mbCov|ka`0Wpond13X6&bE*%4dco9+2D&PH8sVG623j=_SP3~dUJbk%~a7?cW zo1UJ=n~IB<5iS*QI668mOF@PB7n~2L?}0duUI1??LAlaCe7C5mS|5VN7_WCpbkMg_ zba#%#Lm^CHn%AX?>yp7AzRy}7usj<2;KDEp$m4*$ZXV%rjW~v#ZHuk40m` zjs--ULDPxESy9VaLQlVrvl_aK>ge122f*GX3riF*tA2{DvYN{+E`A<+PxFge zEo-Fxs#8((M3=&K$u09HeD9@+hKx{_OJ`1-U_@RP>^JS>ChNWKY3)=%uP6YN2*6Hq zJazL3bUPo^QV+t+zdDH@dQ_{IS1)-vvf427BPM!4Qdh#yc{E2lZ~|z$ZOTSJ64j#e#XFZ<6Ft4KWoAx&4+2D8gUi}8lR}Q4+06<>A0%L~=Cx>b= z7La3``1r(+*n6pwPRCVnaIvG46IZ%x_S?hh!&-oj_=ukIJSTOpS5tBZAeKx8a(8TJ z8}W71IVXEqYMQiiz(BqwVSAiW3>qzc2s-mwoD;wA`XYpT3Uq-F&D58^LEUoQl` zw*~(0%`d5PmmNevfS~2}tUg?9U{xSZ+fb z4z;D`T7vt@O+i5JkOf({ouPq}E!0c+5)ThpK4~xoD5VbD;$>>J9TPjG8rSS8;3an?7GgI4$w+2Ulgb*-B0%8z>O)boBg4ZSzq4ks!Te9r5# zvq-w#Vx*3{pkjB#AcvqDcqumt(J8tpIU2#;Z+-~v)9YPQ82r9dh#XEfd|?gLBjHxl z3*VaK2+u{x6E)P;#VV{FXV;kNEwHktA1~g`t*v#DbGP1I3p7_XGd9lr6LT~udS4C& zilefV$*r}|rT=LK2xovap51p7Rb$fe{W1A2q%qe7`-Px$5~0g=vD(tlfTo9m2NvBe zzfS@IVMDmd(neV(08gB_o=`pj<_?6jcOzMbo#$p|brE$$NZfrQs)r;pJRtj02|c(e zUc`3(HOV6A`vheS%5D{9Nt$+1yy8uj8c1+zD9K22t$Lfe54?0T0`dXkJxz~#y~85e z?|F8r>7>|ZJN04Bpe1XCUU0aTcLo;vQ!kt<^}SwoFYm#juUFJ z(W6TRh9XpN0;NdA%Z`Doed(~l9t96tcDekEgYg@cuk${NcaDBavt^Vs$|Vx;YU;(# zs%PJtSZiK9z)T2bN~^Tf9EZ@i)?Zp#O_Hv#ldN@lM|`zZGOG~7$&mc>IE2N2FmgJbmnWN1$9qdqhonF#w=a0h%6H@A&HiD9s45FiAK*07a;bXG)r`Hdk?(6& zjLy}Q_G6s(i<62>&m7VFl7m-RAAVPOPM3H>Kuy3WzKq1b_wiC>-A=vxOm6L6ozM$b zIiD8*Q@vRFE=y?`SK@j0ms>b#QvY`2^?Ogf8V7&Eh>b>C0iXA*sReYRT6LAJp61G2Yzu~;FHyR_5`rKd&;-Y>nJqgaA;ZLUivwotN1EHmeY+wmrQC?%T+-?o*$d{ z>c3-ivboF21n0eOm@nXUmxp~C3scsE5sAMUTW99T6@(-Q^?^waFmDo0aO%AzY4@lz zCFifnqm$@3Id8cc5|>c~UaW8ghymz%hs%>He=fBkYu7oO4*rB=Cqf~_NLLH`Lu071 zQ1GqYoe^rGWFq;c^;mHyIkqA+WJc_yT8oDL#m#wh7Od1;gu1fQ7Tp?BQ3(@u!uhVd z*&un0^pdbt70Bx0pGPCxf3QCMq{s-Kz>Or*Q~+6Tt?$XPeS3-HE@-8qB}L~+hkIP| z=DL3xA1#)U1p=e*7R9Kbdtj42ZO z^#FSTP*rl~XWalb2GG#}-gxZG(GD^qog+UO2^T6P1)akN&JH?{Q%2<2i0pkO_sq}LNC}1>VZA&=z-d}HuduVyep+{^#oOdtrveV_$+MlmM3DAV zo4~voWNA9ZSDE8pQE%;KkXT$YomoGQu{i5vk%a!y_d?C}f=>!9eL3h{$k2_ezfg43;&IdF!IU{jt5%nLjuXtp(qYGp7~5#mI|kxz76>+rPyEQ+O+#Aub51TUVzLhI;~ZN+@9$1#n{Hsw#?(z{Vx% zpQuj)z4!;`a;$;y~aYnJp5=!FX*{_qm(&K&)e$kG5dL7QbU7}V%*Uztj z{$7&gmsvO}?x7tb)8M50AZo06==QA8KRLz!G+fM&7AP1iO_BB?1daVx&^4B`ozjPTJ70(nY1sHIAgB#zROL)MKKpPk;v!F}V zbSC=bbtZPhPlA<8&1e`Vl&bo1@}6 zJx7160IgZ~=BbdsgrKWM&6{JY8@H$$GHJ3?3UPp-hvY7Y5fUjrjK2W%lRyw?Wo4DQ z<@`?LY-9T+?IR$b`gfx|kNS`DOh)$gEIR$4jhpK~u}m_u|7mP-Ab$J5^>FU&28dhY zF`B$Z9KwpKp*uy)V#6C~Wf4#46s)(2D|5|fu~lyNe;%&-Xu>iuE$;^gJ7Eskw!VYu z@*ninF)3WRYUibRH_5=6#5DL1@YBSe;?to@AVx|vpM>pMf9#`_X zz1=la<(D^I?X-lF0?f8Ql(IoW#L`Ln{s&a2RFsMg{SQPsI2cE7oDr{CR5=~iIA7bxi*?WY0k@U{y((d|631koM-Zlm*;s5h|>lT+AxKlWSD`OuR1A3 z0d`9_I_^hEzluhJgin5k-~5zvj71xT)ao zGhL;*u8*T%V5eLUy{7e5Isk>2N`rg%{BwCBJX?6?lOAD_ z<^BmiFU=P%J#H*Zg1SZMyf5)qKRV`U3x{;Q*&K7=lktS)rpt^@9}9^9nz5$9gP2@5 zqPfL^EF)k>>N+;))1fE=Ej?5yJP9-tC+>pP2*Zs;5NWg2>h9wVvZt+9N}o)D@PRnS}{v>(4adzx;}I*pMH5qj?_!Wk5t1A%PyX&r>A& zf74&chcR~r!Ro!>%1z|U)J+mh1Q8H1T z9_G_te5dLS9p>tjuGbFzqh%`@eX552&WLuU`}o3N}PVMY>8;5K!qg z*yu$m(m|z2ZvjG0L_|cIfPi$B-g_?r5s)sugb)xRQj!3Hgpl?&o^!tYzhk^R?s)fp z@*UQJ>>5DT6bhKZMnk6=dRAuR-U1FIXool(vteI zp~yo=uzCEj45$gKu9l!;zVkTb`u=D_+~C1G?-&lnW+==X z79iydV2AW5VJjn;yLgsQeBZzZyVoP7>$0d{D|?2^<}$tO;lNe9FPY%n*a`l70S~_3 z{z(Ib0l;^@?DsrmS3&`fYjsYE-p|Mc3_`=e*LR55c5oAesNdL|Ue%3NFSEOt%bN+j z>OEGzA>+QFaT=9u-0YkLJf1tmWhcBJJFA_r+rrGNvg%O@h@?TNH!^Necbck$Y=%_8 zu@;FE6V1N%&Xmv@=DoWI(eDd9x{j<0=4PTnfMz?A<{@<3m?#<%N1A63iUhbHp|k8EJyu^XB|W+TIN zz{qa1DHm^lR>noJ}+UJQmG7dI~@2tq@ocG%*#V5BTD!QCRlGvEZ=<6 zZ)lvfhH{!0>U1wls9X4m^~A1LYcJ=}_KC$m{xurc)q1#%29m|>&QJ}4kiE>ymViHO zfqDg;ke@Ss=wGE%(tPm|OjmSpiEKGo})xj8cHSDkcS5U`f55;Tpq@+twglb_>HKXjn`s;F_u z+Iy*Dp};ftLf#P<_CJeOhdt_**uLy>Hs~7=A!vSNYK;`k0>IzZ(ND8;`I|S)z%g}n?t@sFwt&; z^+SMPmxgk6lZaxWXlq#RT?y-`WmN_Nfqz8&`5&TS>xTNj5DsN_591gZMxUMnw&VW$ zQ2KFg;opcAhASNZ>EQK$q#yvb{@QVL9{Z_XL;CGrX?1~r+S_3R zn7dx8azIx-mubMrU-O+?JaXdkAFIyzLzF&vV!2>Pi4V)RMkO zZa_dqDzICf%P1o1{2d>cSiSFMCoMyXo?`|uQ8P< zpKykAF{2Y|TO87b9Q34sRqtoVw%H^;Iu7$f^6RIu6JFAyNeiFbBKQe<$VL~XLO>${ zj`Qa%esr)Ou6&b7B=yrML8qxxH5n92a18hDJ4^MMj79|v4x17`a7 zbJkq?KLC#(Zd=;!Xze%~qljyiTm^gNF#T!9TZzB?{fAjld?A~owoJ}(DunA-ga2wI zr$AB{LdYT|LCF)<;VNQQ1q7?{G^)G{N_r^RyjjnA_MRECW}?Nz21y-gd5+b-w%c;0 zteUpG!(tPn^xTnlyW#QSuz?AUlG0nMO=F6+CPVc+EbTP1i}>*g%eWq%AWcn8og)XC zka;I9EiKLoKyL<)$lgQ-S`U|dEpM{_<8je#UYFK5K9Phi_gSJS4xwb7RJlOtSnr6Xo>3&`4MD?$aOza-JG-IXUAARcarCtP6UCxW7s9P4C> zda`pp=22h-VLfk;^R^Vduw)VW656#Yq8Z`QG*+hl2J<;c$Y&Em`#D@_vK_G?bFSeN z$A|Rko3Km!(zw+*o1>;xwj$`dMd%uHAOOeSdzLb9$u4;2q5*8LE8ZvDZOa4Y+wRP4m537$;!LX`x9x ztIzQw-$EzJ-;SFti+2=V3_|b9C_*q}fQudX-U!arol8Pyl_xgcqj`37zD~Oh94KrV z_dYjYLG7WzlQ*N)FHXEsepmtU@AC;SEPl+K3`MHSkA71;8b{nl%38(<1w)h%W^(j^ zof%FnF*@%T#t*xJ;BB2G>LzOC1lxx|Ono*Adzw#r%pCM;257ue+x?(Ch+{@I+AFU~D>mT4 z@H57yop+)+oR)?SK@VbqvdDUeJ6=Hx`+*0HaI1jsq}Afi*nnTIaeVX_ioo}IcwR-| z;ngtz7SEsIJx)JS`HphlgW+rvI&);nppGuKs0Hg^+!z*M#}3-&yUg0C!!0>V3Ra~BDeGl`n?-@ z-P+Rv4|FAlQk5@=r1^Iy`xy`p0 zHkJd-KqBEi0Y5L^*x*j|j6=L;dugqI8Po|R5pYS(jWcFXXt7bWitQU7j+J{2c99`e z<=PjMhrX_I-w7uuNxg;xR^?$l+A-X9vep}(PRfX*@aufer5nvkQ-|BP+QEN2$H5hkXN~)2?5n;xe;Eh zsiTQM`JVB8D?!DCfs4dnvm$Fk3 zv?D)y4Appj;r`o}2;N3i4S4wtnGaei=NT8p#VZg@)NTz@_Ug3^+3I9omx2a|9ET-w zgPXa>ohbfgfD1{uOLlazgX7y@Zw5xEbcAAppp&0br{5lu6Z=uu)?+-$#L{UVgnu(H zggj?;mW}f|ol>8j-V+K2JG4xXrup}LCO@a`ADpED6IQ;h#a3a3uUTUC!TvrdC$g9R z*;9TltuOZ$S`&C!dpp{MrJOv(&;a5K-U=1Ux;;I8TiH9pR))vX2WIJ&UMtz(OS9p@ z;}KA67y{TDbA1Ne!lKp_DgBz21r>81P0Ce7d7?3w1Hf79^|4iK9}%T1DgJTt3%$%x zAE*R=tHf1vImLf3=;txEp|_t&3ZE`HH+?p}&$K#G5s3PbRUnIomjJHxwoF^@WupM2 z2xU}rL)3l{z?9GCH>BLGsV-2U$W|5D_A9Pv1I`E*ffL~0Z*YebJmcNBfS;2eB9(b+ zS|7#=n3?tA-r$6JZk}@Wn7_DHkm3CfSgg;(+2F$pd)LZe(tqc~?XDGM_ZSVZ9&!gm zQ`5rT=-5E;LhwlM1}|>nS%LgvIomGnN|Vx^`P(2R3-iVY2ib$7wO-3=lfz}Fpb9a3 z6@U}UMvJk&^TeaIc-cI@cJOAlne~K@&|T~Ze-{s)7Al^QJAqy6-%QCXu1jhTrkls4 zu`S7AJqJfv=kxbArl)O^GBeATFU=!2hXV}n1!Ye0TdjrE7}b;;7!n?iZaDUOM%Y6A z6Kl8Z*I?El9~(=*-|Zh^zuWz>iJW`BYw;)z5ar?JI2fz5P~s;7I$n{xruYk%HX~D# zILA6T6+5}%yL4kiY8`Pd_E~`~lvX0dOBTbq`=QCEr37U4kFyF1XO-s=#~unS#|0-Y z+`!IEs3)0y+|4A1nDd;uXG~zqZ+4`v&!qC-2>T?9`a( z*p_4j7m>x9ze)Mk3%zi!`Lj@9RRx@TRweb&RvaMV5udXl-==%>YVft!xc6r)X*_F_ zDZz@?foi?Y##`O(Jm(7=JR@sswdNXMpCwpkPc5eUFNHOB`(*W`t&X9U@h4Q?WyTXO}fo+af zK5enxUsLk(O4hLuWDCTEh>gKUmArZkR9OW|KQk}1RzhCB(OWl;D9H;DbssN0?jja! zHdjZiSeGsq*IC$mSXL~OyBui2<84qm3z2xh_Nk?zsxGb-6&=mie4gg0yk*Dg58=AN zwN&w6G-DVV$S_%zn@0JUNCpkN1cGTTho3a+DqIQ>uX<8ThZ^PbAV5+!4CdTTut@ZH ziC=2qq_~T>A}3^oXa@*~us>eOB-ni?9vK)IO9rns23R%@-RWy3V^?z&%~w zx##;#^4{!bi(6H>wf?tBoH%5&H!bXi$5&@bite{7@(Z@H#O)(eprdHH1o?|SsfN!o z@}G26kbN?jp~}3r_yolYN0ScN6N1^--BnmN%_Whqw&(_Pi%Tv^Dt>2TSySFksG}YaOC`uAetHcm@clS!hv=F zY<(aP{_w@mAoc(}PU|y5&B4I|2)Y30%rzjQ()tA6QoT@TCwzxLwdBl21TWd}NP2X; zIggSt2V#zQf~<#lx744O;I{bwMypp`*?Iu~ZNMXThvhD?=}w{SYWq2_%ZtD&`}tqA zLzdM|Eq??M&GzH~^6bLHeW;v8TkOLy^79Qkmg&^>zr$^QV0|BZ<9?VC%>|M~(P_60cp-_fPUJ?TklAjt+pn&Q7LxuSKKrKyX< z8T7y26KaaUh6w=Q4a z-v47aVNmrx;jD_yb41T`2OZlF{|ARNXow8meiUmzTngNL|KEV5+`Id{Joo%Nxc+rs z(Kz`UR|V9!Y0LUgY?6S|SK{Jy-O6WXKIgNJ){4}*!d|DEC)HontN!(hQN4F6@ag8U z3N-gbmbKjWSEgsHoANcbyxHv1iO1R^txEj=%?|N48S|+zzq#kAn2-Blylt^D#z`(K zD;_&xH2v`k!IrQ&YZLPPnce3-@z$-cGpB?&5L9>f86aKhpW_5Np)ch!xujN6c<{+N z4i1hiK7Pl}79gvx4&dOMV0+_?->-@3Z_i4JEvb?6FCo7^_Q2nr^$_$Pl#+kaBc&UA zqsmB>WAyJd5@%TtgX9F90PD(=b$RdT9Fe>iyLAR5+G;(w@3g=Ee3xYj9EdjMNx=m6 zy`epj$Y)rHw-wUMD3k}U&Tz(Ee3+15EY2O9H!LOZu>LtP^4nAt>k_vx@KzbwabGlB z3kBG-SFi&8E=D*0olbn7*KFwuJA4@SD9F%g@#B}j6qPH@1|-@u=`RUAsq2?t6leaq z0|liq*UAp-aJXmkS z_UZIq&?zCqbsybZ{dB@SE@PYZW4=l(1h7KZ^2&P;f=58;nd7MY$HbPM&4c-1+t8}# zgpAqYx@qeTO^i!LTe2*N8xVpi%O&(KN&qmctP-GBUwB@88N_L%6eXmtFYUACfn=>< zAv()ZdxY&){}A`{pJg*(IPu6IT*Gik%7fo5XjBV;_}}1hNWpV~fR_UH{I7)zBcU4llct~ugwVc1k_VcTt27B-I z1NJg*`JSWuNu8#>?7Ji$-QOkg)aNj=dfo&^{PuLM0{;0EpT(wZw_ z%}s%>tT7`)KU%UUik;EWy|sD0M15?rUzxc~(;b!MgZjE^>vN%<>ySUSR^Qgn^2_*~ z!hvx+aM>^5h2M>ukar68F6YJxlArh7CY(UltYiklJO4iZPaGC$pdcbIpK%BpMhUs6dga8~2dV;*0);P`@B^s3)pK&X7(9Rt_n2{Kuj9$8*pwo`0LKph%R>AGyzp2r2OzLk7JOttGnhD)AaNg^W5VZwr%Yx@@!&`mB~L8%JH&$~y`9W8&*A3yt6adw zMMTIw^Xh1z^j*mjG@i0-6(r#2cGE0t1V!U{`yWM=U2=9Tk-lB7e7;2ndO+3hCDZ+< zc_Xd3KolC7p1nY%k18?wtz3|T`98Ms9oYQvfoUJ0N~(Km=B^3*p7GKevKIZrs}1f2 zFXv7xL5TCHvhltw$x?ot!YgNDi;j<4|Ja z({B&?b(TlOw=K&mMA|x9tGzP?r9n<_L&x>a6U5@{)St%@`}=*fpywU>?x^)7q@}Cf z_H1@aa*ZriJ|CpSzq}@7xrkG>WC4Pa?J)5(%cM0T2#KY$nFR>|9;ZN$8p!kqz+fn6 zO~dF-bbTC|?#Rd3GWOD@GC1PE9^z;F`#tby>eY&3Eny&#dJrQqnPVs%Bi|6gwCXp0 zVtIp6bL&Kf6zsjF;qaQhdyCJ@!;TVVvC~=idyV}A8*+JHA8i%5$ei7}Bhq+|J?7Rx z1J5KGHEi%j*S|t0gsSQB4#56Zl%w9YU!uIzi3Z?sIm%8kI znjFxVx)%w-#2=j&+VX4daaYxhlwG7G!>+l+33#@4Ahy#wvWFgUc|r$30BO$4W!XUK zY;GMSvBNHEF8V`B|MnL+v8GYcG`ME-0v!Q9wdb$$K8IzW_`>Qb4O9JB4erNns|ksL zzRw8X$MBmNMIW8%EQCc(@2<&gQ`>IAWYFF`vyBV-^K$#a(q4^`Ot#@HgZ|VR$F!ye z@K;mLj|g4cVa#XVOog>+kKm#@n<+)VvpegZO=78_+f^?q%Kc^J><%xeA4ydo4gbj} zE=7Ojm#<0a6qaZ^>At64QihXI%wIvo7FSo_!S-yujZ*vA->;=FlhSoKG4NAFE!}Gy zu`BhP2f?t}+hsJzx)*%W+M}RzCw!G9K%;Np80vqeG)vwZWxNF)MhyY~$2&3(kC0ks zU*e+b{CE}Iv&f4sRHr@bq)dc1K;-E< zG$GlL`6>js1eLprqEvXW$k?L^-cNgYOp4EZZ3oLU%_9by5}xac=i}0em#Y&3 zO$)^X4!XH~&0C=j z8(`0tBg-jFrCdX3$2@Oh4npx$7#GDlsbBVr?uzJ@W=Q>na6uF{)4#qa8)>M=_xdz1 zK&MRD;RFa_7?xmuIxn|>VH^{*XzbaEZ9?<5?e%aqZ^SD4pfe$Au4*Y(mJZlfydKiG zmnU!|M%HIUnJC~=9Q)1}Il2=Ra!uK5Yk)1vU!Ym$4GQjo?Sz{^wps8NpAAXY^+I-^=MAsBPWA~yg`@t`DGV!Ck0 zTbb~UO*8GY;&U@dEybFT9C_bU(i@QGJww7btrsIy4Ko4%4rU)}49FjlnD{ zqqOY246nx{8HYWY;Qg_3OnEoOD&~ajGYL>j!3~Mc&ux3^zPpX1iG0{yJDR@E&0Bm^(uLT? zb9=Z^;{pgScZhsOSdd;5GYC z>!(W()<5OoAkRX08$X7&IqNM9X&iwFY?oK%ObCrBDD*4b*Yt6NmJj{XOte+-)hnGQ z-YJ;=SumH2A8AE^iGgnJSza~#=}Z}%!l?<;FF;d5ms$3YHvO5DghM{2C!3vf8z6pu zRF#i)w!67ekgEMLWg~?v+RG!jGEn(!QtkNJS(ZBm>5n>DXzAATzxyaAG-`OyTA2Q* zhCTjbL9PhwMji9gyb1%mzhVM}wc{w?OYfaUL#g34uQ{jtWM4&YN)^`k* zkHBm6&ut-ZGn#YWDuJJN>=5vO$?qQ=^83d(p87xh1T^M-5MzgV862>z;&Mpe#UO^? z`-H+Bg~DhyVPC^9jLmkP)ox>>&FN`}rF@K=NS`^RL8BZ{?&*DCv)@hREb}QGL*-l{-n&GV{vAnXEix<7}zL^4K zpEwqYD7f;ssfzZHap9`eQwAr0cay|Tuxddw>7AiLJp2PM^U|MMUxG$oGA~{xt6r#h zsi9x={cqDv$AIIX=%>S57GFgh0nX}wA1`CyGW{3U5&v}LU$fK8Q~&XUzc>$rp8gz- zFaLXPKOC;VYy5`mJ3lZ(r@8x%(_^BOib)I%dY}Jk$0ArzaEM;0w+0~5yMH(6_oE%A z)zs!P-`GuxkM~Um-BOOJw8fFs7lT_yLsw@TF!>3n%WIn0YK9K&zki`}@4j4Zq=}wX z1$?`C#V2IFeyT276O$=TL7Sv5u(Q_&Q-)<>NxO4%V2y6Kf_t9Jib*l(pPv(>81W4s zC~q2-BTh8TyC+ky(=ODxx3KDOcLW8;z6$3_@ zU9X}$t}a!{$y)~;yZ669MM6{Lo1lf>@GdHdNVn#d;P?ZJBCEMN4Gbk!Ch^m zFlvzWfS%JfElZPip(N%J(OK|i*nnF%+d?xk_X}@ilb|% zzQt4DKcd-2hzxIazcU3}TW8hI!1SdMrhmYf{2^reUjQqhxF~je^e|}yeCo0uw@chN zNL}Qz$`1(9Ysr&7a@aipbbXJiThm~9Calxy{bjc1MO^f4PX8&@-kNGwpVL6JB3nhq z@1pE*(_=D9jOhzS=F^AWB)~%PY5pq@z#C!>LiT!{4It-Vg&!un+&W3ZHA_5$?k^Ga zW5XN$7?VrF{D6|d(e8j1eX@v&vjkPoRFDvgs23(&E`Gigj}9%oav=PMQ*jDA=k_G0 z)6amTMq+7OFA?{$UgdkB+Q;nS#69h;@N6&@V@Z<)|^!%C{?wIBq?CsY3e2 z=0^1{5%sNvOrphh=r%Wc;579WX0TM|*?O>o1AaLI{ zECCb8Dc@h}QQlkDFz?)cur5kkgWR-~M7ql`L)%OfqXeB6Ef}K`rQwV6v-C3=(+hjL zc+DrYRSwDdc4|DQ*=7R;Zh@RQ?zg{RBcWvWJoUjD8G)|}_7j$5BaljEI|DUJc`|3$3RwV< z>KpHfKB>2kajN(HAGBya0;;@wVfu{eKTwi`LtlF7mDe8>912Qb^P^{f2k><-ehddw zcRsGT1mp$uDI@WIKUG)H^@@?{^rOO_#c!g*Y5c@XZzv1Od=vFf9n7%Ji@p{cH{IOK zN4`9aGFS1CwL`kTD=#*myn}7_-KY&A`^5k>+QlLf@d%w?EE+j|Fp5}1IAvk!e#IS^ z)%NG%&VlJ=MId58I;Vg<{SilFJbc{2giHGj)|80A5^+zowVttAJNI8nieo+R)Q)ic z%7{HV`_hKkr{Dr8NUM|6X?}MDNRbZL36{e8X|7XktDCKiF3T%vM~B5mg%_biHr}`s z{#zJ--NpIyZXE~mum;Y`&W2^_P*%#}`M>be+OZvA5wJv`HaaV1R_AYIeTX#4RN}q+ zGp7lHBi-)~#Yk6fVDelNGZ&C1UL$VK<^XvW8aRRub0APZ8Gc9XIoGr) zcS@VVp>3PUK7u?Q8GP|AGMaCaK2g4}nxhtbCzOS(amZ4)8|J4R8c5$TZqtiCG#A;{ zW|@7k9(>JlvGbU4Ppk}G_5eOwEh9XAL6>ISRct_8EjuBb%_@7@cc^-EHAp0VwyH2- z|DG*YrkGZqC%m#SkCAN>3#i_k35`2pK-&NG!1zfdAb{O0Pw9z+ zFlSp9DW?XTFY60$0pQWY%9D1?0V%ADLQhkcfmzd8w;lF?tMZV94M#TEBW0daGvMhg zrf`kgBO7Q6(zWB@;ntgXgx7Pmi)e~1@C$d>-=2o8F&gCHoj!$0b@g*2Yd3^ieOqSn zciqxQn6v*9@_3rH1}}hV*LVS>0un0Fi;%Mx_v36D>W0VW9bYV$E+UDzV7y6r>(z29 z?lHf5s?rKanMcT@t{4Q%q#d8M_Xl}zDo5JZ7Di|e!F|YX-O(Oy$6+Va99J(_0KZPo zaO=@t!t=p!MPZ!o^X@^UIQV}3bM2`#BdH}GgfFIRm7FM;e1l|JU7Ei(hlWFz{n`;e z2|j)N6|Wct)+o==>H1T!=f~)ZleSIWtYBCD8KzdgY)2-r3k$SZx0U5SNQN`4sg4Og zDTLI!d-g4p>p|u#p|dPAyNbtjubkt zbEf+JcZ_TD;`L>y!kRTaoG6tmj}5M+ij0r_W^V0?bl4T%098?DCJ2d@EdIifGkLGl zTaqY7>HgVL2Wx!}a;<-TO*K*7zgY3o@gCz;%d%isNkyA8Qfb)%uu)utS7C=F-DN6N zmZ@-;(RcQk`28lCQC_*7-O38E|AROOUwS#(XzyEzhz&VBQSDHF6A%rDJzOJgti z`NjGp5~PyR%Y&FE@@JVysVmeO$J4*m@RO?rb6Y2m1CaER^^qmyc0xE)DWpd;+);*Q zA9F!;)cbkYYa16^*|8kAp!-6sOz!cM*ExdVXvwORFtI?#<*}k~?_g!z~nxV?AOB0?)`|Uh7<_ zTln!~@w-0@3k#5)Y{wO>C@QKAoXlCa%qHTaa*<4}NXNl}fkZyPAZ=a!59{mezn%c? zj+hgeyS{6YbNf92Mzr1hkG+QV_?{~Gv<+C6&ts@bHrVOsOA~1n>vRpG1+>K`>fsj` zysg_`Tx+8;ubnuBg|gCemUou9kj;X|ic~|dmd+Ue{p|Rv(p6bM9#SrG;WbaC{N(!u zpc&PWk3mT`>9_=euDtu!4uc<`wMxbEO=FV~kwkAA2`wxIe*i~~xajZg>sbS7aW0Ho z9-6)-03~pwE^=3LqafRZvx2CbZT=i#vr*)Bzv;g-LK1Cb||jh;(i1vyfH{7RCp zGq==vYtC@V3|_c!!Jn{=t9;hQZQ&v!o*Z8QL{I*6ypr2nErR;9Jpm2g=Kc@0{0jf% z-(J$deV_Qh{QsuM|8G#jndZR$$$TH9BF#MjWvH$L*yOMy9ar;mw1z%L4M;!#7T!!q zD{=a&dP2qNUta)5hWD#C`Fa1wBJT^2bRDF^Th?&W0Esfa4miwru;<0dPn&4y6?)Yd zo~{LXSWoJUZ@VEt#p(YAEGX_BmC$@o$9O1t2j^4bJ{kg|ywKLR2eNeJ9MDP%EZy$t zX&DX_Xe1F4;xCjbIl3bs|f)Xkyl{ERaM%r>}Z76QBrTuC==z! z)%!ystja%sy?5(@xOwtFJ8(CcE5==Tj09a@-ZbzqPw14)2 zCVaocsfgbiq=Kv;fCNZLivT=SatL$LG53J46j3O3Pinwux;6YCMd z4FOdrJY+?xYpRDf&1!V*S8m$&y$fPJ}2-9OT;eh>|CELA{ zwzANY$z2_ebj?2jdzZfF*Z=+JlF)+MJHGT&ED>ikwOo-)ubnq%8qmf|>t{3ECg-G| zY@rpN)2d2uSSl;rqm4o<#_?WUaC%wz0mm6*b|@XOejHBsoC4^e3s||m!C>EBR@mI? zMpILh$o1=Ib^UX-a>1XNv9I93J0i5@b2GHSY&&O&Z&Gbf76rAPRPC%d{nl=oIom>- zOD3TBkP0fKeSQ|pO4WuZM&Fd5bPrniPJJy997ss|d4GG4WzWr_vM66|W4e6Q>=e7R z!(SV&`i3l*))ReQ?#qO>_GB$L$AQM~G4I$^ZaHzpq2V1Xlx*|HM;pOu^dYAN*fkIu zbCrH33%v@{ z_}b)h($b`G3#)%>gzd4SKRm$rwa9bXKo9Yd)#pD1m}eX^&KyWoBqcqQ$8apE@)3{M`#Zs8G5 z$Hln~T?N*D6V$q!u^OArQrrr;Ea_jfZO63#!Z$oDR#zWDtxo89!dJ7;!0Gk=Q#_G; zF#2*|b%##=a@5W5NN9_$G00pGm2GhjZn(Y4Ncm~j_K-G*3o!NlCSvA$7oszqF1 z$saDT7OGA+DXB==yzWFIei4rn5QM)0%S@%)WF@+VljV$UeT|@Hqt$u1wA;%)=JcJ# z5uIFcRyKJ1>A1&Jn@QK13Gcv^Lm5PE;hd|+5E0o$grBmvo6AfT955PeHD=7Fl`U|}T9<%I$2t%4qrufR zF;tI=%IN^VyP@JCM5{?-qu*=Sr)IMjIVap{_kfL&&orGHFZrHL(Faj|E?&Ces6^@& zsATepso|tmKKhD;6o1;B}<}Ymi_lGB_#Mahj*B z1K1rKrHei-vEw6_TTjwnN`J&754%yN_I#0ea08|}SGfij%|g)u&Rn{f7NAU59W7Th z5B1&F!b@|8%GX2OcO7?#i5(O{G?d}>N8lRw#m<|x1rjFM>*@ll8cj*3*w?4}wdx?{mfFchg@r#l3ScGd z5jKT$LpHU}?E)SbM^9LySAqN=MUAEbhurP8Z@sV)3$R~B5s(74<$x(d?<#DEwN#r0 z7~e*w^pGri{+xM?W4U%MDSL0%!}s&Z4*g606ZYg6vXpLc66fH2vS$$*YJ9x4RSTP9aRw6B<8OdGM=&4iH*EbYD zA%$MdtgOo5nrjCH?s0S{HxOT zX27`=s~LMwb62Rx@p1+aKOHGmzWA357!WGOk8}w@0@?atD=qAqeF7%{#QOcbOJn;- zq^ltvz116tg%f=1^E-~-!`)%J4k7d>bJs|uxz>Ohfuh=4Blb7@WZ1K9Pau)6h~``? z>6BG=wnRxlw1A$xI6Y`n5n%Z(#OLoec6;8G@A4EJz6||#K-x(m36QdacJh# zX3>3Lr1bP}EKa3#Y(Ur<*i(e_j-AHfvNFI7#S~E^qBo4)-OCS3;F>Gt0JCpW0m=b_ zjqmw&1;L=G=3i-}LX{j&xZ|fMqmNVM_JgPbM);;S-v~e@d_LXHI%Klrkx))zjuNED ze(R%92d(cn8t%M@xj?_e010p~m6xL%q*x92U2_EYE@TTyIRKI%_fySTaqHTd-0^^) zbQ}U_aY(ltgM5W!q7|$bIIC>vm7=0&uvBsFIm(UQxTBEJ+6%fv%^kH#(iPk%A6Z2p2zRkLWfkt_ux$rr;D z6cXMzko2I;a<^Ha+XvwJnK(rkne{Z6@=oQ%jvf!X-V!7` z$>%&V-NO32RPvxMm>SDRllpn%@n5}^Wl`NYTc(x0M1i&~=M9H1DO}O+Tmg5-gI-d8 zqOy#D;Xh0h%}42S)ijuF*43=&1C(pGel@Gy<{E^|YdkOjWL{cQzNLA&Bi9z)dj#{W z*Su;y=k2nOkKQDrV$;EYk*mfp7Xg07hd#}qs^D3BL_%6RTwA8xQJ$s0AR8)jgWyn! z{IOtG^B5q=2LWoJjj+B9N^mVcg6}q=oN6b9a?_hsyx6+%)Kgn(LoZ@3w~O=sRl3kx zWzQpkarx#_4kr*^cG@OK<-WK(MBQ&Fx$Lp5-u)Pkb?z+?{6%akc}qgshF^9D9oCSJ z1y*USwXgvwH#g3&R6#crOI@&V?|Nb3;~maH0>%}&nR?6xNll0qF}cu8-n;z#h} zOC{6%Iv~4mp5MGAVeSeftJ|f{N}B8GO49pY018if0#oaRkLrVjbqD47ou<|TY`j2s z;HPhWRSF``A2OKmKdSEQEO)B$C*;KdX8Q zDzbid%yFsj3`_izLOky|7i(|z7Nr^+8aCRS_~G3*{nI=3VkaNx1;r$cJ_QVR6COj5 zbQGGEK~??!ALl|ZFI#oLt&e&m9N0>TgLWkD+aW6#LApE$<6vOeKk>&K@mn{*@vLVj zfrwgQt?xhA9Pb$XyDIn}uo<}NziZX;e`Boxp7j5H36w7{W79P;F*D?jaYJ@ylAD1q z;tJhoIs?{!=L&t|8huxdwiZJf=OPuz?nLmJRwod^&->P0`|hmRujIFuW@PKLYIxI9 zf8oS5hv94_VWD-VU_h1J?h0d&MVrbM{?K~JCZi}ye(?C&vvgnk7xvlThx=9HbLBs7 zmQF~2%6UjD9}1-~Ulh5h{}lk5y1;GUM}#+2QpvDG(Wc+yCiseiOlKq&gwQktN>h*T zKs?SszoXolY`Ye%D|-#Je;xFvSjI zE;cXo2*`!&6=(eT@#kX*Car|h3!uH@DR8z8*Ep*%{i*V8D_V)LxP}~^RapG}FARmv z>P65d=X*H+coY{&J%W#VgzN#vg)V<_iDCFh==9bDFoAm1yk^{7|TO^s&>b=H%1mfu0o=s z1GNyUkqc}v(=UA*@UPE0NXhpa?1eaV0A5)6E-YTP#n z3x*D$zi=%7jFONEJ9TP^0t=dHouj;p0PeAk%UqXMYo2jIT}uT_HTa)g+PY?DsgLpI zKbthxZ}xpiNlIn6v2lKP^3>3!zCn6J#Np)|+){;LaEL;IH>Q)6UVL;1Mmc9&Oi72| zj$O^>$bjFz11t)C8wS-hsiYQJ2BlMUuaQ8`(c55}cE%vw5J5@#NQwhFqftdoDwzgN zghdLRH1YoEj>iGCCEtC8uY57zd$mk#hzO*T7@=>ov;+HWq*5r9WTDNWix+zZ9=d+h zQh0nDKeZe>WCB>T{I@P*6fi=YWfw0B3kXiUWhuW4rU@IiP5H0iqgB}`7|=q8`W$J; zHScsD-fuk&n)2;2U<9G)iLg!f9l-AN0glXgCrIyDO{Yp%p!o(AY>V!4uEG*1`jZ{F zIQn-`eN;BSAzh$K>PwgOM>?6lx9)EDD~SnQ%ii*AcN0I7{!AU}aNyC7qWJIDHo}CU zmMV4l)=@)U_z*E2A4eHfBG2RVfx-E}ELHc#&9f=w#4spL&8LwGk6YLn@BaQ>6qs!i z;=i)jP!xXI!>7Pnf0yd1saZSSQV;UFO4ox9!Pe9Hzx09l<>*BovA0mc&TsAQjN}|2 zsex%6dLz@$S*oZ00c+u>_6nBR55vXRCu<7oCnf>2i0xIIlW0Lg`j`&@^+*8$a}6-K zcMxIX|KaVe!=n1WxKU666%iE`0Rcfm>6B&^5JXD4K?UhXItHYbmQE$5rJEt7OX(gu zhOU8uVdmZA_ZRp6@jmx??i=S}<}mx5v(Gte@4fc=ti3|Uay&nyOht)P%WkIY+BCy&V-NaEO3m9_H%3{$fgoH#Aun2Y>b6-!x67i8)$Py`wPAbx|t zizMjkg(ctOanFwfL$4K8Va)JCQy(Ph?^%})1b`mxwvukr>*e%0RD67FGT>*rNEmFc zRu$s5PA7I+G+1FeeR~!ouz8euVrZovpB|&MX~jl;F$%q3FqoLT(G)*08nHT8(ByTF zxbP|6vTy7WpZ)bYWmC<0@8zUre3nh)ndMZh(NY>%qjw$W+nMH&t-}&Q-oU*tD(Fp< zdTus7>5kU4ATz}zb_{VJke2wZ!MnAD6)_7=duZO!Y_hyAn8IamR{%ORHFFo*I7f`+ z;@8I(-*1z;K3ZfZKoKxin<}yE)oZ|M1r%vZv@=0|_i~f%q)1Zwtx7{dv_wCo5*f!- zs7X+KNZT1UJarXl3KIa|3yOl8fy;9=2h+}6w{^m(L^LeNi`Bgi(!>qwnU;07D#=M{ zi?ik85v_}h8cMAVEMoxMl<;3|FYavu5uDzt4=WkNe<*x5a#oS-!?$)w{q4p@tS`&5eXSNw>`!7g+sjPJL) zm?V?%*B_4(n40~`c9FFp<}#E}pM63Tr~NS^*FqAr%n5k22L!7@Qb+tHD0yf| zMRsVl-*Ej5?WrAIf;lC`^#%&r;lsn@_SOFAEO5eR>*50QrxK5M`+Hx3H;!4OvyuS7 zoSO~e5W~u%aW|eg`>8y9l*a>9kjY^EBT!gb8Jz{NM%_j0L4B|l_%dx&Iu0Ixh4#X_A@tzH-v{@4i|z@H%Np&B zfxdAxaL#&^>9IRH)c&Q?c@BmM*zL1Xk0)>9oi4oChna6Iwx9i(snsb%U*`A1is?jo zrIsYw9wsH*J{D=rHWbH{oOMf*n*T|*MGT8gSG-g8v}LGyH_YKxch1UgQ1J?aLJc1G zc4E~TQ|F@N#PZ$ZXNE_P4sYS)8)hhEIi2FP<;ReUdXWyJtgzj@4}*F6AfVd0>oz58 zwWf_+OF=%338+NjXSj7RJI}`Dq;J0mgwIAj10w*vHJ*73$Qg zWWJWWM-MFm{|)6;o^OQ6RDfw0{#Qu=3H<-wzb&T%(*mWk$MM%7nxTlDM$K&fv#MH5 zphEr8MjCKuT3_-Z9JWyBEKj18AA8)<;8x9v;If^3Y>~7%OPSrhx?K&|SmV$?N>67R zkwTOy1c{hB@67D&V$Vv1=gM>Q4LnB6ie0nL8$Lwv2|jZRii9npT;_7x5))HJ1PE8) zPIF~4l+?)$l3nn9G;j5WU2fk%YQ&Wl_y=$x9CyX(Q|zlwB1Ez3_DYc--&^e%gS8p{B+VD1?`yjXzH3MZtMJXFc|ZZ z&5o^e?e%|MlGfZX=rJIH|J_b+|6lN1`g^DUV_s4Jt$kiDu5jQ5EtOoH?5Jm?UR+_{ zw}@^?m{yrEftNhS{8x1B?IUhf?rpiadq<_E#;NkSvzAHm_A>jrH1YAWUcZ%W>C)QP z7npsJXyi+)si6UcL4vrb5ysO^Zz;?IMdFe#Ezt^G=-)rda6i*2&`uC~>|UsRfr;)L zOzJ1tjtoAE>Tz369-eg0XiMBGn%&aZNkRdJZGt?I#4Kb>VgMBE+$U^c>}A-Ll{nmq zC&M`jXMsuNaG9Y!It9kKVeE)8L495k6;$9pa0xP`?CtJ@jBJZl&OfzWj3o;jsS?^X z^)_eoV1p`+J)!xZ{OA4z+FQW?nFuB0;sKTz@t$`sy0-P$1Tsqkc?p-L48#al0J0<@ z`TcA(sSU{K{*;r|W%jT0x!O+;d$rn17j z4ToxAW&yb^NBJVBp7g zwuyG`JVLodgRXza@6KhREb89f!U(0`^E7%V|H=rts>h5I72pA zK!d~Hc@M8zf>nVr5Y%M00p$!-y(3Z56;VPM|EQ7!LjezGl|$Tja)}!ql$r9j^s2x5 zN(tKZ!o*qSX6pozp~*##zwp%~Sv`?22KM$E0~ZT#rI4IAWfm^FZ6pr3lE_ z;h@;sa{n)D0Jso;GG%%@_xaQ%%QXIN3qapE_tt6U zg`?3k6w$sUCgfQLyY}j}$Gn>Ym|pm{AD1tYVM7X(KJ1BHTxmW!5jIWq?hN!G3Wi!u z?i5RdW;S*-hywpPkk|^1b5Yzg#InoQtud3b{!w+%D&t|(Hu~3~hkOxd6in?noQk`PqX392ZX+8r1+QHACdn zf;PVhVCX!kPCA5`uVDw^7ztI)i!QJiQbY+gcY_fYp9P{WGLHmTP|2$+#c8E`Aro;l zZY*D>W{nLCFk{y)lM1>?ZJ~XRmH}%KM2?uuh)O;~QflEWM!C2OPxfyE`YPJ22TE?3 z)W%3?LztNeR)j4I8u{dK@JIr)|14vhu$%&j^V{iO)qlIP2g>E(HD;fWew#28zzHaF zwhJzPI;4o9SWc&0<{T9m(TzURG0!uxnY`mjR{RLo+&5G9vLrUH%5y-jzuLs~fow^9 zT>kss`{PM_EtNklH$NaB_OAU(#}-xUs$s;G)}VC^VVL?H{<=h%K5_4XA*PbEBMm!A zK#+rMXJ<)Y+CV!pn)jW&RzJy|7=KXItn;x89Y!1vkf5rXmRXt?#*KHYYfv5wKnra| zn#m&dZs&?B?`l|@#hG;zJO#RJx;nX*CIECEK+n^6WiE%xGUQkVT)Kq}ybO)@Y69LrOu{! zES{LSC`TfWE&V1|hho*q7V_icfmEDGDH~mPj3_bJ3=cbBZ~vd;l_9{h#q5o<8VYA7 z9Klp0;7me;9y6UP-ww9HCOe(|Ip?fO+EnVv)$SPTHoPz`Jxg&*+VR-XyD-~nL`+wg zxIx(;o8ClQMR-V? zY8%Ip;&a>lqWJ#I{aatX}VX{ilssR z7de#aYvI*wr$9+e@iJU?$ey!^_u+vHBldezYF~R~ z8qr`LArzN#ucG8f^{BpzUt(+j8{@Gm@2#i(BP#pnnx|4Jbw*@{v3tgS1fB~b<^6$4 zvuB7;ycNI>qp{qo_Mqud#Jq2I$b+<(t*%q``>)~PBRN0r=)23deHk92>Qo0xyJ$Z{ zhll-SQOLBne4Fo=!-(Kfp==c9W##3SARIVu_#oyQ>lrpcj``1lExciS>UPM@}A*vIuV!_o*k2ruyC@ER$~z*N6nW> z{YAqh6rIBp1#HtWr!$W3&`}m3isgO(K6jup%&(z%}t!PsaF6Q$)Xt)61ZLvkn%g<9uPCCxZ|F&9BrmaMfplb-ko7}*ob+szCZi?42w^k9C5Gto zRo+3-a?O%7F{JaxmIOw;;N_F;)!k(wyN~T{(wd?(4#mk)Uzrkd+DYTCNdE!&;nJUB z9;O?$PaJU;PK6CKp(%Xbd~gGkJ!|)c3|5+FhpQBsVE33=fd{Pl^AC!{Kh7bjf?_I# zXps>zO1uI$pYr;B`P^4N2(euqNVR;;q`*_Rc-td|EYCo-V$=C4)Uq}53y;Kd`U}il zZ6tJBPF6M~k?WmAuiFblk8OTj%yf;zRAHxlx9!Stonqd1tyff4R2C=s+sl#j{GASo z&#ZM$@>Fxr%APGlT0+qE(J(B>%~f~+`ohJY3oCzc0&j0Y^LD|Z50KvxsJwot%oX@!|54sLndL?P;67qP~F0y*rP!$+mZc4>K+yiDMK*#rBM zK0br((CtxHi*cihSv7qA|kFMFjVg`RmUZLGY!J59(-|Aih3f0l4t`!4FdswK25qbr@z zh)5dXk!I=tB5Lx}#eV94dD-FZQT;!xh5t7>@%^7zPWxYSK>Urb2c6{%P474sLHzZX zq}HrtGs4ENYrUh|i@g_10X}J74%(51b~-P-ePufyZtL7#CU>o(X}MFR@Zn|l%09ZD zfg4&Ng#Bs*k5lb}3wig^?of`{`aczidM2kgzPOOi+HzSv+w^`{HPSS_>bM_%@6>*; z#;$4(4-fhTW*J^<+{b9Wv)Q|w1YG;@n#taqKMG9kO;zM#b3Z-Y4#=(PGzAI zP$+nYJTLn%d_!8uHNaU-hSOAOb5(%SI4bLmk)$U%4usd!8DIS{PH(9f$0nC=`{P84 z{Po#&`cNaM422M{pn?*A%aQb~a2{c}PTOavVbi8guzyUkRuM9Tk+W@L?@ zw(6{wRUF!o2X}gIxTTdk0=w-;4132=nK(G#YMU@W_)^3`6duo!QY?VieBQI0WaPd~ zIrPxpTh((*)qoHB~2_OzK9pH|QKEv8pr zYbD|^o*JFyu{O6^0Q=xeMA}-!KWBe=^RX=U^tj5ugLLv$8I|IS<7-`U&5>zG87cSI zLkYXF`8!IwG4X2yJ4ekruC>4zIL!!^qB7c4^Rjej#+Dh%StKU&S{9RL+Y}9RL`TDh zMam?-4EIq>3M?+J9jD!e-j z9mQ78AFEBqGZz9hE6@evMF_|41UdOO;*yFwnn){1+I+16i4Q})%TD7M2nnX+WwSwX zanHiV1ei6a>)YioRCulsrLlW^NnZE{hKlP$rqzar z{2kBka{E@EHso}W_q*tNNj4t4DJb+QOf&~(b{>}4cC9<=yu~OAyt{0<@1_t&2i*l~ zfJ-jMM7=x1k5`!*#0-9RbokkajYr);2(%tixW;9TDV#R1dZhcBGB!#(BP9peEo*0$ z8OIaeK*;`t3*;{+#g$&_3^+V?ZUsTXm@^p;R2m_iqJuX$L`(WT#Yy*T%{t{gHS)M? z_C%ME=+t7Dj4l1imCMeRD4htjuRXv2Hur9t_^)aRv0|Oa*)2!eS>3v<9rn~3*BXY6 z@L}Q2N>v#x6kBZAb4;}%Ct*W%pfsn?vnhWa8%jz7hV z0<92hjq<~pgq!1f-WDyYX~`?-}fMS-#0tb3ZIB%)s;Bb5`G6 zA{K;oVn>HGwS`q^-8J3Fbohu}gP0X2ZSq1F2(c;?waDO9?D}+a($DY}TD33W)Pf(? zD;thJU!iBKyGP+$#rlqSYcjp<76jz0ZG>Kr-n1>5tUQ+6o;u4$xKRHNAit;tdoz?C z%Y;aYqr;h*S~q`(O&W9E? zhck!$6Ak6MO#*g$C1=J*ufBFA87+KlB-?jea9j0~B_Kd0fz^|^Y1q~fYv1|j#-~;h zE|b}s6`qFkH3s~kxp*(m%yYgyGTbi|(NP>1QMTFYv9ay@cx*5yP-)T^s*!%acj$H2 zF>i1N_C?|_lfD~`@hAPpib^Weq1%@)m#&%`!Z8@TrCi=zi|sh6TI$~8<~digS5nEa$!Oyie4TyXP&kLCw)NV zd7rN;C&|t%(m7+lmg-*gF=h;FlKsruVrpN1WZI&3AV;i&m*j_nN8fE(u@57TstRG^ zsQ%ZD2Ewla>dbX0bG&o*;+iJ0+d7^ULo)I~LDToSDK*v11=>P2Fz9FPJE@D3@_oU1 zebg>9d4J$k*$b??E4Boo8;OR^pju^FA)cN|aK&OQEB~s;%~jfr`?%Hf2f1JbMQD0r zT*+oUmD)i&p1$w2=(QwjeBwfp#H9ueDu-zC(lvPanr<( zLEG^;g62w?nqoimdeOwh$TjyN-r!x1A*6q6QgyerFBQ1CaBWYjmbijQF}a(mR|T9u zR128YY>HIV@766i%JHmbT=k%#mzdvueT_8n zu}t{7hhr0Y={0EI16*_3m)EAe-lnz-9_KdF8Tdlm14SP|3R6W~5M5D^l_MsH^aMK0 z<{I3DM_jcoYy>rrgOU`h=d*J>egfkAo=F}PIk+z$ZMiJfT9}Cz0^rfjFu{Ce#NG;K zpz1lHT|F=sM=q0!-a@(~lc;V|kBLa?6it@H>;U>Z1D78Qi8(mTQMeZ)NQIJN=@z$d zqB;j6D(&25s>YpNJwj&nuvXUUa$?Tb7b@vRMHa`$#?xRxHXa~skLSuDh*(W%vYkc{ zDXrBpt&U^e+^P2|qpG z?=5_a8)D$YzG>~c5E~~9HL~NJEa7wI+)ZX5SEwr5EgAY<2D3T)R=dVku~kxee4+l7 zBKPs(`>+(z3wa)#NU}(sXVK)*4#rOf$c=T;$%%bzMIAollp7vkW>oV>PqFe1(ZfZG zwKV-{cG>)kg3WsykAD4a8KPCOTgQX%=ASYOQyEnNKM5$R*U9A=!RhD%j_H5|vCc6RxkboI(I)cup>S=IgTkE$_g#N~OoNOvHLJ8@OlAj9`h89OtAr^74LR z43zL)^k-ekf5OI9AE>B?H1=ZJMuemKu8Cb2cxX~nn4an$cQGFG)5M=y-d)BRtKJ`7 z9Mz*Jrc>b>wf@9&+@uT2%}egXto4jXugVX}A-I10(K>st@#=Sk0KUIJySPhm@Dr&f zxmG1| z?|)@vbabJY6V_T=Ah(!OEO_t8b*eyf88cC}1`*lRpxCh|l5>K!eP_pJ^!MzXMNu6x z=^qUA7}RDayHF&CFvE#_6#W*$EePFrRC$N8Cf}8hGASmkYwu34DcGK*>^CU&6wlVP zZM36h99I5(HH~z^&ZfOReTQf1Q@Uo*8VGCnLiLsCT|3lz>!VdZLW&0&yv1=|^0aKd ziR_)%&HNv?H&T8-X7}7R3q&{69%l8fNXX0IxQ`i@(4|%4@{Dln+N5gaoovf4Q>t=P zeMwJ$JrzMQ>72A+Eiitv>xc3CYUhO&KXpB^EV3a>1UZBH=d>qb=S#GW<)zhL_ojwk z_#!3~KO2ong120tLNYNhd~0a9aqZeQ{9R4u!Em*QEyL>@}__1vt=*SxiJKi|)7Pa}yd2?$n^KGlkw__e& zMeWT-F-&J6izm?tGK618Haj4b6-j3c>uzi`w$%CUUiZ59&9^0LPsMQsGON;G? zPaqWn`5uyEzvr%gj6NsZ>Z&7vSX*7SWU7KT%BD}ATY7i)S9jS(Xp@d!+>{w2@mul1 z=NK7L%hW8{wA-1{{B09-=PFUYsmaemO>i{(^U_#3B=$n1C0KhB!=K4*MJnatHytZd z_YPz-dcWu&;xLybhv$Pf)IP^zD?~baLG!rT(u%ne223N@X};zQM}>;f)7M{r=6SMm zl(_f(q2rU){#53+qCvd0;I5Xyn+-1w;4o5mWavvdIo_s1>rYtgM*M~zcPZoWl!c8s z+x04%r^M%$YEELAW=nh?q0So-_n&8)8a{kF%N!VSmLt_W8R>WU{5U*jr+gbV-a-CP zA5{Mx7yd`W**29~4VTQJdoN;`P$J-e%2_4*WEWui7NUvJdlBD!$pUkwnv#S-&P z>t&4~rDh%ZQo6^OY1YETu-+s~ysRpP-xtF3Tal z`)Y9Vq@=6A4zeh*S|&3070*si#YD@Az7it!?=316UoyBiOhznTjZXH{-b zEv4+ZBxA4Oby?TS$u@!vssDW}Bk))oY>{JCmJwgBR5N^__nMCR8JGS?>OJ&7G@z%r z?8>7qZwG#1H1FL#&;Gqmay~BS(yKl;4&b==eL*5x4pOb6-}hHXk;(wGS>G7 zTD4y^8W5Zd{`27U%cvj)2JYz220BfYy7+6U4J=$eC;S?OPZ5 z02{KAcKcom!QZEh$^kw8TUVvk29GwB?dbVb-=pb}xDqXn`+bJD_90ngV`GcILdfPK z`f~_UzohHVAP%`X1(XJQ5(x0Ry1QH6SCB|uq>~|%%P;~Y7f2De6bIUi)=om#Rz;N?fMKv%#u*VYLRouRM=*7>`PyUb3NL?tf6P zeNKmKXeZEe@6-kc434(wQ8R~wlbE0|vqrOd7++UtB5%ymyY_>7JVtK=Pn@Nt2{qUZ z>DD+CY%S6q9UOetbZmS3`hJ}qZ*p6XvBkv1xcVs@eks)or1ZDoP1SYd*fYB51mR!C z-Z)c~nTcYz#Rq~84oTl`jumxvbv1+Qq7oCYSy_n?mJh;UF82qbmDsqQ@7GYHXsZ7# z2%5Hh)qiOz_^_x`0oPwzKz9th>Vm9?ST`QhLQqBkUA1xeLeqv9n)$PwJ1HZcZnMFBSo57)8*d zjT|vdTlN&nya4bDbVg8PjS#;_cBhIovff7o2d4yBHh-lH)k+qn920TL2QGDLYHHsy zGFl^jD)RGt%8p@QzI;(uQ5iBh2ZZ*ox-j%7-e)Gw%*x8@H*7A~Q}}s4OtWdoJfXe9 z$jJDFgX5;N%WJ766sgpC3fCe!J|^Z7X89fZi`|QQ$nQ1(du#A`3d?WPv6G$Foy63n zb69~pc!4=LWAT0-wZ|_HksC%&YG;a|DZ2(J*(*EG#9`%Ylgd9k3uQbm{+wBpJ6{jz zzhBfzg4baeV)buZ0Gkv1P+ABDaQ#%dPY8LoX8Wtz*N@8^ZCo=;q!ttUK>A4cyNk6B ztBUqiCP#1mt5U-X6!b^$0Y@Fy7E#vlWe=J*!RbH2X&k?zU+m92@alURT*{ba01UGq z1{~75yD8=K+oqt0mARf*HkZ`YXif6afxgdn;BaVcV#0*?7Fb5@86HmE*d|DtLSp+< z{ef{}+llFsqvY-WHONdSq9`gpo@iMSvB#|uxa%V(x$x>kwe}wF^$+@C4UG3OOA;Z+ zX^+mjbJOqO{bbr4RfGzT(9{E(FlgWtW9`4Qoy9A?bRIL)UdD{v@0_4$1SI)}X+Uw> zUMt#VIeCdR1@!>~?$(O)jwjT;;5)b#M)UUPU7y<*8p}3#meyL}{l^}c8om-DTrZP& zZgpElF?MdSll74Cmn+?h7RAxpkB6KkUEGmcc9od>bZ`7v7lWHuP%6Rui)9a4>+>OZ zOyA7ft}JUkwZl{KhXj^76wZ+1y@yd7F0nC!Qha1b%Y$Z_gjb|Lgox*wt`igE<2`-) z^!29AM9quk7GBng&wG`bUX?}3pG9l{ckrjzxi z*Q?0AShLo28Ffryy6uYOq7}DJi~5tfp*wnoT9wybZ##gnp&8|Pja}Q2Rfo zYXj}H8YLZf*fx%8oio-Fj@N%coUg;T?+|`P*)-VuXCj1C!_HeN_EyWXWON>|ZTj{S z+|eJe^4^F)_Ic=dZ2!W)Ro@fgM(e5d{Hl`I$mRIXZ(k-ji@QpB5E^#i)g?QEFGoJO zj8DfXLF>1MGUB@5>>aSgn-nRLUvv6yU zVwooa&8EfKzR z`uWN?(H^4|gHBy(;c?nY4Jg0iM#7VC!|-#7AOhq#3WO9Igc)^4gxo98SXc<6xsGtt zsqx%8<=zh(E#O`&?Yu#gCoE^^DQl7y5$z6y#rhN6baVqH%#W+2mmmUqe*Av_pjVD0 z?*e@9+rn;c_xC-Hjk?g7w@DuRtQL3tYRvHbvEtGL6@*S1>SN* zaaXUnQ{}lNg(btAIotNENQtZby#d$k@y@CF+H_wjaoO}V{lb4mb!=iXcO&uq&w$3X z17s=$Q0Jr9ZccvqsnGospBTETsN@__X`Vq_#pOicWJp7V8C9v>ImLYZ-r za2)K9iR9jL@NNAOnX=&V_Sp`xX>)RK63wV9MrghKghSWg|H!{(ZkzuML46=v@+D^R zbv*mxXQZt6`fNeB$IoN>FoZYNFWyH_uS^xI(%!H}dJ6Kc7d;BNd+S_MeCO>%rNGnV zDttU=Qd)WeSgrOBjkwgA&A9H`3XR{&s(?UmyvL23dEt}pMXm(0oW+E<&|0xXd%bZS zUx#y*WB{+B@jChwX}SVZZT+_=jg5~R0o$FxMlQSio^LgffDsem*b~TcNzo)t$2$NO zd{GrknGC61uGQc==-1p9?44HJa`t@>#!)MD7HCrrkf(Dc?A2wfqncq4b5y=RET>Ui zk5Dcz-R9{{4*v9a)D+6-Bk?!HVS6k@dgp?TV~)_D40!gHX?qQe#6t5^RwsO^$MjJ> z-c;-{x5Q_%Ew>(}d?BSSb+px+HR2LvBFq$LYyX+Z%Z+GLxe*@XTi_x8%E=^6IQSi} z>HF0@Ke|zFRmo#bo|sa~Dnd_3$MPb?gMNg)P9wB=CUGN$fHq;$YhVAqe~ZV_z8H2I zp7Nu*rxMuBJ~X7x;wYB>ZE6$m zDkUFcFF;r$n|Ho)a-u0mDZSW3qc~q!gUd0+dGqU^ayY-n0J7?E?GaSOr%U{E#6`KF zI+gn)_k8EZC*sJ#DomiK}#o@(K}AdXL&$ zTzv5#`^v%1yx`fku2r<2p7O;Ee>foF0)OQD=6+7q?5f(;ZXDy8+H}rqzr=(6@o+zf6ie@~ZDn5g&r0^!Tb$b+ABqgd3ywKBBQs1=Z#npePRW|EoGWAviKCIo9xp190sv|_M{mrSjx~oqK|NZlfj3jai z@Wfqens@u_Xc9SB?mXwfzceP-8!@*x8=vn@miNYMU-S*NAE#Zn>11MY+BV&Yc}%=7 zg`+b5eBp1yPWg6b3914*%jSaXpNekA9RGAER78BW&~p*zVh)R?_xn1=%KVux1*P~G zL71S%St~DH=W$SX>O1ly&XqWulyk#_0>56}QSLA5OHMlJYC28tYXOXd$4t)Q275bH z*e7fUHX**uRn93znOms&PgPP<#!PfA@Kw4s9WJP^X!%mYLW`@-*oDLItnWD-Yr|TWE?$BhLRZo$U^}jG}@rLWa@Dpx#*^W^3-^T!I#m52X|7;XK z`2T+o{)3)X*qaO+M#PJ4e~@d8a($jODtF}ki)6sp767NWU*2GU;#{kT=L2E@(RnL1 zj8IW_o_vX4>Wt`IONZ{%k|^mHw3(`R=DMUiZxQ_K!J^2nUYkT^1_xUy5`V^@KOBU} zI63kA?3p&#>v7zmdUgZvr|BR~?4{f*J`ei+&-X_jdA|~Stc{0Lqn=0$P1k1rHuVSRr}S| z4DZJa2H!4hb<+in5}PW;)f;#bLOtX%iZ0<^GDzR!pGRHZ-N;RgBNab=MB};F;&WmS zWq*+LU5z?<*yE^Cgly&4k)XVM1hH#6a{SYGir1s1FJDI(Op>~7*nK}iX14{net>%+sUg%WY$3 zs*dZ4r)2Y09OOkbuho89!qkaYAg+r-wa7usm7ZAE#!63H?0m?Y)wyKwn4eipTAWQ+ zDV4hB?gKPdM~unPnbxpE2cW|2wHHoeJQ{rIQ0!hK5WnXScy+jTfB6VSzU2^JU-?CY z3fj%J(7nU~$s{;byqVxd;P~eSC-cdA@lzoO8;sX!N56JLGNj)Fv$m>4mS%mj01o8P zl3jMC&v51fv@7|fRKJu?LqLN{WPWH6!*K(}WYMN&gb)tXzPK4@`$l{LdF>7!(~LOX z*0+Y@;yWN~`>zJKLy#XdC@Rv9SNwFIYqdW)D3(<-qqtaQ+xH32%79+&+m=ghlCC0w z=neCYJ9!};{wva>qfa?R>PHPlLa*%|%|Wf4?^v0wXW4N-_>!j2KaZ8*v5RWfUotP77`D(<( zfVwNxd-FTN3N440Kb@paTL9d;Ig+k=p^e~6>-8Qg%6xph+jUQXaPij0jVi0}Q-!6iACDMPvrIyTw^*sGJqu7t#(wphRI zTFe(tbsL;+B;X&EtPw3XC9qTmP!Ig@-W>h?CakZo-dB9Md)%?}`yFGGIckkJ z7~~-G{Za>faYY704Mz>Q>>WJDhKEr>zf?o3G~0iZ{F(8*@1sO}!*0QaY7cz~YuQ`S zUY{(t<`OgRvev3~$bNUe`^v~Dn~tu5T4JT_fai~v+H&KA-$N4$j#LZ=HEY0r6zT>MUO?{$8k;CSK^*2@k{r3#GY_BB6G#O0>Z(gtf}k!7*4OdaGrbSkSXX#Ajxg-WFS0^jV4xCxP=TUM2T?r*?`kg!UB~ zSxx4eiD9Qu!N@~W*GooXbQSlxa7OylH+#8oJo`uwa8BEZ(5WC65M)MW{o40RA2-cJ zF$`?n^1b`R{~VU7*-46i%*w**6tJ7L82x@hyR5_YHhDATv}i8y!t|}N_4QeAm&AvB zc2}fLn+ULPPUDmx|Ag!3Y&Mu5Kj9j^U{d*DhIo@lFA4!@=8bx<)dkV7Zp`IHHi~NX z^NZ1_oxl;VZm+S(Iz>}8*s=TWMOeo7@027?>F>}=9nITw0s9aNzreb|-@o5bJG>DG zObH~67vSM(@`ZVA*y>&+gI_r_iI%<$nz_DWVfrmrtNOb3|iW&JY#HSUfyBVIq*PB`>=N@0{U#UFj0(p`wBhwR%UxJE+XA}I`v*5p0kSvVkr8REPWM_h zF6ex|?cudV$jvLDbZH@I*T>Yv%MInL0i>HPj9v8; zPRQHoJ!-tZtMEgI!%Km?cyBaM5*aU^vT~9&@iq+)4}Cz+?a~){R+$F6ihxdB{BCY& zBDmsUvTN>K|8%@e_xBd0{=#*Umb)0eJN>ZaI_82x6LTV%cG`Kf(})00(Yp}n+cfC1 zC~w9)$>_Mi13WppDWH+tz z5`T^G+3p#{)LfYo-yX@lOiOz!zfC3ZOKQ0sG?X$(KYXxw0<6DCO(pF~`|r_lzBqg@ zADt38LxNKpBradMA*>xVG%fS)q+8DQ3~kTJGSSsC~MhlK^;Scm6xJ5QD_ zq90};SV+z{~n=UtJQ4C&x z+~xwh$i~-b$uf^>n+Mzs*JLkF-u{YYI6{mPr^h_JzHwdkoBKzc#!5E1lv-X;-}|SY zpmkt%+R|`aNaLf!_Kpr6u`Bc$&wA$Om^@8`&Ihlbq|R=O6o@3)xuLf_r@cy40k2;0 z=mWjQ$27;wNLjgHj?0r7EGU}2(NkfYu@Sg_Kpf)*A7@WtW)`i*^HUuAzKpnW+5wQh z#Aw&uM7||$?rVeZJE;bHcQX$Km@jZVc_Aph754&#+?Fu|@5V7|8YwMdl7#c{7Q zpDI;C=N3E>J2S)fbJ8DQD2De;_39%cJiDdHN<1dk0vTVRTTx!;FlaD4z6I)(#*wPx zmO=7812EqWEocWy+nQMi@ehXJ?x-zsbH0ExjVRyf_Y=;`ysH_PnzjFomZx@I(&QL_ zv|2ZfFE1%iI{$ttUhwQCzBEg|Oi>X@YL875hlqTg;Z0l+?rjUM4PgDs{&LHROY7 z|Ao02bHMJusxyWFOdb5>eT^PRLD1W$wovbCpY|vNTL<<3uLCc_V156+S-2jcb%1*o8Jct^aB8=*QFc% zwhNZ$X7P&Y8yMKx)dtR(x9S1oD4527h*ijmVRaa0@$d^M@8Li#K z&_2A92F2-bEF#SD(fLjR4ud(2b?Gh}c65@i4h@x?W1l~vFKy74$;dU&%+^U_f7+hP8a54J8EMJGGBtvPN>>cl~t||>v^8rP`m4dN*2Sl7-8_H-8 zVlN`Wuh*;`-dc^&dlfzt0)iYYEE4A0<^_Y;S0o93Vwkrvaj~C=%2c>n#Hc4HCtX)o zG?$kmI4?bVIQy9Xv*$3@rtTwj_5RM_OhzM~(B>-Ju2BwfX6%F&69CgDDIF-iI%r1J z2gk2;bcMFofd$B4f2ljd-FEpDyt=ls_O<7q-?X08qK5sMYha`<3f&8&228H+*?s}V z4BlXS1USpwWCHa|>#B7g{h+OaAiLSUgZ)nOh1ht*sI=@4LydF}-(+MAnhSSN{j&87 zCz`xOfTV}l6^tpur+28@fC}i_ob4*q8RR~@IAM|r>ci>Iowt>KmOD!R85+u{%i?g4 zQ?JE{+5~Pnk>OWTYu4(#=G}oV>R2}^0dvM&EKPs0usQQ$S1U?=gENauscKm znzZgb%!l4hE_tsGZvwF}BL{>|R2Uc;-+?8{-@Kb54wqJcheICdM9jHfIH@y+1j{dA z`l$CRe>QGMJ#R0aY=qzj2uFOuD2xSxgZ~0Iscy#i27mz|@X?L*o*oCeo(JqhSJDdT zh<4i-_d&rKsht~g#o;Mj>4_^w3={zOp&hhRlJVf**0{^ocIgy|ichY=z3#=|C9a;f zes#5k-7TZ8Sl_=cr5CisYMS+3n`)}_fyZP_Ea#uiH0xO;4$~rHn0Q!XI)UyE(t@nAo03N7#$lFa2EjK~t^jwT-Y? z;SU=c8S#&cyPs`o2c6u?%Oj|-8(;*lCg(aI;cOMz5vS@7k*|8Nb4Vj>kL%9V(B{bKH!sA%9PSc<#hX=aV|8D9Q6K zq{JNPNkSe6S5+^)RX_h77omOJIy_f-RLMVfJo1#|>3yBuSsRyvvvTGLu0q;^vyN_n z_4cQbk{LBwT7~-68WUo{xFIF#wJP7WP(FNl)h+_^Kyeqa&6hW=SF0^|t7FD@Cd+dV zlH9L|{EyzQ!>y@h+XwJOP!N?XsE9$3qJSs}NJr_YU_n}F3Ia+M=^=o}LJtZY z$L$oA&e*U|^`yv8w9bh4^qEf1&FXuBA%KMCn7m|PLOT;P^N9TYP9Y|#jmxkYKv-?B zs))9y^3dOZAiO&uI$^~XDtERV-_Mn+NSD*@W< z0qA=F>yHdeX@ycS4fmpDdbhy6r4P58+nQYLWx9Oh>k2o8IhII3g?ub;I4 zH9`YizGLUIK8l99p8#XoY9Bx0C7XfcZN6rBa5L!ae4jcpP|{OZ$8G68rVE#1MInJ>7zUmvp^M{Xu- zGE-(*sbI=eI~#6K&5fTiV)4r5IGt`z`AZa2=ez!Kylb9z=f1GpYUzN@_k6N1p{Jotr=^6J_w;1vR}HGfQqxE$V&6Ci{)r3#Z5dLZDO zqGJn4+m~F*V!Yp%b+y&#j}}u?xuj#`)iz)k+I4=9Gp0dX-Fe2ZAlX$Or_bk%zM0R6 zlSZr>vVXTF^+{=P;j6`3OBRfw>Uwv;K#wpTad89OodIpBfc(=Lzeu`-WF+`e& zpE3m~?vr(~pSFkli;6){Yp^07sLl+PGrxLuzaNDx1{rIf)o=9T#!08oOCKcXJLKFz zV4AfTOoD^eG{E75W+cy;+FoX9W@dOnxz;E2u*87X)SK0&URnNX4fUai%*GI1nn4SX$alI8+a2()|$Ea#38gA>_ZZO<{F&Dwd62_ z{bf`xZHpxuOs>Arp$L0H;3}{*{eCzT!El@9t;eK{4UP6=VTYd(#=t-ud>Zkv{xC2q zeuDbm$px)6JE4zY$^fnfQurw%*<1lC6M=I)2z@khEkHiT2qspv)LHSN+cBNU`_0Ph zq(?h5&-e@S_PZQ=KMl>j!ACo(H&%@e5-%X3*{*9xsn`&0&(}89O~QFZ$ci!N5>FvU z#ipt$d$a?NC;rGOH_lzAyvhSLF{X~0q^8BW*pQIiT>yS4Ux2AHD{>cVqvrxFc9Ld3 zLb|~~9uu5u-fida5wS~3?8H!?tk5W1!V?;OvI*{vLZSKf=kIgp;a zERs*W1-y(P?@LO;$(iA;N(VK3a`Jlp%xf)d%FB?h8yeyA6Y9at+an#^*{d5R9xgA) znFZNFdVb#Ca>33$uBXboodN`P5g7pYzkpM27kEaIcA@PF@EgJ-Z{K<)B|?W2;RgeJ z51d-9m3>EXbaHGFJk0lbT2k`X?ts05@=VMI?A3dV`U|Y|iCc`P{0T(aPYkIEsXoSM zJDeL=;7pa-atR!3-+G*Q$8M1IPK|XwZ*+WamqI1DzfQlL?ZhCs356{^22Xd$dw&sBrMs`Xj0*2r3)o+gbCyC{c6Ha=_+sDH@|7E%a=M;9hq%2!d`7*mJ5CtQfq{_c!wPZXqXEd-62 zQ56-W?WqGm`hptm1{uI3l>SVKFRHRV-F42}1(~0pUtjlxgDqf_y>5j(#s9BnUCr&3 zHOAxGb>%HjPivB5QdGn-8qkQ%h+$%KQCRUBo4!gM8pumGO-&swQ7ybe?8b@#tVAKT zqkipWPxqEiC!ymsYmeTBk&EmT;u|7D!Y3L=U@gfSnRdt2&8dM7$>&CbvX{Q$$s|CU zW8j+Kdf=dKMo@;Yh!7L3e138&t`#RPx*UY^9G~K8r&x6V0HNKI4h{~71O;Dasw1!) zVA~bxfmX>az{Fv7<+2#}A&2@8x+jO)*1TZor~*4_NJZ*)aVPcxit8PJpo{!y12Wnu z-`SA_^vVpE@l9YGhr9O&Iq0tMpevULC~XZR;#)hYrb0mZphEw~Op9BtE6ko>Jb@P&*_!uR zIPx;%a$ls+B2Xd++bbW>fCm&Njm)?HhT01*4gRPWR zQWAiLZawM{P&2)8j5AH>glasN!Q=?!#Z*$C)P#Rr=tf_*qjB~F$P)FVl4F2H5P<`y z={7RyAm@c|yP3I-Y^rso_m{41mQ!zw84fe;vV~(tB|}cqp3yvTX>4M;(go~J^VZ{u zSLn>%0{RY6!??*gz_dp7VeImHZ0Dh7a?=7Z-J=ee^j2l3P4w!>g_B zb!h8V89~lB$_j-qnJ+|hl^N$c>`In7MBs%Q;u&f`aL*K4FVrhyzkq;0$F8(}jS(ab zm$=J2Y#fVe0g!Ap6=?1sLuI<62d%f2iOAASC85ro+0#onJB!iWg;iz8jHb_Rb$2yCt{yInnJ%~$EV>n^vPUZ{FC(V*`? zS*{K*4P3nishjD&N*~NDTBmi6Tn_(il`)|X9B92No<+7%_kMF+S69~r^0t9$zmLip zv0QGo&Qd%@ue08ERLQW%h4d%rZN4re_c>nl7PO+$gv9SAJbY88Orlr5jB=@gWW1|g zg5C|3-QN$%HZQS-gn?*Vs9rW3|pv%+)=PODAS*Y^Mp~Gm{gQ;)~su5?!T#Ypptt zf9y642rssfb8vOjey!LT*08IwOI~vrg>jFmowHlnvYOh+J5FVkXup4~(WVj~iv%ia z)X8c;>R~>KYm2mfOt3w~4c0Mtx9_jB#yK*Y=!^vbxLu)!sRnn$#qKQX!9(;^SwK>b z+qv46{AR9OBwk$w?lD;Q2Xb@ea)~W|mp9!&6<9X9h4>4K^=D`{QD0e;j7-tf&QbqZ z8h$7OEZY-iGLm(6zhU%y!-vz?zR{s)tSnBtz~5t<$xbFG$JL$xsYXct+;x=yE^?5h z>{B9T5fF(>zar9g%g&kch5_#Rr$`>Y@W1~7e5n5|9RKHb|6doQgv;|rPIDly{bQNY z(U}1u`TsiQbiLZJSXNDXOH=%JCtX1wqt0u#!K9e06xY@B()W87Lw8=V{W8`35ZMS1 zU6;7Gvn3oFJ?u9Ro1QPb;5}0TkEM?RD)x6E&! z4=vofyJMlB`^BkkhuV*mP4D9U)pnVgQo&v=orek~CXJr1Wb<1K;TsNbrN)Cy`;i}V zGdrDX6P`}C!!IlV6W|yz)$djMrkh>v*BSebX6F6cr=9qo-+K;xqrtA4D=YOxyEvi@ z|KD27252_rg505M*Zfl`1>s?c)&5a7VF$+?Q75Fy$r_#a>Dw@ahlLVTzh``&n`50b zNA4h2&cN?afsma)Yo-(7LvFR;U3$UBAy}ZNCxk1oknNs}=6&D2E43#TFm^c?$j4*_ zYPVmf4zh%LJ#DihQirg$N9vTE#C|=d-4i~AGp8LFgq6myF3xC;58Tg40DP=Mq1;Eq znwEY{kA&Pa@l*zAfG!$c;P5@;VIYES7spbRy(2DndaOkb@!dil#Di%|&X zZ>kiU;H&y_zDkx(@@2v)&QmdlvFq2_ezhp4p9ayuWoylZNWhl5ZUM0(;OS}q2WPx% zUyVM5Uj%X{RZ(g)SMDIA$QLxt1rZTVn%&ChLj<+zdxu1(@i__8TO1*Eja(qWgo{rM za@sZ}8hkqzpKce#bk36!n}t9MG6&C?LO)yCsKN>BA<77{()AyK$S)g;tv}UNL(5Kd zu!7|M{sS0*3=bTlUAGX}UU4Rej%dofB9O9}Ux?R_r*1z$dM71(n+>5an<3>3Oe7d9 zi6|GP;((pb`Y{Y`Pkkg;UAuB!WV&5T0^JU$Du3yQ%%jl~u~@+i-p{{-WHOzPR;Gu4B;+A5!g6tJLUu31QX_;c;yI zsrn@1&9*Q~AzN?710zlRjDB}BE!ky`@XHd}Y-!aVMwF3^(@a(6<>6UngAI4wK*8EG z1Xjz(Fd7@J#}!(brIyIuZVZ=u$Shgn__cTL8k3l;yWcTPSXO>PUz|Y5gPxBcLlh!r&KT@TnkH$4^);CzOsf`@+MG8!MFU3Lqi7 z3uL8N%$lFJHh!%{ywZzDvDikim+f}823y_UYX3l7O0UH0Ctl8&X3=E(jB&)u&B~SE zjI8@Y5rj*241^v#Lh-8zr>1HlHyO_&6IVc2+QyO%G({74{@x6-`v9~1KS9-=fA#;L zfor-rk0**AAVu(0juv#tV=FGb0cWxUgR9CtkEK=w?ZMvJAs-ip4PX#SkTAYE89*o9 zgWbRID?-wUGg47mRXMJ?`89<0g^Crvztx|q6#y7?iv9tzA|r$D?P98lbm@oL+5Upp m-Q87(;&uNUF{g`V@!l^pRyBhLP44FUG}JZLDZXO==f450-}}1& diff --git a/icons/mob/items_righthand.dmi b/icons/mob/items_righthand.dmi index cae6ddf04286cc56c6c80414143bf014b975f753..6155e0994c870148b53f1960ca9a3e0d69ec0a21 100644 GIT binary patch literal 159011 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

+jy-3mZPxGkp!GxRwI`< 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 z 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

_MlDqM~iNJPvy?n?Bzcb$6MIiC+hwhRpo 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 literal 156284 zcmd42cT^MI*FPFSML|GCK&7e_r7B2oqA1d(BfTTNcL<;;A_7WBs?vL}Ap}80Y6KEm zfY3`Qp@l#~;0`{|_xHZkbg$L$$;x!@oRD@&D)$~ zLslDVH9o zyY$B&O}|OhdpI;8o-g%#RT9Oj#-o4Es0qr+_WXEStQv*lzD63MBTR!wf zcZtjA-eG30u*^&CgNlu%oEA)WD%H-W%&%1E5TmT}R^1y30@UvAY7P~he@-6oLE`JJ#lm)$;@;KYU?@IOl&^;zjQ}5Q7w1BX@N_i^nL+O6VHudwPnPYCcOKxyjF* z#J9aSCf9Yz+sYmZSzEbcDRiMMsr4?~Cg$d3 z@83)Rxw}u+@jbc2?BK3@Ep1grc_NR6F`V{A`yM}MwS=RP=k1^0_}hJ%$TAMTC)$%+ zw#(5s7aQM8YOvzjwQ{*GKgL=#-uxW#d5QMX)tsaO!5vJ(Mp$QGcsx2*<))#%g`l{l zy&yskPazim$@Wv;??HXu>5IW3`NQWggiD4={1jOViI?!iUwtmu{+rz+OFWouMT(3l zgy4HCUU$)b?PJ=(!7!Jr@jksTyyWql0M%Qq+(uIU{uNQVPV3iiU^W!wE%fidcHKa5Kzt|Mr!Bnw6+dsNE@xMxVa@#yQ$tn^ z_Y5DXx4-l5z5XSduTt`c1@)rn&6g*JOQIkGUQO%D`PA}E$^)eOW5iq$<3o;L#!FU$ zM4Ax)3UKSaWVcx*?LM*|>id3q?IH8Sx9{M?KFPcl%(8lFb{WXghAgRi(I-5ikC!dNMrDmZRGVtZw@ba2?y0A-@XT6n z&TQG&LkQJygj}eq7}6mtdm=RY>bw6@1?;U=%IeFsPs4*`-IHckc?J$>E_as(@+d*W z!;K3UoHa4z&*&DLOfASCQOUfOpn9JtY<$7*GL_`bD)a4hb8>`>MP{R+<$lbn{xM3a zA?w=be%R@7xnj7_%o{v524nZ8UCQlt?dfx`yT^x@@-_laVo=*|?9E3Or&P#n#xC<5 zMbE{`u}ecQ`8V&F6&POJ`Ehf@lP!MGWGOjOgo&I$9wH1$UCY=};k3RtEuvuQV7!@R))&iue=$ zmW2q8q*2*I+C6fm2UZJh+vh*IWk*mJm9E4ueYya*tFS=M-&kFBy7guLn}hWJ4kO=7rUOPN z2dA~i3$NQj(PR#t*KI*>3c5bG!Wfw(d^j|Hjr*VXzJC0B*`~GbSLhUs9UV*zx*M9b zw96ez;C@^Afvhwf=SeL*v|wY>UbOco>uK*D=>Fr%zWYo36%?fk${CMhT|AfRv$0>(8}su;t&&xI{1Bqa=74kU)ST~DH|#aM+r*H z^V;cmt6Zq;({6rr<5}O+4cAIY`!%!Cx_Rub0Cm#py}62K4HLg`62QzQ_m;Jnb5@3} zyP7&tCY646{MGlV4ry#|3iDy*ZXm^8?goeSSDTFrQGRqEEg75fR8{|#4c^Kd+nk2y zjGgI5Z)yByPV#^7b#AIlE79b0wQ#=4PbkR4XNgO>RYuX1scf;UciCZYd#7`u^JqSE z@>VqynTl&~0_SU!RLYwaHSpY8h3{XVO(_b6J)~=Rdg1F!FvEGld+v(iZ0F??(%Y{; zFWy$wEP32s6VDNu>OYpid+i3#j8Aw^?qO@(12J;T%zkQ~VlQ##?XRyt|NLVycy-)& zxscmqMoGxxBKxgT6ww6gUS>urn{_XhO@dIEE_=Svt@NlB$f6^J~z z%q%3a(%$nM568BQ#+IAk`|DCP{_TibIN2I~wj9mDPm}NY;uIwplEXNE(g$fg?w-+m z&zWX==Y{I)9%{)AyR3GLFHZ3iZ}xI0E_GWuT0=Pbxc;!$hwRynlIxb5Ql@F`5i+ zbbWbZm?as*Vru-QjYB%t8a2`O1FDyIn49=z_C*=T*LZ50w={x}J1KK7pWoq{kSUKi z=dm=YI21s;b2v9Q5);yp=0awQW@i^lKzwx!^)RR zW_w5_a)T7s)V@&#p^W=SGup(0j4)GF@%KwTR~wfC?z?y~lsb}suY25ezLoObV&CWR zuUx$_uqz5OiO&f3p||+9a46RNCilnT&mEe6O^f}9lPErsva4VXcNhJ|VexCiQ$ZSJ zgI1YZO|n;dvgpHppm)mUFKad&oQn{kWO-C$A+3=&Ihe%F`(kwEo&pVfFMUcM87U5b zidK`R7cJjB!Z{(syWOf_i2c2!M>_Cg(~U!NXtj0=y-rU2!+T`atJUsJF3i3vwfTZO zIa7nMeV)SP3HW2@eEErvt54aQo_8Kujax4UKc!z#1Tjobx1Gy5_W97ktpz<#90%*{ zTsYZb91MlM+w1H$HhlZX#8Gi#S^F-3w25Pc?HARUDt^!6t0~U}f1}=Do-5K)vT(em zxH5i9c5#CQQalKGEM}>Sylj$|?`UVyt%~e#f1gs47ETh>6S<2rEg`4B|4w*bn95e8 z-Ie;kAAY-1C-%YI71_O5a#E9Q{V1-8?ng%QTtVNxzFhW>)5q~ozxssVm+8F4&r#ls zjW1)NT6xD0Q%g5<+@ehEc^?NHPW7(6m$&E6~)P}SLe}5XZ z`Eu{Y_i;A#t!q*%n)Nr1U5R~IwJ&Hb@5d(Qcau2A6Q|XNH@}!?sH9ra6|gxTUry9F zsw0PG&Cz@627FoDk3RSKX3lkuw_AnxDE$6hG&IX^`okCS*<$(0 zP`sCgJRI!%qQkGUY~iNQqbE2~2Mq)(hl;r3H0b*yFT3IB7D~Vb0D;1s^_|=_r(VnP zBcDC!|iNL+$K#*1z}LeME;z(G2B(Xz6ixE6jgTxnK-(2@GX_3c$Exy1z}rdUp;QD1#l_ znY&b+F_F5VLP70?7h1K-eindV;P5s7bxS8(c9!h#GaHjDRENrDh0ymfTLTL$mgN0X zex48)5JVH&SJ6I$CL;W*+FJi}Hv|JQVE?DPX{tfgUu(DnGF6_SnFk`jRo*HD|HQHH zofX|4{99Z~if9w>jc9YsAPkNELzc%~`!Nl%w!S?SI5xwV^ z+EvW%5(0W5>OT8eByj)rlSARuvq6XTUi3a6JT7#sOiD%49let;X0Ih&jqF75P?B48 z&kdxne;dm6*}6o1DHA_i09cN|6D1GA@NcI=&bNqvrR$TG?^)L^mT#2*OC=6J^YE=0 z@l;Q^W?u{;MR4D$0d=^GH%pBP2S_>r z0%nSy@%gkizq`)gA=&EPXeTPTJ`1nVWx;6dN;$-j73($`i><1Yyz~@EAJ(y#Jo%`+ z^XFgs4O?e%%PuET`So3Z7Kg?XXpw08Mg8lmDqY{UI0L?NR{rNXgkPZ?C=n?pZs6kO zh0OP|52^d+h1k?x1%~;Q`bX)AdQ`ew+eB14wdKKDuNpAkE9|4@5u%w4;|Tb7fEcd|M%fkp zXLQ@q;>(2TPB0*gLkG=cSkD1M28-t_(K*e4-AX6Cdimc9TVs?jp&3X0sH_U9zQfzc zE)kEs@1%)j2cR6|PSm56e#JGu;%1aPIkZ+!eQ-N@td(CrqH(%X zRfO!#AKPuk1k@2eux|ZZ^-&WR_v?a=?%|t)xYqmoS@RNfpdYHAOf2HxqLK)HS^g!- zLnU##2Oc);%wwUIe6xM7Zr8-ldf9)#ji|K4^*OseAz}2`k;Zqvq%g1tuVpDAR@i+= z(DFO-_Cu&@8nn*Q?bd-?_Hug-2G=^|kE`gtlvDT=_AsJOh}LJ(FZDYh!U-H|Umx|P zRZ?0WV1`YEk?S!u1=EL?yu87;G5RX^d4m-;f6?hwii<@A3d~EF)cpa6T7&5LM`ygq6$z)8A#f!Rldj#G@a=37jo_<|E?5g}bZVNqES4b?)0$Fp@HN zY2}%)U4CK_N=#7GH$Rhyn-T3N2RvzIZ3W;u9GR{VT@0HG_~_?)KKaH?gG}46$m0Bk z(_>A0xi9BfJCp)+?)1C(Q5UB(;bznfjIHZ9_ z#K7M{y>ag!QgR?7j=q#VLZ__Vb=z&w%&fGImE%RUcw|z3zBJac91k`K(LL$mAmTK% z9NW`xG`AOZ^~C$Ba74z@%Uw``1bwYr+tH~L-dVt9XBk>#W%|~L$$~#_WhKve$mYgY z-{O2C_CIxd{HaXNlPJY3Wp4XGTXbwKM^G%`IJXE3t9p%^G7%8u9S$1vP0?ksgIsAN zD)`h&)z{gfG)TKqV-&A4x8O@qCrBT9lDjPZT5)|SK#h`+b~63->EOMAf`D4P_`IOq zJz3=zae4HMF1~(EnVp~Gt}xHN0r7P6Q^J^0qiZIo1Fl5R2x_PP3;J9(;Ugx}R=JV6 zzjDyI%sjMJMN<~1yHOEP@*s#NNDvIwYmB>0y7kG-1RZ=d@_tgz2h87Syaw>6SNpR~ zpP!*(4i+eE8J-CraBePcjI;kwPuHpZi)9|QJMt%|1}`>6>QB8DLr%1ing9bMO5*Cg zlH(1q`zmZs9yPk_-VV3kLb`#7^LM(A@q%AJ;7SmID&B!NU29YQalnE*QZj|PxK^C;)nEj+ z_;?!%lw8+P1^~BZ9`Fnx(yyIpUWj0ABi56c?=(!E(fMg4t>ai5l-6lj5x=~W9<;Zo zzQ-uwZJ5CAI8*k@xzn%M|I|-D7~SkuI9cyjNy{o_Q};v`la^S{o;(8$O6Qt(eE`px zd?Frf&QsTtc4O2g-8FNc9qKcB!AZ0uOEq!qTiNDE?)=(tWqd+@?|d5n7HW$ z&AMIn8os^X2=+?l)T~U5zdI^HtG^ol+}1 zR2QfEZlGS{)T8eUqN-Uhd%P@65LIcEalD|M=LwFr{hmD=WmME*i;}mEWzSHS*7A%-D!|A+weUiwjOox?isJ)E z;~nh%IB^$m)ugygeGp8@wsWqk)9OqwsY$T-8ma;7K+2`aPTJ_R1lEVOf>k-R?9p(ar06_AGF5E;5q}O+v1L583MOxv3o1Gnx6tA~i996c3f? zm2wvQ%i|aYIF$vA>Mq)d2BeOb8y9kuMT}~}IqSiO##vK@30m2qxtHbUFf-#*k8iYc zhqDiQ?H0FueD(><(z-CqyMKv25eN;!({84>oGAb~VsP`B5;zaV#%}uZjVR453ao}S zo>jr+%w5Yh4VJGa!pB^Y(tY`A`tgwttBZN~!QJ_`w^sm8(nr@Cj+)93iw$hu6^Pc%>w8LuHc;)_A4y z`^xaNQwHH-In17Jr&lgz%WMG==RlGT`e1O-oP!4d(qCN&zKF$8M`r;`&ywpM8&5W^ znZyq@zU4;sDl@LbdCEP#yG=w(l$dfpkxm66QthD;lpwPC5Ifo2#n%%mwm9+!V`pWU z;6lKh8et&n%;m_7L4sQ5kxCFYjO--trO=k;-u@Ty0C1()dXsRR_fctOE^YQm(yfld zS}HlrUR+I^lckp-DfyUG6Mhowry`$y-uc3ySj3PUBqbpWEI8oEv(_R@XT}5d`kt3v z7`hR1Vf!T7PyafmKrZDLxxv0~OKH`a#+MbEd8Jj9PB3x2XflLatLP{=14XU=_Rqe# zV!VoPyFYU)gixiQ0lJs6(_-#9D^>v05V)TtigSH0fqJcIY)&=Ta=y-z_N$;TMKeEg zHoVqBDS$~k#C664Lv}kp+?m;58xaK`AC8+73$p@yrHKR2jeKzOWe2woOiUoO?x+Oz zmYZ$F<0~gUbR))>*nz2h1x#ggUbZYLX?!F!hxFAnoRxRb`TStRA*s#ly9!RaG?RSO z&!Ana7o4JVIOih8S4wi1NYI=3i>|iCGLw*CiHx2SXMq1hHT}~EdmZIj25t1j{sK-x zDyg#A-S>)y^*m~+vqwTU7_a-m=1{wsTjH)|7igmKuU-G-gwF)7mwyV33*=@%(xt0@ zb4!K3mt{(+pqN^8Ts6~gS-JXGc}1*SdWDhvZtiCsJ==^!&aG-9>eeoET}vr)*flFR zh3I>U59p;RQ1|a^8T?#mIe%}pUD8k{TyYdXmjDtstT=j^s+=^meN$9%a)F zCNUl7M>o&Yjg$tH@HYYY-)Q@GDyLEE8(>Zpp8LNQ9y~F{C>gVZUP2GU-6p!fV+whl zacnrX-ci_g2X!Ye4XB9QggU(wgEyxU8iV;Be385NS(win`tlsa0+%%&wbD|EeNBg|-J} zxA^%Nkhx0TegK$G*){*qg@3Jy->wz!1}t&LClX389GQN8v+mZPbymGWN|t?o#Q-gW zSv?e#|NT2pQp+#w-t-k8iVws6X%8pdt^nv0utHUlA6ot~tbkI@mlQSb+^zqV!^%3T z{Qous4*VQp|JXwyP&+yK|4Mara!SerujLGkt{t&H_)5*aiNKqo8ax>BOa&hWYud}i7cGA_GUTVx;9ZQ-3fxwC& zI*w7cgna@Y^4&F8+w2sa!bV-3tolz|r;Sbfv=h2ERv+f1;nN?DPcQv6g*+q!-HQRS zJ$8JRptTmwH_)fd; zY?NX9`Ul4(kd5I&w_V`U`TYx2kLSJ+qT`Mz2pR2E3MB%aV)LI3_k^CGaO+DJNHWTG zL$?(?i)M73sIh&?W#zCv`=h#bIfz~#Rx!ZEN@5R2LALFEL<5Se+lsh!&dTYnh}Dj4 zB#kYZhG)MTJc*h9;%JqP$Es9Y4#&DYWsa4>C*{C&gX0{&U!2yYfQLGFpMP@4Shw<$ zehG*9xzsnJv1OWK$w7i2z&xiryj~+*<($f!ldNT3Li-P+%~!1_>!q6(;ZxqqrQ-u! zI^cF0@70&J&J#5sAjMz5J&iPKW)y^T(pLoM-t+|wKQ0~dY3~I3Y*fd_NK)FlANf@Q zy@~gKoiglu#K~_p#alPHq0Nq-M)oE(gOcVZ9o=APy;A+8v(KMVLqmG=k@D~tCAL?d zcfSL4klOuymrJ=Y)7NNYIlkh@TS{hm6JJpqjZOI?uix*R^Kwt$x&=+IBR{posH~Y) z+7*dYnKV88a%t?19ZVDE#{8a(z98g#*4fD~TkciRCYN}l;icLYXF4?3TCDWew#lVA zrB633x0)7WRm>9%FKovLl|s+v*0m*1uQ}^2#_z`)w|a{ojqx9!9;%lI=^vUj+?4Vz zazM91CmY?|1Q4|G=-dHt?$;iAO&QDYEf)lXbJr@vF7=J0;KG9c(xce8(RG7jqBoRyZdgje}jeaiH zF%vKK9?7MZ6=@G}aY(^Ib}WGOdIdzEJ zlU=ADn-eGBmea1*WL3S)0~?!;+MqQzowDlkg$oYcd0}7{WV>O|5qINZhe^O@k{&_2 zntImMcr$adQr82Xb`Ui1$G-JdwljZy$H^XCUMK(+y7l!N+y=?BXxo=u96~(k?dj3d z(1@kK9lSnTj;yv;T3TEzQh)}A?7`dNY+xYZN-(on{QX5EJFfi1G+R|l z%J(>ueuc#@8`iS_*xpr5H>poyZ#pVZT>c2kZBi|3)d-~T0~e(ZWkjnNEc-(pD3Wbe*`&2)>8 zQCn~`w`SJH&+fy;o&@MpUy2h@8_psGpx2T%K#RHH*CW?$<5t|BrV7jjJ)5g>3a^bh zlTHppR_T*Yuccp#dd+N)(3vj+{b+CAVdle|9yx@0A1Ul*NV>XKdv>MfiQC7L)69{Q za211`rhZc%k@yXII3`vTJ5sADQ(EGTy;k5&{A3EkPC8<%2${h|HZF%z#f-s2Ud^WEi%LC~Y@^*TpLMCY1;<*sEP$ZAJ18hx7uw^w#NnZ zaHaU~t-#09VI(1_$B-#u{{)7KiQXDMs~E_ZH%~F~ROWAEr+Nb;NMW`mO^a^_OO?*% z%AMX@hcrw|Z-D)L50CVtDpBEW#A1-GCcal3B2w-ceh)O}BCZjL$ z?$QNw5TQ&tYo>P9t?~ofQZyGT7Gbi-7lK^0GWG1?B9!!WeRTro1J#%3x2s3mLW0yY zrSwj~D<`Om*MD*pX1hOmatoSK*hEIr^8|XBud({Z3HEccPFxYIdG{hqM#hx5Gr&5CwlLUa*J-^7VXfF6M z=y0plF}r%|vGeXG>|qJ|#qf+lkon%MQ*|?kB@R`Old9jI`7)|3!XBg_DK7UiGDy32 zRDQKKKaEW`OR#12dwippr)Ql_Py9tl@hxV)+5Fe`@kY!b=bcX5lqYuSP~VO5hhpfx z@&As|(JKT;Y!1;4QS{~OBZu#Jbf`HNb_&crX^C0XF|VExjNw)R`)_)VJLjIBbvcjV z5uLPQv=jpHSPG$|Y{J|1w+X+&-)U%=#){IlEr&FCC)tsL($4nYHr7JsYYK)iaEKAS z>qk77s`t<{rlhhDR3+$p_Sf)f6u;S6rG57g4)`!L2VM2x@FowJdcPZ_6I^8|ZnVO* zv~ea-ReNVW^u@5T8#KS(X$(^tN^%+v$*OLSiFOft>Y1`a4zjh~W8|9%cKxmPZ&zq@ z(azKp_`<5HD($$gA>g}+wh&@FF$NG^9}TIsyqAvTpfF4)pqecA(_?NEPnueWQNHMk z!Sf*A_yIB>v25ny6|RJyqM)KbZDzWUVioF~NG;zDD$Vkj39Gqrzre}GvZz(@-n7Gd z(@cN;O3g_-8&LysE+!(X@H);RAvVG=iJGNUEKV|Ld@~5Uu64KL+U7p(8o%!f(U@7K;us_^8l@S0)1uAquf!eOw4Q3Q)$p$48 zLOLQYX*Dw3|EFzbin&HAC0o&K)U#m)X&r>ir|CTLp zpbWhOnV9^I3Ek!6Fmj=5j z;E08l`7I(J?Puka{qIgelp(2+rE?<$B9-0?Sm_zXtD6$F)3wne%8~3=s`09p z4V!I!Z1ALJoB3#bptMh{<^KAl8gCyRdc9u0Y0Ar3)374v>EWk_oaWt0zS02||6&Pu z4HAQoyvOGOk^6yymRqfR8eS`zeqZU0Pp0(&dO~#LV`-IXXf5j#NH46BxU6YcM zdk@`xDK@)+9Ba9Wumq~nvsL4_kzM{ZyvgFuxmAHaarzf%$tC6gbUa_zgEC| zvt3GZ*y*L_JU-D6anh(C{^LJ_UNtxYYahfJCX{7OD9w8|9F58=w`Y`Z!}ZVO>t76;%-fM0U*TH#H|q{8`(wFhbn_3p%8?+%e48 zK}DaWOd(&TOrsmeqlh2fU@%0Mi@O7NnhNI$iu2kj)IMLS)gYKi%0F-}jFlE48}=A8 z^-H^%(%``xj6b@4^hp)9S^?RjIz|_6E~GH@)Vl+=))D~LNF7pLrJFDUh7XzfEnaHk zdK+>1WJzf79kwk2SX=&Hk6lD%Y)z~8N%5^3==Tlr|c~;-o2|kg)HeTULimYwc$70f(k?h`+bn>qY?wTjsb0=h>YXvF> zI7Q@B_Pw|gnl&<IkYim- zGim@eL{3+lFKl@ZRgGghFUZfLULeY9fX^)B#+Xvd>U4c5()YOJBn zj9f=#>ASc8$pu)ww^5mGD(Yy103^K!ae53tO(ZN`LqQ=j>7<^9?P;c80q0Hc_BvJD zl4v)SorDmD8@U*F1{G?S#m497M*oaAU4Uy@5#QC1*LRVwS#tO_Q_#oe$^0=fSDkN#lp6o2<`aLa>Yn18C<8 zCH-SXxLnW&4axk>iWbbB5E5?8@uY_*@aS`drWB0;T*rDJkydT9bgObDGxFgq!g9Z-lwCUYW5u-tuU zo4^q%r_<3%eF)zxkL`JU!fJE9onm5RA&K(&^pm7_L$%Rf%8~1HH8Fq@p{&=$CWu-^ zATKc4Fa@Rr_A?$Ba`W^bR=uozL-tN_ zRNjSnG1WlD;ez=U3JC_lgY!EBW|x^4L{XC(@A?{Wz==Cfb)$)mIG+i zR{^$9`jS@&Ms_s2_t;?t;pfM*e}0b8VpdL3COGxdpAc0S7$hL0LLiU_-mzD#VnuR$ z1Z}y`j8y9=BaU=L+)p(%77};T-W@-38ZCwwOYdh7{y=j7b>Y3-!;XDXbRB`d&1Pc(TD(5-kp9BM7IsF{--)@9~*nq0P8}arc&Y3(2>zA~cosUazm-3Fv>A|DC_Iuqx;rGgkr_EMmgVu-*i6mJI)a=M1=o zr8aN1tg8V=__e4zBA$!C4J$iXB|Y<$IX?oG8u$2qb*8G1ujuOcNYZXzU3bE&Uf#TV zf@_pXe*nJ(0wwz5RhM9c@-0P;00wG5AAWxOsPfdFGqE*8)sG%_W zAzF!j&3G&0tBYFdN4B_H4&p#E0J>h@94W{YN@M;Q8drUfP-iNFI}AP9%a-MPb}-h7 zXJ1E*QT~#P(7e29sSy&AQxJ0M@mkac&i&DgyeibXJ2nQl(urAZTDXRs|Eim^_bD1; zj_G*ud^5Jk1s4X64L zPND7=qVw}ZN`$XLLH$BF!`hfjBQ4F|ZgEH9?XdoG)w)|erD>%qU}@104HOI3=apx?Y$Ws7LBG3lG8G!GayHI^*nvDR{sk_t%`hc zolEWey~7p;)<&Q_@co%`srUlmGYP?~%J%0*2d11k6xXxI9~X;mfr}#@b`ma>gj&7L zQ2~AHl?cAt0)^krrIMf$J#@6+^cf3gjm3wfgA^35vjXZrwHoSH8VKBMeNGz!8IY%n6AYB<7^6D}*EE zIE_=qch*3TqRkv7T-Hr|#Y2Y@@>)f<4n54wjqcU0q!zEtjWu)urVbbeOr^N8f3zvcVd5bz9kY2GTbjGUKb^$R%jO1|(wgN2d5zubK~AvltswxQ0!H>=Z$ zM|=*}?(X}<{+UwG8n{rySP#eD4sLio-6~-?=p^<#PmY^(L!uk$-~&E>k~HT0`BI5_ zioLep0yS0tglWrb0?I8VV;#8qDHpLv)L^hdYYlMKZz=O++5n+^p?eP+%??zGyIr9h z3_KOEfwtVQeTQ$zM;02<4#1=71ANaTJV}0jB+cS(Uq4bD{TSK~eX^r-N{W1#f@q23 zZx%y1&0?je3kHh*P_&oa0;XZCVBnrIl?$DF&z5tCTw#sM;7%z;r(h-{4F0n6jPd~* zZK_0uuP*7yMJs<83V_`XRlsGLH27j7OK8*J#%jMaJM4~a<-2mJ;@i793UAdgR9HmS zgg%KwElXzNg?xpE{K?@0vPkQ$s3YP&E$-)G;sD&#cC!9WfFE5IIpn1AwZOV1JY=3=T?I2(O3T3f*VYpnM z{7Zq|&_AQ}$xa=6P_>voSn^+pwi)#3bDdPxtpq7EJ74+G4{s{2@}$h*-k$iP!+U|* zk^;JN~KqHqq*k5bHW^ zlpV73>}Tetu?o6Cq4Pae3m_%&M&g%Y(j?n@*_QXTP8knQ&E$;>S$s=I*@MHteuTbw zLd2+&-o%!4Npl8x*8uP_z1owD@VrXRT{VDJ(p668^F2>%3=aYE=Nn+ z)60aGCDo66I6M(dfXFR3Lbk@xPBX7|{jY=&yHD%Zo?`0OuG5d2Xs?@1?*};f@Lof< zEv!-1qN^OA1<*8|42@9{Z<$P1{wX_wr#qgE)N(188=Wc+Ya+Z>d6s+R8$ND!KZSqe zQyWx9FBI+`+E%8rO4tzw2TE$7Dg z*mu-S$@`m>h;H`K){3?RN8}?>3dnQ76O^bc!(=S_y@?H*;r;SJ4=N~oLP9+ND|yyI}CS|Z>Bl3{yEKM20* zq90Q83b>L-cV32Y5VAk;p(;-eKa*%7vkus;mFTx2r>Uwbf=OVl?Q_*N2&{Hjy7BjMGEDkd@FB)Pd^66Fg6 zH<=yyqx&ZeF-Ok3%35FQ=F{WNqZx%_Tk=VmQR`$u>|S*NjeJ|vX;`yFLdYe~u#`N3 zb-&m6z5LK~z%lZ5AAwaN>0N6j*_V=)u^$pR}wTY6EKbuS;n*3)!?)4K;i#@Nf(gjG<@;k~=KG34;-qHC+HgML-6z=8GRng4h=qHN zleT6UPERS$TLMwI8T;&zf;WC~!(sM$XQ#q!@GYXtJ!VnoqE6!m-5(I8wOY6wb)C6^ zeT~pfH--Nfc0gU^_2)575_1vst&K1i*Ig;0WP~wFjDfQM1RId)hCrD&ATRMCVwajH zSI2N^dDeRc>V)NZH-x{6b%ulvS+Gpzyo>zSV8#rYUfLP7O% z8LdtCgHmTaE7Iia=q*+Z?lfpXS{2DGv3|J}_r~fBA!s*LY_8Mg5NdAnqO^AoB+4@+ zPi7)Q1UfF3X$4rC$H|7fc?`dn+^!c0cs5+y{7%DAp4EaVqfPTyep3Qd)xE@%$~aTz zA(JR9K3$R-*|ZQR&oE!9Pxl>dmMbWR8)MBakd`VwdcQ11#MI)J(+Bi|aE>86bCH<( zeXG6IoYN?ziLj{uwnb&==?Rw~%dc2gX5yZ)u5RA5ApJJf>R4CWhAOa}?*T>(ss^mo zL;bDdKEX_TCpym+Fb+Rk$b7oxp#|}EakHDti)UhluB;uze>C^@wwvQbRs}7- z?ja$t`T|Gi)~BjcLRv8~eum|ZKDmW4r46rV%S857_6#1mkKUYYa*S?p{d8K`^pQZT zqU%*$1O%KP|A{x)cr`tZ-ok7>Xli<=@vK9RZp1N98AGbL_H`+H=F2E`iIv^#W#}^`hYOFkr--GEv4=C4< zMc3c(UR8-{+QEyNHyClvd1bsCs&o=5E`hflK5^4X*LQSEx@+8kus09>mXUqT*)e!9 z;0r*Q{O>KMgHnA)&}Z2y!>$76uT(|%qhgW>4F3q zka|I-Tx6ifqDcZjL`#1C^;{Ey>D~#9X&LViIMhKpd4^#g73I66`#BDFW;>z^Oh1mu zg!S&m_t1zr=*MC57+>PidaFg5;RvVw&ve!-4z6a1D47ChxMFmhqVba z9pcgEKRH+W8?B&|L38PstV;nYJag6pW`=&H7E}6D6awjy(l~r3=rUU{nC052;rYP| z9QDs<7GyGi8v!KJdokGh2?NTVryivBH6l%K8^nv2PdActyJ~RAJ0?A{CbN|OT zZul7VPx3opTAlx2s3y|PMqi^)!(cs_&JqOxllSj-r2Be(P18|MB=Y6gIkw9F#ZL8JQAP9?6p(JgmDf@y}x%SKAA@j#!Nc zK**l$xz2&JVE@)m5}yI)_uaTNt1Zm=q3cwW^wjDEzrcXp~kXf!@ED?t+Uhkw@}Yt zZejPf5GLf?TU*)bt*xzwq4b|qQtW4@NqaAYye$RS0M{J;tSbqca<3{HIfyREk|b@X z%j|Mfb%5Fck^!ko&VhdZYVuf68+#W0iPLA}&yOh3q<-9)1D93W`!lDHY2ELp2hpIIo5mx6C{H}| zRRLhN0%AQtQbjg6aAWxzr@^2=nVe~w(iOJgZH2-?(NDk(D@*-~VYUZ$9%W2JP-FAy zCy__MoQy|qM@f2-V~4W4NcI`uTp@nxvTRgCRMo`q1HahQ1-VchU! z{qiW9BzO?+^$$HTGLGpJ(>0~OjTlC$6?jmdonmk2Hepr1!Vw2&e00x#HjK<} zKlNc2yI>rf$ggzI=jzx`w@#VY(=Xd24$a+qZ;C>Ptbh4~Z^#Gs-w-OgGJ|Z+I}4}* zv#SlH-l(3>)s#ERyHtY)vJ{kgY3JaQD;e?I)1flPGyor5zA5}OI%t(eKU=H6vy!1p z)Sr|z)*+bo%aYvv7P*f?pNLhl zk+x<1*0fz@_tcb!xl8y1g$yMgQi z^1#(}lF)h7BA1>32@L_qJKdR5FaXU@Ev~E>uS=Gs zac1?2G`N8QqK?$sYt{p%j}ohou5vk$IZkyxp5EbYNO75aCRodr*_!uPd87P(tYr6e&AomKJX2p`=77K886q! z1I8eb3C-Rif3%puT?CH2d~<%_t7s{LikPpOlH3Xf{K-IB_38V|J-u<4tM~0TBVN#aRIahr7ztq4@MFl?xr%F|7QHv!nn(%Kn6u$LeaO zi$)Z`qz<5VG`LjIwB?*{e=MuiJ>U+PvX6cLOQ3B_CGtykro!h7 za=Rb4Lif~>@IDdicx9U4#V4``r(@Gwamaki{#v4ac7Pa$ zv4r!lFzD3*^aFTA2ap?4+urL5fbuxTFZ5%jg@oX0K=MvrmeR{^Ul(qLSFJWt|IE@n zm+F(V6qR%N?vsx)1OF&!1jk6@a^ALfIE-XS%8|*a>^xm|PFM@DT{k&6TOJ#TxVP|{ zZsJBQTtzlJ<``rcPeny#6_5osw~Uy#gx~G=QuWb`W1A7tly`B3kq!*a_MpwA0~FLg z3p{Cp%vG8_lNN81un^qXZ|?lp1n0u9sr<(^3z`4ChA|XlApG?=1Ic zmU2x)obdBqypAK!z2Z0PwmPWy`&wJePH!|}e=+0KwX}LFiLR{=G06vO70L-J;E9WK zrs+zb=h+@9osmgfuW`Ap_`W?f=WI9jLML*X1|X9dA7t_do5)ht!Fp4OZ^87zX-rLdNXTgD}SRK`q08o@i!=81tDOt8auf%vWR8e&d&)Y*EVeB~elr7>l3k?)Eh5Ok6_ z;~YTs-AH-jk0MxcApbCJzpkgPn2^HUSMZ(d3bfL6-8s_q>6>bNcpVkfjEi zXZan#m}_>UtNDm9fQrmZGA0nl-?aY*ANTC8Q(~)Wv$F#aUdiG%YQyoX*hrZD1v3+T zJDv6xgLSJf>eS#FoWTukus;PFaV4Je;y)gqJjxj`GtHpI3t;rkqCAfFO9*Ob}L9xeFa}=BRQSExS~wZ=zU@_vikvF@RG^eXTOslz;%O##&7= zH`+Wl=|S<^Zx$o_p22Az2%Z~g29{Ij1I(lh5azrV72yZG_m=WkQ78Rki-6IxSHN#R zSg1ji;vM~Lyz{{(MlDS3=yt7YDLS9sU=w9@iG6Vg`0Fj_`rqIO761UPK<8dhW--kc z88=pNI!x9%7}eUv04wDRf~mN~U0|DL;hCWen|wt*nXaZFki5K)83s@-FNY4t7* z((vfLpxb_3-nPyYAY7idEE8=>!T}6$6Vx>B)&8K1 zPZ2aV!g!pLnl23d6`98cCe-MV1|luyuq=%7Wh{_|)wwF3{?r$MSi0t1mY%uE402i7 z+3cm*w|jeg(BtFd`DbE5Yp;6YMb8sOCdQ5?hJn~!ynsxKfN_DC%VZ*T&cgpi-Frth zy?pJXc+i6lP!Un7Dos%k0cipXHb6Rv)QB|cLZ}HLSO66TrHFLtJ@gI%LBK*$T7W>J zfP@erv=9g+xf49+_kQoaYu$VQc-MM=m$gDZEy>KDJu`due)cn;odBR@_w9%xfbt1D zgwqv|-BtCMNb(v9(>GXRWe(Qmtm#gla0!rVnPq1h5Vxk|{ zt;c&zsu1ed_pm(|{<9D$m;WcBH2OnP)tr3vV|I=tBy$U2t_mLG4Zql@jDkkFLG1FQ z2nX2`|3qRA=`vmXTU4THA5-9Mnwsfqg;>28TTDE1ZDu3Ma$~c;eDnBmrAHquz#$A8 ztT(}AGI;z{GxnGpa9uBY0f7 zs8p-)qSy27M=s#ui6oT*Pd$X;#)o5RM`KCI{(9PnrE8nb^hYiV4Gh_)Q-85Zi-g{C zSEKtno7@Y07Yi9YaG>uJn3b6P@Lr&ul`7V3#%DBs$fX7zk+cAwaLTiVT@c4G ztLAc)rVX_~cqFiwzD#8o^ z`bG9vw^$XQgfyS<~>s!IR;y$2Qm{VJyf@c;LND@a1s!}`MVy? zn_AtaOm2m$dqcCdt|iv5iQphT=ax3Sj^qws;OjW&UhMbn#>_Ha^fd8o)au@^i4iF! zCCVJPCT?2R%m@_AaVx930V#wA9)}pdiN{mTreDLcK_Pov+~`+$xm3PKHsm!I{Kzj^ ze8196ahv+8_u@kpX+4|}v9$WqpV-QCzI5&?W(mhWwa8MGqFWrNltGgSZlB( z?$WPSPTIF!8YUyx0<8&$p9!h$ZS(m^q^Jt-U zwD!Rw{lUMvh2}q1Q^STz-JrWd3wR=pcqkdI@)goO_5qa1-;?& z3~8doFG)|t-R?rK8%OJIEMm%Wc#qOI}1EboZSp5ftY1zM3_WOun&{}!M@N3eQC;eHsGBDt!7_hjPHAZpc z3B7{9Hk+}90~zgtPOYJ%6&4cbSdizCx_Q^nDPu@O!W&Ld@UNiYLJ-6Ii^A&GFHXZX z4kt?L9IuWU>wQ>+L(m+CFd@XQ=AK4ep?gMlA=e=`M$nfA2n?-y-~TFJfcx-dwq z+4u#o>{MObs`PjJScP%|FYzA*H$jpo{;|X{*b99H9TUcz|o-P1HHK)Kb=vAISu!;rOm%>guM-T&*H+xoek1!lbPpIJRBVxq*nJPNr41Du-uO> zJPAVR3A7sFE4M~X%*+M@-Vh80H8)(i#k+e_#Srf=7MbhF@M=$FdKMnBJr^S#C}x*b z8|S%rUN7*XUBiSerIZ~cnOe``FU?#zquoV@nRN-LA1r^mb{<)hkgF%PxcRopT;bO> zM_+oD3TUQi5P^)0khzOJ;gNbEDYjl)#whM$WS@1hYQ#a=Yq%>L!K0TZlpUVOAjXrl zRs03M->J4@q66Xa{EAB6XkmnfRb#@11m&NGL$sRPs$9Kh3+?*G1f$hE4cCI^^j?gW zAWKoyqopCm-hpj2>#xJ8^7%cR1hJSzJ?G2mdO+ zgb&As`~l$J>(7=zlNLi_Cl8@(W;`ZxIAaCt8L@dm9ws2qGIOox`54U3Z8xUHog1#X z@#&gEv2ASf7QQf9<1I`gdztQKc1d~QZb9q#IP)%I{LabrxV3vrEUb-hhuWjk+i%ov zfn;b5q}ekSfC$~UYi$gN((GHF(P)?$9A7%JklRZ7hj2}cFm~ZC3VDG@x7*sHfuRJk zyqPyl^K}#g7SusJ;#$NsZ_me}QPUgR8_74Hp9u4;m1s_Q`ErX(b0^bZ728xe70_H5 zrqCCe861D1I4CU&Pbpkje^5^3{5CF${KJuNQoc*Ropp9{$B2r6Ho-()(?ogia$4htStZO-=dOg1A3v@+cW? zya%qBeAz21+rOc(A1wR>wZ}F;n|cw>m^9Z#^k7=vt!>+S40{7nHCS^2WAkpIbG!R` z2L!?Iw~>q*Jj9skHN(FY2VKXC4&*Zsx{JL@*1q!->_+!{S^I9*DY$I%2BR_0>RoYy z*Pvu|MAMI~TdD{yqb03COj`it*9Uf8&5fi+bkD|>%%-!4%{(+({bhrxd%U^4>rNcL z!5tF1z{*pd6qtM@cbZG>1FR7L;qjc}!$Tm+>xe@i=rDs62)#>VZBB!6*n;kBnnM`z zy2k#2=IytYXnL6zfDn&Y$SB(gVEtMxHWsJLE&i(Cn(YK-v#TIPk$&9s)(>6B%~O8f z>Fh@bDbbVLS*Yl_o{pbtW}s}%y;*2E2KJ+Xm+k#7Xhu!ZM|hz~?=RM19|XVKd`lr# z681U#jpB2t5*XWYO=?BBtR!s#*j38Z*qrm(5!QGrNlJ(ID)%DN3S9eaFC|tD?q?Hu z2=KP7j6*|&=#ikCit|AP*|Ui$C$^ZYBRiFw(d|EPH>*S%fbY+PT$(*blF z{IwDu{N(?q@W8Y@v0o>Wd9AA2OI35a9kqF(N{;XQohcMO*aI$coyR z+3VGejK!I?0Rs#zq9K{bO$haY#t9Yg>9TP)c4NB=QsW`Qeh18)cH|4b_BzOuWLy80 zKM+vR`!Pb&oYU`ZjW+GYOGf?KxteuSoLm$J&N;uvKXXS~g(@MY;AC0A#s&|dP6Y64 zpS4?YnBF6V1q#4U!0p><6%|oThuWE)tTV*9Omcjg7#IM!6KHwWzrq<6P zXS2#T1BDwi5)xN6-=@{Oz-HAtyjfs3?@pnm_@%E!%tx**x>$O{Wo{80mN2$H3^*9X zX2(FHHn!t_++~;ue7Pf#q&n^gQcDuH7h7x$4Sx<|R9o-?$SRZOD`LZG2c&5oP`&9dw%Y3+PMo8LA z(iQi*-|wvMkj_Lsr(hlr-x9F%tpELP$1{H|Ny$$0e4oNs^rQ+8+g=?&ld_u;6a^6X zApy90efq6-e-Q6D!y{qi^8$d^Qa1lS1Mu9eGYarx>*j)%C>WG6cc)`+y3xZyZ*^u& z9*}v@2MPRG5DmrdU^hoYWT!sV_2;?m#|IB2)`tT>kKDdC*;|5HiZfo(4mq3XE6@R7 z^6O2kU$;@$GfPF(>fW~2UF>)I($w@op)a!B^T~={!$Ex3hy1Lzd~tjD9UV|O=+4jKUpPNZd2%)*ib1p>SF*q966F2Z%^B1h{(3`I0p?g{G$;w*y z^5M#bsV?nEX`4IXm7;(q$8cUyv1cNZq!SUjaI)j zwST{;HV<=6Vl_6_Ad21<%0gZ5dtzd9w>d#!Y9b)ZGo#Z)5kj4~N=lEld4H?nZ?5C_Z$_V(vH@u`;-$KLYQP-~{GRaXx3_d? zSIAEebelsEIUwr<#@KX#1)CF$&Gv9>xF=oqLY+0qeXlEB|0!0qZ`E{ZsXe!+yzAzK zZP=Iqym-G*$cVh#kIZRV4H22Z4ZDFnFZ?T1JPSz75*@*FLI zP3m0gmesu2gJrR*<@O_eO9+u`&5yhHGOBSW_Gg` za3Pyoz9@&h5Ow*|CV=pxkBlJGc2XJ&is>a4kL=Q+R$vuUxvOxl@P$n`nZw^izgHITyOqC_(3-bZOaPc-sX$2q)iw4dUGPl3fi}cy}-L^`%`%c;bZhYaB}mPofW+uyS#Gdu0k~ z9??90OVT;*RJmStvzRKo_RAM!kOrVL86Wx_A(nUMA$p`r8{$58)JgD#iDX8_LeNp2 zbTEY0B=v&a<*wQi<)fNjq2YnP-=VmdW>Rb2s@Nlfmo-#omB}b9A2BhY#-*c>7l6fc zgzL`%usA-5*A?QrGN`CV8QP~+{U9svg7dbmRqsYKTE#Bk$wSo!+p;OXxZ+wxPxg{` z!xCw8&oUB|%-z@4!1EOFxm9#aq}mq@_xflTRMw%!rnU&-@|@ee#78AKA)B?J5Jp)# z(r1q)PklO!cE*<3C39UVdm&Ap82U=*58nM+vpG_(3Q_PG zF`gOejlVgT!eG+}!6d-OHc~nMXzkqVRC=~(fmbY_Jc*N7pNfG5DdWccyPPIa>!J`8 zqryltP$Ynwj`$ETAt#gQ9M6RlBaS-T?x*if`a2z%Cs#9|%T3VU&_0_}DbU^%AUHnl zG>)Jq3a9zJyjy%Pg94J_KHM$w9W=T{1bIZgn*tQckz(vn+Vq*dc$N=Ogzj^Iz`nvp@2B(=+WHG?H8z!zYCExe5&i#&(3hEy{~Il5 zGkpG^KFa@Jpuu;VkL~{}TwUZ^FkTT&POc+;zF}J3IG#n5T-&sxTH9>p&-qttR2QfS zn-iSvg~Iyz+1NBWf0n|Xw5HP!O&#Z9W5a@vf`|ch4mu9J;KdQ)Mz7xPrf*RbB1!lb zB=gA$32E@nF)>Ht12dUmeU?q@ZxdoO5??FPNB{KcBYfAoZl3>&9vF>lx zn~oU4?JohTPvC>{H*tF;-bc!`u1vxM!DkiY5`AZ8tpsz`*DC zU~e#KCUebb%Lcym$XzBd1AU=M3T2=IPK-dUbTW z>fUO7e)vo`b9=pZ1{t!2{Z8sZ=atCDe5h%aC03BCPDI^O&^LWTNdx95V3)8W8Y~5O ziw)}lqu1;pyA+tzIAu`Y)h8taIF zS>LDdeZPs}YG3I>Z2h`^r2U^TeWbg(MSc0%z9J_+cudjb0i2>DUdhnBZ!{?p)1$~W$Q?4GTuvsjL>scy-rKO* z`8d%H+;;Uud*6S^WZ01Qy@@tG_gi~0tovH?H99JqCm}hwrL#8H{nPWqx%t|$-BTCY zSAN=lMAmv@kI{~6ztzcUvZ!=AyD=3r-{8T(zH&{G+)YZQXX<{)b<@6!74Wgio5#I6 zA=l}^y#Cy+`Ae7^8EZ7e?+2NLU3*4}4oG1mK{SeybcOw-oBxbJrHS-)w~QAYLiVij zwO7fiVKFhGo9--pTqg?!cY3NkHE%+B=5X14B-f9GA9%@q_iXW&L{Fw)|LKK;DH!ck z?x^|?urk)D@Wm{-og2en+T!`7R%3fMt4_Btc7df!(jgj-Y0|Ss#YKc-c}3fxT-#ue zjF;T58JH<)cSY6#AH+&B)wgip9Frawlre$tNPE^+-REgENU}8W`NW4`j^at+&}}T3 z5^GsUOG?Fx(rK8MyPNik%7^7SJ_h<95`LG=T;iynA2EvQ25QIq`*#C@M$!_N*k>Iq zOu!=Mq+(}P7zN*K z*cYk++O>LZb!|#mh?lXLaP<-S&&1~XF?CnV6xIt0lh&_s^DmdEA1lvVzv>;(*YU-_ zM|xerO9`~M%LokyB&3*X4q?x971l&H- zB%B3?HIT)~1le;x4%=JO8z)iHjJ-MV{1(lRT9tJE>FHg@FzM5L#Otp47HC1*{)8rnv_JL!`iHUc~!qTh-xOk|gfx~zoyzo2Kf|7l_13~+{_RQqZ{;J8^# zyA~e;e?V|;WQ}uDe0afu@{aw=jfuI9UXF52Q7UIFNAu(@PBfBO z7zh*Sc85%eT|)rb)9;n{RA(Z{94Z39;JaNfEH9?d*T3dh>@A>h&-J8f9VeMmgn-GR zX~lHE#xqc*zwt~R3rlx}W z*Wf>m`rGK$VF`>sybnI6sE01GwR%rU^R396mrV*LCI8C0lImN*H+<;JKnXBj#%Wi~ zjeTN`YCZK|Rbtt2RK!5f@e6C?Fb=EPpgE^k?#R$rt^(R`Ul|R&FGg-p-Ciz6UN+a< zkequ3zcBgpYl=<5fC6f5$SKu~yr5&y_EYD(du4A&MDg&X)?Lz1z}d>v)SUN73|PR< zTU>f;6Z-7k0jiuA7gXhq!1){_UBG;0MDOOr_`c+4uGWS)o|bFUXH!42WMn%@JMuD&8103cf7Ulx|9!EGQPx=i<=EEjGdUOUbMCQT zjbDu&z#YFlfJJR;pYK>`KkGl7T%hrBO1^MmAD;T!O*pV}Pc=5}*3qd?<;N0bO$sC5m!qMf52yt>bsdAw-O zlibml*M(}p!q+aKl~+?XRzJ?ea+2J7YjJXY+Cc^yg5z?Cg{R!=pRWkdHyLPZv^lAL z;<7NMge&O3-ql3<1+M{C-VIq{tEo>X(R^&f8UfO1?(1gIjK52P;g9J~l#?Skb9gn% zLw1&D^3RG^eX19;iSK=694gG9M_}HxhGE#Rp9a-uG7m8ZW1TzH3E?|8%0W|h%PJX# zFO5JGc^bb&{*+880|z(OC(FS|#Ld^j5x4(La9_ysnXi7Iam0y&yu26GSH^j1wWcs> z?Fv$Sb^=q`5;HE~3D9q`D>G^f$sK*kIx;tRQ)NCa39b(vZ*8PqtG#U0)77cuUA%{s zp5ndV>B+uJYO-st_G`G2!jM} zI+z6qHCa}>=0r-bC@2o;00i6+i#~>DOlGhB-g&#GxGd*jcD6PXjQ#;We?IJvW&u(= z>E8@JaU}z_p&zNGUfU~c7*}pvY!B^+9cq1VzFrx2E5(-B6|EkUDoqM#$zF?EdF_@X zy09LVi8~P+41FoXEBrR3X$2pT4^fUUPHW}-cg|@QasriXs-JfdL8|hEB&Vq{VA$Y zD`#hUo59}*dwmV|!6ja>H2&1U9wWZcyHvV}M{NI20Kj!H}|BHL({;vOy z%h$5%0E}JaQG1!4cp!WpK@IXAj*0%`G#P$OG3Zn(Mgqf=RhZEx({sE5oNS?L_zExesc|Y~3nk!`W$biQ$R2R03ua~BHvck>gn18G>B+kNu zd9m|sl^^T(W1ay49ZD8iT7cq$65Xb{UVm$vsL@OQ{?siwL=jeHLHQMt*rgTD)zd^D z#51MOriiG|drw+Mh^*14e&b!&TlzXa$=52AC!4ks?w{C9OG@(s4_HW@A|h`;c`EBv6XL3 z%>Kyj3nG~9M{qv`LhlDeAr7=4bp7bo?Tt1}01>=ovO&D^)x;>)h3pjRTNSm&zDJ zj0T=nvz3@5Cg)r-{KGpB3|#XoOU6l(@jCr&Yum@pskN-cJi=(qVzgAdj6i`u z{gGq1;1XNt$hPO&Lug0q`>pcyHPO#w6Yjmh&R5jD@C2eo(F^S79olihH+ z1UJCVUqo!b=<)X0Kb-U9O>K3Vl}b04FG<|*{DA;^`|-R(m|bi?bC2K^9Sh>1=>eJf z*dZL-?K8lR|8x$X=YQxV6O?mmKOC; z?S9pXq-V#_*d3|LoR!5a9z;I1H`(t(r_T^mXSu_VgL|wW3r#i-`MPlyUmvYzGzgdx z=8C3o0xojR#C5gi>y9k}5)Y#?J%LSkKjEe~AIm4m3v1;W+FlU^%@z1iH!)A&`<1}! zZi{)V7&U!s()aS>ZrvLi?hcon%M--lDVh)tw#7QF0LdKFaYy-kM}cQDnRadq@paYe z-TOHE#-^;D3XX)a+Tgm6AJx&+k8ey#`-CDStVX&R*?x4ap{{|8ZG4&DxLCLvaCaMz zWCl#CbKNki1%~HdbHZmD`$I|pKf^%i?f4D!Xjw=z*Ogh3g~b*z4#Bwm%F>PxYgoD%&9uMx_X9$9}8G#lzFNN8ZSS3GEd#D zOeww1&2VyS<|(g~?-T`7gepJaNJlawG-f|%MH!Q7@@4hPm)qnE zQkZSL2L@h$6u5dr|4vp%G!VzC-Kt5t@6H=xP&Nt(nlBV^oQbWwO#%0U#;T?!9*q#w zu5{{&i6jW5htP-sF0LMv4fvkVLFr+9wvRlejZOfd3wmpUJiJMLCj&tVGdH>po0@9u z=+()#A>|4No6q5`6H7U&T0{N)#(*>*Kiiqbyr4~^$DFx@%!B6XTLMwV2%!Jg2?#H} zHhZq1KLy}8itnR0yFmu`r1jGn;fDubs2>(5wQ`$hP{6EUCB^3TXyovT+)*q__8ltxhIwPuOzW=tE`&!>En zPxwSTU!AbGMm)|eOnxP+3pNhW!8qAGy5?kyNDs{HHwf}oVg|onZWoDFnzzp{H~@dDK^|%mvADQ&o_3sDchoSK8t^*b~sx*HpOPG2-WcQ)xvTC zjj<#}{BEK^dJ*QjJb;`Q+!+%TB!fOH3gTx!sCm%88CVxq^glvBLeCWzb&m`r%@!|O zRRxf;{J3yvtNx45}`8B_$1lx2e|GJjurX~i&93V9R#!$0)RO3Wfm2=`3=(D z!3RkhQ7F|zkUYPiSjsihkaFhy`_wWAsioI?>pmS5|D**dX6%}rBofS^U)0%y0ol9l zkh1nyxJ2!1FabQR=#Q(FKq1wCZ8cNJO*~R~NwwNHV_w}Y){T|}@+d_u*~H+QXa=@r zm1=b6$uGC1hP{ev{-)xf(L)OFK|d?V&;Rbsk26c?<#6a!*;aMCbK}O1*Mtw^*9@t@ z@D{NJrMd+6Zq^fMRv71^7#$xXQm8UD*OhkJQ>&a2roj6DOY*{nlC=>k0?hpcv&OWe zIXO8h}qbxxWn-m;i*mN%O{Jr0aNHc@QxtVGx`H_DF>)*`K+E=Ko~20 zP$r2-9wb|;?1&L8E8ohuo`+oN`6_k9#tYG#Oz9Fn;UetUOc9RnRBAxLFId!^?}uC& zI@H3iHg?{k23XKY-BGAzKB`tdAz-4W>jjka9fGWSFyt(0E? zy9)`>7I41c73~H_`6b2iM_MHm#fKc*6**W@ZTy0K>zMiV3n4V_(hdWrQOQr%R3$ZZFXvhAO^!DstEXzMfkOJ7_8$83`c_w(}1hCK>GL9Hlq zS0&+XsS@lG$P{t5S%#Eqw+h>#I&jpOmj0^ zxlAi?#JVyVLZD>3v{a(U=4=~+puN;TiiGK%z*&~vzxKLM=3beIk#p)TGcpJi-D&h+ z5Y5q|l7k7ViA&8OQRt-XgWYH6g+jqtb+qtj)3S!`>dhR|>)e{VSp_A2pc*e!!^Ksz zd$|h5h|!p)jHxJ9>C&XB#V;J`9w5u&WY2rq_E&;i9DPGeYLD7E6$9eKcxg9D?m!e+*8MI4+`C>>i25gYyFTC(Qn3w(w@EM`y z;WE{wMs6r$geiL>z{v8*qc*^lqMxE3gyUv*TpT^HZT5Z;s=I6?;`zI{1b*Ditj0%M!H7Z>3eV zDT6_9t^%%8=-yLDHb0KCLeGGGDV$Z%I0|~@t5lLQG#3TDEj=m9CZ$a)I`?X$Y=AGu zxWKf!)X}vu?Yd0U(i3Xi0U6Vx>KYPf2TQSrp6%ml0$tjr>q4K|epoGpR!{?8jH-+* z@jLI|@s_0S0cn01kzqp_FH7@|N##qb)=)2~wC% zDElkaW2Xu}^Y<#}0oZ{lk^T^95v^B!3q+$Cj5_bMa4rR5Bqd&DzBc``kk9ima%D8v z{tRGW|HXDy>kbe(i?4m=Ju*9$gi1DeExm`hNP1qa2ADw zQC0#Jw$=-?zJQhMBdFchbck30H0vfQIn(D=-MQVku0cS|RKbRW&D;h?%t?%PD`nIr z+79)8sKuh#?$HXvnQ|xmhc+x!@)=mXs6uSjS-DyO!?`?b?{@@N5xnW6U?Dx>2PXap zGk1Cdx4ny|7PS9a^#apq{XSqOy$B4O0+2YB>xJID36g)zjEvs0Og4~DobN{(ez8Br zrihO%RCIr@93XIn`r5UGz`Qrk#$+=?JiN5~K?@wA)~|KT^~oEnWWUQExY<&CB3c6l zvXCufR&W_Y0S1L>vguXnnvZyQ*7uB?An#NJ8d+dUN|p{O8|~)PsFBlF0}%91LGPW_O*a_!cR(eeIK(r&piG>h~9z;J?qex7?Yxh9j#= zgNXe+6q;LU!N73IU6L=Tc~ZSYA~ASj$a3vx`yA4D>r&L%Y{GsDp zfv0-Jq|p$EY>w#%pHsN-9B1PzsD7c}=-MxvdP8NF5j@W>hP47CZkwIRq**|r9#Nxy z9LOg@9X3`m!1G-*xADZ9dEeF>GjjwiFhCOP5HL`jVSHvFbSZ9L5ao!Y$aLA)3jJqx?Ai?r3kUo9@39xhYm85x z3^+`Agw;9A`|F{`P(tmTbGDkUwDfVhR_Dw<72mci!>+-b6+KT4m%4OEzm#~ zuHUD_w;m408zfofrtp8=g4?S8G%1K9*hu+#2;MyFS6M%B3ByH|!Fe)xKw~Qwm}p85a3oSm4;}qL;Tl@#*uPQb`S*`aaWwCzx*~kCerRga~o-@C;$`V{c zoYAz(xK&GCWa3_k=WjMZVO9m0oV4loj?`(RLF4F;N+nzmVJfBV* zmkA8cZgI~ajN;I)s6W$H!Witzmr9p+u30SAOUj#^d;kocj$+$pOIGn;Mn;Nhvu+ug z_a1cQ3&!mV76FY@6Q%lGWrQ?Tl%T%pt28&okEu=*2_9|4 zACP*5G$XQY4V}Z-sMuz?E_@7bd#`n>>8erf{aY=OAAS4}k+&**d}F@R3!(u*N?~2y zy^fBKIj~RHWiMPxz0l0z^o%`AF%xAHIzZfSF9l5s1O!~Q0`Y=uE!kYHQEt zXo^-wsRnD75Gg79D?t9v&QECWedp1eafoIT3pAAUy1^%R6wRFLj-rAc9*X=(Ysw_h zH;41mdreP+At8LOad_xq|zvr%8fRm=QcYP~$5_bR6OJ|@S9Sj@4=WLoQo*8bXK7|7xQLL8Kd z*Rc@Z9d>H#;KtA6G4oxhXM>+PNjt@9O*^B+RQ=h1;OJEwTvN`A#9V&A$rloHZ?w36 zSU9KV)I$k#fc51EzgJVnE?Tqx@#+h4)S$lt<)4#OKfM(m7Tzfg8;alWcdQe<3rUPK z(f{!cFbLNRUGX#xv3}U~{l6j;>ylZh;QnC$*}tkE{?G)}1Ox9bSb_X^alx{gX@Fgk z*r8=*ePipB=1IU3_2(~C6YSFT@A3ZxebB#gA2zoC3y~3*cFxy3;|lXp3$z&ZomdDc z=I5Ji3sL{sfGs?EyQ;5SlC_Bf~Op zL$jgcp~9dkW}csk%J)Zr?x!;O{ER#pcn_>UEpux`?|gHc{QXw8%Em4bB71ZvU46oL zVXS(LBBuK;A4Jv^!dE5F^DNfo_MgYwosan0*Js0x`*(s>1 zk}p1WB+IaErpz_%QI|q)`(Y0AM%=IGPqp~Z6!ib{svXgqZ5Sz(TinD7XvDFpkEEi( zP93g&Vdbg_)-)q$MNJUp<>PaXN>!dOYd5vFKCi7(>BoG6+r#}~Ng=`OiH3qrbPCCPqgMxi}o)gs^#8Msk^{+@=mfCC9wY-yUt_}h&~@Z~3I zxdiTj>ngSmPdnxp8_E6;P)5T<9fLm$v>kt5p&H-K=7Br|#i_37gt%TL@XENcUSNP_ z88kZ{7amN4HLvlAz|Ed(8kW`LrTxwC81PhZ)b|A~f8An~Pv1j{vk_NE@PclC_iwFr z8Mq0?=zBSWWR`~5E$Tz+eR8tbIDXkS!yMbFKVheQC{0kTU)PU>{I2caGDza|7>D~1 z83vi_uhBKBUg$UN@>j+>K%m$BQ&~s5q5G!L0MvXCwY$fAkf`G|*FN+?xpDDoKAtm3w-)(%##dUjj6z`IpoS!i37_n9UX#(Fmk(G zltrSRND6DElqomX>^hBlG!RN;Qq9%P=Om|8IRpMG?*#ps@*CD10I zo@Un8#bEynH;}lKNV3taV_q=nr2vv_i1=}dvIiY6yH`&gjFl`fP4uQTt%mTWkaLV3 zJE^+GgI-$Ks+HXI#r*V`}j%dX!Qr>`G%(x6u^f%^pQij7_eHJ!9svTAkk(W z@To|R^!>1^S zPkmSZaxB^9OM^qpWSIleSV5@evJzE@GlWM*ALe282gqYVkUYH3YNYTsExb&00Rv(pxG(ybe`kV&o*$D=RJM-PkdY>9*e#GbvMQ=0M2qI%07kyhg?HWG|^|d zR4hl)&nbco=B|NkE86>_n`-gT)26cw+h>AZSt{LwgopJmAQRJ4HXr5?p17$s2>tGk zJaSbePH^et;u^2i-P!ys|ApIo)vtyhMz;j%@>Ck}QzpnE=4k}tODWX%@p@=A*!aN} z!1`gU@5E=G8DUeHYyy(c1TkS12h^jgm6~j*I?)<1=8$AWUu4gi&7!VWy}+eE+WiR- z=A|-5gv(@scR^3j8tgYPtmZK$FQcS|&dk&VZlPj-Ja7!1)t1o#_WhFDA;-PK9ZK3u z9}CSu`WIoS(z&lrw;(}s&aXs*^M}h%x@}%v+qK^<%_=iLOAG^wrB`Zo7 zF9QHq@x*U1A>Ft!po6r2P~@Kg|7*|@EOc-UencLxstN-RX328ih&Lq`T+mD zqdgjWerJNYv)jFi1}4-BOX$VkcO}F_>Mn%Ih+klIq@*DkLG-o4qBW31CK2+FyXHfN z_(XqKl^aIic%iY`{(NbYBuTA#G*-obwH>yc7Q%X00q1rTD*jK&?`M0Es)%f#46y(D zpujd#FiNRz4Ej;QoVLs1fLJIJG^P`1)G@Gwhg{=;T3=C>sv2I_Gtmcy$=_D$NmH|m z87#H{TMNyPRu1KF*F8~TM<4QU;do**hr($@RR=ztN8jud-4*eT=hu zF11vO?){{2;Xj=TFtq|z%g+Q36^RYOt6_x$U;5yvXXMBEu2JVeziFo8NObRh z(FuUb)$f+s@t%A)grFZK+>90~0cn5v#l?5P%>HBcM;7Jxfq)Jh%h&E0_)vac6BQFu zl4m=X&w3Sl@wF|>8UG6FksdyHT`ca*!x@B%$yUI4wJHK^dKQyyqOUC0tlAu$tN*<| zC_0vFbhX8xpZDt`HS}BK&nfEz3DM@|7GR1ih!(MCXr48QN&2RU+TFV|T3prIeGOWZ zEu>~*rsv1U%NyoH){Yf-jLO`1l$VzX2r7RiH>#Ot{7oLUJ^5AA?OAGn{&oTmXw4P@!0^ zdr+Ti3;MM#8`(A*XD`wU+m!oo>rL+CEryuC*xtA+?CFUW*VEZ1WU#`!?h_5w{ngov zV;pQEF8%@Tx<{Tq#LVecuq*}@0q-)F{iIIIjTa>@b-M9d>(V?|u%3-Qw|@-_q_E2@ zjOjrJ6k5fAUHjSQ(E2-HuTrxjsj8KB${t=CSNh@w&qA>F#01XM@LiuP>q<7pAuRPiX1sVMs-|T}?=n7d+_>?n5W2 z+fza<_2f<(mSxCysWDP@QT`9;9{=2#vOuKXLt6QDsxe2psJ%Y+^b0$8PU5NGQtwd< z-3M(bX#jf9W{AAD6hch75Rc-BF8X_wEwt?-Q86L0Qs32df%c8;F=!#7P$-*H8V%dC z#LyGVO`ha_OnOk%TSpM4ZuHQP43t=HpL%5TPl=elV&=)>H$3eB;~~MmIXAR&meTs6 zI_Vk!M`n~qlT#hhS1Ro1Px=1y!IK(-7Zbi3Y!K)m{`4;V0U?6p6nG z(z0MTF2r`^W2dKAvN(O_Ql)R_ch~AL3$l?1x7qq}UFU-ePo-V6vc`mxR@F$nt$Ces zLCVpGo|chb!x`Su%o|@zDBP^o1E^@NFulx#B<$bp-KVj*{Eg7-<4SKwDFVT(qZ3KP zvVx|@uGTc#{wKhMM1!VpdzADA|U1<3IYPsk*Xq{fRxZ7Dk>`NNR_VAyVL*yqM#tX z6H1C0Y61iZp#+lLwc(ueefPdM#=C#Kcb{WmcHe8yHP>2m{$>m2jw!5NpTkgqdMEEO z^_P1#LgStb(D;^sGGyp`DbAOif=VJ|s(VLl2oPsnAmCQ?f30VJBQab!J#wapMiO7i zZwSY|Z{WDT$?=sa^yUAQS=|7H#kw)aKpGL~pq|NvOQ(b@fCzc0Z++2EAP-Wgq5|FH zk9&XuIl7Y_>-N*3A8o*2ru!u8D$2I&Ho}cRi>TUlQGY|}iMg&-OU=vJIl+|;D`C__ z=t$k27@z$TwL88kaw?lh6-a{_aL^gfeCRSVU|BEjCPGBC<6xSMCA(3d;J9YA}@X}kN`pj7Y;Ph!yU4wBy}T*|!} z?HRWoDUNHfsb9qp4bCEZ0eAI(2pQJTgS^8fhVyTS$ZDtu&yy!$1q)TLAOqtu28bU0 zuuY$!nWB!o>;L6J-UMMb-|M4fRpt6sQX6yr7>n{^rEhvdRffSAH$9-L_a>Q2h+CWJ z;RNW1(5miYedxy+2zp8ku<&RoUmsncpm0`s6gSo;)sfSYRe`{qO0jgo7VI!Bj}$2f zd55u}s-#sa9kMOozWq|fzG1jrzR=OA;C`tny@u1Fuy4X$DR)lhE#Uj`)S+qfU(*Xs z0y&l(^REoDlt4z%%+;vM&vLod8tVRfBdpdIJZHsH=1XDou!P@qny_MQWz{ew;%u_s zL`6}>6nb4+FJh>a7Y-i*=Cz1dEyP)g9Nnp;*=N(jlw3!q{nxi+9=YhY@--oVq}~e zn5{*35N(A8@f8K>9@&B~>f*7b&gLgF`hf^>6C_ye1cT^CHfi!c;9&+>{K zNc7itS_QQq7QX~o6{e3m4a~V&x-H&=sfCaWKe3%~R1-M=IfXBCcptdpWmd!8_sLW( zm&DxNbCOu}72fDz1DXNWw=Z!iv9;~f?Zo~ndSC))(XqNlBdU$%&b2ZGVxEEOa^{-F z_l&>f-hwaI2;e$)`3p#KdIw0qZD#vDAJFHtr2b@L1%;h$B&k<}bevdV=1+3B`1)DvyrXa580A!clV;~mbWsummNk|xxg>(1 z-8lcvJ5nV*wpQQM|k>l?omKIh>rQA)?E)0Vi|;W59tJ;uy6 zOtvi;9z9|YK4K!*ZK}><`e*GQ^$^-+sNLORl!m-&#i}U8X;HwwfnZs%ae%yZ2-E z9dSpW8w*Xt^@|$9lBYa_5Vo zBLA`o4-Mg{R%aK}Pq}DPaiWJ^>yo6Ux!wYDU?j2Zk&p9=$R^PHRMD9H>9mY}&#g!Z z1cop*x)~4v%Rz9>FdJtqed&U3=|sEu>`@XB2_YS2cI4Ab01FQMT>mb|sceLU`OIa! z!~B;9+PVM!FcRP5t7bWK;B(YbSz8?8IyL)!kVtz>->LL!VaGD@OI71JSv5K!o1N!Z zVq|C7vz?}c1^OobR>1z3xcNPoE-7|TrT9#DCIT;~)J+pYisPVD)U0n2KO-6jIL7Ao zK=~1al+N+GEll|Ho{_PBV8nl3Q==fJu?-QGVtSgfq;dxPsB;Nuez zA1e_oAJ4jRZt4c-Ptpa+u~`>_FB%B%csW%(A&#`c-xlTK9|^*vx!2UV;*J&g#{ z$v?Y>`m3Lb?C((U8jt&|zU+X^;ahv}p^<9RS*hK#AhjJw;rbVv@7f^NhVB1YIt$EB zJMjM<+UNJ({2xJd+soJgiA4C{jj7+d`TxbM{|KQ;2-^QDJhe}!O^S47Il3Hr#U~ZW zMDX-SfXnn9sTIkhyvH?`U0+?AL3tNeE7fqvoPX1x-T)+Ozuo~kMchehjuKNizH=B# zu+TS=Di}D;P!qsw)9mKw9+<)1oD%c5s)WcK}Oia zUVG(=p~MP9$t9<9o^u731}&7FIuF8v>Z}egnm~5iTA5=7=ZALsh}Z`j-B@h?j6hM)rDR0XfXnBlZz%DFY%6^(;}oZ<=1FIJT!e0?r=v znC`g^K&JgNecTO8)4iI&kF765gD(Iim5*^y0A5MTIY8lk@xA}dfD?+1M$*zjQioR} z)4xI_!>c0kP`ccm^v|cJ!rHHt(BM9cV?T&A$o0!XxKk)_^`TxbL!@%Pet&xd58SMv z!fZ=U$J#w+kQDo-PLcXN6!#ttThdGm&czuT)xP2SnJVN{u{KY`{6^vpUsYFyxfEup zrX>H^Nj;uduX9<#kO5Ss%BHw6TOdP)WK#*m37B zN9?5#*2y43)-4CpOcdFl-qp!XcTsR8Gx1~(JHkiLzURIqGgDSoHAVCBHqO$IQq71o z?!JkL<-Ef?X?6=Q!(A{gzizGqA|b$Lk!RWJ&7Q)a0d&>%oF<(;vXxuP(6c6Wq27&M z^t59aJm`FFIIFV}a`0DWj)IT;4vw7yp!Ir$49xcj>&jpLoj2C=c{!r>PX<0Hz2RiK zLs`A<2kpMSzAD3rtkb!gI&AAXu`a$fhDRGMTva^QATYdUCJ+6*(hznDf(OHvW%?b)Gmdu{9J%Y{n3Ewdnkb8 z*R!|aLhx*u(4wX}L-f*9o_bRM5zD;ESybNg#$;km(oKZvb6+?~pGCjbIl{>VCt=xJ zlpPYf?)osJ$;iz0_9yspqkdQ^8YItCTaE_!X!A9pSH6)(%4j$j-f`Ocr%!?pXXKJIzGw90M`OaUgg4 z^z7}Br5}Ac@@cl(NO`6meb})mUdnelT14?GG8YQP02h5Xvo`@_xC~(F&{2`;&=f@m zbfK22Frs5>NH5}UaxR)rq9qS7@uMK|RO;$RDh4bUAPWZkx_jT7kWoxo-rP?t;M--- zj#l;GU93VY2OjmfT#}lsG5qM-Fzh%L&?;SK>BwThSZx?uL3dZ+wE0kmt#mKIK4M>Y z`al}%dBwDN5qmrAfbUAJ43p}@jQ_|o*}T))*e{uGa=Z4QsUY3uRZ3LgdNhqD?>X_p zaJnf{dMRma=6R8c%OCZCCt-{nnCo``imX6a75v$;vn1xGHW(LnoR_+~_VyF|=5Z^u z(C}K*E}cG#E_~a`ooYNO`xge|D+3k-<)6&4(xQ3k(Elqq+g>E*x=PY>0?|d%M1R_M z{#vNu_`|o*c>Ybg56s=QAn>yPO$40_Ni9J8?%2a!CXc?{^x9ow0=1T5$XO=e{T*Lt z@a~d4d7D~KBF#SoMq0}aSGXmP$qebZ_UEkW5nz+-$Fhv+*o_jUl@JJ&kW^C*ml$|w z6@pw(=q+c=bXNzoPscl|MLR;%9XxyW=K9P?O(RuJU(XzDU7y?n5{y_Gp8!+6j9Vhm zo+UVNt;eOSTv5?n3AN(Vjq@Mfh596w@@9w4L ztUZe1*Ic^jJiZ$@&~dkf0(BC)FlMO{;yA}R$)3qnl*P(QrJLrId10_+{yMGZ7`7_1 zU7%(6Mx1HhSv5i_bxx-2Q9y4*@a=}{S{7m`clvHc&Ihn~07J4p@r$MRjqtb$u8o(# ztZvOXmh&0p+Wf*TWjiwD?{$r9F}`$GsKEt*Kw#0h8!5M%K!$sd{-)N$W05_g6G+O%cS(~3o5#4!cd$!FI7jU( zTbYs^`P-beNe_d<)@Xh7{&nd1+uN_(O{*^HLC0C+mRa9eu=ZwwrHvpV_y975w&MG{ z_S!qRLE|=l$l_^OXm;Eq^o4gaVPbgOm#+uv%0zx`?3LHJy768$x9>u1@0}YU`UXkn zf@Pu(lyv*c#Qy=5BnD}=F%EI@rv$4!3U`u8yoim!d$qEN=M84*euZk5@U%lk-M1n%#7eEOkcin;W4y9JNzch0fUZ5UUT-Ca3(cf-m z`kNPm8#ExCGijP;Gg@J0ACs<|V^pNwN6oz(sb{p6!ec`=pV_0*@AL{5sEnE#dDMl%U4Ml9=U%M_FL28{ z1r$9o+HQlmmPmR(=riQO)(=qH`9wNzJ9eYPE=}xaD@j#Tuj!p{il9__w>*wLD&O1Z znx1mIdpvAljcTU>_CVGFeqxo!y)+tKMtOH)X80M#MNHZPmJZao#|iS`ee{L>nnftR zrtJc9?JFZFhIpql?pGGr$a~!@f}Y*TS$+QdAJo?Z^R2Yd1b2+=4K`b48egahn|vn^ z-uo@-eayhrDqUEA`dfaPXd?ZNV92LdP0QqwsnsT5%K)TvRJ#vw*+Y9>5`5gD=GZ;8 zT9ROr95wK%dE&ZmQQqvyG$H9WWp(vswp^YUnVcBAam$vW1tQ4g z&I#m*{^JYa_Bd?~gh_NuBd;F-o+|dDT1kWF5)*w8d1{}MGTpl5@IM(Ldo5Do*?hO= zE>&Z?nVmjv;r0~o_f_#Q1BXMR?Zewq9YaV3Vsd93>9`DOPT%W#|6s+)`p^~SyR*WD zj?wMyHMS}53s+n))ogz)J$4&!FMbe49 z$_ex<(8PNcv&(^#JxZB2KYpqV;oJN?SFFHQ3US<51A0xSX6ACd#56`c{UkAG96%rR zK@Zw9^H&f2#*-Ua=M^3Vo1S?QjKI{w13ykPyu@kQynK#dzBftNviXG5bi^)sTD`w_ z48+(rx3z^T$bx9Y-nsxkYa5&D;XcoxC^W#290p%_i5DSc)C@1oK1Hu>bQ}w;JL%@t zO~`b_tr8mDQ9c!$H8=|6ev9@1HFONU<+UV2l4 zK%=8ptZGS9S73{m-d=)5$*4pwok_Oj-267ptO!h}pH+*J5%oZB$Gf#kpp9J->+!v@ z36&qSvwys;VnW-}ap3!tYg!!~1QaJ!h!E$fOboED<54JHqJ7;8iR3RFpLn#oTBN0d zK-3~?YVZepo}rZ}d=ka#5t_7kWh>S$sI4XA5zBj;H?PPXAcfU*+r}M7Zq%Jdnf8q_ zRoNAHD66b$PKR4@`^+oI2K!ki$%Um3Vju$^DGgSfBIdj zGQti&QDPPATa7r=q_pq4^f{q86?tKaK5#RZCd=3;sXw#sXvc#7BXAzDQF5V6lgw9a zc!jj{1S^mDmp<-=iytk8Ie~G%-jDYthcU`8Uc3kj_G&nF3~p3}9TY|5-9jMUaY~>g zaH1?jwD~pSGP<*6UqC|@plVrX%iDE)$d#lBM7G)|z{3H6CHv4yrL{Ic9*}K_8J2TV z;2kipjf%Rpxf9xF0S60xPIE1lVUe?4rD$*>5kBy}DLa>1%V_tS^v?YZbuqe`;U(uX zRy(XhO?61JSvL0~SU-wT+r!`S@X&~VM7t+&@IQ`*mQb`DT4^s;;CTm_D!r@p@Kkzm z^LIY;^z(Ydlol)QB`t^>1N2y7i(1XS;Kbnv)yk&&iwSR7-YwA;g=6JaqV2#1%Lzym z{vwBTfZNeD0rSRaBI?O4lF~Zf;*ihkZTp)vw}2akW<|iJl?uEl2qbcg%tx;(p}^uf zthWV%XMGAd}%XNxmQ$5d@|dvo<^)S1(Eb`UzCsf zgK_X4+;iKLMw}ga|FB5yDzE~ySqJT*hMdC1OMNm*_$tZKi{lbHG5o4D%4@!r(|5dE zyq!8~=n=1m8ZF*Bs7DQnw3;RL$DTf#c<%K<8V8Ic8BC1|$!Gcq70Ur* z81v8~YcEyWGGmOsoNRI^o(-E0+Nahz7nMRVLbKQ5><>2+*k~{`!sK>A#MniMd8xY z6GVMT`v?GpHNkv+EzE6;AHLTO*$pPl7rW?FzH7M_bqcF!v!}IN6wYcJ!I?Sn^sy6C zR@SibB&QjKgG{K(G7y<}Hmz$ud!ezi0my5RR0EUqFn#<4V-(Ozl`!R4KOQ2nn z?U8oBWb!O>4nM?L2wy!r1L*>DrUvK{)*eZ-lWNSb`;iJiX{IrWhuT++0h=#h1ppbM z|D$rNXy>Fq@uRW^W42#*y12d`e740TGJ(p~iT;!G+V6V*%y6wK=-zH#?duP}Z=`tt zdh-KByp^>!sLU({&xPna6)eqcJRF-@201?s&lT;+ItZMB97&A_{4^sOYWL#D^(X#oz*V5YtgTVszWc4WZc>znLo?eH!*>*G4bF)}_Tt(YvD z-o}J|?@S(Vo)^y|VP;vf5I_jRV`Oal&Y61-S@TOdL<7x2N;BoUT(sqWQSFoyYoG+; zuf;-(+TnhnMu{AR`cS-x&Z-@dW?A1bsDs#hgjQ2G=aS4 z(>^3&)@fROR@aix-E)78^WNLX&5X>=3xG-Pn;>M($j!^!q3&T9I0gol#qV@(Z_`d; zSxf(7Lj|uneNIdasOMI|W>fN@UuIE$AMgrgeCKlv3irNeF%IUbH^z&Ni6-FB*L9gh zg)iT1J;UPBCe<0QAX;M#)h@*NGMKk&Em{gt{!iAQ5cni@Ixfvgm@We^W70PQUC|Tm z70f+4I6JFKv`(ezN8}%@ec)dZ@PD8Fa~Tz$|rVW2{WBpBHCkg2?KTeo&$?(@SqbX0edY5m~6sK<9fFI)}W zSY?{rnE$flV@i=QBypXtqxXovgO=#nz^bA^v8uyFXi0_*^iwv3_7Gop4i(I)5P3-^ zxs!D)!GasqixRVaYRYLk1YC|DYlTyTjuln7Ww!+8q5GbyebF^%Z)5#_dK-KBt-tfK z`1*1pt&Og~+cK(xD3n>87z|P-c6OZhL&RdqE(t^ zM0vDb+W9XV`S62m(=La}-H9wc8cZUm)r%hO6AOK+4z;zz9b{Rj1@jsatlVQF0~% zb3V5@?#n0337?e&WSzPIPXvVzr(eo&H0yNq(@dZ;dz+3I0VE7?B6n}~>UBVei9Q_^;-X}BHjJ+)~EoSmjCu?S4#l*RYBSncOFy9z{V|nHL zdVr}#jC!&|G>ZDmRBe77_Ur<(XM8<(!t##;=4QSHdE^&gp^hvrUz?k^;_el$mi)D` z;Fff9Xuz&Q!sWdp=(mHD+FkdCvGrUjyg|bDM4QP`d3vEw6$cQEBrM~q$?bW zY3nu+t|3#dJ$wj;bP=6hW{_hOnwp`du#d5@Uk5p?lYN|QJDpX4XQ|p71L=8$T9d&F z93ErFEwAU~k#{11;`5F|p)g@b3-a?Zgh%Vkvj*nog4HUe(A)R^m3=-c%MK(>g)oO| z_M%Ws!8tvgB{2;|GdY0630Hm8yAJZSY)(sZpx)_eklv!2y>x~DFV`F(Ij3(w9yb6Z z?ccZ0j3v)^{``5lU!2wdTg8((9W*+8Br-cV(DRL}r=J&L9hueyE1Ss=RG@hJ1%Di! zu_f9z9k|j|uBB&~(3feDkelmRmZmaXgHeG8dMo`bf6|)2e==UOgLTI?85t{&q@>$P zgUFD`9hh3ub!GI1i?^rWYK+&wOZwgQVQxykvqP2>0%sUdz!)BQq>)X5ELsx>>b^w> zU`R^X)QMV7p|kO^jm|)B>|)1p|2NH7*83RmUk?lOc2@+b2rM5rxD~$FKrs@mT_{eo7&xA6^yK5ThhafAGP*=6qadb-soB%WWAY+bsJVKc?K6RI-^1}?wv#*V zy$7g$%u4l=1@G{om5`!PC}*Btv)J%SRWK&rM%z`$3?=_%N;v~2y2N7%09J_cC~Q2 zs9i?wmaD648bRC{M#`{}{TXqzGyM1?tv2=Ec(Kf;+Uaci8bxr_;o3+nY{tg?TIX2* za`)pfop(Zo@Hu~rfk!^s{2dkJySAMSg-GQu{z&>NOtZ9=rv@EPU&G!N(dV)qS$svP zdA`3L9iG=eND@wqm*T0Jb_!%)Nx1PSm0d1pwspzNl}@R0MeJEAPyaMul}z}DqmJw& zxvxqQK8Sn9#&&fZi>;L~f`*2M9*CwjFg89`ZL&Gqx4rQlciG>rK�!_v5bd`c-`V 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 a5i8uW;w;--Q?7-;VPR%vT72Zv-G2e-nu;_4 From 5d0d5d0aba1e4002d7703901514f9592f1ae8e79 Mon Sep 17 00:00:00 2001 From: Loganbacca Date: Tue, 13 Jan 2015 16:34:15 +1300 Subject: [PATCH 016/133] Fixes robot modules not regenerating - Also added a type check --- code/modules/mob/living/silicon/robot/robot_modules.dm | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index e8fa3727ce..06b9c81ad6 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -34,8 +34,11 @@ if(!stacktypes || !stacktypes.len) return for(var/T in stacktypes) - var/O = locate(T) in src.modules - var/obj/item/stack/S = O + var/obj/item/stack/S + for(var/obj/O in src.modules) + if(O.type == T) + S = O + continue if(!S) src.modules -= null @@ -43,6 +46,9 @@ src.modules |= S S.amount = 1 + if(!istype(S)) + continue + if(S && S.amount < stacktypes[T]) S.amount++ From cac7f64fdcb33e476c0ec99dcb66747cd58abbb6 Mon Sep 17 00:00:00 2001 From: Loganbacca Date: Tue, 13 Jan 2015 22:16:20 +1300 Subject: [PATCH 017/133] Robot module fix Thanks mwerezak --- code/modules/mob/living/silicon/robot/robot_modules.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index 06b9c81ad6..7cbc5bef5e 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -38,7 +38,7 @@ for(var/obj/O in src.modules) if(O.type == T) S = O - continue + break if(!S) src.modules -= null From 985d410657d7b20ec83f0f0e47a39e20e014a0a8 Mon Sep 17 00:00:00 2001 From: Loganbacca Date: Tue, 13 Jan 2015 23:19:58 +1300 Subject: [PATCH 018/133] Air tank interface fix - Allows tanks to be toggled on and off as internals from their UI. - If internals are off, all tanks capable of being used for internals will display "tank is connected to a mask". - If internals are on, only the tank that is actively supplying air is listed as "connected" and "open". All others will display as "not connected". - Tanks inside rigs will correctly display their status in their UI (if you open it before putting it in the rig, but cannot be toggled on through the interface. Toggling them on with the internals button works. --- .../game/objects/items/weapons/tanks/tanks.dm | 27 +++++++++++++++---- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git a/code/game/objects/items/weapons/tanks/tanks.dm b/code/game/objects/items/weapons/tanks/tanks.dm index f6485f0a16..d7a05a7173 100644 --- a/code/game/objects/items/weapons/tanks/tanks.dm +++ b/code/game/objects/items/weapons/tanks/tanks.dm @@ -117,10 +117,16 @@ ui_interact(user) /obj/item/weapon/tank/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1) + var/mob/living/carbon/location = null + if(istype(loc, /obj/item/weapon/rig)) // check for tanks in rigs + if(istype(loc.loc, /mob/living/carbon)) + location = loc.loc + else if(istype(loc, /mob/living/carbon)) + location = loc + var/using_internal - if(istype(loc,/mob/living/carbon)) - var/mob/living/carbon/location = loc + if(istype(location)) if(location.internal==src) using_internal = 1 @@ -133,9 +139,20 @@ data["valveOpen"] = using_internal ? 1 : 0 data["maskConnected"] = 0 - if(istype(loc,/mob/living/carbon)) - var/mob/living/carbon/location = loc - if(location.internal == src) + + if(istype(location)) + var/mask_check = 0 + + if(location.internal == src) // if tank is current internal + mask_check = 1 + else if(src in location) // or if tank is in the mobs possession + if(!location.internal) // and they do not have any active internals + mask_check = 1 + else if(istype(src.loc, /obj/item/weapon/rig) && src.loc in location) // or the rig is in the mobs possession + if(!location.internal) // and they do not have any active internals + mask_check = 1 + + if(mask_check) if(location.wear_mask && (location.wear_mask.flags & AIRTIGHT)) data["maskConnected"] = 1 else if(istype(location, /mob/living/carbon/human)) From 7a2ebef87aab993585a6bdbd66dc5e3d6a9915ca Mon Sep 17 00:00:00 2001 From: Ravensdale Date: Tue, 13 Jan 2015 04:54:45 -0800 Subject: [PATCH 019/133] Tries to fix mapmerge error --- maps/exodus-1.dmm | 16 +++---- maps/exodus-3.dmm | 2 +- maps/exodus-4.dmm | 24 +++++----- maps/exodus-5.dmm | 112 ++++++++++++++++++++++++---------------------- 4 files changed, 80 insertions(+), 74 deletions(-) diff --git a/maps/exodus-1.dmm b/maps/exodus-1.dmm index a8e83d5c20..ae34a17a6b 100644 --- a/maps/exodus-1.dmm +++ b/maps/exodus-1.dmm @@ -645,7 +645,7 @@ "amu" = (/obj/machinery/door/airlock/engineering{name = "Security Substation"; req_access_txt = "0"; req_one_access_txt = "11;24"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/substation/security) "amv" = (/obj/machinery/light/small{dir = 1},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/power/sensor{name = "Powernet Sensor - Security Subgrid"; name_tag = "Security Subgrid"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green,/turf/simulated/floor/plating,/area/maintenance/substation/security) "amw" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/substation/security) -"amx" = (/turf/simulated/floor/plating,/area/space) +"amx" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "arrivals_airlock"; name = "exterior access button"; pixel_x = -25; pixel_y = -25; req_access_txt = "13"},/turf/simulated/floor/plating/airless,/area/space) "amy" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Prison Gate"; name = "Security Blast Door"; opacity = 0},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/door/airlock/glass_security{name = "Security Lobby"; req_access_txt = "0"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/hallway/primary/fore) "amz" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Prison Gate"; name = "Security Blast Door"; opacity = 0},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/hallway/primary/fore) "amA" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/machinery/camera{c_tag = "Brig Toxin Control"; dir = 4; network = list("SS13")},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 10},/area/security/brig) @@ -763,7 +763,7 @@ "aoI" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/maintenance/dormitory) "aoJ" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/maintenance/dormitory) "aoK" = (/turf/simulated/floor/plating,/area/maintenance/dormitory) -"aoL" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "dorm_airlock"; name = "exterior access button"; pixel_x = -25; pixel_y = -25; req_access_txt = "13"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/dormitory) +"aoL" = (/turf/simulated/floor/plating/airless,/area/maintenance/dormitory) "aoM" = (/obj/machinery/door/blast/regular{id = "Cell 2"; name = "Cell Door"},/turf/simulated/floor,/area/security/prison) "aoN" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/structure/cable/green,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/security/prison) "aoO" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/security/prison) @@ -923,7 +923,7 @@ "arM" = (/obj/structure/stool/bed/chair/wood/wings{icon_state = "wooden_chair_wings"; dir = 1},/turf/simulated/floor/wood,/area/maintenance/dormitory) "arN" = (/obj/machinery/vending/cigarette,/turf/simulated/floor/wood,/area/maintenance/dormitory) "arO" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "dorm_inner"; locked = 1; name = "Dormitory Internal Access"; req_access = null; req_access_txt = "13"},/obj/machinery/atmospherics/pipe/simple/visible,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/dormitory) -"arP" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "arrivals_airlock"; name = "exterior access button"; pixel_x = -25; pixel_y = -25; req_access_txt = "13"},/turf/simulated/floor/plating,/area/space) +"arP" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "dorm_airlock"; name = "exterior access button"; pixel_x = -25; pixel_y = -25; req_access_txt = "13"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating/airless,/area/maintenance/dormitory) "arQ" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor/plating,/area/maintenance/evahallway) "arR" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/security/brig) "arS" = (/obj/machinery/door/airlock/glass_security{name = "Solitary Confinement 1"; req_access_txt = "2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/security/brig) @@ -7312,15 +7312,15 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfagBafYajFafYajGajHajIajJajKajLajMajNajOajPajQajRajSajTajUajVajWajXajUajYajWajWajZakaakaakbakcakdahOakeakfakgajzakhakiakjakkaklakmaknakoakpalaakZakqabOaaaaaaaaaaaaaaaaaaaaaaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaaIaaIaamaamaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzaaaahzahzahzahzahzahzahzahzahzaaaahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaamaamaaIaamaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfadEagWagWagWagWagWagWaksaktakuakvakwakxakyakzakAakBakCakDakEakFakwakGakwakwakHakIakJakKakLakMakNakOakPakJakQakRakSakTakUakVakWakXakYakoalIabbamsalbactaaaaaaaaaaafaaaaaaaaaaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaaaaafaaaaaqaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaafaaaaaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfadEagWalcaldalealfagWalgalhahLalialjagWacTacuacTagWabValnabUagWalpalqalralsagDaltalualvalwalxagWabTabSabSabRagWalBalCalDalEalFalGalHakoamtanQamuanQanQaaaaaaaafaafaaaaaaaaaaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafabQaafaaIaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafabMaafaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafabfadEabPalMalMalNalOalPalQalRahKalSaljagWalTalUalValWalXalYalZamaahKambahKamcamdameameamfamgamhamiamjamkamlammakoamnamoampamqalDalDamrakoadQanQamvawKamwaaaaaaamxaaaaaaaaaaafaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaIaaIaaIaaIaaIaaaaaaaaaabpaaaaaaaaaaaIaaIaamaamaamaaaaaaahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaamaamaaIaaIaaaaaaaaaaoXaaaaaaaaaaaIaaIaamaamaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfadEagWamAamBamCamDagWamEalRaljamFamGagWamHamIamJalWamKamLamMamNamOamPamQamRamSamgamgamfamgamTaoWamVamWamXamYakoamZanaalDamqalDalDanbakoancandaneanfangaafamxaafaafamxaafaafaafakrakranhakrakraaaaaaaaaaaaaaaaaaaaqaaaaaaaafaafaafaaaaaaaoYaafaafaaaaafaafaaaaaaaamaaaaaaahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaafaafaaaaaaaaaaoVaafaafaaaaafaafaaaaaaaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfankagWagWagWagWanlanmannanoanmanmanmanmanpaoPanpanraoQantaoRanvaoSaoTaoUanzanAamgamgamfanBanCamianDanEamXanFanGanHanIanJanKanLanManNanGanOanPawLanRanSaaaaaaaafaaaaafamxaafaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaIaafanTanTanTanTanTaafalJaafanTanTanTanTanTaafaaIaaaahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafanVanVanVanVanVaafalkaafanVanVanVanVanVaafaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanXanYanZaoaagDaobaocagWaodaoealKaogaohaoiaojaokaolaomaonaooaonaopaoqaoraonaoOaotamgamgaouaovaowamiaoxanEamXaoyanGaozaoAaoBaoCaoDaoEaoFanGaoGanQanQanQanQaoIaoJaoHaoKaoLaaaaafaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaIaafanianjanjanjanjanualJansanqanqanqanqanwaafaaIaaaahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafabMaafaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafabfadEabPalMalMalNalOalPalQalRahKalSaljagWalTalUalValWalXalYalZamaahKambahKamcamdameameamfamgamhamiamjamkamlammakoamnamoampamqalDalDamrakoadQanQamvawKamwaaaaaaaaLaaaaaaaaaaafaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaIaaIaaIaaIaaIaaaaaaaaaabpaaaaaaaaaaaIaaIaamaamaamaaaaaaahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaamaamaaIaaIaaaaaaaaaaoXaaaaaaaaaaaIaaIaamaamaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfadEagWamAamBamCamDagWamEalRaljamFamGagWamHamIamJalWamKamLamMamNamOamPamQamRamSamgamgamfamgamTaoWamVamWamXamYakoamZanaalDamqalDalDanbakoancandaneanfangaafaaLaafaafaaLaafaafaafakrakranhakrakraaaaaaaaaaaaaaaaaaaaqaaaaaaaafaafaafaaaaaaaoYaafaafaaaaafaafaaaaaaaamaaaaaaahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaafaafaaaaaaaaaaoVaafaafaaaaafaafaaaaaaaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfankagWagWagWagWanlanmannanoanmanmanmanmanpaoPanpanraoQantaoRanvaoSaoTaoUanzanAamgamgamfanBanCamianDanEamXanFanGanHanIanJanKanLanManNanGanOanPawLanRanSaaaaaaaafaaaaafaaLaafaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaIaafanTanTanTanTanTaafalJaafanTanTanTanTanTaafaaIaaaahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafanVanVanVanVanVaafalkaafanVanVanVanVanVaafaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanXanYanZaoaagDaobaocagWaodaoealKaogaohaoiaojaokaolaomaonaooaonaopaoqaoraonaoOaotamgamgaouaovaowamiaoxanEamXaoyanGaozaoAaoBaoCaoDaoEaoFanGaoGanQanQanQanQaoIaoJaoHaoLarPaaaaafaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaIaafanianjanjanjanjanualJansanqanqanqanqanwaafaaIaaaahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaIaafalzalyalyalyalyalAalkallaivaivaivaivagEaafaaIaaaaaaaaaaaaaaaaaaaacaaaaaaaaaanXanXapaapbagDalMapcapdapeapfaofaphapiaoMaonaonapkaplaonapmapnaoraonapoaonaoNapqapramgamfamgamTaosamYanEamXaptanGapuapvapwapxapyapzapAanGapBaoHapCapDapEapFapGaoHaoHapHaoHaoHaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaIaafapIapIapIapIapIaafalJaafapIapIapIapIapIaafaaIaaaaaaahzahzahzahzaaaaaaahzahzahzahzahzahzahzaaaaaaahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafapJapJapJapJapJaafalkaafapJapJapJapJapJaafaaIaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaapKapaapbagDapLapMagWalgapNalKapOapPapQapRaokapSanWapUapVapWapXapYapZaqaanUaqcaqdaovaqeaovaqfaqgaqhaqiaqjaqkanGaqlaqmapyaqnaqoaqpaqoaqqaqraqsapFaqtaquapFaqvaoHaqwaqxaqyaoHaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaamaaaaaaaaaaafaaaaaaaafalJaaaaaaaaaaafaaaaaaaaaaamaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaafaaaaaaaafalkaaaaaaaaaaafaaaaaaaaaaaqaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaqzaqAaqBagDagWagWagWaqCalRagWalWalWalWaqDaqEapkaqFaqGaqHaonaqIaqJaqKaqLanyaqNaqOaqPaqQaqRaqSanxaqUaqVaqWamVanGaqXaqYaqZaraarbarcardanGarearfapFaqtaqtapFargaoHarhariarjaoHaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaIaafanTanTanTanTanTaafalJaafanTanTanTanTanTaafaaIaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafanVanVanVanVanVaafalkaafanVanVanVanVanVaafaaIaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaqzarkaqBagDaobarlagWarmarnalKaogaroaoiaokarparqarrarsartaonarualWarvarwarxalLarzarAamUamzamyarEarFarGarHamjanGanGarIanGanGanGanGanGanGarJarKarLarMarMapFarNaoHaoHarOaoHaoHaaaaaaakrakrakraaaaaaaaaaaaaaaaaaaaaaaIaafanianjanjanjanjanualJansanqanqanqanqanwaafaaIaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamxarPamxaaaaaaaaaaaaaaaaaaaaaaaIaafalzalyalyalyalyalAalkallaivaivaivaivagEaafaaIaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaqzarQaqBagDarRapcarSarTarUaefapharWaloaonaonarYarZasaasbaonascalWasdasealmasgasharAasiasjaskarEaoHaoHaoHaoHaoHaslasmasnasoasoaspaspasqasrassastastasuasvasvaswasxasyaszaqsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafapIapIapIapIapIaafalJaafapIapIapIapIapIaafaaIaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaLamxaaLaaaaaaaaaaaaaaaaaaaaaaaIaafalzalyalyalyalyalAalkallaivaivaivaivagEaafaaIaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaqzarQaqBagDarRapcarSarTarUaefapharWaloaonaonarYarZasaasbaonascalWasdasealmasgasharAasiasjaskarEaoHaoHaoHaoHaoHaslasmasnasoasoaspaspasqasrassastastasuasvasvaswasxasyaszaqsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafapIapIapIapIapIaafalJaafapIapIapIapIapIaafaaIaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafasAasBasAaaaaaaaaaaaaaaaaaaaaaaaIaafapJapJapJapJapJaafalkaafapJapJapJapJapJaafaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasCarQapbagDapLapMagWasDasEalKapOasFaoiasGasGasHasIaonasJaonasKalWasLasMbgMasOasParAasQasRasSarEasTasUasUasVasWasVasXasYasZasZasZasZasZasZasZasZasZasmataatbatcaoKatdateatfaafatgathathatiathathatjaafaaaaaaaaaaamaaaaaaaaaaafaaaaaaaaaalJaaaaaaaaaaafaaaaaaaaaaamaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatkatlatmaaaatnatoatpaaaaafatqatratqaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaafaaaaaaaaaalkaaaaaaaaaaafaaaaaaaaaaamaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaanXatsattagDagDagDagWagWagWagWalWalWalWalWalWatuaonaoratvaqEatwalWalWalWatxatxatxarAatyatzatAarEatBasZasZasZasZatCatDatEatFatGatHatIatJatKatLatMatNatOatPatPatPatPatPatPatPatPatQatRatRatRatRatRatQatPaaaaaaaaaaaIaafanTanTanTanTanTaafalJaafanTanTanTanTanTaafaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatSatTatUatTatSatVatWatVatSaafatqatXatYaaaaaaaaaaaaaaaaaaaaaaaIaafanVanVanVanVanVaafalkaafanVanVanVanVanVaafaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafatZauaanYaubaucanXaafaafalWaudaueaufaugauhauiaonapnaonasJaqEaujaukaulaumaunauoauparAauqaurausarEatBasZauuaySauvatCauxauyatFatGauzauAauBauCauDatMatNauEauFauGauHauIauJauwauLatPauMatRatRatRatRatRatQatPaafaaaaaaaamaafanianjanjanjanjanualJansanqanqanqanqanwaafaaIaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa diff --git a/maps/exodus-3.dmm b/maps/exodus-3.dmm index e88029d54a..ad3f736587 100644 --- a/maps/exodus-3.dmm +++ b/maps/exodus-3.dmm @@ -101,7 +101,7 @@ "bW" = (/obj/structure/table,/obj/item/weapon/screwdriver,/obj/machinery/light,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) "bX" = (/obj/structure/table,/obj/item/device/radio/off,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) "bY" = (/obj/structure/lattice,/obj/structure/grille,/turf/space,/area/space) -"bZ" = (/obj/machinery/power/solar/fake,/turf/simulated/floor{icon_state = "solarpanel"},/area/space) +"bZ" = (/obj/machinery/power/solar/fake,/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/space) "ca" = (/turf/simulated/floor/plating/airless,/area/space) "cb" = (/obj/structure/lattice,/obj/structure/grille{density = 0; icon_state = "brokengrille"},/turf/space,/area/space) "cc" = (/obj/machinery/camera{c_tag = "North Solars"; dir = 8; network = list("Tcomsat")},/turf/space,/area/space) diff --git a/maps/exodus-4.dmm b/maps/exodus-4.dmm index 39e1ff0072..d0a2adf82a 100644 --- a/maps/exodus-4.dmm +++ b/maps/exodus-4.dmm @@ -33,11 +33,11 @@ "aG" = (/turf/space,/area/solar/constructionsite) "aH" = (/obj/structure/grille,/turf/simulated/floor/plating/airless,/area/solar/constructionsite) "aI" = (/obj/structure/grille,/turf/simulated/floor/plating/airless,/area/djstation/solars) -"aJ" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/solar{id = "construction_solar"; name = "Construction Solar Array"},/turf/simulated/floor{icon_state = "solarpanel"},/area/djstation/solars) +"aJ" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/solar{id = "construction_solar"; name = "Construction Solar Array"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/djstation/solars) "aK" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating/airless,/area/djstation/solars) -"aL" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/tracker,/turf/simulated/floor{icon_state = "solarpanel"},/area/djstation/solars) +"aL" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/solar{id = "construction_solar"; name = "Construction Solar Array"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/djstation/solars) "aM" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating/airless,/area/djstation/solars) -"aN" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/solar{id = "construction_solar"; name = "Construction Solar Array"},/turf/simulated/floor{icon_state = "solarpanel"},/area/djstation/solars) +"aN" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/tracker,/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/djstation/solars) "aO" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating/airless,/area/djstation/solars) "aP" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating/airless,/area/djstation/solars) "aQ" = (/turf/simulated/wall,/area/djstation) @@ -58,7 +58,7 @@ "bf" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/djstation/solars) "bg" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/djstation/solars) "bh" = (/obj/machinery/door/airlock/engineering{name = "Construction Area"; req_access_txt = "32"},/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor/plating,/area/djstation) -"bi" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/machinery/power/solar{id = "construction_solar"; name = "Construction Solar Array"},/turf/simulated/floor{icon_state = "solarpanel"},/area/djstation/solars) +"bi" = (/obj/structure/cable,/obj/machinery/power/solar{id = "construction_solar"; name = "Construction Solar Array"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/djstation/solars) "bj" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/djstation/solars) "bk" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/djstation) "bl" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/djstation) @@ -86,7 +86,7 @@ "bH" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/djstation) "bI" = (/obj/machinery/door/blast/regular{id = "constructiondriver2"; name = "Construction Driver Door"},/turf/simulated/floor/plating,/area/djstation) "bJ" = (/turf/simulated/floor/airless{tag = "icon-gcircuit"; icon_state = "gcircuit"},/area/constructionsite/ai) -"bK" = (/obj/structure/cable,/obj/machinery/power/solar{id = "construction_solar"; name = "Construction Solar Array"},/turf/simulated/floor{icon_state = "solarpanel"},/area/djstation/solars) +"bK" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/machinery/power/solar{id = "construction_solar"; name = "Construction Solar Array"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/djstation/solars) "bL" = (/obj/item/weapon/extinguisher,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/djstation) "bM" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/machinery/power/smes/buildable{charge = 2e+006},/turf/simulated/floor/plating,/area/djstation) "bN" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/plating,/area/djstation) @@ -403,16 +403,16 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaabaaabacaeapaoaoanabaaabaaabaaabacaeapapapapauauaoaoaoauauapapapapaeacabaaabaaabaaabanauauapaeacaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababacaeapaoaoanabaaabaaabababapaqapauauauauauaoaoaoauauauauauapaqapabababaaabaaabanaoauapaeacaFaEaFaEaFaEaFaEaFaFaEaEaEaFaFaFabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaIaIaIaIaIaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaabaaabacaeapaoaoanababababababapapauauauaoaoaoaoaoaoaoaoaoaoauauauauapapababababababanaoauapaeacabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaIaJaKaLaMaNaIabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababacaeapaoaoanabacacacacapapauauauaoaoaoaoaoaoaoaoaoaoaoaoaoaoauauapapacacacacabanaoauapaeacabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababaIaJaOaJaPaNaIababaaaaaQaQaQaQaQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaabaaabacaeapaoaoanabacaeaeaeaqauauaoaoaoaoaoapapapaRapapapaoaoaoaoauauauaqaeaeaeacabanaoauapaeacabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababaIaJaOaJaPaNaIabababaaaSaTaUaVaSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababacaeapaoaoanabacaeaeapapauauaoaoaoapapapaWaXaYaXaWapapapaoaoaoauauapapaeaeacabanaoauapaeacabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababaIaJaOaJaPaNaIababababaZbabbaVaZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaabaaabacaeapaoaoanabacaeaeapauauauaoaoapapababaWaXaYaXaWababapapaoaoaoauauapaeaeacabanauauapaeacabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaIaJaKaNaMaLaIabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababacaeapaoaoanabacacacacapapauauauaoaoaoaoaoaoaoaoaoaoaoaoaoaoauauapapacacacacabanaoauapaeacabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababaIaJaOaJaPaLaIababaaaaaQaQaQaQaQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaabaaabacaeapaoaoanabacaeaeaeaqauauaoaoaoaoaoapapapaRapapapaoaoaoaoauauauaqaeaeaeacabanaoauapaeacabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababaIaJaOaJaPaLaIabababaaaSaTaUaVaSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababacaeapaoaoanabacaeaeapapauauaoaoaoapapapaWaXaYaXaWapapapaoaoaoauauapapaeaeacabanaoauapaeacabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababaIaJaOaJaPaLaIababababaZbabbaVaZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaabaaabacaeapaoaoanabacaeaeapauauauaoaoapapababaWaXaYaXaWababapapaoaoaoauauapaeaeacabanauauapaeacabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaIaIaIaIbcbdbebcbfbgbcaIaIaIaIaQaQbhaQaQaQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaababalabalalababalababalacaeapaoaoanabacaeaeapauaoaoaoapapabababaWaXaYaXaWabababapapauaoauauapaeaeacabanaoauapaeacabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaIbibibibibjbkblbmbnbobjbibibibiaQbpbqbrbsaQaQaQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababalababalalalalalalalalalalalacaeapaoaoapacacaeapapauaoaoaoapabababaWaWaWbtaWaWaWabababapauauaoauapapaeacacapauaoapaeacabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaIbKbKbKbKbjbkblbmbnbobjbKbKbKbKaQbpbqbrbsaQaQaQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababalababalalalalalalalalalalalacaeapaoaoapacacaeapapauaoaoaoapabababaWaWaWbtaWaWaWabababapauauaoauapapaeacacapauaoapaeacabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaIbubvbvbvbwbxaVbybzbAbwbBbBbBbCaQbpbDbEbFbGbHcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabalalalalalalalalalalalalalalalalalalacaeapaoaoapaeaeaeapauauaoaoapapababaWaWbJbJaXbJbJaWaWababapapauaoauauapaeaeaeapauauapaeacabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaIbKbKbKbKbcbLaVbMaVbNbcbKbKbKbKaQbObqaVbPaQaQaQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabavabababababavavavavavabalabalabalabalabalacacacacacacacacacacacaeapaoaoapaqapapapauauauauapaWaWaWaWaXbJaXaXaXbJaXaWaWaWaWapauauaoauapapapaqapauauapacacavavavababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaIbibibibibcbLaVbMaVbNbcbibibibiaQbObqaVbPaQaQaQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabavabababababavavavavavabalabalabalabalabalacacacacacacacacacacacaeapaoaoapaqapapapauauauauapaWaWaWaWaXbJaXaXaXbJaXaWaWaWaWapauauaoauapapapaqapauauapacacavavavababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaIbQbRbRbRbSbTbUbVaVbWbSbXbXbXaKaQbYbDbEbEbZbHcraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalabalalalalalalalalalalalalalaeaeaeaeaeaeaeaeaeaeaeaeapaoaoauauauauauauaoauauapaXaXaXaWbJbJaXaYaXbJbJaWaXaXaXapauauaoauauauauaoauauaoapaeaealalalalalalalalalalalalaaaaabaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaIbKbKbKbKcbcccdcecfcgcbbKbKbKbKaQchbqaVciaQaQaQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababababalalalalalababalalabalabalabalabalabalcjaecjaeaeaeaeaeaeaeaeaeapauauauauauauauaoauauauckaYaYaYclaXaXaXaYaXaXaXcmaYaYaYcnaoauaoaoaoaoaoaoauauauapaeaealalalalalalalalalabalabalabalalalabalaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaIbibibibicbcccdcecfcgcbbibibibiaQchbqaVciaQaQaQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababababalalalalalababalalabalabalabalabalabalcjaecjaeaeaeaeaeaeaeaeaeapauauauauauauauaoauauauckaYaYaYclaXaXaXaYaXaXaXcmaYaYaYcnaoauaoaoaoaoaoaoauauauapaeaealalalalalalalalalabalabalabalalalabalaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaQaQaQaQaQaQaQaQaQcoaQaQaQaQaQaQaQaQcpbDbEbEcqbHbIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababalalalalalalalabalabalalalalalaeaeaecjaeaeaeaeaeaeaeaeapaoaoauaoaoaoaoaoaoaoaoapaXaXaXaWbJbJaXaYaXbJbJaWcscscsapauauaoauauauauauauaoaoapaeaealalalalalalalalalalalalalalalalabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabctcucvcwcwcxctcyczcAcBcCcDcEcFbEcEcDbEcGaVcHaQaQaQaQaQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaavavavabababababavavavavavavavavavavavacacacacacacacacacacacacapaoaoapcIapapapcJaucJauapaWaWaWaWaXbJaXaXaXbJaXaWaWaWaWapauauaoauapapapaqapauaoapacacavavavavavababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabcKcucLcucucLcKcMcMcNcMcMaQaQaQaQaQaQcOcPbEcQcRcScTcUaQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababaccjcVcWcWcVaeaeaecVcXcXcXcXcVcVababaWaWbJbJaXbJbJaWaWababcVcVcXcXcXcXcVaeaeaecVcWcWcXaeacababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa diff --git a/maps/exodus-5.dmm b/maps/exodus-5.dmm index 9fb4fa0d41..bb8c4fc319 100644 --- a/maps/exodus-5.dmm +++ b/maps/exodus-5.dmm @@ -21,6 +21,7 @@ "au" = (/obj/structure/transit_tube{icon_state = "D-SE"},/turf/simulated/mineral,/area/mine/unexplored) "av" = (/obj/structure/transit_tube{icon_state = "E-SW"},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating/airless/asteroid,/area/mine/unexplored) "aw" = (/obj/structure/transit_tube,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/hallway) +"ax" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/mine/abandoned) "ay" = (/obj/structure/transit_tube/station,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/research_outpost/hallway) "az" = (/obj/structure/transit_tube,/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/research_outpost/hallway) "aA" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/transit_tube,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/hallway) @@ -142,7 +143,7 @@ "cM" = (/obj/machinery/atmospherics/pipe/tank/air{dir = 8},/turf/simulated/floor/plating,/area/research_outpost/atmos) "cN" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor,/area/research_outpost/atmos) "cO" = (/obj/structure/transit_tube/station{dir = 8; icon_state = "closed"},/turf/simulated/floor{icon_state = "bot"},/area/research_outpost/atmos) -"cP" = (/obj/structure/window/reinforced{dir = 4},/obj/item/weapon/shard{icon_state = "small"},/turf/simulated/floor/plating,/area/mine/abandoned) +"cP" = (/obj/structure/window/reinforced{dir = 4},/obj/item/weapon/shard{icon_state = "small"},/turf/simulated/floor/plating/airless,/area/mine/abandoned) "cQ" = (/obj/item/stack/rods,/obj/structure/door_assembly/door_assembly_ext{name = "Broken External Airlock"},/turf/simulated/floor,/area/mine/abandoned) "cR" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/mine/abandoned) "cS" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/mine/abandoned) @@ -165,7 +166,7 @@ "dj" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/light/small,/turf/simulated/floor,/area/research_outpost/atmos) "dk" = (/turf/space,/turf/simulated/shuttle/wall{icon_state = "pwall"; dir = 9},/area/shuttle/alien/mine) "dl" = (/turf/simulated/shuttle/wall{icon_state = "pwall"; dir = 1},/area/shuttle/alien/mine) -"dm" = (/turf/simulated/floor/plating,/turf/simulated/shuttle/wall{icon_state = "pwall"; dir = 10},/area/shuttle/alien/mine) +"dm" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/mine/abandoned) "dn" = (/obj/item/stack/rods,/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/mine/abandoned) "do" = (/obj/effect/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/mine/abandoned) "dp" = (/obj/structure/lattice,/obj/structure/transit_tube{icon_state = "D-SE"},/turf/space,/area/space) @@ -225,7 +226,7 @@ "er" = (/obj/structure/transit_tube{icon_state = "N-S"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored) "es" = (/turf/simulated/mineral,/area/mine/explored) "et" = (/turf/space,/turf/simulated/shuttle/wall{icon_state = "pwall"; dir = 5},/area/shuttle/alien/mine) -"eu" = (/turf/simulated/floor/plating,/turf/simulated/shuttle/wall{icon_state = "pwall"; dir = 6},/area/shuttle/alien/mine) +"eu" = (/turf/simulated/floor/plating/airless,/turf/simulated/shuttle/wall{icon_state = "pwall"; dir = 10},/area/shuttle/alien/mine) "ev" = (/obj/item/weapon/shard,/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/mine/abandoned) "ew" = (/turf/simulated/wall,/area/mine/abandoned) "ex" = (/turf/space,/area/shuttle/research/outpost) @@ -251,7 +252,7 @@ "eR" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{dir = 4; icon_state = "whiteyellow"},/area/research_outpost/hallway) "eS" = (/turf/simulated/wall/r_wall,/area/research_outpost/power) "eT" = (/obj/machinery/door/airlock/glass_atmos{name = "Outpost Atmospherics"; req_access_txt = "0"; req_one_access_txt = "65;10;24"},/obj/machinery/atmospherics/pipe/simple/hidden/universal,/turf/simulated/floor/plating,/area/research_outpost/power) -"eU" = (/obj/item/stack/rods,/obj/structure/window/reinforced{dir = 4},/obj/item/weapon/shard,/turf/simulated/floor/plating,/area/mine/abandoned) +"eU" = (/obj/item/stack/rods,/obj/structure/window/reinforced{dir = 4},/obj/item/weapon/shard,/turf/simulated/floor/plating/airless,/area/mine/abandoned) "eV" = (/obj/item/stack/rods,/obj/effect/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/mine/abandoned) "eW" = (/turf/simulated/floor/airless{icon_state = "damaged2"},/area/mine/abandoned) "eX" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/hallway) @@ -281,7 +282,7 @@ "fv" = (/obj/machinery/light/small{dir = 8},/obj/structure/transit_tube{icon_state = "D-SE"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored) "fw" = (/obj/structure/transit_tube{icon_state = "N-SW"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored) "fx" = (/obj/structure/lattice,/obj/item/weapon/shard{icon_state = "medium"},/turf/space,/area/space) -"fy" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/mine/abandoned) +"fy" = (/turf/simulated/floor/plating/airless,/turf/simulated/shuttle/wall{icon_state = "pwall"; dir = 6},/area/shuttle/alien/mine) "fz" = (/obj/effect/alien/weeds{icon_state = "weeds2"},/obj/item/clothing/mask/facehugger{icon_state = "facehugger_dead"; stat = 2},/turf/simulated/floor/airless{icon_state = "damaged2"},/area/mine/abandoned) "fA" = (/obj/effect/alien/weeds,/turf/simulated/floor/airless{icon_state = "damaged5"},/area/mine/abandoned) "fB" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/hallway) @@ -498,9 +499,9 @@ "jE" = (/turf/simulated/floor/airless,/area/mine/abandoned) "jF" = (/obj/effect/alien/weeds,/turf/simulated/floor,/area/mine/abandoned) "jG" = (/obj/effect/decal/remains/xeno,/turf/simulated/floor/airless{icon_state = "damaged3"},/area/mine/abandoned) -"jH" = (/obj/structure/table,/turf/simulated/floor,/area/mine/abandoned) -"jI" = (/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/abandoned) -"jJ" = (/obj/structure/table/rack,/turf/simulated/floor,/area/mine/abandoned) +"jH" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating/airless,/area/mine/abandoned) +"jI" = (/obj/structure/table/rack,/turf/simulated/floor/airless{icon_state = "damaged2"},/area/mine/abandoned) +"jJ" = (/obj/structure/table/rack,/turf/simulated/floor/airless,/area/mine/abandoned) "jK" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/transit_tube{icon_state = "D-NE"},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/entry) "jL" = (/obj/structure/transit_tube{icon_state = "S-NW"},/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/research_outpost/entry) "jM" = (/obj/machinery/hologram/holopad,/turf/simulated/floor,/area/research_outpost/entry) @@ -612,15 +613,15 @@ "lO" = (/obj/machinery/alarm{dir = 1; pixel_y = -24},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/research_outpost/harvesting) "lP" = (/obj/machinery/artifact_scanpad,/obj/machinery/light/small,/turf/simulated/floor/bluegrid,/area/research_outpost/harvesting) "lQ" = (/obj/machinery/portable_atmospherics/hydroponics{closed_system = 1; name = "isolation tray"},/turf/simulated/floor{icon_state = "dark"},/area/mine/abandoned) -"lR" = (/obj/structure/table,/obj/item/weapon/paper/crumpled,/turf/simulated/floor/airless{icon_state = "floorscorched2"},/area/mine/abandoned) -"lS" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/mine/abandoned) -"lT" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/item/weapon/shard{icon_state = "medium"},/turf/simulated/floor/plating,/area/mine/abandoned) -"lU" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/mine/abandoned) -"lV" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/mine/abandoned) -"lW" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/mine/abandoned) -"lX" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/mine/abandoned) +"lR" = (/obj/item/weapon/table_parts,/turf/simulated/floor/airless,/area/mine/abandoned) +"lS" = (/obj/effect/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor/airless{icon_state = "damaged4"},/area/mine/abandoned) +"lT" = (/obj/effect/decal/remains/human,/obj/item/clothing/mask/facehugger{icon_state = "facehugger_dead"; stat = 2},/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/mine/abandoned) +"lU" = (/obj/structure/transit_tube,/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 10},/area/mine/explored) +"lV" = (/obj/structure/transit_tube/station{dir = 2; icon_state = "closed"},/obj/structure/sign/securearea{desc = "A warning sign which reads 'VACUUM'"; icon_state = "space"; layer = 4; name = "VACUUM"; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 6},/area/mine/explored) +"lW" = (/obj/effect/alien/weeds{icon_state = "weeds"},/turf/simulated/floor/airless{icon_state = "damaged4"},/area/mine/abandoned) +"lX" = (/obj/structure/transit_tube/station{dir = 8; icon_state = "closed"},/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 8},/area/mine/explored) "lY" = (/obj/effect/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor,/area/mine/abandoned) -"lZ" = (/obj/effect/alien/weeds{icon_state = "weeds"},/turf/simulated/floor/airless{icon_state = "damaged2"},/area/mine/abandoned) +"lZ" = (/obj/effect/alien/weeds{icon_state = "weeds2"},/obj/item/clothing/mask/facehugger{icon_state = "facehugger_dead"; stat = 2},/turf/simulated/floor/airless,/area/mine/abandoned) "ma" = (/obj/structure/transit_tube{icon_state = "S-NE"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored) "mb" = (/obj/structure/transit_tube{icon_state = "D-NW"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored) "mc" = (/obj/structure/transit_tube{icon_state = "E-NW"},/obj/structure/lattice,/turf/space,/area/space) @@ -662,7 +663,7 @@ "mM" = (/obj/item/clothing/mask/facehugger{icon_state = "facehugger_dead"; stat = 2},/turf/simulated/floor/airless{icon_state = "damaged5"},/area/mine/abandoned) "mN" = (/obj/effect/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor/airless{icon_state = "damaged2"},/area/mine/abandoned) "mO" = (/obj/effect/decal/remains/xeno,/turf/simulated/floor,/area/mine/abandoned) -"mP" = (/obj/effect/alien/weeds{icon_state = "weeds"},/turf/simulated/floor/airless{icon_state = "damaged3"},/area/mine/abandoned) +"mP" = (/obj/effect/alien/weeds,/turf/simulated/floor/airless,/area/mine/abandoned) "mQ" = (/obj/structure/ore_box,/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored) "mR" = (/turf/simulated/wall,/area/mine/explored) "mS" = (/obj/structure/transit_tube{icon_state = "N-S"},/turf/simulated/wall,/area/mine/explored) @@ -698,13 +699,13 @@ "nw" = (/obj/structure/transit_tube{icon_state = "W-NE"},/obj/structure/lattice,/turf/space,/area/space) "nx" = (/obj/structure/transit_tube{icon_state = "D-NW"},/turf/space,/area/space) "ny" = (/obj/machinery/portable_atmospherics/hydroponics,/turf/simulated/floor{icon_state = "dark"},/area/mine/abandoned) -"nz" = (/turf/simulated/floor{icon_state = "green"; dir = 8},/area/mine/abandoned) +"nz" = (/obj/effect/decal/remains/human,/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/mine/abandoned) "nA" = (/obj/effect/gibspawner/human,/turf/simulated/floor/airless{icon_state = "damaged5"},/area/mine/abandoned) "nB" = (/obj/item/clothing/mask/facehugger{icon_state = "facehugger_dead"; stat = 2},/turf/simulated/floor,/area/mine/abandoned) "nC" = (/obj/effect/alien/weeds{icon_state = "weeds"},/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/mine/abandoned) "nD" = (/obj/machinery/light_construct/small{dir = 4},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored) "nE" = (/obj/machinery/door/window/westleft,/obj/structure/sign/securearea{desc = "A warning sign which reads 'VACUUM'"; icon_state = "space"; layer = 4; name = "VACUUM"; pixel_x = 0; pixel_y = 32},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/mine/explored) -"nF" = (/obj/structure/transit_tube{icon_state = "N-S"},/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/mine/explored) +"nF" = (/obj/structure/transit_tube{icon_state = "N-S"},/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 10},/area/mine/explored) "nG" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/lattice,/turf/space,/area/space) "nH" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor,/area/research_outpost/gearstore) "nI" = (/obj/machinery/door/airlock/glass_mining{name = "Equipment storage"; req_access_txt = "65"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/research_outpost/gearstore) @@ -732,14 +733,14 @@ "oe" = (/turf/simulated/floor{tag = "icon-vault (NORTH)"; icon_state = "vault"; dir = 1},/area/research_outpost/longtermstorage) "of" = (/obj/structure/transit_tube{icon_state = "S-NE"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/unexplored) "og" = (/obj/structure/transit_tube{icon_state = "D-NW"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/unexplored) -"oh" = (/obj/effect/decal/remains/human,/turf/simulated/floor{icon_state = "green"; dir = 8},/area/mine/abandoned) +"oh" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/item/weapon/shard,/turf/simulated/floor/plating/airless,/area/mine/abandoned) "oi" = (/obj/effect/alien/resin,/turf/simulated/floor/airless{icon_state = "floorgrime"},/area/mine/abandoned) "oj" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/mine/abandoned) "ok" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/mine/abandoned) -"ol" = (/obj/effect/alien/weeds{icon_state = "weeds2"},/obj/item/clothing/mask/facehugger{icon_state = "facehugger_dead"; stat = 2},/turf/simulated/floor/airless{icon_state = "damaged5"},/area/mine/abandoned) +"ol" = (/obj/effect/alien/weeds,/turf/simulated/floor/airless{icon_state = "damaged4"},/area/mine/abandoned) "om" = (/obj/structure/ore_box,/obj/machinery/light_construct/small{dir = 1},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored) "on" = (/obj/machinery/door/window/westleft,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/mine/explored) -"oo" = (/obj/structure/transit_tube/station{dir = 8; icon_state = "closed"},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/mine/explored) +"oo" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/mine/abandoned) "op" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0},/obj/structure/dispenser/oxygen,/turf/simulated/floor,/area/research_outpost/gearstore) "oq" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/research_outpost/gearstore) "or" = (/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/machinery/door/window{dir = 4; name = "Air Tank Access"; req_access_txt = "0"; req_one_access_txt = "47;10;24"},/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor,/area/research_outpost/gearstore) @@ -764,8 +765,8 @@ "oK" = (/turf/simulated/wall/r_wall,/area/research_outpost/maintstore2) "oL" = (/obj/structure/transit_tube{icon_state = "D-SE"},/turf/simulated/wall/r_wall,/area/research_outpost/longtermstorage) "oM" = (/obj/structure/transit_tube{icon_state = "N-SW"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/unexplored) -"oN" = (/obj/effect/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor/airless{icon_state = "damaged3"},/area/mine/abandoned) -"oO" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/item/weapon/shard,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/mine/abandoned) +"oN" = (/obj/effect/alien/weeds{icon_state = "weeds"},/turf/simulated/floor/airless,/area/mine/abandoned) +"oO" = (/obj/machinery/door/airlock,/turf/simulated/floor/airless{icon_state = "damaged2"},/area/mine/abandoned) "oP" = (/obj/machinery/door/airlock/glass{name = "Glass Airlock"; req_access_txt = "0"},/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"},/area/mine/abandoned) "oQ" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/mine/abandoned) "oR" = (/obj/machinery/suspension_gen,/turf/simulated/floor,/area/research_outpost/gearstore) @@ -790,8 +791,8 @@ "pk" = (/obj/structure/transit_tube{icon_state = "D-SE"},/turf/simulated/mineral/random,/area/mine/unexplored) "pl" = (/obj/structure/transit_tube{icon_state = "NE-SW"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/unexplored) "pm" = (/obj/structure/transit_tube{icon_state = "D-NW"},/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating/airless/asteroid,/area/mine/unexplored) -"pn" = (/obj/effect/decal/remains/human,/obj/item/clothing/mask/facehugger{icon_state = "facehugger_dead"; stat = 2},/turf/simulated/floor,/area/mine/abandoned) -"po" = (/obj/item/weapon/table_parts,/turf/simulated/floor,/area/mine/abandoned) +"pn" = (/obj/structure/transit_tube{icon_state = "N-S"},/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 9},/area/mine/explored) +"po" = (/obj/machinery/door/airlock,/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/mine/abandoned) "pp" = (/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"},/area/mine/abandoned) "pq" = (/obj/structure/table/rack,/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"},/area/mine/abandoned) "pr" = (/obj/structure/closet,/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored) @@ -830,8 +831,8 @@ "pY" = (/obj/structure/lattice,/obj/structure/transit_tube{icon_state = "D-SE"},/turf/space,/area/mine/explored) "pZ" = (/obj/structure/lattice,/obj/structure/transit_tube{icon_state = "E-SW"},/turf/space,/area/mine/explored) "qa" = (/obj/structure/lattice,/obj/structure/transit_tube,/turf/space,/area/mine/explored) -"qb" = (/obj/structure/transit_tube,/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/mine/explored) -"qc" = (/obj/structure/transit_tube/station{dir = 2; icon_state = "closed"},/obj/structure/sign/securearea{desc = "A warning sign which reads 'VACUUM'"; icon_state = "space"; layer = 4; name = "VACUUM"; pixel_x = 0; pixel_y = 32},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/mine/explored) +"qb" = (/obj/structure/table/rack,/turf/simulated/floor/airless{icon_state = "damaged5"},/area/mine/abandoned) +"qc" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/item/weapon/shard{icon_state = "medium"},/turf/simulated/floor/plating/airless,/area/mine/abandoned) "qd" = (/obj/machinery/mech_bay_recharge_port,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"},/area/mine/explored) "qe" = (/turf/simulated/floor/mech_bay_recharge_floor{icon_state = "recharge_floor_asteroid"},/area/mine/explored) "qf" = (/obj/machinery/computer/mech_bay_power_console,/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"},/area/mine/explored) @@ -875,22 +876,22 @@ "qR" = (/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "research_outer"; locked = 1; name = "Research Outpost External Access"; req_access = null; req_access_txt = "10;13"},/turf/simulated/floor/plating,/area/research_outpost/gearstore) "qS" = (/obj/structure/disposalpipe/segment,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/mine/explored) "qT" = (/obj/machinery/door/window/westleft,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/mine/explored) -"qU" = (/obj/structure/transit_tube{icon_state = "D-SE"},/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/mine/explored) +"qU" = (/obj/structure/table,/obj/item/weapon/paper/crumpled,/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/mine/abandoned) "qV" = (/obj/structure/transit_tube{icon_state = "E-SW"},/turf/simulated/wall/r_wall,/area/mine/explored) "qW" = (/obj/structure/transit_tube,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating/airless/asteroid,/area/mine/unexplored) "qX" = (/obj/structure/transit_tube,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/mine/unexplored) -"qY" = (/obj/structure/transit_tube,/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/mine/unexplored) -"qZ" = (/obj/structure/transit_tube/station,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/mine/unexplored) -"ra" = (/obj/structure/transit_tube{icon_state = "W-NE"},/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/mine/unexplored) +"qY" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/mine/abandoned) +"qZ" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/mine/abandoned) +"ra" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/mine/abandoned) "rb" = (/obj/machinery/door/airlock/external{name = "External Airlock"; req_access_txt = "0"},/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"},/area/mine/abandoned) -"rc" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/grille{density = 0; icon_state = "brokengrille"},/obj/item/weapon/shard{icon_state = "small"},/obj/item/stack/rods,/turf/simulated/floor/plating,/area/mine/abandoned) +"rc" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/grille{density = 0; icon_state = "brokengrille"},/obj/item/weapon/shard{icon_state = "small"},/obj/item/stack/rods,/turf/simulated/floor/plating/airless,/area/mine/abandoned) "rd" = (/obj/structure/lattice,/obj/structure/window/reinforced{dir = 1},/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/space,/area/mine/explored) "re" = (/obj/structure/lattice,/obj/structure/window/reinforced{dir = 1},/turf/space,/area/mine/explored) "rf" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "research_airlock"; name = "exterior access button"; pixel_x = 25; pixel_y = 25; req_access_txt = null; req_one_access = list(13,65); req_one_access_txt = null},/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 2},/area/mine/explored) "rg" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 9},/area/mine/explored) "rh" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 1},/area/mine/explored) "ri" = (/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 5},/area/mine/explored) -"rj" = (/obj/structure/transit_tube{icon_state = "S-NE"},/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/mine/explored) +"rj" = (/obj/structure/transit_tube{icon_state = "S-NE"},/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 8},/area/mine/explored) "rk" = (/obj/structure/transit_tube{icon_state = "D-NW"},/turf/simulated/wall/r_wall,/area/mine/explored) "rl" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'VACUUM'"; icon_state = "space"; layer = 4; name = "VACUUM"; pixel_x = -32; pixel_y = -32},/turf/simulated/floor/plating/airless/asteroid,/area/mine/unexplored) "rm" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/mine/unexplored) @@ -898,7 +899,7 @@ "ro" = (/obj/machinery/door/window/westleft{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/mine/unexplored) "rp" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 2},/area/mine/explored) "rq" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'VACUUM'"; icon_state = "space"; layer = 4; name = "VACUUM"; pixel_x = 0; pixel_y = -32},/obj/machinery/door/window/westleft,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/mine/explored) -"rr" = (/obj/structure/transit_tube/station{dir = 8; icon_state = "closed"},/obj/structure/transit_tube_pod,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/mine/explored) +"rr" = (/obj/structure/transit_tube/station{dir = 8; icon_state = "closed"},/obj/structure/transit_tube_pod,/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 10},/area/mine/explored) "rs" = (/obj/effect/glowshroom,/obj/machinery/light/small,/turf/simulated/floor/plating/airless/asteroid,/area/mine/unexplored) "rt" = (/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 2},/area/mine/abandoned) "ru" = (/obj/item/weapon/shard{icon_state = "medium"},/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 2},/area/mine/abandoned) @@ -1113,6 +1114,7 @@ "vv" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/mine/living_quarters) "vw" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/turf/simulated/floor,/area/mine/living_quarters) "vx" = (/obj/machinery/camera{c_tag = "Storage Room"; dir = 1; network = list("MINE")},/turf/simulated/floor,/area/mine/living_quarters) +"vy" = (/obj/structure/table,/turf/simulated/floor/airless{icon_state = "damaged5"},/area/mine/abandoned) "vz" = (/turf/simulated/wall,/area/mine/production) "vA" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/mine/production) "vB" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/mine/production) @@ -1374,6 +1376,10 @@ "Ax" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"},/area/mine/explored) "Ay" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"},/area/mine/explored) "Az" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 2},/area/mine/explored) +"AA" = (/obj/structure/transit_tube,/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 10},/area/mine/unexplored) +"AB" = (/obj/structure/transit_tube{icon_state = "W-NE"},/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 6},/area/mine/unexplored) +"AC" = (/obj/structure/transit_tube/station,/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 2},/area/mine/unexplored) +"AD" = (/obj/structure/transit_tube{icon_state = "D-SE"},/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 9},/area/mine/explored) (1,1,1) = {" aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -1424,33 +1430,33 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaRababababababababaSaTaUaVaWaXaYaZbabbbcbdbebcbfbgbcbhbdaMaeaebibjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacacacacacacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababababababababababababababababababbkbkababbkbkbkbkabbkbkbkbkbkbkbkababababababababaaaaaaaaaaaaaaaaaaaRabababababaSaSaSaSblbmaUbnbobpbpbpbqbcbrbsbtbubvbwbxbyaMaeaebzbAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacacacacacacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababababababababababababbkababababababbkbkababababbkbkbkbkabbkbkbkbkbkbkbkbkbkbkbkbkbkbkabaaaaaaaaaaaaaaaaaaaRababababaSaSbBbCaSbDbDbDbDbEbFbGbGbHbcbcbcbcbIbJbKbKbKbKbKbKbLbMbNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacacacacacacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabObPbOaaaaaaaaaaababababababababababababababababababababababbkabababbkbkabbkbkbkababbkbkbkbkbkbkbkbkbkbkbkbkbkbkabbkaaaaaaaaaaaaaaaaaRababababaSbQbRbSbTbUbVbWbXbYbZcacbccbccdcebccfcgbKchcicjckclcmcncoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpcqcpaeaaaaaaababababababababababababbkbkbkbkbkbkabababababababbkbkbkbkbkabababbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkaaaaaaaaaaaaaaaaaRababababaScrcsctaScucvcwcxcyczcAcbcBbccCcDcEcFcGcHcIcJcKcLcMcNcOcoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxbPbOaaaaaaaaaaababababababababababababababababababababababbkabababbkbkabbkbkbkababbkbkbkbkbkbkbkbkbkbkbkbkbkbkabbkaaaaaaaaaaaaaaaaaRababababaSbQbRbSbTbUbVbWbXbYbZcacbccbccdcebccfcgbKchcicjckclcmcncoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadmcqcpaeaaaaaaababababababababababababbkbkbkbkbkbkabababababababbkbkbkbkbkabababbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkaaaaaaaaaaaaaaaaaRababababaScrcsctaScucvcwcxcyczcAcbcBbccCcDcEcFcGcHcIcJcKcLcMcNcOcoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacPcQcRcSaeaaaaabababababababbkababbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkaaaaaaaaaaaaaaafcTaaabababaScrcUcVaScWcwcXcYcZdadbdadcdadadaaMdddebKdfdgcKdhdidjcncoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadkdldldmdndocpaeaaaaababababbkbkbkababbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkaedpdqaBaBaBdrdsaaabababaScrdtduaSdvdwdxdydzdAdBdCdDdEdFdGaMdHdIbKdJdKdLdMdNbKdOdPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadkdldleudndocpaeaaaaababababbkbkbkababbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkaedpdqaBaBaBdrdsaaabababaScrdtduaSdvdwdxdydzdAdBdCdDdEdFdGaMdHdIbKdJdKdLdMdNbKdOdPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadQdRdSdTdUdVdWaeaebkbkababbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkdXdXdXaedYdsaeaeaeaeaedZaSaSaSaSaSaSeaaSbDaMaMebecdaedeeefegeheiaMejekelemeneoepeqeleresaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaetdldleuevdoewbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkdXdXdXaaaaaRexexexexexexexbceyezeAeBeCeDeEeFeGeHeIeJdaeKeLeMeNeOePdaeQeReSeSeSeTeSeSeSeresaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaetdldlfyevdoewbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkdXdXdXaaaaaRexexexexexexexbceyezeAeBeCeDeEeFeGeHeIeJdaeKeLeMeNeOePdaeQeReSeSeSeTeSeSeSeresaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaeeUeVeWewbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkdXaaaaaRexexexexexexexeXeYeZfaeZeZfbfceZfdfefffgfhfifjfkflfmfnfofpfqeSfrfsfufteSfvfwesesaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaefxfyfzfAewbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkaaaaaaaaaRexexexexexexexfBfCfDfEfFfGfHfIfJfKaMfLfMaMfNfOfPfQfRfSdafTfUfVfWfXfYfZgagbgcesesaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaefxjHfzfAewbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkaaaaaaaaaRexexexexexexexfBfCfDfEfFfGfHfIfJfKaMfLfMaMfNfOfPfQfRfSdafTfUfVfWfXfYfZgagbgcesesaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaegdgegfewggghewewewewbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkaaaaaaaaaaaaaRexexexexexexexgifCfDfEfFgjgkfIfJglaMgmgnaMgodadadadagpdagqgreSgsgtgugvgwergxgygyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacaaacacacacacaaacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaegzgAgBgCgDgEbOdVgFewgGgHewbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkaaaaaaaaaaaaaRexexexexexexexbcgIgJgKfFgLgMfIgNgOaMgPgQgRgSgTgUgVaMgWgXgYgZeShahbhchdheeresesesaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacaaacacacacacaaacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaehfhggAhhhihjhkhlgFhmgHhngGewbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkaaaaaaaaaaaahohphqhrhshphqhthuhvhwhxhyhyaMaMaMaMaMhzhAhBhCbghDhEaMhFhGhHhIaMhJhKhLhMhNhOhPaMhQdqaBaBaBaBaBaBaChRaaaaaaaaaaaaaaaaacacacacacaaaaaaaaaaaaaaacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahShfhThfgBgBgghUhiewfAhVewgHhWewbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkaaaaaaaaaaaahXhYhZiaibichZidieifhZigihiiijikilimaMinhAioipiqirisaMitiuiviwaMeSixeSaMaMiyiziAiBiCiDiDiEiDiDiDiFbjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaeiGiHgBiIiJgBeWiKhjiLiMiNewewewewewewbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkabababababababababababababaaaaaaaaaaiOiPiQiQiQiQiRiSiTiUiViWiXiYijiZjajbjcjdjejfjgeZeZjhjieZeZjjjkjljmjnjojpjqeZeZjrjsjtjuiDjvjwjxjyiDbAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaejzjAjBgBiJjChhjDhijEewjFjGewjHgFjIjJewbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkabababababababababababababababaaaaaaaajKjLhZhZjMhZjNjOhZjPhZjQjRjSijjajTjUjVjWjXjYjZkakbkckdkekfkckdkdkgkhkikjkkklkmknkokpkqkrksktkukviDbAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaeaebkbkewgEkwkxkyjBkzkAhjkBbOdVkCewjHfAgFjJewbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkababababesesesesesesababababababkDkEaaaaaakFkGhZkHkIkJkKidkLkMkNkOkPkQijkRkSkTkUkUaMaMkVkWkWkXkWkYkYkZkYlalalblaaMlcaMldleiDlflgiDlhlikuljiDbAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeewewewewewewgDhilkkwhiiKllkBkBhlgFjFewjHeWlmjJewbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkababesesesgygygygyesesesabablnlolphRaaaaaalqlrhqhrlslslslslsltlsbcbcbcijlukUlvlwlxlylzlAkWlBlClDkYlElFlGlalHlIlJlalKlLldlMldiDiDiDlNlOlPjyiDbAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeewlQdVhjlRewlSlTlUewiLewlVlWlXewdVlYcqlZeWfzcqewbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkabababesesgygygygygygygygyesesabmambbimcaBaBaBdrdsaeaemdmemfmgmhmimjmkmlmmmnmompmqmrmsmtmungkWmwmxmykYmzmAmBlamCmDmElamFmGldmHmImJmKiDiDiDiDiDmLcTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabkewlQeWdVhhiLlYkwmMkwmNdVdVmOgFdVeWeWewcqmPeWdVewbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkababesesgygygygygygygygygygymQmRmSmRaaaaaaaaaaaaaaaaaemdmTmUmVmWmXmYmZnananbnckUndnelylynfmvkWnhninjkYnknlnmlannnonplanqnrldnsntntnuldnvagaBaBnwnxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabkbkewnynzeWeWiLeWlmggeWnAmNlmkCnBeWnCfAewkwcqlYdVewbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkabesmRgygygygygygygygygygygynDnEnFnGaaaaaaaaaaaaaaaaaemdmTmUnHnInJnKmUnLnanMijijnNnOlynPnQnRkWnSnTnUkYnVnWnXlanYnZoalaobocldodoeoeoeldofogbkaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabkbkbkewnyohhhgDewoiewojokewhjewojokewhilYewmOolcqjFewbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkabesomgygygygygygygygygygygygyonoonGaaaaaaaaaaaaaaaaaemdopmUoqmhorosotounaovijowoxoylyozoAoBoCoCoDoCoEoEoFoEoGoGoHoGoGoIoJoKldldldldoLoMabbkbkbkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabkbkbkbkbkbkewewewewewewoiewoNgFhjjFfAhikzhiiNhhewojoOoPoQewbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkabesmQgygygygygygygygygygygygyonnFnGaaaaaaaaaaaaaaaeaemdoRoSoTmWoUosoVoWnaoXijoYoxoylylylylyoCoZpapboEpcpdpeoGpfpgphoGpipjoKabbkabpkplpmabbkbkbkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabkbkbkbkbkbkbkbkbkbkbkbkewoiewgFjFpniKdohhgFewhifAewpopppppqewadbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkabesesgygygyprgygygygygygygygypsptaeaaaaaaaaaaaaaeaeaemdmdpupvmdmdpwpxpwmdpypzpApBpCpDgygygyoCpEpFpGoEpHpIpJoGpKpLpMoGoKoKpNpOaiaipPogababbkbkbkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabkbkbkbkbkbkbkbkbkbkbkbkewoiewjFdViNgFhifAiNewoiewewjHcqpppqpRadadbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkabespSpTgypUpSpQgygygygygygygygypWpXaaaaaaaaaaaepYpZqaqbqcqdqeqfmdqgqhqimdqjpzgygygygygygygyoCqkqlqmoCqnqoqpoEqqqrqsoGabauqtogquabababababbkbkbkbkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabkbkbkbkbkbkbkbkbkbkbkbkbkewoiewewewewewewewewewoiewjHcqjIcqpqqvadadbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkabespSgygygypSpQgygygygygygygyqwqxqyqzqzqzqzqzqzqAqBqCqDqDqEqFqFmdqGqHqImdqJgygygygygypzpzpzoCoCoCoCoCoEoEoEoEoGoGoGoGauqtogqKadqKababababbkbkbkbkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLaaaaaaaaaaqLbkbkbkbkbkbkbkbkbkbkbkbkbkbkewoioioioioioioioioioioiewjHjIjIjIjJewadadadbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkabesgygygygyqMqNgygygygygygygygyqOqPqPqPqPqPqPqPqPqOgygygygygygymdqQqRpwmdqSgygygygygyqTqUqVaiaiaiaiqWaiaiaiaiaiqXqYqZraogadadadqKkDabbkbkbkbkbkbkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaejzjAjBgBiJjChhjDhijEewjFjGewkBkCdVjJewbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkabababababababababababababababaaaaaaaajKjLhZhZjMhZjNjOhZjPhZjQjRjSijjajTjUjVjWjXjYjZkakbkckdkekfkckdkdkgkhkikjkkklkmknkokpkqkrksktkukviDbAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaeaebkbkewgEkwkxkyjBkzkAhjkBbOdVkCewkBkwkCjIewbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkababababesesesesesesababababababkDkEaaaaaakFkGhZkHkIkJkKidkLkMkNkOkPkQijkRkSkTkUkUaMaMkVkWkWkXkWkYkYkZkYlalalblaaMlcaMldleiDlflgiDlhlikuljiDbAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeewewewewewewgDhilkkwhiiKllkBkBhlgFjFewkBeWfAqbewbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkababesesesgygygygyesesesabablnlolphRaaaaaalqlrhqhrlslslslslsltlsbcbcbcijlukUlvlwlxlylzlAkWlBlClDkYlElFlGlalHlIlJlalKlLldlMldiDiDiDlNlOlPjyiDbAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeewlQhijBqUewjzqcjAewiLewqZraqYewdVlYjEoNeWfzhiewbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkabababesesgygygygygygygygyesesabmambbimcaBaBaBdrdsaeaemdmemfmgmhmimjmkmlmmmnmompmqmrmsmtmungkWmwmxmykYmzmAmBlamCmDmElamFmGldmHmImJmKiDiDiDiDiDmLcTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabkewlQeWjBeWoOlYkwmMkwmNdVdVmOgFdVeWeWewhioNhihiewbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkababesesgygygygygygygygygygymQmRmSmRaaaaaaaaaaaaaaaaaemdmTmUmVmWmXmYmZnananbnckUndnelylynfmvkWnhninjkYnknlnmlannnonplanqnrldnsntntnuldnvagaBaBnwnxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabkbkewnyjBhieWpoeWlmggeWnAmNlmkCnBeWnCfAewmPeWiNdVewbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkabesmRgygygygygygygygygygygynDnEpnnGaaaaaaaaaaaaaaaaaemdmTmUnHnInJnKmUnLnanMijijnNnOlynPnQnRkWnSnTnUkYnVnWnXlanYnZoalaobocldodoeoeoeldofogbkaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabkbkbkewnynzhigEewoiewojokeweWewojokewhilYewghlZjEmPewbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkabesomgygygygygygygygygygygygyonlXnGaaaaaaaaaaaaaaaaaemdopmUoqmhorosotounaovijowoxoylyozoAoBoCoCoDoCoEoEoFoEoGoGoHoGoGoIoJoKldldldldoLoMabbkbkbkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabkbkbkbkbkbkewewewewewewoiewiNnCeWkzolhikzhiiNhhewooohoPoQewbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkabesmQgygygygygygygygygygygygyonnFnGaaaaaaaaaaaaaaaeaemdoRoSoTmWoUosoVoWnaoXijoYoxoylylylylyoCoZpapboEpcpdpeoGpfpgphoGpipjoKabbkabpkplpmabbkbkbkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabkbkbkbkbkbkbkbkbkbkbkbkewoiewnCfAlTkzlSeWkCewhifAewlRpppppqewadbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkabesesgygygyprgygygygygygygygypsptaeaaaaaaaaaaaaaeaeaemdmdpupvmdmdpwpxpwmdpypzpApBpCpDgygygyoCpEpFpGoEpHpIpJoGpKpLpMoGoKoKpNpOaiaipPogababbkbkbkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabkbkbkbkbkbkbkbkbkbkbkbkewoiewkzeWdolWhifAiNewoiewewkBhipppqpRadadbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkabespSpTgypUpSpQgygygygygygygygypWpXaaaaaaaaaaaepYpZqalUlVqdqeqfmdqgqhqimdqjpzgygygygygygygyoCqkqlqmoCqnqoqpoEqqqrqsoGabauqtogquabababababbkbkbkbkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabkbkbkbkbkbkbkbkbkbkbkbkbkewoiewewewewewewewewewoiewvydVhidVpqqvadadbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkabespSgygygypSpQgygygygygygygyqwqxqyqzqzqzqzqzqzqAqBqCqDqDqEqFqFmdqGqHqImdqJgygygygygypzpzpzoCoCoCoCoCoEoEoEoEoGoGoGoGauqtogqKadqKababababbkbkbkbkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLaaaaaaaaaaqLbkbkbkbkbkbkbkbkbkbkbkbkbkbkewoioioioioioioioioioioiewkBhijEhijJewadadadbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkabesgygygygyqMqNgygygygygygygygyqOqPqPqPqPqPqPqPqPqOgygygygygygymdqQqRpwmdqSgygygygygyqTADqVaiaiaiaiqWaiaiaiaiaiqXAAACABogadadadqKkDabbkbkbkbkbkbkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkewewewewewewewewewewewewewewoQrbrcewewadadadadbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkabesgygygygygygygygygygygygygyqwqCrdrerererererereqwqCgygygygygygypBrfpCrgrhrigygygygyonrjrkababbkbkbkbkbkbkbkbkrlrmrnroadqKadadqKabababbkbkbkbkbkbkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkadadadewppppjIewadadadadadbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkabespSpTgygygygygygygygygygyaaaaaaaaaaaaaaaaesesesesesesesesgygygygygygypBrppCgygygygyrqrrpzbkabbkbkbkbkbkbkbkkDqKadrsadqKadadadabababababbkbkbkbkbkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkadadadewpppphiewadadadadadbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkabespSpTgygygygygygygygygygyaaaaaaaaaaaaaaaaesesesesesesesesgygygygygygypBrppCgygygygyrqrrpzbkabbkbkbkbkbkbkbkkDqKadrsadqKadadadabababababbkbkbkbkbkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkadadadewrtrurtewadadadadadbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkabespSgygygygygygygygygygygyaaaaaaaaaaaaaaaaesesesababababesesesgygygygygyrvgygydXgygypzpzpzbkbkbkbkbkbkbkbkbkbkbkbkkDbkadqubkabbkbkababababbkbkbkbkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkadadewrwrboQewadadadadbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkabesespVryrxgygygygygyesesesaaaaaaaaaaaaaaaaaaababababababababesesesgygygyrvgygydXdXdXdXbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkabbkbkbkababababbkbkbkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLqLqLrArAqLqLqLqLqLqLqLqLqLqLqLqLqLqLbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkadadadrBrCrDadadadadbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkababesesesmResgygymQmQesababaaaaaaaaaaaaaaaaaabkbkbkbkbkabababababesesgygyrvgygydXdXbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkabbkbkbkbkbkababababbkbkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa From 759373ac0a31d5c22c2cf227c4c350e2feb0af2d Mon Sep 17 00:00:00 2001 From: Ravensdale Date: Tue, 13 Jan 2015 09:52:14 -0800 Subject: [PATCH 020/133] Fixes runtime with hand labelers --- code/modules/paperwork/handlabeler.dm | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/code/modules/paperwork/handlabeler.dm b/code/modules/paperwork/handlabeler.dm index 940a797add..3722d586e4 100644 --- a/code/modules/paperwork/handlabeler.dm +++ b/code/modules/paperwork/handlabeler.dm @@ -6,9 +6,13 @@ var/label = null var/labels_left = 30 var/mode = 0 //off or on. + +/obj/item/weapon/hand_labeler/attack() + return /obj/item/weapon/hand_labeler/afterattack(atom/A, mob/user as mob, proximity) - if(!proximity) return + if(!proximity) + return if(!mode) //if it's off, give up. return if(A == loc) // if placing the labeller into something (e.g. backpack) @@ -24,10 +28,10 @@ user << "Label too big." return if(ishuman(A)) - user << "You can't label humans." + user << "The label refuses to stick to [A.name]." return if(issilicon(A)) - user << "You can't label cyborgs." + user << "The label refuses to stick to [A.name]." return if(istype(A, /obj/item/weapon/reagent_containers/glass)) user << "The label can't stick to the [A.name]. (Try using a pen)" From 1bd1687c8190f3e6703e6f2c2d1dfc7a88c0d4fc Mon Sep 17 00:00:00 2001 From: Ravensdale Date: Tue, 13 Jan 2015 13:37:07 -0800 Subject: [PATCH 021/133] Fixes runtime error: pick() from empty list --- code/_onclick/item_attack.dm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/code/_onclick/item_attack.dm b/code/_onclick/item_attack.dm index 365865543f..a81c6f30fa 100644 --- a/code/_onclick/item_attack.dm +++ b/code/_onclick/item_attack.dm @@ -46,7 +46,11 @@ playsound(loc, hitsound, 50, 1, -1) return hit else - user.visible_message("[M] has been [pick(attack_verb)] with [src] by [user]!") + if(attack_verb.len) + user.visible_message("[M] has been [pick(attack_verb)] with [src] by [user]!") + else + user.visible_message("[M] has been attacked with [src] by [user]!") + if (hitsound) playsound(loc, hitsound, 50, 1, -1) switch(damtype) From 1b3246c1962d7b47d3e5258248fecb21bc9d4656 Mon Sep 17 00:00:00 2001 From: SkyMarshal Date: Tue, 13 Jan 2015 15:22:55 -0700 Subject: [PATCH 022/133] Adds a constant for the surface area of a HE pipe exposed to sunlight. --- code/setup.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/setup.dm b/code/setup.dm index 723766ea78..68842e7e08 100644 --- a/code/setup.dm +++ b/code/setup.dm @@ -11,8 +11,9 @@ //radiation constants #define STEFAN_BOLTZMANN_CONSTANT 0.0000000567 //W/(m^2*K^4) #define COSMIC_RADIATION_TEMPERATURE 3.15 //K -#define AVERAGE_SOLAR_RADIATION 200 //W/m^2. Kind of arbitrary. Really this should depend on the sun position much like solars. +#define AVERAGE_SOLAR_RADIATION 200 //W/m^2. Kind of arbitrary. Really this should depend on the sun position much like solars. From the numbers on Erebus, this'd be an orbit of 23.3 lightseconds. #define RADIATOR_OPTIMUM_PRESSURE 110 //kPa at 20 C +#define RADIATOR_EXPOSED_SURFACE_AREA 0.03 //The pipe looks to be thin vertically and wide horizontally, so we'll assume that it's three centimeters thick and only explosed to the sun edge-on. #define CELL_VOLUME 2500 //liters in a cell #define MOLES_CELLSTANDARD (ONE_ATMOSPHERE*CELL_VOLUME/(T20C*R_IDEAL_GAS_EQUATION)) //moles in a 2.5 m^3 cell at 101.325 Pa and 20 degC From 1ab66130ffe40eb1c617d9a90ce846473e443530 Mon Sep 17 00:00:00 2001 From: SkyMarshal Date: Tue, 13 Jan 2015 15:28:42 -0700 Subject: [PATCH 023/133] Changed heat exchange pipe properties. No more suns above and below station shining on every square centimeter of it. --- code/ATMOSPHERICS/datum_pipeline.dm | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/code/ATMOSPHERICS/datum_pipeline.dm b/code/ATMOSPHERICS/datum_pipeline.dm index aa4473babd..d2978e887a 100644 --- a/code/ATMOSPHERICS/datum_pipeline.dm +++ b/code/ATMOSPHERICS/datum_pipeline.dm @@ -205,9 +205,13 @@ datum/pipeline var/gas_density = air.total_moles/air.volume thermal_conductivity *= min(gas_density / ( RADIATOR_OPTIMUM_PRESSURE/(R_IDEAL_GAS_EQUATION*T20C) ), 1) + // We only get heat from the star on the exposed surface area. + var/heat_gain = AVERAGE_SOLAR_RADIATION * RADIATOR_EXPOSED_SURFACE_AREA * thermal_conductivity + //if the h/e pipes radiate less than the AVERAGE_SOLAR_RADIATION, then they will heat up, otherwise they will cool down. It turns out the critical temperature is -26 C - var/heat_gain = surface*(AVERAGE_SOLAR_RADIATION - STEFAN_BOLTZMANN_CONSTANT*thermal_conductivity*(air.temperature - COSMIC_RADIATION_TEMPERATURE) ** 4) + // Only would happen if both sides (all 2 square meters of surface area) were exposed to sunlight. We now assume it aligned edge on. + heat_gain += surface * STEFAN_BOLTZMANN_CONSTANT * thermal_conductivity * (air.temperature - COSMIC_RADIATION_TEMPERATURE) ** 4 air.add_thermal_energy(heat_gain) if(network) - network.update = 1 \ No newline at end of file + network.update = 1 From 82b5bd0f5223f9425bbbeb814d05ba55822aebb9 Mon Sep 17 00:00:00 2001 From: SkyMarshal Date: Tue, 13 Jan 2015 15:32:03 -0700 Subject: [PATCH 024/133] Sign errors are almost as bad as off-by-one. --- code/ATMOSPHERICS/datum_pipeline.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/ATMOSPHERICS/datum_pipeline.dm b/code/ATMOSPHERICS/datum_pipeline.dm index d2978e887a..d72b8b2dbf 100644 --- a/code/ATMOSPHERICS/datum_pipeline.dm +++ b/code/ATMOSPHERICS/datum_pipeline.dm @@ -210,7 +210,7 @@ datum/pipeline //if the h/e pipes radiate less than the AVERAGE_SOLAR_RADIATION, then they will heat up, otherwise they will cool down. It turns out the critical temperature is -26 C // Only would happen if both sides (all 2 square meters of surface area) were exposed to sunlight. We now assume it aligned edge on. - heat_gain += surface * STEFAN_BOLTZMANN_CONSTANT * thermal_conductivity * (air.temperature - COSMIC_RADIATION_TEMPERATURE) ** 4 + heat_gain -= surface * STEFAN_BOLTZMANN_CONSTANT * thermal_conductivity * (air.temperature - COSMIC_RADIATION_TEMPERATURE) ** 4 air.add_thermal_energy(heat_gain) if(network) From 5104e40be3b2256940c13d030eca5919bfe51de8 Mon Sep 17 00:00:00 2001 From: SkyMarshal Date: Tue, 13 Jan 2015 15:41:45 -0700 Subject: [PATCH 025/133] Adding calculated temperature for HE pipes. --- code/ATMOSPHERICS/datum_pipeline.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/ATMOSPHERICS/datum_pipeline.dm b/code/ATMOSPHERICS/datum_pipeline.dm index d72b8b2dbf..f663ccb34e 100644 --- a/code/ATMOSPHERICS/datum_pipeline.dm +++ b/code/ATMOSPHERICS/datum_pipeline.dm @@ -210,6 +210,7 @@ datum/pipeline //if the h/e pipes radiate less than the AVERAGE_SOLAR_RADIATION, then they will heat up, otherwise they will cool down. It turns out the critical temperature is -26 C // Only would happen if both sides (all 2 square meters of surface area) were exposed to sunlight. We now assume it aligned edge on. + // It currently should stabilise at 85K or -183C. heat_gain -= surface * STEFAN_BOLTZMANN_CONSTANT * thermal_conductivity * (air.temperature - COSMIC_RADIATION_TEMPERATURE) ** 4 air.add_thermal_energy(heat_gain) From 1382df5dad01b1f9d8c47b6f2c6de5c667e22deb Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Wed, 14 Jan 2015 08:24:33 +0100 Subject: [PATCH 026/133] Fixes #7802. items/examine() now properly calls and returns the result of ..(). --- code/game/atoms.dm | 5 ++++- code/game/objects/items.dm | 7 +------ 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/code/game/atoms.dm b/code/game/atoms.dm index 30f04da4b1..be45d49d97 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -195,7 +195,10 @@ its easier to just keep the beam vertical. f_name = "some " else f_name = "a " - f_name += "blood-stained [name][infix]!" + if(blood_color != "#030303") + f_name += "blood-stained [name][infix]!" + else + f_name += "oil-stained [name][infix]." user << "\icon[src] That's [f_name] [suffix]" diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index ddc983a7ba..09850e3963 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -115,12 +115,7 @@ size = "bulky" if(5.0) size = "huge" - else - //if ((CLUMSY in usr.mutations) && prob(50)) t = "funny-looking" - usr << "This is a [blood_DNA ? blood_color != "#030303" ? "bloody " : "oil-stained " : ""]\icon[src][src.name]. It is a [size] item." - if(src.desc) - usr << src.desc - return + return ..(user, distance, "", "It is a [size] item.") /obj/item/attack_hand(mob/user as mob) if (!user) return From 66ae9f4aac719fd1a9c0d3d575793a0bd594e110 Mon Sep 17 00:00:00 2001 From: Loganbacca Date: Wed, 14 Jan 2015 20:45:20 +1300 Subject: [PATCH 027/133] SMES UI fix - Changed SMES NanoUI Online/Offline switch to reflect the current state it is set to - UI now also displays it's output status: - Outputting = SMES is switched online and outputting normally - Not Outputting = SMES is switched to offline - Stored energy too low = SMES is set to online but can't output because it doesn't have enough charge --- code/modules/power/smes.dm | 9 ++++++++- nano/templates/smes.tmpl | 8 ++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/code/modules/power/smes.dm b/code/modules/power/smes.dm index 11bcef5881..ec5225b54b 100644 --- a/code/modules/power/smes.dm +++ b/code/modules/power/smes.dm @@ -301,6 +301,13 @@ data["outputMax"] = output_level_max data["outputLoad"] = round(output_used) + if(outputting) + data["outputting"] = 2 // smes is outputting + else if(!outputting && output_attempt && charge < output_level) + data["outputting"] = 1 // smes is online but not outputting because it's charge level is too low + else + data["outputting"] = 0 // smes is not outputting + // update the ui if it exists, returns null if no ui is passed/found ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) @@ -326,7 +333,7 @@ update_icon() else if( href_list["online"] ) - outputting(!outputting) + outputting(!output_attempt) update_icon() else if( href_list["input"] ) switch( href_list["input"] ) diff --git a/nano/templates/smes.tmpl b/nano/templates/smes.tmpl index 8b72cefedd..799ac3911d 100644 --- a/nano/templates/smes.tmpl +++ b/nano/templates/smes.tmpl @@ -50,6 +50,14 @@

From f479ba9212b1460480e85bcd3fe3bb087a5f2f14 Mon Sep 17 00:00:00 2001 From: Loganbacca Date: Wed, 14 Jan 2015 22:03:29 +1300 Subject: [PATCH 028/133] SMES UI tweak Switching this to mirror output switching as in the last commit --- code/modules/power/smes.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/power/smes.dm b/code/modules/power/smes.dm index ec5225b54b..546b9ef465 100644 --- a/code/modules/power/smes.dm +++ b/code/modules/power/smes.dm @@ -329,7 +329,7 @@ return 1 if( href_list["cmode"] ) - inputting(!inputting) + inputting(!input_attempt) update_icon() else if( href_list["online"] ) From b8146ce26d6f92191008aa2b1b599bfaff7a52f7 Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Wed, 14 Jan 2015 15:58:09 +0000 Subject: [PATCH 029/133] Fixes laptop crew monitor program not showing assignment --- code/WorkInProgress/computer3/computers/crew.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/WorkInProgress/computer3/computers/crew.dm b/code/WorkInProgress/computer3/computers/crew.dm index 170bd92607..836500a344 100644 --- a/code/WorkInProgress/computer3/computers/crew.dm +++ b/code/WorkInProgress/computer3/computers/crew.dm @@ -35,7 +35,7 @@ var/life_status = "[H.stat > 1 ? "Deceased" : "Living"]" var/damage_report = "([dam1]/[dam2]/[dam3]/[dam4])" - log += "[H.get_id_name()]" + log += "[H.get_authentification_name()] ([H.get_assignment()])" switch(C.sensor_mode) if(1) From f711e3b24c52617dd9ed0713084d28e6cd7e2de0 Mon Sep 17 00:00:00 2001 From: Loganbacca Date: Thu, 15 Jan 2015 15:35:45 +1300 Subject: [PATCH 030/133] Removed unnecessary check --- code/modules/power/smes.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/power/smes.dm b/code/modules/power/smes.dm index 546b9ef465..18aa6b4885 100644 --- a/code/modules/power/smes.dm +++ b/code/modules/power/smes.dm @@ -303,7 +303,7 @@ if(outputting) data["outputting"] = 2 // smes is outputting - else if(!outputting && output_attempt && charge < output_level) + else if(!outputting && output_attempt) data["outputting"] = 1 // smes is online but not outputting because it's charge level is too low else data["outputting"] = 0 // smes is not outputting From 812b9d3348e1a0ed80c7b7b4ae90e7ee09eb00e8 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Wed, 14 Jan 2015 22:12:44 -0500 Subject: [PATCH 031/133] Fixes body_parts_covered not updating when rolling jumpsuits --- code/modules/clothing/clothing.dm | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index 38b60890c0..83a0e1864d 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -399,8 +399,6 @@ BLIND // can't see anything */ var/obj/item/clothing/tie/hastie = null var/displays_id = 1 - var/rolled_down = 0 - var/basecolor sprite_sheets = list("Vox" = 'icons/mob/species/vox/uniform.dmi') /obj/item/clothing/under/update_clothing_icon() @@ -526,11 +524,14 @@ BLIND // can't see anything if(!istype(usr, /mob/living)) return if(usr.stat) return - if(copytext(item_color,-2) != "_d") - basecolor = item_color - if(basecolor + "_d_s" in icon_states('icons/mob/uniform.dmi')) - body_parts_covered = "[basecolor]" ? LEGS|LOWER_TORSO : UPPER_TORSO|LOWER_TORSO|LEGS|ARMS - item_color = item_color == "[basecolor]" ? "[basecolor]_d" : "[basecolor]" + if(initial(item_color) + "_d_s" in icon_states('icons/mob/uniform.dmi')) + if (item_color == initial(item_color)) + body_parts_covered &= LOWER_TORSO|LEGS|FEET + item_color = "[initial(item_color)]_d" + else + body_parts_covered = initial(body_parts_covered) + item_color = initial(item_color) + update_clothing_icon() else usr << "You cannot roll down the uniform!" From b2a7e6d1771b776f8b529cc92d98530f376a2b64 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Wed, 14 Jan 2015 12:40:01 -0500 Subject: [PATCH 032/133] Fixes broken airlocks producing intact electronics --- code/game/machinery/doors/airlock.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index bf9232cc20..307f9cf711 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -876,6 +876,7 @@ About the new airlock wires panel: src.welded = 1 else src.welded = null + playsound(src, 'sound/items/Welder.ogg', 100, 1) src.update_icon() return else @@ -924,7 +925,7 @@ About the new airlock wires panel: da.created_name = src.name da.update_state() - if(operating == -1) + if(operating == -1 || (stat & BROKEN)) new /obj/item/weapon/circuitboard/broken(src.loc) operating = 0 else From 4489b272cf97167763fa506871029491db3c1462 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Wed, 14 Jan 2015 13:16:15 -0500 Subject: [PATCH 033/133] Updates firelock construction Firelock construction now requires one cable piece --- code/game/machinery/doors/firedoor.dm | 1 + .../game/machinery/doors/firedoor_assembly.dm | 24 ++++++++++++++++++- 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/code/game/machinery/doors/firedoor.dm b/code/game/machinery/doors/firedoor.dm index 264fecbc2b..afff015e41 100644 --- a/code/game/machinery/doors/firedoor.dm +++ b/code/game/machinery/doors/firedoor.dm @@ -219,6 +219,7 @@ var/obj/structure/firedoor_assembly/FA = new/obj/structure/firedoor_assembly(src.loc) FA.anchored = 1 FA.density = 1 + FA.wired = 1 FA.update_icon() del(src) return diff --git a/code/game/machinery/doors/firedoor_assembly.dm b/code/game/machinery/doors/firedoor_assembly.dm index 017e758ef3..1372997f83 100644 --- a/code/game/machinery/doors/firedoor_assembly.dm +++ b/code/game/machinery/doors/firedoor_assembly.dm @@ -6,6 +6,7 @@ obj/structure/firedoor_assembly anchored = 0 opacity = 0 density = 0 + var/wired = 0 obj/structure/firedoor_assembly/update_icon() if(anchored) @@ -14,7 +15,28 @@ obj/structure/firedoor_assembly/update_icon() icon_state = "door_construction" obj/structure/firedoor_assembly/attackby(C as obj, mob/user as mob) - if(istype(C, /obj/item/weapon/airalarm_electronics)) + if(istype(C, /obj/item/stack/cable_coil) && !wired && anchored) + var/obj/item/stack/cable_coil/cable = C + if (cable.get_amount() < 1) + user << "You need one length of coil to wire \the [src]." + return + user.visible_message("[user] wires \the [src].", "You start to wire \the [src].") + if(do_after(user, 40) && !wired && anchored) + if (cable.use(1)) + wired = 1 + user << "You wire \the [src]." + + else if(istype(C, /obj/item/weapon/wirecutters) && wired ) + playsound(src.loc, 'sound/items/Wirecutter.ogg', 100, 1) + user.visible_message("[user] cuts the wires from \the [src].", "You start to cut the wires from \the [src].") + + if(do_after(user, 40)) + if(!src) return + user << "You cut the wires!" + new/obj/item/stack/cable_coil(src.loc, 1) + wired = 0 + + else if(istype(C, /obj/item/weapon/airalarm_electronics) && wired) if(anchored) playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1) user.visible_message("[user] has inserted a circuit into \the [src]!", From c99df46d70a9cb201952e639d0c1ebcb01f1acf1 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Wed, 14 Jan 2015 14:08:42 -0500 Subject: [PATCH 034/133] Firelock fixes Fixes firelocks producing intact electronics when broken. Allows firelocks to be damaged by melee weapons and repaired. Swaps anchored and unanchored assembly icons, so that the assembly starts to look progressively more like the final product as it is constructed. --- code/game/machinery/doors/firedoor.dm | 17 ++++++++++++----- icons/obj/doors/DoorHazard.dmi | Bin 5243 -> 5242 bytes 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/code/game/machinery/doors/firedoor.dm b/code/game/machinery/doors/firedoor.dm index afff015e41..55b392feff 100644 --- a/code/game/machinery/doors/firedoor.dm +++ b/code/game/machinery/doors/firedoor.dm @@ -186,13 +186,14 @@ add_fingerprint(user) if(operating) return//Already doing something. - if(istype(C, /obj/item/weapon/weldingtool)) + if(istype(C, /obj/item/weapon/weldingtool) && !repairing) var/obj/item/weapon/weldingtool/W = C if(W.remove_fuel(0, user)) blocked = !blocked user.visible_message("\The [user] [blocked ? "welds" : "unwelds"] \the [src] with \a [W].",\ "You [blocked ? "weld" : "unweld"] \the [src] with \the [W].",\ "You hear something being welded.") + playsound(src, 'sound/items/Welder.ogg', 100, 1) update_icon() return @@ -203,7 +204,7 @@ update_icon() return - if(blocked && istype(C, /obj/item/weapon/crowbar)) + if(blocked && istype(C, /obj/item/weapon/crowbar) && !repairing) if(!hatch_open) user << "You must open the maintenance hatch first!" else @@ -215,7 +216,11 @@ user.visible_message("[user] has removed the electronics from \the [src].", "You have removed the electronics from [src].") - new/obj/item/weapon/airalarm_electronics(src.loc) + if (stat & BROKEN) + new /obj/item/weapon/circuitboard/broken(src.loc) + else + new/obj/item/weapon/airalarm_electronics(src.loc) + var/obj/structure/firedoor_assembly/FA = new/obj/structure/firedoor_assembly(src.loc) FA.anchored = 1 FA.density = 1 @@ -225,10 +230,10 @@ return if(blocked) - user << "\The [src] is welded solid!" + user << "\The [src] is welded shut!" return - if(istype(C, /obj/item/weapon/crowbar) || istype(C,/obj/item/weapon/melee/energy/blade) || istype(C,/obj/item/weapon/twohanded/fireaxe)) + if(istype(C, /obj/item/weapon/crowbar) || istype(C,/obj/item/weapon/twohanded/fireaxe)) if(operating) return @@ -263,6 +268,8 @@ spawn(0) close() return + + return ..() // CHECK PRESSURE /obj/machinery/door/firedoor/process() diff --git a/icons/obj/doors/DoorHazard.dmi b/icons/obj/doors/DoorHazard.dmi index 037c1475f2bd66d83f71cb903bd1f58a8a54d91f..35f4c474bf3adf9376ec819f4a7f7e3649262ba3 100644 GIT binary patch delta 271 zcmV+q0r39&DEcUnB!BpNR9JLGWpiV4X>fFDZ*Bkpc$}?~!HU8#5QfjmQw(}7%eLy? za#@7P`u&AVP=#P%OM`q0k3TBol?Mj$1Y?fHco}vU{pV#-7Jo$@jiWR^veCd4GpCbb zPtP=a#$YGxr^6mj;>xxcg*!RqyD4iT8%WO)JaEo+ExvbDE9&H^@V34(nYF V^|q0}lL7EVD+4%gXR{^&RTEX#hUEYN delta 272 zcmV+r0q_3$DElaoB!BsOR9JLGWpiV4X>fFDZ*Bkpc$}?~!D_=W42IA4Q;7B&#*((X z`7%;U4(%%xV{5gUX9Zhb>D%uRXg20_DGXn1_&!O$yoA^7t~)@x@8l<@>?wkR_0zKy z7jM~tf>k4hLw|BSJThxWP_VE>>1YCFvnOi5uJNfQidkGlt((o6*q$6CVwQZ= Date: Thu, 15 Jan 2015 18:27:52 +1300 Subject: [PATCH 035/133] AI/borg med HUD fix - Fixes bug causing AI's and borgs with medical sensor augmentation set to not see med huds - Status icon displayed if suit sensors set to binary or higher - Health bar displayed if suit sensors set to vitals or higher - Wearable med huds will always display all info, including mounted borg huds --- code/defines/procs/hud.dm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/code/defines/procs/hud.dm b/code/defines/procs/hud.dm index 04afb6c63e..c9bcaeea1b 100644 --- a/code/defines/procs/hud.dm +++ b/code/defines/procs/hud.dm @@ -12,12 +12,12 @@ proc/process_med_hud(var/mob/M, var/local_scanner, var/mob/Alt) if(P.Mob.see_invisible < patient.invisibility) continue - if(!(local_scanner || hassensorlevel(P, SUIT_SENSOR_VITAL))) + if(!(local_scanner || hassensorlevel(patient, SUIT_SENSOR_BINARY))) continue - P.Client.images += patient.hud_list[HEALTH_HUD] - if(local_scanner) - P.Client.images += patient.hud_list[STATUS_HUD] + P.Client.images += patient.hud_list[STATUS_HUD] + if(local_scanner || hassensorlevel(patient, SUIT_SENSOR_VITAL)) + P.Client.images += patient.hud_list[HEALTH_HUD] //Security HUDs. Pass a value for the second argument to enable implant viewing or other special features. proc/process_sec_hud(var/mob/M, var/advanced_mode, var/mob/Alt) From e5ab434d1d51f53491b8a22cd8e7dacd95211da9 Mon Sep 17 00:00:00 2001 From: Loganbacca Date: Thu, 15 Jan 2015 21:18:58 +1300 Subject: [PATCH 036/133] Reverted health status hud icon from AI overlay --- code/defines/procs/hud.dm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/code/defines/procs/hud.dm b/code/defines/procs/hud.dm index c9bcaeea1b..be678b8397 100644 --- a/code/defines/procs/hud.dm +++ b/code/defines/procs/hud.dm @@ -12,12 +12,12 @@ proc/process_med_hud(var/mob/M, var/local_scanner, var/mob/Alt) if(P.Mob.see_invisible < patient.invisibility) continue - if(!(local_scanner || hassensorlevel(patient, SUIT_SENSOR_BINARY))) + if(!(local_scanner || hassensorlevel(patient, SUIT_SENSOR_VITAL))) continue - P.Client.images += patient.hud_list[STATUS_HUD] - if(local_scanner || hassensorlevel(patient, SUIT_SENSOR_VITAL)) - P.Client.images += patient.hud_list[HEALTH_HUD] + P.Client.images += patient.hud_list[HEALTH_HUD] + if(local_scanner) + P.Client.images += patient.hud_list[STATUS_HUD] //Security HUDs. Pass a value for the second argument to enable implant viewing or other special features. proc/process_sec_hud(var/mob/M, var/advanced_mode, var/mob/Alt) From 5fc035bffc43f9123bb53ebf8f51f7b6161911c7 Mon Sep 17 00:00:00 2001 From: Loganbacca Date: Thu, 15 Jan 2015 21:21:13 +1300 Subject: [PATCH 037/133] Ghost labeller fix No you cant stick labels on ghosts --- code/modules/paperwork/handlabeler.dm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/code/modules/paperwork/handlabeler.dm b/code/modules/paperwork/handlabeler.dm index 3722d586e4..fe519e01d4 100644 --- a/code/modules/paperwork/handlabeler.dm +++ b/code/modules/paperwork/handlabeler.dm @@ -33,6 +33,9 @@ if(issilicon(A)) user << "The label refuses to stick to [A.name]." return + if(isobserver(A)) + user << "[src] passes through [A.name]." + return if(istype(A, /obj/item/weapon/reagent_containers/glass)) user << "The label can't stick to the [A.name]. (Try using a pen)" return From 3254190d44fc251a1f43296f9329e99ac8071508 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Thu, 15 Jan 2015 09:54:38 +0100 Subject: [PATCH 038/133] Fixes #7705. Incinerator pumps now begin off by default, affecting both the medbay and toxins variant. Replaces a few pumps with the /obj/machinery/atmospherics/binary/pump/on type instead of overriding on and icon_state. --- maps/exodus-1.dmm | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/maps/exodus-1.dmm b/maps/exodus-1.dmm index ae34a17a6b..4478171d36 100644 --- a/maps/exodus-1.dmm +++ b/maps/exodus-1.dmm @@ -5174,7 +5174,7 @@ "bVz" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/engine/vacuum,/area/rnd/mixing) "bVA" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "bot"},/area/rnd/research) "bVB" = (/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/wall/r_wall,/area/rnd/mixing) -"bVC" = (/obj/machinery/airlock_sensor{id_tag = "tox_airlock_sensor"; master_tag = "tox_airlock_control"; pixel_y = 24},/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/binary/pump/on{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/cyan,/turf/simulated/floor/engine,/area/rnd/mixing) +"bVC" = (/obj/machinery/airlock_sensor{id_tag = "tox_airlock_sensor"; master_tag = "tox_airlock_control"; pixel_y = 24},/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/cyan,/obj/machinery/atmospherics/binary/pump{dir = 4},/turf/simulated/floor/engine,/area/rnd/mixing) "bVD" = (/obj/machinery/meter,/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "tox_airlock_pump"; tag_exterior_door = "tox_airlock_exterior"; id_tag = "tox_airlock_control"; tag_interior_door = "tox_airlock_interior"; pixel_x = -24; pixel_y = 0; tag_chamber_sensor = "tox_airlock_sensor"},/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/turf/simulated/floor{dir = 1; icon_state = "warnwhitecorner"},/area/rnd/mixing) "bVE" = (/obj/machinery/atmospherics/valve{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "warnwhite"},/area/rnd/mixing) "bVF" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/rnd/mixing) @@ -5325,7 +5325,7 @@ "bYu" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "white"},/area/rnd/research) "bYv" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor{icon_state = "white"},/area/rnd/research) "bYw" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/obj/machinery/door/window/eastright{dir = 8; name = "Chemistry Desk"; req_access_txt = "33"},/obj/machinery/door/blast/shutters{density = 0; dir = 4; icon_state = "shutter0"; id = "chemcounter"; name = "Pharmacy Counter Shutters"; opacity = 0},/obj/structure/table/reinforced,/turf/simulated/floor{icon_state = "yellowfull"; dir = 8},/area/medical/chemistry) -"bYx" = (/obj/structure/sign/fire{pixel_y = -32},/obj/machinery/atmospherics/binary/pump/on{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/cyan,/turf/simulated/floor/engine,/area/rnd/mixing) +"bYx" = (/obj/structure/sign/fire{pixel_y = -32},/obj/machinery/atmospherics/pipe/simple/hidden/cyan,/obj/machinery/atmospherics/binary/pump{dir = 8},/turf/simulated/floor/engine,/area/rnd/mixing) "bYy" = (/obj/machinery/meter,/obj/machinery/door_control{id = "mixvent"; name = "Mixing Room Vent Control"; pixel_x = -25; pixel_y = 5; req_access_txt = "7"},/obj/machinery/ignition_switch{id = "mixingsparker"; pixel_x = -25; pixel_y = -5},/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "warnwhitecorner"},/area/rnd/mixing) "bYz" = (/obj/machinery/atmospherics/valve{dir = 4},/obj/machinery/light,/obj/structure/extinguisher_cabinet{pixel_x = 0; pixel_y = -29},/turf/simulated/floor{dir = 4; icon_state = "warnwhite"},/area/rnd/mixing) "bYA" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/rnd/mixing) @@ -6123,8 +6123,8 @@ "cnM" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering Hallway"; req_one_access_txt = "10;24"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/hallway/primary/aft) "cnN" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering Hallway"; req_one_access_txt = "10;24"},/turf/simulated/floor,/area/hallway/primary/aft) "cnO" = (/turf/simulated/wall/r_wall,/area/engine/workshop) -"cnP" = (/obj/machinery/atmospherics/binary/pump{dir = 1; icon_state = "map_on"; use_power = 1},/turf/simulated/floor,/area/atmos) -"cnQ" = (/obj/machinery/atmospherics/binary/pump{icon_state = "map_on"; use_power = 1},/turf/simulated/floor,/area/atmos) +"cnP" = (/obj/machinery/atmospherics/binary/pump/on{dir = 1},/turf/simulated/floor,/area/atmos) +"cnQ" = (/obj/machinery/atmospherics/binary/pump/on,/turf/simulated/floor,/area/atmos) "cnR" = (/turf/simulated/wall/r_wall,/area/engine/storage_hard) "cnS" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating{dir = 4; icon_state = "warnplatecorner"},/area/maintenance/engineering) "cnT" = (/obj/structure/table,/obj/item/weapon/hemostat,/obj/machinery/light,/obj/item/weapon/cautery,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) @@ -6790,6 +6790,7 @@ "cAD" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/atmos) "cAE" = (/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/atmos) "cAF" = (/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/atmos) +"cAG" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; layer = 3.1; master_tag = "incinerator_access_control"; name = "Incinerator airlock control"; pixel_x = 10; pixel_y = -22},/obj/structure/sign/fire{pixel_x = -32; pixel_y = 0},/obj/machinery/light/small{dir = 8},/obj/machinery/atmospherics/binary/pump,/turf/simulated/floor/plating,/area/maintenance/incinerator) "cAH" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/plating,/area/atmos) "cAI" = (/turf/simulated/wall/r_wall,/area/engine/hallway) "cAJ" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering Hallway"; req_one_access_txt = "10;24"},/turf/simulated/floor,/area/engine/hallway) @@ -6831,6 +6832,7 @@ "cBt" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/visible/purple{tag = "icon-intact (NORTH)"; icon_state = "intact"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/plating,/area/atmos) "cBu" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/atmos) "cBv" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/visible/green,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/atmos) +"cBw" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "incinerator_access_control"; name = "Incinerator airlock control"; pixel_x = -8; pixel_y = 24},/obj/structure/sign/fire{pixel_x = 32; pixel_y = 0},/obj/machinery/atmospherics/binary/pump{dir = 1},/turf/simulated/floor/plating,/area/maintenance/incinerator) "cBz" = (/obj/machinery/atmospherics/pipe/manifold/visible/purple,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/engine/engine_room) "cBA" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/engine/engine_room) "cBB" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/atmos) @@ -6894,8 +6896,6 @@ "cCR" = (/obj/machinery/atmospherics/valve,/turf/simulated/floor/plating,/area/maintenance/engineering) "cCS" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 6; icon_state = "intact"; tag = "icon-intact-f (SOUTHEAST)"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/maintenance/engineering) "cCT" = (/obj/machinery/atmospherics/pipe/tank/air{dir = 8},/turf/simulated/floor/plating,/area/maintenance/engineering) -"cCU" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; layer = 3.1; master_tag = "incinerator_access_control"; name = "Incinerator airlock control"; pixel_x = 10; pixel_y = -22},/obj/structure/sign/fire{pixel_x = -32; pixel_y = 0},/obj/machinery/light/small{dir = 8},/obj/machinery/atmospherics/binary/pump/on,/turf/simulated/floor/plating,/area/maintenance/incinerator) -"cCV" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "incinerator_access_control"; name = "Incinerator airlock control"; pixel_x = -8; pixel_y = 24},/obj/structure/sign/fire{pixel_x = 32; pixel_y = 0},/obj/machinery/atmospherics/binary/pump/on{dir = 1},/turf/simulated/floor/plating,/area/maintenance/incinerator) "cCW" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor/plating/airless,/area/space) "cCX" = (/turf/simulated/floor/plating/airless,/area/maintenance/medbay) "cCY" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "virology_airlock"; name = "exterior access button"; pixel_x = 20; pixel_y = 20; req_access_txt = "13"},/turf/simulated/floor/plating/airless,/area/maintenance/medbay) @@ -7405,7 +7405,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaaaaaaaaacptcpucymcpucpucpucyocpucpucpucyocpucpucpucpucpucrRcpucywcpucyncvpcpucpucylcykcuhcyjcoCctdcoCcoCcpucyiczBcxCcyGcoQcxDcoQcnOckYczEczFczGczHcoXcnOczIczJczJczKczLczMczNczOcvNcxNczPczQcxNczRczSczTcvNczUczVcrGaaaaaaaaaaaaaaaaaacqvczWcuMczXcuVczYczZcAactFcAbcAccsPcyXczWcAdcAecqvaaaaaaaaaaaackEcdOcAfcAgcAgcAhcAicAjcAkcAlcAmcAncAocApcAqcokcAraaaaaacrPaafcwjcwjcwjcwjcwjaaackxaafcwjcwjcwjcwjcwjaaacrPaaacyhaaaaaacyhaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaacyhaaaaaacyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaacyxcpucymcpucqKcqMcyucqMcuacqMcyucqMcuacqMcqMcqMcyqcytcyqcyscyrcuhcyBcyCcACcADcAEcAFcoCclacnzcoCcoCcoCcoCcoCcAIcAJcAKcAJcnOcnOcnOcnOcnOcnOcnOcnOcALczJczJcAMcANcAObPxcAPcvNcAQcARcAScATcAUcAVcAWcvNcAXcAYcrGaaaaaaaaaaaaaaaaaacqvcuQcAZcAectFcBacBbcBcctFcBdcBecBfcBgcBhcBicBjcqvaafaafaaaaaaaaaaaabquaaacdOcBlcBmcBncBocBpcBmcBqcBrcBpcBmcBscdOaaaaaabZSaaaaafaaaaafaaaaafaaackxaaaaafaaaaafaafaafaafcrPaaacyhcyhcyhcyhaaacyhcyhcyhcyhcyhcyhcyhcyhcyhaaacyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabZSaaaaaaaaaaaaaamaaaaaaaaacyDcpucymcpucywcwscymcpucywcwscymcpucywcwscpucpucyvcpucywcwscyEczfczhczecBBcBCcBDcBEcoCcyFcBGcvqcBIcBJcBKcBLcBMcBKcBNcBKcBOcBPcBQcBRcBScBScBTcBUcBVcBWcBWcBXcBYcAObPxcBZcvNcvNcCacCbcCccCbcCacCdcvNcrGcCecrGaaaaaaaaaaaaaaaaaacqvctFcCfcuVctFcCgcChcCictFcCjcCkcqycgvcCmcCncCocrHaaaaaaaaaaaaaaaaaacgwaafcdOcCqcluclUcomclsclpclqcomcloclVclWcdOaaaaaacrPaaactXctXctXctXctXaafckxaafctXctXctXctXctXaafcrPaaacyhcyhcyhcyhaaacyhcyhcyhcyhcyhcyhcyhcyhcyhaaacyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaafaafaafaafaamaafaafaafcyDczwczAczyczgczsczqczpczkcznczmczlczoczscpuczwczvczuczrczncztcoCcoCcoCcCzcCzcCzcCzcCzcvrcCzcCBcCCcCDcCEcCFcCEcCEcCGcCEcCEcCHcCEcCDcCIcCJcCKcCLciCcCNcCOcCPcCQcAObPwcCRcCScCTcCacCUcAVcCVcCacCWaafcCXcCYcCXaaaaaaaaaaaaaaaaaacqvcCZctDcuQcDacDbcuQcDccDdcDeaafaaachxchFchEclXaaaaaaaaaaacaaaaaaaaaaaaaaacdOcDhcplcplcomcDicplcplcomcDicplcplcdOaafaafcrPaafckVckSckSckSckSckyckxckwckvckvckvckvckUaafcrPaaacyhcyhcyhcyhaaacyhcyhcyhcyhcyhcyhcyhcyhcyhaaacyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaafaafaafaafaamaafaafaafcyDczwczAczyczgczsczqczpczkcznczmczlczoczscpuczwczvczuczrczncztcoCcoCcoCcCzcCzcCzcCzcCzcvrcCzcCBcCCcCDcCEcCFcCEcCEcCGcCEcCEcCHcCEcCDcCIcCJcCKcCLciCcCNcCOcCPcCQcAObPwcCRcCScCTcCacAGcAVcBwcCacCWaafcCXcCYcCXaaaaaaaaaaaaaaaaaacqvcCZctDcuQcDacDbcuQcDccDdcDeaafaaachxchFchEclXaaaaaaaaaaacaaaaaaaaaaaaaaacdOcDhcplcplcomcDicplcplcomcDicplcplcdOaafaafcrPaafckVckSckSckSckSckyckxckwckvckvckvckvckUaafcrPaaacyhcyhcyhcyhaaacyhcyhcyhcyhcyhcyhcyhcyhcyhaaacyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPcpFaaaaaaaaaaamaaaaaaaaacAzcAvcAwcAxcAycABcAAcAHcAycABcAAcAHcAycABcBucBucBvcAHcAycABcBtcoCaaacDvcDwcDxcDycDzcDAcAucDCcDDcDDcDEcDFcDGcDHcDIcDJcDHcDIcDGcDKcDLcDMcDKcCBcCBcAOcDNcDOcDPcDQcAObNUcDRcDScDTcCacCbcDUcCbcCacCWaafaaaaafaaaaaaaaaaaaaaaaaaaaacqvcCZcDVcDWcDXcDXcDWcsPcDYcqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacdOcDZcplcplcomcEacplcplcomcEacplcplcdOaaaaaacrPaafcwjcwjcwjcwjcwjaaackxaaacwjcwjcwjcwjcwjaaacrPaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPcClcqLcqLcqLcpEcpIcpIcpIcqLcpIcpPcpIcpGcpIcpPcpIcpGcpIcpPcpIcpGcpIcqLcpIcpRcpIcpGcpIcqNaafaaacEicEjcEkcElcEmcEncAucEocDDcEpcEqcErcEscEtcEucEvcEwcExcEscEycEzcEAcDKaaaaafcAOcEBcECcEDaafaaabNUbPxbPxbSkcCaclZcEFclYcCacCWaafaafaaaaaaaaaaaaaaaaaaaaaaaacqvcEHcuXcEIcEJcEJcEIcuQcEKcqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacdOcplcplcplcomcELcplcplcomcELcplcplcdOaacaaacrPaaaaaaaafaafaafaaaaaacmTaafaaaaaaaafaafaaaaaacrPaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaafaafaaaaaaaaqaaaaaaaaaaafcgRcCpcmtcmvcgRcCpcmtcmvcgRcCpcmtcmxcgRaaacgRcmycmtcmxcgRaaaaafaaacEicEQcERcEScEQcCAcDBcEUcDDcEVcEWcEXcEscEYcEZcFacFbcFccEscFdcFecFfcDKaaaaaacAOcFgcFhcFiaaaaaabNUbPxbPxbNUcCacmUcmUcmUcCacFkcmWaaaaaaaaaaaaaaaaaaaaaaaaaaacqvcFmcFncuQcuQcuQcuQcuQcFocqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaackEcdOcdOcdOcdOcdOcdOcdOcdOcmYcmYcmYckEaaaaaacrPcrPcrPcrPcrPaaaaaaaaacmZaaaaaaaaacrPcrPcrPbZScrPaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa From 5c6c65e728f20ff04fc89a6dd49c8b55eaec9d55 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Thu, 15 Jan 2015 10:25:49 +0100 Subject: [PATCH 039/133] Can no longer see the AI eye by right or alt-clicking turfs. --- code/modules/mob/living/silicon/ai/freelook/eye.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/modules/mob/living/silicon/ai/freelook/eye.dm b/code/modules/mob/living/silicon/ai/freelook/eye.dm index 17293f2b67..590ff71ea5 100644 --- a/code/modules/mob/living/silicon/ai/freelook/eye.dm +++ b/code/modules/mob/living/silicon/ai/freelook/eye.dm @@ -12,6 +12,7 @@ status_flags = GODMODE // You can't damage it. mouse_opacity = 0 see_in_dark = 7 + invisibility = INVISIBILITY_MAXIMUM // Movement code. Returns 0 to stop air movement from moving it. /mob/aiEye/Move() From 8ec096581cf9a386cf76db65bb4119be5df57017 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Fri, 5 Dec 2014 11:57:03 +1030 Subject: [PATCH 040/133] Fix for blood drip overlaying + secret feature --- .../effects/decals/Cleanable/humans.dm | 20 +++++++---- code/modules/admin/admin.dm | 1 + code/modules/admin/topic.dm | 10 ++++++ code/modules/organs/blood.dm | 35 +++++++------------ 4 files changed, 37 insertions(+), 29 deletions(-) diff --git a/code/game/objects/effects/decals/Cleanable/humans.dm b/code/game/objects/effects/decals/Cleanable/humans.dm index 20dc45099c..ed996e3f1e 100644 --- a/code/game/objects/effects/decals/Cleanable/humans.dm +++ b/code/game/objects/effects/decals/Cleanable/humans.dm @@ -114,13 +114,19 @@ var/global/list/image/splatter_cache=list() amount = 2 /obj/effect/decal/cleanable/blood/drip - name = "drips of blood" - desc = "It's red." - gender = PLURAL - icon = 'icons/effects/drip.dmi' - icon_state = "1" - random_icon_states = list("1","2","3","4","5") - amount = 0 + name = "drips of blood" + desc = "It's red." + gender = PLURAL + icon = 'icons/effects/drip.dmi' + icon_state = "1" + random_icon_states = list("1","2","3","4","5") + amount = 0 + var/list/drips = list() + +/obj/effect/decal/cleanable/blood/drip/New() + ..() + spawn(1) + drips |= icon_state /obj/effect/decal/cleanable/blood/writing icon_state = "tracks" diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index 9c3acb9c78..f090d8665d 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -653,6 +653,7 @@ var/global/floorIsLava = 0 Ghost Mode
Make all players retarded
Make all items look like guns
+ Paintball Mode
Japanese Animes Mode
Egalitarian Station Mode
Launch a shuttle
diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index bb1416dac0..7c2a12e1d5 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -2399,6 +2399,16 @@ W.item_color = "schoolgirl" message_admins("[key_name_admin(usr)] activated Japanese Animes mode") world << sound('sound/AI/animes.ogg') + if("paintball") + feedback_inc("admin_secrets_fun_used",1) + feedback_add_details("admin_secrets_fun_used","PB") + for(var/species in all_species) + var/datum/species/S = all_species[species] + S.blood_color = "rainbow" + for(var/obj/effect/decal/cleanable/blood/B in world) + B.basecolor = "rainbow" + B.update_icon() + message_admins("[key_name_admin(usr)] activated Paintball mode") if("eagles")//SCRAW feedback_inc("admin_secrets_fun_used",1) feedback_add_details("admin_secrets_fun_used","EgL") diff --git a/code/modules/organs/blood.dm b/code/modules/organs/blood.dm index 8d4144a550..067ef6a42e 100644 --- a/code/modules/organs/blood.dm +++ b/code/modules/organs/blood.dm @@ -290,29 +290,24 @@ proc/blood_splatter(var/target,var/datum/reagent/blood/source,var/large) source.data["blood_type"] = donor.dna.b_type // Are we dripping or splattering? - if(!large) - - // Only a certain number of drips can be on a given turf. - var/list/drips = list() - var/list/drip_icons = list("1","2","3","4","5") - - for(var/obj/effect/decal/cleanable/blood/drip/drop in T) - drips += drop - drip_icons.Remove(drop.icon_state) - - // If we have too many drips, remove them and spawn a proper blood splatter. - if(drips.len >= 5) - //TODO: copy all virus data from drips to new splatter? - for(var/obj/effect/decal/cleanable/blood/drip/drop in drips) - del drop - else - decal_type = /obj/effect/decal/cleanable/blood/drip + var/list/drips = list() + // Only a certain number of drips (or one large splatter) can be on a given turf. + for(var/obj/effect/decal/cleanable/blood/drip/drop in T) + drips |= drop.drips + del(drop) + if(!large && drips.len < 3) + decal_type = /obj/effect/decal/cleanable/blood/drip // Find a blood decal or create a new one. B = locate(decal_type) in T if(!B) B = new decal_type(T) + var/obj/effect/decal/cleanable/blood/drip/drop = B + if(istype(drop) && drips && drips.len && !large) + drop.overlays |= drips + drop.drips |= drips + // If there's no data to copy, call it quits here. if(!source) return B @@ -330,11 +325,7 @@ proc/blood_splatter(var/target,var/datum/reagent/blood/source,var/large) else B.blood_DNA[source.data["blood_DNA"]] = "O+" - // Update virus information. //Looks like this is out of date. - //for(var/datum/disease/D in source.data["viruses"]) - // var/datum/disease/new_virus = D.Copy(1) - // source.viruses += new_virus - // new_virus.holder = B + // Update virus information. if(source.data["virus2"]) B.virus2 = virus_copylist(source.data["virus2"]) From a2e23b88b2bf353663a308bdfd30eae2509f877a Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Thu, 15 Jan 2015 10:57:06 +0100 Subject: [PATCH 041/133] Limits AI access to machinery on admin levels. Adds check in canUseTopic to ensure the AI cannot access machinery on admin levels unless physically present. --- code/game/machinery/machinery.dm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/code/game/machinery/machinery.dm b/code/game/machinery/machinery.dm index 1a3cce2cf9..4d192c5dd9 100644 --- a/code/game/machinery/machinery.dm +++ b/code/game/machinery/machinery.dm @@ -230,6 +230,10 @@ Class Procs: /mob/living/silicon/ai/canUseTopic(atom/movable/M) if(stat) return + // Prevents the AI from using Topic on admin levels (by for example viewing through the court/thunderdome cameras) + // unless it's on the same level as the object it's interacting with. + if(!(z == M.z || M.z in config.player_levels)) + return //stop AIs from leaving windows open and using then after they lose vision //apc_override is needed here because AIs use their own APC when powerless if(cameranet && !cameranet.checkTurfVis(get_turf(M)) && !apc_override) From 1c772e99143d063a13584313a91c6a5af36a1760 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Thu, 15 Jan 2015 16:45:45 +0300 Subject: [PATCH 042/133] Fixes #7821 --- code/game/gamemodes/setupgame.dm | 2 +- code/modules/mob/living/carbon/human/human.dm | 1 + code/modules/virus2/effect.dm | 4 ++-- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/code/game/gamemodes/setupgame.dm b/code/game/gamemodes/setupgame.dm index d2b54fe5ba..09d83c01b3 100644 --- a/code/game/gamemodes/setupgame.dm +++ b/code/game/gamemodes/setupgame.dm @@ -91,7 +91,7 @@ //REMOTEVIEWBLOCK = getAssignedBlock("REMOTEVIEW", numsToAssign, DNA_HARDER_BOUNDS) //REGENERATEBLOCK = getAssignedBlock("REGENERATE", numsToAssign, DNA_HARDER_BOUNDS) //INCREASERUNBLOCK = getAssignedBlock("INCREASERUN", numsToAssign, DNA_HARDER_BOUNDS) - //REMOTETALKBLOCK = getAssignedBlock("REMOTETALK", numsToAssign, DNA_HARDER_BOUNDS) + REMOTETALKBLOCK = getAssignedBlock("REMOTETALK", numsToAssign, DNA_HARDER_BOUNDS) //MORPHBLOCK = getAssignedBlock("MORPH", numsToAssign, DNA_HARDER_BOUNDS) //COLDBLOCK = getAssignedBlock("COLD", numsToAssign) //HALLUCINATIONBLOCK = getAssignedBlock("HALLUCINATION", numsToAssign) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 59e402548a..f4025be06d 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -941,6 +941,7 @@ else target.show_message("\blue You hear a voice that seems to echo around the room: [say]") usr.show_message("\blue You project your mind into [target.real_name]: [say]") + log_say("[key_name(usr)] sent a telepathic message to [key_name(target)]: [say]") for(var/mob/dead/observer/G in world) G.show_message("Telepathic message from [src] to [target]: [say]") diff --git a/code/modules/virus2/effect.dm b/code/modules/virus2/effect.dm index 3ebeefeba8..048085b730 100644 --- a/code/modules/virus2/effect.dm +++ b/code/modules/virus2/effect.dm @@ -191,10 +191,10 @@ /datum/disease2/effect/telepathic name = "Telepathy Syndrome" stage = 3 + happensonce = 1 activate(var/mob/living/carbon/mob,var/multiplier) - mob.dna.check_integrity() mob.dna.SetSEState(REMOTETALKBLOCK,1) - domutcheck(mob, null) + domutcheck(mob, null, MUTCHK_FORCED) /datum/disease2/effect/mind name = "Lazy Mind Syndrome" From 2a9955c68bc3dceffc331233165e61700bcb0ab1 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Thu, 15 Jan 2015 15:01:38 +0100 Subject: [PATCH 043/133] Fixes #7547. The event manager now respects the "allow random event" config setting. --- code/modules/events/event_container.dm | 2 +- code/modules/events/event_manager.dm | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/code/modules/events/event_container.dm b/code/modules/events/event_container.dm index 5ac880185f..758d50ebdd 100644 --- a/code/modules/events/event_container.dm +++ b/code/modules/events/event_container.dm @@ -25,7 +25,7 @@ var/global/list/severity_to_string = list(EVENT_LEVEL_MUNDANE = "Mundane", EVENT if(!next_event_time) set_event_delay() - if(delayed) + if(delayed || !config.allow_random_events) next_event_time += (world.time - last_world_time) else if(world.time > next_event_time) start_event() diff --git a/code/modules/events/event_manager.dm b/code/modules/events/event_manager.dm index 4be0e83e97..c531b139cc 100644 --- a/code/modules/events/event_manager.dm +++ b/code/modules/events/event_manager.dm @@ -79,6 +79,7 @@ /datum/event_manager/proc/GetInteractWindow() var/html = "Refresh" + html += "Pause All - [config.allow_random_events ? "Pause" : "Resume"]" if(selected_event_container) var/event_time = max(0, selected_event_container.next_event_time - world.time) @@ -211,6 +212,9 @@ var/datum/event_container/EC = locate(href_list["pause"]) EC.delayed = !EC.delayed admin_log_and_message_admins("has [EC.delayed ? "paused" : "resumed"] countdown for [severity_to_string[EC.severity]] events.") + else if(href_list["pause_all"]) + config.allow_random_events = text2num(href_list["pause_all"]) + admin_log_and_message_admins("has [config.allow_random_events ? "resumed" : "paused"] countdown for all events.") else if(href_list["interval"]) var/delay = input("Enter delay modifier. A value less than one means events fire more often, higher than one less often.", "Set Interval Modifier") as num|null if(delay && delay > 0) From 0401cb20845b992c7c7165c95a8adb22ffd32b01 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Thu, 15 Jan 2015 17:09:50 +0300 Subject: [PATCH 044/133] Fixes #7820 --- code/game/verbs/suicide.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/game/verbs/suicide.dm b/code/game/verbs/suicide.dm index 82a81e5af7..ab3c8dcc80 100644 --- a/code/game/verbs/suicide.dm +++ b/code/game/verbs/suicide.dm @@ -59,7 +59,8 @@ //Do 175 damage divided by the number of damage types applied. if(damagetype & BRUTELOSS) - adjustBruteLoss(175/damage_mod) + adjustBruteLoss(30/damage_mod) //hack to prevent gibbing + adjustOxyLoss(145/damage_mod) if(damagetype & FIRELOSS) adjustFireLoss(175/damage_mod) From 47e5e51db37d6a567211e5e308201b4279552f35 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Thu, 15 Jan 2015 17:51:45 +0300 Subject: [PATCH 045/133] Fix for the fix. --- code/modules/virus2/effect.dm | 1 - 1 file changed, 1 deletion(-) diff --git a/code/modules/virus2/effect.dm b/code/modules/virus2/effect.dm index 048085b730..aa0a06c9df 100644 --- a/code/modules/virus2/effect.dm +++ b/code/modules/virus2/effect.dm @@ -191,7 +191,6 @@ /datum/disease2/effect/telepathic name = "Telepathy Syndrome" stage = 3 - happensonce = 1 activate(var/mob/living/carbon/mob,var/multiplier) mob.dna.SetSEState(REMOTETALKBLOCK,1) domutcheck(mob, null, MUTCHK_FORCED) From 6f8618ded85d6cd08cc432e727c8eb73586d3acd Mon Sep 17 00:00:00 2001 From: Chinsky Date: Thu, 15 Jan 2015 18:04:10 +0300 Subject: [PATCH 046/133] Fixes surgery steps never failing --- code/modules/surgery/surgery.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/surgery/surgery.dm b/code/modules/surgery/surgery.dm index c5e883e79a..339f1a6070 100644 --- a/code/modules/surgery/surgery.dm +++ b/code/modules/surgery/surgery.dm @@ -98,7 +98,7 @@ proc/do_surgery(mob/living/carbon/M, mob/living/user, obj/item/tool) //We had proper tools! (or RNG smiled.) and user did not move or change hands. if(prob(S.tool_quality(tool)) && do_mob(user, M, rand(S.min_duration, S.max_duration))) S.end_step(user, M, user.zone_sel.selecting, tool) //finish successfully - else if (tool in user.contents && user.Adjacent(M)) //or + else if ((tool in user.contents) && user.Adjacent(M)) //or S.fail_step(user, M, user.zone_sel.selecting, tool) //malpractice~ else // This failing silently was a pain. user << "\red You must remain close to your patient to conduct surgery." From 0a7185c20a4fc597036ea7ae586586941ae58b2d Mon Sep 17 00:00:00 2001 From: Chinsky Date: Thu, 15 Jan 2015 18:59:39 +0300 Subject: [PATCH 047/133] Fixes #7787 Made clean surgical amputation not cause huge wounds. Also moved code around a bit to prevent situations where missing limbs would get wounds (ie hands giving wounds to arms during recursive droplimb). --- code/modules/organs/organ_external.dm | 12 ++++++------ code/modules/surgery/generic.dm | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/code/modules/organs/organ_external.dm b/code/modules/organs/organ_external.dm index c0c2397518..6ef2e59b90 100644 --- a/code/modules/organs/organ_external.dm +++ b/code/modules/organs/organ_external.dm @@ -562,7 +562,7 @@ Note that amputating the affected organ does in fact remove the infection from t O.setAmputatedTree() //Handles dismemberment -/datum/organ/external/proc/droplimb(var/override = 0,var/no_explode = 0) +/datum/organ/external/proc/droplimb(var/override = 0,var/no_explode = 0,var/amputation=0) if(destspawn) return if(override) status |= ORGAN_DESTROYED @@ -579,9 +579,13 @@ Note that amputating the affected organ does in fact remove the infection from t germ_level = 0 + // If any organs are attached to this, destroy them + for(var/datum/organ/external/O in children) + O.droplimb(1, no_explode, amputation) + //Replace all wounds on that arm with one wound on parent organ. wounds.Cut() - if (parent) + if (parent && !amputation) var/datum/wound/W if(max_damage < 50) W = new/datum/wound/lost_limb/small(max_damage) @@ -591,10 +595,6 @@ Note that amputating the affected organ does in fact remove the infection from t parent.update_damages() update_damages() - // If any organs are attached to this, destroy them - for(var/datum/organ/external/O in children) - O.droplimb(1) - var/obj/organ //Dropped limb object switch(body_part) if(HEAD) diff --git a/code/modules/surgery/generic.dm b/code/modules/surgery/generic.dm index 238657c28d..2642b87cb7 100644 --- a/code/modules/surgery/generic.dm +++ b/code/modules/surgery/generic.dm @@ -305,7 +305,7 @@ var/datum/organ/external/affected = target.get_organ(target_zone) user.visible_message("\blue [user] cuts off [target]'s [affected.display_name] with \the [tool].", \ "\blue You cut off [target]'s [affected.display_name] with \the [tool].") - affected.droplimb(1,0) + affected.droplimb(1,1,1) fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/datum/organ/external/affected = target.get_organ(target_zone) From 780b1fb0965f5b8631ffa9be5a494312e39c907c Mon Sep 17 00:00:00 2001 From: Loganbacca Date: Fri, 16 Jan 2015 11:43:45 +1300 Subject: [PATCH 048/133] Fixed placing mounted modules in closets - Fixes placing mounted modules in closets and crates - Removed a couple of colons --- code/game/objects/structures/crates_lockers/closets.dm | 5 ++++- .../crates_lockers/closets/secure/secure_closets.dm | 7 +++++-- code/game/objects/structures/crates_lockers/crates.dm | 2 ++ 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm index a929ff7201..4aaae90a9a 100644 --- a/code/game/objects/structures/crates_lockers/closets.dm +++ b/code/game/objects/structures/crates_lockers/closets.dm @@ -191,7 +191,8 @@ /obj/structure/closet/attackby(obj/item/weapon/W as obj, mob/user as mob) if(src.opened) if(istype(W, /obj/item/weapon/grab)) - src.MouseDrop_T(W:affecting, user) //act like they were dragged onto the closet + var/obj/item/weapon/grab/G = W + src.MouseDrop_T(G.affecting, user) //act like they were dragged onto the closet if(istype(W,/obj/item/tk_grab)) return 0 if(istype(W, /obj/item/weapon/weldingtool)) @@ -206,6 +207,8 @@ return if(isrobot(user)) return + if(W.loc != user) // This should stop mounted modules ending up outside the module. + return usr.drop_item() if(W) W.loc = src.loc diff --git a/code/game/objects/structures/crates_lockers/closets/secure/secure_closets.dm b/code/game/objects/structures/crates_lockers/closets/secure/secure_closets.dm index 09810842d4..a3b9f39928 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/secure_closets.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/secure_closets.dm @@ -66,12 +66,15 @@ /obj/structure/closet/secure_closet/attackby(obj/item/weapon/W as obj, mob/user as mob) if(src.opened) if(istype(W, /obj/item/weapon/grab)) + var/obj/item/weapon/grab/G = W if(src.large) - src.MouseDrop_T(W:affecting, user) //act like they were dragged onto the closet + src.MouseDrop_T(G.affecting, user) //act like they were dragged onto the closet else - user << "The locker is too small to stuff [W:affecting] into!" + user << "The locker is too small to stuff [G.affecting] into!" if(isrobot(user)) return + if(W.loc != user) // This should stop mounted modules ending up outside the module. + return user.drop_item() if(W) W.loc = src.loc diff --git a/code/game/objects/structures/crates_lockers/crates.dm b/code/game/objects/structures/crates_lockers/crates.dm index 3f6f321129..4c233f24ef 100644 --- a/code/game/objects/structures/crates_lockers/crates.dm +++ b/code/game/objects/structures/crates_lockers/crates.dm @@ -70,6 +70,8 @@ if(opened) if(isrobot(user)) return + if(W.loc != user) // This should stop mounted modules ending up outside the module. + return user.drop_item() if(W) W.loc = src.loc From fdf98860539b40a15e5fc6b6dab4db046968eea4 Mon Sep 17 00:00:00 2001 From: Ravensdale Date: Thu, 15 Jan 2015 14:48:04 -0800 Subject: [PATCH 049/133] Fixes Cannot execute null.on removed() --- code/modules/mob/living/carbon/human/inventory.dm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/code/modules/mob/living/carbon/human/inventory.dm b/code/modules/mob/living/carbon/human/inventory.dm index 545fa41c03..0a504ca148 100644 --- a/code/modules/mob/living/carbon/human/inventory.dm +++ b/code/modules/mob/living/carbon/human/inventory.dm @@ -640,9 +640,10 @@ It can still be worn/put on as normal. W.hold.close(usr) usr.put_in_hands(tie) suit.hastie = null*/ - suit.hastie.on_removed(usr) - suit.hastie = null - target.update_inv_w_uniform() + if(suit && suit.hastie) + suit.hastie.on_removed(usr) + suit.hastie = null + target.update_inv_w_uniform() if("id") slot_to_process = slot_wear_id if (target.wear_id) From 7435f7574e85362b4bd340928ce27822bb253d57 Mon Sep 17 00:00:00 2001 From: Loganbacca Date: Fri, 16 Jan 2015 12:04:59 +1300 Subject: [PATCH 050/133] Closet file reorganisation - Moved walllocker.dm to code/game/objects/structures/crate_lockers/closets - Moved other unused closet files to the code/unused folder --- baystation12.dme | 2 +- .../{ => structures/crates_lockers}/closets/walllocker.dm | 0 code/{game/objects => unused}/closets/ert.dm | 0 code/{game/objects => unused}/closets/secure/civilian.dm | 0 code/{game/objects => unused}/closets/secure/research.dm | 0 5 files changed, 1 insertion(+), 1 deletion(-) rename code/game/objects/{ => structures/crates_lockers}/closets/walllocker.dm (100%) rename code/{game/objects => unused}/closets/ert.dm (100%) rename code/{game/objects => unused}/closets/secure/civilian.dm (100%) rename code/{game/objects => unused}/closets/secure/research.dm (100%) mode change 100755 => 100644 diff --git a/baystation12.dme b/baystation12.dme index f0a68647ed..669fe0408a 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -463,7 +463,6 @@ #include "code\game\objects\objs.dm" #include "code\game\objects\structures.dm" #include "code\game\objects\weapons.dm" -#include "code\game\objects\closets\walllocker.dm" #include "code\game\objects\effects\aliens.dm" #include "code\game\objects\effects\bump_teleporter.dm" #include "code\game\objects\effects\chemsmoke.dm" @@ -683,6 +682,7 @@ #include "code\game\objects\structures\crates_lockers\closets\malfunction.dm" #include "code\game\objects\structures\crates_lockers\closets\syndicate.dm" #include "code\game\objects\structures\crates_lockers\closets\utility_closets.dm" +#include "code\game\objects\structures\crates_lockers\closets\walllocker.dm" #include "code\game\objects\structures\crates_lockers\closets\wardrobe.dm" #include "code\game\objects\structures\crates_lockers\closets\secure\bar.dm" #include "code\game\objects\structures\crates_lockers\closets\secure\cargo.dm" diff --git a/code/game/objects/closets/walllocker.dm b/code/game/objects/structures/crates_lockers/closets/walllocker.dm similarity index 100% rename from code/game/objects/closets/walllocker.dm rename to code/game/objects/structures/crates_lockers/closets/walllocker.dm diff --git a/code/game/objects/closets/ert.dm b/code/unused/closets/ert.dm similarity index 100% rename from code/game/objects/closets/ert.dm rename to code/unused/closets/ert.dm diff --git a/code/game/objects/closets/secure/civilian.dm b/code/unused/closets/secure/civilian.dm similarity index 100% rename from code/game/objects/closets/secure/civilian.dm rename to code/unused/closets/secure/civilian.dm diff --git a/code/game/objects/closets/secure/research.dm b/code/unused/closets/secure/research.dm old mode 100755 new mode 100644 similarity index 100% rename from code/game/objects/closets/secure/research.dm rename to code/unused/closets/secure/research.dm From fb945fa9ecc637cebbcf6c61282db46b627108e1 Mon Sep 17 00:00:00 2001 From: Loganbacca Date: Fri, 16 Jan 2015 13:50:13 +1300 Subject: [PATCH 051/133] Fixes telekinetic tape placement on airlocks --- code/WorkInProgress/Ported/policetape.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/WorkInProgress/Ported/policetape.dm b/code/WorkInProgress/Ported/policetape.dm index f331f8401b..4f28e52410 100644 --- a/code/WorkInProgress/Ported/policetape.dm +++ b/code/WorkInProgress/Ported/policetape.dm @@ -98,8 +98,8 @@ //is_blocked_turf(var/turf/T) usr << "\blue You finish placing the [src]." //Git Test -/obj/item/taperoll/afterattack(var/atom/A, mob/user as mob) - if (istype(A, /obj/machinery/door/airlock)) +/obj/item/taperoll/afterattack(var/atom/A, mob/user as mob, proximity) + if (proximity && istype(A, /obj/machinery/door/airlock)) var/turf/T = get_turf(A) var/obj/item/tape/P = new tape_type(T.x,T.y,T.z) P.loc = locate(T.x,T.y,T.z) From 12d056106ec0154e94815a187e240190b7bf8c02 Mon Sep 17 00:00:00 2001 From: SkyMarshal Date: Thu, 15 Jan 2015 17:57:52 -0700 Subject: [PATCH 052/133] Adjusts informative comments. --- code/ATMOSPHERICS/datum_pipeline.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/ATMOSPHERICS/datum_pipeline.dm b/code/ATMOSPHERICS/datum_pipeline.dm index f663ccb34e..fd933bf94d 100644 --- a/code/ATMOSPHERICS/datum_pipeline.dm +++ b/code/ATMOSPHERICS/datum_pipeline.dm @@ -206,9 +206,10 @@ datum/pipeline thermal_conductivity *= min(gas_density / ( RADIATOR_OPTIMUM_PRESSURE/(R_IDEAL_GAS_EQUATION*T20C) ), 1) // We only get heat from the star on the exposed surface area. + // If the HE pipes gain more energy from AVERAGE_SOLAR_RADIATION than they can radiate, then they have a net heat increase. var/heat_gain = AVERAGE_SOLAR_RADIATION * RADIATOR_EXPOSED_SURFACE_AREA * thermal_conductivity - //if the h/e pipes radiate less than the AVERAGE_SOLAR_RADIATION, then they will heat up, otherwise they will cool down. It turns out the critical temperature is -26 C + // Previously, the temperature would enter equilibrium at 26C or 294K. // Only would happen if both sides (all 2 square meters of surface area) were exposed to sunlight. We now assume it aligned edge on. // It currently should stabilise at 85K or -183C. heat_gain -= surface * STEFAN_BOLTZMANN_CONSTANT * thermal_conductivity * (air.temperature - COSMIC_RADIATION_TEMPERATURE) ** 4 From ac20d0b23be24064d65281c3819e067c782419e1 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Fri, 16 Jan 2015 12:19:53 +0300 Subject: [PATCH 053/133] Fixes #7827 --- code/modules/admin/admin_verbs.dm | 21 ++------------------- 1 file changed, 2 insertions(+), 19 deletions(-) diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index b45346f792..7d56789ec3 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -283,7 +283,7 @@ var/list/admin_verbs_mentor = list( if(holder.rights & R_SERVER) verbs += admin_verbs_server if(holder.rights & R_DEBUG) verbs += admin_verbs_debug - if(config.debugparanoid && !check_rights(R_ADMIN)) + if(config.debugparanoid && !check_rights(R_ADMIN)) verbs.Remove(admin_verbs_paranoid_debug) //Right now it's just callproc but we can easily add others later on. if(holder.rights & R_POSSESS) verbs += admin_verbs_possess if(holder.rights & R_PERMISSIONS) verbs += admin_verbs_permissions @@ -309,24 +309,7 @@ var/list/admin_verbs_mentor = list( admin_verbs_rejuv, admin_verbs_sounds, admin_verbs_spawn, - /*Debug verbs added by "show debug verbs"*/ - /client/proc/Cell, - /client/proc/do_not_use_these, - /client/proc/camera_view, - /client/proc/sec_camera_report, - /client/proc/intercom_view, - /client/proc/atmosscan, - /client/proc/powerdebug, - /client/proc/count_objects_on_z_level, - /client/proc/count_objects_all, - /client/proc/cmd_assume_direct_control, - /client/proc/jump_to_dead_group, - /client/proc/startSinglo, - /client/proc/ticklag, - /client/proc/cmd_admin_grantfullaccess, - /client/proc/kaboom, - /client/proc/splash, - /client/proc/cmd_admin_areatest + debug_verbs ) /client/proc/hide_most_verbs()//Allows you to keep some functionality while hiding some verbs From b405fcd71f13705e753a6e9f39649a683309f494 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Fri, 16 Jan 2015 12:26:05 +0300 Subject: [PATCH 054/133] Fixes #7775 --- code/modules/mob/living/silicon/ai/death.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/silicon/ai/death.dm b/code/modules/mob/living/silicon/ai/death.dm index 456940bc25..196a23ff7b 100644 --- a/code/modules/mob/living/silicon/ai/death.dm +++ b/code/modules/mob/living/silicon/ai/death.dm @@ -53,4 +53,4 @@ if (istype(loc, /obj/item/device/aicard)) loc.icon_state = "aicard-404" - return ..(gibbed) + return ..(gibbed,"gives one shrill beep before falling lifeless.") From facfc0df5698241218169585dfb4583b7518be80 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Fri, 16 Jan 2015 12:51:46 +0300 Subject: [PATCH 055/133] Fixes #7560 --- code/modules/mob/living/carbon/human/life.dm | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index ee752a475d..f386e05e35 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -1489,21 +1489,19 @@ client.screen |= G.overlay if(G.vision_flags) sight |= G.vision_flags - if(!druggy) + if(!druggy && !seer) see_invisible = SEE_INVISIBLE_MINIMUM - if(istype(G,/obj/item/clothing/glasses/night)) + if(istype(G,/obj/item/clothing/glasses/night) && !seer) see_invisible = SEE_INVISIBLE_MINIMUM /* HUD shit goes here, as long as it doesn't modify sight flags */ // The purpose of this is to stop xray and w/e from preventing you from using huds -- Love, Doohl + var/obj/item/clothing/glasses/hud/O = G if(istype(G, /obj/item/clothing/glasses/sunglasses/sechud)) - var/obj/item/clothing/glasses/sunglasses/sechud/O = G - if(O.hud) O.hud.process_hud(src) - if(!druggy) see_invisible = SEE_INVISIBLE_LIVING - else if(istype(G, /obj/item/clothing/glasses/hud)) - var/obj/item/clothing/glasses/hud/O = G + var/obj/item/clothing/glasses/sunglasses/sechud/S = G + O = S.hud + if(istype(O)) O.process_hud(src) - if(!druggy) - see_invisible = SEE_INVISIBLE_LIVING + if(!druggy && !seer) see_invisible = SEE_INVISIBLE_LIVING proc/handle_random_events() // Puke if toxloss is too high From 02581042d75eb57df001c4f44443bb45d67f770c Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Fri, 16 Jan 2015 11:23:08 +0100 Subject: [PATCH 056/133] Fixes #7644. Makes it possible for admins to properly rename AIs, either by right-clicking the relevant AI or by using the verb in the Admin panel. --- code/modules/admin/admin_verbs.dm | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index 6548454789..da0ce78a90 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -46,6 +46,7 @@ var/list/admin_verbs_admin = list( /client/proc/cmd_admin_create_centcom_report, /client/proc/check_words, /*displays cult-words*/ /client/proc/check_ai_laws, /*shows AI and borg laws*/ + /client/proc/rename_ai, /*properly renames the AI*/ /client/proc/check_antagonists, /client/proc/admin_memo, /*admin memo system. show/delete/write. +SERVER needed to delete admin memos of others*/ /client/proc/dsay, /*talk in deadchat using our ckey/fakekey*/ @@ -282,7 +283,7 @@ var/list/admin_verbs_mentor = list( if(holder.rights & R_SERVER) verbs += admin_verbs_server if(holder.rights & R_DEBUG) verbs += admin_verbs_debug - if(config.debugparanoid && !check_rights(R_ADMIN)) + if(config.debugparanoid && !check_rights(R_ADMIN)) verbs.Remove(admin_verbs_paranoid_debug) //Right now it's just callproc but we can easily add others later on. if(holder.rights & R_POSSESS) verbs += admin_verbs_possess if(holder.rights & R_PERMISSIONS) verbs += admin_verbs_permissions @@ -708,6 +709,17 @@ var/list/admin_verbs_mentor = list( if(holder) src.holder.output_ai_laws() +/client/proc/rename_ai(mob/living/silicon/ai/AI in world) + set name = "Rename AI" + set category = "Admin" + + if(holder) + var/new_name = trim_strip_input(src, "Enter new AI name. Leave blank or as is to cancel.", "Enter new AI Name", AI.name) + if(new_name && new_name != AI.name) + admin_log_and_message_admins("has renamed the AI '[AI.name]' to '[new_name]'") + AI.SetName(new_name) + feedback_add_details("admin_verb","RAI") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + //---- bs12 verbs ---- From d42482c7cc7cf2e030c59fd7f42faa8b8c67a27e Mon Sep 17 00:00:00 2001 From: Chinsky Date: Fri, 16 Jan 2015 14:18:51 +0300 Subject: [PATCH 057/133] Fixes #7259 Removes forks used for ribcage opening/closing since it overlapped with internal organ surgery and for some reason even priorities didn't help with that. --- code/game/objects/items/weapons/kitchen.dm | 2 ++ code/modules/surgery/encased.dm | 6 ++---- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/code/game/objects/items/weapons/kitchen.dm b/code/game/objects/items/weapons/kitchen.dm index 5d72495520..7532c1d9cb 100644 --- a/code/game/objects/items/weapons/kitchen.dm +++ b/code/game/objects/items/weapons/kitchen.dm @@ -61,6 +61,8 @@ playsound(M.loc,'sound/items/eatfood.ogg', rand(10,40), 1) overlays.Cut() return + else + ..() /obj/item/weapon/kitchen/utensil/fork name = "fork" diff --git a/code/modules/surgery/encased.dm b/code/modules/surgery/encased.dm index dcd6cc4b31..72cff7ab3d 100644 --- a/code/modules/surgery/encased.dm +++ b/code/modules/surgery/encased.dm @@ -67,8 +67,7 @@ /datum/surgery_step/open_encased/retract allowed_tools = list( /obj/item/weapon/retractor = 100, \ - /obj/item/weapon/crowbar = 75, \ - /obj/item/weapon/kitchen/utensil/fork = 20 + /obj/item/weapon/crowbar = 75 ) min_duration = 30 @@ -124,8 +123,7 @@ /datum/surgery_step/open_encased/close allowed_tools = list( /obj/item/weapon/retractor = 100, \ - /obj/item/weapon/crowbar = 75, \ - /obj/item/weapon/kitchen/utensil/fork = 20 + /obj/item/weapon/crowbar = 75 ) min_duration = 20 From 4be653efecf38e78f041066379d4e44deb34e30d Mon Sep 17 00:00:00 2001 From: Mloc-Argent Date: Fri, 16 Jan 2015 23:58:15 +0000 Subject: [PATCH 058/133] fix wall burning runtime, balance rwalls rwalls are half as strong again because they took way too long to burn down Signed-off-by: Mloc-Argent --- code/__HELPERS/maths.dm | 2 ++ code/game/turfs/simulated/walls.dm | 2 +- code/game/turfs/simulated/walls_reinforced.dm | 4 ++-- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/code/__HELPERS/maths.dm b/code/__HELPERS/maths.dm index a0f4f9cb32..d9bbc18ece 100644 --- a/code/__HELPERS/maths.dm +++ b/code/__HELPERS/maths.dm @@ -1,3 +1,5 @@ +#define RAND_F(L, H) (rand()*(H-L) + L) + // Credits to Nickr5 for the useful procs I've taken from his library resource. var/const/E = 2.71828183 diff --git a/code/game/turfs/simulated/walls.dm b/code/game/turfs/simulated/walls.dm index 5561d9cfbd..5ec4bc1e61 100644 --- a/code/game/turfs/simulated/walls.dm +++ b/code/game/turfs/simulated/walls.dm @@ -117,7 +117,7 @@ /turf/simulated/wall/adjacent_fire_act(turf/simulated/floor/adj_turf, datum/gas_mixture/adj_air, adj_temp, adj_volume) if(adj_temp > max_temperature) - take_damage(log(rand(0.9, 1.1) * (adj_temp - max_temperature))) + take_damage(log(RAND_F(0.9, 1.1) * (adj_temp - max_temperature))) return ..() diff --git a/code/game/turfs/simulated/walls_reinforced.dm b/code/game/turfs/simulated/walls_reinforced.dm index e06f9ba980..9367df31c7 100644 --- a/code/game/turfs/simulated/walls_reinforced.dm +++ b/code/game/turfs/simulated/walls_reinforced.dm @@ -5,7 +5,7 @@ opacity = 1 density = 1 - damage_cap = 1000 + damage_cap = 500 max_temperature = 6000 armor = 0.1 // Only 10% damage from gunfire, it's made from strong alloys and stuff. @@ -291,7 +291,7 @@ var/obj/item/light_fixture_frame/small/AH = W AH.try_build(src) return - + //Finally, CHECKING FOR FALSE WALLS if it isn't damaged else if(!d_state) return attack_hand(user) From 87a51e27e4402baea976c6d871455c8d71c5f307 Mon Sep 17 00:00:00 2001 From: Mloc-Argent Date: Fri, 16 Jan 2015 23:59:39 +0000 Subject: [PATCH 059/133] optimize relay_information useless del() call, new call deferred Signed-off-by: Mloc-Argent --- code/controllers/communications.dm | 2 +- .../machinery/telecomms/telecomunications.dm | 44 ++++--------------- 2 files changed, 9 insertions(+), 37 deletions(-) diff --git a/code/controllers/communications.dm b/code/controllers/communications.dm index a0d9067038..b4b0eb4393 100644 --- a/code/controllers/communications.dm +++ b/code/controllers/communications.dm @@ -307,7 +307,7 @@ var/global/datum/controller/radio/radio_controller //1 = radio transmission //2 = subspace transmission - var/data = list() + var/list/data = list() var/encryption var/frequency = 0 diff --git a/code/game/machinery/telecomms/telecomunications.dm b/code/game/machinery/telecomms/telecomunications.dm index 4d01598311..fe638408fc 100644 --- a/code/game/machinery/telecomms/telecomunications.dm +++ b/code/game/machinery/telecomms/telecomunications.dm @@ -64,36 +64,12 @@ var/global/list/obj/machinery/telecomms/telecomms_list = list() if(long_range_link == 0 && machine.long_range_link == 0) continue // If we're sending a copy, be sure to create the copy for EACH machine and paste the data - var/datum/signal/copy = new + var/datum/signal/copy if(copysig) - + copy = new copy.transmission_method = 2 copy.frequency = signal.frequency - // Copy the main data contents! Workaround for some nasty bug where the actual array memory is copied and not its contents. - copy.data = list( - - "mob" = signal.data["mob"], - "mobtype" = signal.data["mobtype"], - "realname" = signal.data["realname"], - "name" = signal.data["name"], - "job" = signal.data["job"], - "key" = signal.data["key"], - "vmessage" = signal.data["vmessage"], - "vname" = signal.data["vname"], - "vmask" = signal.data["vmask"], - "compression" = signal.data["compression"], - "message" = signal.data["message"], - "connection" = signal.data["connection"], - "radio" = signal.data["radio"], - "slow" = signal.data["slow"], - "traffic" = signal.data["traffic"], - "type" = signal.data["type"], - "server" = signal.data["server"], - "reject" = signal.data["reject"], - "level" = signal.data["level"], - "verb" = signal.data["verb"], - "language" = signal.data["language"] - ) + copy.data = signal.data.Copy() // Keep the "original" signal constant if(!signal.data["original"]) @@ -101,10 +77,6 @@ var/global/list/obj/machinery/telecomms/telecomms_list = list() else copy.data["original"] = signal.data["original"] - else - del(copy) - - send_count++ if(machine.is_freq_listening(signal)) machine.traffic++ @@ -232,13 +204,13 @@ var/global/list/obj/machinery/telecomms/telecomms_list = list() else if(on) produce_heat() delay = initial(delay) - - + + /obj/machinery/telecomms/proc/produce_heat() if (!produces_heat) return - + if (!use_power) return @@ -252,11 +224,11 @@ var/global/list/obj/machinery/telecomms/telecomms_list = list() var/datum/gas_mixture/removed = env.remove(transfer_moles) if(removed) - + var/heat_produced = idle_power_usage //obviously can't produce more heat than the machine draws from it's power source if (traffic <= 0) heat_produced *= 0.30 //if idle, produce less heat. - + removed.add_thermal_energy(heat_produced) env.merge(removed) From e5e149abd9a38fcb1708580a4b98ae936389de4b Mon Sep 17 00:00:00 2001 From: SkyMarshal Date: Fri, 16 Jan 2015 23:29:48 -0700 Subject: [PATCH 060/133] Fixes a null-usr edge case. --- code/defines/procs/admin.dm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/code/defines/procs/admin.dm b/code/defines/procs/admin.dm index 44d79a3893..abf4c97dd3 100644 --- a/code/defines/procs/admin.dm +++ b/code/defines/procs/admin.dm @@ -1,7 +1,7 @@ proc/log_and_message_admins(var/message as text) - log_admin("[usr]([usr.ckey]) " + message) - message_admins("[usr]([usr.ckey]) " + message) + log_admin(usr ? "[usr]([usr.ckey]) [message]" : "EVENT [message]") + message_admins(usr ? "[usr]([usr.ckey]) [message]" : "EVENT [message]") proc/admin_log_and_message_admins(var/message as text) - log_admin("[key_name(usr)] " + message) - message_admins("[key_name_admin(usr)] " + message, 1) \ No newline at end of file + log_admin(usr ? "[key_name(usr)] [message]" : "EVENT [message]") + message_admins(usr ? "[key_name(usr)] [message]" : "EVENT [message]", 1) From 39390a73240df5623534e45186497fb249e08d7d Mon Sep 17 00:00:00 2001 From: mwerezak Date: Sat, 17 Jan 2015 02:13:17 -0500 Subject: [PATCH 061/133] Fixes airlock removing electronics check Also stops emagged status from preventing certain door actions. --- code/game/machinery/doors/airlock.dm | 2 +- code/game/machinery/doors/door.dm | 18 ++++++++++-------- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index 307f9cf711..73c0e66b8e 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -905,7 +905,7 @@ About the new airlock wires panel: beingcrowbarred = 1 //derp, Agouri else beingcrowbarred = 0 - if( beingcrowbarred && src.p_open && (operating == -1 || (src.locked && welded && !src.arePowerSystemsOn() && BROKEN) || (density && welded && operating != 1 && !src.arePowerSystemsOn() && !src.locked)) ) + if( beingcrowbarred && src.p_open && (operating < 0 || (!operating && welded && !src.arePowerSystemsOn() && density && (!src.locked || (stat & BROKEN)))) ) playsound(src.loc, 'sound/items/Crowbar.ogg', 100, 1) user.visible_message("[user] removes the electronics from the airlock assembly.", "You start to remove electronics from the airlock assembly.") if(do_after(user,40)) diff --git a/code/game/machinery/doors/door.dm b/code/game/machinery/doors/door.dm index 6668f79c76..8e354a73b3 100644 --- a/code/game/machinery/doors/door.dm +++ b/code/game/machinery/doors/door.dm @@ -188,7 +188,7 @@ /obj/machinery/door/attackby(obj/item/I as obj, mob/user as mob) if(istype(I, /obj/item/device/detective_scanner)) return - if(src.operating || isrobot(user)) return //borgs can't attack doors open because it conflicts with their AI-like interaction with them. + if(src.operating > 0 || isrobot(user)) return //borgs can't attack doors open because it conflicts with their AI-like interaction with them. src.add_fingerprint(user) if(!Adjacent(user)) user = null @@ -250,13 +250,6 @@ repairing = null return - if(src.density && (operable() && istype(I, /obj/item/weapon/card/emag))) - flick("door_spark", src) - sleep(6) - open() - operating = -1 - return 1 - //psa to whoever coded this, there are plenty of objects that need to call attack() on doors without bludgeoning them. if(src.density && istype(I, /obj/item/weapon) && user.a_intent == "hurt" && !istype(I, /obj/item/weapon/card)) var/obj/item/weapon/W = I @@ -269,6 +262,15 @@ take_damage(W.force) return + if(src.operating) return + + if(src.density && (operable() && istype(I, /obj/item/weapon/card/emag))) + flick("door_spark", src) + sleep(6) + open() + operating = -1 + return 1 + if(src.allowed(user) && operable()) if(src.density) open() From 15c7ed92e476adc6d85a1676f7eee4eb8aa6b694 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Sat, 17 Jan 2015 03:01:22 -0500 Subject: [PATCH 062/133] Unarmed message tweaks --- .../carbon/human/species/species_attack.dm | 20 ++++++---- .../mob/living/carbon/human/unarmed_attack.dm | 40 ++++++++++++------- 2 files changed, 38 insertions(+), 22 deletions(-) diff --git a/code/modules/mob/living/carbon/human/species/species_attack.dm b/code/modules/mob/living/carbon/human/species/species_attack.dm index fe5eac0f07..bb922b905b 100644 --- a/code/modules/mob/living/carbon/human/species/species_attack.dm +++ b/code/modules/mob/living/carbon/human/species/species_attack.dm @@ -35,23 +35,29 @@ if("head", "mouth", "eyes") // ----- HEAD ----- // switch(attack_damage) - if(1 to 2) user.visible_message("[user] scratched [target] across \his cheek!") - if(3 to 4) user.visible_message("[user] [pick(attack_verb)] [target]'s [pick("head", "neck")] [pick("", "", "", "with spread [pick(attack_noun)]")]!") - if(5) user.visible_message("[pick("[user] [pick(attack_verb)] [target] across \his face!", "[user] rakes \his [pick(attack_noun)] across [target]'s face!")]") - if("chest", "l_arm", "r_arm", "l_hand", "r_hand", "groin", "l_leg", "r_leg", "l_foot", "r_foot") + if(1 to 2) + user.visible_message("[user] scratched [target] across \his cheek!") + if(3 to 4) + user.visible_message("[user] [pick(attack_verb)] [target]'s [pick("head", "neck")]!") //'with spread claws' sounds a little bit odd, just enough that conciseness is better here I think + if(5) + user.visible_message(pick( + "[user] rakes \his [pick(attack_noun)] across [target]'s face!", + "[user] tears \his [pick(attack_noun)] into [target]'s face!", + )) + else // ----- BODY ----- // switch(attack_damage) if(1 to 2) user.visible_message("[user] scratched [target]'s [affecting.display_name]!") if(3 to 4) user.visible_message("[user] [pick(attack_verb)] [pick("", "", "the side of")] [target]'s [affecting.display_name]!") - if(5) user.visible_message("[user] tears \his [pick(attack_noun)] deep into [target]'s [affecting.display_name]!") + if(5) user.visible_message("[user] tears \his [pick(attack_noun)] [pick("deep into", "into", "across")] [target]'s [affecting.display_name]!") /datum/unarmed_attack/claws/strong - attack_verb = list("slash") + attack_verb = list("slashed") damage = 10 shredding = 1 /datum/unarmed_attack/bite/strong - attack_verb = list("maul") + attack_verb = list("mauled") damage = 15 shredding = 1 diff --git a/code/modules/mob/living/carbon/human/unarmed_attack.dm b/code/modules/mob/living/carbon/human/unarmed_attack.dm index ba738e81ef..c98e3788c0 100644 --- a/code/modules/mob/living/carbon/human/unarmed_attack.dm +++ b/code/modules/mob/living/carbon/human/unarmed_attack.dm @@ -35,17 +35,18 @@ switch(zone) // strong punches can have effects depending on where they hit if("head", "mouth", "eyes") // Induce blurriness - target.visible_message("[target] looks dazed.", "You see stars.") + target.visible_message("[target] looks momentarily disoriented.", "You see stars.") target.apply_effect(attack_damage*2, EYE_BLUR, armour) if("l_arm", "l_hand") if (target.l_hand) // Disarm left hand - target.visible_message("[src] [pick("dropped", "let go off")] \the [target.l_hand][pick("", " with a scream")]!") + //Urist McAssistant dropped the macguffin with a scream just sounds odd. Plus it doesn't work with NO_PAIN + target.visible_message("\The [target.l_hand] was knocked right out of [src]'s grasp!") target.drop_l_hand() if("r_arm", "r_hand") if (target.r_hand) // Disarm right hand - target.visible_message("[src] [pick("dropped", "let go off")] \the [target.r_hand][pick("", " with a scream")]!") + target.visible_message("\The [target.r_hand] was knocked right out of [src]'s grasp!") target.drop_r_hand() if("chest") if(!target.lying) @@ -113,21 +114,30 @@ if("head", "mouth", "eyes") // ----- HEAD ----- // switch(attack_damage) - if(1 to 2) user.visible_message("[user] slapped [target] across \his cheek!") - if(3 to 4) user.visible_message("[user] struck [target] in the head[pick("", " with a closed fist")]!") - if(5) user.visible_message("[user] gave [target] a resounding slap to the face!") - if("chest", "l_arm", "r_arm", "l_hand", "r_hand", "groin", "l_leg", "r_let", "l_foot", "r_foot") + if(1 to 2) + user.visible_message("[user] slapped [target] across \his cheek!") + if(3 to 4) + user.visible_message(pick( + 80; "[user] [pick(attack_verb)] [target] in the head!", //striking someone with a 'closed fist' is called punching them. + 20; "[user] struck [target] in the head[pick("", " with a closed fist")]!" + )) + if(5) + user.visible_message(pick( + 10; "[user] gave [target] a resounding slap to the face!", + 90; "[user] smashed \his [pick(attack_noun)] into [target]'s [organ]!" + )) + else // ----- BODY ----- // switch(attack_damage) if(1 to 2) user.visible_message("[user] slapped [target]'s [organ]!") if(3 to 4) user.visible_message("[user] [pick(attack_verb)] [target] in \his [organ]!") - if(5) user.visible_message("[user] slammed \his [pick(attack_noun)] into [target]'s [organ]!") + if(5) user.visible_message("[user] smashed \his [pick(attack_noun)] into [target]'s [organ]!") else - user.visible_message("[user] [pick("punched", "threw a punch", "struck", "slapped", "rammed their [pick(attack_noun)] into")] [target]'s [organ]!") + user.visible_message("[user] [pick("punched", "threw a punch", "struck", "slapped", "slammed their [pick(attack_noun)] into")] [target]'s [organ]!") //why do we have a separate set of verbs for lying targets? /datum/unarmed_attack/kick - attack_verb = list("kicked", "kneed") - attack_noun = list("kick", "knee strike") + attack_verb = list("kicked", "kicked", "kicked", "kneed") + attack_noun = list("kick", "kick", "kick", "knee strike") attack_sound = "swing_hit" damage = 0 @@ -161,7 +171,7 @@ attack_damage = Clamp(attack_damage, 1, 5) switch(attack_damage) - if(1 to 2) user.visible_message("[user] gave [target] a light [pick(attack_noun)] to the [organ]!") + if(1 to 2) user.visible_message("[user] threw [target] a glancing [pick(attack_noun)] to the [organ]!") //it's not that they're kicking lightly, it's that the kick didn't quite connect if(3 to 4) user.visible_message("[user] [pick(attack_verb)] [target] in \his [organ]!") if(5) user.visible_message("[user] landed a strong [pick(attack_noun)] against [target]'s [organ]!") @@ -204,6 +214,6 @@ attack_damage = Clamp(attack_damage, 1, 5) switch(attack_damage) - if(1 to 2) user.visible_message("[user] [pick("clomped on", "treaded on")] [target]'s [organ]!") - if(3 to 4) user.visible_message("[pick("[user] stomped down on", "[user] slammed \his [shoes ? copytext(shoes.name, 1, -1) : "foot"] down onto")] [target]'s [organ]!") - if(5) user.visible_message("[pick("[user] landed a devastating stomp on", "[user] stomped down hard on", "[user] slammed \his [shoes ? copytext(shoes.name, 1, -1) : "foot"] down hard onto")] [target]'s [organ]!") \ No newline at end of file + if(1 to 2) user.visible_message("[user] [pick("stepped on", "treaded on")] [target]'s [organ]!") //stepped on conveys the same meaning and is more recognizable as an actual word than "clomped" + if(3 to 4) user.visible_message("[pick("[user] stomped on", "[user] slammed \his [shoes ? copytext(shoes.name, 1, -1) : "foot"] down onto")] [target]'s [organ]!") + if(5) user.visible_message("[pick("[user] landed a powerful stomp on", "[user] stomped down hard on", "[user] slammed \his [shoes ? copytext(shoes.name, 1, -1) : "foot"] down hard onto")] [target]'s [organ]!") //Devastated lol. No. We want to say that the stomp was powerful or forceful, not that it /wrought devastation/ \ No newline at end of file From 5f496524d23d9bf1dbd193c6aa82d47bcb000e95 Mon Sep 17 00:00:00 2001 From: Kelenius Date: Sat, 17 Jan 2015 19:11:41 +0300 Subject: [PATCH 063/133] Changes how sprays work and re-adds silicate Sprays will spray directly at solid objects if they are clicked (walls, windows, etc). Makes removal of wall rot with plant-b-gone actually work. Re-adds silicate with the old recipe. It repairs windows and makes them more damage-resistant up to half damage taken. --- code/game/objects/structures/window.dm | 89 +++++++++++++------ code/game/turfs/simulated/walls.dm | 5 +- code/game/turfs/simulated/walls_reinforced.dm | 3 + code/modules/reagents/Chemistry-Reagents.dm | 30 +------ code/modules/reagents/Chemistry-Recipes.dm | 4 +- .../reagents/reagent_containers/spray.dm | 53 ++++++----- 6 files changed, 106 insertions(+), 78 deletions(-) diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm index cd55637b35..db4617d35a 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/window.dm @@ -15,25 +15,75 @@ var/basestate var/shardtype = /obj/item/weapon/shard var/glasstype = null // Set this in subtypes. Null is assumed strange or otherwise impossible to dismantle, such as for shuttle glass. -// var/silicate = 0 // number of units of silicate -// var/icon/silicateIcon = null // the silicated icon + var/silicate = 0 // number of units of silicate + var/icon/silicateIcon = null // the silicated icon + +/obj/structure/window/examine(mob/user) + . = ..(user) + + if(health == maxhealth) + user << "It looks fully intact." + else + var/perc = health / maxhealth + if(perc > 0.75) + user << "It has a few cracks." + else if(perc > 0.5) + user << "It looks slightly damaged." + else if(perc > 0.25) + user << "It looks moderately damaged." + else + user << "It looks heavily damaged." + if(silicate) + if (silicate < 30) + user << "It has a thin layer of silicate." + else if (silicate < 70) + user << "It is covered in silicate." + else + user << "There is a thick layer of silicate covering it." /obj/structure/window/proc/take_damage(var/damage = 0, var/sound_effect = 1) - var/initialhealth = src.health - src.health = max(0, src.health - damage) - if(src.health <= 0) - src.shatter() + var/initialhealth = health + + if(silicate) + world << "[silicate] silicate, damage is reduced from [damage] to [round(damage * (1 - silicate / 200))]" + damage = damage * (1 - silicate / 200) + + health = max(0, health - damage) + + if(health <= 0) + shatter() else if(sound_effect) playsound(loc, 'sound/effects/Glasshit.ogg', 100, 1) - if(src.health < src.maxhealth / 4 && initialhealth >= src.maxhealth / 4) + if(health < maxhealth / 4 && initialhealth >= maxhealth / 4) visible_message("[src] looks like it's about to shatter!" ) - else if(src.health < src.maxhealth / 2 && initialhealth >= src.maxhealth / 2) + else if(health < maxhealth / 2 && initialhealth >= maxhealth / 2) visible_message("[src] looks seriously damaged!" ) - else if(src.health < src.maxhealth * 3/4 && initialhealth >= src.maxhealth * 3/4) + else if(health < maxhealth * 3/4 && initialhealth >= maxhealth * 3/4) visible_message("Cracks begin to appear in [src]!" ) return +/obj/structure/window/proc/apply_silicate(var/amount) + if(health < maxhealth) // Mend the damage + health = min(health + amount * 3, maxhealth) + if(health == maxhealth) + visible_message("[src] looks fully repaired." ) + else // Reinforce + silicate = min(silicate + amount, 100) + updateSilicate() + +/obj/structure/window/proc/updateSilicate() + if(!silicate) + icon = initial(icon) + return + + var/icon/I = icon(initial(icon)) + var/r = (silicate / 100) + 1 + var/g = (silicate / 70) + 1 + var/b = (silicate / 50) + 1 + I.SetIntensity(r,g,b) + icon = I + /obj/structure/window/proc/shatter(var/display_message = 1) playsound(src, "shatter", 70, 1) if(display_message) @@ -251,7 +301,7 @@ update_nearby_tiles(need_rebuild=1) //Compel updates before set_dir(turn(dir, 90)) -// updateSilicate() + updateSilicate() update_nearby_tiles(need_rebuild=1) return @@ -267,27 +317,10 @@ update_nearby_tiles(need_rebuild=1) //Compel updates before set_dir(turn(dir, 270)) -// updateSilicate() + updateSilicate() update_nearby_tiles(need_rebuild=1) return - -/* -/obj/structure/window/proc/updateSilicate() - if(silicateIcon && silicate) - icon = initial(icon) - - var/icon/I = icon(icon,icon_state,dir) - - var/r = (silicate / 100) + 1 - var/g = (silicate / 70) + 1 - var/b = (silicate / 50) + 1 - I.SetIntensity(r,g,b) - icon = I - silicateIcon = I -*/ - - /obj/structure/window/New(Loc, start_dir=null, constructed=0) ..() diff --git a/code/game/turfs/simulated/walls.dm b/code/game/turfs/simulated/walls.dm index 7158a866cf..783ed17ba2 100644 --- a/code/game/turfs/simulated/walls.dm +++ b/code/game/turfs/simulated/walls.dm @@ -273,7 +273,7 @@ user << rotting_touch_message if(rotting_destroy_touch) dismantle_wall() - return 1 + return 1 if(..()) return 1 @@ -475,6 +475,9 @@ else if(istype(W,/obj/item/weapon/rcd)) //I bitterly resent having to write this. ~Z return + + else if(istype(W, /obj/item/weapon/reagent_containers)) + return // They tend to have meaningful afterattack - let them apply it without destroying a rotting wall else return attack_hand(user) diff --git a/code/game/turfs/simulated/walls_reinforced.dm b/code/game/turfs/simulated/walls_reinforced.dm index e06f9ba980..d4eae2aa63 100644 --- a/code/game/turfs/simulated/walls_reinforced.dm +++ b/code/game/turfs/simulated/walls_reinforced.dm @@ -292,6 +292,9 @@ AH.try_build(src) return + else if(istype(W, /obj/item/weapon/reagent_containers)) + return // They tend to have meaningful afterattack - let them apply it without destroying a rotting wall + //Finally, CHECKING FOR FALSE WALLS if it isn't damaged else if(!d_state) return attack_hand(user) diff --git a/code/modules/reagents/Chemistry-Reagents.dm b/code/modules/reagents/Chemistry-Reagents.dm index 6fd9de29f7..1e7d7bdd56 100644 --- a/code/modules/reagents/Chemistry-Reagents.dm +++ b/code/modules/reagents/Chemistry-Reagents.dm @@ -427,7 +427,7 @@ datum holder.remove_reagent(src.id, 0.25 * REAGENTS_METABOLISM) return -/* silicate + silicate name = "Silicate" id = "silicate" description = "A compound that can be used to reinforce glass." @@ -437,31 +437,9 @@ datum reaction_obj(var/obj/O, var/volume) src = null if(istype(O,/obj/structure/window)) - if(O:silicate <= 200) - - O:silicate += volume - O:health += volume * 3 - - if(!O:silicateIcon) - var/icon/I = icon(O.icon,O.icon_state,O.dir) - - var/r = (volume / 100) + 1 - var/g = (volume / 70) + 1 - var/b = (volume / 50) + 1 - I.SetIntensity(r,g,b) - O.icon = I - O:silicateIcon = I - else - var/icon/I = O:silicateIcon - - var/r = (volume / 100) + 1 - var/g = (volume / 70) + 1 - var/b = (volume / 50) + 1 - I.SetIntensity(r,g,b) - O.icon = I - O:silicateIcon = I - - return*/ + var/obj/structure/window/W = O + W.apply_silicate(volume) + return oxygen name = "Oxygen" diff --git a/code/modules/reagents/Chemistry-Recipes.dm b/code/modules/reagents/Chemistry-Recipes.dm index df9c8a219a..b9c657f97e 100644 --- a/code/modules/reagents/Chemistry-Recipes.dm +++ b/code/modules/reagents/Chemistry-Recipes.dm @@ -55,14 +55,14 @@ datum empulse(location, round(created_volume / 24), round(created_volume / 14), 1) holder.clear_reagents() return -/* + silicate name = "Silicate" id = "silicate" result = "silicate" required_reagents = list("aluminum" = 1, "silicon" = 1, "oxygen" = 1) result_amount = 3 -*/ + stoxin name = "Soporific" id = "stoxin" diff --git a/code/modules/reagents/reagent_containers/spray.dm b/code/modules/reagents/reagent_containers/spray.dm index 1db8fa1aa4..d3a118207e 100644 --- a/code/modules/reagents/reagent_containers/spray.dm +++ b/code/modules/reagents/reagent_containers/spray.dm @@ -21,7 +21,7 @@ ..() src.verbs -= /obj/item/weapon/reagent_containers/verb/set_APTFT -/obj/item/weapon/reagent_containers/spray/afterattack(atom/A as mob|obj, mob/user as mob) +/obj/item/weapon/reagent_containers/spray/afterattack(atom/A as mob|obj, mob/user as mob, proximity) if(istype(A, /obj/item/weapon/storage) || istype(A, /obj/structure/table) || istype(A, /obj/structure/closet) \ || istype(A, /obj/item/weapon/reagent_containers) || istype(A, /obj/structure/sink) || istype(A, /obj/structure/janitorialcart)) return @@ -46,7 +46,7 @@ user << "\The [src] is empty!" return - Spray_at(A) + Spray_at(A, user, proximity) playsound(src.loc, 'sound/effects/spray2.ogg', 50, 1, -6) @@ -61,28 +61,39 @@ log_game("[key_name(user)] fired Space lube from \a [src].") return -/obj/item/weapon/reagent_containers/spray/proc/Spray_at(atom/A as mob|obj) - var/obj/effect/decal/chempuff/D = new/obj/effect/decal/chempuff(get_turf(src)) - D.create_reagents(amount_per_transfer_from_this) - reagents.trans_to(D, amount_per_transfer_from_this, 1/spray_size) - D.icon += mix_color_from_reagents(D.reagents.reagent_list) +/obj/item/weapon/reagent_containers/spray/proc/Spray_at(atom/A as mob|obj, mob/user as mob, proximity) + if (A.density && proximity) + A.visible_message("[usr] sprays [A] with [src].") + var/obj/D = new/obj() + D.create_reagents(amount_per_transfer_from_this) + reagents.trans_to(D, amount_per_transfer_from_this) + D.icon += mix_color_from_reagents(D.reagents.reagent_list) + spawn(0) + D.reagents.reaction(A) + sleep(5) + del(D) + else + var/obj/effect/decal/chempuff/D = new/obj/effect/decal/chempuff(get_turf(src)) + D.create_reagents(amount_per_transfer_from_this) + reagents.trans_to(D, amount_per_transfer_from_this, 1/spray_size) + D.icon += mix_color_from_reagents(D.reagents.reagent_list) - var/turf/A_turf = get_turf(A)//BS12 + var/turf/A_turf = get_turf(A)//BS12 - spawn(0) - for(var/i=0, i Date: Sun, 18 Jan 2015 18:48:49 +0100 Subject: [PATCH 064/133] Fixes #7871. --- maps/exodus-1.dmm | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/maps/exodus-1.dmm b/maps/exodus-1.dmm index 4478171d36..26e26f9af1 100644 --- a/maps/exodus-1.dmm +++ b/maps/exodus-1.dmm @@ -466,8 +466,8 @@ "aiX" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/security/main) "aiY" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/security/main) "aiZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor{dir = 2; icon_state = "redcorner"},/area/security/main) -"aja" = (/obj/machinery/recharger/wallcharger{pixel_x = 4; pixel_y = -32},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor{dir = 2; icon_state = "redcorner"},/area/security/main) -"ajb" = (/obj/structure/table,/obj/machinery/recharger/wallcharger{pixel_x = 4; pixel_y = -32},/obj/item/clothing/tie/holobadge,/obj/item/clothing/tie/holobadge,/obj/item/clothing/tie/holobadge/cord,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor{dir = 2; icon_state = "redcorner"},/area/security/main) +"aja" = (/obj/machinery/camera{c_tag = "Brig East"; dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/computer/guestpass{pixel_y = -29},/turf/simulated/floor,/area/security/brig) +"ajb" = (/obj/machinery/light{dir = 1},/obj/machinery/firealarm{pixel_y = 24},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/brig) "ajc" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/wall,/area/crew_quarters/heads/hos) "ajd" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/camera{c_tag = "HoS Office South"; dir = 1},/obj/structure/flora/pottedplant,/obj/machinery/newscaster/security_unit{pixel_x = -30},/turf/simulated/floor{icon_state = "dark"},/area/crew_quarters/heads/hos) "aje" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "dark"},/area/crew_quarters/heads/hos) @@ -523,7 +523,7 @@ "akc" = (/obj/item/device/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_y = 20},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/brig) "akd" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/brig) "ake" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/security/brig) -"akf" = (/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/brig) +"akf" = (/obj/structure/table,/obj/machinery/recharger/wallcharger{pixel_x = 4; pixel_y = -28},/obj/item/clothing/tie/holobadge,/obj/item/clothing/tie/holobadge,/obj/item/clothing/tie/holobadge/cord,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor{dir = 2; icon_state = "redcorner"},/area/security/main) "akg" = (/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor{icon_state = "red"; dir = 5},/area/security/brig) "akh" = (/obj/structure/table/rack,/obj/item/weapon/storage/briefcase{pixel_x = -2; pixel_y = -5},/obj/item/weapon/storage/briefcase{pixel_x = 3; pixel_y = 0},/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office) "aki" = (/obj/structure/disposalpipe/segment,/obj/structure/closet{name = "Evidence Closet"},/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office) @@ -557,7 +557,7 @@ "akK" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/security/brig) "akL" = (/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/security/brig) "akM" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/turf/simulated/floor,/area/security/brig) -"akN" = (/obj/machinery/camera{c_tag = "Brig East"; dir = 1},/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/security/brig) +"akN" = (/obj/machinery/recharger/wallcharger{pixel_x = 4; pixel_y = -28},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor{dir = 2; icon_state = "redcorner"},/area/security/main) "akO" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor,/area/security/brig) "akP" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/security/brig) "akQ" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor,/area/security/brig) @@ -7307,10 +7307,10 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaaaaeaaeaaeaaeaaeaaaaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauaauaauaauaauaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfagUagVagWagWagWagWagWagWagWagDagXagYagZagWahaahbahcahdaheahfahgahhahiahjahkahlahmahnahnahnahnaddahoahpahqahrahsahtahuahvahwagvahxahyaboaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahzaaaaaaaaaahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaaaaeaaeaaeaaeaaeaaaaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfafQafRahAabfahBadEagWahCahDahEahFahGahHagDagZahIahFahJahKahLahLahMahNahOahPacXacXacEacXahQahRahSacQacQacQaddahTahUahVahWahXahYahZaiaaibagvahxaicabOaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadDaidaieaifabfaigadEagWaihaiiaijaikailaimagDagZahIainagWaioahLaipaiqahKahOairaisacXaitacXacXaiuacZahSacQacQaddaiwaixaiyagPagPaizagPagPaiAagvaiBaiCactaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahzaaaaaaahzaaaaaaahzahzahzahzahzahzahzaaaaaaahzaaaaaaahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaewagbagbaiDabfagbadEagWaiEaiFaiGaiHaiIahFagDaiJaiKaiLagWaiMaiNaiOaiOaiPaiQaiRaiSaiTacEaiUaiVaeFaiWaiXaiYaiZajaajbajcajdajeajfajgajhagPajiagvahxabbabbabbabbaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzaaaahzahzahzahzahzahzahzahzahzaaaahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaewagbagbaiDabfagbadEagWaiEaiFaiGaiHaiIahFagDaiJaiKaiLagWaiMaiNaiOaiOaiPaiQaiRaiSaiTacEaiUaiVaeFaiWaiXaiYaiZakNakfajcajdajeajfajgajhagPajiagvahxabbabbabbabbaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzaaaahzahzahzahzahzahzahzahzahzaaaahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfabfajjabfabfajkajlagWagWajmagWagWajnagWagWagWajoagWagWajpajqajrajsajtajuagWajvajwajxajyajqagWagWajzajAajBagWagWagWagpajCagpagpagpagpagpagvahxabbajDajEaboaaaaafaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzaaaahzahzahzahzahzahzahzahzahzaaaahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfagBafYajFafYajGajHajIajJajKajLajMajNajOajPajQajRajSajTajUajVajWajXajUajYajWajWajZakaakaakbakcakdahOakeakfakgajzakhakiakjakkaklakmaknakoakpalaakZakqabOaaaaaaaaaaaaaaaaaaaaaaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaaIaaIaamaamaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzaaaahzahzahzahzahzahzahzahzahzaaaahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaamaamaaIaamaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfadEagWagWagWagWagWagWaksaktakuakvakwakxakyakzakAakBakCakDakEakFakwakGakwakwakHakIakJakKakLakMakNakOakPakJakQakRakSakTakUakVakWakXakYakoalIabbamsalbactaaaaaaaaaaafaaaaaaaaaaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaaaaafaaaaaqaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfagBafYajFafYajGajHajIajJajKajLajMajNajOajPajQajRajSajTajUajVajWajXajUajYajWajWajZakaakaakbakcakdahOakeajbakgajzakhakiakjakkaklakmaknakoakpalaakZakqabOaaaaaaaaaaaaaaaaaaaaaaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaaIaaIaamaamaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzaaaahzahzahzahzahzahzahzahzahzaaaahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaamaamaaIaamaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfadEagWagWagWagWagWagWaksaktakuakvakwakxakyakzakAakBakCakDakEakFakwakGakwakwakHakIakJakKakLakMajaakOakPakJakQakRakSakTakUakVakWakXakYakoalIabbamsalbactaaaaaaaaaaafaaaaaaaaaaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaaaaafaaaaaqaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaafaaaaaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfadEagWalcaldalealfagWalgalhahLalialjagWacTacuacTagWabValnabUagWalpalqalralsagDaltalualvalwalxagWabTabSabSabRagWalBalCalDalEalFalGalHakoamtanQamuanQanQaaaaaaaafaafaaaaaaaaaaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafabQaafaaIaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafabMaafaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafabfadEabPalMalMalNalOalPalQalRahKalSaljagWalTalUalValWalXalYalZamaahKambahKamcamdameameamfamgamhamiamjamkamlammakoamnamoampamqalDalDamrakoadQanQamvawKamwaaaaaaaaLaaaaaaaaaaafaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaIaaIaaIaaIaaIaaaaaaaaaabpaaaaaaaaaaaIaaIaamaamaamaaaaaaahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaamaamaaIaaIaaaaaaaaaaoXaaaaaaaaaaaIaaIaamaamaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfadEagWamAamBamCamDagWamEalRaljamFamGagWamHamIamJalWamKamLamMamNamOamPamQamRamSamgamgamfamgamTaoWamVamWamXamYakoamZanaalDamqalDalDanbakoancandaneanfangaafaaLaafaafaaLaafaafaafakrakranhakrakraaaaaaaaaaaaaaaaaaaaqaaaaaaaafaafaafaaaaaaaoYaafaafaaaaafaafaaaaaaaamaaaaaaahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa From b139001d8c80f3bcce8f656b00d9f89b55b60acd Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Mon, 19 Jan 2015 08:43:15 +0100 Subject: [PATCH 065/133] Fixes #7875. Currently cryopods require a control computer to be in the same area as themselves to be found, thus there is now a computer in the brig. Also made the bedroom dorms symmetrical again. --- maps/exodus-1.dmm | 44 +++++++++++++++++++++----------------------- 1 file changed, 21 insertions(+), 23 deletions(-) diff --git a/maps/exodus-1.dmm b/maps/exodus-1.dmm index 26e26f9af1..efabf77e10 100644 --- a/maps/exodus-1.dmm +++ b/maps/exodus-1.dmm @@ -1051,13 +1051,13 @@ "auk" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/security/prison) "aul" = (/obj/structure/closet{name = "Prisoner's Locker"},/obj/item/weapon/flame/lighter/zippo,/obj/item/weapon/storage/fancy/cigarettes,/turf/simulated/floor,/area/security/prison) "aum" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/orange,/obj/machinery/camera{c_tag = "Bedroom"; dir = 6; network = list("SS13","Prison")},/turf/simulated/floor,/area/security/prison) -"aun" = (/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor,/area/security/prison) +"aun" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/computer/cryopod{density = 0; layer = 3.3; pixel_y = 32},/obj/machinery/light_switch{pixel_x = -25; pixel_y = 24},/turf/simulated/floor,/area/security/prison) "auo" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/orange,/obj/effect/decal/cleanable/generic,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) "aup" = (/obj/structure/closet{name = "Prisoner's Locker"},/obj/random/tech_supply,/obj/item/clothing/head/flatcap,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) "auq" = (/obj/machinery/atm{pixel_x = -25},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/hallway/primary/fore) "aur" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/hallway/primary/fore) "aus" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/hallway/primary/fore) -"aut" = (/obj/machinery/light_switch{pixel_x = 22; pixel_y = 10},/obj/structure/closet/secure_closet/personal,/turf/simulated/floor/wood,/area/crew_quarters/sleep/bedrooms) +"aut" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor,/area/security/prison) "auu" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/mime,/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/wood,/area/crew_quarters/sleep/bedrooms) "auv" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/mime,/turf/simulated/floor/wood,/area/crew_quarters/sleep/bedrooms) "auw" = (/obj/structure/closet/secure_closet/personal,/turf/simulated/floor{icon_state = "neutral"; dir = 1},/area/crew_quarters/fitness) @@ -1074,7 +1074,7 @@ "auH" = (/turf/simulated/floor/beach/water{tag = "icon-seadeep"; icon_state = "seadeep"},/area/crew_quarters/fitness) "auI" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/beach/water{tag = "icon-seadeep"; icon_state = "seadeep"},/area/crew_quarters/fitness) "auJ" = (/obj/structure/window/basic{dir = 4},/turf/simulated/floor/beach/water{tag = "icon-seadeep"; icon_state = "seadeep"},/area/crew_quarters/fitness) -"auK" = (/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/carpet{tag = "icon-carpet3-0"; icon_state = "carpet3-0"},/area/crew_quarters/sleep/bedrooms) +"auK" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/stool/bed,/obj/item/weapon/bedsheet/mime,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/wood,/area/crew_quarters/sleep/bedrooms) "auL" = (/obj/machinery/vending/cola,/turf/simulated/floor{icon_state = "neutral"; dir = 5},/area/crew_quarters/fitness) "auM" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/crew_quarters/fitness) "auN" = (/turf/simulated/wall,/area/hallway/secondary/entry/fore) @@ -1102,10 +1102,10 @@ "avj" = (/obj/structure/cryofeed,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) "avk" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/green,/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/hallway/primary/fore) "avl" = (/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/hallway/primary/fore) -"avm" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/plating,/area/maintenance/dormitory) -"avn" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/mime,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/wood,/area/crew_quarters/sleep/bedrooms) +"avm" = (/obj/machinery/light_switch{pixel_x = 22; pixel_y = 10},/obj/structure/stool/bed,/obj/item/weapon/bedsheet/mime,/turf/simulated/floor/wood,/area/crew_quarters/sleep/bedrooms) +"avn" = (/turf/simulated/floor{icon_state = "neutralcorner"; dir = 4},/area/crew_quarters/sleep) "avo" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/carpet{tag = "icon-carpet3-0"; icon_state = "carpet3-0"},/area/crew_quarters/sleep/bedrooms) -"avp" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "neutral"; dir = 8},/area/crew_quarters/sleep) +"avp" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/plating,/area/maintenance/dormitory) "avq" = (/turf/simulated/floor{icon_state = "neutral"; dir = 4},/area/crew_quarters/sleep) "avr" = (/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/sleep/cryo) "avs" = (/obj/effect/landmark{name = "JoinLateCryo"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/sleep/cryo) @@ -1151,7 +1151,7 @@ "awg" = (/obj/structure/table,/obj/structure/bedsheetbin,/turf/simulated/floor,/area/security/prison) "awh" = (/obj/structure/closet{name = "Prisoner's Locker"},/obj/item/clothing/head/soft/orange,/obj/item/clothing/shoes/sandal,/turf/simulated/floor,/area/security/prison) "awi" = (/obj/machinery/light,/obj/structure/stool/bed,/obj/item/weapon/bedsheet/orange,/turf/simulated/floor,/area/security/prison) -"awj" = (/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 0; pixel_y = -22},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor,/area/security/prison) +"awj" = (/turf/simulated/floor/wood,/area/crew_quarters/sleep/bedrooms) "awk" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/orange,/turf/simulated/floor,/area/security/prison) "awl" = (/obj/structure/closet{name = "Prisoner's Locker"},/obj/item/weapon/reagent_containers/food/drinks/bottle/absinthe,/obj/item/clothing/suit/apron/overalls,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) "awm" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/hallway/primary/fore) @@ -1238,7 +1238,7 @@ "axP" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/fore) "axQ" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/disposalpipe/junction{icon_state = "pipe-j2"; dir = 4},/turf/simulated/floor,/area/hallway/primary/fore) "axR" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "bluecorner"},/area/hallway/primary/fore) -"axS" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/dormitory) +"axS" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/closet/secure_closet/personal,/turf/simulated/floor/wood,/area/crew_quarters/sleep/bedrooms) "axT" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/mime,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/wood,/area/crew_quarters/sleep/bedrooms) "axU" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/closet/secure_closet/personal,/turf/simulated/floor/wood,/area/crew_quarters/sleep/bedrooms) "axV" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "neutral"; dir = 8},/area/crew_quarters/sleep) @@ -1289,7 +1289,7 @@ "ayO" = (/obj/machinery/camera{c_tag = "Fore Primary Hallway"; dir = 4; network = list("SS13")},/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/fore) "ayP" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/hallway/primary/fore) "ayQ" = (/turf/simulated/floor{icon_state = "bluecorner"},/area/hallway/primary/fore) -"ayR" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/mime,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/wood,/area/crew_quarters/sleep/bedrooms) +"ayR" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "neutral"; dir = 8},/area/crew_quarters/sleep) "ayS" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/camera{c_tag = "Dormitory Bedroom Fore"},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/carpet{tag = "icon-carpet2-0"; icon_state = "carpet2-0"},/area/crew_quarters/sleep/bedrooms) "ayT" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/crew_quarters/sleep) "ayU" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor{icon_state = "neutral"; dir = 8},/area/crew_quarters/sleep) @@ -1404,7 +1404,7 @@ "aAZ" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/mime,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/wood,/area/crew_quarters/sleep/bedrooms) "aBa" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/mime,/obj/machinery/light/small{dir = 4},/obj/machinery/light_switch{pixel_x = 22; pixel_y = 10},/turf/simulated/floor/wood,/area/crew_quarters/sleep/bedrooms) "aBb" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock{id_tag = "Dormitory 2"; name = "Dorm"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/sleep) -"aBc" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "neutral"; dir = 8},/area/crew_quarters/sleep) +"aBc" = (/obj/machinery/camera{c_tag = "Dormitory Bedroom Aft"; dir = 1},/turf/simulated/floor/carpet{tag = "icon-carpet1-0"; icon_state = "carpet1-0"},/area/crew_quarters/sleep/bedrooms) "aBd" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "neutralcorner"; dir = 2},/area/crew_quarters/sleep) "aBe" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/flora/pottedplant{tag = "icon-plant-22"; icon_state = "plant-22"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{icon_state = "neutral"},/area/crew_quarters/sleep) "aBf" = (/obj/machinery/light_switch{pixel_y = -25},/obj/structure/closet/secure_closet/personal,/turf/simulated/floor{icon_state = "neutral"},/area/crew_quarters/sleep) @@ -1847,7 +1847,7 @@ "aJA" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/maintenance/bar) "aJB" = (/obj/structure/disposalpipe/sortjunction{dir = 4; icon_state = "pipe-j1s"; sortType = "Hydroponics"; name = "Hydroponics"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating,/area/maintenance/bar) "aJC" = (/obj/machinery/light/small{dir = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/dormitory) -"aJD" = (/obj/machinery/camera{c_tag = "Dormitory Bedroom Aft"; dir = 1},/turf/simulated/floor/carpet{tag = "icon-carpet3-0"; icon_state = "carpet3-0"},/area/crew_quarters/sleep/bedrooms) +"aJD" = (/obj/structure/table/reinforced,/obj/item/device/radio/intercom{freerange = 1; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 28},/obj/item/weapon/packageWrap,/obj/item/weapon/hand_labeler,/obj/item/weapon/reagent_containers/spray/cleaner{desc = "Someone has crossed out the 'Space' from Space Cleaner and written in Chemistry. Scrawled on the back is, 'Okay, whoever filled this with polytrinic acid, it was only funny the first time. It was hard enough replacing the CMO's first cat!'"; name = "Chemistry Cleaner"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) "aJE" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/sleep/engi_wash) "aJF" = (/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/sleep/engi_wash) "aJG" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/meter,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/bar) @@ -3570,9 +3570,7 @@ "bqH" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/beakers,/obj/item/weapon/storage/box/beakers,/obj/item/weapon/reagent_containers/dropper,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) "bqI" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) "bqJ" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) -"bqK" = (/obj/structure/table/reinforced,/obj/item/device/radio/intercom{freerange = 1; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 30},/obj/item/weapon/packageWrap,/obj/item/weapon/hand_labeler,/obj/item/weapon/reagent_containers/spray/cleaner{desc = "Someone has crossed out the 'Space' from Space Cleaner and written in Chemistry. Scrawled on the back is, 'Okay, whoever filled this with polytrinic acid, it was only funny the first time. It was hard enough replacing the CMO's first cat!'"; name = "Chemistry Cleaner"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) "bqL" = (/turf/simulated/wall/r_wall,/area/medical/chemistry) -"bqM" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/medical/reception) "bqN" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/medical/reception) "bqO" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/medical/reception) "bqP" = (/turf/simulated/floor{dir = 4; icon_state = "whiteblue_ex"; tag = "icon-whiteblue (EAST)"},/area/medical/reception) @@ -7323,16 +7321,16 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaLamxaaLaaaaaaaaaaaaaaaaaaaaaaaIaafalzalyalyalyalyalAalkallaivaivaivaivagEaafaaIaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaqzarQaqBagDarRapcarSarTarUaefapharWaloaonaonarYarZasaasbaonascalWasdasealmasgasharAasiasjaskarEaoHaoHaoHaoHaoHaslasmasnasoasoaspaspasqasrassastastasuasvasvaswasxasyaszaqsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafapIapIapIapIapIaafalJaafapIapIapIapIapIaafaaIaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafasAasBasAaaaaaaaaaaaaaaaaaaaaaaaIaafapJapJapJapJapJaafalkaafapJapJapJapJapJaafaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasCarQapbagDapLapMagWasDasEalKapOasFaoiasGasGasHasIaonasJaonasKalWasLasMbgMasOasParAasQasRasSarEasTasUasUasVasWasVasXasYasZasZasZasZasZasZasZasZasZasmataatbatcaoKatdateatfaafatgathathatiathathatjaafaaaaaaaaaaamaaaaaaaaaaafaaaaaaaaaalJaaaaaaaaaaafaaaaaaaaaaamaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatkatlatmaaaatnatoatpaaaaafatqatratqaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaafaaaaaaaaaalkaaaaaaaaaaafaaaaaaaaaaamaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaanXatsattagDagDagDagWagWagWagWalWalWalWalWalWatuaonaoratvaqEatwalWalWalWatxatxatxarAatyatzatAarEatBasZasZasZasZatCatDatEatFatGatHatIatJatKatLatMatNatOatPatPatPatPatPatPatPatPatQatRatRatRatRatRatQatPaaaaaaaaaaaIaafanTanTanTanTanTaafalJaafanTanTanTanTanTaafaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatSatTatUatTatSatVatWatVatSaafatqatXatYaaaaaaaaaaaaaaaaaaaaaaaIaafanVanVanVanVanVaafalkaafanVanVanVanVanVaafaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafatZauaanYaubaucanXaafaafalWaudaueaufaugauhauiaonapnaonasJaqEaujaukaulaumaunauoauparAauqaurausarEatBasZauuaySauvatCauxauyatFatGauzauAauBauCauDatMatNauEauFauGauHauIauJauwauLatPauMatRatRatRatRatRatQatPaafaaaaaaaamaafanianjanjanjanjanualJansanqanqanqanqanwaafaaIaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauNatTauOatTauNatVauPatVauNauQauRauSauTauUauUauVauQauQaafaaaaaIaafalzalyalyalyalyalAalkallaivaivaivaivagEaafaaIaaaaaaaaaaaaaaaaaaaaaaaaanXanXanXauWanXanXapbaucanXaaaaaaalWauXalWauYauZavaalWavbavcaonavdaveaveavfavgaveavhaviavjarAavkauravlarEavmasZavnauKauvatCavpavqatFatGauzauAavravsavtatMatNavuavvauGauHauHauJavwavxavyavzatRatRatRatRatRavAatPatPatPaaaaamaaaapIapIapIapIapIaafalJaafapIapIapIapIapIaaaaaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauNavBavCavDauNavEavFavGauNavHavIavJavKavLavMavNavOauQaaaaaaaaqaaaapJapJapJapJapJaafbeSaafapJapJapJapJapJaaaaaIaaaaaaaaaaaaaaaaaaaaaaaaavQavRavSavTavUavVavWavXanXaaaaaaalWalWalWavYavZawaalWawbawcawdaweawfawgaukawhawiawjawkawlarAawmaurawnarEatBasZawoavoawpatCawravqatFatFatFawsawtawuatFatFatNawvawwauGauHauHauJawxawyawzawAatRatRatRatRatRawBawCawDawEaaaaamaaaaafaaaaafaafaaaaaabepaaaaaaaafaaaaaaaafaaaaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauNawGawHawIauNawGawHawIauNawJavHavHavHavHavHavHavHasAaaaaaaaaIaaaaafaaaaafaafaaaaaabfxaaaaaaaafaaaaaaaafaaaaaIaafaaaaaaaafaafaaaaaaaafawPavRawQawRavUawSaucawTanXaafaaLcqTatxatxatxatxatxatxatxatxatxatxatxatxatxatxatxatxatxatxarAawVaurawWarEatBasZawXawUawYaxaaxbawZaxdaxcaxfaxeaxhaxgaxhaxiaxkaxlaxmaxnaxoaxoaxnaxpaxqaxraxsatRatRatRatRatRaxsaxtaxuaxvaaaaamaamaaIaaaaaaaafaaaaaaabpaaaaafaafaafaafaaIaaIaaIaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaatSauNaxwaxxatSauNaxyaxxatSauNawMauNauNauNauNauNavHatqaaaaaaaaIaaIaaIaaaaaaaafaaaaxBaxCaxBaafaafaafaafaaIaaIaaIaafanXanXanXanXaxDaxEaxEaxFanXanXanXanXaxGaucaucanXaxHaxIanXanXaxJaxKaxLaxMaxMaxMaxMaxMaxMaxMaxMaxNaxMaxMaxMaxMaxMaxOaxPaxQaxRaxOaxSasZaxTaxjautatCaxVaxXaxXaxXaxZaxYayaaybaxXavqaydayeayfaygayhayhayhayiavxayjaykatRatRatRatRatRaykaylaxuaxvaaaaaaaaaaafaafaaaaafaaaaaabfyaaaaaaaafaaaaaaaafaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaynayoaypayoayqayoayrayoaysaytayvayvayvayvaywauNawNatqaaaaafaafaaaaaaaaaaaaaafaaaayyayzayAaafaaaaafaaaaaaaaaaaaaaaanXayBayCayDayCayCayCayCayEayCayCayFayGayDayHayIaxMaxMaxMaxMaxMaxMayJayKayLayLayLayLayMayLayLayNayLayMayLayLayLarAayOayPayQarEaAiasZayRaycaxUatCayUayTayWayVayYayXayYayZayTazaazbazcazdazeazdazdazfazgazhaziazjatRatRatRatRatRazkazlazmaznaaaaaaaaaaaaaafaaaaafaaaazoazpazoaaaaafaaaaaaaafaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazqazrazsaztazuazvazwazxazyazwazzazAazwazwazBauNavHauRaafaafaaaaaaaaaaaaaaaaafazDazEazFazGazHaaaaafaaaaaaaaaaaaaaaanXazIanXazJazKazLazLazLazMazLazLazLazNazJazOazPazPazPazPazPazPazPazQazRayLazSazTazUazVazWazXazYazZaAaaAbazTaAcarAaAdayPayQarEaAiasZaAfaAecfSatCaxWaxXaxXaxXaxXaAjaAkaAlaAmaAnaxkaAoaApaApaApaApaAqavxavxaAraAsatRatRatRatRatRaAtatPatPatPaafaafaafaafaafaafaafaaaaAuaAvaAuaaaaafaaaaaaaafaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafauNaAwaAxaAwaAyazsazsaAzaAwaAxaAwaAAaABaACaADauNavHauQauQaAEauUauUauUauUauVauQaAFaAGaAHaAIaAFanXanXaxHaAJaxIanXanXanXazIaAKazJaaaaafaaaaafaaaaafaaaaafaaaazJazOazPaALaAMaANaAOaAPazPazQaucayLaAQaAQaARaASaATaAUaAVaATaAWaAXazTaAcarAaAdayPaDdarEaAiasZawXaAgaAhaBbaBcaBdaBeaBfaBgaBhaBiaBjaBjaBkaBjatPaBlaBmaBnaBoaBpaBqaBratPaBsatRatRatRatRatRaBtatPaafaaaaaaaaaaaaaafaafaaaaafaBuaBvaBwaBxaByaafaaaaaaaafaaaaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatSatTatUatTatSatVatWatVatSaafatqatXatYaaaaaaaaaaaaaaaaaaaaaaaIaafanVanVanVanVanVaafalkaafanVanVanVanVanVaafaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafatZauaanYaubaucanXaafaafalWaudaueaufaugauhauiaonapnaonasJaqEaujaukaulaumaunauoauparAauqaurausarEatBasZaAfaySauvatCauxauyatFatGauzauAauBauCauDatMatNauEauFauGauHauIauJauwauLatPauMatRatRatRatRatRatQatPaafaaaaaaaamaafanianjanjanjanjanualJansanqanqanqanqanwaafaaIaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauNatTauOatTauNatVauPatVauNauQauRauSauTauUauUauVauQauQaafaaaaaIaafalzalyalyalyalyalAalkallaivaivaivaivagEaafaaIaaaaaaaaaaaaaaaaaaaaaaaaanXanXanXauWanXanXapbaucanXaaaaaaalWauXalWauYauZavaalWavbavcaonavdaveaveavfavgaveavhaviavjarAavkauravlarEatBasZawoavoawpatCawravqatFatGauzauAavravsavtatMatNavuavvauGauHauHauJavwavxavyavzatRatRatRatRatRavAatPatPatPaaaaamaaaapIapIapIapIapIaafalJaafapIapIapIapIapIaaaaaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauNavBavCavDauNavEavFavGauNavHavIavJavKavLavMavNavOauQaaaaaaaaqaaaapJapJapJapJapJaafbeSaafapJapJapJapJapJaaaaaIaaaaaaaaaaaaaaaaaaaaaaaaavQavRavSavTavUavVavWavXanXaaaaaaalWalWalWavYavZawaalWawbawcawdaweawfawgaukawhawiautawkawlarAawmaurawnarEatBasZawXawUawYaxaaxbawZatFatFatFawsawtawuatFatFatNawvawwauGauHauHauJawxawyawzawAatRatRatRatRatRawBawCawDawEaaaaamaaaaafaaaaafaafaaaaaabepaaaaaaaafaaaaaaaafaaaaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauNawGawHawIauNawGawHawIauNawJavHavHavHavHavHavHavHasAaaaaaaaaIaaaaafaaaaafaafaaaaaabfxaaaaaaaafaaaaaaaafaaaaaIaafaaaaaaaafaafaaaaaaaafawPavRawQawRavUawSaucawTanXaafaaLcqTatxatxatxatxatxatxatxatxatxatxatxatxatxatxatxatxatxatxarAawVaurawWarEatBasZauKaxjavmatCaxVavnaxdaxcaxfaxeaxhaxgaxhaxiaxkaxlaxmaxnaxoaxoaxnaxpaxqaxraxsatRatRatRatRatRaxsaxtaxuaxvaaaaamaamaaIaaaaaaaafaaaaaaabpaaaaafaafaafaafaaIaaIaaIaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaatSauNaxwaxxatSauNaxyaxxatSauNawMauNauNauNauNauNavHatqaaaaaaaaIaaIaaIaaaaaaaafaaaaxBaxCaxBaafaafaafaafaaIaaIaaIaafanXanXanXanXaxDaxEaxEaxFanXanXanXanXaxGaucaucanXaxHaxIanXanXaxJaxKaxLaxMaxMaxMaxMaxMaxMaxMaxMaxNaxMaxMaxMaxMaxMaxOaxPaxQaxRaxOavpasZaxSawjcfSatCaxVaxXaxXaxXaxZaxYayaaybaxXavqaydayeayfaygayhayhayhayiavxayjaykatRatRatRatRatRaykaylaxuaxvaaaaaaaaaaafaafaaaaafaaaaaabfyaaaaaaaafaaaaaaaafaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaynayoaypayoayqayoayrayoaysaytayvayvayvayvaywauNawNatqaaaaafaafaaaaaaaaaaaaaafaaaayyayzayAaafaaaaafaaaaaaaaaaaaaaaanXayBayCayDayCayCayCayCayEayCayCayFayGayDayHayIaxMaxMaxMaxMaxMaxMayJayKayLayLayLayLayMayLayLayNayLayMayLayLayLarAayOayPayQarEaAiasZcfSaycaxUatCayUayTayWayVayYayXayYayZayTazaazbazcazdazeazdazdazfazgazhaziazjatRatRatRatRatRazkazlazmaznaaaaaaaaaaaaaafaaaaafaaaazoazpazoaaaaafaaaaaaaafaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazqazrazsaztazuazvazwazxazyazwazzazAazwazwazBauNavHauRaafaafaaaaaaaaaaaaaaaaafazDazEazFazGazHaaaaafaaaaaaaaaaaaaaaanXazIanXazJazKazLazLazLazMazLazLazLazNazJazOazPazPazPazPazPazPazPazQazRayLazSazTazUazVazWazXazYazZaAaaAbazTaAcarAaAdayPayQarEaAiasZauuaAeauvatCaxWaxXaxXaxXaxXaAjaAkaAlaAmaAnaxkaAoaApaApaApaApaAqavxavxaAraAsatRatRatRatRatRaAtatPatPatPaafaafaafaafaafaafaafaaaaAuaAvaAuaaaaafaaaaaaaafaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafauNaAwaAxaAwaAyazsazsaAzaAwaAxaAwaAAaABaACaADauNavHauQauQaAEauUauUauUauUauVauQaAFaAGaAHaAIaAFanXanXaxHaAJaxIanXanXanXazIaAKazJaaaaafaaaaafaaaaafaaaaafaaaazJazOazPaALaAMaANaAOaAPazPazQaucayLaAQaAQaARaASaATaAUaAVaATaAWaAXazTaAcarAaAdayPaDdarEaAiasZawXaAgaAhaBbayRaBdaBeaBfaBgaBhaBiaBjaBjaBkaBjatPaBlaBmaBnaBoaBpaBqaBratPaBsatRatRatRatRatRaBtatPaafaaaaaaaaaaaaaafaafaaaaafaBuaBvaBwaBxaByaafaaaaaaaafaaaaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaBzatSaBAawHaBBaBCaBDaBEaBFaBBawHaBGaBHaBIaBJaBKaBLavHavHavHavHavHavHavHavHaBOaBPaAFaBQaBRaBSaAFaBTaBUayCayCayCayCayCaBVaBWaBXazJaafaBYaBYaBYaBYaBYaBYaBYaafazJazOazPaBZaCaaCbaCcaBZazPazQaCdayLayLayLayLaCeaCfaCgaChaCfaCiaCjazTaCkarAaAdayPaClarEaJCasZaAZaAYaBaatCaxWavqatEaBjaBjaBjaBjaBjaCqaCraCsaBjatPatPatPatPaCtatPatPatPaBtatRatRatRatRatRaBtatPaaaaaaaaaaacaaaaafaaaaaaaaaaCvaCwaCxaCyaCvaafaaaaaaaafaaaaaaaaaaaaaaaaaaaafaafaaaaaaaaaaaaaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazqaAxaCzaCAaCAaCAaCAaCBaAxazqaaaaBIaCCaxzaBLaCEaCEaCEaCEaCEaCEaCEavHaCFaCGaAFaCHaCIaCJaAFaCKaCLaCKaCKaCKaCKaCKaCKaCKaCKaCMaaaaBYaCNaCOaCPaCQaCRaBYaaaazJazOazPaBZaCSaCTaCUaBZazPazQanXayLaCVaCWaARaCXaCYaCZaDaaDbaDcayLayLayLarAaAdayPayQarEaAiasZaxTaJDauvatCaDgavqatEaDhaDiaDjaDkaBjaCqaDlaCsaBjaDmaDnaDoaDpaDqaGwaDsaafaDtaDuaDuaDuaDuaDuaDvaafaaaaaaaaaaaaaaaaafaaaaaaaaaaCvaDzaDAaDBaCvaafaaaaaaaDCaDCaDCaDCaDCaDDaDEaDCaDCaDCaDCaDCaDCaDCaDFaDGaDGaDGaDHaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazqaAxaCzaCAaCAaCAaCAaCBaAxazqaaaaBIaCCaxzaBLaCEaCEaCEaCEaCEaCEaCEavHaCFaCGaAFaCHaCIaCJaAFaCKaCLaCKaCKaCKaCKaCKaCKaCKaCKaCMaaaaBYaCNaCOaCPaCQaCRaBYaaaazJazOazPaBZaCSaCTaCUaBZazPazQanXayLaCVaCWaARaCXaCYaCZaDaaDbaDcayLayLayLarAaAdayPayQarEaAiasZaxTaBcauvatCaDgavqatEaDhaDiaDjaDkaBjaCqaDlaCsaBjaDmaDnaDoaDpaDqaGwaDsaafaDtaDuaDuaDuaDuaDuaDvaafaaaaaaaaaaaaaaaaafaaaaaaaaaaCvaDzaDAaDBaCvaafaaaaaaaDCaDCaDCaDCaDCaDDaDEaDCaDCaDCaDCaDCaDCaDCaDFaDGaDGaDGaDHaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaaaaaaaaaaaaDIaDJaDKaDJaDJaDLaDMaDJaDJaDKaDNaDOaBIaDPaxAaBLaDRaDSaDTaDUaDVaDWaCEavHaDXauQaAFaAFaDYaDZaCMaEaaEbaEcaEdaEeaEfaEgaEhaEiaEjaCMaafaBYaEkaElaEmaEnaEoaBYaafazJazOazPaEpaEqaEraEsaEtazPazQaEuayLazSazTaEvaEwaCfaExaEyaATaEzaEAaEBaEBarAaAdayPayQarEaAiaCmaCmaCmaCmaCmaEHaEIatEaEJaEKaEKaELaEMaEKaENaEOaBjaEPaEQaERaESaETaCnaDsaaaaafaaaaafaaaaafaaaaafaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaCvaEXaEYaEZaCvaFaaFbaDCaDCaFcaFdaFdaFdaFdaFdaFeaFfaFgaFgaFgaFgaFgaFgaFgaFhaFiaFjaafaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaDIaDNaDJaFkaFlaFlaFmaFnaFoaFpaFqaFlaFlaFraFsaFtaDPayuaBLaFvayxaBMazCaBMaBNaCDavHaFuaDQaFxaFwaFzaFyaFIaFJaFKaFLaFLaFLaFMaFLaFLaFNaFOaCMaaaaBYaFPaElaFQaEnaFRaBYaaaazJazOazPaFSaFTaFUaFTaFVazPazQaFWayLayLayLayLaFXaCfaCgazTaCfaFYaFZazTaGaarAaGbaGcaGdarEaAiaDeaDfaDraCoaDeaCpaGjaGkaGlaGmaBjaBjaBjaBjaBjaBjaGnaGoaGpaGqaDpaGraGsaDsaDsaDsaDsaDsaDsaDsaDsaDsaFaaFbaDsaDsaFaaGtaDsaDsaaaaaaaCvaCvaGxaGyaCvaGzaGAaGBaFdaGCaDCaDCaDCaDCaDCaGDaGEaGFaGFaGFaGFaGFaGFaGGaGGaGHaGGaGGaGGaGGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaFraGIaGJaGKaFlaGLaFlaGLaFlaGLaFlaGLaFlaGMaGNaGOaDPayuaBLaGPaFAaGRaGSaGTaGUaCEaFBaFDaFCaFCaFCbazaFEaFCaHcaFLaFLaFLaFLaFLaFLaFLaFNaHdaCMaafaBYaHeaHfaHgaHhaHiaBYaafazJazOazPaHjaHkaFUaHlaHmazPaHnaHoayLaHpazTaARaHqaATaHrazTaCfaFYaHsazTaHtarAaHuaHvaHwarEaGuaDyaEUaGvaDwaDxaEVaEWatEaHCaHDaBjaHEaBjaHFaBjaHGaBjaHHaGpaHIaDpaHJaHKaHLaHMaHMaHNaHOaHKaHKaHKaHKaHKaHPaHKaHKaHKaHQaHVaDsaDsaDsaDsaHRaHSaHTaHUaIaaIbaDCaDCaIcaDCaIdaIeaIfaIgaGFaIhaGFaIiaIjaIkaIlbinaInaIoaIpaIqaIraIsbjFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaa @@ -7357,7 +7355,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaT aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaabhObhObhObhObhObhObhObhObhObhObhObkKbkLbkMbkNbkObgrbkPbkQbkRbkRbkSbkTbkUbkVbkWbkWbkXbkYbbZbbZbbZbeZbkZbbZbajbajbajbajblaaXeaXeblbblcbldbleblfblgblhblibljblkbdPbllbfmblmbgGblnbgGbloblpblqaSzbctaJeblrblsbltblublvblwblxblybdYbebblzblAblCblBblDblAblEbebbedbedblFblGblHblIbiCblJblKaJiblLblMblNaJiblOblOblOblOblOblOaZzaZzblPblQbZNcdMblQblPaZzaZzaZzaZzaZzaZzaZzaZzaZzaZzblTaZzaZzaZzaZzaZzaZzaVIaZzbewbewblVblWblWblOblOblOblOblOblXblYblYblZblYbewblYblZbmablYbmbblObmcbmcbmcbmdaRZbmeaRZaRZaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaabhObhObhObhObhObhObhObhObhObhObhObdubdvbjmbjnbmfbgrbmgbjpbmhbmibjpbjpbjpaVAbmjbmkbmkbmlbbZbdDbmmbeZbmnbbZbmobmpbmqbmrbmsbmtbmtbmubmtbmtbmvbdPbmwbmxbfgbmybmzblfbmAbfmbmBbgGbgGbmCbmDbmEblqaSzbmFbmGbmGbmGbmGbmGbmGbmGbmHbmGbdYbebbmIbmJbmKbmLbmKbmMbmNbebbedbedbmObmPbmQbmRbiCbiGbmSaJibcKaRqaRpaJibmTbmUbmVbmWbmXbmYbmZbnabnbbncbndbnebncbnfbngbnhbnibnjbnkbnlbnmbnnbnobnpbnqbnrbnsbntbntbnubYfaVJblOblObZLblObZMbZMblObnzbnAbnBblObZtbZubZtblOblXblYbmbblObZnbZBbZnblObnGbnHbnIbnJbnKbnLbnMaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaabhObhObhObhObhObhObhObhObhObhOaaabnNbnObnPbeQbnQbgrbnRbjpbnSbnTbnUbnVbjpbnWbnXbnYbnZbmlbbZbbZbbZbbZbbZbbZboabobbocbodboebdPbdPbdPbdPbdPbdPbdPbWqbdPbdPbdPbogbdPbohboibojbgGbgGbgGbokblpblqaSzbolbmGbombonboobcEbvGbotbosbotaafbebboubovbowboxboybozboAbebaafbedboBboCboDboEbiCbiGboFaJiboGboHaRpbXHboJboKboLboMboNbYwboPboQboRboRboSboTboUboUboVboWboXboYboZbpabpbbnnbpcbpdbpebpfbpgbphbpfbpibYfaVJbpjbpkbplbpmbpnbpobppbpqbprbpqbpsbptbpubpvblOaZzbpwbpxblObpybpzbpAbpBbpCbpDbnIbpEbpFbpGbnMaaaaaaaaaaacaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaaaaaaaaaaaabgnbgobgpbgqbdvbpHbpHbpHbpIbpHbpJaZVbpKbpLbgrbpMbpNbpObpPbpQbpRbpSaYSaXeaXeaXebpTbkWbpUbkWbkWbkWbkWbpVbpWbpWbpXbpYbdPbpZbqabqbbqcbqdbqebqfbqgbqhbqibqjbqkbmAbqlbojbgGbgGbqmbfmaMbblqbqnbqoaJubqqbqrbqrbxqborbopbxsbotaafbebbebbebbebceebebbebbebbebaafbedbqzboCbqAbqBbqCbqDbqEaJibqFaRqaRpaJibqGbqHbqIbqJbqKbqLbqMbqNboUboUboUboUboUboUbqObqPbqQboYbqRbqSbqTbnnbqUbqVbqWbpfbpgbphbpfbqXbYfaVJbpjbqYbqZbqZbrabrbbrcbrdbrdbrdbrebrdbrfbrgbrhbribrjbrkbnIbrlbpCbrmbrnbrobrpbnIbrqbpFbrrbnMaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaaaaaaaaaaaabgnbgobgpbgqbdvbpHbpHbpHbpIbpHbpJaZVbpKbpLbgrbpMbpNbpObpPbpQbpRbpSaYSaXeaXeaXebpTbkWbpUbkWbkWbkWbkWbpVbpWbpWbpXbpYbdPbpZbqabqbbqcbqdbqebqfbqgbqhbqibqjbqkbmAbqlbojbgGbgGbqmbfmaMbblqbqnbqoaJubqqbqrbqrbxqborbopbxsbotaafbebbebbebbebceebebbebbebbebaafbedbqzboCbqAbqBbqCbqDbqEaJibqFaRqaRpaJibqGbqHbqIbqJaJDbqLboPbqNboUboUboUboUboUboUbqObqPbqQboYbqRbqSbqTbnnbqUbqVbqWbpfbpgbphbpfbqXbYfaVJbpjbqYbqZbqZbrabrbbrcbrdbrdbrdbrebrdbrfbrgbrhbribrjbrkbnIbrlbpCbrmbrnbrobrpbnIbrqbpFbrrbnMaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaaaaaaaaaaabrsbrtbrubrvbrwbrxbrxbrybrzbrAbgrcedbrCbpPbrDbjpbjpbjpbajbrEbrFbrGbrHbrGbrGbrGbrHbrGbajbajbdPbdPbdPbrIbdPbrJbrJbrJbrJbrJbrJbqfbrKbrLbrMbrNbrObrPbrQbrRbrSbrTbrUbrVbrWbrXbrYbrZaHBbsbbqvbsabsebscbotbosbotaafbsibsjbskbslbsmbsnbskbsobsiaafbedbspbsqbspbedbedbedbsraJibssaRqaRpbXHboJboKbstbsubsvbqLbswbqNbsxbsybszbsAbsBbsCbqObsDbnibsEbsFbsGbsHbnnbsIbqVbpebpfbpgbphbpfbpibYfaVJbpjbsJbsKbsLbsMbplbsNbsObsPbsQbsRbsSbsTbsUbrhbsVbsWbsXbnIbsYbsZbtabtbbtcbtdbnIbrqbpFbtebnMaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaaaaacaaaaaaaaaaaaaaaaaaaaabrsbtfbtgbthbtibtibtibtjbtibtibgrbtkbtlbtmbpPbjpaaaaaaaaaaafaafbtnbtnbtnbtnbtnbtnbtnaaaaaabtobtpbtqbtrbtsbrJbrJbrJbrJbrJbrJbttbtubtvbtwbtxbtybtzbtAbfmbfmbtBbfmbfmbtCbtDbtEbtFbmGbtHbmGbmGbmGbmGbmGbtIbmGaafbtJbtKbtLbtMbtNbtMbtLbtObtPaafbspbtQbtRbtSbtTbtUbspbtVaJlbtWbbmbtXaJibtYbmUbtZbuabubbucbudbuebufbugbuhbuibujbukbulbumbnibnnbunbuobupbnnbuqburbusbutbuubuubuvbuwbYfaXqbpjbuxbplbplbsMbuybuzbuAbuBbuCbuDbuEbuFbuGbrhbuHbuIbuJbnIbuKbuLbuMbtbbpCbuNbnIbpEbpFbuObnMaaaaaaaaaaaaaafbuPbuQbuRbuQbuRbuQbuSaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabuTbeObuUbuUbuVbpHbuWbgnbgobuXbuWbgrbuYbuZbvabvbbjpaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnaaaaaabvcbvdbrJbvebvfbvfbvfbvfbvfbvgbvhbvfbvibvjbvkbvlbvmbvnbvobfmbvpbgGbvqbvrbvsbvtbvubvvbmGbmGbmGbvxbvybvzbvAbvBbvwaafbvDbvIbvHbvJbvKbvMbvNbvObvLaafbspbvPbvQbxnbedbvRbspbvSaJlbvTbcLbvUaJibvVbvWbvXbvYbvZbuccdTcdUbwcbwdbwebwebwfbwgcdWcdVbwjbwkbwlbwmbwkbwkbwkbwkbwnbwkbwkaXKaXKaXKaXKaVJbpjbsJbsKbsLbwobwpbwqbwrbwsbwsbwsbsSbwtbwubwvbwwbwxbwybnIbwzbwAbwBbwCbpCbwDbnIbwEbwFbnMbnMaaaaaaaaaaaaaafbwGbwHbwIbwJbwJbwKbwGaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa From 492c5382e619804fdd022f95ca566374269eb843 Mon Sep 17 00:00:00 2001 From: Loganbacca Date: Tue, 20 Jan 2015 13:39:01 +1300 Subject: [PATCH 066/133] Fixes item anchoring on unload --- code/modules/vehicles/vehicle.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/vehicles/vehicle.dm b/code/modules/vehicles/vehicle.dm index df2286f70e..072423d496 100644 --- a/code/modules/vehicles/vehicle.dm +++ b/code/modules/vehicles/vehicle.dm @@ -337,7 +337,7 @@ load.forceMove(dest) load.set_dir(get_dir(loc, dest)) - load.anchored = initial(load.anchored) + load.anchored = 0 //we can only load non-anchored items, so it makes sense to set this to false load.pixel_x = initial(load.pixel_x) load.pixel_y = initial(load.pixel_y) load.layer = initial(load.layer) From 00be76992292cfae62daf58abb5b5e6a8c5ea3f9 Mon Sep 17 00:00:00 2001 From: Loganbacca Date: Tue, 20 Jan 2015 22:55:41 +1300 Subject: [PATCH 067/133] Fixed AI status display not updating --- code/game/machinery/status_display_ai.dm | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/code/game/machinery/status_display_ai.dm b/code/game/machinery/status_display_ai.dm index 4077c6d56d..ac9701908b 100644 --- a/code/game/machinery/status_display_ai.dm +++ b/code/game/machinery/status_display_ai.dm @@ -72,6 +72,12 @@ var/list/ai_status_emotions = list( var/emote = input("Please, select a status!", "AI Status", null, null) in ai_emotions src.emotion = emote +/obj/machinery/ai_status_display/process() + if(stat & NOPOWER) + remove_display() + return + update() + /obj/machinery/ai_status_display/proc/update() if(mode==0) //Blank overlays.Cut() @@ -91,3 +97,7 @@ var/list/ai_status_emotions = list( if(overlays.len) overlays.Cut() overlays += image('icons/obj/status_display.dmi', icon_state=picture_state) + +/obj/machinery/ai_status_display/proc/remove_display() + if(overlays.len) + overlays.Cut() \ No newline at end of file From b3e367c778d486f2875c77d7e4f13e112013c096 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Tue, 20 Jan 2015 11:22:58 +0100 Subject: [PATCH 068/133] Fixes #7879. Can now enable/disable turrets through a turret controller again. Adds missing checks to prevent abuse. --- code/game/machinery/portable_turret.dm | 7 ++++++- code/game/machinery/turret_control.dm | 13 ++++++++++--- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/code/game/machinery/portable_turret.dm b/code/game/machinery/portable_turret.dm index 603fc9fe98..7497edd695 100644 --- a/code/game/machinery/portable_turret.dm +++ b/code/game/machinery/portable_turret.dm @@ -154,6 +154,12 @@ user << "There seems to be a firewall preventing you from accessing this device." return 0 + if (get_dist(src, user) > 0 && !issilicon(user)) + user << "You are too far away." + user.unset_machine() + user << browse(null, "window=turretid") + return 0 + if(locked && !issilicon(user)) user << "Access denied." return 0 @@ -175,7 +181,6 @@ Automatic Portable Turret Installation

Status: []
Behaviour controls are [locked ? "locked" : "unlocked"]"}, - "[on ? "On" : "Off"]" ) if(!locked || issilicon(user)) diff --git a/code/game/machinery/turret_control.dm b/code/game/machinery/turret_control.dm index ce2a3b73ad..41a98103be 100644 --- a/code/game/machinery/turret_control.dm +++ b/code/game/machinery/turret_control.dm @@ -66,15 +66,20 @@ return /obj/machinery/turretid/proc/can_use(mob/user) + if(ailock && issilicon(user)) + user << "There seems to be a firewall preventing you from accessing this device." + return 0 + if (get_dist(src, user) > 0 && !issilicon(user)) user << "You are too far away." user.unset_machine() user << browse(null, "window=turretid") return 0 - if(ailock && issilicon(user)) - user << "There seems to be a firewall preventing you from accessing this device." + if(locked && !issilicon(user)) + user << "Access denied." return 0 + return 1 /obj/machinery/turretid/attackby(obj/item/weapon/W, mob/user) @@ -124,7 +129,9 @@ if (!istype(loc, /area)) return var/area/area = loc - var/dat = "" + var/dat = text({"Status: []
+ Behaviour controls are [locked ? "locked" : "unlocked"]"}, + "[enabled ? "On" : "Off"]" ) if(!locked || issilicon(user)) dat += text({"

From 07cc7a156b547a3476112b402d942a105dd37e8a Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Tue, 20 Jan 2015 11:34:29 +0100 Subject: [PATCH 069/133] Fixes #7857. Must now remain adjacent to the teleporter computer if you wish to change target location. --- code/game/machinery/teleporter.dm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/code/game/machinery/teleporter.dm b/code/game/machinery/teleporter.dm index b247f17919..f2d298ada7 100644 --- a/code/game/machinery/teleporter.dm +++ b/code/game/machinery/teleporter.dm @@ -122,6 +122,9 @@ L[tmpname] = I var/desc = input("Please select a location to lock in.", "Locking Computer") in L + if(get_dist(src, usr) > 1) + return + src.locked = L[desc] for(var/mob/O in hearers(src, null)) O.show_message("\blue Locked In", 2) From 1949f105f1d4f261e6a9d0ae7a0593fc725e1a63 Mon Sep 17 00:00:00 2001 From: Kelenius Date: Tue, 20 Jan 2015 14:55:26 +0300 Subject: [PATCH 070/133] Removes a debug world << --- code/game/objects/structures/window.dm | 1 - 1 file changed, 1 deletion(-) diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm index db4617d35a..6037cf2837 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/window.dm @@ -45,7 +45,6 @@ var/initialhealth = health if(silicate) - world << "[silicate] silicate, damage is reduced from [damage] to [round(damage * (1 - silicate / 200))]" damage = damage * (1 - silicate / 200) health = max(0, health - damage) From 5f5fc4b0a616a8f91e1340c5a17dd84a7820ed6b Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Tue, 20 Jan 2015 13:32:59 +0100 Subject: [PATCH 071/133] Fixes #7880. Adds () around the "M.z in list" check, otherwise BYOND attempts to check "M.z in (list && hassensorlevel)". Also attempts to properly acquire the current Z position. --- code/game/machinery/camera/tracking.dm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/code/game/machinery/camera/tracking.dm b/code/game/machinery/camera/tracking.dm index f274a1d07e..4e64b9a660 100644 --- a/code/game/machinery/camera/tracking.dm +++ b/code/game/machinery/camera/tracking.dm @@ -236,7 +236,11 @@ return 1 /proc/trackable(var/mob/living/M) - return near_camera(M) || (M.loc.z in config.station_levels && hassensorlevel(M, SUIT_SENSOR_TRACKING)) + var/turf/T = get_turf(M) + if(T && (T.z in config.station_levels) && hassensorlevel(M, SUIT_SENSOR_TRACKING)) + return 1 + + return near_camera(M) /obj/machinery/camera/attack_ai(var/mob/living/silicon/ai/user as mob) if (!istype(user)) From cee3c3eeffeaad3887ff0edfde0046a9a1bffd73 Mon Sep 17 00:00:00 2001 From: Kelenius Date: Tue, 20 Jan 2015 16:11:05 +0300 Subject: [PATCH 072/133] Replaces icon proc with image --- code/game/objects/structures/window.dm | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm index 6037cf2837..458c5626bc 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/window.dm @@ -16,7 +16,6 @@ var/shardtype = /obj/item/weapon/shard var/glasstype = null // Set this in subtypes. Null is assumed strange or otherwise impossible to dismantle, such as for shuttle glass. var/silicate = 0 // number of units of silicate - var/icon/silicateIcon = null // the silicated icon /obj/structure/window/examine(mob/user) . = ..(user) @@ -72,16 +71,13 @@ updateSilicate() /obj/structure/window/proc/updateSilicate() - if(!silicate) - icon = initial(icon) - return + if (overlays) + overlays.Cut() - var/icon/I = icon(initial(icon)) - var/r = (silicate / 100) + 1 - var/g = (silicate / 70) + 1 - var/b = (silicate / 50) + 1 - I.SetIntensity(r,g,b) - icon = I + var/image/img = image(src.icon, src.icon_state) + img.color = "#ffffff" + img.alpha = silicate * 255 / 100 + overlays += img /obj/structure/window/proc/shatter(var/display_message = 1) playsound(src, "shatter", 70, 1) From 9452c11b56e362a776ce051a3a726438a7b52628 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Tue, 20 Jan 2015 20:40:35 +0100 Subject: [PATCH 073/133] Reduces the risk of unnecessary borg designation announcements. --- code/modules/mob/living/silicon/robot/robot.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index aeebc30bb3..38873d02a8 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -1304,4 +1304,5 @@ var/list/robot_verbs_default = list( if(2) //New Module connected_ai << "

NOTICE - [braintype] module change detected: [name] has loaded the [module.name].
" if(3) //New Name - connected_ai << "

NOTICE - [braintype] reclassification detected: [oldname] is now designated as [newname].
" \ No newline at end of file + if(oldname != newname) + connected_ai << "

NOTICE - [braintype] reclassification detected: [oldname] is now designated as [newname].
" \ No newline at end of file From 8dbe6d2f35690fec42923853b5ffbd1c2b70e70c Mon Sep 17 00:00:00 2001 From: Atlantiscze Date: Tue, 20 Jan 2015 21:12:52 +0100 Subject: [PATCH 074/133] Fixes two powernet related issues: - First issue is power monitoring consoles showing slightly inaccurate values. The code calculated some sort of level average which resulted in stupid values being reported (like load 500kW available 300kW). This also fixes APC load partially showing as Other load on the console. - Second fixed issue (Fixes #7869) resolved gamebreaking bug that caused total irreversible failure of all powernets if makepowernets() was called. This, for example, includes large enough explosions, via admin command, or few other cases. --- code/modules/power/powernet.dm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/code/modules/power/powernet.dm b/code/modules/power/powernet.dm index 401cb41af7..791b69e949 100644 --- a/code/modules/power/powernet.dm +++ b/code/modules/power/powernet.dm @@ -16,9 +16,11 @@ /datum/powernet/New() powernets += src + ..() /datum/powernet/Del() powernets -= src + ..() //Returns the amount of excess power (before refunding to SMESs) from last tick. //This is for machines that might adjust their power consumption using this data. @@ -110,8 +112,7 @@ S.restore() // and restore some of the power that was used //updates the viewed load (as seen on power computers) - viewload = 0.8*viewload + 0.2*load - viewload = round(viewload) + viewload = round(load) //reset the powernet load = 0 From 3b7a3fba7a7d3a5058ba26d2d39acd866b5a6fd4 Mon Sep 17 00:00:00 2001 From: Loganbacca Date: Wed, 21 Jan 2015 12:37:20 +1300 Subject: [PATCH 075/133] Removed process() dependency --- code/game/machinery/status_display_ai.dm | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/code/game/machinery/status_display_ai.dm b/code/game/machinery/status_display_ai.dm index ac9701908b..0b7371c1b0 100644 --- a/code/game/machinery/status_display_ai.dm +++ b/code/game/machinery/status_display_ai.dm @@ -43,6 +43,7 @@ var/list/ai_status_emotions = list( if(istype(M, /obj/machinery/ai_status_display)) var/obj/machinery/ai_status_display/AISD = M AISD.emotion = emote + AISD.update() //if Friend Computer, change ALL displays else if(istype(M, /obj/machinery/status_display)) @@ -73,10 +74,7 @@ var/list/ai_status_emotions = list( src.emotion = emote /obj/machinery/ai_status_display/process() - if(stat & NOPOWER) - remove_display() - return - update() + return /obj/machinery/ai_status_display/proc/update() if(mode==0) //Blank @@ -98,6 +96,10 @@ var/list/ai_status_emotions = list( overlays.Cut() overlays += image('icons/obj/status_display.dmi', icon_state=picture_state) -/obj/machinery/ai_status_display/proc/remove_display() - if(overlays.len) - overlays.Cut() \ No newline at end of file +/obj/machinery/ai_status_display/power_change() + ..() + if(stat & NOPOWER) + if(overlays.len) + overlays.Cut() + else + update() From d14750da86c6e25d1752f1d7b926e089205fd8f4 Mon Sep 17 00:00:00 2001 From: Kelenius Date: Wed, 21 Jan 2015 03:41:02 +0300 Subject: [PATCH 076/133] Replaces 'SUPPLY' with 'CARGO' on cargo screens So now it shows the line with the arrival time properly. --- code/game/machinery/supply_display.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/machinery/supply_display.dm b/code/game/machinery/supply_display.dm index aacd770d79..97e747c0db 100644 --- a/code/game/machinery/supply_display.dm +++ b/code/game/machinery/supply_display.dm @@ -3,7 +3,7 @@ /obj/machinery/status_display/supply_display/update() if(!..() && mode == STATUS_DISPLAY_CUSTOM) - message1 = "SUPPLY" + message1 = "CARGO" message2 = "" var/datum/shuttle/ferry/supply/shuttle = supply_controller.shuttle From 5637fb0f11349f0f3563be58cc2cd13880799d78 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Wed, 21 Jan 2015 08:48:41 +0100 Subject: [PATCH 077/133] Emergency shutter assemblies are now permanently dense. --- code/game/machinery/doors/firedoor_assembly.dm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/code/game/machinery/doors/firedoor_assembly.dm b/code/game/machinery/doors/firedoor_assembly.dm index 1372997f83..435a927857 100644 --- a/code/game/machinery/doors/firedoor_assembly.dm +++ b/code/game/machinery/doors/firedoor_assembly.dm @@ -5,7 +5,7 @@ obj/structure/firedoor_assembly icon_state = "door_construction" anchored = 0 opacity = 0 - density = 0 + density = 1 var/wired = 0 obj/structure/firedoor_assembly/update_icon() @@ -35,7 +35,7 @@ obj/structure/firedoor_assembly/attackby(C as obj, mob/user as mob) user << "You cut the wires!" new/obj/item/stack/cable_coil(src.loc, 1) wired = 0 - + else if(istype(C, /obj/item/weapon/airalarm_electronics) && wired) if(anchored) playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1) @@ -48,7 +48,6 @@ obj/structure/firedoor_assembly/attackby(C as obj, mob/user as mob) user << "You must secure \the [src] first!" else if(istype(C, /obj/item/weapon/wrench)) anchored = !anchored - density = !density playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1) user.visible_message("[user] has [anchored ? "" : "un" ]secured \the [src]!", "You have [anchored ? "" : "un" ]secured \the [src]!") From e8aeb1b49662134f367e347e99052152e81b63de Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Wed, 21 Jan 2015 20:25:49 +0000 Subject: [PATCH 078/133] Fixes a laptop vendor runtime --- code/WorkInProgress/computer3/lapvend.dm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/code/WorkInProgress/computer3/lapvend.dm b/code/WorkInProgress/computer3/lapvend.dm index 36de9e4cfc..72531b5d8e 100644 --- a/code/WorkInProgress/computer3/lapvend.dm +++ b/code/WorkInProgress/computer3/lapvend.dm @@ -174,8 +174,9 @@ vendmode = 1 if("cancel") - relap.loc = src.loc - relap = null + if(relap) + relap.loc = src.loc + relap = null vendmode = 0 src.updateUsrDialog() From 0edcf0c349cdc70be716f775120a92288b077ecf Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Wed, 21 Jan 2015 20:34:04 +0000 Subject: [PATCH 079/133] Fixes a warning in reagent code caused by mistyped reagent ids --- code/modules/hydroponics/seed_datums.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/hydroponics/seed_datums.dm b/code/modules/hydroponics/seed_datums.dm index 509d069754..33e6f47c57 100644 --- a/code/modules/hydroponics/seed_datums.dm +++ b/code/modules/hydroponics/seed_datums.dm @@ -217,8 +217,8 @@ proc/populate_seed_list() "water", "potassium", "plasticide", - "slimetoxin", - "aslimetoxin", + "mutationtoxin", + "amutationtoxin", "inaprovaline", "space_drugs", "paroxetine", From b43e0ed95b75d9ace24faaf7482e2861ccff952f Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Wed, 21 Jan 2015 20:39:55 +0000 Subject: [PATCH 080/133] Fixes vine runtime --- code/modules/hydroponics/vines.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/modules/hydroponics/vines.dm b/code/modules/hydroponics/vines.dm index b25c03080e..699063fec4 100644 --- a/code/modules/hydroponics/vines.dm +++ b/code/modules/hydroponics/vines.dm @@ -362,6 +362,8 @@ SV.life() + if(!SV) continue + if(SV.energy < 2) //If tile isn't fully grown var/chance if(seed) From 0b05816dd09c61104528d991dd73c6c7eb698707 Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Wed, 21 Jan 2015 20:41:45 +0000 Subject: [PATCH 081/133] Radio runtime fix --- code/defines/procs/radio.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/defines/procs/radio.dm b/code/defines/procs/radio.dm index 0cbd009076..1e0e045928 100644 --- a/code/defines/procs/radio.dm +++ b/code/defines/procs/radio.dm @@ -47,7 +47,7 @@ /proc/get_receiver_reception(var/receiver, var/datum/signal/signal) if(receiver && check_signal(signal)) var/turf/pos = get_turf(receiver) - if(pos.z in signal.data["level"]) + if(pos && (pos.z in signal.data["level"])) return TELECOMMS_RECEPTION_RECEIVER return TELECOMMS_RECEPTION_NONE From 0a3383c1c55d675042448ad3e947bb766381de0d Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Wed, 21 Jan 2015 20:54:46 +0000 Subject: [PATCH 082/133] Fixes an announcement runtime after someone uses the transformation artifact to change their PDA to something else --- .../research/xenoarchaeology/artifact/artifact_replicator.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/research/xenoarchaeology/artifact/artifact_replicator.dm b/code/modules/research/xenoarchaeology/artifact/artifact_replicator.dm index 1b3afdd22c..4108986789 100644 --- a/code/modules/research/xenoarchaeology/artifact/artifact_replicator.dm +++ b/code/modules/research/xenoarchaeology/artifact/artifact_replicator.dm @@ -102,7 +102,7 @@ spawned_obj.desc += " It is made of [source_material]." else spawned_obj.desc = "It is made of [source_material]." - source_material.loc = null + del(source_material) spawn_progress_time = 0 max_spawn_time = rand(30,100) From cb6b898d86fd45129a14d9aa04e2155b65922ec6 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Wed, 21 Jan 2015 20:20:35 +0100 Subject: [PATCH 083/133] Cleans up post-round summary. --- code/game/gamemodes/game_mode.dm | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm index e90b65a333..fca51edf83 100644 --- a/code/game/gamemodes/game_mode.dm +++ b/code/game/gamemodes/game_mode.dm @@ -151,8 +151,6 @@ var/list/area/escape_locations = list(/area/shuttle/escape/centcom, /area/shuttle/escape_pod1/centcom, /area/shuttle/escape_pod2/centcom, /area/shuttle/escape_pod3/centcom, /area/shuttle/escape_pod5/centcom) - var/pltext = "Player list:" - for(var/mob/M in player_list) if(M.client) clients++ @@ -187,7 +185,6 @@ text += " ([escaped_total>0 ? escaped_total : "none"] [emergency_shuttle.evac ? "escaped" : "transferred"]) and [ghosts] ghosts.
" else text += "There were no survivors ([ghosts] ghosts)." - text += "
" + pltext //print player list after the general info world << text if(clients > 0) @@ -553,7 +550,7 @@ proc/get_nt_opposed() var/list/refined_log = new() for(var/datum/uplink_item/UI in H.purchase_log) var/obj/I = new UI.path - refined_log.Add("[H.purchase_log[UI]]x\icon[I][I.name]") + refined_log.Add("[H.purchase_log[UI]]x\icon[I][UI.name]") del(I) purchases = english_list(refined_log, nothing_text = "") if(uplink_true) From 166e7528fb1b4bd295cdbe3f862a61a3f47be75c Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Wed, 21 Jan 2015 21:07:41 +0000 Subject: [PATCH 084/133] Fixes monkeyize runtime due to ghostize trying to remove verbs from a non-existent client --- code/modules/mob/dead/observer/observer.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index c2f7adc171..c1d577834d 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -143,7 +143,7 @@ Works together with spawning an observer, noted above. ghost.can_reenter_corpse = can_reenter_corpse ghost.timeofdeath = src.timeofdeath //BS12 EDIT ghost.key = key - if(!ghost.client.holder && !config.antag_hud_allowed) // For new ghosts we remove the verb from even showing up if it's not allowed. + if(ghost.client && !ghost.client.holder && !config.antag_hud_allowed) // For new ghosts we remove the verb from even showing up if it's not allowed. ghost.verbs -= /mob/dead/observer/verb/toggle_antagHUD // Poor guys, don't know what they are missing! return ghost From 41414e591df96a15b783e61e0f54a195f4b6b76a Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Wed, 21 Jan 2015 21:16:43 +0000 Subject: [PATCH 085/133] VV runtime fix --- code/datums/datumvars.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/datums/datumvars.dm b/code/datums/datumvars.dm index e666a03653..e3c9ff8c86 100644 --- a/code/datums/datumvars.dm +++ b/code/datums/datumvars.dm @@ -866,6 +866,7 @@ client return var/new_organ = input("Please choose an organ to add.","Organ",null) as null|anything in typesof(/datum/organ/internal)-/datum/organ/internal + if(!new_organ) return if(!M) usr << "Mob doesn't exist anymore" From dadc677a34b3dee6b11034bb717a724a222edee8 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Wed, 21 Jan 2015 20:40:37 +0100 Subject: [PATCH 086/133] Adds a second teleporter check because I r dumb. --- code/game/machinery/teleporter.dm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/code/game/machinery/teleporter.dm b/code/game/machinery/teleporter.dm index f2d298ada7..f71212cd57 100644 --- a/code/game/machinery/teleporter.dm +++ b/code/game/machinery/teleporter.dm @@ -121,8 +121,10 @@ areaindex[tmpname] = 1 L[tmpname] = I - var/desc = input("Please select a location to lock in.", "Locking Computer") in L - if(get_dist(src, usr) > 1) + var/desc = input("Please select a location to lock in.", "Locking Computer") in L|null + if(!desc) + return + if(get_dist(src, usr) > 1 && !issilicon(usr)) return src.locked = L[desc] From d5b469e4c59d1c2626c9c03a95fb83abfb8df468 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Thu, 22 Jan 2015 13:41:06 +0100 Subject: [PATCH 087/133] Fixes #7913. Replaces disposal junction with a simple bent section. --- maps/exodus-1.dmm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/maps/exodus-1.dmm b/maps/exodus-1.dmm index efabf77e10..363ec73433 100644 --- a/maps/exodus-1.dmm +++ b/maps/exodus-1.dmm @@ -878,7 +878,7 @@ "aqT" = (/turf/simulated/floor/plating/airless,/area/solar/fore) "aqU" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "cult"; dir = 2},/area/lawoffice) "aqV" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor{icon_state = "cult"; dir = 2},/area/lawoffice) -"aqW" = (/obj/structure/stool/bed/chair/office/dark,/obj/effect/landmark/start{name = "Internal Affairs Agent"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/junction,/turf/simulated/floor{icon_state = "cult"; dir = 2},/area/lawoffice) +"aqW" = (/obj/structure/stool/bed/chair/office/dark,/obj/effect/landmark/start{name = "Internal Affairs Agent"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "cult"; dir = 2},/area/lawoffice) "aqX" = (/obj/machinery/camera{c_tag = "Detective South"; dir = 1},/obj/machinery/computer/secure_data,/turf/simulated/floor{icon_state = "white"},/area/security/detectives_office) "aqY" = (/obj/structure/disposalpipe/segment,/obj/item/device/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_y = -30},/turf/simulated/floor{icon_state = "white"},/area/security/detectives_office) "aqZ" = (/obj/structure/closet{name = "Evidence Closet"},/obj/item/weapon/storage/box/bodybags,/obj/item/weapon/storage/box/evidence,/turf/simulated/floor{icon_state = "white"},/area/security/detectives_office) From c97b54fe56a5eb22332171f3d0c95d6173412806 Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Thu, 22 Jan 2015 15:03:54 +0000 Subject: [PATCH 088/133] Fixes power runtime --- code/modules/power/power.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/modules/power/power.dm b/code/modules/power/power.dm index d1f0c82454..366cd9351d 100644 --- a/code/modules/power/power.dm +++ b/code/modules/power/power.dm @@ -294,6 +294,8 @@ for(var/obj/structure/cable/Cable in net2.cables) //merge cables net1.add_cable(Cable) + if(!net2) return net1 + for(var/obj/machinery/power/Node in net2.nodes) //merge power machines if(!Node.connect_to_network()) Node.disconnect_from_network() //if somehow we can't connect the machine to the new powernet, disconnect it from the old nonetheless From 7590bbac99a077ebdb713cb8e7d1c221d61a7602 Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 19 Jan 2015 23:38:22 -0500 Subject: [PATCH 089/133] Infection chance proc improvements Instead of magic type bits, the infection protection value of clothing is mostly based on it's bio armor value, which is much more flexible. Also gloves and shoes to contribute to protection values, and adjusts surgical mask bio protection. Hardsuits gain voidsuit level bio protection, when sealed. Wearing a face mask helps prevent others from catching airborne diseases. Also fixes #7909 --- code/game/objects/items.dm | 2 +- code/modules/clothing/masks/gasmask.dm | 3 +- code/modules/clothing/masks/miscellaneous.dm | 2 +- code/modules/clothing/spacesuits/rig/rig.dm | 11 ++- .../mob/living/carbon/human/human_defense.dm | 2 +- code/modules/mob/living/carbon/human/life.dm | 9 +- code/modules/virus2/helpers.dm | 90 ++++++++++--------- 7 files changed, 68 insertions(+), 51 deletions(-) diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index 09850e3963..d0c52d7f59 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -35,7 +35,7 @@ var/siemens_coefficient = 1 // for electrical admittance/conductance (electrocution checks and shit) var/slowdown = 0 // How much clothing is slowing you down. Negative values speeds you up var/canremove = 1 //Mostly for Ninja code at this point but basically will not allow the item to be removed if set to 0. /N - var/armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) + var/list/armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) var/list/allowed = null //suit storage stuff. var/obj/item/device/uplink/hidden/hidden_uplink = null // All items can have an uplink hidden inside, just remember to add the triggers. var/zoomdevicename = null //name used for message when binoculars/scope is used diff --git a/code/modules/clothing/masks/gasmask.dm b/code/modules/clothing/masks/gasmask.dm index d7a20b73d0..c006cd892d 100644 --- a/code/modules/clothing/masks/gasmask.dm +++ b/code/modules/clothing/masks/gasmask.dm @@ -12,6 +12,7 @@ siemens_coefficient = 0.9 var/gas_filter_strength = 1 //For gas mask filters var/list/filtered_gases = list("phoron", "sleeping_agent") + armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 75, rad = 0) /obj/item/clothing/mask/gas/filter_air(datum/gas_mixture/air) var/datum/gas_mixture/filtered = new @@ -32,7 +33,7 @@ desc = "A modernised version of the classic design, this mask will not only filter out phoron but it can also be connected to an air supply." icon_state = "plaguedoctor" item_state = "gas_mask" - armor = list(melee = 0, bullet = 0, laser = 2,energy = 2, bomb = 0, bio = 75, rad = 0) + armor = list(melee = 0, bullet = 0, laser = 2,energy = 2, bomb = 0, bio = 90, rad = 0) body_parts_covered = HEAD|FACE /obj/item/clothing/mask/gas/swat diff --git a/code/modules/clothing/masks/miscellaneous.dm b/code/modules/clothing/masks/miscellaneous.dm index 3f3094c794..758baae8b9 100644 --- a/code/modules/clothing/masks/miscellaneous.dm +++ b/code/modules/clothing/masks/miscellaneous.dm @@ -24,7 +24,7 @@ body_parts_covered = 0 gas_transfer_coefficient = 0.90 permeability_coefficient = 0.01 - armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 25, rad = 0) + armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 60, rad = 0) /obj/item/clothing/mask/fakemoustache name = "fake moustache" diff --git a/code/modules/clothing/spacesuits/rig/rig.dm b/code/modules/clothing/spacesuits/rig/rig.dm index dd0d073cd2..b308fda2b4 100644 --- a/code/modules/clothing/spacesuits/rig/rig.dm +++ b/code/modules/clothing/spacesuits/rig/rig.dm @@ -138,7 +138,7 @@ piece.name = "[suit_type] [initial(piece.name)]" piece.desc = "It seems to be part of a [src.name]." piece.icon_state = "[initial(icon_state)]" - piece.armor = armor + piece.armor = armor.Copy() piece.min_cold_protection_temperature = min_cold_protection_temperature piece.max_heat_protection_temperature = max_heat_protection_temperature piece.siemens_coefficient = siemens_coefficient @@ -227,7 +227,7 @@ if(!failed_to_seal && M.back == src && piece == compare_piece) if(!instant) - if(!do_after(M,SEAL_DELAY)) + if(!do_after(M,SEAL_DELAY,needhand=0)) failed_to_seal = 1 piece.icon_state = "[initial(icon_state)][!seal_target ? "_sealed" : ""]" @@ -251,6 +251,13 @@ else helmet.flags &= ~AIRTIGHT helmet.update_light(wearer) + + //sealed pieces become airtight, protecting against diseases + if (!seal_target) + piece.armor["bio"] = 100 + else + piece.armor["bio"] = src.armor["bio"] + else failed_to_seal = 1 diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index 34774530ca..de42bb0bfc 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -120,7 +120,7 @@ emp_act /mob/living/carbon/human/proc/getarmor_organ(var/datum/organ/external/def_zone, var/type) if(!type) return 0 var/protection = 0 - var/list/protective_gear = list(head, wear_mask, wear_suit, w_uniform) + var/list/protective_gear = list(head, wear_mask, wear_suit, w_uniform, gloves, shoes) for(var/gear in protective_gear) if(gear && istype(gear ,/obj/item/clothing)) var/obj/item/clothing/C = gear diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 0f13a6dbfd..ac0df6a64d 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -407,11 +407,10 @@ loc.assume_air(breath) //spread some viruses while we are at it - if (virus2.len > 0) - if (prob(10) && get_infection_chance(src)) -// log_debug("[src] : Exhaling some viruses") - for(var/mob/living/carbon/M in view(1,src)) - src.spread_disease_to(M) + if (virus2.len > 0 && prob(10)) +// log_debug("[src] : Exhaling some viruses") + for(var/mob/living/carbon/M in view(1,src)) + src.spread_disease_to(M) proc/get_breath_from_internal(volume_needed) diff --git a/code/modules/virus2/helpers.dm b/code/modules/virus2/helpers.dm index 927078b062..18c2db0f14 100644 --- a/code/modules/virus2/helpers.dm +++ b/code/modules/virus2/helpers.dm @@ -1,49 +1,58 @@ -//Returns 1 if mob can be infected, 0 otherwise. Checks his clothing. -proc/get_infection_chance(var/mob/living/carbon/M, var/vector = "Airborne") - var/score = 0 +//Returns 1 if mob can be infected, 0 otherwise. +proc/infection_check(var/mob/living/carbon/M, var/vector = "Airborne") if (!istype(M)) return 0 - if(istype(M, /mob/living/carbon/human)) + var/protection = M.getarmor(null, "bio") //gets the full body bio armour value, weighted by body part coverage. + var/score = round(0.06*protection) //scales 100% protection to 6. - if (vector == "Airborne") - if(M.internal) //not breathing infected air helps greatly - score = 30 - if(M.wear_mask) - score += 5 - if(istype(M:wear_mask, /obj/item/clothing/mask/surgical) && !M.internal) - score += 10 - if(istype(M:wear_suit, /obj/item/clothing/suit/space) && istype(M:head, /obj/item/clothing/head/helmet/space)) - score += 20 - if(istype(M:wear_suit, /obj/item/clothing/suit/bio_suit) && istype(M:head, /obj/item/clothing/head/bio_hood)) - score += 30 + switch(vector) + if("Airborne") + if(M.internal) + score = 6 //not breathing infected air helps greatly + var/obj/item/I = M.wear_mask + + //masks provide a small bonus and can replace overall bio protection + score = max(score, round(0.06*I.armor["bio"])) + if (istype(I, /obj/item/clothing/mask)) + score += 1 //this should be added after + + if("Contact") + if(istype(M, /mob/living/carbon/human)) + var/mob/living/carbon/human/H = M + + //gloves provide a larger bonus + if (istype(H.gloves, /obj/item/clothing/gloves)) + score += 2 - - if (vector == "Contact") - if(M:gloves) score += 15 - if(istype(M:wear_suit, /obj/item/clothing/suit/space) && istype(M:head, /obj/item/clothing/head/helmet/space)) - score += 15 - if(istype(M:wear_suit, /obj/item/clothing/suit/bio_suit) && istype(M:head, /obj/item/clothing/head/bio_hood)) - score += 15 - - -// log_debug("[M]'s resistance to [vector] viruses: [score]") - - if(score >= 30) + if(score >= 6) return 0 - else if(score == 25 && prob(99)) + else if(score >= 5 && prob(99)) return 0 - else if(score == 20 && prob(95)) + else if(score >= 4 && prob(95)) return 0 - else if(score == 15 && prob(75)) + else if(score >= 3 && prob(75)) return 0 - else if(score == 10 && prob(55)) + else if(score >= 2 && prob(55)) return 0 - else if(score == 5 && prob(35)) + else if(score >= 1 && prob(35)) return 0 -// log_debug("Infection got through") return 1 +//Similar to infection check, but used for when M is spreading the virus. +/proc/infection_spreading_check(var/mob/living/carbon/M, var/vector = "Airborne") + if (!istype(M)) + return 0 + + var/protection = M.getarmor(null, "bio") //gets the full body bio armour value, weighted by body part coverage. + + if (vector == "Airborne") + var/obj/item/I = M.wear_mask + if (istype(I)) + protection = max(protection, round(0.06*I.armor["bio"])) + + return prob(protection) + //Checks if table-passing table can reach target (5 tile radius) proc/airborne_can_reach(turf/source, turf/target) var/obj/dummy = new(source) @@ -84,17 +93,14 @@ proc/airborne_can_reach(turf/source, turf/target) // log_debug("Infecting [M]") - if(prob(disease.infectionchance) || forced) - // certain clothes can prevent an infection - if(!forced && !get_infection_chance(M, disease.spreadtype)) - return - + if(forced || (infection_check(M, disease.spreadtype) && prob(disease.infectionchance))) var/datum/disease2/disease/D = disease.getcopy() D.minormutate() // log_debug("Adding virus") M.virus2["[D.uniqueID]"] = D M.hud_updateflag |= 1 << STATUS_HUD + //Infects mob M with disease D /proc/infect_mob(var/mob/living/carbon/M, var/datum/disease2/disease/D) infect_virus2(M,D,1) @@ -126,12 +132,15 @@ proc/airborne_can_reach(turf/source, turf/target) // log_debug("Attempting virus [ID]") var/datum/disease2/disease/V = virus2[ID] if(V.spreadtype != vector) continue + + //It's hard to get other people sick if you're in an airtight suit. + if(!infection_spreading_check(src, V.spreadtype)) continue if (vector == "Airborne") if(airborne_can_reach(get_turf(src), get_turf(victim))) // log_debug("In range, infecting") infect_virus2(victim,V) - else +// else // log_debug("Could not reach target") if (vector == "Contact") @@ -148,7 +157,7 @@ proc/airborne_can_reach(turf/source, turf/target) var/mob/living/carbon/human/H = victim var/datum/organ/external/select_area = H.get_organ(src.zone_sel.selecting) var/list/clothes = list(H.head, H.wear_mask, H.wear_suit, H.w_uniform, H.gloves, H.shoes) - for(var/obj/item/clothing/C in clothes ) + for(var/obj/item/clothing/C in clothes) if(C && istype(C)) if(C.body_parts_covered & select_area.body_part) nudity = 0 @@ -156,4 +165,5 @@ proc/airborne_can_reach(turf/source, turf/target) for (var/ID in victim.virus2) var/datum/disease2/disease/V = victim.virus2[ID] if(V && V.spreadtype != vector) continue + if(!infection_spreading_check(victim, V.spreadtype)) continue infect_virus2(src,V) From 10de826ca390d81c3a2b0a67e1c2f4869a295a27 Mon Sep 17 00:00:00 2001 From: Kelenius Date: Fri, 23 Jan 2015 22:27:32 +0300 Subject: [PATCH 090/133] Removes FPRINT and TABLEPASS flags --- .../Rust/fuel_assembly_port_construction.dm | 2 +- .../Rust/fuel_compressor_construction.dm | 2 +- code/WorkInProgress/Ported/Abi79/uplinks.dm | 2 +- code/WorkInProgress/Ported/policetape.dm | 1 - .../Sigyn/Softcurity/clothing.dm | 6 +-- .../SkyMarshal/officer_stuff.dm | 2 - .../WorkInProgress/SkyMarshal/traitoritems.dm | 2 - .../Susan/susan_desert_turfs.dm | 8 ---- code/WorkInProgress/autopsy.dm | 2 +- code/defines/obj.dm | 2 +- code/defines/obj/weapon.dm | 20 ++++----- code/game/atoms.dm | 8 +--- code/game/gamemodes/cult/cult_items.dm | 7 +-- code/game/gamemodes/cult/ritual.dm | 1 - .../gamemodes/events/holidays/Christmas.dm | 1 - .../mutiny/emergency_authentication_device.dm | 1 - code/game/gamemodes/nuclear/nuclearbomb.dm | 1 - code/game/gamemodes/nuclear/pinpointer.dm | 2 +- code/game/gamemodes/wizard/artifact.dm | 1 - code/game/gamemodes/wizard/soulstone.dm | 2 - code/game/gamemodes/wizard/spellbook.dm | 1 - code/game/machinery/alarm.dm | 4 +- code/game/machinery/atmoalter/canister.dm | 2 +- code/game/machinery/bees_items.dm | 1 - code/game/machinery/bots/cleanbot.dm | 1 - code/game/machinery/bots/floorbot.dm | 2 - .../machinery/computer/HolodeckControl.dm | 3 +- code/game/machinery/pipe/construction.dm | 2 - code/game/machinery/spaceheater.dm | 2 - code/game/mecha/mecha_parts.dm | 4 +- code/game/objects/items.dm | 1 - code/game/objects/items/apc_frame.dm | 2 +- code/game/objects/items/devices/PDA/PDA.dm | 1 - code/game/objects/items/devices/aicard.dm | 1 - code/game/objects/items/devices/binoculars.dm | 2 +- .../objects/items/devices/chameleonproj.dm | 2 +- code/game/objects/items/devices/debugger.dm | 2 +- code/game/objects/items/devices/flash.dm | 2 +- code/game/objects/items/devices/flashlight.dm | 8 ++-- .../objects/items/devices/lightreplacer.dm | 2 +- code/game/objects/items/devices/megaphone.dm | 2 +- code/game/objects/items/devices/multitool.dm | 2 +- code/game/objects/items/devices/paicard.dm | 1 - code/game/objects/items/devices/powersink.dm | 2 +- .../items/devices/radio/electropack.dm | 2 +- .../objects/items/devices/radio/intercom.dm | 2 +- .../game/objects/items/devices/radio/radio.dm | 2 +- code/game/objects/items/devices/scanners.dm | 9 ++-- .../objects/items/devices/suit_cooling.dm | 2 +- .../objects/items/devices/taperecorder.dm | 2 +- .../objects/items/devices/traitordevices.dm | 2 +- code/game/objects/items/devices/whistle.dm | 2 +- code/game/objects/items/robot/robot_parts.dm | 2 +- code/game/objects/items/stacks/rods.dm | 2 +- .../game/objects/items/stacks/sheets/light.dm | 2 +- .../items/stacks/sheets/sheet_types.dm | 7 ++- .../objects/items/stacks/sheets/sheets.dm | 1 - code/game/objects/items/stacks/tiles/light.dm | 2 +- .../objects/items/stacks/tiles/plasteel.dm | 2 +- .../objects/items/stacks/tiles/tile_types.dm | 6 +-- code/game/objects/items/toys.dm | 13 +++--- code/game/objects/items/weapons/AI_modules.dm | 2 +- code/game/objects/items/weapons/RCD.dm | 2 +- code/game/objects/items/weapons/RSF.dm | 1 - .../objects/items/weapons/cigs_lighters.dm | 2 +- .../weapons/circuitboards/circuitboard.dm | 2 +- code/game/objects/items/weapons/cosmetics.dm | 1 - code/game/objects/items/weapons/explosives.dm | 2 +- .../objects/items/weapons/extinguisher.dm | 3 +- .../objects/items/weapons/flamethrower.dm | 2 +- .../objects/items/weapons/grenades/grenade.dm | 2 +- .../items/weapons/grenades/smokebomb.dm | 1 - code/game/objects/items/weapons/handcuffs.dm | 2 +- .../game/objects/items/weapons/hydroponics.dm | 1 - code/game/objects/items/weapons/kitchen.dm | 8 ++-- .../objects/items/weapons/melee/energy.dm | 8 ++-- code/game/objects/items/weapons/melee/misc.dm | 2 +- code/game/objects/items/weapons/mop.dm | 1 - code/game/objects/items/weapons/paint.dm | 2 +- .../game/objects/items/weapons/power_cells.dm | 1 - code/game/objects/items/weapons/scrolls.dm | 1 - code/game/objects/items/weapons/shields.dm | 6 +-- .../objects/items/weapons/storage/backpack.dm | 1 - .../objects/items/weapons/storage/bags.dm | 1 - .../objects/items/weapons/storage/belt.dm | 1 - .../objects/items/weapons/storage/bible.dm | 1 - .../objects/items/weapons/storage/boxes.dm | 1 - .../items/weapons/storage/briefcase.dm | 2 +- .../objects/items/weapons/storage/fancy.dm | 3 -- .../objects/items/weapons/storage/secure.dm | 2 - .../objects/items/weapons/storage/toolbox.dm | 2 +- .../objects/items/weapons/surgery_tools.dm | 12 ++--- .../objects/items/weapons/swords_axes_etc.dm | 2 - .../objects/items/weapons/table_rack_parts.dm | 4 +- .../objects/items/weapons/tanks/tank_types.dm | 4 +- .../game/objects/items/weapons/tanks/tanks.dm | 2 +- .../objects/items/weapons/teleportation.dm | 2 +- code/game/objects/items/weapons/tools.dm | 10 ++--- code/game/objects/items/weapons/twohanded.dm | 2 +- code/game/objects/items/weapons/weaponry.dm | 7 +-- .../structures/crates_lockers/closets.dm | 1 - .../structures/crates_lockers/largecrate.dm | 1 - code/game/objects/structures/grille.dm | 2 +- code/game/objects/structures/mop_bucket.dm | 2 +- code/game/objects/structures/noticeboard.dm | 1 - .../structures/stool_bed_chair_nest/stools.dm | 1 - code/modules/assembly/assembly.dm | 2 +- code/modules/assembly/bomb.dm | 2 +- code/modules/assembly/holder.dm | 2 +- code/modules/assembly/infrared.dm | 1 - code/modules/assembly/shock_kit.dm | 2 +- code/modules/clothing/clothing.dm | 2 - code/modules/clothing/head/hardhat.dm | 5 +-- code/modules/clothing/head/helmet.dm | 14 +++--- code/modules/clothing/head/jobs.dm | 16 ++----- code/modules/clothing/head/misc.dm | 36 +++++---------- code/modules/clothing/head/misc_special.dm | 7 ++- code/modules/clothing/head/soft_caps.dm | 2 +- code/modules/clothing/masks/boxing.dm | 6 +-- code/modules/clothing/masks/breath.dm | 2 +- code/modules/clothing/masks/gasmask.dm | 2 +- code/modules/clothing/masks/miscellaneous.dm | 18 ++++---- code/modules/clothing/spacesuits/captain.dm | 4 +- .../clothing/spacesuits/miscellaneous.dm | 12 ++--- .../clothing/spacesuits/rig/rig_pieces.dm | 6 +-- .../clothing/spacesuits/rig/suits/light.dm | 4 +- .../modules/clothing/spacesuits/spacesuits.dm | 4 +- code/modules/clothing/suits/armor.dm | 9 ++-- code/modules/clothing/suits/bio.dm | 3 +- code/modules/clothing/suits/miscellaneous.dm | 13 +----- code/modules/clothing/suits/utility.dm | 7 ++- code/modules/clothing/under/color.dm | 14 ------ code/modules/clothing/under/jobs/civilian.dm | 13 ------ .../clothing/under/jobs/engineering.dm | 3 -- code/modules/clothing/under/jobs/medsci.dm | 11 ----- code/modules/clothing/under/jobs/security.dm | 9 +--- code/modules/clothing/under/miscellaneous.dm | 5 --- code/modules/clothing/under/shorts.dm | 1 - code/modules/clothing/under/ties.dm | 1 - code/modules/customitems/item_defines.dm | 13 +----- .../detectivework/footprints_and_rag.dm | 2 +- code/modules/detectivework/scanner.dm | 2 +- code/modules/hydroponics/grown_inedible.dm | 3 -- code/modules/hydroponics/hydro_tools.dm | 14 +++--- code/modules/hydroponics/seeds.dm | 1 - code/modules/library/lib_items.dm | 2 - code/modules/mining/coins.dm | 2 +- code/modules/mining/mine_items.dm | 4 +- code/modules/mining/money_bag.dm | 2 +- .../mob/living/carbon/brain/brain_item.dm | 1 - .../species/xenomorphs/alien_facehugger.dm | 2 +- .../mob/living/silicon/robot/analyzer.dm | 2 +- .../mob/living/silicon/robot/robot_modules.dm | 2 +- code/modules/paperwork/clipboard.dm | 1 - code/modules/paperwork/pen.dm | 5 +-- code/modules/paperwork/photography.dm | 2 +- code/modules/paperwork/stamps.dm | 1 - code/modules/power/antimatter/shielding.dm | 2 +- code/modules/power/breaker_box.dm | 1 - code/modules/power/cable.dm | 2 +- code/modules/power/lighting.dm | 5 +-- code/modules/projectiles/ammunition.dm | 4 +- code/modules/projectiles/gun.dm | 2 +- .../projectiles/guns/energy/special.dm | 4 +- .../projectiles/guns/projectile/crossbow.dm | 1 - .../projectiles/guns/projectile/launcher.dm | 2 +- .../projectiles/guns/projectile/pneumatic.dm | 2 +- .../projectiles/guns/projectile/rocket.dm | 2 +- .../projectiles/guns/projectile/shotgun.dm | 4 +- code/modules/projectiles/projectile.dm | 1 - .../reagents/reagent_containers/borghydro.dm | 1 - .../reagent_containers/food/condiment.dm | 2 +- .../reagent_containers/food/drinks.dm | 4 +- .../reagents/reagent_containers/glass.dm | 17 ++++--- .../reagent_containers/glass/bottle.dm | 2 +- .../reagent_containers/glass/bottle/robot.dm | 2 +- .../reagents/reagent_containers/hypospray.dm | 2 +- .../reagents/reagent_containers/spray.dm | 2 +- code/modules/reagents/reagent_dispenser.dm | 1 - code/modules/recycling/sortingmachinery.dm | 5 +-- .../research/xenoarchaeology/chemistry.dm | 2 +- .../xenoarchaeology/tools/tools_anoscanner.dm | 1 - .../tools/tools_coresampler.dm | 1 - .../tools/tools_depthscanner.dm | 1 - code/modules/shieldgen/sheldwallgen.dm | 2 +- code/modules/virus2/helpers.dm | 1 - code/modules/virus2/items_devices.dm | 2 +- code/setup.dm | 44 +++++++++---------- code/unused/assemblies.dm | 22 +++++----- code/unused/asteroiddevice.dm | 2 +- code/unused/hivebot/hive_modules.dm | 2 +- code/unused/new_year.dm | 2 +- code/unused/optics/beam.dm | 1 - code/unused/optics/laser-pointer.dm | 2 +- code/unused/optics/mirror.dm | 1 - code/unused/pda2/pda2.dm | 1 - code/unused/powerarmor/powerarmor.dm | 5 +-- code/unused/scrap.dm | 2 +- code/unused/vehicle.dm | 1 - 199 files changed, 272 insertions(+), 496 deletions(-) diff --git a/code/WorkInProgress/Cael_Aislinn/Rust/fuel_assembly_port_construction.dm b/code/WorkInProgress/Cael_Aislinn/Rust/fuel_assembly_port_construction.dm index 0c12ed23a0..9b0103cb8a 100644 --- a/code/WorkInProgress/Cael_Aislinn/Rust/fuel_assembly_port_construction.dm +++ b/code/WorkInProgress/Cael_Aislinn/Rust/fuel_assembly_port_construction.dm @@ -6,7 +6,7 @@ icon = 'code/WorkInProgress/Cael_Aislinn/Rust/rust.dmi' icon_state = "port2" w_class = 4 - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT /obj/item/rust_fuel_assembly_port_frame/attackby(obj/item/weapon/W as obj, mob/user as mob) if (istype(W, /obj/item/weapon/wrench)) diff --git a/code/WorkInProgress/Cael_Aislinn/Rust/fuel_compressor_construction.dm b/code/WorkInProgress/Cael_Aislinn/Rust/fuel_compressor_construction.dm index 3d2e32f971..0db3de8a7c 100644 --- a/code/WorkInProgress/Cael_Aislinn/Rust/fuel_compressor_construction.dm +++ b/code/WorkInProgress/Cael_Aislinn/Rust/fuel_compressor_construction.dm @@ -6,7 +6,7 @@ icon = 'code/WorkInProgress/Cael_Aislinn/Rust/rust.dmi' icon_state = "fuel_compressor0" w_class = 4 - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT /obj/item/rust_fuel_compressor_frame/attackby(obj/item/weapon/W as obj, mob/user as mob) if (istype(W, /obj/item/weapon/wrench)) diff --git a/code/WorkInProgress/Ported/Abi79/uplinks.dm b/code/WorkInProgress/Ported/Abi79/uplinks.dm index 58d9fa0ace..dc33f9f10d 100644 --- a/code/WorkInProgress/Ported/Abi79/uplinks.dm +++ b/code/WorkInProgress/Ported/Abi79/uplinks.dm @@ -317,7 +317,7 @@ A list of items and costs is stored under the datum of every game mode, alongsid var/temp = null //Temporary storage area for a message offering the option to destroy the radio var/selfdestruct = 0 //Set to 1 while the radio is self destructing itself. var/obj/item/device/radio/origradio = null - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT slot_flags = SLOT_BELT w_class = 2.0 item_state = "radio" diff --git a/code/WorkInProgress/Ported/policetape.dm b/code/WorkInProgress/Ported/policetape.dm index 4425a9713b..8791ea1075 100644 --- a/code/WorkInProgress/Ported/policetape.dm +++ b/code/WorkInProgress/Ported/policetape.dm @@ -3,7 +3,6 @@ name = "tape roll" icon = 'icons/policetape.dmi' icon_state = "rollstart" - flags = FPRINT w_class = 2.0 var/turf/start var/turf/end diff --git a/code/WorkInProgress/Sigyn/Softcurity/clothing.dm b/code/WorkInProgress/Sigyn/Softcurity/clothing.dm index 057c10cb57..e3b5b6238b 100644 --- a/code/WorkInProgress/Sigyn/Softcurity/clothing.dm +++ b/code/WorkInProgress/Sigyn/Softcurity/clothing.dm @@ -5,7 +5,7 @@ item_state = "ba_suit" color = "hosblueclothes" armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) - flags = FPRINT | TABLEPASS | ONESIZEFITSALL + flags = ONESIZEFITSALL /obj/item/clothing/under/rank/advisor name = "correctional advisor's jumpsuit" @@ -14,7 +14,7 @@ item_state = "ba_suit" color = "wardenblueclothes" armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) - flags = FPRINT | TABLEPASS | ONESIZEFITSALL + flags = ONESIZEFITSALL /obj/item/clothing/under/rank/supervisor name = "crew supervisor's jumpsuit" @@ -23,7 +23,7 @@ item_state = "ba_suit" color = "officerblueclothes" armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) - flags = FPRINT | TABLEPASS | ONESIZEFITSALL + flags = ONESIZEFITSALL /obj/item/clothing/shoes/boots name = "boots" diff --git a/code/WorkInProgress/SkyMarshal/officer_stuff.dm b/code/WorkInProgress/SkyMarshal/officer_stuff.dm index 13cca94a8b..f7483b7dd4 100644 --- a/code/WorkInProgress/SkyMarshal/officer_stuff.dm +++ b/code/WorkInProgress/SkyMarshal/officer_stuff.dm @@ -5,13 +5,11 @@ name = "officers beret" desc = "A black beret adorned with the shield—a silver kite shield with an engraved sword—of the NanoTrasen security forces, announcing to the world that the wearer is a defender of NanoTrasen." icon_state = "centcomofficerberet" - flags = FPRINT | TABLEPASS /obj/item/clothing/head/beret/centcom/captain name = "captains beret" desc = "A white beret adorned with the shield—a cobalt kite shield with an engraved sword—of the NanoTrasen security forces, worn only by those captaining a vessel of the NanoTrasen Navy." icon_state = "centcomcaptain" - flags = FPRINT | TABLEPASS /obj/item/clothing/shoes/centcom name = "dress shoes" diff --git a/code/WorkInProgress/SkyMarshal/traitoritems.dm b/code/WorkInProgress/SkyMarshal/traitoritems.dm index b42a36685e..43c7641e53 100644 --- a/code/WorkInProgress/SkyMarshal/traitoritems.dm +++ b/code/WorkInProgress/SkyMarshal/traitoritems.dm @@ -3,7 +3,6 @@ /obj/item/weapon/stamperaser name = "eraser" desc = "It looks like some kind of eraser." - flags = FPRINT | TABLEPASS icon = 'icons/obj/items.dmi' icon_state = "zippo" item_state = "zippo" @@ -15,7 +14,6 @@ desc = "It blinks and has an antenna on it. Weird." icon_state = "t-ray0" var/on = 0 - flags = FPRINT|TABLEPASS w_class = 1 var/list/obj/item/device/radio/Old = list() var/list/obj/item/device/radio/Curr = list() diff --git a/code/WorkInProgress/Susan/susan_desert_turfs.dm b/code/WorkInProgress/Susan/susan_desert_turfs.dm index a52f90a4bc..41ea6568ca 100644 --- a/code/WorkInProgress/Susan/susan_desert_turfs.dm +++ b/code/WorkInProgress/Susan/susan_desert_turfs.dm @@ -252,7 +252,6 @@ Alien plants should do something if theres a lot of poison item_state = "wardendnavyclothes" item_color = "wardendnavyclothes" armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) - flags = FPRINT | TABLEPASS /obj/item/clothing/under/rank/navysecurity name = "security officer's jumpsuit" @@ -261,7 +260,6 @@ Alien plants should do something if theres a lot of poison item_state = "officerdnavyclothes" item_color = "officerdnavyclothes" armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) - flags = FPRINT | TABLEPASS /obj/item/clothing/under/rank/navyhead_of_security desc = "It's a jumpsuit worn by those few with the dedication to achieve the position of \"Head of Security\". It has additional armor to protect the wearer." @@ -270,7 +268,6 @@ Alien plants should do something if theres a lot of poison item_state = "hosdnavyclothes" item_color = "hosdnavyclothes" armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) - flags = FPRINT | TABLEPASS /obj/item/clothing/suit/armor/hosnavycoat name = "armored coat" @@ -283,26 +280,22 @@ Alien plants should do something if theres a lot of poison name = "security beret" desc = "A beret with the security insignia emblazoned on it. For officers that are more inclined towards style than safety." icon_state = "officerberet" - flags = FPRINT | TABLEPASS /obj/item/clothing/head/beret/navywarden name = "warden's beret" desc = "A beret with a two-colored security insignia emblazoned on it. For wardens that are more inclined towards style than safety." icon_state = "wardenberet" - flags = FPRINT | TABLEPASS /obj/item/clothing/head/beret/navyhos name = "security head's beret" desc = "A stylish beret bearing a golden insignia that proudly displays the security coat of arms. A commander's must-have." icon_state = "hosberet" - flags = FPRINT | TABLEPASS /obj/item/clothing/suit/armor/navysecvest name = "armored coat" desc = "An armored coat that protects against some damage." icon_state = "officerdnavyjacket" item_state = "armor" - flags = FPRINT | TABLEPASS armor = list(melee = 50, bullet = 15, laser = 50, energy = 10, bomb = 25, bio = 0, rad = 0) /obj/item/clothing/suit/armor/navywardenvest @@ -310,7 +303,6 @@ Alien plants should do something if theres a lot of poison desc = "An armoured jacket with silver rank pips and livery." icon_state = "wardendnavyjacket" item_state = "armor" - flags = FPRINT | TABLEPASS armor = list(melee = 50, bullet = 15, laser = 50, energy = 10, bomb = 25, bio = 0, rad = 0) //hostile entities or npcs diff --git a/code/WorkInProgress/autopsy.dm b/code/WorkInProgress/autopsy.dm index 95cfa23494..d78c7d4093 100644 --- a/code/WorkInProgress/autopsy.dm +++ b/code/WorkInProgress/autopsy.dm @@ -7,7 +7,7 @@ desc = "Extracts information on wounds." icon = 'icons/obj/autopsy_scanner.dmi' icon_state = "" - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT w_class = 2.0 origin_tech = "materials=1;biotech=1" var/list/datum/autopsy_data_scanner/wdata = list() diff --git a/code/defines/obj.dm b/code/defines/obj.dm index 0c971df260..4adf0e410e 100644 --- a/code/defines/obj.dm +++ b/code/defines/obj.dm @@ -302,7 +302,7 @@ var/global/list/PDA_Manifest = list() throwforce = 0.0 throw_speed = 1 throw_range = 20 - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT afterattack(atom/target as mob|obj|turf|area, mob/user as mob) user.drop_item() diff --git a/code/defines/obj/weapon.dm b/code/defines/obj/weapon.dm index 0921cfabd9..ab7b57cb42 100644 --- a/code/defines/obj/weapon.dm +++ b/code/defines/obj/weapon.dm @@ -3,7 +3,7 @@ desc = "Should anything ever go wrong..." icon = 'icons/obj/items.dmi' icon_state = "red_phone" - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT force = 3.0 throwforce = 2.0 throw_speed = 1 @@ -22,7 +22,6 @@ anchored = 0.0 var/stored_matter = 0 var/mode = 1 - flags = TABLEPASS w_class = 3.0 /obj/item/weapon/bananapeel @@ -92,7 +91,7 @@ icon = 'icons/obj/weapons.dmi' icon_state = "cane" item_state = "stick" - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT force = 5.0 throwforce = 7.0 w_class = 2.0 @@ -139,7 +138,7 @@ gender = PLURAL icon = 'icons/obj/items.dmi' icon_state = "handcuff" - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT throwforce = 0 w_class = 3.0 origin_tech = "materials=1" @@ -198,7 +197,6 @@ throw_speed = 1 throw_range = 5 w_class = 2.0 - flags = FPRINT | TABLEPASS attack_verb = list("warned", "cautioned", "smashed") /obj/item/weapon/caution/cone @@ -217,7 +215,7 @@ var/traitor_frequency = 0.0 var/mob/currentUser = null var/obj/item/device/radio/origradio = null - flags = FPRINT | TABLEPASS | CONDUCT | ONBELT + flags = CONDUCT | ONBELT w_class = 2.0 item_state = "radio" throw_speed = 4 @@ -235,7 +233,7 @@ var/selfdestruct = 0.0 var/traitor_frequency = 0.0 var/obj/item/device/radio/origradio = null - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT slot_flags = SLOT_BELT item_state = "radio" throwforce = 5 @@ -255,7 +253,7 @@ throw_speed = 1 throw_range = 5 w_class = 2.0 - flags = FPRINT | TABLEPASS | NOSHIELD + flags = NOSHIELD attack_verb = list("bludgeoned", "whacked", "disciplined") /obj/item/weapon/staff/broom @@ -282,7 +280,7 @@ throw_speed = 1 throw_range = 5 w_class = 2.0 - flags = FPRINT | TABLEPASS | NOSHIELD + flags = NOSHIELD /obj/item/weapon/wire desc = "This is just a simple piece of regular insulated wire." @@ -304,7 +302,7 @@ icon_state = "std_module" w_class = 2.0 item_state = "electronic" - flags = FPRINT|TABLEPASS|CONDUCT + flags = CONDUCT var/mtype = 1 // 1=electronic 2=hardware /obj/item/weapon/module/card_reader @@ -385,7 +383,7 @@ w_class = 1 throwforce = 2 var/cigarcount = 6 - flags = ONBELT | TABLEPASS */ + flags = ONBELT */ /obj/item/weapon/pai_cable desc = "A flexible coated cable with a universal jack on one end." diff --git a/code/game/atoms.dm b/code/game/atoms.dm index be45d49d97..df288f2cc4 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -1,7 +1,7 @@ /atom layer = 2 var/level = 2 - var/flags = FPRINT + var/flags = 0 var/list/fingerprints var/list/fingerprintshidden var/fingerprintslast = null @@ -234,8 +234,6 @@ its easier to just keep the beam vertical. /atom/proc/add_hiddenprint(mob/living/M as mob) if(isnull(M)) return if(isnull(M.key)) return - if (!( src.flags ) & FPRINT) - return if (ishuman(M)) var/mob/living/carbon/human/H = M if (!istype(H.dna, /datum/dna)) @@ -260,8 +258,6 @@ its easier to just keep the beam vertical. if(isnull(M)) return if(isAI(M)) return if(isnull(M.key)) return - if (!( src.flags ) & FPRINT) - return if (ishuman(M)) //Add the list if it does not exist. if(!fingerprintshidden) @@ -386,7 +382,7 @@ its easier to just keep the beam vertical. //returns 1 if made bloody, returns 0 otherwise /atom/proc/add_blood(mob/living/carbon/human/M as mob) - if((flags & NOBLOODY) || !(flags & FPRINT)) + if(flags & NOBLOODY) return 0 if(!blood_DNA || !istype(blood_DNA, /list)) //if our list of DNA doesn't exist yet (or isn't a list) initialise it. diff --git a/code/game/gamemodes/cult/cult_items.dm b/code/game/gamemodes/cult/cult_items.dm index f6aa21e14d..51f77c2cc0 100644 --- a/code/game/gamemodes/cult/cult_items.dm +++ b/code/game/gamemodes/cult/cult_items.dm @@ -3,7 +3,6 @@ desc = "An arcane weapon wielded by the followers of Nar-Sie" icon_state = "cultblade" item_state = "cultblade" - flags = FPRINT | TABLEPASS w_class = 4 force = 30 throwforce = 10 @@ -34,7 +33,7 @@ icon_state = "culthood" desc = "A hood worn by the followers of Nar-Sie." flags_inv = HIDEFACE - flags = FPRINT|TABLEPASS|HEADCOVERSEYES + flags = HEADCOVERSEYES body_parts_covered = HEAD|EYES armor = list(melee = 30, bullet = 10, laser = 5,energy = 5, bomb = 0, bio = 0, rad = 0) cold_protection = HEAD @@ -55,7 +54,6 @@ desc = "A set of armored robes worn by the followers of Nar-Sie" icon_state = "cultrobes" item_state = "cultrobes" - flags = FPRINT | TABLEPASS body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS allowed = list(/obj/item/weapon/book/tome,/obj/item/weapon/melee/cultblade) armor = list(melee = 50, bullet = 30, laser = 50,energy = 20, bomb = 25, bio = 10, rad = 0) @@ -68,7 +66,7 @@ item_state = "magus" desc = "A helm worn by the followers of Nar-Sie." flags_inv = HIDEFACE - flags = FPRINT|TABLEPASS|HEADCOVERSEYES|HEADCOVERSMOUTH|BLOCKHAIR + flags = HEADCOVERSEYES | HEADCOVERSMOUTH | BLOCKHAIR body_parts_covered = HEAD|FACE|EYES armor = list(melee = 30, bullet = 30, laser = 30,energy = 20, bomb = 0, bio = 0, rad = 0) siemens_coefficient = 0 @@ -78,7 +76,6 @@ desc = "A set of armored robes worn by the followers of Nar-Sie" icon_state = "magusred" item_state = "magusred" - flags = FPRINT | TABLEPASS body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS allowed = list(/obj/item/weapon/book/tome,/obj/item/weapon/melee/cultblade) armor = list(melee = 50, bullet = 30, laser = 50,energy = 20, bomb = 25, bio = 10, rad = 0) diff --git a/code/game/gamemodes/cult/ritual.dm b/code/game/gamemodes/cult/ritual.dm index a3829207fe..e3ac71b77c 100644 --- a/code/game/gamemodes/cult/ritual.dm +++ b/code/game/gamemodes/cult/ritual.dm @@ -169,7 +169,6 @@ var/engwords = list("travel", "blood", "join", "hell", "destroy", "technology", throw_speed = 1 throw_range = 5 w_class = 2.0 - flags = FPRINT | TABLEPASS unique = 1 var/notedat = "" var/tomedat = "" diff --git a/code/game/gamemodes/events/holidays/Christmas.dm b/code/game/gamemodes/events/holidays/Christmas.dm index ba1c2be13c..7ca6678902 100644 --- a/code/game/gamemodes/events/holidays/Christmas.dm +++ b/code/game/gamemodes/events/holidays/Christmas.dm @@ -58,7 +58,6 @@ icon_state = "xmashat" desc = "A crappy paper hat that you are REQUIRED to wear." flags_inv = 0 - flags = FPRINT|TABLEPASS body_parts_covered = 0 armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) diff --git a/code/game/gamemodes/mutiny/emergency_authentication_device.dm b/code/game/gamemodes/mutiny/emergency_authentication_device.dm index bedd67e64c..028c4113cc 100644 --- a/code/game/gamemodes/mutiny/emergency_authentication_device.dm +++ b/code/game/gamemodes/mutiny/emergency_authentication_device.dm @@ -11,7 +11,6 @@ var/secondary_key var/activated = 0 - flags = FPRINT use_power = 0 New(loc, mode) diff --git a/code/game/gamemodes/nuclear/nuclearbomb.dm b/code/game/gamemodes/nuclear/nuclearbomb.dm index ef78dd4286..e73fbf6880 100644 --- a/code/game/gamemodes/nuclear/nuclearbomb.dm +++ b/code/game/gamemodes/nuclear/nuclearbomb.dm @@ -23,7 +23,6 @@ var/bomb_set var/timing_wire var/removal_stage = 0 // 0 is no removal, 1 is covers removed, 2 is covers open, // 3 is sealant open, 4 is unwrenched, 5 is removed from bolts. - flags = FPRINT use_power = 0 diff --git a/code/game/gamemodes/nuclear/pinpointer.dm b/code/game/gamemodes/nuclear/pinpointer.dm index 50ae7b9fc1..d26f1a0789 100644 --- a/code/game/gamemodes/nuclear/pinpointer.dm +++ b/code/game/gamemodes/nuclear/pinpointer.dm @@ -2,7 +2,7 @@ name = "pinpointer" icon = 'icons/obj/device.dmi' icon_state = "pinoff" - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT slot_flags = SLOT_BELT w_class = 2.0 item_state = "electronic" diff --git a/code/game/gamemodes/wizard/artifact.dm b/code/game/gamemodes/wizard/artifact.dm index 0ce1f94d12..15ac80ced4 100644 --- a/code/game/gamemodes/wizard/artifact.dm +++ b/code/game/gamemodes/wizard/artifact.dm @@ -6,7 +6,6 @@ icon = 'icons/obj/wizard.dmi' icon_state = "render" item_state = "render" - flags = FPRINT | TABLEPASS force = 15 throwforce = 10 w_class = 3 diff --git a/code/game/gamemodes/wizard/soulstone.dm b/code/game/gamemodes/wizard/soulstone.dm index 12360194d1..678ce72582 100644 --- a/code/game/gamemodes/wizard/soulstone.dm +++ b/code/game/gamemodes/wizard/soulstone.dm @@ -5,7 +5,6 @@ item_state = "electronic" desc = "A fragment of the legendary treasure known simply as the 'Soul Stone'. The shard still flickers with a fraction of the full artefacts power." w_class = 1.0 - flags = FPRINT | TABLEPASS slot_flags = SLOT_BELT origin_tech = "bluespace=4;materials=4" var/imprinted = "empty" @@ -88,7 +87,6 @@ icon = 'icons/obj/wizard.dmi' icon_state = "construct" desc = "A wicked machine used by those skilled in magical arts. It is inactive" - flags = FPRINT | TABLEPASS /obj/structure/constructshell/attackby(obj/item/O as obj, mob/user as mob) if(istype(O, /obj/item/device/soulstone)) diff --git a/code/game/gamemodes/wizard/spellbook.dm b/code/game/gamemodes/wizard/spellbook.dm index d490e75dc6..716045a721 100644 --- a/code/game/gamemodes/wizard/spellbook.dm +++ b/code/game/gamemodes/wizard/spellbook.dm @@ -6,7 +6,6 @@ throw_speed = 1 throw_range = 5 w_class = 2.0 - flags = FPRINT | TABLEPASS var/uses = 5 var/temp = null var/max_uses = 5 diff --git a/code/game/machinery/alarm.dm b/code/game/machinery/alarm.dm index 3819c2d9d5..13dd8c75e6 100644 --- a/code/game/machinery/alarm.dm +++ b/code/game/machinery/alarm.dm @@ -1005,7 +1005,7 @@ Code shamelessly copied from apc_frame desc = "Used for building Air Alarms" icon = 'icons/obj/monitors.dmi' icon_state = "alarm_bitem" - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT /obj/item/alarm_frame/attackby(obj/item/weapon/W as obj, mob/user as mob) if (istype(W, /obj/item/weapon/wrench)) @@ -1340,7 +1340,7 @@ Code shamelessly copied from apc_frame desc = "Used for building Fire Alarms" icon = 'icons/obj/monitors.dmi' icon_state = "fire_bitem" - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT /obj/item/firealarm_frame/attackby(obj/item/weapon/W as obj, mob/user as mob) if (istype(W, /obj/item/weapon/wrench)) diff --git a/code/game/machinery/atmoalter/canister.dm b/code/game/machinery/atmoalter/canister.dm index 3e91d70f6c..4d96320518 100644 --- a/code/game/machinery/atmoalter/canister.dm +++ b/code/game/machinery/atmoalter/canister.dm @@ -4,7 +4,7 @@ icon_state = "yellow" density = 1 var/health = 100.0 - flags = FPRINT | CONDUCT + flags = CONDUCT var/valve_open = 0 var/release_pressure = ONE_ATMOSPHERE diff --git a/code/game/machinery/bees_items.dm b/code/game/machinery/bees_items.dm index e02a0a1a23..486b46d33c 100644 --- a/code/game/machinery/bees_items.dm +++ b/code/game/machinery/bees_items.dm @@ -65,7 +65,6 @@ name = "bottle of BeezEez" icon = 'icons/obj/chemical.dmi' icon_state = "bottle17" - flags = FPRINT | TABLEPASS New() src.pixel_x = rand(-5.0, 5) src.pixel_y = rand(-5.0, 5) diff --git a/code/game/machinery/bots/cleanbot.dm b/code/game/machinery/bots/cleanbot.dm index b913119a57..30f6dfaa8c 100644 --- a/code/game/machinery/bots/cleanbot.dm +++ b/code/game/machinery/bots/cleanbot.dm @@ -9,7 +9,6 @@ throw_speed = 2 throw_range = 5 w_class = 3.0 - flags = TABLEPASS var/created_name = "Cleanbot" diff --git a/code/game/machinery/bots/floorbot.dm b/code/game/machinery/bots/floorbot.dm index 0164199daa..54c8390234 100644 --- a/code/game/machinery/bots/floorbot.dm +++ b/code/game/machinery/bots/floorbot.dm @@ -9,7 +9,6 @@ throw_speed = 2 throw_range = 5 w_class = 3.0 - flags = TABLEPASS var/created_name = "Floorbot" /obj/item/weapon/toolbox_tiles_sensor @@ -22,7 +21,6 @@ throw_speed = 2 throw_range = 5 w_class = 3.0 - flags = TABLEPASS var/created_name = "Floorbot" //Floorbot diff --git a/code/game/machinery/computer/HolodeckControl.dm b/code/game/machinery/computer/HolodeckControl.dm index abcdb51a51..e6075cb5a9 100644 --- a/code/game/machinery/computer/HolodeckControl.dm +++ b/code/game/machinery/computer/HolodeckControl.dm @@ -418,7 +418,6 @@ var/global/list/holodeck_programs = list( icon = 'icons/obj/objects.dmi' icon_state = "stool" anchored = 1.0 - flags = FPRINT pressure_resistance = 15 @@ -454,7 +453,7 @@ var/global/list/holodeck_programs = list( throw_range = 5 throwforce = 0 w_class = 2.0 - flags = FPRINT | TABLEPASS | NOSHIELD | NOBLOODY + flags = NOSHIELD | NOBLOODY var/active = 0 /obj/item/weapon/holo/esword/green diff --git a/code/game/machinery/pipe/construction.dm b/code/game/machinery/pipe/construction.dm index baa5b9f975..024048b6de 100644 --- a/code/game/machinery/pipe/construction.dm +++ b/code/game/machinery/pipe/construction.dm @@ -60,7 +60,6 @@ Buildable meters icon = 'icons/obj/pipe-item.dmi' icon_state = "simple" item_state = "buildpipe" - flags = TABLEPASS|FPRINT w_class = 3 level = 2 @@ -1133,7 +1132,6 @@ Buildable meters icon = 'icons/obj/pipe-item.dmi' icon_state = "meter" item_state = "buildpipe" - flags = TABLEPASS|FPRINT w_class = 4 /obj/item/pipe_meter/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob) diff --git a/code/game/machinery/spaceheater.dm b/code/game/machinery/spaceheater.dm index bc65e08eb4..ab4967d04e 100644 --- a/code/game/machinery/spaceheater.dm +++ b/code/game/machinery/spaceheater.dm @@ -11,8 +11,6 @@ var/set_temperature = T0C + 50 //K var/heating_power = 40000 - flags = FPRINT - /obj/machinery/space_heater/New() ..() diff --git a/code/game/mecha/mecha_parts.dm b/code/game/mecha/mecha_parts.dm index b9a6ab4e78..c3257bb61b 100644 --- a/code/game/mecha/mecha_parts.dm +++ b/code/game/mecha/mecha_parts.dm @@ -9,7 +9,7 @@ icon = 'icons/mecha/mech_construct.dmi' icon_state = "blank" w_class = 5 - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT origin_tech = "programming=2;materials=2" var/construction_time = 100 var/list/construction_cost = list("metal"=20000,"glass"=5000) @@ -20,7 +20,7 @@ icon_state = "backbone" var/datum/construction/construct construction_cost = list("metal"=20000) - flags = FPRINT | CONDUCT + flags = CONDUCT attackby(obj/item/W as obj, mob/user as mob) if(!construct || !construct.action(W, user)) diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index d0c52d7f59..13081d6abb 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -10,7 +10,6 @@ var/burning = null var/hitsound = null var/w_class = 3.0 - flags = FPRINT | TABLEPASS var/slot_flags = 0 //This is used to determine on which slots an item can fit. pass_flags = PASSTABLE pressure_resistance = 5 diff --git a/code/game/objects/items/apc_frame.dm b/code/game/objects/items/apc_frame.dm index 418209d744..a11b326e45 100644 --- a/code/game/objects/items/apc_frame.dm +++ b/code/game/objects/items/apc_frame.dm @@ -5,7 +5,7 @@ desc = "Used for repairing or building APCs" icon = 'icons/obj/apc_repair.dmi' icon_state = "apc_frame" - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT /obj/item/apc_frame/attackby(obj/item/weapon/W as obj, mob/user as mob) ..() diff --git a/code/game/objects/items/devices/PDA/PDA.dm b/code/game/objects/items/devices/PDA/PDA.dm index b24bf75ec1..c90db6ccdd 100755 --- a/code/game/objects/items/devices/PDA/PDA.dm +++ b/code/game/objects/items/devices/PDA/PDA.dm @@ -10,7 +10,6 @@ var/global/list/obj/item/device/pda/PDAs = list() icon_state = "pda" item_state = "electronic" w_class = 2.0 - flags = FPRINT | TABLEPASS slot_flags = SLOT_ID | SLOT_BELT //Main variables diff --git a/code/game/objects/items/devices/aicard.dm b/code/game/objects/items/devices/aicard.dm index fc4f555ed4..75122c7ce0 100644 --- a/code/game/objects/items/devices/aicard.dm +++ b/code/game/objects/items/devices/aicard.dm @@ -4,7 +4,6 @@ icon_state = "aicard" // aicard-full item_state = "electronic" w_class = 2.0 - flags = FPRINT | TABLEPASS slot_flags = SLOT_BELT var/flush = null origin_tech = "programming=4;materials=4" diff --git a/code/game/objects/items/devices/binoculars.dm b/code/game/objects/items/devices/binoculars.dm index 0cafa7679c..b6e0ca1aca 100644 --- a/code/game/objects/items/devices/binoculars.dm +++ b/code/game/objects/items/devices/binoculars.dm @@ -4,7 +4,7 @@ desc = "A pair of binoculars." icon_state = "binoculars" - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT force = 5.0 w_class = 2.0 throwforce = 5.0 diff --git a/code/game/objects/items/devices/chameleonproj.dm b/code/game/objects/items/devices/chameleonproj.dm index 978cfdb304..1982fbb4f4 100644 --- a/code/game/objects/items/devices/chameleonproj.dm +++ b/code/game/objects/items/devices/chameleonproj.dm @@ -1,7 +1,7 @@ /obj/item/device/chameleon name = "chameleon projector" icon_state = "shield0" - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT slot_flags = SLOT_BELT item_state = "electronic" throwforce = 5.0 diff --git a/code/game/objects/items/devices/debugger.dm b/code/game/objects/items/devices/debugger.dm index 3168e00feb..faab1ee054 100644 --- a/code/game/objects/items/devices/debugger.dm +++ b/code/game/objects/items/devices/debugger.dm @@ -9,7 +9,7 @@ desc = "Used to debug electronic equipment." icon = 'icons/obj/hacktool.dmi' icon_state = "hacktool-g" - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT force = 5.0 w_class = 2.0 throwforce = 5.0 diff --git a/code/game/objects/items/devices/flash.dm b/code/game/objects/items/devices/flash.dm index 152aa2fa34..6e924ba719 100644 --- a/code/game/objects/items/devices/flash.dm +++ b/code/game/objects/items/devices/flash.dm @@ -7,7 +7,7 @@ w_class = 2.0 throw_speed = 4 throw_range = 10 - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT origin_tech = "magnets=2;combat=1" var/times_used = 0 //Number of times it's been used. diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm index 35ff3b720a..0f6d0abb10 100644 --- a/code/game/objects/items/devices/flashlight.dm +++ b/code/game/objects/items/devices/flashlight.dm @@ -5,7 +5,7 @@ icon_state = "flashlight" item_state = "flashlight" w_class = 2 - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT slot_flags = SLOT_BELT matter = list("metal" = 50,"glass" = 20) @@ -106,7 +106,7 @@ desc = "A pen-sized light, used by medical staff." icon_state = "penlight" item_state = "" - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT brightness_on = 2 w_class = 1 @@ -115,7 +115,7 @@ desc = "A miniature lamp, that might be used by small robots." icon_state = "penlight" item_state = "" - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT brightness_on = 2 w_class = 1 @@ -128,7 +128,7 @@ item_state = "lamp" brightness_on = 5 w_class = 4 - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT on = 1 diff --git a/code/game/objects/items/devices/lightreplacer.dm b/code/game/objects/items/devices/lightreplacer.dm index c6238f2648..7e69ffe17a 100644 --- a/code/game/objects/items/devices/lightreplacer.dm +++ b/code/game/objects/items/devices/lightreplacer.dm @@ -47,7 +47,7 @@ icon_state = "lightreplacer0" item_state = "electronic" - flags = FPRINT | CONDUCT + flags = CONDUCT slot_flags = SLOT_BELT origin_tech = "magnets=3;materials=2" diff --git a/code/game/objects/items/devices/megaphone.dm b/code/game/objects/items/devices/megaphone.dm index db79c6390b..23cb816263 100644 --- a/code/game/objects/items/devices/megaphone.dm +++ b/code/game/objects/items/devices/megaphone.dm @@ -4,7 +4,7 @@ icon_state = "megaphone" item_state = "radio" w_class = 2.0 - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT var/spamcheck = 0 var/emagged = 0 diff --git a/code/game/objects/items/devices/multitool.dm b/code/game/objects/items/devices/multitool.dm index 6378f8823f..1765c32ade 100644 --- a/code/game/objects/items/devices/multitool.dm +++ b/code/game/objects/items/devices/multitool.dm @@ -8,7 +8,7 @@ name = "multitool" desc = "Used for pulsing wires to test which to cut. Not recommended by doctors." icon_state = "multitool" - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT force = 5.0 w_class = 2.0 throwforce = 5.0 diff --git a/code/game/objects/items/devices/paicard.dm b/code/game/objects/items/devices/paicard.dm index f2df13a2db..0065fab167 100644 --- a/code/game/objects/items/devices/paicard.dm +++ b/code/game/objects/items/devices/paicard.dm @@ -4,7 +4,6 @@ icon_state = "pai" item_state = "electronic" w_class = 2.0 - flags = FPRINT | TABLEPASS slot_flags = SLOT_BELT origin_tech = "programming=2" var/obj/item/device/radio/radio diff --git a/code/game/objects/items/devices/powersink.dm b/code/game/objects/items/devices/powersink.dm index cf92db9a39..8b2469d2dd 100644 --- a/code/game/objects/items/devices/powersink.dm +++ b/code/game/objects/items/devices/powersink.dm @@ -6,7 +6,7 @@ icon_state = "powersink0" item_state = "electronic" w_class = 4.0 - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT throwforce = 5 throw_speed = 1 throw_range = 2 diff --git a/code/game/objects/items/devices/radio/electropack.dm b/code/game/objects/items/devices/radio/electropack.dm index 00666b2e2a..e7f9ec3b9f 100644 --- a/code/game/objects/items/devices/radio/electropack.dm +++ b/code/game/objects/items/devices/radio/electropack.dm @@ -4,7 +4,7 @@ icon_state = "electropack0" item_state = "electropack" frequency = 1449 - flags = FPRINT | CONDUCT | TABLEPASS + flags = CONDUCT slot_flags = SLOT_BACK w_class = 5.0 diff --git a/code/game/objects/items/devices/radio/intercom.dm b/code/game/objects/items/devices/radio/intercom.dm index b28fe2cac1..567dc49bf4 100644 --- a/code/game/objects/items/devices/radio/intercom.dm +++ b/code/game/objects/items/devices/radio/intercom.dm @@ -5,7 +5,7 @@ anchored = 1 w_class = 4.0 canhear_range = 2 - flags = FPRINT | CONDUCT | TABLEPASS | NOBLOODY + flags = CONDUCT | NOBLOODY var/number = 0 var/anyai = 1 var/mob/living/silicon/ai/ai = list() diff --git a/code/game/objects/items/devices/radio/radio.dm b/code/game/objects/items/devices/radio/radio.dm index bb6f0d91f5..667cb6f115 100644 --- a/code/game/objects/items/devices/radio/radio.dm +++ b/code/game/objects/items/devices/radio/radio.dm @@ -20,7 +20,7 @@ var/syndie = 0//Holder to see if it's a syndicate encrpyed radio var/maxf = 1499 // "Example" = FREQ_LISTENING|FREQ_BROADCASTING - flags = FPRINT | CONDUCT | TABLEPASS + flags = CONDUCT slot_flags = SLOT_BELT throw_speed = 2 throw_range = 9 diff --git a/code/game/objects/items/devices/scanners.dm b/code/game/objects/items/devices/scanners.dm index 5afc8ebc10..922d5418cb 100644 --- a/code/game/objects/items/devices/scanners.dm +++ b/code/game/objects/items/devices/scanners.dm @@ -13,7 +13,6 @@ REAGENT SCANNER desc = "A terahertz-ray emitter and scanner used to detect underfloor objects such as cables and pipes." icon_state = "t-ray0" var/on = 0 - flags = FPRINT | TABLEPASS slot_flags = SLOT_BELT w_class = 2 item_state = "electronic" @@ -69,7 +68,7 @@ REAGENT SCANNER desc = "A hand-held body scanner able to distinguish vital signs of the subject." icon_state = "health" item_state = "analyzer" - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT slot_flags = SLOT_BELT throwforce = 3 w_class = 2.0 @@ -232,7 +231,7 @@ REAGENT SCANNER icon_state = "atmos" item_state = "analyzer" w_class = 2.0 - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT slot_flags = SLOT_BELT throwforce = 5 throw_speed = 4 @@ -279,7 +278,7 @@ REAGENT SCANNER icon_state = "spectrometer" item_state = "analyzer" w_class = 2.0 - flags = FPRINT | TABLEPASS| CONDUCT | OPENCONTAINER + flags = CONDUCT | OPENCONTAINER slot_flags = SLOT_BELT throwforce = 5 throw_speed = 4 @@ -353,7 +352,7 @@ REAGENT SCANNER icon_state = "spectrometer" item_state = "analyzer" w_class = 2.0 - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT slot_flags = SLOT_BELT throwforce = 5 throw_speed = 4 diff --git a/code/game/objects/items/devices/suit_cooling.dm b/code/game/objects/items/devices/suit_cooling.dm index f32b5256b5..291053f25d 100644 --- a/code/game/objects/items/devices/suit_cooling.dm +++ b/code/game/objects/items/devices/suit_cooling.dm @@ -7,7 +7,7 @@ slot_flags = SLOT_BACK //you can carry it on your back if you want, but it won't do anything unless attached to suit storage //copied from tank.dm - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT force = 5.0 throwforce = 10.0 throw_speed = 1 diff --git a/code/game/objects/items/devices/taperecorder.dm b/code/game/objects/items/devices/taperecorder.dm index f5e43436b9..dc74f0272c 100644 --- a/code/game/objects/items/devices/taperecorder.dm +++ b/code/game/objects/items/devices/taperecorder.dm @@ -15,7 +15,7 @@ var/list/storedinfo = new/list() var/list/timestamp = new/list() var/canprint = 1 - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT throwforce = 2 throw_speed = 4 throw_range = 20 diff --git a/code/game/objects/items/devices/traitordevices.dm b/code/game/objects/items/devices/traitordevices.dm index 52e5e220f2..3c2aebd871 100644 --- a/code/game/objects/items/devices/traitordevices.dm +++ b/code/game/objects/items/devices/traitordevices.dm @@ -22,7 +22,7 @@ effective or pretty fucking useless. w_class = 1.0 throw_speed = 4 throw_range = 10 - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT item_state = "electronic" origin_tech = "magnets=3;combat=3;syndicate=3" diff --git a/code/game/objects/items/devices/whistle.dm b/code/game/objects/items/devices/whistle.dm index befba4b133..49df9aa31c 100644 --- a/code/game/objects/items/devices/whistle.dm +++ b/code/game/objects/items/devices/whistle.dm @@ -4,7 +4,7 @@ icon_state = "voice0" item_state = "flashbang" //looks exactly like a flash (and nothing like a flashbang) w_class = 1.0 - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT var/spamcheck = 0 var/emagged = 0 diff --git a/code/game/objects/items/robot/robot_parts.dm b/code/game/objects/items/robot/robot_parts.dm index 87a6fdc04c..25461eae37 100644 --- a/code/game/objects/items/robot/robot_parts.dm +++ b/code/game/objects/items/robot/robot_parts.dm @@ -3,7 +3,7 @@ icon = 'icons/obj/robot_parts.dmi' item_state = "buildpipe" icon_state = "blank" - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT slot_flags = SLOT_BELT var/construction_time = 100 var/list/construction_cost = list("metal"=20000,"glass"=5000) diff --git a/code/game/objects/items/stacks/rods.dm b/code/game/objects/items/stacks/rods.dm index d2825c82f7..45350a71e9 100644 --- a/code/game/objects/items/stacks/rods.dm +++ b/code/game/objects/items/stacks/rods.dm @@ -3,7 +3,7 @@ desc = "Some rods. Can be used for building, or something." singular_name = "metal rod" icon_state = "rods" - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT w_class = 3.0 force = 9.0 throwforce = 15.0 diff --git a/code/game/objects/items/stacks/sheets/light.dm b/code/game/objects/items/stacks/sheets/light.dm index c5df032d64..de96eda5f4 100644 --- a/code/game/objects/items/stacks/sheets/light.dm +++ b/code/game/objects/items/stacks/sheets/light.dm @@ -8,7 +8,7 @@ throwforce = 5.0 throw_speed = 5 throw_range = 20 - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT max_amount = 60 /obj/item/stack/light_w/attackby(var/obj/item/O as obj, var/mob/user as mob) diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index a5336c0797..bd192ec26c 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -82,7 +82,7 @@ var/global/list/datum/stack_recipe/metal_recipes = list ( \ icon_state = "sheet-metal" matter = list("metal" = 3750) throwforce = 14.0 - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT origin_tech = "materials=1" /obj/item/stack/sheet/metal/cyborg @@ -91,7 +91,7 @@ var/global/list/datum/stack_recipe/metal_recipes = list ( \ singular_name = "metal sheet" icon_state = "sheet-metal" throwforce = 14.0 - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT stacktype = /obj/item/stack/sheet/metal /obj/item/stack/sheet/metal/New(var/loc, var/amount=null) @@ -118,7 +118,7 @@ var/global/list/datum/stack_recipe/plasteel_recipes = list ( \ item_state = "sheet-metal" matter = list("metal" = 7500) throwforce = 15.0 - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT origin_tech = "materials=2" /obj/item/stack/sheet/plasteel/New(var/loc, var/amount=null) @@ -197,7 +197,6 @@ var/global/list/datum/stack_recipe/cardboard_recipes = list ( \ desc = "Large sheets of card, like boxes folded flat." singular_name = "cardboard sheet" icon_state = "sheet-card" - flags = FPRINT | TABLEPASS origin_tech = "materials=1" /obj/item/stack/sheet/cardboard/New(var/loc, var/amount=null) diff --git a/code/game/objects/items/stacks/sheets/sheets.dm b/code/game/objects/items/stacks/sheets/sheets.dm index b140b4e6fd..ed0a9d2a31 100644 --- a/code/game/objects/items/stacks/sheets/sheets.dm +++ b/code/game/objects/items/stacks/sheets/sheets.dm @@ -1,6 +1,5 @@ /obj/item/stack/sheet name = "sheet" - flags = FPRINT | TABLEPASS w_class = 3.0 force = 5 throwforce = 5 diff --git a/code/game/objects/items/stacks/tiles/light.dm b/code/game/objects/items/stacks/tiles/light.dm index f346d216a7..3a14ff1e56 100644 --- a/code/game/objects/items/stacks/tiles/light.dm +++ b/code/game/objects/items/stacks/tiles/light.dm @@ -8,7 +8,7 @@ throwforce = 5.0 throw_speed = 5 throw_range = 20 - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT max_amount = 60 attack_verb = list("bashed", "battered", "bludgeoned", "thrashed", "smashed") var/on = 1 diff --git a/code/game/objects/items/stacks/tiles/plasteel.dm b/code/game/objects/items/stacks/tiles/plasteel.dm index e238a80323..7816c45f53 100644 --- a/code/game/objects/items/stacks/tiles/plasteel.dm +++ b/code/game/objects/items/stacks/tiles/plasteel.dm @@ -9,7 +9,7 @@ throwforce = 15.0 throw_speed = 5 throw_range = 20 - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT max_amount = 60 /obj/item/stack/tile/plasteel/New(var/loc, var/amount=null) diff --git a/code/game/objects/items/stacks/tiles/tile_types.dm b/code/game/objects/items/stacks/tiles/tile_types.dm index e0963d08cc..7ad6abdd60 100644 --- a/code/game/objects/items/stacks/tiles/tile_types.dm +++ b/code/game/objects/items/stacks/tiles/tile_types.dm @@ -18,7 +18,7 @@ throwforce = 1.0 throw_speed = 5 throw_range = 20 - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT max_amount = 60 origin_tech = "biotech=1" @@ -35,7 +35,7 @@ throwforce = 1.0 throw_speed = 5 throw_range = 20 - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT max_amount = 60 /* @@ -51,5 +51,5 @@ throwforce = 1.0 throw_speed = 5 throw_range = 20 - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT max_amount = 60 diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index 837824bf39..cee5076a55 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -127,7 +127,7 @@ icon = 'icons/obj/gun.dmi' icon_state = "revolver" item_state = "gun" - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT slot_flags = SLOT_BELT w_class = 3.0 @@ -183,7 +183,7 @@ desc = "There are 7 caps left! Make sure to recyle the box in an autolathe when it gets empty." icon = 'icons/obj/ammo.dmi' icon_state = "357-7" - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT w_class = 1.0 matter = list("metal" = 10,"glass" = 10) @@ -205,7 +205,6 @@ icon = 'icons/obj/gun.dmi' icon_state = "crossbow" item_state = "crossbow" - flags = FPRINT | TABLEPASS w_class = 2.0 attack_verb = list("attacked", "struck", "hit") var/bullets = 5 @@ -299,7 +298,6 @@ desc = "It's nerf or nothing! Ages 8 and up." icon = 'icons/obj/toy.dmi' icon_state = "foamdart" - flags = FPRINT | TABLEPASS w_class = 1.0 /obj/effect/foam_dart_dummy @@ -322,7 +320,7 @@ item_state = "sword0" var/active = 0.0 w_class = 2.0 - flags = FPRINT | TABLEPASS | NOSHIELD + flags = NOSHIELD attack_verb = list("attacked", "struck", "hit") attack_self(mob/user as mob) @@ -354,7 +352,7 @@ icon = 'icons/obj/weapons.dmi' icon_state = "katana" item_state = "katana" - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT slot_flags = SLOT_BELT | SLOT_BACK force = 5 throwforce = 5 @@ -570,7 +568,7 @@ icon = 'icons/obj/weapons.dmi' icon_state = "katana" item_state = "katana" - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT slot_flags = SLOT_BELT | SLOT_BACK force = 5 throwforce = 5 @@ -643,6 +641,5 @@ desc = "No bother to sink or swim when you can just float!" icon_state = "inflatable" item_state = "inflatable" - flags = FPRINT | TABLEPASS icon = 'icons/obj/clothing/belts.dmi' slot_flags = SLOT_BELT diff --git a/code/game/objects/items/weapons/AI_modules.dm b/code/game/objects/items/weapons/AI_modules.dm index c8fec27bb8..3d29f318ff 100755 --- a/code/game/objects/items/weapons/AI_modules.dm +++ b/code/game/objects/items/weapons/AI_modules.dm @@ -12,7 +12,7 @@ AI MODULES icon_state = "std_mod" item_state = "electronic" desc = "An AI Module for transmitting encrypted instructions to the AI." - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT force = 5.0 w_class = 2.0 throwforce = 5.0 diff --git a/code/game/objects/items/weapons/RCD.dm b/code/game/objects/items/weapons/RCD.dm index 3e5c08539f..37dcbf9f4e 100644 --- a/code/game/objects/items/weapons/RCD.dm +++ b/code/game/objects/items/weapons/RCD.dm @@ -7,7 +7,7 @@ opacity = 0 density = 0 anchored = 0.0 - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT force = 10.0 throwforce = 10.0 throw_speed = 1 diff --git a/code/game/objects/items/weapons/RSF.dm b/code/game/objects/items/weapons/RSF.dm index f9f32bbeb1..c92b0bbf35 100644 --- a/code/game/objects/items/weapons/RSF.dm +++ b/code/game/objects/items/weapons/RSF.dm @@ -14,7 +14,6 @@ RSF anchored = 0.0 var/stored_matter = 30 var/mode = 1 - flags = TABLEPASS w_class = 3.0 /obj/item/weapon/rsf/examine(mob/user) diff --git a/code/game/objects/items/weapons/cigs_lighters.dm b/code/game/objects/items/weapons/cigs_lighters.dm index 4d09a26bcf..fb51d83c14 100644 --- a/code/game/objects/items/weapons/cigs_lighters.dm +++ b/code/game/objects/items/weapons/cigs_lighters.dm @@ -385,7 +385,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM var/icon_off = "lighter-g" w_class = 1 throwforce = 4 - flags = TABLEPASS | CONDUCT + flags = CONDUCT slot_flags = SLOT_BELT attack_verb = list("burnt", "singed") diff --git a/code/game/objects/items/weapons/circuitboards/circuitboard.dm b/code/game/objects/items/weapons/circuitboards/circuitboard.dm index bc44b3d7df..00cc7a6835 100644 --- a/code/game/objects/items/weapons/circuitboards/circuitboard.dm +++ b/code/game/objects/items/weapons/circuitboards/circuitboard.dm @@ -13,7 +13,7 @@ density = 0 anchored = 0 w_class = 2.0 - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT force = 5.0 throwforce = 5.0 throw_speed = 3 diff --git a/code/game/objects/items/weapons/cosmetics.dm b/code/game/objects/items/weapons/cosmetics.dm index 5e6d4d9538..6241bd5051 100644 --- a/code/game/objects/items/weapons/cosmetics.dm +++ b/code/game/objects/items/weapons/cosmetics.dm @@ -4,7 +4,6 @@ desc = "A generic brand of lipstick." icon = 'icons/obj/items.dmi' icon_state = "lipstick" - flags = FPRINT | TABLEPASS w_class = 1.0 var/colour = "red" var/open = 0 diff --git a/code/game/objects/items/weapons/explosives.dm b/code/game/objects/items/weapons/explosives.dm index f5f4208073..71fb259dcd 100644 --- a/code/game/objects/items/weapons/explosives.dm +++ b/code/game/objects/items/weapons/explosives.dm @@ -5,7 +5,7 @@ icon = 'icons/obj/assemblies.dmi' icon_state = "plastic-explosive0" item_state = "plasticx" - flags = FPRINT | TABLEPASS | NOBLUDGEON + flags = NOBLUDGEON w_class = 2.0 origin_tech = "syndicate=2" var/datum/wires/explosive/c4/wires = null diff --git a/code/game/objects/items/weapons/extinguisher.dm b/code/game/objects/items/weapons/extinguisher.dm index f6758e53e6..7264b11fe1 100644 --- a/code/game/objects/items/weapons/extinguisher.dm +++ b/code/game/objects/items/weapons/extinguisher.dm @@ -5,7 +5,7 @@ icon_state = "fire_extinguisher0" item_state = "fire_extinguisher" hitsound = 'sound/weapons/smash.ogg' - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT throwforce = 10 w_class = 3.0 throw_speed = 2 @@ -27,7 +27,6 @@ icon_state = "miniFE0" item_state = "miniFE" hitsound = null //it is much lighter, after all. - flags = FPRINT | TABLEPASS throwforce = 2 w_class = 2.0 force = 3.0 diff --git a/code/game/objects/items/weapons/flamethrower.dm b/code/game/objects/items/weapons/flamethrower.dm index 3830f105fd..50508594cf 100644 --- a/code/game/objects/items/weapons/flamethrower.dm +++ b/code/game/objects/items/weapons/flamethrower.dm @@ -4,7 +4,7 @@ icon = 'icons/obj/flamethrower.dmi' icon_state = "flamethrowerbase" item_state = "flamethrower_0" - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT force = 3.0 throwforce = 10.0 throw_speed = 1 diff --git a/code/game/objects/items/weapons/grenades/grenade.dm b/code/game/objects/items/weapons/grenades/grenade.dm index d1fb667e99..f501753807 100644 --- a/code/game/objects/items/weapons/grenades/grenade.dm +++ b/code/game/objects/items/weapons/grenades/grenade.dm @@ -7,7 +7,7 @@ item_state = "flashbang" throw_speed = 4 throw_range = 20 - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT slot_flags = SLOT_BELT var/active = 0 var/det_time = 50 diff --git a/code/game/objects/items/weapons/grenades/smokebomb.dm b/code/game/objects/items/weapons/grenades/smokebomb.dm index d518567a5d..139baacb6f 100644 --- a/code/game/objects/items/weapons/grenades/smokebomb.dm +++ b/code/game/objects/items/weapons/grenades/smokebomb.dm @@ -5,7 +5,6 @@ icon_state = "flashbang" det_time = 20 item_state = "flashbang" - flags = FPRINT | TABLEPASS slot_flags = SLOT_BELT var/datum/effect/effect/system/smoke_spread/bad/smoke diff --git a/code/game/objects/items/weapons/handcuffs.dm b/code/game/objects/items/weapons/handcuffs.dm index a1ea44daa9..246636890d 100644 --- a/code/game/objects/items/weapons/handcuffs.dm +++ b/code/game/objects/items/weapons/handcuffs.dm @@ -4,7 +4,7 @@ gender = PLURAL icon = 'icons/obj/items.dmi' icon_state = "handcuff" - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT slot_flags = SLOT_BELT throwforce = 5 w_class = 2.0 diff --git a/code/game/objects/items/weapons/hydroponics.dm b/code/game/objects/items/weapons/hydroponics.dm index f3d5703225..0b492c2659 100644 --- a/code/game/objects/items/weapons/hydroponics.dm +++ b/code/game/objects/items/weapons/hydroponics.dm @@ -10,7 +10,6 @@ desc = "A small satchel made for organizing seeds." var/mode = 1; //0 = pick one at a time, 1 = pick all on tile var/capacity = 500; //the number of seeds it can carry. - flags = FPRINT | TABLEPASS slot_flags = SLOT_BELT w_class = 1 var/list/item_quants = list() diff --git a/code/game/objects/items/weapons/kitchen.dm b/code/game/objects/items/weapons/kitchen.dm index 21833cc212..66d8c6d01b 100644 --- a/code/game/objects/items/weapons/kitchen.dm +++ b/code/game/objects/items/weapons/kitchen.dm @@ -22,7 +22,7 @@ throwforce = 5.0 throw_speed = 3 throw_range = 5 - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT origin_tech = "materials=1" attack_verb = list("attacked", "stabbed", "poked") sharp = 0 @@ -137,7 +137,7 @@ icon = 'icons/obj/kitchen.dmi' icon_state = "knife" desc = "A general purpose Chef's Knife made by SpaceCook Incorporated. Guaranteed to stay sharp for years to come." - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT sharp = 1 edge = 1 force = 10.0 @@ -169,7 +169,7 @@ icon = 'icons/obj/kitchen.dmi' icon_state = "butch" desc = "A huge thing used for chopping and chopping up meat. This includes clowns and clown-by-products." - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT force = 15.0 w_class = 2.0 throwforce = 8.0 @@ -246,7 +246,7 @@ throw_speed = 1 throw_range = 5 w_class = 3.0 - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT matter = list("metal" = 3000) /* // NOPE var/food_total= 0 diff --git a/code/game/objects/items/weapons/melee/energy.dm b/code/game/objects/items/weapons/melee/energy.dm index 0de1036209..1b1d5b04f3 100644 --- a/code/game/objects/items/weapons/melee/energy.dm +++ b/code/game/objects/items/weapons/melee/energy.dm @@ -5,7 +5,7 @@ var/active_w_class sharp = 0 edge = 0 - flags = FPRINT | TABLEPASS | NOBLOODY + flags = NOBLOODY /obj/item/weapon/melee/energy/proc/activate(mob/living/user) anchored = 1 @@ -73,7 +73,7 @@ throw_speed = 1 throw_range = 5 w_class = 3 - flags = FPRINT | CONDUCT | NOSHIELD | TABLEPASS | NOBLOODY + flags = CONDUCT | NOSHIELD | NOBLOODY origin_tech = "magnets=3;combat=4" attack_verb = list("attacked", "chopped", "cleaved", "torn", "cut") sharp = 1 @@ -109,7 +109,7 @@ throw_speed = 1 throw_range = 5 w_class = 2 - flags = FPRINT | TABLEPASS | NOSHIELD | NOBLOODY + flags = NOSHIELD | NOBLOODY origin_tech = "magnets=3;syndicate=4" /obj/item/weapon/melee/energy/sword/dropped(var/mob/user) @@ -177,7 +177,7 @@ throw_speed = 1 throw_range = 1 w_class = 4.0//So you can't hide it in your pocket or some such. - flags = FPRINT | TABLEPASS | NOSHIELD | NOBLOODY + flags = NOSHIELD | NOBLOODY attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") var/mob/living/creator var/datum/effect/effect/system/spark_spread/spark_system diff --git a/code/game/objects/items/weapons/melee/misc.dm b/code/game/objects/items/weapons/melee/misc.dm index 36dbc26537..c5efdae1fb 100644 --- a/code/game/objects/items/weapons/melee/misc.dm +++ b/code/game/objects/items/weapons/melee/misc.dm @@ -3,7 +3,7 @@ desc = "A tool used by great men to placate the frothing masses." icon_state = "chain" item_state = "chain" - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT slot_flags = SLOT_BELT force = 10 throwforce = 7 diff --git a/code/game/objects/items/weapons/mop.dm b/code/game/objects/items/weapons/mop.dm index 017db06a04..fe9945f8f0 100644 --- a/code/game/objects/items/weapons/mop.dm +++ b/code/game/objects/items/weapons/mop.dm @@ -8,7 +8,6 @@ throw_speed = 5 throw_range = 10 w_class = 3.0 - flags = FPRINT | TABLEPASS attack_verb = list("mopped", "bashed", "bludgeoned", "whacked") var/mopping = 0 var/mopcount = 0 diff --git a/code/game/objects/items/weapons/paint.dm b/code/game/objects/items/weapons/paint.dm index 2c0e1d812d..fc122c185c 100644 --- a/code/game/objects/items/weapons/paint.dm +++ b/code/game/objects/items/weapons/paint.dm @@ -13,7 +13,7 @@ var/global/list/cached_icons = list() amount_per_transfer_from_this = 10 possible_transfer_amounts = list(10,20,30,50,70) volume = 70 - flags = FPRINT | OPENCONTAINER + flags = OPENCONTAINER var/paint_type = "" afterattack(turf/simulated/target, mob/user, proximity) diff --git a/code/game/objects/items/weapons/power_cells.dm b/code/game/objects/items/weapons/power_cells.dm index b0b8fbdc04..5cab6b24cb 100644 --- a/code/game/objects/items/weapons/power_cells.dm +++ b/code/game/objects/items/weapons/power_cells.dm @@ -5,7 +5,6 @@ icon_state = "cell" item_state = "cell" origin_tech = "powerstorage=1" - flags = FPRINT|TABLEPASS force = 5.0 throwforce = 5.0 throw_speed = 3 diff --git a/code/game/objects/items/weapons/scrolls.dm b/code/game/objects/items/weapons/scrolls.dm index e9aa6f3ca6..1ece5817f9 100644 --- a/code/game/objects/items/weapons/scrolls.dm +++ b/code/game/objects/items/weapons/scrolls.dm @@ -4,7 +4,6 @@ icon = 'icons/obj/wizard.dmi' icon_state = "scroll" var/uses = 4.0 - flags = FPRINT | TABLEPASS w_class = 2.0 item_state = "paper" throw_speed = 4 diff --git a/code/game/objects/items/weapons/shields.dm b/code/game/objects/items/weapons/shields.dm index 2814c6fe4d..65f1abddfb 100644 --- a/code/game/objects/items/weapons/shields.dm +++ b/code/game/objects/items/weapons/shields.dm @@ -6,7 +6,7 @@ desc = "A shield adept at blocking blunt objects from connecting with the torso of the shield wielder." icon = 'icons/obj/weapons.dmi' icon_state = "riot" - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT slot_flags = SLOT_BACK force = 5.0 throwforce = 5.0 @@ -39,7 +39,7 @@ desc = "A shield capable of stopping most projectile and melee attacks. It can be retracted, expanded, and stored anywhere." icon = 'icons/obj/weapons.dmi' icon_state = "eshield0" // eshield1 for expanded - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT force = 3.0 throwforce = 5.0 throw_speed = 1 @@ -88,7 +88,7 @@ icon = 'icons/obj/device.dmi' icon_state = "shield0" var/active = 0.0 - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT item_state = "electronic" throwforce = 10.0 throw_speed = 2 diff --git a/code/game/objects/items/weapons/storage/backpack.dm b/code/game/objects/items/weapons/storage/backpack.dm index 0304aac95e..2b38772b86 100644 --- a/code/game/objects/items/weapons/storage/backpack.dm +++ b/code/game/objects/items/weapons/storage/backpack.dm @@ -9,7 +9,6 @@ icon_state = "backpack" item_state = "backpack" w_class = 4.0 - flags = FPRINT|TABLEPASS slot_flags = SLOT_BACK //ERROOOOO max_w_class = 3 max_combined_w_class = 21 diff --git a/code/game/objects/items/weapons/storage/bags.dm b/code/game/objects/items/weapons/storage/bags.dm index b2d54be947..88db6abd3e 100644 --- a/code/game/objects/items/weapons/storage/bags.dm +++ b/code/game/objects/items/weapons/storage/bags.dm @@ -21,7 +21,6 @@ display_contents_with_number = 0 // UNStABLE AS FuCK, turn on when it stops crashing clients use_to_pickup = 1 slot_flags = SLOT_BELT - flags = FPRINT | TABLEPASS // ----------------------------- // Trash bag diff --git a/code/game/objects/items/weapons/storage/belt.dm b/code/game/objects/items/weapons/storage/belt.dm index 941fdaae3b..0c4a94eb86 100644 --- a/code/game/objects/items/weapons/storage/belt.dm +++ b/code/game/objects/items/weapons/storage/belt.dm @@ -4,7 +4,6 @@ icon = 'icons/obj/clothing/belts.dmi' icon_state = "utilitybelt" item_state = "utility" - flags = FPRINT | TABLEPASS slot_flags = SLOT_BELT attack_verb = list("whipped", "lashed", "disciplined") diff --git a/code/game/objects/items/weapons/storage/bible.dm b/code/game/objects/items/weapons/storage/bible.dm index 0545f85d21..822b986488 100644 --- a/code/game/objects/items/weapons/storage/bible.dm +++ b/code/game/objects/items/weapons/storage/bible.dm @@ -5,7 +5,6 @@ throw_speed = 1 throw_range = 5 w_class = 3.0 - flags = FPRINT | TABLEPASS var/mob/affecting = null var/deity_name = "Christ" diff --git a/code/game/objects/items/weapons/storage/boxes.dm b/code/game/objects/items/weapons/storage/boxes.dm index 4b9a7dbe64..ced886bedd 100644 --- a/code/game/objects/items/weapons/storage/boxes.dm +++ b/code/game/objects/items/weapons/storage/boxes.dm @@ -444,7 +444,6 @@ item_state = "zippo" storage_slots = 10 w_class = 1 - flags = TABLEPASS slot_flags = SLOT_BELT can_hold = list("/obj/item/weapon/flame/match") diff --git a/code/game/objects/items/weapons/storage/briefcase.dm b/code/game/objects/items/weapons/storage/briefcase.dm index 126d60e1e4..f6addee005 100644 --- a/code/game/objects/items/weapons/storage/briefcase.dm +++ b/code/game/objects/items/weapons/storage/briefcase.dm @@ -3,7 +3,7 @@ desc = "It's made of AUTHENTIC faux-leather and has a price-tag still attached. Its owner must be a real professional." icon_state = "briefcase" item_state = "briefcase" - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT force = 8.0 throw_speed = 1 throw_range = 4 diff --git a/code/game/objects/items/weapons/storage/fancy.dm b/code/game/objects/items/weapons/storage/fancy.dm index 64d8e89bb7..2ddc1da1d3 100644 --- a/code/game/objects/items/weapons/storage/fancy.dm +++ b/code/game/objects/items/weapons/storage/fancy.dm @@ -69,7 +69,6 @@ item_state = "candlebox5" storage_slots = 5 throwforce = 2 - flags = TABLEPASS slot_flags = SLOT_BELT @@ -133,7 +132,6 @@ item_state = "cigpacket" w_class = 1 throwforce = 2 - flags = TABLEPASS slot_flags = SLOT_BELT storage_slots = 6 can_hold = list("/obj/item/clothing/mask/cigarette") @@ -190,7 +188,6 @@ icon = 'icons/obj/cigarettes.dmi' w_class = 1 throwforce = 2 - flags = TABLEPASS slot_flags = SLOT_BELT storage_slots = 7 can_hold = list("/obj/item/clothing/mask/cigarette/cigar") diff --git a/code/game/objects/items/weapons/storage/secure.dm b/code/game/objects/items/weapons/storage/secure.dm index b3e94bf4d9..74c47cab05 100644 --- a/code/game/objects/items/weapons/storage/secure.dm +++ b/code/game/objects/items/weapons/storage/secure.dm @@ -145,7 +145,6 @@ icon_state = "secure" item_state = "sec-case" desc = "A large briefcase with a digital locking system." - flags = FPRINT | TABLEPASS force = 8.0 throw_speed = 1 throw_range = 4 @@ -216,7 +215,6 @@ icon_opened = "safe0" icon_locking = "safeb" icon_sparking = "safespark" - flags = FPRINT | TABLEPASS force = 8.0 w_class = 8.0 max_w_class = 8 diff --git a/code/game/objects/items/weapons/storage/toolbox.dm b/code/game/objects/items/weapons/storage/toolbox.dm index b6b11af106..a585b96ce2 100644 --- a/code/game/objects/items/weapons/storage/toolbox.dm +++ b/code/game/objects/items/weapons/storage/toolbox.dm @@ -4,7 +4,7 @@ icon = 'icons/obj/storage.dmi' icon_state = "red" item_state = "toolbox_red" - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT force = 5.0 throwforce = 10.0 throw_speed = 1 diff --git a/code/game/objects/items/weapons/surgery_tools.dm b/code/game/objects/items/weapons/surgery_tools.dm index d9d7ec0126..383e21ff4f 100644 --- a/code/game/objects/items/weapons/surgery_tools.dm +++ b/code/game/objects/items/weapons/surgery_tools.dm @@ -17,7 +17,7 @@ icon = 'icons/obj/surgery.dmi' icon_state = "retractor" matter = list("metal" = 10000, "glass" = 5000) - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT w_class = 2.0 origin_tech = "materials=1;biotech=1" @@ -30,7 +30,7 @@ icon = 'icons/obj/surgery.dmi' icon_state = "hemostat" matter = list("metal" = 5000, "glass" = 2500) - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT w_class = 2.0 origin_tech = "materials=1;biotech=1" attack_verb = list("attacked", "pinched") @@ -44,7 +44,7 @@ icon = 'icons/obj/surgery.dmi' icon_state = "cautery" matter = list("metal" = 5000, "glass" = 2500) - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT w_class = 2.0 origin_tech = "materials=1;biotech=1" attack_verb = list("burnt") @@ -59,7 +59,7 @@ icon_state = "drill" hitsound = 'sound/weapons/circsawhit.ogg' matter = list("metal" = 15000, "glass" = 10000) - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT force = 15.0 w_class = 2.0 origin_tech = "materials=1;biotech=1" @@ -78,7 +78,7 @@ desc = "Cut, cut, and once more cut." icon = 'icons/obj/surgery.dmi' icon_state = "scalpel" - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT force = 10.0 sharp = 1 edge = 1 @@ -134,7 +134,7 @@ icon = 'icons/obj/surgery.dmi' icon_state = "saw3" hitsound = 'sound/weapons/circsawhit.ogg' - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT force = 15.0 w_class = 2.0 throwforce = 9.0 diff --git a/code/game/objects/items/weapons/swords_axes_etc.dm b/code/game/objects/items/weapons/swords_axes_etc.dm index 34516e875f..e7d46bc68e 100644 --- a/code/game/objects/items/weapons/swords_axes_etc.dm +++ b/code/game/objects/items/weapons/swords_axes_etc.dm @@ -21,7 +21,6 @@ icon = 'icons/obj/weapons.dmi' icon_state = "baton" item_state = "classic_baton" - flags = FPRINT | TABLEPASS slot_flags = SLOT_BELT force = 10 @@ -70,7 +69,6 @@ icon = 'icons/obj/weapons.dmi' icon_state = "telebaton_0" item_state = "telebaton_0" - flags = FPRINT | TABLEPASS slot_flags = SLOT_BELT w_class = 2 force = 3 diff --git a/code/game/objects/items/weapons/table_rack_parts.dm b/code/game/objects/items/weapons/table_rack_parts.dm index fff0deed5f..2dfc3f4730 100644 --- a/code/game/objects/items/weapons/table_rack_parts.dm +++ b/code/game/objects/items/weapons/table_rack_parts.dm @@ -7,7 +7,7 @@ icon = 'icons/obj/items.dmi' icon_state = "table_parts" matter = list("metal" = 3750) - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT attack_verb = list("slammed", "bashed", "battered", "bludgeoned", "thrashed", "whacked") var/build_type = /obj/structure/table @@ -50,7 +50,7 @@ icon = 'icons/obj/items.dmi' icon_state = "reinf_tableparts" matter = list("metal" = 7500) - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT stack_types = list(/obj/item/stack/sheet/metal, /obj/item/stack/rods) build_type = /obj/structure/table/reinforced diff --git a/code/game/objects/items/weapons/tanks/tank_types.dm b/code/game/objects/items/weapons/tanks/tank_types.dm index 23a5690e3f..02d50e0d26 100644 --- a/code/game/objects/items/weapons/tanks/tank_types.dm +++ b/code/game/objects/items/weapons/tanks/tank_types.dm @@ -85,7 +85,7 @@ name = "phoron tank" desc = "Contains dangerous phoron. Do not inhale. Warning: extremely flammable." icon_state = "phoron" - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT slot_flags = null //they have no straps! @@ -114,7 +114,7 @@ name = "emergency oxygen tank" desc = "Used for emergencies. Contains very little oxygen, so try to conserve it until you actually need it." icon_state = "emergency" - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT slot_flags = SLOT_BELT w_class = 2.0 force = 4.0 diff --git a/code/game/objects/items/weapons/tanks/tanks.dm b/code/game/objects/items/weapons/tanks/tanks.dm index d7a05a7173..551e4790dc 100644 --- a/code/game/objects/items/weapons/tanks/tanks.dm +++ b/code/game/objects/items/weapons/tanks/tanks.dm @@ -4,7 +4,7 @@ /obj/item/weapon/tank name = "tank" icon = 'icons/obj/tank.dmi' - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT slot_flags = SLOT_BACK w_class = 3 diff --git a/code/game/objects/items/weapons/teleportation.dm b/code/game/objects/items/weapons/teleportation.dm index e04a5f0888..d8c811d2f6 100644 --- a/code/game/objects/items/weapons/teleportation.dm +++ b/code/game/objects/items/weapons/teleportation.dm @@ -16,7 +16,7 @@ var/frequency = 1451 var/broadcasting = null var/listening = 1.0 - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT w_class = 2.0 item_state = "electronic" throw_speed = 4 diff --git a/code/game/objects/items/weapons/tools.dm b/code/game/objects/items/weapons/tools.dm index 62793f0b2c..14f9ad482a 100644 --- a/code/game/objects/items/weapons/tools.dm +++ b/code/game/objects/items/weapons/tools.dm @@ -19,7 +19,7 @@ desc = "A wrench with many common uses. Can be usually found in your hand." icon = 'icons/obj/items.dmi' icon_state = "wrench" - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT slot_flags = SLOT_BELT force = 5.0 throwforce = 7.0 @@ -37,7 +37,7 @@ desc = "You can be totally screwwy with this." icon = 'icons/obj/items.dmi' icon_state = "screwdriver" - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT slot_flags = SLOT_BELT force = 5.0 w_class = 1.0 @@ -96,7 +96,7 @@ desc = "This cuts wires." icon = 'icons/obj/items.dmi' icon_state = "cutters" - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT slot_flags = SLOT_BELT force = 6.0 throw_speed = 2 @@ -131,7 +131,7 @@ name = "welding tool" icon = 'icons/obj/items.dmi' icon_state = "welder" - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT slot_flags = SLOT_BELT //Amount of OUCH when it's thrown @@ -433,7 +433,7 @@ desc = "Used to remove floors and to pry open doors." icon = 'icons/obj/items.dmi' icon_state = "crowbar" - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT slot_flags = SLOT_BELT force = 5.0 throwforce = 7.0 diff --git a/code/game/objects/items/weapons/twohanded.dm b/code/game/objects/items/weapons/twohanded.dm index c8e67078b2..2442320524 100644 --- a/code/game/objects/items/weapons/twohanded.dm +++ b/code/game/objects/items/weapons/twohanded.dm @@ -156,7 +156,7 @@ force_wielded = 30 wieldsound = 'sound/weapons/saberon.ogg' unwieldsound = 'sound/weapons/saberoff.ogg' - flags = FPRINT | TABLEPASS | NOSHIELD + flags = NOSHIELD origin_tech = "magnets=3;syndicate=4" attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") sharp = 1 diff --git a/code/game/objects/items/weapons/weaponry.dm b/code/game/objects/items/weapons/weaponry.dm index a584f3db4b..b18198cbc0 100644 --- a/code/game/objects/items/weapons/weaponry.dm +++ b/code/game/objects/items/weapons/weaponry.dm @@ -3,7 +3,6 @@ name = "banhammer" icon = 'icons/obj/items.dmi' icon_state = "toyhammer" - flags = FPRINT | TABLEPASS slot_flags = SLOT_BELT throwforce = 0 w_class = 2.0 @@ -20,7 +19,6 @@ desc = "A rod of pure obsidian, its very presence disrupts and dampens the powers of paranormal phenomenae." icon_state = "nullrod" item_state = "nullrod" - flags = FPRINT | TABLEPASS slot_flags = SLOT_BELT force = 15 throw_speed = 1 @@ -77,7 +75,6 @@ desc = "This thing is so unspeakably shitty you are having a hard time even holding it." icon_state = "sord" item_state = "sord" - flags = FPRINT | TABLEPASS slot_flags = SLOT_BELT force = 2 throwforce = 1 @@ -99,7 +96,7 @@ desc = "What are you standing around staring at this for? Get to killing!" icon_state = "claymore" item_state = "claymore" - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT slot_flags = SLOT_BELT force = 40 throwforce = 10 @@ -124,7 +121,7 @@ desc = "Woefully underpowered in D20" icon_state = "katana" item_state = "katana" - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT slot_flags = SLOT_BELT | SLOT_BACK force = 40 throwforce = 10 diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm index 4aaae90a9a..67c16a0eb5 100644 --- a/code/game/objects/structures/crates_lockers/closets.dm +++ b/code/game/objects/structures/crates_lockers/closets.dm @@ -4,7 +4,6 @@ icon = 'icons/obj/closet.dmi' icon_state = "closed" density = 1 - flags = FPRINT var/icon_closed = "closed" var/icon_opened = "open" var/opened = 0 diff --git a/code/game/objects/structures/crates_lockers/largecrate.dm b/code/game/objects/structures/crates_lockers/largecrate.dm index e9fdd40966..d2b1f56eb3 100644 --- a/code/game/objects/structures/crates_lockers/largecrate.dm +++ b/code/game/objects/structures/crates_lockers/largecrate.dm @@ -4,7 +4,6 @@ icon = 'icons/obj/storage.dmi' icon_state = "densecrate" density = 1 - flags = FPRINT /obj/structure/largecrate/attack_hand(mob/user as mob) user << "You need a crowbar to pry this open!" diff --git a/code/game/objects/structures/grille.dm b/code/game/objects/structures/grille.dm index 9bb1cec396..2b06bcb534 100644 --- a/code/game/objects/structures/grille.dm +++ b/code/game/objects/structures/grille.dm @@ -5,7 +5,7 @@ icon_state = "grille" density = 1 anchored = 1 - flags = FPRINT | CONDUCT + flags = CONDUCT pressure_resistance = 5*ONE_ATMOSPHERE layer = 2.9 explosion_resistance = 5 diff --git a/code/game/objects/structures/mop_bucket.dm b/code/game/objects/structures/mop_bucket.dm index 06aae9557b..ec568b8408 100644 --- a/code/game/objects/structures/mop_bucket.dm +++ b/code/game/objects/structures/mop_bucket.dm @@ -5,7 +5,7 @@ icon_state = "mopbucket" density = 1 pressure_resistance = 5 - flags = FPRINT | TABLEPASS | OPENCONTAINER + flags = OPENCONTAINER var/amount_per_transfer_from_this = 5 //shit I dunno, adding this so syringes stop runtime erroring. --NeoFite diff --git a/code/game/objects/structures/noticeboard.dm b/code/game/objects/structures/noticeboard.dm index 1f23e10411..a5ad84c20e 100644 --- a/code/game/objects/structures/noticeboard.dm +++ b/code/game/objects/structures/noticeboard.dm @@ -3,7 +3,6 @@ desc = "A board for pinning important notices upon." icon = 'icons/obj/stationobjs.dmi' icon_state = "nboard00" - flags = FPRINT density = 0 anchored = 1 var/notices = 0 diff --git a/code/game/objects/structures/stool_bed_chair_nest/stools.dm b/code/game/objects/structures/stool_bed_chair_nest/stools.dm index f412467c65..027d382795 100644 --- a/code/game/objects/structures/stool_bed_chair_nest/stools.dm +++ b/code/game/objects/structures/stool_bed_chair_nest/stools.dm @@ -4,7 +4,6 @@ icon = 'icons/obj/objects.dmi' icon_state = "stool" anchored = 1.0 - flags = FPRINT pressure_resistance = 15 /obj/structure/stool/ex_act(severity) diff --git a/code/modules/assembly/assembly.dm b/code/modules/assembly/assembly.dm index b48651e8b7..ca4717307a 100644 --- a/code/modules/assembly/assembly.dm +++ b/code/modules/assembly/assembly.dm @@ -3,7 +3,7 @@ desc = "A small electronic device that should never exist." icon = 'icons/obj/assemblies/new_assemblies.dmi' icon_state = "" - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT w_class = 2.0 matter = list("metal" = 100) throwforce = 2 diff --git a/code/modules/assembly/bomb.dm b/code/modules/assembly/bomb.dm index cb0a90c454..ed3edf5fc0 100644 --- a/code/modules/assembly/bomb.dm +++ b/code/modules/assembly/bomb.dm @@ -6,7 +6,7 @@ w_class = 3.0 throw_speed = 2 throw_range = 4 - flags = FPRINT | TABLEPASS| CONDUCT //Copied this from old code, so this may or may not be necessary + flags = CONDUCT //Copied this from old code, so this may or may not be necessary var/status = 0 //0 - not readied //1 - bomb finished with welder var/obj/item/device/assembly_holder/bombassembly = null //The first part of the bomb is an assembly holder, holding an igniter+some device var/obj/item/weapon/tank/bombtank = null //the second part of the bomb is a phoron tank diff --git a/code/modules/assembly/holder.dm b/code/modules/assembly/holder.dm index 82f7450981..f3bf44b53b 100644 --- a/code/modules/assembly/holder.dm +++ b/code/modules/assembly/holder.dm @@ -3,7 +3,7 @@ icon = 'icons/obj/assemblies/new_assemblies.dmi' icon_state = "holder" item_state = "assembly" - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT throwforce = 5 w_class = 2.0 throw_speed = 3 diff --git a/code/modules/assembly/infrared.dm b/code/modules/assembly/infrared.dm index 3a70e85399..89699b3427 100644 --- a/code/modules/assembly/infrared.dm +++ b/code/modules/assembly/infrared.dm @@ -168,7 +168,6 @@ var/visible = 0.0 var/left = null anchored = 1.0 - flags = TABLEPASS /obj/effect/beam/i_beam/proc/hit() diff --git a/code/modules/assembly/shock_kit.dm b/code/modules/assembly/shock_kit.dm index 880424e66b..4cbef90875 100644 --- a/code/modules/assembly/shock_kit.dm +++ b/code/modules/assembly/shock_kit.dm @@ -6,7 +6,7 @@ var/obj/item/device/radio/electropack/part2 = null var/status = 0 w_class = 5.0 - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT /obj/item/assembly/shock_kit/Del() del(part1) diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index 83a0e1864d..466800aec0 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -365,7 +365,6 @@ BLIND // can't see anything icon = 'icons/obj/clothing/suits.dmi' name = "suit" var/fire_resist = T0C+100 - flags = FPRINT | TABLEPASS body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS|LEGS allowed = list(/obj/item/weapon/tank/emergency_oxygen) armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) @@ -386,7 +385,6 @@ BLIND // can't see anything name = "under" body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS permeability_coefficient = 0.90 - flags = FPRINT | TABLEPASS slot_flags = SLOT_ICLOTHING armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) w_class = 3 diff --git a/code/modules/clothing/head/hardhat.dm b/code/modules/clothing/head/hardhat.dm index 3fc78b871a..2034aad363 100644 --- a/code/modules/clothing/head/hardhat.dm +++ b/code/modules/clothing/head/hardhat.dm @@ -2,7 +2,6 @@ name = "hard hat" desc = "A piece of headgear used in dangerous working conditions to protect the head. Comes with a built-in flashlight." icon_state = "hardhat0_yellow" - flags = FPRINT | TABLEPASS item_state = "hardhat0_yellow" brightness_on = 4 //luminosity when on light_overlay = "hardhat_light" @@ -21,7 +20,7 @@ item_state = "hardhat0_red" item_color = "red" name = "firefighter helmet" - flags = FPRINT | TABLEPASS | STOPSPRESSUREDMAGE + flags = STOPSPRESSUREDMAGE heat_protection = HEAD max_heat_protection_temperature = FIRE_HELMET_MAX_HEAT_PROTECTION_TEMPERATURE @@ -29,7 +28,7 @@ icon_state = "hardhat0_white" item_state = "hardhat0_white" item_color = "white" - flags = FPRINT | TABLEPASS | STOPSPRESSUREDMAGE + flags = STOPSPRESSUREDMAGE heat_protection = HEAD max_heat_protection_temperature = FIRE_HELMET_MAX_HEAT_PROTECTION_TEMPERATURE diff --git a/code/modules/clothing/head/helmet.dm b/code/modules/clothing/head/helmet.dm index 1556b01ddc..eec6c828d8 100644 --- a/code/modules/clothing/head/helmet.dm +++ b/code/modules/clothing/head/helmet.dm @@ -2,7 +2,7 @@ name = "helmet" desc = "Standard Security gear. Protects the head from impacts." icon_state = "helmet" - flags = FPRINT | TABLEPASS | HEADCOVERSEYES | THICKMATERIAL + flags = HEADCOVERSEYES | THICKMATERIAL item_state = "helmet" armor = list(melee = 50, bullet = 15, laser = 50,energy = 10, bomb = 25, bio = 0, rad = 0) flags_inv = HIDEEARS|HIDEEYES @@ -39,7 +39,7 @@ desc = "It's a helmet specifically designed to protect against close range attacks." icon_state = "riot" item_state = "helmet" - flags = FPRINT|TABLEPASS|HEADCOVERSEYES + flags = HEADCOVERSEYES armor = list(melee = 82, bullet = 15, laser = 5,energy = 5, bomb = 5, bio = 2, rad = 0) flags_inv = HIDEEARS siemens_coefficient = 0.7 @@ -48,7 +48,7 @@ name = "\improper SWAT helmet" desc = "They're often used by highly trained Swat Members." icon_state = "swat" - flags = FPRINT | TABLEPASS | HEADCOVERSEYES + flags = HEADCOVERSEYES item_state = "swat" armor = list(melee = 80, bullet = 60, laser = 50,energy = 25, bomb = 50, bio = 10, rad = 0) flags_inv = HIDEEARS|HIDEEYES @@ -60,7 +60,7 @@ name = "\improper Thunderdome helmet" desc = "'Let the battle commence!'" icon_state = "thunderdome" - flags = FPRINT | TABLEPASS | HEADCOVERSEYES + flags = HEADCOVERSEYES item_state = "thunderdome" armor = list(melee = 80, bullet = 60, laser = 50,energy = 10, bomb = 25, bio = 10, rad = 0) cold_protection = HEAD @@ -71,7 +71,7 @@ name = "gladiator helmet" desc = "Ave, Imperator, morituri te salutant." icon_state = "gladiator" - flags = FPRINT|TABLEPASS|HEADCOVERSEYES|HEADCOVERSMOUTH|BLOCKHAIR + flags = HEADCOVERSEYES|HEADCOVERSMOUTH|BLOCKHAIR item_state = "gladiator" flags_inv = HIDEMASK|HIDEEARS|HIDEEYES siemens_coefficient = 1 @@ -81,7 +81,7 @@ desc = "An armored helmet capable of being fitted with a multitude of attachments." icon_state = "swathelm" item_state = "helmet" - flags = FPRINT|TABLEPASS|HEADCOVERSEYES + flags = HEADCOVERSEYES sprite_sheets = list( "Tajara" = 'icons/mob/species/tajaran/helmet.dmi', "Unathi" = 'icons/mob/species/unathi/helmet.dmi', @@ -95,7 +95,7 @@ name = "Augment Array" desc = "A helmet with optical and cranial augments coupled to it." icon_state = "v62" - flags = FPRINT | TABLEPASS | HEADCOVERSEYES + flags = HEADCOVERSEYES item_state = "v62" armor = list(melee = 80, bullet = 60, laser = 50,energy = 25, bomb = 50, bio = 10, rad = 0) flags_inv = HIDEEARS|HIDEEYES diff --git a/code/modules/clothing/head/jobs.dm b/code/modules/clothing/head/jobs.dm index 36fa4823e4..a46cead9f8 100644 --- a/code/modules/clothing/head/jobs.dm +++ b/code/modules/clothing/head/jobs.dm @@ -6,7 +6,6 @@ icon_state = "chefhat" item_state = "chefhat" desc = "The commander in chef's head wear." - flags = FPRINT | TABLEPASS siemens_coefficient = 0.9 //Captain: This probably shouldn't be space-worthy @@ -14,7 +13,6 @@ name = "captain's hat" icon_state = "captain" desc = "It's good being the king." - flags = FPRINT|TABLEPASS item_state = "caphat" siemens_coefficient = 0.9 @@ -23,7 +21,6 @@ name = "captain's cap" desc = "You fear to wear it for the negligence it brings." icon_state = "capcap" - flags = FPRINT|TABLEPASS flags_inv = 0 body_parts_covered = 0 cold_protection = HEAD @@ -36,7 +33,7 @@ name = "chaplain's hood" desc = "It's hood that covers the head. It keeps you warm during the space winters." icon_state = "chaplain_hood" - flags = FPRINT|TABLEPASS|HEADCOVERSEYES|BLOCKHAIR + flags = HEADCOVERSEYES|BLOCKHAIR siemens_coefficient = 0.9 body_parts_covered = HEAD|EYES @@ -45,7 +42,7 @@ name = "nun hood" desc = "Maximum piety in this star system." icon_state = "nun_hood" - flags = FPRINT|TABLEPASS|HEADCOVERSEYES|BLOCKHAIR + flags = HEADCOVERSEYES|BLOCKHAIR siemens_coefficient = 0.9 //Mime @@ -53,7 +50,6 @@ name = "beret" desc = "A beret, an artists favorite headwear." icon_state = "beret" - flags = FPRINT | TABLEPASS siemens_coefficient = 0.9 body_parts_covered = 0 @@ -62,32 +58,26 @@ name = "security beret" desc = "A beret with the security insignia emblazoned on it. For officers that are more inclined towards style than safety." icon_state = "beret_badge" - flags = FPRINT | TABLEPASS /obj/item/clothing/head/beret/sec/alt name = "officer beret" desc = "A navy blue beret with an officer's rank emblem. For officers that are more inclined towards style than safety." icon_state = "officerberet" - flags = FPRINT | TABLEPASS /obj/item/clothing/head/beret/sec/hos name = "officer beret" desc = "A navy blue beret with a commander's rank emblem. For officers that are more inclined towards style than safety." icon_state = "hosberet" - flags = FPRINT | TABLEPASS /obj/item/clothing/head/beret/sec/warden name = "warden beret" desc = "A navy blue beret with a warden's rank emblem. For officers that are more inclined towards style than safety." icon_state = "wardenberet" - flags = FPRINT | TABLEPASS /obj/item/clothing/head/beret/eng name = "engineering beret" desc = "A beret with the engineering insignia emblazoned on it. For engineers that are more inclined towards style than safety." icon_state = "e_beret_badge" - flags = FPRINT | TABLEPASS /obj/item/clothing/head/beret/jan name = "purple beret" desc = "A stylish, if purple, beret." icon_state = "purpleberet" - flags = FPRINT | TABLEPASS //Medical @@ -95,7 +85,7 @@ name = "surgical cap" desc = "A cap surgeons wear during operations. Keeps their hair from tickling your internal organs." icon_state = "surgcap_blue" - flags = FPRINT | TABLEPASS | BLOCKHEADHAIR + flags = BLOCKHEADHAIR /obj/item/clothing/head/surgery/purple desc = "A cap surgeons wear during operations. Keeps their hair from tickling your internal organs. This one is deep purple." diff --git a/code/modules/clothing/head/misc.dm b/code/modules/clothing/head/misc.dm index 991d01a216..7b13c10b4b 100644 --- a/code/modules/clothing/head/misc.dm +++ b/code/modules/clothing/head/misc.dm @@ -4,7 +4,6 @@ name = "\improper CentComm. hat" icon_state = "centcom" desc = "It's good to be emperor." - flags = FPRINT|TABLEPASS item_state = "centhat" siemens_coefficient = 0.9 body_parts_covered = 0 @@ -14,7 +13,6 @@ icon_state = "hairflower" desc = "Smells nice." item_state = "hairflower" - flags = FPRINT|TABLEPASS slot_flags = SLOT_HEAD | SLOT_EARS body_parts_covered = 0 @@ -29,7 +27,6 @@ desc = "It's an amish looking hat." icon_state = "tophat" item_state = "that" - flags = FPRINT|TABLEPASS siemens_coefficient = 0.9 body_parts_covered = 0 @@ -37,21 +34,18 @@ name = "redcoat's hat" icon_state = "redcoat" desc = "'I guess it's a redhead.'" - flags = FPRINT | TABLEPASS body_parts_covered = 0 /obj/item/clothing/head/mailman name = "station cap" icon_state = "mailman" desc = "Choo-choo!" - flags = FPRINT | TABLEPASS body_parts_covered = 0 /obj/item/clothing/head/plaguedoctorhat name = "plague doctor's hat" desc = "These were once used by Plague doctors. They're pretty much useless." icon_state = "plaguedoctor" - flags = FPRINT | TABLEPASS permeability_coefficient = 0.01 siemens_coefficient = 0.9 body_parts_covered = 0 @@ -60,14 +54,13 @@ name = "hastur's hood" desc = "It's unspeakably stylish" icon_state = "hasturhood" - flags = FPRINT|TABLEPASS|HEADCOVERSEYES|BLOCKHAIR + flags = HEADCOVERSEYES|BLOCKHAIR body_parts_covered = HEAD|FACE|EYES /obj/item/clothing/head/nursehat name = "nurse's hat" desc = "It allows quick identification of trained medical personnel." icon_state = "nursehat" - flags = FPRINT|TABLEPASS siemens_coefficient = 0.9 body_parts_covered = 0 @@ -76,7 +69,7 @@ icon_state = "syndicate" item_state = "syndicate" desc = "A plastic replica of a bloodthirsty mercenary's space helmet, you'll look just like a real murderous criminal operative in this! This is a toy, it is not made for use in space!" - flags = FPRINT | TABLEPASS | BLOCKHAIR + flags = BLOCKHAIR flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE siemens_coefficient = 2.0 body_parts_covered = HEAD|FACE|EYES @@ -85,7 +78,7 @@ name = "cueball helmet" desc = "A large, featureless white orb mean to be worn on your head. How do you even see out of this thing?" icon_state = "cueball" - flags = FPRINT|TABLEPASS|HEADCOVERSEYES|HEADCOVERSMOUTH|BLOCKHAIR + flags = HEADCOVERSEYES|HEADCOVERSMOUTH|BLOCKHAIR item_state="cueball" flags_inv = 0 body_parts_covered = HEAD|FACE|EYES @@ -95,7 +88,6 @@ desc = "It's a green bandana with some fine nanotech lining." icon_state = "greenbandana" item_state = "greenbandana" - flags = FPRINT|TABLEPASS flags_inv = 0 body_parts_covered = 0 @@ -104,7 +96,7 @@ desc = "A helmet made out of a box." icon_state = "cardborg_h" item_state = "cardborg_h" - flags = FPRINT | TABLEPASS | HEADCOVERSEYES | HEADCOVERSMOUTH + flags = HEADCOVERSEYES | HEADCOVERSMOUTH flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE body_parts_covered = HEAD|FACE|EYES @@ -113,7 +105,7 @@ desc = "fight for what's righteous!" icon_state = "justicered" item_state = "justicered" - flags = FPRINT|TABLEPASS|HEADCOVERSEYES|HEADCOVERSMOUTH|BLOCKHAIR + flags = HEADCOVERSEYES|HEADCOVERSMOUTH|BLOCKHAIR /obj/item/clothing/head/justice/blue icon_state = "justiceblue" @@ -135,7 +127,6 @@ name = "rabbit ears" desc = "Wearing these makes you looks useless, and only good for your sex appeal." icon_state = "bunny" - flags = FPRINT | TABLEPASS body_parts_covered = 0 /obj/item/clothing/head/flatcap @@ -170,7 +161,6 @@ desc = "Gentleman, elite aboard!" icon_state = "bowler" item_state = "bowler" - flags = FPRINT | TABLEPASS body_parts_covered = 0 //stylish bs12 hats @@ -180,7 +170,6 @@ icon_state = "bowler_hat" item_state = "bowler_hat" desc = "For the gentleman of distinction." - flags = FPRINT|TABLEPASS body_parts_covered = 0 /obj/item/clothing/head/beaverhat @@ -188,35 +177,30 @@ icon_state = "beaver_hat" item_state = "beaver_hat" desc = "Soft felt makes this hat both comfortable and elegant." - flags = FPRINT|TABLEPASS /obj/item/clothing/head/boaterhat name = "boater hat" icon_state = "boater_hat" item_state = "boater_hat" desc = "The ultimate in summer fashion." - flags = FPRINT|TABLEPASS /obj/item/clothing/head/fedora name = "\improper fedora" icon_state = "fedora" item_state = "fedora" desc = "A sharp, stylish hat." - flags = FPRINT|TABLEPASS /obj/item/clothing/head/feathertrilby name = "\improper feather trilby" icon_state = "feather_trilby" item_state = "feather_trilby" desc = "A sharp, stylish hat with a feather." - flags = FPRINT|TABLEPASS /obj/item/clothing/head/fez name = "\improper fez" icon_state = "fez" item_state = "fez" desc = "You should wear a fez. Fezzes are cool." - flags = FPRINT|TABLEPASS //end bs12 hats @@ -225,7 +209,7 @@ desc = "Eeeee~heheheheheheh!" icon_state = "witch" item_state = "witch" - flags = FPRINT | TABLEPASS | BLOCKHAIR + flags = BLOCKHAIR siemens_coefficient = 2.0 /obj/item/clothing/head/chicken @@ -233,7 +217,7 @@ desc = "Bkaw!" icon_state = "chickenhead" item_state = "chickensuit" - flags = FPRINT | TABLEPASS | BLOCKHAIR + flags = BLOCKHAIR siemens_coefficient = 0.7 body_parts_covered = HEAD|FACE|EYES @@ -242,7 +226,7 @@ desc = "Fuzzy." icon_state = "bearpelt" item_state = "bearpelt" - flags = FPRINT | TABLEPASS | BLOCKHAIR + flags = BLOCKHAIR siemens_coefficient = 0.7 /obj/item/clothing/head/xenos @@ -250,7 +234,7 @@ icon_state = "xenos" item_state = "xenos_helm" desc = "A helmet made out of chitinous alien hide." - flags = FPRINT | TABLEPASS | BLOCKHAIR + flags = BLOCKHAIR flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE siemens_coefficient = 2.0 body_parts_covered = HEAD|FACE|EYES @@ -260,7 +244,7 @@ desc = "A stylish monstrosity unearthed from Earth's Renaissance period. With this most distinguish'd wig, you'll be ready for your next soiree!" icon_state = "philosopher_wig" item_state = "philosopher_wig" - flags = FPRINT | TABLEPASS | BLOCKHAIR + flags = BLOCKHAIR siemens_coefficient = 2.0 //why is it so conductive?! body_parts_covered = 0 diff --git a/code/modules/clothing/head/misc_special.dm b/code/modules/clothing/head/misc_special.dm index ba72b92754..c824563ea8 100644 --- a/code/modules/clothing/head/misc_special.dm +++ b/code/modules/clothing/head/misc_special.dm @@ -15,7 +15,7 @@ name = "welding helmet" desc = "A head-mounted face cover designed to protect the wearer completely from space-arc eye." icon_state = "welding" - flags = (FPRINT | TABLEPASS | HEADCOVERSEYES | HEADCOVERSMOUTH) + flags = HEADCOVERSEYES | HEADCOVERSMOUTH item_state = "welding" matter = list("metal" = 3000, "glass" = 1000) var/up = 0 @@ -58,7 +58,7 @@ name = "cake-hat" desc = "It's tasty looking!" icon_state = "cake0" - flags = FPRINT|TABLEPASS|HEADCOVERSEYES + flags = HEADCOVERSEYES var/onfire = 0.0 var/status = 0 var/fire_resist = T0C+1300 //this is the max temp it can stand before you start to cook. although it might not burn away, you take damage @@ -123,7 +123,7 @@ icon_state = "hardhat0_pumpkin"//Could stand to be renamed item_state = "hardhat0_pumpkin" item_color = "pumpkin" - flags = FPRINT | TABLEPASS | HEADCOVERSEYES | HEADCOVERSMOUTH | BLOCKHAIR + flags = HEADCOVERSEYES | HEADCOVERSMOUTH | BLOCKHAIR flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE body_parts_covered = HEAD|EYES brightness_on = 2 @@ -137,7 +137,6 @@ name = "kitty ears" desc = "A pair of kitty ears. Meow!" icon_state = "kitty" - flags = FPRINT | TABLEPASS body_parts_covered = 0 var/icon/mob var/icon/mob2 diff --git a/code/modules/clothing/head/soft_caps.dm b/code/modules/clothing/head/soft_caps.dm index dcf2eb1e48..1deff69402 100644 --- a/code/modules/clothing/head/soft_caps.dm +++ b/code/modules/clothing/head/soft_caps.dm @@ -2,7 +2,7 @@ name = "cargo cap" desc = "It's a baseball hat in a tasteless yellow color." icon_state = "cargosoft" - flags = FPRINT|TABLEPASS|HEADCOVERSEYES + flags = HEADCOVERSEYES item_state = "helmet" item_color = "cargo" var/flipped = 0 diff --git a/code/modules/clothing/masks/boxing.dm b/code/modules/clothing/masks/boxing.dm index eeaf55c557..dfa7e120f7 100644 --- a/code/modules/clothing/masks/boxing.dm +++ b/code/modules/clothing/masks/boxing.dm @@ -3,7 +3,7 @@ desc = "LOADSAMONEY" icon_state = "balaclava" item_state = "balaclava" - flags = FPRINT|TABLEPASS|BLOCKHAIR + flags = BLOCKHAIR flags_inv = HIDEFACE body_parts_covered = FACE w_class = 2 @@ -17,7 +17,7 @@ desc = "Designed to both hide identities and keep your face comfy and warm." icon_state = "swatclava" item_state = "balaclava" - flags = FPRINT|TABLEPASS|BLOCKHAIR + flags = BLOCKHAIR flags_inv = HIDEFACE w_class = 2 sprite_sheets = list( @@ -30,7 +30,7 @@ desc = "Worn by robust fighters, flying high to defeat their foes!" icon_state = "luchag" item_state = "luchag" - flags = FPRINT|TABLEPASS|BLOCKHAIR + flags = BLOCKHAIR flags_inv = HIDEFACE body_parts_covered = HEAD|FACE w_class = 2 diff --git a/code/modules/clothing/masks/breath.dm b/code/modules/clothing/masks/breath.dm index 2780ff4be5..a2ed54b1d4 100644 --- a/code/modules/clothing/masks/breath.dm +++ b/code/modules/clothing/masks/breath.dm @@ -3,7 +3,7 @@ name = "breath mask" icon_state = "breath" item_state = "breath" - flags = FPRINT | TABLEPASS | MASKCOVERSMOUTH | AIRTIGHT + flags = MASKCOVERSMOUTH | AIRTIGHT body_parts_covered = 0 w_class = 2 gas_transfer_coefficient = 0.10 diff --git a/code/modules/clothing/masks/gasmask.dm b/code/modules/clothing/masks/gasmask.dm index c006cd892d..1982409d6f 100644 --- a/code/modules/clothing/masks/gasmask.dm +++ b/code/modules/clothing/masks/gasmask.dm @@ -2,7 +2,7 @@ name = "gas mask" desc = "A face-covering mask that can be connected to an air supply. Filters harmful gases from the air." icon_state = "gas_alt" - flags = FPRINT | TABLEPASS | MASKCOVERSMOUTH | MASKCOVERSEYES | BLOCK_GAS_SMOKE_EFFECT | AIRTIGHT + flags = MASKCOVERSMOUTH | MASKCOVERSEYES | BLOCK_GAS_SMOKE_EFFECT | AIRTIGHT flags_inv = HIDEEARS|HIDEEYES|HIDEFACE body_parts_covered = FACE|EYES w_class = 3.0 diff --git a/code/modules/clothing/masks/miscellaneous.dm b/code/modules/clothing/masks/miscellaneous.dm index 758baae8b9..412f69bda6 100644 --- a/code/modules/clothing/masks/miscellaneous.dm +++ b/code/modules/clothing/masks/miscellaneous.dm @@ -3,7 +3,7 @@ desc = "To stop that awful noise." icon_state = "muzzle" item_state = "muzzle" - flags = FPRINT|TABLEPASS|MASKCOVERSMOUTH + flags = MASKCOVERSMOUTH body_parts_covered = 0 w_class = 2 gas_transfer_coefficient = 0.90 @@ -20,7 +20,7 @@ icon_state = "sterile" item_state = "sterile" w_class = 2 - flags = FPRINT|TABLEPASS|MASKCOVERSMOUTH + flags = MASKCOVERSMOUTH body_parts_covered = 0 gas_transfer_coefficient = 0.90 permeability_coefficient = 0.01 @@ -30,7 +30,6 @@ name = "fake moustache" desc = "Warning: moustache is fake." icon_state = "fake-moustache" - flags = FPRINT|TABLEPASS flags_inv = HIDEFACE body_parts_covered = 0 @@ -38,7 +37,6 @@ name = "Snorkel" desc = "For the Swimming Savant." icon_state = "snorkel" - flags = FPRINT|TABLEPASS flags_inv = HIDEFACE body_parts_covered = 0 @@ -49,7 +47,7 @@ desc = "A blue neck scarf." icon_state = "blueneckscarf" item_state = "blueneckscarf" - flags = FPRINT|TABLEPASS|MASKCOVERSMOUTH + flags = MASKCOVERSMOUTH w_class = 2 gas_transfer_coefficient = 0.90 @@ -58,7 +56,7 @@ desc = "A red and white checkered neck scarf." icon_state = "redwhite_scarf" item_state = "redwhite_scarf" - flags = FPRINT|TABLEPASS|MASKCOVERSMOUTH + flags = MASKCOVERSMOUTH w_class = 2 gas_transfer_coefficient = 0.90 @@ -67,7 +65,7 @@ desc = "A green neck scarf." icon_state = "green_scarf" item_state = "green_scarf" - flags = FPRINT|TABLEPASS|MASKCOVERSMOUTH + flags = MASKCOVERSMOUTH w_class = 2 gas_transfer_coefficient = 0.90 @@ -76,7 +74,7 @@ desc = "A stealthy, dark scarf." icon_state = "ninja_scarf" item_state = "ninja_scarf" - flags = FPRINT|TABLEPASS|MASKCOVERSMOUTH + flags = MASKCOVERSMOUTH w_class = 2 gas_transfer_coefficient = 0.90 siemens_coefficient = 0 @@ -86,7 +84,7 @@ desc = "A rubber pig mask." icon_state = "pig" item_state = "pig" - flags = FPRINT|TABLEPASS|BLOCKHAIR + flags = BLOCKHAIR flags_inv = HIDEFACE w_class = 2 siemens_coefficient = 0.9 @@ -97,7 +95,7 @@ desc = "A mask made of soft vinyl and latex, representing the head of a horse." icon_state = "horsehead" item_state = "horsehead" - flags = FPRINT|TABLEPASS|BLOCKHAIR + flags = BLOCKHAIR flags_inv = HIDEFACE body_parts_covered = HEAD|FACE|EYES w_class = 2 diff --git a/code/modules/clothing/spacesuits/captain.dm b/code/modules/clothing/spacesuits/captain.dm index 81d4ef028c..5ca604b2c0 100644 --- a/code/modules/clothing/spacesuits/captain.dm +++ b/code/modules/clothing/spacesuits/captain.dm @@ -4,7 +4,7 @@ icon_state = "capspace" item_state = "capspacehelmet" desc = "A special helmet designed for work in a hazardous, low-pressure environment. Only for the most fashionable of military figureheads." - flags = FPRINT | TABLEPASS | HEADCOVERSEYES | BLOCKHAIR | STOPSPRESSUREDMAGE + flags = HEADCOVERSEYES | BLOCKHAIR | STOPSPRESSUREDMAGE flags_inv = HIDEFACE permeability_coefficient = 0.01 armor = list(melee = 65, bullet = 50, laser = 50,energy = 25, bomb = 50, bio = 100, rad = 50) @@ -18,7 +18,7 @@ w_class = 4 gas_transfer_coefficient = 0.01 permeability_coefficient = 0.02 - flags = FPRINT | TABLEPASS | STOPSPRESSUREDMAGE + flags = STOPSPRESSUREDMAGE body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS allowed = list(/obj/item/weapon/tank/emergency_oxygen, /obj/item/device/flashlight,/obj/item/weapon/gun/energy, /obj/item/weapon/gun/projectile, /obj/item/ammo_magazine, /obj/item/ammo_casing, /obj/item/weapon/melee/baton,/obj/item/weapon/handcuffs) slowdown = 1.5 diff --git a/code/modules/clothing/spacesuits/miscellaneous.dm b/code/modules/clothing/spacesuits/miscellaneous.dm index cc6cbd622b..e22a6044ce 100644 --- a/code/modules/clothing/spacesuits/miscellaneous.dm +++ b/code/modules/clothing/spacesuits/miscellaneous.dm @@ -17,7 +17,7 @@ w_class = 4 gas_transfer_coefficient = 0.01 permeability_coefficient = 0.02 - flags = FPRINT | TABLEPASS | STOPSPRESSUREDMAGE + flags = STOPSPRESSUREDMAGE body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS allowed = list(/obj/item/weapon/tank/emergency_oxygen, /obj/item/device/flashlight,/obj/item/weapon/gun/energy, /obj/item/weapon/gun/projectile, /obj/item/ammo_magazine, /obj/item/ammo_casing, /obj/item/weapon/melee/baton,/obj/item/weapon/handcuffs) slowdown = 1.5 @@ -34,7 +34,7 @@ icon_state = "deathsquad" item_state = "deathsquad" armor = list(melee = 65, bullet = 55, laser = 35,energy = 20, bomb = 30, bio = 100, rad = 60) - flags = FPRINT | TABLEPASS | HEADCOVERSEYES | BLOCKHAIR | HEADCOVERSMOUTH | STOPSPRESSUREDMAGE | THICKMATERIAL + flags = HEADCOVERSEYES | BLOCKHAIR | HEADCOVERSMOUTH | STOPSPRESSUREDMAGE | THICKMATERIAL siemens_coefficient = 0.6 /obj/item/clothing/head/helmet/space/deathsquad/beret @@ -42,7 +42,7 @@ desc = "An armored beret commonly used by special operations officers." icon_state = "beret_badge" armor = list(melee = 65, bullet = 55, laser = 35,energy = 20, bomb = 30, bio = 30, rad = 30) - flags = FPRINT | TABLEPASS | HEADCOVERSEYES | BLOCKHAIR | STOPSPRESSUREDMAGE + flags = HEADCOVERSEYES | BLOCKHAIR | STOPSPRESSUREDMAGE siemens_coefficient = 0.9 //Space santa outfit suit @@ -50,7 +50,7 @@ name = "Santa's hat" desc = "Ho ho ho. Merrry X-mas!" icon_state = "santahat" - flags = FPRINT | TABLEPASS | HEADCOVERSEYES | BLOCKHAIR | STOPSPRESSUREDMAGE + flags = HEADCOVERSEYES | BLOCKHAIR | STOPSPRESSUREDMAGE body_parts_covered = HEAD /obj/item/clothing/suit/space/santa @@ -59,7 +59,7 @@ icon_state = "santa" item_state = "santa" slowdown = 0 - flags = FPRINT | TABLEPASS | ONESIZEFITSALL | STOPSPRESSUREDMAGE + flags = ONESIZEFITSALL | STOPSPRESSUREDMAGE allowed = list(/obj/item) //for stuffing exta special presents @@ -70,7 +70,7 @@ icon_state = "pirate" item_state = "pirate" armor = list(melee = 60, bullet = 50, laser = 30,energy = 15, bomb = 30, bio = 30, rad = 30) - flags = FPRINT | TABLEPASS | HEADCOVERSEYES | BLOCKHAIR | STOPSPRESSUREDMAGE + flags = HEADCOVERSEYES | BLOCKHAIR | STOPSPRESSUREDMAGE body_parts_covered = 0 siemens_coefficient = 0.9 diff --git a/code/modules/clothing/spacesuits/rig/rig_pieces.dm b/code/modules/clothing/spacesuits/rig/rig_pieces.dm index 314af42e07..de18d5e020 100644 --- a/code/modules/clothing/spacesuits/rig/rig_pieces.dm +++ b/code/modules/clothing/spacesuits/rig/rig_pieces.dm @@ -4,7 +4,7 @@ /obj/item/clothing/head/helmet/space/rig name = "helmet" - flags = FPRINT | TABLEPASS | HEADCOVERSEYES | BLOCKHAIR | HEADCOVERSMOUTH | THICKMATERIAL + flags = HEADCOVERSEYES | BLOCKHAIR | HEADCOVERSMOUTH | THICKMATERIAL flags_inv = HIDEEARS|HIDEEYES|HIDEFACE body_parts_covered = HEAD|FACE|EYES heat_protection = HEAD|FACE|EYES @@ -14,7 +14,7 @@ /obj/item/clothing/gloves/rig name = "gauntlets" - flags = FPRINT | TABLEPASS | THICKMATERIAL + flags = THICKMATERIAL body_parts_covered = HANDS heat_protection = HANDS cold_protection = HANDS @@ -36,7 +36,7 @@ heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS cold_protection = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS flags_inv = HIDEJUMPSUIT|HIDETAIL - flags = FPRINT | TABLEPASS | STOPSPRESSUREDMAGE | THICKMATERIAL | AIRTIGHT + flags = STOPSPRESSUREDMAGE | THICKMATERIAL | AIRTIGHT slowdown = 0 breach_threshold = 35 can_breach = 1 diff --git a/code/modules/clothing/spacesuits/rig/suits/light.dm b/code/modules/clothing/spacesuits/rig/suits/light.dm index 3568a4b64d..c20371071b 100644 --- a/code/modules/clothing/spacesuits/rig/suits/light.dm +++ b/code/modules/clothing/spacesuits/rig/suits/light.dm @@ -7,7 +7,7 @@ allowed = list(/obj/item/weapon/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/handcuffs,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/cell) armor = list(melee = 50, bullet = 15, laser = 50, energy = 10, bomb = 25, bio = 0, rad = 0) slowdown = 0 - flags = FPRINT | TABLEPASS | STOPSPRESSUREDMAGE | THICKMATERIAL + flags = STOPSPRESSUREDMAGE | THICKMATERIAL offline_slowdown = 0 offline_vision_restriction = 0 @@ -46,7 +46,7 @@ /obj/item/clothing/head/helmet/space/rig/mask name = "mask" - flags = FPRINT | TABLEPASS | THICKMATERIAL + flags = THICKMATERIAL /obj/item/weapon/rig/light/ninja name = "ominous suit control module" diff --git a/code/modules/clothing/spacesuits/spacesuits.dm b/code/modules/clothing/spacesuits/spacesuits.dm index 2ffe521d19..605a40a1b6 100644 --- a/code/modules/clothing/spacesuits/spacesuits.dm +++ b/code/modules/clothing/spacesuits/spacesuits.dm @@ -6,7 +6,7 @@ name = "Space helmet" icon_state = "space" desc = "A special helmet designed for work in a hazardous, low-pressure environment." - flags = FPRINT | TABLEPASS | HEADCOVERSEYES | BLOCKHAIR | HEADCOVERSMOUTH | STOPSPRESSUREDMAGE | THICKMATERIAL | AIRTIGHT + flags = HEADCOVERSEYES | BLOCKHAIR | HEADCOVERSMOUTH | STOPSPRESSUREDMAGE | THICKMATERIAL | AIRTIGHT item_state = "space" permeability_coefficient = 0.01 armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 100, rad = 50) @@ -53,7 +53,7 @@ w_class = 4//bulky item gas_transfer_coefficient = 0.01 permeability_coefficient = 0.02 - flags = FPRINT | TABLEPASS | STOPSPRESSUREDMAGE | THICKMATERIAL + flags = STOPSPRESSUREDMAGE | THICKMATERIAL body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/emergency_oxygen,/obj/item/device/suit_cooling_unit) slowdown = 3 diff --git a/code/modules/clothing/suits/armor.dm b/code/modules/clothing/suits/armor.dm index f5c9f4501e..9be723a72f 100644 --- a/code/modules/clothing/suits/armor.dm +++ b/code/modules/clothing/suits/armor.dm @@ -2,7 +2,7 @@ /obj/item/clothing/suit/armor allowed = list(/obj/item/weapon/gun/energy,/obj/item/weapon/reagent_containers/spray/pepper,/obj/item/weapon/gun/projectile,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/handcuffs) body_parts_covered = UPPER_TORSO|LOWER_TORSO - flags = FPRINT | TABLEPASS | THICKMATERIAL + flags = THICKMATERIAL cold_protection = UPPER_TORSO|LOWER_TORSO min_cold_protection_temperature = ARMOR_MIN_COLD_PROTECTION_TEMPERATURE @@ -17,7 +17,7 @@ icon_state = "armor" item_state = "armor" blood_overlay_type = "armor" - flags = FPRINT | TABLEPASS | ONESIZEFITSALL + flags = ONESIZEFITSALL armor = list(melee = 50, bullet = 15, laser = 50, energy = 10, bomb = 25, bio = 0, rad = 0) /obj/item/clothing/suit/armor/vest/security @@ -71,7 +71,7 @@ item_state = "swat_suit" gas_transfer_coefficient = 0.01 permeability_coefficient = 0.01 - flags = FPRINT | TABLEPASS | STOPSPRESSUREDMAGE | THICKMATERIAL + flags = STOPSPRESSUREDMAGE | THICKMATERIAL body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS allowed = list(/obj/item/weapon/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/handcuffs,/obj/item/weapon/tank/emergency_oxygen) slowdown = 1 @@ -98,7 +98,7 @@ icon_state = "detective-armor" item_state = "armor" blood_overlay_type = "armor" - flags = FPRINT | TABLEPASS | ONESIZEFITSALL + flags = ONESIZEFITSALL body_parts_covered = UPPER_TORSO|LOWER_TORSO armor = list(melee = 50, bullet = 15, laser = 50, energy = 10, bomb = 25, bio = 0, rad = 0) @@ -113,7 +113,6 @@ item_state = "reactiveoff" blood_overlay_type = "armor" slowdown = 1 - flags = FPRINT | TABLEPASS armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0) /obj/item/clothing/suit/armor/reactive/IsShield() diff --git a/code/modules/clothing/suits/bio.dm b/code/modules/clothing/suits/bio.dm index b3911d8d68..037eb6833e 100644 --- a/code/modules/clothing/suits/bio.dm +++ b/code/modules/clothing/suits/bio.dm @@ -4,7 +4,7 @@ icon_state = "bio" desc = "A hood that protects the head and face from biological comtaminants." permeability_coefficient = 0.01 - flags = FPRINT|TABLEPASS|HEADCOVERSEYES|HEADCOVERSMOUTH|BLOCKHAIR + flags = HEADCOVERSEYES|HEADCOVERSMOUTH|BLOCKHAIR armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 100, rad = 20) flags_inv = HIDEMASK|HIDEEARS|HIDEEYES body_parts_covered = HEAD|FACE|EYES @@ -18,7 +18,6 @@ w_class = 4//bulky item gas_transfer_coefficient = 0.01 permeability_coefficient = 0.01 - flags = FPRINT | TABLEPASS body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS slowdown = 1.0 allowed = list(/obj/item/weapon/tank/emergency_oxygen,/obj/item/weapon/pen,/obj/item/device/flashlight/pen) diff --git a/code/modules/clothing/suits/miscellaneous.dm b/code/modules/clothing/suits/miscellaneous.dm index aa530f7567..a861930f73 100644 --- a/code/modules/clothing/suits/miscellaneous.dm +++ b/code/modules/clothing/suits/miscellaneous.dm @@ -36,7 +36,6 @@ desc = "Yarr." icon_state = "pirate" item_state = "pirate" - flags = FPRINT | TABLEPASS body_parts_covered = UPPER_TORSO|ARMS @@ -45,7 +44,6 @@ desc = "Yarr." icon_state = "hgpirate" item_state = "hgpirate" - flags = FPRINT | TABLEPASS flags_inv = HIDEJUMPSUIT body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS|LEGS @@ -55,7 +53,7 @@ desc = "Suit for a cyborg costume." icon_state = "death" item_state = "death" - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT fire_resist = T0C+5200 flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT @@ -65,7 +63,6 @@ desc = "A heavy great coat" icon_state = "nazi" item_state = "nazi" - flags = FPRINT | TABLEPASS /obj/item/clothing/suit/johnny_coat @@ -73,7 +70,6 @@ desc = "Johnny~~" icon_state = "johnny" item_state = "johnny" - flags = FPRINT | TABLEPASS /obj/item/clothing/suit/justice @@ -81,7 +77,6 @@ desc = "This pretty much looks ridiculous." icon_state = "justice" item_state = "justice" - flags = FPRINT | TABLEPASS flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS|HANDS|LEGS|FEET @@ -91,7 +86,6 @@ desc = "This robe commands authority." icon_state = "judge" item_state = "judge" - flags = FPRINT | TABLEPASS body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS allowed = list(/obj/item/weapon/storage/fancy/cigarettes,/obj/item/weapon/spacecash) flags_inv = HIDEJUMPSUIT @@ -120,7 +114,6 @@ item_state = "space_suit_syndicate" desc = "A plastic replica of the syndicate space suit, you'll look just like a real murderous syndicate agent in this! This is a toy, it is not made for use in space!" w_class = 3 - flags = FPRINT | TABLEPASS allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/emergency_oxygen,/obj/item/toy) flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS|HANDS|LEGS|FEET @@ -223,21 +216,18 @@ desc = "A long, thick black leather coat." icon_state = "leathercoat" item_state = "leathercoat" - flags = FPRINT | TABLEPASS /obj/item/clothing/suit/browncoat name = "brown leather coat" desc = "A long, brown leather coat." icon_state = "browncoat" item_state = "browncoat" - flags = FPRINT | TABLEPASS /obj/item/clothing/suit/neocoat name = "black coat" desc = "A flowing, black coat." icon_state = "neocoat" item_state = "neocoat" - flags = FPRINT | TABLEPASS //stripper /obj/item/clothing/under/stripper @@ -361,7 +351,6 @@ desc = "A thick, well-worn WW2 leather bomber jacket." icon_state = "bomber" item_state = "bomber" - flags = FPRINT | TABLEPASS body_parts_covered = UPPER_TORSO|ARMS cold_protection = UPPER_TORSO|ARMS min_cold_protection_temperature = T0C - 20 diff --git a/code/modules/clothing/suits/utility.dm b/code/modules/clothing/suits/utility.dm index e75b312690..d0138b283b 100644 --- a/code/modules/clothing/suits/utility.dm +++ b/code/modules/clothing/suits/utility.dm @@ -21,7 +21,7 @@ allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/emergency_oxygen,/obj/item/weapon/extinguisher) slowdown = 1.0 flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT|HIDETAIL - flags = FPRINT | TABLEPASS | STOPSPRESSUREDMAGE + flags = STOPSPRESSUREDMAGE heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS max_heat_protection_temperature = FIRESUIT_MAX_HEAT_PROTECTION_TEMPERATURE cold_protection = UPPER_TORSO | LOWER_TORSO | LEGS | FEET | ARMS | HANDS @@ -47,7 +47,7 @@ name = "bomb hood" desc = "Use in case of bomb." icon_state = "bombsuit" - flags = FPRINT|TABLEPASS|HEADCOVERSEYES|HEADCOVERSMOUTH|BLOCKHAIR + flags = HEADCOVERSEYES|HEADCOVERSMOUTH|BLOCKHAIR armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 100, bio = 0, rad = 0) flags_inv = HIDEMASK|HIDEEARS|HIDEEYES body_parts_covered = HEAD|FACE|EYES @@ -62,7 +62,6 @@ w_class = 4//bulky item gas_transfer_coefficient = 0.01 permeability_coefficient = 0.01 - flags = FPRINT | TABLEPASS slowdown = 2 armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 100, bio = 0, rad = 0) flags_inv = HIDEJUMPSUIT|HIDETAIL @@ -89,7 +88,7 @@ name = "Radiation Hood" icon_state = "rad" desc = "A hood with radiation protective properties. Label: Made with lead, do not eat insulation" - flags = FPRINT|TABLEPASS|HEADCOVERSEYES|HEADCOVERSMOUTH|BLOCKHAIR + flags = HEADCOVERSEYES|HEADCOVERSMOUTH|BLOCKHAIR body_parts_covered = HEAD|FACE|EYES armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 60, rad = 100) diff --git a/code/modules/clothing/under/color.dm b/code/modules/clothing/under/color.dm index 1b4617afc6..483974f7a2 100644 --- a/code/modules/clothing/under/color.dm +++ b/code/modules/clothing/under/color.dm @@ -3,7 +3,6 @@ icon_state = "black" item_state = "bl_suit" item_color = "black" - flags = FPRINT | TABLEPASS /obj/item/clothing/under/color/blackf name = "feminine black jumpsuit" @@ -17,21 +16,18 @@ icon_state = "blue" item_state = "b_suit" item_color = "blue" - flags = FPRINT | TABLEPASS /obj/item/clothing/under/color/green name = "green jumpsuit" icon_state = "green" item_state = "g_suit" item_color = "green" - flags = FPRINT | TABLEPASS /obj/item/clothing/under/color/grey name = "grey jumpsuit" icon_state = "grey" item_state = "gy_suit" item_color = "grey" - flags = FPRINT | TABLEPASS /obj/item/clothing/under/color/orange name = "orange jumpsuit" @@ -41,35 +37,30 @@ item_color = "orange" has_sensor = 2 sensor_mode = 3 - flags = FPRINT | TABLEPASS /obj/item/clothing/under/color/pink name = "pink jumpsuit" icon_state = "pink" item_state = "p_suit" item_color = "pink" - flags = FPRINT | TABLEPASS /obj/item/clothing/under/color/red name = "red jumpsuit" icon_state = "red" item_state = "r_suit" item_color = "red" - flags = FPRINT | TABLEPASS /obj/item/clothing/under/color/white name = "white jumpsuit" icon_state = "white" item_state = "w_suit" item_color = "white" - flags = FPRINT | TABLEPASS /obj/item/clothing/under/color/yellow name = "yellow jumpsuit" icon_state = "yellow" item_state = "y_suit" item_color = "yellow" - flags = FPRINT | TABLEPASS /obj/item/clothing/under/psyche name = "psychedelic jumpsuit" @@ -88,7 +79,6 @@ desc = "aqua" icon_state = "aqua" item_color = "aqua" - flags = FPRINT | TABLEPASS /obj/item/clothing/under/purple name = "purple jumpsuit" @@ -120,14 +110,12 @@ desc = "lightbrown" icon_state = "lightbrown" item_color = "lightbrown" - flags = FPRINT | TABLEPASS /obj/item/clothing/under/brown name = "brown jumpsuit" desc = "brown" icon_state = "brown" item_color = "brown" - flags = FPRINT | TABLEPASS /obj/item/clothing/under/yellowgreen name = "yellowgreen jumpsuit" @@ -140,7 +128,6 @@ desc = "darkblue" icon_state = "darkblue" item_color = "darkblue" - flags = FPRINT | TABLEPASS /obj/item/clothing/under/lightred name = "lightred jumpsuit" @@ -153,4 +140,3 @@ desc = "darkred" icon_state = "darkred" item_color = "darkred" - flags = FPRINT | TABLEPASS diff --git a/code/modules/clothing/under/jobs/civilian.dm b/code/modules/clothing/under/jobs/civilian.dm index dc6149562d..9ac511b4f7 100644 --- a/code/modules/clothing/under/jobs/civilian.dm +++ b/code/modules/clothing/under/jobs/civilian.dm @@ -6,7 +6,6 @@ icon_state = "ba_suit" item_state = "ba_suit" item_color = "ba_suit" - flags = FPRINT | TABLEPASS /obj/item/clothing/under/rank/captain //Alright, technically not a 'civilian' but its better then giving a .dm file for a single define. @@ -15,7 +14,6 @@ icon_state = "captain" item_state = "caparmor" item_color = "captain" - flags = FPRINT | TABLEPASS /obj/item/clothing/under/rank/cargo @@ -32,7 +30,6 @@ icon_state = "cargotech" item_state = "lb_suit" item_color = "cargo" - flags = FPRINT | TABLEPASS body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS @@ -42,7 +39,6 @@ icon_state = "chaplain" item_state = "bl_suit" item_color = "chapblack" - flags = FPRINT | TABLEPASS /obj/item/clothing/under/rank/chef @@ -50,7 +46,6 @@ name = "chef's uniform" icon_state = "chef" item_color = "chef" - flags = FPRINT | TABLEPASS /obj/item/clothing/under/rank/clown @@ -59,7 +54,6 @@ icon_state = "clown" item_state = "clown" item_color = "clown" - flags = FPRINT | TABLEPASS /obj/item/clothing/under/rank/head_of_personnel @@ -68,7 +62,6 @@ icon_state = "hop" item_state = "b_suit" item_color = "hop" - flags = FPRINT | TABLEPASS /obj/item/clothing/under/rank/head_of_personnel_whimsy desc = "A blue jacket and red tie, with matching red cuffs! Snazzy. Wearing this makes you feel more important than your job title does." @@ -76,7 +69,6 @@ icon_state = "hopwhimsy" item_state = "hopwhimsy" item_color = "hopwhimsy" - flags = FPRINT | TABLEPASS /obj/item/clothing/under/rank/hydroponics @@ -86,7 +78,6 @@ item_state = "g_suit" item_color = "hydroponics" permeability_coefficient = 0.50 - flags = FPRINT | TABLEPASS /obj/item/clothing/under/rank/internalaffairs @@ -95,7 +86,6 @@ icon_state = "internalaffairs" item_state = "internalaffairs" item_color = "internalaffairs" - flags = FPRINT | TABLEPASS /obj/item/clothing/under/rank/janitor @@ -104,13 +94,11 @@ icon_state = "janitor" item_color = "janitor" armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0) - flags = FPRINT | TABLEPASS /obj/item/clothing/under/lawyer desc = "Slick threads." name = "Lawyer suit" - flags = FPRINT | TABLEPASS /obj/item/clothing/under/lawyer/black @@ -176,7 +164,6 @@ icon_state = "mime" item_state = "mime" item_color = "mime" - flags = FPRINT | TABLEPASS /obj/item/clothing/under/rank/miner desc = "It's a snappy jumpsuit with a sturdy set of overalls. It is very dirty." diff --git a/code/modules/clothing/under/jobs/engineering.dm b/code/modules/clothing/under/jobs/engineering.dm index f348b801a5..0b8cebe57a 100644 --- a/code/modules/clothing/under/jobs/engineering.dm +++ b/code/modules/clothing/under/jobs/engineering.dm @@ -6,7 +6,6 @@ item_state = "g_suit" item_color = "chief" armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 10) - flags = FPRINT | TABLEPASS /obj/item/clothing/under/rank/atmospheric_technician desc = "It's a jumpsuit worn by atmospheric technicians." @@ -14,7 +13,6 @@ icon_state = "atmos" item_state = "atmos_suit" item_color = "atmos" - flags = FPRINT | TABLEPASS /obj/item/clothing/under/rank/engineer desc = "It's an orange high visibility jumpsuit worn by engineers. It has minor radiation shielding." @@ -23,7 +21,6 @@ item_state = "engi_suit" item_color = "engine" armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 10) - flags = FPRINT | TABLEPASS /obj/item/clothing/under/rank/roboticist desc = "It's a slimming black with reinforced seams; great for industrial work." diff --git a/code/modules/clothing/under/jobs/medsci.dm b/code/modules/clothing/under/jobs/medsci.dm index 8a09e0ce57..40bc087429 100644 --- a/code/modules/clothing/under/jobs/medsci.dm +++ b/code/modules/clothing/under/jobs/medsci.dm @@ -8,7 +8,6 @@ item_state = "g_suit" item_color = "director" armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0) - flags = FPRINT | TABLEPASS /obj/item/clothing/under/rank/research_director/rdalt desc = "A dress suit and slacks stained with hard work and dedication to science. Perhaps other things as well, but mostly hard work and dedication." @@ -17,7 +16,6 @@ item_state = "rdalt" item_color = "rdalt" armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0) - flags = FPRINT | TABLEPASS /obj/item/clothing/under/rank/research_director/dress_rd name = "research director dress uniform" @@ -25,7 +23,6 @@ icon_state = "dress_rd" item_color = "dress_rd" armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0) - flags = FPRINT | TABLEPASS body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS /obj/item/clothing/under/rank/scientist @@ -36,7 +33,6 @@ item_color = "sciencewhite" permeability_coefficient = 0.50 armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 10, bio = 0, rad = 0) - flags = FPRINT | TABLEPASS /obj/item/clothing/under/rank/chemist @@ -68,7 +64,6 @@ item_color = "geneticswhite" permeability_coefficient = 0.50 armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0) - flags = FPRINT | TABLEPASS /obj/item/clothing/under/rank/virologist desc = "It's made of a special fiber that gives special protection against biohazards. It has a virologist rank stripe on it." @@ -116,28 +111,24 @@ item_color = "medical" permeability_coefficient = 0.50 armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0) - flags = FPRINT | TABLEPASS /obj/item/clothing/under/rank/medical/blue name = "medical scrubs" desc = "It's made of a special fiber that provides minor protection against biohazards. This one is in baby blue." icon_state = "scrubsblue" item_color = "scrubsblue" - flags = FPRINT | TABLEPASS /obj/item/clothing/under/rank/medical/green name = "medical scrubs" desc = "It's made of a special fiber that provides minor protection against biohazards. This one is in dark green." icon_state = "scrubsgreen" item_color = "scrubsgreen" - flags = FPRINT | TABLEPASS /obj/item/clothing/under/rank/medical/purple name = "medical scrubs" desc = "It's made of a special fiber that provides minor protection against biohazards. This one is in deep purple." icon_state = "scrubspurple" item_color = "scrubspurple" - flags = FPRINT | TABLEPASS /obj/item/clothing/under/rank/psych desc = "A basic white jumpsuit. It has turqouise markings that denote the wearer as a psychiatrist." @@ -145,7 +136,6 @@ icon_state = "psych" item_state = "w_suit" item_color = "psych" - flags = FPRINT | TABLEPASS /obj/item/clothing/under/rank/psych/turtleneck desc = "A turqouise turtleneck and a pair of dark blue slacks, belonging to a psychologist." @@ -153,7 +143,6 @@ icon_state = "psychturtle" item_state = "b_suit" item_color = "psychturtle" - flags = FPRINT | TABLEPASS /* diff --git a/code/modules/clothing/under/jobs/security.dm b/code/modules/clothing/under/jobs/security.dm index f17832d7be..51464410a8 100644 --- a/code/modules/clothing/under/jobs/security.dm +++ b/code/modules/clothing/under/jobs/security.dm @@ -15,7 +15,6 @@ item_state = "r_suit" item_color = "warden" armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) - flags = FPRINT | TABLEPASS siemens_coefficient = 0.9 /obj/item/clothing/under/rank/security @@ -25,7 +24,6 @@ item_state = "r_suit" item_color = "secred" armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) - flags = FPRINT | TABLEPASS siemens_coefficient = 0.9 /obj/item/clothing/under/rank/dispatch @@ -35,7 +33,6 @@ item_state = "dispatch" item_color = "dispatch" armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) - flags = FPRINT | TABLEPASS body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS siemens_coefficient = 0.9 @@ -46,7 +43,6 @@ item_state = "r_suit" item_color = "redshirt2" armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) - flags = FPRINT | TABLEPASS siemens_coefficient = 0.9 /obj/item/clothing/under/rank/security/corp @@ -66,7 +62,6 @@ item_state = "swatunder" item_color = "swatunder" armor = list(melee = 10, bullet = 5, laser = 5,energy = 0, bomb = 0, bio = 0, rad = 0) - flags = FPRINT | TABLEPASS siemens_coefficient = 0.9 /* @@ -79,7 +74,6 @@ item_state = "det" item_color = "detective" armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) - flags = FPRINT | TABLEPASS siemens_coefficient = 0.9 /obj/item/clothing/under/det/black @@ -122,7 +116,6 @@ item_state = "r_suit" item_color = "hosred" armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) - flags = FPRINT | TABLEPASS siemens_coefficient = 0.8 /obj/item/clothing/under/rank/head_of_security/corp @@ -134,7 +127,7 @@ name = "Head of Security Hat" desc = "The hat of the Head of Security. For showing the officers who's in charge." icon_state = "hoscap" - flags = FPRINT | TABLEPASS | HEADCOVERSEYES + flags = HEADCOVERSEYES armor = list(melee = 80, bullet = 60, laser = 50,energy = 10, bomb = 25, bio = 10, rad = 0) flags_inv = HIDEEARS body_parts_covered = 0 diff --git a/code/modules/clothing/under/miscellaneous.dm b/code/modules/clothing/under/miscellaneous.dm index 6daa904453..ac8db0967b 100644 --- a/code/modules/clothing/under/miscellaneous.dm +++ b/code/modules/clothing/under/miscellaneous.dm @@ -31,7 +31,6 @@ name = "amish suit" icon_state = "sl_suit" item_color = "sl_suit" - flags = FPRINT | TABLEPASS /obj/item/clothing/under/waiter name = "waiter's outfit" @@ -39,7 +38,6 @@ icon_state = "waiter" item_state = "waiter" item_color = "waiter" - flags = FPRINT | TABLEPASS /obj/item/clothing/under/rank/mailman name = "mailman's jumpsuit" @@ -93,7 +91,6 @@ w_class = 4//bulky item gas_transfer_coefficient = 0.01 permeability_coefficient = 0.02 - flags = FPRINT | TABLEPASS body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS cold_protection = UPPER_TORSO | LOWER_TORSO | LEGS | ARMS //Needs gloves and shoes with cold protection to be fully protected. min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE @@ -106,7 +103,6 @@ desc = "it's a cybernetically enhanced jumpsuit used for administrative duties." gas_transfer_coefficient = 0.01 permeability_coefficient = 0.01 - flags = FPRINT | TABLEPASS body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS armor = list(melee = 100, bullet = 100, laser = 100,energy = 100, bomb = 100, bio = 100, rad = 100) cold_protection = UPPER_TORSO | LOWER_TORSO | LEGS | FEET | ARMS | HANDS @@ -118,7 +114,6 @@ desc = "A jumpsuit with owl wings. Photorealistic owl feathers! Twooooo!" icon_state = "owl" item_color = "owl" - flags = FPRINT | TABLEPASS /obj/item/clothing/under/johnny name = "johnny~~ jumpsuit" diff --git a/code/modules/clothing/under/shorts.dm b/code/modules/clothing/under/shorts.dm index 0644af853d..494cb5e72a 100644 --- a/code/modules/clothing/under/shorts.dm +++ b/code/modules/clothing/under/shorts.dm @@ -2,7 +2,6 @@ name = "athletic shorts" desc = "95% Polyester, 5% Spandex!" gender = PLURAL - flags = FPRINT | TABLEPASS body_parts_covered = LOWER_TORSO /obj/item/clothing/under/shorts/red diff --git a/code/modules/clothing/under/ties.dm b/code/modules/clothing/under/ties.dm index b70df2c84b..050a2716e0 100644 --- a/code/modules/clothing/under/ties.dm +++ b/code/modules/clothing/under/ties.dm @@ -5,7 +5,6 @@ icon_state = "bluetie" item_state = "" //no inhands item_color = "bluetie" - flags = FPRINT | TABLEPASS slot_flags = SLOT_TIE w_class = 2.0 var/obj/item/clothing/under/has_suit = null //the suit the tie may be attached to diff --git a/code/modules/customitems/item_defines.dm b/code/modules/customitems/item_defines.dm index 4d91497636..510417c0fb 100644 --- a/code/modules/customitems/item_defines.dm +++ b/code/modules/customitems/item_defines.dm @@ -407,7 +407,6 @@ item_state = "ciglit" w_class = 1 body_parts_covered = null - flags = FPRINT|TABLEPASS //Strange penlight, Nerezza: Asher Spock @@ -787,7 +786,6 @@ name = "colonial marine beret" desc = "A well-worn navy blue beret. The insignia of the Martian Colonial Marine Corps is affixed to the front." icon_state = "officerberet" - flags = FPRINT | TABLEPASS ////////////////////////////// Serithi - Adapted Security Helmet ////////////////////////////// @@ -841,7 +839,6 @@ /obj/item/weapon/reagent_containers/glass/bottle/fluff/nashi_bottle icon = 'icons/obj/chemical.dmi' - flags = FPRINT | TABLEPASS //Starting them with lids on them. Safety first! New(loc, var/color, var/labeled) ..() name = "[labeled] bottle" @@ -1073,7 +1070,6 @@ item_color = "jane_sid_suit" has_sensor = 2 sensor_mode = 3 - flags = FPRINT | TABLEPASS //Suit roll-down toggle. /obj/item/clothing/under/fluff/jane_sidsuit/verb/toggle_zipper() @@ -1137,7 +1133,6 @@ icon_state = "radi_pendant" item_state = "radi_pendant" item_color = "radi_pendant" - flags = FPRINT|TABLEPASS w_class = 2.0 //////////// Masks //////////// @@ -1149,7 +1144,7 @@ icon = 'icons/obj/custom_items.dmi' icon_state = "flagmask" item_state = "flagmask" - flags = FPRINT|TABLEPASS|MASKCOVERSMOUTH + flags = MASKCOVERSMOUTH w_class = 2 gas_transfer_coefficient = 0.90 */ @@ -1159,7 +1154,6 @@ desc = "A silver and emerald shamrock pendant. It has the initials \"M.K.\" engraved on the back." icon = 'icons/obj/custom_items.dmi' icon_state = "mara_kilpatrick_1" - flags = FPRINT|TABLEPASS w_class = 2 /////////////// Oen'g Issek Medical Mask ////////////////////////// @@ -1182,7 +1176,6 @@ item_state = "altair_locket" item_color = "altair_locket" slot_flags = 0 - flags = FPRINT|TABLEPASS w_class = 2 slot_flags = SLOT_MASK | SLOT_TIE @@ -1196,7 +1189,6 @@ item_state = "konaahirano" item_color = "konaahirano" slot_flags = 0 - flags = FPRINT|TABLEPASS w_class = 2 slot_flags = SLOT_MASK | SLOT_TIE var/obj/item/held //Item inside locket. @@ -1226,7 +1218,6 @@ desc = "This silvered medallion bears the symbol of the Hadii Clan of the Tajaran." icon = 'icons/obj/custom_items.dmi' icon_state = "nasir_khayyam_1" - flags = FPRINT|TABLEPASS w_class = 2 slot_flags = SLOT_MASK | SLOT_TIE @@ -1237,7 +1228,6 @@ desc = "A brass necklace with a green emerald placed at the end. It has a small inscription on the top of the chain, saying \'Foster\'" icon = 'icons/obj/custom_items.dmi' icon_state = "ty_foster" - flags = FPRINT|TABLEPASS w_class = 2 ////// Apollon Pendant - Michael Guess - Dragor23 @@ -1246,7 +1236,6 @@ desc = "A pendant with the form of a sacrificial tripod, used in acient greece. It's a symbol of the Olympian Apollon, a god associated with oracles, poetry, the sun and healing." icon = 'icons/obj/custom_items.dmi' icon_state = "michael_guess_1" - flags = FPRINT|TABLEPASS w_class = 2 slot_flags = SLOT_MASK body_parts_covered = 0 diff --git a/code/modules/detectivework/footprints_and_rag.dm b/code/modules/detectivework/footprints_and_rag.dm index 70c4dbca45..59b97ebb7c 100644 --- a/code/modules/detectivework/footprints_and_rag.dm +++ b/code/modules/detectivework/footprints_and_rag.dm @@ -23,7 +23,7 @@ possible_transfer_amounts = list(5) volume = 5 can_be_placed_into = null - flags = FPRINT | TABLEPASS | OPENCONTAINER | NOBLUDGEON + flags = OPENCONTAINER | NOBLUDGEON /obj/item/weapon/reagent_containers/glass/rag/attack_self(mob/user as mob) return diff --git a/code/modules/detectivework/scanner.dm b/code/modules/detectivework/scanner.dm index 3916c799c8..83d841cf17 100644 --- a/code/modules/detectivework/scanner.dm +++ b/code/modules/detectivework/scanner.dm @@ -5,7 +5,7 @@ var/list/stored = list() w_class = 3.0 item_state = "electronic" - flags = FPRINT | TABLEPASS | CONDUCT | NOBLUDGEON + flags = CONDUCT | NOBLUDGEON slot_flags = SLOT_BELT /obj/item/device/detective_scanner/attack(mob/living/carbon/human/M as mob, mob/user as mob) diff --git a/code/modules/hydroponics/grown_inedible.dm b/code/modules/hydroponics/grown_inedible.dm index d82807f738..717d3ea8a8 100644 --- a/code/modules/hydroponics/grown_inedible.dm +++ b/code/modules/hydroponics/grown_inedible.dm @@ -40,7 +40,6 @@ icon = 'icons/obj/harvest.dmi' icon_state = "logs" force = 5 - flags = TABLEPASS throwforce = 5 w_class = 3.0 throw_speed = 3 @@ -71,7 +70,6 @@ icon_state = "sunflower" damtype = "fire" force = 0 - flags = TABLEPASS throwforce = 1 w_class = 1.0 throw_speed = 1 @@ -89,7 +87,6 @@ icon_state = "nettle" damtype = "fire" force = 15 - flags = TABLEPASS throwforce = 1 w_class = 2.0 throw_speed = 1 diff --git a/code/modules/hydroponics/hydro_tools.dm b/code/modules/hydroponics/hydro_tools.dm index 328e1a020e..957ef5173f 100644 --- a/code/modules/hydroponics/hydro_tools.dm +++ b/code/modules/hydroponics/hydro_tools.dm @@ -168,7 +168,7 @@ /obj/item/weapon/plantspray icon = 'icons/obj/hydroponics.dmi' item_state = "spray" - flags = TABLEPASS | FPRINT | NOBLUDGEON + flags = NOBLUDGEON slot_flags = SLOT_BELT throwforce = 4 w_class = 2.0 @@ -220,7 +220,7 @@ icon = 'icons/obj/weapons.dmi' icon_state = "hoe" item_state = "hoe" - flags = FPRINT | TABLEPASS | CONDUCT | NOBLUDGEON + flags = CONDUCT | NOBLUDGEON force = 5.0 throwforce = 7.0 w_class = 2.0 @@ -236,7 +236,6 @@ name = "bottle of weedkiller" icon = 'icons/obj/chemical.dmi' icon_state = "bottle16" - flags = FPRINT | TABLEPASS var/toxicity = 0 var/weed_kill_str = 0 @@ -244,7 +243,6 @@ name = "bottle of glyphosate" icon = 'icons/obj/chemical.dmi' icon_state = "bottle16" - flags = FPRINT | TABLEPASS toxicity = 4 weed_kill_str = 2 @@ -252,7 +250,6 @@ name = "bottle of triclopyr" icon = 'icons/obj/chemical.dmi' icon_state = "bottle18" - flags = FPRINT | TABLEPASS toxicity = 6 weed_kill_str = 4 @@ -260,7 +257,6 @@ name = "bottle of 2,4-D" icon = 'icons/obj/chemical.dmi' icon_state = "bottle15" - flags = FPRINT | TABLEPASS toxicity = 8 weed_kill_str = 7 @@ -274,7 +270,7 @@ desc = "A small glass bottle. Can hold up to 10 units." icon = 'icons/obj/chemical.dmi' icon_state = "bottle16" - flags = FPRINT | TABLEPASS | OPENCONTAINER + flags = OPENCONTAINER possible_transfer_amounts = null w_class = 2.0 @@ -314,7 +310,7 @@ desc = "A very sharp axe blade upon a short fibremetal handle. It has a long history of chopping things, but now it is used for chopping wood." icon = 'icons/obj/weapons.dmi' icon_state = "hatchet" - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT force = 12.0 w_class = 2.0 throwforce = 15.0 @@ -347,7 +343,7 @@ throw_speed = 1 throw_range = 3 w_class = 4.0 - flags = FPRINT | TABLEPASS | NOSHIELD + flags = NOSHIELD slot_flags = SLOT_BACK origin_tech = "materials=2;combat=2" attack_verb = list("chopped", "sliced", "cut", "reaped") diff --git a/code/modules/hydroponics/seeds.dm b/code/modules/hydroponics/seeds.dm index 390e3568cd..6f1b732849 100644 --- a/code/modules/hydroponics/seeds.dm +++ b/code/modules/hydroponics/seeds.dm @@ -3,7 +3,6 @@ name = "packet of seeds" icon = 'icons/obj/seeds.dmi' icon_state = "seed" - flags = FPRINT | TABLEPASS w_class = 2.0 var/seed_type diff --git a/code/modules/library/lib_items.dm b/code/modules/library/lib_items.dm index e8374d5652..cd172b41ee 100644 --- a/code/modules/library/lib_items.dm +++ b/code/modules/library/lib_items.dm @@ -126,7 +126,6 @@ throw_speed = 1 throw_range = 5 w_class = 3 //upped to three because books are, y'know, pretty big. (and you could hide them inside eachother recursively forever) - flags = FPRINT | TABLEPASS attack_verb = list("bashed", "whacked", "educated") var/dat // Actual page content var/due_date = 0 // Game time in 1/10th seconds @@ -254,7 +253,6 @@ throw_speed = 1 throw_range = 5 w_class = 2.0 - flags = FPRINT | TABLEPASS var/obj/machinery/librarycomp/computer // Associated computer - Modes 1 to 3 use this var/obj/item/weapon/book/book // Currently scanned book var/mode = 0 // 0 - Scan only, 1 - Scan and Set Buffer, 2 - Scan and Attempt to Check In, 3 - Scan and Attempt to Add to Inventory diff --git a/code/modules/mining/coins.dm b/code/modules/mining/coins.dm index 6a0d7c5c3c..6ddf02609a 100644 --- a/code/modules/mining/coins.dm +++ b/code/modules/mining/coins.dm @@ -4,7 +4,7 @@ icon = 'icons/obj/items.dmi' name = "Coin" icon_state = "coin" - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT force = 0.0 throwforce = 0.0 w_class = 1.0 diff --git a/code/modules/mining/mine_items.dm b/code/modules/mining/mine_items.dm index ff159ff122..be76b4c126 100644 --- a/code/modules/mining/mine_items.dm +++ b/code/modules/mining/mine_items.dm @@ -52,7 +52,7 @@ name = "pickaxe" icon = 'icons/obj/items.dmi' icon_state = "pickaxe" - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT slot_flags = SLOT_BELT force = 15.0 throwforce = 4.0 @@ -150,7 +150,7 @@ desc = "A large tool for digging and moving dirt." icon = 'icons/obj/items.dmi' icon_state = "shovel" - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT slot_flags = SLOT_BELT force = 8.0 throwforce = 4.0 diff --git a/code/modules/mining/money_bag.dm b/code/modules/mining/money_bag.dm index 05d2caa9a2..d49ccc222f 100644 --- a/code/modules/mining/money_bag.dm +++ b/code/modules/mining/money_bag.dm @@ -4,7 +4,7 @@ icon = 'icons/obj/storage.dmi' name = "Money bag" icon_state = "moneybag" - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT force = 10.0 throwforce = 2.0 w_class = 4.0 diff --git a/code/modules/mob/living/carbon/brain/brain_item.dm b/code/modules/mob/living/carbon/brain/brain_item.dm index f36de5ded9..6ec6b4fce4 100644 --- a/code/modules/mob/living/carbon/brain/brain_item.dm +++ b/code/modules/mob/living/carbon/brain/brain_item.dm @@ -3,7 +3,6 @@ health = 400 //They need to live awhile longer than other organs. desc = "A piece of juicy meat found in a person's head." icon_state = "brain2" - flags = TABLEPASS force = 1.0 w_class = 2.0 throwforce = 1.0 diff --git a/code/modules/mob/living/carbon/human/species/xenomorphs/alien_facehugger.dm b/code/modules/mob/living/carbon/human/species/xenomorphs/alien_facehugger.dm index 6079a3c044..c7c7fcc903 100644 --- a/code/modules/mob/living/carbon/human/species/xenomorphs/alien_facehugger.dm +++ b/code/modules/mob/living/carbon/human/species/xenomorphs/alien_facehugger.dm @@ -15,7 +15,7 @@ var/const/MAX_ACTIVE_TIME = 400 icon_state = "facehugger" item_state = "facehugger" w_class = 1 //note: can be picked up by aliens unlike most other items of w_class below 4 - flags = FPRINT | TABLEPASS | MASKCOVERSMOUTH | MASKCOVERSEYES | AIRTIGHT + flags = MASKCOVERSMOUTH | MASKCOVERSEYES | AIRTIGHT body_parts_covered = FACE|EYES throw_range = 5 diff --git a/code/modules/mob/living/silicon/robot/analyzer.dm b/code/modules/mob/living/silicon/robot/analyzer.dm index eaef5607cb..0f84806a1f 100644 --- a/code/modules/mob/living/silicon/robot/analyzer.dm +++ b/code/modules/mob/living/silicon/robot/analyzer.dm @@ -6,7 +6,7 @@ icon_state = "robotanalyzer" item_state = "analyzer" desc = "A hand-held scanner able to diagnose robotic injuries." - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT slot_flags = SLOT_BELT throwforce = 3 w_class = 2.0 diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index 7cbc5bef5e..3458a5bb47 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -4,7 +4,7 @@ icon_state = "std_module" w_class = 100.0 item_state = "electronic" - flags = FPRINT|TABLEPASS | CONDUCT + flags = CONDUCT var/channels = list() var/list/modules = list() var/obj/item/emag = null diff --git a/code/modules/paperwork/clipboard.dm b/code/modules/paperwork/clipboard.dm index ca128c2c10..9598800312 100644 --- a/code/modules/paperwork/clipboard.dm +++ b/code/modules/paperwork/clipboard.dm @@ -9,7 +9,6 @@ throw_range = 10 var/obj/item/weapon/pen/haspen //The stored pen. var/obj/item/weapon/toppaper //The topmost piece of paper. - flags = FPRINT | TABLEPASS slot_flags = SLOT_BELT /obj/item/weapon/clipboard/New() diff --git a/code/modules/paperwork/pen.dm b/code/modules/paperwork/pen.dm index dd60029382..944fd91410 100644 --- a/code/modules/paperwork/pen.dm +++ b/code/modules/paperwork/pen.dm @@ -15,7 +15,6 @@ icon = 'icons/obj/bureaucracy.dmi' icon_state = "pen" item_state = "pen" - flags = FPRINT | TABLEPASS slot_flags = SLOT_BELT | SLOT_EARS throwforce = 0 w_class = 1.0 @@ -58,7 +57,7 @@ */ /obj/item/weapon/pen/sleepypen desc = "It's a black ink pen with a sharp point and a carefully engraved \"Waffle Co.\"" - flags = FPRINT | TABLEPASS | OPENCONTAINER + flags = OPENCONTAINER slot_flags = SLOT_BELT origin_tech = "materials=2;syndicate=5" @@ -85,7 +84,7 @@ * Parapens */ /obj/item/weapon/pen/paralysis - flags = FPRINT | TABLEPASS | OPENCONTAINER + flags = OPENCONTAINER slot_flags = SLOT_BELT origin_tech = "materials=2;syndicate=5" diff --git a/code/modules/paperwork/photography.dm b/code/modules/paperwork/photography.dm index 1a93e87539..ad9f572361 100644 --- a/code/modules/paperwork/photography.dm +++ b/code/modules/paperwork/photography.dm @@ -123,7 +123,7 @@ var/global/photo_count = 0 icon_state = "camera" item_state = "electropack" w_class = 2.0 - flags = FPRINT | CONDUCT | TABLEPASS + flags = CONDUCT slot_flags = SLOT_BELT matter = list("metal" = 2000) var/pictures_max = 10 diff --git a/code/modules/paperwork/stamps.dm b/code/modules/paperwork/stamps.dm index 51ec0002dd..f2767ca0e8 100644 --- a/code/modules/paperwork/stamps.dm +++ b/code/modules/paperwork/stamps.dm @@ -4,7 +4,6 @@ icon = 'icons/obj/bureaucracy.dmi' icon_state = "stamp-qm" item_state = "stamp" - flags = FPRINT | TABLEPASS throwforce = 0 w_class = 1.0 throw_speed = 7 diff --git a/code/modules/power/antimatter/shielding.dm b/code/modules/power/antimatter/shielding.dm index ea92b1f690..bdaeb0c659 100644 --- a/code/modules/power/antimatter/shielding.dm +++ b/code/modules/power/antimatter/shielding.dm @@ -206,7 +206,7 @@ proc/cardinalrange(var/center) icon_state = "box" item_state = "electronic" w_class = 4.0 - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT throwforce = 5 throw_speed = 1 throw_range = 2 diff --git a/code/modules/power/breaker_box.dm b/code/modules/power/breaker_box.dm index feb6f1d38a..869e654e6e 100644 --- a/code/modules/power/breaker_box.dm +++ b/code/modules/power/breaker_box.dm @@ -11,7 +11,6 @@ //directwired = 0 var/icon_state_on = "bbox_on" var/icon_state_off = "bbox_off" - flags = FPRINT density = 1 anchored = 1 var/on = 0 diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm index de072d8d5a..12451f9a5e 100644 --- a/code/modules/power/cable.dm +++ b/code/modules/power/cable.dm @@ -477,7 +477,7 @@ obj/structure/cable/proc/cableColor(var/colorC) throw_speed = 2 throw_range = 5 matter = list("metal" = 50, "glass" = 20) - flags = TABLEPASS | FPRINT | CONDUCT + flags = CONDUCT slot_flags = SLOT_BELT item_state = "coil" attack_verb = list("whipped", "lashed", "disciplined", "flogged") diff --git a/code/modules/power/lighting.dm b/code/modules/power/lighting.dm index 8d8c434e25..7c9ae41cf2 100644 --- a/code/modules/power/lighting.dm +++ b/code/modules/power/lighting.dm @@ -16,7 +16,7 @@ desc = "Used for building lights." icon = 'icons/obj/lighting.dmi' icon_state = "tube-construct-item" - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT var/fixture_type = "tube" var/obj/machinery/light/newlight = null var/sheets_refunded = 2 @@ -63,7 +63,7 @@ desc = "Used for building small lights." icon = 'icons/obj/lighting.dmi' icon_state = "bulb-construct-item" - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT fixture_type = "bulb" sheets_refunded = 1 @@ -637,7 +637,6 @@ /obj/item/weapon/light icon = 'icons/obj/lighting.dmi' - flags = FPRINT | TABLEPASS force = 2 throwforce = 5 w_class = 2 diff --git a/code/modules/projectiles/ammunition.dm b/code/modules/projectiles/ammunition.dm index 1e09903a7e..4f149fe301 100644 --- a/code/modules/projectiles/ammunition.dm +++ b/code/modules/projectiles/ammunition.dm @@ -3,7 +3,7 @@ desc = "A bullet casing." icon = 'icons/obj/ammo.dmi' icon_state = "s-casing" - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT slot_flags = SLOT_BELT throwforce = 1 w_class = 1.0 @@ -52,7 +52,7 @@ desc = "A box of ammo" icon_state = "357" icon = 'icons/obj/ammo.dmi' - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT slot_flags = SLOT_BELT item_state = "syringe_kit" matter = list("metal" = 50000) diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index f41ba5967b..fc44ed09fc 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -4,7 +4,7 @@ icon = 'icons/obj/gun.dmi' icon_state = "detective" item_state = "gun" - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT slot_flags = SLOT_BELT matter = list("metal" = 2000) w_class = 3.0 diff --git a/code/modules/projectiles/guns/energy/special.dm b/code/modules/projectiles/guns/energy/special.dm index a87218d12c..d5417496bf 100644 --- a/code/modules/projectiles/guns/energy/special.dm +++ b/code/modules/projectiles/guns/energy/special.dm @@ -5,7 +5,7 @@ fire_sound = 'sound/weapons/Laser.ogg' origin_tech = "combat=2;magnets=4" w_class = 4.0 - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT slot_flags = SLOT_BACK charge_cost = 100 projectile_type = "/obj/item/projectile/ion" @@ -33,7 +33,7 @@ obj/item/weapon/gun/energy/staff icon_state = "staffofchange" item_state = "staffofchange" fire_sound = 'sound/weapons/emitter.ogg' - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT slot_flags = SLOT_BACK w_class = 4.0 charge_cost = 200 diff --git a/code/modules/projectiles/guns/projectile/crossbow.dm b/code/modules/projectiles/guns/projectile/crossbow.dm index 0f5cdbb2c8..faa3f8509f 100644 --- a/code/modules/projectiles/guns/projectile/crossbow.dm +++ b/code/modules/projectiles/guns/projectile/crossbow.dm @@ -6,7 +6,6 @@ icon = 'icons/obj/weapons.dmi' icon_state = "bolt" item_state = "bolt" - flags = FPRINT | TABLEPASS throwforce = 8 w_class = 3.0 sharp = 1 diff --git a/code/modules/projectiles/guns/projectile/launcher.dm b/code/modules/projectiles/guns/projectile/launcher.dm index ee0da727c7..6626d809cd 100644 --- a/code/modules/projectiles/guns/projectile/launcher.dm +++ b/code/modules/projectiles/guns/projectile/launcher.dm @@ -3,7 +3,7 @@ desc = "A device that launches things." icon = 'icons/obj/weapons.dmi' w_class = 5.0 - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT slot_flags = SLOT_BACK var/release_force = 0 diff --git a/code/modules/projectiles/guns/projectile/pneumatic.dm b/code/modules/projectiles/guns/projectile/pneumatic.dm index 2a6e519d0d..43a5bc8e9a 100644 --- a/code/modules/projectiles/guns/projectile/pneumatic.dm +++ b/code/modules/projectiles/guns/projectile/pneumatic.dm @@ -5,7 +5,7 @@ icon_state = "pneumatic" item_state = "pneumatic" w_class = 5.0 - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT fire_sound_text = "a loud whoosh of moving air" fire_delay = 50 fire_sound = 'sound/weapons/tablehit1.ogg' diff --git a/code/modules/projectiles/guns/projectile/rocket.dm b/code/modules/projectiles/guns/projectile/rocket.dm index ea88e7956a..27fb15d571 100644 --- a/code/modules/projectiles/guns/projectile/rocket.dm +++ b/code/modules/projectiles/guns/projectile/rocket.dm @@ -7,7 +7,7 @@ throw_speed = 2 throw_range = 10 force = 5.0 - flags = FPRINT | TABLEPASS | CONDUCT | USEDELAY + flags = CONDUCT | USEDELAY slot_flags = 0 origin_tech = "combat=8;materials=5" var/projectile = /obj/item/missile diff --git a/code/modules/projectiles/guns/projectile/shotgun.dm b/code/modules/projectiles/guns/projectile/shotgun.dm index 87d214f067..6db9300375 100644 --- a/code/modules/projectiles/guns/projectile/shotgun.dm +++ b/code/modules/projectiles/guns/projectile/shotgun.dm @@ -6,7 +6,7 @@ max_shells = 4 w_class = 4.0 force = 10 - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT slot_flags = SLOT_BACK caliber = "shotgun" origin_tech = "combat=4;materials=2" @@ -66,7 +66,7 @@ max_shells = 2 w_class = 4.0 force = 10 - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT slot_flags = SLOT_BACK caliber = "shotgun" origin_tech = "combat=3;materials=1" diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index d8ff676708..3b5ed8bd53 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -16,7 +16,6 @@ density = 1 unacidable = 1 anchored = 1 //There's a reason this is here, Mport. God fucking damn it -Agouri. Find&Fix by Pete. The reason this is here is to stop the curving of emitter shots. - flags = FPRINT | TABLEPASS pass_flags = PASSTABLE mouse_opacity = 0 var/bumped = 0 //Prevents it from hitting more than one guy at once diff --git a/code/modules/reagents/reagent_containers/borghydro.dm b/code/modules/reagents/reagent_containers/borghydro.dm index deee473acb..d82ded7bba 100644 --- a/code/modules/reagents/reagent_containers/borghydro.dm +++ b/code/modules/reagents/reagent_containers/borghydro.dm @@ -8,7 +8,6 @@ amount_per_transfer_from_this = 5 volume = 30 possible_transfer_amounts = null - flags = FPRINT var/mode = 1 var/charge_cost = 50 var/charge_tick = 0 diff --git a/code/modules/reagents/reagent_containers/food/condiment.dm b/code/modules/reagents/reagent_containers/food/condiment.dm index ee5be182dd..f643ccca90 100644 --- a/code/modules/reagents/reagent_containers/food/condiment.dm +++ b/code/modules/reagents/reagent_containers/food/condiment.dm @@ -10,7 +10,7 @@ desc = "Just your average condiment container." icon = 'icons/obj/food.dmi' icon_state = "emptycondiment" - flags = FPRINT | TABLEPASS | OPENCONTAINER + flags = OPENCONTAINER possible_transfer_amounts = list(1,5,10) center_of_mass = list("x"=16, "y"=6) volume = 50 diff --git a/code/modules/reagents/reagent_containers/food/drinks.dm b/code/modules/reagents/reagent_containers/food/drinks.dm index 915a43d253..ceabea1e50 100644 --- a/code/modules/reagents/reagent_containers/food/drinks.dm +++ b/code/modules/reagents/reagent_containers/food/drinks.dm @@ -6,7 +6,7 @@ desc = "yummy" icon = 'icons/obj/drinks.dmi' icon_state = null - flags = FPRINT | TABLEPASS | OPENCONTAINER + flags = OPENCONTAINER var/gulp_size = 5 //This is now officially broken ... need to think of a nice way to fix it. possible_transfer_amounts = list(5,10,25) volume = 50 @@ -152,7 +152,7 @@ amount_per_transfer_from_this = 20 possible_transfer_amounts = null volume = 150 - flags = FPRINT | CONDUCT | TABLEPASS | OPENCONTAINER + flags = CONDUCT | OPENCONTAINER /obj/item/weapon/reagent_containers/food/drinks/golden_cup/tournament_26_06_2011 desc = "A golden cup. It will be presented to a winner of tournament 26 june and name of the winner will be graved on it." diff --git a/code/modules/reagents/reagent_containers/glass.dm b/code/modules/reagents/reagent_containers/glass.dm index 925c43e17d..1908c76740 100644 --- a/code/modules/reagents/reagent_containers/glass.dm +++ b/code/modules/reagents/reagent_containers/glass.dm @@ -12,7 +12,7 @@ amount_per_transfer_from_this = 10 possible_transfer_amounts = list(5,10,15,25,30,60) volume = 60 - flags = FPRINT | TABLEPASS | OPENCONTAINER + flags = OPENCONTAINER var/label_text = "" @@ -209,7 +209,7 @@ volume = 120 amount_per_transfer_from_this = 10 possible_transfer_amounts = list(5,10,15,25,30,60,120) - flags = FPRINT | TABLEPASS | OPENCONTAINER + flags = OPENCONTAINER /obj/item/weapon/reagent_containers/glass/beaker/noreact name = "cryostasis beaker" @@ -218,7 +218,7 @@ matter = list("glass" = 500) volume = 60 amount_per_transfer_from_this = 10 - flags = FPRINT | TABLEPASS | OPENCONTAINER | NOREACT + flags = OPENCONTAINER | NOREACT /obj/item/weapon/reagent_containers/glass/beaker/bluespace name = "bluespace beaker" @@ -228,7 +228,7 @@ volume = 300 amount_per_transfer_from_this = 10 possible_transfer_amounts = list(5,10,15,25,30,60,120,300) - flags = FPRINT | TABLEPASS | OPENCONTAINER + flags = OPENCONTAINER /obj/item/weapon/reagent_containers/glass/beaker/vial @@ -239,7 +239,7 @@ volume = 30 amount_per_transfer_from_this = 10 possible_transfer_amounts = list(5,10,15,25) - flags = FPRINT | TABLEPASS | OPENCONTAINER + flags = OPENCONTAINER /obj/item/weapon/reagent_containers/glass/beaker/cryoxadone New() @@ -270,7 +270,7 @@ amount_per_transfer_from_this = 20 possible_transfer_amounts = list(10,20,30,60,120) volume = 120 - flags = FPRINT | OPENCONTAINER + flags = OPENCONTAINER attackby(var/obj/D, mob/user as mob) if(isprox(D)) @@ -297,7 +297,7 @@ volume = 15 amount_per_transfer_from_this = 5 possible_transfer_amounts = list(1,5,15) - flags = FPRINT | TABLEPASS | OPENCONTAINER */ + flags = OPENCONTAINER */ /* /obj/item/weapon/reagent_containers/glass/blender_jug @@ -329,7 +329,6 @@ amount_per_transfer_from_this = 20 possible_transfer_amounts = list(10,20,30,60) volume = 120 - flags = FPRINT /obj/item/weapon/reagent_containers/glass/dispenser name = "reagent glass" @@ -337,7 +336,7 @@ icon = 'icons/obj/chemical.dmi' icon_state = "beaker0" amount_per_transfer_from_this = 10 - flags = FPRINT | TABLEPASS | OPENCONTAINER + flags = OPENCONTAINER /obj/item/weapon/reagent_containers/glass/dispenser/surfactant name = "reagent glass (surfactant)" diff --git a/code/modules/reagents/reagent_containers/glass/bottle.dm b/code/modules/reagents/reagent_containers/glass/bottle.dm index 846eb3bfa7..44afd28407 100644 --- a/code/modules/reagents/reagent_containers/glass/bottle.dm +++ b/code/modules/reagents/reagent_containers/glass/bottle.dm @@ -9,7 +9,7 @@ item_state = "atoxinbottle" amount_per_transfer_from_this = 10 possible_transfer_amounts = list(5,10,15,25,30,60) - flags = FPRINT | TABLEPASS | OPENCONTAINER + flags = OPENCONTAINER volume = 60 on_reagent_change() diff --git a/code/modules/reagents/reagent_containers/glass/bottle/robot.dm b/code/modules/reagents/reagent_containers/glass/bottle/robot.dm index 9286e5ab03..7c8bf02a5b 100644 --- a/code/modules/reagents/reagent_containers/glass/bottle/robot.dm +++ b/code/modules/reagents/reagent_containers/glass/bottle/robot.dm @@ -2,7 +2,7 @@ /obj/item/weapon/reagent_containers/glass/bottle/robot amount_per_transfer_from_this = 10 possible_transfer_amounts = list(5,10,15,25,30,50,100) - flags = FPRINT | TABLEPASS | OPENCONTAINER + flags = OPENCONTAINER volume = 60 var/reagent = "" diff --git a/code/modules/reagents/reagent_containers/hypospray.dm b/code/modules/reagents/reagent_containers/hypospray.dm index 49348a22a0..fd3557b62f 100644 --- a/code/modules/reagents/reagent_containers/hypospray.dm +++ b/code/modules/reagents/reagent_containers/hypospray.dm @@ -11,7 +11,7 @@ amount_per_transfer_from_this = 5 volume = 30 possible_transfer_amounts = null - flags = FPRINT | TABLEPASS | OPENCONTAINER + flags = OPENCONTAINER slot_flags = SLOT_BELT /obj/item/weapon/reagent_containers/hypospray/New() //comment this to make hypos start off empty diff --git a/code/modules/reagents/reagent_containers/spray.dm b/code/modules/reagents/reagent_containers/spray.dm index 1db8fa1aa4..91dbebc27c 100644 --- a/code/modules/reagents/reagent_containers/spray.dm +++ b/code/modules/reagents/reagent_containers/spray.dm @@ -4,7 +4,7 @@ icon = 'icons/obj/janitor.dmi' icon_state = "cleaner" item_state = "cleaner" - flags = TABLEPASS|OPENCONTAINER|FPRINT|NOBLUDGEON + flags = OPENCONTAINER|NOBLUDGEON slot_flags = SLOT_BELT throwforce = 3 w_class = 2.0 diff --git a/code/modules/reagents/reagent_dispenser.dm b/code/modules/reagents/reagent_dispenser.dm index 95311bba83..0156625886 100644 --- a/code/modules/reagents/reagent_dispenser.dm +++ b/code/modules/reagents/reagent_dispenser.dm @@ -7,7 +7,6 @@ icon_state = "watertank" density = 1 anchored = 0 - flags = FPRINT pressure_resistance = 2*ONE_ATMOSPHERE var/amount_per_transfer_from_this = 10 diff --git a/code/modules/recycling/sortingmachinery.dm b/code/modules/recycling/sortingmachinery.dm index c8deef1ccc..67721bd8d5 100755 --- a/code/modules/recycling/sortingmachinery.dm +++ b/code/modules/recycling/sortingmachinery.dm @@ -6,7 +6,7 @@ var/obj/wrapped = null density = 1 var/sortTag = null - flags = FPRINT | NOBLUDGEON + flags = NOBLUDGEON mouse_drag_pointer = MOUSE_ACTIVE_POINTER var/examtext = null var/nameset = 0 @@ -115,7 +115,6 @@ icon_state = "deliverycrate3" var/obj/item/wrapped = null var/sortTag = null - flags = FPRINT var/examtext = null var/nameset = 0 var/tag_x @@ -317,7 +316,7 @@ w_class = 2 item_state = "electronic" - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT slot_flags = SLOT_BELT proc/openwindow(mob/user as mob) diff --git a/code/modules/research/xenoarchaeology/chemistry.dm b/code/modules/research/xenoarchaeology/chemistry.dm index e6c622a94a..f5b718dcf0 100644 --- a/code/modules/research/xenoarchaeology/chemistry.dm +++ b/code/modules/research/xenoarchaeology/chemistry.dm @@ -80,7 +80,7 @@ datum amount_per_transfer_from_this = 1 possible_transfer_amounts = list(1, 2) volume = 2 - flags = FPRINT | OPENCONTAINER + flags = OPENCONTAINER obj/item/weapon/reagent_containers/glass/solution_tray/attackby(obj/item/weapon/W as obj, mob/living/user as mob) if(istype(W, /obj/item/weapon/pen)) diff --git a/code/modules/research/xenoarchaeology/tools/tools_anoscanner.dm b/code/modules/research/xenoarchaeology/tools/tools_anoscanner.dm index 38fab6221f..6f79f8d8ba 100644 --- a/code/modules/research/xenoarchaeology/tools/tools_anoscanner.dm +++ b/code/modules/research/xenoarchaeology/tools/tools_anoscanner.dm @@ -6,7 +6,6 @@ icon_state = "flashgun" item_state = "lampgreen" w_class = 2.0 - flags = FPRINT | TABLEPASS slot_flags = SLOT_BELT var/nearest_artifact_id = "unknown" var/nearest_artifact_distance = -1 diff --git a/code/modules/research/xenoarchaeology/tools/tools_coresampler.dm b/code/modules/research/xenoarchaeology/tools/tools_coresampler.dm index bcfa0eb823..7c357b53da 100644 --- a/code/modules/research/xenoarchaeology/tools/tools_coresampler.dm +++ b/code/modules/research/xenoarchaeology/tools/tools_coresampler.dm @@ -20,7 +20,6 @@ icon_state = "sampler0" item_state = "screwdriver_brown" w_class = 1.0 - flags = FPRINT | TABLEPASS //slot_flags = SLOT_BELT var/sampled_turf = "" var/num_stored_bags = 10 diff --git a/code/modules/research/xenoarchaeology/tools/tools_depthscanner.dm b/code/modules/research/xenoarchaeology/tools/tools_depthscanner.dm index 111e465e48..425b3e0dc3 100644 --- a/code/modules/research/xenoarchaeology/tools/tools_depthscanner.dm +++ b/code/modules/research/xenoarchaeology/tools/tools_depthscanner.dm @@ -10,7 +10,6 @@ icon_state = "crap" item_state = "analyzer" w_class = 2.0 - flags = FPRINT | TABLEPASS slot_flags = SLOT_BELT var/list/positive_locations = list() var/datum/depth_scan/current diff --git a/code/modules/shieldgen/sheldwallgen.dm b/code/modules/shieldgen/sheldwallgen.dm index d2d8148c13..95b3276bd3 100644 --- a/code/modules/shieldgen/sheldwallgen.dm +++ b/code/modules/shieldgen/sheldwallgen.dm @@ -20,7 +20,7 @@ // var/maxshieldload = 200 var/obj/structure/cable/attached // the attached cable var/storedpower = 0 - flags = FPRINT | CONDUCT + flags = CONDUCT //There have to be at least two posts, so these are effectively doubled var/power_draw = 30000 //30 kW. How much power is drawn from powernet. Increase this to allow the generator to sustain longer shields, at the cost of more power draw. var/max_stored_power = 50000 //50 kW diff --git a/code/modules/virus2/helpers.dm b/code/modules/virus2/helpers.dm index 18c2db0f14..6f55e3ba58 100644 --- a/code/modules/virus2/helpers.dm +++ b/code/modules/virus2/helpers.dm @@ -56,7 +56,6 @@ proc/infection_check(var/mob/living/carbon/M, var/vector = "Airborne") //Checks if table-passing table can reach target (5 tile radius) proc/airborne_can_reach(turf/source, turf/target) var/obj/dummy = new(source) - dummy.flags = FPRINT | TABLEPASS dummy.pass_flags = PASSTABLE for(var/i=0, i<5, i++) if(!step_towards(dummy, target)) break diff --git a/code/modules/virus2/items_devices.dm b/code/modules/virus2/items_devices.dm index d145ac0b2a..a2a102611d 100644 --- a/code/modules/virus2/items_devices.dm +++ b/code/modules/virus2/items_devices.dm @@ -6,7 +6,7 @@ icon_state = "health" w_class = 2.0 item_state = "electronic" - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT /obj/item/device/antibody_scanner/attack(mob/M as mob, mob/user as mob) if(!istype(M,/mob/living/carbon/)) diff --git a/code/setup.dm b/code/setup.dm index e3cb2606ab..632ada1804 100644 --- a/code/setup.dm +++ b/code/setup.dm @@ -167,36 +167,34 @@ //FLAGS BITMASK #define STOPSPRESSUREDMAGE 1 //This flag is used on the flags variable for SUIT and HEAD items which stop pressure damage. Note that the flag 1 was previous used as ONBACK, so it is possible for some code to use (flags & 1) when checking if something can be put on your back. Replace this code with (inv_flags & SLOT_BACK) if you see it anywhere //To successfully stop you taking all pressure damage you must have both a suit and head item with this flag. -#define TABLEPASS 2 // can pass by a table or rack -#define NOBLUDGEON 4 // when an item has this it produces no "X has been hit by Y with Z" message with the default handler -#define AIRTIGHT 8 // functions with internals -#define USEDELAY 16 // 1 second extra delay on use (Can be used once every 2s) -#define NOSHIELD 32 // weapon not affected by shield -#define CONDUCT 64 // conducts electricity (metal etc.) -#define FPRINT 256 // takes a fingerprint -#define ON_BORDER 512 // item has priority to check when entering or leaving -#define NOBLOODY 2048 // used to items if they don't want to get a blood overlay -#define NODELAY 32768 // 1 second attackby delay skipped (Can be used once every 0.2s). Most objects have a 1s attackby delay, which doesn't require a flag. +#define NOBLUDGEON 2 // when an item has this it produces no "X has been hit by Y with Z" message with the default handler +#define AIRTIGHT 4 // functions with internals +#define USEDELAY 8 // 1 second extra delay on use (Can be used once every 2s) +#define NOSHIELD 16 // weapon not affected by shield +#define CONDUCT 32 // conducts electricity (metal etc.) +#define ON_BORDER 64 // item has priority to check when entering or leaving +#define NOBLOODY 512 // used to items if they don't want to get a blood overlay +#define NODELAY 8192 // 1 second attackby delay skipped (Can be used once every 0.2s). Most objects have a 1s attackby delay, which doesn't require a flag. -#define GLASSESCOVERSEYES 1024 -#define MASKCOVERSEYES 1024 // get rid of some of the other retardation in these flags -#define HEADCOVERSEYES 1024 // feel free to realloc these numbers for other purposes -#define MASKCOVERSMOUTH 2048 // on other items, these are just for mask/head -#define HEADCOVERSMOUTH 2048 +#define GLASSESCOVERSEYES 256 +#define MASKCOVERSEYES 256 // get rid of some of the other retardation in these flags +#define HEADCOVERSEYES 256 // feel free to realloc these numbers for other purposes +#define MASKCOVERSMOUTH 512 // on other items, these are just for mask/head +#define HEADCOVERSMOUTH 512 -#define THICKMATERIAL 1024 //From /tg: prevents syringes, parapens and hypos if the external suit or helmet (if targeting head) has this flag. Example: space suits, biosuit, bombsuits, thick suits that cover your body. (NOTE: flag shared with NOSLIP for shoes) -#define NOSLIP 1024 //prevents from slipping on wet floors, in space etc +#define THICKMATERIAL 256 //From /tg: prevents syringes, parapens and hypos if the external suit or helmet (if targeting head) has this flag. Example: space suits, biosuit, bombsuits, thick suits that cover your body. (NOTE: flag shared with NOSLIP for shoes) +#define NOSLIP 256 //prevents from slipping on wet floors, in space etc -#define OPENCONTAINER 4096 // is an open container for chemistry purposes +#define OPENCONTAINER 1024 // is an open container for chemistry purposes -#define BLOCK_GAS_SMOKE_EFFECT 8192 // blocks the effect that chemical clouds would have on a mob --glasses, mask and helmets ONLY! (NOTE: flag shared with ONESIZEFITSALL) -#define ONESIZEFITSALL 8192 -#define PHORONGUARD 16384 //Does not get contaminated by phoron. +#define BLOCK_GAS_SMOKE_EFFECT 2048 // blocks the effect that chemical clouds would have on a mob --glasses, mask and helmets ONLY! (NOTE: flag shared with ONESIZEFITSALL) +#define ONESIZEFITSALL 2048 +#define PHORONGUARD 4096 //Does not get contaminated by phoron. -#define NOREACT 16384 //Reagents dont' react inside this container. +#define NOREACT 4096 //Reagents dont' react inside this container. #define BLOCKHEADHAIR 4 // temporarily removes the user's hair overlay. Leaves facial hair. -#define BLOCKHAIR 32768 // temporarily removes the user's hair, facial and otherwise. +#define BLOCKHAIR 8192 // temporarily removes the user's hair, facial and otherwise. //flags for pass_flags #define PASSTABLE 1 diff --git a/code/unused/assemblies.dm b/code/unused/assemblies.dm index 2c6909287a..84c4b4506a 100644 --- a/code/unused/assemblies.dm +++ b/code/unused/assemblies.dm @@ -16,7 +16,7 @@ var/obj/item/device/igniter/part2 = null var/obj/item/clothing/suit/armor/vest/part3 = null status = null - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT /obj/item/assembly/m_i_ptank desc = "A very intricate igniter and proximity sensor electrical assembly mounted onto top of a plasma tank." @@ -26,7 +26,7 @@ var/obj/item/device/igniter/part2 = null var/obj/item/weapon/tank/plasma/part3 = null status = 0.0 - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT /obj/item/assembly/prox_ignite name = "Proximity/Igniter Assembly" @@ -35,7 +35,7 @@ var/obj/item/device/prox_sensor/part1 = null var/obj/item/device/igniter/part2 = null status = null - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT /obj/item/assembly/r_i_ptank desc = "A very intricate igniter and signaller electrical assembly mounted onto top of a plasma tank." @@ -45,7 +45,7 @@ var/obj/item/device/igniter/part2 = null var/obj/item/weapon/tank/plasma/part3 = null status = 0.0 - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT /obj/item/assembly/anal_ignite name = "Health-Analyzer/Igniter Assembly" @@ -54,7 +54,7 @@ var/obj/item/device/healthanalyzer/part1 = null var/obj/item/device/igniter/part2 = null status = null - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT item_state = "electronic" /obj/item/assembly/time_ignite @@ -64,7 +64,7 @@ var/obj/item/device/timer/part1 = null var/obj/item/device/igniter/part2 = null status = null - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT /obj/item/assembly/t_i_ptank desc = "A very intricate igniter and timer assembly mounted onto top of a plasma tank." @@ -74,7 +74,7 @@ var/obj/item/device/igniter/part2 = null var/obj/item/weapon/tank/plasma/part3 = null status = 0.0 - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT /obj/item/assembly/rad_ignite name = "Radio/Igniter Assembly" @@ -83,7 +83,7 @@ var/obj/item/device/radio/signaler/part1 = null var/obj/item/device/igniter/part2 = null status = null - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT /obj/item/assembly/rad_infra name = "Signaller/Infrared Assembly" @@ -92,7 +92,7 @@ var/obj/item/device/radio/signaler/part1 = null var/obj/item/device/infra/part2 = null status = null - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT /obj/item/assembly/rad_prox name = "Signaller/Prox Sensor Assembly" @@ -101,7 +101,7 @@ var/obj/item/device/radio/signaler/part1 = null var/obj/item/device/prox_sensor/part2 = null status = null - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT /obj/item/assembly/rad_time name = "Signaller/Timer Assembly" @@ -110,7 +110,7 @@ var/obj/item/device/radio/signaler/part1 = null var/obj/item/device/timer/part2 = null status = null - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT */ /obj/item/assembly/time_ignite/premade/New() diff --git a/code/unused/asteroiddevice.dm b/code/unused/asteroiddevice.dm index 57a5747cfe..f642884d95 100644 --- a/code/unused/asteroiddevice.dm +++ b/code/unused/asteroiddevice.dm @@ -2,7 +2,7 @@ name = "GPS" icon = 'icons/obj/device.dmi' icon_state = "pinoff" - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT slot_flags = SLOT_BELT w_class = 2.0 item_state = "electronic" diff --git a/code/unused/hivebot/hive_modules.dm b/code/unused/hivebot/hive_modules.dm index 09a0207ec6..69ffb9d62f 100644 --- a/code/unused/hivebot/hive_modules.dm +++ b/code/unused/hivebot/hive_modules.dm @@ -4,7 +4,7 @@ icon_state = "std_module" w_class = 2.0 item_state = "electronic" - flags = FPRINT|TABLEPASS | CONDUCT + flags = CONDUCT var/list/modules = list() /obj/item/weapon/hive_module/standard diff --git a/code/unused/new_year.dm b/code/unused/new_year.dm index 7e2dfb5c22..0f2bdca1c3 100644 --- a/code/unused/new_year.dm +++ b/code/unused/new_year.dm @@ -55,7 +55,7 @@ item_state = "flashbang" throw_speed = 4 throw_range = 20 - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT slot_flags = SLOT_BELT /obj/item/weapon/firbang/afterattack(atom/target as mob|obj|turf|area, mob/user as mob) diff --git a/code/unused/optics/beam.dm b/code/unused/optics/beam.dm index 0c2ebfcdf6..2e4f87e367 100644 --- a/code/unused/optics/beam.dm +++ b/code/unused/optics/beam.dm @@ -8,7 +8,6 @@ density = 0 mouse_opacity = 0 pass_flags = PASSTABLE | PASSGLASS | PASSGRILLE - flags = TABLEPASS var/wavelength // the (vaccuum) wavelength of the beam var/width = 1 // 1=thin, 2=medium, 3=wide diff --git a/code/unused/optics/laser-pointer.dm b/code/unused/optics/laser-pointer.dm index 378ba7b780..f25e5f3bb1 100644 --- a/code/unused/optics/laser-pointer.dm +++ b/code/unused/optics/laser-pointer.dm @@ -21,7 +21,7 @@ var/obj/effect/beam/laser/beam // the created beam - flags = FPRINT | CONDUCT | TABLEPASS + flags = CONDUCT attack_ai() return diff --git a/code/unused/optics/mirror.dm b/code/unused/optics/mirror.dm index ca7b7be860..6570874b1f 100644 --- a/code/unused/optics/mirror.dm +++ b/code/unused/optics/mirror.dm @@ -21,7 +21,6 @@ icon_state = "mirrorA" set_dir(1) desc = "A large, optical-grade mirror firmly mounted on a stand." - flags = FPRINT anchored = 0 var/rotatable = 0 // true if mirror can be rotated var/angle = 0 // normal of mirror, 0-15. 0=N, 1=NNE, 2=NE, 3=ENE, 4=E etc diff --git a/code/unused/pda2/pda2.dm b/code/unused/pda2/pda2.dm index fb3001c9a0..7f451c0d39 100644 --- a/code/unused/pda2/pda2.dm +++ b/code/unused/pda2/pda2.dm @@ -34,7 +34,6 @@ icon_state = "pda" item_state = "electronic" w_class = 2.0 - flags = FPRINT | TABLEPASS slow_flags = SLOT_BELT var/owner = null diff --git a/code/unused/powerarmor/powerarmor.dm b/code/unused/powerarmor/powerarmor.dm index 1e23e4e98b..36b066ffe9 100644 --- a/code/unused/powerarmor/powerarmor.dm +++ b/code/unused/powerarmor/powerarmor.dm @@ -6,7 +6,6 @@ w_class = 4//bulky item protective_temperature = 1000 - flags = FPRINT | TABLEPASS body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS armor = list(melee = 40, bullet = 30, laser = 20,energy = 15, bomb = 25, bio = 10, rad = 10) allowed = list(/obj/item/device/flashlight,/obj/item/weapon/gun,/obj/item/weapon/handcuffs,/obj/item/weapon/tank/emergency_oxygen) @@ -196,7 +195,7 @@ name = "Powered armor" icon_state = "swat" desc = "Not for rookies." - flags = FPRINT | TABLEPASS | HEADCOVERSEYES | HEADCOVERSMOUTH + flags = HEADCOVERSEYES | HEADCOVERSMOUTH see_face = 0.0 item_state = "swat" armor = list(melee = 40, bullet = 30, laser = 20,energy = 15, bomb = 25, bio = 10, rad = 10) @@ -235,7 +234,6 @@ name = "Powered armor" icon_state = "swat" desc = "Not for rookies." - flags = FPRINT | TABLEPASS item_state = "swat" armor = list(melee = 40, bullet = 30, laser = 20,energy = 15, bomb = 25, bio = 10, rad = 10) @@ -243,7 +241,6 @@ name = "Powered armor" icon_state = "swat" desc = "Not for rookies." - flags = FPRINT | TABLEPASS item_state = "swat" armor = list(melee = 40, bullet = 30, laser = 20,energy = 15, bomb = 25, bio = 10, rad = 10) diff --git a/code/unused/scrap.dm b/code/unused/scrap.dm index bd3dad3dba..271f8b131d 100644 --- a/code/unused/scrap.dm +++ b/code/unused/scrap.dm @@ -21,7 +21,7 @@ throw_speed = 1 throw_range = 4 w_class = 1 - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT #define MAX_SCRAP 15000 // maximum content amount of a scrap pile diff --git a/code/unused/vehicle.dm b/code/unused/vehicle.dm index f289f80f5e..f8a04640dc 100644 --- a/code/unused/vehicle.dm +++ b/code/unused/vehicle.dm @@ -3,7 +3,6 @@ icon = 'escapepod.dmi' icon_state = "podfire" density = 1 - flags = FPRINT anchored = 1.0 var/speed = 10.0 var/maximum_speed = 10.0 From d70a3dcdc01850ee13ea0eb8754e163aa6bb0695 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Sat, 24 Jan 2015 17:48:36 +0100 Subject: [PATCH 091/133] Downgrades AIs sight to that of borgs. --- code/modules/mob/living/silicon/ai/life.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/silicon/ai/life.dm b/code/modules/mob/living/silicon/ai/life.dm index cf11f2d211..7686cd4344 100644 --- a/code/modules/mob/living/silicon/ai/life.dm +++ b/code/modules/mob/living/silicon/ai/life.dm @@ -59,7 +59,7 @@ src.sight |= SEE_MOBS src.sight |= SEE_OBJS src.see_in_dark = 8 - src.see_invisible = SEE_INVISIBLE_LEVEL_TWO + src.see_invisible = SEE_INVISIBLE_LIVING //Congratulations! You've found a way for AI's to run without using power! From 7e43812408f001ccd155458ea5be5aca411739a6 Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Sun, 25 Jan 2015 09:34:53 +0000 Subject: [PATCH 092/133] Virology fixes; nerfs viruses significantly (~33% power), but reactivates broken effects that were multiplying their effects by null --- code/modules/virus2/disease2.dm | 5 +++-- code/modules/virus2/effect.dm | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/code/modules/virus2/disease2.dm b/code/modules/virus2/disease2.dm index 4323ce6545..0f16b91b34 100644 --- a/code/modules/virus2/disease2.dm +++ b/code/modules/virus2/disease2.dm @@ -30,7 +30,7 @@ infectionchance = rand(10,20) else infectionchance = rand(60,90) - + antigen |= text2num(pick(ANTIGENS)) antigen |= text2num(pick(ANTIGENS)) spreadtype = prob(70) ? "Airborne" : "Contact" @@ -88,7 +88,8 @@ clicks = 0 //Do nasty effects for(var/datum/disease2/effectholder/e in effects) - e.runeffect(mob,stage) + if(prob(33)) + e.runeffect(mob,stage) //Short airborne spread if(src.spreadtype == "Airborne") diff --git a/code/modules/virus2/effect.dm b/code/modules/virus2/effect.dm index fcf666a985..50d7bcb569 100644 --- a/code/modules/virus2/effect.dm +++ b/code/modules/virus2/effect.dm @@ -9,7 +9,7 @@ /datum/disease2/effectholder/proc/runeffect(var/mob/living/carbon/human/mob,var/stage) if(happensonce > -1 && effect.stage <= stage && prob(chance)) - effect.activate(mob) + effect.activate(mob, multiplier) if(happensonce == 1) happensonce = -1 From ec49c8b305182e92451a7fc3b4c6b1ba24ecd49e Mon Sep 17 00:00:00 2001 From: Ravensdale Date: Sun, 25 Jan 2015 02:03:12 -0800 Subject: [PATCH 093/133] Replaces magic freezers with H/E pipes --- maps/exodus-1.dmm | 52 ++++++++++++++++++++++++++--------------------- 1 file changed, 29 insertions(+), 23 deletions(-) diff --git a/maps/exodus-1.dmm b/maps/exodus-1.dmm index 363ec73433..4beec18014 100644 --- a/maps/exodus-1.dmm +++ b/maps/exodus-1.dmm @@ -3570,7 +3570,9 @@ "bqH" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/beakers,/obj/item/weapon/storage/box/beakers,/obj/item/weapon/reagent_containers/dropper,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) "bqI" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) "bqJ" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) +"bqK" = (/obj/machinery/airlock_sensor/airlock_interior{id_tag = "eng_al_int_snsr"; master_tag = "engine_room_airlock"; pixel_y = 22; req_access_txt = "10"},/obj/machinery/light{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/turf/simulated/floor/plating,/area/engine/engine_room) "bqL" = (/turf/simulated/wall/r_wall,/area/medical/chemistry) +"bqM" = (/obj/machinery/atmospherics/portables_connector,/turf/simulated/floor/plating{icon_state = "platebotc"},/area/engine/engine_room) "bqN" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/medical/reception) "bqO" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/medical/reception) "bqP" = (/turf/simulated/floor{dir = 4; icon_state = "whiteblue_ex"; tag = "icon-whiteblue (EAST)"},/area/medical/reception) @@ -6387,7 +6389,7 @@ "csS" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) "csT" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering Workshop"; req_access_txt = "0"; req_one_access_txt = "11;24"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engine/workshop) "csU" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/turf/simulated/floor,/area/atmos) -"csV" = (/obj/machinery/airlock_sensor/airlock_interior{id_tag = "eng_al_int_snsr"; master_tag = "engine_room_airlock"; pixel_y = 22; req_access_txt = "10"},/obj/machinery/light{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/obj/machinery/atmospherics/binary/pump{dir = 8},/turf/simulated/floor/plating,/area/engine/engine_room) +"csV" = (/obj/machinery/atmospherics/binary/pump,/turf/simulated/floor/plating,/area/engine/engine_room) "csW" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/obj/machinery/meter,/turf/simulated/floor,/area/atmos) "csX" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/turf/simulated/floor,/area/atmos) "csY" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/cyan{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/plating,/area/engine/engine_room) @@ -6450,7 +6452,7 @@ "cud" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 2; external_pressure_bound = 0; external_pressure_bound_default = 0; frequency = 1441; icon_state = "map_vent_in"; id_tag = "n2_out"; initialize_directions = 1; internal_pressure_bound = 4000; internal_pressure_bound_default = 4000; use_power = 1; pressure_checks = 2; pressure_checks_default = 2; pump_direction = 0},/turf/simulated/floor/engine{name = "n2 floor"; nitrogen = 100000; oxygen = 0},/area/atmos) "cue" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/turf/simulated/floor,/area/atmos) "cuf" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/engine/engine_room) -"cug" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan{dir = 8},/turf/simulated/floor/plating,/area/engine/engine_room) +"cug" = (/obj/structure/grille,/obj/structure/grille,/turf/space,/area/space) "cuh" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 9},/turf/simulated/floor,/area/atmos) "cui" = (/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/atmos) "cuj" = (/obj/machinery/door/airlock/hatch{icon_state = "door_locked"; id_tag = "engine_access_hatch"; locked = 1; req_access_txt = "10"},/obj/machinery/atmospherics/pipe/simple/visible/yellow,/turf/simulated/floor/plating,/area/engine/engine_room) @@ -6831,12 +6833,15 @@ "cBu" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/atmos) "cBv" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/visible/green,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/atmos) "cBw" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "incinerator_access_control"; name = "Incinerator airlock control"; pixel_x = -8; pixel_y = 24},/obj/structure/sign/fire{pixel_x = 32; pixel_y = 0},/obj/machinery/atmospherics/binary/pump{dir = 1},/turf/simulated/floor/plating,/area/maintenance/incinerator) +"cBx" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/turf/simulated/floor/plating,/area/engine/engine_room) +"cBy" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/heat_exchanging{tag = "icon-intact (SOUTHWEST)"; icon_state = "intact"; dir = 10},/turf/space,/area/space) "cBz" = (/obj/machinery/atmospherics/pipe/manifold/visible/purple,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/engine/engine_room) "cBA" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/engine/engine_room) "cBB" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/atmos) "cBC" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/obj/machinery/light,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/atmos) "cBD" = (/obj/machinery/portable_atmospherics/canister/air,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/atmos) "cBE" = (/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/atmos) +"cBF" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 4},/turf/space,/area/space) "cBG" = (/obj/machinery/power/terminal{icon_state = "term"; dir = 1},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/atmos) "cBH" = (/obj/machinery/atmospherics/pipe/manifold/visible/yellow,/turf/simulated/floor/plating,/area/engine/engine_room) "cBI" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engine/engine_hallway) @@ -6874,6 +6879,14 @@ "cCo" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/medical/virology) "cCp" = (/obj/structure/grille,/obj/machinery/meter,/obj/machinery/atmospherics/pipe/simple/visible/purple,/turf/simulated/wall/r_wall,/area/atmos) "cCq" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/computer/reconstitutor/animal,/turf/simulated/floor{icon_state = "hydrofloor"},/area/rnd/xenobiology) +"cCr" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/structure/lattice,/turf/space,/area/space) +"cCs" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/turf/simulated/wall/r_wall,/area/engine/engine_room) +"cCt" = (/obj/effect/landmark{name = "carpspawn"},/obj/structure/grille{density = 0; icon_state = "brokengrille"},/turf/space,/area/space) +"cCu" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/heat_exchanging{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/turf/space,/area/space) +"cCv" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 5},/turf/space,/area/space) +"cCw" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/heat_exchanging,/turf/space,/area/space) +"cCx" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 6},/turf/space,/area/space) +"cCy" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/turf/simulated/floor/plating,/area/engine/engine_room) "cCz" = (/turf/simulated/wall/r_wall,/area/engine/drone_fabrication) "cCA" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engine/drone_fabrication) "cCB" = (/turf/simulated/wall/r_wall,/area/engine/engine_hallway) @@ -6887,6 +6900,7 @@ "cCJ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor,/area/engine/engine_hallway) "cCK" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor,/area/engine/engine_hallway) "cCL" = (/obj/structure/sign/securearea,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/wall/r_wall,/area/engine/engine_hallway) +"cCM" = (/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating{dir = 1; icon_state = "warnplatecorner"},/area/engine/engine_room) "cCN" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplatecorner"},/area/maintenance/engi_shuttle) "cCO" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "engineering_dock_airlock"; name = "interior access button"; pixel_x = -30; pixel_y = -25; req_access_txt = "0"; req_one_access_txt = "13;11;24"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/maintenance/engi_shuttle) "cCP" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/portable_atmospherics/canister/air/airlock,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating{dir = 1; icon_state = "warnplatecorner"},/area/maintenance/engi_shuttle) @@ -7032,7 +7046,6 @@ "cFP" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/medical/virology) "cFQ" = (/obj/machinery/vending/coffee,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cFR" = (/obj/machinery/vending/snack,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"cFS" = (/obj/machinery/atmospherics/pipe/cap/visible{color = "#00ffff"; dir = 8},/turf/simulated/floor/plating,/area/engine/engine_room) "cFT" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Aft Port Solar"},/turf/simulated/floor/plating,/area/maintenance/portsolar) "cFU" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor/plating,/area/engine/drone_fabrication) "cFV" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan{tag = "icon-map (EAST)"; icon_state = "map"; dir = 4},/obj/machinery/meter,/turf/simulated/floor,/area/atmos) @@ -7083,7 +7096,6 @@ "cHh" = (/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1443; input_tag = "air_in"; name = "Mixed Air Supply Control"; output_tag = "air_out"; pressure_setting = 2000; sensors = list("air_sensor" = "Tank")},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/light{dir = 1},/turf/simulated/floor{dir = 1; icon_state = "arrival"},/area/atmos) "cHi" = (/obj/machinery/light_switch{pixel_x = 12; pixel_y = 25},/obj/machinery/power/apc/super{dir = 1; name = "north bump"; pixel_y = 24},/obj/structure/cable/cyan{d2 = 8; icon_state = "0-8"},/obj/machinery/power/sensor{name = "Powernet Sensor - Engine Power"; name_tag = "Engine Power"},/turf/simulated/floor/plating,/area/engine/engine_room) "cHj" = (/turf/simulated/floor/plating,/area/engine/engine_room) -"cHk" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{tag = "icon-intact (SOUTHEAST)"; icon_state = "intact"; dir = 6},/turf/simulated/floor/plating,/area/engine/engine_room) "cHl" = (/obj/structure/table,/obj/item/stack/sheet/glass{amount = 50},/obj/item/clothing/head/welding{pixel_x = -5; pixel_y = 3},/obj/item/clothing/glasses/welding,/obj/structure/closet/fireaxecabinet{pixel_y = 32},/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/atmos) "cHn" = (/obj/machinery/power/solar{id = "portsolar"; name = "Port Solar Array"},/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/port) "cHp" = (/obj/machinery/power/solar{id = "portsolar"; name = "Port Solar Array"},/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/port) @@ -7101,7 +7113,6 @@ "cHE" = (/obj/machinery/atmospherics/valve/digital/open{name = "Oxygen Outlet Valve"},/turf/simulated/floor{dir = 5; icon_state = "blue"},/area/atmos) "cHF" = (/obj/machinery/atmospherics/pipe/simple/visible/purple,/turf/simulated/floor{dir = 9; icon_state = "blue"},/area/atmos) "cHH" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_atmos{name = "Atmospherics Monitoring Room"; req_access_txt = "24"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/atmos) -"cHI" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/turf/simulated/floor/plating{icon_state = "platebotc"},/area/engine/engine_room) "cHK" = (/obj/item/stack/rods{amount = 10},/turf/space,/area/space) "cHL" = (/obj/machinery/atmospherics/pipe/manifold4w/visible/purple,/turf/simulated/floor/plating,/area/engine/engine_waste) "cHM" = (/obj/machinery/atmospherics/unary/heat_exchanger{dir = 8},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 9},/area/engine/engine_waste) @@ -7115,8 +7126,6 @@ "cHW" = (/obj/machinery/atmospherics/pipe/manifold/visible/green,/turf/simulated/floor,/area/atmos) "cHX" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor,/area/engine/atmos_monitoring) "cHY" = (/obj/machinery/computer/security/engineering{network = list("Engineering","Power Alarms","Atmosphere Alarms","Fire Alarms","Atmospherics")},/turf/simulated/floor,/area/engine/atmos_monitoring) -"cHZ" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engine/engine_room) -"cIa" = (/obj/machinery/atmospherics/unary/freezer{dir = 8; icon_state = "freezer"; req_access_txt = "56"; set_temperature = 1},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/engine/engine_room) "cIb" = (/obj/structure/lattice,/obj/structure/sign/securearea{desc = "A warning sign which reads 'KEEP CLEAR OF DOCKING AREA'."; name = "KEEP CLEAR: DOCKING AREA"; pixel_x = -32; pixel_y = 0},/turf/space,/area/space) "cIc" = (/obj/item/stack/cable_coil,/turf/space,/area/space) "cIe" = (/obj/machinery/atmospherics/unary/heat_exchanger{dir = 8},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 10},/area/engine/engine_waste) @@ -7131,7 +7140,6 @@ "cIn" = (/obj/machinery/atmospherics/pipe/simple/visible/green,/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/turf/simulated/floor,/area/atmos) "cIo" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/turf/simulated/floor/plating,/area/engine/engine_room) "cIp" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan,/obj/machinery/meter,/turf/simulated/floor,/area/atmos) -"cIq" = (/obj/machinery/atmospherics/unary/freezer{dir = 8; icon_state = "freezer"; req_access_txt = "56"; set_temperature = 1},/turf/simulated/floor/plating,/area/engine/engine_room) "cIr" = (/turf/simulated/wall/r_wall,/area/engine/engine_waste) "cIs" = (/obj/machinery/light/small,/turf/simulated/floor/plating,/area/engine/engine_waste) "cIt" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor/plating,/area/engine/engine_waste) @@ -7151,7 +7159,6 @@ "cIN" = (/obj/machinery/camera{c_tag = "Engineering Core West"; dir = 8; network = list("SS13","Supermatter")},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engine/engine_room) "cIQ" = (/obj/machinery/door/airlock/hatch{icon_state = "door_locked"; id_tag = "engine_access_hatch"; locked = 1; req_access_txt = "10"},/obj/machinery/atmospherics/pipe/simple/visible/cyan,/turf/simulated/floor/plating,/area/engine/engine_room) "cIR" = (/obj/machinery/camera{c_tag = "Engineering Core East"; dir = 4; network = list("SS13","Supermatter")},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/engine/engine_room) -"cIS" = (/turf/simulated/floor/plating{dir = 8; icon_state = "warnplatecorner"},/area/engine/engine_room) "cIU" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/maintenance/portsolar) "cIV" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating/airless,/area/maintenance/portsolar) "cIW" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless,/area/maintenance/portsolar) @@ -7217,7 +7224,6 @@ "cKB" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/visible/purple,/turf/space,/area/space) "cKU" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 10},/area/engine/engine_room) "cKV" = (/obj/machinery/door_control{desc = "A remote control-switch for the engine control room blast doors."; id = "EngineBlast"; name = "Engine Room Blast Doors"; pixel_x = 5; pixel_y = -25; req_access_txt = "10"},/obj/machinery/door_control{desc = "A remote control-switch for the engine charging port."; id = "EngineEmitterPort"; name = "Engine Charging Port"; pixel_x = -5; pixel_y = -25; req_access_txt = "10"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/engine/engine_room) -"cKX" = (/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/visible/cyan{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/turf/simulated/floor/plating{dir = 1; icon_state = "warnplatecorner"},/area/engine/engine_room) "cKY" = (/obj/machinery/light,/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/engine/engine_room) "cKZ" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/engine/engine_room) "cLa" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/engine/engine_waste) @@ -7410,19 +7416,19 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaaaaafaafaaaaamaaaaaaaaaaafcgRcgCcDkcgBcgRcjbcDncjacgRciWcDqchqcgRaafcgRchpcDtchocgRaaaaafaaacEicFrcEkcEQcEQcqZcqXcFucFvcFwcFxcFycFzcFAcFBcFCcFDcFEcFFcFGcFHcFIcDKaafaaacFJcDNcFKcAOcFLaaabNUcFMbPxcFNcFOaafaafaafaaacBkaafaafaaaaaaaaaaaaaaaaaaaaaaaacrHcqvcqvcFPcFQcEIcEIcEIcFRcFPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqpbqpbqpaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaafcfTaafcrPaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaamaaaaaaaafaafcgRcEbcEccEbcgRcEdcEecEdcgRcEfcEgcEfcgRaaacgRcEfcEfcEhcgRaaaaafaaacEicFUcEkcEScEQcEncrVcEocDDcFWcFXcFYcEscFZcGacGbcGacGccEscGdcGecGfcDKaaLcGgcGgcGgcGgcGgcGgcGgbNUciEciDcGjaafaaaaaaaafcGkcDfaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacGlcEJcEJcEJcEJcEJcGlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaaaaafaaacrPaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaafaamaaaaafaafaaacgRcEbcENcEbcgRcEdcEOcEdcgRcEfcEPcEfcgRaafcgRcEfcEfcEfcgRaafaafaafcGncGocGpcGqcGrcGscsacEocDDcoycGvcGwcEscGxcpwcoJcpxcGBcEscGCcGDcGEcDKaaacGgcGgcGgcGgcGgcGgcGgcGFcGGcGHbNUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacqvcCmcqxcqxcqxcCocqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPcrPcrPcrPcrPaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbZSaaaaaacgRcgRcgRcgRcgRcgRcgRcgRcgRcgRcgRcgRcgRaaacFqcgRcgRcgRcgRaaaaaaaaaaaacCzcCzcCzcCzcCzcsccGJcGJcGJcGJcGKcGJcjIcjdcjecjdcjccGJcGJcGPcGJcGJcGJcGgcGgcGgcGgcGgcGgcGgaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaacyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafcrPaaaaaaaafaafaaaaafaafaaaaaaaafaafaafaaaaaaaaaaaaaaaaaaaafaaacGQcGRcGRcGRcGScGTcGUcsecsfcsgcshcGZcpzcpycpCcpAcqIcHfcsZcsYctacHgcHicHjcHkcsVcHIcGJcGgcGgcGgcGgcGgcGgcGgaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafcHncjVcHpaaacHncjVcHpaaacHncjVcHpaafaafaaaaafaafaafaafaafcHqcGRcGRcGRcGScGTcHLctfcHtctecjTcjUctkcjJcucctZcHzcIwcHjctccHjcHjcHjcHjcugcHZcIacGJcGgcGgcGgcGgcGgcGgcGgaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaacHncjWcHpaaacHncjWcHpaaacHncjWcHpaafaafaaaaafaaaaaacHKaafcGQcGRcGRcGRcGScGTcHLcHMcHNcjXcjYcjUcwpcwocwqcufcHjcHjcxocwucyAcHjcHjcHjcugcHZcIqcGJcIbaafaaIaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafcHncjWcHpaaacHncjWcHpaafcHncjWcHpaafaaaaaaaafaafcIcaaaaafcHqcGRcGRcGRcGScGTcwmcIecIfcrQckickrcBzckecBHcBAcnycnycpDcImcEMcIocIocIocpBcHZcFScGJaaaaaaaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaacHncjWcHpaafcHncjWcHpaaacHncjWcHpaaaaaaaaaaaaaafaafaaaaafaaaaaaaaaaaaaafcIrcGVcIscItcIucLacGZcIwcHjcFscETcKYcLbcvocIycKUcKVcKYcKZcKXcHZcFScGJaaaaaaaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaamaaIaafaaacHncjWcHpaafcHncjWcHpaaacHncjWcHpaafaaaaaaaaaaaaaafaafcIJcIKcIKcIKcIKcILcILcILcILcILcIMcILcGJcHjcHjcINcGJcGJcGJcujczDcIQcGJcGJcGJcIRcIScHzcGJaafaaabZSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaafaaaaafaafczCaafaafaafczCaafaaaaafczCaafaaaaaaaaaaaaaaacIUcIVcIWcIXcIYcFTcJacJbcJcciFcJecJfcJgcJecGJcJhcHjcJicxscJkcJlczzcJnczjcJlcJpcxscJqcHjcJrcGJaaaaaaaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafcydcxzcxycxxcxxcxxcxxcxxcxxcxxcxxcxxcxxcxxczicxzcxzcxzcypcJzcJAcJBcJCcJDcJEcJFcJGcJHcJHcJHcJIcJJcJKcGJcHjcHjcJicxscJkcJLcJMcJNcJOcJLcJpcxscJqcHjcJPcGJaaaaaaaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYaaactYctYctYctYctYaaactYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaafaaaaafaafcxfaafaaaaafcxfaafaaaaafcxfaafaaaaaaaaaaaaaaacIUcIVcJRcJScJTcJUcIKcJVcJWcJecJecJXcJXcJYcGJcHjcHjcJZcxscJkcKacJMcKbcKccKacJpcxscKdcHjcHjcGJaaaaaaaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYaaactYctYctYctYctYaaactYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaamaaIaafaafcHncwrcHpaaacHncwrcHpaaacHncwrcHpaafaaaaaaaaaaaaaafaafcKfcIKcIKcIKcIKcKgcKhcKicKicKjcKgcKgcGJcGJcGZcGJcGJcGJcGJcGJcwDcGJcGJcGJcGJcGJcGZcGJcGJaafaafaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacHncwrcHpaafcHncwrcHpaaacHncwrcHpaaaaaaaaaaafaaaaafaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaafaaaaaaaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafcHncwrcHpaaacHncwrcHpaaacHncwrcHpaafaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaLaaaaafaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbZSaaaaaacgRcgRcgRcgRcgRcgRcgRcgRcgRcgRcgRcgRcgRaaacFqcgRcgRcgRcgRaaaaaaaaaaaacCzcCzcCzcCzcCzcsccGJcGJcGJcGJcGKcGJcjIcjdcjecjdcjccGJcGJcGPcGJcGJcGJcGgcGgcGgcGgcGgcGgcGgaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaacyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafcrPaaaaaaaafaafaaaaafaafaaaaaaaafaafaafaaaaaaaaaaaaaaaaaaaafaaacGQcGRcGRcGRcGScGTcGUcsecsfcsgcshcGZcpzcpycpCcpAcqIcHfcsZcsYctacHgcHicHjcHjbqKbqMcGJcGgcGgcGgcGgcGgcGgcGgaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafcHncjVcHpaaacHncjVcHpaaacHncjVcHpaafaafaaaaafaafaafaafaafcHqcGRcGRcGRcGScGTcHLctfcHtctecjTcjUctkcjJcucctZcHzcIwcHjctccHjcHjcHjcHjcHjcHjcsVcGJcGgcGgcGgcGgcGgcGgcGgaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaacHncjWcHpaaacHncjWcHpaaacHncjWcHpaafaafaaaaafaaaaaacHKaafcGQcGRcGRcGRcGScGTcHLcHMcHNcjXcjYcjUcwpcwocwqcufcHjcHjcxocwucyAcHjcHjcHjcHjcHjcBxcGJcIbaafaaIaafaafaafaafaafaafaafaafaafcugaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafcHncjWcHpaaacHncjWcHpaafcHncjWcHpaafaaaaaaaafaafcIcaaaaafcHqcGRcGRcGRcGScGTcwmcIecIfcrQckickrcBzckecBHcBAcnycnycpDcImcEMcIocIocIocIocIocpBcCscCrcBFcBFcBFcBFcBFcBFcBFcBFcBFcByaaacugaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaacHncjWcHpaafcHncjWcHpaaacHncjWcHpaaaaaaaaaaaaaafaafaaaaafaaaaaaaaaaaaaafcIrcGVcIscItcIucLacGZcIwcHjcFscETcKYcLbcvocIycKUcKVcKYcKZcCMcHjcCycCscCrcBycCxcBycCxcBycCxcBycCxcBycCwaafcugaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaamaaIaafaaacHncjWcHpaafcHncjWcHpaaacHncjWcHpaafaaaaaaaaaaaaaafaafcIJcIKcIKcIKcIKcILcILcILcILcILcIMcILcGJcHjcHjcINcGJcGJcGJcujczDcIQcGJcGJcGJcIRcHjcHjcGJaaacCwcCwcCwcCwcCwcCwcCwcCwcCwcCwaafcugaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaafaaaaafaafczCaafaafaafczCaafaaaaafczCaafaaaaaaaaaaaaaaacIUcIVcIWcIXcIYcFTcJacJbcJcciFcJecJfcJgcJecGJcJhcHjcJicxscJkcJlczzcJnczjcJlcJpcxscJqcHjcJrcGJaaacCwcCwcCwcCwcCwcCwcCwcCwcCwcCwaaaaanaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafcydcxzcxycxxcxxcxxcxxcxxcxxcxxcxxcxxcxxcxxczicxzcxzcxzcypcJzcJAcJBcJCcJDcJEcJFcJGcJHcJHcJHcJIcJJcJKcGJcHjcHjcJicxscJkcJLcJMcJNcJOcJLcJpcxscJqcHjcJPcGJaaacCwcCwcCwcCwcCwcCwcCwcCwcCwcCwaafcugaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYaaactYctYctYctYctYaaactYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaafaaaaafaafcxfaafaaaaafcxfaafaaaaafcxfaafaaaaaaaaaaaaaaacIUcIVcJRcJScJTcJUcIKcJVcJWcJecJecJXcJXcJYcGJcHjcHjcJZcxscJkcKacJMcKbcKccKacJpcxscKdcHjcHjcGJaaacCwcCwcCwcCwcCwcCwcCwcCwcCwcCwaafaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYaaactYctYctYctYctYaaactYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaamaaIaafaafcHncwrcHpaaacHncwrcHpaaacHncwrcHpaafaaaaaaaaaaaaaafaafcKfcIKcIKcIKcIKcKgcKhcKicKicKjcKgcKgcGJcGJcGZcGJcGJcGJcGJcGJcwDcGJcGJcGJcGJcGJcGZcGJcGJaafcCvcCucCvcCucCvcCucCvcCucCvcCuaaaaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacHncwrcHpaafcHncwrcHpaaacHncwrcHpaaaaaaaaaaafaaaaafaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaafaaaaafaafaaaaaaaafaafaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafcHncwrcHpaaacHncwrcHpaaacHncwrcHpaafaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaLaaaaafaaaaaacugcugcugcCtcugcugaancugcugaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafcHncwrcHpaaacHncwrcHpaafcHncwrcHpaafaafaafaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaaIaaIbZSbZSaaIaaIaaaaaaaaaaaIaaIaaIaaIaaIaaIaaIaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaafcHncwncHpaaacHncwncHpaaacHncwncHpaafaaIaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaaaaafaaaaaaaaaaafaafaafaaaaaaaafaafaaaaaIaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKncKncKncKncKncKncKnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa From 89652ae5e3b1c8b6a4387d388c1f781198feaad1 Mon Sep 17 00:00:00 2001 From: ccomp5950 Date: Sun, 25 Jan 2015 06:22:30 -0500 Subject: [PATCH 094/133] JSON caching for nanoui You get to cache data, make the best of it. NanoUI for PDA now won't shove the manifest through list2json every tick, it will cache the json for manifest and shove it into the cache_data so list2json tacks it onto the end. --- code/defines/obj.dm | 8 +++--- code/game/objects/items/devices/PDA/PDA.dm | 9 ++++++- code/modules/nano/JSON Writer.dm | 6 +++-- code/modules/nano/_JSON.dm | 4 +-- code/modules/nano/nanoui.dm | 19 ++++++++++++-- nano/templates/pda.tmpl | 30 +++++++++++----------- 6 files changed, 51 insertions(+), 25 deletions(-) diff --git a/code/defines/obj.dm b/code/defines/obj.dm index 0c971df260..a65db71d76 100644 --- a/code/defines/obj.dm +++ b/code/defines/obj.dm @@ -173,10 +173,11 @@ using /obj/effect/datacore/proc/manifest_inject( ), or manifest_insert( ) */ var/global/list/PDA_Manifest = list() +var/global/ManifestJSON -/obj/effect/datacore/proc/get_manifest_json() +/obj/effect/datacore/proc/get_manifest_json(var/client/c = null) if(PDA_Manifest.len) - return PDA_Manifest + return var/heads[0] var/sec[0] var/eng[0] @@ -247,7 +248,8 @@ var/global/list/PDA_Manifest = list() "bot" = bot,\ "misc" = misc\ ) - return PDA_Manifest + ManifestJSON = list2json(PDA_Manifest) + return diff --git a/code/game/objects/items/devices/PDA/PDA.dm b/code/game/objects/items/devices/PDA/PDA.dm index b24bf75ec1..a7b69c4a17 100755 --- a/code/game/objects/items/devices/PDA/PDA.dm +++ b/code/game/objects/items/devices/PDA/PDA.dm @@ -464,7 +464,7 @@ var/global/list/obj/item/device/pda/PDAs = list() data["convo_job"] = sanitize(c["job"]) break if(mode==41) - data["manifest"] = data_core.get_manifest_json() + data_core.get_manifest_json(user.client) if(mode==3) @@ -535,12 +535,19 @@ var/global/list/obj/item/device/pda/PDAs = list() nanoUI = data // update the ui if it exists, returns null if no ui is passed/found + if(ui) + ui.load_cached_data(ManifestJSON) + ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) + if (!ui) // the ui does not exist, so we'll create a new() one // for a list of parameters and their descriptions see the code docs in \code\modules\nano\nanoui.dm ui = new(user, src, ui_key, "pda.tmpl", title, 520, 400) // when the ui is first opened this is the data it will use + + ui.load_cached_data(ManifestJSON) + ui.set_initial_data(data) // open the new ui window ui.open() diff --git a/code/modules/nano/JSON Writer.dm b/code/modules/nano/JSON Writer.dm index 3cd3520f17..65b9d99eb0 100644 --- a/code/modules/nano/JSON Writer.dm +++ b/code/modules/nano/JSON Writer.dm @@ -1,7 +1,7 @@ json_writer proc - WriteObject(list/L) + WriteObject(list/L, cached_data = null) . = "{" var/i = 1 for(var/k in L) @@ -9,7 +9,9 @@ json_writer . += {"\"[k]\":[write(val)]"} if(i++ < L.len) . += "," - .+= "}" + if(cached_data) + . = copytext(., 1, lentext(.)) + ",\"cached\":[cached_data]}" + . += "}" write(val) if(isnum(val)) diff --git a/code/modules/nano/_JSON.dm b/code/modules/nano/_JSON.dm index 5692e643ba..4f70e6e664 100644 --- a/code/modules/nano/_JSON.dm +++ b/code/modules/nano/_JSON.dm @@ -7,6 +7,6 @@ proc var/static/json_reader/_jsonr = new() return _jsonr.ReadObject(_jsonr.ScanJson(json)) - list2json(list/L) + list2json(list/L, var/cached_data = null) var/static/json_writer/_jsonw = new() - return _jsonw.WriteObject(L) + return _jsonw.WriteObject(L, cached_data) diff --git a/code/modules/nano/nanoui.dm b/code/modules/nano/nanoui.dm index 91e97c0cb5..bdfeffe58e 100644 --- a/code/modules/nano/nanoui.dm +++ b/code/modules/nano/nanoui.dm @@ -57,6 +57,8 @@ nanoui is used to open and update nano browser uis // the current status/visibility of the ui var/status = STATUS_INTERACTIVE + var/cached_data = null + // Only allow users with a certain user.stat to get updates. Defaults to 0 (concious) var/allowed_user_stat = 0 // -1 = ignore, 0 = alive, 1 = unconcious or alive, 2 = dead concious or alive @@ -366,7 +368,7 @@ nanoui is used to open and update nano browser uis template_data_json = list2json(templates) var/list/send_data = get_send_data(initial_data) - var/initial_data_json = list2json(send_data) + var/initial_data_json = list2json(send_data, cached_data) var/url_parameters_json = list2json(list("src" = "\ref[src]")) @@ -442,6 +444,19 @@ nanoui is used to open and update nano browser uis winset(user, window_id, "on-close=\"nanoclose [params]\"") +/** + * Appends already processed json txt to the list2json proc when setting initial-data and data pushes + * Used for data that is fucking huge like manifests and camera lists that doesn't change often. + * And we only want to process them when they change. + * Fuck javascript + * + * @return nothing + */ +/datum/nanoui/proc/load_cached_data(var/data) + cached_data = data + return + + /** * Push data to an already open UI window * @@ -455,7 +470,7 @@ nanoui is used to open and update nano browser uis var/list/send_data = get_send_data(data) //user << list2json(data) // used for debugging - user << output(list2params(list(list2json(send_data))),"[window_id].browser:receiveUpdateData") + user << output(list2params(list(list2json(send_data,cached_data))),"[window_id].browser:receiveUpdateData") /** * This Topic() proc is called whenever a user clicks on a link within a Nano UI diff --git a/nano/templates/pda.tmpl b/nano/templates/pda.tmpl index 81a75a2500..38cc5ef945 100644 --- a/nano/templates/pda.tmpl +++ b/nano/templates/pda.tmpl @@ -294,12 +294,12 @@ Used In File(s): \code\game\objects\items\devices\PDA\PDA.dm {{:helper.link('Reply', 'comment', {'choice' : "Message", 'target': data.active_conversation}, null, 'fixedLeft')}} - {{else data.mode== 41}} + {{else data.mode== 41}}
- {{if data.manifest.heads.length}} + {{if data.cached.heads.length}} - {{for data.manifest["heads"]}} + {{for data.cached["heads"]}} {{if value.rank == "Captain"}} {{else}} @@ -307,9 +307,9 @@ Used In File(s): \code\game\objects\items\devices\PDA\PDA.dm {{/if}} {{/for}} {{/if}} - {{if data.manifest.sec.length}} + {{if data.cached.sec.length}} - {{for data.manifest["sec"]}} + {{for data.cached["sec"]}} {{if value.rank == "Head of Security"}} {{else}} @@ -317,9 +317,9 @@ Used In File(s): \code\game\objects\items\devices\PDA\PDA.dm {{/if}} {{/for}} {{/if}} - {{if data.manifest.eng.length}} + {{if data.cached.eng.length}} - {{for data.manifest["eng"]}} + {{for data.cached["eng"]}} {{if value.rank == "Chief Engineer"}} {{else}} @@ -327,9 +327,9 @@ Used In File(s): \code\game\objects\items\devices\PDA\PDA.dm {{/if}} {{/for}} {{/if}} - {{if data.manifest.med.length}} + {{if data.cached.med.length}} - {{for data.manifest["med"]}} + {{for data.cached["med"]}} {{if value.rank == "Chief Medical Officer"}} {{else}} @@ -337,9 +337,9 @@ Used In File(s): \code\game\objects\items\devices\PDA\PDA.dm {{/if}} {{/for}} {{/if}} - {{if data.manifest.sci.length}} + {{if data.cached.sci.length}} - {{for data.manifest["sci"]}} + {{for data.cached["sci"]}} {{if value.rank == "Research Director"}} {{else}} @@ -347,9 +347,9 @@ Used In File(s): \code\game\objects\items\devices\PDA\PDA.dm {{/if}} {{/for}} {{/if}} - {{if data.manifest.civ.length}} + {{if data.cached.civ.length}} - {{for data.manifest["civ"]}} + {{for data.cached["civ"]}} {{if value.rank == "Head of Personnel"}} {{else}} @@ -357,9 +357,9 @@ Used In File(s): \code\game\objects\items\devices\PDA\PDA.dm {{/if}} {{/for}} {{/if}} - {{if data.manifest.misc.length}} + {{if data.cached.misc.length}} - {{for data.manifest["misc"]}} + {{for data.cached["misc"]}} {{/for}} {{/if}} From c0469fc9b6134a32189cf551452ac7780e511cf5 Mon Sep 17 00:00:00 2001 From: ccomp5950 Date: Sun, 25 Jan 2015 07:15:58 -0500 Subject: [PATCH 095/133] Security camera console now also caches it' list of cameras. FUCKING HUGE. --- code/game/machinery/camera/camera.dm | 11 ++++- code/game/machinery/computer/camera.dm | 56 +++++++++++++++------- nano/templates/sec_camera.tmpl | 4 +- nano/templates/sec_camera_map_content.tmpl | 4 +- 4 files changed, 52 insertions(+), 23 deletions(-) diff --git a/code/game/machinery/camera/camera.dm b/code/game/machinery/camera/camera.dm index 8fe3387467..d631ca46df 100644 --- a/code/game/machinery/camera/camera.dm +++ b/code/game/machinery/camera/camera.dm @@ -36,6 +36,9 @@ wires = new(src) assembly = new(src) assembly.state = 4 + + invalidateCameraCache() + /* // Use this to look for cameras that have the same c_tag. for(var/obj/machinery/camera/C in cameranet.cameras) var/list/tempnetwork = C.network&src.network @@ -61,6 +64,7 @@ /obj/machinery/camera/emp_act(severity) if(!isEmpProof()) if(prob(100/severity)) + invalidateCameraCache() stat |= EMPED SetLuminosity(0) kick_viewers() @@ -71,7 +75,7 @@ stat &= ~EMPED cancelCameraAlarm() update_icon() - + invalidateCameraCache() ..() /obj/machinery/camera/bullet_act(var/obj/item/projectile/P) @@ -118,7 +122,7 @@ destroy() /obj/machinery/camera/attackby(obj/W as obj, mob/living/user as mob) - + invalidateCameraCache() // DECONSTRUCTION if(isscrewdriver(W)) //user << "You start to [panel_open ? "close" : "open"] the camera's panel." @@ -199,6 +203,7 @@ //legacy support, if choice is != 1 then just kick viewers without changing status kick_viewers() else + invalidateCameraCache() set_status( !src.status ) if (!(src.status)) visible_message("\red [user] has deactivated [src]!") @@ -218,6 +223,7 @@ //Used when someone breaks a camera /obj/machinery/camera/proc/destroy() + invalidateCameraCache() stat |= BROKEN kick_viewers() triggerCameraAlarm() @@ -232,6 +238,7 @@ /obj/machinery/camera/proc/set_status(var/newstatus) if (status != newstatus) status = newstatus + invalidateCameraCache() // now disconnect anyone using the camera //Apparently, this will disconnect anyone even if the camera was re-activated. //I guess that doesn't matter since they couldn't use it anyway? diff --git a/code/game/machinery/computer/camera.dm b/code/game/machinery/computer/camera.dm index 0a7f27d701..7ffd7d1599 100644 --- a/code/game/machinery/computer/camera.dm +++ b/code/game/machinery/computer/camera.dm @@ -1,5 +1,8 @@ //This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:31 +/proc/invalidateCameraCache() + for(var/obj/machinery/computer/security/s in world) + s.camera_cache = null /obj/machinery/computer/security name = "security camera monitor" @@ -10,6 +13,7 @@ var/list/network = list("SS13") var/mapping = 0//For the overview file, interesting bit of code. circuit = /obj/item/weapon/circuitboard/security + var/camera_cache = null attack_ai(var/mob/user as mob) @@ -32,29 +36,46 @@ data["current"] = null - var/list/L = list() - for (var/obj/machinery/camera/C in cameranet.cameras) - if(can_access_camera(C)) - L.Add(C) + if(isnull(camera_cache)) + var/list/L = list() + for (var/obj/machinery/camera/C in cameranet.cameras) + if(can_access_camera(C)) + L.Add(C) + camera_sort(L) - camera_sort(L) + var/cameras[0] + for(var/obj/machinery/camera/C in L) + var/cam[0] + cam["name"] = C.c_tag + cam["deact"] = !C.can_use() + cam["camera"] = "\ref[C]" + cam["x"] = C.x + cam["y"] = C.y + cam["z"] = C.z - var/cameras[0] - for(var/obj/machinery/camera/C in L) - var/cam[0] - cam["name"] = C.c_tag - cam["deact"] = !C.can_use() - cam["camera"] = "\ref[C]" - cam["x"] = C.x - cam["y"] = C.y - cam["z"] = C.z + cameras[++cameras.len] = cam - cameras[++cameras.len] = cam + if(C == current) + data["current"] = cam + + var/list/camera_list = list("cameras" = cameras) + camera_cache=list2json(camera_list) + + else + if(current) + var/cam[0] + cam["name"] = current.c_tag + cam["deact"] = !current.can_use() + cam["camera"] = "\ref[current]" + cam["x"] = current.x + cam["y"] = current.y + cam["z"] = current.z - if(C == current) data["current"] = cam + - data["cameras"] = cameras + if(ui) + ui.load_cached_data(camera_cache) ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) @@ -65,6 +86,7 @@ // adding a template with the key "mapHeader" replaces the map header content ui.add_template("mapHeader", "sec_camera_map_header.tmpl") + ui.load_cached_data(camera_cache) ui.set_initial_data(data) ui.open() ui.set_auto_update(1) diff --git a/nano/templates/sec_camera.tmpl b/nano/templates/sec_camera.tmpl index ea18fb2047..886cb0f87c 100644 --- a/nano/templates/sec_camera.tmpl +++ b/nano/templates/sec_camera.tmpl @@ -12,7 +12,7 @@ Used In File(s): \code\game\machinery\computer\camera.dm
None
{{/if}} -{{for data.cameras}} +{{for data.cached.cameras}} {{if data.current && value.name == data.current.name}} {{:helper.link(value.name, '', {'switchTo' : value.camera}, 'selected')}} {{else value.deact}} @@ -20,4 +20,4 @@ Used In File(s): \code\game\machinery\computer\camera.dm {{else}} {{:helper.link(value.name, '', {'switchTo' : value.camera})}} {{/if}} -{{/for}} \ No newline at end of file +{{/for}} diff --git a/nano/templates/sec_camera_map_content.tmpl b/nano/templates/sec_camera_map_content.tmpl index 52dc8aeadd..55d9e05d4d 100644 --- a/nano/templates/sec_camera_map_content.tmpl +++ b/nano/templates/sec_camera_map_content.tmpl @@ -2,7 +2,7 @@ Title: Security Camera Console (Map content) Used In File(s): \code\game\machinery\computer\camera.dm --> -{{for data.cameras}} +{{for data.cached.cameras}} {{if value.z == 1}}
{{if data.current && value.name == data.current.name}} @@ -17,4 +17,4 @@ Used In File(s): \code\game\machinery\computer\camera.dm
{{/if}} -{{/for}} \ No newline at end of file +{{/for}} From 44a9a722d020ec266ae2955405204f20c6dff04f Mon Sep 17 00:00:00 2001 From: ccomp5950 Date: Sun, 25 Jan 2015 07:21:14 -0500 Subject: [PATCH 096/133] Removed unused code that was intended for a different implenetation. --- code/defines/obj.dm | 2 +- code/game/objects/items/devices/PDA/PDA.dm | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/code/defines/obj.dm b/code/defines/obj.dm index a65db71d76..390add6394 100644 --- a/code/defines/obj.dm +++ b/code/defines/obj.dm @@ -175,7 +175,7 @@ using /obj/effect/datacore/proc/manifest_inject( ), or manifest_insert( ) var/global/list/PDA_Manifest = list() var/global/ManifestJSON -/obj/effect/datacore/proc/get_manifest_json(var/client/c = null) +/obj/effect/datacore/proc/get_manifest_json() if(PDA_Manifest.len) return var/heads[0] diff --git a/code/game/objects/items/devices/PDA/PDA.dm b/code/game/objects/items/devices/PDA/PDA.dm index a7b69c4a17..be428f4fd0 100755 --- a/code/game/objects/items/devices/PDA/PDA.dm +++ b/code/game/objects/items/devices/PDA/PDA.dm @@ -464,7 +464,7 @@ var/global/list/obj/item/device/pda/PDAs = list() data["convo_job"] = sanitize(c["job"]) break if(mode==41) - data_core.get_manifest_json(user.client) + data_core.get_manifest_json() if(mode==3) @@ -537,12 +537,12 @@ var/global/list/obj/item/device/pda/PDAs = list() // update the ui if it exists, returns null if no ui is passed/found if(ui) ui.load_cached_data(ManifestJSON) - + ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) // the ui does not exist, so we'll create a new() one - // for a list of parameters and their descriptions see the code docs in \code\modules\nano\nanoui.dm + // for a list of parameters and their descriptions see the code docs in \code\modules\nano\nanoui.dm ui = new(user, src, ui_key, "pda.tmpl", title, 520, 400) // when the ui is first opened this is the data it will use From 052ed36f7b9df62c3eea3ff57ea1c7a870571e27 Mon Sep 17 00:00:00 2001 From: ccomp5950 Date: Sun, 25 Jan 2015 07:47:55 -0500 Subject: [PATCH 097/133] Sanitized camera names removes the y infront of certain cameras names. --- code/game/machinery/computer/camera.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/machinery/computer/camera.dm b/code/game/machinery/computer/camera.dm index 7ffd7d1599..bf1b1afab9 100644 --- a/code/game/machinery/computer/camera.dm +++ b/code/game/machinery/computer/camera.dm @@ -46,7 +46,7 @@ var/cameras[0] for(var/obj/machinery/camera/C in L) var/cam[0] - cam["name"] = C.c_tag + cam["name"] = sanitize(C.c_tag) cam["deact"] = !C.can_use() cam["camera"] = "\ref[C]" cam["x"] = C.x From f5370f0c5e5c527b4481254b60cc318a4b36511a Mon Sep 17 00:00:00 2001 From: Amunak Date: Sun, 25 Jan 2015 22:31:25 +0100 Subject: [PATCH 098/133] Update stylesheet.dm --- code/stylesheet.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/stylesheet.dm b/code/stylesheet.dm index 937b5a71c3..5bb538a3dc 100644 --- a/code/stylesheet.dm +++ b/code/stylesheet.dm @@ -28,8 +28,8 @@ em {font-style: normal;font-weight: bold;} /* Admin: Private Messages */ .pm .howto {color: #ff0000; font-weight: bold; font-size: 200%;} .pm .in {color: #ff0000;} -.pm .out {color: #B54A4A;} -.pm .other {color: #164664;} +.pm .out {color: #ff0000;} +.pm .other {color: #0000ff;} /* Admin: Channels */ .mod_channel {color: #735638; font-weight: bold;} From 34d44f87320a69a46c1d99ff2ea567ac848a0383 Mon Sep 17 00:00:00 2001 From: Loganbacca Date: Mon, 26 Jan 2015 15:16:27 +1300 Subject: [PATCH 099/133] Tape fixes - Fixed taping paper bundles - Reduced issues with sticking papers around corners - Removed a couple of colons from paper_bundle.dm --- code/game/objects/items/weapons/tape.dm | 13 ++++++++----- code/modules/paperwork/paper_bundle.dm | 7 +++++-- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/code/game/objects/items/weapons/tape.dm b/code/game/objects/items/weapons/tape.dm index 2d82cacaad..477bce6b32 100644 --- a/code/game/objects/items/weapons/tape.dm +++ b/code/game/objects/items/weapons/tape.dm @@ -13,7 +13,7 @@ user.put_in_hands(tape) */ -/obj/item/weapon/tape_roll/proc/stick(var/obj/item/weapon/W, mob/user as mob) +/obj/item/weapon/tape_roll/proc/stick(var/obj/item/weapon/W, mob/user) if(!istype(W, /obj/item/weapon/paper)) return @@ -30,14 +30,14 @@ w_class = 1 layer = 4 anchored = 1 //it's sticky, no you cant move it - + var/obj/item/weapon/stuck = null /obj/item/weapon/ducttape/New() ..() flags |= NOBLUDGEON -/obj/item/weapon/ducttape/examine(mob/user as mob) +/obj/item/weapon/ducttape/examine(mob/user) return stuck.examine(user) /obj/item/weapon/ducttape/proc/attach(var/obj/item/weapon/W) @@ -47,7 +47,7 @@ name = W.name + " (taped)" overlays = W.overlays -/obj/item/weapon/ducttape/attack_self(mob/user as mob) +/obj/item/weapon/ducttape/attack_self(mob/user) if(!stuck) return @@ -60,7 +60,7 @@ overlays = null del(src) -/obj/item/weapon/ducttape/afterattack(var/A, mob/user as mob, flag, params) +/obj/item/weapon/ducttape/afterattack(var/A, mob/user, flag, params) if(!in_range(user, A) || istype(A, /obj/machinery/door) || !stuck) return @@ -70,6 +70,9 @@ var/dir_offset = 0 if(target_turf != source_turf) dir_offset = get_dir(source_turf, target_turf) + if(!(dir_offset in cardinal)) + user << "You cannot reach that from here." // can only place stuck papers in cardinal directions, to + return // reduce papers around corners issue. user.drop_from_inventory(src) forceMove(source_turf) diff --git a/code/modules/paperwork/paper_bundle.dm b/code/modules/paperwork/paper_bundle.dm index 7516d1b622..6cf8e9ba08 100644 --- a/code/modules/paperwork/paper_bundle.dm +++ b/code/modules/paperwork/paper_bundle.dm @@ -35,8 +35,9 @@ user.drop_from_inventory(P) P.loc = src if(istype(user,/mob/living/carbon/human)) - user:update_inv_l_hand() - user:update_inv_r_hand() + var/mob/living/carbon/human/H = user + H.update_inv_l_hand() + H.update_inv_r_hand() else if(istype(W, /obj/item/weapon/photo)) amount++ if(screen == 2) @@ -57,6 +58,8 @@ user << "You add \the [W.name] to [(src.name == "paper bundle") ? "the paper bundle" : src.name]." del(W) else + if(istype(W, /obj/item/weapon/tape_roll)) + return 0 if(istype(W, /obj/item/weapon/pen) || istype(W, /obj/item/toy/crayon)) usr << browse("", "window=[name]") //Closes the dialog P = src[page] From 47157a20be52976c326b6d73e1454ebe8199c96b Mon Sep 17 00:00:00 2001 From: Loganbacca Date: Mon, 26 Jan 2015 17:57:34 +1300 Subject: [PATCH 100/133] Fixed mercenary game mode announcement --- code/game/gamemodes/nuclear/nuclear.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/gamemodes/nuclear/nuclear.dm b/code/game/gamemodes/nuclear/nuclear.dm index 8fd46fc897..c2c6bb9475 100644 --- a/code/game/gamemodes/nuclear/nuclear.dm +++ b/code/game/gamemodes/nuclear/nuclear.dm @@ -11,7 +11,7 @@ var/global/list/turf/synd_spawn = list() /datum/game_mode/nuclear name = "mercenary" - config_tag = "nuclear" + config_tag = "mercenary" required_players = 15 required_players_secret = 25 // 25 players - 5 players to be the nuke ops = 20 players remaining required_enemies = 1 From 9bfa6093a26da1840267a7645740df68d5fe8bae Mon Sep 17 00:00:00 2001 From: mwerezak Date: Sun, 25 Jan 2015 23:59:07 -0500 Subject: [PATCH 101/133] Fixes portable generator balance Adjusts values so that the portable generators aren't so useless. --- code/modules/power/port_gen.dm | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/code/modules/power/port_gen.dm b/code/modules/power/port_gen.dm index 5b188f0bca..2223f2f9f9 100644 --- a/code/modules/power/port_gen.dm +++ b/code/modules/power/port_gen.dm @@ -105,8 +105,11 @@ display round(lastgen) and phorontank amount var/sheet_path = /obj/item/stack/sheet/mineral/phoron var/board_path = "/obj/item/weapon/circuitboard/pacman" var/sheet_left = 0 // How much is left of the sheet - var/time_per_sheet = 40 var/heat = 0 + + //produces up to 80 kW and lasts for 20 minutes with 50 sheets + var/time_per_sheet = 96 + power_gen = 20000 /obj/machinery/power/port_gen/pacman/initialize() ..() @@ -329,9 +332,12 @@ display round(lastgen) and phorontank amount name = "S.U.P.E.R.P.A.C.M.A.N.-type Portable Generator" icon_state = "portgen1" sheet_path = /obj/item/stack/sheet/mineral/uranium - power_gen = 15000 - time_per_sheet = 65 board_path = "/obj/item/weapon/circuitboard/pacman/super" + + //produces 80 kW like the PACMAN but 50 sheets will last for 2 hours + power_gen = 20000 + time_per_sheet = 576 + overheat() explosion(src.loc, 3, 3, 3, -1) @@ -339,8 +345,11 @@ display round(lastgen) and phorontank amount name = "M.R.S.P.A.C.M.A.N.-type Portable Generator" icon_state = "portgen2" sheet_path = /obj/item/stack/sheet/mineral/tritium - power_gen = 40000 - time_per_sheet = 80 board_path = "/obj/item/weapon/circuitboard/pacman/mrs" + + //produces 200 kW and lasts for 1 hour with 50 sheets + power_gen = 50000 + time_per_sheet = 288 + overheat() explosion(src.loc, 4, 4, 4, -1) From 37ceccf5a4603a4c1171cc7cd6d4acd53eaaf28d Mon Sep 17 00:00:00 2001 From: Loganbacca Date: Mon, 26 Jan 2015 18:24:12 +1300 Subject: [PATCH 102/133] Fixed removed items being put inside borgs --- code/modules/mob/living/silicon/robot/inventory.dm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/code/modules/mob/living/silicon/robot/inventory.dm b/code/modules/mob/living/silicon/robot/inventory.dm index 1b132cf27d..794b983f66 100644 --- a/code/modules/mob/living/silicon/robot/inventory.dm +++ b/code/modules/mob/living/silicon/robot/inventory.dm @@ -234,3 +234,7 @@ sight_mode |= module_state_3:sight_mode else src << "You need to disable a module first!" + +/mob/living/silicon/robot/put_in_hands(var/obj/item/W) // No hands. + W.loc = get_turf(src) + return 1 From 8c53e30cfac488f80857338b830570ad27c1d324 Mon Sep 17 00:00:00 2001 From: Loganbacca Date: Mon, 26 Jan 2015 19:53:42 +1300 Subject: [PATCH 103/133] Fixes telekinetic cat stealing --- code/modules/mob/living/simple_animal/friendly/cat.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/simple_animal/friendly/cat.dm b/code/modules/mob/living/simple_animal/friendly/cat.dm index 4678531947..046d27d9ad 100644 --- a/code/modules/mob/living/simple_animal/friendly/cat.dm +++ b/code/modules/mob/living/simple_animal/friendly/cat.dm @@ -65,7 +65,7 @@ /mob/living/simple_animal/cat/MouseDrop(atom/over_object) var/mob/living/carbon/H = over_object - if(!istype(H)) return ..() + if(!istype(H) || !Adjacent(H)) return ..() if(H.a_intent == "help") get_scooped(H) From fbabdce615ff9ec16bd181483243f36a5d0e01c4 Mon Sep 17 00:00:00 2001 From: Loganbacca Date: Tue, 27 Jan 2015 13:42:27 +1300 Subject: [PATCH 104/133] Finished renaming nuclear mode to mercenary Mostly cleans up the admin side of things. --- code/datums/mind.dm | 26 +++++++++++------------ code/game/gamemodes/events/space_ninja.dm | 2 +- code/game/gamemodes/nuclear/nuclear.dm | 2 +- code/modules/admin/admin.dm | 2 +- 4 files changed, 16 insertions(+), 16 deletions(-) diff --git a/code/datums/mind.dm b/code/datums/mind.dm index a92712af50..5ac4ca53dd 100644 --- a/code/datums/mind.dm +++ b/code/datums/mind.dm @@ -119,7 +119,7 @@ datum/mind "cult", "wizard", "changeling", - "nuclear", + "mercenary", "traitor", // "traitorchan", "monkey", "malfunction", @@ -217,23 +217,23 @@ datum/mind sections["changeling"] = text /** NUCLEAR ***/ - text = "nuclear" - if (ticker.mode.config_tag=="nuclear") + text = "mercenary" + if (ticker.mode.config_tag=="mercenary") text = uppertext(text) text = "[text]: " if (src in ticker.mode.syndicates) - text += "OPERATIVE|nanotrasen" - text += "
To shuttle, undress, dress up." + text += "OPERATIVE|nanotrasen" + text += "
To shuttle, undress, dress up." var/code for (var/obj/machinery/nuclearbomb/bombue in machines) if (length(bombue.r_code) <= 5 && bombue.r_code != "LOLNO" && bombue.r_code != "ADMIN") code = bombue.r_code break if (code) - text += " Code is [code]. tell the code." + text += " Code is [code]. tell the code." else - text += "operative|NANOTRASEN" - sections["nuclear"] = text + text += "operative|NANOTRASEN" + sections["mercenary"] = text /** TRAITOR ***/ text = "traitor" @@ -382,7 +382,7 @@ datum/mind if(!def_value)//If it's a custom objective, it will be an empty string. def_value = "custom" - var/new_obj_type = input("Select objective type:", "Objective type", def_value) as null|anything in list("assassinate", "debrain", "protect", "prevent", "harm", "brig", "hijack", "escape", "survive", "steal", "download", "nuclear", "capture", "absorb", "custom") + var/new_obj_type = input("Select objective type:", "Objective type", def_value) as null|anything in list("assassinate", "debrain", "protect", "prevent", "harm", "brig", "hijack", "escape", "survive", "steal", "download", "mercenary", "capture", "absorb", "custom") if (!new_obj_type) return var/datum/objective/new_objective = null @@ -436,7 +436,7 @@ datum/mind new_objective = new /datum/objective/survive new_objective.owner = src - if ("nuclear") + if ("mercenary") new_objective = new /datum/objective/nuclear new_objective.owner = src @@ -748,12 +748,12 @@ datum/mind current.UpdateAppearance() domutcheck(current, null) - else if (href_list["nuclear"]) + else if (href_list["mercenary"]) var/mob/living/carbon/human/H = current current.hud_updateflag |= (1 << SPECIALROLE_HUD) - switch(href_list["nuclear"]) + switch(href_list["mercenary"]) if("clear") if(src in ticker.mode.syndicates) ticker.mode.syndicates -= src @@ -763,7 +763,7 @@ datum/mind objectives-=O current << "\red You have been brainwashed! You are no longer an operative!" log_admin("[key_name_admin(usr)] has de-merc'd [current].") - if("nuclear") + if("mercenary") if(!(src in ticker.mode.syndicates)) ticker.mode.syndicates += src ticker.mode.update_synd_icons_added(src) diff --git a/code/game/gamemodes/events/space_ninja.dm b/code/game/gamemodes/events/space_ninja.dm index c9bce4aca9..195b9ff5b9 100644 --- a/code/game/gamemodes/events/space_ninja.dm +++ b/code/game/gamemodes/events/space_ninja.dm @@ -116,7 +116,7 @@ var/ninja_confirmed_selection = 0 var/commando_list[] = list()//Commandos. //We want the ninja to appear only in certain modes. -// var/acceptable_modes_list[] = list("traitor","revolution","cult","wizard","changeling","traitorchan","nuclear","malfunction","monkey") // Commented out for both testing and ninjas +// var/acceptable_modes_list[] = list("traitor","revolution","cult","wizard","changeling","traitorchan","mercenary","malfunction","monkey") // Commented out for both testing and ninjas // if(!(current_mode.config_tag in acceptable_modes_list)) // return diff --git a/code/game/gamemodes/nuclear/nuclear.dm b/code/game/gamemodes/nuclear/nuclear.dm index c2c6bb9475..b2e54da0d9 100644 --- a/code/game/gamemodes/nuclear/nuclear.dm +++ b/code/game/gamemodes/nuclear/nuclear.dm @@ -175,7 +175,7 @@ var/global/list/turf/synd_spawn = list() var/obj/item/weapon/paper/P = new P.info = "The nuclear authorization code is: [nuke_code]" P.name = "nuclear bomb code" - if (ticker.mode.config_tag=="nuclear") + if (ticker.mode.config_tag=="mercenary") P.loc = code_spawn.loc else var/mob/living/carbon/human/H = synd_mind.current diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index f090d8665d..fdfb9f0e3e 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -949,7 +949,7 @@ var/global/floorIsLava = 0 return 2 return 1 if(M.mind in ticker.mode.syndicates) - if (ticker.mode.config_tag == "nuclear") + if (ticker.mode.config_tag == "mercenary") return 2 return 1 if(M.mind in ticker.mode.wizards) From 7812ad9782760b19b72ff9efa907e567346f00a9 Mon Sep 17 00:00:00 2001 From: Loganbacca Date: Tue, 27 Jan 2015 17:41:21 +1300 Subject: [PATCH 105/133] Updated example config for nuclear/mercenary rename --- config/example/config.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/example/config.txt b/config/example/config.txt index eb9ab2195f..333082d189 100644 --- a/config/example/config.txt +++ b/config/example/config.txt @@ -85,7 +85,7 @@ LOG_PDA ## set to 0 to disable that mode PROBABILITY EXTENDED 1 PROBABILITY MALFUNCTION 1 -PROBABILITY NUCLEAR 1 +PROBABILITY MERCENARY 1 PROBABILITY WIZARD 1 PROBABILITY CHANGELING 1 PROBABILITY CULT 1 From f80f8f3057af5f6966efcdaf124a9fb210ac5095 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Tue, 27 Jan 2015 01:05:10 -0500 Subject: [PATCH 106/133] Returns hoverpod step drain to 10 --- code/game/mecha/working/hoverpod.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/mecha/working/hoverpod.dm b/code/game/mecha/working/hoverpod.dm index 5f775d619b..3d23e1dced 100644 --- a/code/game/mecha/working/hoverpod.dm +++ b/code/game/mecha/working/hoverpod.dm @@ -5,7 +5,7 @@ initial_icon = "engineering_pod" internal_damage_threshold = 80 step_in = 4 - step_energy_drain = 15 + step_energy_drain = 10 max_temperature = 20000 health = 150 infra_luminosity = 6 From ba0dbffbd0d26cca8934c6389b28b1a759025bd9 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Wed, 28 Jan 2015 00:32:21 +0300 Subject: [PATCH 107/133] Fixed fingerprint cards. They didn't perform their sole function - getting fullprint on touch, so now they do. Still respecting gloves, mutations etc. --- code/modules/detectivework/evidence.dm | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/code/modules/detectivework/evidence.dm b/code/modules/detectivework/evidence.dm index b416b250bf..b1ee5c3947 100644 --- a/code/modules/detectivework/evidence.dm +++ b/code/modules/detectivework/evidence.dm @@ -122,6 +122,18 @@ throw_speed = 3 throw_range = 5 +/obj/item/weapon/f_card/add_fingerprint(mob/living/M as mob, ignoregloves = 0) + if(..()) + var/mob/living/carbon/human/H = M + var/full_print = md5(H.dna.uni_identity) + fingerprints[full_print] = full_print + +/obj/item/weapon/f_card/examine(mob/user) + ..() + if(fingerprints.len) + user << "Fingerprints on this card:" + for(var/print in fingerprints) + user << "\t[fingerprints[print]]" /obj/item/weapon/fcardholder name = "fingerprint card case" From ee7f71ab64cee85b060e23a825d656fccf6158e8 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Wed, 28 Jan 2015 00:36:22 +0300 Subject: [PATCH 108/133] Added update_prints helper It updates forensic data datum with fingerprints and returns 1 if there was a match. --- code/modules/detectivework/forensics.dm | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/code/modules/detectivework/forensics.dm b/code/modules/detectivework/forensics.dm index 2610a5c24a..bca3090c3f 100644 --- a/code/modules/detectivework/forensics.dm +++ b/code/modules/detectivework/forensics.dm @@ -70,4 +70,12 @@ atom/proc/add_fibers(mob/living/carbon/human/M) fields["blood"] = blood fields["area"] = other.fields["area"] - fields["time"] = other.fields["time"] \ No newline at end of file + fields["time"] = other.fields["time"] + +/datum/data/record/forensic/proc/update_prints(var/list/o_prints) + var/list/prints = fields["fprints"] + for(var/print in o_prints) + if(prints[print]) + prints[print] = stringmerge(prints[print], o_prints[print]) + .=1 + fields["fprints"] = prints From 24f4ff2a32f251b04d6fa44ef207b0a24da393cb Mon Sep 17 00:00:00 2001 From: Chinsky Date: Wed, 28 Jan 2015 00:52:35 +0300 Subject: [PATCH 109/133] Fixed partial fingerprints data Now scanning console properly updates the partial fingerprints with new data and fingerprint cards. Also fixed lack of newline in details screen. --- .../modules/detectivework/scanning_console.dm | 20 ++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/code/modules/detectivework/scanning_console.dm b/code/modules/detectivework/scanning_console.dm index 9e32c58390..5ff719548c 100644 --- a/code/modules/detectivework/scanning_console.dm +++ b/code/modules/detectivework/scanning_console.dm @@ -59,17 +59,23 @@ fresh.fields["label"] = old.fields["label"] files[fresh.uid] = fresh + //updating partial prints on other things + var/list/fprints = fresh.fields["fprints"] + if(fprints.len) + for(var/id in files) + var/datum/data/record/forensic/rec = files[id] + if(rec.update_prints(fprints)) + files[id] = rec + /obj/machinery/computer/forensic_scanning/proc/process_card(var/obj/item/weapon/f_card/card) if(card.fingerprints) usr << "\The [src] sucks in \the [card] and whirrs, scanning it." var/found = 0 for(var/id in files) var/datum/data/record/forensic/rec = files[id] - var/list/prints = rec.fields["fprints"] - for(var/master_print in card.fingerprints) - if(prints[master_print]) - prints[master_print] = master_print - found = 1 + found = rec.update_prints(card.fingerprints) + if (found) + files[id] = rec if(found) usr << "Complete match found." else @@ -189,7 +195,7 @@ dat += "
NO RECORD SELECTED" else dat += get_printable_data(current) - dat += "Labels: " + dat += "
Labels: " dat += "[current.fields["label"] ? current.fields["label"] : "None"]
" dat += "Print record
" @@ -302,4 +308,4 @@ ping("Scan complete.") var/datum/data/record/forensic/fresh = new(scanning) add_record(fresh) - updateUsrDialog() \ No newline at end of file + updateUsrDialog() From b159bd389bcf1911e01ccbddebcf0878d4d0ba3f Mon Sep 17 00:00:00 2001 From: Chinsky Date: Wed, 28 Jan 2015 00:53:40 +0300 Subject: [PATCH 110/133] Added forensic scanner wipe verb It clutters up scanner console very much after each update, and selective deletion sounds like too much effort (can do it on console anyway). --- code/modules/detectivework/scanner.dm | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/code/modules/detectivework/scanner.dm b/code/modules/detectivework/scanner.dm index 3916c799c8..9fa5669094 100644 --- a/code/modules/detectivework/scanner.dm +++ b/code/modules/detectivework/scanner.dm @@ -104,4 +104,12 @@ if(old) fresh.merge(old) . = 1 - stored["\ref [A]"] = fresh \ No newline at end of file + stored["\ref [A]"] = fresh + +/obj/item/device/detective_scanner/verb/wipe() + set name = "Wipe Forensic Data" + set category = "Object" + set src in view(1) + if (alert("Are you sure you want to wipe all data from [src]?",,"Yes","No") == "Yes") + stored = list() + usr << "Forensic data erase complete." From 7adcb95f851c73267092d8bd0e920ec0486b4809 Mon Sep 17 00:00:00 2001 From: rahlzel Date: Tue, 27 Jan 2015 20:29:15 -0500 Subject: [PATCH 111/133] Fixes #7969 I have no idea why this works, but it does. Credit to GinjaNinja32 for this. --- code/world.dm | 2 -- 1 file changed, 2 deletions(-) diff --git a/code/world.dm b/code/world.dm index 9515f33bb6..5edbf7a319 100644 --- a/code/world.dm +++ b/code/world.dm @@ -210,8 +210,6 @@ var/world_topic_spam_protect_time = world.timeofday for(var/client/C in clients) if(config.server) //if you set a server location in config.txt, it sends you there instead of trying to reconnect to the same world address. -- NeoFite C << link("byond://[config.server]") - else - C << link("byond://[world.address]:[world.port]") ..(reason) From bc0f5762bed8ca1beee42515bc44322a1475ae35 Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Wed, 28 Jan 2015 04:33:31 +0000 Subject: [PATCH 112/133] Camera sorting improvements --- .../computer3/computers/camera.dm | 4 ++-- code/__HELPERS/lists.dm | 3 +++ code/game/machinery/camera/tracking.dm | 24 ++----------------- code/game/machinery/computer/camera.dm | 10 +++----- .../living/silicon/ai/freelook/cameranet.dm | 6 +++++ .../silicon/ai/freelook/update_triggers.dm | 8 ++++++- 6 files changed, 23 insertions(+), 32 deletions(-) diff --git a/code/WorkInProgress/computer3/computers/camera.dm b/code/WorkInProgress/computer3/computers/camera.dm index b3a0c7fcfa..cacf665849 100644 --- a/code/WorkInProgress/computer3/computers/camera.dm +++ b/code/WorkInProgress/computer3/computers/camera.dm @@ -141,14 +141,14 @@ if (!computer || computer.z > 6) return null + cameranet.process_sort() + var/list/L = list() for(var/obj/machinery/camera/C in cameranet.cameras) var/list/temp = C.network & key.networks if(temp.len) L.Add(C) - camera_sort(L) - return L verify_machine(var/obj/machinery/camera/C,var/datum/file/camnet_key/key = null) if(!istype(C) || !C.can_use()) diff --git a/code/__HELPERS/lists.dm b/code/__HELPERS/lists.dm index 282224d567..39c1f23d6b 100644 --- a/code/__HELPERS/lists.dm +++ b/code/__HELPERS/lists.dm @@ -581,3 +581,6 @@ datum/proc/dd_SortValue() /obj/machinery/dd_SortValue() return "[sanitize(name)]" + +/obj/machinery/camera/dd_SortValue() + return "[c_tag]" diff --git a/code/game/machinery/camera/tracking.dm b/code/game/machinery/camera/tracking.dm index 4e64b9a660..0cad72b934 100644 --- a/code/game/machinery/camera/tracking.dm +++ b/code/game/machinery/camera/tracking.dm @@ -15,15 +15,11 @@ if(src.stat == 2) return - var/list/L = list() - for (var/obj/machinery/camera/C in cameranet.cameras) - L.Add(C) - - camera_sort(L) + cameranet.process_sort() var/list/T = list() T["Cancel"] = "Cancel" - for (var/obj/machinery/camera/C in L) + for (var/obj/machinery/camera/C in cameranet.cameras) var/list/tempnetwork = C.network&src.network if (tempnetwork.len) T[text("[][]", C.c_tag, (C.can_use() ? null : " (Deactivated)"))] = C @@ -252,19 +248,3 @@ /mob/living/silicon/ai/attack_ai(var/mob/user as mob) ai_camera_list() - -/proc/camera_sort(list/L) - var/obj/machinery/camera/a - var/obj/machinery/camera/b - - for (var/i = L.len, i > 0, i--) - for (var/j = 1 to i - 1) - a = L[j] - b = L[j + 1] - if (a.c_tag_order != b.c_tag_order) - if (a.c_tag_order > b.c_tag_order) - L.Swap(j, j + 1) - else - if (sorttext(a.c_tag, b.c_tag) < 0) - L.Swap(j, j + 1) - return L diff --git a/code/game/machinery/computer/camera.dm b/code/game/machinery/computer/camera.dm index bf1b1afab9..a3e65b3bff 100644 --- a/code/game/machinery/computer/camera.dm +++ b/code/game/machinery/computer/camera.dm @@ -37,14 +37,10 @@ data["current"] = null if(isnull(camera_cache)) - var/list/L = list() - for (var/obj/machinery/camera/C in cameranet.cameras) - if(can_access_camera(C)) - L.Add(C) - camera_sort(L) + cameranet.process_sort() var/cameras[0] - for(var/obj/machinery/camera/C in L) + for(var/obj/machinery/camera/C in cameranet.cameras) var/cam[0] cam["name"] = sanitize(C.c_tag) cam["deact"] = !C.can_use() @@ -72,7 +68,7 @@ cam["z"] = current.z data["current"] = cam - + if(ui) ui.load_cached_data(camera_cache) diff --git a/code/modules/mob/living/silicon/ai/freelook/cameranet.dm b/code/modules/mob/living/silicon/ai/freelook/cameranet.dm index 87dc0ec87e..d94f705320 100644 --- a/code/modules/mob/living/silicon/ai/freelook/cameranet.dm +++ b/code/modules/mob/living/silicon/ai/freelook/cameranet.dm @@ -7,10 +7,16 @@ var/datum/cameranet/cameranet = new() /datum/cameranet // The cameras on the map, no matter if they work or not. Updated in obj/machinery/camera.dm by New() and Del(). var/list/cameras = list() + var/cameras_unsorted = 1 // The chunks of the map, mapping the areas that the cameras can see. var/list/chunks = list() var/ready = 0 +/datum/cameranet/proc/process_sort() + if(cameras_unsorted) + cameras = dd_sortedObjectList(cameras) + cameras_unsorted = 0 + // Checks if a chunk has been Generated in x, y, z. /datum/cameranet/proc/chunkGenerated(x, y, z) x &= ~0xf diff --git a/code/modules/mob/living/silicon/ai/freelook/update_triggers.dm b/code/modules/mob/living/silicon/ai/freelook/update_triggers.dm index 813d4f2471..e6311e7a00 100644 --- a/code/modules/mob/living/silicon/ai/freelook/update_triggers.dm +++ b/code/modules/mob/living/silicon/ai/freelook/update_triggers.dm @@ -92,7 +92,13 @@ /obj/machinery/camera/New() ..() - cameranet.cameras += src //Camera must be added to global list of all cameras no matter what... + //Camera must be added to global list of all cameras no matter what... + if(cameranet.cameras_unsorted || !ticker) + cameranet.cameras += src + cameranet.cameras_unsorted = 1 + else + dd_insertObjectList(cameranet.cameras, src) + var/list/open_networks = difflist(network,restricted_camera_networks) //...but if all of camera's networks are restricted, it only works for specific camera consoles. if(open_networks.len) //If there is at least one open network, chunk is available for AI usage. cameranet.addCamera(src) From 849e96892497a0d80eb1b4b7418ef41ba8a21fc1 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Wed, 28 Jan 2015 12:49:05 -0500 Subject: [PATCH 113/133] ERT adjustment and fixes Removes the mounted laser cannon from the ERT hardsuits and instead provides a single cannon for the team. Moves the sidearms out to the other ert stations to make it more clear that they may be used by other ERT roles. Fixes rechargers now working in Centcom areas. --- code/game/area/Space Station 13 areas.dm | 1 + .../clothing/spacesuits/rig/suits/ert.dm | 2 -- maps/exodus-2.dmm | 26 +++++++++---------- 3 files changed, 14 insertions(+), 15 deletions(-) diff --git a/code/game/area/Space Station 13 areas.dm b/code/game/area/Space Station 13 areas.dm index c793ecb857..8f7a3556ac 100755 --- a/code/game/area/Space Station 13 areas.dm +++ b/code/game/area/Space Station 13 areas.dm @@ -349,6 +349,7 @@ var/list/ghostteleportlocs = list() name = "\improper Centcom" icon_state = "centcom" requires_power = 0 + unlimited_power = 1 /area/centcom/control name = "\improper Centcom Control" diff --git a/code/modules/clothing/spacesuits/rig/suits/ert.dm b/code/modules/clothing/spacesuits/rig/suits/ert.dm index 4935d793cf..6980835c23 100644 --- a/code/modules/clothing/spacesuits/rig/suits/ert.dm +++ b/code/modules/clothing/spacesuits/rig/suits/ert.dm @@ -23,7 +23,6 @@ /obj/item/rig_module/ai_container, /obj/item/rig_module/maneuvering_jets, /obj/item/rig_module/datajack, - /obj/item/rig_module/mounted ) /obj/item/weapon/rig/ert/engineer @@ -62,5 +61,4 @@ /obj/item/rig_module/ai_container, /obj/item/rig_module/maneuvering_jets, /obj/item/rig_module/grenade_launcher, - /obj/item/rig_module/mounted ) \ No newline at end of file diff --git a/maps/exodus-2.dmm b/maps/exodus-2.dmm index 2903dec322..4d07854f74 100644 --- a/maps/exodus-2.dmm +++ b/maps/exodus-2.dmm @@ -748,7 +748,7 @@ "ot" = (/obj/structure/window/reinforced,/obj/structure/lattice,/turf/space,/area/space) "ou" = (/obj/structure/closet/hydrant{pixel_y = 32},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) "ov" = (/obj/structure/table/rack,/obj/item/weapon/pinpointer/nukeop,/obj/item/weapon/pinpointer/nukeop,/obj/item/weapon/pinpointer/nukeop,/obj/item/weapon/pinpointer/nukeop,/obj/item/weapon/pinpointer/nukeop,/obj/item/weapon/pinpointer/nukeop,/obj/item/weapon/shield/energy,/obj/item/weapon/shield/energy,/obj/item/weapon/shield/energy,/obj/item/weapon/shield/energy,/obj/item/weapon/shield/energy,/obj/item/weapon/shield/energy,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"ow" = (/obj/structure/table/rack,/obj/item/weapon/storage/box/handcuffs{pixel_x = 4; pixel_y = 2},/obj/item/weapon/storage/box/flashbangs,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) +"ow" = (/obj/structure/table/rack,/obj/item/weapon/storage/box/handcuffs{pixel_x = 4; pixel_y = 2},/obj/item/weapon/storage/box/flashbangs,/obj/item/weapon/grenade/smokebomb,/obj/item/weapon/grenade/smokebomb,/obj/item/weapon/grenade/smokebomb,/obj/item/weapon/grenade/smokebomb,/obj/item/weapon/grenade/smokebomb,/obj/item/weapon/grenade/smokebomb,/obj/item/weapon/grenade/smokebomb,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) "ox" = (/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) "oy" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) "oz" = (/obj/structure/table/rack,/obj/item/weapon/gun/energy/gun,/obj/item/weapon/gun/energy/gun,/obj/item/weapon/gun/energy/gun,/obj/machinery/recharger/wallcharger{pixel_x = 5; pixel_y = -32},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) @@ -1050,7 +1050,7 @@ "uj" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/tie/storage/black_vest,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) "uk" = (/obj/structure/table/rack,/obj/item/clothing/suit/armor/vest/ert/security,/obj/item/clothing/suit/armor/vest/ert/security,/obj/item/clothing/suit/armor/vest/ert/security,/obj/item/clothing/suit/armor/vest/ert/security,/obj/item/clothing/head/helmet/ert/security,/obj/item/clothing/head/helmet/ert/security,/obj/item/clothing/head/helmet/ert/security,/obj/item/clothing/head/helmet/ert/security,/obj/item/weapon/storage/backpack/ert/security,/obj/item/weapon/storage/backpack/ert/security,/obj/item/weapon/storage/backpack/ert/security,/obj/item/weapon/storage/backpack/ert/security,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) "ul" = (/obj/structure/table/rack,/obj/item/weapon/rig/ert/security,/obj/item/clothing/tie/storage/black_vest,/obj/item/weapon/rig/ert/security,/obj/item/clothing/tie/storage/black_vest,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) -"um" = (/obj/structure/table/rack,/obj/item/weapon/tank/jetpack/oxygen,/obj/item/weapon/tank/jetpack/oxygen,/obj/item/weapon/tank/jetpack/oxygen,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) +"um" = (/obj/structure/table/rack,/obj/item/rig_module/mounted,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) "un" = (/obj/structure/table/reinforced,/obj/item/weapon/circuitboard/aiupload,/obj/item/weapon/circuitboard/borgupload,/obj/item/weapon/circuitboard/smes,/obj/item/weapon/aiModule/nanotrasen,/obj/item/weapon/aiModule/reset,/obj/item/weapon/aiModule/freeformcore,/obj/item/weapon/aiModule/protectStation,/obj/item/weapon/aiModule/quarantine,/obj/item/weapon/aiModule/paladin,/obj/item/weapon/aiModule/robocop,/obj/item/weapon/aiModule/safeguard,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) "uo" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control) "up" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control) @@ -1194,7 +1194,7 @@ "wX" = (/obj/machinery/mass_driver{dir = 8; id = "ASSAULT1"; name = "gravpult"},/turf/unsimulated/floor{icon_state = "bot"},/area/centcom) "wY" = (/turf/unsimulated/floor{icon_state = "loadingarea"; dir = 8},/area/centcom) "wZ" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/tool/drill/diamonddrill,/obj/item/mecha_parts/mecha_equipment/tool/cable_layer,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) -"xa" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/flashbangs,/obj/item/weapon/handcuffs,/obj/item/device/flash,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/storage/belt/security/tactical,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) +"xa" = (/obj/structure/table/rack,/obj/item/weapon/gun/energy/stunrevolver,/obj/item/weapon/gun/energy/stunrevolver,/obj/item/device/flash,/obj/item/device/flash,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) "xb" = (/obj/structure/table/reinforced,/obj/item/weapon/gun/energy/gun/nuclear,/obj/item/weapon/hand_tele,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) "xc" = (/obj/machinery/door/airlock/centcom{name = "Armory Special Operations"; opacity = 1; req_access_txt = "103"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) "xd" = (/obj/machinery/door/airlock/centcom{name = "Engineering Special Operations"; opacity = 1; req_access_txt = "103"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) @@ -1288,13 +1288,13 @@ "yN" = (/obj/structure/stool/bed/chair{dir = 4},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control) "yO" = (/obj/structure/stool/bed/chair{dir = 8},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control) "yP" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor,/area/centcom/control) -"yQ" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,/obj/item/weapon/reagent_containers/hypospray,/obj/item/weapon/reagent_containers/hypospray,/obj/item/weapon/reagent_containers/hypospray,/obj/item/weapon/storage/box/syringes,/obj/item/device/flash,/obj/item/device/flash,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"yQ" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/flashbangs,/obj/item/weapon/handcuffs,/obj/item/device/flash,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/storage/belt/security/tactical,/obj/item/weapon/gun/energy/stunrevolver,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) "yR" = (/obj/structure/table/reinforced,/obj/item/device/pda/ert,/obj/item/device/pda/ert,/obj/item/device/pda/ert,/obj/item/device/pda/ert,/obj/item/device/pda/ert,/obj/item/device/pda/ert,/obj/item/device/pda/ert,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) "yS" = (/obj/item/device/radio/intercom{broadcasting = 1; dir = 8; listening = 0; name = "Station Intercom (General)"; pixel_x = -28},/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/creed) "yT" = (/turf/unsimulated/floor{icon_state = "green"; dir = 1},/area/centcom/control) "yU" = (/obj/structure/closet/secure_closet/injection,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/control) "yV" = (/obj/structure/stool/bed/chair{dir = 1},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/control) -"yW" = (/obj/structure/table/reinforced,/obj/item/roller,/obj/item/roller,/obj/item/roller,/obj/item/roller,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) +"yW" = (/obj/structure/table/reinforced,/obj/item/weapon/crowbar,/obj/item/weapon/screwdriver,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom) "yX" = (/obj/machinery/portable_atmospherics/powered/pump/filled,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) "yY" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "specops_centcom_dock"; name = "docking port controller"; pixel_x = 0; pixel_y = -25; req_access_txt = "0"; req_one_access_txt = "103"; tag_door = "specops_centcom_dock_door"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) "yZ" = (/obj/structure/table/rack,/obj/item/clothing/suit/armor/vest/ert/medical,/obj/item/clothing/suit/armor/vest/ert/medical,/obj/item/clothing/suit/armor/vest/ert/medical,/obj/item/clothing/suit/armor/vest/ert/medical,/obj/item/clothing/head/helmet/ert/medical,/obj/item/clothing/head/helmet/ert/medical,/obj/item/clothing/head/helmet/ert/medical,/obj/item/clothing/head/helmet/ert/medical,/obj/item/weapon/storage/backpack/ert/medical,/obj/item/weapon/storage/backpack/ert/medical,/obj/item/weapon/storage/backpack/ert/medical,/obj/item/weapon/storage/backpack/ert/medical,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) @@ -1306,10 +1306,10 @@ "zf" = (/obj/structure/table,/obj/item/device/assembly/signaler,/obj/item/weapon/handcuffs,/obj/item/weapon/melee/classic_baton,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/control) "zg" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/bodybags,/obj/item/weapon/storage/firstaid/o2,/obj/item/weapon/storage/firstaid/regular,/obj/item/device/flash,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/device/flash,/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/storage/pill_bottle/antitox,/obj/item/weapon/storage/pill_bottle/kelotane,/obj/item/weapon/storage/pill_bottle/kelotane,/obj/item/weapon/storage/pill_bottle/antitox,/obj/item/weapon/storage/pill_bottle/kelotane,/obj/item/weapon/storage/firstaid/adv,/obj/item/weapon/storage/firstaid/adv,/obj/item/weapon/storage/firstaid/toxin,/obj/item/weapon/storage/firstaid/fire,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) "zh" = (/obj/machinery/iv_drip,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) -"zi" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,/obj/item/weapon/reagent_containers/hypospray,/obj/item/weapon/reagent_containers/hypospray,/obj/item/weapon/reagent_containers/hypospray,/obj/item/weapon/storage/box/syringes,/obj/item/device/flash,/obj/item/device/flash,/obj/item/weapon/reagent_containers/glass/beaker/large,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"zi" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,/obj/item/weapon/reagent_containers/hypospray,/obj/item/weapon/reagent_containers/hypospray,/obj/item/weapon/reagent_containers/hypospray,/obj/item/weapon/storage/box/syringes,/obj/item/weapon/reagent_containers/glass/beaker/large,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) "zj" = (/obj/structure/table/rack,/obj/item/clothing/under/color/red,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/tdome/red,/obj/item/clothing/head/helmet/thunderdome,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/melee/energy/sword/red,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome) "zk" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/autoinjectors,/obj/item/weapon/storage/box/beakers,/obj/item/weapon/storage/box/gloves,/obj/item/weapon/storage/box/pillbottles,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) -"zl" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) +"zl" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,/obj/item/weapon/reagent_containers/hypospray,/obj/item/weapon/reagent_containers/hypospray,/obj/item/weapon/reagent_containers/hypospray,/obj/item/weapon/storage/box/syringes,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) "zm" = (/obj/machinery/portable_atmospherics/powered/scrubber,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) "zn" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "specops_centcom_dock_door"; locked = 1},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom) "zo" = (/obj/structure/table/woodentable{dir = 9},/obj/item/weapon/reagent_containers/food/drinks/flask,/obj/item/clothing/mask/cigarette/cigar/havana,/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/creed) @@ -1927,6 +1927,7 @@ "Lc" = (/turf/space,/turf/simulated/shuttle/wall{dir = 4; icon_state = "diagonalWall3"},/area/shuttle/vox/station) "Ld" = (/obj/structure/shuttle/engine/propulsion,/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/shuttle/vox/station) "Le" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/blast/regular{dir = 2; id = "skipjack"; name = "Skipjack Blast Shielding"},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) +"Lf" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/roller,/obj/item/roller,/obj/item/roller,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) "Lg" = (/obj/structure/table/rack,/obj/item/rig_module/mounted/taser,/obj/item/rig_module/mounted/taser,/obj/item/rig_module/mounted/taser,/obj/item/rig_module/maneuvering_jets,/obj/item/rig_module/maneuvering_jets,/obj/item/rig_module/grenade_launcher,/obj/item/rig_module/device/drill,/obj/item/rig_module/device/healthscanner,/obj/item/rig_module/device/plasmacutter,/obj/item/rig_module/device/rcd,/obj/item/rig_module/chem_dispenser/combat,/obj/item/rig_module/chem_dispenser/injector,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) "Lh" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) "Li" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) @@ -1942,7 +1943,6 @@ "Ls" = (/obj/structure/AIcore,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) "Lt" = (/obj/item/weapon/spacecash/c200,/obj/item/weapon/spacecash/c50,/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) "Lu" = (/obj/structure/jungle_plant,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"Lv" = (/obj/structure/table/rack,/obj/item/weapon/gun/energy/stunrevolver,/obj/item/weapon/gun/energy/stunrevolver,/obj/item/weapon/gun/energy/stunrevolver,/obj/item/weapon/gun/energy/stunrevolver,/obj/item/weapon/gun/energy/stunrevolver,/obj/item/weapon/gun/energy/stunrevolver,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) "Lw" = (/obj/structure/closet/secure_closet/medical_wall{pixel_y = 0; req_access = null; req_access_txt = "150"},/obj/item/weapon/surgicaldrill,/obj/item/clothing/gloves/latex,/obj/item/clothing/mask/surgical,/obj/item/weapon/reagent_containers/glass/bottle/stoxin,/obj/item/weapon/reagent_containers/glass/bottle/stoxin,/obj/item/weapon/reagent_containers/syringe,/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/syndicate_station/start) "Lx" = (/obj/structure/sign/nosmoking_2{pixel_x = 32},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) "Ly" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/handcuffs,/obj/item/clothing/glasses/sunglasses/sechud{pixel_y = 3},/obj/item/clothing/glasses/sunglasses/sechud{pixel_y = 3},/obj/item/clothing/glasses/sunglasses/sechud{pixel_y = 3},/obj/item/clothing/glasses/sunglasses/sechud{pixel_y = 3},/obj/item/clothing/glasses/night{pixel_x = -1; pixel_y = -3},/obj/item/clothing/glasses/night{pixel_x = -1; pixel_y = -3},/obj/item/clothing/glasses/night{pixel_x = -1; pixel_y = -3},/obj/item/clothing/glasses/night,/obj/item/weapon/storage/box/handcuffs,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) @@ -2082,17 +2082,17 @@ aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMustvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvutuuuvuwDUuhtZtZtZtZtDoNuztZtZtZuAoNuBudtwtIudtwuCtJtwtItMtwtNtxuDuEuFuGuHtxuIuIuItxtWtWtWtWtWtxuJuKuJuLuMuguNuNuNuOurururuOuruPuQuPuruRuSuTtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumumumu aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMuUuVuVuVuVuVuVuVuVuVuVuVuVuVAIuXuVuVuVuYAIuZvavbvcoNvxtZtZtZtZuioNvftZtZtZvgoNubtJvhubtJtwubvitwubvjtwtNtxvktxvlvmvntxufufuftxvlvmvotxvptxvqvrvqvrvqugtxtxtxtxurururtxvsvtuPvuvsvvvwvwtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumuaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumumu aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMustvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvoNLytZtZtZtZvyoNvztZtZvAoNoNoNtvtvtvtvtvtvtvtvtvtvtvtNtxufufvBvCvCvCvCvCvCvCvCvCvDufufvEvqvqvqvqvqugvFuNuotxurururtxvGvGvHvGvGvvvwvwtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumuaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumu -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMustvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvutvIvbvJoNukujulLvtZoNoNumtZtZvOoNuyvQoNvRvRvRvRvRvRvSvTcZtvtNtxufufvVvWvXvXvXvXvXvXvXvYueufufugvZwawbwcwdugweuNuptxurururtxwfwfuNwfwfvvvwvwtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMwgaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumuaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumu +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMustvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvutvIvbvJoNukujulumtZoNoNxatZtZvOoNuyvQoNvRvRvRvRvRvRvSvTcZtvtNtxufufvVvWvXvXvXvXvXvXvXvYueufufugvZwawbwcwdugweuNuptxurururtxwfwfuNwfwfvvvwvwtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMwgaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumuaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumu aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMuUuVuVuVuVuVuVuVuVuVuVuVuVuVwWuXuVuVuVuYwWwivavbwjoNtvoNoNoNtZoNvetZtZtZwloNwmwnwowpwpwpwpwpwpwqtvtvtvtvtvufufvVwrwsufwtwuwvufwswrueufufugugugugugugugweuNuptxurururtxwwwwuNwwwwvvvwvwtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumumuaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumu aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMustvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvutwxvbwyoNwzwAwBoNtZoNvNvKtZtZwEoNwmvMtvwFwGwGwGwHwGwItvwJwJwJtvufufwKwLwMwNwOwPwQwRwSwLwTufuftxwUwUwUwUwUtxtxuOtxtxtxuOtxtxuNuNuNuNuNvvvwvwtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumumumuaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumu -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMwVoVoVoVoVoVoVoVoVoVoVoVoVoVwhoUoVoVoVqVwhwXwYvMwZoNxatZxboNxcoNoNoNxdoNoNoNwmwnuWxfxfxfxfxfxfxfxgxfxfxfxgufufufxhufufxiufxiufufxhufufufxjurururururxjurururururururxjwwwwwwwwwwvvvwvwtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumumumumumuaMaMaMaMaMaMaMaMaMaMaMaMaMaMmu +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMwVoVoVoVoVoVoVoVoVoVoVoVoVoVwhoUoVoVoVqVwhwXwYvMwZoNyQtZxboNxcoNoNoNxdoNoNoNwmwnuWxfxfxfxfxfxfxfxgxfxfxfxgufufufxhufufxiufxiufufxhufufufxjurururururxjurururururururxjwwwwwwwwwwvvvwvwtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumumumumumuaMaMaMaMaMaMaMaMaMaMaMaMaMaMmu aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMxkoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNxlxmvMxnoNvPuhwkoNtZxqtZxrtZxsxtxttZxutvxvxwxwxxxyxzxAtvxBxBxBtvufufvBxCxDwNxEufxFwRxGxCvDufufxjurururururxjurururururururxjwwwwwwwwwwtxuOuOtxtxtxtxtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumumumumumuaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMwVoVoVoVoVoVoVoVoVoVoVoVoVoVxHoUoVoVoVqVxHxIxJvMwnxKuhtZtZxLtZxMtZwmwmxNxNwmwmxutvxOxOxOxPxQxPxRtvtvtvtvtvufufvVwLxSufxiufxiufxSwLueufuftxxTxUxUxUxVtxtxxWtxtxtxuOtxtxtxxXxXxXtxtxurururxYurxZtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumumumumumuaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMxkoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNLgyaoNoNoNoNoNyboNycwmydyeyfygwmxutvtvyhyiyjykylymyhaMaMaMtxufufvVtxtxynyoufypyqtxtxueufuftxaMaMaMaMaMtxyrystxuNytuNuNyuyvywywywyxtxururuQuQururyyaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumuaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMxkoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNLgyaoNoNoNoNoNyboNycwmydyeyWygwmxutvtvyhyiyjykylymyhaMaMaMtxufufvVtxtxynyoufypyqtxtxueufuftxaMaMaMaMaMtxyrystxuNytuNuNyuyvywywywyxtxururuQuQururyyaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumuaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoNoNoNoNyzyAxowDtZoNxewmydyfyfygwmxpyEyFyhyGyHyIyByKyhaMaMaMtxufufvVtxtxvlvmvmvmvotxtxueufuftxaMaMaMaMaMtxysystxyLyLyLuNyuywywywywyMtxuryNuPuPyOuryPaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoNzitZtZtZtZtZtZoNxetZtZwqwqwmwmwmwmyRyhySyIyIyIyIyhaMaMaMtxufufwKyTyTyTyTyTyTyTyTyTwTufuftxaMaMaMaMaMtxyUystxyLyVyLuNyuyuyuyuyuyutxuryNuPuPyOuryPaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoNyQtZtZtZtZtZyWoNyXtZtZyYtZtZwCvdyJzcyhyIyIyIyIzdyhtxtxtxtxtxtxzetxtxufufufufuftxtxtxtxtxtxaMaMaMaMaMtxzfystxvFuNuNuNyuaMaMaMaMaMtxuryNuPuPyOuryPaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoNzgzgzhyDyZzkzloNyXzmzmoNznznoNoNoNoNyhyIzozpzqzryhzsztztzszuzvufzwtxtxtxzxtxtxdCaMaMaMaMaMaMaMaMaMaMtxtxtxtxtxtxtxtxyuaMaMaMaMaMzyuryNuPuPyOuryPaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMzzmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtwgmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmt +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoNzltZtZtZtZtZLfoNyXtZtZyYtZtZwCvdyJzcyhyIyIyIyIzdyhtxtxtxtxtxtxzetxtxufufufufuftxtxtxtxtxtxaMaMaMaMaMtxzfystxvFuNuNuNyuaMaMaMaMaMtxuryNuPuPyOuryPaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoNzgzgzhyDyZxazkoNyXzmzmoNznznoNoNoNoNyhyIzozpzqzryhzsztztzszuzvufzwtxtxtxzxtxtxdCaMaMaMaMaMaMaMaMaMaMtxtxtxtxtxtxtxtxyuaMaMaMaMaMzyuryNuPuPyOuryPaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMzzmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtwgmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmt aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoNoNoNoNoNoNoNoNoNoNoNoNzAzBzBzAaMaMaMyhyIzCzDzEzDyhzszFzFzszGzHufzwtxzIwTufwKzJtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMzKururzLzLururzKaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMzMzNzNzNzNzOzOzNzNzPaMyhyIyIyIyIyIyhzsztztzszQzHufzwtxueufufufvVtxaMaMaMaMaMaMaMaMaMaMaMzRzSzTzUaMaMaMaMaMaMaMaMaMtxzVururururzWtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMzXzYzZAaAbAcAcAdAdzNzPyhyhyhyhyhyhyhzszszszsAezHufzwtxAfuxAfAhAftxaMaMaMaMaMaMaMaMaMaMzRAiAjAkAlzUaMaMaMaMaMaMaMaMtxtxtxtxtxtxtxtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM From 0ebe28dbea8c4d494f45c79473555e116ac7dbdd Mon Sep 17 00:00:00 2001 From: mwerezak Date: Wed, 28 Jan 2015 13:19:01 -0500 Subject: [PATCH 114/133] Fixes #7958 --- code/modules/clothing/spacesuits/void/void.dm | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/code/modules/clothing/spacesuits/void/void.dm b/code/modules/clothing/spacesuits/void/void.dm index a1e6ab2714..2c5b9f2378 100644 --- a/code/modules/clothing/spacesuits/void/void.dm +++ b/code/modules/clothing/spacesuits/void/void.dm @@ -55,6 +55,13 @@ var/obj/item/clothing/shoes/magboots/boots = null // Deployable boots, if any. var/obj/item/clothing/head/helmet/helmet = null // Deployable helmet, if any. +/obj/item/clothing/suit/space/void/refit_for_species(var/target_species) + ..() + if(istype(helmet)) + helmet.refit_for_species(target_species) + if(istype(boots)) + boots.refit_for_species(target_species) + /obj/item/clothing/suit/space/void/equipped(mob/M) ..() From 131fc38e424ab56274129ce28d5a397751bc1450 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Thu, 29 Jan 2015 10:53:32 +1030 Subject: [PATCH 115/133] Fixes #7861 (partial), #7957, #7940 --- .../clothing/spacesuits/rig/modules/computer.dm | 7 ++++--- .../clothing/spacesuits/rig/modules/modules.dm | 8 ++++++++ code/modules/clothing/spacesuits/rig/modules/ninja.dm | 1 + code/modules/clothing/spacesuits/rig/rig.dm | 11 ++++++++--- code/modules/clothing/spacesuits/rig/rig_attackby.dm | 2 +- code/modules/clothing/spacesuits/rig/rig_verbs.dm | 6 ++++-- nano/templates/hardsuit.tmpl | 6 +++--- 7 files changed, 29 insertions(+), 12 deletions(-) diff --git a/code/modules/clothing/spacesuits/rig/modules/computer.dm b/code/modules/clothing/spacesuits/rig/modules/computer.dm index 1b2befa59a..3d66c64602 100644 --- a/code/modules/clothing/spacesuits/rig/modules/computer.dm +++ b/code/modules/clothing/spacesuits/rig/modules/computer.dm @@ -334,6 +334,7 @@ var/atom/interfaced_with // Currently draining power from this device. var/total_power_drained = 0 + var/drain_loc /obj/item/rig_module/power_sink/deactivate() @@ -373,6 +374,7 @@ H << "You begin draining power from [target]!" interfaced_with = target + drain_loc = interfaced_with.loc holder.spark_system.start() playsound(H.loc, 'sound/effects/sparks2.ogg', 50, 1) @@ -406,7 +408,7 @@ drain_complete(H) return - if(!interfaced_with || !interfaced_with.Adjacent(H)) + if(!interfaced_with || !interfaced_with.Adjacent(H) || !(interfaced_with.loc == drain_loc)) H << "Your power sink retracts into its casing." drain_complete(H) return @@ -427,8 +429,6 @@ holder.cell.give(target_drained * CELLRATE) total_power_drained += target_drained - - return 1 /obj/item/rig_module/power_sink/proc/drain_complete(var/mob/living/M) @@ -439,5 +439,6 @@ if(M) M << "Total power drained from [interfaced_with]: [round(total_power_drained/1000)]kJ." interfaced_with.drain_power(0,1,0) // Damage the victim. + drain_loc = null interfaced_with = null total_power_drained = 0 \ No newline at end of file diff --git a/code/modules/clothing/spacesuits/rig/modules/modules.dm b/code/modules/clothing/spacesuits/rig/modules/modules.dm index b0ba99016e..830e0d784c 100644 --- a/code/modules/clothing/spacesuits/rig/modules/modules.dm +++ b/code/modules/clothing/spacesuits/rig/modules/modules.dm @@ -147,6 +147,14 @@ usr << "The suit is not initialized." return 0 + if(usr.lying || usr.stat || usr.stunned || usr.paralysis) + usr << "You cannot use the suit in this state." + return 0 + + if(holder.wearer && holder.wearer.lying) + usr << "The suit cannot function while the wearer is prone." + return 0 + if(holder.security_check_enabled && !holder.check_suit_access(usr)) usr << "Access denied." return diff --git a/code/modules/clothing/spacesuits/rig/modules/ninja.dm b/code/modules/clothing/spacesuits/rig/modules/ninja.dm index 12ea8e7fb2..6d572cdcb3 100644 --- a/code/modules/clothing/spacesuits/rig/modules/ninja.dm +++ b/code/modules/clothing/spacesuits/rig/modules/ninja.dm @@ -19,6 +19,7 @@ use_power_cost = 5 active_power_cost = 1 passive_power_cost = 0 + module_cooldown = 30 activate_string = "Enable Cloak" deactivate_string = "Disable Cloak" diff --git a/code/modules/clothing/spacesuits/rig/rig.dm b/code/modules/clothing/spacesuits/rig/rig.dm index b308fda2b4..4c7735974c 100644 --- a/code/modules/clothing/spacesuits/rig/rig.dm +++ b/code/modules/clothing/spacesuits/rig/rig.dm @@ -251,13 +251,13 @@ else helmet.flags &= ~AIRTIGHT helmet.update_light(wearer) - + //sealed pieces become airtight, protecting against diseases if (!seal_target) piece.armor["bio"] = 100 else piece.armor["bio"] = src.armor["bio"] - + else failed_to_seal = 1 @@ -515,6 +515,8 @@ return if(href_list["toggle_piece"]) + if(ishuman(usr) && (usr.stat || usr.stunned || usr.lying)) + return 0 toggle_piece(href_list["toggle_piece"], usr) else if(href_list["toggle_seals"]) toggle_seals(usr) @@ -543,7 +545,7 @@ usr.set_machine(src) src.add_fingerprint(usr) - return + return 1 /obj/item/weapon/rig/proc/notify_ai(var/message) if(!message || !installed_modules || !installed_modules.len) @@ -579,6 +581,9 @@ if(!istype(wearer) || !wearer.back == src) return + if(usr == wearer && (usr.stat||usr.paralysis||usr.stunned)) // If the usr isn't wearing the suit it's probably an AI. + return + var/obj/item/check_slot var/equip_to var/obj/item/use_obj diff --git a/code/modules/clothing/spacesuits/rig/rig_attackby.dm b/code/modules/clothing/spacesuits/rig/rig_attackby.dm index 061973c137..c0d119b0b4 100644 --- a/code/modules/clothing/spacesuits/rig/rig_attackby.dm +++ b/code/modules/clothing/spacesuits/rig/rig_attackby.dm @@ -180,7 +180,7 @@ installed_modules -= removed update_icon() - return + return // If we've gotten this far, all we have left to do before we pass off to root procs // is check if any of the loaded modules want to use the item we've been given. diff --git a/code/modules/clothing/spacesuits/rig/rig_verbs.dm b/code/modules/clothing/spacesuits/rig/rig_verbs.dm index 9ec6f03df7..ce20244734 100644 --- a/code/modules/clothing/spacesuits/rig/rig_verbs.dm +++ b/code/modules/clothing/spacesuits/rig/rig_verbs.dm @@ -120,8 +120,8 @@ /obj/item/weapon/rig/verb/toggle_seals_verb() - set name = "Toggle Seals" - set desc = "Activates or deactivates your rig seals." + set name = "Toggle Hardsuit" + set desc = "Activates or deactivates your rig." set category = "Hardsuit" set src = usr.contents @@ -208,6 +208,8 @@ var/obj/item/rig_module/module = input("Which module do you wish to select?") as null|anything in selectable if(!istype(module)) + selected_module = null + usr << "Primary system is now: deselected." return selected_module = module diff --git a/nano/templates/hardsuit.tmpl b/nano/templates/hardsuit.tmpl index a8d3e59ac7..b32bb621c8 100644 --- a/nano/templates/hardsuit.tmpl +++ b/nano/templates/hardsuit.tmpl @@ -78,12 +78,12 @@ Used In File(s): /code/modules/clothing/spacesuits/rig/rig.dm
{{if data.sealing == 1}} -
SEALING
+
PROCESSING
{{else}} {{if data.seals == 1}} -
OPEN
+
INACTIVE
{{else}} -
SEALED
+
ACTIVE
{{/if}} {{/if}}
From 01bd0875fec4841ce4f1b6c38fd591ec1f67332c Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Thu, 29 Jan 2015 11:08:22 +1030 Subject: [PATCH 116/133] Fixes #7973 --- code/game/machinery/autolathe.dm | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/code/game/machinery/autolathe.dm b/code/game/machinery/autolathe.dm index 53b95c712c..7b44e443c4 100644 --- a/code/game/machinery/autolathe.dm +++ b/code/game/machinery/autolathe.dm @@ -21,10 +21,16 @@ var/datum/wires/autolathe/wires = null +/obj/machinery/autolathe/proc/update_recipe_list() + if(!machine_recipes) + machine_recipes = autolathe_recipes + /obj/machinery/autolathe/interact(mob/user as mob) + update_recipe_list() + if(..() || (disabled && !panel_open)) - user << "\red \The [src] is disabled!" + user << "\The [src] is disabled!" return if (shocked) @@ -97,7 +103,7 @@ return if (busy) - user << "\red \The [src] is busy. Please wait for completion of previous operation." + user << "\The [src] is busy. Please wait for completion of previous operation." return if(istype(O, /obj/item/weapon/screwdriver)) @@ -157,7 +163,7 @@ mass_per_sheet += eating.matter[material] if(!filltype) - user << "\red \The [src] is full. Please remove material from the autolathe in order to insert more." + user << "\The [src] is full. Please remove material from the autolathe in order to insert more." return else if(filltype == 1) user << "You fill \the [src] to capacity with \the [eating]." @@ -189,7 +195,7 @@ add_fingerprint(usr) if(busy) - usr << "\red The autolathe is busy. Please wait for completion of previous operation." + usr << "The autolathe is busy. Please wait for completion of previous operation." return if(href_list["change_category"]) @@ -262,11 +268,6 @@ component_parts += new /obj/item/weapon/stock_parts/console_screen(src) RefreshParts() - -/obj/machinery/autolathe/initialize() - ..() - machine_recipes = autolathe_recipes - //Updates overall lathe storage size. /obj/machinery/autolathe/RefreshParts() ..() From d0f76833d90d07cf0ef525c41f69fb7893253020 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Thu, 29 Jan 2015 11:09:25 +1030 Subject: [PATCH 117/133] Fixes #7976 --- code/modules/mob/holder.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/modules/mob/holder.dm b/code/modules/mob/holder.dm index 81e8137f04..96eb6f11a3 100644 --- a/code/modules/mob/holder.dm +++ b/code/modules/mob/holder.dm @@ -40,8 +40,9 @@ /mob/living/var/holder_type /mob/living/proc/get_scooped(var/mob/living/carbon/grabber) - if(!holder_type) + if(!holder_type || buckled || pinned.len) return + var/obj/item/weapon/holder/H = new holder_type(loc) src.loc = H H.name = loc.name From b280cb6d42139cc2b2c0a844538c68410fdc6c75 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Thu, 29 Jan 2015 11:17:56 +1030 Subject: [PATCH 118/133] Fixes #7919 --- code/game/objects/items/bodybag.dm | 2 +- .../objects/structures/crates_lockers/closets.dm | 15 ++++++--------- code/modules/mob/living/carbon/alien/alien.dm | 1 + code/modules/mob/living/living_defines.dm | 3 ++- code/modules/mob/living/simple_animal/bees.dm | 1 + .../mob/living/simple_animal/constructs.dm | 2 ++ .../mob/living/simple_animal/friendly/cat.dm | 3 ++- .../mob/living/simple_animal/friendly/corgi.dm | 2 ++ .../mob/living/simple_animal/friendly/crab.dm | 1 + .../mob/living/simple_animal/friendly/lizard.dm | 3 ++- .../mob/living/simple_animal/friendly/mouse.dm | 1 + .../living/simple_animal/friendly/spiderbot.dm | 1 + 12 files changed, 22 insertions(+), 13 deletions(-) diff --git a/code/game/objects/items/bodybag.dm b/code/game/objects/items/bodybag.dm index b1b46654bc..12267914d8 100644 --- a/code/game/objects/items/bodybag.dm +++ b/code/game/objects/items/bodybag.dm @@ -39,7 +39,7 @@ close_sound = 'sound/items/zip.ogg' var/item_path = /obj/item/bodybag density = 0 - storage_capacity = (mob_size * 2) - 1 + storage_capacity = (default_mob_size * 2) - 1 var/contains_body = 0 /obj/structure/closet/body_bag/attackby(W as obj, mob/user as mob) diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm index 4aaae90a9a..2a5a331c25 100644 --- a/code/game/objects/structures/crates_lockers/closets.dm +++ b/code/game/objects/structures/crates_lockers/closets.dm @@ -21,7 +21,7 @@ var/store_items = 1 var/store_mobs = 1 - var/const/mob_size = 15 + var/const/default_mob_size = 15 /obj/structure/closet/initialize() if(!opened) // if closed, any item at the crate's loc is put in the contents @@ -121,20 +121,17 @@ /obj/structure/closet/proc/store_mobs(var/stored_units) var/added_units = 0 - for(var/mob/M in src.loc) - if(stored_units + added_units + mob_size > storage_capacity) - break - if(istype (M, /mob/dead/observer)) - continue + for(var/mob/living/M in src.loc) if(M.buckled || M.pinned.len) continue - + var/current_mob_size = (M.mob_size ? M.mob_size : default_mob_size) + if(stored_units + added_units + current_mob_size > storage_capacity) + break if(M.client) M.client.perspective = EYE_PERSPECTIVE M.client.eye = src - M.loc = src - added_units += mob_size + added_units += current_mob_size return added_units /obj/structure/closet/proc/toggle(mob/user as mob) diff --git a/code/modules/mob/living/carbon/alien/alien.dm b/code/modules/mob/living/carbon/alien/alien.dm index 67a134ec9b..c9b3175eb8 100644 --- a/code/modules/mob/living/carbon/alien/alien.dm +++ b/code/modules/mob/living/carbon/alien/alien.dm @@ -7,6 +7,7 @@ pass_flags = PASSTABLE health = 100 maxHealth = 100 + mob_size = 4 var/adult_form var/dead_icon diff --git a/code/modules/mob/living/living_defines.dm b/code/modules/mob/living/living_defines.dm index 3c1c8a935c..ecbc51db37 100644 --- a/code/modules/mob/living/living_defines.dm +++ b/code/modules/mob/living/living_defines.dm @@ -37,4 +37,5 @@ var/tod = null // Time of death var/update_slimes = 1 - var/silent = null //Can't talk. Value goes down every life proc. \ No newline at end of file + var/silent = null // Can't talk. Value goes down every life proc. + var/mob_size // Used by lockers. \ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/bees.dm b/code/modules/mob/living/simple_animal/bees.dm index 5ee2e2b10a..3a5f2f17e5 100644 --- a/code/modules/mob/living/simple_animal/bees.dm +++ b/code/modules/mob/living/simple_animal/bees.dm @@ -4,6 +4,7 @@ icon = 'icons/obj/apiary_bees_etc.dmi' icon_state = "bees1" icon_dead = "bees1" + mob_size = 1 var/strength = 1 var/feral = 0 var/mut = 0 diff --git a/code/modules/mob/living/simple_animal/constructs.dm b/code/modules/mob/living/simple_animal/constructs.dm index 79295a9b5b..5e3e91b90f 100644 --- a/code/modules/mob/living/simple_animal/constructs.dm +++ b/code/modules/mob/living/simple_animal/constructs.dm @@ -129,6 +129,7 @@ melee_damage_lower = 30 melee_damage_upper = 30 attacktext = "smashed their armoured gauntlet into" + mob_size = 20 speed = 3 wall_smash = 1 attack_sound = 'sound/weapons/punch3.ogg' @@ -259,6 +260,7 @@ speed = 5 wall_smash = 1 attack_sound = 'sound/weapons/punch4.ogg' + mob_size = 20 var/energy = 0 var/max_energy = 1000 diff --git a/code/modules/mob/living/simple_animal/friendly/cat.dm b/code/modules/mob/living/simple_animal/friendly/cat.dm index c3d88300ca..7913d23d7e 100644 --- a/code/modules/mob/living/simple_animal/friendly/cat.dm +++ b/code/modules/mob/living/simple_animal/friendly/cat.dm @@ -22,6 +22,7 @@ minbodytemp = 223 //Below -50 Degrees Celcius maxbodytemp = 323 //Above 50 Degrees Celcius holder_type = /obj/item/weapon/holder/cat + mob_size = 5 /mob/living/simple_animal/cat/Life() //MICE! @@ -50,7 +51,7 @@ if(turns_since_scan > 5) walk_to(src,0) turns_since_scan = 0 - + if((movement_target) && !(isturf(movement_target.loc) || ishuman(movement_target.loc) )) movement_target = null stop_automated_movement = 0 diff --git a/code/modules/mob/living/simple_animal/friendly/corgi.dm b/code/modules/mob/living/simple_animal/friendly/corgi.dm index 162038dd07..8cce2342df 100644 --- a/code/modules/mob/living/simple_animal/friendly/corgi.dm +++ b/code/modules/mob/living/simple_animal/friendly/corgi.dm @@ -18,6 +18,8 @@ response_disarm = "bops" response_harm = "kicks" see_in_dark = 5 + mob_size = 8 + var/obj/item/inventory_head var/obj/item/inventory_back var/facehugger diff --git a/code/modules/mob/living/simple_animal/friendly/crab.dm b/code/modules/mob/living/simple_animal/friendly/crab.dm index c85f5bc734..bf59a7e546 100644 --- a/code/modules/mob/living/simple_animal/friendly/crab.dm +++ b/code/modules/mob/living/simple_animal/friendly/crab.dm @@ -17,6 +17,7 @@ response_harm = "stomps" stop_automated_movement = 1 friendly = "pinches" + mob_size = 5 var/obj/item/inventory_head var/obj/item/inventory_mask diff --git a/code/modules/mob/living/simple_animal/friendly/lizard.dm b/code/modules/mob/living/simple_animal/friendly/lizard.dm index d4677ef5d3..66fb31406a 100644 --- a/code/modules/mob/living/simple_animal/friendly/lizard.dm +++ b/code/modules/mob/living/simple_animal/friendly/lizard.dm @@ -14,4 +14,5 @@ melee_damage_upper = 2 response_help = "pets" response_disarm = "shoos" - response_harm = "stomps on" \ No newline at end of file + response_harm = "stomps on" + mob_size = 1 diff --git a/code/modules/mob/living/simple_animal/friendly/mouse.dm b/code/modules/mob/living/simple_animal/friendly/mouse.dm index c6f3cfb87c..5b207ce2a7 100644 --- a/code/modules/mob/living/simple_animal/friendly/mouse.dm +++ b/code/modules/mob/living/simple_animal/friendly/mouse.dm @@ -28,6 +28,7 @@ maxbodytemp = 323 //Above 50 Degrees Celcius universal_speak = 0 universal_understand = 1 + mob_size = 1 /mob/living/simple_animal/mouse/Life() ..() diff --git a/code/modules/mob/living/simple_animal/friendly/spiderbot.dm b/code/modules/mob/living/simple_animal/friendly/spiderbot.dm index 1aff173aa7..89cfe60b65 100644 --- a/code/modules/mob/living/simple_animal/friendly/spiderbot.dm +++ b/code/modules/mob/living/simple_animal/friendly/spiderbot.dm @@ -5,6 +5,7 @@ max_co2 = 0 minbodytemp = 0 maxbodytemp = 500 + mob_size = 5 var/obj/item/device/radio/borg/radio = null var/mob/living/silicon/ai/connected_ai = null From ebf3d25cae3ca4a7d8defc3c5bd1c5e03d044915 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Thu, 29 Jan 2015 09:17:48 +0100 Subject: [PATCH 119/133] Additional support for non-Exodus maps. Teleport now also checks config for appropriate Z-levels instead of using hard-coded values. --- code/game/machinery/teleporter.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/machinery/teleporter.dm b/code/game/machinery/teleporter.dm index 786300f00d..259638458c 100644 --- a/code/game/machinery/teleporter.dm +++ b/code/game/machinery/teleporter.dm @@ -91,7 +91,7 @@ var/turf/T = get_turf(R) if (!T) continue - if(T.z == 2 || T.z > 7) + if(!(T.z in config.player_levels)) continue var/tmpname = T.loc.name if(areaindex[tmpname]) From d8cc3403743659f8b740b45e34c826cf7d10e9d4 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Thu, 29 Jan 2015 09:42:22 +0100 Subject: [PATCH 120/133] Fixes #7965. Shuffles around some of the warden's equipment, adds a bunch of missing power cables in the brig. --- maps/exodus-1.dmm | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/maps/exodus-1.dmm b/maps/exodus-1.dmm index 363ec73433..c7372747c7 100644 --- a/maps/exodus-1.dmm +++ b/maps/exodus-1.dmm @@ -372,9 +372,9 @@ "ahh" = (/obj/machinery/photocopier,/obj/machinery/newscaster/security_unit{pixel_x = -30; pixel_y = 30},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "dark"},/area/security/warden) "ahi" = (/obj/structure/filingcabinet/chestdrawer,/obj/machinery/camera{c_tag = "Security Warden Office"; dir = 2; network = list("SS13")},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "dark"},/area/security/warden) "ahj" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "dark"},/area/security/warden) -"ahk" = (/obj/structure/table/reinforced,/obj/item/weapon/clipboard,/obj/item/weapon/paper{info = "\[center]\[Large]\[b]NSS Exodus\[/b]\[/large]\[br] \[small]Armoury Inventory\[/small]\[/center] \[hr] \[hr] \[br] \[b]Weaponry\[/b]\[br] \[field] Energy Gun(s)\[br] \[field] Laser Gun(s)\[br] \[field] Ion Rifle(s)\[br] \[field] Combat Shotgun(s) \[hr] \[b]Armour\[/b]\[br] \[field] Bulletproof Vest(s)\[br] \[field] Abalative Vest(s)\[br] \[field] Biohazard Suit(s)\[br] \[field] Bomb Suit(s) \[hr] \[b]Auxiliary Equipment\[/b]\[br] \[field] Gasmask(s)\[br] \[field] box(es) of Flashbangs\[br] \[field] box(es) of Handcuffs\[br] \[field] box(es) of R.O.B.U.S.T. Cartridges \[hr] \[b]Riot Equipment\[/b]\[br] \[field] Stun Baton(s)\[br] \[field] Riot Suit(s)\[br] \[field] Riot Shield(s) \[hr] \[b]Tactical Equipment\[/b]\[br] \[field] Tactical Armour(s)\[br] \[field] Tactical Helmet(s)\[br] \[field] Tactical Jumpsuit(s)\[br] \[field] Green Balaclava(s)\[br] \[field] Tactical HUD(s)\[br] \[field] Combat Belt(s)\[br] \[field] Black Glove(s)\[br] \[field] Jackboot(s) \[hr] \[b]Implants\[/b]\[br] \[field] Tracking Implant Box(es)\[br] \[field] Chemical Implant Box(es) \[hr] \[b]Defense Systems\[/b]\[br] \[field] Deployable Barrier(s)\[br] \[field] Portable Flasher(s) \[hr] \[b]Other\[/b]\[br] \[field] Holobadge Box(es) \[hr] \[b]\[center]Warden's's Signature:\[/b] \[field]\[/center] \[hr]"; name = "Armory Inventory"},/obj/item/weapon/book/manual/security_space_law{pixel_x = -3; pixel_y = 5},/turf/simulated/floor{icon_state = "dark"},/area/security/warden) -"ahl" = (/obj/structure/table/reinforced,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/item/weapon/folder/red,/turf/simulated/floor{icon_state = "dark"},/area/security/warden) -"ahm" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/obj/item/weapon/stamp,/obj/item/weapon/stamp/denied{pixel_x = 5},/turf/simulated/floor{icon_state = "dark"},/area/security/warden) +"ahk" = (/obj/structure/table/reinforced,/obj/machinery/photocopier/faxmachine{department = "Warden's Office"},/turf/simulated/floor{icon_state = "dark"},/area/security/warden) +"ahl" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/obj/item/weapon/stamp/denied{pixel_x = 5},/obj/item/weapon/stamp,/turf/simulated/floor{icon_state = "dark"},/area/security/warden) +"ahm" = (/obj/structure/table/reinforced,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/clipboard,/obj/item/weapon/folder/red,/obj/item/weapon/pen,/obj/item/weapon/paper{info = "\[center]\[Large]\[b]NSS Exodus\[/b]\[/large]\[br] \[small]Armoury Inventory\[/small]\[/center] \[hr] \[hr] \[br] \[b]Weaponry\[/b]\[br] \[field] Energy Gun(s)\[br] \[field] Laser Gun(s)\[br] \[field] Ion Rifle(s)\[br] \[field] Combat Shotgun(s) \[hr] \[b]Armour\[/b]\[br] \[field] Bulletproof Vest(s)\[br] \[field] Abalative Vest(s)\[br] \[field] Biohazard Suit(s)\[br] \[field] Bomb Suit(s) \[hr] \[b]Auxiliary Equipment\[/b]\[br] \[field] Gasmask(s)\[br] \[field] box(es) of Flashbangs\[br] \[field] box(es) of Handcuffs\[br] \[field] box(es) of R.O.B.U.S.T. Cartridges \[hr] \[b]Riot Equipment\[/b]\[br] \[field] Stun Baton(s)\[br] \[field] Riot Suit(s)\[br] \[field] Riot Shield(s) \[hr] \[b]Tactical Equipment\[/b]\[br] \[field] Tactical Armour(s)\[br] \[field] Tactical Helmet(s)\[br] \[field] Tactical Jumpsuit(s)\[br] \[field] Green Balaclava(s)\[br] \[field] Tactical HUD(s)\[br] \[field] Combat Belt(s)\[br] \[field] Black Glove(s)\[br] \[field] Jackboot(s) \[hr] \[b]Implants\[/b]\[br] \[field] Tracking Implant Box(es)\[br] \[field] Chemical Implant Box(es) \[hr] \[b]Defense Systems\[/b]\[br] \[field] Deployable Barrier(s)\[br] \[field] Portable Flasher(s) \[hr] \[b]Other\[/b]\[br] \[field] Holobadge Box(es) \[hr] \[b]\[center]Warden's's Signature:\[/b] \[field]\[/center] \[hr]"; name = "Armory Inventory"},/turf/simulated/floor{icon_state = "dark"},/area/security/warden) "ahn" = (/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/security/main) "aho" = (/obj/structure/flora/pottedplant{tag = "icon-plant-22"; icon_state = "plant-22"},/turf/simulated/floor{dir = 2; icon_state = "redcorner"},/area/security/main) "ahp" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/crew_quarters/heads/hos) @@ -431,7 +431,7 @@ "aio" = (/obj/machinery/camera{c_tag = "Security Processing"; dir = 4; network = list("SS13")},/obj/structure/table,/obj/item/weapon/folder/red,/obj/item/weapon/folder/red,/turf/simulated/floor,/area/security/brig) "aip" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor,/area/security/brig) "aiq" = (/obj/structure/table,/turf/simulated/floor,/area/security/brig) -"air" = (/obj/machinery/computer/secure_data,/obj/structure/window/reinforced{dir = 8},/obj/machinery/computer/security{pixel_y = -32},/turf/simulated/floor{icon_state = "dark"},/area/security/warden) +"air" = (/obj/machinery/computer/secure_data,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/security/warden) "ais" = (/obj/structure/stool/bed/chair/office/dark{dir = 8},/obj/effect/landmark/start{name = "Warden"},/turf/simulated/floor{icon_state = "dark"},/area/security/warden) "ait" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "dark"},/area/security/warden) "aiu" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/machinery/recharger{pixel_y = 0},/turf/simulated/floor{icon_state = "dark"},/area/security/warden) @@ -457,8 +457,8 @@ "aiO" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/security/brig) "aiP" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/brig) "aiQ" = (/obj/machinery/computer/secure_data,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor,/area/security/brig) -"aiR" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/security/warden) -"aiS" = (/obj/structure/table,/obj/machinery/photocopier/faxmachine{department = "Warden's Office"},/turf/simulated/floor{icon_state = "dark"},/area/security/warden) +"aiR" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/computer/security{pixel_y = 0},/turf/simulated/floor{icon_state = "dark"},/area/security/warden) +"aiS" = (/obj/structure/table,/obj/item/weapon/book/manual/security_space_law{pixel_x = -3; pixel_y = 5},/turf/simulated/floor{icon_state = "dark"},/area/security/warden) "aiT" = (/obj/machinery/computer/prisoner,/turf/simulated/floor{icon_state = "dark"},/area/security/warden) "aiU" = (/obj/structure/table/rack,/obj/item/weapon/crowbar,/obj/item/device/radio/off,/obj/item/weapon/wrench,/turf/simulated/floor{icon_state = "dark"},/area/security/warden) "aiV" = (/obj/structure/closet/secure_closet/warden,/obj/item/device/megaphone,/obj/item/device/radio/intercom{broadcasting = 0; freerange = 0; frequency = 1475; listening = 1; name = "Station Intercom (Security)"; pixel_x = 30; pixel_y = 0},/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/security/warden) @@ -483,9 +483,9 @@ "ajo" = (/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/door/airlock/security{name = "Evidence Storage"; req_access_txt = "1"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/security/brig) "ajp" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/security/brig) "ajq" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/security/brig) -"ajr" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/door/airlock/glass_security{name = "Security Processing"; req_access_txt = "1"},/turf/simulated/floor,/area/security/brig) -"ajs" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/security/brig) -"ajt" = (/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/door/airlock/glass_security{name = "Security Processing"; req_access_txt = "1"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/security/brig) +"ajr" = (/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/door/airlock/glass_security{name = "Security Processing"; req_access_txt = "1"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/security/brig) +"ajs" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/security/brig) +"ajt" = (/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/door/airlock/glass_security{name = "Security Processing"; req_access_txt = "1"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/security/brig) "aju" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/security/brig) "ajv" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/security/brig) "ajw" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/security/brig) @@ -693,7 +693,7 @@ "anq" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating/airless,/area/solar/auxstarboard) "anr" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"; tag = "icon-intact-f (SOUTHWEST)"},/obj/structure/disposalpipe/trunk{dir = 4},/obj/structure/disposaloutlet,/turf/simulated/wall,/area/security/prison) "ans" = (/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating/airless,/area/solar/auxstarboard) -"ant" = (/obj/machinery/door/airlock/glass_security{id_tag = "prisonentry"; name = "Brig Entry"; req_access_txt = "2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/prison) +"ant" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/security/brig) "anu" = (/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless,/area/solar/auxstarboard) "anv" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall,/area/security/prison) "anw" = (/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating/airless,/area/solar/auxstarboard) @@ -735,7 +735,7 @@ "aog" = (/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor,/area/security/prison) "aoh" = (/obj/machinery/camera{c_tag = "Brig Cell 2"; dir = 2; network = list("SS13","Prison")},/obj/structure/closet/secure_closet/brig{id = "Cell 2"; name = "Cell 2 Locker"},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/prison) "aoi" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/security/prison) -"aoj" = (/obj/machinery/camera{c_tag = "Common Brig Northwest"; dir = 4; network = list("SS13","Prison")},/obj/machinery/computer/arcade,/turf/simulated/floor,/area/security/prison) +"aoj" = (/obj/machinery/door/airlock/glass_security{id_tag = "prisonentry"; name = "Brig Entry"; req_access_txt = "2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/prison) "aok" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/security/prison) "aol" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor,/area/security/prison) "aom" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/structure/table,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/window/southleft,/turf/simulated/floor,/area/security/prison) @@ -3570,6 +3570,7 @@ "bqH" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/beakers,/obj/item/weapon/storage/box/beakers,/obj/item/weapon/reagent_containers/dropper,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) "bqI" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) "bqJ" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) +"bqK" = (/obj/machinery/camera{c_tag = "Common Brig Northwest"; dir = 4; network = list("SS13","Prison")},/obj/machinery/computer/arcade,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/security/prison) "bqL" = (/turf/simulated/wall/r_wall,/area/medical/chemistry) "bqN" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/medical/reception) "bqO" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/medical/reception) @@ -7302,18 +7303,18 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauaauaauaauaauaauaauaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfabfabfabfabfabfabfabfabfabfabfabfabfadEafqafrafsaaTaftafuafvafwafxafyafzafAafBafAafCafDadxafEafFacQafhacQafGafHafIafJafKafLadlafMafNafOafPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauaauaauaauaauaauaauaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfafQafRafSabfafTafUafVafWafXafYafZafZafZafZafZafZagaagbagcagbaaTageagdagfaggaghaeFagiagjagkaglagmagnagoagpagqagragsagtaguagpagvagwagxabbadlagyafoafoagzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauaauaauaauaauaauaauaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaabfagAagBafZafZafZafYafYafZagCagDagDagDagDagDagDagDagDagDagDarCaaTagFagGagHagIagJaeFagKagLagLagLaddagMagNagOagPagQagRagQagPagSagvagTadlabbabbaeSaeSaeSaeSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaaaaeaaeaaeaaeaaeaaaaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauaauaauaauaauaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfagUagVagWagWagWagWagWagWagWagDagXagYagZagWahaahbahcahdaheahfahgahhahiahjahkahlahmahnahnahnahnaddahoahpahqahrahsahtahuahvahwagvahxahyaboaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahzaaaaaaaaaahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaaaaeaaeaaeaaeaaeaaaaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauaauaauaauaauaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfagUagVagWagWagWagWagWagWagWagDagXagYagZagWahaahbahcahdaheahfahgahhahiahjahkahmahlahnahnahnahnaddahoahpahqahrahsahtahuahvahwagvahxahyaboaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahzaaaaaaaaaahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaaaaeaaeaaeaaeaaeaaaaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfafQafRahAabfahBadEagWahCahDahEahFahGahHagDagZahIahFahJahKahLahLahMahNahOahPacXacXacEacXahQahRahSacQacQacQaddahTahUahVahWahXahYahZaiaaibagvahxaicabOaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadDaidaieaifabfaigadEagWaihaiiaijaikailaimagDagZahIainagWaioahLaipaiqahKahOairaisacXaitacXacXaiuacZahSacQacQaddaiwaixaiyagPagPaizagPagPaiAagvaiBaiCactaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahzaaaaaaahzaaaaaaahzahzahzahzahzahzahzaaaaaaahzaaaaaaahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaewagbagbaiDabfagbadEagWaiEaiFaiGaiHaiIahFagDaiJaiKaiLagWaiMaiNaiOaiOaiPaiQaiRaiSaiTacEaiUaiVaeFaiWaiXaiYaiZakNakfajcajdajeajfajgajhagPajiagvahxabbabbabbabbaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzaaaahzahzahzahzahzahzahzahzahzaaaahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfabfajjabfabfajkajlagWagWajmagWagWajnagWagWagWajoagWagWajpajqajrajsajtajuagWajvajwajxajyajqagWagWajzajAajBagWagWagWagpajCagpagpagpagpagpagvahxabbajDajEaboaaaaafaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzaaaahzahzahzahzahzahzahzahzahzaaaahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfabfajjabfabfajkajlagWagWajmagWagWajnagWagWagWajoagWagWajpajsajrantajtajuagWajvajwajxajyajqagWagWajzajAajBagWagWagWagpajCagpagpagpagpagpagvahxabbajDajEaboaaaaafaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzaaaahzahzahzahzahzahzahzahzahzaaaahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfagBafYajFafYajGajHajIajJajKajLajMajNajOajPajQajRajSajTajUajVajWajXajUajYajWajWajZakaakaakbakcakdahOakeajbakgajzakhakiakjakkaklakmaknakoakpalaakZakqabOaaaaaaaaaaaaaaaaaaaaaaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaaIaaIaamaamaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzaaaahzahzahzahzahzahzahzahzahzaaaahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaamaamaaIaamaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfadEagWagWagWagWagWagWaksaktakuakvakwakxakyakzakAakBakCakDakEakFakwakGakwakwakHakIakJakKakLakMajaakOakPakJakQakRakSakTakUakVakWakXakYakoalIabbamsalbactaaaaaaaaaaafaaaaaaaaaaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaaaaafaaaaaqaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaafaaaaaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfadEagWalcaldalealfagWalgalhahLalialjagWacTacuacTagWabValnabUagWalpalqalralsagDaltalualvalwalxagWabTabSabSabRagWalBalCalDalEalFalGalHakoamtanQamuanQanQaaaaaaaafaafaaaaaaaaaaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafabQaafaaIaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafabMaafaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafabfadEabPalMalMalNalOalPalQalRahKalSaljagWalTalUalValWalXalYalZamaahKambahKamcamdameameamfamgamhamiamjamkamlammakoamnamoampamqalDalDamrakoadQanQamvawKamwaaaaaaaaLaaaaaaaaaaafaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaIaaIaaIaaIaaIaaaaaaaaaabpaaaaaaaaaaaIaaIaamaamaamaaaaaaahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaamaamaaIaaIaaaaaaaaaaoXaaaaaaaaaaaIaaIaamaamaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfadEagWamAamBamCamDagWamEalRaljamFamGagWamHamIamJalWamKamLamMamNamOamPamQamRamSamgamgamfamgamTaoWamVamWamXamYakoamZanaalDamqalDalDanbakoancandaneanfangaafaaLaafaafaaLaafaafaafakrakranhakrakraaaaaaaaaaaaaaaaaaaaqaaaaaaaafaafaafaaaaaaaoYaafaafaaaaafaafaaaaaaaamaaaaaaahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaafaafaaaaaaaaaaoVaafaafaaaaafaafaaaaaaaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfankagWagWagWagWanlanmannanoanmanmanmanmanpaoPanpanraoQantaoRanvaoSaoTaoUanzanAamgamgamfanBanCamianDanEamXanFanGanHanIanJanKanLanManNanGanOanPawLanRanSaaaaaaaafaaaaafaaLaafaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaIaafanTanTanTanTanTaafalJaafanTanTanTanTanTaafaaIaaaahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafanVanVanVanVanVaafalkaafanVanVanVanVanVaafaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanXanYanZaoaagDaobaocagWaodaoealKaogaohaoiaojaokaolaomaonaooaonaopaoqaoraonaoOaotamgamgaouaovaowamiaoxanEamXaoyanGaozaoAaoBaoCaoDaoEaoFanGaoGanQanQanQanQaoIaoJaoHaoLarPaaaaafaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaIaafanianjanjanjanjanualJansanqanqanqanqanwaafaaIaaaahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaafaafaaaaaaaaaaoVaafaafaaaaafaafaaaaaaaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfankagWagWagWagWanlanmannanoanmanmanmanmanpaoPanpanraoQaojaoRanvaoSaoTaoUanzanAamgamgamfanBanCamianDanEamXanFanGanHanIanJanKanLanManNanGanOanPawLanRanSaaaaaaaafaaaaafaaLaafaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaIaafanTanTanTanTanTaafalJaafanTanTanTanTanTaafaaIaaaahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafanVanVanVanVanVaafalkaafanVanVanVanVanVaafaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanXanYanZaoaagDaobaocagWaodaoealKaogaohaoibqKaokaolaomaonaooaonaopaoqaoraonaoOaotamgamgaouaovaowamiaoxanEamXaoyanGaozaoAaoBaoCaoDaoEaoFanGaoGanQanQanQanQaoIaoJaoHaoLarPaaaaafaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaIaafanianjanjanjanjanualJansanqanqanqanqanwaafaaIaaaahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaIaafalzalyalyalyalyalAalkallaivaivaivaivagEaafaaIaaaaaaaaaaaaaaaaaaaacaaaaaaaaaanXanXapaapbagDalMapcapdapeapfaofaphapiaoMaonaonapkaplaonapmapnaoraonapoaonaoNapqapramgamfamgamTaosamYanEamXaptanGapuapvapwapxapyapzapAanGapBaoHapCapDapEapFapGaoHaoHapHaoHaoHaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaIaafapIapIapIapIapIaafalJaafapIapIapIapIapIaafaaIaaaaaaahzahzahzahzaaaaaaahzahzahzahzahzahzahzaaaaaaahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafapJapJapJapJapJaafalkaafapJapJapJapJapJaafaaIaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaapKapaapbagDapLapMagWalgapNalKapOapPapQapRaokapSanWapUapVapWapXapYapZaqaanUaqcaqdaovaqeaovaqfaqgaqhaqiaqjaqkanGaqlaqmapyaqnaqoaqpaqoaqqaqraqsapFaqtaquapFaqvaoHaqwaqxaqyaoHaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaamaaaaaaaaaaafaaaaaaaafalJaaaaaaaaaaafaaaaaaaaaaamaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaafaaaaaaaafalkaaaaaaaaaaafaaaaaaaaaaaqaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaqzaqAaqBagDagWagWagWaqCalRagWalWalWalWaqDaqEapkaqFaqGaqHaonaqIaqJaqKaqLanyaqNaqOaqPaqQaqRaqSanxaqUaqVaqWamVanGaqXaqYaqZaraarbarcardanGarearfapFaqtaqtapFargaoHarhariarjaoHaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaIaafanTanTanTanTanTaafalJaafanTanTanTanTanTaafaaIaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa From 7ca1ca7d79fe7071ba38356083ba95200c31b166 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Thu, 29 Jan 2015 09:24:16 +0100 Subject: [PATCH 121/133] Medbots now report treatment on success instead of attempt. Makes them work similar to security bots/Beepsky. --- code/game/machinery/bots/medbot.dm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/code/game/machinery/bots/medbot.dm b/code/game/machinery/bots/medbot.dm index 6d3842f879..65a40289d0 100644 --- a/code/game/machinery/bots/medbot.dm +++ b/code/game/machinery/bots/medbot.dm @@ -281,9 +281,6 @@ src.speak(message) src.visible_message("[src] points at [C.name]!") src.last_newpatient_speak = world.time - if(declare_treatment) - var/area/location = get_area(src) - broadcast_medical_hud_message("[src.name] is treating [C] in [location]", src) break else continue @@ -438,6 +435,10 @@ src.patient.reagents.add_reagent(reagent_id,src.injection_amount) visible_message("\red [src] injects [src.patient] with the syringe!") + if(declare_treatment) + var/area/location = get_area(src) + broadcast_medical_hud_message("[src.name] is treating [C] in [location]", src) + src.icon_state = "medibot[src.on]" src.currently_healing = 0 return From 9e9324f01099a13770b3bbaad67ecbeb69b16f74 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Thu, 29 Jan 2015 10:31:20 +0100 Subject: [PATCH 122/133] Fixes #7961. No longer have to stand on top of turrets to interact with them. --- code/game/machinery/portable_turret.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/machinery/portable_turret.dm b/code/game/machinery/portable_turret.dm index 7497edd695..3a0a9abc2a 100644 --- a/code/game/machinery/portable_turret.dm +++ b/code/game/machinery/portable_turret.dm @@ -154,7 +154,7 @@ user << "There seems to be a firewall preventing you from accessing this device." return 0 - if (get_dist(src, user) > 0 && !issilicon(user)) + if (get_dist(src, user) > 1 && !issilicon(user)) user << "You are too far away." user.unset_machine() user << browse(null, "window=turretid") From 0c82682578a0af9482086b6b8e14e52284b39504 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 29 Jan 2015 13:18:48 -0500 Subject: [PATCH 123/133] Clothing that does not use species restrictions no longer gains species restrictions when refit. --- code/modules/clothing/clothing.dm | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index 83a0e1864d..d85db87608 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -44,6 +44,9 @@ return 1 /obj/item/clothing/proc/refit_for_species(var/target_species) + if(!species_restricted) + return //this item doesn't use the species_restricted system + //Set species_restricted list switch(target_species) if("Human", "Skrell") //humanoid bodytypes @@ -63,6 +66,9 @@ icon = initial(icon) /obj/item/clothing/head/helmet/refit_for_species(var/target_species) + if(!species_restricted) + return //this item doesn't use the species_restricted system + //Set species_restricted list switch(target_species) if("Skrell") From 812f7553f1e7ab52d565a88edd9b81c7f528163d Mon Sep 17 00:00:00 2001 From: SkyMarshal Date: Thu, 29 Jan 2015 21:52:52 -0700 Subject: [PATCH 124/133] Fixes a runtime in the artifact harvester. --- .../research/xenoarchaeology/machinery/artifact_harvester.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/research/xenoarchaeology/machinery/artifact_harvester.dm b/code/modules/research/xenoarchaeology/machinery/artifact_harvester.dm index 776d91751c..441630af30 100644 --- a/code/modules/research/xenoarchaeology/machinery/artifact_harvester.dm +++ b/code/modules/research/xenoarchaeology/machinery/artifact_harvester.dm @@ -147,9 +147,9 @@ cur_artifact = analysed //if both effects are active, we can't harvest either - if(cur_artifact.my_effect && cur_artifact.my_effect.activated && cur_artifact.secondary_effect.activated) + if(cur_artifact.my_effect && cur_artifact.my_effect.activated && cur_artifact.secondary_effect && cur_artifact.secondary_effect.activated) src.visible_message("[src] states, \"Cannot harvest. Source is emitting conflicting energy signatures.\"") - else if(!cur_artifact.my_effect.activated && !cur_artifact.secondary_effect.activated) + else if(!cur_artifact.my_effect.activated && !(cur_artifact.secondary_effect && cur_artifact.secondary_effect.activated)) src.visible_message("[src] states, \"Cannot harvest. No energy emitting from source.\"") else From 7a72d654bd256815d0389877320666c8b628a2f2 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Fri, 30 Jan 2015 09:38:37 +0100 Subject: [PATCH 125/133] (Likely) fixes #7987. Camera consoles again confirm that a given camera is accessible. --- code/game/machinery/computer/camera.dm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/code/game/machinery/computer/camera.dm b/code/game/machinery/computer/camera.dm index a3e65b3bff..bb2d342bfc 100644 --- a/code/game/machinery/computer/camera.dm +++ b/code/game/machinery/computer/camera.dm @@ -41,6 +41,9 @@ var/cameras[0] for(var/obj/machinery/camera/C in cameranet.cameras) + if(!can_access_camera(C)) + continue + var/cam[0] cam["name"] = sanitize(C.c_tag) cam["deact"] = !C.can_use() From fa931ae9a9620af238c3fe07983ad22fbbde572c Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Fri, 30 Jan 2015 10:37:42 +0100 Subject: [PATCH 126/133] Photo cache improvements. According to http://www.byond.com/docs/ref/info.html#/proc/browse_rsc browse_rsc() does not resend already cached data, however there is likely also a check to ensure that this data is up to date (using checksums or otherwise) or clients would only ever see the first photo they viewed in a given round. This small change attempts to ensure that a given photo only has to be downloaded once by appending the photo id to the file name, reducing the risk of #7966 happening. --- code/modules/paperwork/photography.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/paperwork/photography.dm b/code/modules/paperwork/photography.dm index 1a93e87539..2dc370406b 100644 --- a/code/modules/paperwork/photography.dm +++ b/code/modules/paperwork/photography.dm @@ -57,10 +57,10 @@ var/global/photo_count = 0 user << "It is too far away." /obj/item/weapon/photo/proc/show(mob/user as mob) - user << browse_rsc(img, "tmp_photo.png") + user << browse_rsc(img, "tmp_photo_[id].png") user << browse("[name]" \ + "" \ - + "" \ + + "" \ + "[scribble ? "
Written on the back:
[scribble]" : ""]"\ + "", "window=book;size=[64*photo_size]x[scribble ? 400 : 64*photo_size]") onclose(user, "[name]") From 2433c8f4bd125c0df3416c54157735d77ce449d1 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Fri, 30 Jan 2015 19:08:24 +0100 Subject: [PATCH 127/133] Isolation Cell Fixes Fixes bad door/button tags. Some fool, certainly not me, had done some copy pasting. The vent/scrubbers in each cell now form loops, allowing for easy temperature changes without emptying the scrubber contents into a canister. Most importantly this saves on power because a canister no longer has to be pumped full with super-heated gases, reducing the risk of an early power failure on the outpost. --- maps/exodus-5.dmm | 63 ++++++++++++++++++++++------------------------- 1 file changed, 30 insertions(+), 33 deletions(-) diff --git a/maps/exodus-5.dmm b/maps/exodus-5.dmm index bb8c4fc319..94c371d1eb 100644 --- a/maps/exodus-5.dmm +++ b/maps/exodus-5.dmm @@ -683,13 +683,13 @@ "ng" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor,/area/research_outpost/filtering) "nh" = (/obj/machinery/atmospherics/unary/heater{dir = 4},/turf/simulated/floor,/area/research_outpost/iso1_access) "ni" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/manifold/hidden/yellow{tag = "icon-map (NORTH)"; icon_state = "map"; dir = 1},/turf/simulated/floor,/area/research_outpost/iso1_access) -"nj" = (/obj/machinery/portable_atmospherics/canister/air,/obj/machinery/atmospherics/pipe/simple/hidden/universal,/obj/machinery/atmospherics/portables_connector{dir = 8},/turf/simulated/floor,/area/research_outpost/iso1_access) +"nj" = (/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/research_outpost/iso3) "nk" = (/obj/machinery/atmospherics/unary/heater{dir = 4},/turf/simulated/floor,/area/research_outpost/iso2_access) "nl" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/manifold/hidden/yellow{tag = "icon-map (NORTH)"; icon_state = "map"; dir = 1},/turf/simulated/floor,/area/research_outpost/iso2_access) -"nm" = (/obj/machinery/portable_atmospherics/canister/air,/obj/machinery/atmospherics/pipe/simple/hidden/universal,/obj/machinery/atmospherics/portables_connector{dir = 8},/turf/simulated/floor,/area/research_outpost/iso2_access) +"nm" = (/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/research_outpost/iso1) "nn" = (/obj/machinery/atmospherics/unary/heater{dir = 4},/turf/simulated/floor,/area/research_outpost/iso3_access) "no" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/manifold/hidden/yellow{tag = "icon-map (NORTH)"; icon_state = "map"; dir = 1},/turf/simulated/floor,/area/research_outpost/iso3_access) -"np" = (/obj/machinery/portable_atmospherics/canister/air,/obj/machinery/atmospherics/pipe/simple/hidden/universal,/obj/machinery/atmospherics/portables_connector{dir = 8},/turf/simulated/floor,/area/research_outpost/iso3_access) +"np" = (/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/research_outpost/iso2) "nq" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/research_outpost/maintstore2) "nr" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/research_outpost/maintstore2) "ns" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/research_outpost/longtermstorage) @@ -719,14 +719,14 @@ "nQ" = (/obj/machinery/atmospherics/portables_connector,/turf/simulated/floor,/area/research_outpost/filtering) "nR" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor,/area/research_outpost/filtering) "nS" = (/obj/machinery/atmospherics/unary/freezer{dir = 4; icon_state = "freezer"},/turf/simulated/floor,/area/research_outpost/iso1_access) -"nT" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/manifold/hidden/yellow{tag = "icon-map (EAST)"; icon_state = "map"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/research_outpost/iso1_access) -"nU" = (/obj/machinery/door_control{id = "riso1"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 0; pixel_y = -25; req_access_txt = "0"; specialfunctions = 4},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/research_outpost/iso1_access) +"nT" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock"},/obj/machinery/door/airlock/external{id_tag = "riso3"; name = "Access Airlock"; req_access_txt = "65"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/turf/simulated/floor,/area/research_outpost/iso3) +"nU" = (/obj/machinery/atmospherics/omni/filter{tag_east = 1; tag_north = 6; tag_west = 2},/turf/simulated/floor,/area/research_outpost/filtering) "nV" = (/obj/machinery/atmospherics/unary/freezer{dir = 4; icon_state = "freezer"},/turf/simulated/floor,/area/research_outpost/iso2_access) -"nW" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/manifold/hidden/yellow{tag = "icon-map (EAST)"; icon_state = "map"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/research_outpost/iso2_access) -"nX" = (/obj/machinery/door_control{id = "riso2"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 0; pixel_y = -25; req_access_txt = "0"; specialfunctions = 4},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/research_outpost/iso2_access) +"nW" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock"},/obj/machinery/door/airlock/external{id_tag = "riso2"; name = "Access Airlock"; req_access_txt = "65"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/turf/simulated/floor,/area/research_outpost/iso2) +"nX" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock"},/obj/machinery/door/airlock/external{id_tag = "riso1"; name = "Access Airlock"; req_access_txt = "65"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/turf/simulated/floor,/area/research_outpost/iso1) "nY" = (/obj/machinery/atmospherics/unary/freezer{dir = 4; icon_state = "freezer"},/turf/simulated/floor,/area/research_outpost/iso3_access) -"nZ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/manifold/hidden/yellow{tag = "icon-map (EAST)"; icon_state = "map"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/research_outpost/iso3_access) -"oa" = (/obj/machinery/door_control{id = "riso3"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 0; pixel_y = -25; req_access_txt = "0"; specialfunctions = 4},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/research_outpost/iso3_access) +"nZ" = (/obj/machinery/alarm/monitor/isolation{alarm_id = "isolation_one"; pixel_y = 22},/obj/machinery/atmospherics/unary/vent_pump{dir = 4; use_power = 0},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/research_outpost/iso1) +"oa" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/manifold/hidden/yellow,/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/research_outpost/iso2) "ob" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/research_outpost/maintstore2) "oc" = (/obj/structure/dispenser,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/plating,/area/research_outpost/maintstore2) "od" = (/turf/simulated/floor{tag = "icon-vault (EAST)"; icon_state = "vault"; dir = 4},/area/research_outpost/longtermstorage) @@ -752,14 +752,14 @@ "ox" = (/obj/machinery/conveyor{dir = 2; id = "anotempload"},/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 8},/area/mine/explored) "oy" = (/obj/machinery/conveyor{dir = 1; id = "anosample"},/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 4},/area/mine/explored) "oz" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/turf/simulated/floor,/area/research_outpost/filtering) -"oA" = (/obj/machinery/atmospherics/omni/filter,/turf/simulated/floor,/area/research_outpost/filtering) +"oA" = (/obj/machinery/camera{c_tag = "Isolation Room Two"; dir = 8; network = list("Research","Anomaly Isolation")},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/research_outpost/iso2) "oB" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/turf/simulated/floor,/area/research_outpost/filtering) "oC" = (/turf/simulated/wall/r_wall,/area/research_outpost/iso1) -"oD" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock"},/obj/machinery/door/airlock/external{id_tag = "riso3"; name = "Access Airlock"; req_access_txt = "65"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/yellow{tag = "icon-intact (NORTH)"; icon_state = "intact"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/research_outpost/iso1) +"oD" = (/obj/machinery/alarm/monitor/isolation{alarm_id = "isolation_three"; pixel_y = 22},/obj/machinery/atmospherics/unary/vent_pump{dir = 4; use_power = 0},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/research_outpost/iso3) "oE" = (/turf/simulated/wall/r_wall,/area/research_outpost/iso2) -"oF" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock"},/obj/machinery/door/airlock/external{id_tag = "riso3"; name = "Access Airlock"; req_access_txt = "65"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/yellow{tag = "icon-intact (NORTH)"; icon_state = "intact"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/research_outpost/iso2) +"oF" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/manifold/hidden/yellow,/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/research_outpost/iso1) "oG" = (/turf/simulated/wall/r_wall,/area/research_outpost/iso3) -"oH" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock"},/obj/machinery/door/airlock/external{id_tag = "riso3"; name = "Access Airlock"; req_access_txt = "65"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/yellow{tag = "icon-intact (NORTH)"; icon_state = "intact"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/research_outpost/iso3) +"oH" = (/obj/machinery/camera{c_tag = "Isolation Room One"; dir = 8; network = list("Research","Anomaly Isolation")},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/research_outpost/iso1) "oI" = (/obj/structure/closet/hydrant{pixel_x = -32},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/plating,/area/research_outpost/maintstore2) "oJ" = (/obj/structure/table/rack,/obj/item/weapon/storage/box/gloves{pixel_x = 4; pixel_y = 5},/obj/item/weapon/storage/box/samplebags{pixel_x = 3; pixel_y = -3},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/item/weapon/storage/toolbox/emergency{pixel_x = 5; pixel_y = 5},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/turf/simulated/floor/plating,/area/research_outpost/maintstore2) "oK" = (/turf/simulated/wall/r_wall,/area/research_outpost/maintstore2) @@ -777,15 +777,15 @@ "oW" = (/obj/structure/table,/obj/item/weapon/storage/box/excavation,/obj/item/weapon/pickaxe,/obj/item/weapon/wrench,/obj/item/device/measuring_tape,/obj/item/stack/flag/green,/turf/simulated/floor,/area/research_outpost/gearstore) "oX" = (/obj/machinery/conveyor{dir = 2; id = "anominerals"},/obj/machinery/mineral/output,/turf/simulated/floor{icon_state = "floorgrime"},/area/research_outpost/tempstorage) "oY" = (/obj/machinery/light{dir = 8},/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"},/area/mine/explored) -"oZ" = (/obj/machinery/alarm/monitor/isolation{alarm_id = "isolation_one"; pixel_y = 22},/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 6; icon_state = "intact"; tag = "icon-intact-f (SOUTHEAST)"},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/research_outpost/iso1) -"pa" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/yellow{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/research_outpost/iso1) -"pb" = (/obj/machinery/camera{c_tag = "Isolation Room One"; dir = 8; network = list("Research","Anomaly Isolation")},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/research_outpost/iso1) -"pc" = (/obj/machinery/alarm/monitor/isolation{alarm_id = "isolation_two"; pixel_y = 22},/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 6; icon_state = "intact"; tag = "icon-intact-f (SOUTHEAST)"},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/research_outpost/iso2) -"pd" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/yellow{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/research_outpost/iso2) -"pe" = (/obj/machinery/camera{c_tag = "Isolation Room Two"; dir = 8; network = list("Research","Anomaly Isolation")},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/research_outpost/iso2) -"pf" = (/obj/machinery/alarm/monitor/isolation{alarm_id = "isolation_three"; pixel_y = 22},/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 6; icon_state = "intact"; tag = "icon-intact-f (SOUTHEAST)"},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/research_outpost/iso3) -"pg" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/yellow{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/research_outpost/iso3) -"ph" = (/obj/machinery/camera{c_tag = "Isolation Room Three"; dir = 8; network = list("Research","Anomaly Isolation")},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/research_outpost/iso3) +"oZ" = (/obj/machinery/alarm/monitor/isolation{alarm_id = "isolation_two"; pixel_y = 22},/obj/machinery/atmospherics/unary/vent_pump{dir = 4; use_power = 0},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/research_outpost/iso2) +"pa" = (/obj/machinery/camera{c_tag = "Isolation Room Three"; dir = 8; network = list("Research","Anomaly Isolation")},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/research_outpost/iso3) +"pb" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/manifold/hidden/yellow,/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/research_outpost/iso3) +"pc" = (/obj/machinery/portable_atmospherics/canister/air,/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/turf/simulated/floor,/area/research_outpost/iso3_access) +"pd" = (/obj/machinery/portable_atmospherics/canister/air,/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/turf/simulated/floor,/area/research_outpost/iso1_access) +"pe" = (/obj/machinery/portable_atmospherics/canister/air,/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/turf/simulated/floor,/area/research_outpost/iso2_access) +"pf" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/yellow,/turf/simulated/floor,/area/research_outpost/iso1_access) +"pg" = (/obj/machinery/door_control{id = "riso1"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 0; pixel_y = -25; req_access_txt = "0"; specialfunctions = 4},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/pipe/simple/hidden/yellow{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/turf/simulated/floor,/area/research_outpost/iso1_access) +"ph" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/yellow,/turf/simulated/floor,/area/research_outpost/iso2_access) "pi" = (/obj/structure/table/rack,/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/reagent_containers/spray/cleaner,/turf/simulated/floor/plating,/area/research_outpost/maintstore2) "pj" = (/obj/structure/table/rack,/obj/item/weapon/storage/box/lights/bulbs{pixel_x = 5; pixel_y = 5},/obj/item/weapon/storage/box/lights/tubes{pixel_x = -5; pixel_y = 5},/obj/item/weapon/storage/box/lights/mixed,/obj/machinery/light/small,/turf/simulated/floor/plating,/area/research_outpost/maintstore2) "pk" = (/obj/structure/transit_tube{icon_state = "D-SE"},/turf/simulated/mineral/random,/area/mine/unexplored) @@ -808,14 +808,11 @@ "pB" = (/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 10},/area/mine/explored) "pC" = (/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 6},/area/mine/explored) "pD" = (/obj/machinery/conveyor_switch{id = "anosample"; req_access_txt = "65"},/obj/structure/sign/securearea{desc = "A warning sign which reads 'MOVING PARTS'."; name = "\improper MOVING PARTS"; pixel_y = 32},/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"},/area/mine/explored) -"pE" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; use_power = 0},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/research_outpost/iso1) -"pF" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/research_outpost/iso1) +"pE" = (/obj/machinery/door_control{id = "riso2"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 0; pixel_y = -25; req_access_txt = "0"; specialfunctions = 4},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/pipe/simple/hidden/yellow{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/turf/simulated/floor,/area/research_outpost/iso2_access) +"pF" = (/obj/machinery/door_control{id = "riso3"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 0; pixel_y = -25; req_access_txt = "0"; specialfunctions = 4},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/pipe/simple/hidden/yellow{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/turf/simulated/floor,/area/research_outpost/iso3_access) "pG" = (/obj/structure/table,/obj/item/device/flashlight/lamp,/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/research_outpost/iso1) -"pH" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; use_power = 0},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/research_outpost/iso2) -"pI" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/research_outpost/iso2) +"pH" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/yellow,/turf/simulated/floor,/area/research_outpost/iso3_access) "pJ" = (/obj/structure/table,/obj/item/device/flashlight/lamp,/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/research_outpost/iso2) -"pK" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; use_power = 0},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/research_outpost/iso3) -"pL" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/research_outpost/iso3) "pM" = (/obj/structure/table,/obj/item/device/flashlight/lamp,/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/research_outpost/iso3) "pN" = (/obj/structure/transit_tube{icon_state = "D-SE"},/turf/simulated/wall/r_wall,/area/research_outpost/maintstore2) "pO" = (/obj/structure/transit_tube{icon_state = "E-SW"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/unexplored) @@ -1447,11 +1444,11 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaeaebkbkewgEkwkxkyjBkzkAhjkBbOdVkCewkBkwkCjIewbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkababababesesesesesesababababababkDkEaaaaaakFkGhZkHkIkJkKidkLkMkNkOkPkQijkRkSkTkUkUaMaMkVkWkWkXkWkYkYkZkYlalalblaaMlcaMldleiDlflgiDlhlikuljiDbAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeewewewewewewgDhilkkwhiiKllkBkBhlgFjFewkBeWfAqbewbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkababesesesgygygygyesesesabablnlolphRaaaaaalqlrhqhrlslslslslsltlsbcbcbcijlukUlvlwlxlylzlAkWlBlClDkYlElFlGlalHlIlJlalKlLldlMldiDiDiDlNlOlPjyiDbAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeewlQhijBqUewjzqcjAewiLewqZraqYewdVlYjEoNeWfzhiewbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkabababesesgygygygygygygygyesesabmambbimcaBaBaBdrdsaeaemdmemfmgmhmimjmkmlmmmnmompmqmrmsmtmungkWmwmxmykYmzmAmBlamCmDmElamFmGldmHmImJmKiDiDiDiDiDmLcTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabkewlQeWjBeWoOlYkwmMkwmNdVdVmOgFdVeWeWewhioNhihiewbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkababesesgygygygygygygygygygymQmRmSmRaaaaaaaaaaaaaaaaaemdmTmUmVmWmXmYmZnananbnckUndnelylynfmvkWnhninjkYnknlnmlannnonplanqnrldnsntntnuldnvagaBaBnwnxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabkbkewnyjBhieWpoeWlmggeWnAmNlmkCnBeWnCfAewmPeWiNdVewbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkabesmRgygygygygygygygygygygynDnEpnnGaaaaaaaaaaaaaaaaaemdmTmUnHnInJnKmUnLnanMijijnNnOlynPnQnRkWnSnTnUkYnVnWnXlanYnZoalaobocldodoeoeoeldofogbkaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabkbkbkewnynzhigEewoiewojokeweWewojokewhilYewghlZjEmPewbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkabesomgygygygygygygygygygygygyonlXnGaaaaaaaaaaaaaaaaaemdopmUoqmhorosotounaovijowoxoylyozoAoBoCoCoDoCoEoEoFoEoGoGoHoGoGoIoJoKldldldldoLoMabbkbkbkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabkbkbkbkbkbkewewewewewewoiewiNnCeWkzolhikzhiiNhhewooohoPoQewbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkabesmQgygygygygygygygygygygygyonnFnGaaaaaaaaaaaaaaaeaemdoRoSoTmWoUosoVoWnaoXijoYoxoylylylylyoCoZpapboEpcpdpeoGpfpgphoGpipjoKabbkabpkplpmabbkbkbkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabkbkbkbkbkbkbkbkbkbkbkbkewoiewnCfAlTkzlSeWkCewhifAewlRpppppqewadbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkabesesgygygyprgygygygygygygygypsptaeaaaaaaaaaaaaaeaeaemdmdpupvmdmdpwpxpwmdpypzpApBpCpDgygygyoCpEpFpGoEpHpIpJoGpKpLpMoGoKoKpNpOaiaipPogababbkbkbkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabkewlQeWjBeWoOlYkwmMkwmNdVdVmOgFdVeWeWewhioNhihiewbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkababesesgygygygygygygygygygymQmRmSmRaaaaaaaaaaaaaaaaaemdmTmUmVmWmXmYmZnananbnckUndnelylynfmvkWnhnipdkYnknlpelannnopclanqnrldnsntntnuldnvagaBaBnwnxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabkbkewnyjBhieWpoeWlmggeWnAmNlmkCnBeWnCfAewmPeWiNdVewbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkabesmRgygygygygygygygygygygynDnEpnnGaaaaaaaaaaaaaaaaaemdmTmUnHnInJnKmUnLnanMijijnNnOlynPnQnRkWnSpfpgkYnVphpElanYpHpFlaobocldodoeoeoeldofogbkaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabkbkbkewnynzhigEewoiewojokeweWewojokewhilYewghlZjEmPewbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkabesomgygygygygygygygygygygygyonlXnGaaaaaaaaaaaaaaaaaemdopmUoqmhorosotounaovijowoxoylyoznUoBoCoCnXoCoEoEnWoEoGoGnToGoGoIoJoKldldldldoLoMabbkbkbkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabkbkbkbkbkbkewewewewewewoiewiNnCeWkzolhikzhiiNhhewooohoPoQewbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkabesmQgygygygygygygygygygygygyonnFnGaaaaaaaaaaaaaaaeaemdoRoSoTmWoUosoVoWnaoXijoYoxoylylylylyoCnZoFoHoEoZoaoAoGoDpbpaoGpipjoKabbkabpkplpmabbkbkbkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabkbkbkbkbkbkbkbkbkbkbkbkewoiewnCfAlTkzlSeWkCewhifAewlRpppppqewadbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkabesesgygygyprgygygygygygygygypsptaeaaaaaaaaaaaaaeaeaemdmdpupvmdmdpwpxpwmdpypzpApBpCpDgygygyoCnmnmpGoEnpnppJoGnjnjpMoGoKoKpNpOaiaipPogababbkbkbkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabkbkbkbkbkbkbkbkbkbkbkbkewoiewkzeWdolWhifAiNewoiewewkBhipppqpRadadbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkabespSpTgypUpSpQgygygygygygygygypWpXaaaaaaaaaaaepYpZqalUlVqdqeqfmdqgqhqimdqjpzgygygygygygygyoCqkqlqmoCqnqoqpoEqqqrqsoGabauqtogquabababababbkbkbkbkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabkbkbkbkbkbkbkbkbkbkbkbkbkewoiewewewewewewewewewoiewvydVhidVpqqvadadbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkabespSgygygypSpQgygygygygygygyqwqxqyqzqzqzqzqzqzqAqBqCqDqDqEqFqFmdqGqHqImdqJgygygygygypzpzpzoCoCoCoCoCoEoEoEoEoGoGoGoGauqtogqKadqKababababbkbkbkbkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLaaaaaaaaaaqLbkbkbkbkbkbkbkbkbkbkbkbkbkbkewoioioioioioioioioioioiewkBhijEhijJewadadadbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkabesgygygygyqMqNgygygygygygygygyqOqPqPqPqPqPqPqPqPqOgygygygygygymdqQqRpwmdqSgygygygygyqTADqVaiaiaiaiqWaiaiaiaiaiqXAAACABogadadadqKkDabbkbkbkbkbkbkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa From 580c16d1df3452115aa5ff7f05e4048c97bc3268 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Fri, 30 Jan 2015 19:26:12 +0100 Subject: [PATCH 128/133] Sanitizes player input. Purges \red, \blue, \green, \b, \i, etc. due to abuse. --- code/__HELPERS/text.dm | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/code/__HELPERS/text.dm b/code/__HELPERS/text.dm index ac400269b5..6e7e828be3 100644 --- a/code/__HELPERS/text.dm +++ b/code/__HELPERS/text.dm @@ -42,15 +42,15 @@ index = findtext(t, char) return t -/proc/readd_quotes(var/t) - var/list/repl_chars = list(""" = "\"") - for(var/char in repl_chars) - var/index = findtext(t, char) - while(index) - t = copytext(t, 1, index) + repl_chars[char] + copytext(t, index+5) - index = findtext(t, char) - return t - +/proc/readd_quotes(var/t) + var/list/repl_chars = list(""" = "\"") + for(var/char in repl_chars) + var/index = findtext(t, char) + while(index) + t = copytext(t, 1, index) + repl_chars[char] + copytext(t, index+5) + index = findtext(t, char) + return t + //Runs byond's sanitization proc along-side sanitize_simple /proc/sanitize(var/t,var/list/repl_chars = null) return html_encode(sanitize_simple(t,repl_chars)) @@ -83,7 +83,7 @@ /proc/stripped_input(var/mob/user, var/message = "", var/title = "", var/default = "", var/max_length=MAX_MESSAGE_LEN) var/name = input(user, message, title, default) return strip_html_properly(name, max_length) - + // Used to get a trimmed, properly sanitized input, of max_length /proc/trim_strip_input(var/mob/user, var/message = "", var/title = "", var/default = "", var/max_length=MAX_MESSAGE_LEN) return trim(stripped_input(user, message, title, default, max_length)) @@ -326,7 +326,7 @@ proc/TextPreview(var/string,var/len=40) else return string else - return "[copytext(string, 1, 37)]..." + return "[copytext(string, 1, 37)]..." //This proc strips html properly, but it's not lazy like the other procs. //This means that it doesn't just remove < and > and call it a day. @@ -342,7 +342,7 @@ proc/TextPreview(var/string,var/len=40) input = copytext(input, 1, opentag) + copytext(input, (closetag + 1)) if(max_length) input = copytext(input,1,max_length) - return input + return sanitize(input) /proc/trim_strip_html_properly(var/input, var/max_length = MAX_MESSAGE_LEN) return trim(strip_html_properly(input, max_length)) From 683963f1ec081b20b6566a642f8468a8b52c5c72 Mon Sep 17 00:00:00 2001 From: Jamini Date: Fri, 30 Jan 2015 18:22:58 -0500 Subject: [PATCH 129/133] Changed prefix on gloves modified for alien use from "Mangled" to "Modified". Removed stungloves.dm on request of Zuhayr. Signed-off-by: Jamini --- code/modules/clothing/clothing.dm | 4 +- code/modules/clothing/gloves/stungloves.dm | 87 ---------------------- 2 files changed, 2 insertions(+), 89 deletions(-) delete mode 100644 code/modules/clothing/gloves/stungloves.dm diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index 57dd80bde0..f6dc6cc337 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -231,7 +231,7 @@ BLIND // can't see anything user.visible_message("\red [user] cuts the fingertips off of the [src].","\red You cut the fingertips off of the [src].") clipped = 1 - name = "mangled [name]" + name = "modified [name]" desc = "[desc]
They have had the fingertips cut off of them." if("exclude" in species_restricted) species_restricted -= "Unathi" @@ -535,7 +535,7 @@ BLIND // can't see anything else body_parts_covered = initial(body_parts_covered) item_color = initial(item_color) - + update_clothing_icon() else usr << "You cannot roll down the uniform!" diff --git a/code/modules/clothing/gloves/stungloves.dm b/code/modules/clothing/gloves/stungloves.dm deleted file mode 100644 index 976b16e7e6..0000000000 --- a/code/modules/clothing/gloves/stungloves.dm +++ /dev/null @@ -1,87 +0,0 @@ -/obj/item/clothing/gloves/attackby(obj/item/weapon/W, mob/user) - if(istype(src, /obj/item/clothing/gloves/boxing)) //quick fix for stunglove overlay not working nicely with boxing gloves. - user << "That won't work." //i'm not putting my lips on that! - ..() - return - - //add wires - if(istype(W, /obj/item/stack/cable_coil)) - var/obj/item/stack/cable_coil/C = W - if (clipped) - user << "The [src] are too badly mangled for wiring." - return - - if(wired) - user << "The [src] are already wired." - return - - if(C.get_amount() < 2) - user << "There is not enough wire to cover the [src]." - return - - C.use(2) - wired = 1 - siemens_coefficient = 3.0 - user << "You wrap some wires around the [src]." - update_icon() - return - - //add cell - else if(istype(W, /obj/item/weapon/cell)) - if(!wired) - user << "The [src] need to be wired first." - else if(!cell) - user.drop_item() - W.loc = src - cell = W - user << "You attach the [cell] to the [src]." - update_icon() - else - user << "A [cell] is already attached to the [src]." - return - - else if(istype(W, /obj/item/weapon/wirecutters) || istype(W, /obj/item/weapon/scalpel)) - - //stunglove stuff - if(cell) - cell.updateicon() - user << "You cut the [cell] away from the [src]." - cell.loc = get_turf(src.loc) - cell = null - update_icon() - return - if(wired) //wires disappear into the void because fuck that shit - wired = 0 - siemens_coefficient = initial(siemens_coefficient) - user << "You cut the wires away from the [src]." - update_icon() - return - - //clipping fingertips - if(!clipped) - playsound(src.loc, 'sound/items/Wirecutter.ogg', 100, 1) - user.visible_message("\red [user] cuts the fingertips off of the [src].","\red You cut the fingertips off of the [src].") - - clipped = 1 - name = "mangled [name]" - desc = "[desc]
They have had the fingertips cut off of them." - if("exclude" in species_restricted) - species_restricted -= "Unathi" - species_restricted -= "Tajara" - return - else - user << "The [src] have already been clipped!" - update_icon() - return - - return - - ..() - -/obj/item/clothing/gloves/update_icon() - ..() - overlays.Cut() - if(wired) - overlays += "gloves_wire" - if(cell) - overlays += "gloves_cell" From 75e04581026a074aac3204689678344d4abe1d90 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Fri, 30 Jan 2015 22:02:07 -0500 Subject: [PATCH 130/133] Fixes voidsuit attachment deployment not checking mob_can_equip() --- code/modules/clothing/spacesuits/void/void.dm | 19 ++++++------------- code/modules/mob/mob.dm | 4 ++-- 2 files changed, 8 insertions(+), 15 deletions(-) diff --git a/code/modules/clothing/spacesuits/void/void.dm b/code/modules/clothing/spacesuits/void/void.dm index 2c5b9f2378..1cab4a659c 100644 --- a/code/modules/clothing/spacesuits/void/void.dm +++ b/code/modules/clothing/spacesuits/void/void.dm @@ -75,20 +75,15 @@ if(helmet) if(H.head) M << "You are unable to deploy your suit's helmet as \the [H.head] is in the way." - else + else if (H.equip_to_slot_if_possible(helmet, slot_head)) M << "Your suit's helmet deploys with a hiss." - //TODO: Species check, skull damage for forcing an unfitting helmet on? - helmet.loc = H - H.equip_to_slot(helmet, slot_head) helmet.canremove = 0 if(boots) if(H.shoes) M << "You are unable to deploy your suit's magboots as \the [H.shoes] are in the way." - else + else if (H.equip_to_slot_if_possible(boots, slot_shoes)) M << "Your suit's boots deploy with a hiss." - boots.loc = H - H.equip_to_slot(boots, slot_shoes) boots.canremove = 0 /obj/item/clothing/suit/space/void/dropped() @@ -139,12 +134,10 @@ if(H.head) H << "You cannot deploy your helmet while wearing another helmet." return - //TODO: Species check, skull damage for forcing an unfitting helmet on? - helmet.loc = H - helmet.pickup(H) - H.equip_to_slot(helmet, slot_head) - helmet.canremove = 0 - H << "You deploy your suit helmet, sealing you off from the world." + if(H.equip_to_slot_if_possible(helmet, slot_head)) + helmet.pickup(H) + helmet.canremove = 0 + H << "You deploy your suit helmet, sealing you off from the world." helmet.update_light(H) /obj/item/clothing/suit/space/void/attackby(obj/item/W as obj, mob/user as mob) diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index 5088f98108..82a5384001 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -130,14 +130,14 @@ return 1 return 0 -//This is a SAFE proc. Use this instead of equip_to_splot()! +//This is a SAFE proc. Use this instead of equip_to_slot()! //set del_on_fail to have it delete W if it fails to equip //set disable_warning to disable the 'you are unable to equip that' warning. //unset redraw_mob to prevent the mob from being redrawn at the end. /mob/proc/equip_to_slot_if_possible(obj/item/W as obj, slot, del_on_fail = 0, disable_warning = 0, redraw_mob = 1) if(!istype(W)) return 0 - if(!W.mob_can_equip(src, slot, disable_warning)) + if(!W.mob_can_equip(src, slot)) if(del_on_fail) del(W) else From f8d79ef62a258a22f7251609758fa7edf8892af7 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Sat, 31 Jan 2015 00:22:16 -0500 Subject: [PATCH 131/133] Gives sec ERT hardsuits mounted eguns Also relocates mounted gun code. --- baystation12.dme | 1 + .../clothing/spacesuits/rig/modules/combat.dm | 12 ++++- .../spacesuits/rig/modules/rig_weapons.dm | 51 +++++++++++++++++++ .../clothing/spacesuits/rig/suits/ert.dm | 1 + code/modules/projectiles/guns/energy/laser.dm | 16 ------ .../projectiles/guns/energy/nuclear.dm | 17 ------- 6 files changed, 64 insertions(+), 34 deletions(-) create mode 100644 code/modules/clothing/spacesuits/rig/modules/rig_weapons.dm diff --git a/baystation12.dme b/baystation12.dme index 669fe0408a..ae1808a241 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -832,6 +832,7 @@ #include "code\modules\clothing\spacesuits\rig\modules\computer.dm" #include "code\modules\clothing\spacesuits\rig\modules\modules.dm" #include "code\modules\clothing\spacesuits\rig\modules\ninja.dm" +#include "code\modules\clothing\spacesuits\rig\modules\rig_weapons.dm" #include "code\modules\clothing\spacesuits\rig\modules\utility.dm" #include "code\modules\clothing\spacesuits\rig\modules\vision.dm" #include "code\modules\clothing\spacesuits\rig\suits\alien.dm" diff --git a/code/modules/clothing/spacesuits/rig/modules/combat.dm b/code/modules/clothing/spacesuits/rig/modules/combat.dm index f8457375cc..605bff6be8 100644 --- a/code/modules/clothing/spacesuits/rig/modules/combat.dm +++ b/code/modules/clothing/spacesuits/rig/modules/combat.dm @@ -111,6 +111,16 @@ gun.Fire(target,holder.wearer) return 1 +/obj/item/rig_module/mounted/egun + + name = "mounted energy gun" + desc = "A forearm-mounted energy projector." + + interface_name = "mounted energy gun" + interface_desc = "A forearm-mounted suit-powered energy gun." + + gun_type = /obj/item/weapon/gun/energy/gun/mounted + /obj/item/rig_module/mounted/taser name = "mounted taser" @@ -124,7 +134,7 @@ interface_name = "mounted energy gun" interface_desc = "A shoulder-mounted cell-powered energy gun." - gun_type = /obj/item/weapon/gun/energy/gun/mounted + gun_type = /obj/item/weapon/gun/energy/taser/mounted /obj/item/rig_module/mounted/energy_blade diff --git a/code/modules/clothing/spacesuits/rig/modules/rig_weapons.dm b/code/modules/clothing/spacesuits/rig/modules/rig_weapons.dm new file mode 100644 index 0000000000..d8373e8bbe --- /dev/null +++ b/code/modules/clothing/spacesuits/rig/modules/rig_weapons.dm @@ -0,0 +1,51 @@ +//Weapon types intended to be used with rig modules + +/obj/item/weapon/gun/energy/lasercannon/mounted/load_into_chamber() + if(in_chamber) + return 1 + var/obj/item/rig_module/module = loc + if(!istype(module)) + return 0 + if(module.holder && module.holder.wearer) + var/mob/living/carbon/human/H = module.holder.wearer + if(istype(H) && H.back) + var/obj/item/weapon/rig/suit = H.back + if(istype(suit) && suit.cell && suit.cell.charge >= 250) + suit.cell.use(250) + in_chamber = new /obj/item/projectile/beam/heavylaser(src) + return 1 + return 0 + +/obj/item/weapon/gun/energy/gun/mounted/load_into_chamber() + if(in_chamber) + return 1 + var/obj/item/rig_module/module = loc + if(!istype(module)) + return 0 + if(module.holder && module.holder.wearer) + var/mob/living/carbon/human/H = module.holder.wearer + if(istype(H) && H.back) + var/obj/item/weapon/rig/suit = H.back + if(istype(suit) && suit.cell && suit.cell.charge >= 250) + suit.cell.use(250) + var/prog_path = text2path(projectile_type) + in_chamber = new prog_path(src) + return 1 + return 0 + +/obj/item/weapon/gun/energy/taser/mounted/load_into_chamber() + if(in_chamber) + return 1 + var/obj/item/rig_module/module = loc + if(!istype(module)) + return 0 + if(module.holder && module.holder.wearer) + var/mob/living/carbon/human/H = module.holder.wearer + if(istype(H) && H.back) + var/obj/item/weapon/rig/suit = H.back + if(istype(suit) && suit.cell && suit.cell.charge >= 250) + suit.cell.use(250) + var/prog_path = text2path(projectile_type) + in_chamber = new prog_path(src) + return 1 + return 0 \ No newline at end of file diff --git a/code/modules/clothing/spacesuits/rig/suits/ert.dm b/code/modules/clothing/spacesuits/rig/suits/ert.dm index 6980835c23..d3db4baf84 100644 --- a/code/modules/clothing/spacesuits/rig/suits/ert.dm +++ b/code/modules/clothing/spacesuits/rig/suits/ert.dm @@ -61,4 +61,5 @@ /obj/item/rig_module/ai_container, /obj/item/rig_module/maneuvering_jets, /obj/item/rig_module/grenade_launcher, + /obj/item/rig_module/mounted/egun, ) \ No newline at end of file diff --git a/code/modules/projectiles/guns/energy/laser.dm b/code/modules/projectiles/guns/energy/laser.dm index 394ac3a8f6..40a4b06689 100644 --- a/code/modules/projectiles/guns/energy/laser.dm +++ b/code/modules/projectiles/guns/energy/laser.dm @@ -77,22 +77,6 @@ obj/item/weapon/gun/energy/laser/retro isHandgun() return 0 -/obj/item/weapon/gun/energy/lasercannon/mounted/load_into_chamber() - if(in_chamber) - return 1 - var/obj/item/rig_module/module = loc - if(!istype(module)) - return 0 - if(module.holder && module.holder.wearer) - var/mob/living/carbon/human/H = module.holder.wearer - if(istype(H) && H.back) - var/obj/item/weapon/rig/suit = H.back - if(istype(suit) && suit.cell && suit.cell.charge >= 250) - suit.cell.use(250) - in_chamber = new /obj/item/projectile/beam/heavylaser(src) - return 1 - return 0 - /obj/item/weapon/gun/energy/lasercannon/cyborg/load_into_chamber() if(in_chamber) return 1 diff --git a/code/modules/projectiles/guns/energy/nuclear.dm b/code/modules/projectiles/guns/energy/nuclear.dm index a52119c168..e2a55a5ed4 100644 --- a/code/modules/projectiles/guns/energy/nuclear.dm +++ b/code/modules/projectiles/guns/energy/nuclear.dm @@ -35,23 +35,6 @@ else user.update_inv_r_hand() -/obj/item/weapon/gun/energy/gun/mounted/load_into_chamber() - if(in_chamber) - return 1 - var/obj/item/rig_module/module = loc - if(!istype(module)) - return 0 - if(module.holder && module.holder.wearer) - var/mob/living/carbon/human/H = module.holder.wearer - if(istype(H) && H.back) - var/obj/item/weapon/rig/suit = H.back - if(istype(suit) && suit.cell && suit.cell.charge >= 250) - suit.cell.use(250) - var/prog_path = text2path(projectile_type) - in_chamber = new prog_path(src) - return 1 - return 0 - /obj/item/weapon/gun/energy/gun/nuclear name = "advanced energy gun" desc = "An energy gun with an experimental miniaturized reactor." From bbe2abd6776bc5c204d2f7d629b47872a409586a Mon Sep 17 00:00:00 2001 From: ccomp5950 Date: Sat, 31 Jan 2015 19:49:25 -0500 Subject: [PATCH 132/133] Robitics maint relabled to be maint and set to proper access. Fixes #8004 --- maps/exodus-1.dmm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/maps/exodus-1.dmm b/maps/exodus-1.dmm index c7372747c7..976ce9fc56 100644 --- a/maps/exodus-1.dmm +++ b/maps/exodus-1.dmm @@ -3329,7 +3329,7 @@ "bma" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor{dir = 2; icon_state = "purple"},/area/hallway/primary/starboard) "bmb" = (/turf/simulated/floor{dir = 6; icon_state = "purple"},/area/hallway/primary/starboard) "bmc" = (/turf/simulated/wall/r_wall,/area/hallway/secondary/exit) -"bmd" = (/obj/machinery/door/airlock{name = "Starboard Emergency Storage"; req_access_txt = "0"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hallway/secondary/exit) +"bmd" = (/obj/machinery/door/airlock/maintenance{name = "Maintenance Access"; req_access_txt = "12"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hallway/secondary/exit) "bme" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/wall,/area/hallway/secondary/exit) "bmf" = (/obj/machinery/light{dir = 4},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/hallway/secondary/entry/aft) "bmg" = (/obj/machinery/conveyor{dir = 1; id = "garbage"},/turf/simulated/floor/plating,/area/maintenance/disposal) From b23b5b5d41f7a0d5719ff6d8edfa0bd948c827e9 Mon Sep 17 00:00:00 2001 From: ccomp5950 Date: Sat, 31 Jan 2015 19:50:07 -0500 Subject: [PATCH 133/133] Removes categorization of Ahelps. --- code/modules/admin/verbs/adminhelp.dm | 89 +++------------------------ code/modules/admin/verbs/adminpm.dm | 2 +- 2 files changed, 8 insertions(+), 83 deletions(-) diff --git a/code/modules/admin/verbs/adminhelp.dm b/code/modules/admin/verbs/adminhelp.dm index 39a5fa778c..9e5260fbd6 100644 --- a/code/modules/admin/verbs/adminhelp.dm +++ b/code/modules/admin/verbs/adminhelp.dm @@ -1,18 +1,8 @@ -#define AHELP_ADMIN 1 -#define AHELP_MENTOR 2 -#define AHELP_DEV 3 //This is a list of words which are ignored by the parser when comparing message contents for names. MUST BE IN LOWER CASE! var/list/adminhelp_ignored_words = list("unknown","the","a","an","of","monkey","alien","as") -var/list/adminhelp_categories = list("Mentor - Gameplay/Roleplay question" = AHELP_MENTOR,\ - "Admin - Rule/Gameplay issue" = AHELP_ADMIN,\ - "Dev - Bug report" = AHELP_DEV) - -/client/proc/adminhelp_admin(message) - adminhelp("Admin - Rule/Gameplay issue", message) - -/client/verb/adminhelp(selected_type in adminhelp_categories, msg as text) +/client/verb/adminhelp(msg as text) set category = "Admin" set name = "Adminhelp" @@ -27,18 +17,6 @@ var/list/adminhelp_categories = list("Mentor - Gameplay/Roleplay question" = AHE adminhelped = 1 //Determines if they get the message to reply by clicking the name. - /**src.verbs -= /client/verb/adminhelp - - spawn(1200) - src.verbs += /client/verb/adminhelp // 2 minute cool-down for adminhelps - src.verbs += /client/verb/adminhelp // 2 minute cool-down for adminhelps//Go to hell - **/ - - if(!msg || alert("The following message will be sent to staff that administers\n the '[selected_type]' category:\n\n[msg]\n", "Admin Help", "Ok", "Cancel") == "Cancel") - return - - var/selected_upper = uppertext(selected_type) - if(src.handle_spam_prevention(msg,MUTE_ADMINHELP)) return @@ -109,62 +87,12 @@ var/list/adminhelp_categories = list("Mentor - Gameplay/Roleplay question" = AHE var/ai_cl if(ai_found) ai_cl = " (CL)" - var/mentor_msg = "\blue [selected_upper]: [get_options_bar(mob, 0, 0, 1, 0)][ai_cl]: [msg]" - var/dev_msg = "\blue [selected_upper]: [get_options_bar(mob, 3, 0, 1, 0)][ai_cl]: [msg]" - msg = "\blue [selected_upper]: [get_options_bar(mob, 2, 1, 1)][ai_cl]: [msg]" + var/mentor_msg = "\blue Request for Help: [get_options_bar(mob, 0, 0, 1, 0)][ai_cl]: [msg]" + msg = "\blue Request for Help:: [get_options_bar(mob, 2, 1, 1)][ai_cl]: [msg]" var/admin_number_afk = 0 - var/list/mentorholders = list() - var/list/debugholders = list() - var/list/adminholders = list() for(var/client/X in admins) - if(R_MENTOR & X.holder.rights && !(R_ADMIN & X.holder.rights)) // we don't want to count admins twice. This list should be JUST mentors - mentorholders += X - if(X.is_afk()) - admin_number_afk++ - if(R_DEBUG & X.holder.rights) // Looking for anyone with +Debug which will be admins, developers, and developer mentors - debugholders += X - if(!(R_ADMIN & X.holder.rights)) - if(X.is_afk()) - admin_number_afk++ - if(R_ADMIN | R_MOD & X.holder.rights) // just admins here please - adminholders += X - if(X.is_afk()) - admin_number_afk++ - - switch(adminhelp_categories[selected_type]) - if(AHELP_MENTOR) - if(mentorholders.len) - for(var/client/X in mentorholders) // Mentors get a message without buttons and no character name - if(X.prefs.toggles & SOUND_ADMINHELP) - X << 'sound/effects/adminhelp.ogg' - X << mentor_msg - if(adminholders.len) - for(var/client/X in adminholders) // Admins get the full monty - if(X.prefs.toggles & SOUND_ADMINHELP) - X << 'sound/effects/adminhelp.ogg' - X << msg - if(AHELP_ADMIN) - if(adminholders.len) - for(var/client/X in adminholders) // Admins of course get everything in their helps - if(X.prefs.toggles & SOUND_ADMINHELP) - X << 'sound/effects/adminhelp.ogg' - X << msg - if(AHELP_DEV) - if(debugholders.len) - for(var/client/X in debugholders) - if(R_ADMIN | R_MOD & X.holder.rights) // Admins get every button & special highlights in theirs - if(X.prefs.toggles & SOUND_ADMINHELP) - X << 'sound/effects/adminhelp.ogg' - X << msg - else - if (R_DEBUG & X.holder.rights) // Just devs or devmentors get non-highlighted names, but they do get JMP and VV for their bug reports. - if(X.prefs.toggles & SOUND_ADMINHELP) - X << 'sound/effects/adminhelp.ogg' - X << dev_msg - - /*for(var/client/X in admins) if((R_ADMIN|R_MOD|R_MENTOR) & X.holder.rights) if(X.is_afk()) admin_number_afk++ @@ -173,20 +101,17 @@ var/list/adminhelp_categories = list("Mentor - Gameplay/Roleplay question" = AHE if(X.holder.rights == R_MENTOR) X << mentor_msg // Mentors won't see coloring of names on people with special_roles (Antags, etc.) else - X << msg*/ + X << msg //show it to the person adminhelping too - src << "PM to-Staff ([selected_type]): [original_msg]" + src << "PM to-Staff : [original_msg]" var/admin_number_present = admins.len - admin_number_afk log_admin("HELP: [key_name(src)]: [original_msg] - heard by [admin_number_present] non-AFK admins.") if(admin_number_present <= 0) - send2adminirc("[selected_upper] from [key_name(src)]: [html_decode(original_msg)] - !![admin_number_afk ? "All admins AFK ([admin_number_afk])" : "No admins online"]!!") + send2adminirc("Request for Help from [key_name(src)]: [html_decode(original_msg)] - !![admin_number_afk ? "All admins AFK ([admin_number_afk])" : "No admins online"]!!") else - send2adminirc("[selected_upper] from [key_name(src)]: [html_decode(original_msg)]") + send2adminirc("Request for Help from [key_name(src)]: [html_decode(original_msg)]") feedback_add_details("admin_verb","AH") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! return -#undef AHELP_ADMIN -#undef AHELP_MENTOR -#undef AHELP_DEV \ No newline at end of file diff --git a/code/modules/admin/verbs/adminpm.dm b/code/modules/admin/verbs/adminpm.dm index 0b3f82aaa1..1c358c8cf4 100644 --- a/code/modules/admin/verbs/adminpm.dm +++ b/code/modules/admin/verbs/adminpm.dm @@ -96,7 +96,7 @@ if(sender) C.cmd_admin_pm(sender,reply) //sender is still about, let's reply to them else - adminhelp_admin(reply) //sender has left, adminhelp instead + adminhelp(reply) //sender has left, adminhelp instead return src << "" + create_text_tag("pm_out_alt", "PM", src) + " to [get_options_bar(C, holder ? 1 : 0, holder ? 1 : 0, 1)]: [msg]" C << "" + create_text_tag("pm_in", "", C) + " \[[recieve_pm_type] PM\] [get_options_bar(src, C.holder ? 1 : 0, C.holder ? 1 : 0, 1)]: [msg]"
Command
{{:value.name}}{{:value.rank}}{{:value.active}}
Security
{{:value.name}}{{:value.rank}}{{:value.active}}
Engineering
{{:value.name}}{{:value.rank}}{{:value.active}}
Medical
{{:value.name}}{{:value.rank}}{{:value.active}}
Science
{{:value.name}}{{:value.rank}}{{:value.active}}
Civilian
{{:value.name}}{{:value.rank}}{{:value.active}}
Misc
{{:value.name}}{{:value.rank}}{{:value.active}}