From 8e724db29952b49e7086387c7bfc97ee0270877e Mon Sep 17 00:00:00 2001 From: mochi Date: Tue, 1 Sep 2020 12:44:40 +0200 Subject: [PATCH 01/30] Fix unusable "sign up" chat btn when ghost polling --- code/_onclick/hud/alert.dm | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/code/_onclick/hud/alert.dm b/code/_onclick/hud/alert.dm index 7b53bce22de..a07a29ccc53 100644 --- a/code/_onclick/hud/alert.dm +++ b/code/_onclick/hud/alert.dm @@ -570,10 +570,7 @@ so as to remain in compliance with the most up-to-date laws." G.ManualFollow(target) /obj/screen/alert/notify_action/Topic(href, href_list) - if(..()) - return TRUE - - if(href_list["signup"] && isobserver(usr) && poll?.sign_up(usr)) + if(href_list["signup"] && poll?.sign_up(usr)) display_signed_up() /obj/screen/alert/notify_action/proc/display_signed_up() From aaa79c5a3ed2e7d692ea7533d6751e7e377a6a61 Mon Sep 17 00:00:00 2001 From: mochi Date: Wed, 2 Sep 2020 12:05:06 +0200 Subject: [PATCH 02/30] Fix gimmick teams, missing poll icon --- code/__HELPERS/game.dm | 4 ++-- code/controllers/subsystem/ghost_spawns.dm | 7 ++++--- code/modules/admin/topic.dm | 2 +- code/modules/admin/verbs/gimmick_team.dm | 4 +++- .../admin/verbs/infiltratorteam_syndicate.dm | 4 ++-- code/modules/admin/verbs/one_click_antag.dm | 4 ++-- .../admin/verbs/striketeam_syndicate.dm | 3 ++- .../antagonists/_common/antag_spawner.dm | 4 ++-- icons/obj/cardboard_cutout.dmi | Bin 17062 -> 18627 bytes 9 files changed, 18 insertions(+), 14 deletions(-) diff --git a/code/__HELPERS/game.dm b/code/__HELPERS/game.dm index 181d2a5140c..d6c0f676ffc 100644 --- a/code/__HELPERS/game.dm +++ b/code/__HELPERS/game.dm @@ -425,8 +425,8 @@ if(pressure <= LAVALAND_EQUIPMENT_EFFECT_PRESSURE) . = TRUE -/proc/pollCandidatesWithVeto(adminclient, adminusr, max_slots, Question, be_special_type, antag_age_check = FALSE, poll_time = 300, ignore_respawnability = FALSE, min_hours = FALSE, flashwindow = TRUE, check_antaghud = TRUE, source) - var/list/willing_ghosts = SSghost_spawns.poll_candidates(Question, be_special_type, antag_age_check, poll_time, ignore_respawnability, min_hours, flashwindow, check_antaghud, source) +/proc/pollCandidatesWithVeto(adminclient, adminusr, max_slots, Question, be_special_type, antag_age_check = FALSE, poll_time = 300, ignore_respawnability = FALSE, min_hours = FALSE, flashwindow = TRUE, check_antaghud = TRUE, source, role_cleanname) + var/list/willing_ghosts = SSghost_spawns.poll_candidates(Question, be_special_type, antag_age_check, poll_time, ignore_respawnability, min_hours, flashwindow, check_antaghud, source, role_cleanname) var/list/selected_ghosts = list() if(!willing_ghosts.len) return selected_ghosts diff --git a/code/controllers/subsystem/ghost_spawns.dm b/code/controllers/subsystem/ghost_spawns.dm index ea0aefb88bd..d8a4f29e20d 100644 --- a/code/controllers/subsystem/ghost_spawns.dm +++ b/code/controllers/subsystem/ghost_spawns.dm @@ -41,9 +41,10 @@ SUBSYSTEM_DEF(ghost_spawns) * * flash_window - Whether the poll should flash a potential candidate's game window * * check_antaghud - Whether to filter out potential candidates who enabled AntagHUD * * source - The atom, atom prototype, icon or mutable appearance to display as an icon in the alert + * * role_cleanname - The name override to display to clients */ -/datum/controller/subsystem/ghost_spawns/proc/poll_candidates(question = "Would you like to play a special role?", role, antag_age_check = FALSE, poll_time = 30 SECONDS, ignore_respawnability = FALSE, min_hours = 0, flash_window = TRUE, check_antaghud = TRUE, source) - log_debug("Polling candidates [role ? "for [get_roletext(role)]" : "\"[question]\""] for [poll_time / 10] seconds") +/datum/controller/subsystem/ghost_spawns/proc/poll_candidates(question = "Would you like to play a special role?", role, antag_age_check = FALSE, poll_time = 30 SECONDS, ignore_respawnability = FALSE, min_hours = 0, flash_window = TRUE, check_antaghud = TRUE, source, role_cleanname) + log_debug("Polling candidates [role ? "for [role_cleanname || get_roletext(role)]" : "\"[question]\""] for [poll_time / 10] seconds") // Start firing polls_active = TRUE @@ -130,7 +131,7 @@ SUBSYSTEM_DEF(ghost_spawns) if(isatom(source)) act_jump = "\[Teleport]" var/act_signup = "\[Sign Up]" - to_chat(M, "Now looking for candidates [role ? "to play as \an [get_roletext(role)]" : "\"[question]\""]. [act_jump] [act_signup]") + to_chat(M, "Now looking for candidates [role ? "to play as \an [role_cleanname || get_roletext(role)]" : "\"[question]\""]. [act_jump] [act_signup]") // Start processing it so it updates visually the timer START_PROCESSING(SSprocessing, A) diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index 2390394b280..262fab1775c 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -3577,7 +3577,7 @@ var/datum/outfit/O = hunter_outfits[dresscode] message_admins("[key_name_admin(mob)] is sending a ([dresscode]) to [killthem ? "assassinate" : "protect"] [key_name_admin(H)]...") var/image/source = image('icons/obj/cardboard_cutout.dmi', "cutout_traitor") - var/list/candidates = SSghost_spawns.poll_candidates("Play as a [killthem ? "murderous" : "protective"] [dresscode]?", ROLE_TRAITOR, TRUE, source = source) + var/list/candidates = SSghost_spawns.poll_candidates("Play as a [killthem ? "murderous" : "protective"] [dresscode]?", ROLE_TRAITOR, TRUE, source = source, role_cleanname = "[killthem ? "murderous" : "protective"] [dresscode]") if(!candidates.len) to_chat(usr, "ERROR: Could not create eventmob. No valid candidates.") return diff --git a/code/modules/admin/verbs/gimmick_team.dm b/code/modules/admin/verbs/gimmick_team.dm index 3403a4417cf..23832fbb4ea 100644 --- a/code/modules/admin/verbs/gimmick_team.dm +++ b/code/modules/admin/verbs/gimmick_team.dm @@ -53,7 +53,9 @@ players_to_spawn += candidate else to_chat(src, "Polling candidates...") - players_to_spawn = SSghost_spawns.poll_candidates("Do you want to play as \a [O.name]?") + var/datum/outfit/temp = new O + players_to_spawn = SSghost_spawns.poll_candidates("Do you want to play as \a [temp.name]?") + qdel(temp) if(!players_to_spawn.len) to_chat(src, "Nobody volunteered.") diff --git a/code/modules/admin/verbs/infiltratorteam_syndicate.dm b/code/modules/admin/verbs/infiltratorteam_syndicate.dm index d4ea1a0dd2e..a4e12d8d768 100644 --- a/code/modules/admin/verbs/infiltratorteam_syndicate.dm +++ b/code/modules/admin/verbs/infiltratorteam_syndicate.dm @@ -55,8 +55,8 @@ GLOBAL_VAR_INIT(sent_syndicate_infiltration_team, 0) infiltrators += candidate else to_chat(src, "Polling candidates...") - var/mutable_appearance/ma = new('icons/mob/simple_human.dmi', "syndicate") - infiltrators = SSghost_spawns.poll_candidates("Do you want to play as a SYNDICATE INFILTRATOR?", ROLE_TRAITOR, TRUE, source = ma) + var/image/I = new('icons/obj/cardboard_cutout.dmi', "cutout_sit") + infiltrators = SSghost_spawns.poll_candidates("Do you want to play as a Syndicate infiltrator?", ROLE_TRAITOR, TRUE, source = I, role_cleanname = "Syndicate infiltrator") if(!infiltrators.len) to_chat(src, "Nobody volunteered.") diff --git a/code/modules/admin/verbs/one_click_antag.dm b/code/modules/admin/verbs/one_click_antag.dm index 5d9d218c90e..d89b3070993 100644 --- a/code/modules/admin/verbs/one_click_antag.dm +++ b/code/modules/admin/verbs/one_click_antag.dm @@ -137,8 +137,8 @@ client/proc/one_click_antag() var/confirm = alert("Are you sure?", "Confirm creation", "Yes", "No") if(confirm != "Yes") return 0 - var/mutable_appearance/ma = new('icons/mob/simple_human.dmi', "wizard") - var/list/candidates = SSghost_spawns.poll_candidates("Do you wish to be considered for the position of a Wizard Foundation 'diplomat'?", "wizard", source = ma) + var/image/I = new('icons/mob/simple_human.dmi', "wizard") + var/list/candidates = SSghost_spawns.poll_candidates("Do you wish to be considered for the position of a Wizard Foundation 'diplomat'?", "wizard", source = I) log_admin("[key_name(owner)] tried making a Wizard with One-Click-Antag") message_admins("[key_name_admin(owner)] tried making a Wizard with One-Click-Antag") diff --git a/code/modules/admin/verbs/striketeam_syndicate.dm b/code/modules/admin/verbs/striketeam_syndicate.dm index 405c1d3c3d2..dab21cfa8a1 100644 --- a/code/modules/admin/verbs/striketeam_syndicate.dm +++ b/code/modules/admin/verbs/striketeam_syndicate.dm @@ -45,7 +45,8 @@ GLOBAL_VAR_INIT(sent_syndicate_strike_team, 0) break // Find ghosts willing to be SST - var/list/commando_ghosts = pollCandidatesWithVeto(src, usr, SYNDICATE_COMMANDOS_POSSIBLE, "Join the Syndicate Strike Team?",, 21, 60 SECONDS, TRUE, GLOB.role_playtime_requirements[ROLE_DEATHSQUAD], TRUE, FALSE) + var/image/I = new('icons/obj/cardboard_cutout.dmi', "cutout_commando") + var/list/commando_ghosts = pollCandidatesWithVeto(src, usr, SYNDICATE_COMMANDOS_POSSIBLE, "Join the Syndicate Strike Team?",, 21, 60 SECONDS, TRUE, GLOB.role_playtime_requirements[ROLE_DEATHSQUAD], TRUE, FALSE, source = I) if(!commando_ghosts.len) to_chat(usr, "Nobody volunteered to join the SST.") return diff --git a/code/modules/antagonists/_common/antag_spawner.dm b/code/modules/antagonists/_common/antag_spawner.dm index 82f492d214b..35dfc22b1fb 100644 --- a/code/modules/antagonists/_common/antag_spawner.dm +++ b/code/modules/antagonists/_common/antag_spawner.dm @@ -46,8 +46,8 @@ checking = TRUE to_chat(user, "You activate [src] and wait for confirmation.") - var/mutable_appearance/ma = new('icons/mob/simple_human.dmi', "syndicate_space_sword") - var/list/nuke_candidates = SSghost_spawns.poll_candidates("Do you want to play as a [rolename]?", ROLE_OPERATIVE, TRUE, 15 SECONDS, source = ma) + var/image/I = new('icons/mob/simple_human.dmi', "syndicate_space_sword") + var/list/nuke_candidates = SSghost_spawns.poll_candidates("Do you want to play as a [rolename]?", ROLE_OPERATIVE, TRUE, 15 SECONDS, source = I) if(LAZYLEN(nuke_candidates)) checking = FALSE if(QDELETED(src) || !check_usability(user)) diff --git a/icons/obj/cardboard_cutout.dmi b/icons/obj/cardboard_cutout.dmi index da5f58d7f7c6f86d2e3ecc394f2db9ab3e997615..63f65c7d07f229b40a1621b6f9ac01c71ed89106 100644 GIT binary patch literal 18627 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 Date: Thu, 10 Sep 2020 23:58:25 +0200 Subject: [PATCH 03/30] Update code/modules/admin/verbs/gimmick_team.dm Co-authored-by: SteelSlayer <42044220+SteelSlayer@users.noreply.github.com> --- code/modules/admin/verbs/gimmick_team.dm | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/code/modules/admin/verbs/gimmick_team.dm b/code/modules/admin/verbs/gimmick_team.dm index 23832fbb4ea..89796d28189 100644 --- a/code/modules/admin/verbs/gimmick_team.dm +++ b/code/modules/admin/verbs/gimmick_team.dm @@ -53,9 +53,7 @@ players_to_spawn += candidate else to_chat(src, "Polling candidates...") - var/datum/outfit/temp = new O - players_to_spawn = SSghost_spawns.poll_candidates("Do you want to play as \a [temp.name]?") - qdel(temp) + players_to_spawn = SSghost_spawns.poll_candidates("Do you want to play as \a [initial(O.name])?") if(!players_to_spawn.len) to_chat(src, "Nobody volunteered.") @@ -95,4 +93,3 @@ feedback_add_details("admin_verb","SPAWNGIM") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! // --------------------------------------------------------------------------------------------------------- - From bdbb7e3fbc7b049636843d58e4d897dbbdc74655 Mon Sep 17 00:00:00 2001 From: SabreML <57483089+SabreML@users.noreply.github.com> Date: Sat, 26 Sep 2020 12:53:53 +0100 Subject: [PATCH 04/30] Quick fix --- code/modules/mining/machine_vending.dm | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/code/modules/mining/machine_vending.dm b/code/modules/mining/machine_vending.dm index fd2171335ef..320a6a8d264 100644 --- a/code/modules/mining/machine_vending.dm +++ b/code/modules/mining/machine_vending.dm @@ -263,6 +263,12 @@ if(prob(50 / severity) && severity < 3) qdel(src) +/obj/machinery/mineral/equipment_vendor/Destroy() + if(inserted_id) + inserted_id.forceMove(loc) + ..() + + /**********************Mining Equiment Vendor (Golem)**************************/ /obj/machinery/mineral/equipment_vendor/golem From c57d25b1cf9ec215b884a2a0e42f25c9c3507cf3 Mon Sep 17 00:00:00 2001 From: SabreML <57483089+SabreML@users.noreply.github.com> Date: Sat, 26 Sep 2020 13:16:50 +0100 Subject: [PATCH 05/30] Quick fix fix --- code/modules/mining/machine_vending.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mining/machine_vending.dm b/code/modules/mining/machine_vending.dm index 320a6a8d264..675de65fb3e 100644 --- a/code/modules/mining/machine_vending.dm +++ b/code/modules/mining/machine_vending.dm @@ -266,7 +266,7 @@ /obj/machinery/mineral/equipment_vendor/Destroy() if(inserted_id) inserted_id.forceMove(loc) - ..() + return ..() /**********************Mining Equiment Vendor (Golem)**************************/ From 39d066792ff2093add0667b1488b38d3ec7067bf Mon Sep 17 00:00:00 2001 From: SabreML <57483089+SabreML@users.noreply.github.com> Date: Sat, 26 Sep 2020 14:20:51 +0100 Subject: [PATCH 06/30] Mining clothing --- code/datums/datacore.dm | 4 ++-- code/modules/mob/new_player/preferences_setup.dm | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/code/datums/datacore.dm b/code/datums/datacore.dm index aafe126a0b4..e4268c16cd5 100644 --- a/code/datums/datacore.dm +++ b/code/datums/datacore.dm @@ -518,8 +518,8 @@ GLOBAL_VAR_INIT(record_id_num, 1001) clothes_s = new /icon('icons/mob/uniform.dmi', "cargotech_s") clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY) if("Shaft Miner") - clothes_s = new /icon('icons/mob/uniform.dmi', "miner_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY) + clothes_s = new /icon('icons/mob/uniform.dmi', "explorer_s") + clothes_s.Blend(new /icon('icons/mob/feet.dmi', "explorer"), ICON_UNDERLAY) if("Lawyer") clothes_s = new /icon('icons/mob/uniform.dmi', "internalaffairs_s") clothes_s.Blend(new /icon('icons/mob/feet.dmi', "brown"), ICON_UNDERLAY) diff --git a/code/modules/mob/new_player/preferences_setup.dm b/code/modules/mob/new_player/preferences_setup.dm index 77f8cc40da9..d51a58662ef 100644 --- a/code/modules/mob/new_player/preferences_setup.dm +++ b/code/modules/mob/new_player/preferences_setup.dm @@ -513,16 +513,16 @@ if(4) clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel"), ICON_OVERLAY) if(JOB_MINER) - clothes_s = new /icon(uniform_dmi, "miner_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY) + clothes_s = new /icon(uniform_dmi, "explorer_s") + clothes_s.Blend(new /icon('icons/mob/feet.dmi', "explorer"), ICON_UNDERLAY) clothes_s.Blend(new /icon('icons/mob/hands.dmi', "bgloves"), ICON_UNDERLAY) if(prob(1)) clothes_s.Blend(new /icon('icons/mob/head.dmi', "bearpelt"), ICON_OVERLAY) switch(backbag) if(2) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "backpack"), ICON_OVERLAY) + clothes_s.Blend(new /icon('icons/mob/back.dmi', "explorerpack"), ICON_OVERLAY) if(3) - clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel-eng"), ICON_OVERLAY) + clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel-explorer"), ICON_OVERLAY) if(4) clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel"), ICON_OVERLAY) if(JOB_LAWYER) From 1ee8d6c4d5541fdc5b03b739bfed5dabcf8c5cf0 Mon Sep 17 00:00:00 2001 From: joep van der velden Date: Sat, 26 Sep 2020 23:37:48 +0200 Subject: [PATCH 07/30] Gives the gravitational catapult a 3 second cooldown per use --- code/game/mecha/equipment/tools/other_tools.dm | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/code/game/mecha/equipment/tools/other_tools.dm b/code/game/mecha/equipment/tools/other_tools.dm index 61ba683ad18..8fdbf0880df 100644 --- a/code/game/mecha/equipment/tools/other_tools.dm +++ b/code/game/mecha/equipment/tools/other_tools.dm @@ -87,11 +87,15 @@ energy_drain = 100 range = MECHA_MELEE | MECHA_RANGED var/atom/movable/locked + var/cooldown_timer = 0 var/mode = 1 //1 - gravsling 2 - gravpush /obj/item/mecha_parts/mecha_equipment/gravcatapult/action(atom/movable/target) if(!action_checks(target)) return + if(cooldown_timer > world.time) + occupant_message("[src] is still recharging.") + return switch(mode) if(1) if(!locked) @@ -106,6 +110,7 @@ locked.throw_at(target, 14, 1.5) locked = null send_byjax(chassis.occupant,"exosuit.browser","\ref[src]",get_equip_info()) + cooldown_timer = world.time + 3 SECONDS return 1 else locked = null @@ -125,6 +130,7 @@ step_away(A,target) sleep(2) var/turf/T = get_turf(target) + cooldown_timer = world.time + 3 SECONDS log_game("[key_name(chassis.occupant)] used a Gravitational Catapult in ([T.x],[T.y],[T.z])") return 1 From cf1d074e63a86f06a4df1b475d2f341d50879ead Mon Sep 17 00:00:00 2001 From: Aquilar <20759278+Aquilar@users.noreply.github.com> Date: Sun, 27 Sep 2020 20:54:02 +0800 Subject: [PATCH 08/30] fixes lasers ignoring shields of all types. --- code/modules/mob/living/carbon/human/human_defense.dm | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index cf61162733e..5f76f595497 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -16,6 +16,11 @@ emp_act var/can_reflect = check_reflect(def_zone) if(!can_reflect) return (..(P , def_zone)) //Bad luck + else if(can_reflect == 1) + P.reflect_back(src) + + return -1 // complete projectile permutation + else if(can_reflect == 2) //If target is holding a toy sword var/list/safe_list = list(/obj/item/projectile/beam/lasertag, /obj/item/projectile/beam/practice) @@ -24,9 +29,9 @@ emp_act visible_message("The [P.name] gets reflected by [src]!", \ "The [P.name] gets reflected by [src]!") - P.reflect_back(src) + P.reflect_back(src) - return -1 // complete projectile permutation + return -1 // complete projectile permutation //Shields if(check_shields(P, P.damage, "the [P.name]", PROJECTILE_ATTACK, P.armour_penetration)) From cd9b4defa084a80feb14e5e168670339e55681c7 Mon Sep 17 00:00:00 2001 From: Aquilar <20759278+Aquilar@users.noreply.github.com> Date: Sun, 27 Sep 2020 21:07:43 +0800 Subject: [PATCH 09/30] swapping some stuff around --- code/modules/mob/living/carbon/human/human_defense.dm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index 5f76f595497..1f71f3a6492 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -26,13 +26,14 @@ emp_act var/list/safe_list = list(/obj/item/projectile/beam/lasertag, /obj/item/projectile/beam/practice) if(!is_type_in_list(P, safe_list)) //And it's not safe return (..(P , def_zone)) //Bad luck - visible_message("The [P.name] gets reflected by [src]!", \ - "The [P.name] gets reflected by [src]!") P.reflect_back(src) return -1 // complete projectile permutation + visible_message("The [P.name] gets reflected by [src]!", \ + "The [P.name] gets reflected by [src]!") + //Shields if(check_shields(P, P.damage, "the [P.name]", PROJECTILE_ATTACK, P.armour_penetration)) P.on_hit(src, 100, def_zone) From 28075f6dd651cf221a3bee4263f00253d601b6e7 Mon Sep 17 00:00:00 2001 From: Aquilar <20759278+Aquilar@users.noreply.github.com> Date: Sun, 27 Sep 2020 21:16:31 +0800 Subject: [PATCH 10/30] added messages --- code/modules/mob/living/carbon/human/human_defense.dm | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index 1f71f3a6492..2957b5d218a 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -16,9 +16,10 @@ emp_act var/can_reflect = check_reflect(def_zone) if(!can_reflect) return (..(P , def_zone)) //Bad luck - else if(can_reflect == 1) + else if(can_reflect == 1) + visible_message("The [P.name] gets reflected by [src]!", \ + "The [P.name] gets reflected by [src]!") P.reflect_back(src) - return -1 // complete projectile permutation else @@ -26,14 +27,12 @@ emp_act var/list/safe_list = list(/obj/item/projectile/beam/lasertag, /obj/item/projectile/beam/practice) if(!is_type_in_list(P, safe_list)) //And it's not safe return (..(P , def_zone)) //Bad luck - + visible_message("The [P.name] gets reflected by [src]!", \ + "The [P.name] gets reflected by [src]!") P.reflect_back(src) return -1 // complete projectile permutation - visible_message("The [P.name] gets reflected by [src]!", \ - "The [P.name] gets reflected by [src]!") - //Shields if(check_shields(P, P.damage, "the [P.name]", PROJECTILE_ATTACK, P.armour_penetration)) P.on_hit(src, 100, def_zone) From d4487875a44ebf12dd851168d6aae145cdfbc5bb Mon Sep 17 00:00:00 2001 From: Aquilar <20759278+Aquilar@users.noreply.github.com> Date: Sun, 27 Sep 2020 21:34:41 +0800 Subject: [PATCH 11/30] indentation --- code/modules/mob/living/carbon/human/human_defense.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index 2957b5d218a..9f308ab0be1 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -27,11 +27,11 @@ emp_act var/list/safe_list = list(/obj/item/projectile/beam/lasertag, /obj/item/projectile/beam/practice) if(!is_type_in_list(P, safe_list)) //And it's not safe return (..(P , def_zone)) //Bad luck - visible_message("The [P.name] gets reflected by [src]!", \ + visible_message("The [P.name] gets reflected by [src]!", \ "The [P.name] gets reflected by [src]!") - P.reflect_back(src) + P.reflect_back(src) - return -1 // complete projectile permutation + return -1 // complete projectile permutation //Shields if(check_shields(P, P.damage, "the [P.name]", PROJECTILE_ATTACK, P.armour_penetration)) From d9e3e5546e25471d13d0f10c1626aa6cc3da497c Mon Sep 17 00:00:00 2001 From: Aquilar <20759278+Aquilar@users.noreply.github.com> Date: Sun, 27 Sep 2020 21:44:22 +0800 Subject: [PATCH 12/30] clearup --- .../mob/living/carbon/human/human_defense.dm | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index 9f308ab0be1..ab4a991ff2f 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -16,22 +16,21 @@ emp_act var/can_reflect = check_reflect(def_zone) if(!can_reflect) return (..(P , def_zone)) //Bad luck - else if(can_reflect == 1) + else if(can_reflect == 1) // proper reflection visible_message("The [P.name] gets reflected by [src]!", \ "The [P.name] gets reflected by [src]!") P.reflect_back(src) return -1 // complete projectile permutation - else - if(can_reflect == 2) //If target is holding a toy sword - var/list/safe_list = list(/obj/item/projectile/beam/lasertag, /obj/item/projectile/beam/practice) - if(!is_type_in_list(P, safe_list)) //And it's not safe - return (..(P , def_zone)) //Bad luck - visible_message("The [P.name] gets reflected by [src]!", \ + else if(can_reflect == 2) //If target is holding a toy sword + var/list/safe_list = list(/obj/item/projectile/beam/lasertag, /obj/item/projectile/beam/practice) + if(!is_type_in_list(P, safe_list)) //And it's not safe + return (..(P , def_zone)) //Bad luck + visible_message("The [P.name] gets reflected by [src]!", \ "The [P.name] gets reflected by [src]!") - P.reflect_back(src) + P.reflect_back(src) - return -1 // complete projectile permutation + return -1 // complete projectile permutation //Shields if(check_shields(P, P.damage, "the [P.name]", PROJECTILE_ATTACK, P.armour_penetration)) From 291027cc6e6ffe453fba33d426a4f00b3acd9922 Mon Sep 17 00:00:00 2001 From: Aquilar <20759278+Aquilar@users.noreply.github.com> Date: Mon, 28 Sep 2020 15:15:14 +0800 Subject: [PATCH 13/30] don'tcodewhenyourhalfasleep --- code/modules/mob/living/carbon/human/human_defense.dm | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index ab4a991ff2f..f10ca0d076b 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -14,9 +14,7 @@ emp_act return FALSE if(P.is_reflectable) var/can_reflect = check_reflect(def_zone) - if(!can_reflect) - return (..(P , def_zone)) //Bad luck - else if(can_reflect == 1) // proper reflection + if(can_reflect == 1) // proper reflection visible_message("The [P.name] gets reflected by [src]!", \ "The [P.name] gets reflected by [src]!") P.reflect_back(src) From 4eda6dc1192c6187aec294016c34253588c6e237 Mon Sep 17 00:00:00 2001 From: Aquilar <20759278+Aquilar@users.noreply.github.com> Date: Tue, 29 Sep 2020 01:56:36 +0800 Subject: [PATCH 14/30] suggestions --- code/modules/mob/living/carbon/human/human_defense.dm | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index f10ca0d076b..908c83e95cc 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -22,13 +22,12 @@ emp_act else if(can_reflect == 2) //If target is holding a toy sword var/list/safe_list = list(/obj/item/projectile/beam/lasertag, /obj/item/projectile/beam/practice) - if(!is_type_in_list(P, safe_list)) //And it's not safe - return (..(P , def_zone)) //Bad luck - visible_message("The [P.name] gets reflected by [src]!", \ - "The [P.name] gets reflected by [src]!") - P.reflect_back(src) + if(is_type_in_list(P, safe_list)) //And it's not safe + visible_message("The [P.name] gets reflected by [src]!", \ + "The [P.name] gets reflected by [src]!") + P.reflect_back(src) + return -1 // complete projectile permutation - return -1 // complete projectile permutation //Shields if(check_shields(P, P.damage, "the [P.name]", PROJECTILE_ATTACK, P.armour_penetration)) From 951e1779ed0e3b7e65f377e0c1707d4c635ad5f9 Mon Sep 17 00:00:00 2001 From: Aquilar <20759278+Aquilar@users.noreply.github.com> Date: Tue, 29 Sep 2020 02:11:30 +0800 Subject: [PATCH 15/30] Update code/modules/mob/living/carbon/human/human_defense.dm Co-authored-by: SteelSlayer <42044220+SteelSlayer@users.noreply.github.com> --- code/modules/mob/living/carbon/human/human_defense.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index 908c83e95cc..87d7165b8d3 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -22,7 +22,7 @@ emp_act else if(can_reflect == 2) //If target is holding a toy sword var/list/safe_list = list(/obj/item/projectile/beam/lasertag, /obj/item/projectile/beam/practice) - if(is_type_in_list(P, safe_list)) //And it's not safe + if(is_type_in_list(P, safe_list)) //And it's safe visible_message("The [P.name] gets reflected by [src]!", \ "The [P.name] gets reflected by [src]!") P.reflect_back(src) From d2427104211c80ce6c7a2fd0e6aeb877ab2b3110 Mon Sep 17 00:00:00 2001 From: mochi Date: Tue, 29 Sep 2020 16:37:58 +0200 Subject: [PATCH 16/30] fix typo --- code/modules/admin/verbs/gimmick_team.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/admin/verbs/gimmick_team.dm b/code/modules/admin/verbs/gimmick_team.dm index 89796d28189..3080ef5706d 100644 --- a/code/modules/admin/verbs/gimmick_team.dm +++ b/code/modules/admin/verbs/gimmick_team.dm @@ -53,7 +53,7 @@ players_to_spawn += candidate else to_chat(src, "Polling candidates...") - players_to_spawn = SSghost_spawns.poll_candidates("Do you want to play as \a [initial(O.name])?") + players_to_spawn = SSghost_spawns.poll_candidates("Do you want to play as \a [initial(O.name)]?") if(!players_to_spawn.len) to_chat(src, "Nobody volunteered.") From 90537b5e0b7ab6608b67228bb9eb17e60670e157 Mon Sep 17 00:00:00 2001 From: FlattestGuitar Date: Wed, 30 Sep 2020 20:22:45 +0200 Subject: [PATCH 17/30] Add door speed changes to remotes --- code/game/machinery/doors/airlock.dm | 1 - code/game/machinery/doors/door.dm | 2 +- code/game/objects/items/control_wand.dm | 14 +++++++++++--- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index 1d6b572d9e5..a732348ac3c 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -56,7 +56,6 @@ GLOBAL_LIST_EMPTY(airlock_overlays) autoclose = TRUE explosion_block = 1 assemblytype = /obj/structure/door_assembly - normalspeed = 1 siemens_strength = 1 var/security_level = 0 //How much are wires secured var/aiControlDisabled = AICONTROLDISABLED_OFF diff --git a/code/game/machinery/doors/door.dm b/code/game/machinery/doors/door.dm index 4ed92910c5a..a86ea7d4a6b 100644 --- a/code/game/machinery/doors/door.dm +++ b/code/game/machinery/doors/door.dm @@ -20,7 +20,7 @@ var/locked = FALSE //whether the door is bolted or not. var/glass = FALSE var/welded = FALSE - var/normalspeed = 1 + var/normalspeed = TRUE var/auto_close_time = 150 var/auto_close_time_dangerous = 15 var/assemblytype //the type of door frame to drop during deconstruction diff --git a/code/game/objects/items/control_wand.dm b/code/game/objects/items/control_wand.dm index 01033e6c123..50b410ab91a 100644 --- a/code/game/objects/items/control_wand.dm +++ b/code/game/objects/items/control_wand.dm @@ -1,6 +1,7 @@ #define WAND_OPEN "Open Door" #define WAND_BOLT "Toggle Bolts" #define WAND_EMERGENCY "Toggle Emergency Access" +#define WAND_SPEED "Change Door Speed" /obj/item/door_remote icon_state = "gangtool-white" @@ -21,7 +22,7 @@ for(var/region in region_access) ID.access += get_region_accesses(region) ID.access += additional_access - ID.access = uniquelist(ID.access) //remove duplicates + ID.access = uniquelist(ID.access) /obj/item/door_remote/Destroy() QDEL_NULL(ID) @@ -34,7 +35,10 @@ if(WAND_BOLT) mode = WAND_EMERGENCY if(WAND_EMERGENCY) + mode = WAND_SPEED + if(WAND_SPEED) mode = WAND_OPEN + to_chat(user, "Now in mode: [mode].") /obj/item/door_remote/afterattack(obj/machinery/door/airlock/D, mob/user) @@ -64,10 +68,13 @@ D.lock() if(WAND_EMERGENCY) if(D.emergency) - D.emergency = 0 + D.emergency = FALSE else - D.emergency = 1 + D.emergency = TRUE D.update_icon() + if(WAND_SPEED) + D.normalspeed = !D.normalspeed + to_chat(user, "Now in [D.normalspeed ? "normal" : "fast"] mode.") else to_chat(user, "[src] does not have access to this door.") @@ -144,3 +151,4 @@ #undef WAND_OPEN #undef WAND_BOLT #undef WAND_EMERGENCY +#undef WAND_SPEED From b901b940186f790e2fe8266a44c5b4a7ada23da6 Mon Sep 17 00:00:00 2001 From: FlattestGuitar Date: Wed, 30 Sep 2020 20:35:56 +0200 Subject: [PATCH 18/30] change messages --- code/game/objects/items/control_wand.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/game/objects/items/control_wand.dm b/code/game/objects/items/control_wand.dm index 50b410ab91a..185a00305de 100644 --- a/code/game/objects/items/control_wand.dm +++ b/code/game/objects/items/control_wand.dm @@ -1,7 +1,7 @@ #define WAND_OPEN "Open Door" #define WAND_BOLT "Toggle Bolts" #define WAND_EMERGENCY "Toggle Emergency Access" -#define WAND_SPEED "Change Door Speed" +#define WAND_SPEED "Change Closing Speed" /obj/item/door_remote icon_state = "gangtool-white" @@ -39,7 +39,7 @@ if(WAND_SPEED) mode = WAND_OPEN - to_chat(user, "Now in mode: [mode].") + to_chat(user, "Now in mode: [mode].") /obj/item/door_remote/afterattack(obj/machinery/door/airlock/D, mob/user) if(!istype(D)) @@ -74,7 +74,7 @@ D.update_icon() if(WAND_SPEED) D.normalspeed = !D.normalspeed - to_chat(user, "Now in [D.normalspeed ? "normal" : "fast"] mode.") + to_chat(user, "[D] is now in [D.normalspeed ? "normal" : "fast"] mode.") else to_chat(user, "[src] does not have access to this door.") From 0523c99be6e7e1cfd359203ee26371ccc6ea405e Mon Sep 17 00:00:00 2001 From: SabreML <57483089+SabreML@users.noreply.github.com> Date: Thu, 1 Oct 2020 01:25:33 +0100 Subject: [PATCH 19/30] Copied from 'animal_defense.dm' (#14485) --- code/modules/mob/living/silicon/silicon_defense.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/modules/mob/living/silicon/silicon_defense.dm b/code/modules/mob/living/silicon/silicon_defense.dm index 6ac5f8cded2..36d11b0f2a2 100644 --- a/code/modules/mob/living/silicon/silicon_defense.dm +++ b/code/modules/mob/living/silicon/silicon_defense.dm @@ -58,6 +58,7 @@ if(INTENT_HELP) M.visible_message("[M] pets [src]!", \ "You pet [src]!") + playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, 1, -1) if("grab") grabbedby(M) else From 9b31f9e64511e563aaffa60c5dd4aceb02ffbf12 Mon Sep 17 00:00:00 2001 From: E-MonaRhg <71735193+E-MonaRhg@users.noreply.github.com> Date: Thu, 1 Oct 2020 02:25:45 +0200 Subject: [PATCH 20/30] Leather shoes from leather instead of laceup (#14488) --- code/game/objects/items/stacks/sheets/leather.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/items/stacks/sheets/leather.dm b/code/game/objects/items/stacks/sheets/leather.dm index 9f6844c8b9e..8b302cd338a 100644 --- a/code/game/objects/items/stacks/sheets/leather.dm +++ b/code/game/objects/items/stacks/sheets/leather.dm @@ -124,7 +124,7 @@ GLOBAL_LIST_INIT(leather_recipes, list ( new/datum/stack_recipe("leather satchel", /obj/item/storage/backpack/satchel, 5), new/datum/stack_recipe("bandolier", /obj/item/storage/belt/bandolier, 5), new/datum/stack_recipe("leather jacket", /obj/item/clothing/suit/jacket/leather, 7), - new/datum/stack_recipe("leather shoes", /obj/item/clothing/shoes/laceup, 2), + new/datum/stack_recipe("leather shoes", /obj/item/clothing/shoes/leather, 2), new/datum/stack_recipe("leather overcoat", /obj/item/clothing/suit/jacket/leather/overcoat, 10), new/datum/stack_recipe("hide mantle", /obj/item/clothing/suit/unathi/mantle, 4))) From 259a18a42100280ce008d5853f6aa427cabbd429 Mon Sep 17 00:00:00 2001 From: biotear Date: Wed, 30 Sep 2020 19:25:59 -0500 Subject: [PATCH 21/30] Add recipe for Iced Coco (#14489) --- code/modules/reagents/chemistry/reagents/drinks.dm | 12 ++++++++++++ code/modules/reagents/chemistry/recipes/drinks.dm | 8 ++++++++ 2 files changed, 20 insertions(+) diff --git a/code/modules/reagents/chemistry/reagents/drinks.dm b/code/modules/reagents/chemistry/reagents/drinks.dm index 4bd061c14b4..53187fc8c35 100644 --- a/code/modules/reagents/chemistry/reagents/drinks.dm +++ b/code/modules/reagents/chemistry/reagents/drinks.dm @@ -517,3 +517,15 @@ description = "Beloved of children and teetotalers." color = "#E6CDFF" taste_description = "grape soda" + +/datum/reagent/consumable/drink/coco/icecoco + name = "Iced Cocoa" + id = "icecoco" + description = "Hot cocoa and ice, refreshing and cool." + color = "#102838" // rgb: 16, 40, 56 + adj_temp_hot = 0 + adj_temp_cool = 5 + drink_icon = "icedcoffeeglass" + drink_name = "Iced Cocoa" + drink_desc = "A sweeter drink to perk you up and refresh you!" + taste_description = "refreshingly cold cocoa" diff --git a/code/modules/reagents/chemistry/recipes/drinks.dm b/code/modules/reagents/chemistry/recipes/drinks.dm index 1f15c95bbf2..ab326d9d9ca 100644 --- a/code/modules/reagents/chemistry/recipes/drinks.dm +++ b/code/modules/reagents/chemistry/recipes/drinks.dm @@ -868,3 +868,11 @@ required_reagents = list("hooch" = 1, "absinthe" = 1, "manlydorf" = 1, "syndicatebomb" = 1) result_amount = 4 mix_message = "The mixture turns to a sickening froth." + +/datum/chemical_reaction/icecoco + name = "Iced Cocoa" + id = "icecoco" + result = "icecoco" + required_reagents = list("ice" = 1, "hot_coco" = 3) + result_amount = 4 + mix_sound = 'sound/goonstation/misc/drinkfizz.ogg' From 4975ee146af0a66d50d5f961967f7bb7f2ac9d90 Mon Sep 17 00:00:00 2001 From: AffectedArc07 <25063394+AffectedArc07@users.noreply.github.com> Date: Thu, 1 Oct 2020 02:22:46 +0100 Subject: [PATCH 22/30] We'll be right back (#14490) --- code/_globalvars/lists/misc.dm | 1 + sound/misc/berightback.ogg | Bin 0 -> 52215 bytes 2 files changed, 1 insertion(+) create mode 100644 sound/misc/berightback.ogg diff --git a/code/_globalvars/lists/misc.dm b/code/_globalvars/lists/misc.dm index 53040777467..3a0c58bffb3 100644 --- a/code/_globalvars/lists/misc.dm +++ b/code/_globalvars/lists/misc.dm @@ -40,6 +40,7 @@ GLOBAL_LIST_INIT(round_end_sounds, list( 'sound/AI/newroundsexy.ogg' = 2.3 SECONDS, 'sound/misc/apcdestroyed.ogg' = 3 SECONDS, 'sound/misc/bangindonk.ogg' = 1.6 SECONDS, + 'sound/misc/berightback.ogg' = 2.9 SECONDS, 'sound/goonstation/misc/newround1.ogg' = 6.9 SECONDS, 'sound/goonstation/misc/newround2.ogg' = 14.8 SECONDS )) // Maps available round end sounds to their duration diff --git a/sound/misc/berightback.ogg b/sound/misc/berightback.ogg new file mode 100644 index 0000000000000000000000000000000000000000..e9a6f6c182b985d580e942d6785cd158c125ca20 GIT binary patch literal 52215 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 z zlWSA!Yigj0kpb%q0=5$4(6ZW)8Y-h6&7a!;`TFs^q=ts#7K0h4G|uS)9l$?uYpfVx z>kWi}{)Ei-8ImohSpbnc`azK&nJ2P4*pYPXt=M>iTH{nopQdtMd2#n0d3Nl!oi z3*BLdXQtn0#Lj0Y)pa;`_1vX+qQEgytnNkCQ@Uh~g+kUD!BYIhobM!);M(QQ9~hVu zy(US_pQRVq>uYR87gI$DdOXW!)U(XmT8sJto#@+Uce6+NY4+&yXT$sH02vosy{>YK z!8~Sj8G|3I+4Td7QZ0{bUqZG-E_-uo?#DMcI0W%lav>qzjey&?o zUZZ7*hc7092y`{l*Z%@XCbPCU6$s+$;GK%}PHuKXk&!nAD)0zjy=r2z5_-yzp_odd zMqZX4Hn9M$(HQ-zd^i~?DZD}p9Z$u^PP9NR@*7kE0P9xe6odHFZ@#178p8T`07R?J z3&%e#amPt+M0N0@PE z0nMn=b?`z+N42*6htj@Q(#*!g;Cu-9c)3OF_E=%5b4@E-`Hpip;i^3Q4LlIic42QI ztEiX3+kvNXEh|1oAmWGr;gA&JcWsyWje3Gt8}9`An@sw5_J6O+-_?Cob-r=@HKZ=c znkqWv64NT7augYZd@(KESBiHtO37R(-v1If=Yl81tp22Hgy+ zCYEA=ZNDV*PZVR*?kjT4^3`9f5@gM4KG}*xbi&%^=MjGh3<4%K6H6VweobJrDD*pe zdPV`rSkGgmc^z5*y6tl@d>dK^I$vbL6m>!nUN6Eg6T=-WaL4)c<;%V$V_r|cC$9m7 zaEZ?%ltoad|51U=<)6UuM<4R|Pt-)|nHD>HaLjp|OeiVIrI`#vvhF!U;JEIXP* zV{wz8EO!g*uAkd(#2;?Y+*C0>6f1IayotMDk6W5^-=|KiZxmrPJ+r@j`pT+q!bOG0 z<7-%6W{<@_JP2QG$aNF=XU73b_SYqAOB%Yckc_6<`$|Hy#9Q@l*G$NxZ1aI6rhhWl z)t7T>NubXt14z747n32Z?$Qnu6Zg?DKf(jPbp?@~!UKAADyYB6x!FzFCOw;C9dcUg z+fgq$%Ye?(@GONdDU7k_r=`XhscQq>IE1PXdR9{TeqxOXeWc!A7c=J z@i@CHd=Dw^=l$3my0L&3QirKTv|q@mP7C6{7ZSX`1Ax&RpldG~0w=T(T#RrBXUra7 zdvKKl{}70&CNvy57ts1gNh{^A#{sh=&$W+m$IHu%-J)p-8#WRh_1TMO15fNWFdDqj zd>?n)Yd9tbxy!Qi3C9JS$dk8(`RsGWHvFH9j=O-lZzSC-EpMJ8Y9IJa-%maK4XwO? zjYPXLIQ(PjXp#7l_BFqW0a|V_a}3Xjacg01e8ac7CotbHV9-lJT z%UPu1dB_r;K_*d9F=J=!RFsR}RIzYMA@M#uN}2P)8er|FnlneDzxO6T^rYdOB7hgq zUofN|2kMGV0N7peB?I#5{d-dY#^_zBvGJ*AgAtDX+;;wynLAY+{MNleNB~+nzWDp_ zpfG7{aj+yS@7=-p!9Gx25ybZm7f_P%M#VuNN0zL1_}70qV{ZIG$qQo@Pw1ywr3I&# zTmqu}jC`j|sAZfEV^}c}crF3P{b_%hdI7L8^|z#{lL{ELNi?ECyrg zOmxB-x_TT*#pRU2Pl!w)gMVRdYJd>Lzj?YF33TPj3XuPq?!p1sJtqs%k_k@%eitC5 zK=|X$(Q_3RYvrp5w!Ne~r@YJ(_+E1)67qjQCvb|%fmOgI*5>W~cXc(favv~yTT;07 z)_wcGr^SS!_-MEe|3B+(3qkX<`=G3O_{0P9hmcx@7)4!BQ7Qqzd zBERMqXIV2WYmJXhT|h_2RZ>oVk^vgdVnb~wU^48nb0l!s`)}7hDqC|?hNcnskC%U# znLDb*k{7w-f!6g{O#)z%v#Ai6_@yxn4~@;^U8(e2Xiky{CNd>ltPxTY8DC4B$wL4o zViXq_XtqDzC#@t9VBIQv1Ix2Tw{wIX?VasfNT*$J8uPEg}LzkVjvam_|k0vfGuRIWcOlXSHbA$lPcXy7viX<#- z?Qv(!@vE4ISZ3#Ws&ZVZDH9Tz6+&dC)>)lr+9e7kiz7F9zxz)fGU!q8zZzvNTcS4J zzw}$4NgzDl-vv7Ct8@AFUoT@4ntU!!*tV4?1~^%{BP3-|U(4XfSv|R4r~gTq$H`pt zF`DzI+=N@e>V}IXVVJXJoL3g!Q`@6HfbUWQ>$$!;>LP#t(7r5_U8*}QezP|m>)t(o zp<$}2Zjmt_8%fCni)cgl*~8QNbX!vWNCKfeUC7>CwY0Su58tjgW*m&rW%OTo7l zP$%y%@dOZ{x{~$lr z2(3vDV+#RBOoTmac);Uffphr7r&nx>dSrc6*KuF%Qf> zuWF-OAKQJenB(Q#BMkG4vkK<%4pZ#EFIqWc6H?YiFXfkZ`!y1mP!X~LfG-0A3V>gE zovHX6BCAE6aWW>wqb-WAPHdk8X;SSM6;c{NjrAVj08r7WbDGBtt_6DnZKk5!F3o#>TYQ^qZWBDCel9 z!Wq_U*)>jWTwuw^HT00>JHgl9>vdZ%eMKR9;ry&No1cdg`Zs&mT>Tq#H5~CPQ}!X9 z?YS8{$a4EJghSY>$FA`IN7+FB=d=EovH^nWK%B0V0fCPCOYn>G%YUE(B;}>)CE+Fh zCG4f9-Ub&(5v~XNir1hf2~yx2i4aI?bQzxz+hGNWpo}Z~v=93W8fHfUz#I{~=D`IX^PwqHb$cMUz2l8r|K#_|o%^W{VmItHsga8+ z-(lVSqnv|#u}`e1?PTAVNIy}pzkA{HY6!#UYrG8Fa`7*to3(s*i$F)T2@2quN+GXst6c$J=!ytlK50GF{P{ z$-H*`K1f?FVaQ6Fb+uJ=4^BE+dk3EmHV!T|=U&C#{TMW-f+udtD0VpAkTZ8Z5n9Py zL9=i%y!f1IU5Jv`L2`x!zp+|e>3Jl=m?FfZO%qh?&8vwM>WuW!!hA-OeDRG@BqBU3 zAvq2uIT5|;K#~|mPAElKmpc?@lN&?`Tx7xh7DvW~qr>4+i@f$0#RlHg;OW?n6Qdyl zHvLug4PoBOq7j7fXp%p*Y@>oq;OML*l*I9EBj96c|7k>lDIP3b5Uw(?{oD;7j>s}F zHB$=k#ln!bFZmO_zSmOvz+FuL{W9$UaXcBQ+t`FY3_KOjpwy(mvGEV%(SSWNuiV<~ z`?`Skm3eCi5AVawNoyu!>5nv`z1x@14MTUQqkFTn9V2azpe8anqQJ4GIpd&GK+eHi z81?p*fU3%g<0@UoDTCFBLJu}%Dt*$d<8Pw`y+R(Wz-{$zWcI=J1805GxAoYC@nub( zgLmZV#Cp7}_KAFvFgmfjw@&p8yB`K!i1ro!d|%N9L=2m!@eGSeLr2pM+^fz zIE3MTiJt8=#or8~(Ynq)@@}We49cgJdT$2F0T%HENfe1hgsjL^VeIM2OZ-QN$!*&n zHXNyrbrKPeJGNy&D8J`5eGc}X!mk+faxU3+^zz9*&%7YWM7X_ah2)HpL=k2tsOkSA zQAW(T9D)UHXn-_v0${b8SK_q=NJ6mrA`kXYxbHst{`7Z>EMa@zd!F%s(d9hzAYB6h z2fXL&5U5(;oUCixGpx~O=0 zWIJQ!WXZ3X!5U8ZMlU6|D&pFXIIftkOj5v1=xBwuX)-E#YigS_Kt{-_@1tn<*Oe6; zZkhcn?N?s+>T@zV-ZjQyOP?#XJG$wzDzg1~(=HabC5$ZB1)${1`ONDB934(9bD6d>i#-)NxwH`Fi`kw8L4wuFoF)G~G zk{_7M=@zrN%V|oCcf{_wH#bL;x)lED>Mgv4__jJYnjmO-| z8PZZpl1um?cIq=Gkg`%pB$tkaGJ=zMOPnvID%vl0HLz#;rv+<;=yV~Jb2lXP4M5*@ znO@r!PXw&B4E@C~ADZ>gmTxoIg)U?IXCW~2eXEW(rW}*NQI@LtI_2RrBBJ4hGCL z=PNNVZh{U>v$NZz%wiLLCqTt!d(K5k}BTJ z71Lg>WR5bGvB}xR+&jxn%AwEgq=R7P~?#CF~KblUU8GrqoZL&8h&!*e_H+#gl3 zbAh<$A@$bpU!X&$f;_M zreAtDREBgdZ7ID1E(GNR&iVaFEf2Xg6VLH?*HJ!2QnGCy;pnfdIPi`EiqSH*!2_4p zw1|K>eE3z(i|)uZ2}`p5w~sFVp+uOcU7$#Lg1W&dQ)hby=q+JR*fyt&xg>X7!c;Qj zlW8%Z=h#ySyIxrfxLF0u3_X{w@=gJMn%v&qj+76KcBGF)gS+y==p!2!((r(+f6XG@^F?mq!JYwyEQlbdKXJ^e zg56=*eYJBL?!qK0`RLihNmvpT($P7+{_)`n^KoAMUWniIFR0=J>pM!IXVmiC+QV|> zgT;C+*hLb#?HcdMp6NUbl#jcUav8ywMWxNm4x~`5>S>tF%FZ z25ZDq?i^vB6m`i@*J^pli?bErSj8n{#hWOF7RylGhoHYh$JND_f9!P0kw|4!OnspV zEJ=v-%yJPDO+1iy_x{K|_q6)=@-K||>gmz!q}`W_0|gK<@7p_&g9qjZP0Z7Rv`&{d z(pq`0)=9>vkYlHPF+z{_jMsqmv%SZFr|`?gumd)t)+SBUc8K%h;aVp(B_K!Y^+T!n z5StUYd>WkFU4X~KyI(l1~usHI@2p7}rh;QL@zed>coC@N6JhcUa2;^U(c z2^~)`_gHuu(DT-6T%{cXe9>cR1b2PMq)*|`Ifk~*+Eow-9JEsiA)Y4#_!F^9XOHho z`jqj2F5D;g%oBBH0N8zELROnO5f7A+Wl*94ZNmIsB?tq^rJ8iQyG^LA2M@tq(ki1| zDoopDHL(tz2etU9Fl%dlc8gkEKx@t79|80m6wwrh`A6Rp_an|{2z6BmMUL-{lg6sd zlyAV2cl4cOh~C~c4*(N$-s+n)9Q`#Wj5S_!w~?^mew2jW%xZ*W3=d9s8+mUXN%+XI z0@fPH2LeW{$Lu<<@I^JI;mfDEhkYM#XrC979FE$tXlI>v1@)L7Ku94)(xyhLW7Y93 z2c#~#L}xo(E9U)F?`?Ikbif&ILdZJNVo`(v?QIe-@)P>FGd@0!5-=Z?I+i8h@>Ji*hF2JS}{qsi^2&8+Kji~{4xH~R55o^MqTMfecdG^ubXg$_?X zV@?$8k#~>^+F!s!vUyNK53FAppo`#>c?4tN04~I;u>M^mc4`DS`5?fP;mHdUOGTf4 znV#hb0Eg3chO=tH&GizjsMyBZ4_APMvFSb#Y}RJ;*{b~`D2xWYj%v|D*Km|lhZf~=gX7MR_CBV#9r_0Hy zMVNsBx94(}n9)k#O~RtTSO1-m$~AwjIY1KuE+zq0lUj{#`Xu8O9CvcGPasyziqP3o z(8{u$TxYt3mF!AGcZitKBaY&8uZOjbACV>gsf&Uts901>`eXQSs^V~DO1jtUk@a$6 zlJoNeyB~i66f{s3S=NnVuAUGvPz+{;z4V#+w1%(*0VdFN^FioL(HqlPyGT;9S}f(MDf_xe;3JhRDdXYgtw6@^$mE|TA4<{Q^_@>bdfhW+kzX@ z8+D);U}-N9-HxE<87R;brovRir+h zYw=A#T1gn(jcLn6UXg2OjUhpfr$0&UCVrVGLv-p*L8ZSNAs`Y&@WcU7av z3hQzOhm&Sntxl%JfvnfYWF^y(gJyyw*;eEwM4QQy z`^CH@6v|cXYIywQu4sEX$*pE?w`#5;ROK9wZJ_?m6v~y{onZN|3C%Kf7|~HD*S^j z8{3ez30^8*!e0_!Qo&!#7fq0=U;-`%5@O)ZNsIuG#rTQJa8Csl&ukqxA~NiZJO+pQ zbf_mlFPSu*2IE>2fT6XRI<%f;_)7}y*>(IAfWr6xOyf1>ufBMy|LbQz{#@Dc>n7`K zgXZr_pD;|LPrH9UCo!|U3Gh7%WIOfb?`1K#oN0L7q%djhJ+b5FtsluD=quJyV0^gy zCDn~7=T7fBVR&@dbGMtZvMDZoG*G2ig==BZPQ=ACa_dH#5nI&qu@1}z=D?_0w3RxtGEZ#k`cdga0 zB?59ISz(dtFeUtw9Q;vGrgy6Gz$xOUU43Gc!1KI8nXG9N?r>Tq_Add_bzE{My+Z_K zm8JwBcV(*!mg%ZIRfRObzfbNiU3#-BzbpC*hFk(KR z`@qUv^bRrmHQK?Sr%O`i`xt^Jft!c@o)gWnxZ{ao_ke{Dd0p>A3G4iy#emi|9pQ8d z$`GqrkoW>i;knQK?40OrF-Ca&!YiL{@6k`%;+jRScS3r$#2>n#QZ8#Cgzw7|qu7y= zL9+W$Y`Lg$nG_c?7469B&5TXUT;&`amp>qcx>%H|FJ?_$2KQm-W6<;IF>AwqG1QaRWH}v3|=D zh`{(Ib3s1^LKrfNMc$PGH!JV!*ZoicIVq@;@E8igQ&qNuJwcmpqh0n|=h=1G9z z9a*Xoa0(F{AH*-1KOBzq$ z5Q~{VihRbDEAblIE+%rz$IComyg>^+_7~b0tgDM=x#`fPXE|74ZXnT1ju{wbJceOo z-?+3`qDdpdaw$!go*(@4)W$4T&!>C*__n^ZTBW23qDN$L3<^p_QkH$i{>Ii)f(DQg z{gIsp)wknTr^oin)?aA3qtnHP(c(q221!!>o&;>n%~#}UGqN8-ZLkm3eAN{a0JjyH z8Z1^4lrDdGZvzHe3=JztX~EN!WVSs5Ea_%DC`W|}Li--+-Lua>lAKnB2NZbciOxj8 z6Q=H3LjCfZ0{@*RonA0j#+{YW^%DiL;mg_n@NvYZ;b}+5+*RS)s{idPz$nvSS1RG4 zKWEpf7HkTjV(pauqI2}JFSRp*|A*hx-=gD&EYE#D*g-41VwuO9r@G+mFve74xwS(| z@7$PP*1^+W^@#6Xl7fOkC|0Le3fi||uRM*@9`d>l8AI-EdCX=iHyl}^PiMj&Ip2hx zVTgcQ@281^c_4QGdiQ?QzBXeW4{bEtcO&3sc7ZXpil#TFXM%du{LI6lD&mB{ z5Z1TU2n^gBm=-xh%!P{lou7KQ{mT+&)wjy>j{A?~LMrNVdwPt80xTnRsjz$jGT-I0 zx>tyFH}+U58*2%*T%jMn-tt^cFDQrnS$S$3<0d)MZEM(`6C%g2qu+pm)>~HlX2Ls6 zy#xdUUH4u|ux5ltIH_xf8Vu(V@V9r{O(2W2i`zD*bq zpXGZQYeer1fB;7MW=EEFrKQ&7d^t!#3^}M|45o-+90uNbQIVmmh)jz4?d8T%Do2{N zRZHicUWyq?xwe1q;ZK?9Y-3|tLmFKf0kb$6wj2E!&5py-pD&m2vi>o?U}j=+g8?H; zqdycg0w@GO5AMePLih3k_=aq>{mWLCD&)zOwzUjTyiOuj9?VHotPoSL3cqKsIl3ng zCkyku)`LoCe!()YzIm#mk!g%+xp{I~FrN=7QW+os+TNb(RP~|IFX=1$xCv zw*|?QUVCDaVk#8gH|!0%OS(1RU3?N#DI=VH*Sw{C_BLk3Y#;COO(pZp)PxEdz&vvh z^okH)t6cI{n}RuV&d>F@if`*apD1^TKspD%^i;7w2}O*sSxGe;}{t{ zh=rWZSNiz`{+1`VsaN54G%1&W^WRX37E5Sa23vo3#HT zOtpYofU4438cSv=1eg;l+FNz8(XCt>!~n#H9>yMOG#;SGt1Wm4g)+)_Ia0jWCg7Un zfcONM$fRqus9`Y5E!6p0Z;_7=Pv(cXdVhsTOV@?qF{@3CQ44eX=|8Rz`{(X&^()IZ zpNiMX$uBo5JVPO_w4bnyZ<{gC^0n39XZ;BN*Q9c@Gf^R#og`ss>cioue4|c@)PG48 zrF(2vW$*9w#u84ZDD)H*{9>m<2Qq&ry{@nP)@V!UmBexi8U;B-iJSK8vIBmxaOE(E=ku5( z(3wnc<-@;@mZATh*S2AAnlBCw6IIWI`?gE`orn{CJ1ye7FbzBQtM#qQ6`1GCSx0hx zl#%EHoLMn{^fDWYZNOIPq-yaayX||mxR{;oUTM{BsK_VPEuDivP6R}KMZw|pIRxRMdL5zO;J*Z%Yp4(m3wJfeVYp~zoSSs^PV1;Y z**dCbbtLh}Ee&+Sq@530%kNFkuK_--E@}d&Z8gx^(#(}9Gmi8nzx=wV@hZ;|?b6Ha z%Y3PmN!3aC|Ke(?ZLh1coaCvcRR(7p_-_6eAWLfD^%9R|nBm@E)c;q(h#y;2Evk40!G2#b}1 z&Kuqo{yzdEF`AEtk=Jwa%Su;1dl03csHIl;^$rNVN1zqdqAHXtO2ak2Fw7bOSq%Su zL_+Po63LiTp+{t_hQ0O_)}GjFI7y_mKL1m6(;6XM=X3R(y2w^5#-U93>_d&1l+(N( zJpU`jbhZ!!$%HMiIfDORPmV7U!^IfgEz;YyzrFEtHRR2W=C5){e;N^DV_5+?;TE0s zFE=Zd(;ty{nnsQ6fLJOACgG@|`m#@BlK415$^A$3jZq5=MjhhD!beVyFTiyo zej&$+lHVl2`M40{>>07c{L2|%_S0DJ7fMC3_Y~=jcCfGL+U4~~rd|SdHi-N`3#{@C z3Sx886>JLA7^0bCWH_&uC`)g(-%Fc5nTBP{%kQ(gT%5C+E8MQ}wp zlc05Dj4}lpvvGu<2m<2V`bLjC`wqhnU~*2eVk{+N#{gsTGt1=N3fevpC;71>nx?{$ zmZ^_~1RTzS9Ds9?-AWAu0}OH8%x_NulbMa7*)NaJd%a(u>er2LUvC>rn4$YOuG30= z@s9jYFfEf`^zBD&)W6vm(D)~JBD2u_i^h{4JyfNkp&^tS?S=l3oCQzEkAh8iGfE%u znTrBVzUnT->wI&S=tVHfp>LrdBI4FvyLlM9Xe}wAcVfqK!nSBBdkg>8V9QI!w@-9M zv%y?|QBAGJJ5jyWlIZgq&WwT;e!5z_gyj@3f&dJ*|G{R#Ig-UgV<@*a-ghys?195i z^O;#lBsnRh3l{?zpvX9ee2fI=p3>jeE<_O@3;{NyhZpkqh)}bi=;K207AI~+R#{z!!f1e%ID$BB9`-60sYPwQ2#D|!21h^)e)sB7P0(p2t~U?~qTz)( zBV=)0e~si^_232okl+?@r{A9gArPH)Ji)Hs?GTD+9NC|YCcp%T@BqMc<{z_GkH)*C zxYzjQ3-dnQzRdCaChUNx8>kRj*Fuk0XosJ<2zov}Mr*PPKX3YQQSt4a?7KzwtYon&MCO` za4

2&i7xu94WHIxXf$lyrE@Ou3ye;%xUqOw3wJAR2uhW1b5 z7ZM2JrC8G9uX_E=_^Cy>YY0tG171#|d<@*wQ5|R&m|0sg|1O@uD;#~(wH&*QM`nZt zxXY;2v?{KkO#5V)-)#H2TmQL|xnWcXV(~JZdz*w|dn)@Cougto(G~13Fk4 z=MEv@4PuwdM|5d+K&kyEZ5|-+rkB;$l0pqFry8XFwB)wa5Zh39Oad+iWMas}5&p*rs z`FQC0<;zGc&+CeCfifJWPj8fS$byJ$9cGTMt2e5~{rR-noB;89<^h$A+I1;GD|seST#rtJH_d_N* zVXpVMz8i)q_7hzE?ZvEHMS?nGN6sy~xfBKyu&s*AKTRyi!>bZ_8SfIr!4-8}4z#&g z@$P6V^oWfZ=ySEEe#m;APq-|PxGFPtZea~Gl~;>4GAS0qYj z&z8)Yb#M9k+VrDJ=AT;urHl$bYeg=@rZC?NSIPKg z_Ly~iPc9GLmL$C`CJ~XN#0Si@zK;3FSKtguYwP(RCq7{~SpkwzKpKay9$kb4oE0(p z`M_b%1IY9`MW|{L6;LA_(+PAvU6EXFyq9Rs-^vpTC9L!|A0VOxmp^WSxxg zTeOU3$J|i6j3E||qH%UfBN1KxC^fsf$o7}wyAFZca37m{y4QZSOd*E6d~7p>1B?pa zpM5RewOirnG=i?2sr0m0(6@&Rvy#2B8mu5oea5awGHPtYWPQB`n5EdWCC*TzEwTY` z=BI5*HXV5q?xp zRop6S9t!zv@d=5z2qjGS+50n6&Q1Y?ZmTY4XtmG$>6}#XPP=JqYiQusc#74HRCP_7 zr`)l*U9}K2=rZ7*cp|E0_s2-}U52cRfuk@2GPiwBt#BKMEQY&>M)p+M8?~nFsLtQ- z+)Muh;DQk0Tjsanfv)9ry}=~n1Pu|Wf1Bq9#Fm>iV@F-$ z0+}#F5Bme*5eB$z2^kp>feG*bnd9Irf7GGNn&#oNg6Nb1FmS>Ja6#BAkPr~SQV9T# zXucMsHznApR+^GPlzO#BeknAM4pmbBiw&&t0I9&=2xO_R-327It_ zY*kzd+tL@~L^PAOvd)|5tN6cMlmG72FkO+XHPobZdzkaNeJl{Scl8<;EHR8s4qVs% zo)y^nM4GP3;@fD^nj{KW-+|sU9NZneK>Hy0y*JMjND-ub?jvD``{UB@=iF|QH$2}) z%&-7gb~3m(?SciDLZehk9B%&bPE=(DTtixT~?j2$Y9uV*~$6^F{P-NVB!;t*`Tll8)J;8( zWSK@g)gSZ-Rnjwd1LW;6BXi;5_IdKW-w|JKK6d)M71K!3)0aI%WaQGjN~~ly|KkZ; zhxp$GPAxX>z8Rm33N6#ZC;b(RS_ZwaPp~4E--)HICR8=Zo(LHX=7>1oKNL**H^#CJ3f8iK&O+-D|IX9 zX;sY8u?}1ZR`v^!#s<~i1<9-}kE(5za4s=%_c_hFWx0?{fuXpSuUSNLv4N}XkJo0` z+_~`??dj1ViQMHxaPz7nx>BDAVEnF26`dw0NAwJIC8Ja5N-SmA?eyd6O@$IIJf{rM z=^>)$Y0CD``>R!eA{m82`iMGUDzAiiL=1ZBf1iln<^GVRWA?SKllpcQr(N5yT^5>) z40|{yW2e>%<6_^KXrO-Pv>0xUM6bIR-5kL7FtLAiFe*E9Z6bMWCQOG1-_h1owHCdF z&X$?WiT3x>%!7wY(SO$TPe|t*i(t}%9bcN#8T5!!;bR4!DW6W5_tRLQA89P>DkG+G zS7NucGnzO!amTpo!c$?L{DrYJ_V-_07$TAr&_xmM6@GNR#_F>hbRj+Cpl1(;>^vJE5bBBU9PdqFDMxmgeo?8`82<*xEtyb9UrADN4$T1|))l z+Of#o%T`Yv3-Y}p={tqKkL1uix&JEcYGmP)1HQ?MggP0gB*_)LQ_ssRS8WRXq!Wv4 zAAgghdLW@Cp!_2hRbud)ECK_k`ez4CTAZ;Wl9CIcE9GH0^eUuY5@9+s`0F?;^~&2E zdNQ_l)M|o2E{RjvBoxRaj^u-jl;K3$<3f|Q-^0b-fq?5ouoao@m!kj3BOO-s3M6)5 z_B*QZx5l{?GLb&Z;{WBC%g8}5A#M_C_C^Tc5rcU%(F^{D{g_m>7T;)6QBVr!3IV{B zsC(Bp1SrYH$DYyty5UjxRuGhobB}x`?G=PuNMY3!Eyktb)qzDRThvS4emgOIZ=owK zITtQG2|DGeBUw<5)DW7(OLxkerYFVdn$d4 z%}0w(i+eqFvL`}^VlV8o80e8+*&MSW$~JQoj<)fMaVH#%3KX1$H*>}l@IAA)Ees+i z=as2D=ZhJ*GoZ@edYAt8(VwLW)s-?R{60)8Fy?p@o*a6)nwr|atKp_OW@o={zvR(v z@I&2N#@sw1+g(@|MsaR4o z#Y~;oj@+JCmQr31AYh<|uT?$im@B{m0M=s8umRCb>CaCjF#iMqQcC-s6^?NOvVAgg zsuaW^X5gPRfF;8UdIP@t4^~#St@y?cba-g^V+o=-HW2xR%OMUy1Fag8d?%dJ9rsTA z{Nxb;r~?2+M*X!JPSp%@c6qZt!R7NM>A%$cePQF9$n0FJu4KoV@TVsK)5FECpyrnV zMUQ(n%U9#h0)BjiOHoYxQ>rcM!@(uIWBHJC$Up5f?gbvB$o2dA7bZ=!`HHHSpGYuy+i?=gFaEDOm~ zZl6iTbZEdO>)ua!z~%}5G~Iu9E7Y;h0?(rNrS*mGu=Ls{txayvJ@zqNJg?WVFQ`14 zsp6?7reohCKr{xT)5*xiS7N&@$-L42^}u$=E*_wY5G>VMXDX{kh^nIkKod|h%52{Q zfuND?)tB;Ict!`1s62KF3Am+^ z_PM|W{#kX=g(U+QUmC?qVzw-kCi)?k9Ps8cJWky@!LA=X`frjQe)$QlQA(Bbz90Gu z!nz7+DdqiXyJhN$RS5P#I%h$CT?a{FtwIO7&FkztpL;YeFKT#^$0X8D)J2bdotMX9 zbolDRT-lF(@zb0FMvoBVr+UDsx@6C%^Pjm%aSDSCi~8*i8(uX+Eb!PcBx=nxLMF-n z@5EyC*o2IRMN94xKb(}ivfCL6&)zBX`n>JZ%^!a|Oh+BRqrf9oa#WV;VH&4SHex0N z|FcbPi!a*bzQAWeCUlFhK=D}#sj-hY6*;#v2TwTu^l*mr;LJOM$3`aYvl&2Db^C3o zdma9NC))q*P41HT&s3zL+AYK2wYz}o?+|aWGP~53c*iWpb?3LN$LU)qPwT%gNDx=y z0-Tn(@Y?_Ysf+RY7V$4T06oD}W|ea1xa7!YNe-QDgG#BCRu264#NUOSUjx1# zyB=gF1nA69!P4YIIVb^EiKm}C6PG3z?gX6#$i$T?w08FP2FT7fX4VFOMD`BJDbYWw zvo8+*B^eX(@es$C@8N~tC23CA6XnNAUwz7U=*`G>TrFF$IxX)L)qcVoow=vvRJ>vF z!OmsnYqhU_&ZHU_X&&&K(+DM(5zOlS-S$fua%GF<-2BpVsy1+hL@XqV4I`xUBK%H=f@#P>8D%uL$sE!V<4KWth%3k zO|!QscrWKw8X)MG4_@As51;qVzg#cJ-l`!HbY~pYJx=%`0splHh$5I$`X!i+yHbX* z-o0CFOfmgbGc9%e{Ae_Fl^kVL`EviF56}TpvXa?Sw=eUhngCFa32bf{0R)S1uutJe z{3(|j|JA5r;$(>qd@8~p{$|`jHlIS9*b(488ThBZ(oJBUDd;1F6dFp)l_|q4LnHBz z^O7=)&7J#<8v8S)rCS`a&IZW7*dJjNPG{-UD@%UUC}BVkugBc)4`wF%H)kI`H;9f5 zGraR)j<*@B`-x@qDY$-f_x7pIdcXbE_`ODGNYc}VZsjV89k5P6xp>C$__vIPBszQk zezqt2{v5Vv?B!=sn&!w*L6dSivGEGIK)~9B`BoB3-{Y^S)tg}p5BJ%PKbO;r&+D=Q zZ9D?a24Yl+BpHaPT&bv;Uc!1;%}GGqTE@(rl4PP$e!+n=+2OC!@ddlR`B#n~y~yK} z6fs@LOKy)Xu&?_x1(H8oI9Q0_G&!v42ZT?SY#=OREqjRAH-l~v+HYG!nNvcOBjN6i zGtj6ArFko%BJ#f?vWj>^U1an)%xPHxGDxVr6=&%vfgqd9A38)xN`kI8F6xVbTmPa0 zcPOmm{3+4{P@ls^GwI6Gff7jIhQi>7ALoX{0m$fjS=R(49=nWmJPWOOhW^i>NbG;{ z>VI=O;MpG7LhH36fg7r7z}Xxga8*wWxVEP?%o7fq_`m`Uz0Jjts3k8!tA?&llH!x! z==Lxh24$P2gVrcd9agb#OVBdlLv8@kram1%etvd z13}&%XW$jL74ftk_UGFkYMEK+M@_W*xMGF(0=V#2D1GRgqJVnnGP#8zArMB7w#7! zj+UsApv%F|>@^?Xh(GoMUmxvXwUD|QiC0<-fT;bKDL(Tu_lKn}(Q0DBpCj)U^Kax& z+sl7^zMbsqS+-LcjXH09c}pAeXB6gs<1|2T``5>t-2J2SGi0EJjV%;47h&W6-;zj| ztbT>%Ple-&s^!-t^4g6BsD)1fiMAyWoObtY3J_RlHbi3 zmnNx@c=a=?^`NKe=4ywz&X(0XK|)~cH7h39@fQ#vi?J8ICAPr&Q8{hBD&^|5_|N@D zMyJ666Vbl=QePkKRPyyMXW#4yG77JRyS|KHFz+aHNQ5GL-6MIzF96UM`<{$-Bh6|) zaspU6x78n2U&_VF(0 zR1q0v_K>?#0ra&xzHJRK*=zo%LV1G15Qn!zw( zk)1W)ALecqfZ~8{4Wo~hvD-lG+Y8E7+|+j}l**_&YEx)htX5G(vILYgGOY3VC~TgBOC^T<>vReyvB2x3I;*$9=O+MYx8`W(z1i zd&R2AArzseSLr{8XQ+-?O2><_0!*Orr8f8MAM^b=PSR3m#mJ9^#})99*gu|E;IX&y zjboGb&&OmkQ)HL6V!em0!)j>*CmpRK6HxayAwDcBs@M-&%p69VJoVT-ugvn8Cr@Sc zVSXRLVMps8=w2+5E~2Oe32UB^TJyyG5=I;mLbjEsRSuC=N)i%XUiXHp@5RWn6{W6* zfiCU{rkfN=G&-C)u7xn(;lN;EY-@_Z*@-l#Rj3jcxh&cPpo>fCt zT9W`UJi5Y@3yYDoX8C%UKmd{JLi}cSnxttpZx!=&;XCHRm2vbuXSC+GJ^sSe9KFWZ z&d1ODytTqb^vK_KR_a_z{EFzWK{Y%HbPbyLis~9YvXBSLs^wI?6bj*Fef7VBYFdU9`9>%4o6zU{tyPv~mh<>j&uig%r z4RPQyW(5vg{MkQv#TmaIWWk|sHZ`h9fQ!w5w%+Zr?s}s%sJ1=Hjwz)9AU* z?xUcxz?@<~WtC-GTF?qunY>s?l(XPTl-HiR(>UK&z3d%t7;D0jvcE&rtem5r#k z4{P${A#r{mU2tIW%!4cHKiuSWN9+Yg+YPYN*xWkdIuj}c$;Jnj=?$H%HEoLDu9^vx za6O}SRZX0ptW6}ypEw8;tL?uM(HM>n*{EsAbVX{mZ)Y0vN79SrdW^9?FV+7d@^!vNWtAybiFck;Ky79@7WT6_ zT&9_>mZcGQ%I%F@(@198Jr5^TKdm84r4FZyd#_WT{pnZqMo_52Y%{(|J)+}NwmARZ z`KeYS2=Fc3nxji{~iPnI@HIPbkNCxU&R8&dA zqKocpAQOiyYbL&#Zs8;A^B(JB0`4@GWMtKpW(XSWA(V3P?FTf==IH3?Oc#5m{|nkw zEqzd=?3_D5D>-dj0V{Ax?CYMSTjS;3gwJG#IqyyK?dfS~iIokT3-&bQRt}()tvP#e z6sj13y89o&=j*Jovsd6jjFiFAgk=@!zWqIKQvuQ1ZLMLsz+=XK*0gYk;pLYT5fg9X zzh<`Y6nGRk1SBgCgm8MsS*O2Rkh1l0IIYi6-3nQJh_g}hgS;B_GbwDH2@zxiEz)@2 zT?ibkt}o{N+#33_O~U!9O8b!PRj3ySvT^KOo+;#wxoT-#U6lgtaiuk$AH&Qid5GDy z`&gC0AnC`~$C=+|%?r2up(p{a9jNL6Si#1q&hlS;66*qK)+|Chgzo#_-(6Gpq?q~L z(X_h4^$+d29;{<;xG^>@T>c3v`$yb zq%o?{Y1t#$xn-t)N)qf2w{S&M22yTihtUY?(j!1H{Rv93F_~)#rUe7Wfv#%kM>-~$ zz{~F_JcxrTtJcu+Yym{D-=tix`KyR{lnafR6KSu7SDke~O63m1>Qi2;yFY3a zs*>B!Dbj83+cY0Pu)e9}^}#5DzeZj1=cu+9*VVI$CVmUp-~IN37mtv8TLo$RI~s?u zctRIzh2H6WXg6|HxOJL;ze3~|-Sk0c@%+~2tP8xlHT%fN!E;G;)AtY24YZhp z>yP+V>o>k*&Q4zele&hq>kKVwTDhjwE2AE+a{A;iTojgjk%7NZ<=uadibDe+qo4<;*R1pxkFg0t`$|FcPg=LCRa-;zqciGjvG$WmLMGzy&iRN=I`{STRGW(Jf6!~@EzKJ&yW5Yv1H@w z6W;f;+>B-^*CkppZAcjd3Hy zsW9^;W4?+o=hfH)6=%KkXfmH!;x@^!c%6Xw}+Hg_QJ*2^JGEG0oG$JWGT!frc4nk<$Q3a zL#d8llYJf<&{4`7f?^?=f*rJE@DT|3#5p(unaFJSCQ|P7@jZ0g00V8XqN;O z0q(0vK&`_0TO!5d!$GNkZW?&jq7$bRwHB? zc|kWWZkJjhN=fQaNpxyX*7Cf?r^m0~zR=x`Z2vc7X(Tea)O7)Wkmuaf;9j!JonLx4}WzWqzM4 zm9-wAr5kfF;~&mm7K42b%MQNQAMgI@E`F0s`uV_qX){A_7&898JVmQ0M{XE3DEriT59i1-&R3CMA$- zc8Ye2;r2i%Jh_DoU|Tu{B&Ok@$&qd;SynS5gjjk;NG%2p4wDPtE(lV4DYX~H2z^wP zN7}6FUSN2tHLiL_AyNr9fUf|b>)?l4>qWGqMZEtb@%~8FrL0ARJnD-Do(#c=68tVS zOaMSIX)4X~L{cFXxXG9wTZh!)!i7er8JW?AxMxm#kB^+K4Iu+vH@m#~_sAD!c4E|? zvUm1vA{;NJGIgFWuF-F}m?k0$<&smI#XYp%wYzwq9CX7BB{s)S<7 zmGl5+)m%KI^3vsI$wl;3d{}bJ&Pns#Pj9_JGz1@mTH`m+D37$vmp`8t*uR)dZ62Gr ziy7u~&!?9mZ4!#HOkG!%51jZ?XPU%94f0|mwfYNTdiw@FN!PR9@X&oO{7ZKA$4Nh8SEr5}ITQ+^U^g`s;J3SRomQltJ}Zg0TlSP%6_ z=ttNrqNd!EpVm+b`l|453I50aImOrgpoXzsiqW38MKzxLh{F;Z*&L_^+Qkh-z#G@5 zehXepYiq7;`-_kJk;;qau$F};Dkp_tiruxn?Xgg0aezdw$*x^mYO_HRG>y#bMi zICY-3@9n;!1o|7^iU~{xe?Ulecw?sQce%Rt)0C z-HeoXJp(L#zOg?E3A1#BOg>>2#Bqe~ye1V-Xul-U7Z$4#^|6if;`)_D;3ZgK*LG-l zD@ynJt$e&bdEw*6o6*yYl0R>=hI<=b5ju@OS(em@%`latZJU1tTjwdIJ4-p)Y`c`L zj*MN{WZO*|nvP04F7iRUUkGC3_Qc*j>YasgxQnD=CQWJ<_1FMiEYN@q5NT;@T-&Nl zgO}Do4a7#mr%kw8SLgucukl$LBLN568!Yx@?jq>3V#YBkbiAzLSF_rpQ2$xiA||41i7#7w(%tK8K{PJj06u zFbczU&-wM?gWo_$GXa4NiRIPwFAAKE-8eiMGC8jys(*feMdofUsT^S3SkDvBZ__Rb z?(R(gyx7^>+hlamN5exS<+T{Gr}Oq)_f!genN67mafVN@TR#U%Ff7`8g?FQ1zf)J< zIa~DRDgI<^!{=ljI`Jqey#GVcek^0!4)sD?;MMeHY*@(ZW@Ml`;wx;w zMEi@Z?NL{Fb&gsC@juUdbtQfOX2+jizwu-6%p&p#=D+nZ-hL`c7Bs-05L@AQM3bsd zKO5-jBFij4^gk7UvD{Ck7$qonls%v|@8XcC%n9;=4_nsUfN*-`N(S9@&nM&CYc{po zpS@0uQ)?|+T3B1ss?DVaIptYSfjLMvI}$-tBsIvWYXsR*zEVs&XS z5UPuXab?wIuj$Z)`{1>@Sa=`!wPh-V8Y%W2Zvr+yfPLo&0DeBd3Stmpk1D_SJ%5I9X3~cB7V2)xzeO?KR0D& z29_worhcJwb~}tv@ONeytnc-B;|NP^ZL)CNFN~_zp|93%K15G&oYSKa3Cm-vf;Dxl z@bK?=iD3LK`Lo_KkwkAYN3^5|F6H4#R^FISn3Yx$2={QB-TsP}zz4K4_~(vCfaG1= zkZvu;mNWZI@B{E0T9z*zW06eCOOXh`?SM!4Yf`9J!y8~oqhUr$SYZ~5>iRnQ)Lzv; z^<4=903pH9aU?uDy*#xmt9*jkPYtfG#gpJ-0Im!q0RLP2xo@xEd7i)!bO^e<5WDE= zF;n{EjeUKQJk|A7r+rL(ww@dV2rB>$9&{ADCbPz*!v#M92X zAA8A7HlDo*laHRQ*J-feGcM{qNT^zw@=t@6DBYJ z(&okW?5orXC2z-MIGHb-yoBQr*fG~!22Cu5O6yqIVfOh=$yU@K71${A?1LEdi0NK2 z3|9s*i7|(w#T5L)KS+^DpBp_BM~8mHi9Ko%cbyj*T1e@*o<1Y0lopoS@D9A1Sny=(T&T}+kX`f&N1Dh&sET09q5CBbrevx)>bqpO% zL^uSamY2)Frd>J&QRgnrwm9TcpzK>egGoCHT}n(L;WO!&t@I2C0Uz;xeI1B}=E!2| z_J}S@fG2~4gVn5FHPWG&mg|)T>%9|igS%dX)=PMiUdP$pagILn+62Czef=-sCh&6a zW@hc~j?1ZSL!{O{>Q9wld*q;)W6q{Iv77*G!~DxlUkq1hlUvZ--hZ_xXH1q__Rf{n zgEOU(>1}7NL&ft^&}E^K-&6wC)K#Amt0vF2_L0-sPR!1NO_|c@=Ehh}iA(&FzzQ+! zI(?*TSDIu0ki6PTIAGi4PWlYA*td%5vd4BsrOftSkyQJy(#~;~&lW6<;NzlIPLTP< z3~B`W({H&1lvZ8jAGmTI5dLO)R7K8*7~#wU)#_|bwA6YhzG#U>MXj6P3RirRO+(+_ zR#15teaAv5d!os%_A)>~i*0XQ!Q11n*)0IC*Stt2RV z&FpV9qE~g%DeWJ(8vS|ddU$+BrT5%!`i@m`r)q8rr!T;* zv}~ft7p-s4V>gXhE(rc88uHPNGG+%)0c-joFS{(olv*U=iWWXT&I5ziHPw9&kJMHkOn&e zn-VPG66T%|#|k*BjARO^Myvf=xbDsn2ki{@04E$yIY|Mi6SBKPzhfC{HHzKUXoubB z^vZG~rgUUwaUlQ>rA|`NZq#P5 zb0c8TCWryg^s>GBVIf$A0V(V7uK^z2@7i{I=VA;OoRg;Xn;XS`eG2Lt?*6iZcr@7^ zmUv3nyrD@w!<)_*oO~N2`>pLFUnKh>X8oq+K1hw_x^XTkc?{4c(u_pb1(dXffM6(+lj3x+(JCL;TQN7a)c*VL)e=8$OOSz^0 zW1F%*ju$1R&DFS8u_s=#X4(w>P48S&%x9)4{a9fgl1&@3E|5lQH%8e*(-m8)&@1!n zY_T`!qXxLKvLGZ8+hF=uu<$?lup|E+_=e6#7xS1&W3@i*quyT|0eoW=1etCUrij+^ zARBwOMN9{Q;o{k<0bUC08?<~<5P@oo9(v5F0+CWsJP%v=n8 zKeTr#0D`Afz&AW09%Wjxnryq3f;&2ZnUUQJo*!wWSEmjKUPd}v6}#(z#w{o{|AyN^ z`@LSuoC&<}18^pQ>#B`$tRjx)I_eNq6aMZd>rFTozZ$;BuB^s|8JcB8(wy*Dr9aeO zzlBB(OC(kvvy6PBabwnV30CJ4!{jH%>a1wwW+tM@gat@)&bg~!KBEH+tVuWbi>hBTEs?Rmdc*F*XlS(BFN~kld4{XR9EML)RX@>y` z6>&rwq8w?HuSEd=5K#6#9w;9O8i_yzJZgyHNW(lKz=|FeMmJvDzzl`^eH^cIyp%kz zRHlT%QzBKWS%88iYIfQjCp{J}4Hzq)@a2EVWslMp_0{FDMvM0bf}0_IO_Y4LY=;r< zwf|k91Ub5F5W0ALR4g$jvXA!{+F=vqgQ|_u=z}v;h6{wKzdU=m%%~GqTM7^4>%VSf zz{U%{V3A$sSYjz;8+qiA2_L=}Dp|4qT%|F%xDX?Hu@~QR_zum+A)?aE*!Kg0omgAa z2{%y=r{(US))yB~K(%whCv7ojq)@a?sB_tLy3^XHrGYwaWouNd%UPxIm9)LV_qINM zPIL+J+gYSa@vB^x(jeas|1d0Z-UX+8k(3|0()sGM^zR6Z*7>?~Gx^w}F5mbSFK<4= z*pHGeO9#>u(Z)%a4~w{_g@7w2)nGbzevN1fM(h+)E=+1JH9H9K0ZIsmB%yHRb4u!k!Xf9NeS#keU>m^NRRzi|bOYy4 zD3Rd)G^q-W8;)LEFXHVg|Dgu!%~xbaN>F3Ib2co}%>XmiiVztXa#E*C$CgO^XWAkC|u;Wb4N7DX9FvNOM0Ae!lFk&?5AFUj-sTzk+kE1(+tf!~|+WWBZ3a>19G z28d9Z)YOG(eYOufqTBnV`!m1y`}xmnH2dwChdb%ofGiP$tB-^x`|#>km8%R9>d9 zA=L=SA~|OV2mWLt6O;HQZCT>d-p!#{EhNMOEjjKu~11BEkPbm54LCfr=b z9H#q{LV%P1^*3GVayOoXV;EwD3@DTKg&OFh6|gQ>6ng3JE&AnPI6~XZqklY=YQ241 zGpg`2sBh(1*rGm1}(ru@Tl;^Jcv zO)T=^>w<+~&Vc7*`ZsDe|KdJZ;`t4K!oW`_?$VWgONzTvtb&lZRwXM|7+KQT^CsY- zatikt585y4#}Jv1Skmx{zjkpWp#5}y<`4`o+oNG6NkFAK0+D_eypez~ZFIp(|oou`2RmXMHdqdUmp+wTbyed6`_^x4-pb^qG0 zL{}(-)A-5Hv2CGuB;39;y8haoQP_8CjW)EieSDxZ-mC#52SpQhv+d~l#WHQ2Dn}eR zey)4gQOOKTi1ObFl>wQeeMP$IRBjhYmKAfMdg8#t-86-Y4Q6AGx7m3u^E7Ad>M8mYNB8HNGH-*ptUyK@wV~H z3Q8@}=^U@p--)+=L?GU2ExSV>JstAx=tDzX&zJIV*)m$Jqw z3MvE$4g*`GM}*N>5whObi|f)$Fk>1n16`W$=_z5V_TpUVhkUaPEZ1$km?R2zab1`$M%&^psQ+pb!L z@+86p|4f89X3qd_%sQeimgG)T?#C17{Ez$RlYMG8WvD;3{`gVvLl*Ai68f(`f;Yj{ zwd+}!aPM*o#?wou+c3~%Ar5_a`#N>+dSZ!ul_Fw~>w{ws0E*C-ReOwS$#e#c5jN#E zyd!jkspTb83~V+9Gg`AI@r0RT)S}fYAA=O$OI&;g$>?uX=l-$~vbN#*(zT3(CshlV ztw5SuMEYz;2H+A-k=ad}Z~PlW@*}9tZ*-v;mGk zB7DQ35$lZx^`Yg3X(0lJR{3ug>J*P;BkAV5Y5QfWF?BZKmAlt5iRCf7pSaUEevUVT z-&3z^Q!&TALqFXg{Z-h}S9m1&N2wdCEuJZuH|X+}8NP7NrEuJ!S}#@==V^O3rQ5L| z>B{z!N!yBj>ws}2gFE$Ey(*JpkF~nd$QShW7%FXMb#HHvYs8qAufq41nd`{xHEbfD z5*vkmODgdCXSVcJA$YAMC2g&2$yf>e7na`j2|M|T;-DFFnry?GIK zZ7(sp&T>7(%MC5(8KwkVrnCS#&Za}FrIJNX>I-LrCh~cb2R?;dsX$=B=*>G}9^pn; zQ;E0kU*_QYhd30jh^Ie!)xxtarLm#$t@f;CJ9DD=s5!r^bu4&Dk!Wh)QlqR23gEJN zvqB_3>2pH#TB>UZjHSx|;?yFdI2ZrbfU{?42Gr1S-cv~=HRu2uAb3DG{@kzc>raDX zM*`TXBC-L%lS*>c${T<`q5%c&1A3JZxomo?x5fMi?M&@2DeiQD9Y~DC=lNu~;^j&< z<0P!L!|P0_4z~Jvqbec>*zkGH$6Ap+LC){AH9qPd;vgay|6eYdMH{2l`}uB~%Vhs@ z;>@OTY4GKRy~0`Nz)(SuBI12X<;ilDgkw3=XmbZ{LjVVo1zJyZA~Vdpx$PgfwI~ z9gOyLA=2x?UwpIm2#vg-I;sbcnLldF89oA*Qfqd?;U$f~rnMD%oJttVYLVd5g(`=( z0HDh&5pzy)bco0nuJbC`bv4~>>IA=}Er#Z(c$6)pt7S;&-XUab~&Hy+;y; z<5*3$^5c1riu%JZj>)iE(`Im3gKL9^I7_Z4z0rtWDGN zv6RF;tEBgJ4vY#rb$Gx3mkdW5&aZIlZOuqHbX>%m5!G(RQ_wRWlKmtagYp1_@O9-^jPM}Q0*xTM05anqW=tc9pJe2P{r*6R&3E*nTqhCJy)5Cm+Wi_yL| z*Hgjxiyi@zzdDii^G8_0jk5&Jz)10prm2c;U9??{Lts7ZvuNU#yN%ce z*$kuEe#a*k2ht{^I0|1K^3d(p5QD|YTI)|Ms&V*kUxokMUz^Ut$30SMWkNokxFmJd1NBL*1v^ z6Jd?VRa^Vwuw&f=`brI%tWIBFLo)ZVTV3vjR$cyTMSFy;o~jePWW0nte=4{O(`B@3>unw%h;O+QD{C3kjI#914aW1!}NGC z;g(BcLRVM=UsJ2Wfzm^&vDo>IB;BFTmd(_rWxhU-Uu)9r%{X@-tHo1SUh|44xp&X= zrgc2TG@)M{>!8#z0I?bjT=!$Tim<0rJ-n zpG{~f(ZAm`i`)F=GF$+(-x!J?9JB(Prk|Y{Y}aBXf=>&idXd=j!S@EB5`qf?AZF8)OS0eD-n*vGBCu zQg(aV4q97zW@uW`mXw`)HEZiu-$hx)DG!jh0C?N0X`>M25R6*>06TPw_;!0&O;%jq zHC@WW0d5)zENiH=HJ-%=i#yl?aLWTQQ-UtFC8%?hT#3a!HT4-2kRb8YPwU&-#z@Wb z2nm}M;m6{MLaoR-t+W~7b+DmeKABQJ>U#u{xME6_3x7N!dXFQ^WFAYc%Fqwt-Y#K( zeEJT`a@~@INA9xys;eKFY<^Z$S&ehSo0-7B$18m|Euq2VviD0fKf=44`b4ww|Hiat z_zC~1ex{!GJUS{!f3y5}t2In6VtrW!cdlsh@Wi%o)LtR8|EyjtK-l=>TPoGH*MlOqYzB)$CPR^MG@`SpjA3Baj!+HP^sb4KFGDF@efu018K5yK24S z|Kgc6SiFYcZX)F1iIGYnKR_-erW%i3o9q7XtB**g)7Yss;4@P1V|Pop$E`nu``zc& zpL1`gTAQ;a{OdksoKxO4I)_+=V+V0xD zBJ0S#<KI^iP<~vQ6on?ih#*E|UG96}v z+mBvO(L?{>NF`VY%$T|{ay2=ESBc8a$>W7tly;XM^E(~IMeRG??56olG6e0EVEd}< zGXZfLXS^NKq>2%3L;f_3E-z_Mg@?z_0d0feluNlDuUE`q9SpG6yjEn}*fuR^5+c#i zw{?N}f3p}g0F;MET$>i3BPo8i_@^SxTpB>52SA{=>P(oLeda7(#E-YyCJ1fEaP4)L z2mq)D*3IdIV+Iv;3ClsYlOg5dfXk%< z)sOcb6!j1AqlO)TbDN?$Ic|L^BJfaci8rw z?+=}z^WO8!4qS)=ri+GsphYh3cIBbiT7+$Kh!CrSB?ZLZE1$RD=F# zJ7_vX?ZCV0?D*h-5z#AcEHnMF_KzhULZMIww&)|~&AJ{3FQbRjiH!6^4I(H5cMA&t3cnoyp}e z>$IbJ^ts>NsAJ!@gX4M4==Le|aoTVExc5)2Y^9^4J1*zZcuc1|DNfrT@A2cx3ZDDf zdC$vp!^63{(;~x60cu$G<>CJG)2#f4kB`r_&)%4(t6Hj@dJo$m!G|Md4U*PZ-sX)n z>1FN*YjcD5E-yQWTWcVoOJ|@bt!DJL(+?5B;`!NjWO1wph+3o2x3Iyq1&oc4{{a6B DPXt=g literal 0 HcmV?d00001 From 84813f3fc59c1dd4a6fc3df467395789771c836d Mon Sep 17 00:00:00 2001 From: joep van der velden Date: Thu, 1 Oct 2020 19:58:32 +0200 Subject: [PATCH 23/30] Remove temp mart arts. And reteach non temp on mind transfer --- code/datums/mind.dm | 5 +++++ code/modules/martial_arts/martial.dm | 7 ++++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/code/datums/mind.dm b/code/datums/mind.dm index 307d3c20445..cc8b2dd5e97 100644 --- a/code/datums/mind.dm +++ b/code/datums/mind.dm @@ -113,6 +113,11 @@ A.on_body_transfer(old_current, current) transfer_antag_huds(hud_to_transfer) //inherit the antag HUD transfer_actions(new_character) + if(martial_art) + if(martial_art.temporary) + martial_art.remove(current) + else + martial_art.teach(current) if(active) new_character.key = key //now transfer the key to link the client to our new body diff --git a/code/modules/martial_arts/martial.dm b/code/modules/martial_arts/martial.dm index 50ca634a22f..cc8c1e9933b 100644 --- a/code/modules/martial_arts/martial.dm +++ b/code/modules/martial_arts/martial.dm @@ -140,9 +140,10 @@ return if(H.mind.martial_art != src) return - H.mind.martial_art = base - if(has_explaination_verb && !(base && base.has_explaination_verb)) - H.verbs -= /mob/living/carbon/human/proc/martial_arts_help + H.mind.martial_art = null // Remove reference + H.verbs -= /mob/living/carbon/human/proc/martial_arts_help + if(base) + base.teach(H) /mob/living/carbon/human/proc/martial_arts_help() set name = "Show Info" From 3a078b96a59fb8326f9a2c7735d5510295fed874 Mon Sep 17 00:00:00 2001 From: Roy Healy Date: Thu, 1 Oct 2020 20:26:37 +0100 Subject: [PATCH 24/30] [orion trail] Check if all crew dead before kill https://github.com/ParadiseSS13/Paradise/issues/14303 --- code/game/machinery/computer/arcade.dm | 31 +++++++++++++------------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/code/game/machinery/computer/arcade.dm b/code/game/machinery/computer/arcade.dm index 20ff79041a9..6299d331a23 100644 --- a/code/game/machinery/computer/arcade.dm +++ b/code/game/machinery/computer/arcade.dm @@ -571,23 +571,24 @@ event = null else if(href_list["killcrew"]) //shoot a crewmember - var/sheriff = remove_crewmember() //I shot the sheriff - playsound(loc,'sound/weapons/gunshots/gunshot.ogg', 100, 1) + if(settlers.len > 0 || alive > 0) + var/sheriff = remove_crewmember() //I shot the sheriff + playsound(loc,'sound/weapons/gunshots/gunshot.ogg', 100, 1) - if(settlers.len == 0 || alive == 0) - atom_say("The last crewmember [sheriff], shot themselves, GAME OVER!") - if(emagged) - usr.death(0) - emagged = 0 - gameover = 1 - event = null - else if(emagged) - if(usr.name == sheriff) - atom_say("The crew of the ship chose to kill [usr.name]!") - usr.death(0) + if(settlers.len == 0 || alive == 0) + atom_say("The last crewmember [sheriff], shot themselves, GAME OVER!") + if(emagged) + usr.death(0) + emagged = 0 + gameover = 1 + event = null + else if(emagged) + if(usr.name == sheriff) + atom_say("The crew of the ship chose to kill [usr.name]!") + usr.death(0) - if(event == ORION_TRAIL_LING) //only ends the ORION_TRAIL_LING event, since you can do this action in multiple places - event = null + if(event == ORION_TRAIL_LING) //only ends the ORION_TRAIL_LING event, since you can do this action in multiple places + event = null //Spaceport specific interactions //they get a header because most of them don't reset event (because it's a shop, you leave when you want to) From b1bf22acf40d66502fa13a6c7988befdf3eec108 Mon Sep 17 00:00:00 2001 From: further-reading Date: Thu, 1 Oct 2020 21:08:44 +0100 Subject: [PATCH 25/30] [orion trail] Styling issues + refactor https://github.com/ParadiseSS13/Paradise/pull/14503 --- code/game/machinery/computer/arcade.dm | 33 +++++++++++++------------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/code/game/machinery/computer/arcade.dm b/code/game/machinery/computer/arcade.dm index 6299d331a23..adbed5f15eb 100644 --- a/code/game/machinery/computer/arcade.dm +++ b/code/game/machinery/computer/arcade.dm @@ -571,24 +571,25 @@ event = null else if(href_list["killcrew"]) //shoot a crewmember - if(settlers.len > 0 || alive > 0) - var/sheriff = remove_crewmember() //I shot the sheriff - playsound(loc,'sound/weapons/gunshots/gunshot.ogg', 100, 1) + if(length(settlers) <= 0 || alive <= 0) + return + var/sheriff = remove_crewmember() //I shot the sheriff + playsound(loc, 'sound/weapons/gunshots/gunshot.ogg', 100, 1) - if(settlers.len == 0 || alive == 0) - atom_say("The last crewmember [sheriff], shot themselves, GAME OVER!") - if(emagged) - usr.death(0) - emagged = 0 - gameover = 1 - event = null - else if(emagged) - if(usr.name == sheriff) - atom_say("The crew of the ship chose to kill [usr.name]!") - usr.death(0) + if(length(settlers) == 0 || alive == 0) + atom_say("The last crewmember [sheriff], shot themselves, GAME OVER!") + if(emagged) + usr.death(FALSE) + emagged = FALSE + gameover = TRUE + event = null + else if(emagged) + if(usr.name == sheriff) + atom_say("The crew of the ship chose to kill [usr.name]!") + usr.death(FALSE) - if(event == ORION_TRAIL_LING) //only ends the ORION_TRAIL_LING event, since you can do this action in multiple places - event = null + if(event == ORION_TRAIL_LING) //only ends the ORION_TRAIL_LING event, since you can do this action in multiple places + event = null //Spaceport specific interactions //they get a header because most of them don't reset event (because it's a shop, you leave when you want to) From 7da52633c9ff7cfe98415082032f4e549f344c1c Mon Sep 17 00:00:00 2001 From: Kyep Date: Thu, 1 Oct 2020 22:57:57 -0700 Subject: [PATCH 26/30] Fixes terror princesses/queens being firebenders --- .../mob/living/simple_animal/hostile/terror_spiders/queen.dm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/code/modules/mob/living/simple_animal/hostile/terror_spiders/queen.dm b/code/modules/mob/living/simple_animal/hostile/terror_spiders/queen.dm index 8f423dfb5d2..e78acd08a90 100644 --- a/code/modules/mob/living/simple_animal/hostile/terror_spiders/queen.dm +++ b/code/modules/mob/living/simple_animal/hostile/terror_spiders/queen.dm @@ -366,3 +366,7 @@ /obj/structure/spider/terrorweb/queen/CanAtmosPass(turf/T) return FALSE +/obj/structure/spider/terrorweb/queen/Destroy() + var/turf/T = get_turf(src) + . = ..() + T.air_update_turf(TRUE) From 7ac9bf46c2f42bea63730db17cc7478b93c39be7 Mon Sep 17 00:00:00 2001 From: joep van der velden Date: Fri, 2 Oct 2020 20:54:43 +0200 Subject: [PATCH 27/30] Makes gibtonite check if it has wires before closing TGUI windows --- code/modules/mining/ores_coins.dm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/code/modules/mining/ores_coins.dm b/code/modules/mining/ores_coins.dm index 54c23c89b5d..7de33866d46 100644 --- a/code/modules/mining/ores_coins.dm +++ b/code/modules/mining/ores_coins.dm @@ -220,8 +220,9 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ var/datum/wires/explosive/gibtonite/wires /obj/item/twohanded/required/gibtonite/Destroy() - SStgui.close_uis(wires) - QDEL_NULL(wires) + if(wires) + SStgui.close_uis(wires) + QDEL_NULL(wires) return ..() /obj/item/twohanded/required/gibtonite/attackby(obj/item/I, mob/user, params) From 51577e86957a88995bfea1028f13b1cf42fd0a66 Mon Sep 17 00:00:00 2001 From: joep van der velden Date: Fri, 2 Oct 2020 21:38:37 +0200 Subject: [PATCH 28/30] Fixes camera bugs --- code/game/objects/items/devices/camera_bug.dm | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/code/game/objects/items/devices/camera_bug.dm b/code/game/objects/items/devices/camera_bug.dm index 2305eabb654..1811de506bb 100644 --- a/code/game/objects/items/devices/camera_bug.dm +++ b/code/game/objects/items/devices/camera_bug.dm @@ -10,11 +10,14 @@ throw_range = 20 origin_tech = "syndicate=1;engineering=3" /// Integrated camera console to serve UI data - var/obj/machinery/computer/security/integrated_console + var/obj/machinery/computer/security/camera_bug/integrated_console + +/obj/machinery/computer/security/camera_bug + use_power = NO_POWER_USE /obj/item/camera_bug/Initialize(mapload) . = ..() - integrated_console = new + integrated_console = new(src) integrated_console.parent = src integrated_console.network = list("SS13") From 83fb00a12b730a1057a0e5590a5a9a6839d470fa Mon Sep 17 00:00:00 2001 From: joep van der velden Date: Fri, 2 Oct 2020 21:45:27 +0200 Subject: [PATCH 29/30] Flavor text --- code/game/objects/items/devices/camera_bug.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/game/objects/items/devices/camera_bug.dm b/code/game/objects/items/devices/camera_bug.dm index 1811de506bb..f2ccc0c1aa1 100644 --- a/code/game/objects/items/devices/camera_bug.dm +++ b/code/game/objects/items/devices/camera_bug.dm @@ -13,6 +13,8 @@ var/obj/machinery/computer/security/camera_bug/integrated_console /obj/machinery/computer/security/camera_bug + name = "invasive camera utility" + desc = "How did this get here?! Please report this as a bug to github" use_power = NO_POWER_USE /obj/item/camera_bug/Initialize(mapload) From 876c163897c188c8b40a9799200bc35b577cbf5a Mon Sep 17 00:00:00 2001 From: joep van der velden Date: Fri, 2 Oct 2020 22:35:10 +0200 Subject: [PATCH 30/30] Stops dionas from getting nutrients from light as vampire --- .../mob/living/carbon/human/species/diona.dm | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/code/modules/mob/living/carbon/human/species/diona.dm b/code/modules/mob/living/carbon/human/species/diona.dm index 2ce011c7159..133a334a998 100644 --- a/code/modules/mob/living/carbon/human/species/diona.dm +++ b/code/modules/mob/living/carbon/human/species/diona.dm @@ -85,9 +85,8 @@ return ..() /datum/species/diona/handle_life(mob/living/carbon/human/H) - if(H.stat == DEAD) - return var/light_amount = 0 //how much light there is in the place, affects receiving nutrition and healing + var/is_vamp = H.mind?.vampire != null if(isturf(H.loc)) //else, there's considered to be no light var/turf/T = H.loc light_amount = min(1, T.get_lumcount()) - 0.5 @@ -95,9 +94,12 @@ H.clear_alert("nolight") else H.throw_alert("nolight", /obj/screen/alert/nolight) - H.adjust_nutrition(light_amount * 10) - if(H.nutrition > NUTRITION_LEVEL_ALMOST_FULL) - H.set_nutrition(NUTRITION_LEVEL_ALMOST_FULL) + + if(!is_vamp) + H.adjust_nutrition(light_amount * 10) + if(H.nutrition > NUTRITION_LEVEL_ALMOST_FULL) + H.set_nutrition(NUTRITION_LEVEL_ALMOST_FULL) + if(light_amount > 0.2 && !H.suiciding) //if there's enough light, heal if(!pod && H.health <= 0) return @@ -106,7 +108,7 @@ H.adjustToxLoss(-1) H.adjustOxyLoss(-1) - if(H.nutrition < NUTRITION_LEVEL_STARVING + 50) + if(!is_vamp && H.nutrition < NUTRITION_LEVEL_STARVING + 50) H.adjustBruteLoss(2) ..()